From owner-svn-ports-all@FreeBSD.ORG Fri Jun 28 20:45:38 2013 Return-Path: Delivered-To: svn-ports-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 567FFCE8; Fri, 28 Jun 2013 20:45:38 +0000 (UTC) (envelope-from lippe@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 47AA81601; Fri, 28 Jun 2013 20:45:38 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id r5SKjcNr090172; Fri, 28 Jun 2013 20:45:38 GMT (envelope-from lippe@svn.freebsd.org) Received: (from lippe@localhost) by svn.freebsd.org (8.14.7/8.14.5/Submit) id r5SKjaZb090161; Fri, 28 Jun 2013 20:45:36 GMT (envelope-from lippe@svn.freebsd.org) Message-Id: <201306282045.r5SKjaZb090161@svn.freebsd.org> From: Felippe de Meirelles Motta Date: Fri, 28 Jun 2013 20:45:36 +0000 (UTC) To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r321982 - in head/net: . hanstunnel hanstunnel/files X-SVN-Group: ports-head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-ports-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: SVN commit messages for the ports tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 28 Jun 2013 20:45:38 -0000 Author: lippe Date: Fri Jun 28 20:45:36 2013 New Revision: 321982 URL: http://svnweb.freebsd.org/changeset/ports/321982 Log: Hans makes it possible to tunnel IPv4 through ICMP echo packets, so you 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. WWW: http://code.gerade.org/hans/ PR: ports/177649 Submitted by: Alexander Panyushkin Added: head/net/hanstunnel/ head/net/hanstunnel/Makefile (contents, props changed) head/net/hanstunnel/distinfo (contents, props changed) head/net/hanstunnel/files/ head/net/hanstunnel/files/patch-Makefile (contents, props changed) head/net/hanstunnel/files/patch-client.cpp (contents, props changed) head/net/hanstunnel/files/patch-tun.cpp (contents, props changed) head/net/hanstunnel/pkg-descr (contents, props changed) head/net/hanstunnel/pkg-message (contents, props changed) Modified: head/net/Makefile Modified: head/net/Makefile ============================================================================== --- head/net/Makefile Fri Jun 28 20:08:25 2013 (r321981) +++ head/net/Makefile Fri Jun 28 20:45:36 2013 (r321982) @@ -206,6 +206,7 @@ SUBDIR += gupnp-ui SUBDIR += gutenfetch SUBDIR += gwhois + SUBDIR += hanstunnel SUBDIR += haproxy SUBDIR += haproxy-devel SUBDIR += hawknl Added: head/net/hanstunnel/Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/net/hanstunnel/Makefile Fri Jun 28 20:45:36 2013 (r321982) @@ -0,0 +1,48 @@ +# Created by: Alexander Panyushkin +# $FreeBSD$ + +PORTNAME= hans +PORTVERSION= 0.4.1 +CATEGORIES= net security +MASTER_SITES= ${MASTER_SITE_SOURCEFORGE} +MASTER_SITE_SUBDIR= /hanstunnel/source/ + +MAINTAINER= vsityz@gmail.com +COMMENT= Hans makes it possible to tunnel IPv4 through ICMP + +LICENSE_PERMS_GPL3= yes + +OPTIONS_DEFINE= CLANG + +CLANG_DESC= Build with Clang instead of GCC + +OPTIONS_DEFAULT= CLANG + +PLIST_FILES= bin/hans + +.include + +.if ${PORT_OPTIONS:MCLANG} +.if ${OSVERSION} < 1000000 +CC=clang +CXX=clang++ +.if ${OSVERSION} < 900033 +BUILD_DEPENDS+= clang:${PORTSDIR}/lang/clang +.endif +.endif +.else +USE_GCC=4.2+ +CC=gcc +CXX=g++ +CPP=gcpp +.endif + +do-install: + @${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} ${WRKSRC}/hans ${LOCALBASE}/bin + +post-install: .SILENT + ${ECHO_MSG} + ${CAT} ${PKGMESSAGE} + ${ECHO_MSG} + +.include Added: head/net/hanstunnel/distinfo ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/net/hanstunnel/distinfo Fri Jun 28 20:45:36 2013 (r321982) @@ -0,0 +1,2 @@ +SHA256 (hans-0.4.1.tar.gz) = 8e4df005bcf6a877ffd0810cc9b31aa3ae04f23d798bea6cc2893a3f26cac29c +SIZE (hans-0.4.1.tar.gz) = 32860 Added: head/net/hanstunnel/files/patch-Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/net/hanstunnel/files/patch-Makefile Fri Jun 28 20:45:36 2013 (r321982) @@ -0,0 +1,73 @@ +--- 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 Added: head/net/hanstunnel/files/patch-client.cpp ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/net/hanstunnel/files/patch-client.cpp Fri Jun 28 20:45:36 2013 (r321982) @@ -0,0 +1,11 @@ +--- 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 + #include + ++#include ++ + using namespace std; + + const Worker::TunnelHeader::Magic Client::magic("hanc"); Added: head/net/hanstunnel/files/patch-tun.cpp ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/net/hanstunnel/files/patch-tun.cpp Fri Jun 28 20:45:36 2013 (r321982) @@ -0,0 +1,27 @@ +--- tun.cpp.orig 2010-02-17 17:30:21.000000000 +0200 ++++ tun.cpp 2013-04-04 16:55:39.802818893 +0300 +@@ -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) Added: head/net/hanstunnel/pkg-descr ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/net/hanstunnel/pkg-descr Fri Jun 28 20:45:36 2013 (r321982) @@ -0,0 +1,6 @@ +Hans makes it possible to tunnel IPv4 through ICMP echo packets, so you +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. + +WWW: http://code.gerade.org/hans/ Added: head/net/hanstunnel/pkg-message ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/net/hanstunnel/pkg-message Fri Jun 28 20:45:36 2013 (r321982) @@ -0,0 +1,23 @@ +------------------------------------------------------------ + +Hans runs on Linux as a client and a server. +It runs on FreeBSD client only. + +NOTE: that Hans can not receive echo requests on BSD systems. +Therefore the server only works on Linux. + +------------------------------------------------------------ + +### Running as a server ### + +% hans -s 10.1.2.0 -r -p password -u nobody + +### Running as a client ### + +% hans -c server_address -p password -u nobody + +### Help ### + +% hans + +------------------------------------------------------------