diff options
author | delphij <delphij@FreeBSD.org> | 2014-12-07 18:15:27 +0000 |
---|---|---|
committer | delphij <delphij@FreeBSD.org> | 2014-12-07 18:15:27 +0000 |
commit | 24c34f7c2a74fba0825876dc52b47e7c4972f523 (patch) | |
tree | 4c8b8087b0d89e3f5a6fdc1a54ca6ed786c99e63 /cddl/contrib/opensolaris/cmd | |
parent | 15bfe2d26274bcac738882fc5c83faa0d0eddabe (diff) | |
download | FreeBSD-src-24c34f7c2a74fba0825876dc52b47e7c4972f523.zip FreeBSD-src-24c34f7c2a74fba0825876dc52b47e7c4972f523.tar.gz |
MFV r275537:
Illumos issue:
5316 allow smbadm join to use RPC
(Due to our lack of smbsrv this is mostly no-op on
FreeBSD)
MFC after: 2 weeks
Diffstat (limited to 'cddl/contrib/opensolaris/cmd')
-rw-r--r-- | cddl/contrib/opensolaris/cmd/zfs/zfs_main.c | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c b/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c index baac993..f883186 100644 --- a/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c +++ b/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c @@ -68,6 +68,7 @@ #ifdef sun #include <aclutils.h> #include <directory.h> +#include <idmap.h> #endif #include "zfs_iter.h" @@ -2390,10 +2391,9 @@ userspace_cb(void *arg, const char *domain, uid_t rid, uint64_t space) /* SMB */ char sid[ZFS_MAXNAMELEN + 32]; uid_t id; - uint64_t classes; #ifdef sun int err; - directory_error_t e; + int flag = IDMAP_REQ_FLG_USE_CACHE; #endif smbentity = B_TRUE; @@ -2416,10 +2416,13 @@ userspace_cb(void *arg, const char *domain, uid_t rid, uint64_t space) if (err == 0) { rid = id; if (!cb->cb_sid2posix) { - e = directory_name_from_sid(NULL, sid, &name, - &classes); - if (e != NULL) - directory_error_free(e); + if (type == USTYPE_SMB_USR) { + (void) idmap_getwinnamebyuid(rid, flag, + &name, NULL); + } else { + (void) idmap_getwinnamebygid(rid, flag, + &name, NULL); + } if (name == NULL) name = sid; } |