3.1.4.12 ValidateServerInfo
This section captures the common validation requirements for a ServerInfo data. For the rest of the section, the ServerInfo data to be validated is assumed to be present as a parameter with the name Param_serverInfo.
If Param_serverInfo.Name is specified as a fully qualified domain name (FQDN), split it into server name and domain name. Store the server name portion into Param_serverInfo.Name and store the domain name portion into Param_serverInfo.Domain.
Param_serverInfo.Name MUST NOT be null or empty.
Param_serverInfo.Name MUST NOT be of length greater than 63.
Param_serverInfo.Domain MUST NOT be null and it MUST NOT be of length greater than 255.
If Param_serverInfo.Description is specified, it MUST NOT be of size greater than 1024.
If Param_serverInfo.Owner is specified, it’s length MUST NOT exceed 255.
Param_serverInfo.ServerRoleCollection MUST NOT be null and MUST contain at least one ServerRole instance in it.
If Param_serverInfo.ServerRoleCollection contains an array of ServerRole at least one of the ServerRole instance MUST have ServerRoleInclusionStatus set to TRUE.
For each ServerRole instance in Param_serverInfo.ServerRoleCollection, ServerRole.ParentServer MUST be the same as Param_serverInfo.
ServerGuid MUST NOT be null or empty and it MUST NOT exceed length of 38.
Param_serverInfo.OSVersion MUST be at least the minimum operating system version<3> supported by the implementation.
Param_serverInfo.IPAddresses MUST NOT be empty.
The IP addresses in Param_serverInfo MUST meet the following conditions:
The IPv4 address MUST NOT fall within the following subnets. This is ascertained by checking the individual address octets of the IPv4 IP address:
0/8 – First octet of the address MUST not be 0.
127/8 – First octet of the address MUST not be 127.
169.254/16 – First and second octet of the address MUST not be 169 and 254 respectively.
255.255.255.255 – All octets of the address MUST not be 255.
The IPv6 address MUST NOT be one of the following:
::0
::1
IPv6 Link local address
IPv6 Site local address
IPv6 Multicast address