diff options
-rw-r--r-- | source3/Makefile.in | 2 | ||||
-rw-r--r-- | source3/include/includes.h | 1 | ||||
-rw-r--r-- | source3/smbd/mangle.c | 2 | ||||
-rw-r--r-- | source3/smbd/negprot.c | 2 | ||||
-rw-r--r-- | source3/smbd/server.c | 15 |
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()) |