blob: 237d3befa7b133b119c00b082543ffbb09b1cce2 [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 Walkin1f12da42006-09-24 19:47:07 +0000209check: ${TARGET} check-ber check-xer check-per
210 @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 \
216 for f in sample-LDAPMessage-*.[db]er; do \
Lev Walkin13afe532006-09-18 21:30:04 +0000217 for b in 1 17 33 980 8192; do \
218 echo "Recoding $$f into XER and back ($$b)..."; \
219 ./${TARGET} -b $$b -iber -oxer $$f > ./.tmp.1.$$$$ || exit 2; \
Lev Walkin46a6bd22007-06-26 08:36:39 +0000220 ./${TARGET} -b $$b -ixer -oxer ./.tmp.1.$$$$ > ./.tmp.2.$$$$ || exit 3; \
221 diff ./.tmp.1.$$$$ ./.tmp.2.$$$$ || exit 4; \
Lev Walkinc33a59e2006-09-18 20:04:14 +0000222 rm -f ./.tmp.[12].$$$$; \
Lev Walkin1f12da42006-09-24 19:47:07 +0000223 echo "Test junking $$f (please wait)..."; \
Lev Walkin46a6bd22007-06-26 08:36:39 +0000224 ./${TARGET} -J0.0001 -n 1000 -b $$b -iber -onull $$f || exit 5; \
225 ./${TARGET} -J0.001 -n 1000 -b $$b -iber -onull $$f || exit 6; \
Lev Walkin13afe532006-09-18 21:30:04 +0000226 done; done; fi
Lev Walkin1f12da42006-09-24 19:47:07 +0000227
228check-xer:
Lev Walkin00918812006-09-18 21:19:32 +0000229 @if test -f sample-LDAPMessage-1.xer ; then \
230 for f in sample-LDAPMessage-*.xer; do \
Lev Walkin13afe532006-09-18 21:30:04 +0000231 for b in 1 17 33 980 8192; do \
232 echo "Recoding $$f into DER and back ($$b)..."; \
233 ./${TARGET} -b $$b -ixer -oder $$f > ./.tmp.1.$$$$ || exit 2; \
Lev Walkin46a6bd22007-06-26 08:36:39 +0000234 ./${TARGET} -b $$b -iber -oxer ./.tmp.1.$$$$ > ./.tmp.2.$$$$ || exit 3; \
235 diff $$f ./.tmp.2.$$$$ || exit 4; \
Lev Walkinc33a59e2006-09-18 20:04:14 +0000236 rm -f ./.tmp.[12].$$$$; \
Lev Walkin1f12da42006-09-24 19:47:07 +0000237 echo "Test junking $$f (please wait)..."; \
Lev Walkin46a6bd22007-06-26 08:36:39 +0000238 ./${TARGET} -J0.0001 -n 1000 -b $$b -ixer -onull $$f || exit 5; \
239 ./${TARGET} -J0.001 -n 1000 -b $$b -ixer -onull $$f || exit 6; \
Lev Walkin13afe532006-09-18 21:30:04 +0000240 done; done; fi
Lev Walkin1f12da42006-09-24 19:47:07 +0000241
242check-per:
Lev Walkin46a6bd22007-06-26 08:36:39 +0000243 @if test -f sample-LDAPMessage-1-nopad.per ; then \
244 for f in sample-LDAPMessage-[1-9]-nopad.per; do \
Lev Walkin13afe532006-09-18 21:30:04 +0000245 for b in 1 17 33 980 8192; do \
Lev Walkin46a6bd22007-06-26 08:36:39 +0000246 echo "Recoding non-padded $$f into DER into XER and back ($$b)..."; \
247 ./${TARGET} -b $$b -per-nopad -iper -oder $$f > ./.tmp.1.$$$$ || exit 2; \
248 ./${TARGET} -b $$b -iber -oxer ./.tmp.1.$$$$ > ./.tmp.2.$$$$ || exit 3; \
249 ./${TARGET} -b $$b -ixer -oder ./.tmp.2.$$$$ > ./.tmp.3.$$$$ || exit 4; \
250 diff ./.tmp.1.$$$$ ./.tmp.3.$$$$ || exit 5; \
Lev Walkin13afe532006-09-18 21:30:04 +0000251 rm -f ./.tmp.[123].$$$$; \
Lev Walkin1f12da42006-09-24 19:47:07 +0000252 echo "Test junking $$f (please wait)..."; \
Lev Walkin46a6bd22007-06-26 08:36:39 +0000253 ./${TARGET} -J0.0001 -n 1000 -b $$b -per-nopad -iper -onull $$f || exit 6; \
254 ./${TARGET} -J0.001 -n 1000 -b $$b -per-nopad -iper -onull $$f || exit 7; \
Lev Walkin13afe532006-09-18 21:30:04 +0000255 done; done; fi
Lev Walkin46a6bd22007-06-26 08:36:39 +0000256 @if test -f sample-LDAPMessage-1.per ; then \
257 for f in sample-*-[1-9].per; do \
Lev Walkin00918812006-09-18 21:19:32 +0000258 pdu=`echo $$f | sed -E -e "s/sample-([A-Za-z-]+)-[0-9].*/\1/"`; \
Lev Walkin13afe532006-09-18 21:30:04 +0000259 for b in 1 17 33 980 8192; do \
Lev Walkin46a6bd22007-06-26 08:36:39 +0000260 echo "Recoding $$f into DER into XER and back ($$b)..."; \
261 ./${TARGET} -b $$b -p $$pdu -iper -oder $$f > ./.tmp.1.$$$$ || exit 3; \
262 ./${TARGET} -b $$b -p $$pdu -iber -oxer ./.tmp.1.$$$$ > ./.tmp.2.$$$$ || exit 4; \
263 ./${TARGET} -b $$b -p $$pdu -ixer -oper ./.tmp.2.$$$$ > ./.tmp.1.$$$$ || exit 5; \
264 diff $$f ./.tmp.1.$$$$ || exit 6; \
Lev Walkin13afe532006-09-18 21:30:04 +0000265 rm -f ./.tmp.[12].$$$$; \
Lev Walkin1f12da42006-09-24 19:47:07 +0000266 echo "Test junking $$f (please wait)..."; \
Lev Walkin46a6bd22007-06-26 08:36:39 +0000267 ./${TARGET} -J0.0001 -n 1000 -b $$b -iper -onull $$f || exit 7; \
268 ./${TARGET} -J0.001 -n 1000 -b $$b -iper -onull $$f || exit 8; \
Lev Walkin13afe532006-09-18 21:30:04 +0000269 done; done; fi
Lev Walkinc744a022006-09-15 18:33:25 +0000270
Lev Walkin38a5a202017-08-25 12:17:08 -0700271maybe-wip-pause:
272 @if [ -f WIP ]; then cat WIP; sleep 2; fi
273
Lev Walkin8c85f2a2006-09-09 11:26:09 +0000274distclean: clean
Lev Walkinbcda5ff2006-09-17 03:29:51 +0000275 rm -f $(ASN_MODULE_SOURCES)
276 rm -f $(ASN_MODULE_HEADERS)
Lev Walkinf5b49392006-09-12 06:19:15 +0000277 rm -f $(ASN_CONVERTER_SOURCES) $(ASN_CONVERTER_HEADERS)
Lev Walkin8c85f2a2006-09-09 11:26:09 +0000278 rm -f Makefile.am.sample