blob: b47bbcc8138733fae859ff40654569c84e09f789 [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
101ASN_MODULE_HEADERS+=ENUMERATED.h
102ASN_MODULE_SOURCES+=ENUMERATED.c
103ASN_MODULE_HEADERS+=INTEGER.h
104ASN_MODULE_HEADERS+=NativeEnumerated.h
105ASN_MODULE_SOURCES+=INTEGER.c
106ASN_MODULE_HEADERS+=NULL.h
107ASN_MODULE_SOURCES+=NULL.c
108ASN_MODULE_SOURCES+=NativeEnumerated.c
109ASN_MODULE_HEADERS+=NativeInteger.h
110ASN_MODULE_SOURCES+=NativeInteger.c
111ASN_MODULE_HEADERS+=asn_SEQUENCE_OF.h
112ASN_MODULE_SOURCES+=asn_SEQUENCE_OF.c
113ASN_MODULE_HEADERS+=asn_SET_OF.h
114ASN_MODULE_SOURCES+=asn_SET_OF.c
115ASN_MODULE_HEADERS+=constr_CHOICE.h
116ASN_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
124ASN_MODULE_HEADERS+=asn_system.h
125ASN_MODULE_HEADERS+=asn_codecs.h
126ASN_MODULE_HEADERS+=asn_internal.h
127ASN_MODULE_HEADERS+=OCTET_STRING.h
128ASN_MODULE_SOURCES+=OCTET_STRING.c
129ASN_MODULE_HEADERS+=BIT_STRING.h
130ASN_MODULE_SOURCES+=BIT_STRING.c
131ASN_MODULE_SOURCES+=asn_codecs_prim.c
132ASN_MODULE_HEADERS+=asn_codecs_prim.h
133ASN_MODULE_HEADERS+=ber_tlv_length.h
134ASN_MODULE_SOURCES+=ber_tlv_length.c
135ASN_MODULE_HEADERS+=ber_tlv_tag.h
136ASN_MODULE_SOURCES+=ber_tlv_tag.c
137ASN_MODULE_HEADERS+=ber_decoder.h
138ASN_MODULE_SOURCES+=ber_decoder.c
139ASN_MODULE_HEADERS+=der_encoder.h
140ASN_MODULE_SOURCES+=der_encoder.c
141ASN_MODULE_HEADERS+=constr_TYPE.h
142ASN_MODULE_SOURCES+=constr_TYPE.c
143ASN_MODULE_HEADERS+=constraints.h
144ASN_MODULE_SOURCES+=constraints.c
145ASN_MODULE_HEADERS+=xer_support.h
146ASN_MODULE_SOURCES+=xer_support.c
147ASN_MODULE_HEADERS+=xer_decoder.h
148ASN_MODULE_SOURCES+=xer_decoder.c
149ASN_MODULE_HEADERS+=xer_encoder.h
150ASN_MODULE_SOURCES+=xer_encoder.c
151ASN_MODULE_HEADERS+=per_support.h
152ASN_MODULE_SOURCES+=per_support.c
153ASN_MODULE_HEADERS+=per_decoder.h
154ASN_MODULE_SOURCES+=per_decoder.c
155ASN_MODULE_HEADERS+=per_encoder.h
156ASN_MODULE_SOURCES+=per_encoder.c
Lev Walkinf5b49392006-09-12 06:19:15 +0000157ASN_CONVERTER_SOURCES+=converter-sample.c
Lev Walkin8c85f2a2006-09-09 11:26:09 +0000158
159
160lib_LTLIBRARIES=libsomething.la
161libsomething_la_SOURCES=$(ASN_MODULE_SOURCES) $(ASN_MODULE_HEADERS)
162
163# This file may be used as an input for make(3)
164# Remove the lines below to convert it into a pure .am file
165TARGET = ldap3dump
Lev Walkin1f12da42006-09-24 19:47:07 +0000166CFLAGS += -DHAVE_CONFIG_H -DJUNKTEST -DPDU=LDAPMessage -I.
Lev Walkinf5b49392006-09-12 06:19:15 +0000167OBJS=${ASN_MODULE_SOURCES:.c=.o} ${ASN_CONVERTER_SOURCES:.c=.o}
Lev Walkin8c85f2a2006-09-09 11:26:09 +0000168
169all: LDAPMessage.c $(TARGET)
170
171$(TARGET): ${OBJS}
172 $(CC) $(CFLAGS) -o $(TARGET) ${OBJS} $(LDFLAGS) $(LIBS)
173
174.SUFFIXES:
175.SUFFIXES: .c .o
176
177.c.o:
178 $(CC) $(CFLAGS) -o $@ -c $<
179
180clean:
181 rm -f $(TARGET)
182 rm -f $(OBJS)
183
184regen: regenerate-from-asn1-source
185
186regenerate-from-asn1-source:
Lev Walkind7f5cb92006-09-23 02:56:19 +0000187 ../../asn1c/asn1c -S ../../skeletons -pdu=LDAPMessage -fcompound-names ../rfc4511-Lightweight-Directory-Access-Protocol-V3.asn1
Lev Walkin8c85f2a2006-09-09 11:26:09 +0000188
189
Lev Walkinc33a59e2006-09-18 20:04:14 +0000190LDAPMessage.c: ../sample.makefile.regen ../rfc4511-Lightweight-Directory-Access-Protocol-V3.asn1
Lev Walkincc7c94e2006-09-17 04:01:29 +0000191 make regen-makefile
192 @touch LDAPMessage.c
193 make
194
195regen-makefile:
Lev Walkinf5b49392006-09-12 06:19:15 +0000196 ASN1CMDOPTS="-fcompound-names" \
197 ASN1MODULES="../rfc4511-Lightweight-Directory-Access-Protocol-V3.asn1" \
198 ASN1PDU=LDAPMessage \
199 PROGNAME=ldap3dump \
Lev Walkin2fd86de2006-09-13 02:10:23 +0000200 ../sample.makefile.regen
Lev Walkin8c85f2a2006-09-09 11:26:09 +0000201
Lev Walkin1f12da42006-09-24 19:47:07 +0000202check: ${TARGET} check-ber check-xer check-per
203 @echo ================
204 @echo All tests passed
205 @echo ================
206
207check-ber:
Lev Walkin00918812006-09-18 21:19:32 +0000208 @if test -f sample-LDAPMessage-1.[db]er ; then \
209 for f in sample-LDAPMessage-*.[db]er; do \
Lev Walkin13afe532006-09-18 21:30:04 +0000210 for b in 1 17 33 980 8192; do \
211 echo "Recoding $$f into XER and back ($$b)..."; \
212 ./${TARGET} -b $$b -iber -oxer $$f > ./.tmp.1.$$$$ || exit 2; \
Lev Walkin46a6bd22007-06-26 08:36:39 +0000213 ./${TARGET} -b $$b -ixer -oxer ./.tmp.1.$$$$ > ./.tmp.2.$$$$ || exit 3; \
214 diff ./.tmp.1.$$$$ ./.tmp.2.$$$$ || exit 4; \
Lev Walkinc33a59e2006-09-18 20:04:14 +0000215 rm -f ./.tmp.[12].$$$$; \
Lev Walkin1f12da42006-09-24 19:47:07 +0000216 echo "Test junking $$f (please wait)..."; \
Lev Walkin46a6bd22007-06-26 08:36:39 +0000217 ./${TARGET} -J0.0001 -n 1000 -b $$b -iber -onull $$f || exit 5; \
218 ./${TARGET} -J0.001 -n 1000 -b $$b -iber -onull $$f || exit 6; \
Lev Walkin13afe532006-09-18 21:30:04 +0000219 done; done; fi
Lev Walkin1f12da42006-09-24 19:47:07 +0000220
221check-xer:
Lev Walkin00918812006-09-18 21:19:32 +0000222 @if test -f sample-LDAPMessage-1.xer ; then \
223 for f in sample-LDAPMessage-*.xer; do \
Lev Walkin13afe532006-09-18 21:30:04 +0000224 for b in 1 17 33 980 8192; do \
225 echo "Recoding $$f into DER and back ($$b)..."; \
226 ./${TARGET} -b $$b -ixer -oder $$f > ./.tmp.1.$$$$ || exit 2; \
Lev Walkin46a6bd22007-06-26 08:36:39 +0000227 ./${TARGET} -b $$b -iber -oxer ./.tmp.1.$$$$ > ./.tmp.2.$$$$ || exit 3; \
228 diff $$f ./.tmp.2.$$$$ || exit 4; \
Lev Walkinc33a59e2006-09-18 20:04:14 +0000229 rm -f ./.tmp.[12].$$$$; \
Lev Walkin1f12da42006-09-24 19:47:07 +0000230 echo "Test junking $$f (please wait)..."; \
Lev Walkin46a6bd22007-06-26 08:36:39 +0000231 ./${TARGET} -J0.0001 -n 1000 -b $$b -ixer -onull $$f || exit 5; \
232 ./${TARGET} -J0.001 -n 1000 -b $$b -ixer -onull $$f || exit 6; \
Lev Walkin13afe532006-09-18 21:30:04 +0000233 done; done; fi
Lev Walkin1f12da42006-09-24 19:47:07 +0000234
235check-per:
Lev Walkin46a6bd22007-06-26 08:36:39 +0000236 @if test -f sample-LDAPMessage-1-nopad.per ; then \
237 for f in sample-LDAPMessage-[1-9]-nopad.per; do \
Lev Walkin13afe532006-09-18 21:30:04 +0000238 for b in 1 17 33 980 8192; do \
Lev Walkin46a6bd22007-06-26 08:36:39 +0000239 echo "Recoding non-padded $$f into DER into XER and back ($$b)..."; \
240 ./${TARGET} -b $$b -per-nopad -iper -oder $$f > ./.tmp.1.$$$$ || exit 2; \
241 ./${TARGET} -b $$b -iber -oxer ./.tmp.1.$$$$ > ./.tmp.2.$$$$ || exit 3; \
242 ./${TARGET} -b $$b -ixer -oder ./.tmp.2.$$$$ > ./.tmp.3.$$$$ || exit 4; \
243 diff ./.tmp.1.$$$$ ./.tmp.3.$$$$ || exit 5; \
Lev Walkin13afe532006-09-18 21:30:04 +0000244 rm -f ./.tmp.[123].$$$$; \
Lev Walkin1f12da42006-09-24 19:47:07 +0000245 echo "Test junking $$f (please wait)..."; \
Lev Walkin46a6bd22007-06-26 08:36:39 +0000246 ./${TARGET} -J0.0001 -n 1000 -b $$b -per-nopad -iper -onull $$f || exit 6; \
247 ./${TARGET} -J0.001 -n 1000 -b $$b -per-nopad -iper -onull $$f || exit 7; \
Lev Walkin13afe532006-09-18 21:30:04 +0000248 done; done; fi
Lev Walkin46a6bd22007-06-26 08:36:39 +0000249 @if test -f sample-LDAPMessage-1.per ; then \
250 for f in sample-*-[1-9].per; do \
Lev Walkin00918812006-09-18 21:19:32 +0000251 pdu=`echo $$f | sed -E -e "s/sample-([A-Za-z-]+)-[0-9].*/\1/"`; \
Lev Walkin13afe532006-09-18 21:30:04 +0000252 for b in 1 17 33 980 8192; do \
Lev Walkin46a6bd22007-06-26 08:36:39 +0000253 echo "Recoding $$f into DER into XER and back ($$b)..."; \
254 ./${TARGET} -b $$b -p $$pdu -iper -oder $$f > ./.tmp.1.$$$$ || exit 3; \
255 ./${TARGET} -b $$b -p $$pdu -iber -oxer ./.tmp.1.$$$$ > ./.tmp.2.$$$$ || exit 4; \
256 ./${TARGET} -b $$b -p $$pdu -ixer -oper ./.tmp.2.$$$$ > ./.tmp.1.$$$$ || exit 5; \
257 diff $$f ./.tmp.1.$$$$ || exit 6; \
Lev Walkin13afe532006-09-18 21:30:04 +0000258 rm -f ./.tmp.[12].$$$$; \
Lev Walkin1f12da42006-09-24 19:47:07 +0000259 echo "Test junking $$f (please wait)..."; \
Lev Walkin46a6bd22007-06-26 08:36:39 +0000260 ./${TARGET} -J0.0001 -n 1000 -b $$b -iper -onull $$f || exit 7; \
261 ./${TARGET} -J0.001 -n 1000 -b $$b -iper -onull $$f || exit 8; \
Lev Walkin13afe532006-09-18 21:30:04 +0000262 done; done; fi
Lev Walkinc744a022006-09-15 18:33:25 +0000263
Lev Walkin8c85f2a2006-09-09 11:26:09 +0000264distclean: clean
Lev Walkinbcda5ff2006-09-17 03:29:51 +0000265 rm -f $(ASN_MODULE_SOURCES)
266 rm -f $(ASN_MODULE_HEADERS)
Lev Walkinf5b49392006-09-12 06:19:15 +0000267 rm -f $(ASN_CONVERTER_SOURCES) $(ASN_CONVERTER_HEADERS)
Lev Walkin8c85f2a2006-09-09 11:26:09 +0000268 rm -f Makefile.am.sample