{"record":{"id":"f2169e3af29d04db","repo":"theforeman/foreman","slug":"invalid-ip-address-ip","errorCode":null,"errorMessage":"Invalid IP Address #{ip}","messagePattern":"Invalid IP Address #(.+?)","errorType":"validation","errorClass":"Net::Validations::Error","httpStatus":null,"severity":"error","filePath":"app/lib/net/validations.rb","lineNumber":28,"sourceCode":"    DOMAIN_NAME_REGEXP ||= /\\A(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\\-]*[a-zA-Z0-9])\\.)*([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\\-]*[a-zA-Z0-9])\\z/\n    MASK_REGEXP ||= /\\A((255.){3}(0|128|192|224|240|248|252|254))|((255.){2}(0|128|192|224|240|248|252|254).0)|(255.(0|128|192|224|240|248|252|254)(.0){2})|((128|192|224|240|248|252|254)(.0){3})\\z/\n\n    HOST_REGEXP_ERR_MSG = N_(\"hostname can contain only lowercase letters, numbers, dashes and dots according to RFC921, RFC952 and RFC1123\")\n    DOMAIN_NAME_FORMAT_ERR_MSG = N_(\"domain name can contain only letters, numbers, dashes and dots according to RFC 1035 and RFC 2181\")\n\n    class Error < RuntimeError\n    end\n\n    # validates an IPv4 address\n    def self.validate_ip(ip)\n      return false unless ip.present?\n      IPAddr.new(ip, Socket::AF_INET) rescue return false\n      true\n    end\n\n    # validates an IPv4 address and raises an error\n    def self.validate_ip!(ip)\n      raise Error, \"Invalid IP Address #{ip}\" unless validate_ip(ip)\n      ip\n    end\n\n    # validates an IPv6 address\n    def self.validate_ip6(ip)\n      return false unless ip.present?\n      IPAddr.new(ip, Socket::AF_INET6) rescue return false\n      true\n    end\n\n    # validates an IPv6 address and raises an error\n    def self.validate_ip6!(ip)\n      raise Error, \"Invalid IPv6 Address #{ip}\" unless validate_ip6(ip)\n      ip\n    end\n\n    # validates a network mask\n    def self.validate_mask(mask)","sourceCodeStart":10,"sourceCodeEnd":46,"githubUrl":"https://github.com/theforeman/foreman/blob/6b05625475cfe6aac31a88f8c8ee6e62e4efe620/app/lib/net/validations.rb#L10-L46","documentation":"Error \"Invalid IP Address #{ip}\" thrown in theforeman/foreman.","triggerScenarios":"Thrown at app/lib/net/validations.rb:28 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"6b05625475cfe6aac31a88f8c8ee6e62e4efe620","analyzedAt":"2026-08-23T17:46:34.094Z","schemaVersion":2},"datasetVersion":"2026-08-23T21:17:23.414Z"}