The tarball version of sslh-1.16 doesn't have the version string set correctly in version.h, and instead prints an ambiguous version string. Steps to Reproduce: 1. Install sslh-1.16 2. root@server ~ # sslh -V Actual results: sslh-fork zip-2014-02-11 Expected results: sslh-fork 1.16
Just compiled using the git version and checking out the v1.16 tag from github, and it has the correct version number. Not sure where genver.sh is going wrong with the tarballed version, may report upstream to see if there is any logic behind this.
Looking at genver.sh, this appears to be a deliberate upstream design: if ! `(git status | grep -q "On branch") 2> /dev/null`; then # If we don't have git, we can't work out what # version this is. It must have been downloaded as a # zip file. Github creates the zip file with all # files dated from the last change: use the # Makefile's modification time as a release number release=zip-`stat -c "%y" Makefile | sed 's/ .*//'` fi However, since there is a release target that appears to be in use: release: git archive master --prefix="sslh-$(VERSION)/" | gzip > /tmp/sslh-$(VERSION).tar.gz if you are speaking to upstream perhaps they would be interested in modifying this to inject the correct version.
Hi, the issue has been fixed upstream changing the way the script grabs the version: https://github.com/yrutschle/sslh/commit/9beacc63f9235ceec1af6e81bc69f1ffc33b84ff It's been changed to grab the version from the directory instead of just making up a version on the fly.
It fails to compile here, I guess it's the same issue? >>> Compiling source in /var/tmp/portage/net-misc/sslh-1.16/work/sslh-v1.16 ... make -j4 CC=x86_64-pc-linux-gnu-gcc USELIBCAP= USELIBWRAP=tcpd ./genver.sh >version.h x86_64-pc-linux-gnu-gcc -O2 -pipe -DLIBWRAP -DLIBCONFIG -c common.c x86_64-pc-linux-gnu-gcc -O2 -pipe -DLIBWRAP -DLIBCONFIG -c sslh-main.c x86_64-pc-linux-gnu-gcc -O2 -pipe -DLIBWRAP -DLIBCONFIG -c probe.c sslh-main.c:34:9: error: expected ‘,’ or ‘;’ before ‘VERSION’ sslh-main.c: In function ‘parse_cmdline’: sslh-main.c:442:44: error: ‘VERSION’ undeclared (first use in this function) sslh-main.c:442:44: note: each undeclared identifier is reported only once for each function it appears in make: *** [sslh-main.o] Error 1 Please apply the patch.
Created attachment 373172 [details, diff] sslh version fix I confirm that patch highlighted in comment #3 fixes the problem
Created attachment 373174 [details, diff] Fixed patch without changing USELIBCAP= default
(In reply to Anton Bolshakov from comment #4) > It fails to compile here, I guess it's the same issue? That's weird, what's the contents of your /var/tmp/portage/net-misc/sslh-1.16/work/sslh-v1.16/version.h ?
1.17 is now in the tree which fixes the issue.