diff --git a/net/sslh/Makefile b/net/sslh/Makefile index 64b0e13a42cc..7788ba96cf09 100644 --- a/net/sslh/Makefile +++ b/net/sslh/Makefile @@ -1,7 +1,7 @@ -# $NetBSD: Makefile,v 1.2 2012/10/23 17:19:10 asau Exp $ +# $NetBSD: Makefile,v 1.3 2013/11/08 13:33:55 obache Exp $ # -DISTNAME= sslh-1.7a +DISTNAME= sslh-1.15 CATEGORIES= net MASTER_SITES= http://www.rutschle.net/tech/ @@ -10,14 +10,31 @@ HOMEPAGE= http://www.rutschle.net/tech/sslh.shtml COMMENT= Multiplex ssl and ssh connections on the same port LICENSE= gnu-gpl-v2 -USE_TOOLS= gmake pod2man +USE_TOOLS+= gmake gzip pod2man USE_LANGUAGES= c -INSTALLATION_DIRS= sbin ${PKGMANDIR}/man8 +MAKE_FLAGS+= USELIBWRAP=1 + +EGDIR= ${PREFIX}/share/examples/sslh +DOCDIR= share/doc/sslh + +CONF_FILES= ${EGDIR}/basic.cfg ${PKG_SYSCONFDIR}/sslh.cfg +RCD_SCRIPTS= sslh + +AUTO_MKDIRS= yes do-install: - ${INSTALL_PROGRAM} ${WRKSRC}/sslh ${DESTDIR}${PREFIX}/sbin/. - ${INSTALL_MAN} ${WRKSRC}/sslh.8.gz \ - ${DESTDIR}${PREFIX}/${PKGMANDIR}/man8/. + ${INSTALL_PROGRAM} ${WRKSRC}/sslh-fork ${DESTDIR}${PREFIX}/sbin/sslh + ${INSTALL_PROGRAM} ${WRKSRC}/sslh-select ${DESTDIR}${PREFIX}/sbin + ${INSTALL_MAN} ${WRKSRC}/sslh.8.gz ${DESTDIR}${PREFIX}/${PKGMANDIR}/man8 + ${INSTALL_DATA} ${WRKSRC}/scripts/* ${DESTDIR}${EGDIR}/scripts + ${INSTALL_DATA} ${WRKSRC}/example.cfg ${DESTDIR}${EGDIR} + ${INSTALL_DATA} ${WRKSRC}/basic.cfg ${DESTDIR}${EGDIR} + ${INSTALL_DATA} ${WRKSRC}/README ${DESTDIR}${PREFIX}/${DOCDIR} + ${INSTALL_DATA} ${WRKSRC}/README.MacOSX ${DESTDIR}${PREFIX}/${DOCDIR} + ${INSTALL_DATA} ${WRKSRC}/ChangeLog ${DESTDIR}${PREFIX}/${DOCDIR} +.include "../../devel/libconfig/buildlink3.mk" +.include "../../devel/libgetopt/buildlink3.mk" +.include "../../security/tcp_wrappers/buildlink3.mk" .include "../../mk/bsd.pkg.mk" diff --git a/net/sslh/PLIST b/net/sslh/PLIST index 5514480dc82b..407c2d12daf6 100644 --- a/net/sslh/PLIST +++ b/net/sslh/PLIST @@ -1,3 +1,14 @@ -@comment $NetBSD: PLIST,v 1.1 2010/07/31 17:04:47 apb Exp $ -sbin/sslh +@comment $NetBSD: PLIST,v 1.2 2013/11/08 13:33:55 obache Exp $ man/man8/sslh.8 +sbin/sslh +sbin/sslh-select +share/doc/sslh/ChangeLog +share/doc/sslh/README +share/doc/sslh/README.MacOSX +share/examples/rc.d/sslh +share/examples/sslh/basic.cfg +share/examples/sslh/example.cfg +share/examples/sslh/scripts/etc.default.sslh +share/examples/sslh/scripts/etc.init.d.sslh +share/examples/sslh/scripts/etc.rc.d.init.d.sslh.centos +share/examples/sslh/scripts/systemd.sslh.service diff --git a/net/sslh/distinfo b/net/sslh/distinfo index 3db3088e4814..f3f401666e7d 100644 --- a/net/sslh/distinfo +++ b/net/sslh/distinfo @@ -1,5 +1,7 @@ -$NetBSD: distinfo,v 1.1 2010/07/31 17:04:47 apb Exp $ +$NetBSD: distinfo,v 1.2 2013/11/08 13:33:55 obache Exp $ -SHA1 (sslh-1.7a.tar.gz) = 11bcb9fd4285b06819d16db638ca111d8d43577a -RMD160 (sslh-1.7a.tar.gz) = 79a156469ba4b10c493851be28d15898eaef4731 -Size (sslh-1.7a.tar.gz) = 9733 bytes +SHA1 (sslh-1.15.tar.gz) = eaf255fcbc0aa35f1274240e619636ad3af2e3b2 +RMD160 (sslh-1.15.tar.gz) = 03fb637fe06c5b1e4010547017ef39d7265ae503 +Size (sslh-1.15.tar.gz) = 33241 bytes +SHA1 (patch-echosrv.c) = d235b5053aa597746f4cc8d1b13b8fc20ffa9c4f +SHA1 (patch-sslh-main.c) = 39e9de71028c28de3e6bc5510b395409c99b73d1 diff --git a/net/sslh/files/sslh.sh b/net/sslh/files/sslh.sh new file mode 100644 index 000000000000..e01d495d9a2f --- /dev/null +++ b/net/sslh/files/sslh.sh @@ -0,0 +1,28 @@ +#!@RCD_SCRIPTS_SHELL@ +# +# $NetBSD: sslh.sh,v 1.1 2013/11/08 13:33:55 obache Exp $ +# +# PROVIDE: sslh +# REQUIRE: DAEMON + +if [ -f /etc/rc.subr ]; then + . /etc/rc.subr +fi + +name="sslh" +rcvar=$name +command="@PREFIX@/sbin/${name}" +pidfile="@VARBASE@/run/${name}.pid" +command_args="-P ${pidfile}" + +if [ -f @PKG_SYSCONFDIR@/sslh.cfg ]; then + command_args="${command_args} -F @PKG_SYSCONFDIR@/sslh.cfg" +fi + +if [ -f /etc/rc.subr -a -f /etc/rc.conf -a -f /etc/rc.d/DAEMON ]; then + load_rc_config $name + run_rc_command "$1" +else + echo -n " ${name}" + ${command} ${command_args} +fi diff --git a/net/sslh/patches/patch-echosrv.c b/net/sslh/patches/patch-echosrv.c new file mode 100644 index 000000000000..52669f00ae38 --- /dev/null +++ b/net/sslh/patches/patch-echosrv.c @@ -0,0 +1,15 @@ +$NetBSD: patch-echosrv.c,v 1.1 2013/11/08 13:33:55 obache Exp $ + +* getopt_long_only does not exist on NetBSD getopt. + +--- echosrv.c.orig 2013-07-27 14:25:04.000000000 +0000 ++++ echosrv.c +@@ -64,7 +64,7 @@ void parse_cmdline(int argc, char* argv[ + }; + struct addrinfo **a; + +- while ((c = getopt_long_only(argc, argv, "l:p:", options, NULL)) != -1) { ++ while ((c = getopt_long(argc, argv, "l:p:", options, NULL)) != -1) { + if (c == 0) continue; + + switch (c) { diff --git a/net/sslh/patches/patch-sslh-main.c b/net/sslh/patches/patch-sslh-main.c new file mode 100644 index 000000000000..35fb27fd8f8b --- /dev/null +++ b/net/sslh/patches/patch-sslh-main.c @@ -0,0 +1,24 @@ +$NetBSD: patch-sslh-main.c,v 1.1 2013/11/08 13:33:55 obache Exp $ + +* getopt_long_only does not exist on NetBSD getopt. + +--- sslh-main.c.orig 2013-07-27 14:25:04.000000000 +0000 ++++ sslh-main.c +@@ -337,7 +337,7 @@ static void cmdline_config(int argc, cha + #ifdef LIBCONFIG + optind = 1; + opterr = 0; /* we're missing protocol options at this stage so don't output errors */ +- while ((c = getopt_long_only(argc, argv, optstr, all_options, NULL)) != -1) { ++ while ((c = getopt_long(argc, argv, optstr, all_options, NULL)) != -1) { + if (c == 'F') { + config_filename = optarg; + /* find the end of the listen list */ +@@ -362,7 +362,7 @@ static void parse_cmdline(int argc, char + optind = 1; + opterr = 1; + next_arg: +- while ((c = getopt_long_only(argc, argv, optstr, all_options, NULL)) != -1) { ++ while ((c = getopt_long(argc, argv, optstr, all_options, NULL)) != -1) { + if (c == 0) continue; + + if (c >= PROT_SHIFT) {