summaryrefslogtreecommitdiff
path: root/source3/smbd
diff options
context:
space:
mode:
authorSamba Release Account <samba-bugs@samba.org>1997-07-01 19:42:42 +0000
committerSamba Release Account <samba-bugs@samba.org>1997-07-01 19:42:42 +0000
commitce9baa3bac6eba5f7a468557572f342d3ba918ec (patch)
tree269614c7ba4116efce19444005dcaec4d3f7d1ac /source3/smbd
parent738d29667f9cd1ce312ec011f5e37ce584d7173d (diff)
downloadsamba-ce9baa3bac6eba5f7a468557572f342d3ba918ec.tar.gz
samba-ce9baa3bac6eba5f7a468557572f342d3ba918ec.tar.bz2
samba-ce9baa3bac6eba5f7a468557572f342d3ba918ec.zip
made "hide files" and "veto files" into per-service parameter sections,
instead of just [global]. this makes it easier to decide whether to remove the "hide dot files" per-service parameter, and supercede it with a default "hide files" value of ".*". lkcl (This used to be commit f3ee4620ea7b93e4a00e77f9d787a118fd11ccaa)
Diffstat (limited to 'source3/smbd')
-rw-r--r--source3/smbd/dir.c22
-rw-r--r--source3/smbd/server.c6
2 files changed, 14 insertions, 14 deletions
diff --git a/source3/smbd/dir.c b/source3/smbd/dir.c
index bc099dd1e8..f674c92804 100644
--- a/source3/smbd/dir.c
+++ b/source3/smbd/dir.c
@@ -108,7 +108,7 @@ static void dptr_idleoldest(void)
/****************************************************************************
get the dir ptr for a dir index
****************************************************************************/
-static void *dptr_get(int key,uint32 lastused)
+static void *dptr_get(int cnum, int key,uint32 lastused)
{
if (dirptrs[key].valid) {
if (lastused) dirptrs[key].lastused = lastused;
@@ -116,7 +116,7 @@ static void *dptr_get(int key,uint32 lastused)
if (dptrs_open >= MAXDIR)
dptr_idleoldest();
DEBUG(4,("Reopening dptr key %d\n",key));
- if ((dirptrs[key].ptr = OpenDir(dirptrs[key].path)))
+ if ((dirptrs[key].ptr = OpenDir(cnum, 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(directory);
+ Connections[cnum].dirptr = OpenDir(cnum, 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(char *buf1,unsigned int key)
+BOOL dptr_fill(int cnum, char *buf1,unsigned int key)
{
unsigned char *buf = (unsigned char *)buf1;
- void *p = dptr_get(key,0);
+ void *p = dptr_get(cnum, 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(char *buf,int *num)
+void *dptr_fetch(int cnum, char *buf,int *num)
{
unsigned int key = *(unsigned char *)buf;
- void *p = dptr_get(key,dircounter++);
+ void *p = dptr_get(cnum, key,dircounter++);
uint32 offset;
if (!p) {
DEBUG(3,("fetched null dirptr %d\n",key));
@@ -393,9 +393,9 @@ void *dptr_fetch(char *buf,int *num)
/****************************************************************************
fetch the dir ptr and seek it given the lanman2 parameter block
****************************************************************************/
-void *dptr_fetch_lanman2(char *params,int dptr_num)
+void *dptr_fetch_lanman2(int cnum, char *params,int dptr_num)
{
- void *p = dptr_get(dptr_num,dircounter++);
+ void *p = dptr_get(cnum, 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(char *name)
+void *OpenDir(int cnum, char *name)
{
Dir *dirp;
char *n;
@@ -539,7 +539,7 @@ void *OpenDir(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(n))
+ if(is_vetoed_name(cnum, n))
continue;
if (used + l > dirp->mallocsize) {
int s = MAX(used+l,used+2000);
diff --git a/source3/smbd/server.c b/source3/smbd/server.c
index 30cf9cb016..5af77d0ac4 100644
--- a/source3/smbd/server.c
+++ b/source3/smbd/server.c
@@ -222,7 +222,7 @@ int dos_mode(int cnum,char *path,struct stat *sbuf)
result |= aHIDDEN;
}
- if (is_hidden_path(path))
+ if (is_hidden_path(SNUM(cnum), path))
{
result |= aHIDDEN;
}
@@ -366,7 +366,7 @@ static BOOL scan_directory(char *path, char *name,int snum,BOOL docache)
check_mangled_stack(name);
/* open the directory */
- if (!(cur_dir = OpenDir(path)))
+ if (!(cur_dir = OpenDir(snum, path)))
{
DEBUG(3,("scan dir didn't open dir [%s]\n",path));
return(False);
@@ -796,7 +796,7 @@ BOOL check_name(char *name,int cnum)
errno = 0;
- if( is_vetoed_path(name))
+ if( is_vetoed_path(SNUM(cnum), name))
{
DEBUG(5,("file path name %s vetoed\n",name));
return(0);