diff options
Diffstat (limited to 'source3')
-rw-r--r-- | source3/include/local.h | 2 | ||||
-rw-r--r-- | source3/namedbsubnet.c | 6 | ||||
-rw-r--r-- | source3/smbd/reply.c | 4 | ||||
-rw-r--r-- | source3/smbd/server.c | 2 | ||||
-rw-r--r-- | source3/smbd/trans2.c | 9 |
5 files changed, 17 insertions, 6 deletions
diff --git a/source3/include/local.h b/source3/include/local.h index 22d1b2a08e..97857727c7 100644 --- a/source3/include/local.h +++ b/source3/include/local.h @@ -159,7 +159,7 @@ /* the directory to sit in when idle */ /* #define IDLE_DIR "/" */ -/* Timout (in seconds) to wait for an oplock breal +/* Timout (in seconds) to wait for an oplock break message to return. */ #define OPLOCK_BREAK_TIMEOUT 30 diff --git a/source3/namedbsubnet.c b/source3/namedbsubnet.c index 4f0b647996..c6663d71fd 100644 --- a/source3/namedbsubnet.c +++ b/source3/namedbsubnet.c @@ -218,7 +218,11 @@ void add_workgroup_to_subnet( struct subnet_record *d, char *group) int n; add_my_name_entry(d,group,0x0 ,nb_type|NB_ACTIVE|NB_GROUP); - add_my_name_entry(d,group,0x1e,nb_type|NB_ACTIVE|NB_GROUP); + + /* Only register the WORKGROUP<0x1e> name if we could be a local master + browser. */ + if(lp_local_master()) + add_my_name_entry(d,group,0x1e,nb_type|NB_ACTIVE|NB_GROUP); /* Add all our server names to the workgroup list. We remove any browser or logon server flags from all but the primary name. diff --git a/source3/smbd/reply.c b/source3/smbd/reply.c index 2a3679553c..baccb76291 100644 --- a/source3/smbd/reply.c +++ b/source3/smbd/reply.c @@ -641,13 +641,15 @@ int reply_chkpth(char *inbuf,char *outbuf) unix_ERR_code = ERRbadpath; } - /* Ugly - NT specific hack - but needed (JRA) */ +#if 0 + /* Ugly - NT specific hack - maybe not needed ? (JRA) */ if((errno == ENOTDIR) && (Protocol >= PROTOCOL_NT1) && (get_remote_arch() == RA_WINNT)) { unix_ERR_class = ERRDOS; unix_ERR_code = ERRbaddirectory; } +#endif return(UNIXERROR(ERRDOS,ERRbadpath)); } diff --git a/source3/smbd/server.c b/source3/smbd/server.c index e4d433c06f..d387b7375b 100644 --- a/source3/smbd/server.c +++ b/source3/smbd/server.c @@ -2774,7 +2774,7 @@ inode = %x).\n", fsp->name, fnum, dev, inode)); { DEBUG(0,("oplock_break: global_oplocks_open < 0 (%d). PANIC ERROR\n", global_oplocks_open)); - abort(); + exit_server("oplock_break: global_oplocks_open < 0"); } DEBUG(5,("oplock_break: returning success for fnum = %d, dev = %x, inode = %x. Current \ diff --git a/source3/smbd/trans2.c b/source3/smbd/trans2.c index 7f46604cce..092a069a6e 100644 --- a/source3/smbd/trans2.c +++ b/source3/smbd/trans2.c @@ -608,13 +608,15 @@ static int call_trans2findfirst(char *inbuf, char *outbuf, int bufsize, int cnum unix_ERR_code = ERRbadpath; } - /* Ugly - NT specific hack - but needed (JRA) */ +#if 0 + /* Ugly - NT specific hack - maybe not needed ? (JRA) */ if((errno == ENOTDIR) && (Protocol >= PROTOCOL_NT1) && (get_remote_arch() == RA_WINNT)) { unix_ERR_class = ERRDOS; unix_ERR_code = ERRbaddirectory; } +#endif return(ERROR(ERRDOS,ERRbadpath)); } @@ -651,13 +653,16 @@ static int call_trans2findfirst(char *inbuf, char *outbuf, int bufsize, int cnum unix_ERR_code = ERRbadpath; } - /* Ugly - NT specific hack - but needed (JRA) */ +#if 0 + /* Ugly - NT specific hack - maybe not needed ? (JRA) */ if((errno == ENOTDIR) && (Protocol >= PROTOCOL_NT1) && (get_remote_arch() == RA_WINNT)) { unix_ERR_class = ERRDOS; unix_ERR_code = ERRbaddirectory; } +#endif + return (UNIXERROR(ERRDOS,ERRbadpath)); } return(ERROR(ERRDOS,ERRbadpath)); |