diff options
author | Gordon Ross <gwr@nexenta.com> | 2013-06-17 10:34:00 -0400 |
---|---|---|
committer | Gordon Ross <gwr@nexenta.com> | 2015-06-04 16:46:25 -0400 |
commit | b819cea2f73f98c5662230cc9affc8cc84f77fcf (patch) | |
tree | a3677952ded5706400717b9b79b0aeaa3d93a739 /usr/src/lib/smbsrv/libsmb/common/smb_sam.c | |
parent | 83d2dfe69259e79314662cf95e6d1f9103dcffe2 (diff) | |
download | illumos-gate-b819cea2f73f98c5662230cc9affc8cc84f77fcf.tar.gz |
5917 User-mode SMB server
Authored by: Thomas Keiser <thomas.keiser@nexenta.com>
Authored by: Albert Lee <trisk@nexenta.com>
Reviewed by: Igor Kozhukhov <ikozhukhov@gmail.com>
Reviewed by: Richard Lowe <richlowe@richlowe.net>
Reviewed by: Albert Lee <trisk@omniti.com>
Approved by: Dan McDonald <danmcd@omniti.com>
Diffstat (limited to 'usr/src/lib/smbsrv/libsmb/common/smb_sam.c')
-rw-r--r-- | usr/src/lib/smbsrv/libsmb/common/smb_sam.c | 35 |
1 files changed, 34 insertions, 1 deletions
diff --git a/usr/src/lib/smbsrv/libsmb/common/smb_sam.c b/usr/src/lib/smbsrv/libsmb/common/smb_sam.c index 7016f5a878..e236b56724 100644 --- a/usr/src/lib/smbsrv/libsmb/common/smb_sam.c +++ b/usr/src/lib/smbsrv/libsmb/common/smb_sam.c @@ -19,9 +19,10 @@ * CDDL HEADER END */ /* - * Copyright 2011 Nexenta Systems, Inc. All rights reserved. * Copyright 2010 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. + * + * Copyright 2013 Nexenta Systems, Inc. All rights reserved. */ #include <strings.h> @@ -571,3 +572,35 @@ smb_lwka_lookup_sid(smb_sid_t *sid) return (NULL); } + +/* + * smb_sid_islocal + * + * Check a SID to see if it belongs to the local domain. + */ +boolean_t +smb_sid_islocal(smb_sid_t *sid) +{ + smb_domain_t di; + boolean_t islocal = B_FALSE; + + if (smb_domain_lookup_type(SMB_DOMAIN_LOCAL, &di)) + islocal = smb_sid_indomain(di.di_binsid, sid); + + return (islocal); +} + +void +smb_ids_free(smb_ids_t *ids) +{ + smb_id_t *id; + int i; + + if ((ids != NULL) && (ids->i_ids != NULL)) { + id = ids->i_ids; + for (i = 0; i < ids->i_cnt; i++, id++) + smb_sid_free(id->i_sid); + + free(ids->i_ids); + } +} |