From 4f423e60ef6c9c2e8cdfcb68b2edac09f6ff3112 Mon Sep 17 00:00:00 2001 From: jym Date: Fri, 30 Oct 2009 19:55:30 +0000 Subject: Initial import of cntlm 0.35.1 into the NetBSD package system. Cntlm is an NTLM/NTLMv2 authenticating HTTP proxy. It takes the address of your proxy or proxies (host1..N and port1..N) and opens a listening socket, forwarding each request to the parent proxy (moving in a circular list if the active parent stops working). Along the way, a connection to the parent is created anew and authenticated or, if available, previously cached connection is reused to achieve higher efficiency and faster responses. When the chain is set up, cntlm should be used as a proxy in your applications. Cntlm also integrates transparent TCP/IP port forwarding (tunneling) through the parent (incl. authentication). It can be used against most ISA servers, and helps to provide ease of integration for programs not supporting NTLM authentication directly, via cntlm's builtin SOCKS5 proxy. --- net/cntlm/DESCR | 9 ++++++++ net/cntlm/Makefile | 47 +++++++++++++++++++++++++++++++++++++++++ net/cntlm/PLIST | 5 +++++ net/cntlm/distinfo | 5 +++++ net/cntlm/files/cntlm.sh | 54 ++++++++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 120 insertions(+) create mode 100644 net/cntlm/DESCR create mode 100644 net/cntlm/Makefile create mode 100644 net/cntlm/PLIST create mode 100644 net/cntlm/distinfo create mode 100644 net/cntlm/files/cntlm.sh diff --git a/net/cntlm/DESCR b/net/cntlm/DESCR new file mode 100644 index 00000000000..e28030adeda --- /dev/null +++ b/net/cntlm/DESCR @@ -0,0 +1,9 @@ +Cntlm is an NTLM/NTLMv2 authenticating HTTP proxy. It takes the address of your +proxy or proxies (host1..N and port1..N) and opens a listening socket, +forwarding each request to the parent proxy (moving in a circular list if the +active parent stops working). Along the way, a connection to the parent is +created anew and authenticated or, if available, previously cached connection +is reused to achieve higher efficiency and faster responses. When the chain is +set up, cntlm should be used as a proxy in your applications. Cntlm also +integrates transparent TCP/IP port forwarding (tunneling) through the parent +(incl. authentication). diff --git a/net/cntlm/Makefile b/net/cntlm/Makefile new file mode 100644 index 00000000000..677ae93dcbf --- /dev/null +++ b/net/cntlm/Makefile @@ -0,0 +1,47 @@ +# $NetBSD: Makefile,v 1.1.1.1 2009/10/30 19:55:30 jym Exp $ +# + +DISTNAME= cntlm-0.35.1 +CATEGORIES= net +MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=cntlm/} + +MAINTAINER= pkgsrc-users@NetBSD.org +HOMEPAGE= http://cntlm.sourceforge.net/ +COMMENT= NTLM/NTLMv2 authenticating HTTP proxy +LICENSE= gnu-gpl-v2 + +HAS_CONFIGURE= yes + +PKG_DESTDIR_SUPPORT= user-destdir + +CNTLM_USER?= cntlm +CNTLM_GROUP?= cntlm +CNTLM_CONFDIR= ${PKG_SYSCONFDIR} +PKG_USERS= ${CNTLM_USER}:${CNTLM_GROUP} +PKG_GROUPS= ${CNTLM_GROUP} + +BUILD_MAKE_FLAGS+= SYSCONFDIR=${CNTLM_CONFDIR:Q} +BUILD_TARGET= cntlm + +FILES_SUBST+= CNTLM_USER=${CNTLM_USER:Q} +FILES_SUBST+= PREFIX=${PREFIX:Q} +FILES_SUBST+= PKG_SYSCONFDIR=${PKG_SYSCONFDIR:Q} + +EGDIR= ${PREFIX}/share/examples/${PKGBASE} +RCD_SCRIPTS+= cntlm + +CONF_FILES_PERMS+= ${EGDIR}/cntlm.conf ${PKG_SYSCONFDIR}/cntlm.conf \ + ${CNTLM_USER} ${CNTLM_GROUP} 0600 +INSTALLATION_DIRS+= ${EGDIR} + +do-install: + ${INSTALL_PROGRAM} ${WRKSRC}/cntlm \ + ${DESTDIR}${PREFIX}/bin + ${INSTALL_MAN} ${WRKSRC}/doc/cntlm.1 \ + ${DESTDIR}${PREFIX}/${PKGMANDIR}/man1/ + ${INSTALL_DATA} ${WRKSRC}/doc/cntlm.conf \ + ${DESTDIR}${EGDIR}/cntlm.conf + +# url2pkg-marker (please do not remove this line.) +.include "../../mk/pthread.buildlink3.mk" +.include "../../mk/bsd.pkg.mk" diff --git a/net/cntlm/PLIST b/net/cntlm/PLIST new file mode 100644 index 00000000000..2118dd86b01 --- /dev/null +++ b/net/cntlm/PLIST @@ -0,0 +1,5 @@ +@comment $NetBSD: PLIST,v 1.1.1.1 2009/10/30 19:55:30 jym Exp $ +bin/cntlm +man/man1/cntlm.1 +share/examples/cntlm/cntlm.conf +share/examples/rc.d/cntlm diff --git a/net/cntlm/distinfo b/net/cntlm/distinfo new file mode 100644 index 00000000000..3bc118e5eaf --- /dev/null +++ b/net/cntlm/distinfo @@ -0,0 +1,5 @@ +$NetBSD: distinfo,v 1.1.1.1 2009/10/30 19:55:30 jym Exp $ + +SHA1 (cntlm-0.35.1.tar.gz) = 4bf9f75b0f5fdb4469b5e81013c40ac166c9d235 +RMD160 (cntlm-0.35.1.tar.gz) = 65a2b97a6ec8340b41acbd0f29dc1096148a02ac +Size (cntlm-0.35.1.tar.gz) = 74188 bytes diff --git a/net/cntlm/files/cntlm.sh b/net/cntlm/files/cntlm.sh new file mode 100644 index 00000000000..f2144de51be --- /dev/null +++ b/net/cntlm/files/cntlm.sh @@ -0,0 +1,54 @@ +#!@RCD_SCRIPTS_SHELL@ +# +# $NetBSD: cntlm.sh,v 1.1.1.1 2009/10/30 19:55:30 jym Exp $ +# +# PROVIDE: cntlm +# REQUIRE: DAEMON +# +# You will need to set some variables in /etc/rc.conf to start cntlm: +# +# cntlm=YES +# +# The following variables are optional: +# +# cntlm_flags="" # Additional flags to pass to cntlm +# +# "cntlm_flags" contains options for the cntlm daemon. See cntlm(1) for +# possible options. + +if [ -f /etc/rc.subr ]; then + . /etc/rc.subr +fi + +name="cntlm" +rcvar=${name} + +cntlm_config="@PKG_SYSCONFDIR@/${name}.conf" +cntlm_user="@CNTLM_USER@" +pidfile="@VARBASE@/run/${name}.pid" + +command="@PREFIX@/bin/${name}" +command_args="-U $cntlm_user -P $pidfile -c $cntlm_config " +required_files="$cntlm_config" + +start_precmd="cntlm_prestartcmd" +stop_postcmd="cntlm_poststopcmd" + +cntlm_prestartcmd() { + touch $pidfile + chown $cntlm_user $pidfile +} + +cntlm_poststopcmd() { + if [ -f $pidfile ]; then + rm -f $pidfile + fi +} + +if [ -f /etc/rc.subr ]; then + load_rc_config $name + run_rc_command "$1" +else + @ECHO@ -n ' ${name}' + ${command} ${cntlm_flags} ${command_args} +fi -- cgit v1.2.3