[jcifs] Re: SID.getXxxName returns empty string if account deleted
Jake Goulding
goulding at vivisimo.com
Mon Dec 4 18:43:34 GMT 2006
Seems reasonable, but will there be a way to tell if the SID could be
resolved?
If the SID is resolvable, I would prefer to use the domain\user format,
but if it is not resolvable, the full SID would be most useful. If the
getXxxName always returns a string, how can I tell which case has occurred?
Michael B Allen wrote:
> Is getAccountName, getDomainName or toString returning null? I don't
> think they should. I think I should change the SID class behavior to do the
> following depending on whether or not the SID was successfully resolved:
>
> toString:
> resolved:
> Return a suitable display name
> un-resolved:
> Return the full S-X-Y-Z string
>
> getDomainName:
> resolved:
> Return the domain name
> un-resolved:
> Return the domain component of the S-X-Y-Z string
>
> getAccountName:
> resolved:
> Return the account name
> un-resolved:
> Return only the RID component of the S-X-Y-Z string
>
> These methods should never return null or an empty string. I'm actually
> not certain what getType() will return. I don't think the user should
> have to checking it at all.
>
> Additionally another thing I think I will change is to make it so that
> if the SID is not resolved, calling any of these methods will trigger
> it to be resolved. Currently if the SID.resolve() is not called or if
> the SID was not passed through SID.resolveSids it is not resolved and
> the said methods return null. So you will only get the S-X-Y-X strings
> if the resolution failed (e.g. because the account was deleted). This is
> consistent with the Windows ACL editor. Also, after doing this I suppose
> I can make the SID.resolve() method non-public.
>
> These are all simple changes that should take less than an hour. It was
> sloppy on my part not to consider unresolved sids.
--
JAKE GOULDING
Software Engineer
goulding at vivisimo.com
Vivísimo [Search Done Right]
1710 Murray Avenue
Pittsburgh, PA 15217 USA
tel: +1.412.422.2499 x105
fax: +1.412.422.2495
vivisimo.com clusty.com
More information about the jcifs
mailing list