DHCP Options for Novell Directory Services
Extracted elements (16)
NDS tree names and context strings are encoded using UTF-8 rather than a fixed encoding to support the full 16-bit Unicode character set used by NDS, while keeping compatibility with ASCII-only implementations that can use the ASCII text as-is.
The NDS Context Option is allowed to appear more than once in a DHCP packet (concatenated per RFC 2131) because an NDS context name can exceed the 255-octet limit of a single DHCP option. Implementations are discouraged from enforcing any specific maximum on the final concatenated context.
A single encoded Unicode character in the NDS Context could be split across two NDS Context Option instances. Implementations must handle mid-character splits when concatenating multiple option instances.
In environments restricted to 7-bit ASCII, ASCII-only DHCP clients and servers can support the NDS Tree Name and NDS Context options directly, since 7-bit ASCII is unchanged by the UTF-8 transformation.
NDS servers in the NDS Servers Option SHOULD be listed in order of preference.
The length of the NDS Servers Option MUST be a multiple of 4 octets, with a minimum of 4 octets.
The NDS Context string should NOT be zero-terminated in the option encoding.
The NDS Tree Name string should NOT be zero-terminated in the option encoding.
The NDS Context Option (code 87) specifies the initial NDS context the client should use. The context is a 16-bit Unicode string encoded as UTF-8. Because a context can exceed 255 octets, the option may appear multiple times in a DHCP packet and all instances must be concatenated.
The NDS Servers Option (code 85) carries a list of one or more NDS server IPv4 addresses. The minimum length is 4 octets and the length MUST be a multiple of 4. Servers SHOULD be listed in order of preference.
The NDS Tree Name Option (code 86) specifies the name of the NDS tree the client will contact. The tree name is a 16-bit Unicode string encoded as UTF-8 octets, with a maximum length of 255 bytes.
This document defines three new DHCP option codes: 85 (NDS Servers), 86 (NDS Tree Name), and 87 (NDS Context), extending the DHCP Options and BOOTP Vendor Extensions registry.
DHCP provides no authentication or security mechanisms. An unauthorized DHCP server could use these options to misdirect an NDS client to a nonexistent or spoofed NDS server. These threats are similar to those NDS faces in its native IPX environment.
NDS Context Option wire format: 1-octet code (87), 1-octet length (n, max 255 per instance), followed by n octets of UTF-8 encoded NDS context (not zero-terminated). Multiple instances are concatenated to form the full context.
NDS Servers Option wire format: 1-octet code (85), 1-octet length (n, multiple of 4), followed by n/4 IPv4 addresses each encoded as 4 octets (a1–a4).
NDS Tree Name Option wire format: 1-octet code (86), 1-octet length (n, max 255), followed by n octets of UTF-8 encoded NDS tree name (not zero-terminated).