diff options
author | Tim Potter <tpot@samba.org> | 2003-09-29 06:22:55 +0000 |
---|---|---|
committer | Tim Potter <tpot@samba.org> | 2003-09-29 06:22:55 +0000 |
commit | 12659ae74965f8a088361cb4fbf8730cdad84af1 (patch) | |
tree | a448266f72d866758dafe27778c2d178384b547c | |
parent | 0871be2bfad8bfa5d4f0ff78e732c1073055da2e (diff) | |
download | samba-12659ae74965f8a088361cb4fbf8730cdad84af1.tar.gz |
Merge from 3.0:
>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.
-rw-r--r-- | source/nmbd/nmbd_winsserver.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/source/nmbd/nmbd_winsserver.c b/source/nmbd/nmbd_winsserver.c index 484588c6626..36940724207 100644 --- a/source/nmbd/nmbd_winsserver.c +++ b/source/nmbd/nmbd_winsserver.c @@ -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); |