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:

  1. Param_serverInfo.Name MUST NOT be NULL or empty.

  2. Param_serverInfo.Name MUST NOT be of length greater than 63.

  3. Param_serverInfo.Domain MUST NOT be NULL, and it MUST NOT be of length greater than 255.

  4. If Param_serverInfo.Description is specified, it MUST NOT be of size greater than 1024.

  5. If Param_serverInfo.Owner is specified, its length MUST NOT exceed 255.

  6. Param_serverInfo.ServerRoleCollection MUST NOT be NULL and MUST contain at least one ServerRole instance in it.

  7. If Param_serverInfo.ServerRoleCollection contains an array of ServerRole, at least one of the ServerRole instances MUST have ServerRoleInclusionStatus set to TRUE.

  8. For each ServerRole instance in Param_serverInfo.ServerRoleCollection, ServerRole.ParentServer MUST be the same as Param_serverInfo.

  9. ServerGuid MUST NOT be NULL or empty and it MUST NOT exceed length of 38.

  10. Param_serverInfo.OSVersion MUST be at least the minimum operating system version<79> supported by the implementation.

  11. Param_serverInfo.IPAddresses MUST NOT be empty.

  12. The IP addresses in Param_serverInfo MUST meet the following conditions:

    1. The IPv4 address MUST NOT fall within the following subnets. This is ascertained by checking the individual address octets of the IPv4 IP address:

      1. 0/8 – First octet of the address MUST NOT be 0.

      2. 127/8 – First octet of the address MUST NOT be 127.

      3. 169.254/16 – First and second octet of the address MUST NOT be 169 and 254 respectively.

      4. 255.255.255.255 – All octets of the address MUST NOT be 255.

    2. The IPv6 address MUST NOT be one of the following:

      1. ::0

      2. ::1

      3. IPv6 Link local address

      4. IPv6 Site local address

      5. IPv6 Multicast address