Diff of the two buildlogs: -- --- b1/build.log 2025-01-09 12:53:19.615420434 +0000 +++ b2/build.log 2025-01-09 12:59:47.769679800 +0000 @@ -1,6 +1,6 @@ I: pbuilder: network access will be disabled during build -I: Current time: Thu Jan 9 00:47:37 -12 2025 -I: pbuilder-time-stamp: 1736426857 +I: Current time: Thu Feb 12 09:16:29 +14 2026 +I: pbuilder-time-stamp: 1770837389 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/unstable-reproducible-base.tgz] I: copying local configuration @@ -30,54 +30,86 @@ dpkg-source: info: applying avoid_blocking_on_data I: using fakeroot in build. I: Installing the build-deps -I: user script /srv/workspace/pbuilder/34181/tmp/hooks/D02_print_environment starting +I: user script /srv/workspace/pbuilder/52466/tmp/hooks/D01_modify_environment starting +debug: Running on ionos16-i386. +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 Feb 11 19:16 /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/52466/tmp/hooks/D01_modify_environment finished +I: user script /srv/workspace/pbuilder/52466/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='i386' - DEBIAN_FRONTEND='noninteractive' - DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=11 ' - DISTRIBUTION='unstable' - HOME='/root' - HOST_ARCH='i386' + 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]="i686-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=i386 + DEBIAN_FRONTEND=noninteractive + DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=21 ' + DIRSTACK=() + DISTRIBUTION=unstable + EUID=0 + FUNCNAME=([0]="Echo" [1]="main") + GROUPS=() + HOME=/root + HOSTNAME=i-capture-the-hostname + HOSTTYPE=i686 + HOST_ARCH=i386 IFS=' ' - INVOCATION_ID='6e27a7f634dc42a7a6548a8556cf4f86' - LANG='C' - LANGUAGE='en_US:en' - LC_ALL='C' - LD_LIBRARY_PATH='/usr/lib/libeatmydata' - LD_PRELOAD='libeatmydata.so' - 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='34181' - PS1='# ' - PS2='> ' + INVOCATION_ID=d2cbf05b9b7448cabd029a13f930b9c8 + LANG=C + LANGUAGE=de_CH:de + LC_ALL=C + LD_LIBRARY_PATH=/usr/lib/libeatmydata + LD_PRELOAD=libeatmydata.so + MACHTYPE=i686-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=52466 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.nC8Y3uGH/pbuilderrc_AhP6 --distribution unstable --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/unstable-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.nC8Y3uGH/b1 --logfile b1/build.log sslh_2.1.4-1.dsc' - SUDO_GID='112' - SUDO_UID='107' - SUDO_USER='jenkins' - TERM='unknown' - TZ='/usr/share/zoneinfo/Etc/GMT+12' - USER='root' - _='/usr/bin/systemd-run' - http_proxy='http://46.16.76.132: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.nC8Y3uGH/pbuilderrc_iYRg --distribution unstable --hookdir /etc/pbuilder/rebuild-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/unstable-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.nC8Y3uGH/b2 --logfile b2/build.log sslh_2.1.4-1.dsc' + SUDO_GID=112 + SUDO_UID=107 + SUDO_USER=jenkins + TERM=unknown + TZ=/usr/share/zoneinfo/Etc/GMT-14 + UID=0 + USER=root + _='I: set' + http_proxy=http://213.165.73.152:3128 I: uname -a - Linux ionos12-i386 6.1.0-28-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.119-1 (2024-11-22) x86_64 GNU/Linux + Linux i-capture-the-hostname 6.1.0-28-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.119-1 (2024-11-22) x86_64 GNU/Linux I: ls -l /bin - lrwxrwxrwx 1 root root 7 Nov 22 14:40 /bin -> usr/bin -I: user script /srv/workspace/pbuilder/34181/tmp/hooks/D02_print_environment finished + lrwxrwxrwx 1 root root 7 Nov 22 2024 /bin -> usr/bin +I: user script /srv/workspace/pbuilder/52466/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy @@ -249,7 +281,7 @@ Get: 106 http://deb.debian.org/debian unstable/main i386 libwrap0 i386 7.6.q-35 [56.2 kB] Get: 107 http://deb.debian.org/debian unstable/main i386 libwrap0-dev i386 7.6.q-35 [23.5 kB] Get: 108 http://deb.debian.org/debian unstable/main i386 psmisc i386 23.7-1 [267 kB] -Fetched 36.4 MB in 1s (46.1 MB/s) +Fetched 36.4 MB in 2s (14.9 MB/s) Preconfiguring packages ... Selecting previously unselected package libpython3.13-minimal:i386. (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 ... 19834 files and directories currently installed.) @@ -613,8 +645,8 @@ Setting up tzdata (2024b-5) ... Current default time zone: 'Etc/UTC' -Local time is now: Thu Jan 9 12:48:17 UTC 2025. -Universal Time is now: Thu Jan 9 12:48:17 UTC 2025. +Local time is now: Wed Feb 11 19:17:30 UTC 2026. +Universal Time is now: Wed Feb 11 19:17:30 UTC 2026. Run 'dpkg-reconfigure tzdata' if you wish to change it. Setting up autotools-dev (20220109.1) ... @@ -713,7 +745,11 @@ fakeroot is already the newest version (1.36.2-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/52466/tmp/hooks/A99_set_merged_usr starting +Not re-configuring usrmerge for unstable +I: user script /srv/workspace/pbuilder/52466/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 @@ -754,7 +790,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 -j11 USELIBWRAP=1 USELIBCAP=1 USESYSTEMD=1 + make -j21 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 @@ -768,95 +804,16 @@ cc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/sslh-2.1.4=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -O2 -DLIBPCRE -g -Wdate-time -D_FORTIFY_SOURCE=2 -DLIBWRAP -DENABLE_REGEX -DLIBCONFIG -DLIBCAP -DSYSTEMD -c log.c -o log.o cc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/sslh-2.1.4=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -O2 -DLIBPCRE -g -Wdate-time -D_FORTIFY_SOURCE=2 -DLIBWRAP -DENABLE_REGEX -DLIBCONFIG -DLIBCAP -DSYSTEMD -c -o sslh-main.o sslh-main.c cc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/sslh-2.1.4=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -O2 -DLIBPCRE -g -Wdate-time -D_FORTIFY_SOURCE=2 -DLIBWRAP -DENABLE_REGEX -DLIBCONFIG -DLIBCAP -DSYSTEMD -c probe.c -o probe.o -echosrv-conf.c: In function 'regcompmatch_pcre2': -echosrv-conf.c:1015:69: warning: format '%ld' expects argument of type 'long int', but argument 6 has type 'size_t' {aka 'unsigned int'} [-Wformat=] - 1015 | asprintf(errmsg, "compiling pattern /%s/:%d: %s at offset %ld\n", - | ~~^ - | | - | long int - | %d - 1016 | arg->regex, error, err_str, error_offset); - | ~~~~~~~~~~~~ - | | - | size_t {aka unsigned int} -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); - | ^~~~~~~~~~~~~~~~~~~~~~~~~~ -echosrv-conf.c: In function 'c2s_parse_file': -echosrv-conf.c:1114:12: warning: ignoring return value of 'asprintf' declared with attribute 'warn_unused_result' [-Wunused-result] - 1114 | asprintf(errmsg, "%s:%d:%s", - | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 1115 | filename, - | ~~~~~~~~~ - 1116 | config_error_line(c), - | ~~~~~~~~~~~~~~~~~~~~~ - 1117 | config_error_text(c)); - | ~~~~~~~~~~~~~~~~~~~~~ -echosrv-conf.c:1120:9: warning: ignoring return value of 'asprintf' declared with attribute 'warn_unused_result' [-Wunused-result] - 1120 | asprintf(errmsg, "%s:%s", filename, config_error_text(c)); - | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -echosrv-conf.c: In function 'read_block': -echosrv-conf.c:825:13: warning: ignoring return value of 'asprintf' declared with attribute 'warn_unused_result' [-Wunused-result] - 825 | asprintf(errmsg, "Mandatory option \"%s\" not found", desc->name); - | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -echosrv-conf.c: In function 'read_block_setval': -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", - | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 769 | desc->name, type2str[desc->type]); - | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -echosrv-conf.c: In function 'settingcpy': -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)); - | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +cc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/sslh-2.1.4=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -O2 -DLIBPCRE -g -Wdate-time -D_FORTIFY_SOURCE=2 -DLIBWRAP -DENABLE_REGEX -DLIBCONFIG -DLIBCAP -DSYSTEMD -c tls.c -o tls.o +cc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/sslh-2.1.4=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -O2 -DLIBPCRE -g -Wdate-time -D_FORTIFY_SOURCE=2 -DLIBWRAP -DENABLE_REGEX -DLIBCONFIG -DLIBCAP -DSYSTEMD -c argtable3.c -o argtable3.o +cc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/sslh-2.1.4=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -O2 -DLIBPCRE -g -Wdate-time -D_FORTIFY_SOURCE=2 -DLIBWRAP -DENABLE_REGEX -DLIBCONFIG -DLIBCAP -DSYSTEMD -c collection.c -o collection.o +cc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/sslh-2.1.4=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -O2 -DLIBPCRE -g -Wdate-time -D_FORTIFY_SOURCE=2 -DLIBWRAP -DENABLE_REGEX -DLIBCONFIG -DLIBCAP -DSYSTEMD -c gap.c -o gap.o +cc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/sslh-2.1.4=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -O2 -DLIBPCRE -g -Wdate-time -D_FORTIFY_SOURCE=2 -DLIBWRAP -DENABLE_REGEX -DLIBCONFIG -DLIBCAP -DSYSTEMD -c tcp-probe.c -o tcp-probe.o +cc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/sslh-2.1.4=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -O2 -DLIBPCRE -g -Wdate-time -D_FORTIFY_SOURCE=2 -DLIBWRAP -DENABLE_REGEX -DLIBCONFIG -DLIBCAP -DSYSTEMD -c -o landlock.o landlock.c +cc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/sslh-2.1.4=. -fstack-protector-strong -Wformat -Werror=format-security -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 -Wformat -Werror=format-security -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 -Wformat -Werror=format-security -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 -Wformat -Werror=format-security -Wall -O2 -DLIBPCRE -g -Wdate-time -D_FORTIFY_SOURCE=2 -DLIBWRAP -DENABLE_REGEX -DLIBCONFIG -DLIBCAP -DSYSTEMD -c hash.c -o hash.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)) { @@ -954,17 +911,96 @@ 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)); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -cc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/sslh-2.1.4=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -O2 -DLIBPCRE -g -Wdate-time -D_FORTIFY_SOURCE=2 -DLIBWRAP -DENABLE_REGEX -DLIBCONFIG -DLIBCAP -DSYSTEMD -c tls.c -o tls.o -cc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/sslh-2.1.4=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -O2 -DLIBPCRE -g -Wdate-time -D_FORTIFY_SOURCE=2 -DLIBWRAP -DENABLE_REGEX -DLIBCONFIG -DLIBCAP -DSYSTEMD -c argtable3.c -o argtable3.o -cc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/sslh-2.1.4=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -O2 -DLIBPCRE -g -Wdate-time -D_FORTIFY_SOURCE=2 -DLIBWRAP -DENABLE_REGEX -DLIBCONFIG -DLIBCAP -DSYSTEMD -c collection.c -o collection.o -cc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/sslh-2.1.4=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -O2 -DLIBPCRE -g -Wdate-time -D_FORTIFY_SOURCE=2 -DLIBWRAP -DENABLE_REGEX -DLIBCONFIG -DLIBCAP -DSYSTEMD -c gap.c -o gap.o -cc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/sslh-2.1.4=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -O2 -DLIBPCRE -g -Wdate-time -D_FORTIFY_SOURCE=2 -DLIBWRAP -DENABLE_REGEX -DLIBCONFIG -DLIBCAP -DSYSTEMD -c tcp-probe.c -o tcp-probe.o -cc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/sslh-2.1.4=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -O2 -DLIBPCRE -g -Wdate-time -D_FORTIFY_SOURCE=2 -DLIBWRAP -DENABLE_REGEX -DLIBCONFIG -DLIBCAP -DSYSTEMD -c -o landlock.o landlock.c -cc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/sslh-2.1.4=. -fstack-protector-strong -Wformat -Werror=format-security -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 -Wformat -Werror=format-security -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 -Wformat -Werror=format-security -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 -Wformat -Werror=format-security -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 -Wformat -Werror=format-security -Wall -O2 -DLIBPCRE -g -Wdate-time -D_FORTIFY_SOURCE=2 -DLIBWRAP -DENABLE_REGEX -DLIBCONFIG -DLIBCAP -DSYSTEMD -c tcp-listener.c -o tcp-listener.o +echosrv-conf.c: In function 'regcompmatch_pcre2': +echosrv-conf.c:1015:69: warning: format '%ld' expects argument of type 'long int', but argument 6 has type 'size_t' {aka 'unsigned int'} [-Wformat=] + 1015 | asprintf(errmsg, "compiling pattern /%s/:%d: %s at offset %ld\n", + | ~~^ + | | + | long int + | %d + 1016 | arg->regex, error, err_str, error_offset); + | ~~~~~~~~~~~~ + | | + | size_t {aka unsigned int} +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); + | ^~~~~~~~~~~~~~~~~~~~~~~~~~ +echosrv-conf.c: In function 'c2s_parse_file': +echosrv-conf.c:1114:12: warning: ignoring return value of 'asprintf' declared with attribute 'warn_unused_result' [-Wunused-result] + 1114 | asprintf(errmsg, "%s:%d:%s", + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ + 1115 | filename, + | ~~~~~~~~~ + 1116 | config_error_line(c), + | ~~~~~~~~~~~~~~~~~~~~~ + 1117 | config_error_text(c)); + | ~~~~~~~~~~~~~~~~~~~~~ +echosrv-conf.c:1120:9: warning: ignoring return value of 'asprintf' declared with attribute 'warn_unused_result' [-Wunused-result] + 1120 | asprintf(errmsg, "%s:%s", filename, config_error_text(c)); + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +echosrv-conf.c: In function 'read_block': +echosrv-conf.c:825:13: warning: ignoring return value of 'asprintf' declared with attribute 'warn_unused_result' [-Wunused-result] + 825 | asprintf(errmsg, "Mandatory option \"%s\" not found", desc->name); + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +echosrv-conf.c: In function 'read_block_setval': +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", + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + 769 | desc->name, type2str[desc->type]); + | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +echosrv-conf.c: In function 'settingcpy': +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)); + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ cc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/sslh-2.1.4=. -fstack-protector-strong -Wformat -Werror=format-security -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 -Wformat -Werror=format-security -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 @@ -974,102 +1010,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 -j11 test "TESTSUITEFLAGS=-j11 --verbose" VERBOSE=1 + make -j21 test "TESTSUITEFLAGS=-j21 --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:38191 --prefix ssh: -./echosrv --listen 127.0.0.1:44283 --prefix socks5: +./echosrv --listen 127.0.0.1:37153 --prefix ssh: +./echosrv --listen 127.0.0.1:45637 --prefix socks5: +./echosrv --listen 127.0.0.1:45801 --prefix http: +./echosrv --listen 127.0.0.1:44503 --prefix tinc: +./echosrv --listen 127.0.0.1:43425 --prefix openvpn: +./echosrv --listen 127.0.0.1:44047 --prefix xmpp: Listening to: -./echosrv --listen 127.0.0.1:35469 --prefix http: -3: localhost:38191 Listening to: -./echosrv --listen 127.0.0.1:46839 --prefix tinc: -3: localhost:44283 -./echosrv --listen 127.0.0.1:45385 --prefix openvpn: Listening to: -3: localhost:35469 Listening to: -./echosrv --listen 127.0.0.1:36255 --prefix xmpp: -3: localhost:46839 Listening to: -./echosrv --listen 127.0.0.1:40521 --prefix adb: -3: localhost:45385 +./echosrv --listen 127.0.0.1:41249 --prefix adb: +3: localhost:45637 +3: localhost:45801 +3: localhost:44503 +3: localhost:37153 +3: localhost:43425 Listening to: -./echosrv --listen 127.0.0.1:41645 --prefix syslog: -3: localhost:36255 +./echosrv --listen 127.0.0.1:33687 --prefix syslog: +3: localhost:44047 Listening to: -./echosrv --listen 127.0.0.1:37151 --prefix regex: -3: localhost:40521 -./echosrv --listen 127.0.0.1:43081 --prefix tls:sni1;alpn1,alpn2: +./echosrv --listen 127.0.0.1:43127 --prefix regex: +3: localhost:41249 +./echosrv --listen 127.0.0.1:41693 --prefix tls:sni1;alpn1,alpn2: Listening to: -3: localhost:41645 Listening to: -./echosrv --listen 127.0.0.1:34351 --prefix tls:sni2,sni3;alpn1,alpn2: -3: localhost:37151 +3: localhost:33687 +./echosrv --listen 127.0.0.1:36661 --prefix tls:sni2,sni3;alpn1,alpn2: +3: localhost:43127 Listening to: -./echosrv --listen 127.0.0.1:44475 --prefix tls:;alpn3: -3: localhost:43081 -./echosrv --listen 127.0.0.1:45409 --prefix tls:sni3;: +./echosrv --listen 127.0.0.1:38823 --prefix tls:;alpn3: +3: localhost:41693 +./echosrv --listen 127.0.0.1:33955 --prefix tls:sni3;: Listening to: -3: localhost:34351 +./echosrv --listen 127.0.0.1:38297 --prefix tls: Listening to: -./echosrv --listen 127.0.0.1:41081 --prefix tls: -3: localhost:44475 +3: localhost:36661 +3: localhost:38823 Listening to: -./echosrv --listen 127.0.0.1:45925 --prefix anyprot: -3: localhost:45409 -Testing sslh-select +./echosrv --listen 127.0.0.1:43741 --prefix anyprot: +3: localhost:33955 Listening to: -./sslh-select -f -u pbuilder1 -F test.cfg -3: localhost:41081 -spawned 36829 +Testing sslh-select +./sslh-select -f -u pbuilder2 -F test.cfg +3: localhost:38297 +spawned 55748 Listening to: -3: localhost:45925 -ssh addr: 127.0.0.1:38191 family 2 2. libwrap service: (null) log_level: 1 [] [] [] -socks5 addr: 127.0.0.1:44283 family 2 2. libwrap service: (null) log_level: 1 [] [] [] -http addr: 127.0.0.1:35469 family 2 2. libwrap service: (null) log_level: 1 [] [] [] -tinc addr: 127.0.0.1:46839 family 2 2. libwrap service: (null) log_level: 1 [] [] [] -openvpn addr: 127.0.0.1:45385 family 2 2. libwrap service: (null) log_level: 1 [] [] [] -xmpp addr: 127.0.0.1:36255 family 2 2. libwrap service: (null) log_level: 1 [] [] [] -adb addr: 127.0.0.1:40521 family 2 2. libwrap service: (null) log_level: 1 [] [] [] -syslog addr: 127.0.0.1:41645 family 2 2. libwrap service: (null) log_level: 1 [] [] [] -regex addr: 127.0.0.1:37151 family 2 2. libwrap service: (null) log_level: 1 [] [] [] -tls addr: 127.0.0.1:43081 family 2 2. libwrap service: (null) log_level: 1 [] [] [] -tls addr: 127.0.0.1:34351 family 2 2. libwrap service: (null) log_level: 1 [] [] [] -tls addr: 127.0.0.1:44475 family 2 2. libwrap service: (null) log_level: 1 [] [] [] -tls addr: 127.0.0.1:45409 family 2 2. libwrap service: (null) log_level: 1 [] [] [] -tls addr: 127.0.0.1:41081 family 2 2. libwrap service: (null) log_level: 1 [] [] [] -anyprot addr: 127.0.0.1:45925 family 2 2. libwrap service: (null) log_level: 1 [] [] [] +3: localhost:43741 +ssh addr: 127.0.0.1:37153 family 2 2. libwrap service: (null) log_level: 1 [] [] [] +socks5 addr: 127.0.0.1:45637 family 2 2. libwrap service: (null) log_level: 1 [] [] [] +http addr: 127.0.0.1:45801 family 2 2. libwrap service: (null) log_level: 1 [] [] [] +tinc addr: 127.0.0.1:44503 family 2 2. libwrap service: (null) log_level: 1 [] [] [] +openvpn addr: 127.0.0.1:43425 family 2 2. libwrap service: (null) log_level: 1 [] [] [] +xmpp addr: 127.0.0.1:44047 family 2 2. libwrap service: (null) log_level: 1 [] [] [] +adb addr: 127.0.0.1:41249 family 2 2. libwrap service: (null) log_level: 1 [] [] [] +syslog addr: 127.0.0.1:33687 family 2 2. libwrap service: (null) log_level: 1 [] [] [] +regex addr: 127.0.0.1:43127 family 2 2. libwrap service: (null) log_level: 1 [] [] [] +tls addr: 127.0.0.1:41693 family 2 2. libwrap service: (null) log_level: 1 [] [] [] +tls addr: 127.0.0.1:36661 family 2 2. libwrap service: (null) log_level: 1 [] [] [] +tls addr: 127.0.0.1:38823 family 2 2. libwrap service: (null) log_level: 1 [] [] [] +tls addr: 127.0.0.1:33955 family 2 2. libwrap service: (null) log_level: 1 [] [] [] +tls addr: 127.0.0.1:38297 family 2 2. libwrap service: (null) log_level: 1 [] [] [] +anyprot addr: 127.0.0.1:43741 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:37781 [keepalive] [] -4: 127.0.0.1:32777 [keepalive] [] -turning into pbuilder1 +3: 127.0.0.1:37879 [keepalive] [] +4: 127.0.0.1:34411 [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(0x589e6b18):45550 -ssh:connection from 127.0.0.1:45550 to 127.0.0.1:37781 forwarded from 127.0.0.1:54864 to 127.0.0.1:38191 +ssh:connection from 127.0.0.1:50552 to 127.0.0.1:37879 forwarded from 127.0.0.1:54242 to 127.0.0.1:37153 +Would block, sleeping. Iteration: 0 socket: SCALAR(0x5906e508):50552 ssh: hello world Read ssh: hello world from peer: '' ok 1 - sslh-select: Shy SSH connection -***Test: One SSL half-started then one SSH -Successudp: 0 +Success***Test: One SSL half-started then one SSH +udp: 0 prefix: ssh: listen [1]: host: 127.0.0.1 - port: 38191 + port: 37153 hexdump of incoming packet: -printed data '"3CzÉEQ<($jxؐXe-u8,0̨̩̪+/$(k#'g -9 3=<5/F  - -# hello tls alone -' to 43076 at ./t line 399. 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., @@ -1077,11 +1108,8 @@ 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...... -going to print data to 43082 at ./t line 402. 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 .#..... ........ -printed data 'hello world -' to 43082 at ./t line 404. 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 ................ 0x0000b0: 68 65 6c 6c 6f 20 74 6c 73 20 61 6c 6f 6e 65 0a hello tls alone. @@ -1102,19 +1130,27 @@ probing for syslog probed for syslog: PROBE_NEXT probing for regex +printed data '"3CzÉEQ<($jxؐXe-u8,0̨̩̪+/$(k#'g +9 3=<5/F  + +# hello tls alone +' to 50668 at ./t line 399. +going to print data to 50678 at ./t line 402. +printed data 'hello world +' to 50678 at ./t line 404. +Would block, sleeping. Iteration: 0 socket: SCALAR(0x5906dfe0):50678 probed for regex: PROBE_NEXT probing for tls probed for tls: PROBE_NEXT probing for tls probed for tls: PROBE_NEXT -Would block, sleeping. Iteration: 0 socket: SCALAR(0x589eed00):43082 probing for tls probed for tls: PROBE_NEXT probing for tls probed for tls: PROBE_NEXT probing for tls probed for tls: PROBE_MATCH -tls:connection from 127.0.0.1:43076 to 127.0.0.1:37781 forwarded from 127.0.0.1:54230 to 127.0.0.1:41081 +tls:connection from 127.0.0.1:50668 to 127.0.0.1:37879 forwarded from 127.0.0.1:34436 to 127.0.0.1:38297 hexdump of incoming packet: 0x000000: 68 65 6c 6c 6f 20 77 6f 72 6c 64 0a hello world. probing for ssh @@ -1155,10 +1191,10 @@ 9 3=<5/F  # hello tls alone -Would block, sleeping. Iteration: 1 socket: SCALAR(0x589eed00):43082 -Would block, sleeping. Iteration: 2 socket: SCALAR(0x589eed00):43082 -Would block, sleeping. Iteration: 3 socket: SCALAR(0x589eed00):43082 -ssh:connection from 127.0.0.1:43082 to 127.0.0.1:37781 forwarded from 127.0.0.1:50656 to 127.0.0.1:38191 +Would block, sleeping. Iteration: 1 socket: SCALAR(0x5906dfe0):50678 +Would block, sleeping. Iteration: 2 socket: SCALAR(0x5906dfe0):50678 +Would block, sleeping. Iteration: 3 socket: SCALAR(0x5906dfe0):50678 +ssh:connection from 127.0.0.1:50678 to 127.0.0.1:37879 forwarded from 127.0.0.1:56464 to 127.0.0.1:37153 ssh: hello world Read ssh: hello world from peer: '' @@ -1171,18 +1207,7 @@ reading data from tls at ./t line 410. ok 3 - sslh-select: SSL connection interrupted by SSH ***Test: One SSH half-started then one SSL -SuccessSuccessudp: 0 -prefix: tls: -listen [1]: - host: 127.0.0.1 - port: 41081 -hexdump of incoming packet: -Would block, sleeping. Iteration: 0 socket: SCALAR(0x589e64b0):40756 -udp: 0 -prefix: ssh: -listen [1]: - host: 127.0.0.1 - port: 38191 +SuccessSuccesshexdump 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., @@ -1223,7 +1248,18 @@ probed for tls: PROBE_NEXT probing for tls probed for tls: PROBE_MATCH -tls:connection from 127.0.0.1:40756 to 127.0.0.1:37781 forwarded from 127.0.0.1:54740 to 127.0.0.1:41081 +tls:connection from 127.0.0.1:44856 to 127.0.0.1:37879 forwarded from 127.0.0.1:45016 to 127.0.0.1:38297 +udp: 0 +prefix: tls: +listen [1]: + host: 127.0.0.1 + port: 38297 +udp: 0 +prefix: ssh: +listen [1]: + host: 127.0.0.1 + port: 37153 +Would block, sleeping. Iteration: 0 socket: SCALAR(0x59080d98):44856 tls: "3CzÉEQ<($jxؐXe-u8,0̨̩̪+/$(k#'g 9 3=<5/F  @@ -1234,8 +1270,8 @@ # hello tls alone from peer: '' ok 4 - sslh-select: SSL during SSH being established +Would block, sleeping. Iteration: 0 socket: SCALAR(0x5906e2ec):44840 hexdump of incoming packet: -Would block, sleeping. Iteration: 0 socket: SCALAR(0x589f9658):40742 0x000000: 68 65 6c 6c 6f 20 77 6f 72 6c 64 0a hello world. probing for ssh probed for ssh: PROBE_NEXT @@ -1265,42 +1301,42 @@ Request did not begin with TLS handshake. probed for tls: PROBE_NEXT probing for tls -Request did not begin with TLS handshake. +SuccessRequest did not begin with TLS handshake. probed for tls: PROBE_NEXT probing for tls Request did not begin with TLS handshake. probed for tls: PROBE_NEXT probing for anyprot -Successudp: 0 +udp: 0 prefix: tls: listen [1]: host: 127.0.0.1 - port: 41081 -Would block, sleeping. Iteration: 1 socket: SCALAR(0x589f9658):40742 -Would block, sleeping. Iteration: 2 socket: SCALAR(0x589f9658):40742 -ssh:connection from 127.0.0.1:40742 to 127.0.0.1:37781 forwarded from 127.0.0.1:50142 to 127.0.0.1:38191 + port: 38297 +Would block, sleeping. Iteration: 1 socket: SCALAR(0x5906e2ec):44840 +Would block, sleeping. Iteration: 2 socket: SCALAR(0x5906e2ec):44840 +ssh:connection from 127.0.0.1:44840 to 127.0.0.1:37879 forwarded from 127.0.0.1:50946 to 127.0.0.1:37153 ssh: hello world Read ssh: hello world from peer: '' ok 5 - sslh-select: SSH connection interrupted by SSL -test_probe called withSuccess$VAR1 = { +Successudp: 0 +prefix: ssh: +listen [1]: + host: 127.0.0.1 + port: 37153 +test_probe called with$VAR1 = { + 'binary' => 'sslh-select', 'no_frag' => 1, 'expected' => 'ssh', - 'binary' => 'sslh-select', 'data' => 'SSH-2.0 tester ' }; -udp: 0 -prefix: ssh: -listen [1]: - host: 127.0.0.1 - port: 38191 hexdump of incoming packet: -Would block, sleeping. Iteration: 0 socket: SCALAR(0x589f9644):52322 0x000000: 53 53 48 2d 32 2e 30 20 74 65 73 74 65 72 0a SSH-2.0 tester. +Would block, sleeping. Iteration: 0 socket: SCALAR(0x5908152c):36338 probing for ssh probed for ssh: PROBE_MATCH -ssh:connection from 127.0.0.1:52322 to 127.0.0.1:37781 forwarded from 127.0.0.1:42690 to 127.0.0.1:38191 +ssh:connection from 127.0.0.1:36338 to 127.0.0.1:37879 forwarded from 127.0.0.1:42182 to 127.0.0.1:37153 ssh: SSH-2.0 tester Read ssh: SSH-2.0 tester from peer: '' @@ -1310,40 +1346,35 @@ prefix: ssh: listen [1]: host: 127.0.0.1 - port: 38191 + port: 37153 ok 6 - sslh-select:ssh: probe connected correctly ok 7 - sslh-select:ssh: data shoveled correctly test_probe called with$VAR1 = { 'no_frag' => 1, + 'data' => '', 'expected' => 'socks5', - 'binary' => 'sslh-select', - 'data' => '' + 'binary' => 'sslh-select' }; hexdump of incoming packet: -Would block, sleeping. Iteration: 0 socket: SCALAR(0x589e644c):52338 +Would block, sleeping. Iteration: 0 socket: SCALAR(0x59081518):36340 0x000000: 05 04 01 02 03 04 ...... probing for ssh probed for ssh: PROBE_NEXT probing for socks5 probed for socks5: PROBE_MATCH -socks5:connection from 127.0.0.1:52338 to 127.0.0.1:37781 forwarded from 127.0.0.1:50860 to 127.0.0.1:44283 +socks5:connection from 127.0.0.1:36340 to 127.0.0.1:37879 forwarded from 127.0.0.1:54688 to 127.0.0.1:45637 socks5: Read socks5:  from peer: '' Received 14 bytes: protocol socks5 data [] -Successudp: 0 -prefix: socks5: -listen [1]: - host: 127.0.0.1 - port: 44283 ok 8 - sslh-select:socks5: probe connected correctly ok 9 - sslh-select:socks5: data shoveled correctly -test_probe called with$VAR1 = { - 'no_frag' => 1, +test_probe called withSuccess$VAR1 = { + 'data' => 'GET index.html HTTP/1.1', 'expected' => 'http', - 'binary' => 'sslh-select', - 'data' => 'GET index.html HTTP/1.1' + 'no_frag' => 1, + 'binary' => 'sslh-select' }; hexdump of incoming packet: -Would block, sleeping. Iteration: 0 socket: SCALAR(0x589f9b58):44204 +Would block, sleeping. Iteration: 0 socket: SCALAR(0x59081694):48980 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 @@ -1352,24 +1383,29 @@ probed for socks5: PROBE_NEXT probing for http probed for http: PROBE_MATCH -http:connection from 127.0.0.1:44204 to 127.0.0.1:37781 forwarded from 127.0.0.1:50082 to 127.0.0.1:35469 +http:connection from 127.0.0.1:48980 to 127.0.0.1:37879 forwarded from 127.0.0.1:48260 to 127.0.0.1:45801 +udp: 0 +prefix: socks5: +listen [1]: + host: 127.0.0.1 + port: 45637 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] +ok 10 - sslh-select:http: probe connected correctly Successudp: 0 prefix: http: listen [1]: host: 127.0.0.1 - port: 35469 -ok 10 - sslh-select:http: probe connected correctly + port: 45801 ok 11 - sslh-select:http: data shoveled correctly test_probe called with$VAR1 = { + 'expected' => 'tinc', 'data' => '0 hello', 'no_frag' => 1, - 'expected' => 'tinc', 'binary' => 'sslh-select' }; +Would block, sleeping. Iteration: 0 socket: SCALAR(0x590816bc):48994 hexdump of incoming packet: -Would block, sleeping. Iteration: 0 socket: SCALAR(0x589e04a4):44206 0x000000: 30 20 68 65 6c 6c 6f 0 hello probing for ssh probed for ssh: PROBE_NEXT @@ -1379,24 +1415,19 @@ probed for http: PROBE_NEXT probing for tinc probed for tinc: PROBE_MATCH -tinc:connection from 127.0.0.1:44206 to 127.0.0.1:37781 forwarded from 127.0.0.1:40334 to 127.0.0.1:46839 +tinc:connection from 127.0.0.1:48994 to 127.0.0.1:37879 forwarded from 127.0.0.1:46558 to 127.0.0.1:44503 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: 46839 ok 12 - sslh-select:tinc: probe connected correctly -ok 13 - sslh-select:tinc: data shoveled correctly +Successok 13 - sslh-select:tinc: data shoveled correctly test_probe called with$VAR1 = { - 'data' => '', - 'binary' => 'sslh-select', 'no_frag' => 1, - 'expected' => 'openvpn' + 'data' => '', + 'expected' => 'openvpn', + 'binary' => 'sslh-select' }; +Would block, sleeping. Iteration: 0 socket: SCALAR(0x5908db1c):49000 hexdump of incoming packet: -Would block, sleeping. Iteration: 0 socket: SCALAR(0x589f9d10):44216 0x000000: 00 00 .. probing for ssh probed for ssh: PROBE_AGAIN @@ -1408,24 +1439,24 @@ probed for tinc: PROBE_NEXT probing for openvpn probed for openvpn: PROBE_MATCH -openvpn:connection from 127.0.0.1:44216 to 127.0.0.1:37781 forwarded from 127.0.0.1:51982 to 127.0.0.1:45385 -openvpn: Read openvpn: from peer: '' -Received 11 bytes: protocol openvpn data [] -Successudp: 0 -prefix: openvpn: +openvpn:connection from 127.0.0.1:49000 to 127.0.0.1:37879 forwarded from 127.0.0.1:54406 to 127.0.0.1:43425 +udp: 0 +prefix: tinc: listen [1]: host: 127.0.0.1 - port: 45385 + port: 44503 +openvpn: Read openvpn: from peer: '' +Received 11 bytes: protocol openvpn data [] ok 14 - sslh-select:openvpn: probe connected correctly -ok 15 - sslh-select:openvpn: data shoveled correctly +Successok 15 - sslh-select:openvpn: data shoveled correctly test_probe called with$VAR1 = { + 'no_frag' => 1, 'data' => 'I should get a real jabber connection initialisation here', 'expected' => 'xmpp', - 'no_frag' => 1, 'binary' => 'sslh-select' }; hexdump of incoming packet: -Would block, sleeping. Iteration: 0 socket: SCALAR(0x58a05f60):44224 +Would block, sleeping. Iteration: 0 socket: SCALAR(0x5908db94):49002 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 @@ -1442,24 +1473,24 @@ probed for openvpn: PROBE_NEXT probing for xmpp probed for xmpp: PROBE_MATCH -xmpp:connection from 127.0.0.1:44224 to 127.0.0.1:37781 forwarded from 127.0.0.1:60968 to 127.0.0.1:36255 -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] -Successudp: 0 -prefix: xmpp: +udp: 0 +prefix: openvpn: listen [1]: host: 127.0.0.1 - port: 36255 + port: 43425 +xmpp:connection from 127.0.0.1:49002 to 127.0.0.1:37879 forwarded from 127.0.0.1:40640 to 127.0.0.1:44047 +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 +Successok 17 - sslh-select:xmpp: data shoveled correctly test_probe called with$VAR1 = { - 'data' => 'CNXN....................host:...', 'binary' => 'sslh-select', - 'expected' => 'adb', - 'no_frag' => 1 + 'no_frag' => 1, + 'data' => 'CNXN....................host:...', + 'expected' => 'adb' }; hexdump of incoming packet: -Would block, sleeping. Iteration: 0 socket: SCALAR(0x589f9900):44238 +Would block, sleeping. Iteration: 0 socket: SCALAR(0x5908d978):49012 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:... probing for ssh @@ -1476,25 +1507,25 @@ probed for xmpp: PROBE_AGAIN probing for adb probed for adb: PROBE_MATCH -adb:connection from 127.0.0.1:44238 to 127.0.0.1:37781 forwarded from 127.0.0.1:50308 to 127.0.0.1:40521 -adb: CNXN....................host:...Read adb: CNXN....................host:... from peer: '' -Received 37 bytes: protocol adb data [CNXN....................host:...] -Successudp: 0 -prefix: adb: +udp: 0 +prefix: xmpp: listen [1]: host: 127.0.0.1 - port: 40521 + port: 44047 +adb:connection from 127.0.0.1:49012 to 127.0.0.1:37879 forwarded from 127.0.0.1:49884 to 127.0.0.1:41249 +adb: CNXN....................host:...Read adb: CNXN....................host:... from peer: '' +Received 37 bytes: protocol adb data [CNXN....................host:...] ok 18 - sslh-select:adb: probe connected correctly ok 19 - sslh-select:adb: data shoveled correctly -test_probe called with$VAR1 = { - 'data' => '<42> My syslog message', +test_probe called withSuccess$VAR1 = { 'binary' => 'sslh-select', - 'no_frag' => 1, - 'expected' => 'syslog' + 'data' => '<42> My syslog message', + 'expected' => 'syslog', + 'no_frag' => 1 }; hexdump of incoming packet: -Would block, sleeping. Iteration: 0 socket: SCALAR(0x58a06410):54042 0x000000: 3c 34 32 3e 20 4d 79 20 73 79 73 6c 6f 67 20 6d <42> My syslog m +Would block, sleeping. Iteration: 0 socket: SCALAR(0x59081554):37922 0x000010: 65 73 73 61 67 65 essage probing for ssh probed for ssh: PROBE_NEXT @@ -1502,6 +1533,11 @@ probed for socks5: PROBE_NEXT probing for http probed for http: PROBE_NEXT +udp: 0 +prefix: adb: +listen [1]: + host: 127.0.0.1 + port: 41249 probing for tinc probed for tinc: PROBE_NEXT probing for openvpn @@ -1512,24 +1548,24 @@ probed for adb: PROBE_AGAIN probing for syslog probed for syslog: PROBE_MATCH -syslog:connection from 127.0.0.1:54042 to 127.0.0.1:37781 forwarded from 127.0.0.1:50026 to 127.0.0.1:41645 +syslog:connection from 127.0.0.1:37922 to 127.0.0.1:37879 forwarded from 127.0.0.1:35226 to 127.0.0.1:33687 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: 41645 ok 20 - sslh-select:syslog: probe connected correctly -ok 21 - sslh-select:syslog: data shoveled correctly +Successok 21 - sslh-select:syslog: data shoveled correctly test_probe called with$VAR1 = { - 'data' => 'foo', - 'binary' => 'sslh-select', 'expected' => 'ssh', - 'no_frag' => 1 + 'data' => 'foo', + 'no_frag' => 1, + 'binary' => 'sslh-select' }; +udp: 0 +prefix: syslog: +listen [1]: + host: 127.0.0.1 + port: 33687 +Would block, sleeping. Iteration: 0 socket: SCALAR(0x5908de50):37932 hexdump of incoming packet: -Would block, sleeping. Iteration: 0 socket: SCALAR(0x58a061b8):54052 0x000000: 66 6f 6f foo probing for ssh probed for ssh: PROBE_AGAIN @@ -1560,22 +1596,27 @@ probing for tls probed for tls: PROBE_AGAIN probing for anyprot -Would block, sleeping. Iteration: 1 socket: SCALAR(0x58a061b8):54052 -Would block, sleeping. Iteration: 2 socket: SCALAR(0x58a061b8):54052 -Would block, sleeping. Iteration: 3 socket: SCALAR(0x58a061b8):54052 -ssh:connection from 127.0.0.1:54052 to 127.0.0.1:37781 forwarded from 127.0.0.1:50156 to 127.0.0.1:38191 +Would block, sleeping. Iteration: 1 socket: SCALAR(0x5908de50):37932 +Would block, sleeping. Iteration: 2 socket: SCALAR(0x5908de50):37932 +Would block, sleeping. Iteration: 3 socket: SCALAR(0x5908de50):37932 +ssh:connection from 127.0.0.1:37932 to 127.0.0.1:37879 forwarded from 127.0.0.1:57982 to 127.0.0.1:37153 ssh: fooRead ssh: foo from peer: '' Received 8 bytes: protocol ssh data [foo] ok 22 - sslh-select:ssh: probe connected correctly -ok 23 - sslh-select:ssh: data shoveled correctly +Successok 23 - sslh-select:ssh: data shoveled correctly test_probe called with$VAR1 = { 'binary' => 'sslh-select', 'no_frag' => 1, - 'expected' => 'regex', - 'data' => 'fooo' + 'data' => 'fooo', + 'expected' => 'regex' }; -Would block, sleeping. Iteration: 0 socket: SCALAR(0x589f9d10):58716 +udp: 0 +prefix: ssh: +listen [1]: + host: 127.0.0.1 + port: 37153 hexdump of incoming packet: +Would block, sleeping. Iteration: 0 socket: SCALAR(0x5908d978):56462 0x000000: 66 6f 6f 6f fooo probing for ssh probed for ssh: PROBE_NEXT @@ -1595,24 +1636,19 @@ probed for syslog: PROBE_NEXT probing for regex probed for regex: PROBE_MATCH -regex:connection from 127.0.0.1:58716 to 127.0.0.1:37781 forwarded from 127.0.0.1:57982 to 127.0.0.1:37151 -Successudp: 0 -prefix: ssh: -listen [1]: - host: 127.0.0.1 - port: 38191 +regex:connection from 127.0.0.1:56462 to 127.0.0.1:37879 forwarded from 127.0.0.1:38786 to 127.0.0.1:43127 regex: foooRead regex: fooo from peer: '' Received 11 bytes: protocol regex data [fooo] ok 24 - sslh-select:regex: probe connected correctly ok 25 - sslh-select:regex: data shoveled correctly test_probe called with$VAR1 = { 'data' => 'bar', - 'binary' => 'sslh-select', 'expected' => 'ssh', - 'no_frag' => 1 + 'no_frag' => 1, + 'binary' => 'sslh-select' }; -Would block, sleeping. Iteration: 0 socket: SCALAR(0x58a06a78):58730 -hexdump of incoming packet: +Successhexdump of incoming packet: +Would block, sleeping. Iteration: 0 socket: SCALAR(0x5908e670):56474 0x000000: 62 61 72 bar probing for ssh probed for ssh: PROBE_AGAIN @@ -1643,32 +1679,32 @@ probing for tls probed for tls: PROBE_AGAIN probing for anyprot -Successudp: 0 +udp: 0 prefix: regex: listen [1]: host: 127.0.0.1 - port: 37151 -Would block, sleeping. Iteration: 1 socket: SCALAR(0x58a06a78):58730 -Would block, sleeping. Iteration: 2 socket: SCALAR(0x58a06a78):58730 -Would block, sleeping. Iteration: 3 socket: SCALAR(0x58a06a78):58730 -ssh:connection from 127.0.0.1:58730 to 127.0.0.1:37781 forwarded from 127.0.0.1:44168 to 127.0.0.1:38191 + port: 43127 +Would block, sleeping. Iteration: 1 socket: SCALAR(0x5908e670):56474 +Would block, sleeping. Iteration: 2 socket: SCALAR(0x5908e670):56474 +Would block, sleeping. Iteration: 3 socket: SCALAR(0x5908e670):56474 +ssh:connection from 127.0.0.1:56474 to 127.0.0.1:37879 forwarded from 127.0.0.1:35646 to 127.0.0.1:37153 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: 37153 ok 26 - sslh-select:ssh: probe connected correctly ok 27 - sslh-select:ssh: data shoveled correctly test_probe called with$VAR1 = { 'no_frag' => 1, + 'data' => 'barr', 'expected' => 'regex', - 'binary' => 'sslh-select', - 'data' => 'barr' + 'binary' => 'sslh-select' }; -Successudp: 0 -prefix: ssh: -listen [1]: - host: 127.0.0.1 - port: 38191 -Would block, sleeping. Iteration: 0 socket: SCALAR(0x589f9388):57320 hexdump of incoming packet: +Would block, sleeping. Iteration: 0 socket: SCALAR(0x5908107c):56828 0x000000: 62 61 72 72 barr probing for ssh probed for ssh: PROBE_NEXT @@ -1688,24 +1724,24 @@ probed for syslog: PROBE_NEXT probing for regex probed for regex: PROBE_MATCH -regex:connection from 127.0.0.1:57320 to 127.0.0.1:37781 forwarded from 127.0.0.1:46870 to 127.0.0.1:37151 +regex:connection from 127.0.0.1:56828 to 127.0.0.1:37879 forwarded from 127.0.0.1:36476 to 127.0.0.1:43127 regex: barrRead regex: barr from peer: '' Received 11 bytes: protocol regex data [barr] -ok 28 - sslh-select:regex: probe connected correctly +Successok 28 - sslh-select:regex: probe connected correctly +udp: 0 +prefix: regex: +listen [1]: + host: 127.0.0.1 + port: 43127 ok 29 - sslh-select:regex: data shoveled correctly test_probe called with$VAR1 = { 'binary' => 'sslh-select', - 'expected' => 'regex', 'no_frag' => 1, + 'expected' => 'regex', 'data' => 'barrr' }; -Successudp: 0 -prefix: regex: -listen [1]: - host: 127.0.0.1 - port: 37151 -Would block, sleeping. Iteration: 0 socket: SCALAR(0x58a06500):57328 hexdump of incoming packet: +Would block, sleeping. Iteration: 0 socket: SCALAR(0x5909069c):56834 0x000000: 62 61 72 72 72 barrr probing for ssh probed for ssh: PROBE_NEXT @@ -1725,32 +1761,32 @@ probed for syslog: PROBE_NEXT probing for regex probed for regex: PROBE_MATCH -regex:connection from 127.0.0.1:57328 to 127.0.0.1:37781 forwarded from 127.0.0.1:46874 to 127.0.0.1:37151 +regex:connection from 127.0.0.1:56834 to 127.0.0.1:37879 forwarded from 127.0.0.1:36480 to 127.0.0.1:43127 regex: barrrRead regex: barrr from peer: '' Received 12 bytes: protocol regex data [barrr] -ok 30 - sslh-select:regex: probe connected correctly -Successok 31 - sslh-select:regex: data shoveled correctly +Successok 30 - sslh-select:regex: probe connected correctly udp: 0 prefix: regex: listen [1]: host: 127.0.0.1 - port: 37151 + port: 43127 +ok 31 - sslh-select:regex: data shoveled correctly sni: sni1 alpn: alpn1 test_probe called with$VAR1 = { + 'binary' => 'sslh-select', 'no_frag' => 1, 'expected' => 'tls:sni1;alpn1,alpn2', - 'binary' => 'sslh-select', 'data' => '@ ]e#p<]\' |,8,0̨̩̪+/$(k#\'g 9 3=<5/_ sni1  # alpn1hello sni/alpn' }; -Would block, sleeping. Iteration: 0 socket: SCALAR(0x58a09838):57340 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., +Would block, sleeping. Iteration: 0 socket: SCALAR(0x590909f8):56840 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.....=.< @@ -1784,7 +1820,7 @@ matching [sni1] with [sni1] matching [alpn1] with [alpn1] probed for tls: PROBE_MATCH -tls:connection from 127.0.0.1:57340 to 127.0.0.1:37781 forwarded from 127.0.0.1:59210 to 127.0.0.1:43081 +tls:connection from 127.0.0.1:56840 to 127.0.0.1:37879 forwarded from 127.0.0.1:40960 to 127.0.0.1:41693 tls:sni1;alpn1,alpn2: @ ]e#p<]' |,8,0̨̩̪+/$(k#'g 9 3=<5/_ sni1  @@ -1797,25 +1833,20 @@ # alpn1hello sni/alpn] ok 32 - sslh-select:tls:sni1;alpn1,alpn2: probe connected correctly -Successudp: 0 -prefix: tls:sni1;alpn1,alpn2: -listen [1]: - host: 127.0.0.1 - port: 43081 ok 33 - sslh-select:tls:sni1;alpn1,alpn2: data shoveled correctly sni: sni1 alpn: alpn2 -test_probe called with$VAR1 = { +Successtest_probe called with$VAR1 = { + 'expected' => 'tls:sni1;alpn1,alpn2', 'data' => '@ ]e#p<]\' |,8,0̨̩̪+/$(k#\'g 9 3=<5/_ sni1  # alpn2hello sni/alpn', - 'expected' => 'tls:sni1;alpn1,alpn2', 'no_frag' => 1, 'binary' => 'sslh-select' }; -Would block, sleeping. Iteration: 0 socket: SCALAR(0x58a06c80):57350 hexdump of incoming packet: +Would block, sleeping. Iteration: 0 socket: SCALAR(0x5908db94):56850 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., @@ -1853,7 +1884,12 @@ matching [alpn2] with [alpn1] matching [alpn2] with [alpn2] probed for tls: PROBE_MATCH -tls:connection from 127.0.0.1:57350 to 127.0.0.1:37781 forwarded from 127.0.0.1:59214 to 127.0.0.1:43081 +udp: 0 +prefix: tls:sni1;alpn1,alpn2: +listen [1]: + host: 127.0.0.1 + port: 41693 +tls:connection from 127.0.0.1:56850 to 127.0.0.1:37879 forwarded from 127.0.0.1:40964 to 127.0.0.1:41693 tls:sni1;alpn1,alpn2: @ ]e#p<]' |,8,0̨̩̪+/$(k#'g 9 3=<5/_ sni1  @@ -1865,22 +1901,27 @@ 9 3=<5/_ sni1  # alpn2hello sni/alpn] +Successudp: 0 +prefix: tls:sni1;alpn1,alpn2: +listen [1]: + host: 127.0.0.1 + port: 41693 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 = { - 'no_frag' => 1, - 'expected' => 'tls:sni2,sni3;alpn1,alpn2', - 'binary' => 'sslh-select', 'data' => '@ ]e#p<]\' |,8,0̨̩̪+/$(k#\'g 9 3=<5/_ sni2  -# alpn1hello sni/alpn' +# alpn1hello sni/alpn', + 'expected' => 'tls:sni2,sni3;alpn1,alpn2', + 'no_frag' => 1, + 'binary' => 'sslh-select' }; -Would block, sleeping. Iteration: 0 socket: SCALAR(0x58a09810):35186 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(0x59090a98):37444 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.........+./.. @@ -1911,11 +1952,6 @@ probing for syslog probed for syslog: PROBE_NEXT probing for regex -Successudp: 0 -prefix: tls:sni1;alpn1,alpn2: -listen [1]: - host: 127.0.0.1 - port: 43081 probed for regex: PROBE_NEXT probing for tls matching [sni2] with [sni1] @@ -1924,7 +1960,7 @@ matching [sni2] with [sni2] matching [alpn1] with [alpn1] probed for tls: PROBE_MATCH -tls:connection from 127.0.0.1:35186 to 127.0.0.1:37781 forwarded from 127.0.0.1:52660 to 127.0.0.1:34351 +tls:connection from 127.0.0.1:37444 to 127.0.0.1:37879 forwarded from 127.0.0.1:37652 to 127.0.0.1:36661 tls:sni2,sni3;alpn1,alpn2: @ ]e#p<]' |,8,0̨̩̪+/$(k#'g 9 3=<5/_ sni2  @@ -1936,26 +1972,21 @@ 9 3=<5/_ sni2  # alpn1hello sni/alpn] -Successudp: 0 -prefix: tls:sni2,sni3;alpn1,alpn2: -listen [1]: - host: 127.0.0.1 - port: 34351 ok 36 - sslh-select:tls:sni2,sni3;alpn1,alpn2: probe connected correctly -ok 37 - sslh-select:tls:sni2,sni3;alpn1,alpn2: data shoveled correctly +Successok 37 - 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', - 'no_frag' => 1, - 'binary' => 'sslh-select', 'data' => '@ ]e#p<]\' |,8,0̨̩̪+/$(k#\'g 9 3=<5/_ sni2  -# alpn2hello sni/alpn' +# alpn2hello sni/alpn', + 'no_frag' => 1, + 'binary' => 'sslh-select' }; hexdump of incoming packet: -Would block, sleeping. Iteration: 0 socket: SCALAR(0x58a099b4):35188 +Would block, sleeping. Iteration: 0 socket: SCALAR(0x59090e1c):37456 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., @@ -1990,13 +2021,18 @@ probed for regex: PROBE_NEXT probing for tls matching [sni2] with [sni1] +udp: 0 +prefix: tls:sni2,sni3;alpn1,alpn2: +listen [1]: + host: 127.0.0.1 + port: 36661 probed for tls: PROBE_NEXT probing for tls matching [sni2] with [sni2] matching [alpn2] with [alpn1] matching [alpn2] with [alpn2] probed for tls: PROBE_MATCH -tls:connection from 127.0.0.1:35188 to 127.0.0.1:37781 forwarded from 127.0.0.1:52674 to 127.0.0.1:34351 +tls:connection from 127.0.0.1:37456 to 127.0.0.1:37879 forwarded from 127.0.0.1:37662 to 127.0.0.1:36661 tls:sni2,sni3;alpn1,alpn2: @ ]e#p<]' |,8,0̨̩̪+/$(k#'g 9 3=<5/_ sni2  @@ -2012,22 +2048,22 @@ prefix: tls:sni2,sni3;alpn1,alpn2: listen [1]: host: 127.0.0.1 - port: 34351 + port: 36661 ok 38 - sslh-select:tls:sni2,sni3;alpn1,alpn2: probe connected correctly ok 39 - sslh-select:tls:sni2,sni3;alpn1,alpn2: data shoveled correctly sni: sni3 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/_ sni3  -# alpn1hello sni/alpn' +# alpn1hello sni/alpn', + 'expected' => 'tls:sni2,sni3;alpn1,alpn2', + 'binary' => 'sslh-select' }; -Would block, sleeping. Iteration: 0 socket: SCALAR(0x58a09b08):35200 hexdump of incoming packet: +Would block, sleeping. Iteration: 0 socket: SCALAR(0x59090db8):37462 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., @@ -2068,7 +2104,7 @@ matching [sni3] with [sni3] matching [alpn1] with [alpn1] probed for tls: PROBE_MATCH -tls:connection from 127.0.0.1:35200 to 127.0.0.1:37781 forwarded from 127.0.0.1:52684 to 127.0.0.1:34351 +tls:connection from 127.0.0.1:37462 to 127.0.0.1:37879 forwarded from 127.0.0.1:37676 to 127.0.0.1:36661 tls:sni2,sni3;alpn1,alpn2: @ ]e#p<]' |,8,0̨̩̪+/$(k#'g 9 3=<5/_ sni3  @@ -2080,27 +2116,27 @@ 9 3=<5/_ sni3  # alpn1hello sni/alpn] -Successok 40 - sslh-select:tls:sni2,sni3;alpn1,alpn2: probe connected correctly -udp: 0 +Successudp: 0 prefix: tls:sni2,sni3;alpn1,alpn2: listen [1]: host: 127.0.0.1 - port: 34351 + port: 36661 +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', + 'no_frag' => 1, + 'expected' => 'tls:sni2,sni3;alpn1,alpn2', 'data' => '@ ]e#p<]\' |,8,0̨̩̪+/$(k#\'g 9 3=<5/_ sni3  -# alpn2hello sni/alpn', - 'no_frag' => 1, - 'expected' => 'tls:sni2,sni3;alpn1,alpn2', - 'binary' => 'sslh-select' +# alpn2hello sni/alpn' }; -Would block, sleeping. Iteration: 0 socket: SCALAR(0x58a09888):35202 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(0x59090b88):37468 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.........+./.. @@ -2141,7 +2177,7 @@ matching [alpn2] with [alpn1] matching [alpn2] with [alpn2] probed for tls: PROBE_MATCH -tls:connection from 127.0.0.1:35202 to 127.0.0.1:37781 forwarded from 127.0.0.1:52700 to 127.0.0.1:34351 +tls:connection from 127.0.0.1:37468 to 127.0.0.1:37879 forwarded from 127.0.0.1:37678 to 127.0.0.1:36661 tls:sni2,sni3;alpn1,alpn2: @ ]e#p<]' |,8,0̨̩̪+/$(k#'g 9 3=<5/_ sni3  @@ -2153,21 +2189,26 @@ 9 3=<5/_ sni3  # alpn2hello sni/alpn] +Successudp: 0 +prefix: tls:sni2,sni3;alpn1,alpn2: +listen [1]: + host: 127.0.0.1 + port: 36661 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: alpn: alpn3 test_probe called with$VAR1 = { - 'binary' => 'sslh-select', - 'no_frag' => 1, - 'expected' => 'tls:;alpn3', 'data' => '␢)1DQT[Qf? +$V8,0̨̩̪+/$(k#\'g 9 3=<5/R  -# alpn3hello alpn' +# alpn3hello alpn', + 'expected' => 'tls:;alpn3', + 'no_frag' => 1, + 'binary' => 'sslh-select' }; -Would block, sleeping. Iteration: 0 socket: SCALAR(0x58a0a058):35216 hexdump of incoming packet: +Would block, sleeping. Iteration: 0 socket: SCALAR(0x5908db08):37474 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., @@ -2176,7 +2217,7 @@ 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 ................ -Success0x000080: 00 23 00 00 00 0d 00 20 00 1e 06 01 06 02 06 03 .#..... ........ +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 10 00 08 00 06 05 61 ...............a 0x0000b0: 6c 70 6e 33 00 16 00 00 00 17 00 00 68 65 6c 6c lpn3........hell @@ -2199,11 +2240,6 @@ probed for syslog: PROBE_NEXT probing for regex probed for regex: PROBE_NEXT -udp: 0 -prefix: tls:sni2,sni3;alpn1,alpn2: -listen [1]: - host: 127.0.0.1 - port: 34351 probing for tls matching [alpn3] with [alpn1] matching [alpn3] with [alpn2] @@ -2217,7 +2253,7 @@ probing for tls matching [alpn3] with [alpn3] probed for tls: PROBE_MATCH -tls:connection from 127.0.0.1:35216 to 127.0.0.1:37781 forwarded from 127.0.0.1:51872 to 127.0.0.1:44475 +tls:connection from 127.0.0.1:37474 to 127.0.0.1:37879 forwarded from 127.0.0.1:40028 to 127.0.0.1:38823 tls:;alpn3: ␢)1DQT[Qf? +$V8,0̨̩̪+/$(k#'g 9 3=<5/R  @@ -2230,25 +2266,20 @@ # alpn3hello alpn] ok 44 - sslh-select:tls:;alpn3: probe connected correctly -ok 45 - sslh-select:tls:;alpn3: data shoveled correctly -Successudp: 0 -prefix: tls:;alpn3: -listen [1]: - host: 127.0.0.1 - port: 44475 +Successok 45 - sslh-select:tls:;alpn3: data shoveled correctly sni: sni3 alpn: test_probe called with$VAR1 = { + 'binary' => 'sslh-select', + 'no_frag' => 1, 'data' => '魆![\'KUP/7%Y728,0̨̩̪+/$(k#\'g 9 3=<5/S sni3  # hello sni', - 'no_frag' => 1, - 'expected' => 'tls:sni3;', - 'binary' => 'sslh-select' + 'expected' => 'tls:sni3;' }; -Would block, sleeping. Iteration: 0 socket: SCALAR(0x589f97c0):40890 hexdump of incoming packet: +Would block, sleeping. Iteration: 0 socket: SCALAR(0x59090fc0):44078 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., @@ -2292,7 +2323,12 @@ probing for tls matching [sni3] with [sni3] probed for tls: PROBE_MATCH -tls:connection from 127.0.0.1:40890 to 127.0.0.1:37781 forwarded from 127.0.0.1:44026 to 127.0.0.1:45409 +udp: 0 +prefix: tls:;alpn3: +listen [1]: + host: 127.0.0.1 + port: 38823 +tls:connection from 127.0.0.1:44078 to 127.0.0.1:37879 forwarded from 127.0.0.1:34208 to 127.0.0.1:33955 tls:sni3;: 魆!['KUP/7%Y728,0̨̩̪+/$(k#'g 9 3=<5/S sni3  @@ -2304,30 +2340,25 @@ 9 3=<5/S sni3  # hello sni] -Successok 46 - sslh-select:tls:sni3;: probe connected correctly -udp: 0 -prefix: tls:sni3;: -listen [1]: - host: 127.0.0.1 - port: 45409 +ok 46 - sslh-select:tls:sni3;: probe connected correctly ok 47 - sslh-select:tls:sni3;: data shoveled correctly test_probe called with$VAR1 = { - 'no_frag' => 1, - 'expected' => 'tls', 'binary' => 'sslh-select', 'data' => '"3CzÉEQ<($jxؐXe-u8,0̨̩̪+/$(k#\'g 9 3=<5/F  -# hello tls alone' +# hello tls alone', + 'expected' => 'tls', + 'no_frag' => 1 }; -hexdump of incoming packet: -Would block, sleeping. Iteration: 0 socket: SCALAR(0x58a0be88):40904 +Successhexdump 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., 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(0x5908e670):44094 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 .#..... ........ @@ -2362,7 +2393,12 @@ probed for tls: PROBE_NEXT probing for tls probed for tls: PROBE_MATCH -tls:connection from 127.0.0.1:40904 to 127.0.0.1:37781 forwarded from 127.0.0.1:38848 to 127.0.0.1:41081 +tls:connection from 127.0.0.1:44094 to 127.0.0.1:37879 forwarded from 127.0.0.1:49244 to 127.0.0.1:38297 +udp: 0 +prefix: tls:sni3;: +listen [1]: + host: 127.0.0.1 + port: 33955 tls: "3CzÉEQ<($jxؐXe-u8,0̨̩̪+/$(k#'g 9 3=<5/F  @@ -2374,21 +2410,21 @@ 9 3=<5/F  # hello tls alone] -Successudp: 0 -prefix: tls: -listen [1]: - host: 127.0.0.1 - port: 41081 ok 48 - sslh-select:tls: probe connected correctly -ok 49 - sslh-select:tls: data shoveled correctly +Successok 49 - sslh-select:tls: data shoveled correctly test_probe called with$VAR1 = { - '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', - '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!' }; +udp: 0 +prefix: tls: +listen [1]: + host: 127.0.0.1 + port: 38297 +Would block, sleeping. Iteration: 0 socket: SCALAR(0x590930bc):44106 hexdump of incoming packet: -Would block, sleeping. Iteration: 0 socket: SCALAR(0x58a061b8):40916 0x000000: 68 65 6c 6c 6f 20 61 6e 79 70 72 6f 74 20 74 68 hello anyprot th 0x000010: 69 73 20 6e 65 65 64 73 20 74 6f 20 62 65 20 6c is needs to be l 0x000020: 6f 6e 67 65 72 20 74 68 61 6e 20 78 6d 70 70 20 onger than xmpp @@ -2432,22 +2468,22 @@ Request did not begin with TLS handshake. probed for tls: PROBE_NEXT probing for anyprot -anyprot:connection from 127.0.0.1:40916 to 127.0.0.1:37781 forwarded from 127.0.0.1:47652 to 127.0.0.1:45925 +anyprot:connection from 127.0.0.1:44106 to 127.0.0.1:37879 forwarded from 127.0.0.1:35932 to 127.0.0.1:43741 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: 45925 ok 50 - sslh-select:anyprot: probe connected correctly -ok 51 - sslh-select:anyprot: data shoveled correctly +Successok 51 - sslh-select:anyprot: data shoveled correctly test_probe called with$VAR1 = { - 'data' => 'SSH-2.0 tester -', + 'binary' => 'sslh-select', 'expected' => 'ssh', - 'binary' => 'sslh-select' + 'data' => 'SSH-2.0 tester +' }; +udp: 0 +prefix: anyprot: +listen [1]: + host: 127.0.0.1 + port: 43741 hexdump of incoming packet: 0x000000: 53 S probing for ssh @@ -2545,7 +2581,7 @@ 0x000000: 53 53 48 2d SSH- probing for ssh probed for ssh: PROBE_MATCH -ssh:connection from 127.0.0.1:40924 to 127.0.0.1:37781 forwarded from 127.0.0.1:39188 to 127.0.0.1:38191 +ssh:connection from 127.0.0.1:44118 to 127.0.0.1:37879 forwarded from 127.0.0.1:48776 to 127.0.0.1:37153 ssh: SSH-Read ssh: SSH-2.0 tester from peer: '' Received 20 bytes: protocol ssh data [SSH-2.0 tester @@ -2554,13 +2590,13 @@ prefix: ssh: listen [1]: host: 127.0.0.1 - port: 38191 + port: 37153 ok 52 - sslh-select:ssh: probe connected correctly ok 53 - sslh-select:ssh: data shoveled correctly test_probe called with$VAR1 = { 'expected' => 'socks5', - 'binary' => 'sslh-select', - 'data' => '' + 'data' => '', + 'binary' => 'sslh-select' }; hexdump of incoming packet: 0x000000: 05 . @@ -2728,46 +2764,46 @@ probed for ssh: PROBE_NEXT probing for socks5 probed for socks5: PROBE_MATCH -socks5:connection from 127.0.0.1:40932 to 127.0.0.1:37781 forwarded from 127.0.0.1:33686 to 127.0.0.1:44283 +socks5:connection from 127.0.0.1:44128 to 127.0.0.1:37879 forwarded from 127.0.0.1:44122 to 127.0.0.1:45637 socks5: Read socks5:  from peer: '' Received 14 bytes: protocol socks5 data [] -Successudp: 0 -prefix: socks5: -listen [1]: - host: 127.0.0.1 - port: 44283 ok 54 - sslh-select:socks5: probe connected correctly -ok 55 - sslh-select:socks5: data shoveled correctly +Successok 55 - sslh-select:socks5: data shoveled correctly test_probe called with$VAR1 = { - 'data' => 'GET index.html HTTP/1.1', - 'no_frag' => 1, + 'binary' => 'sslh-select', 'expected' => 'http', - 'binary' => 'sslh-select' + 'data' => 'GET index.html HTTP/1.1', + 'no_frag' => 1 }; hexdump of incoming packet: -Would block, sleeping. Iteration: 0 socket: SCALAR(0x58a0a1d4):40946 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 probed for ssh: PROBE_NEXT +Would block, sleeping. Iteration: 0 socket: SCALAR(0x59092e50):44136 probing for socks5 probed for socks5: PROBE_NEXT probing for http probed for http: PROBE_MATCH -http:connection from 127.0.0.1:40946 to 127.0.0.1:37781 forwarded from 127.0.0.1:47998 to 127.0.0.1:35469 +udp: 0 +prefix: socks5: +listen [1]: + host: 127.0.0.1 + port: 45637 +http:connection from 127.0.0.1:44136 to 127.0.0.1:37879 forwarded from 127.0.0.1:60350 to 127.0.0.1:45801 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] +ok 56 - sslh-select:http: probe connected correctly Successudp: 0 prefix: http: listen [1]: host: 127.0.0.1 - port: 35469 -ok 56 - sslh-select:http: probe connected correctly + port: 45801 ok 57 - sslh-select:http: data shoveled correctly test_probe called with$VAR1 = { - 'binary' => 'sslh-select', 'expected' => 'tinc', - 'data' => '0 hello' + 'data' => '0 hello', + 'binary' => 'sslh-select' }; hexdump of incoming packet: 0x000000: 30 0 @@ -2810,20 +2846,20 @@ probed for http: PROBE_AGAIN probing for tinc probed for tinc: PROBE_MATCH -tinc:connection from 127.0.0.1:40960 to 127.0.0.1:37781 forwarded from 127.0.0.1:44036 to 127.0.0.1:46839 +tinc:connection from 127.0.0.1:44150 to 127.0.0.1:37879 forwarded from 127.0.0.1:46972 to 127.0.0.1:44503 tinc: 0 Read tinc: 0 hello from peer: '' Received 13 bytes: protocol tinc data [0 hello] -Successudp: 0 +Successok 58 - sslh-select:tinc: probe connected correctly +udp: 0 prefix: tinc: listen [1]: host: 127.0.0.1 - port: 46839 -ok 58 - sslh-select:tinc: probe connected correctly + port: 44503 ok 59 - sslh-select:tinc: data shoveled correctly test_probe called with$VAR1 = { - 'binary' => 'sslh-select', + 'data' => '', 'expected' => 'openvpn', - 'data' => '' + 'binary' => 'sslh-select' }; hexdump of incoming packet: 0x000000: 00 . @@ -2868,15 +2904,15 @@ probed for tinc: PROBE_NEXT probing for openvpn probed for openvpn: PROBE_MATCH -openvpn:connection from 127.0.0.1:40972 to 127.0.0.1:37781 forwarded from 127.0.0.1:58582 to 127.0.0.1:45385 +openvpn:connection from 127.0.0.1:44152 to 127.0.0.1:37879 forwarded from 127.0.0.1:58504 to 127.0.0.1:43425 openvpn: Read openvpn: from peer: '' Received 11 bytes: protocol openvpn data [] -Successudp: 0 +Successok 60 - sslh-select:openvpn: probe connected correctly +udp: 0 prefix: openvpn: listen [1]: host: 127.0.0.1 - port: 45385 -ok 60 - sslh-select:openvpn: probe connected correctly + port: 43425 ok 61 - sslh-select:openvpn: data shoveled correctly test_probe called with$VAR1 = { 'binary' => 'sslh-select', @@ -3787,22 +3823,22 @@ probed for openvpn: PROBE_NEXT probing for xmpp probed for xmpp: PROBE_MATCH -xmpp:connection from 127.0.0.1:40978 to 127.0.0.1:37781 forwarded from 127.0.0.1:39226 to 127.0.0.1:36255 +xmpp:connection from 127.0.0.1:44160 to 127.0.0.1:37879 forwarded from 127.0.0.1:40308 to 127.0.0.1:44047 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] -ok 62 - sslh-select:xmpp: probe connected correctly +Successok 62 - sslh-select:xmpp: probe connected correctly ok 63 - sslh-select:xmpp: data shoveled correctly -test_probe called with$VAR1 = { - 'data' => 'CNXN....................host:...', - 'expected' => 'adb', - 'binary' => 'sslh-select' - }; -Successhexdump of incoming packet: -udp: 0 +test_probe called withudp: 0 prefix: xmpp: listen [1]: host: 127.0.0.1 - port: 36255 + port: 44047 +$VAR1 = { + 'binary' => 'sslh-select', + 'data' => 'CNXN....................host:...', + 'expected' => 'adb' + }; +hexdump of incoming packet: 0x000000: 43 C probing for ssh probed for ssh: PROBE_AGAIN @@ -4856,20 +4892,15 @@ probed for xmpp: PROBE_AGAIN probing for adb probed for adb: PROBE_MATCH -adb:connection from 127.0.0.1:40992 to 127.0.0.1:37781 forwarded from 127.0.0.1:47980 to 127.0.0.1:40521 +adb:connection from 127.0.0.1:44170 to 127.0.0.1:37879 forwarded from 127.0.0.1:38126 to 127.0.0.1:41249 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: 40521 ok 64 - sslh-select:adb: probe connected correctly ok 65 - sslh-select:adb: data shoveled correctly -test_probe called with$VAR1 = { - 'expected' => 'syslog', +test_probe called withSuccess$VAR1 = { 'binary' => 'sslh-select', - 'data' => '<42> My syslog message' + 'data' => '<42> My syslog message', + 'expected' => 'syslog' }; hexdump of incoming packet: 0x000000: 3c < @@ -4902,6 +4933,11 @@ probing for tls probed for tls: PROBE_AGAIN probing for anyprot +udp: 0 +prefix: adb: +listen [1]: + host: 127.0.0.1 + port: 41249 hexdump of incoming packet: 0x000000: 3c 34 <4 probing for ssh @@ -4920,21 +4956,21 @@ probed for adb: PROBE_AGAIN probing for syslog probed for syslog: PROBE_MATCH -syslog:connection from 127.0.0.1:40996 to 127.0.0.1:37781 forwarded from 127.0.0.1:38292 to 127.0.0.1:41645 +syslog:connection from 127.0.0.1:44180 to 127.0.0.1:37879 forwarded from 127.0.0.1:34742 to 127.0.0.1:33687 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: 41645 ok 66 - sslh-select:syslog: probe connected correctly -ok 67 - sslh-select:syslog: data shoveled correctly +Successok 67 - sslh-select:syslog: data shoveled correctly test_probe called with$VAR1 = { - 'data' => 'foo', 'binary' => 'sslh-select', - 'expected' => 'ssh' + 'expected' => 'ssh', + 'data' => 'foo' }; +udp: 0 +prefix: syslog: +listen [1]: + host: 127.0.0.1 + port: 33687 hexdump of incoming packet: 0x000000: 66 f probing for ssh @@ -5028,24 +5064,24 @@ probing for tls probed for tls: PROBE_AGAIN probing for anyprot -Would block, sleeping. Iteration: 0 socket: SCALAR(0x58a106fc):40998 -Would block, sleeping. Iteration: 1 socket: SCALAR(0x58a106fc):40998 -Would block, sleeping. Iteration: 2 socket: SCALAR(0x58a106fc):40998 -Would block, sleeping. Iteration: 3 socket: SCALAR(0x58a106fc):40998 -ssh:connection from 127.0.0.1:40998 to 127.0.0.1:37781 forwarded from 127.0.0.1:38262 to 127.0.0.1:38191 +Would block, sleeping. Iteration: 0 socket: SCALAR(0x5909365c):44182 +Would block, sleeping. Iteration: 1 socket: SCALAR(0x5909365c):44182 +Would block, sleeping. Iteration: 2 socket: SCALAR(0x5909365c):44182 +Would block, sleeping. Iteration: 3 socket: SCALAR(0x5909365c):44182 +ssh:connection from 127.0.0.1:44182 to 127.0.0.1:37879 forwarded from 127.0.0.1:35168 to 127.0.0.1:37153 ssh: fooRead ssh: foo from peer: '' Received 8 bytes: protocol ssh data [foo] -Successok 68 - sslh-select:ssh: probe connected correctly +ok 68 - sslh-select:ssh: probe connected correctly +Successok 69 - sslh-select:ssh: data shoveled correctly udp: 0 prefix: ssh: listen [1]: host: 127.0.0.1 - port: 38191 -ok 69 - sslh-select:ssh: data shoveled correctly + port: 37153 test_probe called with$VAR1 = { - 'data' => 'fooo', + 'binary' => 'sslh-select', 'expected' => 'regex', - 'binary' => 'sslh-select' + 'data' => 'fooo' }; hexdump of incoming packet: 0x000000: 66 f @@ -5160,15 +5196,15 @@ probed for syslog: PROBE_NEXT probing for regex probed for regex: PROBE_MATCH -regex:connection from 127.0.0.1:42026 to 127.0.0.1:37781 forwarded from 127.0.0.1:59534 to 127.0.0.1:37151 +regex:connection from 127.0.0.1:40222 to 127.0.0.1:37879 forwarded from 127.0.0.1:41688 to 127.0.0.1:43127 regex: foooRead regex: fooo from peer: '' Received 11 bytes: protocol regex data [fooo] +ok 70 - sslh-select:regex: probe connected correctly Successudp: 0 prefix: regex: listen [1]: host: 127.0.0.1 - port: 37151 -ok 70 - sslh-select:regex: probe connected correctly + port: 43127 ok 71 - sslh-select:regex: data shoveled correctly test_probe called with$VAR1 = { 'binary' => 'sslh-select', @@ -5268,19 +5304,24 @@ probing for tls probed for tls: PROBE_AGAIN probing for anyprot -Would block, sleeping. Iteration: 0 socket: SCALAR(0x58a1024c):42040 -Would block, sleeping. Iteration: 1 socket: SCALAR(0x58a1024c):42040 -Would block, sleeping. Iteration: 2 socket: SCALAR(0x58a1024c):42040 -Would block, sleeping. Iteration: 3 socket: SCALAR(0x58a1024c):42040 -ssh:connection from 127.0.0.1:42040 to 127.0.0.1:37781 forwarded from 127.0.0.1:39374 to 127.0.0.1:38191 +Would block, sleeping. Iteration: 0 socket: SCALAR(0x59097334):40236 +Would block, sleeping. Iteration: 1 socket: SCALAR(0x59097334):40236 +Would block, sleeping. Iteration: 2 socket: SCALAR(0x59097334):40236 +Would block, sleeping. Iteration: 3 socket: SCALAR(0x59097334):40236 +ssh:connection from 127.0.0.1:40236 to 127.0.0.1:37879 forwarded from 127.0.0.1:39504 to 127.0.0.1:37153 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: 37153 ok 72 - sslh-select:ssh: probe connected correctly ok 73 - sslh-select:ssh: data shoveled correctly test_probe called with$VAR1 = { - 'binary' => 'sslh-select', + 'data' => 'barr', 'expected' => 'regex', - 'data' => 'barr' + 'binary' => 'sslh-select' }; hexdump of incoming packet: 0x000000: 62 b @@ -5313,11 +5354,6 @@ probing for tls probed for tls: PROBE_AGAIN probing for anyprot -Successudp: 0 -prefix: ssh: -listen [1]: - host: 127.0.0.1 - port: 38191 hexdump of incoming packet: 0x000000: 62 61 ba probing for ssh @@ -5400,20 +5436,20 @@ probed for syslog: PROBE_NEXT probing for regex probed for regex: PROBE_MATCH -regex:connection from 127.0.0.1:57470 to 127.0.0.1:37781 forwarded from 127.0.0.1:54250 to 127.0.0.1:37151 +regex:connection from 127.0.0.1:59032 to 127.0.0.1:37879 forwarded from 127.0.0.1:47470 to 127.0.0.1:43127 regex: barrRead regex: barr from peer: '' Received 11 bytes: protocol regex data [barr] -ok 74 - sslh-select:regex: probe connected correctly Successudp: 0 prefix: regex: listen [1]: host: 127.0.0.1 - port: 37151 + port: 43127 +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' + 'data' => 'barrr', + 'binary' => 'sslh-select' }; hexdump of incoming packet: 0x000000: 62 b @@ -5528,25 +5564,25 @@ probed for syslog: PROBE_NEXT probing for regex probed for regex: PROBE_MATCH -regex:connection from 127.0.0.1:57480 to 127.0.0.1:37781 forwarded from 127.0.0.1:54266 to 127.0.0.1:37151 +regex:connection from 127.0.0.1:59048 to 127.0.0.1:37879 forwarded from 127.0.0.1:47480 to 127.0.0.1:43127 regex: barrRead regex: barrr from peer: '' Received 12 bytes: protocol regex data [barrr] -ok 76 - sslh-select:regex: probe connected correctly Successudp: 0 prefix: regex: listen [1]: host: 127.0.0.1 - port: 37151 + port: 43127 +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 = { + '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' + 'binary' => 'sslh-select' }; hexdump of incoming packet: 0x000000: 16 . @@ -12936,7 +12972,7 @@ matching [sni1] with [sni1] matching [alpn1] with [alpn1] probed for tls: PROBE_MATCH -tls:connection from 127.0.0.1:57496 to 127.0.0.1:37781 forwarded from 127.0.0.1:33072 to 127.0.0.1:43081 +tls:connection from 127.0.0.1:59054 to 127.0.0.1:37879 forwarded from 127.0.0.1:45358 to 127.0.0.1:41693 tls:sni1;alpn1,alpn2: @ ]e#p<]' |,8,0̨̩̪+/$(k#'g 9 3=<5/_ sni1  @@ -12948,22 +12984,22 @@ 9 3=<5/_ sni1  # alpn1hello sni/alpn] -ok 78 - sslh-select:tls:sni1;alpn1,alpn2: probe connected correctly Successudp: 0 prefix: tls:sni1;alpn1,alpn2: listen [1]: host: 127.0.0.1 - port: 43081 + port: 41693 +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 = { + 'expected' => 'tls:sni1;alpn1,alpn2', 'data' => '@ ]e#p<]\' |,8,0̨̩̪+/$(k#\'g 9 3=<5/_ sni1  # alpn2hello sni/alpn', - 'binary' => 'sslh-select', - 'expected' => 'tls:sni1;alpn1,alpn2' + 'binary' => 'sslh-select' }; hexdump of incoming packet: 0x000000: 16 . @@ -20354,7 +20390,7 @@ matching [alpn2] with [alpn1] matching [alpn2] with [alpn2] probed for tls: PROBE_MATCH -tls:connection from 127.0.0.1:57406 to 127.0.0.1:37781 forwarded from 127.0.0.1:33076 to 127.0.0.1:43081 +tls:connection from 127.0.0.1:45544 to 127.0.0.1:37879 forwarded from 127.0.0.1:45370 to 127.0.0.1:41693 tls:sni1;alpn1,alpn2: @ ]e#p<]' |,8,0̨̩̪+/$(k#'g 9 3=<5/_ sni1  @@ -20366,23 +20402,23 @@ 9 3=<5/_ sni1  # alpn2hello sni/alpn] +Successudp: 0 +prefix: tls:sni1;alpn1,alpn2: +listen [1]: + host: 127.0.0.1 + port: 41693 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 = { - 'binary' => 'sslh-select', - 'expected' => 'tls:sni2,sni3;alpn1,alpn2', 'data' => '@ ]e#p<]\' |,8,0̨̩̪+/$(k#\'g 9 3=<5/_ sni2  -# alpn1hello sni/alpn' +# alpn1hello sni/alpn', + 'expected' => 'tls:sni2,sni3;alpn1,alpn2', + 'binary' => 'sslh-select' }; -Successudp: 0 -prefix: tls:sni1;alpn1,alpn2: -listen [1]: - host: 127.0.0.1 - port: 43081 hexdump of incoming packet: 0x000000: 16 . probing for ssh @@ -27774,7 +27810,7 @@ matching [sni2] with [sni2] matching [alpn1] with [alpn1] probed for tls: PROBE_MATCH -tls:connection from 127.0.0.1:57416 to 127.0.0.1:37781 forwarded from 127.0.0.1:38190 to 127.0.0.1:34351 +tls:connection from 127.0.0.1:45560 to 127.0.0.1:37879 forwarded from 127.0.0.1:57496 to 127.0.0.1:36661 tls:sni2,sni3;alpn1,alpn2: @ ]e#p<]' |,8,0̨̩̪+/$(k#'g 9 3=<5/_ sni2  @@ -27786,17 +27822,22 @@ 9 3=<5/_ sni2  # alpn1hello sni/alpn] +Successudp: 0 +prefix: tls:sni2,sni3;alpn1,alpn2: +listen [1]: + host: 127.0.0.1 + port: 36661 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 = { + 'binary' => 'sslh-select', + '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', - 'binary' => 'sslh-select' +# alpn2hello sni/alpn' }; hexdump of incoming packet: 0x000000: 16 . @@ -27829,11 +27870,6 @@ probing for tls probed for tls: PROBE_AGAIN probing for anyprot -Successudp: 0 -prefix: tls:sni2,sni3;alpn1,alpn2: -listen [1]: - host: 127.0.0.1 - port: 34351 hexdump of incoming packet: 0x000000: 16 03 .. probing for ssh @@ -35195,7 +35231,7 @@ matching [alpn2] with [alpn1] matching [alpn2] with [alpn2] probed for tls: PROBE_MATCH -tls:connection from 127.0.0.1:57432 to 127.0.0.1:37781 forwarded from 127.0.0.1:38198 to 127.0.0.1:34351 +tls:connection from 127.0.0.1:45570 to 127.0.0.1:37879 forwarded from 127.0.0.1:57498 to 127.0.0.1:36661 tls:sni2,sni3;alpn1,alpn2: @ ]e#p<]' |,8,0̨̩̪+/$(k#'g 9 3=<5/_ sni2  @@ -35207,16 +35243,21 @@ 9 3=<5/_ sni2  # alpn2hello sni/alpn] -ok 84 - sslh-select:tls:sni2,sni3;alpn1,alpn2: probe connected correctly +Successok 84 - 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: 36661 ok 85 - sslh-select:tls:sni2,sni3;alpn1,alpn2: data shoveled correctly sni: sni3 alpn: alpn1 test_probe called with$VAR1 = { + 'expected' => 'tls:sni2,sni3;alpn1,alpn2', 'data' => '@ ]e#p<]\' |,8,0̨̩̪+/$(k#\'g 9 3=<5/_ sni3  # alpn1hello sni/alpn', - 'expected' => 'tls:sni2,sni3;alpn1,alpn2', 'binary' => 'sslh-select' }; hexdump of incoming packet: @@ -35250,11 +35291,6 @@ probing for tls probed for tls: PROBE_AGAIN probing for anyprot -Successudp: 0 -prefix: tls:sni2,sni3;alpn1,alpn2: -listen [1]: - host: 127.0.0.1 - port: 34351 hexdump of incoming packet: 0x000000: 16 03 .. probing for ssh @@ -42616,7 +42652,7 @@ matching [sni3] with [sni3] matching [alpn1] with [alpn1] probed for tls: PROBE_MATCH -tls:connection from 127.0.0.1:57442 to 127.0.0.1:37781 forwarded from 127.0.0.1:38200 to 127.0.0.1:34351 +tls:connection from 127.0.0.1:45580 to 127.0.0.1:37879 forwarded from 127.0.0.1:57514 to 127.0.0.1:36661 tls:sni2,sni3;alpn1,alpn2: @ ]e#p<]' |,8,0̨̩̪+/$(k#'g 9 3=<5/_ sni3  @@ -42628,23 +42664,23 @@ 9 3=<5/_ sni3  # alpn1hello sni/alpn] +Successudp: 0 +prefix: tls:sni2,sni3;alpn1,alpn2: +listen [1]: + host: 127.0.0.1 + port: 36661 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 alpn: alpn2 test_probe called with$VAR1 = { - 'expected' => 'tls:sni2,sni3;alpn1,alpn2', 'binary' => 'sslh-select', + 'expected' => 'tls:sni2,sni3;alpn1,alpn2', 'data' => '@ ]e#p<]\' |,8,0̨̩̪+/$(k#\'g 9 3=<5/_ sni3  # alpn2hello sni/alpn' }; -Successudp: 0 -prefix: tls:sni2,sni3;alpn1,alpn2: -listen [1]: - host: 127.0.0.1 - port: 34351 hexdump of incoming packet: 0x000000: 16 . probing for ssh @@ -50038,7 +50074,7 @@ matching [alpn2] with [alpn1] matching [alpn2] with [alpn2] probed for tls: PROBE_MATCH -tls:connection from 127.0.0.1:57456 to 127.0.0.1:37781 forwarded from 127.0.0.1:58334 to 127.0.0.1:34351 +tls:connection from 127.0.0.1:45596 to 127.0.0.1:37879 forwarded from 127.0.0.1:38660 to 127.0.0.1:36661 tls:sni2,sni3;alpn1,alpn2: @ ]e#p<]' |,8,0̨̩̪+/$(k#'g 9 3=<5/_ sni3  @@ -50050,22 +50086,27 @@ 9 3=<5/_ sni3  # alpn2hello sni/alpn] +Successudp: 0 +prefix: tls:sni2,sni3;alpn1,alpn2: +listen [1]: + host: 127.0.0.1 + port: 36661 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 = { - 'expected' => 'tls:;alpn3', 'binary' => 'sslh-select', 'data' => '␢)1DQT[Qf? +$V8,0̨̩̪+/$(k#\'g 9 3=<5/R  -# alpn3hello alpn' +# alpn3hello alpn', + 'expected' => 'tls:;alpn3' }; hexdump of incoming packet: 0x000000: 16 . probing for ssh -Successprobed for ssh: PROBE_AGAIN +probed for ssh: PROBE_AGAIN probing for socks5 probed for socks5: PROBE_AGAIN probing for http @@ -50093,11 +50134,6 @@ probing for tls probed for tls: PROBE_AGAIN probing for anyprot -udp: 0 -prefix: tls:sni2,sni3;alpn1,alpn2: -listen [1]: - host: 127.0.0.1 - port: 34351 hexdump of incoming packet: 0x000000: 16 03 .. probing for ssh @@ -56909,7 +56945,7 @@ probing for tls matching [alpn3] with [alpn3] probed for tls: PROBE_MATCH -tls:connection from 127.0.0.1:56706 to 127.0.0.1:37781 forwarded from 127.0.0.1:59596 to 127.0.0.1:44475 +tls:connection from 127.0.0.1:46166 to 127.0.0.1:37879 forwarded from 127.0.0.1:54682 to 127.0.0.1:38823 tls:;alpn3: ␢)1DQT[Qf? +$V8,0̨̩̪+/$(k#'g 9 3=<5/R  @@ -56921,22 +56957,22 @@ 9 3=<5/R  # alpn3hello alpn] -ok 90 - sslh-select:tls:;alpn3: probe connected correctly -ok 91 - sslh-select:tls:;alpn3: data shoveled correctly -Successsni: sni3 -alpn: -udp: 0 +Successudp: 0 prefix: tls:;alpn3: listen [1]: host: 127.0.0.1 - port: 44475 + port: 38823 +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' +# hello sni', + 'expected' => 'tls:sni3;', + 'binary' => 'sslh-select' }; hexdump of incoming packet: 0x000000: 16 . @@ -63821,7 +63857,7 @@ probing for tls matching [sni3] with [sni3] probed for tls: PROBE_MATCH -tls:connection from 127.0.0.1:56720 to 127.0.0.1:37781 forwarded from 127.0.0.1:39266 to 127.0.0.1:45409 +tls:connection from 127.0.0.1:46174 to 127.0.0.1:37879 forwarded from 127.0.0.1:60442 to 127.0.0.1:33955 tls:sni3;: 魆!['KUP/7%Y728,0̨̩̪+/$(k#'g 9 3=<5/S sni3  @@ -63833,22 +63869,22 @@ 9 3=<5/S sni3  # hello sni] +Successudp: 0 +prefix: tls:sni3;: +listen [1]: + host: 127.0.0.1 + port: 33955 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', - 'binary' => 'sslh-select', 'data' => '"3CzÉEQ<($jxؐXe-u8,0̨̩̪+/$(k#\'g 9 3=<5/F  -# hello tls alone' +# hello tls alone', + 'binary' => 'sslh-select' }; hexdump of incoming packet: -Successudp: 0 -prefix: tls:sni3;: -listen [1]: - host: 127.0.0.1 - port: 45409 0x000000: 16 . probing for ssh probed for ssh: PROBE_AGAIN @@ -70183,7 +70219,7 @@ probed for tls: PROBE_NEXT probing for tls probed for tls: PROBE_MATCH -tls:connection from 127.0.0.1:56722 to 127.0.0.1:37781 forwarded from 127.0.0.1:47312 to 127.0.0.1:41081 +tls:connection from 127.0.0.1:46186 to 127.0.0.1:37879 forwarded from 127.0.0.1:55334 to 127.0.0.1:38297 tls: "3CzÉEQ<($jxؐXe-u8,0̨̩̪+/$(k#'g 9 3=<5/F  @@ -70195,6 +70231,11 @@ 9 3=<5/F  # hello tls alone] +Successudp: 0 +prefix: tls: +listen [1]: + host: 127.0.0.1 + port: 38297 ok 94 - sslh-select:tls: probe connected correctly ok 95 - sslh-select:tls: data shoveled correctly test_probe called with$VAR1 = { @@ -70203,11 +70244,6 @@ '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!' }; hexdump of incoming packet: -Successudp: 0 -prefix: tls: -listen [1]: - host: 127.0.0.1 - port: 41081 0x000000: 68 h probing for ssh probed for ssh: PROBE_AGAIN @@ -72197,17 +72233,17 @@ Request did not begin with TLS handshake. probed for tls: PROBE_NEXT probing for anyprot -anyprot:connection from 127.0.0.1:56734 to 127.0.0.1:37781 forwarded from 127.0.0.1:33396 to 127.0.0.1:45925 +anyprot:connection from 127.0.0.1:46202 to 127.0.0.1:37879 forwarded from 127.0.0.1:59402 to 127.0.0.1:43741 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!] -ok 96 - sslh-select:anyprot: probe connected correctly -ok 97 - sslh-select:anyprot: data shoveled correctly Successudp: 0 prefix: anyprot: listen [1]: host: 127.0.0.1 - port: 45925 -killing 36829 + port: 43741 +ok 96 - sslh-select:anyprot: probe connected correctly +ok 97 - sslh-select:anyprot: data shoveled correctly +killing 55748 geninfo: WARNING: (usage) branch filter enabled but branch coverage not enabled (use "geninfo --ignore-errors usage,usage ..." to suppress this warning) @@ -72325,7 +72361,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 -j11 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 -j21 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 @@ -72363,8 +72399,8 @@ dh_gencontrol dh_md5sums dh_builddeb -dpkg-deb: building package 'sslh' in '../sslh_2.1.4-1_i386.deb'. dpkg-deb: building package 'sslh-dbgsym' in '../sslh-dbgsym_2.1.4-1_i386.deb'. +dpkg-deb: building package 'sslh' in '../sslh_2.1.4-1_i386.deb'. dpkg-genbuildinfo --build=binary -O../sslh_2.1.4-1_i386.buildinfo dpkg-genchanges --build=binary -O../sslh_2.1.4-1_i386.changes dpkg-genchanges: info: binary-only upload (no source code included) @@ -72372,12 +72408,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/52466/tmp/hooks/B01_cleanup starting +I: user script /srv/workspace/pbuilder/52466/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/34181 and its subdirectories -I: Current time: Thu Jan 9 00:53:18 -12 2025 -I: pbuilder-time-stamp: 1736427198 +I: removing directory /srv/workspace/pbuilder/52466 and its subdirectories +I: Current time: Thu Feb 12 09:22:46 +14 2026 +I: pbuilder-time-stamp: 1770837766