net/hanstunnel: update to 0.4.4 [1] and improve

- Revert r326014 as nothing to substitute in pkg-message [1]
- Clarify server works only on Linux [1]
- Unbreak build on DragonFly [2]
- Drop poorly maintained CLANG option [3]
- Simplify patching via MAKE_ARGS
- Respect LOCALBASE != PREFIX
- Pet portlint (makepatch)
- Clarify LICENSE

PR:		195313
Reported by:	DPorts [2]
Requested by:	many [3]
Submitted by:	vsityz@gmail.com (maintainer [1], based on)
Reviewed by:	marino [2]
Approved by:	maintainer timeout (~3 weeks)
This commit is contained in:
Jan Beich 2015-05-13 16:14:46 +00:00
parent 10a58414da
commit d4b48afd79
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=386226
12 changed files with 49 additions and 181 deletions

View File

@ -2,42 +2,30 @@
# $FreeBSD$
PORTNAME= hans
PORTVERSION= 0.4.1
PORTREVISION= 1
PORTVERSION= 0.4.4
CATEGORIES= net security
MASTER_SITES= SF/hanstunnel/source
MAINTAINER= vsityz@gmail.com
COMMENT= Hans makes it possible to tunnel IPv4 through ICMP
LICENSE= GPLv3
OPTIONS_DEFINE= CLANG
CLANG_DESC= Build with Clang instead of GCC
OPTIONS_DEFAULT= CLANG
LICENSE= FPL GPLv3 # or any later version
LICENSE_COMB= multi
LICENSE_NAME_FPL=Freeware Public License
LICENSE_FILE_FPL=${WRKSRC}/src/sha1_license.txt
LICENSE_PERMS_FPL=dist-mirror dist-sell pkg-mirror pkg-sell auto-accept
USES= dos2unix
DOS2UNIX_FILES= ${LICENSE_FILE_FPL}
MAKE_ARGS= GCC="${CC}" GPP="${CXX}" \
CFLAGS="${CFLAGS} -c" LDFLAGS="${LDFLAGS}" \
TUN_DEV_FILE="src/tun_dev_freebsd.c"
PLIST_FILES= bin/hans
SUB_FILES= pkg-message
.include <bsd.port.options.mk>
.if ${PORT_OPTIONS:MCLANG}
.if ${OSVERSION} >= 900033 && exists(/usr/bin/clang)
CC= clang
CXX= clang++
.else
BUILD_DEPENDS+= clang33:${PORTSDIR}/lang/clang33
CC= clang33
CXX= clang++33
.endif
.else
USE_GCC= any
.endif
# Remove CRs before ask-license to fix formatting in dialog(1)
post-extract: dos2unix
do-install:
${INSTALL_PROGRAM} ${WRKSRC}/hans ${STAGEDIR}${LOCALBASE}/bin
${INSTALL_PROGRAM} ${WRKSRC}/hans ${STAGEDIR}${PREFIX}/bin
.include <bsd.port.mk>

View File

@ -1,2 +1,2 @@
SHA256 (hans-0.4.1.tar.gz) = 8e4df005bcf6a877ffd0810cc9b31aa3ae04f23d798bea6cc2893a3f26cac29c
SIZE (hans-0.4.1.tar.gz) = 32860
SHA256 (hans-0.4.4.tar.gz) = 81378258b8c9510ac01ad4d69f191e2927b9304daae033ee097f6ba4d39f6bb3
SIZE (hans-0.4.4.tar.gz) = 33992

View File

