summaryrefslogtreecommitdiff
path: root/source3
diff options
context:
space:
mode:
Diffstat (limited to 'source3')
-rw-r--r--source3/include/smb.h2
-rw-r--r--source3/lib/util.c3
-rw-r--r--source3/smbd/sesssetup.c4
3 files changed, 8 insertions, 1 deletions
diff --git a/source3/include/smb.h b/source3/include/smb.h
index d3fa3f2790..49c653e8f3 100644
--- a/source3/include/smb.h
+++ b/source3/include/smb.h
@@ -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};
diff --git a/source3/lib/util.c b/source3/lib/util.c
index e70dd6a341..99c4200eb3 100644
--- a/source3/lib/util.c
+++ b/source3/lib/util.c
@@ -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";
diff --git a/source3/smbd/sesssetup.c b/source3/smbd/sesssetup.c
index d9333502b8..3cb07bea74 100644
--- a/source3/smbd/sesssetup.c
+++ b/source3/smbd/sesssetup.c
@@ -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 ? */