mirror of
https://github.com/samba-team/samba.git
synced 2025-02-19 21:57:57 +03:00
No need for fstring manipulation here (Tcon&X), just use string pointers.
Andrew Bartlett (This used to be commit b072bb9c8469799734507bcdffd4be29211e2610)
This commit is contained in:
parent
8f84d170af
commit
3924f97eac
@ -202,7 +202,7 @@ int reply_tcon(connection_struct *conn,
|
||||
|
||||
int reply_tcon_and_X(connection_struct *conn, char *inbuf,char *outbuf,int length,int bufsize)
|
||||
{
|
||||
fstring service;
|
||||
const char *service;
|
||||
DATA_BLOB password;
|
||||
pstring devicename;
|
||||
NTSTATUS nt_status;
|
||||
@ -213,7 +213,7 @@ int reply_tcon_and_X(connection_struct *conn, char *inbuf,char *outbuf,int lengt
|
||||
extern BOOL global_encrypted_passwords_negotiated;
|
||||
START_PROFILE(SMBtconX);
|
||||
|
||||
*service = *devicename = 0;
|
||||
*devicename = 0;
|
||||
|
||||
/* we might have to close an old one */
|
||||
if ((SVAL(inbuf,smb_vwv2) & 0x1) && conn) {
|
||||
@ -233,26 +233,28 @@ int reply_tcon_and_X(connection_struct *conn, char *inbuf,char *outbuf,int lengt
|
||||
}
|
||||
|
||||
p = smb_buf(inbuf) + passlen;
|
||||
|
||||
p += srvstr_pull_buf(inbuf, path, p, sizeof(path), STR_TERMINATE);
|
||||
|
||||
/*
|
||||
* the service name can be either: \\server\share
|
||||
* or share directly like on the DELL PowerVault 705
|
||||
*/
|
||||
|
||||
if (*path=='\\') {
|
||||
q = strchr_m(path+2,'\\');
|
||||
if (!q) {
|
||||
END_PROFILE(SMBtconX);
|
||||
return(ERROR_DOS(ERRDOS,ERRnosuchshare));
|
||||
}
|
||||
fstrcpy(service,q+1);
|
||||
service = q+1;
|
||||
}
|
||||
else
|
||||
fstrcpy(service,path);
|
||||
service = path;
|
||||
|
||||
p += srvstr_pull(inbuf, devicename, p, sizeof(devicename), 6, STR_ASCII);
|
||||
|
||||
DEBUG(4,("Got device type %s\n",devicename));
|
||||
DEBUG(4,("Got device type %s for %s\n",devicename, service));
|
||||
|
||||
conn = make_connection(service,password,devicename,vuid,&nt_status);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user