summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source3/Makefile.in2
-rw-r--r--source3/include/includes.h1
-rw-r--r--source3/smbd/mangle.c2
-rw-r--r--source3/smbd/negprot.c2
-rw-r--r--source3/smbd/server.c15
5 files changed, 15 insertions, 7 deletions
diff --git a/source3/Makefile.in b/source3/Makefile.in
index 6201e63c88..931435e823 100644
--- a/source3/Makefile.in
+++ b/source3/Makefile.in
@@ -57,7 +57,7 @@ LOCKDIR = @lockdir@
CODEPAGEDIR = $(LIBDIR)/codepages
# The current codepage definition list.
-CODEPAGELIST= 437 737 850 852 861 932 866 949 950 936 ISO8859-1 ISO8859-2 ISO8859-5 ISO8859-7 KOI-R
+CODEPAGELIST= 437 737 850 852 861 932 866 949 950 936 1251 ISO8859-1 ISO8859-2 ISO8859-5 ISO8859-7 KOI-R
# where you are going to have the smbrun binary. This defaults to the
# install directory. This binary is needed for correct printing
diff --git a/source3/include/includes.h b/source3/include/includes.h
index e2139345c0..4177189d6e 100644
--- a/source3/include/includes.h
+++ b/source3/include/includes.h
@@ -198,7 +198,6 @@
#endif
#include <pwd.h>
-#include <grp.h>
#ifdef HAVE_STDARG_H
#include <stdarg.h>
diff --git a/source3/smbd/mangle.c b/source3/smbd/mangle.c
index 48e16e5332..4c306ad00f 100644
--- a/source3/smbd/mangle.c
+++ b/source3/smbd/mangle.c
@@ -124,7 +124,7 @@ static BOOL ct_initialized = False;
#define isbasechar(C) ( (chartest[ ((C) & 0xff) ]) & BASECHAR_MASK )
#define isillegal(C) ( (chartest[ ((C) & 0xff) ]) & ILLEGAL_MASK )
-static ubi_cacheRoot mangled_cache[1] = { { { 0 }, 0, 0, 0, 0, 0, 0} };
+static ubi_cacheRoot mangled_cache[1] = { { { 0, 0, 0, 0 }, 0, 0, 0, 0, 0, 0 } };
static BOOL mc_initialized = False;
#define MANGLED_CACHE_MAX_ENTRIES 0
#define MANGLED_CACHE_MAX_MEMORY 16384
diff --git a/source3/smbd/negprot.c b/source3/smbd/negprot.c
index b2366b0a37..3cabc6b229 100644
--- a/source3/smbd/negprot.c
+++ b/source3/smbd/negprot.c
@@ -315,7 +315,7 @@ static struct {
{"MICROSOFT NETWORKS 3.0", "LANMAN1", reply_lanman1, PROTOCOL_LANMAN1},
{"MICROSOFT NETWORKS 1.03", "COREPLUS", reply_coreplus, PROTOCOL_COREPLUS},
{"PC NETWORK PROGRAM 1.0", "CORE", reply_corep, PROTOCOL_CORE},
- {NULL,NULL},
+ {NULL,NULL,NULL,0},
};
diff --git a/source3/smbd/server.c b/source3/smbd/server.c
index 79d37e5093..bd07ed8458 100644
--- a/source3/smbd/server.c
+++ b/source3/smbd/server.c
@@ -504,6 +504,7 @@ static void usage(char *pname)
extern BOOL append_log;
/* shall I run as a daemon */
BOOL is_daemon = False;
+ BOOL specified_logfile = False;
int port = SMB_PORT;
int opt;
extern char *optarg;
@@ -536,6 +537,7 @@ static void usage(char *pname)
break;
case 'l':
+ specified_logfile = True;
pstrcpy(debugf,optarg);
break;
@@ -597,7 +599,8 @@ static void usage(char *pname)
TimeInit();
- pstrcpy(debugf,SMBLOGFILE);
+ if(!specified_logfile)
+ pstrcpy(debugf,SMBLOGFILE);
pstrcpy(remote_machine, "smb");
@@ -714,10 +717,16 @@ static void usage(char *pname)
pidfile_create("smbd");
}
- if (!locking_init(0))
+ if (!open_sockets(is_daemon,port))
exit(1);
- if (!open_sockets(is_daemon,port))
+ /*
+ * Note that this call should be done after the fork() call
+ * in open_sockets(), as some versions of the locking shared
+ * memory code register openers in a flat file.
+ */
+
+ if (!locking_init(0))
exit(1);
if(!initialize_password_db())