mirror of
https://github.com/samba-team/samba.git
synced 2024-12-27 03:21:53 +03:00
r5165: BUG 2295: always use get_local_machine_name() rather than digging in the gloval variable 'local_machine'
This commit is contained in:
parent
d159a5013e
commit
6a6e4af46a
@ -29,8 +29,6 @@
|
||||
|
||||
extern int max_send;
|
||||
|
||||
extern fstring local_machine;
|
||||
|
||||
#define NERR_notsupported 50
|
||||
|
||||
extern int smb_read_error;
|
||||
@ -382,6 +380,7 @@ int reply_trans(connection_struct *conn, char *inbuf,char *outbuf, int size, int
|
||||
unsigned int dscnt = SVAL(inbuf,smb_vwv11);
|
||||
unsigned int dsoff = SVAL(inbuf,smb_vwv12);
|
||||
unsigned int suwcnt = CVAL(inbuf,smb_vwv13);
|
||||
fstring local_machine_name;
|
||||
START_PROFILE(SMBtrans);
|
||||
|
||||
memset(name, '\0',sizeof(name));
|
||||
@ -543,9 +542,11 @@ int reply_trans(connection_struct *conn, char *inbuf,char *outbuf, int size, int
|
||||
* WinCE wierdness....
|
||||
*/
|
||||
|
||||
if (name[0] == '\\' && (StrnCaseCmp(&name[1],local_machine, strlen(local_machine)) == 0) &&
|
||||
(name[strlen(local_machine)+1] == '\\'))
|
||||
name_offset = strlen(local_machine)+1;
|
||||
fstrcpy( local_machine_name, get_local_machine_name() );
|
||||
|
||||
if (name[0] == '\\' && (StrnCaseCmp(&name[1],local_machine_name, strlen(local_machine_name)) == 0) &&
|
||||
(name[strlen(local_machine_name)+1] == '\\'))
|
||||
name_offset = strlen(local_machine_name)+1;
|
||||
|
||||
if (strnequal(&name[name_offset], "\\PIPE", strlen("\\PIPE"))) {
|
||||
name_offset += strlen("\\PIPE");
|
||||
|
@ -32,8 +32,6 @@
|
||||
#endif
|
||||
#define CHECK_TYPES 0
|
||||
|
||||
extern fstring local_machine;
|
||||
|
||||
#define NERR_Success 0
|
||||
#define NERR_badpass 86
|
||||
#define NERR_notsupported 50
|
||||
@ -2372,7 +2370,7 @@ static BOOL api_RNetServerGetInfo(connection_struct *conn,uint16 vuid, char *par
|
||||
p = *rdata;
|
||||
p2 = p + struct_len;
|
||||
if (uLevel != 20) {
|
||||
srvstr_push(NULL, p,local_machine,16,
|
||||
srvstr_push(NULL, p,get_local_machine_name(),16,
|
||||
STR_ASCII|STR_UPPER|STR_TERMINATE);
|
||||
}
|
||||
p += 16;
|
||||
@ -2387,7 +2385,7 @@ static BOOL api_RNetServerGetInfo(connection_struct *conn,uint16 vuid, char *par
|
||||
|
||||
if ((count=get_server_info(SV_TYPE_ALL,&servers,lp_workgroup()))>0) {
|
||||
for (i=0;i<count;i++) {
|
||||
if (strequal(servers[i].name,local_machine)) {
|
||||
if (strequal(servers[i].name,get_local_machine_name())) {
|
||||
servertype = servers[i].type;
|
||||
push_ascii(comment,servers[i].comment,sizeof(pstring),STR_TERMINATE);
|
||||
}
|
||||
@ -2460,7 +2458,7 @@ static BOOL api_NetWkstaGetInfo(connection_struct *conn,uint16 vuid, char *param
|
||||
|
||||
|
||||
SIVAL(p,0,PTR_DIFF(p2,*rdata)); /* host name */
|
||||
pstrcpy(p2,local_machine);
|
||||
pstrcpy(p2,get_local_machine_name());
|
||||
strupper_m(p2);
|
||||
p2 = skip_string(p2,1);
|
||||
p += 4;
|
||||
@ -2881,7 +2879,7 @@ static BOOL api_WWkstaUserLogon(connection_struct *conn,uint16 vuid, char *param
|
||||
{
|
||||
fstring mypath;
|
||||
fstrcpy(mypath,"\\\\");
|
||||
fstrcat(mypath,local_machine);
|
||||
fstrcat(mypath,get_local_machine_name());
|
||||
strupper_m(mypath);
|
||||
PACKS(&desc,"z",mypath); /* computer */
|
||||
}
|
||||
|
@ -22,7 +22,6 @@
|
||||
|
||||
#include "includes.h"
|
||||
|
||||
extern fstring local_machine;
|
||||
extern uint32 global_client_caps;
|
||||
|
||||
/**********************************************************************
|
||||
@ -462,7 +461,7 @@ BOOL get_referred_path(char *pathname, struct junction_map *jucn,
|
||||
parse_dfs_path(pathname, &dp);
|
||||
|
||||
/* Verify hostname in path */
|
||||
if (local_machine && (!strequal(local_machine, dp.hostname))) {
|
||||
if ( !strequal(get_local_machine_name(), dp.hostname) ) {
|
||||
/* Hostname mismatch, check if one of our IP addresses */
|
||||
if (!ismyip(*interpret_addr2(dp.hostname))) {
|
||||
DEBUG(3, ("get_referred_path: Invalid hostname %s in path %s\n",
|
||||
@ -810,7 +809,7 @@ BOOL create_junction(char* pathname, struct junction_map* jucn)
|
||||
parse_dfs_path(pathname,&dp);
|
||||
|
||||
/* check if path is dfs : validate first token */
|
||||
if (local_machine && (!strequal(local_machine,dp.hostname))) {
|
||||
if ( !strequal(get_local_machine_name(),dp.hostname) ) {
|
||||
|
||||
/* Hostname mismatch, check if one of our IP addresses */
|
||||
if (!ismyip(*interpret_addr2(dp.hostname))) {
|
||||
@ -978,7 +977,7 @@ static BOOL form_junctions(int snum, struct junction_map* jucn, int* jn_count)
|
||||
}
|
||||
|
||||
slprintf(ref->alternate_path, sizeof(pstring)-1,
|
||||
"\\\\%s\\%s", local_machine, service_name);
|
||||
"\\\\%s\\%s", get_local_machine_name(), service_name);
|
||||
cnt++;
|
||||
|
||||
/* Now enumerate all dfs links */
|
||||
|
@ -25,7 +25,6 @@
|
||||
|
||||
extern enum protocol_types Protocol;
|
||||
extern int smb_read_error;
|
||||
extern fstring local_machine;
|
||||
extern int global_oplock_break;
|
||||
extern uint32 global_client_caps;
|
||||
extern struct current_user current_user;
|
||||
@ -1825,7 +1824,7 @@ cBytesSector=%u, cUnitTotal=%u, cUnitAvail=%d\n", (unsigned int)st.st_dev, (unsi
|
||||
* Add volume serial number - hash of a combination of
|
||||
* the called hostname and the service name.
|
||||
*/
|
||||
SIVAL(pdata,0,str_checksum(lp_servicename(snum)) ^ (str_checksum(local_machine)<<16) );
|
||||
SIVAL(pdata,0,str_checksum(lp_servicename(snum)) ^ (str_checksum(get_local_machine_name())<<16) );
|
||||
len = srvstr_push(outbuf, pdata+l2_vol_szVolLabel, vname, -1, STR_NOALIGN);
|
||||
SCVAL(pdata,l2_vol_cch,len);
|
||||
data_len = l2_vol_szVolLabel + len;
|
||||
@ -1868,7 +1867,7 @@ cBytesSector=%u, cUnitTotal=%u, cUnitAvail=%d\n", (unsigned int)st.st_dev, (unsi
|
||||
* the called hostname and the service name.
|
||||
*/
|
||||
SIVAL(pdata,8,str_checksum(lp_servicename(snum)) ^
|
||||
(str_checksum(local_machine)<<16));
|
||||
(str_checksum(get_local_machine_name())<<16));
|
||||
|
||||
len = srvstr_push(outbuf, pdata+18, vname, -1, STR_UNICODE);
|
||||
SIVAL(pdata,12,len);
|
||||
|
Loading…
Reference in New Issue
Block a user