2.4.2 RDN2_REC

 Each RDN2_REC structure corresponds to a node in the RDN index tree. The server constructs the tree as a threaded tree so that searches and moving to the next and previous records are efficient.


0


1


2


3


4


5


6


7


8


9

1
0


1


2


3


4


5


6


7


8


9

2
0


1


2


3


4


5


6


7


8


9

3
0


1

oLT

oGT

iBrowse

oPrev

oNext

oParentDN

acKey (variable)

...

oLT (4 bytes):  A 32-bit unsigned integer that specifies the offset of the left RDN2_REC child of the current node in the RDN Index file. The left child MUST sort to the same value as the current node or less. This field MUST be set to 0x00000000 to indicate that there is no left child node.

oGT (4 bytes):  A 32-bit unsigned integer that specifies the offset of the right RDN2_REC child of the current node in the RDN Index file. The right child MUST sort to the same value as the current node or greater. This field MUST be set to 0x00000000 to indicate that there is no right child node.

iBrowse (4 bytes):  A 32-bit unsigned integer that specifies the index to the B2_REC in the browse file that references this record. The values 0x00000000 through 0x00000002 are reserved and MUST NOT be used. The index value in the Browse file is computed by using the following equation: iBrowse – 0x00000003.

oPrev (4 bytes):  A 32-bit unsigned integer that specifies the offset of the previous RDN2_REC record in the RDN Index file when sorted as a flat list. This field MUST be set to 0x00000000 to indicate that this is the first node in the list.

oNext (4 bytes):  A 32-bit unsigned integer that specifies the offset of the next RDN2_REC record in the RDN Index file when sorted as a flat list. This field MUST be set to 0x00000000 to indicate that this is the last node in the list.

oParentDN (4 bytes):  A 32-bit unsigned integer that specifies the offset of the null-terminated ANSI character set pdn-record string in the RDN Index file. This field MUST NOT be set to 0x00000000.

acKey (variable):  The null-terminated ANSI character set string value of the record, as specified by RDN in section 2.1, or the local portion of the SMTP address. This field MUST be 64 characters or fewer, plus the terminating null character.

For RDN records, "/CN=" MUST be removed from the final RDN before storing in the RDN Index file. The oParentDN points at the parent X500 DN; therefore, the actual value is computed by prepending the acKey value with "/CN=" then appending that result onto the end of the parent DN (3) value.

For SMTP records, the SMTP address is split after '@' and the local-part of the SMTP address including the '@' is stored in the acKey field. The domain name part of the SMTP address is pointed to by the oParentDN offset.