Cannot add CIRA Canadian Shield DoT resolver in reForis
Summary
I've tried to add the CIRA DNS resolver as a custom forwarder in reForis, but I get a validation error.
Steps To Reproduce
- Open https://192.168.1.1/reforis/network-settings/dns
- Click Add a custom forwarder
- Enter the details as in the attached screenshot:
Expected Result
Should work.
Actual Result
Here are the contents of the 400 response I get:
jsonschema.exceptions.ValidationError: {'description': 'CIRA Canadian Shield', 'ipaddresses': {'ipv4': ['149.112.121.20', '149.112.122.20'], 'ipv6': ['2620:10A:80BB::20', '2620:10A:80BC::20']}, 'tls_type': 'hostname', 'tls_hostname': 'protected.canadianshield.cira.ca', 'undefined': ''} is not valid under any of the given schemas
Failed validating 'oneOf' in schema['properties']['data']:
{'oneOf': [{'additionalProperties': False,
'properties': {'description': {'type': 'string'},
'ipaddresses': {'$ref': '#/definitions/forwarder_ipaddresses'},
'tls_type': {'allOf': [{'$ref': '#/definitions/forwarder_tls_type'},
{'enum': ['no']}]}},
'required': ['description', 'tls_type'],
'type': 'object'},
{'additionalProperties': False,
'properties': {'description': {'type': 'string'},
'ipaddresses': {'$ref': '#/definitions/forwarder_ipaddresses'},
'tls_hostname': {'$ref': '#/definitions/forwarder_hostname'},
'tls_type': {'allOf': [{'$ref': '#/definitions/forwarder_tls_type'},
{'enum': ['hostname']}]}},
'required': ['description', 'tls_type', 'tls_hostname'],
'type': 'object'},
{'additionalProperties': False,
'properties': {'description': {'type': 'string'},
'ipaddresses': {'$ref': '#/definitions/forwarder_ipaddresses'},
'tls_pin': {'$ref': '#/definitions/forwarder_pin'},
'tls_type': {'allOf': [{'$ref': '#/definitions/forwarder_tls_type'},
{'enum': ['pin']}]}},
'required': ['description', 'tls_type', 'tls_pin'],
'type': 'object'}]}
On instance['data']:
{'description': 'CIRA Canadian Shield',
'ipaddresses': {'ipv4': ['149.112.121.20', '149.112.122.20'],
'ipv6': ['2620:10A:80BB::20', '2620:10A:80BC::20']},
'tls_hostname': 'protected.canadianshield.cira.ca',
'tls_type': 'hostname',
'undefined': ''}