Merge from 3.0:
authorTim Potter <tpot@samba.org>
Mon, 29 Sep 2003 06:22:55 +0000 (06:22 +0000)
committerTim Potter <tpot@samba.org>
Mon, 29 Sep 2003 06:22:55 +0000 (06:22 +0000)
>Apply some NULL pointer paranoia to previous wins hook fix.

>Fix broken wins hook functionality.  A i18n fixe caused the name type
>to be appended to the netbios name between angle brackets.  This interfered
>the 'sh -c' used to implement smbrun().  Closes bug #528.
(This used to be commit 12659ae74965f8a088361cb4fbf8730cdad84af1)

source3/nmbd/nmbd_winsserver.c

index 484588c6626be24364af9a0fcfd3e9f828f71255..369407242071c7b14f3c3ab1a12029b5cc8d6823 100644 (file)
@@ -107,7 +107,7 @@ static void wins_hook(const char *operation, struct name_record *namerec, int tt
 {
        pstring command;
        char *cmd = lp_wins_hook();
-       char *p;
+       char *p, *namestr;
        int i;
 
        if (!cmd || !*cmd) return;
@@ -119,11 +119,17 @@ static void wins_hook(const char *operation, struct name_record *namerec, int tt
                }
        }
        
+       /* Use the name without the nametype (and scope) appended */
+
+       namestr = nmb_namestr(&namerec->name);
+       if ((p = strchr(namestr, '<')))
+               *p = 0;
+
        p = command;
        p += slprintf(p, sizeof(command)-1, "%s %s %s %02x %d", 
                      cmd,
                      operation, 
-                     nmb_namestr(&namerec->name),
+                     namestr,
                      namerec->name.name_type,
                      ttl);