Detect Mac OS X as a separate client type.
authorJustin Maggard <justin.maggard@netgear.com>
Fri, 25 Feb 2011 00:25:30 +0000 (16:25 -0800)
committerJeremy Allison <jra@samba.org>
Fri, 25 Feb 2011 00:57:04 +0000 (01:57 +0100)
docs-xml/manpages-3/smb.conf.5.xml
source3/include/smb.h
source3/lib/util.c
source3/smbd/sesssetup.c

index 7423fc4e453ac8764084390f1526806797ff4ba7..a9aa32fd0d9525fdc2bab8a6fc8b15c838013a8a 100644 (file)
@@ -488,6 +488,7 @@ chmod 1770 /usr/local/samba/lib/usershares
                    The architecture of the remote
                    machine.  It currently recognizes Samba (<constant>Samba</constant>), 
                    the Linux CIFS file system (<constant>CIFSFS</constant>), OS/2, (<constant>OS2</constant>),
+                   Mac OS X (<constant>OSX</constant>),
                    Windows for Workgroups (<constant>WfWg</constant>), Windows 9x/ME 
                    (<constant>Win95</constant>), Windows NT (<constant>WinNT</constant>),
                    Windows 2000 (<constant>Win2K</constant>),
index d3fa3f2790ccb1f61d2b35b64e5d6a2a93513beb..49c653e8f3a8194e3a0f88b38b719bafbe4bb576 100644 (file)
@@ -1456,7 +1456,7 @@ enum ldap_passwd_sync_types {LDAP_PASSWD_SYNC_ON, LDAP_PASSWD_SYNC_OFF, LDAP_PAS
 /* Remote architectures we know about. */
 enum remote_arch_types {RA_UNKNOWN, RA_WFWG, RA_OS2, RA_WIN95, RA_WINNT,
                        RA_WIN2K, RA_WINXP, RA_WIN2K3, RA_VISTA,
-                       RA_SAMBA, RA_CIFSFS, RA_WINXP64};
+                       RA_SAMBA, RA_CIFSFS, RA_WINXP64, RA_OSX};
 
 /* case handling */
 enum case_handling {CASE_LOWER,CASE_UPPER};
index e70dd6a341ccdb9422a93a36107833c8ef2a165c..99c4200eb3c210f4121659a5a1a5f52dc7306c84 100644 (file)
@@ -1858,6 +1858,9 @@ void set_remote_arch(enum remote_arch_types type)
        case RA_CIFSFS:
                remote_arch_str = "CIFSFS";
                break;
+       case RA_OSX:
+               remote_arch_str = "OSX";
+               break;
        default:
                ra_type = RA_UNKNOWN;
                remote_arch_str = "UNKNOWN";
index d9333502b877d8152b239742108566fc61ed7b95..3cb07bea740b49ce00b8fcd6564b958cab53040c 100644 (file)
@@ -1095,6 +1095,10 @@ static void reply_sesssetup_and_X_spnego(struct smb_request *req)
                } else {
                        ra_lanman_string( native_lanman );
                }
+       } else if ( ra_type == RA_VISTA ) {
+               if ( strncmp(native_os, "Mac OS X", 8) == 0 ) {
+                       set_remote_arch(RA_OSX);
+               }
        }
 
        /* Did we get a valid vuid ? */