diff options
author | Samba Release Account <samba-bugs@samba.org> | 1997-07-01 01:19:13 +0000 |
---|---|---|
committer | Samba Release Account <samba-bugs@samba.org> | 1997-07-01 01:19:13 +0000 |
commit | 1c6e433caa22813a699c9766847886eb59755f8b (patch) | |
tree | 7ebc25637926ed22a740029767851621f5775278 /source/smbd/ipc.c | |
parent | 199fe63b1524833840b44ac708c2540272386d31 (diff) | |
download | samba-1c6e433caa22813a699c9766847886eb59755f8b.tar.gz samba-1c6e433caa22813a699c9766847886eb59755f8b.tar.xz samba-1c6e433caa22813a699c9766847886eb59755f8b.zip |
client.c: New print queue query code from Jeff C. Foster " <jfoste@wgc.woodward.com>
ipc.c: Added code for returning restricted lists of servers.
loadparm.c: Changed default for force create mode to 000.
Changed default maxmux to 50 to comply with NT.
locking.c: Fixed silly crash bug with slow share mode code.
nameannounce.c: Added code for returning restricted lists of servers.
namedbserver.c: Added code for returning restricted lists of servers.
nameelect.c: Added code for returning restricted lists of servers.
namework.c: Added code for returning restricted lists of servers.
nmbsync.c: Added code for returning restricted lists of servers.
server.c: Added quota fix Albrecht Gebhardt <albrecht.gebhardt@uni-klu.ac.at>
smb.h: Added define for COPYBUF_SIZE.
system.c: Rename across filesystems Patch from Warren Birnbaum
<warrenb@hpcvscdp.cv.hp.com>
util.c: Minor fix for warning.
Diffstat (limited to 'source/smbd/ipc.c')
-rw-r--r-- | source/smbd/ipc.c | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/source/smbd/ipc.c b/source/smbd/ipc.c index 6b3953e6c86..7922e416236 100644 --- a/source/smbd/ipc.c +++ b/source/smbd/ipc.c @@ -770,6 +770,7 @@ static int get_server_info(uint32 servertype, int count=0; int alloced=0; pstring line; + BOOL local_list_only; strcpy(fname,lp_lockdir()); trim_string(fname,NULL,"/"); @@ -784,7 +785,10 @@ static int get_server_info(uint32 servertype, } /* request for everything is code for request all servers */ - if (servertype == SV_TYPE_ALL) servertype &= ~SV_TYPE_DOMAIN_ENUM; + if (servertype == SV_TYPE_ALL) + servertype &= ~(SV_TYPE_DOMAIN_ENUM|SV_TYPE_LOCAL_LIST_ONLY); + + local_list_only = (servertype & SV_TYPE_LOCAL_LIST_ONLY); DEBUG(4,("Servertype search: %8x\n",servertype)); @@ -821,6 +825,14 @@ static int get_server_info(uint32 servertype, ok = False; } + /* Filter the servers/domains we return based on what was asked for. */ + + /* Check to see if we are being asked for a local list only. */ + if(local_list_only && ((s->type & SV_TYPE_LOCAL_LIST_ONLY) == 0)) { + DEBUG(4,("r: local list only")); + ok = False; + } + /* doesn't match up: don't want it */ if (!(servertype & s->type)) { DEBUG(4,("r:serv type ")); @@ -839,6 +851,9 @@ static int get_server_info(uint32 servertype, ok = False; } + /* We should never return a server type with a SV_TYPE_LOCAL_LIST_ONLY set. */ + s->type &= ~SV_TYPE_LOCAL_LIST_ONLY; + if (ok) { DEBUG(4,("**SV** %20s %8x %25s %15s\n", |