head 1.2; access; symbols pkgsrc-2026Q2:1.2.0.102 pkgsrc-2026Q2-base:1.2 pkgsrc-2026Q1:1.2.0.100 pkgsrc-2026Q1-base:1.2 pkgsrc-2025Q4:1.2.0.98 pkgsrc-2025Q4-base:1.2 pkgsrc-2025Q3:1.2.0.96 pkgsrc-2025Q3-base:1.2 pkgsrc-2025Q2:1.2.0.94 pkgsrc-2025Q2-base:1.2 pkgsrc-2025Q1:1.2.0.92 pkgsrc-2025Q1-base:1.2 pkgsrc-2024Q4:1.2.0.90 pkgsrc-2024Q4-base:1.2 pkgsrc-2024Q3:1.2.0.88 pkgsrc-2024Q3-base:1.2 pkgsrc-2024Q2:1.2.0.86 pkgsrc-2024Q2-base:1.2 pkgsrc-2024Q1:1.2.0.84 pkgsrc-2024Q1-base:1.2 pkgsrc-2023Q4:1.2.0.82 pkgsrc-2023Q4-base:1.2 pkgsrc-2023Q3:1.2.0.80 pkgsrc-2023Q3-base:1.2 pkgsrc-2023Q2:1.2.0.78 pkgsrc-2023Q2-base:1.2 pkgsrc-2023Q1:1.2.0.76 pkgsrc-2023Q1-base:1.2 pkgsrc-2022Q4:1.2.0.74 pkgsrc-2022Q4-base:1.2 pkgsrc-2022Q3:1.2.0.72 pkgsrc-2022Q3-base:1.2 pkgsrc-2022Q2:1.2.0.70 pkgsrc-2022Q2-base:1.2 pkgsrc-2022Q1:1.2.0.68 pkgsrc-2022Q1-base:1.2 pkgsrc-2021Q4:1.2.0.66 pkgsrc-2021Q4-base:1.2 pkgsrc-2021Q3:1.2.0.64 pkgsrc-2021Q3-base:1.2 pkgsrc-2021Q2:1.2.0.62 pkgsrc-2021Q2-base:1.2 pkgsrc-2021Q1:1.2.0.60 pkgsrc-2021Q1-base:1.2 pkgsrc-2020Q4:1.2.0.58 pkgsrc-2020Q4-base:1.2 pkgsrc-2020Q3:1.2.0.56 pkgsrc-2020Q3-base:1.2 pkgsrc-2020Q2:1.2.0.52 pkgsrc-2020Q2-base:1.2 pkgsrc-2020Q1:1.2.0.32 pkgsrc-2020Q1-base:1.2 pkgsrc-2019Q4:1.2.0.54 pkgsrc-2019Q4-base:1.2 pkgsrc-2019Q3:1.2.0.50 pkgsrc-2019Q3-base:1.2 pkgsrc-2019Q2:1.2.0.48 pkgsrc-2019Q2-base:1.2 pkgsrc-2019Q1:1.2.0.46 pkgsrc-2019Q1-base:1.2 pkgsrc-2018Q4:1.2.0.44 pkgsrc-2018Q4-base:1.2 pkgsrc-2018Q3:1.2.0.42 pkgsrc-2018Q3-base:1.2 pkgsrc-2018Q2:1.2.0.40 pkgsrc-2018Q2-base:1.2 pkgsrc-2018Q1:1.2.0.38 pkgsrc-2018Q1-base:1.2 pkgsrc-2017Q4:1.2.0.36 pkgsrc-2017Q4-base:1.2 pkgsrc-2017Q3:1.2.0.34 pkgsrc-2017Q3-base:1.2 pkgsrc-2017Q2:1.2.0.30 pkgsrc-2017Q2-base:1.2 pkgsrc-2017Q1:1.2.0.28 pkgsrc-2017Q1-base:1.2 pkgsrc-2016Q4:1.2.0.26 pkgsrc-2016Q4-base:1.2 pkgsrc-2016Q3:1.2.0.24 pkgsrc-2016Q3-base:1.2 pkgsrc-2016Q2:1.2.0.22 pkgsrc-2016Q2-base:1.2 pkgsrc-2016Q1:1.2.0.20 pkgsrc-2016Q1-base:1.2 pkgsrc-2015Q4:1.2.0.18 pkgsrc-2015Q4-base:1.2 pkgsrc-2015Q3:1.2.0.16 pkgsrc-2015Q3-base:1.2 pkgsrc-2015Q2:1.2.0.14 pkgsrc-2015Q2-base:1.2 pkgsrc-2015Q1:1.2.0.12 pkgsrc-2015Q1-base:1.2 pkgsrc-2014Q4:1.2.0.10 pkgsrc-2014Q4-base:1.2 pkgsrc-2014Q3:1.2.0.8 pkgsrc-2014Q3-base:1.2 pkgsrc-2014Q2:1.2.0.6 pkgsrc-2014Q2-base:1.2 pkgsrc-2014Q1:1.2.0.4 pkgsrc-2014Q1-base:1.2 pkgsrc-2013Q4:1.2.0.2 pkgsrc-2013Q4-base:1.2 pkgsrc-2013Q3:1.1.0.26 pkgsrc-2013Q3-base:1.1 pkgsrc-2013Q2:1.1.0.24 pkgsrc-2013Q2-base:1.1 pkgsrc-2013Q1:1.1.0.22 pkgsrc-2013Q1-base:1.1 pkgsrc-2012Q4:1.1.0.20 pkgsrc-2012Q4-base:1.1 pkgsrc-2012Q3:1.1.0.18 pkgsrc-2012Q3-base:1.1 pkgsrc-2012Q2:1.1.0.16 pkgsrc-2012Q2-base:1.1 pkgsrc-2012Q1:1.1.0.14 pkgsrc-2012Q1-base:1.1 pkgsrc-2011Q4:1.1.0.12 pkgsrc-2011Q4-base:1.1 pkgsrc-2011Q3:1.1.0.10 pkgsrc-2011Q3-base:1.1 pkgsrc-2011Q2:1.1.0.8 pkgsrc-2011Q2-base:1.1 pkgsrc-2011Q1:1.1.0.6 pkgsrc-2011Q1-base:1.1 pkgsrc-2010Q4:1.1.0.4 pkgsrc-2010Q4-base:1.1 pkgsrc-2010Q3:1.1.0.2 pkgsrc-2010Q3-base:1.1; locks; strict; comment @# @; 1.2 date 2013.11.14.08.01.01; author apb; state Exp; branches; next 1.1; commitid rQxVWo4kZNVACddx; 1.1 date 2010.07.31.17.04.47; author apb; state Exp; branches; next ; desc @@ 1.2 log @Update COMMENT and DESCR to describe new features added between sslh-1.7a and 1.15. @ text @Sslh accepts connections on specified ports, and forwards them further based on tests performed on the first data packet sent by the remote client. Probes for HTTP, SSL, SSH, OpenVPN, tinc, XMPP are implemented, and any other protocol that can be tested using a regular expression, can be recognised. A typical use case is to allow serving several services on port 443 (e.g. to connect to ssh from inside a corporate firewall, which almost never block port 443) while still serving HTTPS on that port. Hence sslh acts as a protocol demultiplexer, or a switchboard. Its name comes from its original function to serve SSH and HTTPS on the same port. @ 1.1 log @Add sslh-1.7a. sslh lets one accept both HTTPS and SSH connections on the same port. @ text @d1 3 a3 5 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, which almost never block port 443) while still serving HTTPS on that port. d5 7 a11 4 The idea is to have sslh listen to the external 443 port, accept the incoming connections, work out what type of connection it is, and then fordward to the appropriate server. d13 3 a15 8 The protocol detection is made based on a small difference between SSL and SSH: an SSL client connecting to a server speaks first, whereas an SSH client expects the SSH server to speak first (announcing itself with a banner). sslh waits for some time for the incoming connection to send data. If it does before the timeout occurs, it is supposed to be an SSL connection. Otherwise, it is supposed to be an SSH connection. @