summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorvorlon <vorlon@alioth.debian.org>2003-07-06 20:19:42 +0000
committervorlon <vorlon@alioth.debian.org>2003-07-06 20:19:42 +0000
commit4b63a625200e7c2cb99fcff5cdfa93d917c95176 (patch)
tree54422413fd39e4c631c8376ca4beddcb35678c46
parentd6a696cd51005e98bb772e55db650e0c5cd50ccf (diff)
downloadsamba-4b63a625200e7c2cb99fcff5cdfa93d917c95176.tar.gz
fix smbclient tar support
git-svn-id: svn://svn.debian.org/svn/pkg-samba/trunk@562 fc4039ab-9d04-0410-8cac-899223bdd6b0
-rw-r--r--changelog2
-rw-r--r--patches/smbclient-tar.patch43
2 files changed, 45 insertions, 0 deletions
diff --git a/changelog b/changelog
index e17ffd0f2c..6c43f105f3 100644
--- a/changelog
+++ b/changelog
@@ -25,6 +25,8 @@ samba (3.0.0beta2-1) unstable; urgency=low
(closes: #187632).
* Fix handling of krb5 link line, building on a patch from Stefan
Metzmacher <metze@metzemix.de>.
+ * Add patch so smbclient's tar support works with popt
+ (closes: #194921).
-- Steve Langasek <vorlon@debian.org> Wed, 2 Jul 2003 20:59:09 -0500
diff --git a/patches/smbclient-tar.patch b/patches/smbclient-tar.patch
new file mode 100644
index 0000000000..e6cdcafbf8
--- /dev/null
+++ b/patches/smbclient-tar.patch
@@ -0,0 +1,43 @@
+diff -uNr samba-3.0.0beta2.orig/source/client/client.c samba-3.0.0beta2/source/client/client.c
+--- samba-3.0.0beta2.orig/source/client/client.c 2003-07-01 22:36:24.000000000 -0500
++++ samba-3.0.0beta2/source/client/client.c 2003-07-06 15:17:36.000000000 -0500
+@@ -2731,6 +2731,7 @@
+ int opt;
+ pstring query_host;
+ BOOL message = False;
++ char* tar_args = NULL;
+ extern char tar_type;
+ pstring term_code;
+ static const char *new_name_resolve_order = NULL;
+@@ -2816,7 +2817,7 @@
+ max_protocol = interpret_protocol(poptGetOptArg(pc), max_protocol);
+ break;
+ case 'T':
+- if (!tar_parseargs(argc, argv, poptGetOptArg(pc), optind)) {
++ if (!(tar_args = poptGetOptArg(pc))) {
+ poptPrintUsage(pc, stderr, 0);
+ exit(1);
+ }
+@@ -2848,6 +2849,22 @@
+ pstrcpy(cmdline_auth_info.password,poptGetArg(pc));
+ }
+
++ /* The tar command may take a number of string options; pass
++ everything we have left to tar_parseargs(). */
++ if (tar_args) {
++ const char **argv2 = poptGetArgs(pc);
++ int argc2 = 0;
++
++ if (argv2) {
++ while (argv2[argc2]) argc2++;
++ }
++
++ if (!tar_parseargs(argc2, argv2, tar_args, 0)) {
++ poptPrintUsage(pc, stderr, 0);
++ exit(1);
++ }
++ }
++
+ init_names();
+
+ if(new_name_resolve_order)