mirror of
https://github.com/samba-team/samba.git
synced 2025-01-12 09:18:10 +03:00
Fix bug 6136: New AFS syscall conventions
Haven't checked this myself, but as I've already got several reports that Samba won't compile against current OpenAFS anymore, I just believe Geza Gemes. This patch only affects AFS code, so it should not hurt anything else. Volker
This commit is contained in:
parent
2467ae1b6a
commit
5c2404fb86
@ -2868,11 +2868,12 @@ AC_ARG_WITH(fake-kaserver,
|
||||
if test x"$samba_cv_WITH_AFS" != x"no" ||
|
||||
test x"$samba_cv_WITH_FAKE_KASERVER" != x"no"; then
|
||||
|
||||
# see if this box has the OpenSSL DES libraries
|
||||
AC_CHECK_LIB( crypto, DES_pcbc_encrypt, LIBS="$LIBS -lcrypto" , [AC_ERROR(OpenSSL library: libcrypto ot found!)] )
|
||||
|
||||
# see if this box has the afs-headers in /usr/include/afs
|
||||
AC_MSG_CHECKING(for /usr/include/afs)
|
||||
if test -d /usr/include/afs; then
|
||||
CFLAGS="$CFLAGS -I/usr/include/afs"
|
||||
CPPFLAGS="$CPPFLAGS -I/usr/include/afs"
|
||||
AC_MSG_RESULT(yes)
|
||||
else
|
||||
AC_MSG_RESULT(no)
|
||||
|
@ -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>
|
||||
@ -230,8 +231,8 @@ bool afs_login(connection_struct *conn)
|
||||
}
|
||||
|
||||
afs_username = talloc_sub_advanced(ctx,
|
||||
SNUM(conn), conn->user,
|
||||
conn->connectpath, conn->gid,
|
||||
SNUM(conn), conn->server_info->unix_name,
|
||||
conn->connectpath, conn->server_info->utok.gid,
|
||||
conn->server_info->sanitized_username,
|
||||
pdb_get_domain(conn->server_info->sam_account),
|
||||
afs_username);
|
||||
|
@ -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 @@ int afs_syscall( int subcall,
|
||||
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 {
|
||||
|
Loading…
Reference in New Issue
Block a user