pidgin/pidgin

Implement SNI support for the gnutls SSL plugin.
release-2.x.y
2019-12-16, Mihai Moldovan
6dba8046e1b1
Implement SNI support for the gnutls SSL plugin.

Note that gnutls is picky in regard to what it accepts as the server name - it
MUST be a domain name. IP addresses are not supported according to the
documentation.

Hence, filter out IP addresses and hope that whatever is not recognized as
such an address is actually a domain name. This will probably fail for more
exotic addresses (especially in IPv6 realm), but wiring up a full-blown parser
is too much effort and SSL plugins are not part of purple-3 anyway.

Fixes #17300
For information on writing a plugin for Purple, Pidgin or Finch, go
http://developer.pidgin.im and click on API. From there, see the
HOWTOs in the "Related Pages" section.
You can also generate this documentation locally by installing
doxygen and graphviz dot, then running "make docs" in the
source tree. The documentation will be in the docs/html directory.