summaryrefslogtreecommitdiff
path: root/source3/smbd
diff options
context:
space:
mode:
authorSamba Release Account <samba-bugs@samba.org>1997-02-02 18:12:36 +0000
committerSamba Release Account <samba-bugs@samba.org>1997-02-02 18:12:36 +0000
commit98bf10bc5df6eb1c3b71d51cc60ef4bf25f57d97 (patch)
tree8b58f68487342ad1b688be2cbf205fe3e13cfeea /source3/smbd
parent2831c627740c80d4ea1187058b249e1d5b5e5c58 (diff)
downloadsamba-98bf10bc5df6eb1c3b71d51cc60ef4bf25f57d97.tar.gz
samba-98bf10bc5df6eb1c3b71d51cc60ef4bf25f57d97.tar.bz2
samba-98bf10bc5df6eb1c3b71d51cc60ef4bf25f57d97.zip
util.c: StrCaseCmp and StrnCaseCmp terminated incorrectly, giving false
answers when a string was partially identical. this issue is still outstanding, and needs to be investigated further. loadparm.c: added lp_logon_path() parameter. ipc.c: in NetUserGetInfo, lp_logon_path() can be returned instead of always specifying \\SAMBA_SERVER\HOMES (which may not necessarily exist). it is now possible to specify lp_logon_path() as \\ARBITRARY_SERVER\%U, just like NT server can. the default is \\SAMBA_SERVER\HOMES, just like it used to be. lkcl (This used to be commit d5b6ad7cb87d6b1a9342f027ac4f57ffdb54b4f3)
Diffstat (limited to 'source3/smbd')
-rw-r--r--source3/smbd/ipc.c22
1 files changed, 18 insertions, 4 deletions
diff --git a/source3/smbd/ipc.c b/source3/smbd/ipc.c
index be500cb40d..1bb1322b5d 100644
--- a/source3/smbd/ipc.c
+++ b/source3/smbd/ipc.c
@@ -1845,8 +1845,15 @@ static BOOL api_RNetUserGetInfo(int cnum,uint16 vuid, char *param,char *data,
SIVAL(p,36,0); /* auth flags */
SIVALS(p,40,-1); /* password age */
SIVAL(p,44,PTR_DIFF(p2,p)); /* home dir */
- strcpy(p2,"\\\\%L\\HOMES");
- standard_sub_basic(p2);
+ if (*lp_logon_path())
+ {
+ strcpy(p2,lp_logon_path());
+ }
+ else
+ {
+ strcpy(p2,"\\\\%L\\HOMES");
+ standard_sub_basic(p2);
+ }
p2 = skip_string(p2,1);
SIVAL(p,48,PTR_DIFF(p2,p)); /* parms */
strcpy(p2,"");
@@ -1879,8 +1886,15 @@ static BOOL api_RNetUserGetInfo(int cnum,uint16 vuid, char *param,char *data,
SSVAL(p,42,
Connections[cnum].admin_user?USER_PRIV_ADMIN:USER_PRIV_USER);
SIVAL(p,44,PTR_DIFF(p2,*rdata)); /* home dir */
- strcpy(p2,"\\\\%L\\HOMES");
- standard_sub_basic(p2);
+ if (*lp_logon_path())
+ {
+ strcpy(p2,lp_logon_path());
+ }
+ else
+ {
+ strcpy(p2,"\\\\%L\\HOMES");
+ standard_sub_basic(p2);
+ }
p2 = skip_string(p2,1);
SIVAL(p,48,PTR_DIFF(p2,*rdata)); /* comment */
*p2++ = 0;