summaryrefslogtreecommitdiff
path: root/source3/smbd
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>1996-10-05 02:54:37 +0000
committerAndrew Tridgell <tridge@samba.org>1996-10-05 02:54:37 +0000
commit38087ccb4071bfff29801026e2bf5c47565305b4 (patch)
tree41e9bfd4677d25ec700217a58df888cefae8c871 /source3/smbd
parent32e9d441afe29dde38c2ad8f089f396bdc6199ee (diff)
downloadsamba-38087ccb4071bfff29801026e2bf5c47565305b4.tar.gz
samba-38087ccb4071bfff29801026e2bf5c47565305b4.tar.bz2
samba-38087ccb4071bfff29801026e2bf5c47565305b4.zip
- use workgroup from smb.conf in smbclient
- change debug level on clitar stuff - define MAP_FILE if not defined - ensure we never set authoritative on queries in nmbd - fake a positive response to SMBioctl, apparently this is needed for some WfWg printer drivers - deny file access for non-fcbopen queries when (access_allowed == AREAD && flags == O_RDWR) - add sys_waitpid() (This used to be commit 61e3116e573637d6b5a878eeb8db72831e3c5bd1)
Diffstat (limited to 'source3/smbd')
-rw-r--r--source3/smbd/reply.c7
-rw-r--r--source3/smbd/server.c3
-rw-r--r--source3/smbd/uid.c2
3 files changed, 9 insertions, 3 deletions
diff --git a/source3/smbd/reply.c b/source3/smbd/reply.c
index 6cf1b031e8..63c0a7027e 100644
--- a/source3/smbd/reply.c
+++ b/source3/smbd/reply.c
@@ -294,8 +294,13 @@ int reply_unknown(char *inbuf,char *outbuf)
int reply_ioctl(char *inbuf,char *outbuf)
{
DEBUG(3,("ignoring ioctl\n"));
-
+#if 1
+ /* we just say it succeeds and hope its all OK.
+ some day it would be nice to interpret them individually */
+ return set_message(outbuf,1,0,True);
+#else
return(ERROR(ERRSRV,ERRnosupport));
+#endif
}
diff --git a/source3/smbd/server.c b/source3/smbd/server.c
index a710aef69b..9ad7840465 100644
--- a/source3/smbd/server.c
+++ b/source3/smbd/server.c
@@ -1158,6 +1158,7 @@ void open_file_shared(int fnum,int cnum,char *fname,int share_mode,int ofun,
share_pid,fname);
if ((access_allowed == AFAIL) ||
+ (!fcbopen && (access_allowed == AREAD && flags == O_RDWR)) ||
(access_allowed == AREAD && flags == O_WRONLY) ||
(access_allowed == AWRITE && flags == O_RDONLY)) {
DEBUG(2,("Share violation on file (%d,%d,%d,%d,%s) = %d\n",
@@ -1586,7 +1587,7 @@ static int sig_cld()
DEBUG(5,("got SIGCLD\n"));
#ifdef USE_WAITPID
- while (waitpid((pid_t)-1,(int *)NULL, WNOHANG) > 0);
+ while (sys_waitpid((pid_t)-1,(int *)NULL, WNOHANG) > 0);
#endif
/* Stop zombies */
diff --git a/source3/smbd/uid.c b/source3/smbd/uid.c
index 7274c18478..9312a447a0 100644
--- a/source3/smbd/uid.c
+++ b/source3/smbd/uid.c
@@ -415,7 +415,7 @@ int smbrun(char *cmd,char *outfile,BOOL shared)
if ((pid=fork())) {
int status=0;
/* the parent just waits for the child to exit */
- if (waitpid(pid,&status,0) != pid) {
+ if (sys_waitpid(pid,&status,0) != pid) {
DEBUG(2,("waitpid(%d) : %s\n",pid,strerror(errno)));
return -1;
}