Upgrade to 3.0.25b, this release contains a number of necessary fixes over
the 3.0.25a release.
This commit is contained in:
parent
0bcde84649
commit
99b92beb72
@ -1,2 +1 @@
|
||||
samba-3.0.25.tar.gz
|
||||
samba-3.0.25a.tar.gz
|
||||
samba-3.0.25b.tar.gz
|
||||
|
@ -1,10 +0,0 @@
|
||||
--- samba-2.0.0/source/smbwrapper/smbsh.in.orig Mon Oct 5 22:37:01 1998
|
||||
+++ samba-2.0.0/source/smbwrapper/smbsh.in Mon Oct 5 22:37:51 1998
|
||||
@@ -1,6 +1,6 @@
|
||||
#! /bin/sh
|
||||
|
||||
-SMBW_LIBDIR=${SMBW_LIBDIR-@builddir@/smbwrapper}
|
||||
+SMBW_LIBDIR=${SMBW_LIBDIR-/usr/bin}
|
||||
|
||||
if [ ! -f ${SMBW_LIBDIR}/smbwrapper.so ]; then
|
||||
echo You need to set LIBDIR in smbsh
|
@ -1,11 +0,0 @@
|
||||
--- samba-3.0.15pre2/source/client/#client.c~ 2005-05-23 11:51:14.000000000 -0400
|
||||
+++ samba-3.0.15pre2/source/client/client.c 2005-05-23 11:52:21.000000000 -0400
|
||||
@@ -3502,7 +3502,7 @@
|
||||
}
|
||||
}
|
||||
|
||||
- if (poptPeekArg(pc) && !cmdline_auth_info.got_pass) {
|
||||
+ if (poptPeekArg(pc) ) {
|
||||
cmdline_auth_info.got_pass = True;
|
||||
pstrcpy(cmdline_auth_info.password,poptGetArg(pc));
|
||||
}
|
@ -1,777 +0,0 @@
|
||||
diff -uBbrN --exclude-from=/misc/src/samba-cvs/diff.excludes samba-3.0.20-orig/examples/VFS/skel_opaque.c samba-3.0.20-new/examples/VFS/skel_opaque.c
|
||||
--- samba-3.0.20-orig/examples/VFS/skel_opaque.c 2005-07-28 08:19:54.000000000 -0500
|
||||
+++ samba-3.0.20-new/examples/VFS/skel_opaque.c 2005-08-26 09:42:08.000000000 -0500
|
||||
@@ -71,27 +71,27 @@
|
||||
return vfswrap_get_shadow_copy_data(NULL, fsp, shadow_copy_data, labels);
|
||||
}
|
||||
|
||||
-static DIR *skel_opendir(vfs_handle_struct *handle, connection_struct *conn, const char *fname, const char *mask, uint32 attr)
|
||||
+static SMB_STRUCT_DIR *skel_opendir(vfs_handle_struct *handle, connection_struct *conn, const char *fname, const char *mask, uint32 attr)
|
||||
{
|
||||
return vfswrap_opendir(NULL, conn, fname, mask, attr);
|
||||
}
|
||||
|
||||
-static SMB_STRUCT_DIRENT *skel_readdir(vfs_handle_struct *handle, connection_struct *conn, DIR *dirp)
|
||||
+static SMB_STRUCT_DIRENT *skel_readdir(vfs_handle_struct *handle, connection_struct *conn, SMB_STRUCT_DIR *dirp)
|
||||
{
|
||||
return vfswrap_readdir(NULL, conn, dirp);
|
||||
}
|
||||
|
||||
-static void skel_seekdir(vfs_handle_struct *handle, connection_struct *conn, DIR *dirp, long offset)
|
||||
+static void skel_seekdir(vfs_handle_struct *handle, connection_struct *conn, SMB_STRUCT_DIR *dirp, long offset)
|
||||
{
|
||||
return vfswrap_seekdir(NULL, conn, dirp, offset);
|
||||
}
|
||||
|
||||
-static long skel_telldir(vfs_handle_struct *handle, connection_struct *conn, DIR *dirp)
|
||||
+static long skel_telldir(vfs_handle_struct *handle, connection_struct *conn, SMB_STRUCT_DIR *dirp)
|
||||
{
|
||||
return vfswrap_telldir(NULL, conn, dirp);
|
||||
}
|
||||
|
||||
-static void skel_rewinddir(vfs_handle_struct *handle, connection_struct *conn, DIR *dirp)
|
||||
+static void skel_rewinddir(vfs_handle_struct *handle, connection_struct *conn, SMB_STRUCT_DIR *dirp)
|
||||
{
|
||||
return vfswrap_rewinddir(NULL, conn, dirp);
|
||||
}
|
||||
@@ -106,7 +106,7 @@
|
||||
return vfswrap_rmdir(NULL, conn, path);
|
||||
}
|
||||
|
||||
-static int skel_closedir(vfs_handle_struct *handle, connection_struct *conn, DIR *dir)
|
||||
+static int skel_closedir(vfs_handle_struct *handle, connection_struct *conn, SMB_STRUCT_DIR *dir)
|
||||
{
|
||||
return vfswrap_closedir(NULL, conn, dir);
|
||||
}
|
||||
diff -uBbrN --exclude-from=/misc/src/samba-cvs/diff.excludes samba-3.0.20-orig/examples/VFS/skel_transparent.c samba-3.0.20-new/examples/VFS/skel_transparent.c
|
||||
--- samba-3.0.20-orig/examples/VFS/skel_transparent.c 2005-07-28 08:19:54.000000000 -0500
|
||||
+++ samba-3.0.20-new/examples/VFS/skel_transparent.c 2005-08-26 09:42:08.000000000 -0500
|
||||
@@ -70,27 +70,27 @@
|
||||
return SMB_VFS_NEXT_GET_SHADOW_COPY_DATA(handle, fsp, shadow_copy_data, labels);
|
||||
}
|
||||
|
||||
-static DIR *skel_opendir(vfs_handle_struct *handle, connection_struct *conn, const char *fname, const char *mask, uint32 attr)
|
||||
+static SMB_STRUCT_DIR *skel_opendir(vfs_handle_struct *handle, connection_struct *conn, const char *fname, const char *mask, uint32 attr)
|
||||
{
|
||||
return SMB_VFS_NEXT_OPENDIR(handle, conn, fname, mask, attr);
|
||||
}
|
||||
|
||||
-static SMB_STRUCT_DIRENT *skel_readdir(vfs_handle_struct *handle, connection_struct *conn, DIR *dirp)
|
||||
+static SMB_STRUCT_DIRENT *skel_readdir(vfs_handle_struct *handle, connection_struct *conn, SMB_STRUCT_DIR *dirp)
|
||||
{
|
||||
return SMB_VFS_NEXT_READDIR(handle, conn, dirp);
|
||||
}
|
||||
|
||||
-static void skel_seekdir(vfs_handle_struct *handle, connection_struct *conn, DIR *dirp, long offset)
|
||||
+static void skel_seekdir(vfs_handle_struct *handle, connection_struct *conn, SMB_STRUCT_DIR *dirp, long offset)
|
||||
{
|
||||
return SMB_VFS_NEXT_SEEKDIR(handle, conn, dirp, offset);
|
||||
}
|
||||
|
||||
-static long skel_telldir(vfs_handle_struct *handle, connection_struct *conn, DIR *dirp)
|
||||
+static long skel_telldir(vfs_handle_struct *handle, connection_struct *conn, SMB_STRUCT_DIR *dirp)
|
||||
{
|
||||
return SMB_VFS_NEXT_TELLDIR(handle, conn, dirp);
|
||||
}
|
||||
|
||||
-static void skel_rewinddir(vfs_handle_struct *handle, connection_struct *conn, DIR *dirp)
|
||||
+static void skel_rewinddir(vfs_handle_struct *handle, connection_struct *conn, SMB_STRUCT_DIR *dirp)
|
||||
{
|
||||
return SMB_VFS_NEXT_REWINDDIR(handle, conn, dirp);
|
||||
}
|
||||
@@ -105,7 +105,7 @@
|
||||
return SMB_VFS_NEXT_RMDIR(handle, conn, path);
|
||||
}
|
||||
|
||||
-static int skel_closedir(vfs_handle_struct *handle, connection_struct *conn, DIR *dir)
|
||||
+static int skel_closedir(vfs_handle_struct *handle, connection_struct *conn, SMB_STRUCT_DIR *dir)
|
||||
{
|
||||
return SMB_VFS_NEXT_CLOSEDIR(handle, conn, dir);
|
||||
}
|
||||
diff -uBbrN --exclude-from=/misc/src/samba-cvs/diff.excludes samba-3.0.20-orig/source/client/client.c samba-3.0.20-new/source/client/client.c
|
||||
--- samba-3.0.20-orig/source/client/client.c 2005-07-28 08:19:53.000000000 -0500
|
||||
+++ samba-3.0.20-new/source/client/client.c 2005-08-26 09:42:08.000000000 -0500
|
||||
@@ -1379,7 +1379,7 @@
|
||||
static int file_find(struct file_list **list, const char *directory,
|
||||
const char *expression, BOOL match)
|
||||
{
|
||||
- DIR *dir;
|
||||
+ SMB_STRUCT_DIR *dir;
|
||||
struct file_list *entry;
|
||||
struct stat statbuf;
|
||||
int ret;
|
||||
@@ -1387,7 +1387,7 @@
|
||||
BOOL isdir;
|
||||
const char *dname;
|
||||
|
||||
- dir = opendir(directory);
|
||||
+ dir = sys_opendir(directory);
|
||||
if (!dir)
|
||||
return -1;
|
||||
|
||||
@@ -1416,14 +1416,14 @@
|
||||
|
||||
if (ret == -1) {
|
||||
SAFE_FREE(path);
|
||||
- closedir(dir);
|
||||
+ sys_closedir(dir);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
entry = SMB_MALLOC_P(struct file_list);
|
||||
if (!entry) {
|
||||
d_printf("Out of memory in file_find\n");
|
||||
- closedir(dir);
|
||||
+ sys_closedir(dir);
|
||||
return -1;
|
||||
}
|
||||
entry->file_path = path;
|
||||
@@ -1434,7 +1434,7 @@
|
||||
}
|
||||
}
|
||||
|
||||
- closedir(dir);
|
||||
+ sys_closedir(dir);
|
||||
return 0;
|
||||
}
|
||||
|
||||
diff -uBbrN --exclude-from=/misc/src/samba-cvs/diff.excludes samba-3.0.20-orig/source/client/smbspool.c samba-3.0.20-new/source/client/smbspool.c
|
||||
--- samba-3.0.20-orig/source/client/smbspool.c 2005-07-28 08:19:53.000000000 -0500
|
||||
+++ samba-3.0.20-new/source/client/smbspool.c 2005-08-26 09:42:08.000000000 -0500
|
||||
@@ -288,7 +288,7 @@
|
||||
static
|
||||
char * get_ticket_cache( uid_t uid )
|
||||
{
|
||||
- DIR *tcdir; /* directory where ticket caches are stored */
|
||||
+ SMB_STRUCT_DIR *tcdir; /* directory where ticket caches are stored */
|
||||
SMB_STRUCT_DIRENT *dirent; /* directory entry */
|
||||
char *filename = NULL; /* holds file names on the tmp directory */
|
||||
SMB_STRUCT_STAT buf;
|
||||
@@ -298,7 +298,7 @@
|
||||
time_t t = 0;
|
||||
|
||||
snprintf(user_cache_prefix, CC_MAX_FILE_LEN, "%s%d", CC_PREFIX, uid );
|
||||
- tcdir = opendir( TICKET_CC_DIR );
|
||||
+ tcdir = sys_opendir( TICKET_CC_DIR );
|
||||
if ( tcdir == NULL )
|
||||
return NULL;
|
||||
|
||||
@@ -331,6 +331,8 @@
|
||||
}
|
||||
}
|
||||
|
||||
+ sys_closedir(tcdir);
|
||||
+
|
||||
if ( ticket_file == NULL )
|
||||
{
|
||||
/* no ticket cache found */
|
||||
diff -uBbrN --exclude-from=/misc/src/samba-cvs/diff.excludes samba-3.0.20-orig/source/configure.in samba-3.0.20-new/source/configure.in
|
||||
--- samba-3.0.20-orig/source/configure.in 2005-08-19 12:16:29.000000000 -0500
|
||||
+++ samba-3.0.20-new/source/configure.in 2005-08-26 09:42:08.000000000 -0500
|
||||
@@ -1089,8 +1089,9 @@
|
||||
AC_CHECK_FUNCS(strftime sigprocmask sigblock sigaction sigset innetgr setnetgrent getnetgrent endnetgrent)
|
||||
AC_CHECK_FUNCS(initgroups select poll rdchk getgrnam getgrent pathconf realpath)
|
||||
AC_CHECK_FUNCS(setpriv setgidx setuidx setgroups sysconf mktime rename ftruncate chsize stat64 fstat64)
|
||||
-AC_CHECK_FUNCS(lstat64 fopen64 atexit grantpt dup2 lseek64 ftruncate64 readdir64)
|
||||
+AC_CHECK_FUNCS(lstat64 fopen64 atexit grantpt dup2 lseek64 ftruncate64)
|
||||
AC_CHECK_FUNCS(fseek64 fseeko64 ftell64 ftello64 setluid getpwanam setlinebuf)
|
||||
+AC_CHECK_FUNCS(opendir64 readdir64 seekdir64 telldir64 rewinddir64 closedir64)
|
||||
AC_CHECK_FUNCS(srandom random srand rand setenv usleep strcasecmp fcvt fcvtl symlink readlink)
|
||||
AC_CHECK_FUNCS(syslog vsyslog timegm)
|
||||
AC_CHECK_FUNCS(setlocale nl_langinfo)
|
||||
@@ -1594,6 +1595,19 @@
|
||||
AC_DEFINE(HAVE_DEV64_T,1,[Whether the 'dev64_t' type is available])
|
||||
fi
|
||||
|
||||
+AC_CACHE_CHECK([for struct dirent64],samba_cv_HAVE_STRUCT_DIR64,[
|
||||
+AC_TRY_COMPILE([
|
||||
+#if defined(HAVE_UNISTD_H)
|
||||
+#include <unistd.h>
|
||||
+#endif
|
||||
+#include <sys/types.h>
|
||||
+#include <dirent.h>],
|
||||
+[DIR64 de;],
|
||||
+samba_cv_HAVE_STRUCT_DIR64=yes,samba_cv_HAVE_STRUCT_DIR64=no)])
|
||||
+if test x"$samba_cv_HAVE_STRUCT_DIR64" = x"yes" && test x"$ac_cv_func_readdir64" = x"yes"; then
|
||||
+ AC_DEFINE(HAVE_STRUCT_DIR64,1,[Whether the 'DIR64' abstract data type is available])
|
||||
+fi
|
||||
+
|
||||
AC_CACHE_CHECK([for struct dirent64],samba_cv_HAVE_STRUCT_DIRENT64,[
|
||||
AC_TRY_COMPILE([
|
||||
#if defined(HAVE_UNISTD_H)
|
||||
diff -uBbrN --exclude-from=/misc/src/samba-cvs/diff.excludes samba-3.0.20-orig/source/include/includes.h samba-3.0.20-new/source/include/includes.h
|
||||
--- samba-3.0.20-orig/source/include/includes.h 2005-07-28 08:19:49.000000000 -0500
|
||||
+++ samba-3.0.20-new/source/include/includes.h 2005-08-26 09:42:08.000000000 -0500
|
||||
@@ -744,6 +744,18 @@
|
||||
#endif
|
||||
|
||||
/*
|
||||
+ * Type for DIR structure.
|
||||
+ */
|
||||
+
|
||||
+#ifndef SMB_STRUCT_DIR
|
||||
+# if defined(HAVE_EXPLICIT_LARGEFILE_SUPPORT) && defined(HAVE_STRUCT_DIR64)
|
||||
+# define SMB_STRUCT_DIR DIR64
|
||||
+# else
|
||||
+# define SMB_STRUCT_DIR DIR
|
||||
+# endif
|
||||
+#endif
|
||||
+
|
||||
+/*
|
||||
* Defines for 64 bit fcntl locks.
|
||||
*/
|
||||
|
||||
diff -uBbrN --exclude-from=/misc/src/samba-cvs/diff.excludes samba-3.0.20-orig/source/include/vfs.h samba-3.0.20-new/source/include/vfs.h
|
||||
--- samba-3.0.20-orig/source/include/vfs.h 2005-08-07 18:09:56.000000000 -0500
|
||||
+++ samba-3.0.20-new/source/include/vfs.h 2005-08-26 09:42:08.000000000 -0500
|
||||
@@ -59,7 +59,8 @@
|
||||
/* Changed to version 12 to add mask and attributes to opendir(). JRA
|
||||
Also include aio calls. JRA. */
|
||||
/* Changed to version 13 as the internal structure of files_struct has changed. JRA */
|
||||
-#define SMB_VFS_INTERFACE_VERSION 13
|
||||
+/* Changed to version 14 as the we had to change DIR to SMB_STRUCT_DIR. JRA */
|
||||
+#define SMB_VFS_INTERFACE_VERSION 14
|
||||
|
||||
|
||||
/* to bug old modules which are trying to compile with the old functions */
|
||||
@@ -224,14 +225,14 @@
|
||||
|
||||
/* Directory operations */
|
||||
|
||||
- DIR *(*opendir)(struct vfs_handle_struct *handle, struct connection_struct *conn, const char *fname, const char *mask, uint32 attributes);
|
||||
- SMB_STRUCT_DIRENT *(*readdir)(struct vfs_handle_struct *handle, struct connection_struct *conn, DIR *dirp);
|
||||
- void (*seekdir)(struct vfs_handle_struct *handle, struct connection_struct *conn, DIR *dirp, long offset);
|
||||
- long (*telldir)(struct vfs_handle_struct *handle, struct connection_struct *conn, DIR *dirp);
|
||||
- void (*rewind_dir)(struct vfs_handle_struct *handle, struct connection_struct *conn, DIR *dirp);
|
||||
+ SMB_STRUCT_DIR *(*opendir)(struct vfs_handle_struct *handle, struct connection_struct *conn, const char *fname, const char *mask, uint32 attributes);
|
||||
+ SMB_STRUCT_DIRENT *(*readdir)(struct vfs_handle_struct *handle, struct connection_struct *conn, SMB_STRUCT_DIR *dirp);
|
||||
+ void (*seekdir)(struct vfs_handle_struct *handle, struct connection_struct *conn, SMB_STRUCT_DIR *dirp, long offset);
|
||||
+ long (*telldir)(struct vfs_handle_struct *handle, struct connection_struct *conn, SMB_STRUCT_DIR *dirp);
|
||||
+ void (*rewind_dir)(struct vfs_handle_struct *handle, struct connection_struct *conn, SMB_STRUCT_DIR *dirp);
|
||||
int (*mkdir)(struct vfs_handle_struct *handle, struct connection_struct *conn, const char *path, mode_t mode);
|
||||
int (*rmdir)(struct vfs_handle_struct *handle, struct connection_struct *conn, const char *path);
|
||||
- int (*closedir)(struct vfs_handle_struct *handle, struct connection_struct *conn, DIR *dir);
|
||||
+ int (*closedir)(struct vfs_handle_struct *handle, struct connection_struct *conn, SMB_STRUCT_DIR *dir);
|
||||
|
||||
/* File operations */
|
||||
|
||||
diff -uBbrN --exclude-from=/misc/src/samba-cvs/diff.excludes samba-3.0.20-orig/source/lib/system.c samba-3.0.20-new/source/lib/system.c
|
||||
--- samba-3.0.20-orig/source/lib/system.c 2005-07-28 08:19:45.000000000 -0500
|
||||
+++ samba-3.0.20-new/source/lib/system.c 2005-08-26 09:42:08.000000000 -0500
|
||||
@@ -366,7 +366,7 @@
|
||||
An opendir wrapper that will deal with 64 bit filesizes.
|
||||
********************************************************************/
|
||||
|
||||
-DIR *sys_opendir(const char *name)
|
||||
+SMB_STRUCT_DIR *sys_opendir(const char *name)
|
||||
{
|
||||
#if defined(HAVE_EXPLICIT_LARGEFILE_SUPPORT) && defined(HAVE_OPENDIR64)
|
||||
return opendir64(name);
|
||||
@@ -379,7 +379,7 @@
|
||||
A readdir wrapper that will deal with 64 bit filesizes.
|
||||
********************************************************************/
|
||||
|
||||
-SMB_STRUCT_DIRENT *sys_readdir(DIR *dirp)
|
||||
+SMB_STRUCT_DIRENT *sys_readdir(SMB_STRUCT_DIR *dirp)
|
||||
{
|
||||
#if defined(HAVE_EXPLICIT_LARGEFILE_SUPPORT) && defined(HAVE_READDIR64)
|
||||
return readdir64(dirp);
|
||||
@@ -392,7 +392,7 @@
|
||||
A seekdir wrapper that will deal with 64 bit filesizes.
|
||||
********************************************************************/
|
||||
|
||||
-void sys_seekdir(DIR *dirp, long offset)
|
||||
+void sys_seekdir(SMB_STRUCT_DIR *dirp, long offset)
|
||||
{
|
||||
#if defined(HAVE_EXPLICIT_LARGEFILE_SUPPORT) && defined(HAVE_SEEKDIR64)
|
||||
seekdir64(dirp, offset);
|
||||
@@ -405,7 +405,7 @@
|
||||
A telldir wrapper that will deal with 64 bit filesizes.
|
||||
********************************************************************/
|
||||
|
||||
-long sys_telldir(DIR *dirp)
|
||||
+long sys_telldir(SMB_STRUCT_DIR *dirp)
|
||||
{
|
||||
#if defined(HAVE_EXPLICIT_LARGEFILE_SUPPORT) && defined(HAVE_TELLDIR64)
|
||||
return (long)telldir64(dirp);
|
||||
@@ -418,7 +418,7 @@
|
||||
A rewinddir wrapper that will deal with 64 bit filesizes.
|
||||
********************************************************************/
|
||||
|
||||
-void sys_rewinddir(DIR *dirp)
|
||||
+void sys_rewinddir(SMB_STRUCT_DIR *dirp)
|
||||
{
|
||||
#if defined(HAVE_EXPLICIT_LARGEFILE_SUPPORT) && defined(HAVE_REWINDDIR64)
|
||||
rewinddir64(dirp);
|
||||
@@ -431,7 +431,7 @@
|
||||
A close wrapper that will deal with 64 bit filesizes.
|
||||
********************************************************************/
|
||||
|
||||
-int sys_closedir(DIR *dirp)
|
||||
+int sys_closedir(SMB_STRUCT_DIR *dirp)
|
||||
{
|
||||
#if defined(HAVE_EXPLICIT_LARGEFILE_SUPPORT) && defined(HAVE_CLOSEDIR64)
|
||||
return closedir64(dirp);
|
||||
@@ -960,7 +960,7 @@
|
||||
Wide opendir. Just narrow and call sys_xxx.
|
||||
****************************************************************************/
|
||||
|
||||
-DIR *wsys_opendir(const smb_ucs2_t *wfname)
|
||||
+SMB_STRUCT_DIR *wsys_opendir(const smb_ucs2_t *wfname)
|
||||
{
|
||||
pstring fname;
|
||||
return opendir(unicode_to_unix(fname,wfname,sizeof(fname)));
|
||||
@@ -970,7 +970,7 @@
|
||||
Wide readdir. Return a structure pointer containing a wide filename.
|
||||
****************************************************************************/
|
||||
|
||||
-SMB_STRUCT_WDIRENT *wsys_readdir(DIR *dirp)
|
||||
+SMB_STRUCT_WDIRENT *wsys_readdir(SMB_STRUCT_DIR *dirp)
|
||||
{
|
||||
static SMB_STRUCT_WDIRENT retval;
|
||||
SMB_STRUCT_DIRENT *dirval = sys_readdir(dirp);
|
||||
diff -uBbrN --exclude-from=/misc/src/samba-cvs/diff.excludes samba-3.0.20-orig/source/modules/vfs_audit.c samba-3.0.20-new/source/modules/vfs_audit.c
|
||||
--- samba-3.0.20-orig/source/modules/vfs_audit.c 2005-07-28 08:19:46.000000000 -0500
|
||||
+++ samba-3.0.20-new/source/modules/vfs_audit.c 2005-08-26 09:42:08.000000000 -0500
|
||||
@@ -31,7 +31,7 @@
|
||||
|
||||
static int audit_connect(vfs_handle_struct *handle, connection_struct *conn, const char *svc, const char *user);
|
||||
static void audit_disconnect(vfs_handle_struct *handle, connection_struct *conn);
|
||||
-static DIR *audit_opendir(vfs_handle_struct *handle, connection_struct *conn, const char *fname, const char *mask, uint32 attr);
|
||||
+static SMB_STRUCT_DIR *audit_opendir(vfs_handle_struct *handle, connection_struct *conn, const char *fname, const char *mask, uint32 attr);
|
||||
static int audit_mkdir(vfs_handle_struct *handle, connection_struct *conn, const char *path, mode_t mode);
|
||||
static int audit_rmdir(vfs_handle_struct *handle, connection_struct *conn, const char *path);
|
||||
static int audit_open(vfs_handle_struct *handle, connection_struct *conn, const char *fname, int flags, mode_t mode);
|
||||
@@ -119,9 +119,9 @@
|
||||
return;
|
||||
}
|
||||
|
||||
-static DIR *audit_opendir(vfs_handle_struct *handle, connection_struct *conn, const char *fname, const char *mask, uint32 attr)
|
||||
+static SMB_STRUCT_DIR *audit_opendir(vfs_handle_struct *handle, connection_struct *conn, const char *fname, const char *mask, uint32 attr)
|
||||
{
|
||||
- DIR *result;
|
||||
+ SMB_STRUCT_DIR *result;
|
||||
|
||||
result = SMB_VFS_NEXT_OPENDIR(handle, conn, fname, mask, attr);
|
||||
|
||||
diff -uBbrN --exclude-from=/misc/src/samba-cvs/diff.excludes samba-3.0.20-orig/source/modules/vfs_cap.c samba-3.0.20-new/source/modules/vfs_cap.c
|
||||
--- samba-3.0.20-orig/source/modules/vfs_cap.c 2005-07-28 08:19:46.000000000 -0500
|
||||
+++ samba-3.0.20-new/source/modules/vfs_cap.c 2005-08-26 09:42:08.000000000 -0500
|
||||
@@ -38,14 +38,14 @@
|
||||
dfree, dsize);
|
||||
}
|
||||
|
||||
-static DIR *cap_opendir(vfs_handle_struct *handle, connection_struct *conn, const char *fname, const char *mask, uint32 attr)
|
||||
+static SMB_STRUCT_DIR *cap_opendir(vfs_handle_struct *handle, connection_struct *conn, const char *fname, const char *mask, uint32 attr)
|
||||
{
|
||||
pstring capname;
|
||||
capencode(capname, fname);
|
||||
return SMB_VFS_NEXT_OPENDIR(handle, conn, capname, mask, attr);
|
||||
}
|
||||
|
||||
-static SMB_STRUCT_DIRENT *cap_readdir(vfs_handle_struct *handle, connection_struct *conn, DIR *dirp)
|
||||
+static SMB_STRUCT_DIRENT *cap_readdir(vfs_handle_struct *handle, connection_struct *conn, SMB_STRUCT_DIR *dirp)
|
||||
{
|
||||
SMB_STRUCT_DIRENT *result;
|
||||
DEBUG(3,("cap: cap_readdir\n"));
|
||||
diff -uBbrN --exclude-from=/misc/src/samba-cvs/diff.excludes samba-3.0.20-orig/source/modules/vfs_catia.c samba-3.0.20-new/source/modules/vfs_catia.c
|
||||
--- samba-3.0.20-orig/source/modules/vfs_catia.c 2005-07-28 08:19:45.000000000 -0500
|
||||
+++ samba-3.0.20-new/source/modules/vfs_catia.c 2005-08-26 09:42:08.000000000 -0500
|
||||
@@ -71,7 +71,7 @@
|
||||
catia_string_replace(s, '\xb1', ' ');
|
||||
}
|
||||
|
||||
-static DIR *catia_opendir(vfs_handle_struct *handle, connection_struct
|
||||
+static SMB_STRUCT_DIR *catia_opendir(vfs_handle_struct *handle, connection_struct
|
||||
*conn, const char *fname, const char *mask, uint32 attr)
|
||||
{
|
||||
pstring name;
|
||||
@@ -82,7 +82,7 @@
|
||||
}
|
||||
|
||||
static SMB_STRUCT_DIRENT *catia_readdir(vfs_handle_struct *handle,
|
||||
- connection_struct *conn, DIR *dirp)
|
||||
+ connection_struct *conn, SMB_STRUCT_DIR *dirp)
|
||||
{
|
||||
SMB_STRUCT_DIRENT *result = SMB_VFS_NEXT_READDIR(handle, conn, dirp);
|
||||
|
||||
diff -uBbrN --exclude-from=/misc/src/samba-cvs/diff.excludes samba-3.0.20-orig/source/modules/vfs_extd_audit.c samba-3.0.20-new/source/modules/vfs_extd_audit.c
|
||||
--- samba-3.0.20-orig/source/modules/vfs_extd_audit.c 2005-07-28 08:19:46.000000000 -0500
|
||||
+++ samba-3.0.20-new/source/modules/vfs_extd_audit.c 2005-08-26 09:42:08.000000000 -0500
|
||||
@@ -34,7 +34,7 @@
|
||||
|
||||
static int audit_connect(vfs_handle_struct *handle, connection_struct *conn, const char *svc, const char *user);
|
||||
static void audit_disconnect(vfs_handle_struct *handle, connection_struct *conn);
|
||||
-static DIR *audit_opendir(vfs_handle_struct *handle, connection_struct *conn, const char *fname, const char *mask, uint32 attr);
|
||||
+static SMB_STRUCT_DIR *audit_opendir(vfs_handle_struct *handle, connection_struct *conn, const char *fname, const char *mask, uint32 attr);
|
||||
static int audit_mkdir(vfs_handle_struct *handle, connection_struct *conn, const char *path, mode_t mode);
|
||||
static int audit_rmdir(vfs_handle_struct *handle, connection_struct *conn, const char *path);
|
||||
static int audit_open(vfs_handle_struct *handle, connection_struct *conn, const char *fname, int flags, mode_t mode);
|
||||
@@ -125,9 +125,9 @@
|
||||
return;
|
||||
}
|
||||
|
||||
-static DIR *audit_opendir(vfs_handle_struct *handle, connection_struct *conn, const char *fname, const char *mask, uint32 attr)
|
||||
+static SMB_STRUCT_DIR *audit_opendir(vfs_handle_struct *handle, connection_struct *conn, const char *fname, const char *mask, uint32 attr)
|
||||
{
|
||||
- DIR *result;
|
||||
+ SMB_STRUCT_DIR *result;
|
||||
|
||||
result = SMB_VFS_NEXT_OPENDIR(handle, conn, fname, mask, attr);
|
||||
|
||||
diff -uBbrN --exclude-from=/misc/src/samba-cvs/diff.excludes samba-3.0.20-orig/source/modules/vfs_full_audit.c samba-3.0.20-new/source/modules/vfs_full_audit.c
|
||||
--- samba-3.0.20-orig/source/modules/vfs_full_audit.c 2005-07-28 08:19:45.000000000 -0500
|
||||
+++ samba-3.0.20-new/source/modules/vfs_full_audit.c 2005-08-26 09:42:08.000000000 -0500
|
||||
@@ -86,22 +86,22 @@
|
||||
struct files_struct *fsp,
|
||||
SHADOW_COPY_DATA *shadow_copy_data, BOOL labels);
|
||||
|
||||
-static DIR *smb_full_audit_opendir(vfs_handle_struct *handle, connection_struct *conn,
|
||||
+static SMB_STRUCT_DIR *smb_full_audit_opendir(vfs_handle_struct *handle, connection_struct *conn,
|
||||
const char *fname, const char *mask, uint32 attr);
|
||||
static SMB_STRUCT_DIRENT *smb_full_audit_readdir(vfs_handle_struct *handle,
|
||||
- connection_struct *conn, DIR *dirp);
|
||||
+ connection_struct *conn, SMB_STRUCT_DIR *dirp);
|
||||
static void smb_full_audit_seekdir(vfs_handle_struct *handle, connection_struct *conn,
|
||||
- DIR *dirp, long offset);
|
||||
+ SMB_STRUCT_DIR *dirp, long offset);
|
||||
static long smb_full_audit_telldir(vfs_handle_struct *handle, connection_struct *conn,
|
||||
- DIR *dirp);
|
||||
+ SMB_STRUCT_DIR *dirp);
|
||||
static void smb_full_audit_rewinddir(vfs_handle_struct *handle, connection_struct *conn,
|
||||
- DIR *dirp);
|
||||
+ SMB_STRUCT_DIR *dirp);
|
||||
static int smb_full_audit_mkdir(vfs_handle_struct *handle, connection_struct *conn,
|
||||
const char *path, mode_t mode);
|
||||
static int smb_full_audit_rmdir(vfs_handle_struct *handle, connection_struct *conn,
|
||||
const char *path);
|
||||
static int smb_full_audit_closedir(vfs_handle_struct *handle, connection_struct *conn,
|
||||
- DIR *dirp);
|
||||
+ SMB_STRUCT_DIR *dirp);
|
||||
static int smb_full_audit_open(vfs_handle_struct *handle, connection_struct *conn,
|
||||
const char *fname, int flags, mode_t mode);
|
||||
static int smb_full_audit_close(vfs_handle_struct *handle, files_struct *fsp, int fd);
|
||||
@@ -845,10 +845,10 @@
|
||||
return result;
|
||||
}
|
||||
|
||||
-static DIR *smb_full_audit_opendir(vfs_handle_struct *handle, connection_struct *conn,
|
||||
+static SMB_STRUCT_DIR *smb_full_audit_opendir(vfs_handle_struct *handle, connection_struct *conn,
|
||||
const char *fname, const char *mask, uint32 attr)
|
||||
{
|
||||
- DIR *result;
|
||||
+ SMB_STRUCT_DIR *result;
|
||||
|
||||
result = SMB_VFS_NEXT_OPENDIR(handle, conn, fname, mask, attr);
|
||||
|
||||
@@ -858,7 +858,7 @@
|
||||
}
|
||||
|
||||
static SMB_STRUCT_DIRENT *smb_full_audit_readdir(vfs_handle_struct *handle,
|
||||
- connection_struct *conn, DIR *dirp)
|
||||
+ connection_struct *conn, SMB_STRUCT_DIR *dirp)
|
||||
{
|
||||
SMB_STRUCT_DIRENT *result;
|
||||
|
||||
@@ -873,7 +873,7 @@
|
||||
}
|
||||
|
||||
static void smb_full_audit_seekdir(vfs_handle_struct *handle, connection_struct *conn,
|
||||
- DIR *dirp, long offset)
|
||||
+ SMB_STRUCT_DIR *dirp, long offset)
|
||||
{
|
||||
SMB_VFS_NEXT_SEEKDIR(handle, conn, dirp, offset);
|
||||
|
||||
@@ -882,7 +882,7 @@
|
||||
}
|
||||
|
||||
static long smb_full_audit_telldir(vfs_handle_struct *handle, connection_struct *conn,
|
||||
- DIR *dirp)
|
||||
+ SMB_STRUCT_DIR *dirp)
|
||||
{
|
||||
long result;
|
||||
|
||||
@@ -894,7 +894,7 @@
|
||||
}
|
||||
|
||||
static void smb_full_audit_rewinddir(vfs_handle_struct *handle, connection_struct *conn,
|
||||
- DIR *dirp)
|
||||
+ SMB_STRUCT_DIR *dirp)
|
||||
{
|
||||
SMB_VFS_NEXT_REWINDDIR(handle, conn, dirp);
|
||||
|
||||
@@ -927,7 +927,7 @@
|
||||
}
|
||||
|
||||
static int smb_full_audit_closedir(vfs_handle_struct *handle, connection_struct *conn,
|
||||
- DIR *dirp)
|
||||
+ SMB_STRUCT_DIR *dirp)
|
||||
{
|
||||
int result;
|
||||
|
||||
diff -uBbrN --exclude-from=/misc/src/samba-cvs/diff.excludes samba-3.0.20-orig/source/modules/vfs_netatalk.c samba-3.0.20-new/source/modules/vfs_netatalk.c
|
||||
--- samba-3.0.20-orig/source/modules/vfs_netatalk.c 2005-07-28 08:19:46.000000000 -0500
|
||||
+++ samba-3.0.20-new/source/modules/vfs_netatalk.c 2005-08-26 09:42:08.000000000 -0500
|
||||
@@ -148,11 +148,11 @@
|
||||
{
|
||||
char *dpath;
|
||||
SMB_STRUCT_DIRENT *dent = 0;
|
||||
- DIR *dir;
|
||||
+ SMB_STRUCT_DIR *dir;
|
||||
|
||||
if (!path) return;
|
||||
|
||||
- dir = opendir(path);
|
||||
+ dir = sys_opendir(path);
|
||||
if (!dir) return;
|
||||
|
||||
while (NULL != (dent = sys_readdir(dir))) {
|
||||
@@ -165,16 +165,16 @@
|
||||
atalk_unlink_file(dpath);
|
||||
}
|
||||
|
||||
- closedir(dir);
|
||||
+ sys_closedir(dir);
|
||||
}
|
||||
|
||||
/* Disk operations */
|
||||
|
||||
/* Directory operations */
|
||||
|
||||
-DIR *atalk_opendir(struct vfs_handle_struct *handle, struct connection_struct *conn, const char *fname, const char *mask, uint32 attr)
|
||||
+SMB_STRUCT_DIR *atalk_opendir(struct vfs_handle_struct *handle, struct connection_struct *conn, const char *fname, const char *mask, uint32 attr)
|
||||
{
|
||||
- DIR *ret = 0;
|
||||
+ SMB_STRUCT_DIR *ret = 0;
|
||||
|
||||
ret = SMB_VFS_NEXT_OPENDIR(handle, conn, fname, mask, attr);
|
||||
|
||||
diff -uBbrN --exclude-from=/misc/src/samba-cvs/diff.excludes samba-3.0.20-orig/source/modules/vfs_shadow_copy.c samba-3.0.20-new/source/modules/vfs_shadow_copy.c
|
||||
--- samba-3.0.20-orig/source/modules/vfs_shadow_copy.c 2005-07-28 08:19:46.000000000 -0500
|
||||
+++ samba-3.0.20-new/source/modules/vfs_shadow_copy.c 2005-08-26 09:42:08.000000000 -0500
|
||||
@@ -72,10 +72,10 @@
|
||||
return False;
|
||||
}
|
||||
|
||||
-static DIR *shadow_copy_opendir(vfs_handle_struct *handle, connection_struct *conn, const char *fname, const char *mask, uint32 attr)
|
||||
+static SMB_STRUCT_DIR *shadow_copy_opendir(vfs_handle_struct *handle, connection_struct *conn, const char *fname, const char *mask, uint32 attr)
|
||||
{
|
||||
shadow_copy_Dir *dirp;
|
||||
- DIR *p = SMB_VFS_NEXT_OPENDIR(handle,conn,fname,mask,attr);
|
||||
+ SMB_STRUCT_DIR *p = SMB_VFS_NEXT_OPENDIR(handle,conn,fname,mask,attr);
|
||||
|
||||
if (!p) {
|
||||
DEBUG(0,("shadow_copy_opendir: SMB_VFS_NEXT_OPENDIR() failed for [%s]\n",fname));
|
||||
@@ -119,10 +119,10 @@
|
||||
}
|
||||
|
||||
SMB_VFS_NEXT_CLOSEDIR(handle,conn,p);
|
||||
- return((DIR *)dirp);
|
||||
+ return((SMB_STRUCT_DIR *)dirp);
|
||||
}
|
||||
|
||||
-SMB_STRUCT_DIRENT *shadow_copy_readdir(vfs_handle_struct *handle, connection_struct *conn, DIR *_dirp)
|
||||
+SMB_STRUCT_DIRENT *shadow_copy_readdir(vfs_handle_struct *handle, connection_struct *conn, SMB_STRUCT_DIR *_dirp)
|
||||
{
|
||||
shadow_copy_Dir *dirp = (shadow_copy_Dir *)_dirp;
|
||||
|
||||
@@ -133,7 +133,7 @@
|
||||
return NULL;
|
||||
}
|
||||
|
||||
-static void shadow_copy_seekdir(struct vfs_handle_struct *handle, struct connection_struct *conn, DIR *_dirp, long offset)
|
||||
+static void shadow_copy_seekdir(struct vfs_handle_struct *handle, struct connection_struct *conn, SMB_STRUCT_DIR *_dirp, long offset)
|
||||
{
|
||||
shadow_copy_Dir *dirp = (shadow_copy_Dir *)_dirp;
|
||||
|
||||
@@ -142,19 +142,19 @@
|
||||
}
|
||||
}
|
||||
|
||||
-static long shadow_copy_telldir(struct vfs_handle_struct *handle, struct connection_struct *conn, DIR *_dirp)
|
||||
+static long shadow_copy_telldir(struct vfs_handle_struct *handle, struct connection_struct *conn, SMB_STRUCT_DIR *_dirp)
|
||||
{
|
||||
shadow_copy_Dir *dirp = (shadow_copy_Dir *)_dirp;
|
||||
return( dirp->pos ) ;
|
||||
}
|
||||
|
||||
-static void shadow_copy_rewinddir(struct vfs_handle_struct *handle, struct connection_struct *conn, DIR *_dirp)
|
||||
+static void shadow_copy_rewinddir(struct vfs_handle_struct *handle, struct connection_struct *conn, SMB_STRUCT_DIR *_dirp)
|
||||
{
|
||||
shadow_copy_Dir *dirp = (shadow_copy_Dir *)_dirp;
|
||||
dirp->pos = 0 ;
|
||||
}
|
||||
|
||||
-int shadow_copy_closedir(vfs_handle_struct *handle, connection_struct *conn, DIR *_dirp)
|
||||
+int shadow_copy_closedir(vfs_handle_struct *handle, connection_struct *conn, SMB_STRUCT_DIR *_dirp)
|
||||
{
|
||||
shadow_copy_Dir *dirp = (shadow_copy_Dir *)_dirp;
|
||||
|
||||
@@ -166,7 +166,7 @@
|
||||
|
||||
static int shadow_copy_get_shadow_copy_data(vfs_handle_struct *handle, files_struct *fsp, SHADOW_COPY_DATA *shadow_copy_data, BOOL labels)
|
||||
{
|
||||
- DIR *p = SMB_VFS_NEXT_OPENDIR(handle,fsp->conn,fsp->conn->connectpath,NULL,0);
|
||||
+ SMB_STRUCT_DIR *p = SMB_VFS_NEXT_OPENDIR(handle,fsp->conn,fsp->conn->connectpath,NULL,0);
|
||||
|
||||
shadow_copy_data->num_volumes = 0;
|
||||
shadow_copy_data->labels = NULL;
|
||||
diff -uBbrN --exclude-from=/misc/src/samba-cvs/diff.excludes samba-3.0.20-orig/source/script/mkproto.awk samba-3.0.20-new/source/script/mkproto.awk
|
||||
--- samba-3.0.20-orig/source/script/mkproto.awk 2005-07-28 08:19:52.000000000 -0500
|
||||
+++ samba-3.0.20-new/source/script/mkproto.awk 2005-08-26 09:42:08.000000000 -0500
|
||||
@@ -136,7 +136,7 @@
|
||||
gotstart = 1;
|
||||
}
|
||||
|
||||
- if( $0 ~ /^NODE_STATUS_STRUCT/ ) {
|
||||
+ if( $0 ~ /^NODE_STATUS_STRUCT|SMB_STRUCT_DIR/ ) {
|
||||
gotstart = 1;
|
||||
}
|
||||
|
||||
diff -uBbrN --exclude-from=/misc/src/samba-cvs/diff.excludes samba-3.0.20-orig/source/smbd/chgpasswd.c samba-3.0.20-new/source/smbd/chgpasswd.c
|
||||
--- samba-3.0.20-orig/source/smbd/chgpasswd.c 2005-07-28 08:19:42.000000000 -0500
|
||||
+++ samba-3.0.20-new/source/smbd/chgpasswd.c 2005-08-26 09:42:08.000000000 -0500
|
||||
@@ -64,7 +64,7 @@
|
||||
{
|
||||
int master;
|
||||
static fstring line;
|
||||
- DIR *dirp;
|
||||
+ SMB_STRUCT_DIR *dirp;
|
||||
const char *dpname;
|
||||
|
||||
#if defined(HAVE_GRANTPT)
|
||||
@@ -93,7 +93,7 @@
|
||||
|
||||
fstrcpy(line, "/dev/ptyXX");
|
||||
|
||||
- dirp = opendir("/dev");
|
||||
+ dirp = sys_opendir("/dev");
|
||||
if (!dirp)
|
||||
return (-1);
|
||||
while ((dpname = readdirname(dirp)) != NULL)
|
||||
@@ -110,12 +110,12 @@
|
||||
DEBUG(3, ("pty: opened %s\n", line));
|
||||
line[5] = 't';
|
||||
*slave = line;
|
||||
- closedir(dirp);
|
||||
+ sys_closedir(dirp);
|
||||
return (master);
|
||||
}
|
||||
}
|
||||
}
|
||||
- closedir(dirp);
|
||||
+ sys_closedir(dirp);
|
||||
return (-1);
|
||||
}
|
||||
|
||||
diff -uBbrN --exclude-from=/misc/src/samba-cvs/diff.excludes samba-3.0.20-orig/source/smbd/dir.c samba-3.0.20-new/source/smbd/dir.c
|
||||
--- samba-3.0.20-orig/source/smbd/dir.c 2005-07-28 08:19:43.000000000 -0500
|
||||
+++ samba-3.0.20-new/source/smbd/dir.c 2005-08-26 09:42:08.000000000 -0500
|
||||
@@ -42,7 +42,7 @@
|
||||
|
||||
struct smb_Dir {
|
||||
connection_struct *conn;
|
||||
- DIR *dir;
|
||||
+ SMB_STRUCT_DIR *dir;
|
||||
long offset;
|
||||
char *dir_path;
|
||||
struct name_cache_entry *name_cache;
|
||||
@@ -1098,6 +1098,9 @@
|
||||
}
|
||||
dirp->file_number++;
|
||||
return n;
|
||||
+ } else if (*poffset == END_OF_DIRECTORY_OFFSET) {
|
||||
+ *poffset = dirp->offset = END_OF_DIRECTORY_OFFSET;
|
||||
+ return NULL;
|
||||
} else {
|
||||
/* A real offset, seek to it. */
|
||||
SeekDir(dirp, *poffset);
|
||||
@@ -1120,7 +1123,7 @@
|
||||
dirp->file_number++;
|
||||
return e->name;
|
||||
}
|
||||
- dirp->offset = END_OF_DIRECTORY_OFFSET;
|
||||
+ *poffset = dirp->offset = END_OF_DIRECTORY_OFFSET;
|
||||
return NULL;
|
||||
}
|
||||
|
||||
@@ -1145,6 +1148,8 @@
|
||||
if (offset != dirp->offset) {
|
||||
if (offset == START_OF_DIRECTORY_OFFSET || offset == DOT_DOT_DIRECTORY_OFFSET) {
|
||||
RewindDir(dirp, &offset);
|
||||
+ } else if (offset == END_OF_DIRECTORY_OFFSET) {
|
||||
+ ; /* Don't seek in this case. */
|
||||
} else {
|
||||
SMB_VFS_SEEKDIR(dirp->conn, dirp->dir, offset);
|
||||
}
|
||||
diff -uBbrN --exclude-from=/misc/src/samba-cvs/diff.excludes samba-3.0.20-orig/source/smbd/msdfs.c samba-3.0.20-new/source/smbd/msdfs.c
|
||||
--- samba-3.0.20-orig/source/smbd/msdfs.c 2005-08-07 18:09:53.000000000 -0500
|
||||
+++ samba-3.0.20-new/source/smbd/msdfs.c 2005-08-26 09:42:08.000000000 -0500
|
||||
@@ -1010,7 +1010,7 @@
|
||||
static int form_junctions(TALLOC_CTX *ctx, int snum, struct junction_map *jucn, int jn_remain)
|
||||
{
|
||||
int cnt = 0;
|
||||
- DIR *dirp;
|
||||
+ SMB_STRUCT_DIR *dirp;
|
||||
char* dname;
|
||||
pstring connect_path;
|
||||
char* service_name = lp_servicename(snum);
|
||||
diff -uBbrN --exclude-from=/misc/src/samba-cvs/diff.excludes samba-3.0.20-orig/source/smbd/vfs-wrap.c samba-3.0.20-new/source/smbd/vfs-wrap.c
|
||||
--- samba-3.0.20-orig/source/smbd/vfs-wrap.c 2005-07-28 08:19:43.000000000 -0500
|
||||
+++ samba-3.0.20-new/source/smbd/vfs-wrap.c 2005-08-26 09:42:08.000000000 -0500
|
||||
@@ -88,9 +88,9 @@
|
||||
|
||||
/* Directory operations */
|
||||
|
||||
-DIR *vfswrap_opendir(vfs_handle_struct *handle, connection_struct *conn, const char *fname, const char *mask, uint32 attr)
|
||||
+SMB_STRUCT_DIR *vfswrap_opendir(vfs_handle_struct *handle, connection_struct *conn, const char *fname, const char *mask, uint32 attr)
|
||||
{
|
||||
- DIR *result;
|
||||
+ SMB_STRUCT_DIR *result;
|
||||
|
||||
START_PROFILE(syscall_opendir);
|
||||
result = sys_opendir(fname);
|
||||
@@ -98,7 +98,7 @@
|
||||
return result;
|
||||
}
|
||||
|
||||
-SMB_STRUCT_DIRENT *vfswrap_readdir(vfs_handle_struct *handle, connection_struct *conn, DIR *dirp)
|
||||
+SMB_STRUCT_DIRENT *vfswrap_readdir(vfs_handle_struct *handle, connection_struct *conn, SMB_STRUCT_DIR *dirp)
|
||||
{
|
||||
SMB_STRUCT_DIRENT *result;
|
||||
|
||||
@@ -108,14 +108,14 @@
|
||||
return result;
|
||||
}
|
||||
|
||||
-void vfswrap_seekdir(vfs_handle_struct *handle, connection_struct *conn, DIR *dirp, long offset)
|
||||
+void vfswrap_seekdir(vfs_handle_struct *handle, connection_struct *conn, SMB_STRUCT_DIR *dirp, long offset)
|
||||
{
|
||||
START_PROFILE(syscall_seekdir);
|
||||
sys_seekdir(dirp, offset);
|
||||
END_PROFILE(syscall_seekdir);
|
||||
}
|
||||
|
||||
-long vfswrap_telldir(vfs_handle_struct *handle, connection_struct *conn, DIR *dirp)
|
||||
+long vfswrap_telldir(vfs_handle_struct *handle, connection_struct *conn, SMB_STRUCT_DIR *dirp)
|
||||
{
|
||||
long result;
|
||||
START_PROFILE(syscall_telldir);
|
||||
@@ -124,7 +124,7 @@
|
||||
return result;
|
||||
}
|
||||
|
||||
-void vfswrap_rewinddir(vfs_handle_struct *handle, connection_struct *conn, DIR *dirp)
|
||||
+void vfswrap_rewinddir(vfs_handle_struct *handle, connection_struct *conn, SMB_STRUCT_DIR *dirp)
|
||||
{
|
||||
START_PROFILE(syscall_rewinddir);
|
||||
sys_rewinddir(dirp);
|
||||
@@ -170,7 +170,7 @@
|
||||
return result;
|
||||
}
|
||||
|
||||
-int vfswrap_closedir(vfs_handle_struct *handle, connection_struct *conn, DIR *dirp)
|
||||
+int vfswrap_closedir(vfs_handle_struct *handle, connection_struct *conn, SMB_STRUCT_DIR *dirp)
|
||||
{
|
||||
int result;
|
||||
|
@ -1,42 +0,0 @@
|
||||
diff -urN --exclude-from=/misc/src/samba-cvs/diff.excludes samba-3.0.20-orig/source/passdb/pdb_ldap.c samba-3.0.20-new/source/passdb/pdb_ldap.c
|
||||
--- samba-3.0.20-orig/source/passdb/pdb_ldap.c 2005-07-28 08:19:48.000000000 -0500
|
||||
+++ samba-3.0.20-new/source/passdb/pdb_ldap.c 2005-08-26 14:16:00.000000000 -0500
|
||||
@@ -3692,23 +3692,24 @@
|
||||
return False;
|
||||
}
|
||||
|
||||
- vals = ldap_get_values(ld, entry, "cn");
|
||||
- if ((vals == NULL) || (vals[0] == NULL)) {
|
||||
- DEBUG(5, ("\"cn\" not found\n"));
|
||||
- return False;
|
||||
- }
|
||||
- pull_utf8_talloc(mem_ctx,
|
||||
- CONST_DISCARD(char **, &result->account_name),
|
||||
- vals[0]);
|
||||
- ldap_value_free(vals);
|
||||
+ /* display name is the NT group name */
|
||||
|
||||
vals = ldap_get_values(ld, entry, "displayName");
|
||||
- if ((vals == NULL) || (vals[0] == NULL))
|
||||
+ if ((vals == NULL) || (vals[0] == NULL)) {
|
||||
DEBUG(8, ("\"displayName\" not found\n"));
|
||||
- else
|
||||
- pull_utf8_talloc(mem_ctx,
|
||||
- CONST_DISCARD(char **, &result->fullname),
|
||||
- vals[0]);
|
||||
+
|
||||
+ /* fallback to the 'cn' attribute */
|
||||
+ vals = ldap_get_values(ld, entry, "cn");
|
||||
+ if ((vals == NULL) || (vals[0] == NULL)) {
|
||||
+ DEBUG(5, ("\"cn\" not found\n"));
|
||||
+ return False;
|
||||
+ }
|
||||
+ pull_utf8_talloc(mem_ctx, CONST_DISCARD(char **, &result->account_name), vals[0]);
|
||||
+ }
|
||||
+ else {
|
||||
+ pull_utf8_talloc(mem_ctx, CONST_DISCARD(char **, &result->account_name), vals[0]);
|
||||
+ }
|
||||
+
|
||||
ldap_value_free(vals);
|
||||
|
||||
vals = ldap_get_values(ld, entry, "description");
|
@ -1,124 +0,0 @@
|
||||
diff -ubBrN --exclude-from=diff.excludes samba-3.0.20-orig/source/confdefs.h samba-3.0.20-new/source/confdefs.h
|
||||
diff -ubBrN --exclude-from=diff.excludes samba-3.0.20-orig/source/include/rpc_reg.h samba-3.0.20-new/source/include/rpc_reg.h
|
||||
--- samba-3.0.20-orig/source/include/rpc_reg.h 2005-07-28 08:19:50.000000000 -0500
|
||||
+++ samba-3.0.20-new/source/include/rpc_reg.h 2005-09-01 09:03:30.000000000 -0500
|
||||
@@ -217,14 +217,17 @@
|
||||
POLICY_HND handle;
|
||||
UNISTR4 name;
|
||||
UNISTR4 key_class;
|
||||
- uint32 reserved;
|
||||
+ uint32 options;
|
||||
uint32 access;
|
||||
+
|
||||
+ /* FIXME! collapse all this into one structure */
|
||||
uint32 *sec_info;
|
||||
uint32 ptr2;
|
||||
BUFHDR hdr_sec;
|
||||
uint32 ptr3;
|
||||
SEC_DESC_BUF *data;
|
||||
- uint32 unknown_2; /* 0x0000 0000 */
|
||||
+
|
||||
+ uint32 *disposition;
|
||||
} REG_Q_CREATE_KEY_EX;
|
||||
|
||||
typedef struct {
|
||||
diff -ubBrN --exclude-from=diff.excludes samba-3.0.20-orig/source/registry/reg_db.c samba-3.0.20-new/source/registry/reg_db.c
|
||||
--- samba-3.0.20-orig/source/registry/reg_db.c 2005-08-07 18:09:57.000000000 -0500
|
||||
+++ samba-3.0.20-new/source/registry/reg_db.c 2005-09-01 09:05:05.000000000 -0500
|
||||
@@ -49,6 +49,7 @@
|
||||
"HKLM\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Perflib\\009",
|
||||
"HKLM\\SYSTEM\\CurrentControlSet\\Control\\Print\\Monitors",
|
||||
"HKLM\\SYSTEM\\CurrentControlSet\\Control\\ProductOptions",
|
||||
+ "HKLM\\SYSTEM\\CurrentControlSet\\Control\\Terminal Server\\DefaultUserConfiguration",
|
||||
"HKLM\\SYSTEM\\CurrentControlSet\\Services\\TcpIp\\Parameters",
|
||||
"HKLM\\SYSTEM\\CurrentControlSet\\Services\\Netlogon\\Parameters",
|
||||
"HKU",
|
||||
@@ -149,6 +150,11 @@
|
||||
regval_ctr_init( &values );
|
||||
|
||||
regdb_fetch_values( builtin_registry_values[i].path, &values );
|
||||
+
|
||||
+ /* preserve existing values across restarts. Only add new ones */
|
||||
+
|
||||
+ if ( !regval_ctr_key_exists( &values, builtin_registry_values[i].valuename ) )
|
||||
+ {
|
||||
switch( builtin_registry_values[i].type ) {
|
||||
case REG_DWORD:
|
||||
regval_ctr_addvalue( &values,
|
||||
@@ -172,6 +178,7 @@
|
||||
builtin_registry_values[i].type));
|
||||
}
|
||||
regdb_store_values( builtin_registry_values[i].path, &values );
|
||||
+ }
|
||||
|
||||
regval_ctr_destroy( &values );
|
||||
}
|
||||
@@ -191,8 +198,6 @@
|
||||
if ( tdb_reg )
|
||||
return True;
|
||||
|
||||
- /* placeholder tdb; reinit upon startup */
|
||||
-
|
||||
if ( !(tdb_reg = tdb_open_log(lock_path("registry.tdb"), 0, TDB_DEFAULT, O_RDWR, 0600)) )
|
||||
{
|
||||
tdb_reg = tdb_open_log(lock_path("registry.tdb"), 0, TDB_DEFAULT, O_RDWR|O_CREAT, 0600);
|
||||
@@ -209,14 +214,15 @@
|
||||
vers_id = tdb_fetch_int32(tdb_reg, vstring);
|
||||
|
||||
if ( vers_id != REGVER_V1 ) {
|
||||
+ /* any upgrade code here if needed */
|
||||
+ }
|
||||
|
||||
- /* create the registry here */
|
||||
+ /* always setup the necessary keys and values */
|
||||
|
||||
if ( !init_registry_data() ) {
|
||||
DEBUG(0,("init_registry: Failed to initiailize data in registry!\n"));
|
||||
return False;
|
||||
}
|
||||
- }
|
||||
|
||||
return True;
|
||||
}
|
||||
diff -ubBrN --exclude-from=diff.excludes samba-3.0.20-orig/source/rpc_parse/parse_reg.c samba-3.0.20-new/source/rpc_parse/parse_reg.c
|
||||
--- samba-3.0.20-orig/source/rpc_parse/parse_reg.c 2005-07-28 08:19:48.000000000 -0500
|
||||
+++ samba-3.0.20-new/source/rpc_parse/parse_reg.c 2005-09-01 09:03:30.000000000 -0500
|
||||
@@ -227,7 +227,7 @@
|
||||
q_c->ptr2 = 1;
|
||||
init_buf_hdr(&q_c->hdr_sec, sec_buf->len, sec_buf->len);
|
||||
q_c->ptr3 = 1;
|
||||
- q_c->unknown_2 = 0x00000000;
|
||||
+ q_c->disposition = TALLOC_P( get_talloc_ctx(), uint32 );
|
||||
}
|
||||
|
||||
/*******************************************************************
|
||||
@@ -259,7 +259,7 @@
|
||||
if(!prs_align(ps))
|
||||
return False;
|
||||
|
||||
- if(!prs_uint32("reserved", ps, depth, &q_u->reserved))
|
||||
+ if(!prs_uint32("options", ps, depth, &q_u->options))
|
||||
return False;
|
||||
if(!prs_uint32("access", ps, depth, &q_u->access))
|
||||
return False;
|
||||
@@ -267,16 +267,15 @@
|
||||
if(!prs_pointer("sec_info", ps, depth, (void**)&q_u->sec_info, sizeof(uint32), (PRS_POINTER_CAST)prs_uint32))
|
||||
return False;
|
||||
|
||||
+ if ( q_u->sec_info ) {
|
||||
if(!prs_uint32("ptr2", ps, depth, &q_u->ptr2))
|
||||
return False;
|
||||
- if(!reg_io_hdrbuf_sec(q_u->ptr2, &q_u->ptr3, &q_u->hdr_sec, q_u->data,
|
||||
- ps, depth))
|
||||
+ if(!reg_io_hdrbuf_sec(q_u->ptr2, &q_u->ptr3, &q_u->hdr_sec, q_u->data, ps, depth))
|
||||
return False;
|
||||
+ }
|
||||
|
||||
-#if 0
|
||||
- if(!prs_uint32("unknown_2", ps, depth, &q_u->unknown_2))
|
||||
+ if(!prs_pointer("disposition", ps, depth, (void**)&q_u->disposition, sizeof(uint32), (PRS_POINTER_CAST)prs_uint32))
|
||||
return False;
|
||||
-#endif
|
||||
|
||||
return True;
|
||||
}
|
@ -1,73 +0,0 @@
|
||||
diff -ubBrN --exclude-from=diff.excludes samba-3.0.20-orig/source/rpc_server/srv_samr_nt.c samba-3.0.20-new/source/rpc_server/srv_samr_nt.c
|
||||
--- samba-3.0.20-orig/source/rpc_server/srv_samr_nt.c 2005-08-07 18:09:55.000000000 -0500
|
||||
+++ samba-3.0.20-new/source/rpc_server/srv_samr_nt.c 2005-09-01 16:34:06.000000000 -0500
|
||||
@@ -3927,6 +3927,8 @@
|
||||
GROUP_MAP map;
|
||||
GROUP_INFO_CTR *ctr;
|
||||
uint32 acc_granted;
|
||||
+ BOOL ret;
|
||||
+ BOOL can_mod_accounts;
|
||||
|
||||
if (!get_lsa_policy_samr_sid(p, &q_u->pol, &group_sid, &acc_granted))
|
||||
return NT_STATUS_INVALID_HANDLE;
|
||||
@@ -3951,11 +3953,21 @@
|
||||
return NT_STATUS_INVALID_INFO_CLASS;
|
||||
}
|
||||
|
||||
- if(!pdb_update_group_mapping_entry(&map)) {
|
||||
- return NT_STATUS_NO_SUCH_GROUP;
|
||||
- }
|
||||
+ can_mod_accounts = user_has_privileges( p->pipe_user.nt_user_token, &se_add_users );
|
||||
|
||||
- return NT_STATUS_OK;
|
||||
+ /******** BEGIN SeAddUsers BLOCK *********/
|
||||
+
|
||||
+ if ( can_mod_accounts )
|
||||
+ become_root();
|
||||
+
|
||||
+ ret = pdb_update_group_mapping_entry(&map);
|
||||
+
|
||||
+ if ( can_mod_accounts )
|
||||
+ unbecome_root();
|
||||
+
|
||||
+ /******** End SeAddUsers BLOCK *********/
|
||||
+
|
||||
+ return ret ? NT_STATUS_OK : NT_STATUS_ACCESS_DENIED;
|
||||
}
|
||||
|
||||
/*********************************************************************
|
||||
@@ -3970,6 +3982,8 @@
|
||||
struct acct_info info;
|
||||
ALIAS_INFO_CTR *ctr;
|
||||
uint32 acc_granted;
|
||||
+ BOOL ret;
|
||||
+ BOOL can_mod_accounts;
|
||||
|
||||
if (!get_lsa_policy_samr_sid(p, &q_u->alias_pol, &group_sid, &acc_granted))
|
||||
return NT_STATUS_INVALID_HANDLE;
|
||||
@@ -3992,11 +4006,21 @@
|
||||
return NT_STATUS_INVALID_INFO_CLASS;
|
||||
}
|
||||
|
||||
- if(!pdb_set_aliasinfo(&group_sid, &info)) {
|
||||
- return NT_STATUS_ACCESS_DENIED;
|
||||
- }
|
||||
+ can_mod_accounts = user_has_privileges( p->pipe_user.nt_user_token, &se_add_users );
|
||||
|
||||
- return NT_STATUS_OK;
|
||||
+ /******** BEGIN SeAddUsers BLOCK *********/
|
||||
+
|
||||
+ if ( can_mod_accounts )
|
||||
+ become_root();
|
||||
+
|
||||
+ ret = pdb_set_aliasinfo( &group_sid, &info );
|
||||
+
|
||||
+ if ( can_mod_accounts )
|
||||
+ unbecome_root();
|
||||
+
|
||||
+ /******** End SeAddUsers BLOCK *********/
|
||||
+
|
||||
+ return ret ? NT_STATUS_OK : NT_STATUS_ACCESS_DENIED;
|
||||
}
|
||||
|
||||
/*********************************************************************
|
@ -1,61 +0,0 @@
|
||||
diff -urBbN --exclude-from=diff.excludes samba-3.0.20-orig/source/nsswitch/winbindd_dual.c samba-3.0.20-new/source/nsswitch/winbindd_dual.c
|
||||
--- samba-3.0.20-orig/source/nsswitch/winbindd_dual.c 2005-08-19 12:16:27.000000000 -0500
|
||||
+++ samba-3.0.20-new/source/nsswitch/winbindd_dual.c 2005-08-29 13:34:16.000000000 -0500
|
||||
@@ -158,7 +158,6 @@
|
||||
return;
|
||||
}
|
||||
|
||||
- if (state->response->result == WINBINDD_OK)
|
||||
SMB_ASSERT(cache_retrieve_response(child->pid,
|
||||
state->response));
|
||||
|
||||
@@ -486,12 +485,11 @@
|
||||
DEBUG(4,("child daemon request %d\n",
|
||||
(int)state.request.cmd));
|
||||
|
||||
+ ZERO_STRUCT(state.response);
|
||||
state.request.null_term = '\0';
|
||||
child_process_request(child->domain, &state);
|
||||
|
||||
- if (state.response.result == WINBINDD_OK)
|
||||
- cache_store_response(sys_getpid(),
|
||||
- &state.response);
|
||||
+ cache_store_response(sys_getpid(), &state.response);
|
||||
|
||||
SAFE_FREE(state.response.extra_data);
|
||||
|
||||
diff -urBbN --exclude-from=diff.excludes samba-3.0.20-orig/source/nsswitch/winbindd_user.c samba-3.0.20-new/source/nsswitch/winbindd_user.c
|
||||
--- samba-3.0.20-orig/source/nsswitch/winbindd_user.c 2005-07-28 08:19:44.000000000 -0500
|
||||
+++ samba-3.0.20-new/source/nsswitch/winbindd_user.c 2005-08-29 16:04:22.000000000 -0500
|
||||
@@ -230,6 +230,7 @@
|
||||
const char *shell,
|
||||
uint32 group_rid)
|
||||
{
|
||||
+ fstring username;
|
||||
struct getpwsid_state *s =
|
||||
talloc_get_type_abort(private_data, struct getpwsid_state);
|
||||
|
||||
@@ -240,7 +241,9 @@
|
||||
return;
|
||||
}
|
||||
|
||||
- s->username = talloc_strdup(s->state->mem_ctx, acct_name);
|
||||
+ fstrcpy( username, acct_name );
|
||||
+ strlower_m( username );
|
||||
+ s->username = talloc_strdup(s->state->mem_ctx, username);
|
||||
s->fullname = talloc_strdup(s->state->mem_ctx, full_name);
|
||||
s->homedir = talloc_strdup(s->state->mem_ctx, homedir);
|
||||
s->shell = talloc_strdup(s->state->mem_ctx, shell);
|
||||
diff -urBbN --exclude-from=diff.excludes samba-3.0.20-orig/source/nsswitch/winbindd_util.c samba-3.0.20-new/source/nsswitch/winbindd_util.c
|
||||
--- samba-3.0.20-orig/source/nsswitch/winbindd_util.c 2005-07-28 08:19:44.000000000 -0500
|
||||
+++ samba-3.0.20-new/source/nsswitch/winbindd_util.c 2005-08-29 13:34:16.000000000 -0500
|
||||
@@ -444,7 +444,9 @@
|
||||
state->request.data.init_conn.dcname
|
||||
[sizeof(state->request.data.init_conn.dcname)-1]='\0';
|
||||
|
||||
+ if (strlen(state->request.data.init_conn.dcname) > 0) {
|
||||
fstrcpy(domain->dcname, state->request.data.init_conn.dcname);
|
||||
+ }
|
||||
|
||||
if (strlen(domain->dcname) > 0) {
|
||||
if (!resolve_name(domain->dcname, &ipaddr, 0x20)) {
|
File diff suppressed because it is too large
Load Diff
@ -1,12 +0,0 @@
|
||||
--- samba-3.0.23/packaging/Fedora/smb.conf.upstream 2006-07-11 11:29:05.000000000 -0400
|
||||
+++ samba-3.0.23/packaging/Fedora/smb.conf 2006-07-11 11:30:45.000000000 -0400
|
||||
@@ -57,6 +57,9 @@
|
||||
# bsd, cups, sysv, plp, lprng, aix, hpux, qnx
|
||||
; printing = cups
|
||||
|
||||
+# This option tells cups that the data has already been rasterized
|
||||
+cups options = raw
|
||||
+
|
||||
# Uncomment this if you want a guest account, you must add this to /etc/passwd
|
||||
# otherwise the user "nobody" is used
|
||||
; guest account = pcguest
|
@ -1,83 +0,0 @@
|
||||
--- samba-3.0.23d/docs/manpages/ntlm_auth.1.man 2006-11-14 05:01:51.000000000 -0500
|
||||
+++ samba-3.0.23d/docs/manpages/ntlm_auth.1 2006-11-15 15:59:59.000000000 -0500
|
||||
@@ -105,17 +105,17 @@
|
||||
The username, expected to be in Samba's
|
||||
unix charset.
|
||||
.sp
|
||||
-\fBExample 1. \fRUsername: bob
|
||||
+\fBExample 1.\fR Username: bob
|
||||
.sp
|
||||
-\fBExample 2. \fRUsername:: Ym9i
|
||||
+\fBExample 2.\fR Username:: Ym9i
|
||||
.TP 3n
|
||||
Username
|
||||
The user's domain, expected to be in Samba's
|
||||
unix charset.
|
||||
.sp
|
||||
-\fBExample 3. \fRDomain: WORKGROUP
|
||||
+\fBExample 3.\fR Domain: WORKGROUP
|
||||
.sp
|
||||
-\fBExample 4. \fRDomain:: V09SS0dST1VQ
|
||||
+\fBExample 4.\fR Domain:: V09SS0dST1VQ
|
||||
.TP 3n
|
||||
Full-Username
|
||||
The fully qualified username, expected to be in Samba's
|
||||
@@ -123,16 +123,16 @@
|
||||
and qualified with the
|
||||
winbind separator.
|
||||
.sp
|
||||
-\fBExample 5. \fRFull-Username: WORKGROUP\bob
|
||||
+\fBExample 5.\fR Full-Username: WORKGROUP\bob
|
||||
.sp
|
||||
-\fBExample 6. \fRFull-Username:: V09SS0dST1VQYm9i
|
||||
+\fBExample 6.\fR Full-Username:: V09SS0dST1VQYm9i
|
||||
.TP 3n
|
||||
LANMAN-Challenge
|
||||
The 8 byte
|
||||
\fBLANMAN Challenge\fR
|
||||
value, generated randomly by the server, or (in cases such as MSCHAPv2) generated in some way by both the server and the client.
|
||||
.sp
|
||||
-\fBExample 7. \fRLANMAN-Challege: 0102030405060708
|
||||
+\fBExample 7.\fR LANMAN-Challege: 0102030405060708
|
||||
.TP 3n
|
||||
LANMAN-Response
|
||||
The 24 byte
|
||||
@@ -140,7 +140,7 @@
|
||||
value, calculated from the user's password and the supplied
|
||||
\fBLANMAN Challenge\fR. Typically, this is provided over the network by a client wishing to authenticate.
|
||||
.sp
|
||||
-\fBExample 8. \fRLANMAN-Response: 0102030405060708090A0B0C0D0E0F101112131415161718
|
||||
+\fBExample 8.\fR LANMAN-Response: 0102030405060708090A0B0C0D0E0F101112131415161718
|
||||
.TP 3n
|
||||
NT-Response
|
||||
The >= 24 byte
|
||||
@@ -148,24 +148,24 @@
|
||||
calculated from the user's password and the supplied
|
||||
\fBLANMAN Challenge\fR. Typically, this is provided over the network by a client wishing to authenticate.
|
||||
.sp
|
||||
-\fBExample 9. \fRNT-Response: 0102030405060708090A0B0C0D0E0F101112131415161718
|
||||
+\fBExample 9.\fR NT-Response: 0102030405060708090A0B0C0D0E0F101112131415161718
|
||||
.TP 3n
|
||||
Password
|
||||
The user's password. This would be provided by a network client, if the helper is being used in a legacy situation that exposes plaintext passwords in this way.
|
||||
.sp
|
||||
-\fBExample 10. \fRPassword: samba2
|
||||
+\fBExample 10.\fR Password: samba2
|
||||
.sp
|
||||
-\fBExample 11. \fRPassword:: c2FtYmEy
|
||||
+\fBExample 11.\fR Password:: c2FtYmEy
|
||||
.TP 3n
|
||||
Request-User-Session-Key
|
||||
Apon sucessful authenticaiton, return the user session key associated with the login.
|
||||
.sp
|
||||
-\fBExample 12. \fRRequest-User-Session-Key: Yes
|
||||
+\fBExample 12.\fR Request-User-Session-Key: Yes
|
||||
.TP 3n
|
||||
Request-LanMan-Session-Key
|
||||
Apon sucessful authenticaiton, return the LANMAN session key associated with the login.
|
||||
.sp
|
||||
-\fBExample 13. \fRRequest-LanMan-Session-Key: Yes
|
||||
+\fBExample 13.\fR Request-LanMan-Session-Key: Yes
|
||||
.sp
|
||||
.it 1 an-trap
|
||||
.nr an-no-space-flag 1
|
@ -1,23 +0,0 @@
|
||||
------------------------------------------------------------------------
|
||||
r21857 | gd | 2007-03-16 17:20:47 +0100 (Fri, 16 Mar 2007) | 4 lines
|
||||
|
||||
Stop pretending to be Vista in the %a macro towards Samba clients.
|
||||
|
||||
Guenther
|
||||
|
||||
------------------------------------------------------------------------
|
||||
Index: source/smbd/negprot.c
|
||||
===================================================================
|
||||
--- source/smbd/negprot.c (revision 21856)
|
||||
+++ source/smbd/negprot.c (revision 21857)
|
||||
@@ -259,7 +259,9 @@ static int reply_nt1(char *inbuf, char *
|
||||
if ( (SVAL(inbuf, smb_flg2) & FLAGS2_EXTENDED_SECURITY) &&
|
||||
((SVAL(inbuf, smb_flg2) & FLAGS2_UNKNOWN_BIT4) == 0) )
|
||||
{
|
||||
- set_remote_arch( RA_VISTA );
|
||||
+ if (get_remote_arch() != RA_SAMBA) {
|
||||
+ set_remote_arch( RA_VISTA );
|
||||
+ }
|
||||
}
|
||||
|
||||
/* do spnego in user level security if the client
|
@ -1,39 +0,0 @@
|
||||
--- source/Makefile.in
|
||||
+++ source/Makefile.in
|
||||
@@ -160,6 +160,8 @@
|
||||
|
||||
PAM_MODULES = @PAM_MODULES@
|
||||
|
||||
+NSS_MODULES = @WINBIND_WINS_NSS@ @WINBIND_NSS@
|
||||
+
|
||||
SCRIPTS = $(srcdir)/script/smbtar $(builddir)/script/findsmb
|
||||
|
||||
VFS_MODULES = @VFS_MODULES@
|
||||
@@ -769,6 +771,12 @@
|
||||
all : SHOWFLAGS proto_exists $(SBIN_PROGS) $(BIN_PROGS) $(ROOT_SBIN_PROGS) \
|
||||
$(SHLIBS) $(MODULES) $(PAM_MODULES) @EXTRA_ALL_TARGETS@
|
||||
|
||||
+nss_modules : $(NSS_MODULES)
|
||||
+
|
||||
+libnss_winbind : SHOWFLAGS proto_exists nsswitch/libnss_winbind.@SHLIBEXT@
|
||||
+
|
||||
+libnss_wins : SHOWFLAGS proto_exists nsswitch/libnss_wins.@SHLIBEXT@
|
||||
+
|
||||
pam_modules : $(PAM_MODULES)
|
||||
|
||||
pam_smbpass : SHOWFLAGS proto_exists bin/pam_smbpass.@SHLIBEXT@
|
||||
@@ -1736,6 +1744,14 @@
|
||||
######################################################################
|
||||
# Samba Testing Framework
|
||||
|
||||
+# Check for NSS module problems.
|
||||
+test_nss_modules: nss_modules
|
||||
+ @echo "Testing $(NSS_MODULES) "
|
||||
+ @for module in $(NSS_MODULES); do \
|
||||
+ ./script/tests/dlopen.sh $${module} \
|
||||
+ || exit 1; \
|
||||
+ done
|
||||
+
|
||||
# Check for PAM module problems. Specifically, check that every module we
|
||||
# built can actually be loaded by a minimal PAM-aware application.
|
||||
test_pam_modules: pam_modules
|
File diff suppressed because it is too large
Load Diff
@ -1,11 +0,0 @@
|
||||
--- samba-3.0.24.orig/source/param/loadparm.c 2007-02-04 13:59:13.000000000 -0500
|
||||
+++ samba-3.0.24/source/param/loadparm.c 2007-02-20 14:03:49.000000000 -0500
|
||||
@@ -570,7 +570,7 @@
|
||||
False, /* bInheritPerms */
|
||||
False, /* bInheritACLS */
|
||||
False, /* bInheritOwner */
|
||||
- True, /* bMSDfsRoot */
|
||||
+ False, /* bMSDfsRoot */
|
||||
False, /* bUseClientDriver */
|
||||
True, /* bDefaultDevmode */
|
||||
False, /* bForcePrintername */
|
@ -1,23 +0,0 @@
|
||||
Index: source/Makefile.in
|
||||
===================================================================
|
||||
--- source/Makefile.in.orig
|
||||
+++ source/Makefile.in
|
||||
@@ -687,7 +687,8 @@ PROTO_OBJ = $(SMBD_OBJ_MAIN) \
|
||||
$(RPC_NTSVCS_OBJ) utils/passwd_util.o
|
||||
|
||||
WINBIND_WINS_NSS_OBJ = nsswitch/wins.o $(PARAM_OBJ) \
|
||||
- $(LIBSMB_OBJ) $(LIB_NONSMBD_OBJ) $(NSSWINS_OBJ) $(KRBCLIENT_OBJ)
|
||||
+ $(LIBSMB_OBJ) $(LIB_NONSMBD_OBJ) $(NSSWINS_OBJ) $(KRBCLIENT_OBJ) \
|
||||
+ $(SECRETS_OBJ)
|
||||
|
||||
WINBIND_WINS_NSS_PICOBJS = $(WINBIND_WINS_NSS_OBJ:.o=.@PICSUFFIX@)
|
||||
|
||||
@@ -1231,7 +1232,7 @@ bin/winbindd@EXEEXT@: $(WINBINDD_OBJ) @B
|
||||
@WINBIND_WINS_NSS@: $(WINBIND_WINS_NSS_PICOBJS)
|
||||
@echo "Linking $@"
|
||||
@$(SHLD) $(LDSHFLAGS) -o $@ $(WINBIND_WINS_NSS_PICOBJS) \
|
||||
- $(LDAP_LIBS) $(KRB5LIBS) \
|
||||
+ $(LDAP_LIBS) $(KRB5LIBS) $(LIBS) \
|
||||
@SONAMEFLAG@`basename $@`@NSSSONAMEVERSIONSUFFIX@
|
||||
|
||||
bin/pam_winbind.@SHLIBEXT@: $(PAM_WINBIND_OBJ:.o=.@PICSUFFIX@) bin/.dummy
|
@ -1,118 +0,0 @@
|
||||
------------------------------------------------------------------------
|
||||
r21143 | gd | 2007-02-05 15:34:12 +0100 (Mon, 05 Feb 2007) | 7 lines
|
||||
|
||||
Fix wrong check for pam error codes for getpwnam and lookup winbind
|
||||
requests in pam_winbind (Bug #4094).
|
||||
|
||||
Inspired by fix from Lars Heete.
|
||||
|
||||
Guenther
|
||||
|
||||
------------------------------------------------------------------------
|
||||
Index: source/nsswitch/pam_winbind.c
|
||||
===================================================================
|
||||
--- source/nsswitch/pam_winbind.c (revision 21142)
|
||||
+++ source/nsswitch/pam_winbind.c (revision 21143)
|
||||
@@ -444,21 +444,34 @@ static int pam_winbind_request(pam_handl
|
||||
close_sock();
|
||||
|
||||
/* Copy reply data from socket */
|
||||
- if (response->result != WINBINDD_OK) {
|
||||
- if (response->data.auth.pam_error != PAM_SUCCESS) {
|
||||
- _pam_log(LOG_ERR, "request failed: %s, PAM error was %s (%d), NT error was %s",
|
||||
- response->data.auth.error_string,
|
||||
- pam_strerror(pamh, response->data.auth.pam_error),
|
||||
- response->data.auth.pam_error,
|
||||
- response->data.auth.nt_status_string);
|
||||
- return response->data.auth.pam_error;
|
||||
- } else {
|
||||
- _pam_log(LOG_ERR, "request failed, but PAM error 0!");
|
||||
- return PAM_SERVICE_ERR;
|
||||
- }
|
||||
+ if (response->result == WINBINDD_OK) {
|
||||
+ return PAM_SUCCESS;
|
||||
}
|
||||
|
||||
- return PAM_SUCCESS;
|
||||
+ /* no need to check for pam_error codes for getpwnam() */
|
||||
+ switch (req_type) {
|
||||
+
|
||||
+ case WINBINDD_GETPWNAM:
|
||||
+ case WINBINDD_LOOKUPNAME:
|
||||
+ _pam_log(LOG_ERR, "request failed: %s, NT error was %s",
|
||||
+ response->data.auth.nt_status_string);
|
||||
+ return PAM_USER_UNKNOWN;
|
||||
+ default:
|
||||
+ break;
|
||||
+ }
|
||||
+
|
||||
+ if (response->data.auth.pam_error != PAM_SUCCESS) {
|
||||
+ _pam_log(LOG_ERR, "request failed: %s, PAM error was %s (%d), NT error was %s",
|
||||
+ response->data.auth.error_string,
|
||||
+ pam_strerror(pamh, response->data.auth.pam_error),
|
||||
+ response->data.auth.pam_error,
|
||||
+ response->data.auth.nt_status_string);
|
||||
+ return response->data.auth.pam_error;
|
||||
+ }
|
||||
+
|
||||
+ _pam_log(LOG_ERR, "request failed, but PAM error 0!");
|
||||
+
|
||||
+ return PAM_SERVICE_ERR;
|
||||
}
|
||||
|
||||
static int pam_winbind_request_log(pam_handle_t * pamh,
|
||||
------------------------------------------------------------------------
|
||||
r21310 | gd | 2007-02-13 12:04:10 +0100 (Tue, 13 Feb 2007) | 4 lines
|
||||
|
||||
Fix invalid printfs in pam_winbind.
|
||||
|
||||
Guenther
|
||||
|
||||
------------------------------------------------------------------------
|
||||
Index: source/nsswitch/pam_winbind.c
|
||||
===================================================================
|
||||
--- source/nsswitch/pam_winbind.c (revision 21309)
|
||||
+++ source/nsswitch/pam_winbind.c (revision 21310)
|
||||
@@ -461,8 +461,12 @@ static int pam_winbind_request(pam_handl
|
||||
|
||||
case WINBINDD_GETPWNAM:
|
||||
case WINBINDD_LOOKUPNAME:
|
||||
- _pam_log(LOG_ERR, "request failed: %s, NT error was %s",
|
||||
+ if (strlen(response->data.auth.nt_status_string) > 0) {
|
||||
+ _pam_log(LOG_ERR, "request failed, NT error was %s",
|
||||
response->data.auth.nt_status_string);
|
||||
+ } else {
|
||||
+ _pam_log(LOG_ERR, "request failed");
|
||||
+ }
|
||||
return PAM_USER_UNKNOWN;
|
||||
default:
|
||||
break;
|
||||
@@ -518,15 +522,19 @@ static int pam_winbind_request_log(pam_h
|
||||
}
|
||||
return retval;
|
||||
case PAM_SUCCESS:
|
||||
- if (req_type == WINBINDD_PAM_AUTH) {
|
||||
- /* Otherwise, the authentication looked good */
|
||||
- _pam_log(LOG_NOTICE, "user '%s' granted access", user);
|
||||
- } else if (req_type == WINBINDD_PAM_CHAUTHTOK) {
|
||||
- /* Otherwise, the authentication looked good */
|
||||
- _pam_log(LOG_NOTICE, "user '%s' password changed", user);
|
||||
- } else {
|
||||
- /* Otherwise, the authentication looked good */
|
||||
- _pam_log(LOG_NOTICE, "user '%s' OK", user);
|
||||
+ /* Otherwise, the authentication looked good */
|
||||
+ switch (req_type) {
|
||||
+ case WINBINDD_INFO:
|
||||
+ break;
|
||||
+ case WINBINDD_PAM_AUTH:
|
||||
+ _pam_log(LOG_NOTICE, "user '%s' granted access", user);
|
||||
+ break;
|
||||
+ case WINBINDD_PAM_CHAUTHTOK:
|
||||
+ _pam_log(LOG_NOTICE, "user '%s' password changed", user);
|
||||
+ break;
|
||||
+ default:
|
||||
+ _pam_log(LOG_NOTICE, "user '%s' OK", user);
|
||||
+ break;
|
||||
}
|
||||
|
||||
return retval;
|
@ -1,135 +0,0 @@
|
||||
Index: source/client/client.c
|
||||
===================================================================
|
||||
--- source/client/client.c (revision 21990)
|
||||
+++ source/client/client.c (working copy)
|
||||
@@ -3847,6 +3847,8 @@
|
||||
char *p;
|
||||
int rc = 0;
|
||||
fstring new_workgroup;
|
||||
+ BOOL tar_opt = False;
|
||||
+ BOOL service_opt = False;
|
||||
struct poptOption long_options[] = {
|
||||
POPT_AUTOHELP
|
||||
|
||||
@@ -3893,13 +3895,43 @@
|
||||
x_setbuf( dbf, NULL );
|
||||
}
|
||||
|
||||
- pc = poptGetContext("smbclient", argc, (const char **) argv, long_options,
|
||||
- POPT_CONTEXT_KEEP_FIRST);
|
||||
+ /* skip argv(0) */
|
||||
+ pc = poptGetContext("smbclient", argc, (const char **) argv, long_options, 0);
|
||||
poptSetOtherOptionHelp(pc, "service <password>");
|
||||
|
||||
in_client = True; /* Make sure that we tell lp_load we are */
|
||||
|
||||
while ((opt = poptGetNextOpt(pc)) != -1) {
|
||||
+
|
||||
+ /* if the tar option has been called previouslt, now we need to eat out the leftovers */
|
||||
+ /* I see no other way to keep things sane --SSS */
|
||||
+ if (tar_opt == True) {
|
||||
+ while (poptPeekArg(pc)) {
|
||||
+ poptGetArg(pc);
|
||||
+ }
|
||||
+ tar_opt = False;
|
||||
+ }
|
||||
+
|
||||
+ /* if the service has not yet been specified lets see if it is available in the popt stack */
|
||||
+ if (!service_opt && poptPeekArg(pc)) {
|
||||
+ pstrcpy(service, poptGetArg(pc));
|
||||
+ /* Convert any '/' characters in the service name to '\' characters */
|
||||
+ string_replace(service, '/','\\');
|
||||
+
|
||||
+ if (count_chars(service,'\\') < 3) {
|
||||
+ d_printf("\n%s: Not enough '\\' characters in service\n",service);
|
||||
+ poptPrintUsage(pc, stderr, 0);
|
||||
+ exit(1);
|
||||
+ }
|
||||
+ service_opt = True;
|
||||
+ }
|
||||
+
|
||||
+ /* if the service has already been retrieved then check if we have also a password */
|
||||
+ if (service_opt && (!cmdline_auth_info.got_pass) && poptPeekArg(pc)) {
|
||||
+ pstrcpy(cmdline_auth_info.password, poptGetArg(pc));
|
||||
+ cmdline_auth_info.got_pass = True;
|
||||
+ }
|
||||
+
|
||||
switch (opt) {
|
||||
case 'M':
|
||||
/* Messages are sent to NetBIOS name type 0x3
|
||||
@@ -3954,13 +3986,9 @@
|
||||
poptPrintUsage(pc, stderr, 0);
|
||||
exit(1);
|
||||
}
|
||||
- /* Now we must eat (optnum - i) options - they have
|
||||
- * been processed by tar_parseargs().
|
||||
- */
|
||||
- optnum -= i;
|
||||
- for (i = 0; i < optnum; i++)
|
||||
- poptGetOptArg(pc);
|
||||
}
|
||||
+ /* this must be the last option, mark we have parsed it so that we know we have */
|
||||
+ tar_opt = True;
|
||||
break;
|
||||
case 'D':
|
||||
pstrcpy(base_directory,poptGetOptArg(pc));
|
||||
@@ -3971,8 +3999,34 @@
|
||||
}
|
||||
}
|
||||
|
||||
- poptGetArg(pc);
|
||||
+ /* We may still have some leftovers after the last popt option has been called */
|
||||
+ if (tar_opt == True) {
|
||||
+ while (poptPeekArg(pc)) {
|
||||
+ poptGetArg(pc);
|
||||
+ }
|
||||
+ tar_opt = False;
|
||||
+ }
|
||||
|
||||
+ /* if the service has not yet been specified lets see if it is available in the popt stack */
|
||||
+ if (!service_opt && poptPeekArg(pc)) {
|
||||
+ pstrcpy(service, poptGetArg(pc));
|
||||
+ /* Convert any '/' characters in the service name to '\' characters */
|
||||
+ string_replace(service, '/','\\');
|
||||
+
|
||||
+ if (count_chars(service,'\\') < 3) {
|
||||
+ d_printf("\n%s: Not enough '\\' characters in service\n",service);
|
||||
+ poptPrintUsage(pc, stderr, 0);
|
||||
+ exit(1);
|
||||
+ }
|
||||
+ service_opt = True;
|
||||
+ }
|
||||
+
|
||||
+ /* if the service has already been retrieved then check if we have also a password */
|
||||
+ if (service_opt && (!cmdline_auth_info.got_pass) && poptPeekArg(pc)) {
|
||||
+ pstrcpy(cmdline_auth_info.password, poptGetArg(pc));
|
||||
+ cmdline_auth_info.got_pass = True;
|
||||
+ }
|
||||
+
|
||||
/* check for the -P option */
|
||||
|
||||
if ( port != 0 )
|
||||
@@ -4011,23 +4065,6 @@
|
||||
else
|
||||
pstrcpy( calling_name, global_myname() );
|
||||
|
||||
- if(poptPeekArg(pc)) {
|
||||
- pstrcpy(service,poptGetArg(pc));
|
||||
- /* Convert any '/' characters in the service name to '\' characters */
|
||||
- string_replace(service, '/','\\');
|
||||
-
|
||||
- if (count_chars(service,'\\') < 3) {
|
||||
- d_printf("\n%s: Not enough '\\' characters in service\n",service);
|
||||
- poptPrintUsage(pc, stderr, 0);
|
||||
- exit(1);
|
||||
- }
|
||||
- }
|
||||
-
|
||||
- if (poptPeekArg(pc) && !cmdline_auth_info.got_pass) {
|
||||
- cmdline_auth_info.got_pass = True;
|
||||
- pstrcpy(cmdline_auth_info.password,poptGetArg(pc));
|
||||
- }
|
||||
-
|
||||
init_names();
|
||||
|
||||
if(new_name_resolve_order)
|
@ -1,45 +0,0 @@
|
||||
Author: gd
|
||||
Revision: r23121
|
||||
Modified: source/Makefile.in source/pam_smbpass/general.h source/pam_smbpass/pam_smb_acct.c source/pam_smbpass/pam_smb_auth.c source/pam_smbpass/pam_smb_passwd.c /branches/SAMBA_3_0_25/source/Makefile.in /branches/SAMBA_3_0_25/source/pam_smbpass/general.h /branches/SAMBA_3_0_26/source/Makefile.in /branches/SAMBA_3_0_26/source/pam_smbpass/general.h
|
||||
Added:
|
||||
Removed:
|
||||
|
||||
|
||||
Fix Bug #2727 and let pam_smbpass at least link and dlopen correctly again.
|
||||
|
||||
Thanks to Bartlomiej Solarz-Niesluchowski <Bartlomiej.Solarz-Niesluchowski@wit.edu.pl>.
|
||||
|
||||
Guenther
|
||||
|
||||
|
||||
Index: source/Makefile.in
|
||||
===================================================================
|
||||
--- source/Makefile.in (revision 23120)
|
||||
+++ source/Makefile.in (revision 23121)
|
||||
@@ -750,10 +750,10 @@
|
||||
$(LIBSMB_OBJ) $(LIB_NONSMBD_OBJ) $(NSSWINS_OBJ) $(KRBCLIENT_OBJ) $(SECRETS_OBJ)
|
||||
|
||||
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 \
|
||||
- $(PARAM_OBJ) $(LIB_NONSMBD_OBJ) $(PASSDB_OBJ) $(GROUPDB_OBJ) \
|
||||
+ pam_smbpass/pam_smb_acct.o pam_smbpass/support.o
|
||||
+PAM_SMBPASS_OBJ = $(PAM_SMBPASS_OBJ_0) $(PARAM_OBJ) $(LIB_NONSMBD_OBJ) $(PASSDB_OBJ) $(GROUPDB_OBJ) \
|
||||
$(SECRETS_OBJ) $(SMBLDAP_OBJ) $(LIBSAMBA_OBJ) \
|
||||
- $(RPC_PARSE_OBJ1) $(DOSERR_OBJ)
|
||||
+ $(RPC_PARSE_OBJ1) $(DOSERR_OBJ) $(ERRORMAP_OBJ)
|
||||
|
||||
IDMAP_OBJ = nsswitch/idmap.o nsswitch/idmap_cache.o nsswitch/idmap_util.o @IDMAP_STATIC@
|
||||
|
||||
Index: source/pam_smbpass/general.h
|
||||
===================================================================
|
||||
--- source/pam_smbpass/general.h (revision 23120)
|
||||
+++ source/pam_smbpass/general.h (revision 23121)
|
||||
@@ -121,7 +121,7 @@
|
||||
|
||||
struct _pam_failed_auth {
|
||||
char *user; /* user that's failed to be authenticated */
|
||||
- int id; /* uid of requested user */
|
||||
+ uid_t id; /* uid of requested user */
|
||||
char *agent; /* attempt from user with name */
|
||||
int count; /* number of failures so far */
|
||||
};
|
20
samba.spec
20
samba.spec
@ -1,8 +1,8 @@
|
||||
Summary: The Samba Suite of programs
|
||||
Name: samba
|
||||
Epoch: 0
|
||||
Version: 3.0.25a
|
||||
Release: 2%{?dist}
|
||||
Version: 3.0.25b
|
||||
Release: 1%{?dist}
|
||||
License: GPL
|
||||
Group: System Environment/Daemons
|
||||
URL: http://www.samba.org/
|
||||
@ -32,21 +32,15 @@ Source999: filter-requires-samba.sh
|
||||
# (none right now)
|
||||
|
||||
# generic patches
|
||||
#Patch101: samba-2.2.0-smbw.patch
|
||||
Patch102: samba-3.0.0beta1-pipedir.patch
|
||||
#Patch103: samba-3.0.23-logfiles.patch
|
||||
Patch104: samba-3.0.0rc3-nmbd-netbiosname.patch
|
||||
#Patch105: samba-3.0.23-smb.conf.patch
|
||||
#Patch106: samba-3.0.23d-man.patch
|
||||
# The passwd part has been applied, but not the group part
|
||||
Patch107: samba-3.0.23rc3-passwd.patch
|
||||
#Patch108: samba-3.0.8-non-ascii-domain.patch
|
||||
Patch110: samba-3.0.21pre1-smbspool.patch
|
||||
Patch111: samba-3.0.13-smbclient.patch
|
||||
#Patch112: samba-3.0.15pre2-bug106483.patch
|
||||
#Patch113: samba-3.0.21-warnings.patch
|
||||
Patch200: samba-3.0.25rc1-inotifiy.patch
|
||||
Patch201: samba-3.0.25a-pam_smbpass.patch
|
||||
|
||||
|
||||
Requires(pre): samba-common = %{epoch}:%{version}-%{release}
|
||||
@ -156,20 +150,14 @@ cp %{SOURCE11} packaging/Fedora/
|
||||
# Upstream patches
|
||||
#(none)
|
||||
# generic patches
|
||||
#%patch101 -p1 -b .smbw
|
||||
%patch102 -p1 -b .pipedir
|
||||
#%patch103 -p1 -b .logfiles
|
||||
%patch104 -p1 -b .nmbd-netbiosname
|
||||
#%patch105 -p1 -b .upstream
|
||||
#%patch106 -p1 -b .man
|
||||
%patch107 -p1 -b .passwd
|
||||
#%patch108 -p1 -b .non-ascii-domain
|
||||
%patch110 -p1 -b .smbspool
|
||||
%patch111 -p1 -b .smbclient
|
||||
#%patch112 -p1 -b .bug106483
|
||||
#%patch113 -p1 -b .warnings
|
||||
%patch200 -p0 -b .inotify
|
||||
%patch201 -p0 -b .pam_smbpass
|
||||
|
||||
# crap
|
||||
rm -f examples/VFS/.cvsignore
|
||||
@ -631,6 +619,10 @@ exit 0
|
||||
#%{_includedir}/libmsrpc.h
|
||||
|
||||
%changelog
|
||||
* Tue Jun 26 2007 Simo Sorce <ssorce@redhat.com> 3.0.25b-1.fc8
|
||||
- update to 3.0.25b
|
||||
- better error codes for init scripts: #244823
|
||||
|
||||
* Tue May 29 2007 Günther Deschner <gdeschner@redhat.com>
|
||||
- fix pam_smbpass patch.
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user