diff options
22 files changed, 967 insertions, 276 deletions
diff --git a/packaging/Debian/README b/packaging/Debian/README index 64a505c8cb..0a1d68ba37 100644 --- a/packaging/Debian/README +++ b/packaging/Debian/README @@ -4,7 +4,7 @@ Building Samba Packages for Debian GNU/Linux Building Debian packages is not as hard as some people might think. The following instructions will allow you to build your own Samba Debian packages. These instructions, and the files in packaging/Debian/, should -be current as of Samba 3.0beta2, and should allow you to build Debian +be current as of Samba 3.0beta3, and should allow you to build Debian packages for Debian unstable. We try to maintain as much compatibility with previous releases @@ -44,12 +44,12 @@ devscripts, etc.): That's fine; the configure script won't detect CUPS support and the resulting binaries won't support CUPS. - * The list above is current as of samba-3.0.0beta2, but it can get + * The list above is current as of samba-3.0.0beta3, but it can get out of date. The best way to check what packages are required to build the samba packages on Debian is to look for the Build-Depends: field in the file debian/control. -1) cd samba[-<version>]. For example, "cd samba-3.0.0beta1". +1) cd samba[-<version>]. For example, "cd samba-3.0.0beta3". 2) cp -a packaging/Debian/debian/ debian It's important that you copy instead of symlink because the build tools in Potato have a problem that prevents the build to work with @@ -58,8 +58,8 @@ devscripts, etc.): Debian version numbers! Don't complain later if you can't upgrade to official versions of the Samba packages for Debian.) - Edit the changelog and make sure the version is right. For example, - for Samba 3.0.0beta1, the version number should something like - 3.0.0beta1-1.1. + for Samba 3.0.0beta3, the version number should something like + 3.0.0beta3-0.1. 4) Run 'debian/rules binary'. - It is better that you prefix the above command with 'fakeroot'. If you have problems you might try building as root. diff --git a/packaging/Debian/debian/README.build-upstream b/packaging/Debian/debian/README.build-upstream index 64a505c8cb..0a1d68ba37 100644 --- a/packaging/Debian/debian/README.build-upstream +++ b/packaging/Debian/debian/README.build-upstream @@ -4,7 +4,7 @@ Building Samba Packages for Debian GNU/Linux Building Debian packages is not as hard as some people might think. The following instructions will allow you to build your own Samba Debian packages. These instructions, and the files in packaging/Debian/, should -be current as of Samba 3.0beta2, and should allow you to build Debian +be current as of Samba 3.0beta3, and should allow you to build Debian packages for Debian unstable. We try to maintain as much compatibility with previous releases @@ -44,12 +44,12 @@ devscripts, etc.): That's fine; the configure script won't detect CUPS support and the resulting binaries won't support CUPS. - * The list above is current as of samba-3.0.0beta2, but it can get + * The list above is current as of samba-3.0.0beta3, but it can get out of date. The best way to check what packages are required to build the samba packages on Debian is to look for the Build-Depends: field in the file debian/control. -1) cd samba[-<version>]. For example, "cd samba-3.0.0beta1". +1) cd samba[-<version>]. For example, "cd samba-3.0.0beta3". 2) cp -a packaging/Debian/debian/ debian It's important that you copy instead of symlink because the build tools in Potato have a problem that prevents the build to work with @@ -58,8 +58,8 @@ devscripts, etc.): Debian version numbers! Don't complain later if you can't upgrade to official versions of the Samba packages for Debian.) - Edit the changelog and make sure the version is right. For example, - for Samba 3.0.0beta1, the version number should something like - 3.0.0beta1-1.1. + for Samba 3.0.0beta3, the version number should something like + 3.0.0beta3-0.1. 4) Run 'debian/rules binary'. - It is better that you prefix the above command with 'fakeroot'. If you have problems you might try building as root. diff --git a/packaging/Debian/debian/changelog b/packaging/Debian/debian/changelog index ad556c0d8c..a3d27b56d4 100644 --- a/packaging/Debian/debian/changelog +++ b/packaging/Debian/debian/changelog @@ -1,3 +1,25 @@ +samba (3.0.0beta3-0.1) unstable; urgency=low + + * Local build. + + -- Debian User <somebody@somwhere.net> Tue, 15 Jul 2003 11:05:39 -0400 + +samba (3.0.0beta2-2) unstable; urgency=low + + * Drag new unpackaged tools into the packages: smbcquotas (smbclient), + vfs modules (samba), smbtree(1) manpage (smbclient), tdbbackup(8) + manpage (samba). (closes: #151158) + * Switch to DH_COMPAT level 4: + - no explicit conffile listings needed + - the postinst for libsmbclient is now completely autogenerated + - use the default init script handling (with support for + invoke-rc.d) in debhelper, instead of the currently buggy upgrade + path (closes: #185439) + - add support for ${misc:Depends} in control for those packages with + init scripts + + -- Steve Langasek <vorlon@debian.org> Sat, 12 Jul 2003 19:27:31 -0500 + samba (3.0.0beta2-1) unstable; urgency=low * New upstream release @@ -13,6 +35,20 @@ samba (3.0.0beta2-1) unstable; urgency=low - Handle an empty 'passdb backend' list gracefully (closes: #193946). * Don't set 'display charset' anymore on upgrade, since this is now grabbed from the locale by default -- a much better option. + * Removed time.c.patch which is now in the upstream sources. + * Update FHS patch for two new tdb files (netsamlogon_cache.tdb, + privilege.tdb). + * Remove python-linker.patch, since the Kerberos package has been + fixed to no longer use rpath + * Remove configure.patch: the hppa glibc bug this was added for is + long since fixed, and upstream isn't interested in supporting this + kludge. + * Update references to missing documentation in sample smb.conf file + (closes: #187632). + * Fix handling of krb5 link line, building on a patch from Stefan + Metzmacher <metze@metzemix.de>. + * Add patch so smbclient's tar support works with popt + (closes: #194921). -- Steve Langasek <vorlon@debian.org> Wed, 2 Jul 2003 20:59:09 -0500 diff --git a/packaging/Debian/debian/control b/packaging/Debian/debian/control index 0713080143..ddbf9e8e3a 100644 --- a/packaging/Debian/debian/control +++ b/packaging/Debian/debian/control @@ -8,7 +8,7 @@ Standards-Version: 3.5.10 Package: samba Architecture: any -Depends: debconf, samba-common (= ${Source-Version}), netbase, logrotate, ${shlibs:Depends} +Depends: samba-common (= ${Source-Version}), netbase, logrotate, ${shlibs:Depends}, ${misc:Depends} Replaces: samba-common (<= 2.0.5a-2) Suggests: samba-doc Description: a LanManager-like file and printer server for Unix @@ -163,7 +163,7 @@ Package: winbind Section: net Priority: optional Architecture: any -Depends: ${shlibs:Depends} +Depends: ${shlibs:Depends}, ${misc:Depends} Replaces: samba (<= 2.2.3-2) Description: service to resolve user and group information from Windows NT servers This package provides the winbindd daemon, which provides a diff --git a/packaging/Debian/debian/libsmbclient.postinst b/packaging/Debian/debian/libsmbclient.postinst deleted file mode 100644 index bd85266cdf..0000000000 --- a/packaging/Debian/debian/libsmbclient.postinst +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/sh -# -# postinst script for libsmbclient -# -# - -if [ "$1" = "configure" ]; then - ldconfig -fi - -#DEBHELPER# diff --git a/packaging/Debian/debian/patches/configure.patch b/packaging/Debian/debian/patches/configure.patch deleted file mode 100644 index 6376ceefb1..0000000000 --- a/packaging/Debian/debian/patches/configure.patch +++ /dev/null @@ -1,43 +0,0 @@ -diff -uNr samba-3.0alpha21.orig/source/configure.in samba-3.0alpha21/source/configure.in ---- samba-3.0alpha21.orig/source/configure.in 2003-02-16 13:01:45.000000000 -0600 -+++ samba-3.0alpha21/source/configure.in 2003-02-16 13:04:03.000000000 -0600 -@@ -481,6 +481,28 @@ - #endif - } - ], [LINUX_LFS_SUPPORT=yes], [LINUX_LFS_SUPPORT=no], [LINUX_LFS_SUPPORT=cross]) -+ if test x$LINUX_LFS_SUPPORT = xyes ; then -+ AC_TRY_RUN([ -+#include <unistd.h> -+#include <sys/types.h> -+#include <fcntl.h> -+main() { -+ unsigned int *padding; -+ struct flock foo_lock = {F_WRLCK, SEEK_SET, 0, 1, 0}; -+ int fd = open("/dev/null", O_RDWR); -+ -+ /* Yes, we're depending on the internals of the Linux flock structure -+ here -- but this test is explicitly Linux-specific to begin with. */ -+ padding = (unsigned int *)&foo_lock; -+ padding[1] = 0xffffffff; -+ foo_lock.l_start = 0; -+ if (fcntl(fd, F_SETLK, &foo_lock) < 0) -+ exit(1); -+ -+ exit(0); -+} -+], [LINUX_LFS_SUPPORT=yes], [LINUX_LFS_SUPPORT=no], [LINUX_LFS_SUPPORT=cross]) -+ fi - CPPFLAGS="$old_CPPFLAGS" - if test x$LINUX_LFS_SUPPORT = xyes ; then - CPPFLAGS="-D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE $CPPFLAGS" ---- samba-3.0.0beta2.orig/source/configure.in 2003-07-01 16:44:25.000000000 -0400 -+++ samba-3.0.0beta2/source/configure.in 2003-07-03 13:58:38.000000000 -0400 -@@ -2118,6 +2118,8 @@ - - ac_save_CFLAGS="$CFLAGS" - ac_save_LIBS="$LIBS" -+ CFLAGS="" -+ LIBS="" - - ################################################# - # check for krb5-config from recent MIT and Heimdal kerberos 5 diff --git a/packaging/Debian/debian/patches/fhs.patch b/packaging/Debian/debian/patches/fhs.patch index f27c6afb49..b5c7c6c676 100644 --- a/packaging/Debian/debian/patches/fhs.patch +++ b/packaging/Debian/debian/patches/fhs.patch @@ -1,6 +1,6 @@ -diff -uNr samba-3.0alpha23.orig/source/Makefile.in samba-3.0alpha23/source/Makefile.in ---- samba-3.0alpha23.orig/source/Makefile.in 2003-03-30 20:28:28.000000000 -0600 -+++ samba-3.0alpha23/source/Makefile.in 2003-04-04 21:04:05.000000000 -0600 +diff -uNr samba-3.0.0beta2.orig/source/Makefile.in samba-3.0.0beta2/source/Makefile.in +--- samba-3.0.0beta2.orig/source/Makefile.in 2003-07-02 23:26:46.000000000 -0500 ++++ samba-3.0.0beta2/source/Makefile.in 2003-07-02 23:19:46.000000000 -0500 @@ -68,6 +68,7 @@ CONFIGDIR = @configdir@ VARDIR = @localstatedir@ @@ -32,7 +32,7 @@ diff -uNr samba-3.0alpha23.orig/source/Makefile.in samba-3.0alpha23/source/Makef PATH_FLAGS = $(PATH_FLAGS6) $(PASSWD_FLAGS) # Note that all executable programs now provide for an optional executable suffix. -@@ -1129,7 +1137,7 @@ +@@ -1123,7 +1131,7 @@ @$(SHELL) $(srcdir)/script/installscripts.sh $(INSTALLPERMS) $(DESTDIR)$(BINDIR) $(SCRIPTS) installdat: installdirs @@ -41,9 +41,9 @@ diff -uNr samba-3.0alpha23.orig/source/Makefile.in samba-3.0alpha23/source/Makef installswat: installdirs @$(SHELL) $(srcdir)/script/installswat.sh $(DESTDIR)$(SWATDIR) $(srcdir) -diff -uNr samba-3.0alpha23.orig/source/configure.in samba-3.0alpha23/source/configure.in ---- samba-3.0alpha23.orig/source/configure.in 2003-04-04 21:03:52.000000000 -0600 -+++ samba-3.0alpha23/source/configure.in 2003-04-04 21:04:05.000000000 -0600 +diff -uNr samba-3.0.0beta2.orig/source/configure.in samba-3.0.0beta2/source/configure.in +--- samba-3.0.0beta2.orig/source/configure.in 2003-07-02 23:26:47.000000000 -0500 ++++ samba-3.0.0beta2/source/configure.in 2003-07-02 23:19:02.000000000 -0500 @@ -17,18 +17,25 @@ AC_ARG_WITH(fhs, [ --with-fhs Use FHS-compliant paths (default=no)], @@ -83,9 +83,9 @@ diff -uNr samba-3.0alpha23.orig/source/configure.in samba-3.0alpha23/source/conf dnl Unique-to-Samba variables we'll be playing with. AC_SUBST(SHELL) -diff -uNr samba-3.0alpha23.orig/source/dynconfig.c samba-3.0alpha23/source/dynconfig.c ---- samba-3.0alpha23.orig/source/dynconfig.c 2003-02-14 16:34:36.000000000 -0600 -+++ samba-3.0alpha23/source/dynconfig.c 2003-04-04 21:04:05.000000000 -0600 +diff -uNr samba-3.0.0beta2.orig/source/dynconfig.c samba-3.0.0beta2/source/dynconfig.c +--- samba-3.0.0beta2.orig/source/dynconfig.c 2003-07-02 23:26:47.000000000 -0500 ++++ samba-3.0.0beta2/source/dynconfig.c 2003-07-02 23:19:02.000000000 -0500 @@ -53,6 +53,13 @@ pstring dyn_LMHOSTSFILE = LMHOSTSFILE; @@ -128,9 +128,9 @@ diff -uNr samba-3.0alpha23.orig/source/dynconfig.c samba-3.0alpha23/source/dynco + return lp_lockdir(); +#endif +} -diff -uNr samba-3.0alpha23.orig/source/groupdb/mapping.c samba-3.0alpha23/source/groupdb/mapping.c ---- samba-3.0alpha23.orig/source/groupdb/mapping.c 2003-03-30 20:28:28.000000000 -0600 -+++ samba-3.0alpha23/source/groupdb/mapping.c 2003-04-04 21:04:05.000000000 -0600 +diff -uNr samba-3.0.0beta2.orig/source/groupdb/mapping.c samba-3.0.0beta2/source/groupdb/mapping.c +--- samba-3.0.0beta2.orig/source/groupdb/mapping.c 2003-07-02 23:26:47.000000000 -0500 ++++ samba-3.0.0beta2/source/groupdb/mapping.c 2003-07-02 23:19:02.000000000 -0500 @@ -134,7 +134,7 @@ if (tdb && local_pid == sys_getpid()) @@ -140,9 +140,9 @@ diff -uNr samba-3.0alpha23.orig/source/groupdb/mapping.c samba-3.0alpha23/source if (!tdb) { DEBUG(0,("Failed to open group mapping database\n")); return False; -diff -uNr samba-3.0alpha23.orig/source/include/dynconfig.h samba-3.0alpha23/source/include/dynconfig.h ---- samba-3.0alpha23.orig/source/include/dynconfig.h 2003-02-14 16:34:36.000000000 -0600 -+++ samba-3.0alpha23/source/include/dynconfig.h 2003-04-04 21:04:05.000000000 -0600 +diff -uNr samba-3.0.0beta2.orig/source/include/dynconfig.h samba-3.0.0beta2/source/include/dynconfig.h +--- samba-3.0.0beta2.orig/source/include/dynconfig.h 2003-07-02 23:26:47.000000000 -0500 ++++ samba-3.0.0beta2/source/include/dynconfig.h 2003-07-02 23:19:02.000000000 -0500 @@ -31,8 +31,12 @@ extern pstring dyn_CONFIGFILE; extern pstring dyn_LOGFILEBASE, dyn_LMHOSTSFILE; @@ -154,11 +154,11 @@ diff -uNr samba-3.0alpha23.orig/source/include/dynconfig.h samba-3.0alpha23/sour extern const pstring dyn_SMB_PASSWD_FILE; extern const pstring dyn_PRIVATE_DIR; + -+char *dyn_STATEDIR(); -+char *dyn_CACHEDIR(); -diff -uNr samba-3.0alpha23.orig/source/intl/lang_tdb.c samba-3.0alpha23/source/intl/lang_tdb.c ---- samba-3.0alpha23.orig/source/intl/lang_tdb.c 2003-01-03 08:41:24.000000000 -0600 -+++ samba-3.0alpha23/source/intl/lang_tdb.c 2003-04-04 21:04:05.000000000 -0600 ++char *dyn_STATEDIR(void); ++char *dyn_CACHEDIR(void); +diff -uNr samba-3.0.0beta2.orig/source/intl/lang_tdb.c samba-3.0.0beta2/source/intl/lang_tdb.c +--- samba-3.0.0beta2.orig/source/intl/lang_tdb.c 2003-07-02 23:26:47.000000000 -0500 ++++ samba-3.0.0beta2/source/intl/lang_tdb.c 2003-07-02 23:19:02.000000000 -0500 @@ -123,7 +123,7 @@ /* if no lang then we don't translate */ if (!lang) return True; @@ -177,9 +177,9 @@ diff -uNr samba-3.0alpha23.orig/source/intl/lang_tdb.c samba-3.0alpha23/source/i tdb = tdb_open_log(path, 0, TDB_DEFAULT, O_RDWR|O_CREAT, 0644); if (!tdb) { -diff -uNr samba-3.0alpha23.orig/source/lib/account_pol.c samba-3.0alpha23/source/lib/account_pol.c ---- samba-3.0alpha23.orig/source/lib/account_pol.c 2003-01-03 08:41:24.000000000 -0600 -+++ samba-3.0alpha23/source/lib/account_pol.c 2003-04-04 21:04:06.000000000 -0600 +diff -uNr samba-3.0.0beta2.orig/source/lib/account_pol.c samba-3.0.0beta2/source/lib/account_pol.c +--- samba-3.0.0beta2.orig/source/lib/account_pol.c 2003-07-02 23:26:47.000000000 -0500 ++++ samba-3.0.0beta2/source/lib/account_pol.c 2003-07-02 23:19:02.000000000 -0500 @@ -36,7 +36,7 @@ if (tdb && local_pid == sys_getpid()) @@ -189,10 +189,10 @@ diff -uNr samba-3.0alpha23.orig/source/lib/account_pol.c samba-3.0alpha23/source if (!tdb) { DEBUG(0,("Failed to open account policy database\n")); return False; -diff -uNr samba-3.0alpha23.orig/source/lib/util.c samba-3.0alpha23/source/lib/util.c ---- samba-3.0alpha23.orig/source/lib/util.c 2003-03-30 20:28:28.000000000 -0600 -+++ samba-3.0alpha23/source/lib/util.c 2003-04-04 21:04:06.000000000 -0600 -@@ -2241,6 +2241,61 @@ +diff -uNr samba-3.0.0beta2.orig/source/lib/util.c samba-3.0.0beta2/source/lib/util.c +--- samba-3.0.0beta2.orig/source/lib/util.c 2003-07-02 23:26:47.000000000 -0500 ++++ samba-3.0.0beta2/source/lib/util.c 2003-07-02 23:19:02.000000000 -0500 +@@ -2252,6 +2252,61 @@ } /** @@ -254,9 +254,9 @@ diff -uNr samba-3.0alpha23.orig/source/lib/util.c samba-3.0alpha23/source/lib/ut * @brief Returns the platform specific shared library extension. * * @retval Pointer to a static #fstring containing the extension. -diff -uNr samba-3.0alpha23.orig/source/lib/util_unistr.c samba-3.0alpha23/source/lib/util_unistr.c ---- samba-3.0alpha23.orig/source/lib/util_unistr.c 2003-02-27 09:22:58.000000000 -0600 -+++ samba-3.0alpha23/source/lib/util_unistr.c 2003-04-04 21:04:06.000000000 -0600 +diff -uNr samba-3.0.0beta2.orig/source/lib/util_unistr.c samba-3.0.0beta2/source/lib/util_unistr.c +--- samba-3.0.0beta2.orig/source/lib/util_unistr.c 2003-07-02 23:26:47.000000000 -0500 ++++ samba-3.0.0beta2/source/lib/util_unistr.c 2003-07-02 23:19:02.000000000 -0500 @@ -54,8 +54,8 @@ if (initialised) return; initialised = 1; @@ -277,9 +277,30 @@ diff -uNr samba-3.0alpha23.orig/source/lib/util_unistr.c samba-3.0alpha23/source if (valid_file) { valid_table = valid_file; mapped_file = 1; -diff -uNr samba-3.0alpha23.orig/source/nmbd/nmbd_serverlistdb.c samba-3.0alpha23/source/nmbd/nmbd_serverlistdb.c ---- samba-3.0alpha23.orig/source/nmbd/nmbd_serverlistdb.c 2002-12-12 09:07:32.000000000 -0600 -+++ samba-3.0alpha23/source/nmbd/nmbd_serverlistdb.c 2003-04-04 21:04:06.000000000 -0600 +diff -uNr samba-3.0.0beta2.orig/source/libsmb/samlogon_cache.c samba-3.0.0beta2/source/libsmb/samlogon_cache.c +--- samba-3.0.0beta2.orig/source/libsmb/samlogon_cache.c 2003-07-01 09:40:37.000000000 -0500 ++++ samba-3.0.0beta2/source/libsmb/samlogon_cache.c 2003-07-02 23:19:02.000000000 -0500 +@@ -34,7 +34,7 @@ + BOOL netsamlogon_cache_init(void) + { + if (!netsamlogon_tdb) { +- netsamlogon_tdb = tdb_open_log(lock_path(NETSAMLOGON_TDB), 0, ++ netsamlogon_tdb = tdb_open_log(cache_path(NETSAMLOGON_TDB), 0, + TDB_DEFAULT, O_RDWR | O_CREAT, 0600); + } + +@@ -67,7 +67,7 @@ + winbindd_cache.tdb open. Open the tdb if a NULL is passed. */ + + if (!tdb) { +- tdb = tdb_open_log(lock_path("winbindd_cache.tdb"), 5000, ++ tdb = tdb_open_log(cache_path("winbindd_cache.tdb"), 5000, + TDB_DEFAULT, O_RDWR, 0600); + if (!tdb) { + DEBUG(5, ("netsamlogon_clear_cached_user: failed to open cache\n")); +diff -uNr samba-3.0.0beta2.orig/source/nmbd/nmbd_serverlistdb.c samba-3.0.0beta2/source/nmbd/nmbd_serverlistdb.c +--- samba-3.0.0beta2.orig/source/nmbd/nmbd_serverlistdb.c 2003-07-02 23:26:47.000000000 -0500 ++++ samba-3.0.0beta2/source/nmbd/nmbd_serverlistdb.c 2003-07-02 23:19:02.000000000 -0500 @@ -343,7 +343,7 @@ updatecount++; @@ -289,8 +310,30 @@ diff -uNr samba-3.0alpha23.orig/source/nmbd/nmbd_serverlistdb.c samba-3.0alpha23 trim_string(fname,NULL,"/"); pstrcat(fname,"/"); pstrcat(fname,SERVER_LIST); ---- samba/source/nsswitch/winbindd_cache.c.orig 2003-07-02 22:37:40.000000000 -0400 -+++ samba/source/nsswitch/winbindd_cache.c 2003-07-02 22:39:05.000000000 -0400 +diff -uNr samba-3.0.0beta2.orig/source/nmbd/nmbd_winsserver.c samba-3.0.0beta2/source/nmbd/nmbd_winsserver.c +--- samba-3.0.0beta2.orig/source/nmbd/nmbd_winsserver.c 2003-07-02 23:26:47.000000000 -0500 ++++ samba-3.0.0beta2/source/nmbd/nmbd_winsserver.c 2003-07-02 23:19:02.000000000 -0500 +@@ -230,7 +230,7 @@ + + add_samba_names_to_subnet(wins_server_subnet); + +- if((fp = x_fopen(lock_path(WINS_LIST),O_RDONLY,0)) == NULL) ++ if((fp = x_fopen(state_path(WINS_LIST),O_RDONLY,0)) == NULL) + { + DEBUG(2,("initialise_wins: Can't open wins database file %s. Error was %s\n", + WINS_LIST, strerror(errno) )); +@@ -1836,7 +1836,7 @@ + } + } + +- slprintf(fname,sizeof(fname)-1,"%s/%s", lp_lockdir(), WINS_LIST); ++ slprintf(fname,sizeof(fname)-1,"%s/%s", dyn_STATEDIR(), WINS_LIST); + all_string_sub(fname,"//", "/", 0); + slprintf(fnamenew,sizeof(fnamenew)-1,"%s.%u", fname, (unsigned int)sys_getpid()); + +diff -uNr samba-3.0.0beta2.orig/source/nsswitch/winbindd_cache.c samba-3.0.0beta2/source/nsswitch/winbindd_cache.c +--- samba-3.0.0beta2.orig/source/nsswitch/winbindd_cache.c 2003-07-02 23:26:47.000000000 -0500 ++++ samba-3.0.0beta2/source/nsswitch/winbindd_cache.c 2003-07-02 23:19:02.000000000 -0500 @@ -56,7 +56,7 @@ if (opt_nocache) return; @@ -300,9 +343,21 @@ diff -uNr samba-3.0alpha23.orig/source/nmbd/nmbd_serverlistdb.c samba-3.0alpha23 TDB_CLEAR_IF_FIRST, O_RDWR|O_CREAT, 0600); if (!wcache->tdb) { -diff -uNr samba-3.0alpha23.orig/source/param/loadparm.c samba-3.0alpha23/source/param/loadparm.c ---- samba-3.0alpha23.orig/source/param/loadparm.c 2003-03-30 20:28:29.000000000 -0600 -+++ samba-3.0alpha23/source/param/loadparm.c 2003-04-04 21:04:06.000000000 -0600 +diff -uNr samba-3.0.0beta2.orig/source/nsswitch/winbindd_util.c samba-3.0.0beta2/source/nsswitch/winbindd_util.c +--- samba-3.0.0beta2.orig/source/nsswitch/winbindd_util.c 2003-07-01 15:44:25.000000000 -0500 ++++ samba-3.0.0beta2/source/nsswitch/winbindd_util.c 2003-07-02 23:19:02.000000000 -0500 +@@ -747,7 +747,7 @@ + SMB_STRUCT_STAT stbuf; + TDB_CONTEXT *idmap_tdb; + +- pstrcpy(idmap_name, lock_path("winbindd_idmap.tdb")); ++ pstrcpy(idmap_name, state_path("winbindd_idmap.tdb")); + + if (!file_exist(idmap_name, &stbuf)) { + /* nothing to convert return */ +diff -uNr samba-3.0.0beta2.orig/source/param/loadparm.c samba-3.0.0beta2/source/param/loadparm.c +--- samba-3.0.0beta2.orig/source/param/loadparm.c 2003-07-02 23:26:47.000000000 -0500 ++++ samba-3.0.0beta2/source/param/loadparm.c 2003-07-02 23:19:02.000000000 -0500 @@ -104,6 +104,9 @@ char *szAddPrinterCommand; char *szDeletePrinterCommand; @@ -327,9 +382,36 @@ diff -uNr samba-3.0alpha23.orig/source/param/loadparm.c samba-3.0alpha23/source/ {"pid directory", P_STRING, P_GLOBAL, &Globals.szPidDir, NULL, NULL, FLAG_ADVANCED | FLAG_DEVELOPER}, #ifdef WITH_UTMP {"utmp directory", P_STRING, P_GLOBAL, &Globals.szUtmpDir, NULL, NULL, FLAG_ADVANCED | FLAG_DEVELOPER}, -diff -uNr samba-3.0alpha23.orig/source/passdb/secrets.c samba-3.0alpha23/source/passdb/secrets.c ---- samba-3.0alpha23.orig/source/passdb/secrets.c 2003-03-30 20:28:29.000000000 -0600 -+++ samba-3.0alpha23/source/passdb/secrets.c 2003-04-04 21:04:06.000000000 -0600 +diff -uNr samba-3.0.0beta2.orig/source/passdb/pdb_tdb.c samba-3.0.0beta2/source/passdb/pdb_tdb.c +--- samba-3.0.0beta2.orig/source/passdb/pdb_tdb.c 2003-07-02 23:26:47.000000000 -0500 ++++ samba-3.0.0beta2/source/passdb/pdb_tdb.c 2003-07-02 23:19:02.000000000 -0500 +@@ -526,10 +526,7 @@ + if (location) { + tdb_state->tdbsam_location = talloc_strdup(pdb_context->mem_ctx, location); + } else { +- pstring tdbfile; +- get_private_directory(tdbfile); +- pstrcat(tdbfile, "/"); +- pstrcat(tdbfile, PASSDB_FILE_NAME); ++ char *tdbfile = state_path(PASSDB_FILE_NAME); + tdb_state->tdbsam_location = talloc_strdup(pdb_context->mem_ctx, tdbfile); + } + +diff -uNr samba-3.0.0beta2.orig/source/passdb/privileges.c samba-3.0.0beta2/source/passdb/privileges.c +--- samba-3.0.0beta2.orig/source/passdb/privileges.c 2003-06-07 12:57:35.000000000 -0500 ++++ samba-3.0.0beta2/source/passdb/privileges.c 2003-07-02 23:19:02.000000000 -0500 +@@ -62,7 +62,7 @@ + /* initialise the privilege database */ + BOOL privilege_init(void) + { +- tdb = tdb_open_log(lock_path("privilege.tdb"), 0, TDB_DEFAULT, ++ tdb = tdb_open_log(state_path("privilege.tdb"), 0, TDB_DEFAULT, + O_RDWR|O_CREAT, 0600); + if (!tdb) { + DEBUG(0,("Failed to open privilege database\n")); +diff -uNr samba-3.0.0beta2.orig/source/passdb/secrets.c samba-3.0.0beta2/source/passdb/secrets.c +--- samba-3.0.0beta2.orig/source/passdb/secrets.c 2003-07-02 23:26:47.000000000 -0500 ++++ samba-3.0.0beta2/source/passdb/secrets.c 2003-07-02 23:19:02.000000000 -0500 @@ -37,8 +37,7 @@ if (tdb) return True; @@ -340,9 +422,9 @@ diff -uNr samba-3.0alpha23.orig/source/passdb/secrets.c samba-3.0alpha23/source/ tdb = tdb_open_log(fname, 0, TDB_DEFAULT, O_RDWR|O_CREAT, 0600); -diff -uNr samba-3.0alpha23.orig/source/printing/nt_printing.c samba-3.0alpha23/source/printing/nt_printing.c ---- samba-3.0alpha23.orig/source/printing/nt_printing.c 2003-03-30 20:28:29.000000000 -0600 -+++ samba-3.0alpha23/source/printing/nt_printing.c 2003-04-04 21:04:07.000000000 -0600 +diff -uNr samba-3.0.0beta2.orig/source/printing/nt_printing.c samba-3.0.0beta2/source/printing/nt_printing.c +--- samba-3.0.0beta2.orig/source/printing/nt_printing.c 2003-07-02 23:26:47.000000000 -0500 ++++ samba-3.0.0beta2/source/printing/nt_printing.c 2003-07-02 23:19:02.000000000 -0500 @@ -287,28 +287,28 @@ if (tdb_drivers) @@ -378,9 +460,9 @@ diff -uNr samba-3.0alpha23.orig/source/printing/nt_printing.c samba-3.0alpha23/s return False; } -diff -uNr samba-3.0alpha23.orig/source/printing/printing.c samba-3.0alpha23/source/printing/printing.c ---- samba-3.0alpha23.orig/source/printing/printing.c 2003-03-30 20:28:29.000000000 -0600 -+++ samba-3.0alpha23/source/printing/printing.c 2003-04-04 21:04:08.000000000 -0600 +diff -uNr samba-3.0.0beta2.orig/source/printing/printing.c samba-3.0.0beta2/source/printing/printing.c +--- samba-3.0.0beta2.orig/source/printing/printing.c 2003-07-02 23:26:47.000000000 -0500 ++++ samba-3.0.0beta2/source/printing/printing.c 2003-07-02 23:19:02.000000000 -0500 @@ -174,8 +174,8 @@ if (local_pid == sys_getpid()) return True; @@ -392,9 +474,9 @@ diff -uNr samba-3.0alpha23.orig/source/printing/printing.c samba-3.0alpha23/sour mkdir(printing_path,0755); local_pid = sys_getpid(); -diff -uNr samba-3.0alpha23.orig/source/printing/printing_db.c samba-3.0alpha23/source/printing/printing_db.c ---- samba-3.0alpha23.orig/source/printing/printing_db.c 2003-02-14 16:34:37.000000000 -0600 -+++ samba-3.0alpha23/source/printing/printing_db.c 2003-04-04 21:04:08.000000000 -0600 +diff -uNr samba-3.0.0beta2.orig/source/printing/printing_db.c samba-3.0.0beta2/source/printing/printing_db.c +--- samba-3.0.0beta2.orig/source/printing/printing_db.c 2003-07-02 23:26:47.000000000 -0500 ++++ samba-3.0.0beta2/source/printing/printing_db.c 2003-07-02 23:19:02.000000000 -0500 @@ -86,7 +86,7 @@ DLIST_ADD(print_db_head, p); } @@ -404,9 +486,9 @@ diff -uNr samba-3.0alpha23.orig/source/printing/printing_db.c samba-3.0alpha23/s pstrcat(printdb_path, printername); pstrcat(printdb_path, ".tdb"); -diff -uNr samba-3.0alpha23.orig/source/registry/reg_db.c samba-3.0alpha23/source/registry/reg_db.c ---- samba-3.0alpha23.orig/source/registry/reg_db.c 2002-08-26 09:46:07.000000000 -0500 -+++ samba-3.0alpha23/source/registry/reg_db.c 2003-04-04 21:04:08.000000000 -0600 +diff -uNr samba-3.0.0beta2.orig/source/registry/reg_db.c samba-3.0.0beta2/source/registry/reg_db.c +--- samba-3.0.0beta2.orig/source/registry/reg_db.c 2003-07-02 23:26:47.000000000 -0500 ++++ samba-3.0.0beta2/source/registry/reg_db.c 2003-07-02 23:19:02.000000000 -0500 @@ -131,13 +131,13 @@ * if we need to init the data in the registry */ @@ -424,9 +506,9 @@ diff -uNr samba-3.0alpha23.orig/source/registry/reg_db.c samba-3.0alpha23/source return False; } -diff -uNr samba-3.0alpha23.orig/source/rpc_server/srv_srvsvc_nt.c samba-3.0alpha23/source/rpc_server/srv_srvsvc_nt.c ---- samba-3.0alpha23.orig/source/rpc_server/srv_srvsvc_nt.c 2003-03-30 20:28:31.000000000 -0600 -+++ samba-3.0alpha23/source/rpc_server/srv_srvsvc_nt.c 2003-04-04 21:04:08.000000000 -0600 +diff -uNr samba-3.0.0beta2.orig/source/rpc_server/srv_srvsvc_nt.c samba-3.0.0beta2/source/rpc_server/srv_srvsvc_nt.c +--- samba-3.0.0beta2.orig/source/rpc_server/srv_srvsvc_nt.c 2003-07-02 23:26:47.000000000 -0500 ++++ samba-3.0.0beta2/source/rpc_server/srv_srvsvc_nt.c 2003-07-02 23:19:02.000000000 -0500 @@ -133,10 +133,10 @@ if (share_tdb && local_pid == sys_getpid()) @@ -440,9 +522,21 @@ diff -uNr samba-3.0alpha23.orig/source/rpc_server/srv_srvsvc_nt.c samba-3.0alpha return False; } -diff -uNr samba-3.0alpha23.orig/source/smbd/lanman.c samba-3.0alpha23/source/smbd/lanman.c ---- samba-3.0alpha23.orig/source/smbd/lanman.c 2003-02-25 14:51:35.000000000 -0600 -+++ samba-3.0alpha23/source/smbd/lanman.c 2003-04-04 21:04:08.000000000 -0600 +diff -uNr samba-3.0.0beta2.orig/source/sam/idmap_tdb.c samba-3.0.0beta2/source/sam/idmap_tdb.c +--- samba-3.0.0beta2.orig/source/sam/idmap_tdb.c 2003-07-01 15:44:26.000000000 -0500 ++++ samba-3.0.0beta2/source/sam/idmap_tdb.c 2003-07-02 23:19:02.000000000 -0500 +@@ -495,7 +495,7 @@ + BOOL tdb_is_new = False; + + /* use the old database if present */ +- tdbfile = strdup(lock_path("winbindd_idmap.tdb")); ++ tdbfile = strdup(state_path("winbindd_idmap.tdb")); + if (!tdbfile) { + DEBUG(0, ("idmap_init: out of memory!\n")); + return NT_STATUS_NO_MEMORY; +diff -uNr samba-3.0.0beta2.orig/source/smbd/lanman.c samba-3.0.0beta2/source/smbd/lanman.c +--- samba-3.0.0beta2.orig/source/smbd/lanman.c 2003-07-02 23:26:47.000000000 -0500 ++++ samba-3.0.0beta2/source/smbd/lanman.c 2003-07-02 23:19:02.000000000 -0500 @@ -966,9 +966,9 @@ BOOL local_list_only; int i; @@ -455,9 +549,9 @@ diff -uNr samba-3.0alpha23.orig/source/smbd/lanman.c samba-3.0alpha23/source/smb return(0); } -diff -uNr samba-3.0alpha23.orig/source/wrepld/process.c samba-3.0alpha23/source/wrepld/process.c ---- samba-3.0alpha23.orig/source/wrepld/process.c 2003-01-14 10:01:01.000000000 -0600 -+++ samba-3.0alpha23/source/wrepld/process.c 2003-04-04 21:04:09.000000000 -0600 +diff -uNr samba-3.0.0beta2.orig/source/wrepld/process.c samba-3.0.0beta2/source/wrepld/process.c +--- samba-3.0.0beta2.orig/source/wrepld/process.c 2003-07-02 23:26:47.000000000 -0500 ++++ samba-3.0.0beta2/source/wrepld/process.c 2003-07-02 23:19:02.000000000 -0500 @@ -197,7 +197,7 @@ { TDB_CONTEXT *tdb; @@ -476,70 +570,14 @@ diff -uNr samba-3.0alpha23.orig/source/wrepld/process.c samba-3.0alpha23/source/ if (!tdb) { DEBUG(2,("send_entry_request: Can't open wins database file %s. Error was %s\n", WINS_LIST, strerror(errno) )); return; -diff -uNr samba-3.0alpha23.orig/source/passdb/pdb_tdb.c samba-3.0alpha23/source/passdb/pdb_tdb.c ---- samba-3.0alpha23.orig/source/passdb/pdb_tdb.c 2003-03-30 20:28:29.000000000 -0600 -+++ samba-3.0alpha23/source/passdb/pdb_tdb.c 2003-04-30 13:51:43.000000000 -0500 -@@ -956,10 +956,7 @@ - if (location) { - tdb_state->tdbsam_location = talloc_strdup(pdb_context->mem_ctx, location); - } else { -- pstring tdbfile; -- get_private_directory(tdbfile); -- pstrcat(tdbfile, "/"); -- pstrcat(tdbfile, PASSDB_FILE_NAME); -+ char *tdbfile = state_path(PASSDB_FILE_NAME); - tdb_state->tdbsam_location = talloc_strdup(pdb_context->mem_ctx, tdbfile); - } - ---- samba-3.0alpha24/source/nmbd/nmbd_winsserver.c.orig 2003-05-18 19:12:27.000000000 -0400 -+++ samba-3.0alpha24/source/nmbd/nmbd_winsserver.c 2003-05-18 19:18:04.000000000 -0400 -@@ -230,7 +230,7 @@ - - add_samba_names_to_subnet(wins_server_subnet); - -- if((fp = x_fopen(lock_path(WINS_LIST),O_RDONLY,0)) == NULL) -+ if((fp = x_fopen(state_path(WINS_LIST),O_RDONLY,0)) == NULL) - { - DEBUG(2,("initialise_wins: Can't open wins database file %s. Error was %s\n", - WINS_LIST, strerror(errno) )); -@@ -1836,7 +1836,7 @@ - } - } - -- slprintf(fname,sizeof(fname)-1,"%s/%s", lp_lockdir(), WINS_LIST); -+ slprintf(fname,sizeof(fname)-1,"%s/%s", dyn_STATEDIR(), WINS_LIST); - all_string_sub(fname,"//", "/", 0); - slprintf(fnamenew,sizeof(fnamenew)-1,"%s.%u", fname, (unsigned int)sys_getpid()); - ---- samba-3.0alpha24/source/nsswitch/winbindd_idmap_tdb.c.orig 2003-05-18 19:22:14.000000000 -0400 -+++ samba-3.0alpha24/source/nsswitch/winbindd_idmap_tdb.c 2003-05-18 19:27:14.000000000 -0400 -@@ -283,16 +283,16 @@ - SMB_STRUCT_STAT stbuf; - - /* move to the new database on first startup */ -- if (!file_exist(lock_path("idmap.tdb"), &stbuf)) { -- if (file_exist(lock_path("winbindd_idmap.tdb"), &stbuf)) { -+ if (!file_exist(state_path("idmap.tdb"), &stbuf)) { -+ if (file_exist(state_path("winbindd_idmap.tdb"), &stbuf)) { - char *cmd = NULL; - - /* lazy file copy */ -- if (asprintf(&cmd, "cp -p %s/winbindd_idmap.tdb %s/idmap.tdb", lp_lockdir(), lp_lockdir()) != -1) { -+ if (asprintf(&cmd, "cp -p %s/winbindd_idmap.tdb %s/idmap.tdb", dyn_STATEDIR(), dyn_STATEDIR()) != -1) { - system(cmd); - free(cmd); - } -- if (!file_exist(lock_path("idmap.tdb"), &stbuf)) { -+ if (!file_exist(state_path("idmap.tdb"), &stbuf)) { - DEBUG(0, ("idmap_init: Unable to make a new database copy\n")); - return False; - } -@@ -300,7 +300,7 @@ - } +--- samba_3_0/source/nsswitch/winbindd_acct.c.orig 2003-07-15 13:03:59.000000000 -0400 ++++ samba_3_0/source/nsswitch/winbindd_acct.c 2003-07-15 13:04:42.000000000 -0400 +@@ -73,7 +73,7 @@ + + /* Nope. Try to open it */ - /* Open tdb cache */ -- if (!(idmap_tdb = tdb_open_log(lock_path("idmap.tdb"), 0, -+ if (!(idmap_tdb = tdb_open_log(state_path("idmap.tdb"), 0, - TDB_DEFAULT, O_RDWR | O_CREAT, - 0600))) { - DEBUG(0, +- if (!(account_tdb = tdb_open_log(lock_path("winbindd_idmap.tdb"), 0, ++ if (!(account_tdb = tdb_open_log(state_path("winbindd_idmap.tdb"), 0, + TDB_DEFAULT, O_RDWR | O_CREAT, 0600))) + { + /* last chance -- maybe idmap has already opened it */ diff --git a/packaging/Debian/debian/patches/krb5-vars.patch b/packaging/Debian/debian/patches/krb5-vars.patch new file mode 100644 index 0000000000..28ee4855d8 --- /dev/null +++ b/packaging/Debian/debian/patches/krb5-vars.patch @@ -0,0 +1,685 @@ +--- samba_3_0/source/Makefile.in.orig 2003-07-15 12:26:55.000000000 -0400 ++++ samba_3_0/source/Makefile.in 2003-07-15 12:26:57.000000000 -0400 +@@ -32,7 +32,6 @@ + ACLLIBS=@ACLLIBS@ + PASSDBLIBS=@PASSDBLIBS@ + IDMAP_LIBS=@IDMAP_LIBS@ +-ADSLIBS=@ADSLIBS@ + KRB5LIBS=@KRB5_LIBS@ + LDAPLIBS=@LDAP_LIBS@ + +@@ -735,12 +734,12 @@ + + bin/smbd@EXEEXT@: $(SMBD_OBJ) @BUILD_POPT@ bin/.dummy + @echo Linking $@ +- @$(CC) $(FLAGS) -o $@ $(SMBD_OBJ) $(ADSLIBS) $(LDFLAGS) $(DYNEXP) $(PRINTLIBS) \ ++ @$(CC) $(FLAGS) -o $@ $(SMBD_OBJ) $(KRB5LIBS) $(LDAPLIBS) $(LDFLAGS) $(DYNEXP) $(PRINTLIBS) \ + $(AUTHLIBS) $(ACLLIBS) $(PASSDBLIBS) $(LIBS) @POPTLIBS@ + + bin/nmbd@EXEEXT@: $(NMBD_OBJ) @BUILD_POPT@ bin/.dummy + @echo Linking $@ +- @$(CC) $(FLAGS) -o $@ $(NMBD_OBJ) $(LDFLAGS) $(DYNEXP) $(LIBS) @POPTLIBS@ $(ADSLIBS) ++ @$(CC) $(FLAGS) -o $@ $(NMBD_OBJ) $(LDFLAGS) $(DYNEXP) $(LIBS) @POPTLIBS@ $(KRB5LIBS) $(LDAPLIBS) + + bin/wrepld@EXEEXT@: $(WREPL_OBJ) @BUILD_POPT@ bin/.dummy + @echo Linking $@ +@@ -749,19 +748,19 @@ + bin/swat@EXEEXT@: $(SWAT_OBJ) @BUILD_POPT@ bin/.dummy + @echo Linking $@ + @$(CC) $(FLAGS) -o $@ $(SWAT_OBJ) $(LDFLAGS) $(DYNEXP) $(PRINTLIBS) \ +- $(AUTHLIBS) $(LIBS) $(PASSDBLIBS) @POPTLIBS@ $(KRB5LIBS) ++ $(AUTHLIBS) $(LIBS) $(PASSDBLIBS) @POPTLIBS@ $(KRB5LIBS) $(LDAPLIBS) + + bin/rpcclient@EXEEXT@: $(RPCCLIENT_OBJ) @BUILD_POPT@ bin/.dummy + @echo Linking $@ +- @$(CC) $(FLAGS) -o $@ $(PASSDBLIBS) $(RPCCLIENT_OBJ) $(LDFLAGS) $(DYNEXP) $(TERMLDFLAGS) $(TERMLIBS) $(LIBS) @POPTLIBS@ $(ADSLIBS) ++ @$(CC) $(FLAGS) -o $@ $(PASSDBLIBS) $(RPCCLIENT_OBJ) $(LDFLAGS) $(DYNEXP) $(TERMLDFLAGS) $(TERMLIBS) $(LIBS) @POPTLIBS@ $(KRB5LIBS) $(LDAPLIBS) + + bin/smbclient@EXEEXT@: $(CLIENT_OBJ) @BUILD_POPT@ bin/.dummy + @echo Linking $@ +- @$(CC) $(FLAGS) -o $@ $(CLIENT_OBJ) $(LDFLAGS) $(DYNEXP) $(TERMLDFLAGS) $(TERMLIBS) $(LIBS) @POPTLIBS@ $(ADSLIBS) ++ @$(CC) $(FLAGS) -o $@ $(CLIENT_OBJ) $(LDFLAGS) $(DYNEXP) $(TERMLDFLAGS) $(TERMLIBS) $(LIBS) @POPTLIBS@ $(KRB5LIBS) $(LDAPLIBS) + + bin/net@EXEEXT@: $(NET_OBJ) @BUILD_POPT@ bin/.dummy + @echo Linking $@ +- @$(CC) $(FLAGS) -o $@ $(NET_OBJ) $(DYNEXP) $(LDFLAGS) $(LIBS) @POPTLIBS@ $(ADSLIBS) $(PASSDBLIBS) ++ @$(CC) $(FLAGS) -o $@ $(NET_OBJ) $(DYNEXP) $(LDFLAGS) $(LIBS) @POPTLIBS@ $(KRB5LIBS) $(LDAPLIBS) $(PASSDBLIBS) + + bin/profiles@EXEEXT@: $(PROFILES_OBJ) @BUILD_POPT@ bin/.dummy + @echo Linking $@ +@@ -809,7 +808,7 @@ + + bin/smbpasswd@EXEEXT@: $(SMBPASSWD_OBJ) bin/.dummy + @echo Linking $@ +- @$(CC) $(FLAGS) -o $@ $(SMBPASSWD_OBJ) $(PASSDBLIBS) $(LDFLAGS) $(DYNEXP) $(LIBS) $(KRB5LIBS) ++ @$(CC) $(FLAGS) -o $@ $(SMBPASSWD_OBJ) $(PASSDBLIBS) $(LDFLAGS) $(DYNEXP) $(LIBS) $(KRB5LIBS) $(LDAPLIBS) + + bin/pdbedit@EXEEXT@: $(PDBEDIT_OBJ) @BUILD_POPT@ bin/.dummy + @echo Linking $@ +@@ -881,7 +880,7 @@ + + bin/smbw_sample@EXEEXT@: $(SMBW_OBJ) utils/smbw_sample.o bin/.dummy + @echo Linking $@ +- @$(CC) $(FLAGS) -o $@ $(SMBW_OBJ) utils/smbw_sample.o $(LDFLAGS) $(LIBS) $(KRB5LIBS) ++ @$(CC) $(FLAGS) -o $@ $(SMBW_OBJ) utils/smbw_sample.o $(LDFLAGS) $(LIBS) $(KRB5LIBS) $(LDAPLIBS) + + bin/smbsh@EXEEXT@: $(SMBSH_OBJ) bin/.dummy + @echo Linking $@ +@@ -890,12 +889,14 @@ + bin/smbwrapper.@SHLIBEXT@: $(PICOBJS) bin/.dummy + @echo Linking shared library $@ + @$(SHLD) $(LDSHFLAGS) -o $@ $(PICOBJS) $(LIBS) \ +- @SONAMEFLAG@`basename $@` $(KRB5LIBS) ++ $(KRB5LIBS) $(LDAPLIBS) \ ++ @SONAMEFLAG@`basename $@` + + bin/libsmbclient.@SHLIBEXT@: $(LIBSMBCLIENT_PICOBJS) + @echo Linking libsmbclient shared library $@ + @$(SHLD) $(LDSHFLAGS) -o $@ $(LIBSMBCLIENT_PICOBJS) $(LDFLAGS) $(LIBS) \ +- $(KRB5LIBS) @SONAMEFLAG@`basename $@`.$(LIBSMBCLIENT_MAJOR) ++ $(KRB5LIBS) $(LDAPLIBS) \ ++ @SONAMEFLAG@`basename $@`.$(LIBSMBCLIENT_MAJOR) + + bin/libsmbclient.a: $(LIBSMBCLIENT_PICOBJS) + @echo Linking libsmbclient non-shared library $@ +@@ -905,7 +906,8 @@ + bin/libbigballofmud.@SHLIBEXT@: $(LIBBIGBALLOFMUD_PICOBJS) + @echo Linking bigballofmud shared library $@ + @$(SHLD) $(LDSHFLAGS) -o $@ $(LIBBIGBALLOFMUD_PICOBJS) $(LIBS) \ +- @SONAMEFLAG@`basename $@`.$(LIBBIGBALLOFMUD_MAJOR) $(PASSDBLIBS) $(IDMAP_LIBS) $(ADSLIBS) ++ $(PASSDBLIBS) $(IDMAP_LIBS) $(KRB5LIBS) $(LDAPLIBS) \ ++ @SONAMEFLAG@`basename $@`.$(LIBBIGBALLOFMUD_MAJOR) + ln -snf libbigballofmud.so bin/libbigballofmud.so.0 + + # It would be nice to build a static bigballofmud too, but when I try +diff -uNr samba-3.0.0beta2.orig/source/aclocal.m4 samba-3.0.0beta2/source/aclocal.m4 +--- samba-3.0.0beta2.orig/source/aclocal.m4 2003-07-01 15:44:25.000000000 -0500 ++++ samba-3.0.0beta2/source/aclocal.m4 2003-07-05 16:22:30.000000000 -0500 +@@ -111,6 +111,113 @@ + esac + ]) + ++# AC_CHECK_LIB_EXT(LIBRARY, [EXT_LIBS], [FUNCTION], ++# [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND], ++# [ADD-ACTION-IF-FOUND],[OTHER-LIBRARIES]) ++# ------------------------------------------------------ ++# ++# Use a cache variable name containing both the library and function name, ++# because the test really is for library $1 defining function $3, not ++# just for library $1. Separate tests with the same $1 and different $3s ++# may have different results. ++# ++# Note that using directly AS_VAR_PUSHDEF([ac_Lib], [ac_cv_lib_$1_$3]) ++# is asking for troubles, since AC_CHECK_LIB($lib, fun) would give ++# ac_cv_lib_$lib_fun, which is definitely not what was meant. Hence ++# the AS_LITERAL_IF indirection. ++# ++# FIXME: This macro is extremely suspicious. It DEFINEs unconditionnally, ++# whatever the FUNCTION, in addition to not being a *S macro. Note ++# that the cache does depend upon the function we are looking for. ++# ++# It is on purpose we used `ac_check_lib_ext_save_LIBS' and not just ++# `ac_save_LIBS': there are many macros which don't want to see `LIBS' ++# changed but still want to use AC_CHECK_LIB_EXT, so they save `LIBS'. ++# And ``ac_save_LIBS' is too tempting a name, so let's leave them some ++# freedom. ++AC_DEFUN([AC_CHECK_LIB_EXT], ++[ ++AH_CHECK_LIB_EXT([$1]) ++ac_check_lib_ext_save_LIBS=$LIBS ++LIBS="-l$1 $$2 $7 $LIBS" ++AS_LITERAL_IF([$1], ++ [AS_VAR_PUSHDEF([ac_Lib_ext], [ac_cv_lib_ext_$1])], ++ [AS_VAR_PUSHDEF([ac_Lib_ext], [ac_cv_lib_ext_$1''])])dnl ++ ++m4_ifval([$3], ++ [ ++ AH_CHECK_FUNC_EXT([$3]) ++ AS_LITERAL_IF([$1], ++ [AS_VAR_PUSHDEF([ac_Lib_func], [ac_cv_lib_ext_$1_$3])], ++ [AS_VAR_PUSHDEF([ac_Lib_func], [ac_cv_lib_ext_$1''_$3])])dnl ++ AC_CACHE_CHECK([for $3 in -l$1], ac_Lib_func, ++ [AC_TRY_LINK_FUNC($3, ++ [AS_VAR_SET(ac_Lib_func, yes); ++ AS_VAR_SET(ac_Lib_ext, yes)], ++ [AS_VAR_SET(ac_Lib_func, no); ++ AS_VAR_SET(ac_Lib_ext, no)]) ++ ]) ++ AS_IF([test AS_VAR_GET(ac_Lib_func) = yes], ++ [AC_DEFINE_UNQUOTED(AS_TR_CPP(HAVE_$3))])dnl ++ AS_VAR_POPDEF([ac_Lib_func])dnl ++ ],[ ++ AC_CACHE_CHECK([for -l$1], ac_Lib_ext, ++ [AC_TRY_LINK_FUNC([main], ++ [AS_VAR_SET(ac_Lib_ext, yes)], ++ [AS_VAR_SET(ac_Lib_ext, no)]) ++ ]) ++ ]) ++LIBS=$ac_check_lib_ext_save_LIBS ++ ++AS_IF([test AS_VAR_GET(ac_Lib_ext) = yes], ++ [m4_default([$4], ++ [AC_DEFINE_UNQUOTED(AS_TR_CPP(HAVE_LIB$1)) ++ case "$$2" in ++ *-l$1*) ++ ;; ++ *) ++ $2="$$2 -l$1" ++ ;; ++ esac]) ++ [$6] ++ ], ++ [$5])dnl ++AS_VAR_POPDEF([ac_Lib_ext])dnl ++])# AC_CHECK_LIB_EXT ++ ++# AH_CHECK_LIB_EXT(LIBNAME) ++# --------------------- ++m4_define([AH_CHECK_LIB_EXT], ++[AH_TEMPLATE(AS_TR_CPP(HAVE_LIB$1), ++ [Define to 1 if you have the `]$1[' library (-l]$1[).])]) ++ ++# AC_CHECK_FUNCS_EXT(FUNCTION, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) ++# ----------------------------------------------------------------- ++dnl check for a function in a $LIBS and $OTHER_LIBS libraries variable. ++dnl AC_CHECK_FUNC_EXT(func,OTHER_LIBS,IF-TRUE,IF-FALSE) ++AC_DEFUN([AC_CHECK_FUNC_EXT], ++[ ++ AH_CHECK_FUNC_EXT($1) ++ ac_check_func_ext_save_LIBS=$LIBS ++ LIBS="$2 $LIBS" ++ AS_VAR_PUSHDEF([ac_var], [ac_cv_func_ext_$1])dnl ++ AC_CACHE_CHECK([for $1], ac_var, ++ [AC_LINK_IFELSE([AC_LANG_FUNC_LINK_TRY([$1])], ++ [AS_VAR_SET(ac_var, yes)], ++ [AS_VAR_SET(ac_var, no)])]) ++ LIBS=$ac_check_func_ext_save_LIBS ++ AS_IF([test AS_VAR_GET(ac_var) = yes], ++ [AC_DEFINE_UNQUOTED(AS_TR_CPP([HAVE_$1])) $3], ++ [$4])dnl ++AS_VAR_POPDEF([ac_var])dnl ++])# AC_CHECK_FUNC ++ ++# AH_CHECK_FUNC_EXT(FUNCNAME) ++# --------------------- ++m4_define([AH_CHECK_FUNC_EXT], ++[AH_TEMPLATE(AS_TR_CPP(HAVE_$1), ++ [Define to 1 if you have the `]$1[' function.])]) ++ + dnl Define an AC_DEFINE with ifndef guard. + dnl AC_N_DEFINE(VARIABLE [, VALUE]) + define(AC_N_DEFINE, +diff -uNr samba-3.0.0beta2.orig/source/configure.in samba-3.0.0beta2/source/configure.in +--- samba-3.0.0beta2.orig/source/configure.in 2003-07-05 16:22:00.000000000 -0500 ++++ samba-3.0.0beta2/source/configure.in 2003-07-05 16:23:53.000000000 -0500 +@@ -162,12 +162,10 @@ + AC_SUBST(PRINTLIBS) + AC_SUBST(AUTHLIBS) + AC_SUBST(ACLLIBS) +-AC_SUBST(ADSLIBS) + AC_SUBST(PASSDBLIBS) + AC_SUBST(IDMAP_LIBS) + AC_SUBST(KRB5_LIBS) + AC_SUBST(LDAP_LIBS) +-AC_SUBST(LDAP_OBJ) + AC_SUBST(SHLIB_PROGS) + AC_SUBST(SMBWRAPPER) + AC_SUBST(EXTRA_BIN_PROGS) +@@ -2105,14 +2103,107 @@ + AC_MSG_RESULT(no) + ) + ++######################################################## ++# Compile with LDAP support? ++ ++with_ldap_support=auto ++AC_MSG_CHECKING([for LDAP support]) ++ ++AC_ARG_WITH(ldap, ++[ --with-ldap LDAP support (default yes)], ++[ case "$withval" in ++ yes|no) ++ with_ldap_support=$withval ++ ;; ++ esac ]) ++ ++AC_MSG_RESULT($with_ldap_support) ++ ++SMBLDAP="" ++SMBLDAP_PROTO="" ++AC_SUBST(SMBLDAP) ++AC_SUBST(SMBLDAP_PROTO) ++if test x"$with_ldap_support" != x"no"; then ++ ++ ################################################################## ++ # first test for ldap.h and lber.h ++ # (ldap.h is required for this test) ++ AC_CHECK_HEADERS(ldap.h lber.h) ++ ++ if test x"$ac_cv_header_ldap_h" != x"yes"; then ++ if test x"$with_ldap_support" = x"yes"; then ++ AC_MSG_ERROR(ldap.h is needed for LDAP support) ++ else ++ AC_MSG_WARN(ldap.h is needed for LDAP support) ++ fi ++ ++ with_ldap_support=no ++ fi ++fi ++ ++if test x"$with_ldap_support" != x"no"; then ++ ac_save_LIBS=$LIBS ++ ++ ################################################################## ++ # we might need the lber lib on some systems. To avoid link errors ++ # this test must be before the libldap test ++ AC_CHECK_LIB_EXT(lber, LDAP_LIBS, ber_scanf) ++ ++ ######################################################## ++ # now see if we can find the ldap libs in standard paths ++ AC_CHECK_LIB_EXT(ldap, LDAP_LIBS, ldap_init) ++ ++ AC_CHECK_FUNC_EXT(ldap_domain2hostlist,$LDAP_LIBS) ++ ++ ######################################################## ++ # If we have LDAP, does it's rebind procedure take 2 or 3 arguments? ++ # Check found in pam_ldap 145. ++ AC_CHECK_FUNC_EXT(ldap_set_rebind_proc,$LDAP_LIBS) ++ ++ LIBS="$LIBS $LDAP_LIBS" ++ AC_CACHE_CHECK(whether ldap_set_rebind_proc takes 3 arguments, smb_ldap_cv_ldap_set_rebind_proc, [ ++ AC_TRY_COMPILE([ ++ #include <lber.h> ++ #include <ldap.h>], ++ [ldap_set_rebind_proc(0, 0, 0);], ++ [smb_ldap_cv_ldap_set_rebind_proc=3], ++ [smb_ldap_cv_ldap_set_rebind_proc=2] ++ ) ++ ]) ++ ++ AC_DEFINE_UNQUOTED(LDAP_SET_REBIND_PROC_ARGS, $smb_ldap_cv_ldap_set_rebind_proc, [Number of arguments to ldap_set_rebind_proc]) ++ ++ AC_CHECK_FUNC_EXT(ldap_initialize,$LDAP_LIBS) ++ ++ if test x"$ac_cv_lib_ext_ldap_ldap_init" = x"yes" -a x"$ac_cv_func_ext_ldap_domain2hostlist" = x"yes"; then ++ AC_DEFINE(HAVE_LDAP,1,[Whether ldap is available]) ++ default_static_modules="$default_static_modules pdb_ldap idmap_ldap"; ++ SMBLDAP="lib/smbldap.o" ++ with_ldap_support=yes ++ AC_MSG_CHECKING(whether LDAP support is used) ++ AC_MSG_RESULT(yes) ++ else ++ if test x"$with_ldap_support" = x"yes"; then ++ AC_MSG_ERROR(libldap is needed for LDAP support) ++ else ++ AC_MSG_WARN(libldap is needed for LDAP support) ++ fi ++ ++ LDAP_LIBS="" ++ with_ldap_support=no ++ fi ++ LIBS=$ac_save_LIBS ++fi ++ ++ + ################################################# + # active directory support + + with_ads_support=auto +-AC_MSG_CHECKING([whether to use Active Directory]) ++AC_MSG_CHECKING([for Active Directory and krb5 support]) + + AC_ARG_WITH(ads, +-[ --with-ads Active Directory support (default yes)], ++[ --with-ads Active Directory support (default auto)], + [ case "$withval" in + yes|no) + with_ads_support="$withval" +@@ -2124,22 +2215,28 @@ + FOUND_KRB5=no + KRB5_LIBS="" + ++if test x"$with_ldap_support" != x"yes"; then ++ if test x"$with_ads_support" = x"yes"; then ++ AC_MSG_ERROR(Active Directory Support requires LDAP support) ++ elif test x"$with_ads_support" != x"no"; then ++ AC_MSG_WARN(Active Directory Support requires LDAP support) ++ fi ++ with_ads_support=no ++fi ++ + if test x"$with_ads_support" != x"no"; then + + # Do no harm to the values of CFLAGS and LIBS while testing for + # Kerberos support. + +- ac_save_CFLAGS="$CFLAGS" +- ac_save_LIBS="$LIBS" +- + ################################################# + # check for krb5-config from recent MIT and Heimdal kerberos 5 + AC_PATH_PROG(KRB5_CONFIG, krb5-config) + AC_MSG_CHECKING(for working krb5-config) + if test -x "$KRB5_CONFIG"; then +- LIBS="$LIBS `$KRB5_CONFIG --libs`" +- CFLAGS="$CFLAGS `$KRB5_CONFIG --cflags | sed s/@INCLUDE_des@//`" +- CPPFLAGS="$CPPFLAGS `$KRB5_CONFIG --cflags | sed s/@INCLUDE_des@//`" ++ KRB5_LIBS="`CFLAGS='' $KRB5_CONFIG --libs gssapi`" ++ KRB5_CFLAGS="`$KRB5_CONFIG --cflags | sed s/@INCLUDE_des@//`" ++ KRB5_CPPFLAGS="`$KRB5_CONFIG --cflags | sed s/@INCLUDE_des@//`" + FOUND_KRB5=yes + AC_MSG_RESULT(yes) + else +@@ -2154,18 +2251,23 @@ + [ --with-krb5=base-dir Locate Kerberos 5 support (default=/usr)], + [ case "$withval" in + no) +- AC_MSG_RESULT(no) ++ AC_MSG_RESULT(no krb5-path given) ++ ;; ++ yes) ++ AC_MSG_RESULT(/usr) ++ KRB5_LIBS="-lkrb5" ++ FOUND_KRB5=yes + ;; + *) +- AC_MSG_RESULT(yes) +- LIBS="$LIBS -lkrb5" +- CFLAGS="$CFLAGS -I$withval/include" +- CPPFLAGS="$CPPFLAGS -I$withval/include" +- LDFLAGS="$LDFLAGS -L$withval/lib" ++ AC_MSG_RESULT($withval) ++ KRB5_LIBS="-lkrb5" ++ KRB5_CFLAGS="-I$withval/include" ++ KRB5_CPPFLAGS="-I$withval/include" ++ KRB5_LDFLAGS="-L$withval/lib" + FOUND_KRB5=yes + ;; + esac ], +- AC_MSG_RESULT(no) ++ AC_MSG_RESULT(no krb5-path given) + ) + fi + +@@ -2175,15 +2277,15 @@ + AC_MSG_CHECKING(for /usr/include/heimdal) + if test -d /usr/include/heimdal; then + if test -f /usr/lib/heimdal/lib/libkrb5.a; then +- LIBS="$LIBS -lkrb5" +- CFLAGS="$CFLAGS -I/usr/include/heimdal" +- CPPFLAGS="$CPPFLAGS -I/usr/include/heimdal" +- LDFLAGS="$LDFLAGS -L/usr/lib/heimdal/lib" ++ KRB5_LIBS="-lkrb5" ++ KRB5_CFLAGS="-I/usr/include/heimdal" ++ KRB5_CPPFLAGS="-I/usr/include/heimdal" ++ KRB5_LDFLAGS="-L/usr/lib/heimdal/lib" + AC_MSG_RESULT(yes) + else +- LIBS="$LIBS -lkrb5" +- CFLAGS="$CFLAGS -I/usr/include/heimdal" +- CPPFLAGS="$CPPFLAGS -I/usr/include/heimdal" ++ KRB5_LIBS="-lkrb5" ++ KRB5_CFLAGS="-I/usr/include/heimdal" ++ KRB5_CPPFLAGS="-I/usr/include/heimdal" + AC_MSG_RESULT(yes) + fi + else +@@ -2196,16 +2298,26 @@ + # see if this box has the RedHat location for kerberos + AC_MSG_CHECKING(for /usr/kerberos) + if test -d /usr/kerberos -a -f /usr/kerberos/lib/libkrb5.a; then +- LIBS="$LIBS -lkrb5" +- LDFLAGS="$LDFLAGS -L/usr/kerberos/lib" +- CFLAGS="$CFLAGS -I/usr/kerberos/include" +- CPPFLAGS="$CPPFLAGS -I/usr/kerberos/include" ++ KRB5_LIBS="-lkrb5" ++ KRB5_LDFLAGS="-L/usr/kerberos/lib" ++ KRB5_CFLAGS="-I/usr/kerberos/include" ++ KRB5_CPPFLAGS="-I/usr/kerberos/include" + AC_MSG_RESULT(yes) + else + AC_MSG_RESULT(no) + fi + fi + ++ ac_save_CFLAGS=$CFLAGS ++ ac_save_CPPFLAGS=$CPPFLAGS ++ ac_save_LDFLAGS=$LDFLAGS ++ ++ CFLAGS="$CFLAGS $KRB5_CFLAGS" ++ CPPFLAGS="$CPPFLAGS $KRB5_CPPFLAGS" ++ LDFLAGS="$LDFLAGS $KRB5_LDFLAGS" ++ ++ KRB5_LIBS="$KRB5_LDFLAGS $KRB5_LIBS" ++ + # now check for krb5.h. Some systems have the libraries without the headers! + # note that this check is done here to allow for different kerberos + # include paths +@@ -2225,24 +2337,17 @@ + # Turn off AD support and restore CFLAGS and LIBS variables + + with_ads_support="no" +- +- CFLAGS="$ac_save_CFLAGS" +- LIBS="$ac_save_LIBS" +- +- else +- +- # Get rid of case where $with_ads_support=auto +- +- with_ads_support="yes" +- ++ ++ CFLAGS=$ac_save_CFLAGS ++ CPPFLAGS=$ac_save_CPPFLAGS ++ LDFLAGS=$ac_save_LDFLAGS + fi + fi + + # Now we have determined whether we really want ADS support + +-if test x"$with_ads_support" = x"yes"; then +- +- AC_DEFINE(WITH_ADS,1,[Whether to include Active Directory support]) ++if test x"$with_ads_support" != x"no"; then ++ ac_save_LIBS=$LIBS + + # now check for gssapi headers. This is also done here to allow for + # different kerberos include paths +@@ -2250,62 +2355,45 @@ + + ################################################################## + # we might need the k5crypto and com_err libraries on some systems +- AC_CHECK_LIB(com_err, _et_list) +- AC_CHECK_LIB(k5crypto, krb5_encrypt_data) ++ AC_CHECK_LIB_EXT(com_err, KRB5_LIBS, _et_list) ++ AC_CHECK_LIB_EXT(k5crypto, KRB5_LIBS, krb5_encrypt_data) + + # Heimdal checks. +- AC_CHECK_LIB(crypto, des_set_key) +- AC_CHECK_LIB(asn1, copy_Authenticator) +- AC_CHECK_LIB(roken, roken_getaddrinfo_hostspec) ++ AC_CHECK_LIB_EXT(crypto, KRB5_LIBS, des_set_key) ++ AC_CHECK_LIB_EXT(asn1, KRB5_LIBS, copy_Authenticator) ++ AC_CHECK_LIB_EXT(roken, KRB5_LIBS, roken_getaddrinfo_hostspec) + + # Heimdal checks. On static Heimdal gssapi must be linked before krb5. +- AC_CHECK_LIB(gssapi, gss_display_status, [LIBS="$LIBS -lgssapi -lkrb5"; +- AC_DEFINE(HAVE_GSSAPI,1,[Whether GSSAPI is available])]) ++ AC_CHECK_LIB_EXT(gssapi, KRB5_LIBS, gss_display_status, [KRB5_LIBS="$KRB5_LIBS -lgssapi -lkrb5"; ++ AC_DEFINE(HAVE_GSSAPI,1,[Whether GSSAPI is available])]) ++ ++ ######################################################## ++ # now see if we can find the krb5 libs in standard paths ++ # or as specified above ++ AC_CHECK_LIB_EXT(krb5, KRB5_LIBS, krb5_mk_req_extended) ++ ++ ######################################################## ++ # now see if we can find the gssapi libs in standard paths ++ AC_CHECK_LIB_EXT(gssapi_krb5, KRB5_LIBS,gss_display_status,[],[], ++ AC_DEFINE(HAVE_GSSAPI,1,[Whether GSSAPI is available])) + +- AC_CHECK_LIB(krb5, krb5_set_real_time, +- [AC_DEFINE(HAVE_KRB5_SET_REAL_TIME,1, +- [Whether krb5_set_real_time is available])]) +- AC_CHECK_LIB(krb5, krb5_set_default_in_tkt_etypes, +- [AC_DEFINE(HAVE_KRB5_SET_DEFAULT_IN_TKT_ETYPES,1, +- [Whether krb5_set_default_in_tkt_etypes, is available])]) +- AC_CHECK_LIB(krb5, krb5_set_default_tgs_ktypes, +- [AC_DEFINE(HAVE_KRB5_SET_DEFAULT_TGS_KTYPES,1, +- [Whether krb5_set_default_tgs_ktypes is available])]) +- +- AC_CHECK_LIB(krb5, krb5_principal2salt, +- [AC_DEFINE(HAVE_KRB5_PRINCIPAL2SALT,1, +- [Whether krb5_principal2salt is available])]) +- AC_CHECK_LIB(krb5, krb5_use_enctype, +- [AC_DEFINE(HAVE_KRB5_USE_ENCTYPE,1, +- [Whether krb5_use_enctype is available])]) +- AC_CHECK_LIB(krb5, krb5_string_to_key, +- [AC_DEFINE(HAVE_KRB5_STRING_TO_KEY,1, +- [Whether krb5_string_to_key is available])]) +- AC_CHECK_LIB(krb5, krb5_get_pw_salt, +- [AC_DEFINE(HAVE_KRB5_GET_PW_SALT,1, +- [Whether krb5_get_pw_salt is available])]) +- AC_CHECK_LIB(krb5, krb5_string_to_key_salt, +- [AC_DEFINE(HAVE_KRB5_STRING_TO_KEY_SALT,1, +- [Whether krb5_string_to_key_salt is available])]) +- AC_CHECK_LIB(krb5, krb5_auth_con_setkey, +- [AC_DEFINE(HAVE_KRB5_AUTH_CON_SETKEY,1, +- [Whether krb5_auth_con_setkey is available])]) +- AC_CHECK_LIB(krb5, krb5_auth_con_setuseruserkey, +- [AC_DEFINE(HAVE_KRB5_AUTH_CON_SETUSERUSERKEY,1, +- [Whether krb5_auth_con_setuseruserkey is available])]) +- AC_CHECK_LIB(krb5, krb5_locate_kdc, +- [AC_DEFINE(HAVE_KRB5_LOCATE_KDC,1, +- [Whether krb5_locate_kdc is available])]) +- AC_CHECK_LIB(krb5, krb5_get_permitted_enctypes, +- [AC_DEFINE(HAVE_KRB5_GET_PERMITTED_ENCTYPES,1, +- [Whether krb5_get_permitted_enctypes is available])]) +- AC_CHECK_LIB(krb5, krb5_get_default_in_tkt_etypes, +- [AC_DEFINE(HAVE_KRB5_GET_DEFAULT_IN_TKT_ETYPES,1, +- [Whether krb5_get_default_in_tkt_etypes is available])]) +- AC_CHECK_LIB(krb5, krb5_free_ktypes, +- [AC_DEFINE(HAVE_KRB5_FREE_KTYPES,1, +- [Whether krb5_free_ktypes is available])]) ++ AC_CHECK_FUNC_EXT(krb5_set_real_time, $KRB5_LIBS) ++ AC_CHECK_FUNC_EXT(krb5_set_default_in_tkt_etypes, $KRB5_LIBS) ++ AC_CHECK_FUNC_EXT(krb5_set_default_tgs_ktypes, $KRB5_LIBS) ++ AC_CHECK_FUNC_EXT(krb5_principal2salt, $KRB5_LIBS) ++ AC_CHECK_FUNC_EXT(krb5_use_enctype, $KRB5_LIBS) ++ AC_CHECK_FUNC_EXT(krb5_string_to_key, $KRB5_LIBS) ++ AC_CHECK_FUNC_EXT(krb5_get_pw_salt, $KRB5_LIBS) ++ AC_CHECK_FUNC_EXT(krb5_string_to_key_salt, $KRB5_LIBS) ++ AC_CHECK_FUNC_EXT(krb5_auth_con_setkey, $KRB5_LIBS) ++ AC_CHECK_FUNC_EXT(krb5_auth_con_setuseruserkey, $KRB5_LIBS) ++ AC_CHECK_FUNC_EXT(krb5_locate_kdc, $KRB5_LIBS) ++ AC_CHECK_FUNC_EXT(krb5_get_permitted_enctypes, $KRB5_LIBS) ++ AC_CHECK_FUNC_EXT(krb5_get_default_in_tkt_etypes, $KRB5_LIBS) ++ AC_CHECK_FUNC_EXT(krb5_free_ktypes, $KRB5_LIBS) + ++ LIBS="$LIBS $KRB5_LIBS" ++ + AC_CACHE_CHECK([for addrtype in krb5_address], + samba_cv_HAVE_ADDRTYPE_IN_KRB5_ADDRESS,[ + AC_TRY_COMPILE([#include <krb5.h>], +@@ -2365,87 +2453,21 @@ + [Whether the ENCTYPE_ARCFOUR_HMAC_MD5 key type is available]) + fi + +- ######################################################## +- # now see if we can find the krb5 libs in standard paths +- # or as specified above +- AC_CHECK_LIB(krb5, krb5_mk_req_extended, [KRB5_LIBS="$LIBS -lkrb5"; +- KRB5_CFLAGS="$CFLAGS"; +- AC_DEFINE(HAVE_KRB5,1,[Whether KRB5 is available])]) +- +- ######################################################## +- # now see if we can find the gssapi libs in standard paths +- AC_CHECK_LIB(gssapi_krb5, gss_display_status, +- [KRB5_LIBS="$KRB5_LIBS -lgssapi_krb5"; +- AC_DEFINE(HAVE_GSSAPI,1,[Whether GSSAPI is available])]) +- +- CFLAGS="$ac_save_CFLAGS" +- LIBS="$ac_save_LIBS" +-fi +- +-######################################################## +-# Compile with LDAP support? +- +-LDAP_OBJ="" +-with_ldap_support=yes +-AC_MSG_CHECKING([whether to use LDAP]) +- +-AC_ARG_WITH(ldap, +-[ --with-ldap LDAP support (default yes)], +-[ case "$withval" in +- no) +- with_ldap_support=no +- ;; +- esac ]) +- +-AC_MSG_RESULT($with_ldap_support) +- +-SMBLDAP="" +-if test x"$with_ldap_support" = x"yes"; then +- ac_save_LIBS="$LIBS" +- LIBS="" +- +- ################################################################## +- # we might need the lber lib on some systems. To avoid link errors +- # this test must be before the libldap test +- AC_CHECK_LIB(lber, ber_scanf) +- +- ######################################################## +- # now see if we can find the ldap libs in standard paths +- if test x$have_ldap != xyes; then +- AC_CHECK_LIB(ldap, ldap_init, [ +- LIBS="$LIBS -lldap"; +- AC_CHECK_LIB(ldap, ldap_domain2hostlist, [ +- AC_DEFINE(HAVE_LDAP,1,[Whether ldap is available]) +- AC_CHECK_HEADERS([ldap.h lber.h], +- [default_static_modules="$default_static_modules pdb_ldap idmap_ldap"; +- SMBLDAP="lib/smbldap.o"]) +- ]) +- ]) +- +- ######################################################## +- # If we have LDAP, does it's rebind procedure take 2 or 3 arguments? +- # Check found in pam_ldap 145. +- AC_CHECK_FUNCS(ldap_set_rebind_proc) +- AC_CACHE_CHECK(whether ldap_set_rebind_proc takes 3 arguments, pam_ldap_cv_ldap_set_rebind_proc, [ +- AC_TRY_COMPILE([ +- #include <lber.h> +- #include <ldap.h>], [ldap_set_rebind_proc(0, 0, 0);], [pam_ldap_cv_ldap_set_rebind_proc=3], [pam_ldap_cv_ldap_set_rebind_proc=2]) ]) +- AC_DEFINE_UNQUOTED(LDAP_SET_REBIND_PROC_ARGS, $pam_ldap_cv_ldap_set_rebind_proc, [Number of arguments to ldap_set_rebind_proc]) +- AC_CHECK_FUNCS(ldap_initialize) +- fi +- +- AC_SUBST(SMBLDAP) +- LDAP_LIBS="$LIBS"; +- LIBS="$ac_save_LIBS"; +-else +- # Can't have ADS support without LDAP ++ if test x"$ac_cv_lib_ext_krb5_krb5_mk_req_extended" = x"yes"; then ++ AC_DEFINE(HAVE_KRB5,1,[Whether to have KRB5 support]) ++ AC_DEFINE(WITH_ADS,1,[Whether to include Active Directory support]) ++ AC_MSG_CHECKING(whether Active Directory and krb5 support is used) ++ AC_MSG_RESULT(yes) ++ else + if test x"$with_ads_support" = x"yes"; then +- AC_MSG_ERROR(Active directory support requires LDAP) ++ AC_MSG_ERROR(libkrb5 is needed for Active Directory support) ++ else ++ AC_MSG_WARN(libkrb5 is needed for Active Directory support) + fi +-fi +- +-if test x"$with_ads_support" = x"yes"; then +- ADSLIBS="$LDAP_LIBS $KRB5_LIBS" ++ KRB5_LIBS="" ++ with_ads_support=no ++ fi ++ LIBS="$ac_save_LIBS" + fi + + ######################################################## diff --git a/packaging/Debian/debian/patches/pam_smbpass_linkage.patch b/packaging/Debian/debian/patches/pam_smbpass_linkage.patch index 3d1fab8ab0..022a3a0a28 100644 --- a/packaging/Debian/debian/patches/pam_smbpass_linkage.patch +++ b/packaging/Debian/debian/patches/pam_smbpass_linkage.patch @@ -1,20 +1,18 @@ -diff -ur samba-3.0.0beta1.orig/source/Makefile.in samba-3.0.0beta1/source/Makefile.in ---- samba-3.0.0beta1.orig/source/Makefile.in 2003-06-16 23:59:19.000000000 -0500 -+++ samba-3.0.0beta1/source/Makefile.in 2003-06-17 00:13:50.000000000 -0500 -@@ -582,9 +582,9 @@ - +diff -uNr samba-3.0.0beta2.orig/source/Makefile.in samba-3.0.0beta2/source/Makefile.in +--- samba-3.0.0beta2.orig/source/Makefile.in 2003-07-05 16:24:34.000000000 -0500 ++++ samba-3.0.0beta2/source/Makefile.in 2003-07-05 16:24:54.000000000 -0500 +@@ -579,8 +579,8 @@ PAM_SMBPASS_OBJ_0 = pam_smbpass/pam_smb_auth.o pam_smbpass/pam_smb_passwd.o \ pam_smbpass/pam_smb_acct.o pam_smbpass/support.o \ -- libsmb/smbencrypt.o libsmb/smbdes.o libsmb/nterr.o \ + libsmb/smbencrypt.o libsmb/smbdes.o libsmb/nterr.o \ - $(PARAM_OBJ) $(LIB_OBJ) $(PASSDB_OBJ) $(GROUPDB_OBJ) \ -- $(SECRETS_OBJ) $(UBIQX_OBJ) $(IDMAP_OBJ) +- $(SECRETS_OBJ) $(UBIQX_OBJ) + $(LIBSAMBA_OBJ) $(PARAM_OBJ) $(LIB_OBJ) $(PASSDB_OBJ) \ -+ $(GROUPDB_OBJ) $(SECRETS_OBJ) $(UBIQX_OBJ) $(IDMAP_OBJ) \ -+ $(SMBLDAP_OBJ) ++ $(GROUPDB_OBJ) $(SECRETS_OBJ) $(UBIQX_OBJ) $(SMBLDAP_OBJ) PAM_SMBPASS_PICOOBJ = $(PAM_SMBPASS_OBJ_0:.o=.po) -@@ -1080,7 +1080,8 @@ +@@ -1076,7 +1076,8 @@ bin/pam_smbpass.@SHLIBEXT@: $(PAM_SMBPASS_PICOOBJ) @echo "Linking shared library $@" diff --git a/packaging/Debian/debian/patches/python-linker.patch b/packaging/Debian/debian/patches/python-linker.patch deleted file mode 100644 index 1cbf4b7c2c..0000000000 --- a/packaging/Debian/debian/patches/python-linker.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff -ur samba-3.0.0beta1.orig/source/python/setup.py samba-3.0.0beta1/source/python/setup.py ---- samba-3.0.0beta1.orig/source/python/setup.py 2003-06-07 12:57:36.000000000 -0500 -+++ samba-3.0.0beta1/source/python/setup.py 2003-06-19 17:26:48.000000000 -0500 -@@ -57,6 +57,9 @@ - if lib[0:2] == "-L": - library_dirs.append(lib[2:]) - continue -+ if lib[0:4] == "-Wl,": -+ print "Ignoring linker flag '%s' in $LIBS variable passed to setup.py" % lib -+ continue - print "Unknown entry '%s' in $LIBS variable passed to setup.py" % lib - sys.exit(1) - diff --git a/packaging/Debian/debian/patches/samba.patch b/packaging/Debian/debian/patches/samba.patch index 3925081735..bface14166 100644 --- a/packaging/Debian/debian/patches/samba.patch +++ b/packaging/Debian/debian/patches/samba.patch @@ -19,14 +19,14 @@ diff -uNr samba-3.0.0beta1.orig/source/client/smbmount.c samba-3.0.0beta1/source } else if(!strcmp(opts, "credentials")) { pstrcpy(credentials,opteq+1); } else if(!strcmp(opts, "netbiosname")) { -@@ -889,7 +889,7 @@ +@@ -889,7 +901,7 @@ *p = 0; pstrcpy(password,p+1); got_pass = True; - memset(strchr_m(getenv("USER"),'%')+1,'X',strlen(password)); + memset(strchr_m(getenv("USER"),'%')+1,'\0',strlen(password)); } - strupper(username); + strupper_m(username); } diff -uNr samba-3.0.0beta1.orig/source/script/installbin.sh samba-3.0.0beta1/source/script/installbin.sh --- samba-3.0.0beta1.orig/source/script/installbin.sh 2002-04-22 13:16:20.000000000 -0500 diff --git a/packaging/Debian/debian/patches/smbclient-tar.patch b/packaging/Debian/debian/patches/smbclient-tar.patch new file mode 100644 index 0000000000..e6cdcafbf8 --- /dev/null +++ b/packaging/Debian/debian/patches/smbclient-tar.patch @@ -0,0 +1,43 @@ +diff -uNr samba-3.0.0beta2.orig/source/client/client.c samba-3.0.0beta2/source/client/client.c +--- samba-3.0.0beta2.orig/source/client/client.c 2003-07-01 22:36:24.000000000 -0500 ++++ samba-3.0.0beta2/source/client/client.c 2003-07-06 15:17:36.000000000 -0500 +@@ -2731,6 +2731,7 @@ + int opt; + pstring query_host; + BOOL message = False; ++ char* tar_args = NULL; + extern char tar_type; + pstring term_code; + static const char *new_name_resolve_order = NULL; +@@ -2816,7 +2817,7 @@ + max_protocol = interpret_protocol(poptGetOptArg(pc), max_protocol); + break; + case 'T': +- if (!tar_parseargs(argc, argv, poptGetOptArg(pc), optind)) { ++ if (!(tar_args = poptGetOptArg(pc))) { + poptPrintUsage(pc, stderr, 0); + exit(1); + } +@@ -2848,6 +2849,22 @@ + pstrcpy(cmdline_auth_info.password,poptGetArg(pc)); + } + ++ /* The tar command may take a number of string options; pass ++ everything we have left to tar_parseargs(). */ ++ if (tar_args) { ++ const char **argv2 = poptGetArgs(pc); ++ int argc2 = 0; ++ ++ if (argv2) { ++ while (argv2[argc2]) argc2++; ++ } ++ ++ if (!tar_parseargs(argc2, argv2, tar_args, 0)) { ++ poptPrintUsage(pc, stderr, 0); ++ exit(1); ++ } ++ } ++ + init_names(); + + if(new_name_resolve_order) diff --git a/packaging/Debian/debian/rules b/packaging/Debian/debian/rules index a8c83529a4..0539484089 100755 --- a/packaging/Debian/debian/rules +++ b/packaging/Debian/debian/rules @@ -10,7 +10,7 @@ #export DH_VERBOSE=1 # This is the debhelper compatability version to use. -export DH_COMPAT=2 +export DH_COMPAT=4 # This has to be exported to make some magic below work. export DH_OPTIONS @@ -48,7 +48,7 @@ IVARS = BASEDIR=$(DESTDIR)/usr \ BINDIR=$(DESTDIR)/usr/bin \ SBINDIR=$(DESTDIR)/usr/sbin \ MANDIR=$(DESTDIR)/usr/share/man \ - LIBDIR=$(DESTDIR)/etc/samba \ + LIBDIR=$(DESTDIR)/usr/lib/samba \ VARDIR=$(DESTDIR)/var \ INCLUDEDIR=$(DESTDIR)/usr/include \ SWATDIR=$(SWATDIR)/usr/share/samba/swat \ @@ -275,7 +275,7 @@ binary-arch: build install fi # dh_installemacsen # dh_installpam - DH_OPTIONS= dh_installinit -psamba -n + DH_OPTIONS= dh_installinit -psamba -- "defaults 20 19" DH_OPTIONS= dh_installinit -pwinbind dh_installcron # dh_installmanpages diff --git a/packaging/Debian/debian/samba-common.conffiles b/packaging/Debian/debian/samba-common.conffiles deleted file mode 100644 index 4684ede3d1..0000000000 --- a/packaging/Debian/debian/samba-common.conffiles +++ /dev/null @@ -1,3 +0,0 @@ -/etc/pam.d/samba -/etc/samba/gdbcommands -/etc/dhcp3/dhclient-enter-hooks.d/samba diff --git a/packaging/Debian/debian/samba.conffiles b/packaging/Debian/debian/samba.conffiles deleted file mode 100644 index 908a791a62..0000000000 --- a/packaging/Debian/debian/samba.conffiles +++ /dev/null @@ -1,3 +0,0 @@ -/etc/cron.daily/samba -/etc/init.d/samba -/etc/logrotate.d/samba diff --git a/packaging/Debian/debian/samba.files b/packaging/Debian/debian/samba.files index 7de0a15f2f..f52e6c5e4f 100644 --- a/packaging/Debian/debian/samba.files +++ b/packaging/Debian/debian/samba.files @@ -6,6 +6,7 @@ usr/bin/pdbedit usr/sbin/smbd usr/sbin/nmbd usr/sbin/mksmbpasswd +usr/lib/samba/vfs usr/share/man/man1/smbcontrol.1 usr/share/man/man1/smbstatus.1 usr/share/man/man1/testprns.1 @@ -14,3 +15,5 @@ usr/share/man/man8/nmbd.8 usr/share/man/man8/pdbedit.8 usr/share/man/man8/smbd.8 usr/share/man/man8/mksmbpasswd.8 +usr/share/man/man8/tdbbackup.8 + diff --git a/packaging/Debian/debian/samba.postinst b/packaging/Debian/debian/samba.postinst index c3db0373f1..1a25290ed2 100644 --- a/packaging/Debian/debian/samba.postinst +++ b/packaging/Debian/debian/samba.postinst @@ -191,11 +191,6 @@ if dpkg --compare-versions "$2" lt 2.999+3.0.alpha20-4; then update-inetd --remove netbios-ns fi -# We always run /etc/init.d/samba, even if we run Samba from inetd. -# The init.d script takes care of handling the conflict of running -# from inetd or as daemons. -update-rc.d samba defaults 20 19 > /dev/null - # We want to add these entries to inetd.conf commented out. Otherwise # UDP traffic could make inetd to start nmbd or smbd right during # the configuration stage. @@ -209,16 +204,6 @@ else update-inetd --enable netbios-ssn fi -# Start Samba: we don't want to call /etc/init.d/samba if we are -# running from inetd because a nasty help message would be printed out. - -# Run the init script if this is a first-time install, or if it's an -# upgrade and Samba was running before, _and_ we're not running from inetd. -if [ -z "$2" -o ! -f /tmp/samba-was-not-running ]; then - # Check the script is executable before running it. - [ -x /etc/init.d/samba ] && /etc/init.d/samba start -fi - # This check is a safety net: the /etc/samba/smbpasswd file must have # permissions 600. if [ -f /etc/samba/smbpasswd ]; then @@ -238,10 +223,6 @@ rm -f /etc/samba/debian_config mv -f /var/log/nmb* /var/log/samba/ 2> /dev/null || true mv -f /var/log/smb* /var/log/samba/ 2> /dev/null || true -# Do this last, so we don't accidentally start the daemons if something -# else in the script fails above. -rm -f /tmp/samba-was-not-running - #DEBHELPER# exit 0 diff --git a/packaging/Debian/debian/samba.postrm b/packaging/Debian/debian/samba.postrm index 54bba45b4f..b79fe1d009 100644 --- a/packaging/Debian/debian/samba.postrm +++ b/packaging/Debian/debian/samba.postrm @@ -17,7 +17,6 @@ if [ "$1" = purge ]; then # Remove NetBIOS entries from /etc/inetd.conf update-inetd --remove netbios-ssn - update-rc.d samba remove >/dev/null else # Not purging, do not remove NetBIOS entries from /etc/inetd.conf update-inetd --disable netbios-ssn diff --git a/packaging/Debian/debian/samba.prerm b/packaging/Debian/debian/samba.prerm index 6a4a8a4b4b..ab62c706d8 100644 --- a/packaging/Debian/debian/samba.prerm +++ b/packaging/Debian/debian/samba.prerm @@ -1,24 +1,5 @@ #!/bin/sh -e -# Clean up any such stale file. -rm -f /tmp/samba-was-not-running - -# The smbd pid file is missing, or points to a dead process -if [ ! -f /var/run/samba/smbd.pid ] || \ - ! ps h `cat /var/run/samba/smbd.pid` > /dev/null -then - # The nmbd pid file is missing, or points to a dead process - if [ -f /var/run/samba/nmbd.pid ] || \ - ! ps h `cat /var/run/samba/nmbd.pid` > /dev/null - then - # let the postinst know not to start samba. - [ "$1" = "upgrade" ] && touch /tmp/samba-was-not-running - fi -fi - -# We call the init script to stop Samba, even if it only affects nmbd. -[ -x /etc/init.d/samba ] && /etc/init.d/samba stop - if [ "$1" = upgrade -a -n "$2" ] && dpkg --compare-versions "$2" lt 2.99 \ && [ -e /var/lib/samba/passdb.tdb -a ! -e /etc/samba/smbpasswd ] then diff --git a/packaging/Debian/debian/smb.conf b/packaging/Debian/debian/smb.conf index 6d8852958b..8a75979945 100644 --- a/packaging/Debian/debian/smb.conf +++ b/packaging/Debian/debian/smb.conf @@ -30,7 +30,7 @@ server string = %h server (Samba %v) # Windows Internet Name Serving Support Section: -# WINS Support - Tells the NMBD component of Samba to enable it's WINS Server +# WINS Support - Tells the NMBD component of Samba to enable its WINS Server ; wins support = no # WINS Server - Tells the NMBD components of Samba to be a WINS Client @@ -71,12 +71,12 @@ # "security = user" is always a good idea. This will require a Unix account # in this server for every user accessing the server. See -# security_level.txt for details. +# /usr/share/doc/samba-doc/htmldocs/ServerType.html in the samba-doc +# package for details. ; security = user -# You may wish to use password encryption. Please read ENCRYPTION.html, -# Win95.txt and WinNT.txt in the Samba documentation. Do not enable this -# option unless you have read those documents +# You may wish to use password encryption. See the section on +# 'encrypt passwords' in the smb.conf(5) manpage before enabling. encrypt passwords = no # If you are using encrypted passwords, Samba will need to know what @@ -153,7 +153,6 @@ # working to ease installation and configuration of linpopup and samba. ; message command = /bin/sh -c '/usr/bin/linpopup "%f" "%m" %s; rm %s' & - # Domain Master specifies Samba to be the Domain Master Browser. If this # machine will be configured as a BDC (a secondary logon server), you # must set this to 'no'; otherwise, the default behavior is recommended. diff --git a/packaging/Debian/debian/smbclient.files b/packaging/Debian/debian/smbclient.files index efabb0ddd0..96e8945bf3 100644 --- a/packaging/Debian/debian/smbclient.files +++ b/packaging/Debian/debian/smbclient.files @@ -4,9 +4,12 @@ usr/bin/rpcclient usr/bin/smbspool usr/bin/smbtree usr/bin/smbcacls +usr/bin/smbcquotas usr/share/man/man1/smbclient.1 usr/share/man/man1/smbtar.1 usr/share/man/man1/rpcclient.1 usr/share/man/man8/smbspool.8 usr/share/man/man1/smbcacls.1 +usr/share/man/man1/smbcquotas.1 +usr/share/man/man1/smbtree.1 usr/lib/cups/backend/smb diff --git a/packaging/Debian/debian/winbind.conffiles b/packaging/Debian/debian/winbind.conffiles deleted file mode 100644 index c9adbfff17..0000000000 --- a/packaging/Debian/debian/winbind.conffiles +++ /dev/null @@ -1,2 +0,0 @@ -/etc/init.d/winbind -/etc/logrotate.d/winbind |