blob: 7d071c87ea88a351884874b1dfe3bd46cc78d1e7 [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 Walkine29a30e2017-09-13 16:21:49 -0700124ASN_MODULE_SOURCES+=asn_application.c
Lev Walkin38a5a202017-08-25 12:17:08 -0700125ASN_MODULE_HEADERS+=asn_ioc.h
Lev Walkin8c85f2a2006-09-09 11:26:09 +0000126ASN_MODULE_HEADERS+=asn_system.h
127ASN_MODULE_HEADERS+=asn_codecs.h
128ASN_MODULE_HEADERS+=asn_internal.h
Lev Walkin38a5a202017-08-25 12:17:08 -0700129ASN_MODULE_HEADERS+=asn_bit_data.h
130ASN_MODULE_SOURCES+=asn_bit_data.c
Lev Walkin8c85f2a2006-09-09 11:26:09 +0000131ASN_MODULE_HEADERS+=OCTET_STRING.h
132ASN_MODULE_SOURCES+=OCTET_STRING.c
133ASN_MODULE_HEADERS+=BIT_STRING.h
134ASN_MODULE_SOURCES+=BIT_STRING.c
135ASN_MODULE_SOURCES+=asn_codecs_prim.c
136ASN_MODULE_HEADERS+=asn_codecs_prim.h
137ASN_MODULE_HEADERS+=ber_tlv_length.h
138ASN_MODULE_SOURCES+=ber_tlv_length.c
139ASN_MODULE_HEADERS+=ber_tlv_tag.h
140ASN_MODULE_SOURCES+=ber_tlv_tag.c
141ASN_MODULE_HEADERS+=ber_decoder.h
142ASN_MODULE_SOURCES+=ber_decoder.c
143ASN_MODULE_HEADERS+=der_encoder.h
144ASN_MODULE_SOURCES+=der_encoder.c
145ASN_MODULE_HEADERS+=constr_TYPE.h
146ASN_MODULE_SOURCES+=constr_TYPE.c
147ASN_MODULE_HEADERS+=constraints.h
148ASN_MODULE_SOURCES+=constraints.c
149ASN_MODULE_HEADERS+=xer_support.h
150ASN_MODULE_SOURCES+=xer_support.c
151ASN_MODULE_HEADERS+=xer_decoder.h
152ASN_MODULE_SOURCES+=xer_decoder.c
153ASN_MODULE_HEADERS+=xer_encoder.h
154ASN_MODULE_SOURCES+=xer_encoder.c
155ASN_MODULE_HEADERS+=per_support.h
156ASN_MODULE_SOURCES+=per_support.c
157ASN_MODULE_HEADERS+=per_decoder.h
158ASN_MODULE_SOURCES+=per_decoder.c
159ASN_MODULE_HEADERS+=per_encoder.h
160ASN_MODULE_SOURCES+=per_encoder.c
Lev Walkin5aef2c52007-06-29 12:46:06 +0000161ASN_MODULE_HEADERS+=per_opentype.h
162ASN_MODULE_SOURCES+=per_opentype.c
Lev Walkinf5b49392006-09-12 06:19:15 +0000163ASN_CONVERTER_SOURCES+=converter-sample.c
Lev Walkin8c85f2a2006-09-09 11:26:09 +0000164
165
166lib_LTLIBRARIES=libsomething.la
167libsomething_la_SOURCES=$(ASN_MODULE_SOURCES) $(ASN_MODULE_HEADERS)
168
169# This file may be used as an input for make(3)
170# Remove the lines below to convert it into a pure .am file
171TARGET = ldap3dump
Lev Walkine29a30e2017-09-13 16:21:49 -0700172LIBS += -lm
Lev Walkin62d76872017-08-05 22:49:42 -0700173CPPFLAGS += -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 +0000174OBJS=${ASN_MODULE_SOURCES:.c=.o} ${ASN_CONVERTER_SOURCES:.c=.o}
Lev Walkin8c85f2a2006-09-09 11:26:09 +0000175
Lev Walkin38a5a202017-08-25 12:17:08 -0700176all: maybe-wip-pause LDAPMessage.c $(TARGET)
Lev Walkin8c85f2a2006-09-09 11:26:09 +0000177
178$(TARGET): ${OBJS}
Lev Walkind3cc9de2017-08-05 23:01:38 -0700179 $(CC) $(CFLAGS) $(CPPFLAGS) -o $(TARGET) ${OBJS} $(LDFLAGS) $(LIBS)
Lev Walkin8c85f2a2006-09-09 11:26:09 +0000180
181.SUFFIXES:
182.SUFFIXES: .c .o
183
184.c.o:
Lev Walkin62d76872017-08-05 22:49:42 -0700185 $(CC) $(CFLAGS) $(CPPFLAGS) -o $@ -c $<
Lev Walkin8c85f2a2006-09-09 11:26:09 +0000186
187clean:
188 rm -f $(TARGET)
189 rm -f $(OBJS)
190
191regen: regenerate-from-asn1-source
192
193regenerate-from-asn1-source:
Lev Walkind7f5cb92006-09-23 02:56:19 +0000194 ../../asn1c/asn1c -S ../../skeletons -pdu=LDAPMessage -fcompound-names ../rfc4511-Lightweight-Directory-Access-Protocol-V3.asn1
Lev Walkin8c85f2a2006-09-09 11:26:09 +0000195
196
Lev Walkinc33a59e2006-09-18 20:04:14 +0000197LDAPMessage.c: ../sample.makefile.regen ../rfc4511-Lightweight-Directory-Access-Protocol-V3.asn1
Lev Walkincc7c94e2006-09-17 04:01:29 +0000198 make regen-makefile
199 @touch LDAPMessage.c
200 make
201
202regen-makefile:
Lev Walkin5aef2c52007-06-29 12:46:06 +0000203 TITLE="Lightweight Directory Access Protocol V3 decoder" \
Lev Walkinf5b49392006-09-12 06:19:15 +0000204 ASN1CMDOPTS="-fcompound-names" \
205 ASN1MODULES="../rfc4511-Lightweight-Directory-Access-Protocol-V3.asn1" \
206 ASN1PDU=LDAPMessage \
207 PROGNAME=ldap3dump \
Lev Walkin62d76872017-08-05 22:49:42 -0700208 CPPFLAGS="" \
Lev Walkin2fd86de2006-09-13 02:10:23 +0000209 ../sample.makefile.regen
Lev Walkin8c85f2a2006-09-09 11:26:09 +0000210
Lev Walkin5efafc52017-09-05 03:43:00 -0700211check: ${TARGET} check-ber check-xer check-oer check-per
Lev Walkin1f12da42006-09-24 19:47:07 +0000212 @echo ================
213 @echo All tests passed
214 @echo ================
215
216check-ber:
Lev Walkin00918812006-09-18 21:19:32 +0000217 @if test -f sample-LDAPMessage-1.[db]er ; then \
Lev Walkin5efafc52017-09-05 03:43:00 -0700218 for f in sample-*-*.[db]er; do \
219 pdu=`echo $$f | sed -E -e "s/sample-([A-Za-z0-9-]+)-[0-9].*/\1/"`; \
Lev Walkin13afe532006-09-18 21:30:04 +0000220 for b in 1 17 33 980 8192; do \
Lev Walkin5efafc52017-09-05 03:43:00 -0700221 echo "Recoding $$f ($$pdu) into XER and back ($$b)..."; \
222 ./${TARGET} -p $$pdu -b $$b -iber -oxer $$f > ./.tmp.1.$$$$ || exit 2; \
223 ./${TARGET} -p $$pdu -b $$b -ixer -oxer ./.tmp.1.$$$$ > ./.tmp.2.$$$$ || exit 3; \
Lev Walkin46a6bd22007-06-26 08:36:39 +0000224 diff ./.tmp.1.$$$$ ./.tmp.2.$$$$ || exit 4; \
Lev Walkinc33a59e2006-09-18 20:04:14 +0000225 rm -f ./.tmp.[12].$$$$; \
Lev Walkin1f12da42006-09-24 19:47:07 +0000226 echo "Test junking $$f (please wait)..."; \
Lev Walkin5efafc52017-09-05 03:43:00 -0700227 ./${TARGET} -J0.0001 -n 1000 -p $$pdu -b $$b -iber -onull $$f || exit 5; \
228 ./${TARGET} -J0.001 -n 1000 -p $$pdu -b $$b -iber -onull $$f || exit 6; \
Lev Walkin13afe532006-09-18 21:30:04 +0000229 done; done; fi
Lev Walkin1f12da42006-09-24 19:47:07 +0000230
231check-xer:
Lev Walkin00918812006-09-18 21:19:32 +0000232 @if test -f sample-LDAPMessage-1.xer ; then \
Lev Walkin5efafc52017-09-05 03:43:00 -0700233 for f in sample-*-*.xer; do \
234 pdu=`echo $$f | sed -E -e "s/sample-([A-Za-z0-9-]+)-[0-9].*/\1/"`; \
Lev Walkin13afe532006-09-18 21:30:04 +0000235 for b in 1 17 33 980 8192; do \
Lev Walkin5efafc52017-09-05 03:43:00 -0700236 echo "Recoding $$f ($$pdu) into DER and back ($$b)..."; \
237 ./${TARGET} -p $$pdu -b $$b -ixer -oder $$f > ./.tmp.1.$$$$ || exit 2; \
238 ./${TARGET} -p $$pdu -b $$b -iber -oxer ./.tmp.1.$$$$ > ./.tmp.2.$$$$ || exit 3; \
Lev Walkin46a6bd22007-06-26 08:36:39 +0000239 diff $$f ./.tmp.2.$$$$ || exit 4; \
Lev Walkinc33a59e2006-09-18 20:04:14 +0000240 rm -f ./.tmp.[12].$$$$; \
Lev Walkin1f12da42006-09-24 19:47:07 +0000241 echo "Test junking $$f (please wait)..."; \
Lev Walkin5efafc52017-09-05 03:43:00 -0700242 ./${TARGET} -J0.0001 -n 1000 -p $$pdu -b $$b -ixer -onull $$f || exit 5; \
243 ./${TARGET} -J0.001 -n 1000 -p $$pdu -b $$b -ixer -onull $$f || exit 6; \
244 done; done; fi
245
246check-oer:
247 @if test -f sample-LDAPMessage-1.*oer ; then \
248 for f in sample-*-*.*oer; do \
249 pdu=`echo $$f | sed -E -e "s/sample-([A-Za-z0-9-]+)-[0-9].*/\1/"`; \
250 for b in 1 17 33 980 8192; do \
251 echo "Recoding $$f ($$pdu) into XER and back ($$b)..."; \
252 ./${TARGET} -p $$pdu -b $$b -ioer -oxer $$f > ./.tmp.1.$$$$ || exit 2; \
253 ./${TARGET} -p $$pdu -b $$b -ixer -ooer ./.tmp.1.$$$$ > ./.tmp.2.$$$$ || exit 3; \
254 diff $$f ./.tmp.2.$$$$ || exit 4; \
255 rm -f ./.tmp.[12].$$$$; \
256 echo "Test junking $$f (please wait) ($$b) ..."; \
257 ./${TARGET} -J0.0001 -n 1000 -p $$pdu -b $$b -ioer -onull $$f || exit 5; \
258 ./${TARGET} -J0.001 -n 1000 -p $$pdu -b $$b -ioer -onull $$f || exit 6; \
Lev Walkin13afe532006-09-18 21:30:04 +0000259 done; done; fi
Lev Walkin1f12da42006-09-24 19:47:07 +0000260
261check-per:
Lev Walkin46a6bd22007-06-26 08:36:39 +0000262 @if test -f sample-LDAPMessage-1-nopad.per ; then \
Lev Walkin5efafc52017-09-05 03:43:00 -0700263 for f in sample-*-[1-9]-nopad.per; do \
264 pdu=`echo $$f | sed -E -e "s/sample-([A-Za-z0-9-]+)-[0-9].*/\1/"`; \
Lev Walkin13afe532006-09-18 21:30:04 +0000265 for b in 1 17 33 980 8192; do \
Lev Walkin5efafc52017-09-05 03:43:00 -0700266 echo "Recoding non-padded $$f ($$pdu) into DER into XER and back ($$b)..."; \
267 ./${TARGET} -p $$pdu -b $$b -per-nopad -iper -oder $$f > ./.tmp.1.$$$$ || exit 2; \
268 ./${TARGET} -p $$pdu -b $$b -iber -oxer ./.tmp.1.$$$$ > ./.tmp.2.$$$$ || exit 3; \
269 ./${TARGET} -p $$pdu -b $$b -ixer -oder ./.tmp.2.$$$$ > ./.tmp.3.$$$$ || exit 4; \
Lev Walkin46a6bd22007-06-26 08:36:39 +0000270 diff ./.tmp.1.$$$$ ./.tmp.3.$$$$ || exit 5; \
Lev Walkin13afe532006-09-18 21:30:04 +0000271 rm -f ./.tmp.[123].$$$$; \
Lev Walkin1f12da42006-09-24 19:47:07 +0000272 echo "Test junking $$f (please wait)..."; \
Lev Walkin5efafc52017-09-05 03:43:00 -0700273 ./${TARGET} -J0.0001 -n 1000 -p $$pdu -b $$b -per-nopad -iper -onull $$f || exit 6; \
274 ./${TARGET} -J0.001 -n 1000 -p $$pdu -b $$b -per-nopad -iper -onull $$f || exit 7; \
Lev Walkin13afe532006-09-18 21:30:04 +0000275 done; done; fi
Lev Walkin46a6bd22007-06-26 08:36:39 +0000276 @if test -f sample-LDAPMessage-1.per ; then \
277 for f in sample-*-[1-9].per; do \
Lev Walkin5efafc52017-09-05 03:43:00 -0700278 pdu=`echo $$f | sed -E -e "s/sample-([A-Za-z0-9-]+)-[0-9].*/\1/"`; \
Lev Walkin13afe532006-09-18 21:30:04 +0000279 for b in 1 17 33 980 8192; do \
Lev Walkin5efafc52017-09-05 03:43:00 -0700280 echo "Recoding $$f ($$pdu) into DER into XER and back ($$b)..."; \
281 ./${TARGET} -p $$pdu -b $$b -iper -oder $$f > ./.tmp.1.$$$$ || exit 3; \
282 ./${TARGET} -p $$pdu -b $$b -iber -oxer ./.tmp.1.$$$$ > ./.tmp.2.$$$$ || exit 4; \
283 ./${TARGET} -p $$pdu -b $$b -ixer -oper ./.tmp.2.$$$$ > ./.tmp.1.$$$$ || exit 5; \
Lev Walkin46a6bd22007-06-26 08:36:39 +0000284 diff $$f ./.tmp.1.$$$$ || exit 6; \
Lev Walkin13afe532006-09-18 21:30:04 +0000285 rm -f ./.tmp.[12].$$$$; \
Lev Walkin1f12da42006-09-24 19:47:07 +0000286 echo "Test junking $$f (please wait)..."; \
Lev Walkin5efafc52017-09-05 03:43:00 -0700287 ./${TARGET} -J0.0001 -n 1000 -p $$pdu -b $$b -iper -onull $$f || exit 7; \
288 ./${TARGET} -J0.001 -n 1000 -p $$pdu -b $$b -iper -onull $$f || exit 8; \
Lev Walkin13afe532006-09-18 21:30:04 +0000289 done; done; fi
Lev Walkinc744a022006-09-15 18:33:25 +0000290
Lev Walkin38a5a202017-08-25 12:17:08 -0700291maybe-wip-pause:
292 @if [ -f WIP ]; then cat WIP; sleep 2; fi
293
Lev Walkin8c85f2a2006-09-09 11:26:09 +0000294distclean: clean
Lev Walkinbcda5ff2006-09-17 03:29:51 +0000295 rm -f $(ASN_MODULE_SOURCES)
296 rm -f $(ASN_MODULE_HEADERS)
Lev Walkinf5b49392006-09-12 06:19:15 +0000297 rm -f $(ASN_CONVERTER_SOURCES) $(ASN_CONVERTER_HEADERS)
Lev Walkin8c85f2a2006-09-09 11:26:09 +0000298 rm -f Makefile.am.sample