1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-24 21:34:56 +03:00

* We must return 0x2 as the majorversion for nt4 to upload drivers

* fix bug found by clobber_region()
(This used to be commit ad2765bb5e)
This commit is contained in:
Gerald Carter 2003-04-11 23:50:21 +00:00
parent 5b51fc4f06
commit a056cd8845
2 changed files with 26 additions and 11 deletions

View File

@ -2307,7 +2307,17 @@ static WERROR getprinterdata_printer_server(TALLOC_CTX *ctx, fstring value, uint
*type = 0x4;
if((*data = (uint8 *)talloc(ctx, 4*sizeof(uint8) )) == NULL)
return WERR_NOMEM;
SIVAL(*data, 0, 3);
/* Windows NT 4.0 seems to not allow uploading of drivers
to a server that reports 0x3 as the MajorVersion.
need to investigate more how Win2k gets around this .
-- jerry */
if ( RA_WINNT == get_remote_arch() )
SIVAL(*data, 0, 2);
else
SIVAL(*data, 0, 3);
*needed = 0x4;
return WERR_OK;
}

View File

@ -3042,20 +3042,22 @@ int reply_rmdir(connection_struct *conn, char *inbuf,char *outbuf, int dum_size,
Resolve wildcards in a filename rename.
********************************************************************/
static BOOL resolve_wildcards(char *name1,char *name2)
static BOOL resolve_wildcards(const char *name1, char *name2)
{
fstring root1,root2;
fstring ext1,ext2;
char *p,*p2;
char *p,*p2, *pname1, *pname2;
int available_space;
name1 = strrchr_m(name1,'/');
name2 = strrchr_m(name2,'/');
pname1 = strrchr_m(name1,'/');
pname2 = strrchr_m(name2,'/');
if (!name1 || !name2)
if (!pname1 || !pname2)
return(False);
fstrcpy(root1,name1);
fstrcpy(root2,name2);
fstrcpy(root1,pname1);
fstrcpy(root2,pname2);
p = strrchr_m(root1,'.');
if (p) {
*p = 0;
@ -3097,10 +3099,13 @@ static BOOL resolve_wildcards(char *name1,char *name2)
p++;
}
pstrcpy(name2,root2);
available_space = sizeof(pstring) - PTR_DIFF(pname2, name2);
StrnCpy(pname2, root2, available_space-1);
available_space -= strlen(root2);
if (ext2[0]) {
pstrcat(name2,".");
pstrcat(name2,ext2);
strncat(pname2, ".", available_space-1);
strncat(pname2, ext2, available_space-2);
}
return(True);