5.50.1 DSNAME Equality
When comparing DSNAME elements for equality, an implementation must be aware that multiple attributes can be specified. DSNAME values x and y are equal only if one of the following conditions holds:
x.Guid is not zeros and y.Guid is not zeros and x.Guid = y.Guid
All of the following are true:
x.Guid is zeros or y.Guid is zeros.
x.StringLen ≠ 0.
The number of RDNs in x is the same as in y.
For each RDN xi in x and RDN yi in y (see [RFC2253]):
AttributeType of xi = AttributeType of yi.
AttributeValue of xi = AttributeValue of yi, without regard to case differences, Hiragana and Katakana character differences, and nonspacing characters.
All of the following are true:
x.Guid is zeros.
y.Guid is zeros.
x.StringLen = 0.
y.StringLen = 0.
x.SidLen ≠ 0.
x.SidLen = y.SidLen.
x.Sid and y.Sid contain identical values in the first x.SidLen array items.