@ -1,73 +0,0 @@
--- Makefile.orig 2010-02-17 17:30:21.000000000 +0200
+++ Makefile 2013-04-04 15:18:50.818219413 +0300
@@ -1,53 +1,51 @@
-LDFLAGS = `sh osflags ld $(MODE)`
-CFLAGS = -c -g `sh osflags c $(MODE)`
-TUN_DEV_FILE = `sh osflags dev $(MODE)`
-GCC = gcc
-GPP = g++
+TUN_DEV_FILE = tun_dev_freebsd.c
+GCC = ${CC}
+GPP = ${CXX}
all: hans
hans: tun.o sha1.o main.o client.o server.o auth.o worker.o time.o tun_dev.o echo.o exception.o utility.o
- $(GPP) -o hans tun.o sha1.o main.o client.o server.o auth.o worker.o time.o tun_dev.o echo.o exception.o utility.o $(LDFLAGS)
+ ${GPP} -o hans tun.o sha1.o main.o client.o server.o auth.o worker.o time.o tun_dev.o echo.o exception.o utility.o ${LDFLAGS}
utility.o: utility.cpp utility.h
- $(GPP) -c utility.cpp $(CFLAGS)
+ ${GPP} -c utility.cpp ${CFLAGS}
exception.o: exception.cpp exception.h
- $(GPP) -c exception.cpp $(CFLAGS)
+ ${GPP} -c exception.cpp ${CFLAGS}
echo.o: echo.cpp echo.h exception.h
- $(GPP) -c echo.cpp $(CFLAGS)
+ ${GPP} -c echo.cpp ${CFLAGS}
tun.o: tun.cpp tun.h exception.h utility.h tun_dev.h
- $(GPP) -c tun.cpp $(CFLAGS)
+ ${GPP} -c tun.cpp ${CFLAGS}
tun_dev.o:
- $(GCC) -c $(TUN_DEV_FILE) -o tun_dev.o $(CFLAGS)
+ ${GCC} -c ${TUN_DEV_FILE} -o tun_dev.o ${CFLAGS}
sha1.o: sha1.cpp sha1.h
- $(GPP) -c sha1.cpp $(CFLAGS)
+ ${GPP} -c sha1.cpp ${CFLAGS}
main.o: main.cpp client.h server.h exception.h worker.h auth.h time.h echo.h tun.h tun_dev.h
- $(GPP) -c main.cpp $(CFLAGS)
+ ${GPP} -c main.cpp ${CFLAGS}
client.o: client.cpp client.h server.h exception.h config.h worker.h auth.h time.h echo.h tun.h tun_dev.h
- $(GPP) -c client.cpp $(CFLAGS)
+ ${GPP} -c client.cpp ${CFLAGS}
server.o: server.cpp server.h client.h utility.h config.h worker.h auth.h time.h echo.h tun.h tun_dev.h
- $(GPP) -c server.cpp $(CFLAGS)
+ ${GPP} -c server.cpp ${CFLAGS}
auth.o: auth.cpp auth.h sha1.h utility.h
- $(GPP) -c auth.cpp $(CFLAGS)
+ ${GPP} -c auth.cpp ${CFLAGS}
worker.o: worker.cpp worker.h tun.h exception.h time.h echo.h tun_dev.h config.h
- $(GPP) -c worker.cpp $(CFLAGS)
+ ${GPP} -c worker.cpp ${CFLAGS}
time.o: time.cpp time.h
- $(GPP) -c time.cpp $(CFLAGS)
+ ${GPP} -c time.cpp ${CFLAGS}
clean:
rm -f tun.o sha1.o main.o client.o server.o auth.o worker.o time.o tun_dev.o echo.o exception.o utility.o tunemu.o hans
tunemu.o: tunemu.h tunemu.c
- $(GCC) -c tunemu.c -o tunemu.o
+ ${GCC} -c tunemu.c -o tunemu.o

View File

@ -1,11 +0,0 @@
--- client.cpp.orig 2010-02-17 17:30:21.000000000 +0200
+++ client.cpp 2013-04-03 16:05:10.000000000 +0300
@@ -27,6 +27,8 @@
#include <arpa/inet.h>
#include <syslog.h>
+#include <netinet/in.h>
+
using namespace std;
const Worker::TunnelHeader::Magic Client::magic("hanc");

View File

