[OpenAFS] samba 3.3.0 fake-kaserver no more working

Axel Reinhold afs@freakout.de
Mon, 2 Feb 2009 16:05:19 +0100


--ELM1233493290-7118-0_

Content-Transfer-Encoding: quoted-printable

Content-Type: text/plain; charset="ISO-8859-1"



According to G=E9mes G=E9za:

>

> First of all I'm surprised 3.2.7's fake-kaserver was working. For 3.2.5

> (with openafs 1.4.7) I had to create a patch (attached).

> Could that help you at least at finding out what did change.

>=20



Dear Gemes,



I also patch'd 3.2.7 with similar patches all integrated into a

rpm-spec-file.  I attach the 3.2.7 (last stable 3.2 samba) and

3.3.0 (first stable 3.3 samba) spec files.  I always install into

/opt.  So afs ends in /opt/afs and samba in /opt/samba.  3.2.7 is

working fine and 3.3.0 cores as described.  The diff between the

two are:



4c4

< Version:	3.3.0

---

> Version:	3.2.7

29c29

< $Id: samba.spec,v 1.73 2009/02/01 12:54:24 axel Exp $

---

> $Id: samba.spec,v 1.72 2009/01/30 11:57:28 axel Exp $

151,153c151,153

< --- source/configure.in.orig	2009-01-28 12:07:51.000000000 +0100

< +++ source/configure.in	2009-01-28 12:10:56.000000000 +0100

< @@ -100,6 +100,7 @@

---

> --- source/configure.in.orig	Sat Jun 16 12:29:54 2007

> +++ source/configure.in	Sat Jun 16 13:30:55 2007

> @@ -294,6 +294,7 @@

158d157

<  AC_SUBST(GPEXT_LIBS)

161c160,161

< @@ -2979,6 +2980,7 @@

---

>  AC_SUBST(UNINSTALL_PAM_MODULES)

> @@ -3078,6 +3079,7 @@

169c169

< @@ -2989,6 +2991,7 @@

---

> @@ -3086,6 +3088,7 @@

177,178c177,178

< @@ -6283,6 +6286,7 @@

<      AC_MSG_RESULT([    DNSSD_LIBS =3D $DNSSD_LIBS])

---

> @@ -6199,6 +6202,7 @@

>      AC_MSG_RESULT([    UUID_LIBS =3D $UUID_LIBS])

205,217d204

< --- source/lib/afs.c.orig	2009-01-28 09:39:02.000000000 +0100

< +++ source/lib/afs.c	2009-01-28 09:40:37.000000000 +0100

< @@ -230,8 +230,8 @@

<  	}

< =20

<  	afs_username =3D talloc_sub_advanced(ctx,

< -				SNUM(conn), conn->user,

< -				conn->connectpath, conn->gid,

< +				SNUM(conn), conn->server_info->utok.uid,

< +				conn->connectpath, conn->server_info->utok.gid,

<  				conn->server_info->sanitized_username,

<  				pdb_get_domain(conn->server_info->sam_account),

<  				afs_username);



Regards

Axel



--=20

|------------------------+--------------------------------------|

| Axel Reinhold          | Fax:   +49-9287-8244                 |

| Franz-Heinrich-Str. 20 | eMail: axel@freakout.de              |

| 95100 Selb       +-----+ http://www.freakout.de               |

| Germany          | Please do not send more than 100 kilobytes |

|------------------+--------------------------------------------|

| Fingerprint: 8D EF 9F 22 DF 9A 9B 68  E5 8C 12 C7 8D 6A 97 4E |

|---------------------------------------------------------------|

| Legal Warning: Do NOT send unsolicited commercial email to me |

| I will _NOT_ open Office/.EXE files =3D> please send plain text |



--ELM1233493290-7118-0_

Content-Transfer-Encoding: 7bit

Content-Type: text/plain

Content-Disposition: attachment; filename="samba-3.2.7.spec"

Content-Description: 



Summary:	the Samba SMB server

Name:		samba

