Skip to content

server_name: synchronize server name send/receive (remove dns check)

Elliott Mitchell requested to merge ehem/gnutls:master into master

The result of doing rough checking of DNS validity on receive is it makes the library conservative on reception, liberal on send. This is the exact opposite of the need of interoperability. Further while IPv6 addresses were being rejected by the rough test, IPv4 addresses were being accepted. This can enhance shadow networks and increase trouble, rather than reducing it.

I suspect most server programs using GnuTLS can likely deal with more or less arbitrary names. As such, rejecting nul characters is about the only reasonable test. I believe this means the existing tests continue to behave.

I'm quite unsure of how the situation should be handled, but the mismatch between IPv4/IPv6 addresses and the checking on reception not send are both highly problematic.

Checklist

  • Commits have Signed-off-by: with name/author being identical to the commit author
  • Code modified for feature
  • Test suite updated with functionality tests
  • Test suite updated with negative tests
  • Documentation updated / NEWS entry present (for non-trivial changes)
  • CI timeout is 2h or higher (see Settings/CICD/General pipelines/Timeout)

Reviewer's checklist:

  • Any issues marked for closing are addressed
  • There is a test suite reasonably covering new functionality or modifications
  • Function naming, parameters, return values, types, etc., are consistent and according to CONTRIBUTION.md
  • This feature/change has adequate documentation added
  • No obvious mistakes in the code

Merge request reports