[cifs-protocol] Please clarify LSA and OsVersion behaviour in MS-NRPC

Andrew Bartlett abartlet at samba.org
Mon Jul 27 05:25:52 MDT 2009


On Fri, 2009-07-10 at 02:48 -0700, Bill Wesse wrote:
> Good day Andrew! Hongwei and I have divided your request in two parts - one each for OsVersion and the LsaPolicy buffer.
> 
> I have just filed a Technical Document Issue (TDI) concerning the OsVersion field (of [MS-NRPC] 2.2.1.3.6 NETLOGON_WORKSTATION_INFO). Hongwei will be your contact for the LsaPolicy buffer information you asked after.
> 
> The OsVersion member is an OSVERSIONINFOEX structure (284 bytes); this is cross-referenced in [MS-REF], and documented on MSDN (links included below, along with the actual typedef). This structure is subject to normal RPC marshaling; .
> 
> As you noted, the OsVersion description states 'the version information is unchanged and uninterpreted' for (placement in) the operatingSystemVersion attribute. This certainly does not match the example given in <23>, which shows "5.2 (3790)".
> 
> I pointed out these discrepancies in the TDI, as well as noting that the operatingSystemVersion attribute is mentioned once only in [MS-ADTS] at 3.1.1.2.3.5 'Flag fRODCFilteredAttribute in Attribute searchFlags' (where there is a link to [MS-ADA3]: Active Directory Schema Attributes N-Z / 2.55 Attribute operatingSystemVersion).
> 
> I have included a manual deconstruction of the OSVERSIONINFOEX structure from netlogon-29.0.in.
> 
> Please let me know your thoughts concerning any further elaboration or reference information that would assist in your efforts!

We do need some further assistance.  Matthias has discovered that we
need to implement the small note on WorkstationFlags:
B: Client handles the update of the service principal name (SPN).

That is, we must handle the update of the servicePrincipalName if that
bit is not set.

What concerns me is what are the rules for updating the dsnHostName and
servicePrincipalName attributes from the information the client supplies
here?

Information such as 'the DC must ensure the client selects a name that
does not already exist' and what forms of servicePrincipalName are
manipulated with this call would be most useful.

I'm concerned that for the natural first implementation, the client
could specify any name, and therefore create a collision in the KDC
(which service to issue the ticket for), or worse still 'spoof' another
server. 

(There is simply no detail on this that I can see in this section)

Thanks,

-- 
Andrew Bartlett
http://samba.org/~abartlet/
Authentication Developer, Samba Team           http://samba.org
Samba Developer, Cisco Inc.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
URL: <http://lists.samba.org/pipermail/cifs-protocol/attachments/20090727/5ce4534a/attachment.pgp>


More information about the cifs-protocol mailing list