Group:		System Environment/Daemons

Version:	3.2.7

Release:	1

URL:		http://www.samba.org/

L



#define samba1 3.2.0

%define samba1 %{version}

#define samba2 a

%define samba2 %{?_not_exist}

%define sambagcc gcc41



Provides:	samba

Requires:	ssl afs

Source0:	ftp://us2.samba.org/pub/samba/%{name}-%{samba1}.tar.gz



%description

Samba is the protocol by which a lot of PC-related machines share

files, printers, and other information (such as lists of available

files and printers). The Windows NT, OS/2, and Linux operating systems

support this natively, and add-on packages can enable the same thing

for DOS, Windows, VMS, UNIX of all kinds, MVS, and more. This package

provides an SMB server that can be used to provide network services to

SMB (sometimes called "Lan Manager") clients. Samba uses NetBIOS over

TCP/IP (NetBT) protocols and does NOT need the NetBEUI (Microsoft Raw

NetBIOS frame) protocol.

$Id: samba.spec,v 1.72 2009/01/30 11:57:28 axel Exp $



%prep

test "$RPMX" = "3" || false need rh7

test -d /usr/include/afs ||

 false need ln -s /opt/afs/include /usr/include/afs

test -d /usr/include/openssl ||

 false need ln -s /opt/ssl/include/openssl /usr/include/openssl

%setup -q -n %{name}-%{samba1}

for P in `/home/axel/p/rpm/count.sh %{samba2}`; do

	patch -p1 <%{_sourcedir}/patch-%{samba1}`/home/axel/p/rpm/count.sh -d $P`-%{samba1}${P}.diffs

done

cp -p source/script/installswat.sh source/script/installswat.sh.orig

sed 's/BOOKDIR="\$DESTDIR\/\$SWATDIR/BOOKDIR="$DESTDIR\/$SWATDIR\/help/' \

 <source/script/installswat.sh.orig >source/script/installswat.sh

patch -b -p1 <<'EOF'

--- samba-3.2.5.orig/source/lib/afs.c	2008-12-21 20:55:53.000000000 +0100

+++ samba-3.2.5/source/lib/afs.c	2008-12-23 07:27:15.000000000 +0100

@@ -23,6 +23,7 @@

 

 #define NO_ASN1_TYPEDEFS 1

 

+#include <afs/param.h>

 #include <afs/stds.h>

 #include <afs/afs.h>

 #include <afs/auth.h>

diff -urN samba-3.2.5.orig/source/lib/afs_settoken.c samba-3.2.5/source/lib/afs_settoken.c

--- samba-3.2.5.orig/source/lib/afs_settoken.c	2008-12-21 20:55:53.000000000 +0100

+++ samba-3.2.5/source/lib/afs_settoken.c	2008-12-23 07:36:56.000000000 +0100

@@ -23,6 +23,7 @@

 

 #define NO_ASN1_TYPEDEFS 1

 

+#include <afs/param.h>

 #include <afs/stds.h>

 #include <afs/afs.h>

 #include <afs/auth.h>

