Date: Thu, 14 Oct 2004 16:30:14 +0200 (CEST) From: "Frank W. Josellis" <frank@dynamical-systems.org> To: FreeBSD-gnats-submit@FreeBSD.org Subject: ports/72691: New port: net/siproxd - a proxy/masquerading daemon for SIP Message-ID: <200410141430.i9EEUELr000807@achilles.tractrix.org> Resent-Message-ID: <200410141440.i9EEeQeK021373@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 72691 >Category: ports >Synopsis: New port: net/siproxd - a proxy/masquerading daemon for SIP >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: change-request >Submitter-Id: current-users >Arrival-Date: Thu Oct 14 14:40:25 GMT 2004 >Closed-Date: >Last-Modified: >Originator: Frank W. Josellis >Release: FreeBSD 4.10-STABLE i386 >Organization: none >Environment: System: FreeBSD achilles.tractrix.org 4.10-STABLE FreeBSD 4.10-STABLE #0: Sun Oct 3 22:22:17 CEST 2004 root@:/usr/obj/usr/src/sys/ACHILLES i386 >Description: Siproxd is a proxy/masquerading daemon for the SIP protocol. It handles registrations of SIP clients on a private IP network and performs rewriting of the SIP message bodies to make SIP connections possible via a masquerading firewall. It allows SIP clients (like kphone, linphone) to work behind an IP masquerading firewall or router. >How-To-Repeat: >Fix: --- siproxd-0.5.8.shar begins here --- # This is a shell archive. Save it in a file, remove anything before # this line, and then unpack it by entering "sh file". Note, it may # create directories; files and directories will be owned by you and # have default permissions. # # This archive contains: # # net/siproxd # net/siproxd/Makefile # net/siproxd/distinfo # net/siproxd/pkg-deinstall # net/siproxd/pkg-descr # net/siproxd/pkg-install # net/siproxd/pkg-plist # net/siproxd/files # net/siproxd/files/patch-doc_siproxd.conf.example # net/siproxd/files/patch-src_siproxd.c # net/siproxd/files/patch-src_utils.c # net/siproxd/files/siproxd.sh # echo c - net/siproxd mkdir -p net/siproxd > /dev/null 2>&1 echo x - net/siproxd/Makefile sed 's/^X//' >net/siproxd/Makefile << 'END-of-net/siproxd/Makefile' X# New ports collection makefile for: siproxd X# Date created: 10 October 2004 X# Whom: Frank W. Josellis <frank@dynamical-systems.org> X# X# $FreeBSD$ X# X XPORTNAME= siproxd XPORTVERSION= 0.5.8 XCATEGORIES= net XMASTER_SITES= ${MASTER_SITE_SOURCEFORGE} XMASTER_SITE_SUBDIR= siproxd X XMAINTAINER= frank@dynamical-systems.org XCOMMENT= A proxy/masquerading daemon for the SIP protocol X XLIB_DEPENDS= osip2.2:${PORTSDIR}/net/libosip2 X XUSE_GETOPT_LONG=yes XUSE_RC_SUBR= yes XHAS_CONFIGURE= yes X XPORTDOCS= AUTHORS ChangeLog README RELNOTES \ X doc/FAQ doc/KNOWN_BUGS doc/RFC3261_compliance.txt \ X doc/sample_cfg_budgetone.txt doc/sample_cfg_x-lite.txt X X.include <bsd.port.pre.mk> X X.if ${OSVERSION} >= 500041 XLIB_DEPENDS+= gnugetopt.1:${PORTSDIR}/devel/libgnugetopt X.endif X Xpost-install: X.if !defined(NOPORTDOCS) X ${MKDIR} ${DOCSDIR} X.for i in ${PORTDOCS} X ${INSTALL_MAN} ${WRKSRC}/${i} ${DOCSDIR} X.endfor X.endif X PKG_PREFIX=${PREFIX} ${SH} ${PKGINSTALL} ${PKGNAME} POST-INSTALL X @${SED} -e 's|%%PREFIX%%|${PREFIX}|g' \ X -e 's|%%RC_SUBR%%|${RC_SUBR}|g' \ X ${FILESDIR}/siproxd.sh > ${PREFIX}/etc/rc.d/siproxd.sh X @${CHMOD} 755 ${PREFIX}/etc/rc.d/siproxd.sh X X.include <bsd.port.post.mk> END-of-net/siproxd/Makefile echo x - net/siproxd/distinfo sed 's/^X//' >net/siproxd/distinfo << 'END-of-net/siproxd/distinfo' XMD5 (siproxd-0.5.8.tar.gz) = b987151719fced722b6df7d16c06f58d XSIZE (siproxd-0.5.8.tar.gz) = 193802 END-of-net/siproxd/distinfo echo x - net/siproxd/pkg-deinstall sed 's/^X//' >net/siproxd/pkg-deinstall << 'END-of-net/siproxd/pkg-deinstall' X#!/bin/sh X XPKG_PREFIX=${PKG_PREFIX:=/usr/local} XSIPROXD_HOME=${PKG_PREFIX}/siproxd XSIPROXD_PID=${SIPROXD_HOME}/siproxd.pid X Xcase $2 in X DEINSTALL) X [ -r ${SIPROXD_PID} ] && kill `cat ${SIPROXD_PID}` X rm -f ${SIPROXD_HOME}/* && rmdir ${SIPROXD_HOME} X ;; Xesac END-of-net/siproxd/pkg-deinstall echo x - net/siproxd/pkg-descr sed 's/^X//' >net/siproxd/pkg-descr << 'END-of-net/siproxd/pkg-descr' XSiproxd is a proxy/masquerading daemon for the SIP protocol. XIt handles registrations of SIP clients on a private IP network Xand performs rewriting of the SIP message bodies to make SIP Xconnections possible via a masquerading firewall. XIt allows SIP clients (like kphone, linphone) to work behind Xan IP masquerading firewall or router. X XWWW: http://siproxd.sourceforge.net/ END-of-net/siproxd/pkg-descr echo x - net/siproxd/pkg-install sed 's/^X//' >net/siproxd/pkg-install << 'END-of-net/siproxd/pkg-install' X#!/bin/sh X XSIPROXD_HOME=${PKG_PREFIX}/siproxd XSIPROXD_USER=nobody XSIPROXD_GROUP=nobody X Xcase $2 in X POST-INSTALL) X mkdir ${SIPROXD_HOME} && \ X chown ${SIPROXD_USER}:${SIPROXD_GROUP} ${SIPROXD_HOME} && \ X chmod 750 ${SIPROXD_HOME} X for i in siproxd.conf.example siproxd_passwd.cfg; do X chgrp ${SIPROXD_GROUP} ${PKG_PREFIX}/etc/${i} X chmod 640 ${PKG_PREFIX}/etc/${i} X done X ;; Xesac END-of-net/siproxd/pkg-install echo x - net/siproxd/pkg-plist sed 's/^X//' >net/siproxd/pkg-plist << 'END-of-net/siproxd/pkg-plist' Xetc/rc.d/siproxd.sh Xetc/siproxd.conf.example Xetc/siproxd_passwd.cfg Xsbin/siproxd X%%PORTDOCS%%%%DOCSDIR%%/FAQ X%%PORTDOCS%%%%DOCSDIR%%/KNOWN_BUGS X%%PORTDOCS%%%%DOCSDIR%%/RFC3261_compliance.txt X%%PORTDOCS%%%%DOCSDIR%%/sample_cfg_budgetone.txt X%%PORTDOCS%%%%DOCSDIR%%/sample_cfg_x-lite.txt END-of-net/siproxd/pkg-plist echo c - net/siproxd/files mkdir -p net/siproxd/files > /dev/null 2>&1 echo x - net/siproxd/files/patch-doc_siproxd.conf.example sed 's/^X//' >net/siproxd/files/patch-doc_siproxd.conf.example << 'END-of-net/siproxd/files/patch-doc_siproxd.conf.example' X--- doc/siproxd.conf.example.orig Sun May 9 14:53:06 2004 X+++ doc/siproxd.conf.example Mon Oct 11 21:25:41 2004 X@@ -9,8 +9,8 @@ X ###################################################################### X # The interface names of INBOUND and OUTBOUND interface. X # X-if_inbound = eth0 X-if_outbound = ppp0 X+if_inbound = ed0 X+if_outbound = tun0 X X X ###################################################################### X@@ -70,20 +70,20 @@ X # user: uid/gid to switch to after startup X # chrootjail: path to chroot to (chroot jail) X user = nobody X-#chrootjail = /var/lib/siproxd/ X+chrootjail = /usr/local/siproxd/ X X ###################################################################### X # Registration file: X # Where to store the current registrations. X # An empty value means we do not save registrations. Make sure that X # the specified directory path does exist! X-registration_file = /var/lib/siproxd/siproxd_registrations X+registration_file = siproxd_registrations X X ###################################################################### X # PID file: X # Where to create the PID file. X # This file holds the PID of the main thread of siproxd. X-pid_file = /var/run/siproxd/siproxd.pid X+pid_file = siproxd.pid X X ###################################################################### X # global switch to control the RTP proxy behaviour END-of-net/siproxd/files/patch-doc_siproxd.conf.example echo x - net/siproxd/files/patch-src_siproxd.c sed 's/^X//' >net/siproxd/files/patch-src_siproxd.c << 'END-of-net/siproxd/files/patch-src_siproxd.c' X--- src/siproxd.c.orig Thu Aug 26 19:32:08 2004 X+++ src/siproxd.c Thu Oct 14 07:18:15 2004 X@@ -179,6 +179,7 @@ X /* X * Init stuff X */ X+ INFO(PACKAGE"-"VERSION"-"BUILDSTR" started"); X X /* read the config file */ X if (read_config(configfile, config_search) == STS_FAILURE) exit(1); X@@ -245,7 +246,6 @@ X /* initialize the registration facility */ X register_init(); X X- INFO(PACKAGE"-"VERSION"-"BUILDSTR" started"); X /* X * silence the log - if so required... X */ END-of-net/siproxd/files/patch-src_siproxd.c echo x - net/siproxd/files/patch-src_utils.c sed 's/^X//' >net/siproxd/files/patch-src_utils.c << 'END-of-net/siproxd/files/patch-src_utils.c' X--- src/utils.c.orig Sun Aug 22 21:04:37 2004 X+++ src/utils.c Thu Oct 14 07:18:15 2004 X@@ -247,12 +247,12 @@ X * as it loads some dynamic libraries. Once chrootet X * these libraries will *not* be found and gethostbyname() X * calls will simply fail (return NULL pointer and h_errno=0). X+ * Also (at least for FreeBSD) syslog() needs to be called X+ * before chroot()ing - this is done in main() by an INFO(). X * Took me a while to figure THIS one out X */ X struct in_addr dummy; X- DEBUGC(DBCLASS_DNS, "Initializing DNS, the following DNS " X- "failure is normal, don't worry"); X- get_ip_by_host("foobar", &dummy); X+ get_ip_by_host("localhost", &dummy); X DEBUGC(DBCLASS_CONFIG,"chrooting to %s", X configuration.chrootjail); X sts = chroot(configuration.chrootjail); END-of-net/siproxd/files/patch-src_utils.c echo x - net/siproxd/files/siproxd.sh sed 's/^X//' >net/siproxd/files/siproxd.sh << 'END-of-net/siproxd/files/siproxd.sh' X#!/bin/sh X# X# $FreeBSD$ X# X X# PROVIDE: siproxd X# REQUIRE: DAEMON X# KEYWORD: FreeBSD X# X# NOTE for FreeBSD 5.0+: X# If you want this script to start with the base rc scripts X# move siproxd.sh to /etc/rc.d/siproxd X Xprefix=%%PREFIX%% X X# Define these siproxd_* variables in one of these files: X# /etc/rc.conf X# /etc/rc.conf.local X# /etc/rc.conf.d/siproxd X# X# DO NOT CHANGE THESE DEFAULT VALUES HERE X# Xsiproxd_enable=${siproxd_enable:-"NO"} # Enable siproxd Xsiproxd_flags=${siproxd_flags:-""} # Flags to siproxd program X#siproxd_program="${prefix}/sbin/siproxd" # Location of siproxd X X. %%RC_SUBR%% X Xname="siproxd" Xrcvar=`set_rcvar` Xcommand="${prefix}/sbin/${name}" X Xload_rc_config $name X Xcase $1 in X start) X run_rc_command "$1" 2> /dev/null X ;; X *) X run_rc_command "$1" X ;; Xesac END-of-net/siproxd/files/siproxd.sh exit --- siproxd-0.5.8.shar ends here --- >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200410141430.i9EEUELr000807>