blob: 206fdbd1b0de2658bd7a8a35dcfe024855c4ac97 [file] [log] [blame]
Lev Walkin8c85f2a2006-09-09 11:26:09 +00001ASN_MODULE_SOURCES= \
2 LDAPMessage.c \
3 MessageID.c \
4 LDAPString.c \
5 LDAPOID.c \
6 LDAPDN.c \
7 RelativeLDAPDN.c \
8 AttributeDescription.c \
9 AttributeValue.c \
10 AttributeValueAssertion.c \
11 AssertionValue.c \
12 PartialAttribute.c \
13 Attribute.c \
14 MatchingRuleId.c \
15 LDAPResult.c \
16 Referral.c \
17 URI.c \
18 Controls.c \
19 Control.c \
20 BindRequest.c \
21 AuthenticationChoice.c \
22 SaslCredentials.c \
23 BindResponse.c \
24 UnbindRequest.c \
25 SearchRequest.c \
26 AttributeSelection.c \
27 Filter.c \
28 SubstringFilter.c \
29 MatchingRuleAssertion.c \
30 SearchResultEntry.c \
31 PartialAttributeList.c \
32 SearchResultReference.c \
33 SearchResultDone.c \
34 ModifyRequest.c \
35 ModifyResponse.c \
36 AddRequest.c \
37 AttributeList.c \
38 AddResponse.c \
39 DelRequest.c \
40 DelResponse.c \
41 ModifyDNRequest.c \
42 ModifyDNResponse.c \
43 CompareRequest.c \
44 CompareResponse.c \
45 AbandonRequest.c \
46 ExtendedRequest.c \
47 ExtendedResponse.c \
48 IntermediateResponse.c
49
50ASN_MODULE_HEADERS= \
51 LDAPMessage.h \
52 MessageID.h \
53 LDAPString.h \
54 LDAPOID.h \
55 LDAPDN.h \
56 RelativeLDAPDN.h \
57 AttributeDescription.h \
58 AttributeValue.h \
59 AttributeValueAssertion.h \
60 AssertionValue.h \
61 PartialAttribute.h \
62 Attribute.h \
63 MatchingRuleId.h \
64 LDAPResult.h \
65 Referral.h \
66 URI.h \
67 Controls.h \
68 Control.h \
69 BindRequest.h \
70 AuthenticationChoice.h \
71 SaslCredentials.h \
72 BindResponse.h \
73 UnbindRequest.h \
74 SearchRequest.h \
75 AttributeSelection.h \
76 Filter.h \
77 SubstringFilter.h \
78 MatchingRuleAssertion.h \
79 SearchResultEntry.h \
80 PartialAttributeList.h \
81 SearchResultReference.h \
82 SearchResultDone.h \
83 ModifyRequest.h \
84 ModifyResponse.h \
85 AddRequest.h \
86 AttributeList.h \
87 AddResponse.h \
88 DelRequest.h \
89 DelResponse.h \
90 ModifyDNRequest.h \
91 ModifyDNResponse.h \
92 CompareRequest.h \
93 CompareResponse.h \
94 AbandonRequest.h \
95 ExtendedRequest.h \
96 ExtendedResponse.h \
97 IntermediateResponse.h
98
Lev Walkin38a5a202017-08-25 12:17:08 -070099ASN_MODULE_HEADERS+=OPEN_TYPE.h
100ASN_MODULE_SOURCES+=OPEN_TYPE.c
101ASN_MODULE_HEADERS+=constr_CHOICE.h
Lev Walkin8c85f2a2006-09-09 11:26:09 +0000102ASN_MODULE_HEADERS+=BOOLEAN.h
103ASN_MODULE_SOURCES+=BOOLEAN.c
Lev Walkin8c85f2a2006-09-09 11:26:09 +0000104ASN_MODULE_HEADERS+=INTEGER.h
105ASN_MODULE_HEADERS+=NativeEnumerated.h
106ASN_MODULE_SOURCES+=INTEGER.c
107ASN_MODULE_HEADERS+=NULL.h
108ASN_MODULE_SOURCES+=NULL.c
109ASN_MODULE_SOURCES+=NativeEnumerated.c
110ASN_MODULE_HEADERS+=NativeInteger.h
111ASN_MODULE_SOURCES+=NativeInteger.c
112ASN_MODULE_HEADERS+=asn_SEQUENCE_OF.h
113ASN_MODULE_SOURCES+=asn_SEQUENCE_OF.c
114ASN_MODULE_HEADERS+=asn_SET_OF.h
115ASN_MODULE_SOURCES+=asn_SET_OF.c
Lev Walkin8c85f2a2006-09-09 11:26:09 +0000116ASN_MODULE_SOURCES+=constr_CHOICE.c
117ASN_MODULE_HEADERS+=constr_SEQUENCE.h
118ASN_MODULE_SOURCES+=constr_SEQUENCE.c
119ASN_MODULE_HEADERS+=constr_SEQUENCE_OF.h
120ASN_MODULE_SOURCES+=constr_SEQUENCE_OF.c
121ASN_MODULE_HEADERS+=constr_SET_OF.h
122ASN_MODULE_SOURCES+=constr_SET_OF.c
123ASN_MODULE_HEADERS+=asn_application.h
Lev Walkin38a5a202017-08-25 12:17:08 -0700124ASN_MODULE_HEADERS+=asn_ioc.h
Lev Walkin8c85f2a2006-09-09 11:26:09 +0000125ASN_MODULE_HEADERS+=asn_system.h
126ASN_MODULE_HEADERS+=asn_codecs.h
127ASN_MODULE_HEADERS+=asn_internal.h
Lev Walkin38a5a202017-08-25 12:17:08 -0700128ASN_MODULE_HEADERS+=asn_bit_data.h
129ASN_MODULE_SOURCES+=asn_bit_data.c
Lev Walkin8c85f2a2006-09-09 11:26:09 +0000130ASN_MODULE_HEADERS+=OCTET_STRING.h
131ASN_MODULE_SOURCES+=OCTET_STRING.c
132ASN_MODULE_HEADERS+=BIT_STRING.h
133ASN_MODULE_SOURCES+=BIT_STRING.c
134ASN_MODULE_SOURCES+=asn_codecs_prim.c
135ASN_MODULE_HEADERS+=asn_codecs_prim.h
136ASN_MODULE_HEADERS+=ber_tlv_length.h
137ASN_MODULE_SOURCES+=ber_tlv_length.c
138ASN_MODULE_HEADERS+=ber_tlv_tag.h
139ASN_MODULE_SOURCES+=ber_tlv_tag.c
140ASN_MODULE_HEADERS+=ber_decoder.h
141ASN_MODULE_SOURCES+=ber_decoder.c
142ASN_MODULE_HEADERS+=der_encoder.h
143ASN_MODULE_SOURCES+=der_encoder.c
144ASN_MODULE_HEADERS+=constr_TYPE.h
145ASN_MODULE_SOURCES+=constr_TYPE.c
146ASN_MODULE_HEADERS+=constraints.h
147ASN_MODULE_SOURCES+=constraints.c
148ASN_MODULE_HEADERS+=xer_support.h
149ASN_MODULE_SOURCES+=xer_support.c
150ASN_MODULE_HEADERS+=xer_decoder.h
151ASN_MODULE_SOURCES+=xer_decoder.c
152ASN_MODULE_HEADERS+=xer_encoder.h
153ASN_MODULE_SOURCES+=xer_encoder.c
154ASN_MODULE_HEADERS+=per_support.h
155ASN_MODULE_SOURCES+=per_support.c
156ASN_MODULE_HEADERS+=per_decoder.h
157ASN_MODULE_SOURCES+=per_decoder.c
158ASN_MODULE_HEADERS+=per_encoder.h
159ASN_MODULE_SOURCES+=per_encoder.c
Lev Walkin5aef2c52007-06-29 12:46:06 +0000160ASN_MODULE_HEADERS+=per_opentype.h
161ASN_MODULE_SOURCES+=per_opentype.c
Lev Walkinf5b49392006-09-12 06:19:15 +0000162ASN_CONVERTER_SOURCES+=converter-sample.c
Lev Walkin8c85f2a2006-09-09 11:26:09 +0000163
164
165lib_LTLIBRARIES=libsomething.la
166libsomething_la_SOURCES=$(ASN_MODULE_SOURCES) $(ASN_MODULE_HEADERS)
167
168# This file may be used as an input for make(3)
169# Remove the lines below to convert it into a pure .am file
170TARGET = ldap3dump
Lev Walkin62d76872017-08-05 22:49:42 -0700171CPPFLAGS += -DASN_CONVERTER_TITLE="Lightweight Directory Access Protocol V3 decoder" -DHAVE_CONFIG_H -DJUNKTEST -D_DEFAULT_SOURCE -DASN_DISABLE_OER_SUPPORT -DASN_DISABLE_PER_SUPPORT -DPDU=LDAPMessage -I.
Lev Walkinf5b49392006-09-12 06:19:15 +0000172OBJS=${ASN_MODULE_SOURCES:.c=.o} ${ASN_CONVERTER_SOURCES:.c=.o}
Lev Walkin8c85f2a2006-09-09 11:26:09 +0000173
Lev Walkin38a5a202017-08-25 12:17:08 -0700174all: maybe-wip-pause LDAPMessage.c $(TARGET)
Lev Walkin8c85f2a2006-09-09 11:26:09 +0000175
176$(TARGET): ${OBJS}
Lev Walkind3cc9de2017-08-05 23:01:38 -0700177 $(CC) $(CFLAGS) $(CPPFLAGS) -o $(TARGET) ${OBJS} $(LDFLAGS) $(LIBS)
Lev Walkin8c85f2a2006-09-09 11:26:09 +0000178
179.SUFFIXES:
180.SUFFIXES: .c .o
181
182.c.o:
Lev Walkin62d76872017-08-05 22:49:42 -0700183 $(CC) $(CFLAGS) $(CPPFLAGS) -o $@ -c $<
Lev Walkin8c85f2a2006-09-09 11:26:09 +0000184
185clean:
186 rm -f $(TARGET)
187 rm -f $(OBJS)
188
189regen: regenerate-from-asn1-source
190
191regenerate-from-asn1-source:
Lev Walkind7f5cb92006-09-23 02:56:19 +0000192 ../../asn1c/asn1c -S ../../skeletons -pdu=LDAPMessage -fcompound-names ../rfc4511-Lightweight-Directory-Access-Protocol-V3.asn1
Lev Walkin8c85f2a2006-09-09 11:26:09 +0000193
194
Lev Walkinc33a59e2006-09-18 20:04:14 +0000195LDAPMessage.c: ../sample.makefile.regen ../rfc4511-Lightweight-Directory-Access-Protocol-V3.asn1
Lev Walkincc7c94e2006-09-17 04:01:29 +0000196 make regen-makefile
197 @touch LDAPMessage.c
198 make
199
200regen-makefile:
Lev Walkin5aef2c52007-06-29 12:46:06 +0000201 TITLE="Lightweight Directory Access Protocol V3 decoder" \
Lev Walkinf5b49392006-09-12 06:19:15 +0000202 ASN1CMDOPTS="-fcompound-names" \
203 ASN1MODULES="../rfc4511-Lightweight-Directory-Access-Protocol-V3.asn1" \
204 ASN1PDU=LDAPMessage \
205 PROGNAME=ldap3dump \
Lev Walkin62d76872017-08-05 22:49:42 -0700206 CPPFLAGS="" \
Lev Walkin2fd86de2006-09-13 02:10:23 +0000207 ../sample.makefile.regen
Lev Walkin8c85f2a2006-09-09 11:26:09 +0000208
Lev Walkin5efafc52017-09-05 03:43:00 -0700209check: ${TARGET} check-ber check-xer check-oer check-per
Lev Walkin1f12da42006-09-24 19:47:07 +0000210 @echo ================
211 @echo All tests passed
212 @echo ================
213
214check-ber:
Lev Walkin00918812006-09-18 21:19:32 +0000215 @if test -f sample-LDAPMessage-1.[db]er ; then \
Lev Walkin5efafc52017-09-05 03:43:00 -0700216 for f in sample-*-*.[db]er; do \
217 pdu=`echo $$f | sed -E -e "s/sample-([A-Za-z0-9-]+)-[0-9].*/\1/"`; \
Lev Walkin13afe532006-09-18 21:30:04 +0000218 for b in 1 17 33 980 8192; do \
Lev Walkin5efafc52017-09-05 03:43:00 -0700219 echo "Recoding $$f ($$pdu) into XER and back ($$b)..."; \
220 ./${TARGET} -p $$pdu -b $$b -iber -oxer $$f > ./.tmp.1.$$$$ || exit 2; \
221 ./${TARGET} -p $$pdu -b $$b -ixer -oxer ./.tmp.1.$$$$ > ./.tmp.2.$$$$ || exit 3; \
Lev Walkin46a6bd22007-06-26 08:36:39 +0000222 diff ./.tmp.1.$$$$ ./.tmp.2.$$$$ || exit 4; \
Lev Walkinc33a59e2006-09-18 20:04:14 +0000223 rm -f ./.tmp.[12].$$$$; \
Lev Walkin1f12da42006-09-24 19:47:07 +0000224 echo "Test junking $$f (please wait)..."; \
Lev Walkin5efafc52017-09-05 03:43:00 -0700225 ./${TARGET} -J0.0001 -n 1000 -p $$pdu -b $$b -iber -onull $$f || exit 5; \
226 ./${TARGET} -J0.001 -n 1000 -p $$pdu -b $$b -iber -onull $$f || exit 6; \
Lev Walkin13afe532006-09-18 21:30:04 +0000227 done; done; fi
Lev Walkin1f12da42006-09-24 19:47:07 +0000228
229check-xer:
Lev Walkin00918812006-09-18 21:19:32 +0000230 @if test -f sample-LDAPMessage-1.xer ; then \
Lev Walkin5efafc52017-09-05 03:43:00 -0700231 for f in sample-*-*.xer; do \
232 pdu=`echo $$f | sed -E -e "s/sample-([A-Za-z0-9-]+)-[0-9].*/\1/"`; \
Lev Walkin13afe532006-09-18 21:30:04 +0000233 for b in 1 17 33 980 8192; do \
Lev Walkin5efafc52017-09-05 03:43:00 -0700234 echo "Recoding $$f ($$pdu) into DER and back ($$b)..."; \
235 ./${TARGET} -p $$pdu -b $$b -ixer -oder $$f > ./.tmp.1.$$$$ || exit 2; \
236 ./${TARGET} -p $$pdu -b $$b -iber -oxer ./.tmp.1.$$$$ > ./.tmp.2.$$$$ || exit 3; \
Lev Walkin46a6bd22007-06-26 08:36:39 +0000237 diff $$f ./.tmp.2.$$$$ || exit 4; \
Lev Walkinc33a59e2006-09-18 20:04:14 +0000238 rm -f ./.tmp.[12].$$$$; \
Lev Walkin1f12da42006-09-24 19:47:07 +0000239 echo "Test junking $$f (please wait)..."; \
Lev Walkin5efafc52017-09-05 03:43:00 -0700240 ./${TARGET} -J0.0001 -n 1000 -p $$pdu -b $$b -ixer -onull $$f || exit 5; \
241 ./${TARGET} -J0.001 -n 1000 -p $$pdu -b $$b -ixer -onull $$f || exit 6; \
242 done; done; fi
243
244check-oer:
245 @if test -f sample-LDAPMessage-1.*oer ; then \
246 for f in sample-*-*.*oer; do \
247 pdu=`echo $$f | sed -E -e "s/sample-([A-Za-z0-9-]+)-[0-9].*/\1/"`; \
248 for b in 1 17 33 980 8192; do \
249 echo "Recoding $$f ($$pdu) into XER and back ($$b)..."; \
250 ./${TARGET} -p $$pdu -b $$b -ioer -oxer $$f > ./.tmp.1.$$$$ || exit 2; \
251 ./${TARGET} -p $$pdu -b $$b -ixer -ooer ./.tmp.1.$$$$ > ./.tmp.2.$$$$ || exit 3; \
252 diff $$f ./.tmp.2.$$$$ || exit 4; \
253 rm -f ./.tmp.[12].$$$$; \
254 echo "Test junking $$f (please wait) ($$b) ..."; \
255 ./${TARGET} -J0.0001 -n 1000 -p $$pdu -b $$b -ioer -onull $$f || exit 5; \
256 ./${TARGET} -J0.001 -n 1000 -p $$pdu -b $$b -ioer -onull $$f || exit 6; \
Lev Walkin13afe532006-09-18 21:30:04 +0000257 done; done; fi
Lev Walkin1f12da42006-09-24 19:47:07 +0000258
259check-per:
Lev Walkin46a6bd22007-06-26 08:36:39 +0000260 @if test -f sample-LDAPMessage-1-nopad.per ; then \
Lev Walkin5efafc52017-09-05 03:43:00 -0700261 for f in sample-*-[1-9]-nopad.per; do \
262 pdu=`echo $$f | sed -E -e "s/sample-([A-Za-z0-9-]+)-[0-9].*/\1/"`; \
Lev Walkin13afe532006-09-18 21:30:04 +0000263 for b in 1 17 33 980 8192; do \
Lev Walkin5efafc52017-09-05 03:43:00 -0700264 echo "Recoding non-padded $$f ($$pdu) into DER into XER and back ($$b)..."; \
265 ./${TARGET} -p $$pdu -b $$b -per-nopad -iper -oder $$f > ./.tmp.1.$$$$ || exit 2; \
266 ./${TARGET} -p $$pdu -b $$b -iber -oxer ./.tmp.1.$$$$ > ./.tmp.2.$$$$ || exit 3; \
267 ./${TARGET} -p $$pdu -b $$b -ixer -oder ./.tmp.2.$$$$ > ./.tmp.3.$$$$ || exit 4; \
Lev Walkin46a6bd22007-06-26 08:36:39 +0000268 diff ./.tmp.1.$$$$ ./.tmp.3.$$$$ || exit 5; \
Lev Walkin13afe532006-09-18 21:30:04 +0000269 rm -f ./.tmp.[123].$$$$; \
Lev Walkin1f12da42006-09-24 19:47:07 +0000270 echo "Test junking $$f (please wait)..."; \
Lev Walkin5efafc52017-09-05 03:43:00 -0700271 ./${TARGET} -J0.0001 -n 1000 -p $$pdu -b $$b -per-nopad -iper -onull $$f || exit 6; \
272 ./${TARGET} -J0.001 -n 1000 -p $$pdu -b $$b -per-nopad -iper -onull $$f || exit 7; \
Lev Walkin13afe532006-09-18 21:30:04 +0000273 done; done; fi
Lev Walkin46a6bd22007-06-26 08:36:39 +0000274 @if test -f sample-LDAPMessage-1.per ; then \
275 for f in sample-*-[1-9].per; do \
Lev Walkin5efafc52017-09-05 03:43:00 -0700276 pdu=`echo $$f | sed -E -e "s/sample-([A-Za-z0-9-]+)-[0-9].*/\1/"`; \
Lev Walkin13afe532006-09-18 21:30:04 +0000277 for b in 1 17 33 980 8192; do \
Lev Walkin5efafc52017-09-05 03:43:00 -0700278 echo "Recoding $$f ($$pdu) into DER into XER and back ($$b)..."; \
279 ./${TARGET} -p $$pdu -b $$b -iper -oder $$f > ./.tmp.1.$$$$ || exit 3; \
280 ./${TARGET} -p $$pdu -b $$b -iber -oxer ./.tmp.1.$$$$ > ./.tmp.2.$$$$ || exit 4; \
281 ./${TARGET} -p $$pdu -b $$b -ixer -oper ./.tmp.2.$$$$ > ./.tmp.1.$$$$ || exit 5; \
Lev Walkin46a6bd22007-06-26 08:36:39 +0000282 diff $$f ./.tmp.1.$$$$ || exit 6; \
Lev Walkin13afe532006-09-18 21:30:04 +0000283 rm -f ./.tmp.[12].$$$$; \
Lev Walkin1f12da42006-09-24 19:47:07 +0000284 echo "Test junking $$f (please wait)..."; \
Lev Walkin5efafc52017-09-05 03:43:00 -0700285 ./${TARGET} -J0.0001 -n 1000 -p $$pdu -b $$b -iper -onull $$f || exit 7; \
286 ./${TARGET} -J0.001 -n 1000 -p $$pdu -b $$b -iper -onull $$f || exit 8; \
Lev Walkin13afe532006-09-18 21:30:04 +0000287 done; done; fi
Lev Walkinc744a022006-09-15 18:33:25 +0000288
Lev Walkin38a5a202017-08-25 12:17:08 -0700289maybe-wip-pause:
290 @if [ -f WIP ]; then cat WIP; sleep 2; fi
291
Lev Walkin8c85f2a2006-09-09 11:26:09 +0000292distclean: clean
Lev Walkinbcda5ff2006-09-17 03:29:51 +0000293 rm -f $(ASN_MODULE_SOURCES)
294 rm -f $(ASN_MODULE_HEADERS)
Lev Walkinf5b49392006-09-12 06:19:15 +0000295 rm -f $(ASN_CONVERTER_SOURCES) $(ASN_CONVERTER_HEADERS)
Lev Walkin8c85f2a2006-09-09 11:26:09 +0000296 rm -f Makefile.am.sample