add samba client

git-svn-id: https://svn.disconnected-by-peer.at/svn/linamh/trunk/linamh@1718 6952d904-891a-0410-993b-d76249ca496b
This commit is contained in:
geos_one
2009-12-21 18:36:54 +00:00
parent 347f4ca131
commit 05ad5cc496
29 changed files with 2506 additions and 0 deletions

View File

@@ -0,0 +1,11 @@
--- source3/Makefile.in.orig 2009-09-30 14:17:40.000000000 +0200
+++ source3/Makefile.in 2009-10-07 10:11:56.090719799 +0200
@@ -1470,7 +1470,7 @@
@$(CC) -o $@ $(CIFS_UPCALL_OBJ) $(DYNEXP) $(LDFLAGS) \
$(LIBSMBCLIENT_OBJ1) $(LIBS) -lkeyutils $(KRB5LIBS) \
$(LDAP_LIBS) $(LIBTALLOC_LIBS) $(LIBWBCLIENT_LIBS) \
- $(LIBTDB_LIBS) $(NSCD_LIBS)
+ $(LIBTDB_LIBS) $(NSCD_LIBS) $(ZLIB_LIBS)
bin/testparm@EXEEXT@: $(BINARY_PREREQS) $(TESTPARM_OBJ) @BUILD_POPT@ @LIBTALLOC_TARGET@ @LIBTDB_TARGET@
@echo Linking $@

View File

@@ -0,0 +1,36 @@
--- source4/build/m4/public.m4.org 2009-09-30 14:17:40.000000000 +0200
+++ source4/build/m4/public.m4 2009-10-07 08:42:10.000000000 +0200
@@ -86,10 +86,10 @@
if $PKG_CONFIG --atleast-pkgconfig-version $SAMBA_PKG_CONFIG_MIN_VERSION; then
AC_MSG_CHECKING(for $2)
- if $PKG_CONFIG --exists '$2' ; then
+ if $PKG_CONFIG --exists "$2" ; then
AC_MSG_RESULT(yes)
- $1_CFLAGS="`$PKG_CONFIG --cflags '$2'`"
+ $1_CFLAGS="`$PKG_CONFIG --cflags \"$2\"`"
OLD_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS $$1_CFLAGS"
AC_MSG_CHECKING([that the C compiler can use the $1_CFLAGS])
@@ -101,15 +101,15 @@
CFLAGS="$OLD_CFLAGS"
SMB_EXT_LIB($1,
- [`$PKG_CONFIG --libs-only-l '$2'`],
- [`$PKG_CONFIG --cflags-only-other '$2'`],
- [`$PKG_CONFIG --cflags-only-I '$2'`],
- [`$PKG_CONFIG --libs-only-other '$2'` `$PKG_CONFIG --libs-only-L '$2'`])
+ [`$PKG_CONFIG --libs-only-l "$2"`],
+ [`$PKG_CONFIG --cflags-only-other "$2"`],
+ [`$PKG_CONFIG --cflags-only-I "$2"`],
+ [`$PKG_CONFIG --libs-only-other "$2"` `$PKG_CONFIG --libs-only-L "$2"`])
ac_cv_$1_found=yes
else
AC_MSG_RESULT(no)
- $PKG_CONFIG --errors-to-stdout --print-errors '$2'
+ $PKG_CONFIG --errors-to-stdout --print-errors "$2"
ac_cv_$1_found=no
fi
else

View File

