Index: src/OFDNSResourceRecord.m ================================================================== --- src/OFDNSResourceRecord.m +++ src/OFDNSResourceRecord.m @@ -76,12 +76,17 @@ string = string.uppercaseString; if ([string isEqual: @"IN"]) DNSClass = OF_DNS_CLASS_IN; - else - @throw [OFInvalidArgumentException exception]; + else { + @try { + DNSClass = (of_dns_class_t)[string decimalValue]; + } @catch (OFInvalidFormatException *e) { + @throw [OFInvalidArgumentException exception]; + } + } objc_autoreleasePoolPop(pool); return DNSClass; } @@ -113,12 +118,18 @@ recordType = OF_DNS_RECORD_TYPE_RP; else if ([string isEqual: @"AAAA"]) recordType = OF_DNS_RECORD_TYPE_AAAA; else if ([string isEqual: @"SRV"]) recordType = OF_DNS_RECORD_TYPE_SRV; - else - @throw [OFInvalidArgumentException exception]; + else { + @try { + recordType = + (of_dns_record_type_t)[string decimalValue]; + } @catch (OFInvalidFormatException *e) { + @throw [OFInvalidArgumentException exception]; + } + } objc_autoreleasePoolPop(pool); return recordType; }