Rolled back Lukes changes. Not quite ready for prime time.
authorSamba Release Account <samba-bugs@samba.org>
Tue, 1 Jul 1997 20:50:57 +0000 (20:50 +0000)
committerSamba Release Account <samba-bugs@samba.org>
Tue, 1 Jul 1997 20:50:57 +0000 (20:50 +0000)
Jeremy (jallison@whistle.com)
(This used to be commit ed04ec7ab8b8e73b5442bdef03d5a3c994247b4e)

source3/include/proto.h
source3/include/smb.h
source3/lib/util.c
source3/param/loadparm.c
source3/smbd/dir.c
source3/smbd/server.c

index a8db4500e166864232aa93038350e6d3177457d7..3929348da6dcf8381cc5ff2bbccd7dc05edfff17 100644 (file)
@@ -73,13 +73,13 @@ void dptr_closecnum(int cnum);
 void dptr_idlecnum(int cnum);
 void dptr_closepath(char *path,int pid);
 int dptr_create(int cnum,char *path, BOOL expect_close,int pid);
-BOOL dptr_fill(int cnum, char *buf1,unsigned int key);
+BOOL dptr_fill(char *buf1,unsigned int key);
 BOOL dptr_zero(char *buf);
-void *dptr_fetch(int cnum, char *buf,int *num);
-void *dptr_fetch_lanman2(int cnum, char *params,int dptr_num);
+void *dptr_fetch(char *buf,int *num);
+void *dptr_fetch_lanman2(char *params,int dptr_num);
 BOOL dir_check_ftype(int cnum,int mode,struct stat *st,int dirtype);
 BOOL get_dir_entry(int cnum,char *mask,int dirtype,char *fname,int *size,int *mode,time_t *date,BOOL check_descend);
-void *OpenDir(int cnum, char *name);
+void *OpenDir(char *name);
 void CloseDir(void *p);
 char *ReadDirName(void *p);
 BOOL SeekDir(void *p,int pos);
@@ -141,6 +141,7 @@ char *lp_username_map(void);
 char *lp_character_set(void);
 char *lp_logon_script(void);
 char *lp_logon_path(void);
+char *lp_veto_files(void);
 char *lp_remote_announce(void);
 char *lp_wins_server(void);
 char *lp_interfaces(void);
@@ -217,8 +218,6 @@ char *lp_readlist(int );
 char *lp_writelist(int );
 char *lp_volume(int );
 char *lp_mangled_map(int );
-char *lp_veto_files(int );
-char *lp_hide_files(int );
 BOOL lp_alternate_permissions(int );
 BOOL lp_revalidate(int );
 BOOL lp_casesensitive(int );
