Skip to content

Commit dca42ba

Browse files
author
Bradley Nicholes
committed
Re-structure the auth_ldap module to fit the new authentication model. The authnz_ldap module provides an ldap authentication provider and an authorization handler. It implements the authorization "require" values ldap-user, ldap-dn and ldap-group. This restructure also moves auth_ldap out of the experimental directory.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@104696 13f79535-47bb-0310-9956-ffa450edef68
1 parent 067d013 commit dca42ba

3 files changed

Lines changed: 1281 additions & 0 deletions

File tree

modules/aaa/NWGNUauthnzldap

Lines changed: 255 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,255 @@
1+
#
2+
# Make sure all needed macro's are defined
3+
#
4+
5+
#
6+
# Get the 'head' of the build environment if necessary. This includes default
7+
# targets and paths to tools
8+
#
9+
10+
ifndef EnvironmentDefined
11+
include $(AP_WORK)\build\NWGNUhead.inc
12+
endif
13+
14+
#
15+
# These directories will be at the beginning of the include list, followed by
16+
# INCDIRS
17+
#
18+
XINCDIRS += \
19+
$(AP_WORK)/include \
20+
$(NWOS) \
21+
$(AP_WORK)/srclib/apr/include \
22+
$(AP_WORK)/srclib/apr-util/include \
23+
$(AP_WORK)/srclib/apr \
24+
$(EOLIST)
25+
26+
#
27+
# These flags will come after CFLAGS
28+
#
29+
XCFLAGS += \
30+
$(EOLIST)
31+
32+
#
33+
# These defines will come after DEFINES
34+
#
35+
XDEFINES += \
36+
$(EOLIST)
37+
38+
#
39+
# These flags will be added to the link.opt file
40+
#
41+
XLFLAGS += \
42+
$(EOLIST)
43+
44+
#
45+
# These values will be appended to the correct variables based on the value of
46+
# RELEASE
47+
#
48+
ifeq "$(RELEASE)" "debug"
49+
XINCDIRS += \
50+
$(EOLIST)
51+
52+
XCFLAGS += \
53+
$(EOLIST)
54+
55+
XDEFINES += \
56+
$(EOLIST)
57+
58+
XLFLAGS += \
59+
$(EOLIST)
60+
endif
61+
62+
ifeq "$(RELEASE)" "noopt"
63+
XINCDIRS += \
64+
$(EOLIST)
65+
66+
XCFLAGS += \
67+
$(EOLIST)
68+
69+
XDEFINES += \
70+
$(EOLIST)
71+
72+
XLFLAGS += \
73+
$(EOLIST)
74+
endif
75+
76+
ifeq "$(RELEASE)" "release"
77+
XINCDIRS += \
78+
$(EOLIST)
79+
80+
XCFLAGS += \
81+
$(EOLIST)
82+
83+
XDEFINES += \
84+
$(EOLIST)
85+
86+
XLFLAGS += \
87+
$(EOLIST)
88+
endif
89+
90+
#
91+
# These are used by the link target if an NLM is being generated
92+
# This is used by the link 'name' directive to name the nlm. If left blank
93+
# TARGET_nlm (see below) will be used.
94+
#
95+
NLM_NAME = authnzldap
96+
97+
#
98+
# This is used by the link '-desc ' directive.
99+
# If left blank, NLM_NAME will be used.
100+
#
101+
NLM_DESCRIPTION = Apache $(VERSION_STR) LDAP Authentication Module
102+
103+
#
104+
# This is used by the '-threadname' directive. If left blank,
105+
# NLM_NAME Thread will be used.
106+
#
107+
NLM_THREAD_NAME = AuthnzLDAP Module
108+
109+
#
110+
# If this is specified, it will override VERSION value in
111+
# $(AP_WORK)\build\NWGNUenvironment.inc
112+
#
113+
NLM_VERSION =
114+
115+
#
116+
# If this is specified, it will override the default of 64K
117+
#
118+
NLM_STACK_SIZE = 8192
119+
120+
121+
#
122+
# If this is specified it will be used by the link '-entry' directive
123+
#
124+
NLM_ENTRY_SYM = _LibCPrelude
125+
126+
#
127+
# If this is specified it will be used by the link '-exit' directive
128+
#
129+
NLM_EXIT_SYM = _LibCPostlude
130+
131+
#
132+
# If this is specified it will be used by the link '-check' directive
133+
#
134+
NLM_CHECK_SYM =
135+
136+
#
137+
# If these are specified it will be used by the link '-flags' directive
138+
#
139+
NLM_FLAGS = AUTOUNLOAD, PSEUDOPREEMPTION
140+
141+
#
142+
# If this is specified it will be linked in with the XDCData option in the def
143+
# file instead of the default of $(NWOS)/apache.xdc. XDCData can be disabled
144+
# by setting APACHE_UNIPROC in the environment
145+
#
146+
XDCDATA =
147+
148+
#
149+
# If there is an NLM target, put it here
150+
#
151+
TARGET_nlm = \
152+
$(OBJDIR)/authnzldap.nlm \
153+
$(EOLIST)
154+
155+
#
156+
# If there is an LIB target, put it here
157+
#
158+
TARGET_lib = \
159+
$(EOLIST)
160+
161+
#
162+
# These are the OBJ files needed to create the NLM target above.
163+
# Paths must all use the '/' character
164+
#
165+
FILES_nlm_objs = \
166+
$(OBJDIR)/mod_authnz_ldap.o \
167+
$(EOLIST)
168+
169+
#
170+
# These are the LIB files needed to create the NLM target above.
171+
# These will be added as a library command in the link.opt file.
172+
#
173+
FILES_nlm_libs = \
174+
libcpre.o \
175+
$(EOLIST)
176+
177+
#
178+
# These are the modules that the above NLM target depends on to load.
179+
# These will be added as a module command in the link.opt file.
180+
#
181+
FILES_nlm_modules = \
182+
aprlib \
183+
libc \
184+
lldapsdk \
185+
$(EOLIST)
186+
187+
#
188+
# If the nlm has a msg file, put it's path here
189+
#
190+
FILE_nlm_msg =
191+
192+
#
193+
# If the nlm has a hlp file put it's path here
194+
#
195+
FILE_nlm_hlp =
196+
197+
#
198+
# If this is specified, it will override $(NWOS)\copyright.txt.
199+
#
200+
FILE_nlm_copyright =
201+
202+
#
203+
# Any additional imports go here
204+
#
205+
FILES_nlm_Ximports = \
206+
util_ldap_connection_find \
207+
util_ldap_connection_close \
208+
util_ldap_cache_checkuserid \
209+
util_ldap_cache_compare \
210+
util_ldap_cache_comparedn \
211+
@$(APR)/aprlib.imp \
212+
@$(NWOS)/httpd.imp \
213+
@libc.imp \
214+
@$(LDAPSDK)/imports/lldapsdk.imp \
215+
$(EOLIST)
216+
217+
#
218+
# Any symbols exported to here
219+
#
220+
FILES_nlm_exports = \
221+
authnz_ldap_module \
222+
$(EOLIST)
223+
224+
#
225+
# These are the OBJ files needed to create the LIB target above.
226+
# Paths must all use the '/' character
227+
#
228+
FILES_lib_objs = \
229+
$(EOLIST)
230+
231+
#
232+
# implement targets and dependancies (leave this section alone)
233+
#
234+
235+
libs :: $(OBJDIR) $(TARGET_lib)
236+
237+
nlms :: libs $(TARGET_nlm)
238+
239+
#
240+
# Updated this target to create necessary directories and copy files to the
241+
# correct place. (See $(AP_WORK)\build\NWGNUhead.inc for examples)
242+
#
243+
install :: nlms FORCE
244+
245+
#
246+
# Any specialized rules here
247+
#
248+
249+
#
250+
# Include the 'tail' makefile that has targets that depend on variables defined
251+
# in this makefile
252+
#
253+
254+
include $(AP_WORK)\build\NWGNUtail.inc
255+

modules/aaa/NWGNUmakefile

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -158,10 +158,12 @@ TARGET_nlm = \
158158
$(OBJDIR)/authndbm.nlm \
159159
$(OBJDIR)/authndef.nlm \
160160
$(OBJDIR)/authnfil.nlm \
161+
$(OBJDIR)/authnzldap.nlm \
161162
$(OBJDIR)/authzdbm.nlm \
162163
$(OBJDIR)/authzdef.nlm \
163164
$(OBJDIR)/authzgrp.nlm \
164165
$(OBJDIR)/authzusr.nlm \
166+
$(OBJDIR)/authzusr.nlm \
165167
$(EOLIST)
166168

167169
#

0 commit comments

Comments
 (0)