blob: a1b88470cf3de1c9d4942f2560b3b41b418e0c0f [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
99ASN_MODULE_HEADERS+=BOOLEAN.h
100ASN_MODULE_SOURCES+=BOOLEAN.c
Lev Walkin8c85f2a2006-09-09 11:26:09 +0000101ASN_MODULE_HEADERS+=INTEGER.h
102ASN_MODULE_HEADERS+=NativeEnumerated.h
103ASN_MODULE_SOURCES+=INTEGER.c
104ASN_MODULE_HEADERS+=NULL.h
105ASN_MODULE_SOURCES+=NULL.c
106ASN_MODULE_SOURCES+=NativeEnumerated.c
107ASN_MODULE_HEADERS+=NativeInteger.h
108ASN_MODULE_SOURCES+=NativeInteger.c
109ASN_MODULE_HEADERS+=asn_SEQUENCE_OF.h
110ASN_MODULE_SOURCES+=asn_SEQUENCE_OF.c
111ASN_MODULE_HEADERS+=asn_SET_OF.h
112ASN_MODULE_SOURCES+=asn_SET_OF.c
113ASN_MODULE_HEADERS+=constr_CHOICE.h
114ASN_MODULE_SOURCES+=constr_CHOICE.c
115ASN_MODULE_HEADERS+=constr_SEQUENCE.h
116ASN_MODULE_SOURCES+=constr_SEQUENCE.c
117ASN_MODULE_HEADERS+=constr_SEQUENCE_OF.h
118ASN_MODULE_SOURCES+=constr_SEQUENCE_OF.c
119ASN_MODULE_HEADERS+=constr_SET_OF.h
120ASN_MODULE_SOURCES+=constr_SET_OF.c
121ASN_MODULE_HEADERS+=asn_application.h
122ASN_MODULE_HEADERS+=asn_system.h
123ASN_MODULE_HEADERS+=asn_codecs.h
124ASN_MODULE_HEADERS+=asn_internal.h
125ASN_MODULE_HEADERS+=OCTET_STRING.h
126ASN_MODULE_SOURCES+=OCTET_STRING.c
127ASN_MODULE_HEADERS+=BIT_STRING.h
128ASN_MODULE_SOURCES+=BIT_STRING.c
129ASN_MODULE_SOURCES+=asn_codecs_prim.c
130ASN_MODULE_HEADERS+=asn_codecs_prim.h
131ASN_MODULE_HEADERS+=ber_tlv_length.h
132ASN_MODULE_SOURCES+=ber_tlv_length.c
133ASN_MODULE_HEADERS+=ber_tlv_tag.h
134ASN_MODULE_SOURCES+=ber_tlv_tag.c
135ASN_MODULE_HEADERS+=ber_decoder.h
136ASN_MODULE_SOURCES+=ber_decoder.c
137ASN_MODULE_HEADERS+=der_encoder.h
138ASN_MODULE_SOURCES+=der_encoder.c
139ASN_MODULE_HEADERS+=constr_TYPE.h
140ASN_MODULE_SOURCES+=constr_TYPE.c
141ASN_MODULE_HEADERS+=constraints.h
142ASN_MODULE_SOURCES+=constraints.c
143ASN_MODULE_HEADERS+=xer_support.h
144ASN_MODULE_SOURCES+=xer_support.c
145ASN_MODULE_HEADERS+=xer_decoder.h
146ASN_MODULE_SOURCES+=xer_decoder.c
147ASN_MODULE_HEADERS+=xer_encoder.h
148ASN_MODULE_SOURCES+=xer_encoder.c
Lev Walkin62d76872017-08-05 22:49:42 -0700149ASN_MODULE_HEADERS+=oer_decoder.h
150ASN_MODULE_SOURCES+=oer_decoder.c
151ASN_MODULE_HEADERS+=oer_encoder.h
152ASN_MODULE_SOURCES+=oer_encoder.c
153ASN_MODULE_HEADERS+=oer_support.h
154ASN_MODULE_SOURCES+=oer_support.c
Lev Walkin8c85f2a2006-09-09 11:26:09 +0000155ASN_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 Walkin62d76872017-08-05 22:49:42 -0700172CPPFLAGS += -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 +0000173OBJS=${ASN_MODULE_SOURCES:.c=.o} ${ASN_CONVERTER_SOURCES:.c=.o}
Lev Walkin8c85f2a2006-09-09 11:26:09 +0000174
175all: LDAPMessage.c $(TARGET)
176
177$(TARGET): ${OBJS}
Lev Walkind3cc9de2017-08-05 23:01:38 -0700178 $(CC) $(CFLAGS) $(CPPFLAGS) -o $(TARGET) ${OBJS} $(LDFLAGS) $(LIBS)
Lev Walkin8c85f2a2006-09-09 11:26:09 +0000179
180.SUFFIXES:
181.SUFFIXES: .c .o
182
183.c.o:
Lev Walkin62d76872017-08-05 22:49:42 -0700184 $(CC) $(CFLAGS) $(CPPFLAGS) -o $@ -c $<
Lev Walkin8c85f2a2006-09-09 11:26:09 +0000185
186clean:
187 rm -f $(TARGET)
188 rm -f $(OBJS)
189
190regen: regenerate-from-asn1-source
191
192regenerate-from-asn1-source:
Lev Walkind7f5cb92006-09-23 02:56:19 +0000193 ../../asn1c/asn1c -S ../../skeletons -pdu=LDAPMessage -fcompound-names ../rfc4511-Lightweight-Directory-Access-Protocol-V3.asn1
Lev Walkin8c85f2a2006-09-09 11:26:09 +0000194
195
Lev Walkinc33a59e2006-09-18 20:04:14 +0000196LDAPMessage.c: ../sample.makefile.regen ../rfc4511-Lightweight-Directory-Access-Protocol-V3.asn1
Lev Walkincc7c94e2006-09-17 04:01:29 +0000197 make regen-makefile
198 @touch LDAPMessage.c
199 make
200
201regen-makefile:
Lev Walkin5aef2c52007-06-29 12:46:06 +0000202 TITLE="Lightweight Directory Access Protocol V3 decoder" \
Lev Walkinf5b49392006-09-12 06:19:15 +0000203 ASN1CMDOPTS="-fcompound-names" \
204 ASN1MODULES="../rfc4511-Lightweight-Directory-Access-Protocol-V3.asn1" \
205 ASN1PDU=LDAPMessage \
206 PROGNAME=ldap3dump \
Lev Walkin62d76872017-08-05 22:49:42 -0700207 CPPFLAGS="" \
Lev Walkin2fd86de2006-09-13 02:10:23 +0000208 ../sample.makefile.regen
Lev Walkin8c85f2a2006-09-09 11:26:09 +0000209
Lev Walkin1f12da42006-09-24 19:47:07 +0000210check: ${TARGET} check-ber check-xer check-per
211 @echo ================
212 @echo All tests passed
213 @echo ================
214
215check-ber:
Lev Walkin00918812006-09-18 21:19:32 +0000216 @if test -f sample-LDAPMessage-1.[db]er ; then \
217 for f in sample-LDAPMessage-*.[db]er; do \
Lev Walkin13afe532006-09-18 21:30:04 +0000218 for b in 1 17 33 980 8192; do \
219 echo "Recoding $$f into XER and back ($$b)..."; \
220 ./${TARGET} -b $$b -iber -oxer $$f > ./.tmp.1.$$$$ || exit 2; \
Lev Walkin46a6bd22007-06-26 08:36:39 +0000221 ./${TARGET} -b $$b -ixer -oxer ./.tmp.1.$$$$ > ./.tmp.2.$$$$ || exit 3; \
222 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 Walkin46a6bd22007-06-26 08:36:39 +0000225 ./${TARGET} -J0.0001 -n 1000 -b $$b -iber -onull $$f || exit 5; \
226 ./${TARGET} -J0.001 -n 1000 -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 \
231 for f in sample-LDAPMessage-*.xer; do \
Lev Walkin13afe532006-09-18 21:30:04 +0000232 for b in 1 17 33 980 8192; do \
233 echo "Recoding $$f into DER and back ($$b)..."; \
234 ./${TARGET} -b $$b -ixer -oder $$f > ./.tmp.1.$$$$ || exit 2; \
Lev Walkin46a6bd22007-06-26 08:36:39 +0000235 ./${TARGET} -b $$b -iber -oxer ./.tmp.1.$$$$ > ./.tmp.2.$$$$ || exit 3; \
236 diff $$f ./.tmp.2.$$$$ || exit 4; \
Lev Walkinc33a59e2006-09-18 20:04:14 +0000237 rm -f ./.tmp.[12].$$$$; \
Lev Walkin1f12da42006-09-24 19:47:07 +0000238 echo "Test junking $$f (please wait)..."; \
Lev Walkin46a6bd22007-06-26 08:36:39 +0000239 ./${TARGET} -J0.0001 -n 1000 -b $$b -ixer -onull $$f || exit 5; \
240 ./${TARGET} -J0.001 -n 1000 -b $$b -ixer -onull $$f || exit 6; \
Lev Walkin13afe532006-09-18 21:30:04 +0000241 done; done; fi
Lev Walkin1f12da42006-09-24 19:47:07 +0000242
243check-per:
Lev Walkin46a6bd22007-06-26 08:36:39 +0000244 @if test -f sample-LDAPMessage-1-nopad.per ; then \
245 for f in sample-LDAPMessage-[1-9]-nopad.per; do \
Lev Walkin13afe532006-09-18 21:30:04 +0000246 for b in 1 17 33 980 8192; do \
Lev Walkin46a6bd22007-06-26 08:36:39 +0000247 echo "Recoding non-padded $$f into DER into XER and back ($$b)..."; \
248 ./${TARGET} -b $$b -per-nopad -iper -oder $$f > ./.tmp.1.$$$$ || exit 2; \
249 ./${TARGET} -b $$b -iber -oxer ./.tmp.1.$$$$ > ./.tmp.2.$$$$ || exit 3; \
250 ./${TARGET} -b $$b -ixer -oder ./.tmp.2.$$$$ > ./.tmp.3.$$$$ || exit 4; \
251 diff ./.tmp.1.$$$$ ./.tmp.3.$$$$ || exit 5; \
Lev Walkin13afe532006-09-18 21:30:04 +0000252 rm -f ./.tmp.[123].$$$$; \
Lev Walkin1f12da42006-09-24 19:47:07 +0000253 echo "Test junking $$f (please wait)..."; \
Lev Walkin46a6bd22007-06-26 08:36:39 +0000254 ./${TARGET} -J0.0001 -n 1000 -b $$b -per-nopad -iper -onull $$f || exit 6; \
255 ./${TARGET} -J0.001 -n 1000 -b $$b -per-nopad -iper -onull $$f || exit 7; \
Lev Walkin13afe532006-09-18 21:30:04 +0000256 done; done; fi
Lev Walkin46a6bd22007-06-26 08:36:39 +0000257 @if test -f sample-LDAPMessage-1.per ; then \
258 for f in sample-*-[1-9].per; do \
Lev Walkin00918812006-09-18 21:19:32 +0000259 pdu=`echo $$f | sed -E -e "s/sample-([A-Za-z-]+)-[0-9].*/\1/"`; \
Lev Walkin13afe532006-09-18 21:30:04 +0000260 for b in 1 17 33 980 8192; do \
Lev Walkin46a6bd22007-06-26 08:36:39 +0000261 echo "Recoding $$f into DER into XER and back ($$b)..."; \
262 ./${TARGET} -b $$b -p $$pdu -iper -oder $$f > ./.tmp.1.$$$$ || exit 3; \
263 ./${TARGET} -b $$b -p $$pdu -iber -oxer ./.tmp.1.$$$$ > ./.tmp.2.$$$$ || exit 4; \
264 ./${TARGET} -b $$b -p $$pdu -ixer -oper ./.tmp.2.$$$$ > ./.tmp.1.$$$$ || exit 5; \
265 diff $$f ./.tmp.1.$$$$ || exit 6; \
Lev Walkin13afe532006-09-18 21:30:04 +0000266 rm -f ./.tmp.[12].$$$$; \
Lev Walkin1f12da42006-09-24 19:47:07 +0000267 echo "Test junking $$f (please wait)..."; \
Lev Walkin46a6bd22007-06-26 08:36:39 +0000268 ./${TARGET} -J0.0001 -n 1000 -b $$b -iper -onull $$f || exit 7; \
269 ./${TARGET} -J0.001 -n 1000 -b $$b -iper -onull $$f || exit 8; \
Lev Walkin13afe532006-09-18 21:30:04 +0000270 done; done; fi
Lev Walkinc744a022006-09-15 18:33:25 +0000271
Lev Walkin8c85f2a2006-09-09 11:26:09 +0000272distclean: clean
Lev Walkinbcda5ff2006-09-17 03:29:51 +0000273 rm -f $(ASN_MODULE_SOURCES)
274 rm -f $(ASN_MODULE_HEADERS)
Lev Walkinf5b49392006-09-12 06:19:15 +0000275 rm -f $(ASN_CONVERTER_SOURCES) $(ASN_CONVERTER_HEADERS)
Lev Walkin8c85f2a2006-09-09 11:26:09 +0000276 rm -f Makefile.am.sample