summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjym <jym@pkgsrc.org>2009-10-30 19:55:30 +0000
committerjym <jym@pkgsrc.org>2009-10-30 19:55:30 +0000
commit4f423e60ef6c9c2e8cdfcb68b2edac09f6ff3112 (patch)
tree8b82e23533437514d100f796896cf85f3b803e3d
parenteec52c6358edf8cfce5eb97a3542bcb5d96ce4db (diff)
downloadpkgsrc-4f423e60ef6c9c2e8cdfcb68b2edac09f6ff3112.tar.gz
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.
-rw-r--r--net/cntlm/DESCR9
-rw-r--r--net/cntlm/Makefile47
-rw-r--r--net/cntlm/PLIST5
-rw-r--r--net/cntlm/distinfo5
-rw-r--r--net/cntlm/files/cntlm.sh54
5 files changed, 120 insertions, 0 deletions
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