diff options
Diffstat (limited to 'packaging/Debian/debian/patches/samba.patch')
-rw-r--r-- | packaging/Debian/debian/patches/samba.patch | 206 |
1 files changed, 48 insertions, 158 deletions
diff --git a/packaging/Debian/debian/patches/samba.patch b/packaging/Debian/debian/patches/samba.patch index be251861cb..60968aae36 100644 --- a/packaging/Debian/debian/patches/samba.patch +++ b/packaging/Debian/debian/patches/samba.patch @@ -1,15 +1,16 @@ ---- samba-2.2.2.cvs20020120.orig/source/client/smbmount.c -+++ samba-2.2.2.cvs20020120/source/client/smbmount.c -@@ -719,7 +719,7 @@ +diff -uNr samba-3.0alpha23.orig/source/client/smbmount.c samba-3.0alpha23/source/client/smbmount.c +--- samba-3.0alpha23.orig/source/client/smbmount.c 2003-03-30 20:28:28.000000000 -0600 ++++ samba-3.0alpha23/source/client/smbmount.c 2003-04-04 21:05:58.000000000 -0600 +@@ -765,7 +765,7 @@ *lp = 0; pstrcpy(password,lp+1); got_pass = True; -- memset(strchr(opteq+1,'%')+1,'X',strlen(password)); -+ memset(strchr(opteq+1,'%')+1,'\0',strlen(password)); +- memset(strchr_m(opteq+1,'%')+1,'X',strlen(password)); ++ memset(strchr_m(opteq+1,'%')+1,'\0',strlen(password)); } - if ((lp=strchr(username,'/'))) { + if ((lp=strchr_m(username,'/'))) { *lp = 0; -@@ -729,7 +729,7 @@ +@@ -775,7 +775,7 @@ !strcmp(opts, "password")) { pstrcpy(password,opteq+1); got_pass = True; @@ -18,27 +19,19 @@ } else if(!strcmp(opts, "credentials")) { pstrcpy(credentials,opteq+1); } else if(!strcmp(opts, "netbiosname")) { -@@ -822,7 +822,7 @@ +@@ -889,7 +889,7 @@ *p = 0; pstrcpy(password,p+1); got_pass = True; -- memset(strchr(getenv("USER"),'%')+1,'X',strlen(password)); -+ memset(strchr(getenv("USER"),'%')+1,'\0',strlen(password)); +- memset(strchr_m(getenv("USER"),'%')+1,'X',strlen(password)); ++ memset(strchr_m(getenv("USER"),'%')+1,'\0',strlen(password)); } strupper(username); } ---- samba-2.2.2.cvs20020120.orig/source/script/installbin.sh -+++ samba-2.2.2.cvs20020120/source/script/installbin.sh -@@ -11,7 +11,7 @@ - shift - shift - --for d in $BASEDIR $BINDIR $LIBDIR $VARDIR $BASEDIR/private; do -+for d in $BASEDIR $BINDIR $LIBDIR $VARDIR; do - if [ ! -d $d ]; then - mkdir $d - if [ ! -d $d ]; then -@@ -33,9 +33,11 @@ +diff -uNr samba-3.0alpha23.orig/source/script/installbin.sh samba-3.0alpha23/source/script/installbin.sh +--- samba-3.0alpha23.orig/source/script/installbin.sh 2002-04-22 13:16:20.000000000 -0500 ++++ samba-3.0alpha23/source/script/installbin.sh 2003-04-04 21:05:58.000000000 -0600 +@@ -22,9 +22,11 @@ chmod $INSTALLPERMS $BINDIR/$p2 # this is a special case, mount needs this in a specific location @@ -53,34 +46,40 @@ done ---- samba-2.2.2.cvs20020120.orig/source/script/installswat.sh -+++ samba-2.2.2.cvs20020120/source/script/installswat.sh -@@ -48,8 +48,8 @@ - for f in $SRCDIR../docs/htmldocs/*.html; do - FNAME=$SWATDIR/help/`basename $f` - echo $FNAME -- cp $f $FNAME || echo Cannot install $FNAME. Does $USER have privileges? -- chmod 0644 $FNAME -+ ln -s ../../../../doc/samba-doc/htmldocs/`basename $f` $FNAME || echo Cannot install $FNAME. Does $USER have privileges? -+# chmod 0644 $FNAME - done - - # Install "server-side" includes -@@ -63,7 +63,10 @@ - - # Install Using Samba book - --if [ "x$BOOKDIR" != "x" ]; then -+# For Debian we do not install anything here, we just create a symlink -+# pointing to /usr/share/doc/samba-doc/htmldocs/using_samba/ in -+# debian/rules (peloy@debian.org) -+if /bin/false; then - - # Create directories +diff -uNr samba-3.0alpha23.orig/source/smbd/service.c samba-3.0alpha23/source/smbd/service.c +--- samba-3.0alpha23.orig/source/smbd/service.c 2003-03-30 20:28:31.000000000 -0600 ++++ samba-3.0alpha23/source/smbd/service.c 2003-04-04 21:05:58.000000000 -0600 +@@ -895,6 +895,14 @@ + change_to_root_user(); + } ---- samba-2.2.2.cvs20020120.orig/source/web/diagnose.c -+++ samba-2.2.2.cvs20020120/source/web/diagnose.c -@@ -54,6 +54,7 @@ ++ /* If our root postexec command includes a call to 'unmount', we want ++ to make sure we aren't blocking the mount point. */ ++ /* I think this patch should go here, but I am not sure since ++ the code looks very different than in Samba 2.2.2. Will come ++ back later; should check what change_to_root_user() does. Eloy.- ++ vfs_ChDir(conn,"/"); ++ /* ++ + change_to_root_user(); + /* execute any "root postexec = " line */ + if (*lp_rootpostexec(SNUM(conn))) { +diff -uNr samba-3.0alpha23.orig/source/smbwrapper/smbsh.c samba-3.0alpha23/source/smbwrapper/smbsh.c +--- samba-3.0alpha23.orig/source/smbwrapper/smbsh.c 2003-03-30 20:28:31.000000000 -0600 ++++ samba-3.0alpha23/source/smbwrapper/smbsh.c 2003-04-04 21:05:58.000000000 -0600 +@@ -36,7 +36,7 @@ + int main(int argc, char *argv[]) + { + char *p, *u; +- const char *libd = dyn_BINDIR; ++ const char *libd = dyn_LIBDIR; + pstring line, wd; + int opt; + extern char *optarg; +diff -uNr samba-3.0alpha23.orig/source/web/diagnose.c samba-3.0alpha23/source/web/diagnose.c +--- samba-3.0alpha23.orig/source/web/diagnose.c 2003-01-18 13:03:58.000000000 -0600 ++++ samba-3.0alpha23/source/web/diagnose.c 2003-04-04 21:05:58.000000000 -0600 +@@ -70,6 +70,7 @@ static struct cli_state cli; extern struct in_addr loopback_ip; @@ -88,112 +87,3 @@ if (!cli_initialise(&cli)) return False; ---- samba-2.2.2.cvs20020120.orig/source/web/startstop.c -+++ samba-2.2.2.cvs20020120/source/web/startstop.c -@@ -37,7 +37,7 @@ - return; - } - -- slprintf(binfile, sizeof(pstring) - 1, "%s/smbd", SBINDIR); -+ slprintf(binfile, sizeof(pstring) - 1, "%s/smbd", "/usr/sbin"); - - become_daemon(); - -@@ -58,7 +58,7 @@ - return; - } - -- slprintf(binfile, sizeof(pstring) - 1, "%s/nmbd", SBINDIR); -+ slprintf(binfile, sizeof(pstring) - 1, "%s/nmbd", "/usr/sbin"); - - become_daemon(); - ---- samba-2.2.2.cvs20020120.orig/source/web/swat.c -+++ samba-2.2.2.cvs20020120/source/web/swat.c -@@ -49,6 +49,19 @@ - #define ENABLE_USER_FLAG "enable_user_flag" - #define RHOST "remote_host" - -+typedef struct html_conversion { -+ char src; -+ char *dest; -+} html_conversion; -+ -+static const html_conversion entities[] = { -+ { '"', """ }, -+ { '&', "&" }, -+ { '<', "<" }, -+ { '>', ">" }, -+ { '\0', NULL }, -+}; -+ - /* we need these because we link to locking*.o */ - void become_root(void) {} - void unbecome_root(void) {} -@@ -77,6 +90,51 @@ - return newstring; - } - -+static char *htmlentities(char *str) -+{ -+ int i,j, destlen = 0; -+ int length = strlen(str); -+ /* Feel free to use a pstring if appropriate -- I haven't -+ checked if it's guaranteed to be long enough, and suspect it -+ isn't. -SRL */ -+ char *dststr = NULL; -+ char *p; -+ -+ for (i = 0; i < length; i++) { -+ for (j = 0; entities[j].src; j++) { -+ if (str[i] == entities[j].src) { -+ destlen += strlen(entities[j].dest); -+ break; -+ } -+ } -+ if (!entities[j].src) { -+ destlen++; -+ } -+ } -+ if (length == destlen) { -+ return(strdup(str)); -+ } -+ p = dststr = malloc(destlen + 1); -+ if (!dststr) { -+ return(NULL); -+ } -+ dststr[destlen] = '\0'; -+ for (i = 0; i < length; i++) { -+ for (j = 0; entities[j].src; j++) { -+ if (str[i] == entities[j].src) { -+ strncpy(p, entities[j].dest, -+ strlen(entities[j].dest)); -+ p += strlen(entities[j].dest); -+ break; -+ } -+ } -+ if (!entities[j].src) { -+ *p++ = str[i]; -+ } -+ } -+ return(dststr); -+} -+ - static char *stripspace(char *str) - { - static char newstring[1024]; -@@ -182,8 +240,12 @@ - - case P_STRING: - case P_USTRING: -- printf("<input type=text size=40 name=\"parm_%s\" value=\"%s\">", -- make_parm_name(parm->label), *(char **)ptr); -+ str = htmlentities(*(char **)ptr); -+ printf("<input type=\"text\" size=\"40\" name=\"parm_%s\" value=\"%s\">", -+ make_parm_name(parm->label), str); -+ if (str != NULL) { -+ free(str); -+ } - printf("<input type=button value=\"Set Default\" onClick=\"swatform.parm_%s.value=\'%s\'\">", - make_parm_name(parm->label),fix_backslash((char *)(parm->def.svalue))); - break; |