Diff of the two buildlogs: -- --- b1/build.log 2025-03-07 21:26:20.376652074 +0000 +++ b2/build.log 2025-03-07 21:33:04.054497665 +0000 @@ -1,6 +1,6 @@ I: pbuilder: network access will be disabled during build -I: Current time: Thu Apr 9 15:43:40 -12 2026 -I: pbuilder-time-stamp: 1775792620 +I: Current time: Sat Mar 8 11:26:22 +14 2025 +I: pbuilder-time-stamp: 1741382782 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/trixie-reproducible-base.tgz] I: copying local configuration @@ -29,52 +29,84 @@ dpkg-source: info: applying avoid_blocking_on_data I: using fakeroot in build. I: Installing the build-deps -I: user script /srv/workspace/pbuilder/1049303/tmp/hooks/D02_print_environment starting +I: user script /srv/workspace/pbuilder/3234817/tmp/hooks/D01_modify_environment starting +debug: Running on ionos11-amd64. +I: Changing host+domainname to test build reproducibility +I: Adding a custom variable just for the fun of it... +I: Changing /bin/sh to bash +'/bin/sh' -> '/bin/bash' +lrwxrwxrwx 1 root root 9 Mar 7 21:26 /bin/sh -> /bin/bash +I: Setting pbuilder2's login shell to /bin/bash +I: Setting pbuilder2's GECOS to second user,second room,second work-phone,second home-phone,second other +I: user script /srv/workspace/pbuilder/3234817/tmp/hooks/D01_modify_environment finished +I: user script /srv/workspace/pbuilder/3234817/tmp/hooks/D02_print_environment starting I: set - BUILDDIR='/build/reproducible-path' - BUILDUSERGECOS='first user,first room,first work-phone,first home-phone,first other' - BUILDUSERNAME='pbuilder1' - BUILD_ARCH='amd64' - DEBIAN_FRONTEND='noninteractive' - DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=42 ' - DISTRIBUTION='trixie' - HOME='/root' - HOST_ARCH='amd64' + BASH=/bin/sh + BASHOPTS=checkwinsize:cmdhist:complete_fullquote:extquote:force_fignore:globasciiranges:globskipdots:hostcomplete:interactive_comments:patsub_replacement:progcomp:promptvars:sourcepath + BASH_ALIASES=() + BASH_ARGC=() + BASH_ARGV=() + BASH_CMDS=() + BASH_LINENO=([0]="12" [1]="0") + BASH_LOADABLES_PATH=/usr/local/lib/bash:/usr/lib/bash:/opt/local/lib/bash:/usr/pkg/lib/bash:/opt/pkg/lib/bash:. + BASH_SOURCE=([0]="/tmp/hooks/D02_print_environment" [1]="/tmp/hooks/D02_print_environment") + BASH_VERSINFO=([0]="5" [1]="2" [2]="37" [3]="1" [4]="release" [5]="x86_64-pc-linux-gnu") + BASH_VERSION='5.2.37(1)-release' + BUILDDIR=/build/reproducible-path + BUILDUSERGECOS='second user,second room,second work-phone,second home-phone,second other' + BUILDUSERNAME=pbuilder2 + BUILD_ARCH=amd64 + DEBIAN_FRONTEND=noninteractive + DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=20 ' + DIRSTACK=() + DISTRIBUTION=trixie + EUID=0 + FUNCNAME=([0]="Echo" [1]="main") + GROUPS=() + HOME=/root + HOSTNAME=i-capture-the-hostname + HOSTTYPE=x86_64 + HOST_ARCH=amd64 IFS=' ' - INVOCATION_ID='a234e49bd1fc4610873562f8b4fc4966' - LANG='C' - LANGUAGE='en_US:en' - LC_ALL='C' - MAIL='/var/mail/root' - OPTIND='1' - PATH='/usr/sbin:/usr/bin:/sbin:/bin:/usr/games' - PBCURRENTCOMMANDLINEOPERATION='build' - PBUILDER_OPERATION='build' - PBUILDER_PKGDATADIR='/usr/share/pbuilder' - PBUILDER_PKGLIBDIR='/usr/lib/pbuilder' - PBUILDER_SYSCONFDIR='/etc' - PPID='1049303' - PS1='# ' - PS2='> ' + INVOCATION_ID=2607babea9e545cdb271d8d7a1e925ce + LANG=C + LANGUAGE=et_EE:et + LC_ALL=C + MACHTYPE=x86_64-pc-linux-gnu + MAIL=/var/mail/root + OPTERR=1 + OPTIND=1 + OSTYPE=linux-gnu + PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path + PBCURRENTCOMMANDLINEOPERATION=build + PBUILDER_OPERATION=build + PBUILDER_PKGDATADIR=/usr/share/pbuilder + PBUILDER_PKGLIBDIR=/usr/lib/pbuilder + PBUILDER_SYSCONFDIR=/etc + PIPESTATUS=([0]="0") + POSIXLY_CORRECT=y + PPID=3234817 PS4='+ ' - PWD='/' - SHELL='/bin/bash' - SHLVL='2' - SUDO_COMMAND='/usr/bin/timeout -k 18.1h 18h /usr/bin/ionice -c 3 /usr/bin/nice /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.9b7HzRqq/pbuilderrc_cLdJ --distribution trixie --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/trixie-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.9b7HzRqq/b1 --logfile b1/build.log sslh_2.1.4-1.dsc' - SUDO_GID='111' - SUDO_UID='106' - SUDO_USER='jenkins' - TERM='unknown' - TZ='/usr/share/zoneinfo/Etc/GMT+12' - USER='root' - _='/usr/bin/systemd-run' - http_proxy='http://213.165.73.152:3128' + PWD=/ + SHELL=/bin/bash + SHELLOPTS=braceexpand:errexit:hashall:interactive-comments:posix + SHLVL=3 + SUDO_COMMAND='/usr/bin/timeout -k 24.1h 24h /usr/bin/ionice -c 3 /usr/bin/nice -n 11 /usr/bin/unshare --uts -- /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.9b7HzRqq/pbuilderrc_6Kg3 --distribution trixie --hookdir /etc/pbuilder/rebuild-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/trixie-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.9b7HzRqq/b2 --logfile b2/build.log sslh_2.1.4-1.dsc' + SUDO_GID=111 + SUDO_UID=106 + SUDO_USER=jenkins + TERM=unknown + TZ=/usr/share/zoneinfo/Etc/GMT-14 + UID=0 + USER=root + _='I: set' + http_proxy=http://46.16.76.132:3128 I: uname -a - Linux ionos15-amd64 6.12.12+bpo-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.12.12-1~bpo12+1 (2025-02-23) x86_64 GNU/Linux + Linux i-capture-the-hostname 6.1.0-31-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.128-1 (2025-02-07) x86_64 GNU/Linux I: ls -l /bin - lrwxrwxrwx 1 root root 7 Nov 22 2024 /bin -> usr/bin -I: user script /srv/workspace/pbuilder/1049303/tmp/hooks/D02_print_environment finished + lrwxrwxrwx 1 root root 7 Nov 22 14:40 /bin -> usr/bin +I: user script /srv/workspace/pbuilder/3234817/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy @@ -246,7 +278,7 @@ Get: 106 http://deb.debian.org/debian trixie/main amd64 libwrap0 amd64 7.6.q-36 [55.3 kB] Get: 107 http://deb.debian.org/debian trixie/main amd64 libwrap0-dev amd64 7.6.q-36 [21.8 kB] Get: 108 http://deb.debian.org/debian trixie/main amd64 psmisc amd64 23.7-2 [267 kB] -Fetched 36.3 MB in 5s (7890 kB/s) +Fetched 36.3 MB in 2s (15.1 MB/s) Preconfiguring packages ... Selecting previously unselected package libpython3.13-minimal:amd64. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 19800 files and directories currently installed.) @@ -610,8 +642,8 @@ Setting up tzdata (2025a-2) ... Current default time zone: 'Etc/UTC' -Local time is now: Fri Apr 10 03:44:45 UTC 2026. -Universal Time is now: Fri Apr 10 03:44:45 UTC 2026. +Local time is now: Fri Mar 7 21:27:52 UTC 2025. +Universal Time is now: Fri Mar 7 21:27:52 UTC 2025. Run 'dpkg-reconfigure tzdata' if you wish to change it. Setting up libconfig11:amd64 (1.7.3-2) ... @@ -710,7 +742,11 @@ fakeroot is already the newest version (1.37-1). 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. I: Building the package -I: Running cd /build/reproducible-path/sslh-2.1.4/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-genchanges -S > ../sslh_2.1.4-1_source.changes +I: user script /srv/workspace/pbuilder/3234817/tmp/hooks/A99_set_merged_usr starting +Not re-configuring usrmerge for trixie +I: user script /srv/workspace/pbuilder/3234817/tmp/hooks/A99_set_merged_usr finished +hostname: Name or service not known +I: Running cd /build/reproducible-path/sslh-2.1.4/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-genchanges -S > ../sslh_2.1.4-1_source.changes dpkg-buildpackage: info: source package sslh dpkg-buildpackage: info: source version 2.1.4-1 dpkg-buildpackage: info: source distribution unstable @@ -751,7 +787,7 @@ debian/rules override_dh_auto_build make[1]: Entering directory '/build/reproducible-path/sslh-2.1.4' dh_auto_build -- USELIBWRAP=1 USELIBCAP=1 USESYSTEMD=1 - make -j42 USELIBWRAP=1 USELIBCAP=1 USESYSTEMD=1 + make -j20 USELIBWRAP=1 USELIBCAP=1 USESYSTEMD=1 make[2]: Entering directory '/build/reproducible-path/sslh-2.1.4' ./genver.sh >version.h pod2man --section=8 --release=2.1.4-1 --center=" " sslh.pod | gzip -9 - > sslh.8.gz @@ -774,8 +810,14 @@ cc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/sslh-2.1.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wall -O2 -DLIBPCRE -g -Wdate-time -D_FORTIFY_SOURCE=2 -DLIBWRAP -DENABLE_REGEX -DLIBCONFIG -DLIBCAP -DSYSTEMD -c processes.c -o processes.o cc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/sslh-2.1.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wall -O2 -DLIBPCRE -g -Wdate-time -D_FORTIFY_SOURCE=2 -DLIBWRAP -DENABLE_REGEX -DLIBCONFIG -DLIBCAP -DSYSTEMD -c udp-listener.c -o udp-listener.o cc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/sslh-2.1.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wall -O2 -DLIBPCRE -g -Wdate-time -D_FORTIFY_SOURCE=2 -DLIBWRAP -DENABLE_REGEX -DLIBCONFIG -DLIBCAP -DSYSTEMD -c -o sslh-select.o sslh-select.c -cc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/sslh-2.1.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wall -O2 -DLIBPCRE -g -Wdate-time -D_FORTIFY_SOURCE=2 -DLIBWRAP -DENABLE_REGEX -DLIBCONFIG -DLIBCAP -DSYSTEMD -c hash.c -o hash.o -cc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/sslh-2.1.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wall -O2 -DLIBPCRE -g -Wdate-time -D_FORTIFY_SOURCE=2 -DLIBWRAP -DENABLE_REGEX -DLIBCONFIG -DLIBCAP -DSYSTEMD -c tcp-listener.c -o tcp-listener.o +common.c: In function 'check_access_rights': +common.c:703:20: warning: passing argument 1 of 'hosts_ctl' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] + 703 | if (!hosts_ctl(service, host, addr_str, STRING_UNKNOWN)) { + | ^~~~~~~ +In file included from common.c:46: +/usr/include/tcpd.h:131:28: note: expected 'char *' but argument is of type 'const char *' + 131 | extern int hosts_ctl(char *daemon, char *client_name, char *client_addr, + | ~~~~~~^~~~~~ echosrv-conf.c: In function 'myconfig_setting_lookup_stringcpy': echosrv-conf.c:229:9: warning: ignoring return value of 'asprintf' declared with attribute 'warn_unused_result' [-Wunused-result] 229 | asprintf(value, "%s", str); @@ -798,6 +840,10 @@ 825 | asprintf(errmsg, "Mandatory option \"%s\" not found", desc->name); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ echosrv-conf.c: In function 'read_block_setval': +sslh-conf.c: In function 'myconfig_setting_lookup_stringcpy': +sslh-conf.c:229:9: warning: ignoring return value of 'asprintf' declared with attribute 'warn_unused_result' [-Wunused-result] + 229 | asprintf(value, "%s", str); + | ^~~~~~~~~~~~~~~~~~~~~~~~~~ echosrv-conf.c:768:17: warning: ignoring return value of 'asprintf' declared with attribute 'warn_unused_result' [-Wunused-result] 768 | asprintf(errmsg, "Option \"%s\" wrong type, expected %s\n", | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -807,66 +853,8 @@ echosrv-conf.c:313:9: warning: ignoring return value of 'asprintf' declared with attribute 'warn_unused_result' [-Wunused-result] 313 | asprintf(&str, "%s", config_setting_get_string(setting)); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -echosrv-conf.c: In function 'clcpy': -echosrv-conf.c:356:9: warning: ignoring return value of 'asprintf' declared with attribute 'warn_unused_result' [-Wunused-result] - 356 | asprintf(&str, "%s", (*(struct arg_str**)cl_arg)->sval[0]); - | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -echosrv-conf.c: In function 'regcompmatch_pcre2': -echosrv-conf.c:1015:9: warning: ignoring return value of 'asprintf' declared with attribute 'warn_unused_result' [-Wunused-result] - 1015 | asprintf(errmsg, "compiling pattern /%s/:%d: %s at offset %ld\n", - | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 1016 | arg->regex, error, err_str, error_offset); - | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -echosrv-conf.c:1025:9: warning: ignoring return value of 'asprintf' declared with attribute 'warn_unused_result' [-Wunused-result] - 1025 | asprintf(errmsg, "matching %s =~ /%s/:%d: %s\n", - | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 1026 | arg_cl->sval[arg_index], arg->regex, res, err_str); - | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -echosrv-conf.c: In function 'cfg_as_string': -echosrv-conf.c:1175:13: warning: ignoring return value of 'asprintf' declared with attribute 'warn_unused_result' [-Wunused-result] - 1175 | asprintf(&subpath, "%s[%d]%s", path, config_setting_index(child), name); - | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -echosrv-conf.c:1177:13: warning: ignoring return value of 'asprintf' declared with attribute 'warn_unused_result' [-Wunused-result] - 1177 | asprintf(&subpath, "%s/%s", path, name); - | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -echosrv-conf.c:1185:17: warning: ignoring return value of 'asprintf' declared with attribute 'warn_unused_result' [-Wunused-result] - 1185 | asprintf(&old, "%s", *strp); - | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ -echosrv-conf.c:1188:17: warning: ignoring return value of 'asprintf' declared with attribute 'warn_unused_result' [-Wunused-result] - 1188 | asprintf(&old, "%s", ""); - | ^~~~~~~~~~~~~~~~~~~~~~~~ -echosrv-conf.c:1190:13: warning: ignoring return value of 'asprintf' declared with attribute 'warn_unused_result' [-Wunused-result] - 1190 | asprintf(strp, "%s%s:%s", old, subpath, value); - | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -echosrv-conf.c: In function 'scalar_to_string': -echosrv-conf.c:1131:9: warning: ignoring return value of 'asprintf' declared with attribute 'warn_unused_result' [-Wunused-result] - 1131 | asprintf(strp, "%d\n", config_setting_get_int(s)); - | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -echosrv-conf.c:1135:9: warning: ignoring return value of 'asprintf' declared with attribute 'warn_unused_result' [-Wunused-result] - 1135 | asprintf(strp, "%s\n", config_setting_get_bool(s) ? "[true]" : "[false]" ); - | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -echosrv-conf.c:1139:9: warning: ignoring return value of 'asprintf' declared with attribute 'warn_unused_result' [-Wunused-result] - 1139 | asprintf(strp, "%lld\n", config_setting_get_int64(s)); - | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -echosrv-conf.c:1143:9: warning: ignoring return value of 'asprintf' declared with attribute 'warn_unused_result' [-Wunused-result] - 1143 | asprintf(strp, "%lf\n", config_setting_get_float(s)); - | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -echosrv-conf.c:1147:9: warning: ignoring return value of 'asprintf' declared with attribute 'warn_unused_result' [-Wunused-result] - 1147 | asprintf(strp, "%s\n", config_setting_get_string(s)); - | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -common.c: In function 'check_access_rights': -common.c:703:20: warning: passing argument 1 of 'hosts_ctl' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] - 703 | if (!hosts_ctl(service, host, addr_str, STRING_UNKNOWN)) { - | ^~~~~~~ -In file included from common.c:46: -/usr/include/tcpd.h:131:28: note: expected 'char *' but argument is of type 'const char *' - 131 | extern int hosts_ctl(char *daemon, char *client_name, char *client_addr, - | ~~~~~~^~~~~~ -sslh-conf.c: In function 'myconfig_setting_lookup_stringcpy': -sslh-conf.c:229:9: warning: ignoring return value of 'asprintf' declared with attribute 'warn_unused_result' [-Wunused-result] - 229 | asprintf(value, "%s", str); - | ^~~~~~~~~~~~~~~~~~~~~~~~~~ sslh-conf.c: In function 'c2s_parse_file': +echosrv-conf.c: In function 'clcpy': sslh-conf.c:2092:12: warning: ignoring return value of 'asprintf' declared with attribute 'warn_unused_result' [-Wunused-result] 2092 | asprintf(errmsg, "%s:%d:%s", | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -876,6 +864,9 @@ | ~~~~~~~~~~~~~~~~~~~~~ 2095 | config_error_text(c)); | ~~~~~~~~~~~~~~~~~~~~~ +echosrv-conf.c:356:9: warning: ignoring return value of 'asprintf' declared with attribute 'warn_unused_result' [-Wunused-result] + 356 | asprintf(&str, "%s", (*(struct arg_str**)cl_arg)->sval[0]); + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ sslh-conf.c:2098:9: warning: ignoring return value of 'asprintf' declared with attribute 'warn_unused_result' [-Wunused-result] 2098 | asprintf(errmsg, "%s:%s", filename, config_error_text(c)); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -883,6 +874,12 @@ sslh-conf.c:1803:13: warning: ignoring return value of 'asprintf' declared with attribute 'warn_unused_result' [-Wunused-result] 1803 | asprintf(errmsg, "Mandatory option \"%s\" not found", desc->name); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +echosrv-conf.c: In function 'regcompmatch_pcre2': +echosrv-conf.c:1015:9: warning: ignoring return value of 'asprintf' declared with attribute 'warn_unused_result' [-Wunused-result] + 1015 | asprintf(errmsg, "compiling pattern /%s/:%d: %s at offset %ld\n", + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + 1016 | arg->regex, error, err_str, error_offset); + | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ sslh-conf.c: In function 'read_block_setval': sslh-conf.c:1746:17: warning: ignoring return value of 'asprintf' declared with attribute 'warn_unused_result' [-Wunused-result] 1746 | asprintf(errmsg, "Option \"%s\" wrong type, expected %s\n", @@ -908,22 +905,40 @@ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2004 | arg_cl->sval[arg_index], arg->regex, res, err_str); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +echosrv-conf.c:1025:9: warning: ignoring return value of 'asprintf' declared with attribute 'warn_unused_result' [-Wunused-result] + 1025 | asprintf(errmsg, "matching %s =~ /%s/:%d: %s\n", + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + 1026 | arg_cl->sval[arg_index], arg->regex, res, err_str); + | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ sslh-conf.c: In function 'cfg_as_string': +echosrv-conf.c: In function 'cfg_as_string': sslh-conf.c:2153:13: warning: ignoring return value of 'asprintf' declared with attribute 'warn_unused_result' [-Wunused-result] 2153 | asprintf(&subpath, "%s[%d]%s", path, config_setting_index(child), name); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +echosrv-conf.c:1175:13: warning: ignoring return value of 'asprintf' declared with attribute 'warn_unused_result' [-Wunused-result] + 1175 | asprintf(&subpath, "%s[%d]%s", path, config_setting_index(child), name); + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ sslh-conf.c:2155:13: warning: ignoring return value of 'asprintf' declared with attribute 'warn_unused_result' [-Wunused-result] 2155 | asprintf(&subpath, "%s/%s", path, name); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +echosrv-conf.c:1177:13: warning: ignoring return value of 'asprintf' declared with attribute 'warn_unused_result' [-Wunused-result] + 1177 | asprintf(&subpath, "%s/%s", path, name); + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ sslh-conf.c:2163:17: warning: ignoring return value of 'asprintf' declared with attribute 'warn_unused_result' [-Wunused-result] 2163 | asprintf(&old, "%s", *strp); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ +echosrv-conf.c:1185:17: warning: ignoring return value of 'asprintf' declared with attribute 'warn_unused_result' [-Wunused-result] + 1185 | asprintf(&old, "%s", *strp); + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ sslh-conf.c:2166:17: warning: ignoring return value of 'asprintf' declared with attribute 'warn_unused_result' [-Wunused-result] 2166 | asprintf(&old, "%s", ""); | ^~~~~~~~~~~~~~~~~~~~~~~~ sslh-conf.c:2168:13: warning: ignoring return value of 'asprintf' declared with attribute 'warn_unused_result' [-Wunused-result] 2168 | asprintf(strp, "%s%s:%s", old, subpath, value); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +echosrv-conf.c:1188:17: warning: ignoring return value of 'asprintf' declared with attribute 'warn_unused_result' [-Wunused-result] + 1188 | asprintf(&old, "%s", ""); + | ^~~~~~~~~~~~~~~~~~~~~~~~ sslh-conf.c: In function 'scalar_to_string': sslh-conf.c:2109:9: warning: ignoring return value of 'asprintf' declared with attribute 'warn_unused_result' [-Wunused-result] 2109 | asprintf(strp, "%d\n", config_setting_get_int(s)); @@ -940,6 +955,27 @@ sslh-conf.c:2125:9: warning: ignoring return value of 'asprintf' declared with attribute 'warn_unused_result' [-Wunused-result] 2125 | asprintf(strp, "%s\n", config_setting_get_string(s)); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +echosrv-conf.c:1190:13: warning: ignoring return value of 'asprintf' declared with attribute 'warn_unused_result' [-Wunused-result] + 1190 | asprintf(strp, "%s%s:%s", old, subpath, value); + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +echosrv-conf.c: In function 'scalar_to_string': +echosrv-conf.c:1131:9: warning: ignoring return value of 'asprintf' declared with attribute 'warn_unused_result' [-Wunused-result] + 1131 | asprintf(strp, "%d\n", config_setting_get_int(s)); + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +echosrv-conf.c:1135:9: warning: ignoring return value of 'asprintf' declared with attribute 'warn_unused_result' [-Wunused-result] + 1135 | asprintf(strp, "%s\n", config_setting_get_bool(s) ? "[true]" : "[false]" ); + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +echosrv-conf.c:1139:9: warning: ignoring return value of 'asprintf' declared with attribute 'warn_unused_result' [-Wunused-result] + 1139 | asprintf(strp, "%lld\n", config_setting_get_int64(s)); + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +echosrv-conf.c:1143:9: warning: ignoring return value of 'asprintf' declared with attribute 'warn_unused_result' [-Wunused-result] + 1143 | asprintf(strp, "%lf\n", config_setting_get_float(s)); + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +echosrv-conf.c:1147:9: warning: ignoring return value of 'asprintf' declared with attribute 'warn_unused_result' [-Wunused-result] + 1147 | asprintf(strp, "%s\n", config_setting_get_string(s)); + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +cc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/sslh-2.1.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wall -O2 -DLIBPCRE -g -Wdate-time -D_FORTIFY_SOURCE=2 -DLIBWRAP -DENABLE_REGEX -DLIBCONFIG -DLIBCAP -DSYSTEMD -c hash.c -o hash.o +cc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/sslh-2.1.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wall -O2 -DLIBPCRE -g -Wdate-time -D_FORTIFY_SOURCE=2 -DLIBWRAP -DENABLE_REGEX -DLIBCONFIG -DLIBCAP -DSYSTEMD -c tcp-listener.c -o tcp-listener.o cc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/sslh-2.1.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wall -O2 -DLIBPCRE -g -Wl,-z,relro -Wl,-z,now -o systemd-sslh-generator systemd-sslh-generator.o -lconfig ar rcs libsslh.a sslh-conf.o common.o log.o sslh-main.o probe.o tls.o argtable3.o collection.o gap.o tcp-probe.o landlock.o cc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/sslh-2.1.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wall -O2 -DLIBPCRE -g -Wl,-z,relro -Wl,-z,now -o echosrv echosrv.o echosrv-conf.o argtable3.o -lm -lpcre2-8 -lwrap -lconfig -lcap -lsystemd @@ -949,92 +985,97 @@ make[2]: Leaving directory '/build/reproducible-path/sslh-2.1.4' make[1]: Leaving directory '/build/reproducible-path/sslh-2.1.4' dh_auto_test - make -j42 test "TESTSUITEFLAGS=-j42 --verbose" VERBOSE=1 + make -j20 test "TESTSUITEFLAGS=-j20 --verbose" VERBOSE=1 make[1]: Entering directory '/build/reproducible-path/sslh-2.1.4' ./t "my" variable $data masks earlier declaration in same scope at ./t line 427. -./echosrv --listen 127.0.0.1:46195 --prefix ssh: -./echosrv --listen 127.0.0.1:39089 --prefix socks5: +./echosrv --listen 127.0.0.1:32911 --prefix ssh: +./echosrv --listen 127.0.0.1:46337 --prefix socks5: +./echosrv --listen 127.0.0.1:34675 --prefix http: Listening to: -./echosrv --listen 127.0.0.1:42905 --prefix http: -3: localhost:46195 +3: localhost:32911 Listening to: -3: localhost:39089 -./echosrv --listen 127.0.0.1:41441 --prefix tinc: +./echosrv --listen 127.0.0.1:38853 --prefix tinc: +3: localhost:46337 +./echosrv --listen 127.0.0.1:35859 --prefix openvpn: Listening to: -3: localhost:42905 -./echosrv --listen 127.0.0.1:44889 --prefix openvpn: +3: localhost:34675 +./echosrv --listen 127.0.0.1:40105 --prefix xmpp: Listening to: -3: localhost:41441 -./echosrv --listen 127.0.0.1:44997 --prefix xmpp: +3: localhost:38853 Listening to: -3: localhost:44889 -./echosrv --listen 127.0.0.1:44277 --prefix adb: +./echosrv --listen 127.0.0.1:46427 --prefix adb: +3: localhost:35859 +./echosrv --listen 127.0.0.1:33043 --prefix syslog: Listening to: -3: localhost:44997 -./echosrv --listen 127.0.0.1:34625 --prefix syslog: +3: localhost:40105 Listening to: -3: localhost:44277 -./echosrv --listen 127.0.0.1:46849 --prefix regex: +3: localhost:46427 +./echosrv --listen 127.0.0.1:41683 --prefix regex: Listening to: -3: localhost:34625 -./echosrv --listen 127.0.0.1:40553 --prefix tls:sni1;alpn1,alpn2: +3: localhost:33043 +./echosrv --listen 127.0.0.1:40149 --prefix tls:sni1;alpn1,alpn2: Listening to: -3: localhost:46849 -./echosrv --listen 127.0.0.1:44141 --prefix tls:sni2,sni3;alpn1,alpn2: +3: localhost:41683 +./echosrv --listen 127.0.0.1:40055 --prefix tls:sni2,sni3;alpn1,alpn2: Listening to: -3: localhost:40553 -./echosrv --listen 127.0.0.1:38707 --prefix tls:;alpn3: +3: localhost:40149 +./echosrv --listen 127.0.0.1:33833 --prefix tls:;alpn3: Listening to: -3: localhost:44141 -./echosrv --listen 127.0.0.1:41171 --prefix tls:sni3;: +./echosrv --listen 127.0.0.1:46025 --prefix tls:sni3;: +3: localhost:40055 Listening to: -3: localhost:38707 -./echosrv --listen 127.0.0.1:34581 --prefix tls: +3: localhost:33833 +./echosrv --listen 127.0.0.1:37515 --prefix tls: +./echosrv --listen 127.0.0.1:45675 --prefix anyprot: Listening to: -3: localhost:41171 -./echosrv --listen 127.0.0.1:41347 --prefix anyprot: -Listening to: -3: localhost:34581 +3: localhost:46025 Testing sslh-select -./sslh-select -f -u pbuilder1 -F test.cfg -spawned 1069993 Listening to: -3: localhost:41347 -ssh addr: 127.0.0.1:46195 family 2 2. libwrap service: (null) log_level: 1 [] [] [] -socks5 addr: 127.0.0.1:39089 family 2 2. libwrap service: (null) log_level: 1 [] [] [] -http addr: 127.0.0.1:42905 family 2 2. libwrap service: (null) log_level: 1 [] [] [] -tinc addr: 127.0.0.1:41441 family 2 2. libwrap service: (null) log_level: 1 [] [] [] -openvpn addr: 127.0.0.1:44889 family 2 2. libwrap service: (null) log_level: 1 [] [] [] -xmpp addr: 127.0.0.1:44997 family 2 2. libwrap service: (null) log_level: 1 [] [] [] -adb addr: 127.0.0.1:44277 family 2 2. libwrap service: (null) log_level: 1 [] [] [] -syslog addr: 127.0.0.1:34625 family 2 2. libwrap service: (null) log_level: 1 [] [] [] -regex addr: 127.0.0.1:46849 family 2 2. libwrap service: (null) log_level: 1 [] [] [] -tls addr: 127.0.0.1:40553 family 2 2. libwrap service: (null) log_level: 1 [] [] [] -tls addr: 127.0.0.1:44141 family 2 2. libwrap service: (null) log_level: 1 [] [] [] -tls addr: 127.0.0.1:38707 family 2 2. libwrap service: (null) log_level: 1 [] [] [] -tls addr: 127.0.0.1:41171 family 2 2. libwrap service: (null) log_level: 1 [] [] [] -tls addr: 127.0.0.1:34581 family 2 2. libwrap service: (null) log_level: 1 [] [] [] -anyprot addr: 127.0.0.1:41347 family 2 2. libwrap service: (null) log_level: 1 [] [] [] +./sslh-select -f -u pbuilder2 -F test.cfg +3: localhost:37515 +Listening to: +spawned 3257143 +3: localhost:45675 +ssh addr: 127.0.0.1:32911 family 2 2. libwrap service: (null) log_level: 1 [] [] [] +socks5 addr: 127.0.0.1:46337 family 2 2. libwrap service: (null) log_level: 1 [] [] [] +http addr: 127.0.0.1:34675 family 2 2. libwrap service: (null) log_level: 1 [] [] [] +tinc addr: 127.0.0.1:38853 family 2 2. libwrap service: (null) log_level: 1 [] [] [] +openvpn addr: 127.0.0.1:35859 family 2 2. libwrap service: (null) log_level: 1 [] [] [] +xmpp addr: 127.0.0.1:40105 family 2 2. libwrap service: (null) log_level: 1 [] [] [] +adb addr: 127.0.0.1:46427 family 2 2. libwrap service: (null) log_level: 1 [] [] [] +syslog addr: 127.0.0.1:33043 family 2 2. libwrap service: (null) log_level: 1 [] [] [] +regex addr: 127.0.0.1:41683 family 2 2. libwrap service: (null) log_level: 1 [] [] [] +tls addr: 127.0.0.1:40149 family 2 2. libwrap service: (null) log_level: 1 [] [] [] +tls addr: 127.0.0.1:40055 family 2 2. libwrap service: (null) log_level: 1 [] [] [] +tls addr: 127.0.0.1:33833 family 2 2. libwrap service: (null) log_level: 1 [] [] [] +tls addr: 127.0.0.1:46025 family 2 2. libwrap service: (null) log_level: 1 [] [] [] +tls addr: 127.0.0.1:37515 family 2 2. libwrap service: (null) log_level: 1 [] [] [] +anyprot addr: 127.0.0.1:45675 family 2 2. libwrap service: (null) log_level: 1 [] [] [] timeout: 10 on-timeout: ssh UDP hash size: 1024 Listening to: -3: 127.0.0.1:38647 [keepalive] [] -4: 127.0.0.1:33135 [keepalive] [] -turning into pbuilder1 +3: 127.0.0.1:41481 [keepalive] [] +4: 127.0.0.1:37133 [keepalive] [] +turning into pbuilder2 Landlock: all restricted capabilities: = sslh-select 2.1.4-1 started ***Test: Shy SSH connection -Would block, sleeping. Iteration: 0 socket: SCALAR(0x55c429d7d228):36472 -ssh:connection from 127.0.0.1:36472 to 127.0.0.1:38647 forwarded from 127.0.0.1:44356 to 127.0.0.1:46195 +Would block, sleeping. Iteration: 0 socket: SCALAR(0x55bcf59695b8):36806 +ssh:connection from 127.0.0.1:36806 to 127.0.0.1:41481 forwarded from 127.0.0.1:34014 to 127.0.0.1:32911 ssh: hello world Read ssh: hello world from peer: '' ok 1 - sslh-select: Shy SSH connection ***Test: One SSL half-started then one SSH -Successhexdump of incoming packet: +Successudp: 0 +prefix: ssh: +listen [1]: + host: 127.0.0.1 + port: 32911 +hexdump of incoming packet: 0x000000: 16 03 01 00 ab 01 00 00 a7 03 03 89 22 33 95 43 ............"3.C 0x000010: 7a c3 89 45 51 12 3c 28 24 1b 6a 78 bf be 95 d8 z..EQ.<($.jx.... 0x000020: 90 58 d7 65 f7 bb 2d b2 8d a0 75 00 00 38 c0 2c .X.e..-...u..8., @@ -1042,12 +1083,12 @@ 0x000040: c0 24 c0 28 00 6b c0 23 c0 27 00 67 c0 0a c0 14 .$.(.k.#.'.g.... 0x000050: 00 39 c0 09 c0 13 00 33 00 9d 00 9c 00 3d 00 3c .9.....3.....=.< 0x000060: 00 35 00 2f 00 ff 01 00 00 46 00 0b 00 04 03 00 .5./.....F...... +0x000070: 01 02 00 0a 00 0a 00 08 00 1d 00 17 00 19 00 18 ................ printed data '"3CzÉEQ<($jxؐXe-u8,0̨̩̪+/$(k#'g 9 3=<5/F  # hello tls alone -' to 45530 at ./t line 399. -0x000070: 01 02 00 0a 00 0a 00 08 00 1d 00 17 00 19 00 18 ................ +' to 44172 at ./t line 399. 0x000080: 00 23 00 00 00 0d 00 20 00 1e 06 01 06 02 06 03 .#..... ........ 0x000090: 05 01 05 02 05 03 04 01 04 02 04 03 03 01 03 02 ................ 0x0000a0: 03 03 02 01 02 02 02 03 00 16 00 00 00 17 00 00 ................ @@ -1067,11 +1108,6 @@ probing for adb probed for adb: PROBE_NEXT probing for syslog -udp: 0 -prefix: ssh: -listen [1]: - host: 127.0.0.1 - port: 46195 probed for syslog: PROBE_NEXT probing for regex probed for regex: PROBE_NEXT @@ -1085,13 +1121,12 @@ probed for tls: PROBE_NEXT probing for tls probed for tls: PROBE_MATCH -going to print data to 45536 at ./t line 402. -printed data 'hello world -' to 45536 at ./t line 404. -tls:connection from 127.0.0.1:45530 to 127.0.0.1:38647 forwarded from 127.0.0.1:55014 to 127.0.0.1:34581 -Would block, sleeping. Iteration: 0 socket: SCALAR(0x55c429db3278):45536 +tls:connection from 127.0.0.1:44172 to 127.0.0.1:41481 forwarded from 127.0.0.1:56028 to 127.0.0.1:37515 +going to print data to 44178 at ./t line 402. hexdump of incoming packet: 0x000000: 68 65 6c 6c 6f 20 77 6f 72 6c 64 0a hello world. +printed data 'hello world +' to 44178 at ./t line 404. probing for ssh probed for ssh: PROBE_NEXT probing for socks5 @@ -1126,14 +1161,15 @@ Request did not begin with TLS handshake. probed for tls: PROBE_NEXT probing for anyprot +Would block, sleeping. Iteration: 0 socket: SCALAR(0x55bcf599ec60):44178 tls: "3CzÉEQ<($jxؐXe-u8,0̨̩̪+/$(k#'g 9 3=<5/F  # hello tls alone -Would block, sleeping. Iteration: 1 socket: SCALAR(0x55c429db3278):45536 -Would block, sleeping. Iteration: 2 socket: SCALAR(0x55c429db3278):45536 -Would block, sleeping. Iteration: 3 socket: SCALAR(0x55c429db3278):45536 -ssh:connection from 127.0.0.1:45536 to 127.0.0.1:38647 forwarded from 127.0.0.1:46106 to 127.0.0.1:46195 +Would block, sleeping. Iteration: 1 socket: SCALAR(0x55bcf599ec60):44178 +Would block, sleeping. Iteration: 2 socket: SCALAR(0x55bcf599ec60):44178 +Would block, sleeping. Iteration: 3 socket: SCALAR(0x55bcf599ec60):44178 +ssh:connection from 127.0.0.1:44178 to 127.0.0.1:41481 forwarded from 127.0.0.1:40858 to 127.0.0.1:32911 ssh: hello world Read ssh: hello world from peer: '' @@ -1147,15 +1183,16 @@ ok 3 - sslh-select: SSL connection interrupted by SSH ***Test: One SSH half-started then one SSL SuccessSuccessudp: 0 -prefix: ssh: +prefix: tls: listen [1]: host: 127.0.0.1 - port: 46195 + port: 37515 +Would block, sleeping. Iteration: 0 socket: SCALAR(0x55bcf5969738):40640 udp: 0 -prefix: tls: +prefix: ssh: listen [1]: host: 127.0.0.1 - port: 34581 + port: 32911 hexdump of incoming packet: 0x000000: 16 03 01 00 ab 01 00 00 a7 03 03 89 22 33 95 43 ............"3.C 0x000010: 7a c3 89 45 51 12 3c 28 24 1b 6a 78 bf be 95 d8 z..EQ.<($.jx.... @@ -1165,7 +1202,6 @@ 0x000050: 00 39 c0 09 c0 13 00 33 00 9d 00 9c 00 3d 00 3c .9.....3.....=.< 0x000060: 00 35 00 2f 00 ff 01 00 00 46 00 0b 00 04 03 00 .5./.....F...... 0x000070: 01 02 00 0a 00 0a 00 08 00 1d 00 17 00 19 00 18 ................ -Would block, sleeping. Iteration: 0 socket: SCALAR(0x55c429db2fa8):53874 0x000080: 00 23 00 00 00 0d 00 20 00 1e 06 01 06 02 06 03 .#..... ........ 0x000090: 05 01 05 02 05 03 04 01 04 02 04 03 03 01 03 02 ................ 0x0000a0: 03 03 02 01 02 02 02 03 00 16 00 00 00 17 00 00 ................ @@ -1198,7 +1234,7 @@ probed for tls: PROBE_NEXT probing for tls probed for tls: PROBE_MATCH -tls:connection from 127.0.0.1:53874 to 127.0.0.1:38647 forwarded from 127.0.0.1:47728 to 127.0.0.1:34581 +tls:connection from 127.0.0.1:40640 to 127.0.0.1:41481 forwarded from 127.0.0.1:44318 to 127.0.0.1:37515 tls: "3CzÉEQ<($jxؐXe-u8,0̨̩̪+/$(k#'g 9 3=<5/F  @@ -1209,7 +1245,7 @@ # hello tls alone from peer: '' ok 4 - sslh-select: SSL during SSH being established -Would block, sleeping. Iteration: 0 socket: SCALAR(0x55c429db2d38):53864 +Would block, sleeping. Iteration: 0 socket: SCALAR(0x55bcf596e9b0):40636 hexdump of incoming packet: 0x000000: 68 65 6c 6c 6f 20 77 6f 72 6c 64 0a hello world. probing for ssh @@ -1242,81 +1278,82 @@ probing for tls Request did not begin with TLS handshake. probed for tls: PROBE_NEXT -Successprobing for tls +probing for tls Request did not begin with TLS handshake. probed for tls: PROBE_NEXT probing for anyprot -udp: 0 +Successudp: 0 prefix: tls: listen [1]: host: 127.0.0.1 - port: 34581 -Would block, sleeping. Iteration: 1 socket: SCALAR(0x55c429db2d38):53864 -Would block, sleeping. Iteration: 2 socket: SCALAR(0x55c429db2d38):53864 -ssh:connection from 127.0.0.1:53864 to 127.0.0.1:38647 forwarded from 127.0.0.1:35374 to 127.0.0.1:46195 + port: 37515 +Would block, sleeping. Iteration: 1 socket: SCALAR(0x55bcf596e9b0):40636 +Would block, sleeping. Iteration: 2 socket: SCALAR(0x55bcf596e9b0):40636 +ssh:connection from 127.0.0.1:40636 to 127.0.0.1:41481 forwarded from 127.0.0.1:52212 to 127.0.0.1:32911 ssh: hello world Read ssh: hello world from peer: '' ok 5 - sslh-select: SSH connection interrupted by SSL -test_probe called withSuccess$VAR1 = { - 'binary' => 'sslh-select', +test_probe called with$VAR1 = { 'data' => 'SSH-2.0 tester ', + 'expected' => 'ssh', 'no_frag' => 1, - 'expected' => 'ssh' + 'binary' => 'sslh-select' }; -udp: 0 -prefix: ssh: -listen [1]: - host: 127.0.0.1 - port: 46195 +Would block, sleeping. Iteration: 0 socket: SCALAR(0x55bcf599f608):42498 hexdump of incoming packet: -Would block, sleeping. Iteration: 0 socket: SCALAR(0x55c429db3458):41900 0x000000: 53 53 48 2d 32 2e 30 20 74 65 73 74 65 72 0a SSH-2.0 tester. probing for ssh probed for ssh: PROBE_MATCH -ssh:connection from 127.0.0.1:41900 to 127.0.0.1:38647 forwarded from 127.0.0.1:56578 to 127.0.0.1:46195 +ssh:connection from 127.0.0.1:42498 to 127.0.0.1:41481 forwarded from 127.0.0.1:39760 to 127.0.0.1:32911 +Successudp: 0 +prefix: ssh: +listen [1]: + host: 127.0.0.1 + port: 32911 ssh: SSH-2.0 tester Read ssh: SSH-2.0 tester from peer: '' Received 20 bytes: protocol ssh data [SSH-2.0 tester ] -Successudp: 0 -prefix: ssh: -listen [1]: - host: 127.0.0.1 - port: 46195 ok 6 - sslh-select:ssh: probe connected correctly ok 7 - sslh-select:ssh: data shoveled correctly test_probe called with$VAR1 = { 'data' => '', - 'binary' => 'sslh-select', 'no_frag' => 1, - 'expected' => 'socks5' + 'expected' => 'socks5', + 'binary' => 'sslh-select' }; +Would block, sleeping. Iteration: 0 socket: SCALAR(0x55bcf5969738):42514 +Successudp: 0 +prefix: ssh: +listen [1]: + host: 127.0.0.1 + port: 32911 hexdump of incoming packet: 0x000000: 05 04 01 02 03 04 ...... probing for ssh probed for ssh: PROBE_NEXT probing for socks5 probed for socks5: PROBE_MATCH -Would block, sleeping. Iteration: 0 socket: SCALAR(0x55c429db3800):41910 -socks5:connection from 127.0.0.1:41910 to 127.0.0.1:38647 forwarded from 127.0.0.1:53416 to 127.0.0.1:39089 +socks5:connection from 127.0.0.1:42514 to 127.0.0.1:41481 forwarded from 127.0.0.1:42632 to 127.0.0.1:46337 socks5: Read socks5:  from peer: '' Received 14 bytes: protocol socks5 data [] +ok 8 - sslh-select:socks5: probe connected correctly Successudp: 0 prefix: socks5: listen [1]: host: 127.0.0.1 - port: 39089 -ok 8 - sslh-select:socks5: probe connected correctly + port: 46337 ok 9 - sslh-select:socks5: data shoveled correctly test_probe called with$VAR1 = { - 'no_frag' => 1, - 'expected' => 'http', + 'binary' => 'sslh-select', 'data' => 'GET index.html HTTP/1.1', - 'binary' => 'sslh-select' + 'expected' => 'http', + 'no_frag' => 1 }; +Would block, sleeping. Iteration: 0 socket: SCALAR(0x55bcf599eba0):42516 hexdump of incoming packet: 0x000000: 47 45 54 20 69 6e 64 65 78 2e 68 74 6d 6c 20 48 GET index.html H 0x000010: 54 54 50 2f 31 2e 31 TTP/1.1 @@ -1325,24 +1362,24 @@ probing for socks5 probed for socks5: PROBE_NEXT probing for http -Would block, sleeping. Iteration: 0 socket: SCALAR(0x55c429db3788):41922 probed for http: PROBE_MATCH -http:connection from 127.0.0.1:41922 to 127.0.0.1:38647 forwarded from 127.0.0.1:52364 to 127.0.0.1:42905 +http:connection from 127.0.0.1:42516 to 127.0.0.1:41481 forwarded from 127.0.0.1:34034 to 127.0.0.1:34675 http: GET index.html HTTP/1.1Read http: GET index.html HTTP/1.1 from peer: '' Received 29 bytes: protocol http data [GET index.html HTTP/1.1] -Successudp: 0 +ok 10 - sslh-select:http: probe connected correctly +Successok 11 - sslh-select:http: data shoveled correctly +udp: 0 prefix: http: listen [1]: host: 127.0.0.1 - port: 42905 -ok 10 - sslh-select:http: probe connected correctly -ok 11 - sslh-select:http: data shoveled correctly + port: 34675 test_probe called with$VAR1 = { 'binary' => 'sslh-select', 'data' => '0 hello', 'no_frag' => 1, 'expected' => 'tinc' }; +Would block, sleeping. Iteration: 0 socket: SCALAR(0x55bcf56fe5a8):42526 hexdump of incoming packet: 0x000000: 30 20 68 65 6c 6c 6f 0 hello probing for ssh @@ -1352,59 +1389,53 @@ probing for http probed for http: PROBE_NEXT probing for tinc -Would block, sleeping. Iteration: 0 socket: SCALAR(0x55c429dbda98):46028 probed for tinc: PROBE_MATCH -tinc:connection from 127.0.0.1:46028 to 127.0.0.1:38647 forwarded from 127.0.0.1:51996 to 127.0.0.1:41441 +tinc:connection from 127.0.0.1:42526 to 127.0.0.1:41481 forwarded from 127.0.0.1:50380 to 127.0.0.1:38853 tinc: 0 helloRead tinc: 0 hello from peer: '' Received 13 bytes: protocol tinc data [0 hello] -Successudp: 0 -prefix: tinc: -listen [1]: - host: 127.0.0.1 - port: 41441 ok 12 - sslh-select:tinc: probe connected correctly ok 13 - sslh-select:tinc: data shoveled correctly test_probe called with$VAR1 = { - 'expected' => 'openvpn', - 'no_frag' => 1, 'data' => '', + 'no_frag' => 1, + 'expected' => 'openvpn', 'binary' => 'sslh-select' }; +Would block, sleeping. Iteration: 0 socket: SCALAR(0x55bcf599ec78):42528 hexdump of incoming packet: 0x000000: 00 00 .. probing for ssh probed for ssh: PROBE_AGAIN -probing for socks5 +Successprobing for socks5 probed for socks5: PROBE_NEXT -Would block, sleeping. Iteration: 0 socket: SCALAR(0x55c429dbdaf8):46036 probing for http probed for http: PROBE_AGAIN +udp: 0 +prefix: tinc: +listen [1]: + host: 127.0.0.1 + port: 38853 probing for tinc probed for tinc: PROBE_NEXT probing for openvpn probed for openvpn: PROBE_MATCH -openvpn:connection from 127.0.0.1:46036 to 127.0.0.1:38647 forwarded from 127.0.0.1:34526 to 127.0.0.1:44889 +openvpn:connection from 127.0.0.1:42528 to 127.0.0.1:41481 forwarded from 127.0.0.1:53330 to 127.0.0.1:35859 openvpn: Read openvpn: from peer: '' Received 11 bytes: protocol openvpn data [] -Successudp: 0 -prefix: openvpn: -listen [1]: - host: 127.0.0.1 - port: 44889 ok 14 - sslh-select:openvpn: probe connected correctly ok 15 - sslh-select:openvpn: data shoveled correctly test_probe called with$VAR1 = { - 'expected' => 'xmpp', - 'no_frag' => 1, + 'binary' => 'sslh-select', 'data' => 'I should get a real jabber connection initialisation here', - 'binary' => 'sslh-select' + 'no_frag' => 1, + 'expected' => 'xmpp' }; +Would block, sleeping. Iteration: 0 socket: SCALAR(0x55bcf599edc8):52842 hexdump of incoming packet: 0x000000: 49 20 73 68 6f 75 6c 64 20 67 65 74 20 61 20 72 I should get a r 0x000010: 65 61 6c 20 6a 61 62 62 65 72 20 63 6f 6e 6e 65 eal jabber conne 0x000020: 63 74 69 6f 6e 20 69 6e 69 74 69 61 6c 69 73 61 ction initialisa 0x000030: 74 69 6f 6e 20 68 65 72 65 tion here -Would block, sleeping. Iteration: 0 socket: SCALAR(0x55c429dbdac8):46042 probing for ssh probed for ssh: PROBE_NEXT probing for socks5 @@ -1417,22 +1448,23 @@ probed for openvpn: PROBE_NEXT probing for xmpp probed for xmpp: PROBE_MATCH -xmpp:connection from 127.0.0.1:46042 to 127.0.0.1:38647 forwarded from 127.0.0.1:58532 to 127.0.0.1:44997 -xmpp: I should get a real jabber connection initialisation hereRead xmpp: I should get a real jabber connection initialisation here from peer: '' -Received 63 bytes: protocol xmpp data [I should get a real jabber connection initialisation here] +xmpp:connection from 127.0.0.1:52842 to 127.0.0.1:41481 forwarded from 127.0.0.1:56430 to 127.0.0.1:40105 Successudp: 0 -prefix: xmpp: +prefix: openvpn: listen [1]: host: 127.0.0.1 - port: 44997 + port: 35859 +xmpp: I should get a real jabber connection initialisation hereRead xmpp: I should get a real jabber connection initialisation here from peer: '' +Received 63 bytes: protocol xmpp data [I should get a real jabber connection initialisation here] ok 16 - sslh-select:xmpp: probe connected correctly ok 17 - sslh-select:xmpp: data shoveled correctly test_probe called with$VAR1 = { 'binary' => 'sslh-select', - 'data' => 'CNXN....................host:...', 'no_frag' => 1, - 'expected' => 'adb' + 'expected' => 'adb', + 'data' => 'CNXN....................host:...' }; +Would block, sleeping. Iteration: 0 socket: SCALAR(0x55bcf59aa8f0):52846 hexdump of incoming packet: 0x000000: 43 4e 58 4e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e CNXN............ 0x000010: 2e 2e 2e 2e 2e 2e 2e 2e 68 6f 73 74 3a 2e 2e 2e ........host:... @@ -1450,25 +1482,29 @@ probed for xmpp: PROBE_AGAIN probing for adb probed for adb: PROBE_MATCH -Would block, sleeping. Iteration: 0 socket: SCALAR(0x55c429dbdc18):46058 -adb:connection from 127.0.0.1:46058 to 127.0.0.1:38647 forwarded from 127.0.0.1:39804 to 127.0.0.1:44277 +Successadb:connection from 127.0.0.1:52846 to 127.0.0.1:41481 forwarded from 127.0.0.1:38396 to 127.0.0.1:46427 +udp: 0 +prefix: xmpp: +listen [1]: + host: 127.0.0.1 + port: 40105 adb: CNXN....................host:...Read adb: CNXN....................host:... from peer: '' Received 37 bytes: protocol adb data [CNXN....................host:...] -Successudp: 0 +Successok 18 - sslh-select:adb: probe connected correctly +udp: 0 prefix: adb: listen [1]: host: 127.0.0.1 - port: 44277 -ok 18 - sslh-select:adb: probe connected correctly + port: 46427 ok 19 - sslh-select:adb: data shoveled correctly test_probe called with$VAR1 = { - 'data' => '<42> My syslog message', 'binary' => 'sslh-select', 'no_frag' => 1, - 'expected' => 'syslog' + 'expected' => 'syslog', + 'data' => '<42> My syslog message' }; hexdump of incoming packet: -Would block, sleeping. Iteration: 0 socket: SCALAR(0x55c429db2d98):46072 +Would block, sleeping. Iteration: 0 socket: SCALAR(0x55bcf599f848):52848 0x000000: 3c 34 32 3e 20 4d 79 20 73 79 73 6c 6f 67 20 6d <42> My syslog m 0x000010: 65 73 73 61 67 65 essage probing for ssh @@ -1487,23 +1523,24 @@ probed for adb: PROBE_AGAIN probing for syslog probed for syslog: PROBE_MATCH -syslog:connection from 127.0.0.1:46072 to 127.0.0.1:38647 forwarded from 127.0.0.1:52896 to 127.0.0.1:34625 +syslog:connection from 127.0.0.1:52848 to 127.0.0.1:41481 forwarded from 127.0.0.1:53436 to 127.0.0.1:33043 syslog: <42> My syslog messageRead syslog: <42> My syslog message from peer: '' Received 30 bytes: protocol syslog data [<42> My syslog message] Successudp: 0 prefix: syslog: listen [1]: host: 127.0.0.1 - port: 34625 + port: 33043 ok 20 - sslh-select:syslog: probe connected correctly ok 21 - sslh-select:syslog: data shoveled correctly test_probe called with$VAR1 = { 'data' => 'foo', - 'binary' => 'sslh-select', 'no_frag' => 1, - 'expected' => 'ssh' + 'expected' => 'ssh', + 'binary' => 'sslh-select' }; hexdump of incoming packet: +Would block, sleeping. Iteration: 0 socket: SCALAR(0x55bcf599fab8):52860 0x000000: 66 6f 6f foo probing for ssh probed for ssh: PROBE_AGAIN @@ -1520,7 +1557,6 @@ probing for adb probed for adb: PROBE_AGAIN probing for syslog -Would block, sleeping. Iteration: 0 socket: SCALAR(0x55c429dbe488):51448 probed for syslog: PROBE_NEXT probing for regex input too short, 3 bytes but need 4 @@ -1535,26 +1571,27 @@ probing for tls probed for tls: PROBE_AGAIN probing for anyprot -Would block, sleeping. Iteration: 1 socket: SCALAR(0x55c429dbe488):51448 -Would block, sleeping. Iteration: 2 socket: SCALAR(0x55c429dbe488):51448 -Would block, sleeping. Iteration: 3 socket: SCALAR(0x55c429dbe488):51448 -ssh:connection from 127.0.0.1:51448 to 127.0.0.1:38647 forwarded from 127.0.0.1:60854 to 127.0.0.1:46195 +Would block, sleeping. Iteration: 1 socket: SCALAR(0x55bcf599fab8):52860 +Would block, sleeping. Iteration: 2 socket: SCALAR(0x55bcf599fab8):52860 +Would block, sleeping. Iteration: 3 socket: SCALAR(0x55bcf599fab8):52860 +ssh:connection from 127.0.0.1:52860 to 127.0.0.1:41481 forwarded from 127.0.0.1:36390 to 127.0.0.1:32911 ssh: fooRead ssh: foo from peer: '' Received 8 bytes: protocol ssh data [foo] -Successok 22 - sslh-select:ssh: probe connected correctly -udp: 0 +ok 22 - sslh-select:ssh: probe connected correctly +ok 23 - sslh-select:ssh: data shoveled correctly +Successudp: 0 prefix: ssh: listen [1]: host: 127.0.0.1 - port: 46195 -ok 23 - sslh-select:ssh: data shoveled correctly + port: 32911 test_probe called with$VAR1 = { 'binary' => 'sslh-select', 'data' => 'fooo', - 'expected' => 'regex', - 'no_frag' => 1 + 'no_frag' => 1, + 'expected' => 'regex' }; hexdump of incoming packet: +Would block, sleeping. Iteration: 0 socket: SCALAR(0x55bcf599f5f0):52940 0x000000: 66 6f 6f 6f fooo probing for ssh probed for ssh: PROBE_NEXT @@ -1571,27 +1608,27 @@ probing for adb probed for adb: PROBE_AGAIN probing for syslog -Would block, sleeping. Iteration: 0 socket: SCALAR(0x55c429dbe458):56862 probed for syslog: PROBE_NEXT probing for regex probed for regex: PROBE_MATCH -regex:connection from 127.0.0.1:56862 to 127.0.0.1:38647 forwarded from 127.0.0.1:50642 to 127.0.0.1:46849 +regex:connection from 127.0.0.1:52940 to 127.0.0.1:41481 forwarded from 127.0.0.1:41474 to 127.0.0.1:41683 regex: foooRead regex: fooo from peer: '' Received 11 bytes: protocol regex data [fooo] Successudp: 0 prefix: regex: listen [1]: host: 127.0.0.1 - port: 46849 + port: 41683 ok 24 - sslh-select:regex: probe connected correctly ok 25 - sslh-select:regex: data shoveled correctly test_probe called with$VAR1 = { - 'binary' => 'sslh-select', - 'data' => 'bar', + 'no_frag' => 1, 'expected' => 'ssh', - 'no_frag' => 1 + 'data' => 'bar', + 'binary' => 'sslh-select' }; hexdump of incoming packet: +Would block, sleeping. Iteration: 0 socket: SCALAR(0x55bcf59aaae8):52950 0x000000: 62 61 72 bar probing for ssh probed for ssh: PROBE_AGAIN @@ -1608,7 +1645,6 @@ probing for adb probed for adb: PROBE_AGAIN probing for syslog -Would block, sleeping. Iteration: 0 socket: SCALAR(0x55c429dbdc78):56868 probed for syslog: PROBE_NEXT probing for regex input too short, 3 bytes but need 4 @@ -1623,27 +1659,22 @@ probing for tls probed for tls: PROBE_AGAIN probing for anyprot -Would block, sleeping. Iteration: 1 socket: SCALAR(0x55c429dbdc78):56868 -Would block, sleeping. Iteration: 2 socket: SCALAR(0x55c429dbdc78):56868 -Would block, sleeping. Iteration: 3 socket: SCALAR(0x55c429dbdc78):56868 -ssh:connection from 127.0.0.1:56868 to 127.0.0.1:38647 forwarded from 127.0.0.1:52766 to 127.0.0.1:46195 +Would block, sleeping. Iteration: 1 socket: SCALAR(0x55bcf59aaae8):52950 +Would block, sleeping. Iteration: 2 socket: SCALAR(0x55bcf59aaae8):52950 +Would block, sleeping. Iteration: 3 socket: SCALAR(0x55bcf59aaae8):52950 +ssh:connection from 127.0.0.1:52950 to 127.0.0.1:41481 forwarded from 127.0.0.1:57188 to 127.0.0.1:32911 ssh: barRead ssh: bar from peer: '' Received 8 bytes: protocol ssh data [bar] -Successudp: 0 -prefix: ssh: -listen [1]: - host: 127.0.0.1 - port: 46195 ok 26 - sslh-select:ssh: probe connected correctly ok 27 - sslh-select:ssh: data shoveled correctly test_probe called with$VAR1 = { - 'data' => 'barr', 'binary' => 'sslh-select', + 'data' => 'barr', 'no_frag' => 1, 'expected' => 'regex' }; +Would block, sleeping. Iteration: 0 socket: SCALAR(0x55bcf599edc8):54872 hexdump of incoming packet: -Would block, sleeping. Iteration: 0 socket: SCALAR(0x55c429dbe9f8):45244 0x000000: 62 61 72 72 barr probing for ssh probed for ssh: PROBE_NEXT @@ -1659,26 +1690,27 @@ probed for xmpp: PROBE_AGAIN probing for adb probed for adb: PROBE_AGAIN -probing for syslog +Successprobing for syslog probed for syslog: PROBE_NEXT probing for regex +udp: 0 +prefix: ssh: +listen [1]: + host: 127.0.0.1 + port: 32911 probed for regex: PROBE_MATCH -regex:connection from 127.0.0.1:45244 to 127.0.0.1:38647 forwarded from 127.0.0.1:51210 to 127.0.0.1:46849 +regex:connection from 127.0.0.1:54872 to 127.0.0.1:41481 forwarded from 127.0.0.1:45446 to 127.0.0.1:41683 regex: barrRead regex: barr from peer: '' Received 11 bytes: protocol regex data [barr] -Successudp: 0 -prefix: regex: -listen [1]: - host: 127.0.0.1 - port: 46849 ok 28 - sslh-select:regex: probe connected correctly ok 29 - sslh-select:regex: data shoveled correctly test_probe called with$VAR1 = { 'data' => 'barrr', - 'binary' => 'sslh-select', 'no_frag' => 1, - 'expected' => 'regex' + 'expected' => 'regex', + 'binary' => 'sslh-select' }; +Would block, sleeping. Iteration: 0 socket: SCALAR(0x55bcf599f038):54876 hexdump of incoming packet: 0x000000: 62 61 72 72 72 barrr probing for ssh @@ -1689,7 +1721,6 @@ probed for http: PROBE_AGAIN probing for tinc probed for tinc: PROBE_NEXT -Would block, sleeping. Iteration: 0 socket: SCALAR(0x55c429dc1948):45260 probing for openvpn probed for openvpn: PROBE_NEXT probing for xmpp @@ -1700,15 +1731,20 @@ probed for syslog: PROBE_NEXT probing for regex probed for regex: PROBE_MATCH -regex:connection from 127.0.0.1:45260 to 127.0.0.1:38647 forwarded from 127.0.0.1:51212 to 127.0.0.1:46849 +regex:connection from 127.0.0.1:54876 to 127.0.0.1:41481 forwarded from 127.0.0.1:45456 to 127.0.0.1:41683 +Successudp: 0 +prefix: regex: +listen [1]: + host: 127.0.0.1 + port: 41683 regex: barrrRead regex: barrr from peer: '' Received 12 bytes: protocol regex data [barrr] -Successok 30 - sslh-select:regex: probe connected correctly -udp: 0 +Successudp: 0 prefix: regex: listen [1]: host: 127.0.0.1 - port: 46849 + port: 41683 +ok 30 - sslh-select:regex: probe connected correctly ok 31 - sslh-select:regex: data shoveled correctly sni: sni1 alpn: alpn1 @@ -1717,9 +1753,9 @@ 9 3=<5/_ sni1  # alpn1hello sni/alpn', - 'binary' => 'sslh-select', + 'expected' => 'tls:sni1;alpn1,alpn2', 'no_frag' => 1, - 'expected' => 'tls:sni1;alpn1,alpn2' + 'binary' => 'sslh-select' }; hexdump of incoming packet: 0x000000: 16 03 01 00 c4 01 00 00 c0 03 03 03 19 01 00 40 ...............@ @@ -1727,8 +1763,8 @@ 0x000020: d1 3c 5d 05 19 cb 27 0d 7c 2c 89 00 00 38 c0 2c .<]...'.|,...8., 0x000030: c0 30 00 9f cc a9 cc a8 cc aa c0 2b c0 2f 00 9e .0.........+./.. 0x000040: c0 24 c0 28 00 6b c0 23 c0 27 00 67 c0 0a c0 14 .$.(.k.#.'.g.... -Would block, sleeping. Iteration: 0 socket: SCALAR(0x55c429dbde28):45264 0x000050: 00 39 c0 09 c0 13 00 33 00 9d 00 9c 00 3d 00 3c .9.....3.....=.< +Would block, sleeping. Iteration: 0 socket: SCALAR(0x55bcf59ae4d8):47098 0x000060: 00 35 00 2f 00 ff 01 00 00 5f 00 00 00 09 00 07 .5./....._...... 0x000070: 00 00 04 73 6e 69 31 00 0b 00 04 03 00 01 02 00 ...sni1......... 0x000080: 0a 00 0a 00 08 00 1d 00 17 00 19 00 18 00 23 00 ..............#. @@ -1759,7 +1795,7 @@ matching [sni1] with [sni1] matching [alpn1] with [alpn1] probed for tls: PROBE_MATCH -tls:connection from 127.0.0.1:45264 to 127.0.0.1:38647 forwarded from 127.0.0.1:59516 to 127.0.0.1:40553 +tls:connection from 127.0.0.1:47098 to 127.0.0.1:41481 forwarded from 127.0.0.1:44138 to 127.0.0.1:40149 tls:sni1;alpn1,alpn2: @ ]e#p<]' |,8,0̨̩̪+/$(k#'g 9 3=<5/_ sni1  @@ -1771,31 +1807,31 @@ 9 3=<5/_ sni1  # alpn1hello sni/alpn] -Successudp: 0 +Successok 32 - sslh-select:tls:sni1;alpn1,alpn2: probe connected correctly +udp: 0 prefix: tls:sni1;alpn1,alpn2: listen [1]: host: 127.0.0.1 - port: 40553 -ok 32 - sslh-select:tls:sni1;alpn1,alpn2: probe connected correctly + port: 40149 ok 33 - sslh-select:tls:sni1;alpn1,alpn2: data shoveled correctly sni: sni1 alpn: alpn2 test_probe called with$VAR1 = { 'no_frag' => 1, 'expected' => 'tls:sni1;alpn1,alpn2', - 'binary' => 'sslh-select', 'data' => '@ ]e#p<]\' |,8,0̨̩̪+/$(k#\'g 9 3=<5/_ sni1  -# alpn2hello sni/alpn' +# alpn2hello sni/alpn', + 'binary' => 'sslh-select' }; +Would block, sleeping. Iteration: 0 socket: SCALAR(0x55bcf59aada0):47112 hexdump of incoming packet: 0x000000: 16 03 01 00 c4 01 00 00 c0 03 03 03 19 01 00 40 ...............@ 0x000010: 14 13 cc 1b 94 ad 20 5d 13 1a 8d d2 65 23 70 de ...... ]....e#p. 0x000020: d1 3c 5d 05 19 cb 27 0d 7c 2c 89 00 00 38 c0 2c .<]...'.|,...8., 0x000030: c0 30 00 9f cc a9 cc a8 cc aa c0 2b c0 2f 00 9e .0.........+./.. 0x000040: c0 24 c0 28 00 6b c0 23 c0 27 00 67 c0 0a c0 14 .$.(.k.#.'.g.... -Would block, sleeping. Iteration: 0 socket: SCALAR(0x55c429dc1900):45280 0x000050: 00 39 c0 09 c0 13 00 33 00 9d 00 9c 00 3d 00 3c .9.....3.....=.< 0x000060: 00 35 00 2f 00 ff 01 00 00 5f 00 00 00 09 00 07 .5./....._...... 0x000070: 00 00 04 73 6e 69 31 00 0b 00 04 03 00 01 02 00 ...sni1......... @@ -1828,7 +1864,7 @@ matching [alpn2] with [alpn1] matching [alpn2] with [alpn2] probed for tls: PROBE_MATCH -tls:connection from 127.0.0.1:45280 to 127.0.0.1:38647 forwarded from 127.0.0.1:59530 to 127.0.0.1:40553 +tls:connection from 127.0.0.1:47112 to 127.0.0.1:41481 forwarded from 127.0.0.1:44152 to 127.0.0.1:40149 tls:sni1;alpn1,alpn2: @ ]e#p<]' |,8,0̨̩̪+/$(k#'g 9 3=<5/_ sni1  @@ -1844,29 +1880,29 @@ prefix: tls:sni1;alpn1,alpn2: listen [1]: host: 127.0.0.1 - port: 40553 + port: 40149 ok 34 - sslh-select:tls:sni1;alpn1,alpn2: probe connected correctly ok 35 - sslh-select:tls:sni1;alpn1,alpn2: data shoveled correctly sni: sni2 alpn: alpn1 test_probe called with$VAR1 = { + 'binary' => 'sslh-select', + 'expected' => 'tls:sni2,sni3;alpn1,alpn2', + 'no_frag' => 1, 'data' => '@ ]e#p<]\' |,8,0̨̩̪+/$(k#\'g 9 3=<5/_ sni2  -# alpn1hello sni/alpn', - 'binary' => 'sslh-select', - 'expected' => 'tls:sni2,sni3;alpn1,alpn2', - 'no_frag' => 1 +# alpn1hello sni/alpn' }; hexdump of incoming packet: 0x000000: 16 03 01 00 c4 01 00 00 c0 03 03 03 19 01 00 40 ...............@ +Would block, sleeping. Iteration: 0 socket: SCALAR(0x55bcf599ec30):47128 0x000010: 14 13 cc 1b 94 ad 20 5d 13 1a 8d d2 65 23 70 de ...... ]....e#p. 0x000020: d1 3c 5d 05 19 cb 27 0d 7c 2c 89 00 00 38 c0 2c .<]...'.|,...8., 0x000030: c0 30 00 9f cc a9 cc a8 cc aa c0 2b c0 2f 00 9e .0.........+./.. 0x000040: c0 24 c0 28 00 6b c0 23 c0 27 00 67 c0 0a c0 14 .$.(.k.#.'.g.... 0x000050: 00 39 c0 09 c0 13 00 33 00 9d 00 9c 00 3d 00 3c .9.....3.....=.< 0x000060: 00 35 00 2f 00 ff 01 00 00 5f 00 00 00 09 00 07 .5./....._...... -Would block, sleeping. Iteration: 0 socket: SCALAR(0x55c429dc1678):45296 0x000070: 00 00 04 73 6e 69 32 00 0b 00 04 03 00 01 02 00 ...sni2......... 0x000080: 0a 00 0a 00 08 00 1d 00 17 00 19 00 18 00 23 00 ..............#. 0x000090: 00 00 0d 00 20 00 1e 06 01 06 02 06 03 05 01 05 .... ........... @@ -1899,7 +1935,7 @@ matching [sni2] with [sni2] matching [alpn1] with [alpn1] probed for tls: PROBE_MATCH -tls:connection from 127.0.0.1:45296 to 127.0.0.1:38647 forwarded from 127.0.0.1:52748 to 127.0.0.1:44141 +tls:connection from 127.0.0.1:47128 to 127.0.0.1:41481 forwarded from 127.0.0.1:60182 to 127.0.0.1:40055 tls:sni2,sni3;alpn1,alpn2: @ ]e#p<]' |,8,0̨̩̪+/$(k#'g 9 3=<5/_ sni2  @@ -1911,25 +1947,26 @@ 9 3=<5/_ sni2  # alpn1hello sni/alpn] -Successudp: 0 +Successok 36 - sslh-select:tls:sni2,sni3;alpn1,alpn2: probe connected correctly +udp: 0 prefix: tls:sni2,sni3;alpn1,alpn2: listen [1]: host: 127.0.0.1 - port: 44141 -ok 36 - sslh-select:tls:sni2,sni3;alpn1,alpn2: probe connected correctly + port: 40055 ok 37 - sslh-select:tls:sni2,sni3;alpn1,alpn2: data shoveled correctly sni: sni2 alpn: alpn2 test_probe called with$VAR1 = { 'binary' => 'sslh-select', + 'no_frag' => 1, + 'expected' => 'tls:sni2,sni3;alpn1,alpn2', 'data' => '@ ]e#p<]\' |,8,0̨̩̪+/$(k#\'g 9 3=<5/_ sni2  -# alpn2hello sni/alpn', - 'expected' => 'tls:sni2,sni3;alpn1,alpn2', - 'no_frag' => 1 +# alpn2hello sni/alpn' }; hexdump of incoming packet: +Would block, sleeping. Iteration: 0 socket: SCALAR(0x55bcf59aaf08):47138 0x000000: 16 03 01 00 c4 01 00 00 c0 03 03 03 19 01 00 40 ...............@ 0x000010: 14 13 cc 1b 94 ad 20 5d 13 1a 8d d2 65 23 70 de ...... ]....e#p. 0x000020: d1 3c 5d 05 19 cb 27 0d 7c 2c 89 00 00 38 c0 2c .<]...'.|,...8., @@ -1941,7 +1978,6 @@ 0x000080: 0a 00 0a 00 08 00 1d 00 17 00 19 00 18 00 23 00 ..............#. 0x000090: 00 00 0d 00 20 00 1e 06 01 06 02 06 03 05 01 05 .... ........... 0x0000a0: 02 05 03 04 01 04 02 04 03 03 01 03 02 03 03 02 ................ -Would block, sleeping. Iteration: 0 socket: SCALAR(0x55c429dc2110):60250 0x0000b0: 01 02 02 02 03 00 10 00 08 00 06 05 61 6c 70 6e ............alpn 0x0000c0: 32 00 16 00 00 00 17 00 00 68 65 6c 6c 6f 20 73 2........hello s 0x0000d0: 6e 69 2f 61 6c 70 6e ni/alpn @@ -1971,7 +2007,7 @@ matching [alpn2] with [alpn1] matching [alpn2] with [alpn2] probed for tls: PROBE_MATCH -tls:connection from 127.0.0.1:60250 to 127.0.0.1:38647 forwarded from 127.0.0.1:38062 to 127.0.0.1:44141 +tls:connection from 127.0.0.1:47138 to 127.0.0.1:41481 forwarded from 127.0.0.1:60190 to 127.0.0.1:40055 tls:sni2,sni3;alpn1,alpn2: @ ]e#p<]' |,8,0̨̩̪+/$(k#'g 9 3=<5/_ sni2  @@ -1983,32 +2019,32 @@ 9 3=<5/_ sni2  # alpn2hello sni/alpn] -Successok 38 - sslh-select:tls:sni2,sni3;alpn1,alpn2: probe connected correctly +ok 38 - sslh-select:tls:sni2,sni3;alpn1,alpn2: probe connected correctly +Successok 39 - sslh-select:tls:sni2,sni3;alpn1,alpn2: data shoveled correctly udp: 0 prefix: tls:sni2,sni3;alpn1,alpn2: listen [1]: host: 127.0.0.1 - port: 44141 -ok 39 - sslh-select:tls:sni2,sni3;alpn1,alpn2: data shoveled correctly + port: 40055 sni: sni3 alpn: alpn1 test_probe called with$VAR1 = { + 'expected' => 'tls:sni2,sni3;alpn1,alpn2', + 'no_frag' => 1, 'data' => '@ ]e#p<]\' |,8,0̨̩̪+/$(k#\'g 9 3=<5/_ sni3  # alpn1hello sni/alpn', - 'binary' => 'sslh-select', - 'expected' => 'tls:sni2,sni3;alpn1,alpn2', - 'no_frag' => 1 + 'binary' => 'sslh-select' }; hexdump of incoming packet: +Would block, sleeping. Iteration: 0 socket: SCALAR(0x55bcf59ae1d8):47148 0x000000: 16 03 01 00 c4 01 00 00 c0 03 03 03 19 01 00 40 ...............@ 0x000010: 14 13 cc 1b 94 ad 20 5d 13 1a 8d d2 65 23 70 de ...... ]....e#p. 0x000020: d1 3c 5d 05 19 cb 27 0d 7c 2c 89 00 00 38 c0 2c .<]...'.|,...8., 0x000030: c0 30 00 9f cc a9 cc a8 cc aa c0 2b c0 2f 00 9e .0.........+./.. 0x000040: c0 24 c0 28 00 6b c0 23 c0 27 00 67 c0 0a c0 14 .$.(.k.#.'.g.... 0x000050: 00 39 c0 09 c0 13 00 33 00 9d 00 9c 00 3d 00 3c .9.....3.....=.< -Would block, sleeping. Iteration: 0 socket: SCALAR(0x55c429dc1c00):60262 0x000060: 00 35 00 2f 00 ff 01 00 00 5f 00 00 00 09 00 07 .5./....._...... 0x000070: 00 00 04 73 6e 69 33 00 0b 00 04 03 00 01 02 00 ...sni3......... 0x000080: 0a 00 0a 00 08 00 1d 00 17 00 19 00 18 00 23 00 ..............#. @@ -2043,7 +2079,7 @@ matching [sni3] with [sni3] matching [alpn1] with [alpn1] probed for tls: PROBE_MATCH -tls:connection from 127.0.0.1:60262 to 127.0.0.1:38647 forwarded from 127.0.0.1:38078 to 127.0.0.1:44141 +tls:connection from 127.0.0.1:47148 to 127.0.0.1:41481 forwarded from 127.0.0.1:60192 to 127.0.0.1:40055 tls:sni2,sni3;alpn1,alpn2: @ ]e#p<]' |,8,0̨̩̪+/$(k#'g 9 3=<5/_ sni3  @@ -2055,30 +2091,25 @@ 9 3=<5/_ sni3  # alpn1hello sni/alpn] -Successudp: 0 -prefix: tls:sni2,sni3;alpn1,alpn2: -listen [1]: - host: 127.0.0.1 - port: 44141 ok 40 - sslh-select:tls:sni2,sni3;alpn1,alpn2: probe connected correctly ok 41 - sslh-select:tls:sni2,sni3;alpn1,alpn2: data shoveled correctly sni: sni3 alpn: alpn2 test_probe called with$VAR1 = { - 'binary' => 'sslh-select', 'data' => '@ ]e#p<]\' |,8,0̨̩̪+/$(k#\'g 9 3=<5/_ sni3  # alpn2hello sni/alpn', 'no_frag' => 1, - 'expected' => 'tls:sni2,sni3;alpn1,alpn2' + 'expected' => 'tls:sni2,sni3;alpn1,alpn2', + 'binary' => 'sslh-select' }; +Would block, sleeping. Iteration: 0 socket: SCALAR(0x55bcf59ae970):39342 hexdump of incoming packet: 0x000000: 16 03 01 00 c4 01 00 00 c0 03 03 03 19 01 00 40 ...............@ 0x000010: 14 13 cc 1b 94 ad 20 5d 13 1a 8d d2 65 23 70 de ...... ]....e#p. 0x000020: d1 3c 5d 05 19 cb 27 0d 7c 2c 89 00 00 38 c0 2c .<]...'.|,...8., 0x000030: c0 30 00 9f cc a9 cc a8 cc aa c0 2b c0 2f 00 9e .0.........+./.. -Would block, sleeping. Iteration: 0 socket: SCALAR(0x55c429dc7058):60272 0x000040: c0 24 c0 28 00 6b c0 23 c0 27 00 67 c0 0a c0 14 .$.(.k.#.'.g.... 0x000050: 00 39 c0 09 c0 13 00 33 00 9d 00 9c 00 3d 00 3c .9.....3.....=.< 0x000060: 00 35 00 2f 00 ff 01 00 00 5f 00 00 00 09 00 07 .5./....._...... @@ -2116,11 +2147,16 @@ matching [alpn2] with [alpn1] matching [alpn2] with [alpn2] probed for tls: PROBE_MATCH -tls:connection from 127.0.0.1:60272 to 127.0.0.1:38647 forwarded from 127.0.0.1:38086 to 127.0.0.1:44141 +tls:connection from 127.0.0.1:39342 to 127.0.0.1:41481 forwarded from 127.0.0.1:35354 to 127.0.0.1:40055 tls:sni2,sni3;alpn1,alpn2: @ ]e#p<]' |,8,0̨̩̪+/$(k#'g 9 3=<5/_ sni3  -# alpn2hello sni/alpnRead tls:sni2,sni3;alpn1,alpn2: @ ]e#p<]' |,8,0̨̩̪+/$(k#'g +# alpn2hello sni/alpnSuccessudp: 0 +prefix: tls:sni2,sni3;alpn1,alpn2: +listen [1]: + host: 127.0.0.1 + port: 40055 +Read tls:sni2,sni3;alpn1,alpn2: @ ]e#p<]' |,8,0̨̩̪+/$(k#'g 9 3=<5/_ sni3  # alpn2hello sni/alpn from peer: '' @@ -2128,11 +2164,6 @@ 9 3=<5/_ sni3  # alpn2hello sni/alpn] -Successudp: 0 -prefix: tls:sni2,sni3;alpn1,alpn2: -listen [1]: - host: 127.0.0.1 - port: 44141 ok 42 - sslh-select:tls:sni2,sni3;alpn1,alpn2: probe connected correctly ok 43 - sslh-select:tls:sni2,sni3;alpn1,alpn2: data shoveled correctly sni: @@ -2140,19 +2171,19 @@ test_probe called with$VAR1 = { 'expected' => 'tls:;alpn3', 'no_frag' => 1, - 'binary' => 'sslh-select', 'data' => '␢)1DQT[Qf? +$V8,0̨̩̪+/$(k#\'g 9 3=<5/R  -# alpn3hello alpn' +# alpn3hello alpn', + 'binary' => 'sslh-select' }; +Would block, sleeping. Iteration: 0 socket: SCALAR(0x55bcf59ae790):39346 hexdump of incoming packet: 0x000000: 16 03 01 00 b7 01 00 00 b3 03 03 e2 90 a2 29 03 ..............). 0x000010: 31 ad 98 44 51 54 90 5b d9 51 0e 66 b5 3f e8 8b 1..DQT.[.Q.f.?.. 0x000020: 09 c9 e4 2b 97 24 ef ad 56 06 c9 00 00 38 c0 2c ...+.$..V....8., 0x000030: c0 30 00 9f cc a9 cc a8 cc aa c0 2b c0 2f 00 9e .0.........+./.. 0x000040: c0 24 c0 28 00 6b c0 23 c0 27 00 67 c0 0a c0 14 .$.(.k.#.'.g.... -Would block, sleeping. Iteration: 0 socket: SCALAR(0x55c429dc6f50):60286 0x000050: 00 39 c0 09 c0 13 00 33 00 9d 00 9c 00 3d 00 3c .9.....3.....=.< 0x000060: 00 35 00 2f 00 ff 01 00 00 52 00 0b 00 04 03 00 .5./.....R...... 0x000070: 01 02 00 0a 00 0a 00 08 00 1d 00 17 00 19 00 18 ................ @@ -2192,7 +2223,12 @@ probing for tls matching [alpn3] with [alpn3] probed for tls: PROBE_MATCH -tls:connection from 127.0.0.1:60286 to 127.0.0.1:38647 forwarded from 127.0.0.1:39652 to 127.0.0.1:38707 +tls:connection from 127.0.0.1:39346 to 127.0.0.1:41481 forwarded from 127.0.0.1:58910 to 127.0.0.1:33833 +Successudp: 0 +prefix: tls:sni2,sni3;alpn1,alpn2: +listen [1]: + host: 127.0.0.1 + port: 40055 tls:;alpn3: ␢)1DQT[Qf? +$V8,0̨̩̪+/$(k#'g 9 3=<5/R  @@ -2204,35 +2240,35 @@ 9 3=<5/R  # alpn3hello alpn] -Successudp: 0 +ok 44 - sslh-select:tls:;alpn3: probe connected correctly +Successok 45 - sslh-select:tls:;alpn3: data shoveled correctly +udp: 0 prefix: tls:;alpn3: listen [1]: host: 127.0.0.1 - port: 38707 -ok 44 - sslh-select:tls:;alpn3: probe connected correctly -ok 45 - sslh-select:tls:;alpn3: data shoveled correctly + port: 33833 sni: sni3 alpn: test_probe called with$VAR1 = { 'binary' => 'sslh-select', + 'no_frag' => 1, + 'expected' => 'tls:sni3;', 'data' => '魆![\'KUP/7%Y728,0̨̩̪+/$(k#\'g 9 3=<5/S sni3  -# hello sni', - 'no_frag' => 1, - 'expected' => 'tls:sni3;' +# hello sni' }; hexdump of incoming packet: 0x000000: 16 03 01 00 b8 01 00 00 b4 03 03 97 e4 e9 ad 86 ................ 0x000010: e1 21 fd c4 5b 27 0e ad 4b 55 c2 50 e4 1c 86 2f .!..['..KU.P.../ 0x000020: 37 25 de e8 9c 59 fc 1b a9 37 32 00 00 38 c0 2c 7%...Y...72..8., -Would block, sleeping. Iteration: 0 socket: SCALAR(0x55c429dc71d8):60292 0x000030: c0 30 00 9f cc a9 cc a8 cc aa c0 2b c0 2f 00 9e .0.........+./.. 0x000040: c0 24 c0 28 00 6b c0 23 c0 27 00 67 c0 0a c0 14 .$.(.k.#.'.g.... 0x000050: 00 39 c0 09 c0 13 00 33 00 9d 00 9c 00 3d 00 3c .9.....3.....=.< 0x000060: 00 35 00 2f 00 ff 01 00 00 53 00 00 00 09 00 07 .5./.....S...... 0x000070: 00 00 04 73 6e 69 33 00 0b 00 04 03 00 01 02 00 ...sni3......... 0x000080: 0a 00 0a 00 08 00 1d 00 17 00 19 00 18 00 23 00 ..............#. +Would block, sleeping. Iteration: 0 socket: SCALAR(0x55bcf59aaae8):39362 0x000090: 00 00 0d 00 20 00 1e 06 01 06 02 06 03 05 01 05 .... ........... 0x0000a0: 02 05 03 04 01 04 02 04 03 03 01 03 02 03 03 02 ................ 0x0000b0: 01 02 02 02 03 00 16 00 00 00 17 00 00 68 65 6c .............hel @@ -2267,7 +2303,7 @@ probing for tls matching [sni3] with [sni3] probed for tls: PROBE_MATCH -tls:connection from 127.0.0.1:60292 to 127.0.0.1:38647 forwarded from 127.0.0.1:33810 to 127.0.0.1:41171 +tls:connection from 127.0.0.1:39362 to 127.0.0.1:41481 forwarded from 127.0.0.1:45422 to 127.0.0.1:46025 tls:sni3;: 魆!['KUP/7%Y728,0̨̩̪+/$(k#'g 9 3=<5/S sni3  @@ -2283,18 +2319,19 @@ prefix: tls:sni3;: listen [1]: host: 127.0.0.1 - port: 41171 + port: 46025 ok 46 - sslh-select:tls:sni3;: probe connected correctly ok 47 - sslh-select:tls:sni3;: data shoveled correctly test_probe called with$VAR1 = { - 'expected' => 'tls', - 'no_frag' => 1, + 'binary' => 'sslh-select', 'data' => '"3CzÉEQ<($jxؐXe-u8,0̨̩̪+/$(k#\'g 9 3=<5/F  # hello tls alone', - 'binary' => 'sslh-select' + 'expected' => 'tls', + 'no_frag' => 1 }; +Would block, sleeping. Iteration: 0 socket: SCALAR(0x55bcf59aeac0):39366 hexdump of incoming packet: 0x000000: 16 03 01 00 ab 01 00 00 a7 03 03 89 22 33 95 43 ............"3.C 0x000010: 7a c3 89 45 51 12 3c 28 24 1b 6a 78 bf be 95 d8 z..EQ.<($.jx.... @@ -2302,7 +2339,6 @@ 0x000030: c0 30 00 9f cc a9 cc a8 cc aa c0 2b c0 2f 00 9e .0.........+./.. 0x000040: c0 24 c0 28 00 6b c0 23 c0 27 00 67 c0 0a c0 14 .$.(.k.#.'.g.... 0x000050: 00 39 c0 09 c0 13 00 33 00 9d 00 9c 00 3d 00 3c .9.....3.....=.< -Would block, sleeping. Iteration: 0 socket: SCALAR(0x55c429dc7220):47556 0x000060: 00 35 00 2f 00 ff 01 00 00 46 00 0b 00 04 03 00 .5./.....F...... 0x000070: 01 02 00 0a 00 0a 00 08 00 1d 00 17 00 19 00 18 ................ 0x000080: 00 23 00 00 00 0d 00 20 00 1e 06 01 06 02 06 03 .#..... ........ @@ -2337,7 +2373,7 @@ probed for tls: PROBE_NEXT probing for tls probed for tls: PROBE_MATCH -tls:connection from 127.0.0.1:47556 to 127.0.0.1:38647 forwarded from 127.0.0.1:33968 to 127.0.0.1:34581 +tls:connection from 127.0.0.1:39366 to 127.0.0.1:41481 forwarded from 127.0.0.1:49518 to 127.0.0.1:37515 tls: "3CzÉEQ<($jxؐXe-u8,0̨̩̪+/$(k#'g 9 3=<5/F  @@ -2353,14 +2389,14 @@ prefix: tls: listen [1]: host: 127.0.0.1 - port: 34581 + port: 37515 ok 48 - sslh-select:tls: probe connected correctly ok 49 - sslh-select:tls: data shoveled correctly test_probe called with$VAR1 = { - 'no_frag' => 1, - 'expected' => 'anyprot', + 'binary' => 'sslh-select', 'data' => 'hello anyprot this needs to be longer than xmpp and adb which expect about 50 characters, which I all have to write before the timeout!', - 'binary' => 'sslh-select' + 'no_frag' => 1, + 'expected' => 'anyprot' }; hexdump of incoming packet: 0x000000: 68 65 6c 6c 6f 20 61 6e 79 70 72 6f 74 20 74 68 hello anyprot th @@ -2376,8 +2412,8 @@ probed for ssh: PROBE_NEXT probing for socks5 probed for socks5: PROBE_NEXT -Would block, sleeping. Iteration: 0 socket: SCALAR(0x55c429dc7da8):47562 probing for http +Would block, sleeping. Iteration: 0 socket: SCALAR(0x55bcf59ab058):39372 probed for http: PROBE_NEXT probing for tinc probed for tinc: PROBE_NEXT @@ -2407,20 +2443,20 @@ Request did not begin with TLS handshake. probed for tls: PROBE_NEXT probing for anyprot -anyprot:connection from 127.0.0.1:47562 to 127.0.0.1:38647 forwarded from 127.0.0.1:58212 to 127.0.0.1:41347 +anyprot:connection from 127.0.0.1:39372 to 127.0.0.1:41481 forwarded from 127.0.0.1:46866 to 127.0.0.1:45675 anyprot: hello anyprot this needs to be longer than xmpp and adb which expect about 50 characters, which I all have to write before the timeout!Read anyprot: hello anyprot this needs to be longer than xmpp and adb which expect about 50 characters, which I all have to write before the timeout! from peer: '' Received 144 bytes: protocol anyprot data [hello anyprot this needs to be longer than xmpp and adb which expect about 50 characters, which I all have to write before the timeout!] Successudp: 0 prefix: anyprot: listen [1]: host: 127.0.0.1 - port: 41347 + port: 45675 ok 50 - sslh-select:anyprot: probe connected correctly ok 51 - sslh-select:anyprot: data shoveled correctly test_probe called with$VAR1 = { - 'expected' => 'ssh', 'data' => 'SSH-2.0 tester ', + 'expected' => 'ssh', 'binary' => 'sslh-select' }; hexdump of incoming packet: @@ -2520,23 +2556,23 @@ 0x000000: 53 53 48 2d SSH- probing for ssh probed for ssh: PROBE_MATCH -ssh:connection from 127.0.0.1:47572 to 127.0.0.1:38647 forwarded from 127.0.0.1:60426 to 127.0.0.1:46195 +ssh:connection from 127.0.0.1:42984 to 127.0.0.1:41481 forwarded from 127.0.0.1:49282 to 127.0.0.1:32911 ssh: SSH-Read ssh: SSH-2.0 tester from peer: '' Received 20 bytes: protocol ssh data [SSH-2.0 tester ] -ok 52 - sslh-select:ssh: probe connected correctly +Successok 52 - sslh-select:ssh: probe connected correctly +udp: 0 +prefix: ssh: +listen [1]: + host: 127.0.0.1 + port: 32911 ok 53 - sslh-select:ssh: data shoveled correctly test_probe called with$VAR1 = { - 'binary' => 'sslh-select', 'data' => '', - 'expected' => 'socks5' + 'expected' => 'socks5', + 'binary' => 'sslh-select' }; -Successudp: 0 -prefix: ssh: -listen [1]: - host: 127.0.0.1 - port: 46195 hexdump of incoming packet: 0x000000: 05 . probing for ssh @@ -2703,7 +2739,7 @@ probed for ssh: PROBE_NEXT probing for socks5 probed for socks5: PROBE_MATCH -socks5:connection from 127.0.0.1:47588 to 127.0.0.1:38647 forwarded from 127.0.0.1:33720 to 127.0.0.1:39089 +socks5:connection from 127.0.0.1:42994 to 127.0.0.1:41481 forwarded from 127.0.0.1:45192 to 127.0.0.1:46337 socks5: Read socks5:  from peer: '' Received 14 bytes: protocol socks5 data [] Successok 54 - sslh-select:socks5: probe connected correctly @@ -2711,15 +2747,16 @@ prefix: socks5: listen [1]: host: 127.0.0.1 - port: 39089 + port: 46337 ok 55 - sslh-select:socks5: data shoveled correctly test_probe called with$VAR1 = { - 'expected' => 'http', - 'no_frag' => 1, 'binary' => 'sslh-select', - 'data' => 'GET index.html HTTP/1.1' + 'data' => 'GET index.html HTTP/1.1', + 'expected' => 'http', + 'no_frag' => 1 }; hexdump of incoming packet: +Would block, sleeping. Iteration: 0 socket: SCALAR(0x55bcf59b3cc8):43006 0x000000: 47 45 54 20 69 6e 64 65 78 2e 68 74 6d 6c 20 48 GET index.html H 0x000010: 54 54 50 2f 31 2e 31 TTP/1.1 probing for ssh @@ -2728,20 +2765,14 @@ probed for socks5: PROBE_NEXT probing for http probed for http: PROBE_MATCH -Would block, sleeping. Iteration: 0 socket: SCALAR(0x55c429dc9a68):47598 -http:connection from 127.0.0.1:47598 to 127.0.0.1:38647 forwarded from 127.0.0.1:47358 to 127.0.0.1:42905 +http:connection from 127.0.0.1:43006 to 127.0.0.1:41481 forwarded from 127.0.0.1:42132 to 127.0.0.1:34675 http: GET index.html HTTP/1.1Read http: GET index.html HTTP/1.1 from peer: '' Received 29 bytes: protocol http data [GET index.html HTTP/1.1] -Successudp: 0 -prefix: http: -listen [1]: - host: 127.0.0.1 - port: 42905 ok 56 - sslh-select:http: probe connected correctly ok 57 - sslh-select:http: data shoveled correctly test_probe called with$VAR1 = { - 'data' => '0 hello', 'binary' => 'sslh-select', + 'data' => '0 hello', 'expected' => 'tinc' }; hexdump of incoming packet: @@ -2761,7 +2792,7 @@ probing for adb probed for adb: PROBE_AGAIN probing for syslog -probed for syslog: PROBE_NEXT +Successprobed for syslog: PROBE_NEXT probing for regex input too short, 1 bytes but need 4 probing for tls @@ -2775,6 +2806,11 @@ probing for tls probed for tls: PROBE_AGAIN probing for anyprot +udp: 0 +prefix: http: +listen [1]: + host: 127.0.0.1 + port: 34675 hexdump of incoming packet: 0x000000: 30 20 0 probing for ssh @@ -2785,20 +2821,15 @@ probed for http: PROBE_AGAIN probing for tinc probed for tinc: PROBE_MATCH -tinc:connection from 127.0.0.1:47608 to 127.0.0.1:38647 forwarded from 127.0.0.1:42364 to 127.0.0.1:41441 -tinc: 0 Read tinc: 0 hello from peer: '' +tinc:connection from 127.0.0.1:43010 to 127.0.0.1:41481 forwarded from 127.0.0.1:58210 to 127.0.0.1:38853 +tinc: 0 hRead tinc: 0 hello from peer: '' Received 13 bytes: protocol tinc data [0 hello] -Successok 58 - sslh-select:tinc: probe connected correctly -udp: 0 -prefix: tinc: -listen [1]: - host: 127.0.0.1 - port: 41441 +ok 58 - sslh-select:tinc: probe connected correctly ok 59 - sslh-select:tinc: data shoveled correctly test_probe called with$VAR1 = { 'binary' => 'sslh-select', - 'data' => '', - 'expected' => 'openvpn' + 'expected' => 'openvpn', + 'data' => '' }; hexdump of incoming packet: 0x000000: 00 . @@ -2831,6 +2862,11 @@ probing for tls probed for tls: PROBE_AGAIN probing for anyprot +Successudp: 0 +prefix: tinc: +listen [1]: + host: 127.0.0.1 + port: 38853 hexdump of incoming packet: 0x000000: 00 00 .. probing for ssh @@ -2843,21 +2879,22 @@ probed for tinc: PROBE_NEXT probing for openvpn probed for openvpn: PROBE_MATCH -openvpn:connection from 127.0.0.1:47616 to 127.0.0.1:38647 forwarded from 127.0.0.1:54764 to 127.0.0.1:44889 +openvpn:connection from 127.0.0.1:43022 to 127.0.0.1:41481 forwarded from 127.0.0.1:54712 to 127.0.0.1:35859 +Would block, sleeping. Iteration: 0 socket: SCALAR(0x55bcf59b3b30):43022 openvpn: Read openvpn: from peer: '' Received 11 bytes: protocol openvpn data [] +Successudp: 0 +prefix: openvpn: +listen [1]: + host: 127.0.0.1 + port: 35859 ok 60 - sslh-select:openvpn: probe connected correctly -Successok 61 - sslh-select:openvpn: data shoveled correctly +ok 61 - sslh-select:openvpn: data shoveled correctly test_probe called with$VAR1 = { 'binary' => 'sslh-select', 'data' => 'I should get a real jabber connection initialisation here', 'expected' => 'xmpp' }; -udp: 0 -prefix: openvpn: -listen [1]: - host: 127.0.0.1 - port: 44889 hexdump of incoming packet: 0x000000: 49 I probing for ssh @@ -3762,20 +3799,15 @@ probed for openvpn: PROBE_NEXT probing for xmpp probed for xmpp: PROBE_MATCH -xmpp:connection from 127.0.0.1:47632 to 127.0.0.1:38647 forwarded from 127.0.0.1:37924 to 127.0.0.1:44997 +xmpp:connection from 127.0.0.1:43036 to 127.0.0.1:41481 forwarded from 127.0.0.1:38604 to 127.0.0.1:40105 xmpp: I should get a real jabberRead xmpp: I should get a real jabber connection initialisation here from peer: '' Received 63 bytes: protocol xmpp data [I should get a real jabber connection initialisation here] -Successudp: 0 -prefix: xmpp: -listen [1]: - host: 127.0.0.1 - port: 44997 ok 62 - sslh-select:xmpp: probe connected correctly ok 63 - sslh-select:xmpp: data shoveled correctly test_probe called with$VAR1 = { - 'data' => 'CNXN....................host:...', 'binary' => 'sslh-select', - 'expected' => 'adb' + 'expected' => 'adb', + 'data' => 'CNXN....................host:...' }; hexdump of incoming packet: 0x000000: 43 C @@ -3808,6 +3840,11 @@ probing for tls probed for tls: PROBE_AGAIN probing for anyprot +Successudp: 0 +prefix: xmpp: +listen [1]: + host: 127.0.0.1 + port: 40105 hexdump of incoming packet: 0x000000: 43 4e CN probing for ssh @@ -4831,14 +4868,9 @@ probed for xmpp: PROBE_AGAIN probing for adb probed for adb: PROBE_MATCH -adb:connection from 127.0.0.1:47642 to 127.0.0.1:38647 forwarded from 127.0.0.1:49192 to 127.0.0.1:44277 +adb:connection from 127.0.0.1:43042 to 127.0.0.1:41481 forwarded from 127.0.0.1:52282 to 127.0.0.1:46427 adb: CNXN....................host:.Read adb: CNXN....................host:... from peer: '' Received 37 bytes: protocol adb data [CNXN....................host:...] -Successudp: 0 -prefix: adb: -listen [1]: - host: 127.0.0.1 - port: 44277 ok 64 - sslh-select:adb: probe connected correctly ok 65 - sslh-select:adb: data shoveled correctly test_probe called with$VAR1 = { @@ -4877,6 +4909,11 @@ probing for tls probed for tls: PROBE_AGAIN probing for anyprot +Successudp: 0 +prefix: adb: +listen [1]: + host: 127.0.0.1 + port: 46427 hexdump of incoming packet: 0x000000: 3c 34 <4 probing for ssh @@ -4895,19 +4932,14 @@ probed for adb: PROBE_AGAIN probing for syslog probed for syslog: PROBE_MATCH -syslog:connection from 127.0.0.1:47658 to 127.0.0.1:38647 forwarded from 127.0.0.1:46248 to 127.0.0.1:34625 +syslog:connection from 127.0.0.1:43052 to 127.0.0.1:41481 forwarded from 127.0.0.1:60060 to 127.0.0.1:33043 syslog: <4Read syslog: <42> My syslog message from peer: '' Received 30 bytes: protocol syslog data [<42> My syslog message] -Successudp: 0 -prefix: syslog: -listen [1]: - host: 127.0.0.1 - port: 34625 ok 66 - sslh-select:syslog: probe connected correctly ok 67 - sslh-select:syslog: data shoveled correctly test_probe called with$VAR1 = { - 'expected' => 'ssh', 'data' => 'foo', + 'expected' => 'ssh', 'binary' => 'sslh-select' }; hexdump of incoming packet: @@ -4941,6 +4973,11 @@ probing for tls probed for tls: PROBE_AGAIN probing for anyprot +Successudp: 0 +prefix: syslog: +listen [1]: + host: 127.0.0.1 + port: 33043 hexdump of incoming packet: 0x000000: 66 6f fo probing for ssh @@ -5003,24 +5040,24 @@ probing for tls probed for tls: PROBE_AGAIN probing for anyprot -Would block, sleeping. Iteration: 0 socket: SCALAR(0x55c429dcd438):47670 -Would block, sleeping. Iteration: 1 socket: SCALAR(0x55c429dcd438):47670 -Would block, sleeping. Iteration: 2 socket: SCALAR(0x55c429dcd438):47670 -Would block, sleeping. Iteration: 3 socket: SCALAR(0x55c429dcd438):47670 -ssh:connection from 127.0.0.1:47670 to 127.0.0.1:38647 forwarded from 127.0.0.1:45630 to 127.0.0.1:46195 +Would block, sleeping. Iteration: 0 socket: SCALAR(0x55bcf59b64f0):43068 +Would block, sleeping. Iteration: 1 socket: SCALAR(0x55bcf59b64f0):43068 +Would block, sleeping. Iteration: 2 socket: SCALAR(0x55bcf59b64f0):43068 +Would block, sleeping. Iteration: 3 socket: SCALAR(0x55bcf59b64f0):43068 +ssh:connection from 127.0.0.1:43068 to 127.0.0.1:41481 forwarded from 127.0.0.1:58060 to 127.0.0.1:32911 ssh: fooRead ssh: foo from peer: '' Received 8 bytes: protocol ssh data [foo] Successudp: 0 prefix: ssh: listen [1]: host: 127.0.0.1 - port: 46195 + port: 32911 ok 68 - sslh-select:ssh: probe connected correctly ok 69 - sslh-select:ssh: data shoveled correctly test_probe called with$VAR1 = { + 'expected' => 'regex', 'data' => 'fooo', - 'binary' => 'sslh-select', - 'expected' => 'regex' + 'binary' => 'sslh-select' }; hexdump of incoming packet: 0x000000: 66 f @@ -5135,20 +5172,20 @@ probed for syslog: PROBE_NEXT probing for regex probed for regex: PROBE_MATCH -regex:connection from 127.0.0.1:51966 to 127.0.0.1:38647 forwarded from 127.0.0.1:54514 to 127.0.0.1:46849 +regex:connection from 127.0.0.1:37226 to 127.0.0.1:41481 forwarded from 127.0.0.1:49490 to 127.0.0.1:41683 regex: foooRead regex: fooo from peer: '' Received 11 bytes: protocol regex data [fooo] -Successok 70 - sslh-select:regex: probe connected correctly -udp: 0 +Successudp: 0 prefix: regex: listen [1]: host: 127.0.0.1 - port: 46849 + port: 41683 +ok 70 - sslh-select:regex: probe connected correctly ok 71 - sslh-select:regex: data shoveled correctly test_probe called with$VAR1 = { - 'expected' => 'ssh', + 'binary' => 'sslh-select', 'data' => 'bar', - 'binary' => 'sslh-select' + 'expected' => 'ssh' }; hexdump of incoming packet: 0x000000: 62 b @@ -5243,23 +5280,24 @@ probing for tls probed for tls: PROBE_AGAIN probing for anyprot -Would block, sleeping. Iteration: 0 socket: SCALAR(0x55c429dcdac8):51968 -Would block, sleeping. Iteration: 1 socket: SCALAR(0x55c429dcdac8):51968 -Would block, sleeping. Iteration: 2 socket: SCALAR(0x55c429dcdac8):51968 -ssh:connection from 127.0.0.1:51968 to 127.0.0.1:38647 forwarded from 127.0.0.1:41130 to 127.0.0.1:46195 +Would block, sleeping. Iteration: 0 socket: SCALAR(0x55bcf59b6418):37230 +Would block, sleeping. Iteration: 1 socket: SCALAR(0x55bcf59b6418):37230 +Would block, sleeping. Iteration: 2 socket: SCALAR(0x55bcf59b6418):37230 +Would block, sleeping. Iteration: 3 socket: SCALAR(0x55bcf59b6418):37230 +ssh:connection from 127.0.0.1:37230 to 127.0.0.1:41481 forwarded from 127.0.0.1:40560 to 127.0.0.1:32911 ssh: barRead ssh: bar from peer: '' Received 8 bytes: protocol ssh data [bar] Successudp: 0 prefix: ssh: listen [1]: host: 127.0.0.1 - port: 46195 + port: 32911 ok 72 - sslh-select:ssh: probe connected correctly ok 73 - sslh-select:ssh: data shoveled correctly test_probe called with$VAR1 = { - 'data' => 'barr', 'binary' => 'sslh-select', - 'expected' => 'regex' + 'expected' => 'regex', + 'data' => 'barr' }; hexdump of incoming packet: 0x000000: 62 b @@ -5374,20 +5412,20 @@ probed for syslog: PROBE_NEXT probing for regex probed for regex: PROBE_MATCH -regex:connection from 127.0.0.1:34060 to 127.0.0.1:38647 forwarded from 127.0.0.1:36056 to 127.0.0.1:46849 +regex:connection from 127.0.0.1:33224 to 127.0.0.1:41481 forwarded from 127.0.0.1:38568 to 127.0.0.1:41683 regex: barrRead regex: barr from peer: '' Received 11 bytes: protocol regex data [barr] -Successok 74 - sslh-select:regex: probe connected correctly -udp: 0 +Successudp: 0 prefix: regex: listen [1]: host: 127.0.0.1 - port: 46849 + port: 41683 +ok 74 - sslh-select:regex: probe connected correctly ok 75 - sslh-select:regex: data shoveled correctly test_probe called with$VAR1 = { - 'expected' => 'regex', + 'binary' => 'sslh-select', 'data' => 'barrr', - 'binary' => 'sslh-select' + 'expected' => 'regex' }; hexdump of incoming packet: 0x000000: 62 b @@ -5502,25 +5540,25 @@ probed for syslog: PROBE_NEXT probing for regex probed for regex: PROBE_MATCH -regex:connection from 127.0.0.1:34062 to 127.0.0.1:38647 forwarded from 127.0.0.1:36062 to 127.0.0.1:46849 +regex:connection from 127.0.0.1:33234 to 127.0.0.1:41481 forwarded from 127.0.0.1:38580 to 127.0.0.1:41683 regex: barrRead regex: barrr from peer: '' Received 12 bytes: protocol regex data [barrr] Successudp: 0 prefix: regex: listen [1]: host: 127.0.0.1 - port: 46849 + port: 41683 ok 76 - sslh-select:regex: probe connected correctly ok 77 - sslh-select:regex: data shoveled correctly sni: sni1 alpn: alpn1 test_probe called with$VAR1 = { + 'binary' => 'sslh-select', + 'expected' => 'tls:sni1;alpn1,alpn2', 'data' => '@ ]e#p<]\' |,8,0̨̩̪+/$(k#\'g 9 3=<5/_ sni1  -# alpn1hello sni/alpn', - 'binary' => 'sslh-select', - 'expected' => 'tls:sni1;alpn1,alpn2' +# alpn1hello sni/alpn' }; hexdump of incoming packet: 0x000000: 16 . @@ -12910,7 +12948,7 @@ matching [sni1] with [sni1] matching [alpn1] with [alpn1] probed for tls: PROBE_MATCH -tls:connection from 127.0.0.1:34078 to 127.0.0.1:38647 forwarded from 127.0.0.1:58280 to 127.0.0.1:40553 +tls:connection from 127.0.0.1:33238 to 127.0.0.1:41481 forwarded from 127.0.0.1:49116 to 127.0.0.1:40149 tls:sni1;alpn1,alpn2: @ ]e#p<]' |,8,0̨̩̪+/$(k#'g 9 3=<5/_ sni1  @@ -12926,18 +12964,18 @@ prefix: tls:sni1;alpn1,alpn2: listen [1]: host: 127.0.0.1 - port: 40553 + port: 40149 ok 78 - sslh-select:tls:sni1;alpn1,alpn2: probe connected correctly ok 79 - sslh-select:tls:sni1;alpn1,alpn2: data shoveled correctly sni: sni1 alpn: alpn2 test_probe called with$VAR1 = { + 'binary' => 'sslh-select', 'expected' => 'tls:sni1;alpn1,alpn2', 'data' => '@ ]e#p<]\' |,8,0̨̩̪+/$(k#\'g 9 3=<5/_ sni1  -# alpn2hello sni/alpn', - 'binary' => 'sslh-select' +# alpn2hello sni/alpn' }; hexdump of incoming packet: 0x000000: 16 . @@ -20328,7 +20366,7 @@ matching [alpn2] with [alpn1] matching [alpn2] with [alpn2] probed for tls: PROBE_MATCH -tls:connection from 127.0.0.1:34088 to 127.0.0.1:38647 forwarded from 127.0.0.1:58290 to 127.0.0.1:40553 +tls:connection from 127.0.0.1:33244 to 127.0.0.1:41481 forwarded from 127.0.0.1:49130 to 127.0.0.1:40149 tls:sni1;alpn1,alpn2: @ ]e#p<]' |,8,0̨̩̪+/$(k#'g 9 3=<5/_ sni1  @@ -20344,18 +20382,18 @@ prefix: tls:sni1;alpn1,alpn2: listen [1]: host: 127.0.0.1 - port: 40553 + port: 40149 ok 80 - sslh-select:tls:sni1;alpn1,alpn2: probe connected correctly ok 81 - sslh-select:tls:sni1;alpn1,alpn2: data shoveled correctly sni: sni2 alpn: alpn1 test_probe called with$VAR1 = { + 'expected' => 'tls:sni2,sni3;alpn1,alpn2', 'data' => '@ ]e#p<]\' |,8,0̨̩̪+/$(k#\'g 9 3=<5/_ sni2  # alpn1hello sni/alpn', - 'binary' => 'sslh-select', - 'expected' => 'tls:sni2,sni3;alpn1,alpn2' + 'binary' => 'sslh-select' }; hexdump of incoming packet: 0x000000: 16 . @@ -27748,7 +27786,7 @@ matching [sni2] with [sni2] matching [alpn1] with [alpn1] probed for tls: PROBE_MATCH -tls:connection from 127.0.0.1:34102 to 127.0.0.1:38647 forwarded from 127.0.0.1:44766 to 127.0.0.1:44141 +tls:connection from 127.0.0.1:33248 to 127.0.0.1:41481 forwarded from 127.0.0.1:60836 to 127.0.0.1:40055 tls:sni2,sni3;alpn1,alpn2: @ ]e#p<]' |,8,0̨̩̪+/$(k#'g 9 3=<5/_ sni2  @@ -27764,18 +27802,18 @@ prefix: tls:sni2,sni3;alpn1,alpn2: listen [1]: host: 127.0.0.1 - port: 44141 + port: 40055 ok 82 - sslh-select:tls:sni2,sni3;alpn1,alpn2: probe connected correctly ok 83 - sslh-select:tls:sni2,sni3;alpn1,alpn2: data shoveled correctly sni: sni2 alpn: alpn2 test_probe called with$VAR1 = { 'expected' => 'tls:sni2,sni3;alpn1,alpn2', - 'binary' => 'sslh-select', 'data' => '@ ]e#p<]\' |,8,0̨̩̪+/$(k#\'g 9 3=<5/_ sni2  -# alpn2hello sni/alpn' +# alpn2hello sni/alpn', + 'binary' => 'sslh-select' }; hexdump of incoming packet: 0x000000: 16 . @@ -35169,7 +35207,7 @@ matching [alpn2] with [alpn1] matching [alpn2] with [alpn2] probed for tls: PROBE_MATCH -tls:connection from 127.0.0.1:34106 to 127.0.0.1:38647 forwarded from 127.0.0.1:44774 to 127.0.0.1:44141 +tls:connection from 127.0.0.1:47264 to 127.0.0.1:41481 forwarded from 127.0.0.1:60840 to 127.0.0.1:40055 tls:sni2,sni3;alpn1,alpn2: @ ]e#p<]' |,8,0̨̩̪+/$(k#'g 9 3=<5/_ sni2  @@ -35185,17 +35223,17 @@ prefix: tls:sni2,sni3;alpn1,alpn2: listen [1]: host: 127.0.0.1 - port: 44141 + port: 40055 ok 84 - sslh-select:tls:sni2,sni3;alpn1,alpn2: probe connected correctly ok 85 - sslh-select:tls:sni2,sni3;alpn1,alpn2: data shoveled correctly sni: sni3 alpn: alpn1 test_probe called with$VAR1 = { + 'binary' => 'sslh-select', 'data' => '@ ]e#p<]\' |,8,0̨̩̪+/$(k#\'g 9 3=<5/_ sni3  # alpn1hello sni/alpn', - 'binary' => 'sslh-select', 'expected' => 'tls:sni2,sni3;alpn1,alpn2' }; hexdump of incoming packet: @@ -42590,7 +42628,7 @@ matching [sni3] with [sni3] matching [alpn1] with [alpn1] probed for tls: PROBE_MATCH -tls:connection from 127.0.0.1:34116 to 127.0.0.1:38647 forwarded from 127.0.0.1:58468 to 127.0.0.1:44141 +tls:connection from 127.0.0.1:47272 to 127.0.0.1:41481 forwarded from 127.0.0.1:60856 to 127.0.0.1:40055 tls:sni2,sni3;alpn1,alpn2: @ ]e#p<]' |,8,0̨̩̪+/$(k#'g 9 3=<5/_ sni3  @@ -42606,7 +42644,7 @@ prefix: tls:sni2,sni3;alpn1,alpn2: listen [1]: host: 127.0.0.1 - port: 44141 + port: 40055 ok 86 - sslh-select:tls:sni2,sni3;alpn1,alpn2: probe connected correctly ok 87 - sslh-select:tls:sni2,sni3;alpn1,alpn2: data shoveled correctly sni: sni3 @@ -50012,7 +50050,7 @@ matching [alpn2] with [alpn1] matching [alpn2] with [alpn2] probed for tls: PROBE_MATCH -tls:connection from 127.0.0.1:36838 to 127.0.0.1:38647 forwarded from 127.0.0.1:58474 to 127.0.0.1:44141 +tls:connection from 127.0.0.1:47286 to 127.0.0.1:41481 forwarded from 127.0.0.1:60872 to 127.0.0.1:40055 tls:sni2,sni3;alpn1,alpn2: @ ]e#p<]' |,8,0̨̩̪+/$(k#'g 9 3=<5/_ sni3  @@ -50028,17 +50066,17 @@ prefix: tls:sni2,sni3;alpn1,alpn2: listen [1]: host: 127.0.0.1 - port: 44141 + port: 40055 ok 88 - sslh-select:tls:sni2,sni3;alpn1,alpn2: probe connected correctly ok 89 - sslh-select:tls:sni2,sni3;alpn1,alpn2: data shoveled correctly sni: alpn: alpn3 test_probe called with$VAR1 = { + 'binary' => 'sslh-select', 'data' => '␢)1DQT[Qf? +$V8,0̨̩̪+/$(k#\'g 9 3=<5/R  # alpn3hello alpn', - 'binary' => 'sslh-select', 'expected' => 'tls:;alpn3' }; hexdump of incoming packet: @@ -56883,7 +56921,7 @@ probing for tls matching [alpn3] with [alpn3] probed for tls: PROBE_MATCH -tls:connection from 127.0.0.1:36840 to 127.0.0.1:38647 forwarded from 127.0.0.1:52520 to 127.0.0.1:38707 +tls:connection from 127.0.0.1:47290 to 127.0.0.1:41481 forwarded from 127.0.0.1:37692 to 127.0.0.1:33833 tls:;alpn3: ␢)1DQT[Qf? +$V8,0̨̩̪+/$(k#'g 9 3=<5/R  @@ -56899,18 +56937,18 @@ prefix: tls:;alpn3: listen [1]: host: 127.0.0.1 - port: 38707 + port: 33833 ok 90 - sslh-select:tls:;alpn3: probe connected correctly ok 91 - sslh-select:tls:;alpn3: data shoveled correctly sni: sni3 alpn: test_probe called with$VAR1 = { + 'binary' => 'sslh-select', 'expected' => 'tls:sni3;', 'data' => '魆![\'KUP/7%Y728,0̨̩̪+/$(k#\'g 9 3=<5/S sni3  -# hello sni', - 'binary' => 'sslh-select' +# hello sni' }; hexdump of incoming packet: 0x000000: 16 . @@ -63795,7 +63833,7 @@ probing for tls matching [sni3] with [sni3] probed for tls: PROBE_MATCH -tls:connection from 127.0.0.1:36854 to 127.0.0.1:38647 forwarded from 127.0.0.1:56290 to 127.0.0.1:41171 +tls:connection from 127.0.0.1:47298 to 127.0.0.1:41481 forwarded from 127.0.0.1:52616 to 127.0.0.1:46025 tls:sni3;: 魆!['KUP/7%Y728,0̨̩̪+/$(k#'g 9 3=<5/S sni3  @@ -63807,20 +63845,15 @@ 9 3=<5/S sni3  # hello sni] -Successudp: 0 -prefix: tls:sni3;: -listen [1]: - host: 127.0.0.1 - port: 41171 ok 92 - sslh-select:tls:sni3;: probe connected correctly ok 93 - sslh-select:tls:sni3;: data shoveled correctly test_probe called with$VAR1 = { + 'expected' => 'tls', 'data' => '"3CzÉEQ<($jxؐXe-u8,0̨̩̪+/$(k#\'g 9 3=<5/F  # hello tls alone', - 'binary' => 'sslh-select', - 'expected' => 'tls' + 'binary' => 'sslh-select' }; hexdump of incoming packet: 0x000000: 16 . @@ -63853,6 +63886,11 @@ probing for tls probed for tls: PROBE_AGAIN probing for anyprot +Successudp: 0 +prefix: tls:sni3;: +listen [1]: + host: 127.0.0.1 + port: 46025 hexdump of incoming packet: 0x000000: 16 03 .. probing for ssh @@ -70157,7 +70195,7 @@ probed for tls: PROBE_NEXT probing for tls probed for tls: PROBE_MATCH -tls:connection from 127.0.0.1:36870 to 127.0.0.1:38647 forwarded from 127.0.0.1:46042 to 127.0.0.1:34581 +tls:connection from 127.0.0.1:50240 to 127.0.0.1:41481 forwarded from 127.0.0.1:50404 to 127.0.0.1:37515 tls: "3CzÉEQ<($jxؐXe-u8,0̨̩̪+/$(k#'g 9 3=<5/F  @@ -70169,17 +70207,17 @@ 9 3=<5/F  # hello tls alone] +ok 94 - sslh-select:tls: probe connected correctly Successudp: 0 prefix: tls: listen [1]: host: 127.0.0.1 - port: 34581 -ok 94 - sslh-select:tls: probe connected correctly + port: 37515 ok 95 - sslh-select:tls: data shoveled correctly test_probe called with$VAR1 = { 'expected' => 'anyprot', - 'binary' => 'sslh-select', - 'data' => 'hello anyprot this needs to be longer than xmpp and adb which expect about 50 characters, which I all have to write before the timeout!' + 'data' => 'hello anyprot this needs to be longer than xmpp and adb which expect about 50 characters, which I all have to write before the timeout!', + 'binary' => 'sslh-select' }; hexdump of incoming packet: 0x000000: 68 h @@ -72171,17 +72209,17 @@ Request did not begin with TLS handshake. probed for tls: PROBE_NEXT probing for anyprot -anyprot:connection from 127.0.0.1:36880 to 127.0.0.1:38647 forwarded from 127.0.0.1:42672 to 127.0.0.1:41347 +anyprot:connection from 127.0.0.1:50242 to 127.0.0.1:41481 forwarded from 127.0.0.1:33540 to 127.0.0.1:45675 anyprot: hello anyprot this needs to be longer than xmpp and adRead anyprot: hello anyprot this needs to be longer than xmpp and adb which expect about 50 characters, which I all have to write before the timeout! from peer: '' Received 144 bytes: protocol anyprot data [hello anyprot this needs to be longer than xmpp and adb which expect about 50 characters, which I all have to write before the timeout!] -Successudp: 0 +Successok 96 - sslh-select:anyprot: probe connected correctly +udp: 0 prefix: anyprot: listen [1]: host: 127.0.0.1 - port: 41347 -ok 96 - sslh-select:anyprot: probe connected correctly + port: 45675 ok 97 - sslh-select:anyprot: data shoveled correctly -killing 1069993 +killing 3257143 lcov: ERROR: (empty) no .gcda files found in . (use "lcov --ignore-errors empty ..." to bypass this error) @@ -72297,7 +72335,7 @@ make[1]: Entering directory '/build/reproducible-path/sslh-2.1.4' # auto install fork version, see debian/install for select version dh_auto_install -- DESTDIR=/build/reproducible-path/sslh-2.1.4/debian/sslh/usr PREFIX=/ install - make -j42 install DESTDIR=/build/reproducible-path/sslh-2.1.4/debian/sslh AM_UPDATE_INFO_DIR=no DESTDIR=/build/reproducible-path/sslh-2.1.4/debian/sslh/usr PREFIX=/ install + make -j20 install DESTDIR=/build/reproducible-path/sslh-2.1.4/debian/sslh AM_UPDATE_INFO_DIR=no DESTDIR=/build/reproducible-path/sslh-2.1.4/debian/sslh/usr PREFIX=/ install make[2]: Entering directory '/build/reproducible-path/sslh-2.1.4' mkdir -p /build/reproducible-path/sslh-2.1.4/debian/sslh/usr///sbin mkdir -p /build/reproducible-path/sslh-2.1.4/debian/sslh/usr///share/man/man8 @@ -72335,8 +72373,8 @@ dh_gencontrol dh_md5sums dh_builddeb -dpkg-deb: building package 'sslh' in '../sslh_2.1.4-1_amd64.deb'. dpkg-deb: building package 'sslh-dbgsym' in '../sslh-dbgsym_2.1.4-1_amd64.deb'. +dpkg-deb: building package 'sslh' in '../sslh_2.1.4-1_amd64.deb'. dpkg-genbuildinfo --build=binary -O../sslh_2.1.4-1_amd64.buildinfo dpkg-genchanges --build=binary -O../sslh_2.1.4-1_amd64.changes dpkg-genchanges: info: binary-only upload (no source code included) @@ -72344,12 +72382,14 @@ dpkg-buildpackage: info: binary-only upload (no source included) dpkg-genchanges: info: including full source code in upload I: copying local configuration +I: user script /srv/workspace/pbuilder/3234817/tmp/hooks/B01_cleanup starting +I: user script /srv/workspace/pbuilder/3234817/tmp/hooks/B01_cleanup finished I: unmounting dev/ptmx filesystem I: unmounting dev/pts filesystem I: unmounting dev/shm filesystem I: unmounting proc filesystem I: unmounting sys filesystem I: cleaning the build env -I: removing directory /srv/workspace/pbuilder/1049303 and its subdirectories -I: Current time: Thu Apr 9 15:49:18 -12 2026 -I: pbuilder-time-stamp: 1775792958 +I: removing directory /srv/workspace/pbuilder/3234817 and its subdirectories +I: Current time: Sat Mar 8 11:33:03 +14 2025 +I: pbuilder-time-stamp: 1741383183