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.