@@ -0,0 +1,25 @@
--- lib/replace/libreplace_ld.m4.orig 2009-09-30 14:17:40.000000000 +0200
+++ lib/replace/libreplace_ld.m4 2009-10-07 02:07:26.000000000 +0200
@@ -249,6 +249,22 @@
esac
])
+AC_DEFUN([AC_LD_VERSIONSCRIPT],
+[
+ AC_SUBST(VERSIONSCRIPT)
+ VERSIONSCRIPT=""
+ case "$host_os" in
+ *linux*|*gnu*)
+ VERSIONSCRIPT="-Wl,--version-script"
+ ;;
+ *solaris*)
+ if test "${GCC}" = "yes"; then
+ VERSIONSCRIPT="-Wl,--version-script"
+ fi
+ ;;
+ esac
+])
+
AC_DEFUN([AC_LIBREPLACE_MDLD],
[
AC_REQUIRE([AC_LIBREPLACE_LD_SHLIB_LINKER])

View File

@@ -0,0 +1,6 @@
[PYTHON::pytevent]
LIBRARY_REALNAME = tevent.$(SHLIBEXT)
PRIVATE_DEPENDENCIES = LIBTEVENT PYTALLOC LIBSAMBA-UTIL LIBREPLACE
pytevent_OBJ_FILES = $(libteventsrcdir)/pytevent.o

View File

@@ -0,0 +1,10 @@
--- source3/client/mtab.c.orig 2009-03-23 09:33:48.339895132 +0100
+++ source3/client/mtab.c 2009-03-23 09:33:58.159797512 +0100
@@ -32,6 +32,7 @@
#include <errno.h>
#include <stdio.h>
#include <sys/time.h>
+#include <sys/stat.h>
#include <time.h>
#include <fcntl.h>
#include <mntent.h>

View File

@@ -0,0 +1,8 @@
--- source4/min_versions.m4.orig 2009-09-30 14:17:40.000000000 +0200
+++ source4/min_versions.m4 2009-10-07 10:01:14.478984106 +0200
@@ -3,4 +3,4 @@
TDB_MIN_VERSION=1.1.3
TALLOC_MIN_VERSION=1.3.0
LDB_REQUIRED_VERSION=0.9.3
-TEVENT_REQUIRED_VERSION=0.9.6
+TEVENT_REQUIRED_VERSION=0.9.8

View File

@@ -0,0 +1,55 @@
--- source3/client/cifs.upcall.c.orig 2009-10-29 08:47:16.000000000 +0100
+++ source3/client/cifs.upcall.c 2009-11-03 10:52:37.000000000 +0100
@@ -31,6 +31,9 @@
#include "cifs_spnego.h"
+// defined in heimdal appl/dceutils/k5dce.h
+#define KRB5_TC_OPENCLOSE 0x00000001
+
#define CIFS_DEFAULT_KRB5_DIR "/tmp"
#define CIFS_DEFAULT_KRB5_PREFIX "krb5cc_"
@@ -45,14 +48,24 @@
} sectype_t;
static inline int
-k5_data_equal(krb5_data d1, krb5_data d2, unsigned int length)
+k5_realm_equal(Realm d1, Realm d2)
+{
+ int len1 = length_Realm(&d1);
+ int len2 = length_Realm(&d2);
+
+ return (len1 == len2 &&
+ memcmp(d1, d2, len1) == 0);
+}
+
+static inline int
+k5_name_equal(PrincipalName d1, krb5_data d2, unsigned int length)
{
if (!length)
- length = d1.length;
+ length = d1.name_string.len;
- return (d1.length == length &&
- d1.length == d2.length &&
- memcmp(d1.data, d2.data, length) == 0);
+ return (d1.name_string.len == length &&
+ d1.name_string.len == d2.length &&
+ memcmp(d1.name_string.val, d2.data, length) == 0);
}
@@ -94,9 +107,9 @@
}
while (!credtime && !krb5_cc_next_cred(context, ccache, &cur, &creds)) {
- if (k5_data_equal(creds.server->realm, principal->realm, 0) &&
- k5_data_equal(creds.server->data[0], tgt, tgt.length) &&
- k5_data_equal(creds.server->data[1], principal->realm, 0) &&
+
+ if (k5_realm_equal(creds.server->realm, principal->realm) &&
+ k5_name_equal(creds.server->name, tgt, tgt.length) &&
creds.times.endtime > time(NULL))
credtime = creds.times.endtime;
krb5_free_cred_contents(context, &creds);