mirror of
https://github.com/samba-team/samba.git
synced 2025-08-03 04:22:09 +03:00
This is a security audit change of the main source.
It removed all ocurrences of the following functions :
sprintf
strcpy
strcat
The replacements are slprintf, safe_strcpy and safe_strcat.
It should not be possible to use code in Samba that uses
sprintf, strcpy or strcat, only the safe_equivalents.
Once Andrew has fixed the slprintf implementation then
this code will be moved back to the 1.9.18 code stream.
Jeremy.
(This used to be commit 2d77445400
)
This commit is contained in:
@ -240,7 +240,7 @@ static BOOL chkpath(char *path,BOOL report)
|
||||
pstring inbuf,outbuf;
|
||||
char *p;
|
||||
|
||||
strcpy(path2,path);
|
||||
fstrcpy(path2,path);
|
||||
trim_string(path2,NULL,"\\");
|
||||
if (!*path2) *path2 = '\\';
|
||||
|
||||
@ -252,7 +252,7 @@ static BOOL chkpath(char *path,BOOL report)
|
||||
|
||||
p = smb_buf(outbuf);
|
||||
*p++ = 4;
|
||||
strcpy(p,path2);
|
||||
fstrcpy(p,path2);
|
||||
|
||||
#if 0
|
||||
{
|
||||
@ -294,10 +294,10 @@ static void send_message(char *inbuf,char *outbuf)
|
||||
|
||||
p = smb_buf(outbuf);
|
||||
*p++ = 4;
|
||||
strcpy(p,username);
|
||||
pstrcpy(p,username);
|
||||
p = skip_string(p,1);
|
||||
*p++ = 4;
|
||||
strcpy(p,desthost);
|
||||
pstrcpy(p,desthost);
|
||||
p = skip_string(p,1);
|
||||
|
||||
set_message(outbuf,0,PTR_DIFF(p,smb_buf(outbuf)),False);
|
||||
@ -423,24 +423,24 @@ static void do_cd(char *newdir)
|
||||
|
||||
/* Save the current directory in case the
|
||||
new directory is invalid */
|
||||
strcpy(saved_dir, cur_dir);
|
||||
pstrcpy(saved_dir, cur_dir);
|
||||
if (*p == '\\')
|
||||
strcpy(cur_dir,p);
|
||||
pstrcpy(cur_dir,p);
|
||||
else
|
||||
strcat(cur_dir,p);
|
||||
pstrcat(cur_dir,p);
|
||||
if (*(cur_dir+strlen(cur_dir)-1) != '\\') {
|
||||
strcat(cur_dir, "\\");
|
||||
pstrcat(cur_dir, "\\");
|
||||
}
|
||||
dos_clean_name(cur_dir);
|
||||
strcpy(dname,cur_dir);
|
||||
strcat(cur_dir,"\\");
|
||||
pstrcpy(dname,cur_dir);
|
||||
pstrcat(cur_dir,"\\");
|
||||
dos_clean_name(cur_dir);
|
||||
|
||||
if (!strequal(cur_dir,"\\"))
|
||||
if (!chkpath(dname,True))
|
||||
strcpy(cur_dir,saved_dir);
|
||||
pstrcpy(cur_dir,saved_dir);
|
||||
|
||||
strcpy(cd_path,cur_dir);
|
||||
pstrcpy(cd_path,cur_dir);
|
||||
}
|
||||
|
||||
/****************************************************************************
|
||||
@ -505,7 +505,7 @@ static int do_long_dir(char *inbuf,char *outbuf,char *Mask,int attribute,void (*
|
||||
uint16 setup;
|
||||
pstring param;
|
||||
|
||||
strcpy(mask,Mask);
|
||||
pstrcpy(mask,Mask);
|
||||
|
||||
while (ff_eos == 0)
|
||||
{
|
||||
@ -524,7 +524,7 @@ static int do_long_dir(char *inbuf,char *outbuf,char *Mask,int attribute,void (*
|
||||
SSVAL(param,4,8+4+2); /* resume required + close on end + continue */
|
||||
SSVAL(param,6,info_level);
|
||||
SIVAL(param,8,0);
|
||||
strcpy(param+12,mask);
|
||||
pstrcpy(param+12,mask);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -534,7 +534,7 @@ static int do_long_dir(char *inbuf,char *outbuf,char *Mask,int attribute,void (*
|
||||
SSVAL(param,4,info_level);
|
||||
SIVAL(param,6,ff_resume_key); /* ff_resume_key */
|
||||
SSVAL(param,10,8+4+2); /* resume required + close on end + continue */
|
||||
strcpy(param+12,mask);
|
||||
pstrcpy(param+12,mask);
|
||||
|
||||
DEBUG(5,("hand=0x%X resume=%d ff_lastname=%d mask=%s\n",
|
||||
ff_dir_handle,ff_resume_key,ff_lastname,mask));
|
||||
@ -584,16 +584,16 @@ static int do_long_dir(char *inbuf,char *outbuf,char *Mask,int attribute,void (*
|
||||
case 260:
|
||||
ff_resume_key =0;
|
||||
StrnCpy(mask,p+ff_lastname,resp_data_len-ff_lastname);
|
||||
/* strcpy(mask,p+ff_lastname+94); */
|
||||
/* pstrcpy(mask,p+ff_lastname+94); */
|
||||
break;
|
||||
case 1:
|
||||
strcpy(mask,p + ff_lastname + 1);
|
||||
pstrcpy(mask,p + ff_lastname + 1);
|
||||
ff_resume_key = 0;
|
||||
break;
|
||||
}
|
||||
}
|
||||
else
|
||||
strcpy(mask,"");
|
||||
pstrcpy(mask,"");
|
||||
|
||||
/* and add them to the dirlist pool */
|
||||
dirlist = Realloc(dirlist,dirlist_len + resp_data_len);
|
||||
@ -667,7 +667,7 @@ static int do_short_dir(char *inbuf,char *outbuf,char *Mask,int attribute,void (
|
||||
|
||||
bzero(status,21);
|
||||
|
||||
strcpy(mask,Mask);
|
||||
pstrcpy(mask,Mask);
|
||||
|
||||
while (1)
|
||||
{
|
||||
@ -694,9 +694,9 @@ static int do_short_dir(char *inbuf,char *outbuf,char *Mask,int attribute,void (
|
||||
*p++ = 4;
|
||||
|
||||
if (first)
|
||||
strcpy(p,mask);
|
||||
pstrcpy(p,mask);
|
||||
else
|
||||
strcpy(p,"");
|
||||
pstrcpy(p,"");
|
||||
p += strlen(p) + 1;
|
||||
|
||||
*p++ = 5;
|
||||
@ -751,7 +751,7 @@ static int do_short_dir(char *inbuf,char *outbuf,char *Mask,int attribute,void (
|
||||
p = smb_buf(outbuf);
|
||||
*p++ = 4;
|
||||
|
||||
strcpy(p,"");
|
||||
pstrcpy(p,"");
|
||||
p += strlen(p) + 1;
|
||||
|
||||
*p++ = 5;
|
||||
@ -859,7 +859,7 @@ static int interpret_short_filename(char *p,file_info *finfo)
|
||||
finfo->ctime = make_unix_date(p+22);
|
||||
finfo->mtime = finfo->atime = finfo->ctime;
|
||||
finfo->size = IVAL(p,26);
|
||||
strcpy(finfo->name,p+30);
|
||||
pstrcpy(finfo->name,p+30);
|
||||
|
||||
return(DIR_STRUCT_SIZE);
|
||||
}
|
||||
@ -886,7 +886,7 @@ static int interpret_long_filename(int level,char *p,file_info *finfo)
|
||||
finfo->mtime = make_unix_date2(p+12);
|
||||
finfo->size = IVAL(p,16);
|
||||
finfo->mode = CVAL(p,24);
|
||||
strcpy(finfo->name,p+27);
|
||||
pstrcpy(finfo->name,p+27);
|
||||
}
|
||||
return(28 + CVAL(p,26));
|
||||
|
||||
@ -899,7 +899,7 @@ static int interpret_long_filename(int level,char *p,file_info *finfo)
|
||||
finfo->mtime = make_unix_date2(p+12);
|
||||
finfo->size = IVAL(p,16);
|
||||
finfo->mode = CVAL(p,24);
|
||||
strcpy(finfo->name,p+31);
|
||||
pstrcpy(finfo->name,p+31);
|
||||
}
|
||||
return(32 + CVAL(p,30));
|
||||
|
||||
@ -913,7 +913,7 @@ static int interpret_long_filename(int level,char *p,file_info *finfo)
|
||||
finfo->mtime = make_unix_date2(p+16);
|
||||
finfo->size = IVAL(p,20);
|
||||
finfo->mode = CVAL(p,28);
|
||||
strcpy(finfo->name,p+33);
|
||||
pstrcpy(finfo->name,p+33);
|
||||
}
|
||||
return(SVAL(p,4)+4);
|
||||
|
||||
@ -926,7 +926,7 @@ static int interpret_long_filename(int level,char *p,file_info *finfo)
|
||||
finfo->mtime = make_unix_date2(p+16);
|
||||
finfo->size = IVAL(p,20);
|
||||
finfo->mode = CVAL(p,28);
|
||||
strcpy(finfo->name,p+37);
|
||||
pstrcpy(finfo->name,p+37);
|
||||
}
|
||||
return(SVAL(p,4)+4);
|
||||
|
||||
@ -994,22 +994,22 @@ static void dir_action(char *inbuf,char *outbuf,int attribute,file_info *finfo,B
|
||||
fn(finfo);
|
||||
}
|
||||
|
||||
strcpy(sav_dir,cur_dir);
|
||||
strcat(cur_dir,finfo->name);
|
||||
strcat(cur_dir,"\\");
|
||||
strcpy(mask2,cur_dir);
|
||||
pstrcpy(sav_dir,cur_dir);
|
||||
pstrcat(cur_dir,finfo->name);
|
||||
pstrcat(cur_dir,"\\");
|
||||
pstrcpy(mask2,cur_dir);
|
||||
|
||||
if (!fn)
|
||||
DEBUG(0,("\n%s\n",CNV_LANG(cur_dir)));
|
||||
|
||||
strcat(mask2,"*");
|
||||
pstrcat(mask2,"*");
|
||||
|
||||
if (longdir)
|
||||
do_long_dir(inbuf,outbuf,mask2,attribute,fn,True, dirstoo);
|
||||
else
|
||||
do_dir(inbuf,outbuf,mask2,attribute,fn,True, dirstoo);
|
||||
|
||||
strcpy(cur_dir,sav_dir);
|
||||
pstrcpy(cur_dir,sav_dir);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -1031,19 +1031,19 @@ static void cmd_dir(char *inbuf,char *outbuf)
|
||||
char *p=buf;
|
||||
|
||||
dir_total = 0;
|
||||
strcpy(mask,cur_dir);
|
||||
pstrcpy(mask,cur_dir);
|
||||
if(mask[strlen(mask)-1]!='\\')
|
||||
strcat(mask,"\\");
|
||||
pstrcat(mask,"\\");
|
||||
|
||||
if (next_token(NULL,buf,NULL))
|
||||
{
|
||||
if (*p == '\\')
|
||||
strcpy(mask,p);
|
||||
pstrcpy(mask,p);
|
||||
else
|
||||
strcat(mask,p);
|
||||
pstrcat(mask,p);
|
||||
}
|
||||
else {
|
||||
strcat(mask,"*");
|
||||
pstrcat(mask,"*");
|
||||
}
|
||||
|
||||
do_dir(inbuf,outbuf,mask,attribute,NULL,recurse,False);
|
||||
@ -1109,7 +1109,7 @@ static void do_get(char *rname,char *lname,file_info *finfo1)
|
||||
SSVAL(outbuf,smb_vwv12,0xffff);
|
||||
|
||||
p = smb_buf(outbuf);
|
||||
strcpy(p,rname);
|
||||
pstrcpy(p,rname);
|
||||
p = skip_string(p,1);
|
||||
|
||||
/* do a chained openX with a readX? */
|
||||
@ -1162,7 +1162,7 @@ static void do_get(char *rname,char *lname,file_info *finfo1)
|
||||
return;
|
||||
}
|
||||
|
||||
strcpy(finfo.name,rname);
|
||||
pstrcpy(finfo.name,rname);
|
||||
|
||||
if (!finfo1)
|
||||
{
|
||||
@ -1423,7 +1423,7 @@ static void do_get(char *rname,char *lname,file_info *finfo1)
|
||||
SIVALS(outbuf,smb_vwv1,0);
|
||||
p = smb_buf(outbuf);
|
||||
*p++ = 4;
|
||||
strcpy(p,rname);
|
||||
pstrcpy(p,rname);
|
||||
p += strlen(p)+1;
|
||||
*p++ = 4;
|
||||
*p = 0;
|
||||
@ -1460,8 +1460,8 @@ static void cmd_get(char *dum_in, char *dum_out)
|
||||
pstring rname;
|
||||
char *p;
|
||||
|
||||
strcpy(rname,cur_dir);
|
||||
strcat(rname,"\\");
|
||||
pstrcpy(rname,cur_dir);
|
||||
pstrcat(rname,"\\");
|
||||
|
||||
p = rname + strlen(rname);
|
||||
|
||||
@ -1469,7 +1469,7 @@ static void cmd_get(char *dum_in, char *dum_out)
|
||||
DEBUG(0,("get <filename>\n"));
|
||||
return;
|
||||
}
|
||||
strcpy(lname,p);
|
||||
pstrcpy(lname,p);
|
||||
dos_clean_name(rname);
|
||||
|
||||
next_token(NULL,lname,NULL);
|
||||
@ -1519,10 +1519,10 @@ static void do_mget(file_info *finfo)
|
||||
return;
|
||||
}
|
||||
|
||||
strcpy(saved_curdir,cur_dir);
|
||||
pstrcpy(saved_curdir,cur_dir);
|
||||
|
||||
strcat(cur_dir,finfo->name);
|
||||
strcat(cur_dir,"\\");
|
||||
pstrcat(cur_dir,finfo->name);
|
||||
pstrcat(cur_dir,"\\");
|
||||
|
||||
unix_format(finfo->name);
|
||||
{
|
||||
@ -1533,7 +1533,7 @@ static void do_mget(file_info *finfo)
|
||||
sys_mkdir(finfo->name,0777) != 0)
|
||||
{
|
||||
DEBUG(0,("failed to create directory %s\n",CNV_LANG(finfo->name)));
|
||||
strcpy(cur_dir,saved_curdir);
|
||||
pstrcpy(cur_dir,saved_curdir);
|
||||
free(inbuf);free(outbuf);
|
||||
return;
|
||||
}
|
||||
@ -1541,25 +1541,25 @@ static void do_mget(file_info *finfo)
|
||||
if (sys_chdir(finfo->name) != 0)
|
||||
{
|
||||
DEBUG(0,("failed to chdir to directory %s\n",CNV_LANG(finfo->name)));
|
||||
strcpy(cur_dir,saved_curdir);
|
||||
pstrcpy(cur_dir,saved_curdir);
|
||||
free(inbuf);free(outbuf);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
strcpy(mget_mask,cur_dir);
|
||||
strcat(mget_mask,"*");
|
||||
pstrcpy(mget_mask,cur_dir);
|
||||
pstrcat(mget_mask,"*");
|
||||
|
||||
do_dir((char *)inbuf,(char *)outbuf,
|
||||
mget_mask,aSYSTEM | aHIDDEN | aDIR,do_mget,False, False);
|
||||
chdir("..");
|
||||
strcpy(cur_dir,saved_curdir);
|
||||
pstrcpy(cur_dir,saved_curdir);
|
||||
free(inbuf);free(outbuf);
|
||||
}
|
||||
else
|
||||
{
|
||||
strcpy(rname,cur_dir);
|
||||
strcat(rname,finfo->name);
|
||||
pstrcpy(rname,cur_dir);
|
||||
pstrcat(rname,finfo->name);
|
||||
do_get(rname,finfo->name,finfo);
|
||||
}
|
||||
}
|
||||
@ -1572,12 +1572,12 @@ static void cmd_more(char *dum_in, char *dum_out)
|
||||
fstring rname,lname,tmpname,pager_cmd;
|
||||
char *pager;
|
||||
|
||||
strcpy(rname,cur_dir);
|
||||
strcat(rname,"\\");
|
||||
fstrcpy(rname,cur_dir);
|
||||
fstrcat(rname,"\\");
|
||||
slprintf(tmpname,
|
||||
sizeof(fstring)-1,
|
||||
"%s/smbmore.%d",tmpdir(),(int)getpid());
|
||||
strcpy(lname,tmpname);
|
||||
fstrcpy(lname,tmpname);
|
||||
|
||||
if (!next_token(NULL,rname+strlen(rname),NULL)) {
|
||||
DEBUG(0,("more <filename>\n"));
|
||||
@ -1616,23 +1616,23 @@ static void cmd_mget(char *inbuf,char *outbuf)
|
||||
|
||||
while (next_token(NULL,p,NULL))
|
||||
{
|
||||
strcpy(mget_mask,cur_dir);
|
||||
pstrcpy(mget_mask,cur_dir);
|
||||
if(mget_mask[strlen(mget_mask)-1]!='\\')
|
||||
strcat(mget_mask,"\\");
|
||||
pstrcat(mget_mask,"\\");
|
||||
|
||||
if (*p == '\\')
|
||||
strcpy(mget_mask,p);
|
||||
pstrcpy(mget_mask,p);
|
||||
else
|
||||
strcat(mget_mask,p);
|
||||
pstrcat(mget_mask,p);
|
||||
do_dir((char *)inbuf,(char *)outbuf,mget_mask,attribute,do_mget,False,False);
|
||||
}
|
||||
|
||||
if (! *mget_mask)
|
||||
{
|
||||
strcpy(mget_mask,cur_dir);
|
||||
pstrcpy(mget_mask,cur_dir);
|
||||
if(mget_mask[strlen(mget_mask)-1]!='\\')
|
||||
strcat(mget_mask,"\\");
|
||||
strcat(mget_mask,"*");
|
||||
pstrcat(mget_mask,"\\");
|
||||
pstrcat(mget_mask,"*");
|
||||
do_dir((char *)inbuf,(char *)outbuf,mget_mask,attribute,do_mget,False,False);
|
||||
}
|
||||
}
|
||||
@ -1664,7 +1664,7 @@ static BOOL do_mkdir(char *name)
|
||||
|
||||
p = smb_buf(outbuf);
|
||||
*p++ = 4;
|
||||
strcpy(p,name);
|
||||
pstrcpy(p,name);
|
||||
|
||||
send_smb(Client,outbuf);
|
||||
client_receive_smb(Client,inbuf,CLIENT_TIMEOUT);
|
||||
@ -1692,7 +1692,7 @@ static void cmd_mkdir(char *inbuf,char *outbuf)
|
||||
fstring buf;
|
||||
char *p=buf;
|
||||
|
||||
strcpy(mask,cur_dir);
|
||||
pstrcpy(mask,cur_dir);
|
||||
|
||||
if (!next_token(NULL,p,NULL))
|
||||
{
|
||||
@ -1700,7 +1700,7 @@ static void cmd_mkdir(char *inbuf,char *outbuf)
|
||||
DEBUG(0,("mkdir <dirname>\n"));
|
||||
return;
|
||||
}
|
||||
strcat(mask,p);
|
||||
pstrcat(mask,p);
|
||||
|
||||
if (recurse)
|
||||
{
|
||||
@ -1708,17 +1708,17 @@ static void cmd_mkdir(char *inbuf,char *outbuf)
|
||||
pstring ddir2;
|
||||
*ddir2 = 0;
|
||||
|
||||
strcpy(ddir,mask);
|
||||
pstrcpy(ddir,mask);
|
||||
trim_string(ddir,".",NULL);
|
||||
p = strtok(ddir,"/\\");
|
||||
while (p)
|
||||
{
|
||||
strcat(ddir2,p);
|
||||
pstrcat(ddir2,p);
|
||||
if (!chkpath(ddir2,False))
|
||||
{
|
||||
do_mkdir(ddir2);
|
||||
}
|
||||
strcat(ddir2,"\\");
|
||||
pstrcat(ddir2,"\\");
|
||||
p = strtok(NULL,"/\\");
|
||||
}
|
||||
}
|
||||
@ -1847,7 +1847,7 @@ static void do_put(char *rname,char *lname,file_info *finfo)
|
||||
|
||||
p = smb_buf(outbuf);
|
||||
*p++ = 4;
|
||||
strcpy(p,rname);
|
||||
pstrcpy(p,rname);
|
||||
|
||||
send_smb(Client,outbuf);
|
||||
client_receive_smb(Client,inbuf,CLIENT_TIMEOUT);
|
||||
@ -1969,8 +1969,8 @@ static void cmd_put(char *dum_in, char *dum_out)
|
||||
file_info finfo;
|
||||
finfo = def_finfo;
|
||||
|
||||
strcpy(rname,cur_dir);
|
||||
strcat(rname,"\\");
|
||||
pstrcpy(rname,cur_dir);
|
||||
pstrcat(rname,"\\");
|
||||
|
||||
|
||||
if (!next_token(NULL,p,NULL))
|
||||
@ -1978,12 +1978,12 @@ static void cmd_put(char *dum_in, char *dum_out)
|
||||
DEBUG(0,("put <filename>\n"));
|
||||
return;
|
||||
}
|
||||
strcpy(lname,p);
|
||||
pstrcpy(lname,p);
|
||||
|
||||
if (next_token(NULL,p,NULL))
|
||||
strcat(rname,p);
|
||||
pstrcat(rname,p);
|
||||
else
|
||||
strcat(rname,lname);
|
||||
pstrcat(rname,lname);
|
||||
|
||||
dos_clean_name(rname);
|
||||
|
||||
@ -2012,7 +2012,7 @@ static BOOL seek_list(FILE *f,char *name)
|
||||
trim_string(s,"./",NULL);
|
||||
if (strncmp(s,name,strlen(name)) != 0)
|
||||
{
|
||||
strcpy(name,s);
|
||||
pstrcpy(name,s);
|
||||
return(True);
|
||||
}
|
||||
}
|
||||
@ -2026,7 +2026,7 @@ static BOOL seek_list(FILE *f,char *name)
|
||||
****************************************************************************/
|
||||
static void cmd_select(char *dum_in, char *dum_out)
|
||||
{
|
||||
strcpy(fileselection,"");
|
||||
pstrcpy(fileselection,"");
|
||||
next_token(NULL,fileselection,NULL);
|
||||
}
|
||||
|
||||
@ -2082,16 +2082,16 @@ static void cmd_mput(char *dum_in, char *dum_out)
|
||||
"Put directory %s? ",lname);
|
||||
if (prompt && !yesno(quest))
|
||||
{
|
||||
strcat(lname,"/");
|
||||
pstrcat(lname,"/");
|
||||
if (!seek_list(f,lname))
|
||||
break;
|
||||
goto again1;
|
||||
}
|
||||
|
||||
strcpy(rname,cur_dir);
|
||||
strcat(rname,lname);
|
||||
pstrcpy(rname,cur_dir);
|
||||
pstrcat(rname,lname);
|
||||
if (!chkpath(rname,False) && !do_mkdir(rname)) {
|
||||
strcat(lname,"/");
|
||||
pstrcat(lname,"/");
|
||||
if (!seek_list(f,lname))
|
||||
break;
|
||||
goto again1;
|
||||
@ -2105,8 +2105,8 @@ static void cmd_mput(char *dum_in, char *dum_out)
|
||||
"Put file %s? ",lname);
|
||||
if (prompt && !yesno(quest)) continue;
|
||||
|
||||
strcpy(rname,cur_dir);
|
||||
strcat(rname,lname);
|
||||
pstrcpy(rname,cur_dir);
|
||||
pstrcat(rname,lname);
|
||||
}
|
||||
dos_format(rname);
|
||||
|
||||
@ -2139,9 +2139,9 @@ static void do_cancel(int job)
|
||||
p = param;
|
||||
SSVAL(p,0,81); /* DosPrintJobDel() */
|
||||
p += 2;
|
||||
strcpy(p,"W");
|
||||
pstrcpy(p,"W");
|
||||
p = skip_string(p,1);
|
||||
strcpy(p,"");
|
||||
pstrcpy(p,"");
|
||||
p = skip_string(p,1);
|
||||
SSVAL(p,0,job);
|
||||
p += 2;
|
||||
@ -2221,13 +2221,13 @@ static void cmd_print(char *inbuf,char *outbuf )
|
||||
return;
|
||||
}
|
||||
|
||||
strcpy(rname,lname);
|
||||
pstrcpy(rname,lname);
|
||||
p = strrchr(rname,'/');
|
||||
if (p)
|
||||
{
|
||||
pstring tname;
|
||||
strcpy(tname,p+1);
|
||||
strcpy(rname,tname);
|
||||
pstrcpy(tname,p+1);
|
||||
pstrcpy(rname,tname);
|
||||
}
|
||||
|
||||
if ((int)strlen(rname) > 14)
|
||||
@ -2236,7 +2236,7 @@ static void cmd_print(char *inbuf,char *outbuf )
|
||||
if (strequal(lname,"-"))
|
||||
{
|
||||
f = stdin;
|
||||
strcpy(rname,"stdin");
|
||||
pstrcpy(rname,"stdin");
|
||||
}
|
||||
|
||||
dos_clean_name(rname);
|
||||
@ -2253,7 +2253,7 @@ static void cmd_print(char *inbuf,char *outbuf )
|
||||
|
||||
p = smb_buf(outbuf);
|
||||
*p++ = 4;
|
||||
strcpy(p,rname);
|
||||
pstrcpy(p,rname);
|
||||
|
||||
send_smb(Client,outbuf);
|
||||
client_receive_smb(Client,inbuf,CLIENT_TIMEOUT);
|
||||
@ -2391,13 +2391,13 @@ static void cmd_queue(char *inbuf,char *outbuf )
|
||||
{
|
||||
switch (CVAL(p,4))
|
||||
{
|
||||
case 0x01: sprintf(status,"held or stopped"); break;
|
||||
case 0x02: sprintf(status,"printing"); break;
|
||||
case 0x03: sprintf(status,"awaiting print"); break;
|
||||
case 0x04: sprintf(status,"in intercept"); break;
|
||||
case 0x05: sprintf(status,"file had error"); break;
|
||||
case 0x06: sprintf(status,"printer error"); break;
|
||||
default: sprintf(status,"unknown"); break;
|
||||
case 0x01: safe_strcpy(status,"held or stopped", sizeof(status)-1); break;
|
||||
case 0x02: safe_strcpy(status,"printing",sizeof(status)-1); break;
|
||||
case 0x03: safe_strcpy(status,"awaiting print", sizeof(status)-1); break;
|
||||
case 0x04: safe_strcpy(status,"in intercept",sizeof(status)-1); break;
|
||||
case 0x05: safe_strcpy(status,"file had error",sizeof(status)-1); break;
|
||||
case 0x06: safe_strcpy(status,"printer error",sizeof(status)-1); break;
|
||||
default: safe_strcpy(status,"unknown",sizeof(status)-1); break;
|
||||
}
|
||||
|
||||
DEBUG(0,("%-6d %-16.16s %-9d %s\n",
|
||||
@ -2432,16 +2432,16 @@ static void cmd_p_queue_4(char *inbuf,char *outbuf )
|
||||
p = param;
|
||||
SSVAL(p,0,76); /* API function number 76 (DosPrintJobEnum) */
|
||||
p += 2;
|
||||
strcpy(p,"zWrLeh"); /* parameter description? */
|
||||
pstrcpy(p,"zWrLeh"); /* parameter description? */
|
||||
p = skip_string(p,1);
|
||||
strcpy(p,"WWzWWDDzz"); /* returned data format */
|
||||
pstrcpy(p,"WWzWWDDzz"); /* returned data format */
|
||||
p = skip_string(p,1);
|
||||
strcpy(p,strrchr(service,'\\')+1); /* name of queue */
|
||||
pstrcpy(p,strrchr(service,'\\')+1); /* name of queue */
|
||||
p = skip_string(p,1);
|
||||
SSVAL(p,0,2); /* API function level 2, PRJINFO_2 data structure */
|
||||
SSVAL(p,2,1000); /* size of bytes of returned data buffer */
|
||||
p += 4;
|
||||
strcpy(p,""); /* subformat */
|
||||
pstrcpy(p,""); /* subformat */
|
||||
p = skip_string(p,1);
|
||||
|
||||
DEBUG(1,("Calling DosPrintJobEnum()...\n"));
|
||||
@ -2467,9 +2467,9 @@ static void cmd_p_queue_4(char *inbuf,char *outbuf )
|
||||
char *JobName;
|
||||
char *JobTimeStr;
|
||||
time_t JobTime;
|
||||
char PrinterName[20];
|
||||
fstring PrinterName;
|
||||
|
||||
strcpy(PrinterName,strrchr(service,'\\')+1); /* name of queue */
|
||||
fstrcpy(PrinterName,strrchr(service,'\\')+1); /* name of queue */
|
||||
strlower(PrinterName); /* in lower case */
|
||||
|
||||
p = rdata; /* received data */
|
||||
@ -2539,16 +2539,16 @@ static void cmd_qinfo(char *inbuf,char *outbuf )
|
||||
p = param;
|
||||
SSVAL(p,0,70); /* API function number 70 (DosPrintQGetInfo) */
|
||||
p += 2;
|
||||
strcpy(p,"zWrLh"); /* parameter description? */
|
||||
pstrcpy(p,"zWrLh"); /* parameter description? */
|
||||
p = skip_string(p,1);
|
||||
strcpy(p,"zWWWWzzzzWWzzl"); /* returned data format */
|
||||
pstrcpy(p,"zWWWWzzzzWWzzl"); /* returned data format */
|
||||
p = skip_string(p,1);
|
||||
strcpy(p,strrchr(service,'\\')+1); /* name of queue */
|
||||
pstrcpy(p,strrchr(service,'\\')+1); /* name of queue */
|
||||
p = skip_string(p,1);
|
||||
SSVAL(p,0,3); /* API function level 3, just queue info, no job info */
|
||||
SSVAL(p,2,1000); /* size of bytes of returned data buffer */
|
||||
p += 4;
|
||||
strcpy(p,""); /* subformat */
|
||||
pstrcpy(p,""); /* subformat */
|
||||
p = skip_string(p,1);
|
||||
|
||||
DEBUG(1,("Calling DosPrintQueueGetInfo()...\n"));
|
||||
@ -2634,8 +2634,8 @@ static void do_del(file_info *finfo)
|
||||
char *inbuf,*outbuf;
|
||||
pstring mask;
|
||||
|
||||
strcpy(mask,cur_dir);
|
||||
strcat(mask,finfo->name);
|
||||
pstrcpy(mask,cur_dir);
|
||||
pstrcat(mask,finfo->name);
|
||||
|
||||
if (finfo->mode & aDIR)
|
||||
return;
|
||||
@ -2660,7 +2660,7 @@ static void do_del(file_info *finfo)
|
||||
|
||||
p = smb_buf(outbuf);
|
||||
*p++ = 4;
|
||||
strcpy(p,mask);
|
||||
pstrcpy(p,mask);
|
||||
|
||||
send_smb(Client,outbuf);
|
||||
client_receive_smb(Client,inbuf,CLIENT_TIMEOUT);
|
||||
@ -2684,14 +2684,14 @@ static void cmd_del(char *inbuf,char *outbuf )
|
||||
if (recurse)
|
||||
attribute |= aDIR;
|
||||
|
||||
strcpy(mask,cur_dir);
|
||||
pstrcpy(mask,cur_dir);
|
||||
|
||||
if (!next_token(NULL,buf,NULL))
|
||||
{
|
||||
DEBUG(0,("del <filename>\n"));
|
||||
return;
|
||||
}
|
||||
strcat(mask,buf);
|
||||
pstrcat(mask,buf);
|
||||
|
||||
do_dir((char *)inbuf,(char *)outbuf,mask,attribute,do_del,False,False);
|
||||
}
|
||||
@ -2706,14 +2706,14 @@ static void cmd_rmdir(char *inbuf,char *outbuf )
|
||||
fstring buf;
|
||||
char *p;
|
||||
|
||||
strcpy(mask,cur_dir);
|
||||
pstrcpy(mask,cur_dir);
|
||||
|
||||
if (!next_token(NULL,buf,NULL))
|
||||
{
|
||||
DEBUG(0,("rmdir <dirname>\n"));
|
||||
return;
|
||||
}
|
||||
strcat(mask,buf);
|
||||
pstrcat(mask,buf);
|
||||
|
||||
bzero(outbuf,smb_size);
|
||||
set_message(outbuf,0,2 + strlen(mask),True);
|
||||
@ -2725,7 +2725,7 @@ static void cmd_rmdir(char *inbuf,char *outbuf )
|
||||
|
||||
p = smb_buf(outbuf);
|
||||
*p++ = 4;
|
||||
strcpy(p,mask);
|
||||
pstrcpy(p,mask);
|
||||
|
||||
send_smb(Client,outbuf);
|
||||
client_receive_smb(Client,inbuf,CLIENT_TIMEOUT);
|
||||
@ -2747,16 +2747,16 @@ static void cmd_rename(char *inbuf,char *outbuf )
|
||||
fstring buf,buf2;
|
||||
char *p;
|
||||
|
||||
strcpy(src,cur_dir);
|
||||
strcpy(dest,cur_dir);
|
||||
pstrcpy(src,cur_dir);
|
||||
pstrcpy(dest,cur_dir);
|
||||
|
||||
if (!next_token(NULL,buf,NULL) || !next_token(NULL,buf2,NULL))
|
||||
{
|
||||
DEBUG(0,("rename <src> <dest>\n"));
|
||||
return;
|
||||
}
|
||||
strcat(src,buf);
|
||||
strcat(dest,buf2);
|
||||
pstrcat(src,buf);
|
||||
pstrcat(dest,buf2);
|
||||
|
||||
bzero(outbuf,smb_size);
|
||||
set_message(outbuf,1,4 + strlen(src) + strlen(dest),True);
|
||||
@ -2768,10 +2768,10 @@ static void cmd_rename(char *inbuf,char *outbuf )
|
||||
|
||||
p = smb_buf(outbuf);
|
||||
*p++ = 4;
|
||||
strcpy(p,src);
|
||||
pstrcpy(p,src);
|
||||
p = skip_string(p,1);
|
||||
*p++ = 4;
|
||||
strcpy(p,dest);
|
||||
pstrcpy(p,dest);
|
||||
|
||||
send_smb(Client,outbuf);
|
||||
client_receive_smb(Client,inbuf,CLIENT_TIMEOUT);
|
||||
@ -2887,13 +2887,13 @@ static void cmd_printmode(char *dum_in, char *dum_out)
|
||||
switch(printmode)
|
||||
{
|
||||
case 0:
|
||||
strcpy(mode,"text");
|
||||
fstrcpy(mode,"text");
|
||||
break;
|
||||
case 1:
|
||||
strcpy(mode,"graphics");
|
||||
fstrcpy(mode,"graphics");
|
||||
break;
|
||||
default:
|
||||
sprintf(mode,"%d",printmode);
|
||||
slprintf(mode,sizeof(mode)-1,"%d",printmode);
|
||||
break;
|
||||
}
|
||||
|
||||
@ -2938,9 +2938,9 @@ static BOOL browse_host(BOOL sort)
|
||||
p = param;
|
||||
SSVAL(p,0,0); /* api number */
|
||||
p += 2;
|
||||
strcpy(p,"WrLeh");
|
||||
pstrcpy(p,"WrLeh");
|
||||
p = skip_string(p,1);
|
||||
strcpy(p,"B13BWz");
|
||||
pstrcpy(p,"B13BWz");
|
||||
p = skip_string(p,1);
|
||||
SSVAL(p,0,1);
|
||||
SSVAL(p,2,BUFFER_SIZE);
|
||||
@ -2982,13 +2982,13 @@ static BOOL browse_host(BOOL sort)
|
||||
switch (type)
|
||||
{
|
||||
case STYPE_DISKTREE:
|
||||
strcpy(typestr,"Disk"); break;
|
||||
fstrcpy(typestr,"Disk"); break;
|
||||
case STYPE_PRINTQ:
|
||||
strcpy(typestr,"Printer"); break;
|
||||
fstrcpy(typestr,"Printer"); break;
|
||||
case STYPE_DEVICE:
|
||||
strcpy(typestr,"Device"); break;
|
||||
fstrcpy(typestr,"Device"); break;
|
||||
case STYPE_IPC:
|
||||
strcpy(typestr,"IPC"); break;
|
||||
fstrcpy(typestr,"IPC"); break;
|
||||
}
|
||||
|
||||
printf("\t%-15.15s%-10.10s%s\n",
|
||||
@ -3030,9 +3030,9 @@ static void server_info(void)
|
||||
p = param;
|
||||
SSVAL(p,0,63); /* NetServerGetInfo()? */
|
||||
p += 2;
|
||||
strcpy(p,"WrLh");
|
||||
pstrcpy(p,"WrLh");
|
||||
p = skip_string(p,1);
|
||||
strcpy(p,"zzzBBzz");
|
||||
pstrcpy(p,"zzzBBzz");
|
||||
p = skip_string(p,1);
|
||||
SSVAL(p,0,10); /* level 10 */
|
||||
SSVAL(p,2,1000);
|
||||
@ -3092,10 +3092,10 @@ static BOOL list_servers(char *wk_grp)
|
||||
SSVAL(p,0,0x68); /* api number */
|
||||
p += 2;
|
||||
|
||||
strcpy(p,generic_request?"WrLehDO":"WrLehDz");
|
||||
pstrcpy(p,generic_request?"WrLehDO":"WrLehDz");
|
||||
p = skip_string(p,1);
|
||||
|
||||
strcpy(p,"B16BBDz");
|
||||
pstrcpy(p,"B16BBDz");
|
||||
|
||||
p = skip_string(p,1);
|
||||
SSVAL(p,0,uLevel);
|
||||
@ -3106,7 +3106,7 @@ static BOOL list_servers(char *wk_grp)
|
||||
p += 4;
|
||||
|
||||
if (!generic_request) {
|
||||
strcpy(p, wk_grp);
|
||||
pstrcpy(p, wk_grp);
|
||||
p = skip_string(p,1);
|
||||
}
|
||||
|
||||
@ -3551,7 +3551,7 @@ static void usage(char *pname)
|
||||
int save_debuglevel = -1;
|
||||
|
||||
#ifdef KANJI
|
||||
strcpy(term_code, KANJI);
|
||||
pstrcpy(term_code, KANJI);
|
||||
#else /* KANJI */
|
||||
*term_code = 0;
|
||||
#endif /* KANJI */
|
||||
@ -3577,7 +3577,7 @@ static void usage(char *pname)
|
||||
|
||||
if (getenv("USER"))
|
||||
{
|
||||
strcpy(username,getenv("USER"));
|
||||
pstrcpy(username,getenv("USER"));
|
||||
|
||||
/* modification to support userid%passwd syntax in the USER var
|
||||
25.Aug.97, jdblair@uab.edu */
|
||||
@ -3585,7 +3585,7 @@ static void usage(char *pname)
|
||||
if ((p=strchr(username,'%')))
|
||||
{
|
||||
*p = 0;
|
||||
strcpy(password,p+1);
|
||||
pstrcpy(password,p+1);
|
||||
got_pass = True;
|
||||
memset(strchr(getenv("USER"),'%')+1,'X',strlen(password));
|
||||
}
|
||||
@ -3596,11 +3596,11 @@ static void usage(char *pname)
|
||||
25.Aug.97, jdblair@uab.edu */
|
||||
|
||||
if (getenv("PASSWD"))
|
||||
strcpy(password,getenv("PASSWD"));
|
||||
pstrcpy(password,getenv("PASSWD"));
|
||||
|
||||
if (*username == 0 && getenv("LOGNAME"))
|
||||
{
|
||||
strcpy(username,getenv("LOGNAME"));
|
||||
pstrcpy(username,getenv("LOGNAME"));
|
||||
strupper(username);
|
||||
}
|
||||
|
||||
@ -3613,7 +3613,7 @@ static void usage(char *pname)
|
||||
if (*argv[1] != '-')
|
||||
{
|
||||
|
||||
strcpy(service,argv[1]);
|
||||
pstrcpy(service,argv[1]);
|
||||
/* Convert any '/' characters in the service name to '\' characters */
|
||||
string_replace( service, '/','\\');
|
||||
argc--;
|
||||
@ -3638,7 +3638,7 @@ static void usage(char *pname)
|
||||
if (argc > 1 && (*argv[1] != '-'))
|
||||
{
|
||||
got_pass = True;
|
||||
strcpy(password,argv[1]);
|
||||
pstrcpy(password,argv[1]);
|
||||
memset(argv[1],'X',strlen(argv[1]));
|
||||
argc--;
|
||||
argv++;
|
||||
@ -3653,19 +3653,19 @@ static void usage(char *pname)
|
||||
max_protocol = interpret_protocol(optarg,max_protocol);
|
||||
break;
|
||||
case 'O':
|
||||
strcpy(user_socket_options,optarg);
|
||||
pstrcpy(user_socket_options,optarg);
|
||||
break;
|
||||
case 'R':
|
||||
pstrcpy(new_name_resolve_order, optarg);
|
||||
break;
|
||||
case 'S':
|
||||
strcpy(desthost,optarg);
|
||||
pstrcpy(desthost,optarg);
|
||||
strupper(desthost);
|
||||
nt_domain_logon = True;
|
||||
break;
|
||||
case 'M':
|
||||
name_type = 0x03; /* messages are sent to NetBIOS name type 0x3 */
|
||||
strcpy(desthost,optarg);
|
||||
pstrcpy(desthost,optarg);
|
||||
strupper(desthost);
|
||||
message = True;
|
||||
break;
|
||||
@ -3673,7 +3673,7 @@ static void usage(char *pname)
|
||||
iface_set_default(NULL,optarg,NULL);
|
||||
break;
|
||||
case 'D':
|
||||
strcpy(base_directory,optarg);
|
||||
pstrcpy(base_directory,optarg);
|
||||
break;
|
||||
case 'T':
|
||||
if (!tar_parseargs(argc, argv, optarg, optind)) {
|
||||
@ -3682,20 +3682,20 @@ static void usage(char *pname)
|
||||
}
|
||||
break;
|
||||
case 'i':
|
||||
strcpy(scope,optarg);
|
||||
pstrcpy(scope,optarg);
|
||||
break;
|
||||
case 'L':
|
||||
got_pass = True;
|
||||
strcpy(query_host,optarg);
|
||||
pstrcpy(query_host,optarg);
|
||||
break;
|
||||
case 'U':
|
||||
{
|
||||
char *lp;
|
||||
strcpy(username,optarg);
|
||||
pstrcpy(username,optarg);
|
||||
if ((lp=strchr(username,'%')))
|
||||
{
|
||||
*lp = 0;
|
||||
strcpy(password,lp+1);
|
||||
pstrcpy(password,lp+1);
|
||||
got_pass = True;
|
||||
memset(strchr(optarg,'%')+1,'X',strlen(password));
|
||||
}
|
||||
@ -3703,7 +3703,7 @@ static void usage(char *pname)
|
||||
|
||||
break;
|
||||
case 'W':
|
||||
strcpy(workgroup,optarg);
|
||||
pstrcpy(workgroup,optarg);
|
||||
break;
|
||||
case 'E':
|
||||
dbf = stderr;
|
||||
@ -3716,7 +3716,7 @@ static void usage(char *pname)
|
||||
}
|
||||
break;
|
||||
case 'n':
|
||||
strcpy(global_myname,optarg);
|
||||
pstrcpy(global_myname,optarg);
|
||||
break;
|
||||
case 'N':
|
||||
got_pass = True;
|
||||
@ -3746,10 +3746,10 @@ static void usage(char *pname)
|
||||
exit(0);
|
||||
break;
|
||||
case 's':
|
||||
strcpy(servicesf, optarg);
|
||||
pstrcpy(servicesf, optarg);
|
||||
break;
|
||||
case 't':
|
||||
strcpy(term_code, optarg);
|
||||
pstrcpy(term_code, optarg);
|
||||
break;
|
||||
default:
|
||||
usage(pname);
|
||||
@ -3787,7 +3787,7 @@ static void usage(char *pname)
|
||||
interpret_coding_system(term_code);
|
||||
|
||||
if (*workgroup == 0)
|
||||
strcpy(workgroup,lp_workgroup());
|
||||
pstrcpy(workgroup,lp_workgroup());
|
||||
|
||||
load_interfaces();
|
||||
get_myname((*global_myname)?NULL:global_myname,NULL);
|
||||
|
@ -320,7 +320,7 @@ BOOL cli_send_session_request(char *inbuf,char *outbuf)
|
||||
int len = 4;
|
||||
/* send a session request (RFC 8002) */
|
||||
|
||||
strcpy(dest,desthost);
|
||||
fstrcpy(dest,desthost);
|
||||
p = strchr(dest,'.');
|
||||
if (p) *p = 0;
|
||||
|
||||
@ -454,11 +454,11 @@ BOOL cli_send_login(char *inbuf,char *outbuf,BOOL start_session,BOOL use_setup,
|
||||
if (strstr(service,"IPC$")) connect_as_ipc = True;
|
||||
#endif
|
||||
|
||||
strcpy(dev,"A:");
|
||||
pstrcpy(dev,"A:");
|
||||
if (connect_as_printer)
|
||||
strcpy(dev,"LPT1:");
|
||||
pstrcpy(dev,"LPT1:");
|
||||
if (connect_as_ipc)
|
||||
strcpy(dev,"IPC");
|
||||
pstrcpy(dev,"IPC");
|
||||
|
||||
|
||||
if (start_session && !cli_send_session_request(inbuf,outbuf))
|
||||
@ -490,7 +490,7 @@ BOOL cli_send_login(char *inbuf,char *outbuf,BOOL start_session,BOOL use_setup,
|
||||
numprots++)
|
||||
{
|
||||
*p++ = 2;
|
||||
strcpy(p,prots[numprots].name);
|
||||
pstrcpy(p,prots[numprots].name);
|
||||
p += strlen(p) + 1;
|
||||
}
|
||||
}
|
||||
@ -593,7 +593,7 @@ BOOL cli_send_login(char *inbuf,char *outbuf,BOOL start_session,BOOL use_setup,
|
||||
{
|
||||
fstring pword;
|
||||
int passlen = strlen(pass)+1;
|
||||
strcpy(pword,pass);
|
||||
fstrcpy(pword,pass);
|
||||
|
||||
if (doencrypt && *pass) {
|
||||
DEBUG(3,("Using encrypted passwords\n"));
|
||||
@ -602,7 +602,7 @@ BOOL cli_send_login(char *inbuf,char *outbuf,BOOL start_session,BOOL use_setup,
|
||||
}
|
||||
|
||||
/* if in share level security then don't send a password now */
|
||||
if (!(opt.sec_mode & 1)) {strcpy(pword, "");passlen=1;}
|
||||
if (!(opt.sec_mode & 1)) {fstrcpy(pword, "");passlen=1;}
|
||||
|
||||
/* send a session setup command */
|
||||
bzero(outbuf,smb_size);
|
||||
@ -621,7 +621,7 @@ BOOL cli_send_login(char *inbuf,char *outbuf,BOOL start_session,BOOL use_setup,
|
||||
p = smb_buf(outbuf);
|
||||
memcpy(p,pword,passlen);
|
||||
p += passlen;
|
||||
strcpy(p,username);
|
||||
pstrcpy(p,username);
|
||||
} else {
|
||||
if (!doencrypt) passlen--;
|
||||
/* for Win95 */
|
||||
@ -638,10 +638,10 @@ BOOL cli_send_login(char *inbuf,char *outbuf,BOOL start_session,BOOL use_setup,
|
||||
SSVAL(outbuf,smb_vwv8,0);
|
||||
p = smb_buf(outbuf);
|
||||
memcpy(p,pword,passlen); p += SVAL(outbuf,smb_vwv7);
|
||||
strcpy(p,username);p = skip_string(p,1);
|
||||
strcpy(p,workgroup);p = skip_string(p,1);
|
||||
strcpy(p,"Unix");p = skip_string(p,1);
|
||||
strcpy(p,"Samba");p = skip_string(p,1);
|
||||
pstrcpy(p,username);p = skip_string(p,1);
|
||||
pstrcpy(p,workgroup);p = skip_string(p,1);
|
||||
pstrcpy(p,"Unix");p = skip_string(p,1);
|
||||
pstrcpy(p,"Samba");p = skip_string(p,1);
|
||||
set_message(outbuf,13,PTR_DIFF(p,smb_buf(outbuf)),False);
|
||||
}
|
||||
|
||||
@ -717,7 +717,7 @@ BOOL cli_send_login(char *inbuf,char *outbuf,BOOL start_session,BOOL use_setup,
|
||||
{
|
||||
int passlen = strlen(pass)+1;
|
||||
fstring pword;
|
||||
strcpy(pword,pass);
|
||||
fstrcpy(pword,pass);
|
||||
|
||||
if (doencrypt && *pass) {
|
||||
passlen=24;
|
||||
@ -726,7 +726,7 @@ BOOL cli_send_login(char *inbuf,char *outbuf,BOOL start_session,BOOL use_setup,
|
||||
|
||||
/* if in user level security then don't send a password now */
|
||||
if ((opt.sec_mode & 1)) {
|
||||
strcpy(pword, ""); passlen=1;
|
||||
fstrcpy(pword, ""); passlen=1;
|
||||
}
|
||||
|
||||
if (Protocol <= PROTOCOL_COREPLUS) {
|
||||
@ -736,13 +736,13 @@ BOOL cli_send_login(char *inbuf,char *outbuf,BOOL start_session,BOOL use_setup,
|
||||
|
||||
p = smb_buf(outbuf);
|
||||
*p++ = 0x04;
|
||||
strcpy(p, service);
|
||||
pstrcpy(p, service);
|
||||
p = skip_string(p,1);
|
||||
*p++ = 0x04;
|
||||
memcpy(p,pword,passlen);
|
||||
p += passlen;
|
||||
*p++ = 0x04;
|
||||
strcpy(p, dev);
|
||||
pstrcpy(p, dev);
|
||||
}
|
||||
else {
|
||||
set_message(outbuf,4,2 + strlen(service) + passlen + strlen(dev),True);
|
||||
@ -755,9 +755,9 @@ BOOL cli_send_login(char *inbuf,char *outbuf,BOOL start_session,BOOL use_setup,
|
||||
p = smb_buf(outbuf);
|
||||
memcpy(p,pword,passlen);
|
||||
p += passlen;
|
||||
strcpy(p,service);
|
||||
pstrcpy(p,service);
|
||||
p = skip_string(p,1);
|
||||
strcpy(p,dev);
|
||||
pstrcpy(p,dev);
|
||||
}
|
||||
}
|
||||
|
||||
@ -771,7 +771,7 @@ BOOL cli_send_login(char *inbuf,char *outbuf,BOOL start_session,BOOL use_setup,
|
||||
Protocol >= PROTOCOL_LANMAN1)
|
||||
{
|
||||
DEBUG(2,("first SMBtconX failed, trying again. %s\n",smb_errstr(inbuf)));
|
||||
strcpy(pass,"");
|
||||
pstrcpy(pass,"");
|
||||
goto again2;
|
||||
}
|
||||
|
||||
@ -873,13 +873,13 @@ BOOL cli_open_sockets(int port )
|
||||
}
|
||||
else
|
||||
{
|
||||
strcpy(service2,service);
|
||||
pstrcpy(service2,service);
|
||||
host = strtok(service2,"\\/");
|
||||
if (!host) {
|
||||
DEBUG(0,("Badly formed host name\n"));
|
||||
return(False);
|
||||
}
|
||||
strcpy(desthost,host);
|
||||
pstrcpy(desthost,host);
|
||||
}
|
||||
|
||||
if (!(*global_myname)) {
|
||||
|
@ -248,7 +248,7 @@ static void writetarheader(int f, char *aname, int size, time_t mtime,
|
||||
/* write out a "standard" tar format header */
|
||||
|
||||
hb.dbuf.name[NAMSIZ-1]='\0';
|
||||
strcpy(hb.dbuf.mode, amode);
|
||||
fstrcpy(hb.dbuf.mode, amode);
|
||||
oct_it(0L, 8, hb.dbuf.uid);
|
||||
oct_it(0L, 8, hb.dbuf.gid);
|
||||
oct_it((long) size, 13, hb.dbuf.size);
|
||||
@ -309,7 +309,7 @@ static long readtarheader(union hblock *hb, file_info2 *finfo, char *prefix)
|
||||
|
||||
}
|
||||
|
||||
strcpy(finfo->name, prefix);
|
||||
pstrcpy(finfo->name, prefix);
|
||||
|
||||
/* use l + 1 to do the null too; do prefix - prefcnt to zap leading slash */
|
||||
unfixtarname(finfo->name + strlen(prefix), hb->dbuf.name,
|
||||
@ -574,9 +574,9 @@ static int do_setrtime(char *fname, int mtime)
|
||||
|
||||
}
|
||||
|
||||
strcpy(name, fname);
|
||||
strcpy(fname, "\\");
|
||||
strcat(fname, name);
|
||||
pstrcpy(name, fname);
|
||||
pstrcpy(fname, "\\");
|
||||
pstrcat(fname, name);
|
||||
|
||||
inbuf = (char *)malloc(BUFFER_SIZE + SAFETY_MARGIN);
|
||||
outbuf = (char *)malloc(BUFFER_SIZE + SAFETY_MARGIN);
|
||||
@ -599,7 +599,7 @@ static int do_setrtime(char *fname, int mtime)
|
||||
|
||||
p = smb_buf(outbuf);
|
||||
*p++ = 4;
|
||||
strcpy(p, fname);
|
||||
pstrcpy(p, fname);
|
||||
p+= (strlen(fname)+1);
|
||||
|
||||
*p++ = 4;
|
||||
@ -634,9 +634,9 @@ static int do_setrattr(char *fname, int attr, int setit)
|
||||
pstring name;
|
||||
int fattr;
|
||||
|
||||
strcpy(name,fname);
|
||||
strcpy(fname,"\\");
|
||||
strcat(fname,name);
|
||||
pstrcpy(name,fname);
|
||||
pstrcpy(fname,"\\");
|
||||
pstrcat(fname,name);
|
||||
|
||||
inbuf = (char *)malloc(BUFFER_SIZE + SAFETY_MARGIN);
|
||||
outbuf = (char *)malloc(BUFFER_SIZE + SAFETY_MARGIN);
|
||||
@ -657,7 +657,7 @@ static int do_setrattr(char *fname, int attr, int setit)
|
||||
|
||||
p = smb_buf(outbuf);
|
||||
*p++ = 4;
|
||||
strcpy(p,fname);
|
||||
pstrcpy(p,fname);
|
||||
p += (strlen(fname)+1);
|
||||
|
||||
*p++ = 4;
|
||||
@ -695,7 +695,7 @@ static int do_setrattr(char *fname, int attr, int setit)
|
||||
|
||||
p = smb_buf(outbuf);
|
||||
*p++ = 4;
|
||||
strcpy(p,fname);
|
||||
pstrcpy(p,fname);
|
||||
p += (strlen(fname)+1);
|
||||
|
||||
*p++ = 4;
|
||||
@ -736,7 +736,7 @@ static BOOL smbcreat(file_info2 finfo, int *fnum, char *inbuf, char *outbuf)
|
||||
|
||||
p = smb_buf(outbuf);
|
||||
*p++ = 4;
|
||||
strcpy(p,finfo.name);
|
||||
pstrcpy(p,finfo.name);
|
||||
|
||||
send_smb(Client,outbuf);
|
||||
client_receive_smb(Client,inbuf,CLIENT_TIMEOUT);
|
||||
@ -844,7 +844,7 @@ static BOOL smbchkpath(char *fname, char *inbuf, char *outbuf)
|
||||
|
||||
p = smb_buf(outbuf);
|
||||
*p++ = 4;
|
||||
strcpy(p,fname);
|
||||
pstrcpy(p,fname);
|
||||
|
||||
send_smb(Client,outbuf);
|
||||
client_receive_smb(Client,inbuf,CLIENT_TIMEOUT);
|
||||
@ -871,7 +871,7 @@ static BOOL smbmkdir(char *fname, char *inbuf, char *outbuf)
|
||||
|
||||
p = smb_buf(outbuf);
|
||||
*p++ = 4;
|
||||
strcpy(p,fname);
|
||||
pstrcpy(p,fname);
|
||||
|
||||
send_smb(Client,outbuf);
|
||||
client_receive_smb(Client,inbuf,CLIENT_TIMEOUT);
|
||||
@ -913,7 +913,7 @@ static BOOL ensurepath(char *fname, char *inbuf, char *outbuf)
|
||||
|
||||
/* fname copied to ffname so can strtok */
|
||||
|
||||
strcpy(ffname, fname);
|
||||
pstrcpy(ffname, fname);
|
||||
|
||||
/* do a `basename' on ffname, so don't try and make file name directory */
|
||||
if ((basehack=strrchr(ffname, '\\')) == NULL)
|
||||
@ -925,7 +925,7 @@ static BOOL ensurepath(char *fname, char *inbuf, char *outbuf)
|
||||
|
||||
while (p)
|
||||
{
|
||||
strcat(partpath, p);
|
||||
pstrcat(partpath, p);
|
||||
|
||||
if (!smbchkpath(partpath, inbuf, outbuf)) {
|
||||
if (!smbmkdir(partpath, inbuf, outbuf))
|
||||
@ -938,7 +938,7 @@ static BOOL ensurepath(char *fname, char *inbuf, char *outbuf)
|
||||
|
||||
}
|
||||
|
||||
strcat(partpath, "\\");
|
||||
pstrcat(partpath, "\\");
|
||||
p = strtok(NULL,"/\\");
|
||||
}
|
||||
|
||||
@ -1014,7 +1014,7 @@ static void do_atar(char *rname,char *lname,file_info *finfo1)
|
||||
SSVAL(outbuf,smb_vwv8,1);
|
||||
|
||||
p = smb_buf(outbuf);
|
||||
strcpy(p,rname);
|
||||
pstrcpy(p,rname);
|
||||
p = skip_string(p,1);
|
||||
|
||||
dos_clean_name(rname);
|
||||
@ -1052,7 +1052,7 @@ static void do_atar(char *rname,char *lname,file_info *finfo1)
|
||||
return;
|
||||
}
|
||||
|
||||
strcpy(finfo.name,rname);
|
||||
pstrcpy(finfo.name,rname);
|
||||
if (!finfo1)
|
||||
{
|
||||
finfo.mode = SVAL(inbuf,smb_vwv3);
|
||||
@ -1388,11 +1388,11 @@ static void do_tar(file_info *finfo)
|
||||
if (!tar_excl && clipn) {
|
||||
pstring exclaim;
|
||||
|
||||
strcpy(exclaim, cur_dir);
|
||||
pstrcpy(exclaim, cur_dir);
|
||||
*(exclaim+strlen(exclaim)-1)='\0';
|
||||
|
||||
strcat(exclaim, "\\");
|
||||
strcat(exclaim, finfo->name);
|
||||
pstrcat(exclaim, "\\");
|
||||
pstrcat(exclaim, finfo->name);
|
||||
|
||||
DEBUG(5, ("...tar_re_search: %d\n", tar_re_search));
|
||||
|
||||
@ -1422,10 +1422,10 @@ static void do_tar(file_info *finfo)
|
||||
return;
|
||||
}
|
||||
|
||||
strcpy(saved_curdir,cur_dir);
|
||||
pstrcpy(saved_curdir,cur_dir);
|
||||
|
||||
strcat(cur_dir,finfo->name);
|
||||
strcat(cur_dir,"\\");
|
||||
pstrcat(cur_dir,finfo->name);
|
||||
pstrcat(cur_dir,"\\");
|
||||
|
||||
DEBUG(5, ("Writing a dir, Name = %s\n", cur_dir));
|
||||
|
||||
@ -1433,16 +1433,16 @@ static void do_tar(file_info *finfo)
|
||||
* 40755 */
|
||||
writetarheader(tarhandle, cur_dir, 0, finfo->mtime, "040755 \0", '5');
|
||||
ntarf++; /* Make sure we have a file on there */
|
||||
strcpy(mtar_mask,cur_dir);
|
||||
strcat(mtar_mask,"*");
|
||||
pstrcpy(mtar_mask,cur_dir);
|
||||
pstrcat(mtar_mask,"*");
|
||||
/* do_dir((char *)inbuf,(char *)outbuf,mtar_mask,attribute,do_tar,recurse,True); */
|
||||
strcpy(cur_dir,saved_curdir);
|
||||
pstrcpy(cur_dir,saved_curdir);
|
||||
free(inbuf);free(outbuf);
|
||||
}
|
||||
else
|
||||
{
|
||||
strcpy(rname,cur_dir);
|
||||
strcat(rname,finfo->name);
|
||||
pstrcpy(rname,cur_dir);
|
||||
pstrcat(rname,finfo->name);
|
||||
do_atar(rname,finfo->name,finfo);
|
||||
}
|
||||
}
|
||||
@ -2060,8 +2060,8 @@ void cmd_setmode(char *dum_in, char *dum_out)
|
||||
return;
|
||||
}
|
||||
|
||||
strcpy(fname, cur_dir);
|
||||
strcat(fname, buf);
|
||||
pstrcpy(fname, cur_dir);
|
||||
pstrcat(fname, buf);
|
||||
|
||||
while (next_token(NULL,buf,NULL)) {
|
||||
q=buf;
|
||||
@ -2153,29 +2153,29 @@ int process_tar(char *inbuf, char *outbuf)
|
||||
if (strrchr(cliplist[i], '\\')) {
|
||||
pstring saved_dir;
|
||||
|
||||
strcpy(saved_dir, cur_dir);
|
||||
pstrcpy(saved_dir, cur_dir);
|
||||
|
||||
if (*cliplist[i]=='\\') {
|
||||
strcpy(tarmac, cliplist[i]);
|
||||
pstrcpy(tarmac, cliplist[i]);
|
||||
} else {
|
||||
strcpy(tarmac, cur_dir);
|
||||
strcat(tarmac, cliplist[i]);
|
||||
pstrcpy(tarmac, cur_dir);
|
||||
pstrcat(tarmac, cliplist[i]);
|
||||
}
|
||||
strcpy(cur_dir, tarmac);
|
||||
pstrcpy(cur_dir, tarmac);
|
||||
*(strrchr(cur_dir, '\\')+1)='\0';
|
||||
|
||||
do_dir((char *)inbuf,(char *)outbuf,tarmac,attribute,do_tar,recurse, True);
|
||||
strcpy(cur_dir,saved_dir);
|
||||
pstrcpy(cur_dir,saved_dir);
|
||||
} else {
|
||||
strcpy(tarmac, cur_dir);
|
||||
strcat(tarmac, cliplist[i]);
|
||||
pstrcpy(tarmac, cur_dir);
|
||||
pstrcat(tarmac, cliplist[i]);
|
||||
do_dir((char *)inbuf,(char *)outbuf,tarmac,attribute,do_tar,recurse, True);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
pstring mask;
|
||||
strcpy(mask,cur_dir);
|
||||
strcat(mask,"\\*");
|
||||
pstrcpy(mask,cur_dir);
|
||||
pstrcat(mask,"\\*");
|
||||
do_dir((char *)inbuf,(char *)outbuf,mask,attribute,do_tar,recurse, True);
|
||||
}
|
||||
|
||||
|
@ -217,7 +217,7 @@ BOOL client_do_nt_login(char *desthost, char *myhostname,
|
||||
strlower(mach_pwd);
|
||||
|
||||
fstrcpy(mach_pwd , myhostname);
|
||||
strcat(mach_acct, "$");
|
||||
fstrcat(mach_acct, "$");
|
||||
|
||||
SIVAL(clnt_chal.data, 0, 0x11111111);
|
||||
SIVAL(clnt_chal.data, 4, 0x22222222);
|
||||
|
@ -148,7 +148,7 @@ static BOOL chkpath(char *path,BOOL report)
|
||||
pstring inbuf,outbuf;
|
||||
char *p;
|
||||
|
||||
strcpy(path2,path);
|
||||
fstrcpy(path2,path);
|
||||
trim_string(path2,NULL,"\\");
|
||||
if (!*path2) *path2 = '\\';
|
||||
|
||||
@ -160,7 +160,7 @@ static BOOL chkpath(char *path,BOOL report)
|
||||
|
||||
p = smb_buf(outbuf);
|
||||
*p++ = 4;
|
||||
strcpy(p,path2);
|
||||
fstrcpy(p,path2);
|
||||
|
||||
#if 0
|
||||
{
|
||||
@ -346,7 +346,7 @@ static void cmd_mount(char *inbuf,char *outbuf)
|
||||
* Build the service name to report on the Unix side,
|
||||
* converting '\' to '/' and ' ' to '_'.
|
||||
*/
|
||||
strcpy(share_name, service);
|
||||
pstrcpy(share_name, service);
|
||||
string_replace(share_name, '\\', '/');
|
||||
string_replace(share_name, ' ', '_');
|
||||
|
||||
@ -354,8 +354,8 @@ static void cmd_mount(char *inbuf,char *outbuf)
|
||||
|
||||
while(next_token(NULL, buf, NULL))
|
||||
{
|
||||
strcat(mount_command, " ");
|
||||
strcat(mount_command, buf);
|
||||
pstrcat(mount_command, " ");
|
||||
pstrcat(mount_command, buf);
|
||||
}
|
||||
|
||||
DEBUG(3, ("mount command: %s\n", mount_command));
|
||||
@ -683,7 +683,7 @@ static void usage(char *pname)
|
||||
char *p;
|
||||
|
||||
#ifdef KANJI
|
||||
strcpy(term_code, KANJI);
|
||||
pstrcpy(term_code, KANJI);
|
||||
#else /* KANJI */
|
||||
*term_code = 0;
|
||||
#endif /* KANJI */
|
||||
@ -707,7 +707,7 @@ static void usage(char *pname)
|
||||
|
||||
if (getenv("USER"))
|
||||
{
|
||||
strcpy(username,getenv("USER"));
|
||||
pstrcpy(username,getenv("USER"));
|
||||
|
||||
/* modification to support userid%passwd syntax in the USER var
|
||||
25.Aug.97, jdblair@uab.edu */
|
||||
@ -715,7 +715,7 @@ static void usage(char *pname)
|
||||
if ((p=strchr(username,'%')))
|
||||
{
|
||||
*p = 0;
|
||||
strcpy(password,p+1);
|
||||
pstrcpy(password,p+1);
|
||||
got_pass = True;
|
||||
memset(strchr(getenv("USER"),'%')+1,'X',strlen(password));
|
||||
}
|
||||
@ -726,11 +726,11 @@ static void usage(char *pname)
|
||||
25.Aug.97, jdblair@uab.edu */
|
||||
|
||||
if (getenv("PASSWD"))
|
||||
strcpy(password,getenv("PASSWD"));
|
||||
pstrcpy(password,getenv("PASSWD"));
|
||||
|
||||
if (*username == 0 && getenv("LOGNAME"))
|
||||
{
|
||||
strcpy(username,getenv("LOGNAME"));
|
||||
pstrcpy(username,getenv("LOGNAME"));
|
||||
strupper(username);
|
||||
}
|
||||
|
||||
@ -743,7 +743,7 @@ static void usage(char *pname)
|
||||
if (*argv[1] != '-')
|
||||
{
|
||||
|
||||
strcpy(service, argv[1]);
|
||||
pstrcpy(service, argv[1]);
|
||||
/* Convert any '/' characters in the service name to '\' characters */
|
||||
string_replace( service, '/','\\');
|
||||
argc--;
|
||||
@ -759,7 +759,7 @@ static void usage(char *pname)
|
||||
if (argc > 1 && (*argv[1] != '-'))
|
||||
{
|
||||
got_pass = True;
|
||||
strcpy(password,argv[1]);
|
||||
pstrcpy(password,argv[1]);
|
||||
memset(argv[1],'X',strlen(argv[1]));
|
||||
argc--;
|
||||
argv++;
|
||||
@ -774,10 +774,10 @@ static void usage(char *pname)
|
||||
max_protocol = interpret_protocol(optarg,max_protocol);
|
||||
break;
|
||||
case 'O':
|
||||
strcpy(user_socket_options,optarg);
|
||||
pstrcpy(user_socket_options,optarg);
|
||||
break;
|
||||
case 'S':
|
||||
strcpy(desthost,optarg);
|
||||
pstrcpy(desthost,optarg);
|
||||
strupper(desthost);
|
||||
nt_domain_logon = True;
|
||||
break;
|
||||
@ -785,19 +785,19 @@ static void usage(char *pname)
|
||||
iface_set_default(NULL,optarg,NULL);
|
||||
break;
|
||||
case 'D':
|
||||
strcpy(base_directory,optarg);
|
||||
pstrcpy(base_directory,optarg);
|
||||
break;
|
||||
case 'i':
|
||||
strcpy(scope,optarg);
|
||||
pstrcpy(scope,optarg);
|
||||
break;
|
||||
case 'U':
|
||||
{
|
||||
char *lp;
|
||||
strcpy(username,optarg);
|
||||
pstrcpy(username,optarg);
|
||||
if ((lp=strchr(username,'%')))
|
||||
{
|
||||
*lp = 0;
|
||||
strcpy(password,lp+1);
|
||||
pstrcpy(password,lp+1);
|
||||
got_pass = True;
|
||||
memset(strchr(optarg,'%')+1,'X',strlen(password));
|
||||
}
|
||||
@ -805,7 +805,7 @@ static void usage(char *pname)
|
||||
|
||||
break;
|
||||
case 'W':
|
||||
strcpy(workgroup,optarg);
|
||||
pstrcpy(workgroup,optarg);
|
||||
break;
|
||||
case 'E':
|
||||
dbf = stderr;
|
||||
@ -818,7 +818,7 @@ static void usage(char *pname)
|
||||
}
|
||||
break;
|
||||
case 'n':
|
||||
strcpy(global_myname,optarg);
|
||||
pstrcpy(global_myname,optarg);
|
||||
break;
|
||||
case 'N':
|
||||
got_pass = True;
|
||||
@ -844,10 +844,10 @@ static void usage(char *pname)
|
||||
exit(0);
|
||||
break;
|
||||
case 's':
|
||||
strcpy(servicesf, optarg);
|
||||
pstrcpy(servicesf, optarg);
|
||||
break;
|
||||
case 't':
|
||||
strcpy(term_code, optarg);
|
||||
pstrcpy(term_code, optarg);
|
||||
break;
|
||||
default:
|
||||
usage(pname);
|
||||
@ -877,7 +877,7 @@ static void usage(char *pname)
|
||||
interpret_coding_system(term_code);
|
||||
|
||||
if (*workgroup == 0)
|
||||
strcpy(workgroup,lp_workgroup());
|
||||
pstrcpy(workgroup,lp_workgroup());
|
||||
|
||||
load_interfaces();
|
||||
get_myname((*global_myname)?NULL:global_myname,NULL);
|
||||
|
@ -92,7 +92,7 @@ canonicalize (const char *path)
|
||||
if (realpath (path, canonical))
|
||||
return canonical;
|
||||
|
||||
strcpy (canonical, path);
|
||||
pstrcpy (canonical, path);
|
||||
return canonical;
|
||||
}
|
||||
|
||||
|
@ -332,6 +332,10 @@ extern int innetgr (const char *, const char *, const char *, const char *);
|
||||
#define REPLACE_GETPASS
|
||||
#endif /* REPLACE_GETPASS */
|
||||
#define USE_SIGPROCMASK
|
||||
#ifndef QSORT_CAST
|
||||
#define QSORT_CAST (int (*)(const void *, const void *))
|
||||
#endif /* QSORT_CAST */
|
||||
#define HAVE_VSNPRINTF
|
||||
#endif
|
||||
|
||||
|
||||
@ -547,6 +551,7 @@ char *mktemp(char *); /* No standard include */
|
||||
#define HAVE_GETTIMEOFDAY
|
||||
#define HAVE_PATHCONF
|
||||
#define HAVE_GETGRNAM 1
|
||||
#define HAVE_VSNPRINTF
|
||||
#define QSORT_CAST (int (*)(const void *, const void *))
|
||||
#if !defined(O_SYNC)
|
||||
#if defined(O_FSYNC)
|
||||
@ -624,6 +629,7 @@ char *mktemp(char *); /* No standard include */
|
||||
#define USE_SETRES
|
||||
#define USE_SYSV_IPC
|
||||
#define NO_SEMUN
|
||||
#define HAVE_VALLOC
|
||||
#define DEFAULT_PRINTING PRINT_HPUX
|
||||
/* Ken Weiss <krweiss@ucdavis.edu> tells us that SIGCLD_IGNORE is
|
||||
not good for HPUX */
|
||||
@ -1353,12 +1359,29 @@ extern int errno;
|
||||
#define strncasecmp(s1,s2,n) StrnCaseCmp(s1,s2,n)
|
||||
#endif
|
||||
|
||||
#ifndef strcpy
|
||||
#define strcpy(dest,src) StrCpy(dest,src)
|
||||
#endif
|
||||
#ifdef strcpy
|
||||
#undef strcpy
|
||||
#endif /* strcpy */
|
||||
#define strcpy(dest,src) __ERROR__XX__NEVER_USE_STRCPY___;
|
||||
|
||||
#ifdef strcat
|
||||
#undef strcat
|
||||
#endif /* strcat */
|
||||
#define strcat(dest,src) __ERROR__XX__NEVER_USE_STRCAT___;
|
||||
|
||||
#ifdef sprintf
|
||||
#undef sprintf
|
||||
#endif /* sprintf */
|
||||
#define sprintf __ERROR__XX__NEVER_USE_SPRINTF__>;
|
||||
|
||||
#define pstrcpy(d,s) safe_strcpy((d),(s),sizeof(pstring)-1)
|
||||
#define pstrcat(d,s) safe_strcat((d),(s),sizeof(pstring)-1)
|
||||
#define fstrcpy(d,s) safe_strcpy((d),(s),sizeof(fstring)-1)
|
||||
#define fstrcat(d,s) safe_strcat((d),(s),sizeof(fstring)-1)
|
||||
|
||||
#if MEM_MAN
|
||||
#include "mem_man/mem_man.h"
|
||||
#endif
|
||||
#endif /* MEM_MAN */
|
||||
|
||||
|
||||
#endif
|
||||
|
@ -1170,7 +1170,7 @@ BOOL is_8_3( char *fname, BOOL check_case );
|
||||
int str_checksum( char *s );
|
||||
void reset_mangled_cache( void );
|
||||
BOOL check_mangled_cache( char *s );
|
||||
void mangle_name_83( char *s );
|
||||
void mangle_name_83( char *s, int s_len );
|
||||
BOOL name_map_mangle( char *OutName, BOOL need83, int snum );
|
||||
|
||||
/*The following definitions come from md4.c */
|
||||
@ -2054,7 +2054,9 @@ char *unistr(char *buf);
|
||||
int unistrncpy(char *dst, char *src, int len);
|
||||
int unistrcpy(char *dst, char *src);
|
||||
void fstrcpy(char *dest, char *src);
|
||||
void pstrcpy(char *dest, char *src);
|
||||
void fstrcat(char *dest, char *src);
|
||||
char *safe_strcpy(char *dest, char *src, int maxlength);
|
||||
char *safe_strcat(char *dest, char *src, int maxlength);
|
||||
char *align4(char *q, char *base);
|
||||
char *align2(char *q, char *base);
|
||||
char *align_offset(char *q, char *base, int align_offset_len);
|
||||
|
@ -237,7 +237,7 @@ implemented */
|
||||
|
||||
typedef char pstring[1024];
|
||||
typedef char fstring[128];
|
||||
typedef fstring string;
|
||||
/* typedef fstring string; */
|
||||
|
||||
|
||||
/* pipe strings */
|
||||
|
@ -200,9 +200,9 @@ static codepage_p load_client_codepage( int client_codepage )
|
||||
return NULL;
|
||||
}
|
||||
|
||||
strcpy(codepage_file_name, CODEPAGEDIR);
|
||||
strcat(codepage_file_name, "/");
|
||||
strcat(codepage_file_name, "codepage.");
|
||||
pstrcpy(codepage_file_name, CODEPAGEDIR);
|
||||
pstrcat(codepage_file_name, "/");
|
||||
pstrcat(codepage_file_name, "codepage.");
|
||||
slprintf(&codepage_file_name[strlen(codepage_file_name)],
|
||||
sizeof(pstring)-(strlen(codepage_file_name)+1),
|
||||
"%03d",
|
||||
|
@ -84,7 +84,7 @@ static void do_dirrand(char *name, unsigned char *buf, int buf_len)
|
||||
struct stat st;
|
||||
|
||||
if(strlen(p) <= len_left)
|
||||
strcpy(pos, p);
|
||||
pstrcpy(pos, p);
|
||||
|
||||
if(sys_stat(fullname,&st) == 0) {
|
||||
SIVAL(buf, ((counter * 4)%(buf_len-4)),
|
||||
|
@ -419,7 +419,7 @@ static char *sj_to_euc(char *from, BOOL overwrite)
|
||||
}
|
||||
*out = 0;
|
||||
if (overwrite) {
|
||||
strcpy((char *) save, (char *) cvtbuf);
|
||||
pstrcpy((char *) save, (char *) cvtbuf);
|
||||
return (char *) save;
|
||||
} else {
|
||||
return cvtbuf;
|
||||
@ -451,7 +451,7 @@ static char *euc_to_sj(char *from, BOOL overwrite)
|
||||
}
|
||||
*out = 0;
|
||||
if (overwrite) {
|
||||
strcpy(save, (char *) cvtbuf);
|
||||
pstrcpy(save, (char *) cvtbuf);
|
||||
return save;
|
||||
} else {
|
||||
return cvtbuf;
|
||||
@ -522,7 +522,7 @@ static char *jis8_to_sj(char *from, BOOL overwrite)
|
||||
}
|
||||
*out = 0;
|
||||
if (overwrite) {
|
||||
strcpy (save, (char *) cvtbuf);
|
||||
pstrcpy (save, (char *) cvtbuf);
|
||||
return save;
|
||||
} else {
|
||||
return cvtbuf;
|
||||
@ -578,7 +578,7 @@ static char *sj_to_jis8(char *from, BOOL overwrite)
|
||||
}
|
||||
*out = 0;
|
||||
if (overwrite) {
|
||||
strcpy (save, (char *) cvtbuf);
|
||||
pstrcpy (save, (char *) cvtbuf);
|
||||
return save;
|
||||
} else {
|
||||
return cvtbuf;
|
||||
@ -637,7 +637,7 @@ static char *jis7_to_sj(char *from, BOOL overwrite)
|
||||
}
|
||||
*out = 0;
|
||||
if (overwrite) {
|
||||
strcpy (save, (char *) cvtbuf);
|
||||
pstrcpy (save, (char *) cvtbuf);
|
||||
return save;
|
||||
} else {
|
||||
return cvtbuf;
|
||||
@ -713,7 +713,7 @@ static char *sj_to_jis7(char *from, BOOL overwrite)
|
||||
}
|
||||
*out = 0;
|
||||
if (overwrite) {
|
||||
strcpy (save, (char *) cvtbuf);
|
||||
pstrcpy (save, (char *) cvtbuf);
|
||||
return save;
|
||||
} else {
|
||||
return cvtbuf;
|
||||
@ -769,7 +769,7 @@ static char *junet_to_sj(char *from, BOOL overwrite)
|
||||
}
|
||||
*out = 0;
|
||||
if (overwrite) {
|
||||
strcpy (save, (char *) cvtbuf);
|
||||
pstrcpy (save, (char *) cvtbuf);
|
||||
return save;
|
||||
} else {
|
||||
return cvtbuf;
|
||||
@ -838,7 +838,7 @@ static char *sj_to_junet(char *from, BOOL overwrite)
|
||||
}
|
||||
*out = 0;
|
||||
if (overwrite) {
|
||||
strcpy (save, (char *) cvtbuf);
|
||||
pstrcpy (save, (char *) cvtbuf);
|
||||
return save;
|
||||
} else {
|
||||
return cvtbuf;
|
||||
@ -864,7 +864,7 @@ static char *hex_to_sj(char *from, BOOL overwrite)
|
||||
}
|
||||
*dp = '\0';
|
||||
if (overwrite) {
|
||||
strcpy ((char *) from, (char *) cvtbuf);
|
||||
pstrcpy ((char *) from, (char *) cvtbuf);
|
||||
return (char *) from;
|
||||
} else {
|
||||
return cvtbuf;
|
||||
@ -900,7 +900,7 @@ static char *sj_to_hex(char *from, BOOL overwrite)
|
||||
}
|
||||
*dp = '\0';
|
||||
if (overwrite) {
|
||||
strcpy ((char *) from, (char *) cvtbuf);
|
||||
pstrcpy ((char *) from, (char *) cvtbuf);
|
||||
return (char *) from;
|
||||
} else {
|
||||
return cvtbuf;
|
||||
@ -932,7 +932,7 @@ static char *cap_to_sj(char *from, BOOL overwrite)
|
||||
}
|
||||
*dp = '\0';
|
||||
if (overwrite) {
|
||||
strcpy ((char *) from, (char *) cvtbuf);
|
||||
pstrcpy ((char *) from, (char *) cvtbuf);
|
||||
return (char *) from;
|
||||
} else {
|
||||
return cvtbuf;
|
||||
@ -960,7 +960,7 @@ static char *sj_to_cap(char *from, BOOL overwrite)
|
||||
}
|
||||
*dp = '\0';
|
||||
if (overwrite) {
|
||||
strcpy ((char *) from, (char *) cvtbuf);
|
||||
pstrcpy ((char *) from, (char *) cvtbuf);
|
||||
return (char *) from;
|
||||
} else {
|
||||
return cvtbuf;
|
||||
@ -973,7 +973,7 @@ static char *sj_to_cap(char *from, BOOL overwrite)
|
||||
static char *sj_to_sj(char *from, BOOL overwrite)
|
||||
{
|
||||
if (!overwrite) {
|
||||
strcpy (cvtbuf, (char *) from);
|
||||
pstrcpy (cvtbuf, (char *) from);
|
||||
return cvtbuf;
|
||||
} else {
|
||||
return (char *) from;
|
||||
|
@ -58,7 +58,7 @@ void pidfile_create(char *name)
|
||||
}
|
||||
|
||||
memset(buf, 0, sizeof(buf));
|
||||
sprintf(buf, "%u\n", (unsigned int) getpid());
|
||||
slprintf(buf, sizeof(buf) - 1, "%u\n", (unsigned int) getpid());
|
||||
if (write(fd, buf, sizeof(buf)) != sizeof(buf)) {
|
||||
DEBUG(0,("ERROR: can't write to %s: %s\n",
|
||||
pidFile, strerror(errno)));
|
||||
|
@ -41,7 +41,15 @@ int vslprintf(char *str, int n, char *format, va_list ap)
|
||||
/* note: we don't free the old memory (if any) as we don't
|
||||
want a malloc lib to reuse the memory as it will
|
||||
have the wrong permissions */
|
||||
#ifdef HAVE_MEMALIGN
|
||||
buf = memalign(pagesize, len);
|
||||
#else /* HAVE_MEMALIGN */
|
||||
#ifdef HAVE_VALLOC
|
||||
buf = valloc(len);
|
||||
#else /* HAVE_VALLOC */
|
||||
buf = malloc(len);
|
||||
#endif /* HAVE_VALLOC */
|
||||
#endif /* HAVE_MEMALIGN */
|
||||
if (buf) {
|
||||
if (mprotect(buf+(len-pagesize), pagesize, PROT_READ) != 0) {
|
||||
exit(1);
|
||||
|
@ -486,7 +486,7 @@ char *timestring(void )
|
||||
int zone = TimeDiff(t);
|
||||
int absZoneMinutes = (zone<0 ? -zone : zone) / 60;
|
||||
size_t len = strftime(TimeBuf,sizeof(TimeBuf)-6,"%Y/%m/%d %T",tm);
|
||||
sprintf(TimeBuf+len," %c%02d%02d",
|
||||
slprintf(TimeBuf+len, sizeof(fstring) - len - 1, " %c%02d%02d",
|
||||
zone<0?'+':'-',absZoneMinutes/60,absZoneMinutes%60);
|
||||
}
|
||||
#else
|
||||
|
@ -178,14 +178,14 @@ void reopen_logs(void)
|
||||
|
||||
if (DEBUGLEVEL > 0)
|
||||
{
|
||||
strcpy(fname,debugf);
|
||||
pstrcpy(fname,debugf);
|
||||
if (lp_loaded() && (*lp_logfile()))
|
||||
strcpy(fname,lp_logfile());
|
||||
pstrcpy(fname,lp_logfile());
|
||||
|
||||
if (!strcsequal(fname,debugf) || !dbf || !file_exist(debugf,NULL))
|
||||
{
|
||||
int oldumask = umask(022);
|
||||
strcpy(debugf,fname);
|
||||
pstrcpy(debugf,fname);
|
||||
if (dbf) fclose(dbf);
|
||||
if (append_log)
|
||||
dbf = fopen(debugf,"a");
|
||||
@ -581,7 +581,7 @@ set user socket options
|
||||
****************************************************************************/
|
||||
void set_socket_options(int fd, char *options)
|
||||
{
|
||||
string tok;
|
||||
fstring tok;
|
||||
|
||||
while (next_token(&options,tok," \t,"))
|
||||
{
|
||||
@ -767,7 +767,7 @@ int name_mangle( char *In, char *Out, char name_type )
|
||||
if( '*' == In[0] )
|
||||
buf[0] = '*';
|
||||
else
|
||||
(void)sprintf( buf, "%-15.15s%c", In, name_type );
|
||||
(void)slprintf( buf, sizeof(buf) - 1, "%-15.15s%c", In, name_type );
|
||||
|
||||
/* Place the length of the first field into the output buffer. */
|
||||
p[0] = 32;
|
||||
@ -869,16 +869,16 @@ return a string representing an attribute for a file
|
||||
********************************************************************/
|
||||
char *attrib_string(int mode)
|
||||
{
|
||||
static char attrstr[10];
|
||||
static fstring attrstr;
|
||||
|
||||
attrstr[0] = 0;
|
||||
|
||||
if (mode & aVOLID) strcat(attrstr,"V");
|
||||
if (mode & aDIR) strcat(attrstr,"D");
|
||||
if (mode & aARCH) strcat(attrstr,"A");
|
||||
if (mode & aHIDDEN) strcat(attrstr,"H");
|
||||
if (mode & aSYSTEM) strcat(attrstr,"S");
|
||||
if (mode & aRONLY) strcat(attrstr,"R");
|
||||
if (mode & aVOLID) fstrcat(attrstr,"V");
|
||||
if (mode & aDIR) fstrcat(attrstr,"D");
|
||||
if (mode & aARCH) fstrcat(attrstr,"A");
|
||||
if (mode & aHIDDEN) fstrcat(attrstr,"H");
|
||||
if (mode & aSYSTEM) fstrcat(attrstr,"S");
|
||||
if (mode & aRONLY) fstrcat(attrstr,"R");
|
||||
|
||||
return(attrstr);
|
||||
}
|
||||
@ -1244,8 +1244,8 @@ void unix_format(char *fname)
|
||||
if (*fname == '/')
|
||||
{
|
||||
pstrcpy(namecopy,fname);
|
||||
strcpy(fname,".");
|
||||
strcat(fname,namecopy);
|
||||
pstrcpy(fname,".");
|
||||
pstrcat(fname,namecopy);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1447,7 +1447,7 @@ void dos_clean_name(char *s)
|
||||
*p = 0;
|
||||
else
|
||||
*s = 0;
|
||||
strcat(s,s1);
|
||||
pstrcat(s,s1);
|
||||
}
|
||||
|
||||
trim_string(s,NULL,"\\..");
|
||||
@ -1471,7 +1471,7 @@ void unix_clean_name(char *s)
|
||||
if(strncmp(s, "./", 2) == 0) {
|
||||
trim_string(s, "./", NULL);
|
||||
if(*s == 0)
|
||||
strcpy(s,"./");
|
||||
pstrcpy(s,"./");
|
||||
}
|
||||
|
||||
while ((p = strstr(s,"/../")) != NULL)
|
||||
@ -1485,7 +1485,7 @@ void unix_clean_name(char *s)
|
||||
*p = 0;
|
||||
else
|
||||
*s = 0;
|
||||
strcat(s,s1);
|
||||
pstrcat(s,s1);
|
||||
}
|
||||
|
||||
trim_string(s,NULL,"/..");
|
||||
@ -1578,7 +1578,7 @@ char *GetWd(char *str)
|
||||
st.st_dev == st2.st_dev &&
|
||||
(st2.st_mode & S_IFMT) == S_IFDIR)
|
||||
{
|
||||
strcpy (str, ino_list[i].text);
|
||||
pstrcpy (str, ino_list[i].text);
|
||||
|
||||
/* promote it for future use */
|
||||
array_promote((char *)&ino_list[0],sizeof(ino_list[0]),i);
|
||||
@ -1605,7 +1605,7 @@ char *GetWd(char *str)
|
||||
return (NULL);
|
||||
}
|
||||
|
||||
strcpy(str,s);
|
||||
pstrcpy(str,s);
|
||||
|
||||
DEBUG(5,("GetWd %s, inode %d, dev %x\n",s,(int)st.st_ino,(int)st.st_dev));
|
||||
|
||||
@ -1656,7 +1656,7 @@ BOOL reduce_name(char *s,char *dir,BOOL widelinks)
|
||||
}
|
||||
|
||||
if (strlen(s) == 0)
|
||||
strcpy(s,"./");
|
||||
pstrcpy(s,"./");
|
||||
|
||||
return(True);
|
||||
}
|
||||
@ -1717,8 +1717,8 @@ BOOL reduce_name(char *s,char *dir,BOOL widelinks)
|
||||
|
||||
if (p && (p != base_name))
|
||||
{
|
||||
strcat(newname,"/");
|
||||
strcat(newname,p+1);
|
||||
pstrcat(newname,"/");
|
||||
pstrcat(newname,p+1);
|
||||
}
|
||||
|
||||
{
|
||||
@ -1747,7 +1747,7 @@ BOOL reduce_name(char *s,char *dir,BOOL widelinks)
|
||||
ChDir(wd);
|
||||
|
||||
if (strlen(s) == 0)
|
||||
strcpy(s,"./");
|
||||
pstrcpy(s,"./");
|
||||
|
||||
DEBUG(3,("reduced to %s\n",s));
|
||||
return(True);
|
||||
@ -1802,7 +1802,7 @@ void expand_mask(char *Mask,BOOL doext)
|
||||
}
|
||||
else
|
||||
{
|
||||
strcpy(mext,"");
|
||||
pstrcpy(mext,"");
|
||||
if (strlen(mbeg) > 8)
|
||||
{
|
||||
pstrcpy(mext,mbeg + 8);
|
||||
@ -1811,12 +1811,12 @@ void expand_mask(char *Mask,BOOL doext)
|
||||
}
|
||||
|
||||
if (*mbeg == 0)
|
||||
strcpy(mbeg,"????????");
|
||||
pstrcpy(mbeg,"????????");
|
||||
if ((*mext == 0) && doext && !hasdot)
|
||||
strcpy(mext,"???");
|
||||
pstrcpy(mext,"???");
|
||||
|
||||
if (strequal(mbeg,"*") && *mext==0)
|
||||
strcpy(mext,"*");
|
||||
pstrcpy(mext,"*");
|
||||
|
||||
/* expand *'s */
|
||||
expand_one(mbeg,8);
|
||||
@ -1824,10 +1824,10 @@ void expand_mask(char *Mask,BOOL doext)
|
||||
expand_one(mext,3);
|
||||
|
||||
pstrcpy(Mask,dirpart);
|
||||
if (*dirpart || absolute) strcat(Mask,"\\");
|
||||
strcat(Mask,mbeg);
|
||||
strcat(Mask,".");
|
||||
strcat(Mask,mext);
|
||||
if (*dirpart || absolute) pstrcat(Mask,"\\");
|
||||
pstrcat(Mask,mbeg);
|
||||
pstrcat(Mask,".");
|
||||
pstrcat(Mask,mext);
|
||||
|
||||
DEBUG(6,("Mask expanded to [%s]\n",Mask));
|
||||
}
|
||||
@ -2769,7 +2769,7 @@ int name_extract(char *buf,int ofs,char *name)
|
||||
{
|
||||
char *p = name_ptr(buf,ofs);
|
||||
int d = PTR_DIFF(p,buf+ofs);
|
||||
strcpy(name,"");
|
||||
pstrcpy(name,"");
|
||||
if (d < -50 || d > 50) return(0);
|
||||
return(name_interpret(p,name));
|
||||
}
|
||||
@ -2913,7 +2913,7 @@ BOOL string_init(char **dest,char *src)
|
||||
return False;
|
||||
}
|
||||
|
||||
strcpy(*dest,src);
|
||||
pstrcpy(*dest,src);
|
||||
}
|
||||
return(True);
|
||||
}
|
||||
@ -3057,12 +3057,12 @@ BOOL mask_match(char *str, char *regexp, int case_sig,BOOL trans2)
|
||||
StrnCpy(p2,str,sizeof(pstring)-1);
|
||||
|
||||
if (!strchr(p2,'.')) {
|
||||
strcat(p2,".");
|
||||
pstrcat(p2,".");
|
||||
}
|
||||
|
||||
/*
|
||||
if (!strchr(p1,'.')) {
|
||||
strcat(p1,".");
|
||||
pstrcat(p1,".");
|
||||
}
|
||||
*/
|
||||
|
||||
@ -3077,7 +3077,7 @@ BOOL mask_match(char *str, char *regexp, int case_sig,BOOL trans2)
|
||||
/* Remove any *? and ** as they are meaningless */
|
||||
for(p = p1; *p; p++)
|
||||
while( *p == '*' && (p[1] == '?' ||p[1] == '*'))
|
||||
(void)strcpy( &p[1], &p[2]);
|
||||
(void)pstrcpy( &p[1], &p[2]);
|
||||
|
||||
if (strequal(p1,"*")) return(True);
|
||||
|
||||
@ -3310,11 +3310,11 @@ char *dirname_dos(char *path,char *buf)
|
||||
char *p = strrchr(path,'\\');
|
||||
|
||||
if (!p)
|
||||
strcpy(buf,path);
|
||||
pstrcpy(buf,path);
|
||||
else
|
||||
{
|
||||
*p = 0;
|
||||
strcpy(buf,path);
|
||||
pstrcpy(buf,path);
|
||||
*p = '\\';
|
||||
}
|
||||
|
||||
@ -3330,9 +3330,9 @@ static char *filename_dos(char *path,char *buf)
|
||||
char *p = strrchr(path,'\\');
|
||||
|
||||
if (!p)
|
||||
strcpy(buf,path);
|
||||
pstrcpy(buf,path);
|
||||
else
|
||||
strcpy(buf,p+1);
|
||||
pstrcpy(buf,p+1);
|
||||
|
||||
return(buf);
|
||||
}
|
||||
@ -3373,7 +3373,7 @@ duplicate a string
|
||||
if (!s) return(NULL);
|
||||
ret = (char *)malloc(strlen(s)+1);
|
||||
if (!ret) return(NULL);
|
||||
strcpy(ret,s);
|
||||
pstrcpy(ret,s);
|
||||
return(ret);
|
||||
}
|
||||
#endif
|
||||
@ -3748,7 +3748,7 @@ char *client_name(int fd)
|
||||
last_fd = fd;
|
||||
global_client_name_done = False;
|
||||
|
||||
strcpy(name_buf,"UNKNOWN");
|
||||
pstrcpy(name_buf,"UNKNOWN");
|
||||
|
||||
if (fd == -1) {
|
||||
return name_buf;
|
||||
@ -3769,7 +3769,7 @@ char *client_name(int fd)
|
||||
StrnCpy(name_buf,(char *)hp->h_name,sizeof(name_buf) - 1);
|
||||
if (!matchname(name_buf, sockin->sin_addr)) {
|
||||
DEBUG(0,("Matchname failed on %s %s\n",name_buf,client_addr(fd)));
|
||||
strcpy(name_buf,"UNKNOWN");
|
||||
pstrcpy(name_buf,"UNKNOWN");
|
||||
}
|
||||
}
|
||||
global_client_name_done = True;
|
||||
@ -3793,7 +3793,7 @@ char *client_addr(int fd)
|
||||
last_fd = fd;
|
||||
global_client_addr_done = False;
|
||||
|
||||
strcpy(addr_buf,"0.0.0.0");
|
||||
fstrcpy(addr_buf,"0.0.0.0");
|
||||
|
||||
if (fd == -1) {
|
||||
return addr_buf;
|
||||
@ -3980,7 +3980,7 @@ char *automount_path(char *user_name)
|
||||
{
|
||||
DEBUG(5, ("NIS lookup succeeded. Home path is: %s\n",
|
||||
home_path_start?(home_path_start+1):""));
|
||||
strcpy(server_path, home_path_start+1);
|
||||
pstrcpy(server_path, home_path_start+1);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
@ -4029,7 +4029,7 @@ void standard_sub_basic(char *str)
|
||||
case 'a' : string_sub(p,"%a", remote_arch); break;
|
||||
case 'd' :
|
||||
{
|
||||
sprintf(pidstr,"%d",(int)getpid());
|
||||
slprintf(pidstr,sizeof(pidstr) - 1, "%d",(int)getpid());
|
||||
string_sub(p,"%d", pidstr);
|
||||
break;
|
||||
}
|
||||
@ -4184,7 +4184,7 @@ char *uidtoname(int uid)
|
||||
static char name[40];
|
||||
struct passwd *pass = getpwuid(uid);
|
||||
if (pass) return(pass->pw_name);
|
||||
sprintf(name,"%d",uid);
|
||||
slprintf(name, sizeof(name) - 1, "%d",uid);
|
||||
return(name);
|
||||
}
|
||||
|
||||
@ -4196,7 +4196,7 @@ char *gidtoname(int gid)
|
||||
static char name[40];
|
||||
struct group *grp = getgrgid(gid);
|
||||
if (grp) return(grp->gr_name);
|
||||
sprintf(name,"%d",gid);
|
||||
slprintf(name,sizeof(name) - 1, "%d",gid);
|
||||
return(name);
|
||||
}
|
||||
|
||||
@ -4600,23 +4600,23 @@ void set_remote_arch(enum remote_arch_types type)
|
||||
switch( type )
|
||||
{
|
||||
case RA_WFWG:
|
||||
strcpy(remote_arch, "WfWg");
|
||||
fstrcpy(remote_arch, "WfWg");
|
||||
return;
|
||||
case RA_OS2:
|
||||
strcpy(remote_arch, "OS2");
|
||||
fstrcpy(remote_arch, "OS2");
|
||||
return;
|
||||
case RA_WIN95:
|
||||
strcpy(remote_arch, "Win95");
|
||||
fstrcpy(remote_arch, "Win95");
|
||||
return;
|
||||
case RA_WINNT:
|
||||
strcpy(remote_arch, "WinNT");
|
||||
fstrcpy(remote_arch, "WinNT");
|
||||
return;
|
||||
case RA_SAMBA:
|
||||
strcpy(remote_arch,"Samba");
|
||||
fstrcpy(remote_arch,"Samba");
|
||||
return;
|
||||
default:
|
||||
ra_type = RA_UNKNOWN;
|
||||
strcpy(remote_arch, "UNKNOWN");
|
||||
fstrcpy(remote_arch, "UNKNOWN");
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -4793,7 +4793,7 @@ int unistrcpy(char *dst, char *src)
|
||||
return num_wchars;
|
||||
}
|
||||
|
||||
|
||||
#if 0
|
||||
/*******************************************************************
|
||||
safe string copy into a fstring
|
||||
********************************************************************/
|
||||
@ -4824,34 +4824,94 @@ void fstrcpy(char *dest, char *src)
|
||||
}
|
||||
|
||||
/*******************************************************************
|
||||
safe string copy into a pstring
|
||||
safe string cat into a fstring
|
||||
********************************************************************/
|
||||
void pstrcpy(char *dest, char *src)
|
||||
void fstrcat(char *dest, char *src)
|
||||
{
|
||||
int maxlength = sizeof(pstring) - 1;
|
||||
int len;
|
||||
int maxlength = sizeof(fstring) - 1;
|
||||
int src_len, dest_len;
|
||||
if (!dest) {
|
||||
DEBUG(0,("ERROR: NULL dest in pstrcpy\n"));
|
||||
DEBUG(0,("ERROR: NULL dest in fstrcat\n"));
|
||||
return;
|
||||
}
|
||||
|
||||
if (!src) {
|
||||
*dest = 0;
|
||||
return;
|
||||
}
|
||||
|
||||
src_len = strlen(src);
|
||||
dest_len = strlen(dest);
|
||||
|
||||
if (src_len + dest_len > maxlength) {
|
||||
DEBUG(0,("ERROR: string overflow by %d in fstrcat [%.50s]\n",
|
||||
src_len + dest_len - maxlength, src));
|
||||
src_len = maxlength - dest_len;
|
||||
}
|
||||
|
||||
memcpy(&dest[dest_len], src, src_len);
|
||||
dest[dest_len + src_len] = 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
/*******************************************************************
|
||||
safe string copy into a known length string
|
||||
********************************************************************/
|
||||
char *safe_strcpy(char *dest, char *src, int maxlength)
|
||||
{
|
||||
int len;
|
||||
|
||||
if (!dest) {
|
||||
DEBUG(0,("ERROR: NULL dest in safe_strcpy\n"));
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if (!src) {
|
||||
*dest = 0;
|
||||
return dest;
|
||||
}
|
||||
|
||||
len = strlen(src);
|
||||
|
||||
if (len > maxlength) {
|
||||
DEBUG(0,("ERROR: string overflow by %d in pstrcpy [%.50s]\n",
|
||||
DEBUG(0,("ERROR: string overflow by %d in safe_strcpy [%.50s]\n",
|
||||
len-maxlength, src));
|
||||
len = maxlength;
|
||||
}
|
||||
|
||||
memcpy(dest, src, len);
|
||||
dest[len] = 0;
|
||||
return dest;
|
||||
}
|
||||
|
||||
/*******************************************************************
|
||||
safe string cat into a string
|
||||
********************************************************************/
|
||||
char *safe_strcat(char *dest, char *src, int maxlength)
|
||||
{
|
||||
int src_len, dest_len;
|
||||
|
||||
if (!dest) {
|
||||
DEBUG(0,("ERROR: NULL dest in safe_strcat\n"));
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if (!src) {
|
||||
return dest;
|
||||
}
|
||||
|
||||
src_len = strlen(src);
|
||||
dest_len = strlen(dest);
|
||||
|
||||
if (src_len + dest_len > maxlength) {
|
||||
DEBUG(0,("ERROR: string overflow by %d in safe_strcat [%.50s]\n",
|
||||
src_len + dest_len - maxlength, src));
|
||||
src_len = maxlength - dest_len;
|
||||
}
|
||||
|
||||
memcpy(&dest[dest_len], src, src_len);
|
||||
dest[dest_len + src_len] = 0;
|
||||
return dest;
|
||||
}
|
||||
|
||||
/*******************************************************************
|
||||
align a pointer to a multiple of 4 bytes
|
||||
@ -4954,12 +5014,12 @@ char *dom_sid_to_string(DOM_SID *sid)
|
||||
(sid->id_auth[3] << 16) +
|
||||
(sid->id_auth[2] << 24);
|
||||
|
||||
sprintf(sidstr, "S-%d-%d", sid->sid_rev_num, ia);
|
||||
slprintf(sidstr, sizeof(sidstr) - 1, "S-%d-%d", sid->sid_rev_num, ia);
|
||||
|
||||
for (i = 0; i < sid->num_auths; i++)
|
||||
{
|
||||
sprintf(subauth, "-%d", sid->sub_auths[i]);
|
||||
strcat(sidstr, subauth);
|
||||
slprintf(subauth, sizeof(subauth)-1, "-%d", sid->sub_auths[i]);
|
||||
pstrcat(sidstr, subauth);
|
||||
}
|
||||
|
||||
DEBUG(7,("dom_sid_to_string returning %s\n", sidstr));
|
||||
|
@ -89,7 +89,7 @@ char *cli_errstr(struct cli_state *cli)
|
||||
char *nt_msg = get_nt_error_msg(cli->nt_error);
|
||||
|
||||
if(nt_msg == NULL)
|
||||
sprintf(error_message, "NT code %d", cli->nt_error);
|
||||
slprintf(error_message, sizeof(fstring) - 1, "NT code %d", cli->nt_error);
|
||||
else
|
||||
fstrcpy(error_message, nt_msg);
|
||||
|
||||
@ -100,7 +100,7 @@ char *cli_errstr(struct cli_state *cli)
|
||||
* Must have been a rap error.
|
||||
*/
|
||||
|
||||
sprintf(error_message, "code %d", cli->rap_error);
|
||||
slprintf(error_message, sizeof(error_message) - 1, "code %d", cli->rap_error);
|
||||
|
||||
for(i = 0; rap_errmap[i].message != NULL; i++) {
|
||||
if (rap_errmap[i].err == cli->rap_error) {
|
||||
@ -387,16 +387,16 @@ BOOL cli_NetWkstaUserLogon(struct cli_state *cli,char *user, char *workstation)
|
||||
p = param;
|
||||
SSVAL(p,0,132); /* api number */
|
||||
p += 2;
|
||||
strcpy(p,"OOWb54WrLh");
|
||||
pstrcpy(p,"OOWb54WrLh");
|
||||
p = skip_string(p,1);
|
||||
strcpy(p,"WB21BWDWWDDDDDDDzzzD");
|
||||
pstrcpy(p,"WB21BWDWWDDDDDDDzzzD");
|
||||
p = skip_string(p,1);
|
||||
SSVAL(p,0,1);
|
||||
p += 2;
|
||||
strcpy(p,user);
|
||||
pstrcpy(p,user);
|
||||
strupper(p);
|
||||
p += 21; p++; p += 15; p++;
|
||||
strcpy(p, workstation);
|
||||
pstrcpy(p, workstation);
|
||||
strupper(p);
|
||||
p += 16;
|
||||
SSVAL(p, 0, BUFFER_SIZE);
|
||||
@ -443,9 +443,9 @@ BOOL cli_RNetShareEnum(struct cli_state *cli, void (*fn)(char *, uint32, char *)
|
||||
p = param;
|
||||
SSVAL(p,0,0); /* api number */
|
||||
p += 2;
|
||||
strcpy(p,"WrLeh");
|
||||
pstrcpy(p,"WrLeh");
|
||||
p = skip_string(p,1);
|
||||
strcpy(p,"B13BWz");
|
||||
pstrcpy(p,"B13BWz");
|
||||
p = skip_string(p,1);
|
||||
SSVAL(p,0,1);
|
||||
SSVAL(p,2,BUFFER_SIZE);
|
||||
@ -505,10 +505,10 @@ BOOL cli_NetServerEnum(struct cli_state *cli, char *workgroup, uint32 stype,
|
||||
p = param;
|
||||
SSVAL(p,0,0x68); /* api number */
|
||||
p += 2;
|
||||
strcpy(p,"WrLehDz");
|
||||
pstrcpy(p,"WrLehDz");
|
||||
p = skip_string(p,1);
|
||||
|
||||
strcpy(p,"B16BBDz");
|
||||
pstrcpy(p,"B16BBDz");
|
||||
|
||||
p = skip_string(p,1);
|
||||
SSVAL(p,0,uLevel);
|
||||
@ -625,7 +625,7 @@ BOOL cli_session_setup(struct cli_state *cli,
|
||||
p = smb_buf(cli->outbuf);
|
||||
memcpy(p,pword,passlen);
|
||||
p += passlen;
|
||||
strcpy(p,user);
|
||||
pstrcpy(p,user);
|
||||
strupper(p);
|
||||
} else {
|
||||
set_message(cli->outbuf,13,0,True);
|
||||
@ -644,14 +644,14 @@ BOOL cli_session_setup(struct cli_state *cli,
|
||||
p += SVAL(cli->outbuf,smb_vwv7);
|
||||
memcpy(p,ntpass,ntpasslen);
|
||||
p += SVAL(cli->outbuf,smb_vwv8);
|
||||
strcpy(p,user);
|
||||
pstrcpy(p,user);
|
||||
strupper(p);
|
||||
p = skip_string(p,1);
|
||||
strcpy(p,workgroup);
|
||||
pstrcpy(p,workgroup);
|
||||
strupper(p);
|
||||
p = skip_string(p,1);
|
||||
strcpy(p,"Unix");p = skip_string(p,1);
|
||||
strcpy(p,"Samba");p = skip_string(p,1);
|
||||
pstrcpy(p,"Unix");p = skip_string(p,1);
|
||||
pstrcpy(p,"Samba");p = skip_string(p,1);
|
||||
set_message(cli->outbuf,13,PTR_DIFF(p,smb_buf(cli->outbuf)),False);
|
||||
}
|
||||
|
||||
@ -728,9 +728,9 @@ BOOL cli_send_tconX(struct cli_state *cli,
|
||||
p = smb_buf(cli->outbuf);
|
||||
memcpy(p,pword,passlen);
|
||||
p += passlen;
|
||||
strcpy(p,fullshare);
|
||||
fstrcpy(p,fullshare);
|
||||
p = skip_string(p,1);
|
||||
strcpy(p,dev);
|
||||
pstrcpy(p,dev);
|
||||
|
||||
SCVAL(cli->inbuf,smb_rcls, 1);
|
||||
|
||||
@ -785,10 +785,10 @@ BOOL cli_mv(struct cli_state *cli, char *fname_src, char *fname_dst)
|
||||
|
||||
p = smb_buf(cli->outbuf);
|
||||
*p++ = 4;
|
||||
strcpy(p,fname_src);
|
||||
pstrcpy(p,fname_src);
|
||||
p = skip_string(p,1);
|
||||
*p++ = 4;
|
||||
strcpy(p,fname_dst);
|
||||
pstrcpy(p,fname_dst);
|
||||
|
||||
send_smb(cli->fd,cli->outbuf);
|
||||
if (!client_receive_smb(cli->fd,cli->inbuf,cli->timeout)) {
|
||||
@ -822,7 +822,7 @@ BOOL cli_unlink(struct cli_state *cli, char *fname)
|
||||
|
||||
p = smb_buf(cli->outbuf);
|
||||
*p++ = 4;
|
||||
strcpy(p,fname);
|
||||
pstrcpy(p,fname);
|
||||
|
||||
send_smb(cli->fd,cli->outbuf);
|
||||
if (!client_receive_smb(cli->fd,cli->inbuf,cli->timeout)) {
|
||||
@ -855,7 +855,7 @@ BOOL cli_mkdir(struct cli_state *cli, char *dname)
|
||||
|
||||
p = smb_buf(cli->outbuf);
|
||||
*p++ = 4;
|
||||
strcpy(p,dname);
|
||||
pstrcpy(p,dname);
|
||||
|
||||
send_smb(cli->fd,cli->outbuf);
|
||||
if (!client_receive_smb(cli->fd,cli->inbuf,cli->timeout)) {
|
||||
@ -887,7 +887,7 @@ BOOL cli_rmdir(struct cli_state *cli, char *dname)
|
||||
|
||||
p = smb_buf(cli->outbuf);
|
||||
*p++ = 4;
|
||||
strcpy(p,dname);
|
||||
pstrcpy(p,dname);
|
||||
|
||||
send_smb(cli->fd,cli->outbuf);
|
||||
if (!client_receive_smb(cli->fd,cli->inbuf,cli->timeout)) {
|
||||
@ -952,7 +952,7 @@ int cli_open(struct cli_state *cli, char *fname, int flags, int share_mode)
|
||||
SSVAL(cli->outbuf,smb_vwv8,openfn);
|
||||
|
||||
p = smb_buf(cli->outbuf);
|
||||
strcpy(p,fname);
|
||||
pstrcpy(p,fname);
|
||||
p = skip_string(p,1);
|
||||
|
||||
send_smb(cli->fd,cli->outbuf);
|
||||
@ -1179,7 +1179,7 @@ BOOL cli_getatr(struct cli_state *cli, char *fname,
|
||||
|
||||
p = smb_buf(cli->outbuf);
|
||||
*p = 4;
|
||||
strcpy(p+1, fname);
|
||||
pstrcpy(p+1, fname);
|
||||
|
||||
send_smb(cli->fd,cli->outbuf);
|
||||
if (!client_receive_smb(cli->fd,cli->inbuf,cli->timeout)) {
|
||||
@ -1228,7 +1228,7 @@ BOOL cli_setatr(struct cli_state *cli, char *fname, int attr, time_t t)
|
||||
|
||||
p = smb_buf(cli->outbuf);
|
||||
*p = 4;
|
||||
strcpy(p+1, fname);
|
||||
pstrcpy(p+1, fname);
|
||||
p = skip_string(p,1);
|
||||
*p = 4;
|
||||
|
||||
@ -1450,11 +1450,11 @@ BOOL cli_oem_change_password(struct cli_state *cli, char *user, char *new_passwo
|
||||
|
||||
SSVAL(p,0,214); /* SamOEMChangePassword command. */
|
||||
p += 2;
|
||||
strcpy(p, "zsT");
|
||||
pstrcpy(p, "zsT");
|
||||
p = skip_string(p,1);
|
||||
strcpy(p, "B516B16");
|
||||
pstrcpy(p, "B516B16");
|
||||
p = skip_string(p,1);
|
||||
fstrcpy(p,user);
|
||||
pstrcpy(p,user);
|
||||
p = skip_string(p,1);
|
||||
SSVAL(p,0,532);
|
||||
p += 2;
|
||||
@ -1546,7 +1546,7 @@ BOOL cli_negprot(struct cli_state *cli)
|
||||
prots[numprots].name && prots[numprots].prot<=cli->protocol;
|
||||
numprots++) {
|
||||
*p++ = 2;
|
||||
strcpy(p,prots[numprots].name);
|
||||
pstrcpy(p,prots[numprots].name);
|
||||
p += strlen(p) + 1;
|
||||
}
|
||||
|
||||
|
@ -31,7 +31,7 @@ represent a credential as a string
|
||||
char *credstr(uchar *cred)
|
||||
{
|
||||
static fstring buf;
|
||||
sprintf(buf,"%02X%02X%02X%02X%02X%02X%02X%02X",
|
||||
slprintf(buf, sizeof(buf) - 1, "%02X%02X%02X%02X%02X%02X%02X%02X",
|
||||
cred[0], cred[1], cred[2], cred[3],
|
||||
cred[4], cred[5], cred[6], cred[7]);
|
||||
return buf;
|
||||
|
@ -51,15 +51,15 @@ static void _interpret_node_status(char *p, char *master,char *rname)
|
||||
type = CVAL(p,15);
|
||||
p += 16;
|
||||
|
||||
strcat(flags, (p[0] & 0x80) ? "<GROUP> " : " ");
|
||||
if ((p[0] & 0x60) == 0x00) strcat(flags,"B ");
|
||||
if ((p[0] & 0x60) == 0x20) strcat(flags,"P ");
|
||||
if ((p[0] & 0x60) == 0x40) strcat(flags,"M ");
|
||||
if ((p[0] & 0x60) == 0x60) strcat(flags,"H ");
|
||||
if (p[0] & 0x10) strcat(flags,"<DEREGISTERING> ");
|
||||
if (p[0] & 0x08) strcat(flags,"<CONFLICT> ");
|
||||
if (p[0] & 0x04) strcat(flags,"<ACTIVE> ");
|
||||
if (p[0] & 0x02) strcat(flags,"<PERMANENT> ");
|
||||
fstrcat(flags, (p[0] & 0x80) ? "<GROUP> " : " ");
|
||||
if ((p[0] & 0x60) == 0x00) fstrcat(flags,"B ");
|
||||
if ((p[0] & 0x60) == 0x20) fstrcat(flags,"P ");
|
||||
if ((p[0] & 0x60) == 0x40) fstrcat(flags,"M ");
|
||||
if ((p[0] & 0x60) == 0x60) fstrcat(flags,"H ");
|
||||
if (p[0] & 0x10) fstrcat(flags,"<DEREGISTERING> ");
|
||||
if (p[0] & 0x08) fstrcat(flags,"<CONFLICT> ");
|
||||
if (p[0] & 0x04) fstrcat(flags,"<ACTIVE> ");
|
||||
if (p[0] & 0x02) fstrcat(flags,"<PERMANENT> ");
|
||||
|
||||
if (master && !*master && type == 0x1d) {
|
||||
StrnCpy(master,qname,15);
|
||||
@ -341,9 +341,9 @@ BOOL getlmhostsent( FILE *fp, char *name, int *name_type, struct in_addr *ipaddr
|
||||
if (*line == '#')
|
||||
continue;
|
||||
|
||||
strcpy(ip,"");
|
||||
strcpy(name,"");
|
||||
strcpy(flags,"");
|
||||
pstrcpy(ip,"");
|
||||
pstrcpy(name,"");
|
||||
pstrcpy(flags,"");
|
||||
|
||||
ptr = line;
|
||||
|
||||
|
@ -252,7 +252,7 @@ static int put_nmb_name(char *buf,int offset,struct nmb_name *name)
|
||||
buf1[0] = '*';
|
||||
buf1[15] = name->name_type;
|
||||
} else {
|
||||
sprintf(buf1,"%-15.15s%c",name->name,name->name_type);
|
||||
slprintf(buf1, sizeof(buf1) - 1,"%-15.15s%c",name->name,name->name_type);
|
||||
}
|
||||
|
||||
buf[offset] = 0x20;
|
||||
@ -270,7 +270,7 @@ static int put_nmb_name(char *buf,int offset,struct nmb_name *name)
|
||||
if (name->scope[0]) {
|
||||
/* XXXX this scope handling needs testing */
|
||||
ret += strlen(name->scope) + 1;
|
||||
strcpy(&buf[offset+1],name->scope);
|
||||
pstrcpy(&buf[offset+1],name->scope);
|
||||
|
||||
p = &buf[offset+1];
|
||||
while ((p = strchr(p,'.'))) {
|
||||
|
@ -525,7 +525,7 @@ char *get_nt_error_msg(uint32 nt_code)
|
||||
static pstring msg;
|
||||
int idx = 0;
|
||||
|
||||
strcpy(msg, "Unknown NT error");
|
||||
pstrcpy(msg, "Unknown NT error");
|
||||
|
||||
nt_code &= 0xFFFF;
|
||||
|
||||
@ -533,7 +533,7 @@ char *get_nt_error_msg(uint32 nt_code)
|
||||
{
|
||||
if (nt_errs[idx].nt_errcode == nt_code)
|
||||
{
|
||||
strcpy(msg, nt_errs[idx].nt_errstr);
|
||||
pstrcpy(msg, nt_errs[idx].nt_errstr);
|
||||
return msg;
|
||||
}
|
||||
idx++;
|
||||
|
@ -165,18 +165,18 @@ char *smb_errstr(char *inbuf)
|
||||
if (num == err[j].code)
|
||||
{
|
||||
if (DEBUGLEVEL > 0)
|
||||
sprintf(ret,"%s - %s (%s)",err_classes[i].class,
|
||||
slprintf(ret, sizeof(ret) - 1, "%s - %s (%s)",err_classes[i].class,
|
||||
err[j].name,err[j].message);
|
||||
else
|
||||
sprintf(ret,"%s - %s",err_classes[i].class,err[j].name);
|
||||
slprintf(ret, sizeof(ret) - 1, "%s - %s",err_classes[i].class,err[j].name);
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
|
||||
sprintf(ret,"%s - %d",err_classes[i].class,num);
|
||||
slprintf(ret, sizeof(ret) - 1, "%s - %d",err_classes[i].class,num);
|
||||
return ret;
|
||||
}
|
||||
|
||||
sprintf(ret,"Error: Unknown error (%d,%d)",class,num);
|
||||
slprintf(ret, sizeof(ret) - 1, "Error: Unknown error (%d,%d)",class,num);
|
||||
return(ret);
|
||||
}
|
||||
|
@ -436,7 +436,7 @@ static BOOL shm_set_share_mode(int token, int fnum, uint16 port, uint16 op_type)
|
||||
new_mode_p->st_ino = inode;
|
||||
new_mode_p->num_share_mode_entries = 0;
|
||||
new_mode_p->share_mode_entries = 0;
|
||||
strcpy(new_mode_p->file_name, fs_p->name);
|
||||
pstrcpy(new_mode_p->file_name, fs_p->name);
|
||||
|
||||
/* Chain onto the start of the hash chain (in the hope we will be used first). */
|
||||
new_mode_p->next_offset = mode_array[hash_entry];
|
||||
|
@ -81,12 +81,14 @@ static BOOL slow_stop_share_mode_mgmt(void)
|
||||
******************************************************************/
|
||||
static BOOL share_name(int cnum, uint32 dev, uint32 inode, char *name)
|
||||
{
|
||||
strcpy(name,lp_lockdir());
|
||||
int len;
|
||||
pstrcpy(name,lp_lockdir());
|
||||
trim_string(name,"","/");
|
||||
if (!*name) return(False);
|
||||
len = strlen(name);
|
||||
name += strlen(name);
|
||||
|
||||
sprintf(name,"/share.%u.%u",dev,inode);
|
||||
slprintf(name, sizeof(pstring) - len - 1, "/share.%u.%u",dev,inode);
|
||||
return(True);
|
||||
}
|
||||
|
||||
@ -784,7 +786,7 @@ deleting it.\n", fname));
|
||||
SIVAL(buf,SMF_VERSION_OFFSET,LOCKING_VERSION);
|
||||
SIVAL(buf,SMF_NUM_ENTRIES_OFFSET,0);
|
||||
SSVAL(buf,SMF_FILENAME_LEN_OFFSET,strlen(fs_p->name) + 1);
|
||||
strcpy(buf + SMF_HEADER_LENGTH, fs_p->name);
|
||||
pstrcpy(buf + SMF_HEADER_LENGTH, fs_p->name);
|
||||
}
|
||||
|
||||
num_entries = IVAL(buf,SMF_NUM_ENTRIES_OFFSET);
|
||||
@ -1001,10 +1003,10 @@ static int slow_share_forall(void (*fn)(share_mode_entry *, char *))
|
||||
|
||||
if (sscanf(s,"share.%u.%u",&dev,&inode)!=2) continue;
|
||||
|
||||
strcpy(lname,lp_lockdir());
|
||||
pstrcpy(lname,lp_lockdir());
|
||||
trim_string(lname,NULL,"/");
|
||||
strcat(lname,"/");
|
||||
strcat(lname,s);
|
||||
pstrcat(lname,"/");
|
||||
pstrcat(lname,s);
|
||||
|
||||
fd = open(lname,read_only?O_RDONLY:O_RDWR,0);
|
||||
if (fd < 0) {
|
||||
@ -1022,7 +1024,7 @@ static int slow_share_forall(void (*fn)(share_mode_entry *, char *))
|
||||
close(fd);
|
||||
continue;
|
||||
}
|
||||
strcpy( fname, &buf[10]);
|
||||
pstrcpy( fname, &buf[10]);
|
||||
close(fd);
|
||||
|
||||
base = buf + SMF_HEADER_LENGTH +
|
||||
|
@ -758,7 +758,7 @@ struct shmem_ops *smb_shm_open(int ronly)
|
||||
}
|
||||
trim_string(file_name,"","/");
|
||||
if (!*file_name) return(False);
|
||||
strcat(file_name, "/SHARE_MEM_FILE");
|
||||
pstrcat(file_name, "/SHARE_MEM_FILE");
|
||||
|
||||
DEBUG(5,("smb_shm_open : using shmem file %s to be of size %d\n",file_name,size));
|
||||
|
||||
@ -799,8 +799,8 @@ struct shmem_ops *smb_shm_open(int ronly)
|
||||
*/
|
||||
|
||||
/* construct processreg file name */
|
||||
strcpy(smb_shm_processreg_name, file_name);
|
||||
strcat(smb_shm_processreg_name, ".processes");
|
||||
pstrcpy(smb_shm_processreg_name, file_name);
|
||||
pstrcat(smb_shm_processreg_name, ".processes");
|
||||
|
||||
if (!read_only &&
|
||||
!smb_shm_register_process(smb_shm_processreg_name, getpid(), &other_processes))
|
||||
|
@ -133,7 +133,7 @@ static BOOL dump_core(void)
|
||||
pstrcpy( dname, debugf );
|
||||
if ((p=strrchr(dname,'/')))
|
||||
*p=0;
|
||||
strcat( dname, "/corefiles" );
|
||||
pstrcat( dname, "/corefiles" );
|
||||
mkdir( dname, 0700 );
|
||||
sys_chown( dname, getuid(), getgid() );
|
||||
chmod( dname, 0700 );
|
||||
@ -209,7 +209,7 @@ BOOL reload_services(BOOL test)
|
||||
BOOL ret;
|
||||
extern fstring remote_machine;
|
||||
|
||||
strcpy( remote_machine, "nmb" );
|
||||
fstrcpy( remote_machine, "nmb" );
|
||||
|
||||
if ( lp_loaded() )
|
||||
{
|
||||
@ -560,14 +560,14 @@ int main(int argc,char *argv[])
|
||||
|
||||
TimeInit();
|
||||
|
||||
strcpy( debugf, NMBLOGFILE );
|
||||
pstrcpy( debugf, NMBLOGFILE );
|
||||
|
||||
setup_logging( argv[0], False );
|
||||
|
||||
charset_initialise();
|
||||
|
||||
#ifdef LMHOSTSFILE
|
||||
strcpy( host_file, LMHOSTSFILE );
|
||||
pstrcpy( host_file, LMHOSTSFILE );
|
||||
#endif
|
||||
|
||||
/* this is for people who can't start the program correctly */
|
||||
|
@ -276,7 +276,7 @@ in workgroup %s on subnet %s\n",
|
||||
userdata->copy_fn = NULL;
|
||||
userdata->free_fn = NULL;
|
||||
userdata->userdata_len = strlen(work->work_group)+1;
|
||||
strcpy(userdata->data, work->work_group);
|
||||
pstrcpy(userdata->data, work->work_group);
|
||||
|
||||
/* Deregister any browser names we may have. */
|
||||
make_nmb_name(&nmbname, MSBROWSE, 0x1, scope);
|
||||
@ -528,7 +528,7 @@ in workgroup %s on subnet %s\n",
|
||||
userdata->copy_fn = NULL;
|
||||
userdata->free_fn = NULL;
|
||||
userdata->userdata_len = strlen(work->work_group)+1;
|
||||
strcpy(userdata->data, work->work_group);
|
||||
pstrcpy(userdata->data, work->work_group);
|
||||
|
||||
/* Register the special browser group name. */
|
||||
register_name(subrec, MSBROWSE, 0x01, samba_nb_type|NB_GROUP,
|
||||
|
@ -420,7 +420,7 @@ workgroup %s\n", q_name->name ));
|
||||
userdata->copy_fn = NULL;
|
||||
userdata->free_fn = NULL;
|
||||
userdata->userdata_len = strlen(work->work_group)+1;
|
||||
strcpy(userdata->data, work->work_group);
|
||||
pstrcpy(userdata->data, work->work_group);
|
||||
|
||||
node_status( subrec, &nmbname, answer_ip,
|
||||
domain_master_node_status_success,
|
||||
|
@ -362,7 +362,7 @@ subnet %s - name not found.\n", namestr(&nmb->question.question_name),
|
||||
{
|
||||
/* Start with the name. */
|
||||
bzero(buf,18);
|
||||
sprintf(buf,"%-15.15s",namerec->name.name);
|
||||
slprintf(buf, 17, "%-15.15s",namerec->name.name);
|
||||
strupper(buf);
|
||||
|
||||
/* Put the name type and netbios flags in the buffer. */
|
||||
|
@ -553,14 +553,14 @@ static void dump_subnet_namelist( struct subnet_record *subrec, FILE *fp)
|
||||
|
||||
void dump_all_namelists(void)
|
||||
{
|
||||
fstring fname;
|
||||
pstring fname;
|
||||
FILE *fp;
|
||||
struct subnet_record *subrec;
|
||||
|
||||
pstrcpy(fname,lp_lockdir());
|
||||
trim_string(fname,NULL,"/");
|
||||
strcat(fname,"/");
|
||||
strcat(fname,"namelist.debug");
|
||||
pstrcat(fname,"/");
|
||||
pstrcat(fname,"namelist.debug");
|
||||
|
||||
fp = fopen(fname,"w");
|
||||
|
||||
|
@ -335,9 +335,9 @@ static BOOL initiate_multihomed_name_register_packet( struct packet_struct *pack
|
||||
uint16 nb_flags, struct in_addr *register_ip)
|
||||
{
|
||||
struct nmb_packet *nmb = &packet->packet.nmb;
|
||||
char second_ip_buf[25];
|
||||
fstring second_ip_buf;
|
||||
|
||||
strcpy(second_ip_buf, inet_ntoa(packet->ip));
|
||||
fstrcpy(second_ip_buf, inet_ntoa(packet->ip));
|
||||
|
||||
nmb->header.opcode = NMB_NAME_MULTIHOMED_REG_OPCODE;
|
||||
nmb->header.arcount = 1;
|
||||
@ -1914,7 +1914,7 @@ BOOL send_mailslot(BOOL unique, char *mailslot,char *buf,int len,
|
||||
SSVAL(ptr,smb_vwv15,1);
|
||||
SSVAL(ptr,smb_vwv16,2);
|
||||
p2 = smb_buf(ptr);
|
||||
strcpy(p2,mailslot);
|
||||
pstrcpy(p2,mailslot);
|
||||
p2 = skip_string(p2,1);
|
||||
|
||||
memcpy(p2,buf,len);
|
||||
|
@ -68,7 +68,7 @@ logons are not enabled.\n", inet_ntoa(p->ip) ));
|
||||
return;
|
||||
}
|
||||
|
||||
strcpy(my_name, global_myname);
|
||||
pstrcpy(my_name, global_myname);
|
||||
strupper(my_name);
|
||||
|
||||
code = SVAL(buf,0);
|
||||
@ -89,7 +89,7 @@ logons are not enabled.\n", inet_ntoa(p->ip) ));
|
||||
token = SVAL(q,3);
|
||||
|
||||
reply_code = 0x6;
|
||||
strcpy(reply_name,my_name);
|
||||
fstrcpy(reply_name,my_name);
|
||||
add_slashes = True;
|
||||
|
||||
DEBUG(3,("process_logon_packet: Domain login request from %s at IP %s user=%s token=%x\n",
|
||||
@ -98,9 +98,9 @@ logons are not enabled.\n", inet_ntoa(p->ip) ));
|
||||
q = outbuf;
|
||||
SSVAL(q, 0, 6); q += 2;
|
||||
|
||||
strcpy(reply_name, "\\\\");
|
||||
strcat(reply_name, my_name);
|
||||
strcpy(q, reply_name); q = skip_string(q, 1); /* PDC name */
|
||||
fstrcpy(reply_name, "\\\\");
|
||||
fstrcat(reply_name, my_name);
|
||||
fstrcpy(q, reply_name); q = skip_string(q, 1); /* PDC name */
|
||||
|
||||
SSVAL(q, 0, token); q += 2;
|
||||
|
||||
@ -137,8 +137,8 @@ logons are not enabled.\n", inet_ntoa(p->ip) ));
|
||||
q = outbuf;
|
||||
SSVAL(q, 0, QUERYFORPDC_R); q += 2;
|
||||
|
||||
strcpy(reply_name,my_name);
|
||||
strcpy(q, reply_name); q = skip_string(q, 1); /* PDC name */
|
||||
fstrcpy(reply_name,my_name);
|
||||
fstrcpy(q, reply_name); q = skip_string(q, 1); /* PDC name */
|
||||
|
||||
if (strcmp(mailslot, NT_LOGON_MAILSLOT)==0) {
|
||||
q = align2(q, buf);
|
||||
@ -198,8 +198,8 @@ reporting %s domain %s 0x%x ntversion=%x lm_nt token=%x lm_20 token=%x\n",
|
||||
pstrcpy(ascuser, unistr(uniuser));
|
||||
DEBUG(3,("process_logon_packet: SAMLOGON user %s\n", ascuser));
|
||||
|
||||
strcpy(reply_name,"\\\\"); /* Here it wants \\LOGONSERVER. */
|
||||
strcpy(reply_name+2,my_name);
|
||||
fstrcpy(reply_name,"\\\\"); /* Here it wants \\LOGONSERVER. */
|
||||
fstrcpy(reply_name+2,my_name);
|
||||
|
||||
smb_pass = getsampwnam(ascuser);
|
||||
|
||||
|
@ -338,10 +338,10 @@ void write_browse_list(time_t t, BOOL force_write)
|
||||
|
||||
pstrcpy(fname,lp_lockdir());
|
||||
trim_string(fname,NULL,"/");
|
||||
strcat(fname,"/");
|
||||
strcat(fname,SERVER_LIST);
|
||||
pstrcat(fname,"/");
|
||||
pstrcat(fname,SERVER_LIST);
|
||||
pstrcpy(fnamenew,fname);
|
||||
strcat(fnamenew,".");
|
||||
pstrcat(fnamenew,".");
|
||||
|
||||
fp = fopen(fnamenew,"w");
|
||||
|
||||
|
@ -116,7 +116,7 @@ Load or create the WINS database.
|
||||
|
||||
BOOL initialise_wins(void)
|
||||
{
|
||||
fstring fname;
|
||||
pstring fname;
|
||||
time_t time_now = time(NULL);
|
||||
FILE *fp;
|
||||
pstring line;
|
||||
@ -131,10 +131,10 @@ BOOL initialise_wins(void)
|
||||
start_async_dns();
|
||||
#endif
|
||||
|
||||
fstrcpy(fname,lp_lockdir());
|
||||
pstrcpy(fname,lp_lockdir());
|
||||
trim_string(fname,NULL,"/");
|
||||
strcat(fname,"/");
|
||||
strcat(fname,WINS_LIST);
|
||||
pstrcat(fname,"/");
|
||||
pstrcat(fname,WINS_LIST);
|
||||
|
||||
if((fp = fopen(fname,"r")) == NULL)
|
||||
{
|
||||
@ -1515,7 +1515,7 @@ void initiate_wins_processing(time_t t)
|
||||
void wins_write_database(void)
|
||||
{
|
||||
struct name_record *namerec;
|
||||
fstring fname, fnamenew;
|
||||
pstring fname, fnamenew;
|
||||
|
||||
FILE *fp;
|
||||
|
||||
@ -1524,10 +1524,10 @@ void wins_write_database(void)
|
||||
|
||||
fstrcpy(fname,lp_lockdir());
|
||||
trim_string(fname,NULL,"/");
|
||||
strcat(fname,"/");
|
||||
strcat(fname,WINS_LIST);
|
||||
fstrcpy(fnamenew,fname);
|
||||
strcat(fnamenew,".");
|
||||
pstrcat(fname,"/");
|
||||
pstrcat(fname,WINS_LIST);
|
||||
pstrcpy(fnamenew,fname);
|
||||
pstrcat(fnamenew,".");
|
||||
|
||||
if((fp = fopen(fnamenew,"w")) == NULL)
|
||||
{
|
||||
|
@ -720,9 +720,10 @@ static void init_globals(void)
|
||||
string_set(&Globals.szRootdir, "/");
|
||||
string_set(&Globals.szSmbrun, SMBRUN);
|
||||
string_set(&Globals.szSocketAddress, "0.0.0.0");
|
||||
sprintf(s,"Samba %s",VERSION);
|
||||
pstrcpy(s, "Samba ");
|
||||
pstrcat(s, VERSION);
|
||||
string_set(&Globals.szServerString,s);
|
||||
sprintf(s,"%d.%d", DEFAULT_MAJOR_VERSION, DEFAULT_MINOR_VERSION);
|
||||
slprintf(s,sizeof(s)-1, "%d.%d", DEFAULT_MAJOR_VERSION, DEFAULT_MINOR_VERSION);
|
||||
string_set(&Globals.szAnnounceVersion,s);
|
||||
|
||||
string_set(&Globals.szLogonDrive, "");
|
||||
@ -1829,11 +1830,11 @@ BOOL lp_do_parameter(int snum, char *pszParmName, char *pszParmValue)
|
||||
break;
|
||||
|
||||
case P_GSTRING:
|
||||
strcpy((char *)parm_ptr,pszParmValue);
|
||||
pstrcpy((char *)parm_ptr,pszParmValue);
|
||||
break;
|
||||
|
||||
case P_UGSTRING:
|
||||
strcpy((char *)parm_ptr,pszParmValue);
|
||||
pstrcpy((char *)parm_ptr,pszParmValue);
|
||||
strupper((char *)parm_ptr);
|
||||
break;
|
||||
|
||||
|
@ -114,7 +114,7 @@ BOOL ldap_search_one_user_by_name(LDAP *ldap_struct, char *user, LDAPMessage **r
|
||||
in the filter expression, replace %u with the real name
|
||||
so in ldap filter, %u MUST exist :-)
|
||||
*/
|
||||
strcpy(filter,lp_ldap_filter());
|
||||
pstrcpy(filter,lp_ldap_filter());
|
||||
string_sub(filter,"%u",user);
|
||||
|
||||
if ( !ldap_search_one_user(ldap_struct, filter, result) )
|
||||
@ -152,7 +152,7 @@ void get_single_attribute(LDAP *ldap_struct, LDAPMessage *entry, char *attribute
|
||||
|
||||
if ( (valeurs=ldap_get_values(ldap_struct, entry, attribute)) != NULL)
|
||||
{
|
||||
strcpy(value, valeurs[0]);
|
||||
pstrcpy(value, valeurs[0]);
|
||||
ldap_value_free(valeurs);
|
||||
DEBUG(3,("get_single_attribute: [%s]=[%s]\n", attribute, value));
|
||||
}
|
||||
@ -451,7 +451,7 @@ void *startldappwent(BOOL update)
|
||||
int scope = LDAP_SCOPE_ONELEVEL;
|
||||
int rc;
|
||||
|
||||
char filter[256];
|
||||
pstring filter;
|
||||
|
||||
if (!ldap_open_connection(&ldap_ent.ldap_struct)) /* open a connection to the server */
|
||||
return NULL;
|
||||
@ -464,17 +464,17 @@ void *startldappwent(BOOL update)
|
||||
{
|
||||
case 1:
|
||||
{
|
||||
strcpy(filter, "objectclass=sambaAccount");
|
||||
pstrcpy(filter, "objectclass=sambaAccount");
|
||||
break;
|
||||
}
|
||||
case 2:
|
||||
{
|
||||
strcpy(filter, "objectclass=sambaMachine");
|
||||
pstrcpy(filter, "objectclass=sambaMachine");
|
||||
break;
|
||||
}
|
||||
default:
|
||||
{
|
||||
strcpy(filter, "(|(objectclass=sambaMachine)(objectclass=sambaAccount))");
|
||||
pstrcpy(filter, "(|(objectclass=sambaMachine)(objectclass=sambaAccount))");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -534,7 +534,7 @@ BOOL add_smbpwd_entry(struct smb_passwd *newpwd)
|
||||
|
||||
int fd;
|
||||
int new_entry_length;
|
||||
char *new_entry;
|
||||
unsigned char *new_entry;
|
||||
long offpos;
|
||||
unsigned char *p;
|
||||
|
||||
@ -583,19 +583,19 @@ Error was %s\n", newpwd->smb_name, pfile, strerror(errno)));
|
||||
return False;
|
||||
}
|
||||
|
||||
sprintf(new_entry, "%s:%u:", newpwd->smb_name, (unsigned)newpwd->smb_userid);
|
||||
slprintf(new_entry, new_entry_length - 1, "%s:%u:", newpwd->smb_name, (unsigned)newpwd->smb_userid);
|
||||
p = (unsigned char *)&new_entry[strlen(new_entry)];
|
||||
|
||||
if(newpwd->smb_passwd != NULL) {
|
||||
for( i = 0; i < 16; i++) {
|
||||
sprintf((char *)&p[i*2], "%02X", newpwd->smb_passwd[i]);
|
||||
slprintf((char *)&p[i*2], new_entry_length - (p - new_entry) - 1, "%02X", newpwd->smb_passwd[i]);
|
||||
}
|
||||
} else {
|
||||
i=0;
|
||||
if(newpwd->acct_ctrl & ACB_PWNOTREQ)
|
||||
sprintf((char *)p, "NO PASSWORDXXXXXXXXXXXXXXXXXXXXX");
|
||||
safe_strcpy((char *)p, "NO PASSWORDXXXXXXXXXXXXXXXXXXXXX", new_entry_length - 1 - (p - new_entry));
|
||||
else
|
||||
sprintf((char *)p, "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX");
|
||||
safe_strcpy((char *)p, "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", new_entry_length - 1 - (p - new_entry));
|
||||
}
|
||||
|
||||
p += 32;
|
||||
@ -604,13 +604,13 @@ Error was %s\n", newpwd->smb_name, pfile, strerror(errno)));
|
||||
|
||||
if(newpwd->smb_nt_passwd != NULL) {
|
||||
for( i = 0; i < 16; i++) {
|
||||
sprintf((char *)&p[i*2], "%02X", newpwd->smb_nt_passwd[i]);
|
||||
slprintf((char *)&p[i*2], new_entry_length - 1 - (p - new_entry), "%02X", newpwd->smb_nt_passwd[i]);
|
||||
}
|
||||
} else {
|
||||
if(newpwd->acct_ctrl & ACB_PWNOTREQ)
|
||||
sprintf((char *)p, "NO PASSWORDXXXXXXXXXXXXXXXXXXXXX");
|
||||
safe_strcpy((char *)p, "NO PASSWORDXXXXXXXXXXXXXXXXXXXXX", new_entry_length - 1 - (p - new_entry));
|
||||
else
|
||||
sprintf((char *)p, "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX");
|
||||
safe_strcpy((char *)p, "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", new_entry_length - 1 - (p - new_entry));
|
||||
}
|
||||
|
||||
p += 32;
|
||||
@ -618,7 +618,8 @@ Error was %s\n", newpwd->smb_name, pfile, strerror(errno)));
|
||||
*p++ = ':';
|
||||
|
||||
/* Add the account encoding and the last change time. */
|
||||
sprintf((char *)p, "%s:LCT-%08X:\n", encode_acct_ctrl(newpwd->acct_ctrl),
|
||||
slprintf((char *)p, new_entry_length - 1 - (p - new_entry), "%s:LCT-%08X:\n",
|
||||
encode_acct_ctrl(newpwd->acct_ctrl),
|
||||
(uint32)time(NULL));
|
||||
|
||||
#ifdef DEBUG_PASSWORD
|
||||
@ -945,13 +946,13 @@ BOOL mod_smbpwd_entry(struct smb_passwd* pwd, BOOL override)
|
||||
/* Create the 32 byte representation of the new p16 */
|
||||
if(pwd->smb_passwd != NULL) {
|
||||
for (i = 0; i < 16; i++) {
|
||||
sprintf(&ascii_p16[i*2], "%02X", (uchar) pwd->smb_passwd[i]);
|
||||
slprintf(&ascii_p16[i*2], sizeof(fstring) - 1, "%02X", (uchar) pwd->smb_passwd[i]);
|
||||
}
|
||||
} else {
|
||||
if(pwd->acct_ctrl & ACB_PWNOTREQ)
|
||||
sprintf(ascii_p16, "NO PASSWORDXXXXXXXXXXXXXXXXXXXXX");
|
||||
fstrcpy(ascii_p16, "NO PASSWORDXXXXXXXXXXXXXXXXXXXXX");
|
||||
else
|
||||
sprintf(ascii_p16, "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX");
|
||||
fstrcpy(ascii_p16, "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX");
|
||||
}
|
||||
|
||||
/* Add on the NT md4 hash */
|
||||
@ -959,13 +960,13 @@ BOOL mod_smbpwd_entry(struct smb_passwd* pwd, BOOL override)
|
||||
wr_len = 65;
|
||||
if (pwd->smb_nt_passwd != NULL) {
|
||||
for (i = 0; i < 16; i++) {
|
||||
sprintf(&ascii_p16[(i*2)+33], "%02X", (uchar) pwd->smb_nt_passwd[i]);
|
||||
slprintf(&ascii_p16[(i*2)+33], sizeof(fstring) - 1, "%02X", (uchar) pwd->smb_nt_passwd[i]);
|
||||
}
|
||||
} else {
|
||||
if(pwd->acct_ctrl & ACB_PWNOTREQ)
|
||||
sprintf(&ascii_p16[33], "NO PASSWORDXXXXXXXXXXXXXXXXXXXXX");
|
||||
fstrcpy(&ascii_p16[33], "NO PASSWORDXXXXXXXXXXXXXXXXXXXXX");
|
||||
else
|
||||
sprintf(&ascii_p16[33], "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX");
|
||||
fstrcpy(&ascii_p16[33], "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX");
|
||||
}
|
||||
|
||||
/* Add on the account info bits and the time of last
|
||||
@ -1024,10 +1025,10 @@ static void get_trust_account_file_name( char *domain, char *name, char *mac_fil
|
||||
return;
|
||||
}
|
||||
|
||||
strcat(mac_file, domain);
|
||||
strcat(mac_file, ".");
|
||||
strcat(mac_file, name);
|
||||
strcat(mac_file, ".mac");
|
||||
pstrcat(mac_file, domain);
|
||||
pstrcat(mac_file, ".");
|
||||
pstrcat(mac_file, name);
|
||||
pstrcat(mac_file, ".mac");
|
||||
}
|
||||
|
||||
/************************************************************************
|
||||
@ -1191,9 +1192,9 @@ BOOL set_trust_account_password( unsigned char *md4_new_pwd)
|
||||
}
|
||||
|
||||
for (i = 0; i < 16; i++)
|
||||
sprintf(&linebuf[(i*2)], "%02X", md4_new_pwd[i]);
|
||||
slprintf(&linebuf[(i*2)], sizeof(linebuf) - (i*2) - 1, "%02X", md4_new_pwd[i]);
|
||||
|
||||
sprintf(&linebuf[32], ":TLC-%08X\n", (unsigned)time(NULL));
|
||||
slprintf(&linebuf[32], 32, ":TLC-%08X\n", (unsigned)time(NULL));
|
||||
|
||||
if(fwrite( linebuf, 1, 45, mach_passwd_fp)!= 45) {
|
||||
DEBUG(0,("set_trust_account_password: Failed to write file. Warning - the trust \
|
||||
|
@ -123,7 +123,7 @@ static void ScanQconfig_fn(char *psz,void (*fn)())
|
||||
p = strtok(line,":");
|
||||
if (strcmp(p,"bsh")!=0)
|
||||
{
|
||||
strcpy(name,p);
|
||||
pstrcpy(name,p);
|
||||
iEtat = 1;
|
||||
continue;
|
||||
}
|
||||
@ -182,7 +182,7 @@ static BOOL ScanQconfig(char *psz,char *pszPrintername)
|
||||
free(pName);
|
||||
return(False);
|
||||
}
|
||||
sprintf(pName,"%s:",pszPrintername);
|
||||
slprintf(pName, iLg + 9, "%s:",pszPrintername);
|
||||
iLg = strlen(pName);
|
||||
/*DEBUG(3,( " Looking for entry %s\n",pName));*/
|
||||
iEtat = 0;
|
||||
@ -295,7 +295,7 @@ BOOL pcap_printername_ok(char *pszPrintername, char *pszPrintcapname)
|
||||
if (strequal(p,pszPrintername))
|
||||
{
|
||||
/* normalise the case */
|
||||
strcpy(pszPrintername,p);
|
||||
pstrcpy(pszPrintername,p);
|
||||
free(line);
|
||||
fclose(pfile);
|
||||
return(True);
|
||||
|
@ -81,8 +81,8 @@ static char *build_print_command(int cnum, char *command, char *syscmd, char *fi
|
||||
if (iOffset==0 || syscmd[iOffset-1] != '/') {
|
||||
StrnCpy(filename,Connections[cnum].connectpath,sizeof(filename)-1);
|
||||
trim_string(filename,"","/");
|
||||
strcat(filename,"/");
|
||||
strcat(filename,filename1);
|
||||
pstrcat(filename,"/");
|
||||
pstrcat(filename,filename1);
|
||||
}
|
||||
else
|
||||
pstrcpy(filename,filename1);
|
||||
@ -146,7 +146,7 @@ static char *Months[13] = { "Jan", "Feb", "Mar", "Apr", "May", "Jun",
|
||||
/*******************************************************************
|
||||
process time fields
|
||||
********************************************************************/
|
||||
static time_t EntryTime(string tok[], int ptr, int count, int minimum)
|
||||
static time_t EntryTime(fstring tok[], int ptr, int count, int minimum)
|
||||
{
|
||||
time_t jobtime,jobtime1;
|
||||
|
||||
@ -223,7 +223,7 @@ static BOOL parse_lpq_bsd(char *line,print_queue_struct *buf,BOOL first)
|
||||
#define NTOK 5
|
||||
#endif /* OSF1 */
|
||||
|
||||
string tok[NTOK];
|
||||
fstring tok[NTOK];
|
||||
int count=0;
|
||||
|
||||
#ifdef OSF1
|
||||
@ -249,15 +249,15 @@ static BOOL parse_lpq_bsd(char *line,print_queue_struct *buf,BOOL first)
|
||||
|
||||
/* if the fname contains a space then use STDIN */
|
||||
if (strchr(tok[FILETOK],' '))
|
||||
strcpy(tok[FILETOK],"STDIN");
|
||||
fstrcpy(tok[FILETOK],"STDIN");
|
||||
|
||||
/* only take the last part of the filename */
|
||||
{
|
||||
string tmp;
|
||||
fstring tmp;
|
||||
char *p = strrchr(tok[FILETOK],'/');
|
||||
if (p)
|
||||
{
|
||||
strcpy(tmp,p+1);
|
||||
fstrcpy(tmp,p+1);
|
||||
fstrcpy(tok[FILETOK],tmp);
|
||||
}
|
||||
}
|
||||
@ -282,7 +282,7 @@ static BOOL parse_lpq_bsd(char *line,print_queue_struct *buf,BOOL first)
|
||||
LPRng_time modifies the current date by inserting the hour and minute from
|
||||
the lpq output. The lpq time looks like "23:15:07"
|
||||
*/
|
||||
static time_t LPRng_time(string tok[],int pos)
|
||||
static time_t LPRng_time(fstring tok[],int pos)
|
||||
{
|
||||
time_t jobtime;
|
||||
struct tm *t;
|
||||
@ -381,7 +381,7 @@ LPRng source changes. This is from version 2.3.0. Magnus */
|
||||
#define JOBSIZE_POS FILE_POS+FILE_W
|
||||
|
||||
|
||||
string tok[LPRNG_NTOK];
|
||||
fstring tok[LPRNG_NTOK];
|
||||
int count=0;
|
||||
|
||||
#ifdef OLD_LPRNG
|
||||
@ -420,11 +420,11 @@ A long spool-path will just waste significant chars of the file name.
|
||||
/* if the fname contains a space then use STDIN */
|
||||
/* I do not understand how this would be possible. Magnus. */
|
||||
if (strchr(tok[LPRNG_FILETOK],' '))
|
||||
strcpy(tok[LPRNG_FILETOK],"STDIN");
|
||||
fstrcpy(tok[LPRNG_FILETOK],"STDIN");
|
||||
|
||||
/* only take the last part of the filename */
|
||||
{
|
||||
string tmp;
|
||||
fstring tmp;
|
||||
char *p = strrchr(tok[LPRNG_FILETOK],'/');
|
||||
if (p)
|
||||
{
|
||||
@ -473,7 +473,7 @@ lazer lazer RUNNING 537 6297doc.A kvintus@IE 0 10 2445 1 1
|
||||
********************************************************************/
|
||||
static BOOL parse_lpq_aix(char *line,print_queue_struct *buf,BOOL first)
|
||||
{
|
||||
string tok[11];
|
||||
fstring tok[11];
|
||||
int count=0;
|
||||
|
||||
/* handle the case of "(standard input)" as a filename */
|
||||
@ -493,11 +493,11 @@ static BOOL parse_lpq_aix(char *line,print_queue_struct *buf,BOOL first)
|
||||
buf->size = atoi(tok[4]) * 1024;
|
||||
/* if the fname contains a space then use STDIN */
|
||||
if (strchr(tok[2],' '))
|
||||
strcpy(tok[2],"STDIN");
|
||||
fstrcpy(tok[2],"STDIN");
|
||||
|
||||
/* only take the last part of the filename */
|
||||
{
|
||||
string tmp;
|
||||
fstring tmp;
|
||||
char *p = strrchr(tok[2],'/');
|
||||
if (p)
|
||||
{
|
||||
@ -527,11 +527,11 @@ static BOOL parse_lpq_aix(char *line,print_queue_struct *buf,BOOL first)
|
||||
buf->size = atoi(tok[8]) * 1024;
|
||||
/* if the fname contains a space then use STDIN */
|
||||
if (strchr(tok[4],' '))
|
||||
strcpy(tok[4],"STDIN");
|
||||
fstrcpy(tok[4],"STDIN");
|
||||
|
||||
/* only take the last part of the filename */
|
||||
{
|
||||
string tmp;
|
||||
fstring tmp;
|
||||
char *p = strrchr(tok[4],'/');
|
||||
if (p)
|
||||
{
|
||||
@ -568,7 +568,7 @@ static BOOL parse_lpq_hpux(char * line, print_queue_struct *buf, BOOL first)
|
||||
{
|
||||
/* must read two lines to process, therefore keep some values static */
|
||||
static BOOL header_line_ok=False, base_prio_reset=False;
|
||||
static string jobuser;
|
||||
static fstring jobuser;
|
||||
static int jobid;
|
||||
static int jobprio;
|
||||
static time_t jobtime;
|
||||
@ -579,7 +579,7 @@ static BOOL parse_lpq_hpux(char * line, print_queue_struct *buf, BOOL first)
|
||||
|
||||
int count;
|
||||
char TAB = '\011';
|
||||
string tok[12];
|
||||
fstring tok[12];
|
||||
|
||||
/* If a line begins with a horizontal TAB, it is a subline type */
|
||||
|
||||
@ -604,7 +604,7 @@ static BOOL parse_lpq_hpux(char * line, print_queue_struct *buf, BOOL first)
|
||||
|
||||
/* if the fname contains a space then use STDIN */
|
||||
if (strchr(tok[0],' '))
|
||||
strcpy(tok[0],"STDIN");
|
||||
fstrcpy(tok[0],"STDIN");
|
||||
|
||||
buf->size = atoi(tok[1]);
|
||||
StrnCpy(buf->file,tok[0],sizeof(buf->file)-1);
|
||||
@ -674,7 +674,7 @@ dcslw-897 tridge 4712 Dec 20 10:30:30 being held
|
||||
****************************************************************************/
|
||||
static BOOL parse_lpq_sysv(char *line,print_queue_struct *buf,BOOL first)
|
||||
{
|
||||
string tok[9];
|
||||
fstring tok[9];
|
||||
int count=0;
|
||||
char *p;
|
||||
|
||||
@ -694,7 +694,7 @@ static BOOL parse_lpq_sysv(char *line,print_queue_struct *buf,BOOL first)
|
||||
/* if the user contains a ! then trim the first part of it */
|
||||
if ((p=strchr(tok[2],'!')))
|
||||
{
|
||||
string tmp;
|
||||
fstring tmp;
|
||||
fstrcpy(tmp,p+1);
|
||||
fstrcpy(tok[2],tmp);
|
||||
}
|
||||
@ -727,7 +727,7 @@ Printer: txt (ready)
|
||||
****************************************************************************/
|
||||
static BOOL parse_lpq_qnx(char *line,print_queue_struct *buf,BOOL first)
|
||||
{
|
||||
string tok[7];
|
||||
fstring tok[7];
|
||||
int count=0;
|
||||
|
||||
DEBUG(0,("antes [%s]\n", line));
|
||||
@ -756,7 +756,7 @@ static BOOL parse_lpq_qnx(char *line,print_queue_struct *buf,BOOL first)
|
||||
|
||||
/* only take the last part of the filename */
|
||||
{
|
||||
string tmp;
|
||||
fstring tmp;
|
||||
char *p = strrchr(tok[6],'/');
|
||||
if (p)
|
||||
{
|
||||
@ -792,7 +792,7 @@ Local Printer 'lp2' (fjall):
|
||||
****************************************************************************/
|
||||
static BOOL parse_lpq_plp(char *line,print_queue_struct *buf,BOOL first)
|
||||
{
|
||||
string tok[11];
|
||||
fstring tok[11];
|
||||
int count=0;
|
||||
|
||||
/* handle the case of "(standard input)" as a filename */
|
||||
@ -816,11 +816,11 @@ static BOOL parse_lpq_plp(char *line,print_queue_struct *buf,BOOL first)
|
||||
|
||||
/* if the fname contains a space then use STDIN */
|
||||
if (strchr(tok[6],' '))
|
||||
strcpy(tok[6],"STDIN");
|
||||
fstrcpy(tok[6],"STDIN");
|
||||
|
||||
/* only take the last part of the filename */
|
||||
{
|
||||
string tmp;
|
||||
fstring tmp;
|
||||
char *p = strrchr(tok[6],'/');
|
||||
if (p)
|
||||
{
|
||||
@ -862,7 +862,7 @@ Total: 21268 bytes in queue
|
||||
****************************************************************************/
|
||||
static BOOL parse_lpq_softq(char *line,print_queue_struct *buf,BOOL first)
|
||||
{
|
||||
string tok[10];
|
||||
fstring tok[10];
|
||||
int count=0;
|
||||
|
||||
/* mung all the ":"s to spaces*/
|
||||
@ -1081,7 +1081,7 @@ int get_printqueue(int snum,int cnum,print_queue_struct **queue,
|
||||
}
|
||||
|
||||
if (status) {
|
||||
strcpy(status->message,"");
|
||||
fstrcpy(status->message,"");
|
||||
status->status = LPSTAT_OK;
|
||||
}
|
||||
|
||||
@ -1142,7 +1142,7 @@ void del_printqueue(int cnum,int snum,int jobid)
|
||||
return;
|
||||
}
|
||||
|
||||
sprintf(jobstr,"%d",jobid);
|
||||
slprintf(jobstr,sizeof(jobstr)-1,"%d",jobid);
|
||||
|
||||
pstrcpy(syscmd,lprm_command);
|
||||
string_sub(syscmd,"%p",printername);
|
||||
@ -1180,7 +1180,7 @@ void status_printjob(int cnum,int snum,int jobid,int status)
|
||||
return;
|
||||
}
|
||||
|
||||
sprintf(jobstr,"%d",jobid);
|
||||
slprintf(jobstr,sizeof(jobstr)-1,"%d",jobid);
|
||||
|
||||
pstrcpy(syscmd,lpstatus_command);
|
||||
string_sub(syscmd,"%p",printername);
|
||||
|
@ -675,13 +675,16 @@ Error was %s\n", pipe_name, cli->desthost, cli_errstr(cli)));
|
||||
* Setup the remote server name prefixed by \ and the machine account name.
|
||||
*/
|
||||
|
||||
sprintf(cli->srv_name_slash, "\\\\%s", cli->desthost);
|
||||
fstrcpy(cli->srv_name_slash, "\\\\");
|
||||
fstrcat(cli->srv_name_slash, cli->desthost);
|
||||
strupper(cli->srv_name_slash);
|
||||
|
||||
sprintf(cli->clnt_name_slash, "\\\\%s", global_myname);
|
||||
fstrcpy(cli->clnt_name_slash, "\\\\");
|
||||
fstrcat(cli->clnt_name_slash, global_myname);
|
||||
strupper(cli->clnt_name_slash);
|
||||
|
||||
sprintf(cli->mach_acct, "%s$", global_myname);
|
||||
fstrcpy(cli->mach_acct, global_myname);
|
||||
fstrcat(cli->mach_acct, "$");
|
||||
strupper(cli->mach_acct);
|
||||
|
||||
return True;
|
||||
|
@ -56,7 +56,7 @@ BOOL trust_account_check(struct in_addr dest_ip, char *dest_host,
|
||||
fstrcpy(mach_pwd, myhostname);
|
||||
strlower(mach_pwd);
|
||||
|
||||
sprintf(tmp, "Enter Workstation Trust Account password for [%s].\nDefault is [%s].\nPassword:",
|
||||
slprintf(tmp, sizeof(tmp) - 1,"Enter Workstation Trust Account password for [%s].\nDefault is [%s].\nPassword:",
|
||||
mach_acct, mach_pwd);
|
||||
|
||||
start_mach_pwd = (char*)getpass(tmp);
|
||||
@ -66,7 +66,7 @@ BOOL trust_account_check(struct in_addr dest_ip, char *dest_host,
|
||||
fstrcpy(mach_pwd, start_mach_pwd);
|
||||
}
|
||||
|
||||
sprintf(tmp, "Enter new Workstation Trust Account password for [%s]\nPress Return to leave at old value.\nNew Password:",
|
||||
slprintf(tmp, sizeof(tmp)-1, "Enter new Workstation Trust Account password for [%s]\nPress Return to leave at old value.\nNew Password:",
|
||||
mach_acct);
|
||||
|
||||
change_mach_pwd = (char*)getpass(tmp);
|
||||
|
@ -416,14 +416,14 @@ void lsa_io_sid_enum(char *desc, LSA_SID_ENUM *sen, prs_struct *ps, int depth)
|
||||
for (i = 0; i < sen->num_entries; i++)
|
||||
{
|
||||
fstring temp;
|
||||
sprintf(temp, "ptr_sid[%d]", i);
|
||||
slprintf(temp, sizeof(temp) - 1, "ptr_sid[%d]", i);
|
||||
prs_uint32(temp, ps, depth, &(sen->ptr_sid[i])); /* domain SID pointers to be looked up. */
|
||||
}
|
||||
|
||||
for (i = 0; i < sen->num_entries; i++)
|
||||
{
|
||||
fstring temp;
|
||||
sprintf(temp, "sid[%d]", i);
|
||||
slprintf(temp, sizeof(temp) - 1, "sid[%d]", i);
|
||||
smb_io_dom_sid2(temp, &(sen->sid[i]), ps, depth); /* domain SIDs to be looked up. */
|
||||
}
|
||||
}
|
||||
@ -470,7 +470,7 @@ void lsa_io_trans_names(char *desc, LSA_TRANS_NAME_ENUM *trn, prs_struct *ps, in
|
||||
for (i = 0; i < trn->num_entries; i++)
|
||||
{
|
||||
fstring temp;
|
||||
sprintf(temp, "ptr_name[%d] ", i);
|
||||
slprintf(temp, sizeof(temp) - 1, "ptr_name[%d] ", i);
|
||||
prs_uint32(temp, ps, depth, &(trn->ptr_name[i])); /* pointer to translated name */
|
||||
}
|
||||
|
||||
@ -479,7 +479,7 @@ void lsa_io_trans_names(char *desc, LSA_TRANS_NAME_ENUM *trn, prs_struct *ps, in
|
||||
if (trn->ptr_name[i] != 0)
|
||||
{
|
||||
fstring temp;
|
||||
sprintf(temp, "name[%d] ", i);
|
||||
slprintf(temp, sizeof(temp) - 1, "name[%d] ", i);
|
||||
lsa_io_trans_name(temp, &(trn->name[i2]), ps, depth); /* translated name */
|
||||
i2++;
|
||||
}
|
||||
|
@ -190,7 +190,7 @@ void smb_io_dom_sid(char *desc, DOM_SID *sid, prs_struct *ps, int depth)
|
||||
for (i = 0; i < 6; i++)
|
||||
{
|
||||
fstring tmp;
|
||||
sprintf(tmp, "id_auth[%d] ", i);
|
||||
slprintf(tmp, sizeof(tmp) - 1, "id_auth[%d] ", i);
|
||||
prs_uint8 (tmp, ps, depth, &(sid->id_auth[i]));
|
||||
}
|
||||
|
||||
|
@ -1492,7 +1492,7 @@ void samr_io_q_lookup_ids(char *desc, SAMR_Q_LOOKUP_IDS *q_u, prs_struct *ps, i
|
||||
|
||||
for (i = 0; i < q_u->num_sids2; i++)
|
||||
{
|
||||
sprintf(tmp, "ptr[%02d]", i);
|
||||
slprintf(tmp, sizeof(tmp) - 1, "ptr[%02d]", i);
|
||||
prs_uint32(tmp, ps, depth, &(q_u->ptr_sid[i]));
|
||||
}
|
||||
|
||||
@ -1500,7 +1500,7 @@ void samr_io_q_lookup_ids(char *desc, SAMR_Q_LOOKUP_IDS *q_u, prs_struct *ps, i
|
||||
{
|
||||
if (q_u->ptr_sid[i] != 0)
|
||||
{
|
||||
sprintf(tmp, "sid[%02d]", i);
|
||||
slprintf(tmp, sizeof(tmp)-1, "sid[%02d]", i);
|
||||
smb_io_dom_sid2(tmp, &(q_u->sid[i]), ps, depth);
|
||||
}
|
||||
}
|
||||
@ -1564,7 +1564,7 @@ void samr_io_r_lookup_ids(char *desc, SAMR_R_LOOKUP_IDS *r_u, prs_struct *ps, i
|
||||
|
||||
for (i = 0; i < r_u->num_entries2; i++)
|
||||
{
|
||||
sprintf(tmp, "rid[%02d]", i);
|
||||
slprintf(tmp, sizeof(tmp)-1, "rid[%02d]", i);
|
||||
prs_uint32(tmp, ps, depth, &(r_u->rid[i]));
|
||||
}
|
||||
}
|
||||
@ -1723,7 +1723,7 @@ void samr_io_q_unknown_12(char *desc, SAMR_Q_UNKNOWN_12 *q_u, prs_struct *ps, i
|
||||
|
||||
for (i = 0; i < q_u->num_gids2; i++)
|
||||
{
|
||||
sprintf(tmp, "gid[%02d] ", i);
|
||||
slprintf(tmp, sizeof(tmp) - 1, "gid[%02d] ", i);
|
||||
prs_uint32(tmp, ps, depth, &(q_u->gid[i]));
|
||||
}
|
||||
|
||||
@ -1797,12 +1797,12 @@ void samr_io_r_unknown_12(char *desc, SAMR_R_UNKNOWN_12 *r_u, prs_struct *ps, i
|
||||
{
|
||||
for (i = 0; i < r_u->num_aliases2; i++)
|
||||
{
|
||||
sprintf(tmp, "als_hdr[%02d] ", i);
|
||||
slprintf(tmp, sizeof(tmp) - 1, "als_hdr[%02d] ", i);
|
||||
smb_io_unihdr ("", &(r_u->hdr_als_name[i]), ps, depth);
|
||||
}
|
||||
for (i = 0; i < r_u->num_aliases2; i++)
|
||||
{
|
||||
sprintf(tmp, "als_str[%02d] ", i);
|
||||
slprintf(tmp, sizeof(tmp) - 1, "als_str[%02d] ", i);
|
||||
smb_io_unistr2("", &(r_u->uni_als_name[i]), r_u->hdr_als_name[i].buffer, ps, depth);
|
||||
}
|
||||
}
|
||||
@ -1817,7 +1817,7 @@ void samr_io_r_unknown_12(char *desc, SAMR_R_UNKNOWN_12 *r_u, prs_struct *ps, i
|
||||
{
|
||||
for (i = 0; i < r_u->num_als_usrs2; i++)
|
||||
{
|
||||
sprintf(tmp, "als_usrs[%02d] ", i);
|
||||
slprintf(tmp, sizeof(tmp) - 1, "als_usrs[%02d] ", i);
|
||||
prs_uint32(tmp, ps, depth, &(r_u->num_als_usrs[i]));
|
||||
}
|
||||
}
|
||||
|
@ -279,7 +279,7 @@ static void api_net_req_chal( int uid,
|
||||
fstrcpy(mach_name, mach_acct);
|
||||
strlower(mach_name);
|
||||
|
||||
strcat(mach_acct, "$");
|
||||
fstrcat(mach_acct, "$");
|
||||
|
||||
if (get_md4pw((char *)vuser->dc.md4pw, mach_name, mach_acct))
|
||||
{
|
||||
|
@ -231,9 +231,9 @@ static void samr_reply_unknown_3(SAMR_Q_UNKNOWN_3 *q_u,
|
||||
|
||||
if (status == 0x0)
|
||||
{
|
||||
strcpy(user_sid, lp_domain_sid());
|
||||
sprintf(user_rid, "-%x", rid);
|
||||
strcat(user_sid, user_rid);
|
||||
fstrcpy(user_sid, lp_domain_sid());
|
||||
slprintf(user_rid, sizeof(user_rid) - 1, "-%x", rid);
|
||||
fstrcat(user_sid, user_rid);
|
||||
|
||||
/* maybe need another 1 or 2 (S-1-5-20-0x220 and S-1-5-20-0x224) */
|
||||
/* these two are DOMAIN_ADMIN and DOMAIN_ACCT_OP group RIDs */
|
||||
|
@ -297,22 +297,22 @@ void get_domain_user_groups(char *domain_groups, char *user)
|
||||
/* can only be a user or a guest. cannot be guest _and_ admin */
|
||||
if (user_in_list(user, lp_domain_guest_users()))
|
||||
{
|
||||
sprintf(tmp, " %ld/7 ", DOMAIN_GROUP_RID_GUESTS);
|
||||
strcat(domain_groups, tmp);
|
||||
slprintf(tmp, sizeof(tmp) - 1, " %ld/7 ", DOMAIN_GROUP_RID_GUESTS);
|
||||
pstrcat(domain_groups, tmp);
|
||||
|
||||
DEBUG(3,("domain guest access %s granted\n", tmp));
|
||||
}
|
||||
else
|
||||
{
|
||||
sprintf(tmp, " %ld/7 ", DOMAIN_GROUP_RID_USERS);
|
||||
strcat(domain_groups, tmp);
|
||||
slprintf(tmp, sizeof(tmp) -1, " %ld/7 ", DOMAIN_GROUP_RID_USERS);
|
||||
pstrcat(domain_groups, tmp);
|
||||
|
||||
DEBUG(3,("domain user access %s granted\n", tmp));
|
||||
|
||||
if (user_in_list(user, lp_domain_admin_users()))
|
||||
{
|
||||
sprintf(tmp, " %ld/7 ", DOMAIN_GROUP_RID_ADMINS);
|
||||
strcat(domain_groups, tmp);
|
||||
slprintf(tmp, sizeof(tmp) - 1, " %ld/7 ", DOMAIN_GROUP_RID_ADMINS);
|
||||
pstrcat(domain_groups, tmp);
|
||||
|
||||
DEBUG(3,("domain admin access %s granted\n", tmp));
|
||||
}
|
||||
|
@ -62,7 +62,7 @@ static int findpty(char **slave)
|
||||
#if defined(SVR4) || defined(SUNOS5)
|
||||
extern char *ptsname();
|
||||
#else /* defined(SVR4) || defined(SUNOS5) */
|
||||
static char line[12];
|
||||
static fstring line;
|
||||
void *dirp;
|
||||
char *dpname;
|
||||
#endif /* defined(SVR4) || defined(SUNOS5) */
|
||||
@ -75,7 +75,7 @@ static int findpty(char **slave)
|
||||
return (master);
|
||||
}
|
||||
#else /* defined(SVR4) || defined(SUNOS5) */
|
||||
strcpy( line, "/dev/ptyXX" );
|
||||
fstrcpy( line, "/dev/ptyXX" );
|
||||
|
||||
dirp = OpenDir(-1, "/dev", True);
|
||||
if (!dirp) return(-1);
|
||||
|
@ -48,9 +48,9 @@ BOOL yield_connection(int cnum,char *name,int max_connections)
|
||||
pstrcpy(fname,lp_lockdir());
|
||||
trim_string(fname,"","/");
|
||||
|
||||
strcat(fname,"/");
|
||||
strcat(fname,name);
|
||||
strcat(fname,".LCK");
|
||||
pstrcat(fname,"/");
|
||||
pstrcat(fname,name);
|
||||
pstrcat(fname,".LCK");
|
||||
|
||||
fd = open(fname,O_RDWR);
|
||||
if (fd == -1) {
|
||||
@ -133,9 +133,9 @@ BOOL claim_connection(int cnum,char *name,int max_connections,BOOL Clear)
|
||||
if (!directory_exist(fname,NULL))
|
||||
mkdir(fname,0755);
|
||||
|
||||
strcat(fname,"/");
|
||||
strcat(fname,name);
|
||||
strcat(fname,".LCK");
|
||||
pstrcat(fname,"/");
|
||||
pstrcat(fname,name);
|
||||
pstrcat(fname,".LCK");
|
||||
|
||||
if (!file_exist(fname,NULL)) {
|
||||
fd = open(fname,O_RDWR|O_CREAT|O_EXCL, 0644);
|
||||
|
@ -469,10 +469,10 @@ BOOL get_dir_entry(int cnum,char *mask,int dirtype,char *fname,int *size,int *mo
|
||||
*path = 0;
|
||||
pstrcpy(path,Connections[cnum].dirpath);
|
||||
if(needslash)
|
||||
strcat(path,"/");
|
||||
pstrcat(path,"/");
|
||||
pstrcpy(pathreal,path);
|
||||
strcat(path,fname);
|
||||
strcat(pathreal,dname);
|
||||
pstrcat(path,fname);
|
||||
pstrcat(pathreal,dname);
|
||||
if (sys_stat(pathreal,&sbuf) != 0)
|
||||
{
|
||||
DEBUG(5,("Couldn't stat 1 [%s]\n",path));
|
||||
@ -552,7 +552,7 @@ void *OpenDir(int cnum, char *name, BOOL use_veto)
|
||||
dirp->mallocsize = s;
|
||||
dirp->current = dirp->data;
|
||||
}
|
||||
strcpy(dirp->data+used,n);
|
||||
pstrcpy(dirp->data+used,n);
|
||||
used += l;
|
||||
dirp->numentries++;
|
||||
}
|
||||
@ -671,9 +671,9 @@ void DirCacheAdd( char *path, char *name, char *dname, int snum )
|
||||
return; /* so just return as if nothing happened. */
|
||||
|
||||
/* Set pointers correctly and load values. */
|
||||
entry->path = strcpy( (char *)&entry[1], path);
|
||||
entry->name = strcpy( &(entry->path[pathlen]), name);
|
||||
entry->dname = strcpy( &(entry->name[namelen]), dname);
|
||||
entry->path = pstrcpy( (char *)&entry[1], path);
|
||||
entry->name = pstrcpy( &(entry->path[pathlen]), name);
|
||||
entry->dname = pstrcpy( &(entry->name[namelen]), dname);
|
||||
entry->snum = snum;
|
||||
|
||||
/* Add the new entry to the linked list. */
|
||||
|
@ -491,7 +491,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 */
|
||||
strcpy(drivdata+8,"NULL");
|
||||
pstrcpy(drivdata+8,"NULL");
|
||||
PACKl(desc,"l",drivdata,sizeof drivdata); /* pDriverData */
|
||||
}
|
||||
|
||||
@ -650,7 +650,7 @@ static void fill_printq_info(int cnum, int snum, int uLevel,
|
||||
FILE *f;
|
||||
pstring fname;
|
||||
|
||||
strcpy(fname,lp_driverfile());
|
||||
pstrcpy(fname,lp_driverfile());
|
||||
f=fopen(fname,"r");
|
||||
if (!f) {
|
||||
DEBUG(3,("fill_printq_info: Can't open %s - %s\n",fname,strerror(errno)));
|
||||
@ -748,7 +748,7 @@ int get_printerdrivernumber(int snum)
|
||||
FILE *f;
|
||||
pstring fname;
|
||||
|
||||
strcpy(fname,lp_driverfile());
|
||||
pstrcpy(fname,lp_driverfile());
|
||||
|
||||
DEBUG(4,("In get_printerdrivernumber: %s\n",fname));
|
||||
f=fopen(fname,"r");
|
||||
@ -993,8 +993,8 @@ static int get_server_info(uint32 servertype,
|
||||
|
||||
pstrcpy(fname,lp_lockdir());
|
||||
trim_string(fname,NULL,"/");
|
||||
strcat(fname,"/");
|
||||
strcat(fname,SERVER_LIST);
|
||||
pstrcat(fname,"/");
|
||||
pstrcat(fname,SERVER_LIST);
|
||||
|
||||
f = fopen(fname,"r");
|
||||
|
||||
@ -1036,7 +1036,7 @@ static int get_server_info(uint32 servertype,
|
||||
if (!next_token(&ptr,s->comment, NULL)) continue;
|
||||
if (!next_token(&ptr,s->domain , NULL)) {
|
||||
/* this allows us to cope with an old nmbd */
|
||||
strcpy(s->domain,global_myworkgroup);
|
||||
pstrcpy(s->domain,global_myworkgroup);
|
||||
}
|
||||
|
||||
if (sscanf(stype,"%X",&s->type) != 1) {
|
||||
@ -2115,18 +2115,18 @@ static BOOL api_NetWkstaGetInfo(int cnum,uint16 vuid, char *param,char *data,
|
||||
|
||||
|
||||
SIVAL(p,0,PTR_DIFF(p2,*rdata)); /* host name */
|
||||
strcpy(p2,local_machine);
|
||||
pstrcpy(p2,local_machine);
|
||||
strupper(p2);
|
||||
p2 = skip_string(p2,1);
|
||||
p += 4;
|
||||
|
||||
SIVAL(p,0,PTR_DIFF(p2,*rdata));
|
||||
strcpy(p2,sesssetup_user);
|
||||
pstrcpy(p2,sesssetup_user);
|
||||
p2 = skip_string(p2,1);
|
||||
p += 4;
|
||||
|
||||
SIVAL(p,0,PTR_DIFF(p2,*rdata)); /* login domain */
|
||||
strcpy(p2,global_myworkgroup);
|
||||
pstrcpy(p2,global_myworkgroup);
|
||||
strupper(p2);
|
||||
p2 = skip_string(p2,1);
|
||||
p += 4;
|
||||
@ -2136,12 +2136,12 @@ static BOOL api_NetWkstaGetInfo(int cnum,uint16 vuid, char *param,char *data,
|
||||
p += 2;
|
||||
|
||||
SIVAL(p,0,PTR_DIFF(p2,*rdata));
|
||||
strcpy(p2,global_myworkgroup); /* don't know. login domain?? */
|
||||
pstrcpy(p2,global_myworkgroup); /* don't know. login domain?? */
|
||||
p2 = skip_string(p2,1);
|
||||
p += 4;
|
||||
|
||||
SIVAL(p,0,PTR_DIFF(p2,*rdata)); /* don't know */
|
||||
strcpy(p2,"");
|
||||
pstrcpy(p2,"");
|
||||
p2 = skip_string(p2,1);
|
||||
p += 4;
|
||||
|
||||
@ -2378,16 +2378,16 @@ static BOOL api_RNetUserGetInfo(int cnum,uint16 vuid, char *param,char *data,
|
||||
*p2 = 0;
|
||||
}
|
||||
if (uLevel >= 10)
|
||||
{
|
||||
{
|
||||
SIVAL(p,usri11_comment,PTR_DIFF(p2,p)); /* comment */
|
||||
pstrcpy(p2,"Comment");
|
||||
p2 = skip_string(p2,1);
|
||||
|
||||
|
||||
SIVAL(p,usri11_usr_comment,PTR_DIFF(p2,p)); /* user_comment */
|
||||
pstrcpy(p2,"UserComment");
|
||||
p2 = skip_string(p2,1);
|
||||
|
||||
/* EEK! the cifsrap.txt doesn't have this in!!!! */
|
||||
/* EEK! the cifsrap.txt doesn't have this in!!!! */
|
||||
SIVAL(p,usri11_full_name,PTR_DIFF(p2,p)); /* full name */
|
||||
pstrcpy(p2,((vuser != NULL) ? vuser->real_name : UserName));
|
||||
p2 = skip_string(p2,1);
|
||||
@ -2397,22 +2397,22 @@ static BOOL api_RNetUserGetInfo(int cnum,uint16 vuid, char *param,char *data,
|
||||
{
|
||||
SSVAL(p,usri11_priv,Connections[cnum].admin_user?USER_PRIV_ADMIN:USER_PRIV_USER);
|
||||
SIVAL(p,usri11_auth_flags,AF_OP_PRINT); /* auth flags */
|
||||
SIVALS(p,usri11_password_age,-1); /* password age */
|
||||
SIVALS(p,usri11_password_age,-1); /* password age */
|
||||
SIVAL(p,usri11_homedir,PTR_DIFF(p2,p)); /* home dir */
|
||||
pstrcpy(p2, lp_logon_path());
|
||||
p2 = skip_string(p2,1);
|
||||
p2 = skip_string(p2,1);
|
||||
SIVAL(p,usri11_parms,PTR_DIFF(p2,p)); /* parms */
|
||||
pstrcpy(p2,"");
|
||||
p2 = skip_string(p2,1);
|
||||
SIVAL(p,usri11_last_logon,0); /* last logon */
|
||||
SIVAL(p,usri11_last_logoff,0); /* last logoff */
|
||||
SSVALS(p,usri11_bad_pw_count,-1); /* bad pw counts */
|
||||
SSVALS(p,usri11_num_logons,-1); /* num logons */
|
||||
SSVALS(p,usri11_num_logons,-1); /* num logons */
|
||||
SIVAL(p,usri11_logon_server,PTR_DIFF(p2,p)); /* logon server */
|
||||
pstrcpy(p2,"\\\\*");
|
||||
p2 = skip_string(p2,1);
|
||||
SSVAL(p,usri11_country_code,0); /* country code */
|
||||
|
||||
|
||||
SIVAL(p,usri11_workstations,PTR_DIFF(p2,p)); /* workstations */
|
||||
pstrcpy(p2,"");
|
||||
p2 = skip_string(p2,1);
|
||||
@ -2433,7 +2433,7 @@ static BOOL api_RNetUserGetInfo(int cnum,uint16 vuid, char *param,char *data,
|
||||
memset(p+22,' ',16); /* password */
|
||||
SIVALS(p,38,-1); /* password age */
|
||||
SSVAL(p,42,
|
||||
Connections[cnum].admin_user?USER_PRIV_ADMIN:USER_PRIV_USER);
|
||||
Connections[cnum].admin_user?USER_PRIV_ADMIN:USER_PRIV_USER);
|
||||
SIVAL(p,44,PTR_DIFF(p2,*rdata)); /* home dir */
|
||||
pstrcpy(p2,lp_logon_path());
|
||||
p2 = skip_string(p2,1);
|
||||
@ -2443,11 +2443,11 @@ static BOOL api_RNetUserGetInfo(int cnum,uint16 vuid, char *param,char *data,
|
||||
SIVAL(p,54,0); /* script_path */
|
||||
if (uLevel == 2)
|
||||
{
|
||||
SIVAL(p,60,0); /* auth_flags */
|
||||
SIVAL(p,60,0); /* auth_flags */
|
||||
SIVAL(p,64,PTR_DIFF(p2,*rdata)); /* full_name */
|
||||
pstrcpy(p2,((vuser != NULL) ? vuser->real_name : UserName));
|
||||
p2 = skip_string(p2,1);
|
||||
SIVAL(p,68,0); /* urs_comment */
|
||||
SIVAL(p,68,0); /* urs_comment */
|
||||
SIVAL(p,72,PTR_DIFF(p2,*rdata)); /* parms */
|
||||
pstrcpy(p2,"");
|
||||
p2 = skip_string(p2,1);
|
||||
@ -2461,7 +2461,7 @@ static BOOL api_RNetUserGetInfo(int cnum,uint16 vuid, char *param,char *data,
|
||||
memset(p2,-1,21);
|
||||
p2 += 21;
|
||||
SSVALS(p,102,-1); /* bad_pw_count */
|
||||
SSVALS(p,104,-1); /* num_logons */
|
||||
SSVALS(p,104,-1); /* num_logons */
|
||||
SIVAL(p,106,PTR_DIFF(p2,*rdata)); /* logon_server */
|
||||
pstrcpy(p2,"\\\\%L");
|
||||
standard_sub_basic(p2);
|
||||
@ -2512,10 +2512,10 @@ static BOOL api_NetUserGetGroups(int cnum,uint16 vuid, char *param,char *data,
|
||||
SSVAL(*rparam,2,0); /* converter word */
|
||||
|
||||
p = *rdata;
|
||||
|
||||
/* XXXX we need a real SAM database some day */
|
||||
strcpy(p,"Users"); p += 21; count++;
|
||||
strcpy(p,"Domain Users"); p += 21; count++;
|
||||
|
||||
/* XXXX we need a real SAM database some day */
|
||||
pstrcpy(p,"Users"); p += 21; count++;
|
||||
pstrcpy(p,"Domain Users"); p += 21; count++;
|
||||
pstrcpy(p,"Guests"); p += 21; count++;
|
||||
pstrcpy(p,"Domain Guests"); p += 21; count++;
|
||||
|
||||
@ -2574,8 +2574,8 @@ static BOOL api_WWkstaUserLogon(int cnum,uint16 vuid, char *param,char *data,
|
||||
PACKI(&desc,"D",0); /* password age */
|
||||
PACKI(&desc,"D",0); /* password can change */
|
||||
PACKI(&desc,"D",-1); /* password must change */
|
||||
{
|
||||
fstring mypath;
|
||||
{
|
||||
fstring mypath;
|
||||
fstrcpy(mypath,"\\\\");
|
||||
fstrcat(mypath,local_machine);
|
||||
strupper(mypath);
|
||||
@ -3129,8 +3129,8 @@ static BOOL api_pipe_bind_req(pipes_struct *p, prs_struct *pd)
|
||||
/* ignore the version number for now */
|
||||
ntlmssp_auth = strequal(p->ntlmssp_req.ntlmssp_str, "NTLMSSP");
|
||||
}
|
||||
|
||||
/* name has to be \PIPE\xxxxx */
|
||||
|
||||
/* name has to be \PIPE\xxxxx */
|
||||
fstrcpy(ack_pipe_name, "\\PIPE\\");
|
||||
fstrcat(ack_pipe_name, p->pipe_srv_name);
|
||||
|
||||
|
@ -648,9 +648,9 @@ BOOL check_mangled_cache( char *s )
|
||||
|
||||
DEBUG( 3, ("Found %s on mangled stack ", s) );
|
||||
|
||||
(void)strcpy( s, found_name );
|
||||
(void)pstrcpy( s, found_name );
|
||||
if( ext_start )
|
||||
(void)strcat( s, ext_start );
|
||||
(void)pstrcat( s, ext_start );
|
||||
|
||||
DEBUG( 3, ("as %s\n", s) );
|
||||
|
||||
@ -830,7 +830,7 @@ static void do_fwd_mangled_map(char *s, char *MangledMap)
|
||||
*
|
||||
* ************************************************************************** **
|
||||
*/
|
||||
void mangle_name_83( char *s )
|
||||
void mangle_name_83( char *s, int s_len )
|
||||
{
|
||||
int csum = str_checksum(s);
|
||||
char *p;
|
||||
@ -863,7 +863,7 @@ void mangle_name_83( char *s )
|
||||
if( p )
|
||||
{
|
||||
if( p == s )
|
||||
strcpy( extension, "___" );
|
||||
safe_strcpy( extension, "___", 3 );
|
||||
else
|
||||
{
|
||||
*p++ = 0;
|
||||
@ -933,13 +933,13 @@ void mangle_name_83( char *s )
|
||||
|
||||
csum = csum % (36*36);
|
||||
|
||||
(void)sprintf( s, "%s%c%c%c",
|
||||
(void)slprintf( s, s_len - 1, "%s%c%c%c",
|
||||
base, magic_char, base36( csum/36 ), base36( csum ) );
|
||||
|
||||
if( *extension )
|
||||
{
|
||||
(void)strcat( s, "." );
|
||||
(void)strcat( s, extension );
|
||||
(void)pstrcat( s, "." );
|
||||
(void)pstrcat( s, extension );
|
||||
}
|
||||
|
||||
DEBUG( 5, ( "%s\n", s ) );
|
||||
@ -996,7 +996,7 @@ BOOL name_map_mangle( char *OutName, BOOL need83, int snum )
|
||||
|
||||
/* mangle it into 8.3 */
|
||||
tmp = strdup( OutName );
|
||||
mangle_name_83( OutName );
|
||||
mangle_name_83( OutName, strlen(tmp) );
|
||||
if( tmp )
|
||||
{
|
||||
cache_mangled_name( OutName, tmp );
|
||||
|
@ -349,8 +349,8 @@ void add_session_user(char *user)
|
||||
DEBUG(1,("Too many session users??\n"));
|
||||
else
|
||||
{
|
||||
strcat(session_users," ");
|
||||
strcat(session_users,suser);
|
||||
pstrcat(session_users," ");
|
||||
pstrcat(session_users,suser);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -364,7 +364,7 @@ static struct spwd *getspnam(char *username) /* fake shadow password routine */
|
||||
{
|
||||
FILE *f;
|
||||
char line[1024];
|
||||
static char pw[20];
|
||||
static fstring pw;
|
||||
static struct spwd static_spwd;
|
||||
|
||||
static_spwd.sp_pwdp=0;
|
||||
@ -380,7 +380,7 @@ static struct spwd *getspnam(char *username) /* fake shadow password routine */
|
||||
*q=0;
|
||||
if (q-p+1>20)
|
||||
break;
|
||||
strcpy(pw, p);
|
||||
fstrcpy(pw, p);
|
||||
static_spwd.sp_pwdp=pw;
|
||||
}
|
||||
break;
|
||||
@ -415,7 +415,7 @@ static char *osf1_bigcrypt(char *password,char *salt1)
|
||||
for (i=0; i<parts;i++)
|
||||
{
|
||||
p1 = crypt(p2,salt);
|
||||
strcat(result,p1+2);
|
||||
strncat(result,p1+2,AUTH_MAX_PASSWD_LENGTH-strlen(p1+2)-1);
|
||||
StrnCpy(salt,&result[2+i*AUTH_CIPHERTEXT_SEG_CHARS],2);
|
||||
p2 += AUTH_CLEARTEXT_SEG_CHARS;
|
||||
}
|
||||
@ -809,9 +809,9 @@ static BOOL krb4_auth(char *this_user,char *password)
|
||||
char tkfile[MAXPATHLEN];
|
||||
|
||||
if (krb_get_lrealm(realm, 1) != KSUCCESS)
|
||||
(void) strncpy(realm, KRB_REALM, sizeof (realm));
|
||||
(void) safe_strcpy(realm, KRB_REALM, sizeof (realm) - 1);
|
||||
|
||||
(void) sprintf(tkfile, "/tmp/samba_tkt_%d", getpid());
|
||||
(void) slprintf(tkfile, sizeof(tkfile) - 1, "/tmp/samba_tkt_%d", getpid());
|
||||
|
||||
krb_set_tkt_string(tkfile);
|
||||
if (krb_verify_user(this_user, "", realm,
|
||||
@ -1217,8 +1217,8 @@ BOOL password_ok(char *user,char *password, int pwlen, struct passwd *pwd)
|
||||
mypasswd = getprpwnam (user);
|
||||
if ( mypasswd )
|
||||
{
|
||||
strcpy(pass->pw_name,mypasswd->ufld.fd_name);
|
||||
strcpy(pass->pw_passwd,mypasswd->ufld.fd_encrypt);
|
||||
fstrcpy(pass->pw_name,mypasswd->ufld.fd_name);
|
||||
fstrcpy(pass->pw_passwd,mypasswd->ufld.fd_encrypt);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -1233,20 +1233,20 @@ BOOL password_ok(char *user,char *password, int pwlen, struct passwd *pwd)
|
||||
AUTHORIZATION *ap = getauthuid( pass->pw_uid );
|
||||
if (ap)
|
||||
{
|
||||
strcpy( pass->pw_passwd, ap->a_password );
|
||||
fstrcpy( pass->pw_passwd, ap->a_password );
|
||||
endauthent();
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
/* extract relevant info */
|
||||
strcpy(this_user,pass->pw_name);
|
||||
strcpy(this_salt,pass->pw_passwd);
|
||||
fstrcpy(this_user,pass->pw_name);
|
||||
fstrcpy(this_salt,pass->pw_passwd);
|
||||
#ifdef HPUX
|
||||
/* The crypt on HPUX won't work with more than 2 salt characters. */
|
||||
this_salt[2] = 0;
|
||||
#endif /* HPUX */
|
||||
strcpy(this_crypted,pass->pw_passwd);
|
||||
fstrcpy(this_crypted,pass->pw_passwd);
|
||||
|
||||
if (!*this_crypted) {
|
||||
if (!lp_null_passwords()) {
|
||||
@ -1295,7 +1295,7 @@ BOOL password_ok(char *user,char *password, int pwlen, struct passwd *pwd)
|
||||
update_protected_database(user,False);
|
||||
|
||||
/* restore it */
|
||||
strcpy(password,pass2);
|
||||
fstrcpy(password,pass2);
|
||||
|
||||
return(False);
|
||||
}
|
||||
@ -1314,7 +1314,7 @@ BOOL password_ok(char *user,char *password, int pwlen, struct passwd *pwd)
|
||||
update_protected_database(user,False);
|
||||
|
||||
/* restore it */
|
||||
strcpy(password,pass2);
|
||||
fstrcpy(password,pass2);
|
||||
|
||||
return(False);
|
||||
}
|
||||
@ -1384,7 +1384,7 @@ static char *validate_group(char *group,char *password,int pwlen,int snum)
|
||||
while (member && *member)
|
||||
{
|
||||
static fstring name;
|
||||
strcpy(name,*member);
|
||||
fstrcpy(name,*member);
|
||||
if (user_ok(name,snum) &&
|
||||
password_ok(name,password,pwlen,NULL))
|
||||
return(&name[0]);
|
||||
@ -1400,7 +1400,7 @@ static char *validate_group(char *group,char *password,int pwlen,int snum)
|
||||
if (*(pwd->pw_passwd) && pwd->pw_gid == gptr->gr_gid) {
|
||||
/* This Entry have PASSWORD and same GID then check pwd */
|
||||
if (password_ok(NULL, password, pwlen, pwd)) {
|
||||
strcpy(tm, pwd->pw_name);
|
||||
fstrcpy(tm, pwd->pw_name);
|
||||
endpwent ();
|
||||
return tm;
|
||||
}
|
||||
@ -1460,7 +1460,7 @@ BOOL authorise_login(int snum,char *user,char *password, int pwlen,
|
||||
if (!ok && (vuser != 0) && vuser->guest) {
|
||||
if (user_ok(vuser->name,snum) &&
|
||||
password_ok(vuser->name, password, pwlen, NULL)) {
|
||||
strcpy(user, vuser->name);
|
||||
fstrcpy(user, vuser->name);
|
||||
vuser->guest = False;
|
||||
DEBUG(3,("ACCEPTED: given password with registered user %s\n", user));
|
||||
ok = True;
|
||||
@ -1480,12 +1480,12 @@ BOOL authorise_login(int snum,char *user,char *password, int pwlen,
|
||||
auser = strtok(NULL,LIST_SEP))
|
||||
{
|
||||
fstring user2;
|
||||
strcpy(user2,auser);
|
||||
fstrcpy(user2,auser);
|
||||
if (!user_ok(user2,snum)) continue;
|
||||
|
||||
if (password_ok(user2,password, pwlen, NULL)) {
|
||||
ok = True;
|
||||
strcpy(user,user2);
|
||||
fstrcpy(user,user2);
|
||||
DEBUG(3,("ACCEPTED: session list username and given password ok\n"));
|
||||
}
|
||||
}
|
||||
@ -1496,7 +1496,7 @@ BOOL authorise_login(int snum,char *user,char *password, int pwlen,
|
||||
if (!ok && !lp_revalidate(snum) &&
|
||||
(vuser != 0) && !vuser->guest &&
|
||||
user_ok(vuser->name,snum)) {
|
||||
strcpy(user,vuser->name);
|
||||
fstrcpy(user,vuser->name);
|
||||
*guest = False;
|
||||
DEBUG(3,("ACCEPTED: validated uid ok as non-guest\n"));
|
||||
ok = True;
|
||||
@ -1526,19 +1526,19 @@ BOOL authorise_login(int snum,char *user,char *password, int pwlen,
|
||||
if (auser)
|
||||
{
|
||||
ok = True;
|
||||
strcpy(user,auser);
|
||||
fstrcpy(user,auser);
|
||||
DEBUG(3,("ACCEPTED: group username and given password ok\n"));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
fstring user2;
|
||||
strcpy(user2,auser);
|
||||
fstrcpy(user2,auser);
|
||||
if (user_ok(user2,snum) &&
|
||||
password_ok(user2,password,pwlen,NULL))
|
||||
{
|
||||
ok = True;
|
||||
strcpy(user,user2);
|
||||
fstrcpy(user,user2);
|
||||
DEBUG(3,("ACCEPTED: user list username and given password ok\n"));
|
||||
}
|
||||
}
|
||||
@ -1553,7 +1553,7 @@ BOOL authorise_login(int snum,char *user,char *password, int pwlen,
|
||||
StrnCpy(guestname,lp_guestaccount(snum),sizeof(guestname)-1);
|
||||
if (Get_Pwnam(guestname,True))
|
||||
{
|
||||
strcpy(user,guestname);
|
||||
fstrcpy(user,guestname);
|
||||
ok = True;
|
||||
DEBUG(3,("ACCEPTED: guest account and guest ok\n"));
|
||||
}
|
||||
|
@ -138,7 +138,7 @@ BOOL disk_quotas(char *path, int *bsize, int *dfree, int *dsize)
|
||||
struct stat sbuf;
|
||||
dev_t devno ;
|
||||
static dev_t devno_cached = 0 ;
|
||||
static char name[MNTMAXSTR] ;
|
||||
static pstring name;
|
||||
struct q_request request ;
|
||||
struct qf_header header ;
|
||||
static int quota_default = 0 ;
|
||||
@ -172,7 +172,7 @@ BOOL disk_quotas(char *path, int *bsize, int *dfree, int *dsize)
|
||||
|
||||
}
|
||||
|
||||
strcpy(name,mnt->mnt_dir) ;
|
||||
pstrcpy(name,mnt->mnt_dir) ;
|
||||
endmntent(fd) ;
|
||||
|
||||
if ( ! found )
|
||||
@ -249,10 +249,10 @@ BOOL disk_quotas(char *path, int *bsize, int *dfree, int *dsize)
|
||||
struct quotctl command;
|
||||
int file;
|
||||
struct mnttab mnt;
|
||||
static char name[MNT_LINE_MAX] ;
|
||||
static pstring name;
|
||||
#else
|
||||
struct mntent *mnt;
|
||||
static char name[MNTMAXSTR] ;
|
||||
static pstring name;
|
||||
#endif
|
||||
FILE *fd;
|
||||
struct stat sbuf;
|
||||
@ -283,8 +283,8 @@ BOOL disk_quotas(char *path, int *bsize, int *dfree, int *dsize)
|
||||
}
|
||||
}
|
||||
|
||||
strcpy(name,mnt.mnt_mountp) ;
|
||||
strcat(name,"/quotas") ;
|
||||
pstrcpy(name,mnt.mnt_mountp) ;
|
||||
pstrcat(name,"/quotas") ;
|
||||
fclose(fd) ;
|
||||
#else
|
||||
if ((fd = setmntent(MOUNTED, "r")) == NULL)
|
||||
@ -302,7 +302,7 @@ BOOL disk_quotas(char *path, int *bsize, int *dfree, int *dsize)
|
||||
}
|
||||
}
|
||||
|
||||
strcpy(name,mnt->mnt_fsname) ;
|
||||
pstrcpy(name,mnt->mnt_fsname) ;
|
||||
endmntent(fd) ;
|
||||
#endif
|
||||
|
||||
|
@ -308,7 +308,7 @@ int reply_tcon_and_X(char *inbuf,char *outbuf,int length,int bufsize)
|
||||
if (Protocol < PROTOCOL_NT1)
|
||||
{
|
||||
set_message(outbuf,2,strlen(devicename)+1,True);
|
||||
strcpy(smb_buf(outbuf),devicename);
|
||||
pstrcpy(smb_buf(outbuf),devicename);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -318,8 +318,8 @@ int reply_tcon_and_X(char *inbuf,char *outbuf,int length,int bufsize)
|
||||
set_message(outbuf,3,3,True);
|
||||
|
||||
p = smb_buf(outbuf);
|
||||
strcpy(p,devicename); p = skip_string(p,1); /* device name */
|
||||
strcpy(p,fsname); p = skip_string(p,1); /* filesystem type e.g NTFS */
|
||||
pstrcpy(p,devicename); p = skip_string(p,1); /* device name */
|
||||
pstrcpy(p,fsname); p = skip_string(p,1); /* filesystem type e.g NTFS */
|
||||
|
||||
set_message(outbuf,3,PTR_DIFF(p,smb_buf(outbuf)),False);
|
||||
|
||||
@ -578,7 +578,7 @@ int reply_sesssetup_and_X(char *inbuf,char *outbuf,int length,int bufsize)
|
||||
/* If no username is sent use the guest account */
|
||||
if (!*user)
|
||||
{
|
||||
strcpy(user,lp_guestaccount(-1));
|
||||
pstrcpy(user,lp_guestaccount(-1));
|
||||
/* If no user and no password then set guest flag. */
|
||||
if( *smb_apasswd == 0)
|
||||
guest = True;
|
||||
@ -593,7 +593,7 @@ int reply_sesssetup_and_X(char *inbuf,char *outbuf,int length,int bufsize)
|
||||
*/
|
||||
|
||||
if((lp_security() != SEC_SHARE) || *user)
|
||||
strcpy(sesssetup_user,user);
|
||||
pstrcpy(sesssetup_user,user);
|
||||
|
||||
reload_services(True);
|
||||
|
||||
@ -641,7 +641,7 @@ int reply_sesssetup_and_X(char *inbuf,char *outbuf,int length,int bufsize)
|
||||
#endif
|
||||
}
|
||||
if (*smb_apasswd || !Get_Pwnam(user,True))
|
||||
strcpy(user,lp_guestaccount(-1));
|
||||
pstrcpy(user,lp_guestaccount(-1));
|
||||
DEBUG(3,("Registered username %s for guest access\n",user));
|
||||
guest = True;
|
||||
}
|
||||
@ -649,7 +649,7 @@ int reply_sesssetup_and_X(char *inbuf,char *outbuf,int length,int bufsize)
|
||||
|
||||
if (!Get_Pwnam(user,True)) {
|
||||
DEBUG(3,("No such user %s - using guest account\n",user));
|
||||
strcpy(user,lp_guestaccount(-1));
|
||||
pstrcpy(user,lp_guestaccount(-1));
|
||||
guest = True;
|
||||
}
|
||||
|
||||
@ -670,9 +670,9 @@ int reply_sesssetup_and_X(char *inbuf,char *outbuf,int length,int bufsize)
|
||||
char *p;
|
||||
set_message(outbuf,3,3,True);
|
||||
p = smb_buf(outbuf);
|
||||
strcpy(p,"Unix"); p = skip_string(p,1);
|
||||
strcpy(p,"Samba "); strcat(p,VERSION); p = skip_string(p,1);
|
||||
strcpy(p,global_myworkgroup); p = skip_string(p,1);
|
||||
pstrcpy(p,"Unix"); p = skip_string(p,1);
|
||||
pstrcpy(p,"Samba "); pstrcat(p,VERSION); p = skip_string(p,1);
|
||||
pstrcpy(p,global_myworkgroup); p = skip_string(p,1);
|
||||
set_message(outbuf,3,PTR_DIFF(p,smb_buf(outbuf)),False);
|
||||
/* perhaps grab OS version here?? */
|
||||
}
|
||||
@ -984,7 +984,7 @@ int reply_search(char *inbuf,char *outbuf, int dum_size, int dum_buffsize)
|
||||
p = strrchr(dir2,'/');
|
||||
if (p == NULL)
|
||||
{
|
||||
strcpy(mask,dir2);
|
||||
pstrcpy(mask,dir2);
|
||||
*dir2 = 0;
|
||||
}
|
||||
else
|
||||
@ -1000,7 +1000,7 @@ int reply_search(char *inbuf,char *outbuf, int dum_size, int dum_buffsize)
|
||||
*p = 0;
|
||||
|
||||
if (strlen(directory) == 0)
|
||||
strcpy(directory,"./");
|
||||
pstrcpy(directory,"./");
|
||||
bzero(status,21);
|
||||
CVAL(status,0) = dirtype;
|
||||
}
|
||||
@ -1027,8 +1027,8 @@ int reply_search(char *inbuf,char *outbuf, int dum_size, int dum_buffsize)
|
||||
fstrcpy(ext,p+1);
|
||||
*p = 0;
|
||||
trim_string(mask,NULL," ");
|
||||
strcat(mask,".");
|
||||
strcat(mask,ext);
|
||||
pstrcat(mask,".");
|
||||
pstrcat(mask,ext);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1049,7 +1049,7 @@ int reply_search(char *inbuf,char *outbuf, int dum_size, int dum_buffsize)
|
||||
fstrcpy(tmp,&mask[8]);
|
||||
mask[8] = '.';
|
||||
mask[9] = 0;
|
||||
strcat(mask,tmp);
|
||||
pstrcat(mask,tmp);
|
||||
}
|
||||
|
||||
DEBUG(5,("mask=%s directory=%s\n",mask,directory));
|
||||
@ -1566,7 +1566,7 @@ int reply_ctemp(char *inbuf,char *outbuf, int dum_size, int dum_buffsize)
|
||||
cnum = SVAL(inbuf,smb_tid);
|
||||
createmode = SVAL(inbuf,smb_vwv0);
|
||||
pstrcpy(fname,smb_buf(inbuf)+1);
|
||||
strcat(fname,"/TMXXXXXX");
|
||||
pstrcat(fname,"/TMXXXXXX");
|
||||
unix_convert(fname,cnum,0,&bad_path);
|
||||
|
||||
unixmode = unix_mode(cnum,createmode);
|
||||
@ -1586,7 +1586,7 @@ int reply_ctemp(char *inbuf,char *outbuf, int dum_size, int dum_buffsize)
|
||||
return(UNIXERROR(ERRDOS,ERRnoaccess));
|
||||
}
|
||||
|
||||
strcpy(fname2,(char *)mktemp(fname));
|
||||
pstrcpy(fname2,(char *)mktemp(fname));
|
||||
|
||||
/* Open file in dos compatibility share mode. */
|
||||
/* We should fail if file exists. */
|
||||
@ -1609,7 +1609,7 @@ int reply_ctemp(char *inbuf,char *outbuf, int dum_size, int dum_buffsize)
|
||||
outsize = set_message(outbuf,1,2 + strlen(fname2),True);
|
||||
SSVAL(outbuf,smb_vwv0,fnum);
|
||||
CVAL(smb_buf(outbuf),0) = 4;
|
||||
strcpy(smb_buf(outbuf) + 1,fname2);
|
||||
pstrcpy(smb_buf(outbuf) + 1,fname2);
|
||||
|
||||
if (oplock_request && lp_fake_oplocks(SNUM(cnum))) {
|
||||
CVAL(outbuf,smb_flg) |= CORE_OPLOCK_GRANTED;
|
||||
@ -1678,12 +1678,12 @@ int reply_unlink(char *inbuf,char *outbuf, int dum_size, int dum_buffsize)
|
||||
|
||||
p = strrchr(name,'/');
|
||||
if (!p) {
|
||||
strcpy(directory,"./");
|
||||
strcpy(mask,name);
|
||||
pstrcpy(directory,"./");
|
||||
pstrcpy(mask,name);
|
||||
} else {
|
||||
*p = 0;
|
||||
strcpy(directory,name);
|
||||
strcpy(mask,p+1);
|
||||
pstrcpy(directory,name);
|
||||
pstrcpy(mask,p+1);
|
||||
}
|
||||
|
||||
if (is_mangled(mask))
|
||||
@ -1692,8 +1692,8 @@ int reply_unlink(char *inbuf,char *outbuf, int dum_size, int dum_buffsize)
|
||||
has_wild = strchr(mask,'*') || strchr(mask,'?');
|
||||
|
||||
if (!has_wild) {
|
||||
strcat(directory,"/");
|
||||
strcat(directory,mask);
|
||||
pstrcat(directory,"/");
|
||||
pstrcat(directory,mask);
|
||||
if (can_delete(directory,cnum,dirtype) && !sys_unlink(directory)) count++;
|
||||
if (!count) exists = file_exist(directory,NULL);
|
||||
} else {
|
||||
@ -1713,7 +1713,7 @@ int reply_unlink(char *inbuf,char *outbuf, int dum_size, int dum_buffsize)
|
||||
error = ERRbadfile;
|
||||
|
||||
if (strequal(mask,"????????.???"))
|
||||
strcpy(mask,"*");
|
||||
pstrcpy(mask,"*");
|
||||
|
||||
while ((dname = ReadDirName(dirptr)))
|
||||
{
|
||||
@ -2636,7 +2636,7 @@ int reply_printopen(char *inbuf,char *outbuf, int dum_size, int dum_buffsize)
|
||||
if (fnum < 0)
|
||||
return(ERROR(ERRSRV,ERRnofids));
|
||||
|
||||
strcpy(fname2,(char *)mktemp(fname));
|
||||
pstrcpy(fname2,(char *)mktemp(fname));
|
||||
|
||||
if (!check_name(fname2,cnum)) {
|
||||
Files[fnum].reserved = False;
|
||||
@ -2877,9 +2877,9 @@ static BOOL recursive_rmdir(char *directory)
|
||||
ret = True;
|
||||
break;
|
||||
}
|
||||
strcpy(fullname, directory);
|
||||
strcat(fullname, "/");
|
||||
strcat(fullname, dname);
|
||||
pstrcpy(fullname, directory);
|
||||
pstrcat(fullname, "/");
|
||||
pstrcat(fullname, dname);
|
||||
|
||||
if(sys_lstat(fullname, &st) != 0)
|
||||
{
|
||||
@ -2971,8 +2971,8 @@ int reply_rmdir(char *inbuf,char *outbuf, int dum_size, int dum_buffsize)
|
||||
break;
|
||||
}
|
||||
pstrcpy(fullname, directory);
|
||||
strcat(fullname, "/");
|
||||
strcat(fullname, dname);
|
||||
pstrcat(fullname, "/");
|
||||
pstrcat(fullname, dname);
|
||||
|
||||
if(sys_lstat(fullname, &st) != 0)
|
||||
break;
|
||||
@ -3078,10 +3078,10 @@ static BOOL resolve_wildcards(char *name1,char *name2)
|
||||
if (*p) p++;
|
||||
}
|
||||
|
||||
strcpy(name2,root2);
|
||||
pstrcpy(name2,root2);
|
||||
if (ext2[0]) {
|
||||
strcat(name2,".");
|
||||
strcat(name2,ext2);
|
||||
pstrcat(name2,".");
|
||||
pstrcat(name2,ext2);
|
||||
}
|
||||
|
||||
return(True);
|
||||
@ -3144,12 +3144,12 @@ int reply_mv(char *inbuf,char *outbuf, int dum_size, int dum_buffsize)
|
||||
|
||||
p = strrchr(name,'/');
|
||||
if (!p) {
|
||||
strcpy(directory,".");
|
||||
strcpy(mask,name);
|
||||
pstrcpy(directory,".");
|
||||
pstrcpy(mask,name);
|
||||
} else {
|
||||
*p = 0;
|
||||
strcpy(directory,name);
|
||||
strcpy(mask,p+1);
|
||||
pstrcpy(directory,name);
|
||||
pstrcpy(mask,p+1);
|
||||
*p = '/'; /* Replace needed for exceptional test below. */
|
||||
}
|
||||
|
||||
@ -3162,16 +3162,16 @@ int reply_mv(char *inbuf,char *outbuf, int dum_size, int dum_buffsize)
|
||||
BOOL is_short_name = is_8_3(name, True);
|
||||
|
||||
/* Add a terminating '/' to the directory name. */
|
||||
strcat(directory,"/");
|
||||
strcat(directory,mask);
|
||||
pstrcat(directory,"/");
|
||||
pstrcat(directory,mask);
|
||||
|
||||
/* Ensure newname contains a '/' also */
|
||||
if(strrchr(newname,'/') == 0) {
|
||||
pstring tmpstr;
|
||||
|
||||
strcpy(tmpstr, "./");
|
||||
strcat(tmpstr, newname);
|
||||
strcpy(newname, tmpstr);
|
||||
pstrcpy(tmpstr, "./");
|
||||
pstrcat(tmpstr, newname);
|
||||
pstrcpy(newname, tmpstr);
|
||||
}
|
||||
|
||||
DEBUG(3,("reply_mv : case_sensitive = %d, case_preserve = %d, short case preserve = %d, directory = %s, newname = %s, newname_last_component = %s, is_8_3 = %d\n",
|
||||
@ -3197,7 +3197,7 @@ int reply_mv(char *inbuf,char *outbuf, int dum_size, int dum_buffsize)
|
||||
* character above.
|
||||
*/
|
||||
p = strrchr(newname,'/');
|
||||
strcpy(newname_modified_last_component,p+1);
|
||||
pstrcpy(newname_modified_last_component,p+1);
|
||||
|
||||
if(strcsequal(newname_modified_last_component,
|
||||
newname_last_component) == False) {
|
||||
@ -3205,7 +3205,7 @@ int reply_mv(char *inbuf,char *outbuf, int dum_size, int dum_buffsize)
|
||||
* Replace the modified last component with
|
||||
* the original.
|
||||
*/
|
||||
strcpy(p+1, newname_last_component);
|
||||
pstrcpy(p+1, newname_last_component);
|
||||
}
|
||||
}
|
||||
|
||||
@ -3235,7 +3235,7 @@ int reply_mv(char *inbuf,char *outbuf, int dum_size, int dum_buffsize)
|
||||
error = ERRbadfile;
|
||||
|
||||
if (strequal(mask,"????????.???"))
|
||||
strcpy(mask,"*");
|
||||
pstrcpy(mask,"*");
|
||||
|
||||
while ((dname = ReadDirName(dirptr)))
|
||||
{
|
||||
@ -3309,8 +3309,8 @@ static BOOL copy_file(char *src,char *dest1,int cnum,int ofun,
|
||||
p++;
|
||||
else
|
||||
p = src;
|
||||
strcat(dest,"/");
|
||||
strcat(dest,p);
|
||||
pstrcat(dest,"/");
|
||||
pstrcat(dest,p);
|
||||
}
|
||||
|
||||
if (!file_exist(src,&st)) return(False);
|
||||
@ -3415,12 +3415,12 @@ int reply_copy(char *inbuf,char *outbuf, int dum_size, int dum_buffsize)
|
||||
|
||||
p = strrchr(name,'/');
|
||||
if (!p) {
|
||||
strcpy(directory,"./");
|
||||
strcpy(mask,name);
|
||||
pstrcpy(directory,"./");
|
||||
pstrcpy(mask,name);
|
||||
} else {
|
||||
*p = 0;
|
||||
strcpy(directory,name);
|
||||
strcpy(mask,p+1);
|
||||
pstrcpy(directory,name);
|
||||
pstrcpy(mask,p+1);
|
||||
}
|
||||
|
||||
if (is_mangled(mask))
|
||||
@ -3429,8 +3429,8 @@ int reply_copy(char *inbuf,char *outbuf, int dum_size, int dum_buffsize)
|
||||
has_wild = strchr(mask,'*') || strchr(mask,'?');
|
||||
|
||||
if (!has_wild) {
|
||||
strcat(directory,"/");
|
||||
strcat(directory,mask);
|
||||
pstrcat(directory,"/");
|
||||
pstrcat(directory,mask);
|
||||
if (resolve_wildcards(directory,newname) &&
|
||||
copy_file(directory,newname,cnum,ofun,
|
||||
count,target_is_directory)) count++;
|
||||
@ -3448,7 +3448,7 @@ int reply_copy(char *inbuf,char *outbuf, int dum_size, int dum_buffsize)
|
||||
error = ERRbadfile;
|
||||
|
||||
if (strequal(mask,"????????.???"))
|
||||
strcpy(mask,"*");
|
||||
pstrcpy(mask,"*");
|
||||
|
||||
while ((dname = ReadDirName(dirptr)))
|
||||
{
|
||||
@ -3459,7 +3459,7 @@ int reply_copy(char *inbuf,char *outbuf, int dum_size, int dum_buffsize)
|
||||
|
||||
error = ERRnoaccess;
|
||||
slprintf(fname,sizeof(fname)-1, "%s/%s",directory,dname);
|
||||
strcpy(destname,newname);
|
||||
pstrcpy(destname,newname);
|
||||
if (resolve_wildcards(fname,destname) &&
|
||||
copy_file(directory,newname,cnum,ofun,
|
||||
count,target_is_directory)) count++;
|
||||
|
@ -427,8 +427,8 @@ static BOOL mangled_equal(char *name1, char *name2)
|
||||
if (is_8_3(name2, True))
|
||||
return(False);
|
||||
|
||||
strcpy(tmpname,name2);
|
||||
mangle_name_83(tmpname);
|
||||
pstrcpy(tmpname,name2);
|
||||
mangle_name_83(tmpname,sizeof(tmpname));
|
||||
|
||||
return(strequal(name1,tmpname));
|
||||
}
|
||||
@ -453,7 +453,7 @@ static BOOL scan_directory(char *path, char *name,int cnum,BOOL docache)
|
||||
path = ".";
|
||||
|
||||
if (docache && (dname = DirCacheCheck(path,name,SNUM(cnum)))) {
|
||||
strcpy(name, dname);
|
||||
pstrcpy(name, dname);
|
||||
return(True);
|
||||
}
|
||||
|
||||
@ -489,7 +489,7 @@ static BOOL scan_directory(char *path, char *name,int cnum,BOOL docache)
|
||||
{
|
||||
/* we've found the file, change it's name and return */
|
||||
if (docache) DirCacheAdd(path,name,dname,SNUM(cnum));
|
||||
strcpy(name, dname);
|
||||
pstrcpy(name, dname);
|
||||
CloseDir(cur_dir);
|
||||
return(True);
|
||||
}
|
||||
@ -547,9 +547,9 @@ BOOL unix_convert(char *name,int cnum,pstring saved_last_component, BOOL *bad_pa
|
||||
if(saved_last_component) {
|
||||
end = strrchr(name, '/');
|
||||
if(end)
|
||||
strcpy(saved_last_component, end + 1);
|
||||
pstrcpy(saved_last_component, end + 1);
|
||||
else
|
||||
strcpy(saved_last_component, name);
|
||||
pstrcpy(saved_last_component, name);
|
||||
}
|
||||
|
||||
if (!case_sensitive &&
|
||||
@ -567,7 +567,7 @@ BOOL unix_convert(char *name,int cnum,pstring saved_last_component, BOOL *bad_pa
|
||||
/* sanitise the name */
|
||||
for (s=name2 ; *s ; s++)
|
||||
if (!issafe(*s)) *s = '_';
|
||||
strcpy(name,(char *)mktemp(name2));
|
||||
pstrcpy(name,(char *)mktemp(name2));
|
||||
}
|
||||
return(True);
|
||||
}
|
||||
@ -604,7 +604,7 @@ BOOL unix_convert(char *name,int cnum,pstring saved_last_component, BOOL *bad_pa
|
||||
if (end) *end = 0;
|
||||
|
||||
if(saved_last_component != 0)
|
||||
strcpy(saved_last_component, end ? end + 1 : start);
|
||||
pstrcpy(saved_last_component, end ? end + 1 : start);
|
||||
|
||||
/* check if the name exists up to this point */
|
||||
if (sys_stat(name, &st) == 0)
|
||||
@ -669,14 +669,14 @@ BOOL unix_convert(char *name,int cnum,pstring saved_last_component, BOOL *bad_pa
|
||||
/* restore the rest of the string */
|
||||
if (end)
|
||||
{
|
||||
strcpy(start+strlen(start)+1,rest);
|
||||
pstrcpy(start+strlen(start)+1,rest);
|
||||
end = start + strlen(start);
|
||||
}
|
||||
}
|
||||
|
||||
/* add to the dirpath that we have resolved so far */
|
||||
if (*dirpath) strcat(dirpath,"/");
|
||||
strcat(dirpath,start);
|
||||
if (*dirpath) pstrcat(dirpath,"/");
|
||||
pstrcat(dirpath,start);
|
||||
|
||||
/* restore the / that we wiped out earlier */
|
||||
if (end) *end = '/';
|
||||
@ -990,7 +990,7 @@ static int fd_attempt_open(char *fname, int flags, int mode)
|
||||
if((fd == -1) && (errno == ENOENT) &&
|
||||
(strchr(fname,'.')==NULL))
|
||||
{
|
||||
strcat(fname,".");
|
||||
pstrcat(fname,".");
|
||||
fd = sys_open(fname,flags,mode);
|
||||
}
|
||||
|
||||
@ -3370,7 +3370,7 @@ int make_connection(char *service,char *user,char *password, int pwlen, char *de
|
||||
{
|
||||
if (validated_username(vuid))
|
||||
{
|
||||
strcpy(user,validated_username(vuid));
|
||||
pstrcpy(user,validated_username(vuid));
|
||||
return(make_connection(user,user,password,pwlen,dev,vuid));
|
||||
}
|
||||
}
|
||||
@ -3381,7 +3381,7 @@ int make_connection(char *service,char *user,char *password, int pwlen, char *de
|
||||
*/
|
||||
if(*sesssetup_user)
|
||||
{
|
||||
strcpy(user,sesssetup_user);
|
||||
pstrcpy(user,sesssetup_user);
|
||||
return(make_connection(user,user,password,pwlen,dev,vuid));
|
||||
}
|
||||
}
|
||||
@ -3393,14 +3393,14 @@ int make_connection(char *service,char *user,char *password, int pwlen, char *de
|
||||
|
||||
/* you can only connect to the IPC$ service as an ipc device */
|
||||
if (strequal(service,"IPC$"))
|
||||
strcpy(dev,"IPC");
|
||||
pstrcpy(dev,"IPC");
|
||||
|
||||
if (*dev == '?' || !*dev)
|
||||
{
|
||||
if (lp_print_ok(snum))
|
||||
strcpy(dev,"LPT1:");
|
||||
pstrcpy(dev,"LPT1:");
|
||||
else
|
||||
strcpy(dev,"A:");
|
||||
pstrcpy(dev,"A:");
|
||||
}
|
||||
|
||||
/* if the request is as a printer and you can't print then refuse */
|
||||
@ -3964,7 +3964,7 @@ int reply_nt1(char *outbuf)
|
||||
data_len = crypt_len + strlen(global_myworkgroup) + 1;
|
||||
|
||||
set_message(outbuf,17,data_len,True);
|
||||
strcpy(smb_buf(outbuf)+crypt_len, global_myworkgroup);
|
||||
pstrcpy(smb_buf(outbuf)+crypt_len, global_myworkgroup);
|
||||
|
||||
CVAL(outbuf,smb_vwv1) = secword;
|
||||
SSVALS(outbuf,smb_vwv16+1,crypt_len);
|
||||
@ -4221,7 +4221,7 @@ void close_cnum(int cnum, uint16 vuid)
|
||||
if (*lp_postexec(SNUM(cnum)) && become_user(&Connections[cnum], cnum,vuid))
|
||||
{
|
||||
pstring cmd;
|
||||
strcpy(cmd,lp_postexec(SNUM(cnum)));
|
||||
pstrcpy(cmd,lp_postexec(SNUM(cnum)));
|
||||
standard_sub(cnum,cmd);
|
||||
smbrun(cmd,NULL,False);
|
||||
unbecome_user();
|
||||
@ -4232,7 +4232,7 @@ void close_cnum(int cnum, uint16 vuid)
|
||||
if (*lp_rootpostexec(SNUM(cnum)))
|
||||
{
|
||||
pstring cmd;
|
||||
strcpy(cmd,lp_rootpostexec(SNUM(cnum)));
|
||||
pstrcpy(cmd,lp_rootpostexec(SNUM(cnum)));
|
||||
standard_sub(cnum,cmd);
|
||||
smbrun(cmd,NULL,False);
|
||||
}
|
||||
@ -4270,7 +4270,7 @@ static BOOL dump_core(void)
|
||||
pstring dname;
|
||||
pstrcpy(dname,debugf);
|
||||
if ((p=strrchr(dname,'/'))) *p=0;
|
||||
strcat(dname,"/corefiles");
|
||||
pstrcat(dname,"/corefiles");
|
||||
mkdir(dname,0700);
|
||||
sys_chown(dname,getuid(),getgid());
|
||||
chmod(dname,0700);
|
||||
@ -5060,9 +5060,9 @@ static void usage(char *pname)
|
||||
|
||||
TimeInit();
|
||||
|
||||
strcpy(debugf,SMBLOGFILE);
|
||||
pstrcpy(debugf,SMBLOGFILE);
|
||||
|
||||
strcpy(remote_machine, "smb");
|
||||
pstrcpy(remote_machine, "smb");
|
||||
|
||||
setup_logging(argv[0],False);
|
||||
|
||||
@ -5101,10 +5101,10 @@ static void usage(char *pname)
|
||||
switch (opt)
|
||||
{
|
||||
case 'O':
|
||||
strcpy(user_socket_options,optarg);
|
||||
pstrcpy(user_socket_options,optarg);
|
||||
break;
|
||||
case 'i':
|
||||
strcpy(scope,optarg);
|
||||
pstrcpy(scope,optarg);
|
||||
break;
|
||||
case 'P':
|
||||
{
|
||||
@ -5113,10 +5113,10 @@ static void usage(char *pname)
|
||||
}
|
||||
break;
|
||||
case 's':
|
||||
strcpy(servicesf,optarg);
|
||||
pstrcpy(servicesf,optarg);
|
||||
break;
|
||||
case 'l':
|
||||
strcpy(debugf,optarg);
|
||||
pstrcpy(debugf,optarg);
|
||||
break;
|
||||
case 'a':
|
||||
{
|
||||
@ -5185,7 +5185,7 @@ static void usage(char *pname)
|
||||
|
||||
codepage_initialise(lp_client_code_page());
|
||||
|
||||
strcpy(global_myworkgroup, lp_workgroup());
|
||||
pstrcpy(global_myworkgroup, lp_workgroup());
|
||||
|
||||
#ifndef NO_SIGNAL_TEST
|
||||
signal(SIGHUP,SIGNAL_CAST sig_hup);
|
||||
|
@ -325,7 +325,7 @@ static int get_lanman2_dir_entry(int cnum,char *path_mask,int dirtype,int info_l
|
||||
if(p != NULL)
|
||||
{
|
||||
if(p[1] == '\0')
|
||||
strcpy(mask,"*.*");
|
||||
pstrcpy(mask,"*.*");
|
||||
else
|
||||
pstrcpy(mask, p+1);
|
||||
}
|
||||
@ -368,8 +368,8 @@ static int get_lanman2_dir_entry(int cnum,char *path_mask,int dirtype,int info_l
|
||||
|
||||
pstrcpy(pathreal,Connections[cnum].dirpath);
|
||||
if(needslash)
|
||||
strcat(pathreal,"/");
|
||||
strcat(pathreal,dname);
|
||||
pstrcat(pathreal,"/");
|
||||
pstrcat(pathreal,dname);
|
||||
if (sys_stat(pathreal,&sbuf) != 0)
|
||||
{
|
||||
DEBUG(5,("get_lanman2_dir_entry:Couldn't stat [%s] (%s)\n",pathreal,strerror(errno)));
|
||||
@ -417,7 +417,7 @@ static int get_lanman2_dir_entry(int cnum,char *path_mask,int dirtype,int info_l
|
||||
SIVAL(p,l1_cbFileAlloc,ROUNDUP(size,1024));
|
||||
SSVAL(p,l1_attrFile,mode);
|
||||
SCVAL(p,l1_cchName,strlen(fname));
|
||||
strcpy(p + l1_achName, fname);
|
||||
pstrcpy(p + l1_achName, fname);
|
||||
nameptr = p + l1_achName;
|
||||
p += l1_achName + strlen(fname) + 1;
|
||||
break;
|
||||
@ -436,7 +436,7 @@ static int get_lanman2_dir_entry(int cnum,char *path_mask,int dirtype,int info_l
|
||||
SSVAL(p,l2_attrFile,mode);
|
||||
SIVAL(p,l2_cbList,0); /* No extended attributes */
|
||||
SCVAL(p,l2_cchName,strlen(fname));
|
||||
strcpy(p + l2_achName, fname);
|
||||
pstrcpy(p + l2_achName, fname);
|
||||
nameptr = p + l2_achName;
|
||||
p += l2_achName + strlen(fname) + 1;
|
||||
break;
|
||||
@ -451,7 +451,7 @@ static int get_lanman2_dir_entry(int cnum,char *path_mask,int dirtype,int info_l
|
||||
SSVAL(p,24,mode);
|
||||
SIVAL(p,26,4);
|
||||
CVAL(p,30) = strlen(fname);
|
||||
strcpy(p+31, fname);
|
||||
pstrcpy(p+31, fname);
|
||||
nameptr = p+31;
|
||||
p += 31 + strlen(fname) + 1;
|
||||
break;
|
||||
@ -469,7 +469,7 @@ static int get_lanman2_dir_entry(int cnum,char *path_mask,int dirtype,int info_l
|
||||
SIVAL(p,20,ROUNDUP(size,1024));
|
||||
SSVAL(p,24,mode);
|
||||
CVAL(p,32) = strlen(fname);
|
||||
strcpy(p + 33, fname);
|
||||
pstrcpy(p + 33, fname);
|
||||
nameptr = p+33;
|
||||
p += 33 + strlen(fname) + 1;
|
||||
break;
|
||||
@ -490,7 +490,7 @@ static int get_lanman2_dir_entry(int cnum,char *path_mask,int dirtype,int info_l
|
||||
SIVAL(p,0,strlen(fname)); p += 4;
|
||||
SIVAL(p,0,0); p += 4;
|
||||
if (!was_8_3) {
|
||||
strcpy(p+2,fname);
|
||||
pstrcpy(p+2,fname);
|
||||
if (!name_map_mangle(p+2,True,SNUM(cnum)))
|
||||
(p+2)[12] = 0;
|
||||
} else
|
||||
@ -499,7 +499,7 @@ static int get_lanman2_dir_entry(int cnum,char *path_mask,int dirtype,int info_l
|
||||
SSVAL(p,0,strlen(p+2));
|
||||
p += 2 + 24;
|
||||
/* nameptr = p; */
|
||||
strcpy(p,fname); p += strlen(p);
|
||||
pstrcpy(p,fname); p += strlen(p);
|
||||
p = pdata + len;
|
||||
break;
|
||||
|
||||
@ -516,7 +516,7 @@ static int get_lanman2_dir_entry(int cnum,char *path_mask,int dirtype,int info_l
|
||||
SIVAL(p,0,size); p += 8;
|
||||
SIVAL(p,0,nt_extmode); p += 4;
|
||||
SIVAL(p,0,strlen(fname)); p += 4;
|
||||
strcpy(p,fname);
|
||||
pstrcpy(p,fname);
|
||||
p = pdata + len;
|
||||
break;
|
||||
|
||||
@ -535,7 +535,7 @@ static int get_lanman2_dir_entry(int cnum,char *path_mask,int dirtype,int info_l
|
||||
SIVAL(p,0,nt_extmode); p += 4;
|
||||
SIVAL(p,0,strlen(fname)); p += 4;
|
||||
SIVAL(p,0,0); p += 4;
|
||||
strcpy(p,fname);
|
||||
pstrcpy(p,fname);
|
||||
p = pdata + len;
|
||||
break;
|
||||
|
||||
@ -545,7 +545,7 @@ static int get_lanman2_dir_entry(int cnum,char *path_mask,int dirtype,int info_l
|
||||
SIVAL(p,0,len); p += 4;
|
||||
SIVAL(p,0,reskey); p += 4;
|
||||
SIVAL(p,0,strlen(fname)); p += 4;
|
||||
strcpy(p,fname);
|
||||
pstrcpy(p,fname);
|
||||
p = pdata + len;
|
||||
break;
|
||||
|
||||
@ -651,10 +651,10 @@ static int call_trans2findfirst(char *inbuf, char *outbuf, int bufsize, int cnum
|
||||
|
||||
p = strrchr(directory,'/');
|
||||
if(p == NULL) {
|
||||
strcpy(mask,directory);
|
||||
strcpy(directory,"./");
|
||||
pstrcpy(mask,directory);
|
||||
pstrcpy(directory,"./");
|
||||
} else {
|
||||
strcpy(mask,p+1);
|
||||
pstrcpy(mask,p+1);
|
||||
*p = 0;
|
||||
}
|
||||
|
||||
@ -686,7 +686,7 @@ static int call_trans2findfirst(char *inbuf, char *outbuf, int bufsize, int cnum
|
||||
}
|
||||
|
||||
/* a special case for 16 bit apps */
|
||||
if (strequal(mask,"????????.???")) strcpy(mask,"*");
|
||||
if (strequal(mask,"????????.???")) pstrcpy(mask,"*");
|
||||
|
||||
/* handle broken clients that send us old 8.3 format */
|
||||
string_sub(mask,"????????","*");
|
||||
@ -863,8 +863,8 @@ resume_key = %d resume name = %s continue=%d level = %d\n",
|
||||
DEBUG(2,("dptr_num %d has no wildcard\n", dptr_num));
|
||||
return (ERROR(ERRDOS,ERRnofiles));
|
||||
}
|
||||
strcpy(mask, p);
|
||||
strcpy(directory,Connections[cnum].dirpath);
|
||||
pstrcpy(mask, p);
|
||||
pstrcpy(directory,Connections[cnum].dirpath);
|
||||
|
||||
/* Get the attr mask from the dptr */
|
||||
dirtype = dptr_attr(dptr_num);
|
||||
@ -1060,7 +1060,7 @@ static int call_trans2qfsinfo(char *inbuf, char *outbuf, int length, int bufsize
|
||||
case SMB_QUERY_FS_LABEL_INFO:
|
||||
data_len = 4 + strlen(vname);
|
||||
SIVAL(pdata,0,strlen(vname));
|
||||
strcpy(pdata+4,vname);
|
||||
pstrcpy(pdata+4,vname);
|
||||
break;
|
||||
case SMB_QUERY_FS_VOLUME_INFO:
|
||||
data_len = 18 + 2*strlen(vname);
|
||||
|
@ -50,7 +50,7 @@ extern int DEBUGLEVEL;
|
||||
extern char *InBuffer, *OutBuffer;
|
||||
extern int done_become_user;
|
||||
|
||||
char master_name [64], slave_name [64];
|
||||
fstring master_name, slave_name;
|
||||
int master, slave, i, o, e;
|
||||
|
||||
int ms_type = MS_NONE,
|
||||
@ -202,8 +202,8 @@ int VT_Start(void)
|
||||
#endif
|
||||
|
||||
if(ms_poll == MS_VTY || ms_poll == 0) {
|
||||
strcpy(master_name, MASTER_TMPL);
|
||||
strcpy(slave_name, SLAVE_TMPL);
|
||||
fstrcpy(master_name, MASTER_TMPL);
|
||||
fstrcpy(slave_name, SLAVE_TMPL);
|
||||
|
||||
for(X = LETTER1; *X && master < 0; X++)
|
||||
for(Y = LETTER2; *Y && master < 0; Y++) {
|
||||
@ -242,9 +242,9 @@ int VT_Start(void)
|
||||
int i;
|
||||
|
||||
for(i = MIN_I; i <= MAX_I && master < 0; i++) {
|
||||
sprintf(master_name, MASTER_TMPL, i);
|
||||
slprintf(master_name, sizeof(fstring) - 1, MASTER_TMPL, i);
|
||||
if((master = open(master_name, O_RDWR)) >= 0) {
|
||||
sprintf(slave_name, SLAVE_TMPL, i);
|
||||
slprintf(slave_name, sizeof(fstring) - 1, SLAVE_TMPL, i);
|
||||
if((slave = open(slave_name, O_RDWR)) < 0)
|
||||
close(master);
|
||||
}
|
||||
|
@ -28,9 +28,9 @@
|
||||
|
||||
char *files_to_copy;
|
||||
char *driverfile, *datafile, *helpfile, *languagemonitor, *datatype;
|
||||
char buffer[50][255];
|
||||
char sbuffer[50][255];
|
||||
char sub_dir[50][2][255];
|
||||
char buffer[50][sizeof(pstring)];
|
||||
char sbuffer[50][sizeof(pstring)];
|
||||
char sub_dir[50][2][sizeof(pstring)];
|
||||
|
||||
void usage(char *name)
|
||||
{
|
||||
@ -42,31 +42,31 @@ char *myfgets(char *s, int n, FILE *stream)
|
||||
char *LString1;
|
||||
char *LString2;
|
||||
char *temp;
|
||||
char String[255];
|
||||
char NewString[255];
|
||||
pstring String;
|
||||
pstring NewString;
|
||||
int i;
|
||||
|
||||
fgets(s,n,stream);
|
||||
while ((LString1 = strchr(s,'%')) != NULL) {
|
||||
if (!(LString2 = strchr(LString1+1,'%'))) break;
|
||||
*LString2 = '\0';
|
||||
strcpy(String,LString1+1);
|
||||
pstrcpy(String,LString1+1);
|
||||
i = 0;
|
||||
while(*sbuffer[i]!='\0') {
|
||||
if (strncmp(sbuffer[i],String,strlen(String))==0)
|
||||
{
|
||||
strcpy(String,sbuffer[i]);
|
||||
pstrcpy(String,sbuffer[i]);
|
||||
if ((temp = strchr(String,'=')) != NULL) ++temp;
|
||||
strcpy(String,temp);
|
||||
pstrcpy(String,temp);
|
||||
break;
|
||||
}
|
||||
i++;
|
||||
}
|
||||
*LString1 = '\0';
|
||||
strcpy(NewString,s);
|
||||
strcat(NewString,String);
|
||||
strcat(NewString,LString2+1);
|
||||
strcpy(s, NewString);
|
||||
pstrcpy(NewString,s);
|
||||
pstrcat(NewString,String);
|
||||
pstrcat(NewString,LString2+1);
|
||||
pstrcpy(s, NewString);
|
||||
}
|
||||
return(s);
|
||||
}
|
||||
@ -82,15 +82,15 @@ char *scan(char *chaine,char **entry)
|
||||
char *temp;
|
||||
int i=0;
|
||||
|
||||
*entry=(char *)malloc(255*sizeof(char));
|
||||
value=(char *)malloc(255*sizeof(char));
|
||||
strcpy(*entry,chaine);
|
||||
*entry=(char *)malloc(sizeof(pstring));
|
||||
value=(char *)malloc(sizeof(pstring));
|
||||
pstrcpy(*entry,chaine);
|
||||
temp=chaine;
|
||||
while( temp[i]!='=' && temp[i]!='\0') {
|
||||
i++;
|
||||
}
|
||||
(*entry)[i]='\0';
|
||||
strcpy(value,temp+i+1);
|
||||
pstrcpy(value,temp+i+1);
|
||||
return (value);
|
||||
}
|
||||
|
||||
@ -107,12 +107,12 @@ void build_subdir(void)
|
||||
#endif
|
||||
|
||||
if (strcmp(data,"11")==0) {
|
||||
strcpy(sub_dir[i][0],entry);
|
||||
strcpy(sub_dir[i][1],"");
|
||||
pstrcpy(sub_dir[i][0],entry);
|
||||
pstrcpy(sub_dir[i][1],"");
|
||||
}
|
||||
if (strcmp(data,"23")==0) {
|
||||
strcpy(sub_dir[i][0],entry);
|
||||
strcpy(sub_dir[i][1],"color\\");
|
||||
pstrcpy(sub_dir[i][0],entry);
|
||||
pstrcpy(sub_dir[i][1],"color\\");
|
||||
}
|
||||
#ifdef DEBUGIT
|
||||
fprintf(stderr,"\tsubdir %s:%s\n",sub_dir[i][0],sub_dir[i][1]);
|
||||
@ -131,12 +131,12 @@ void lookup_strings(FILE *fichier)
|
||||
int found=0,pointeur=0,i=0;
|
||||
char *temp,*temp2;
|
||||
|
||||
temp=(char *)malloc(255*sizeof(char));
|
||||
temp2=(char *)malloc(255*sizeof(char));
|
||||
temp=(char *)malloc(sizeof(pstring));
|
||||
temp2=(char *)malloc(sizeof(pstring));
|
||||
|
||||
*sbuffer[0]='\0';
|
||||
|
||||
strcpy(temp2,"[Strings]");
|
||||
pstrcpy(temp2,"[Strings]");
|
||||
|
||||
rewind(fichier);
|
||||
#ifdef DEBUGIT
|
||||
@ -158,7 +158,7 @@ void lookup_strings(FILE *fichier)
|
||||
*sbuffer[pointeur]='\0';
|
||||
}
|
||||
else {
|
||||
strcpy(sbuffer[pointeur],temp);
|
||||
pstrcpy(sbuffer[pointeur],temp);
|
||||
i=strlen(sbuffer[pointeur])-1;
|
||||
while (sbuffer[pointeur][i]=='\r' || sbuffer[pointeur][i]=='\n')
|
||||
sbuffer[pointeur][i--]='\0';
|
||||
@ -181,14 +181,14 @@ void lookup_entry(FILE *fichier,char *chaine)
|
||||
int found=0,pointeur=0,i=0;
|
||||
char *temp,*temp2;
|
||||
|
||||
temp=(char *)malloc(255*sizeof(char));
|
||||
temp2=(char *)malloc(255*sizeof(char));
|
||||
temp=(char *)malloc(sizeof(pstring));
|
||||
temp2=(char *)malloc(sizeof(pstring));
|
||||
|
||||
*buffer[0]='\0';
|
||||
|
||||
strcpy(temp2,"[");
|
||||
strcat(temp2,chaine);
|
||||
strcat(temp2,"]");
|
||||
pstrcpy(temp2,"[");
|
||||
pstrcat(temp2,chaine);
|
||||
pstrcat(temp2,"]");
|
||||
|
||||
rewind(fichier);
|
||||
#ifdef DEBUGIT
|
||||
@ -210,7 +210,7 @@ void lookup_entry(FILE *fichier,char *chaine)
|
||||
*buffer[pointeur]='\0';
|
||||
}
|
||||
else {
|
||||
strcpy(buffer[pointeur],temp);
|
||||
pstrcpy(buffer[pointeur],temp);
|
||||
i=strlen(buffer[pointeur])-1;
|
||||
while (buffer[pointeur][i]=='\r' || buffer[pointeur][i]=='\n')
|
||||
buffer[pointeur][i--]='\0';
|
||||
@ -232,9 +232,9 @@ char *find_desc(FILE *fichier,char *text)
|
||||
|
||||
int found=0;
|
||||
|
||||
chaine=(char *)malloc(255*sizeof(char));
|
||||
long_desc=(char *)malloc(40*sizeof(char));
|
||||
short_desc=(char *)malloc(40*sizeof(char));
|
||||
chaine=(char *)malloc(sizeof(pstring));
|
||||
long_desc=(char *)malloc(sizeof(pstring));
|
||||
short_desc=(char *)malloc(sizeof(pstring));
|
||||
if (!chaine || !long_desc || !short_desc) {
|
||||
fprintf(stderr,"Unable to malloc memory\n");
|
||||
exit(1);
|
||||
@ -267,7 +267,7 @@ char *find_desc(FILE *fichier,char *text)
|
||||
free(chaine);
|
||||
if (!found || !crap) return(NULL);
|
||||
while(*crap==' ') crap++;
|
||||
strcpy(short_desc,crap);
|
||||
pstrcpy(short_desc,crap);
|
||||
return(short_desc);
|
||||
}
|
||||
|
||||
@ -276,7 +276,7 @@ void scan_copyfiles(FILE *fichier, char *chaine)
|
||||
char *part;
|
||||
char *mpart;
|
||||
int i;
|
||||
char direc[255];
|
||||
pstring direc;
|
||||
#ifdef DEBUGIT
|
||||
fprintf(stderr,"In scan_copyfiles Lookup up of %s\n",chaine);
|
||||
#endif
|
||||
@ -290,19 +290,19 @@ void scan_copyfiles(FILE *fichier, char *chaine)
|
||||
*/
|
||||
if (*part=='@') {
|
||||
if (strlen(files_to_copy) != 0)
|
||||
strcat(files_to_copy,",");
|
||||
strcat(files_to_copy,&part[1]);
|
||||
pstrcat(files_to_copy,",");
|
||||
pstrcat(files_to_copy,&part[1]);
|
||||
fprintf(stderr,"%s\n",&part[1]);
|
||||
} else {
|
||||
lookup_entry(fichier,part);
|
||||
i=0;
|
||||
strcpy(direc,"");
|
||||
pstrcpy(direc,"");
|
||||
while (*sub_dir[i][0]!='\0') {
|
||||
#ifdef DEBUGIT
|
||||
fprintf(stderr,"\tsubdir %s:%s\n",sub_dir[i][0],sub_dir[i][1]);
|
||||
#endif
|
||||
if (strcmp(sub_dir[i][0],part)==0)
|
||||
strcpy(direc,sub_dir[i][1]);
|
||||
pstrcpy(direc,sub_dir[i][1]);
|
||||
i++;
|
||||
}
|
||||
i=0;
|
||||
@ -331,7 +331,7 @@ void scan_copyfiles(FILE *fichier, char *chaine)
|
||||
part = strchr(buffer[i],',');
|
||||
if (part) {
|
||||
if ((mpart = strrchr(part+1,','))!=NULL) {
|
||||
strcpy(buffer[i],mpart+1);
|
||||
pstrcpy(buffer[i],mpart+1);
|
||||
} else
|
||||
*part = '\0';
|
||||
while (--part > buffer[i])
|
||||
@ -340,9 +340,9 @@ void scan_copyfiles(FILE *fichier, char *chaine)
|
||||
}
|
||||
}
|
||||
if (strlen(files_to_copy) != 0)
|
||||
strcat(files_to_copy,",");
|
||||
strcat(files_to_copy,direc);
|
||||
strcat(files_to_copy,buffer[i]);
|
||||
pstrcat(files_to_copy,",");
|
||||
pstrcat(files_to_copy,direc);
|
||||
pstrcat(files_to_copy,buffer[i]);
|
||||
fprintf(stderr,"%s%s\n",direc,buffer[i]);
|
||||
i++;
|
||||
}
|
||||
@ -364,8 +364,8 @@ void scan_short_desc(FILE *fichier, char *short_desc)
|
||||
helpfile=0;
|
||||
languagemonitor=0;
|
||||
datatype="RAW";
|
||||
chaine=(char *)malloc(255*sizeof(char));
|
||||
temp=(char *)malloc(255*sizeof(char));
|
||||
chaine=(char *)malloc(sizeof(pstring));
|
||||
temp=(char *)malloc(sizeof(pstring));
|
||||
|
||||
driverfile=short_desc;
|
||||
datafile=short_desc;
|
||||
@ -422,7 +422,7 @@ void scan_short_desc(FILE *fichier, char *short_desc)
|
||||
if (languagemonitor) {
|
||||
temp = strtok(languagemonitor,",");
|
||||
if (*temp == '"') ++temp;
|
||||
strcpy(languagemonitor,temp);
|
||||
pstrcpy(languagemonitor,temp);
|
||||
if ((temp = strchr(languagemonitor,'"'))!=NULL) *temp = '\0';
|
||||
}
|
||||
|
||||
|
@ -64,7 +64,7 @@ void read_line( char **buf, char *line_buf, int size)
|
||||
|
||||
int clean_data( char **buf, uint32 *size)
|
||||
{
|
||||
char linebuf[512];
|
||||
pstring linebuf;
|
||||
char *p = *buf;
|
||||
int num_lines = 0;
|
||||
char *newbuf = (char *)malloc( *size + 1);
|
||||
@ -94,7 +94,7 @@ int clean_data( char **buf, uint32 *size)
|
||||
if(*cp == '\0')
|
||||
continue;
|
||||
|
||||
strcpy(newbuf_p, cp);
|
||||
pstrcpy(newbuf_p, cp);
|
||||
num_lines++;
|
||||
newbuf_p += (strlen(newbuf_p) + 1);
|
||||
}
|
||||
|
@ -196,7 +196,7 @@ int main(int argc,char *argv[])
|
||||
|
||||
if(lookup_by_ip)
|
||||
{
|
||||
strcpy(lookup,"*");
|
||||
fstrcpy(lookup,"*");
|
||||
ip = *interpret_addr2(argv[i]);
|
||||
printf("Looking up status of %s\n",inet_ntoa(ip));
|
||||
name_status(ServerFD,lookup,lookup_type,True,ip,NULL,NULL,NULL);
|
||||
@ -206,7 +206,7 @@ int main(int argc,char *argv[])
|
||||
|
||||
if (find_master) {
|
||||
if (*lookup == '-') {
|
||||
strcpy(lookup,"\01\02__MSBROWSE__\02");
|
||||
fstrcpy(lookup,"\01\02__MSBROWSE__\02");
|
||||
lookup_type = 1;
|
||||
} else {
|
||||
lookup_type = 0x1d;
|
||||
|
@ -345,7 +345,7 @@ int main(int argc, char **argv)
|
||||
if(is_root) {
|
||||
disable_user = True;
|
||||
got_new_pass = True;
|
||||
strcpy(new_passwd, "XXXXXX");
|
||||
fstrcpy(new_passwd, "XXXXXX");
|
||||
} else
|
||||
usage(prog_name, is_root);
|
||||
break;
|
||||
@ -356,7 +356,7 @@ int main(int argc, char **argv)
|
||||
if(is_root) {
|
||||
set_no_password = True;
|
||||
got_new_pass = True;
|
||||
strcpy(new_passwd, "NO PASSWORD");
|
||||
fstrcpy(new_passwd, "NO PASSWORD");
|
||||
} else
|
||||
usage(prog_name, is_root);
|
||||
case 'r':
|
||||
|
@ -139,7 +139,7 @@ static void print_share_mode(share_mode_entry *e, char *fname)
|
||||
processes_only = 1;
|
||||
break;
|
||||
case 's':
|
||||
strcpy(servicesf, optarg);
|
||||
pstrcpy(servicesf, optarg);
|
||||
break;
|
||||
case 'u': /* added by OH */
|
||||
Ucrit_addUsername(optarg); /* added by OH */
|
||||
@ -162,10 +162,10 @@ static void print_share_mode(share_mode_entry *e, char *fname)
|
||||
printf("lockdir = %s\n", *lp_lockdir() ? lp_lockdir() : "NULL");
|
||||
}
|
||||
|
||||
strcpy(fname,lp_lockdir());
|
||||
pstrcpy(fname,lp_lockdir());
|
||||
standard_sub_basic(fname);
|
||||
trim_string(fname,"","/");
|
||||
strcat(fname,"/STATUS..LCK");
|
||||
pstrcat(fname,"/STATUS..LCK");
|
||||
|
||||
f = fopen(fname,"r");
|
||||
if (!f) {
|
||||
@ -281,7 +281,7 @@ static void print_share_mode(share_mode_entry *e, char *fname)
|
||||
/* added by OH */
|
||||
void Ucrit_addUsername(pstring username)
|
||||
{
|
||||
strcpy(Ucrit_username, username);
|
||||
pstrcpy(Ucrit_username, username);
|
||||
if(strlen(Ucrit_username) > 0)
|
||||
Ucrit_IsActive = 1;
|
||||
}
|
||||
|
@ -52,9 +52,9 @@ extern pstring myhostname;
|
||||
charset_initialise();
|
||||
|
||||
if (argc < 2)
|
||||
strcpy(configfile,CONFIGFILE);
|
||||
pstrcpy(configfile,CONFIGFILE);
|
||||
else
|
||||
strcpy(configfile,argv[1]);
|
||||
pstrcpy(configfile,argv[1]);
|
||||
|
||||
dbf = stdout;
|
||||
DEBUGLEVEL = 2;
|
||||
|
@ -134,7 +134,7 @@ static BOOL rw_torture(struct cli_state *c, int numops)
|
||||
if (i % 10 == 0) {
|
||||
printf("%d\r", i); fflush(stdout);
|
||||
}
|
||||
sprintf(fname,"\\torture.%u", n);
|
||||
slprintf(fname, sizeof(fstring) - 1, "\\torture.%u", n);
|
||||
|
||||
if (!wait_lock(c, fnum2, n*sizeof(int), sizeof(int))) {
|
||||
return False;
|
||||
@ -860,7 +860,7 @@ static void create_procs(int nprocs, int numops)
|
||||
get_myname(myname,NULL);
|
||||
|
||||
if (*username == 0 && getenv("LOGNAME")) {
|
||||
strcpy(username,getenv("LOGNAME"));
|
||||
pstrcpy(username,getenv("LOGNAME"));
|
||||
}
|
||||
|
||||
argc--;
|
||||
@ -888,11 +888,11 @@ static void create_procs(int nprocs, int numops)
|
||||
fstrcpy(myname, optarg);
|
||||
break;
|
||||
case 'U':
|
||||
strcpy(username,optarg);
|
||||
pstrcpy(username,optarg);
|
||||
p = strchr(username,'%');
|
||||
if (p) {
|
||||
*p = 0;
|
||||
strcpy(password, p+1);
|
||||
pstrcpy(password, p+1);
|
||||
gotpass = 1;
|
||||
}
|
||||
break;
|
||||
@ -906,7 +906,7 @@ static void create_procs(int nprocs, int numops)
|
||||
while (!gotpass) {
|
||||
p = getpass("Password:");
|
||||
if (p) {
|
||||
strcpy(password, p);
|
||||
pstrcpy(password, p);
|
||||
gotpass = 1;
|
||||
}
|
||||
}
|
||||
|
@ -296,17 +296,17 @@ char *quotedup(char *s)
|
||||
for (i=0;i<len;i++) {
|
||||
switch (s[i]) {
|
||||
case '<':
|
||||
strcpy(d, "<");
|
||||
safe_strcpy(d, "<", len + n*6 - (d - ret));
|
||||
d += 4;
|
||||
break;
|
||||
|
||||
case '>':
|
||||
strcpy(d, ">");
|
||||
safe_strcpy(d, ">", len + n*6 - (d - ret));
|
||||
d += 4;
|
||||
break;
|
||||
|
||||
case '&':
|
||||
strcpy(d, "&");
|
||||
safe_strcpy(d, "&", len + n*6 - (d - ret));
|
||||
d += 5;
|
||||
break;
|
||||
|
||||
@ -347,7 +347,7 @@ char *urlquote(char *s)
|
||||
|
||||
for (i=0;i<len;i++) {
|
||||
if (strchr(qlist,s[i])) {
|
||||
sprintf(d, "%%%02X", (int)s[i]);
|
||||
slprintf(d, len + n*2 - (d - ret), "%%%02X", (int)s[i]);
|
||||
d += 3;
|
||||
} else {
|
||||
*d++ = s[i];
|
||||
@ -387,7 +387,7 @@ char *quotequotes(char *s)
|
||||
for (i=0;i<len;i++) {
|
||||
switch (s[i]) {
|
||||
case '"':
|
||||
strcpy(d, """);
|
||||
safe_strcpy(d, """, len + n*6 - (d - ret));
|
||||
d += 6;
|
||||
break;
|
||||
|
||||
|
@ -37,7 +37,7 @@ void start_smbd(void)
|
||||
return;
|
||||
}
|
||||
|
||||
sprintf(binfile,"%s/smbd", SBINDIR);
|
||||
slprintf(binfile, sizeof(pstring) - 1, "%s/smbd", SBINDIR);
|
||||
|
||||
become_daemon();
|
||||
|
||||
@ -58,7 +58,7 @@ void start_nmbd(void)
|
||||
return;
|
||||
}
|
||||
|
||||
sprintf(binfile,"%s/nmbd", SBINDIR);
|
||||
slprintf(binfile, sizeof(pstring) - 1, "%s/nmbd", SBINDIR);
|
||||
|
||||
become_daemon();
|
||||
|
||||
|
@ -121,7 +121,7 @@ void status_page(void)
|
||||
pstrcpy(fname,lp_lockdir());
|
||||
standard_sub_basic(fname);
|
||||
trim_string(fname,"","/");
|
||||
strcat(fname,"/STATUS..LCK");
|
||||
pstrcat(fname,"/STATUS..LCK");
|
||||
|
||||
|
||||
f = fopen(fname,"r");
|
||||
@ -131,7 +131,7 @@ void status_page(void)
|
||||
if (crec.magic == 0x280267 && crec.cnum == -1 &&
|
||||
process_exists(crec.pid)) {
|
||||
char buf[30];
|
||||
sprintf(buf,"kill_%d", crec.pid);
|
||||
slprintf(buf,sizeof(buf)-1,"kill_%d", crec.pid);
|
||||
if (cgi_variable(buf)) {
|
||||
kill_pid(crec.pid);
|
||||
}
|
||||
|
Reference in New Issue
Block a user