@@ -37,7 +38,24 @@

 	  char * cmarg,

 	  int follow)

 {

+/*

 	return( syscall( SYS_afs_syscall, subcall, path, cmd, cmarg, follow));

+*/

+        int errcode;

+        struct afsprocdata afs_syscall_data;

+        afs_syscall_data.syscall = subcall;

+        afs_syscall_data.param1 = (long)path;

+        afs_syscall_data.param2 = cmd;

+        afs_syscall_data.param3 = (long)cmarg;

+        afs_syscall_data.param4 = follow;

+        int proc_afs_file = open(PROC_SYSCALL_FNAME, O_RDWR);

+        if (proc_afs_file < 0)

+            proc_afs_file = open(PROC_SYSCALL_ARLA_FNAME, O_RDWR);

+        if (proc_afs_file < 0)

+            return -1;

+        errcode = ioctl(proc_afs_file, VIOC_SYSCALL, &afs_syscall_data);

+        close(proc_afs_file);

+        return errcode;

 }

 

 struct ClearToken {



--- samba-3.2.3.orig/source/modules/vfs_afsacl.c        2008-08-27 13:23:20.000000000 +0200

+++ samba-3.2.3/source/modules/vfs_afsacl.c     2008-09-26 21:15:08.956586527 +0200

@@ -22,6 +22,7 @@

 #undef DBGC_CLASS

 #define DBGC_CLASS DBGC_VFS



+#include <afs/param.h>

 #include <afs/stds.h>

 #include <afs/afs.h>

 #include <afs/auth.h>



EOF

patch -b -p0 <<'EOF'

--- source/Makefile.in.orig	Tue Aug  5 08:22:33 2008

+++ source/Makefile.in	Thu Aug  7 11:17:34 2008

@@ -74,6 +74,7 @@

 LIBTALLOC_LIBS=@LIBTALLOC_LIBS@

 LIBTDB_LIBS=@LIBTDB_LIBS@

 LIBNETAPI_LIBS=@LIBNETAPI_LIBS@

+AFS_LIBS=@AFS_LIBS@

 

 INSTALLCMD=@INSTALL@

 INSTALLLIBCMD_SH=@INSTALLLIBCMD_SH@

@@ -1337,7 +1338,7 @@

 		$(KRB5LIBS) $(DYNEXP) $(PRINT_LIBS) $(AUTH_LIBS) \

 		$(ACL_LIBS) $(PASSDB_LIBS) $(LIBS) $(DNSSD_LIBS) \

 		$(POPT_LIBS) @SMBD_LIBS@ $(LIBTALLOC_LIBS) $(LIBTDB_LIBS) \

-		$(WINBIND_LIBS)

+		$(WINBIND_LIBS) $(AFS_LIBS)

 

 bin/nmbd@EXEEXT@: $(BINARY_PREREQS) $(NMBD_OBJ) @BUILD_POPT@ @LIBTALLOC_SHARED@ @LIBTDB_SHARED@

 	@echo Linking $@

@@ -1349,7 +1350,7 @@

 	@echo Linking $@

 	@$(CC) $(FLAGS) -o $@ $(SWAT_OBJ) $(LDFLAGS) $(DYNEXP) $(PRINT_LIBS) \

 	  $(AUTH_LIBS) $(LIBS) $(PASSDB_LIBS) $(POPT_LIBS) $(KRB5LIBS) \

-	  $(LDAP_LIBS) $(LIBTALLOC_LIBS) $(LIBTDB_LIBS) $(WINBIND_LIBS)

+	  $(LDAP_LIBS) $(LIBTALLOC_LIBS) $(LIBTDB_LIBS) $(WINBIND_LIBS) $(AFS_LIBS)

 

 bin/rpcclient@EXEEXT@: $(BINARY_PREREQS) $(RPCCLIENT_OBJ) @BUILD_POPT@ @LIBTALLOC_SHARED@ @LIBTDB_SHARED@ @LIBWBCLIENT_SHARED@

 	@echo Linking $@

@@ -1369,7 +1370,7 @@

 	@echo Linking $@

 	@$(CC) $(FLAGS) -o $@ $(NET_OBJ) $(DYNEXP) $(LDFLAGS) $(LIBS) \

 		$(POPT_LIBS) $(KRB5LIBS) $(UUID_LIBS) $(LDAP_LIBS) \

-		$(PASSDB_LIBS) $(TERMLDFLAGS) $(TERMLIBS) $(NSCD_LIBS) \

+		$(PASSDB_LIBS) $(AFS_LIBS) $(TERMLDFLAGS) $(TERMLIBS) $(NSCD_LIBS) \

 		@INIPARSERLIBS@ $(LIBTALLOC_LIBS) $(LIBTDB_LIBS) $(WINBIND_LIBS) $(LIBNETAPI_LIBS)

 

 bin/profiles@EXEEXT@: $(BINARY_PREREQS) $(PROFILES_OBJ) @BUILD_POPT@ @LIBTALLOC_SHARED@ @LIBTDB_SHARED@

@@ -1767,7 +1768,7 @@

 	@echo "Linking $@"

 	@$(CC) $(FLAGS) -o $@ $(WINBINDD_OBJ) $(LDFLAGS) $(DYNEXP) $(LIBS) \

 		$(POPT_LIBS) $(KRB5LIBS) $(LDAP_LIBS) \

-		$(PASSDB_LIBS) $(LIBTALLOC_LIBS) $(LIBTDB_LIBS) $(WINBIND_LIBS)

+		$(PASSDB_LIBS) $(LIBTALLOC_LIBS) $(LIBTDB_LIBS) $(WINBIND_LIBS) $(AFS_LIBS)

 

 bin/vlp@EXEEXT@: $(BINARY_PREREQS) $(VLP_OBJ) @LIBTALLOC_SHARED@ @LIBTDB_SHARED@ @LIBWBCLIENT_SHARED@

 	@echo "Linking $@"

--- source/configure.in.orig	Sat Jun 16 12:29:54 2007

+++ source/configure.in	Sat Jun 16 13:30:55 2007

@@ -294,6 +294,7 @@

 AC_SUBST(KRB5_LIBS)

 AC_SUBST(UUID_LIBS)

 AC_SUBST(LDAP_LIBS)

+AC_SUBST(AFS_LIBS)

 AC_SUBST(PAM_MODULES)

 AC_SUBST(INSTALL_PAM_MODULES)

 AC_SUBST(UNINSTALL_PAM_MODULES)

@@ -3078,6 +3079,7 @@

 

 #################################################

 # decide whether we can support WITH_AFS and / or WITH_FAKE_KASERVER

+AFS_LIBS=""

 if test x"$samba_cv_WITH_AFS" != x"no" ||

    test x"$samba_cv_WITH_FAKE_KASERVER" != x"no"; then

 

@@ -3086,6 +3088,7 @@

     if test -d /usr/include/afs; then

           CFLAGS="$CFLAGS -I/usr/include/afs"

           CPPFLAGS="$CPPFLAGS -I/usr/include/afs"

+          AFS_LIBS="-L/usr/lib/afs -lafsauthent -lafsrpc -lpthread -lcrypto"

           AC_MSG_RESULT(yes)

     else

       AC_MSG_RESULT(no)

@@ -6199,6 +6202,7 @@

     AC_MSG_RESULT([    UUID_LIBS = $UUID_LIBS])

 fi

 AC_MSG_RESULT([    AUTH_LIBS = $AUTH_LIBS])

+AC_MSG_RESULT([    AFS_LIBS = $AFS_LIBS])

 

 #################################################

 # final configure stuff

--- source/modules/vfs_afsacl.c	Wed Jan 11 15:05:28 2006

+++ source/modules/vfs_afsacl.c	Sat Jan 14 11:19:34 2006

@@ -311,6 +311,7 @@

 

 static BOOL unparse_afs_acl(struct afs_acl *acl, char *acl_str)

 {

+	struct afs_ace *ace;

 	/* TODO: String length checks!!!! */

 

 	int positives = 0;

@@ -318,8 +319,7 @@

 	fstring line;

 

 	*acl_str = 0;

-

-	struct afs_ace *ace = acl->acelist;

+	ace = acl->acelist;

 

 	while (ace != NULL) {

 		if (ace->positive)

EOF



%build

cd source

CC=%{sambagcc} \

LDFLAGS="-Wl,-rpath,%{_prefix}/lib" \

/configure						\

	--prefix=%{_prefix}				\

	--with-privatedir=/etc/samba			\

	--with-lockdir=/var/samba/locks			\

	--with-swatdir=%{_prefix}/swat			\

	--with-configdir=/etc/samba			\

	--with-modulesdir=%{_prefix}/lib/modules	\

	--sharedstatedir=/var/samba			\

	--localstatedir=/var/samba			\

	--datarootdir=%{_prefix}			\

	--with-pam					\

	--with-fake-kaserver				\

	--with-vfs-afsacl				\

	--with-libsmbclient				\

	--with-quotas					\

	--enable-shared					\

	--enable-shared-libs

cp -p Makefile Makefile.orig

sed 's/-Wl,-Bsymbolic//' <Makefile.orig |

sed 's/^AFS_LIBS=.*/AFS_LIBS=-Wl,-rpath,\/opt\/afs\/lib -L\/opt\/afs\/lib -L\/opt\/ssl\/lib -lafsauthent -lafsrpc -luafs -lpthread -lcrypto/' >Makefile

make

cd ..



%install

[ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT

mkdir -p $RPM_BUILD_ROOT%{_prefix}

cd source

make install DESTDIR=$RPM_BUILD_ROOT

cd ..

( cd $RPM_BUILD_ROOT%{_prefix}/lib

  ln -s libtalloc.so libtalloc.so.1

  ln -s libtdb.so libtdb.so.1

  ln -s libwbclient.so libwbclient.so.0

)

install -d $RPM_BUILD_ROOT%{_docdir}

install -d $RPM_BUILD_ROOT%{_docdir}/registry

install docs/Samba*.pdf $RPM_BUILD_ROOT%{_docdir}

install docs/registry/*.reg $RPM_BUILD_ROOT%{_docdir}/registry

strip $RPM_BUILD_ROOT%{_prefix}/*bin/* || true

rm -rf $RPM_BUILD_ROOT/{etc,var}



--ELM1233493290-7118-0_

Content-Transfer-Encoding: 7bit

Content-Type: text/plain

Content-Disposition: attachment; filename="samba-3.3.0.spec"

Content-Description: 



Summary:	the Samba SMB server

Name:		samba

Group:		System Environment/Daemons

Version:	3.3.0

Release:	1

URL:		http://www.samba.org/

L



#define samba1 3.2.0

%define samba1 %{version}

#define samba2 a

%define samba2 %{?_not_exist}

%define sambagcc gcc41



Provides:	samba

Requires:	ssl afs

Source0:	ftp://us2.samba.org/pub/samba/%{name}-%{samba1}.tar.gz



%description

Samba is the protocol by which a lot of PC-related machines share

files, printers, and other information (such as lists of available

files and printers). The Windows NT, OS/2, and Linux operating systems

support this natively, and add-on packages can enable the same thing

for DOS, Windows, VMS, UNIX of all kinds, MVS, and more. This package

provides an SMB server that can be used to provide network services to

SMB (sometimes called "Lan Manager") clients. Samba uses NetBIOS over

TCP/IP (NetBT) protocols and does NOT need the NetBEUI (Microsoft Raw

NetBIOS frame) protocol.

$Id: samba.spec,v 1.73 2009/02/01 12:54:24 axel Exp $



%prep

test "$RPMX" = "3" || false need rh7

test -d /usr/include/afs ||

 false need ln -s /opt/afs/include /usr/include/afs

test -d /usr/include/openssl ||

 false need ln -s /opt/ssl/include/openssl /usr/include/openssl

%setup -q -n %{name}-%{samba1}

for P in `/home/axel/p/rpm/count.sh %{samba2}`; do

	patch -p1 <%{_sourcedir}/patch-%{samba1}`/home/axel/p/rpm/count.sh -d $P`-%{samba1}${P}.diffs

done

cp -p source/script/installswat.sh source/script/installswat.sh.orig

sed 's/BOOKDIR="\$DESTDIR\/\$SWATDIR/BOOKDIR="$DESTDIR\/$SWATDIR\/help/' \

 <source/script/installswat.sh.orig >source/script/installswat.sh

patch -b -p1 <<'EOF'

--- samba-3.2.5.orig/source/lib/afs.c	2008-12-21 20:55:53.000000000 +0100

+++ samba-3.2.5/source/lib/afs.c	2008-12-23 07:27:15.000000000 +0100

@@ -23,6 +23,7 @@

 

 #define NO_ASN1_TYPEDEFS 1

 

+#include <afs/param.h>

 #include <afs/stds.h>

 #include <afs/afs.h>

 #include <afs/auth.h>

diff -urN samba-3.2.5.orig/source/lib/afs_settoken.c samba-3.2.5/source/lib/afs_settoken.c

--- samba-3.2.5.orig/source/lib/afs_settoken.c	2008-12-21 20:55:53.000000000 +0100

+++ samba-3.2.5/source/lib/afs_settoken.c	2008-12-23 07:36:56.000000000 +0100

@@ -23,6 +23,7 @@

 

 #define NO_ASN1_TYPEDEFS 1

 

+#include <afs/param.h>

 #include <afs/stds.h>

 #include <afs/afs.h>

 #include <afs/auth.h>

@@ -37,7 +38,24 @@

 	  char * cmarg,

 	  int follow)

 {

+/*

 	return( syscall( SYS_afs_syscall, subcall, path, cmd, cmarg, follow));

+*/

+        int errcode;

+        struct afsprocdata afs_syscall_data;

+        afs_syscall_data.syscall = subcall;

+        afs_syscall_data.param1 = (long)path;

+        afs_syscall_data.param2 = cmd;

+        afs_syscall_data.param3 = (long)cmarg;

+        afs_syscall_data.param4 = follow;

+        int proc_afs_file = open(PROC_SYSCALL_FNAME, O_RDWR);

+        if (proc_afs_file < 0)

+            proc_afs_file = open(PROC_SYSCALL_ARLA_FNAME, O_RDWR);

+        if (proc_afs_file < 0)

+            return -1;

+        errcode = ioctl(proc_afs_file, VIOC_SYSCALL, &afs_syscall_data);

+        close(proc_afs_file);

+        return errcode;

 }

 

 struct ClearToken {



--- samba-3.2.3.orig/source/modules/vfs_afsacl.c        2008-08-27 13:23:20.000000000 +0200

+++ samba-3.2.3/source/modules/vfs_afsacl.c     2008-09-26 21:15:08.956586527 +0200

@@ -22,6 +22,7 @@

 #undef DBGC_CLASS

 #define DBGC_CLASS DBGC_VFS



+#include <afs/param.h>

 #include <afs/stds.h>

 #include <afs/afs.h>

 #include <afs/auth.h>



EOF

patch -b -p0 <<'EOF'

--- source/Makefile.in.orig	Tue Aug  5 08:22:33 2008

+++ source/Makefile.in	Thu Aug  7 11:17:34 2008

@@ -74,6 +74,7 @@

 LIBTALLOC_LIBS=@LIBTALLOC_LIBS@

 LIBTDB_LIBS=@LIBTDB_LIBS@

 LIBNETAPI_LIBS=@LIBNETAPI_LIBS@

+AFS_LIBS=@AFS_LIBS@

 

 INSTALLCMD=@INSTALL@

 INSTALLLIBCMD_SH=@INSTALLLIBCMD_SH@

@@ -1337,7 +1338,7 @@

 		$(KRB5LIBS) $(DYNEXP) $(PRINT_LIBS) $(AUTH_LIBS) \

 		$(ACL_LIBS) $(PASSDB_LIBS) $(LIBS) $(DNSSD_LIBS) \

 		$(POPT_LIBS) @SMBD_LIBS@ $(LIBTALLOC_LIBS) $(LIBTDB_LIBS) \

-		$(WINBIND_LIBS)

+		$(WINBIND_LIBS) $(AFS_LIBS)

 

 bin/nmbd@EXEEXT@: $(BINARY_PREREQS) $(NMBD_OBJ) @BUILD_POPT@ @LIBTALLOC_SHARED@ @LIBTDB_SHARED@

 	@echo Linking $@

@@ -1349,7 +1350,7 @@

 	@echo Linking $@

 	@$(CC) $(FLAGS) -o $@ $(SWAT_OBJ) $(LDFLAGS) $(DYNEXP) $(PRINT_LIBS) \

 	  $(AUTH_LIBS) $(LIBS) $(PASSDB_LIBS) $(POPT_LIBS) $(KRB5LIBS) \

-	  $(LDAP_LIBS) $(LIBTALLOC_LIBS) $(LIBTDB_LIBS) $(WINBIND_LIBS)

+	  $(LDAP_LIBS) $(LIBTALLOC_LIBS) $(LIBTDB_LIBS) $(WINBIND_LIBS) $(AFS_LIBS)

 

 bin/rpcclient@EXEEXT@: $(BINARY_PREREQS) $(RPCCLIENT_OBJ) @BUILD_POPT@ @LIBTALLOC_SHARED@ @LIBTDB_SHARED@ @LIBWBCLIENT_SHARED@

 	@echo Linking $@

@@ -1369,7 +1370,7 @@

 	@echo Linking $@

 	@$(CC) $(FLAGS) -o $@ $(NET_OBJ) $(DYNEXP) $(LDFLAGS) $(LIBS) \

 		$(POPT_LIBS) $(KRB5LIBS) $(UUID_LIBS) $(LDAP_LIBS) \

-		$(PASSDB_LIBS) $(TERMLDFLAGS) $(TERMLIBS) $(NSCD_LIBS) \

+		$(PASSDB_LIBS) $(AFS_LIBS) $(TERMLDFLAGS) $(TERMLIBS) $(NSCD_LIBS) \

 		@INIPARSERLIBS@ $(LIBTALLOC_LIBS) $(LIBTDB_LIBS) $(WINBIND_LIBS) $(LIBNETAPI_LIBS)

 

 bin/profiles@EXEEXT@: $(BINARY_PREREQS) $(PROFILES_OBJ) @BUILD_POPT@ @LIBTALLOC_SHARED@ @LIBTDB_SHARED@

@@ -1767,7 +1768,7 @@

 	@echo "Linking $@"

 	@$(CC) $(FLAGS) -o $@ $(WINBINDD_OBJ) $(LDFLAGS) $(DYNEXP) $(LIBS) \

 		$(POPT_LIBS) $(KRB5LIBS) $(LDAP_LIBS) \

-		$(PASSDB_LIBS) $(LIBTALLOC_LIBS) $(LIBTDB_LIBS) $(WINBIND_LIBS)

+		$(PASSDB_LIBS) $(LIBTALLOC_LIBS) $(LIBTDB_LIBS) $(WINBIND_LIBS) $(AFS_LIBS)

 

 bin/vlp@EXEEXT@: $(BINARY_PREREQS) $(VLP_OBJ) @LIBTALLOC_SHARED@ @LIBTDB_SHARED@ @LIBWBCLIENT_SHARED@

 	@echo "Linking $@"

--- source/configure.in.orig	2009-01-28 12:07:51.000000000 +0100

+++ source/configure.in	2009-01-28 12:10:56.000000000 +0100

@@ -100,6 +100,7 @@

 AC_SUBST(KRB5_LIBS)

 AC_SUBST(UUID_LIBS)

 AC_SUBST(LDAP_LIBS)

+AC_SUBST(AFS_LIBS)

 AC_SUBST(GPEXT_LIBS)

 AC_SUBST(PAM_MODULES)

 AC_SUBST(INSTALL_PAM_MODULES)

@@ -2979,6 +2980,7 @@

 

 #################################################

 # decide whether we can support WITH_AFS and / or WITH_FAKE_KASERVER

+AFS_LIBS=""

 if test x"$samba_cv_WITH_AFS" != x"no" ||

    test x"$samba_cv_WITH_FAKE_KASERVER" != x"no"; then

 

@@ -2989,6 +2991,7 @@

     if test -d /usr/include/afs; then

           CFLAGS="$CFLAGS -I/usr/include/afs"

           CPPFLAGS="$CPPFLAGS -I/usr/include/afs"

+          AFS_LIBS="-L/usr/lib/afs -lafsauthent -lafsrpc -lpthread -lcrypto"

           AC_MSG_RESULT(yes)

     else

       AC_MSG_RESULT(no)

@@ -6283,6 +6286,7 @@

     AC_MSG_RESULT([    DNSSD_LIBS = $DNSSD_LIBS])

 fi

 AC_MSG_RESULT([    AUTH_LIBS = $AUTH_LIBS])

+AC_MSG_RESULT([    AFS_LIBS = $AFS_LIBS])

 

 #################################################

 # final configure stuff

--- source/modules/vfs_afsacl.c	Wed Jan 11 15:05:28 2006

+++ source/modules/vfs_afsacl.c	Sat Jan 14 11:19:34 2006

@@ -311,6 +311,7 @@

 

 static BOOL unparse_afs_acl(struct afs_acl *acl, char *acl_str)

 {

+	struct afs_ace *ace;

 	/* TODO: String length checks!!!! */

 

 	int positives = 0;

@@ -318,8 +319,7 @@

 	fstring line;

 

 	*acl_str = 0;

-

-	struct afs_ace *ace = acl->acelist;

+	ace = acl->acelist;

 

 	while (ace != NULL) {

 		if (ace->positive)

--- source/lib/afs.c.orig	2009-01-28 09:39:02.000000000 +0100

+++ source/lib/afs.c	2009-01-28 09:40:37.000000000 +0100

@@ -230,8 +230,8 @@

 	}

 

 	afs_username = talloc_sub_advanced(ctx,

-				SNUM(conn), conn->user,

-				conn->connectpath, conn->gid,

+				SNUM(conn), conn->server_info->utok.uid,

+				conn->connectpath, conn->server_info->utok.gid,

 				conn->server_info->sanitized_username,

 				pdb_get_domain(conn->server_info->sam_account),

 				afs_username);

EOF



%build

cd source

CC=%{sambagcc} \

LDFLAGS="-Wl,-rpath,%{_prefix}/lib" \

/configure						\

	--prefix=%{_prefix}				\

	--with-privatedir=/etc/samba			\

	--with-lockdir=/var/samba/locks			\

	--with-swatdir=%{_prefix}/swat			\

	--with-configdir=/etc/samba			\

	--with-modulesdir=%{_prefix}/lib/modules	\

	--sharedstatedir=/var/samba			\

	--localstatedir=/var/samba			\

	--datarootdir=%{_prefix}			\

	--with-pam					\

	--with-fake-kaserver				\

	--with-vfs-afsacl				\

	--with-libsmbclient				\

	--with-quotas					\

	--enable-shared					\

	--enable-shared-libs

cp -p Makefile Makefile.orig

sed 's/-Wl,-Bsymbolic//' <Makefile.orig |

sed 's/^AFS_LIBS=.*/AFS_LIBS=-Wl,-rpath,\/opt\/afs\/lib -L\/opt\/afs\/lib -L\/opt\/ssl\/lib -lafsauthent -lafsrpc -luafs -lpthread -lcrypto/' >Makefile

make

cd ..



%install

[ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT

mkdir -p $RPM_BUILD_ROOT%{_prefix}

cd source

make install DESTDIR=$RPM_BUILD_ROOT

cd ..

( cd $RPM_BUILD_ROOT%{_prefix}/lib

  ln -s libtalloc.so libtalloc.so.1

  ln -s libtdb.so libtdb.so.1

  ln -s libwbclient.so libwbclient.so.0

)

install -d $RPM_BUILD_ROOT%{_docdir}

install -d $RPM_BUILD_ROOT%{_docdir}/registry

install docs/Samba*.pdf $RPM_BUILD_ROOT%{_docdir}

install docs/registry/*.reg $RPM_BUILD_ROOT%{_docdir}/registry

strip $RPM_BUILD_ROOT%{_prefix}/*bin/* || true

rm -rf $RPM_BUILD_ROOT/{etc,var}



--ELM1233493290-7118-0_--



--ELM1233493290-7118-0_--