ports/58256: [new port] www/mod_cfg_ldap: Allows you to keep your virtual host configuration in a LDAP directory
Clement Laforet
sheepkiller at cultdeadsheep.org
Mon Nov 17 14:30:15 UTC 2003
The following reply was made to PR ports/58256; it has been noted by GNATS.
From: Clement Laforet <sheepkiller at cultdeadsheep.org>
To: FreeBSD-gnats-submit at FreeBSD.org, freebsd-ports-bugs at FreeBSD.org
Cc:
Subject: Re: ports/58256: [new port] www/mod_cfg_ldap: Allows you to keep
your virtual host configuration in a LDAP directory
Date: Mon, 17 Nov 2003 15:26:50 +0100
Fix compilation on -STABLE.
Noticed and partially submitted by: Tom M=FCller-Kortkamp <tmueko [at] komm=
unity [dot] net>
# 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:
#
# mod_cfg_ldap
# mod_cfg_ldap/Makefile
# mod_cfg_ldap/distinfo
# mod_cfg_ldap/pkg-descr
# mod_cfg_ldap/pkg-plist
# mod_cfg_ldap/files
# mod_cfg_ldap/files/patch-mod_cfg_ldap.c
#
echo c - mod_cfg_ldap
mkdir -p mod_cfg_ldap > /dev/null 2>&1
echo x - mod_cfg_ldap/Makefile
sed 's/^X//' >mod_cfg_ldap/Makefile << 'END-of-mod_cfg_ldap/Makefile'
X# New ports collection makefile for: mod_cfg_ldap
X# Date created: Sun Oct 19
X# Whom: Clement Laforet <sheepkiller at cultdeadsheep.org>
X#
X# $FreeBSD$
X#
X
XPORTNAME=3D mod_cfg_ldap
XPORTVERSION=3D 1.0
XCATEGORIES=3D www
XMASTER_SITES=3D ${MASTER_SITE_SOURCEFORGE}
XMASTER_SITE_SUBDIR=3D ${PORTNAME:S/_//g}
XDIST_SUBDIR=3D apache
X
XMAINTAINER=3D sheepkiller at cultdeadsheep.org
XCOMMENT=3D Allows you to keep your virtual host configuration in a LDAP di=
rectory
X
XBUILD_DEPENDS=3D ${LOCALBASE}/sbin/apxs:${PORTSDIR}/www/apache2
XRUN_DEPENDS=3D ${BUILD_DEPENDS}
X
XUSE_OPENLDAP=3D YES
X
XAPXS?=3D ${LOCALBASE}/sbin/apxs
XLDAP_INC?=3D ${LOCALBASE}/include
XLDAP_LIB?=3D ${LOCALBASE}/lib -lldap
X
XDOCS_FILES=3D AUTHORS cfg_ldap.conf ChangeLog COPYING INSTALL \
X mod_cfg_ldap.schema README TODO
X
Xdo-build:
X @(cd ${WRKSRC} && ${APXS} -I ${LDAP_INC} -L ${LDAP_LIB} -c ${PORTNAME}.c)
X
Xdo-install:
X @(cd ${WRKSRC} && ${APXS} -n ${PORTNAME:S/mod_//} -A -i ${PORTNAME}.la)
X.if !defined (NOPORTDOCS)
X @${MKDIR} ${DOCSDIR}
X. for f in ${DOCS_FILES}
X @${INSTALL_DATA} ${WRKSRC}/${f} ${DOCSDIR}
X. endfor
X.endif
X
X.include <bsd.port.mk>
END-of-mod_cfg_ldap/Makefile
echo x - mod_cfg_ldap/distinfo
sed 's/^X//' >mod_cfg_ldap/distinfo << 'END-of-mod_cfg_ldap/distinfo'
XMD5 (apache/mod_cfg_ldap-1.0.tar.gz) =3D 8e556a9cff882cb616db322f74f20355
END-of-mod_cfg_ldap/distinfo
echo x - mod_cfg_ldap/pkg-descr
sed 's/^X//' >mod_cfg_ldap/pkg-descr << 'END-of-mod_cfg_ldap/pkg-descr'
Xmod_cfgldap can be used to keep VirtualHost configuration of the Apache we=
b=20
Xserver in a LDAP directory and to make changes visible in nearly realtime.
X
XWWW: http://modcfgldap.sourceforge.net/
END-of-mod_cfg_ldap/pkg-descr
echo x - mod_cfg_ldap/pkg-plist
sed 's/^X//' >mod_cfg_ldap/pkg-plist << 'END-of-mod_cfg_ldap/pkg-plist'
Xlibexec/apache2/mod_cfg_ldap.so
X at exec %D/sbin/apxs -e -A -n cfg_ldap %D/%f
X%%PORTDOCS%%%%DOCSDIR%%/AUTHORS
X%%PORTDOCS%%%%DOCSDIR%%/cfg_ldap.conf
X%%PORTDOCS%%%%DOCSDIR%%/ChangeLog
X%%PORTDOCS%%%%DOCSDIR%%/COPYING
X%%PORTDOCS%%%%DOCSDIR%%/INSTALL
X%%PORTDOCS%%%%DOCSDIR%%/mod_cfg_ldap.schema
X%%PORTDOCS%%%%DOCSDIR%%/README
X%%PORTDOCS%%%%DOCSDIR%%/TODO
X%%PORTDOCS%%@dirrm %%DOCSDIR%%
X at unexec echo "=3D=3D=3D> If you do not plan on reinstalling mod_cfg_ldap,=
you must manually remove"; echo "=3D=3D=3D> references to it in httpd.con=
f."
END-of-mod_cfg_ldap/pkg-plist
echo c - mod_cfg_ldap/files
mkdir -p mod_cfg_ldap/files > /dev/null 2>&1
echo x - mod_cfg_ldap/files/patch-mod_cfg_ldap.c
sed 's/^X//' >mod_cfg_ldap/files/patch-mod_cfg_ldap.c << 'END-of-mod_cfg_ld=
ap/files/patch-mod_cfg_ldap.c'
X--- mod_cfg_ldap.c.orig Mon Nov 17 15:06:22 2003
X+++ mod_cfg_ldap.c Mon Nov 17 15:08:22 2003
X@@ -85,11 +85,11 @@
X cfg_ldap_init_ldap (apr_pool_t * p, server_rec * s)
X {
X cfg_ldap_cfg *cfg;
X+ int rc;
X cfg =3D
X (cfg_ldap_cfg *) ap_get_module_config (s->module_config,
X &cfg_ldap_module);
X=20
X- int rc;
X ld =3D ldap_init (cfg->hostname, LDAP_PORT);
X rc =3D ldap_simple_bind_s (ld, cfg->username, cfg->password);
X=20
X@@ -154,22 +154,30 @@
X cfg_ldap_read_vhost_from_ldap (apr_pool_t * p, server_rec * s, char *host=
name)
X {
X cfg_ldap_cfg *cfg;
X+ cfg_ldap_vhost *vhost;
X+ char *filter;
X+ int rc,count;
X+ LDAPMessage *res;
X+ LDAPMessage *entry;
X+ char *attr;
X+ BerElement *ber;
X+ char **val =3D NULL;
X+ char *vhost_name =3D NULL;
X+ char *vhost_admin =3D NULL;
X+ char *vhost_docroot =3D NULL;
X+
X cfg =3D
X (cfg_ldap_cfg *) ap_get_module_config (s->module_config,
X &cfg_ldap_module);
X=20
X- cfg_ldap_vhost *vhost;
X vhost =3D (cfg_ldap_vhost *) apr_pcalloc (p, sizeof (cfg_ldap_vhost));
X vhost->timestamp =3D apr_time_now ();
X vhost->name =3D CFG_LDAP_NO_SUCH_VHOST;
X=20
X- char *filter;
X filter =3D
X apr_pstrcat (p, "(|(apacheServerName=3D", hostname, ")(apacheServerAl=
ias=3D",
X hostname, "))", NULL);
X=20
X- int rc;
X- LDAPMessage *res;
X rc =3D ldap_search_s (ld, cfg->basedn, LDAP_SCOPE_SUBTREE, filter,
X (char **) &attrs, 0, &res);
X=20
X@@ -185,10 +193,9 @@
X return vhost;
X }
X=20
X- LDAPMessage *entry;
X entry =3D ldap_first_entry (ld, res);
X=20
X- int count =3D ldap_count_entries (ld, res);
X+ count =3D ldap_count_entries (ld, res);
X if (count =3D=3D 0)
X {
X return vhost;
X@@ -199,13 +206,6 @@
X "cfg_ldap: more than one entry for %s", hostname);
X return vhost;
X }
X-
X- char *attr;
X- BerElement *ber;
X- char **val =3D NULL;
X- char *vhost_name =3D NULL;
X- char *vhost_admin =3D NULL;
X- char *vhost_docroot =3D NULL;
X=20
X for (attr =3D ldap_first_attribute (ld, entry, &ber);
X attr !=3D NULL; attr =3D ldap_next_attribute (ld, entry, ber))
END-of-mod_cfg_ldap/files/patch-mod_cfg_ldap.c
exit
More information about the freebsd-ports-bugs
mailing list