diff options
author | Andrew Tridgell <tridge@samba.org> | 2001-03-31 13:48:24 +0000 |
---|---|---|
committer | Andrew Tridgell <tridge@samba.org> | 2001-03-31 13:48:24 +0000 |
commit | 8b0e3679a6dc479c0e3177707dff386559779b69 (patch) | |
tree | c9b757f5a3b118e357ee5c082940b1f5b1e6b12a /source/smbd/lanman.c | |
parent | f952380c5d0cfbbec1e7de98b712952f302cddfd (diff) | |
download | samba-8b0e3679a6dc479c0e3177707dff386559779b69.tar.gz samba-8b0e3679a6dc479c0e3177707dff386559779b69.tar.xz samba-8b0e3679a6dc479c0e3177707dff386559779b69.zip |
started converting some of the only-ascii code to use srvstr_*
added srvstr_push_ascii() and srvstr_pull_ascii() as convenience
routines to replace the current usage of strncpy() like fns
for packet pull/push. We need to do this in *lots* of places
in Samba in order to get our codepage handling right
Diffstat (limited to 'source/smbd/lanman.c')
-rw-r--r-- | source/smbd/lanman.c | 21 |
1 files changed, 10 insertions, 11 deletions
diff --git a/source/smbd/lanman.c b/source/smbd/lanman.c index e9df2ed41e5..73815a5c59d 100644 --- a/source/smbd/lanman.c +++ b/source/smbd/lanman.c @@ -368,7 +368,7 @@ static void PackDriverData(struct pack_desc* desc) SIVAL(drivdata,0,sizeof drivdata); /* cb */ SIVAL(drivdata,4,1000); /* lVersion */ memset(drivdata+8,0,32); /* szDeviceName */ - pstrcpy(drivdata+8,"NULL"); + srvstr_push_ascii(drivdata+8,"NULL",-1); PACKl(desc,"l",drivdata,sizeof drivdata); /* pDriverData */ } @@ -1267,11 +1267,11 @@ static int fill_srv_info(struct srv_info_struct *service, switch (uLevel) { case 0: - StrnCpy(p,service->name,15); + srvstr_push_ascii(p,service->name,15); break; case 1: - StrnCpy(p,service->name,15); + srvstr_push_ascii(p,service->name,15); SIVAL(p,18,service->type); SIVAL(p,22,PTR_DIFF(p2,baseaddr)); len += CopyAndAdvance(&p2,service->comment,&l2); @@ -1352,9 +1352,9 @@ static BOOL api_RNetServerEnum(connection_struct *conn, uint16 vuid, char *param DEBUG(4, ("local_only:%s\n", BOOLSTR(local_request))); if (strcmp(str1, "WrLehDz") == 0) { - StrnCpy(domain, p, sizeof(fstring)-1); + srvstr_pull_ascii(domain, p, sizeof(fstring)); } else { - StrnCpy(domain, global_myworkgroup, sizeof(fstring)-1); + fstrcpy(domain, global_myworkgroup); } if (lp_browse_list()) @@ -1527,7 +1527,7 @@ static int fill_share_info(connection_struct *conn, int snum, int uLevel, } if (!baseaddr) baseaddr = p; - StrnCpy(p,lp_servicename(snum),13); + srvstr_push_ascii(p,lp_servicename(snum),13); if (uLevel > 0) { @@ -1739,7 +1739,7 @@ static BOOL api_SetUserPassword(connection_struct *conn,uint16 vuid, char *param fstring user; fstring pass1,pass2; - fstrcpy(user,p); + srvstr_pull_ascii(user,p,sizeof(user)); p = skip_string(p,1); @@ -1876,8 +1876,7 @@ static BOOL api_SamOEMChangePassword(connection_struct *conn,uint16 vuid, char * } p = skip_string(p,1); - fstrcpy(user,p); - p = skip_string(p,1); + p += srvstr_pull_ascii(user,p,sizeof(user)); DEBUG(3,("api_SamOEMChangePassword: Change password for <%s>\n",user)); @@ -2146,8 +2145,8 @@ static BOOL api_RNetServerGetInfo(connection_struct *conn,uint16 vuid, char *par p = *rdata; p2 = p + struct_len; if (uLevel != 20) { - StrnCpy(p,local_machine,16); - strupper(p); + srvstr_push(NULL, p,local_machine,16, + STR_ASCII|STR_UPPER|STR_TERMINATE|STR_CONVERT); } p += 16; if (uLevel > 0) |