summaryrefslogtreecommitdiff
path: root/packaging/Debian/debian/patches
diff options
context:
space:
mode:
authorEloy Paris <peloy@samba.org>2003-07-15 17:22:38 +0000
committerEloy Paris <peloy@samba.org>2003-07-15 17:22:38 +0000
commit4a12fe6044229cc5f59bd5029309ba9fe331b214 (patch)
tree582683bfb7da617aad2fd4a40ed323c52dfab2cc /packaging/Debian/debian/patches
parent8c4be2bbc9d1b42ae1b26a3a2519dd2c911dee45 (diff)
downloadsamba-4a12fe6044229cc5f59bd5029309ba9fe331b214.tar.gz
samba-4a12fe6044229cc5f59bd5029309ba9fe331b214.tar.bz2
samba-4a12fe6044229cc5f59bd5029309ba9fe331b214.zip
Debian updates. Brings files in packaging/Debian on par with the
latest Debian official packages for Debian unstable. Also fixes patches that got out of date in the beta2->beta3 development process. (This used to be commit 03871fd574bf9c0f6d88c96423f77e9ada7b16f7)
Diffstat (limited to 'packaging/Debian/debian/patches')
-rw-r--r--packaging/Debian/debian/patches/configure.patch43
-rw-r--r--packaging/Debian/debian/patches/fhs.patch296
-rw-r--r--packaging/Debian/debian/patches/krb5-vars.patch685
-rw-r--r--packaging/Debian/debian/patches/pam_smbpass_linkage.patch18
-rw-r--r--packaging/Debian/debian/patches/python-linker.patch13
-rw-r--r--packaging/Debian/debian/patches/samba.patch4
-rw-r--r--packaging/Debian/debian/patches/smbclient-tar.patch43
7 files changed, 905 insertions, 197 deletions
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)