svn commit: samba r5207 - in branches/SAMBA_3_0/source: client libads nsswitch

jerry at samba.org jerry at samba.org
Fri Feb 4 00:25:34 GMT 2005


Author: jerry
Date: 2005-02-04 00:25:33 +0000 (Fri, 04 Feb 2005)
New Revision: 5207

WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=5207

Log:
patches from Jay Fenlason @ RedHat (scooped from their Fedora packages)
Modified:
   branches/SAMBA_3_0/source/client/smbmnt.c
   branches/SAMBA_3_0/source/client/smbumount.c
   branches/SAMBA_3_0/source/libads/ldap.c
   branches/SAMBA_3_0/source/nsswitch/pam_winbind.c
   branches/SAMBA_3_0/source/nsswitch/winbindd_ads.c


Changeset:
Modified: branches/SAMBA_3_0/source/client/smbmnt.c
===================================================================
--- branches/SAMBA_3_0/source/client/smbmnt.c	2005-02-03 16:25:36 UTC (rev 5206)
+++ branches/SAMBA_3_0/source/client/smbmnt.c	2005-02-04 00:25:33 UTC (rev 5207)
@@ -162,7 +162,7 @@
 
 	slprintf(opts, sizeof(opts)-1,
 		 "version=7,uid=%d,gid=%d,file_mode=0%o,dir_mode=0%o,%s",
-		 data->uid, data->gid, data->file_mode, data->dir_mode,options);
+		 mount_uid, mount_gid, data->file_mode, data->dir_mode,options);
 	if (mount(share_name, ".", "smbfs", flags, data1) == 0)
 		return 0;
 	return mount(share_name, ".", "smbfs", flags, data2);
@@ -225,7 +225,7 @@
                 return -1;
         }
 
-        data.uid = mount_uid;
+        data.uid = mount_uid;    // truncates to 16-bits here!!!
         data.gid = mount_gid;
         data.file_mode = (S_IRWXU|S_IRWXG|S_IRWXO) & mount_fmask;
         data.dir_mode  = (S_IRWXU|S_IRWXG|S_IRWXO) & mount_dmask;

Modified: branches/SAMBA_3_0/source/client/smbumount.c
===================================================================
--- branches/SAMBA_3_0/source/client/smbumount.c	2005-02-03 16:25:36 UTC (rev 5206)
+++ branches/SAMBA_3_0/source/client/smbumount.c	2005-02-04 00:25:33 UTC (rev 5207)
@@ -39,7 +39,7 @@
 	/* we set O_NOFOLLOW to prevent users playing games with symlinks to
 	   umount filesystems they don't own */
         int fid = open(mount_point, O_RDONLY|O_NOFOLLOW, 0);
-        __kernel_uid_t mount_uid;
+        __kernel_uid32_t mount_uid;
 	
         if (fid == -1) {
                 fprintf(stderr, "Could not open %s: %s\n",
@@ -47,10 +47,14 @@
                 return -1;
         }
         
-        if (ioctl(fid, SMB_IOC_GETMOUNTUID, &mount_uid) != 0) {
-                fprintf(stderr, "%s probably not smb-filesystem\n",
-                        mount_point);
-                return -1;
+        if (ioctl(fid, SMB_IOC_GETMOUNTUID32, &mount_uid) != 0) {
+                __kernel_uid_t mount_uid16;
+                if (ioctl(fid, SMB_IOC_GETMOUNTUID, &mount_uid16) != 0) {
+                        fprintf(stderr, "%s probably not smb-filesystem\n",
+                                mount_point);
+                        return -1;
+                }
+                mount_uid = mount_uid16;
         }
 
         if ((getuid() != 0)

Modified: branches/SAMBA_3_0/source/libads/ldap.c
===================================================================
--- branches/SAMBA_3_0/source/libads/ldap.c	2005-02-03 16:25:36 UTC (rev 5206)
+++ branches/SAMBA_3_0/source/libads/ldap.c	2005-02-04 00:25:33 UTC (rev 5207)
@@ -2526,7 +2526,7 @@
 	int i;
 	void *res;
 	const char *attrs[] = {"servicePrincipalName", NULL};
-	int num_principals;
+	size_t num_principals;
 
 	(*workgroup) = NULL;
 

Modified: branches/SAMBA_3_0/source/nsswitch/pam_winbind.c
===================================================================
--- branches/SAMBA_3_0/source/nsswitch/pam_winbind.c	2005-02-03 16:25:36 UTC (rev 5206)
+++ branches/SAMBA_3_0/source/nsswitch/pam_winbind.c	2005-02-04 00:25:33 UTC (rev 5207)
@@ -4,7 +4,7 @@
    Copyright Tim Potter <tpot at samba.org> 2000
    Copyright Andrew Bartlett <abartlet at samba.org> 2002
 
-   largely based on pam_userdb by Christian Gafton <gafton at redhat.com> 
+   largely based on pam_userdb by Cristian Gafton <gafton at redhat.com> 
    also contains large slabs of code from pam_unix by Elliot Lee <sopwith at redhat.com>
    (see copyright below for full details)
 */
@@ -696,7 +696,7 @@
 		lctrl = ctrl;
 		
 		if (on(WINBIND_USE_AUTHTOK_ARG, lctrl)) {
-			ctrl = WINBIND_USE_FIRST_PASS_ARG | lctrl;
+			lctrl |= WINBIND_USE_FIRST_PASS_ARG;
 		}
 		retry = 0;
 		retval = PAM_AUTHTOK_ERR;

Modified: branches/SAMBA_3_0/source/nsswitch/winbindd_ads.c
===================================================================
--- branches/SAMBA_3_0/source/nsswitch/winbindd_ads.c	2005-02-03 16:25:36 UTC (rev 5206)
+++ branches/SAMBA_3_0/source/nsswitch/winbindd_ads.c	2005-02-04 00:25:33 UTC (rev 5207)
@@ -651,7 +651,8 @@
 	NTSTATUS status = NT_STATUS_UNSUCCESSFUL;
 	char *sidstr;
 	char **members;
-	int i, num_members;
+	int i;
+	size_t num_members;
 	fstring sid_string;
 	BOOL more_values;
 	const char **attrs;



More information about the samba-cvs mailing list