diff options
-rw-r--r-- | source3/include/local.h | 4 | ||||
-rw-r--r-- | source3/lib/util.c | 10 | ||||
-rw-r--r-- | source3/smbd/server.c | 20 | ||||
-rw-r--r-- | source3/smbd/trans2.c | 34 |
4 files changed, 23 insertions, 45 deletions
diff --git a/source3/include/local.h b/source3/include/local.h index 01eac55652..fc589d7ac0 100644 --- a/source3/include/local.h +++ b/source3/include/local.h @@ -114,9 +114,7 @@ /* the following control timings of various actions. Don't change them unless you know what you are doing. These are all in seconds */ #define DEFAULT_SMBD_TIMEOUT (60*60*24*7) -#define SMBD_RELOAD_CHECK (10) -#define SHARE_MODES_CHECK (10) -#define SHARE_MODES_CLEAN (300) +#define SMBD_RELOAD_CHECK (60) #define IDLE_CLOSED_TIMEOUT (60) #define DPTR_IDLE_TIMEOUT (120) #define SMBD_SELECT_LOOP (10) diff --git a/source3/lib/util.c b/source3/lib/util.c index b7ad0bb5bc..9d6229dbf9 100644 --- a/source3/lib/util.c +++ b/source3/lib/util.c @@ -3507,14 +3507,14 @@ static BOOL is_in_path(char *name, char *namelist) while (*nameptr) { - if ( *nameptr == '\\' ) + if ( *nameptr == '/' ) { - /* cope with multiple (useless) \s) */ + /* cope with multiple (useless) /s) */ nameptr++; continue; } - /* find the next \ */ - if ((name_end = strchr(nameptr,'\\')) != NULL) + /* find the next / */ + if ((name_end = strchr(nameptr,'/')) != NULL) { *name_end = 0; } @@ -3526,7 +3526,7 @@ static BOOL is_in_path(char *name, char *namelist) return True; } - /* oops - the last check for a \ didn't find one. */ + /* oops - the last check for a / didn't find one. */ if (name_end == NULL) { DEBUG(5,("is_in_path: last name. failed\n")); diff --git a/source3/smbd/server.c b/source3/smbd/server.c index 83bb09b11f..41f23ed02f 100644 --- a/source3/smbd/server.c +++ b/source3/smbd/server.c @@ -3887,8 +3887,6 @@ static void process(void) int counter; int last_keepalive=0; int service_load_counter = 0; - int share_check_counter = 0; - int share_clean_counter = 0; if (deadtime <= 0) deadtime = DEFAULT_SMBD_TIMEOUT; @@ -3910,8 +3908,6 @@ static void process(void) if (counter > 365 * 3600) /* big number of seconds. */ { counter = 0; - share_check_counter = 0; - share_clean_counter = 0; service_load_counter = 0; } @@ -3943,22 +3939,6 @@ static void process(void) reload_services(True); } -#if 0 /* JRA */ - /* check the share modes every 10 secs */ - if (counter >= share_check_counter + SHARE_MODES_CHECK) - { - share_check_counter = counter; - check_share_modes(); - } - - /* clean the share modes every 5 minutes */ - if (counter >= share_clean_counter + SHARE_MODES_CLEAN) - { - share_clean_counter = counter; - clean_share_modes(); - } -#endif /* JRA */ - /* automatic timeout if all connections are closed */ if (num_connections_open==0 && counter >= IDLE_CLOSED_TIMEOUT) { DEBUG(2,("%s Closing idle connection\n",timestring())); diff --git a/source3/smbd/trans2.c b/source3/smbd/trans2.c index d0d3352ec4..1b199f01ba 100644 --- a/source3/smbd/trans2.c +++ b/source3/smbd/trans2.c @@ -343,7 +343,7 @@ static int get_lanman2_dir_entry(int cnum,char *path_mask,int dirtype,int info_l size = sbuf.st_size; mdate = sbuf.st_mtime; adate = sbuf.st_atime; - cdate = sbuf.st_mtime; + cdate = sbuf.st_ctime; if(mode & aDIR) size = 0; @@ -915,10 +915,10 @@ static int call_trans2qfsinfo(char *inbuf, char *outbuf, int length, int bufsize /* Return volume name */ int volname_len = MIN(strlen(vname),11); data_len = l2_vol_szVolLabel + volname_len + 1; - put_dos_date2(pdata,l2_vol_fdateCreation,st.st_mtime); + put_dos_date2(pdata,l2_vol_fdateCreation,st.st_ctime); SCVAL(pdata,l2_vol_cch,volname_len); StrnCpy(pdata+l2_vol_szVolLabel,vname,volname_len); - DEBUG(5,("call_trans2qfsinfo : time = %x, namelen = %d, name = %s\n",st.st_mtime, volname_len, + DEBUG(5,("call_trans2qfsinfo : time = %x, namelen = %d, name = %s\n",st.st_ctime, volname_len, pdata+l2_vol_szVolLabel)); break; } @@ -1073,7 +1073,7 @@ static int call_trans2qfilepathinfo(char *inbuf, char *outbuf, int length, case SMB_INFO_STANDARD: case SMB_INFO_QUERY_EA_SIZE: data_size = (info_level==1?22:26); - put_dos_date2(pdata,l1_fdateCreation,sbuf.st_mtime); /* create = mod */ + put_dos_date2(pdata,l1_fdateCreation,sbuf.st_ctime); /* create = inode mod */ put_dos_date2(pdata,l1_fdateLastAccess,sbuf.st_atime); /* access time */ put_dos_date2(pdata,l1_fdateLastWrite,sbuf.st_mtime); /* write time */ SIVAL(pdata,l1_cbFile,size); @@ -1084,7 +1084,7 @@ static int call_trans2qfilepathinfo(char *inbuf, char *outbuf, int length, case SMB_INFO_QUERY_EAS_FROM_LIST: data_size = 24; - put_dos_date2(pdata,0,sbuf.st_mtime); /* create time = mod time */ + put_dos_date2(pdata,0,sbuf.st_ctime); /* create time = inode mod time */ put_dos_date2(pdata,4,sbuf.st_atime); put_dos_date2(pdata,8,sbuf.st_mtime); SIVAL(pdata,12,size); @@ -1101,18 +1101,18 @@ static int call_trans2qfilepathinfo(char *inbuf, char *outbuf, int length, return(ERROR(ERRDOS,ERRbadfunc)); /* os/2 needs this */ case SMB_QUERY_FILE_BASIC_INFO: - data_size = 40; /* w95 returns 40 bytes not 36. */ - put_long_date(pdata,sbuf.st_mtime); /* create time = mod time */ + data_size = 36; /* w95 returns 40 bytes not 36 - why ?. */ + put_long_date(pdata,sbuf.st_ctime); /* create time = inode mod time */ put_long_date(pdata+8,sbuf.st_atime); /* access time */ put_long_date(pdata+16,sbuf.st_mtime); /* write time */ - put_long_date(pdata+24,sbuf.st_ctime); /* change time */ + put_long_date(pdata+24,sbuf.st_mtime); /* change time */ SIVAL(pdata,32,mode); DEBUG(5,("SMB_QFBI - ")); - DEBUG(5,("create: %s ", ctime(&sbuf.st_mtime))); + DEBUG(5,("create: %s ", ctime(&sbuf.st_ctime))); DEBUG(5,("access: %s ", ctime(&sbuf.st_atime))); DEBUG(5,("write: %s ", ctime(&sbuf.st_mtime))); - DEBUG(5,("change: %s ", ctime(&sbuf.st_ctime))); + DEBUG(5,("change: %s ", ctime(&sbuf.st_mtime))); DEBUG(5,("mode: %x\n", mode)); break; @@ -1143,10 +1143,10 @@ static int call_trans2qfilepathinfo(char *inbuf, char *outbuf, int length, break; case SMB_QUERY_FILE_ALL_INFO: - put_long_date(pdata,sbuf.st_mtime); /* create time = mod time */ + put_long_date(pdata,sbuf.st_ctime); /* create time = inode mod time */ put_long_date(pdata+8,sbuf.st_atime); /* access time */ put_long_date(pdata+16,sbuf.st_mtime); /* write time */ - put_long_date(pdata+24,sbuf.st_ctime); /* change time */ + put_long_date(pdata+24,sbuf.st_mtime); /* change time */ SIVAL(pdata,32,mode); pdata += 40; SIVAL(pdata,0,size); @@ -1300,7 +1300,7 @@ static int call_trans2setfilepathinfo(char *inbuf, char *outbuf, int length, case SMB_SET_FILE_BASIC_INFO: { - /* create time */ + /* Ignore create time at offset pdata. */ /* access time */ tvs.actime = interpret_long_date(pdata+8); @@ -1330,10 +1330,10 @@ static int call_trans2setfilepathinfo(char *inbuf, char *outbuf, int length, } } - DEBUG(3,("actime: %s " , ctime(&tvs.actime))); - DEBUG(3,("modtime: %s ", ctime(&tvs.modtime))); - DEBUG(3,("size: %x " , size)); - DEBUG(3,("mode: %x\n" , mode)); + DEBUG(6,("actime: %s " , ctime(&tvs.actime))); + DEBUG(6,("modtime: %s ", ctime(&tvs.modtime))); + DEBUG(6,("size: %x " , size)); + DEBUG(6,("mode: %x\n" , mode)); /* get some defaults (no modifications) if any info is zero. */ if (!tvs.actime) tvs.actime = st.st_atime; |