@ -1,10 +0,0 @@
--- main.cpp.orig 2014-08-06 10:11:00.000000000 -0400
+++ main.cpp 2014-08-06 10:11:12.000000000 -0400
@@ -30,6 +30,7 @@
#include <stdlib.h>
#include <errno.h>
#include <syslog.h>
+#include <unistd.h>
void usage()
{

View File

@ -1,9 +1,10 @@
--- echo.cpp.orig 2014-08-06 10:11:40.000000000 -0400
+++ echo.cpp 2014-08-06 10:11:56.000000000 -0400
@@ -20,6 +20,7 @@
--- src/echo.cpp.orig 2014-02-07 03:36:31 UTC
+++ src/echo.cpp
@@ -19,7 +19,7 @@
#include "echo.h"
#include "exception.h"
-
+#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in_systm.h>

View File

@ -0,0 +1,11 @@
--- src/tun.cpp.orig 2014-02-07 03:36:31 UTC
+++ src/tun.cpp
@@ -20,7 +20,7 @@
#include "tun.h"
#include "exception.h"
#include "utility.h"
-
+#include <sys/types.h>
#include <arpa/inet.h>
#include <netinet/in_systm.h>
#include <netinet/in.h>

View File

@ -0,0 +1,14 @@
--- src/tun_dev_freebsd.c.orig 2014-02-07 03:36:31 UTC
+++ src/tun_dev_freebsd.c
@@ -31,7 +31,11 @@
#include <errno.h>
#include <sys/ioctl.h>
+#ifdef __DragonFly__
+#include <net/tun/if_tun.h>
+#else
#include <net/if_tun.h>
+#endif
/* #include "vtun.h"
#include "lib.h" */

View File

@ -1,45 +0,0 @@
--- tun.cpp.orig 2010-02-17 10:30:21.000000000 -0500
+++ tun.cpp 2014-08-06 10:10:51.000000000 -0400
@@ -21,6 +21,7 @@
#include "exception.h"
#include "utility.h"
+#include <sys/types.h>
#include <arpa/inet.h>
#include <netinet/in_systm.h>
#include <netinet/in.h>
@@ -41,8 +42,7 @@
if (device != NULL)
{
- strncpy(this->device, device, VTUN_DEV_LEN);
- this->device[VTUN_DEV_LEN] = 0;
+ strlcpy(this->device, device, VTUN_DEV_LEN);
}
else
this->device[0] = 0;
@@ -68,23 +68,17 @@
string ips = Utility::formatIp(ip);
string destIps = Utility::formatIp(destIp);
-#ifdef LINUX
- snprintf(cmdline, sizeof(cmdline), "/sbin/ifconfig %s %s netmask 255.255.255.0", device, ips.c_str());
-#else
- snprintf(cmdline, sizeof(cmdline), "/sbin/ifconfig %s %s %s netmask 255.255.255.255", device, ips.c_str(), destIps.c_str());
-#endif
+ snprintf(cmdline, sizeof(cmdline), "/sbin/ifconfig %s %s %s netmask 255.255.255.0", device, ips.c_str(), destIps.c_str());
if (system(cmdline) != 0)
syslog(LOG_ERR, "could not set tun device ip address");
-#ifndef LINUX
if (includeSubnet)
{
snprintf(cmdline, sizeof(cmdline), "/sbin/route add %s/24 %s", destIps.c_str(), destIps.c_str());
if (system(cmdline) != 0)
syslog(LOG_ERR, "could not add route");
}
-#endif
}
void Tun::write(const char *buffer, int length)

View File

@ -1,10 +0,0 @@
--- utility.cpp.orig 2014-08-06 10:12:15.000000000 -0400
+++ utility.cpp 2014-08-06 10:12:30.000000000 -0400
@@ -21,6 +21,7 @@
#include <stdlib.h>
#include <stdio.h>
+#include <time.h>
using namespace std;

View File

@ -3,4 +3,7 @@ could call it a ping tunnel. This can be useful when you find yourself
in the situation that your Internet access is firewalled, but pings are
allowed.
Hans runs on Linux as a client and a server. It runs on Mac OS X,
iPhone/iPod touch, FreeBSD and OpenBSD as a client only.
WWW: http://code.gerade.org/hans/