3.1.4.12 ValidateServerInfo
The ValidateServerInfo event captures the common validation requirements for a ServerInfo data. 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 an FQDN, split it into server name and domain name. Store the server name into Param_serverInfo.Name and store the domain name in Param_serverInfo.Domain.
The following validations MUST pass for ServerInfo to be valid:
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, its 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 instances 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<79> 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