sslh lets one accept both HTTPS and SSH connections on the same port. It makes
it possible to connect to an SSH server on port 443 (e.g. from inside a
corporate firewall) while still serving HTTPS on that port.

Changelog

2016-07-19 - jsegitz@novell.com
- Update to 1.18
* Added USELIBPCRE to make use of regex engine optional.
* Added support for RFC4366 SNI and RFC7301 ALPN
(Travis Burtrum)
* Changed connection log to include the name of the probe that
triggered.
* Changed configuration file format: 'probe' field is
no longer required, 'name' field can now contain
'tls' or 'regex', with corresponding options (see
example.cfg)
* Added 'log_level' option to each protocol, which
allows to turn off generation of log at each
connection.
* Added 'keepalive' option.
Version 1.17
* Support RFC5952-style IPv6 addresses, e.g. [::]:443.
* Transparant proxy support for FreeBSD (Ruben van Staveren)
* Using -F with no argument will try
/etc/sslh/sslh.cfg and then /etc/sslh.cfg as configuration files.
(argument to -F can no longer be separated from the option by a space,
e.g. must be -Ffoo.cfg)
* Call setgroups() before setgid() (fixes potential
privilege escalation) (Lars Vogdt)
* Use portable way of getting modified time for OSX support (Aaron
Madlon-Kay)
* Example configuration for fail2ban (Every Mouw)
- Dropped missing-call-to-setgroups-before-setuid.patch, included
upstream

2014-12-18 - jsegitz@novell.com
- Added filepath-in-systemd-service.patch to point to correct
patch in systemd service file

2014-03-25 - lars@linux-schulserver.de
- update to 1.16:
+ Probes made more resilient, to incoming data
containing NULLs. Also made them behave properly
when receiving too short packets to probe on the
first incoming packet.
(Ondrej Kuzník)
+ Libcap support: Keep only CAP_NET_ADMIN if started
as root with transparent proxying and dropping
priviledges (enable USELIBCAP in Makefile). This
avoids having to mess with filesystem capabilities.
(Sebastian Schmidt/yath)
+ Fixed bugs related to getpeername that would cause
sslh to quit erroneously (getpeername can return
actual errors if connections are dropped before
getting to getpeername).
+ Set IP_FREEDBIND if available to bind to addresses
that don't yet exist.
- compile with libcap support
- added missing-call-to-setgroups-before-setuid.patch
- removed patches fixed upstream:
+ sslh-asprintf.patch
+ sslh-chroot.patch

2013-12-22 - rob.verduijn@gmail.com
- added /etc/conf.d/sslh
now the service actually starts when using systemd

2013-12-11 - rob.verduijn@gmail.com
- update to 1.15:
+ Added --transparent option for transparent proxying. See README for iptables magic and capability management.
+ Fixed bug in sslh-select: if number of opened file descriptor became bigger than FD_SETSIZE, bad things would happen.
+ Fixed bug in sslh-select: if socket dropped while defered_data was present, sslh-select would crash.
+ Increased FD_SETSIZE for Cygwin, as the default 64 is too low for even moderate load.
Thanks to Arnaud Gendre and Michael K. Avanessian for helping with investigation of the last three points.