summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSamba Release Account <samba-bugs@samba.org>1997-08-13 20:16:32 +0000
committerSamba Release Account <samba-bugs@samba.org>1997-08-13 20:16:32 +0000
commitb65fdef1ba6a9a0a27da724a8324a6f2804759cf (patch)
tree15dc38e670494b2653c6e1abbc8430cb385675ae
parent9b41ada7c8f5eb77a1acf0eaf29a7d6f8cbaea36 (diff)
downloadsamba-b65fdef1ba6a9a0a27da724a8324a6f2804759cf.tar.gz
samba-b65fdef1ba6a9a0a27da724a8324a6f2804759cf.tar.bz2
samba-b65fdef1ba6a9a0a27da724a8324a6f2804759cf.zip
includes.h: Fixed S_IFLNK for old DEC ultrix.
ipc.c: Finally :-) fixed responses to NetServerEnum2 when SV_TYPE_ALL given. Jeremy (jallison@whistle.com) (This used to be commit 1dc37c83506a434840a04c49e423cd9d2223fab4)
-rw-r--r--source3/include/includes.h4
-rw-r--r--source3/smbd/ipc.c10
2 files changed, 12 insertions, 2 deletions
diff --git a/source3/include/includes.h b/source3/include/includes.h
index 35112ff70b..03c2d461e6 100644
--- a/source3/include/includes.h
+++ b/source3/include/includes.h
@@ -1105,6 +1105,10 @@ extern char *sys_errlist[];
#define S_ISDIR(x) ((S_IFDIR & x)!=0)
#endif
+#if !defined(S_ISLNK) && defined(S_IFLNK)
+#define S_ISLNK(x) ((S_IFLNK & x)!=0)
+#endif
+
#ifdef UFC_CRYPT
#define crypt ufc_crypt
#endif
diff --git a/source3/smbd/ipc.c b/source3/smbd/ipc.c
index 89dd9f511b..d6d2f289aa 100644
--- a/source3/smbd/ipc.c
+++ b/source3/smbd/ipc.c
@@ -982,11 +982,17 @@ static BOOL api_RNetServerEnum(int cnum, uint16 vuid, char *param, char *data,
int i,missed;
fstring domain;
BOOL domain_request;
- BOOL local_request = servertype & SV_TYPE_LOCAL_LIST_ONLY;
+ BOOL local_request;
- if (servertype == SV_TYPE_ALL) servertype &= ~SV_TYPE_DOMAIN_ENUM;
+ /* If someone sets all the bits they don't really mean to set
+ DOMAIN_ENUM and LOCAL_LIST_ONLY, they just want all the
+ known servers. */
+
+ if (servertype == SV_TYPE_ALL)
+ servertype &= ~(SV_TYPE_DOMAIN_ENUM|SV_TYPE_LOCAL_LIST_ONLY);
domain_request = ((servertype & SV_TYPE_DOMAIN_ENUM) != 0);
+ local_request = ((servertype & SV_TYPE_LOCAL_LIST_ONLY) != 0);
p += 8;