@@ -274,18 +273,12 @@ BOOL do_lock(int fnum,int cnum,uint32 count,uint32 offset,int *eclass,uint32 *ec
 BOOL do_unlock(int fnum,int cnum,uint32 count,uint32 offset,int *eclass,uint32 *ecode);
 BOOL start_share_mode_mgmt(void);
 BOOL stop_share_mode_mgmt(void);
-BOOL lock_share_entry(int cnum, uint32 dev, uint32 inode, share_lock_token *ptok);
-BOOL unlock_share_entry(int cnum, uint32 dev, uint32 inode, share_lock_token token);
+BOOL lock_share_entry(int cnum, uint32 dev, uint32 inode, share_lock_token *);
+BOOL unlock_share_entry(int cnum, uint32 dev, uint32 inode, share_lock_token);
 int get_share_modes(int cnum, share_lock_token token, uint32 dev, uint32 inode, 
                     min_share_mode_entry **old_shares);
 void del_share_mode(share_lock_token token, int fnum);
 BOOL set_share_mode(share_lock_token token, int fnum);
-BOOL lock_share_entry(int cnum, uint32 dev, uint32 inode, share_lock_token *ptok);
-BOOL unlock_share_entry(int cnum, uint32 dev, uint32 inode, share_lock_token token);
-int get_share_modes(int cnum, share_lock_token token, uint32 dev, uint32 inode, 
-                    min_share_mode_entry **old_shares);
-void del_share_mode(share_lock_token token, int fnum);
-BOOL set_share_mode(share_lock_token token,int fnum);
 
 /*The following definitions come from  mangle.c  */
 
@@ -309,6 +302,7 @@ int reply_sendend(char *inbuf,char *outbuf);
 
 /*The following definitions come from  nameannounce.c  */
 
+void reset_announce_timer();
 void announce_request(struct work_record *work, struct in_addr ip);
 void do_announce_request(char *info, char *to_name, int announce_type, 
                         int from,
@@ -326,7 +320,6 @@ void announce_my_servers_removed(void);
 void announce_server(struct subnet_record *d, struct work_record *work,
                     char *name, char *comment, time_t ttl, int server_type);
 void announce_host(time_t t);
-void reset_announce_timer();
 void announce_master(time_t t);
 void announce_remote(time_t t);
 
@@ -334,7 +327,8 @@ void announce_remote(time_t t);
 
 void expire_browse_cache(time_t t);
 struct browse_cache_record *add_browser_entry(char *name, int type, char *wg,
-                                             time_t ttl, struct subnet_record *d,
+                                             time_t ttl, 
+                                              struct subnet_record *d,
                                               struct in_addr ip, BOOL local);
 void do_browser_lists(time_t t);
 
@@ -724,12 +718,16 @@ int construct_reply(char *inbuf,char *outbuf,int size,int bufsize);
 
 /*The following definitions come from  shmem.c  */
 
-BOOL smb_shm_create_hash_table( unsigned int size );
 BOOL smb_shm_open( char *file_name, int size);
 BOOL smb_shm_close( void );
 BOOL smb_shm_free(smb_shm_offset_t offset);
 BOOL smb_shm_set_userdef_off(smb_shm_offset_t userdef_off);
 void * smb_shm_offset2addr(smb_shm_offset_t offset);
+BOOL smb_shm_lock(void);
+BOOL smb_shm_unlock(void);
+smb_shm_offset_t smb_shm_alloc(int size);
+smb_shm_offset_t smb_shm_addr2offset(void *addr);
+smb_shm_offset_t smb_shm_get_userdef_off(void);
 BOOL smb_shm_lock_hash_entry( unsigned int entry);
 BOOL smb_shm_unlock_hash_entry( unsigned int entry );
 BOOL smb_shm_get_usage(int *bytes_free,
@@ -948,9 +946,8 @@ char *gidtoname(int gid);
 void BlockSignals(BOOL block,int signum);
 void ajt_panic(void);
 char *readdirname(void *p);
-BOOL is_vetoed_name(int snum, char *name);
-BOOL is_hidden_path(int cnum, char *path);
-BOOL is_vetoed_path(int cnum, char *path);
+BOOL is_vetoed_name(char *name);
+BOOL is_vetoed_path(char *name);
 BOOL fcntl_lock(int fd,int op,uint32 offset,uint32 count,int type);
 int file_lock(char *name,int timeout);
 void file_unlock(int fd);
index b36943bfe2f39a0da4d11b3fb1db982ff781f569..ddbd05792dfab7984ef9245b33da1c8ed2725b41 100644 (file)
@@ -915,11 +915,4 @@ enum case_handling {CASE_LOWER,CASE_UPPER};
 /* Size of buffer to use when moving files across filesystems. */
 #define COPYBUF_SIZE (8*1024)
 
-/* Default files that will be hidden, but accessible.  intended
-   to replace the "hide dot files" parameter if the "hide files"
-   parameter moves to the service section instead of the global
-   section.
- */
-#define DEFAULT_FILES_TO_HIDE ".*"
-
 /* _SMB_H */
index 18f22ad6843f0e6d6e786fe3193104bbefd6636a..9ebfdca88ea87c0c8bbbd27d995d0f2d336cf366 100644 (file)
@@ -3427,9 +3427,9 @@ char *readdirname(void *p)
 }
 
 
-BOOL is_vetoed_name(int snum, char *name)
+BOOL is_vetoed_name(char *name)
 {
-  char *namelist = lp_veto_files(snum);
+  char *namelist = lp_veto_files();
   char *nameptr = namelist;
   char *name_end;
 
@@ -3469,8 +3469,9 @@ BOOL is_vetoed_name(int snum, char *name)
   return 0;
 }
 
-static BOOL is_in_path(char *name, char *namelist)
+BOOL is_vetoed_path(char *name)
 {
+  char *namelist = lp_veto_files();
   char *nameptr = namelist;
   char *sub;
   char *name_end;
@@ -3521,22 +3522,6 @@ static BOOL is_in_path(char *name, char *namelist)
   return 0;
 }
 
-/****************************************************************************
-used to make files hidden, but still accessible
-****************************************************************************/
-BOOL is_hidden_path(int cnum, char *path)
-{
-  return is_in_path(path, lp_hide_files(cnum));
-}
-
-/****************************************************************************
-used to make files _completely_ inaccessible
-****************************************************************************/
-BOOL is_vetoed_path(int cnum, char *path)
-{
-  return is_in_path(path, lp_veto_files(cnum));
-}
-
 /****************************************************************************
 routine to do file locking
 ****************************************************************************/
index 0e095c44bfbbd7b65b2b23e4de2cfc3d40340b36..9d3850b2428c9fd12d1de19d9f7df1053e2dd90c 100644 (file)
@@ -129,6 +129,7 @@ typedef struct
   char *szCharacterSet;
   char *szLogonScript;
   char *szLogonPath;
+  char *szVetoFiles;
   char *szSmbrun;
   char *szWINSserver;
   char *szInterfaces;
@@ -212,8 +213,6 @@ typedef struct
   char *szMagicScript;
   char *szMagicOutput;
   char *szMangledMap;
-  char *szVetoFiles;
-  char *szHideFiles;
   char *comment;
   char *force_user;
   char *force_group;
@@ -291,8 +290,6 @@ static service sDefault =
   NULL,    /* szMagicScript */
   NULL,    /* szMagicOutput */
   NULL,    /* szMangledMap */
-  NULL,    /* szVetoFiles */
-  DEFAULT_FILES_TO_HIDE,    /* szHideFiles */
   NULL,    /* comment */
   NULL,    /* force user */
   NULL,    /* force group */
@@ -397,6 +394,7 @@ struct parm_struct
   {"socket options",   P_GSTRING, P_GLOBAL, user_socket_options,        NULL},
   {"netbios name",     P_UGSTRING,P_GLOBAL, myname,                     NULL},
   {"smbrun",           P_STRING,  P_GLOBAL, &Globals.szSmbrun,          NULL},
+  {"veto files",       P_STRING,  P_GLOBAL, &Globals.szVetoFiles,       NULL},
   {"log file",         P_STRING,  P_GLOBAL, &Globals.szLogFile,         NULL},
   {"config file",      P_STRING,  P_GLOBAL, &Globals.szConfigFile,      NULL},
   {"smb passwd file",  P_STRING,  P_GLOBAL, &Globals.szSMBPasswdFile,   NULL},
@@ -509,8 +507,6 @@ struct parm_struct
   {"set directory",    P_BOOLREV, P_LOCAL,  &sDefault.bNo_set_dir,      NULL},
   {"status",           P_BOOL,    P_LOCAL,  &sDefault.status,           NULL},
   {"hide dot files",   P_BOOL,    P_LOCAL,  &sDefault.bHideDotFiles,    NULL},
-  {"veto files",       P_STRING,  P_LOCAL,  &sDefault.szVetoFiles,      NULL},
-  {"hide files",       P_STRING,  P_LOCAL,  &sDefault.szHideFiles,      NULL},
   {"guest only",       P_BOOL,    P_LOCAL,  &sDefault.bGuest_only,      NULL},
   {"only guest",       P_BOOL,    P_LOCAL,  &sDefault.bGuest_only,      NULL},
   {"guest ok",         P_BOOL,    P_LOCAL,  &sDefault.bGuest_ok,        NULL},
@@ -799,6 +795,7 @@ FN_GLOBAL_STRING(lp_username_map,&Globals.szUsernameMap)
 FN_GLOBAL_STRING(lp_character_set,&Globals.szCharacterSet) 
 FN_GLOBAL_STRING(lp_logon_script,&Globals.szLogonScript) 
 FN_GLOBAL_STRING(lp_logon_path,&Globals.szLogonPath) 
+FN_GLOBAL_STRING(lp_veto_files,&Globals.szVetoFiles)
 FN_GLOBAL_STRING(lp_remote_announce,&Globals.szRemoteAnnounce) 
 FN_GLOBAL_STRING(lp_wins_server,&Globals.szWINSserver)
 FN_GLOBAL_STRING(lp_interfaces,&Globals.szInterfaces)
@@ -878,8 +875,6 @@ FN_LOCAL_STRING(lp_readlist,readlist)
 FN_LOCAL_STRING(lp_writelist,writelist)
 FN_LOCAL_STRING(lp_volume,volume)
 FN_LOCAL_STRING(lp_mangled_map,szMangledMap)
-FN_LOCAL_STRING(lp_veto_files,szVetoFiles)
-FN_LOCAL_STRING(lp_hide_files,szHideFiles)
 
 FN_LOCAL_BOOL(lp_alternate_permissions,bAlternatePerm)
 FN_LOCAL_BOOL(lp_revalidate,bRevalidate)
index f674c92804b09f4d27e07ae1e3de3cbf8cb4d158..bc099dd1e8f3c95246448c7df963696371fa2d72 100644 (file)
@@ -108,7 +108,7 @@ static void dptr_idleoldest(void)
 /****************************************************************************
 get the dir ptr for a dir index
 ****************************************************************************/
-static void *dptr_get(int cnum, int key,uint32 lastused)
+static void *dptr_get(int key,uint32 lastused)
 {
   if (dirptrs[key].valid) {
     if (lastused) dirptrs[key].lastused = lastused;
@@ -116,7 +116,7 @@ static void *dptr_get(int cnum, int key,uint32 lastused)
       if (dptrs_open >= MAXDIR)
        dptr_idleoldest();
       DEBUG(4,("Reopening dptr key %d\n",key));
-      if ((dirptrs[key].ptr = OpenDir(cnum, dirptrs[key].path)))
+      if ((dirptrs[key].ptr = OpenDir(dirptrs[key].path)))
        dptrs_open++;
     }
     return(dirptrs[key].ptr);
@@ -259,7 +259,7 @@ static BOOL start_dir(int cnum,char *directory)
   if (! *directory)
     directory = ".";
 
-  Connections[cnum].dirptr = OpenDir(cnum, directory);
+  Connections[cnum].dirptr = OpenDir(directory);
   if (Connections[cnum].dirptr) {    
     dptrs_open++;
     string_set(&Connections[cnum].dirpath,directory);
@@ -345,10 +345,10 @@ int dptr_create(int cnum,char *path, BOOL expect_close,int pid)
 /****************************************************************************
 fill the 5 byte server reserved dptr field
 ****************************************************************************/
-BOOL dptr_fill(int cnum, char *buf1,unsigned int key)
+BOOL dptr_fill(char *buf1,unsigned int key)
 {
   unsigned char *buf = (unsigned char *)buf1;
-  void *p = dptr_get(cnum, key,0);
+  void *p = dptr_get(key,0);
   uint32 offset;
   if (!p) {
     DEBUG(1,("filling null dirptr %d\n",key));
@@ -373,10 +373,10 @@ BOOL dptr_zero(char *buf)
 /****************************************************************************
 fetch the dir ptr and seek it given the 5 byte server field
 ****************************************************************************/
-void *dptr_fetch(int cnum, char *buf,int *num)
+void *dptr_fetch(char *buf,int *num)
 {
   unsigned int key = *(unsigned char *)buf;
-  void *p = dptr_get(cnum, key,dircounter++);
+  void *p = dptr_get(key,dircounter++);
   uint32 offset;
   if (!p) {
     DEBUG(3,("fetched null dirptr %d\n",key));
@@ -393,9 +393,9 @@ void *dptr_fetch(int cnum, char *buf,int *num)
 /****************************************************************************
 fetch the dir ptr and seek it given the lanman2 parameter block
 ****************************************************************************/
-void *dptr_fetch_lanman2(int cnum, char *params,int dptr_num)
+void *dptr_fetch_lanman2(char *params,int dptr_num)
 {
-  void *p = dptr_get(cnum, dptr_num,dircounter++);
+  void *p = dptr_get(dptr_num,dircounter++);
   uint32 resume_key = SVAL(params,6);
   BOOL uses_resume_key = BITSETW(params+10,2);
   BOOL continue_bit = BITSETW(params+10,3);
@@ -520,7 +520,7 @@ typedef struct
 /*******************************************************************
 open a directory
 ********************************************************************/
-void *OpenDir(int cnum, char *name)
+void *OpenDir(char *name)
 {
   Dir *dirp;
   char *n;
@@ -539,7 +539,7 @@ void *OpenDir(int cnum, char *name)
   while ((n = readdirname(p))) {
     int l = strlen(n)+1;
     /* If it's a vetoed file, pretend it doesn't even exist */
-    if(is_vetoed_name(cnum, n))
+    if(is_vetoed_name(n))
       continue;
     if (used + l > dirp->mallocsize) {
       int s = MAX(used+l,used+2000);
index 5af77d0ac4458e30bc35150bfa7f57b2deaa6fb9..8c40734ce42e264c260d63eceb48651defa70995 100644 (file)
@@ -222,11 +222,6 @@ int dos_mode(int cnum,char *path,struct stat *sbuf)
        result |= aHIDDEN;
     }
 
-  if (is_hidden_path(SNUM(cnum), path))
-  {
-    result |= aHIDDEN;
-  }
-
   return(result);
 }
 
@@ -366,7 +361,7 @@ static BOOL scan_directory(char *path, char *name,int snum,BOOL docache)
     check_mangled_stack(name);
 
   /* open the directory */
-  if (!(cur_dir = OpenDir(snum, path))) 
+  if (!(cur_dir = OpenDir(path))) 
     {
       DEBUG(3,("scan dir didn't open dir [%s]\n",path));
       return(False);
@@ -796,7 +791,7 @@ BOOL check_name(char *name,int cnum)
 
   errno = 0;
 
-  if( is_vetoed_path(SNUM(cnum), name)) 
+  if( is_vetoed_path(name)) 
     {
       DEBUG(5,("file path name %s vetoed\n",name));
       return(0);