Merge lp:~ubuntu-branches/ubuntu/oneiric/openssl/oneiric-201110041452 into lp:ubuntu/oneiric/openssl

Proposed by Ubuntu Package Importer
Status: Needs review
Proposed branch: lp:~ubuntu-branches/ubuntu/oneiric/openssl/oneiric-201110041452
Merge into: lp:ubuntu/oneiric/openssl
Diff against target: 1890 lines (+0/-1866)
5 files modified
Makefile (+0/-640)
Makefile.bak (+0/-640)
apps/CA.pl (+0/-189)
crypto/opensslconf.h (+0/-217)
tools/c_rehash (+0/-180)
To merge this branch: bzr merge lp:~ubuntu-branches/ubuntu/oneiric/openssl/oneiric-201110041452
Reviewer Review Type Date Requested Status
Ubuntu branches Pending
Review via email: mp+78107@code.launchpad.net

Description of the change

The package importer has detected a possible inconsistency between the package history in the archive and the history in bzr. As the archive is authoritative the importer has made lp:ubuntu/oneiric/openssl reflect what is in the archive and the old bzr branch has been pushed to lp:~ubuntu-branches/ubuntu/oneiric/openssl/oneiric-201110041452. This merge proposal was created so that an Ubuntu developer can review the situations and perform a merge/upload if necessary. There are three typical cases where this can happen.
  1. Where someone pushes a change to bzr and someone else uploads the package without that change. This is the reason that this check is done by the importer. If this appears to be the case then a merge/upload should be done if the changes that were in bzr are still desirable.
  2. The importer incorrectly detected the above situation when someone made a change in bzr and then uploaded it.
  3. The importer incorrectly detected the above situation when someone just uploaded a package and didn't touch bzr.

If this case doesn't appear to be the first situation then set the status of the merge proposal to "Rejected" and help avoid the problem in future by filing a bug at https://bugs.launchpad.net/udd linking to this merge proposal.

(this is an automatically generated message)

To post a comment you must log in.

Unmerged revisions

61. By Colin Watson

releasing version 1.0.0e-2ubuntu3

60. By Colin Watson

merge lp:~anders-kaseorg/ubuntu/oneiric/openssl/spurious-reboot

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== removed file 'Makefile'
2--- Makefile 2011-09-14 22:06:03 +0000
3+++ Makefile 1970-01-01 00:00:00 +0000
4@@ -1,640 +0,0 @@
5-### Generated automatically from Makefile.org by Configure.
6-
7-##
8-## Makefile for OpenSSL
9-##
10-
11-VERSION=1.0.0e
12-MAJOR=1
13-MINOR=0.0
14-SHLIB_VERSION_NUMBER=1.0.0
15-SHLIB_VERSION_HISTORY=
16-SHLIB_MAJOR=1
17-SHLIB_MINOR=0.0
18-SHLIB_EXT=
19-PLATFORM=dist
20-OPTIONS= no-gmp no-jpake no-krb5 no-md2 no-rc5 no-rfc3779 no-shared no-store no-zlib no-zlib-dynamic static-engine
21-CONFIGURE_ARGS=dist
22-SHLIB_TARGET=
23-
24-# HERE indicates where this Makefile lives. This can be used to indicate
25-# where sub-Makefiles are expected to be. Currently has very limited usage,
26-# and should probably not be bothered with at all.
27-HERE=.
28-
29-# INSTALL_PREFIX is for package builders so that they can configure
30-# for, say, /usr/ and yet have everything installed to /tmp/somedir/usr/.
31-# Normally it is left empty.
32-INSTALL_PREFIX=
33-INSTALLTOP=/usr/local/ssl
34-
35-# Do not edit this manually. Use Configure --openssldir=DIR do change this!
36-OPENSSLDIR=/usr/local/ssl
37-
38-# NO_IDEA - Define to build without the IDEA algorithm
39-# NO_RC4 - Define to build without the RC4 algorithm
40-# NO_RC2 - Define to build without the RC2 algorithm
41-# THREADS - Define when building with threads, you will probably also need any
42-# system defines as well, i.e. _REENTERANT for Solaris 2.[34]
43-# TERMIO - Define the termio terminal subsystem, needed if sgtty is missing.
44-# TERMIOS - Define the termios terminal subsystem, Silicon Graphics.
45-# LONGCRYPT - Define to use HPUX 10.x's long password modification to crypt(3).
46-# DEVRANDOM - Give this the value of the 'random device' if your OS supports
47-# one. 32 bytes will be read from this when the random
48-# number generator is initalised.
49-# SSL_FORBID_ENULL - define if you want the server to be not able to use the
50-# NULL encryption ciphers.
51-#
52-# LOCK_DEBUG - turns on lots of lock debug output :-)
53-# REF_CHECK - turn on some xyz_free() assertions.
54-# REF_PRINT - prints some stuff on structure free.
55-# CRYPTO_MDEBUG - turns on my 'memory leak' detecting stuff
56-# MFUNC - Make all Malloc/Free/Realloc calls call
57-# CRYPTO_malloc/CRYPTO_free/CRYPTO_realloc which can be setup to
58-# call application defined callbacks via CRYPTO_set_mem_functions()
59-# MD5_ASM needs to be defined to use the x86 assembler for MD5
60-# SHA1_ASM needs to be defined to use the x86 assembler for SHA1
61-# RMD160_ASM needs to be defined to use the x86 assembler for RIPEMD160
62-# Do not define B_ENDIAN or L_ENDIAN if 'unsigned long' == 8. It must
63-# equal 4.
64-# PKCS1_CHECK - pkcs1 tests.
65-
66-CC= cc
67-CFLAG= -O
68-DEPFLAG= -DOPENSSL_NO_GMP -DOPENSSL_NO_JPAKE -DOPENSSL_NO_MD2 -DOPENSSL_NO_RC5 -DOPENSSL_NO_RFC3779 -DOPENSSL_NO_STORE
69-PEX_LIBS=
70-EX_LIBS=
71-EXE_EXT=
72-ARFLAGS=
73-AR= ar $(ARFLAGS) r
74-RANLIB= /usr/bin/ranlib
75-NM= nm
76-PERL= /usr/bin/perl
77-TAR= tar
78-TARFLAGS= --no-recursion
79-MAKEDEPPROG=makedepend
80-LIBDIR=lib
81-
82-# We let the C compiler driver to take care of .s files. This is done in
83-# order to be excused from maintaining a separate set of architecture
84-# dependent assembler flags. E.g. if you throw -mcpu=ultrasparc at SPARC
85-# gcc, then the driver will automatically translate it to -xarch=v8plus
86-# and pass it down to assembler.
87-AS=$(CC) -c
88-ASFLAG=$(CFLAG)
89-
90-# For x86 assembler: Set PROCESSOR to 386 if you want to support
91-# the 80386.
92-PROCESSOR=
93-
94-# CPUID module collects small commonly used assembler snippets
95-CPUID_OBJ= mem_clr.o
96-BN_ASM= bn_asm.o
97-DES_ENC= des_enc.o fcrypt_b.o
98-AES_ENC= aes_core.o aes_cbc.o
99-BF_ENC= bf_enc.o
100-CAST_ENC= c_enc.o
101-RC4_ENC= rc4_enc.o rc4_skey.o
102-RC5_ENC= rc5_enc.o
103-MD5_ASM_OBJ=
104-SHA1_ASM_OBJ=
105-RMD160_ASM_OBJ=
106-WP_ASM_OBJ= wp_block.o
107-CMLL_ENC= camellia.o cmll_misc.o cmll_cbc.o
108-PERLASM_SCHEME=
109-
110-# KRB5 stuff
111-KRB5_INCLUDES=
112-LIBKRB5=
113-
114-# Zlib stuff
115-ZLIB_INCLUDE=
116-LIBZLIB=
117-
118-DIRS= crypto ssl engines apps test tools
119-ENGDIRS= ccgost
120-SHLIBDIRS= crypto ssl
121-
122-# dirs in crypto to build
123-SDIRS= \
124- objects \
125- md4 md5 sha mdc2 hmac ripemd whrlpool \
126- des aes rc2 rc4 idea bf cast camellia seed modes \
127- bn ec rsa dsa ecdsa dh ecdh dso engine \
128- buffer bio stack lhash rand err \
129- evp asn1 pem x509 x509v3 conf txt_db pkcs7 pkcs12 comp ocsp ui krb5 \
130- cms pqueue ts
131-# keep in mind that the above list is adjusted by ./Configure
132-# according to no-xxx arguments...
133-
134-# tests to perform. "alltests" is a special word indicating that all tests
135-# should be performed.
136-TESTS = alltests
137-
138-MAKEFILE= Makefile
139-
140-MANDIR=$(OPENSSLDIR)/man
141-MAN1=1
142-MAN3=3
143-MANSUFFIX=
144-HTMLSUFFIX=html
145-HTMLDIR=$(OPENSSLDIR)/html
146-SHELL=/bin/sh
147-
148-TOP= .
149-ONEDIRS=out tmp
150-EDIRS= times doc bugs util include certs ms shlib mt demos perl sf dep VMS
151-WDIRS= windows
152-LIBS= libcrypto.a libssl.a
153-SHARED_CRYPTO=libcrypto$(SHLIB_EXT)
154-SHARED_SSL=libssl$(SHLIB_EXT)
155-SHARED_LIBS=
156-SHARED_LIBS_LINK_EXTS=
157-SHARED_LDFLAGS=
158-
159-GENERAL= Makefile
160-BASENAME= openssl
161-NAME= $(BASENAME)-$(VERSION)
162-TARFILE= $(NAME).tar
163-WTARFILE= $(NAME)-win.tar
164-EXHEADER= e_os2.h
165-HEADER= e_os.h
166-
167-all: Makefile build_all openssl.pc libssl.pc libcrypto.pc
168-
169-# as we stick to -e, CLEARENV ensures that local variables in lower
170-# Makefiles remain local and variable. $${VAR+VAR} is tribute to Korn
171-# shell, which [annoyingly enough] terminates unset with error if VAR
172-# is not present:-( TOP= && unset TOP is tribute to HP-UX /bin/sh,
173-# which terminates unset with error if no variable was present:-(
174-CLEARENV= TOP= && unset TOP $${LIB+LIB} $${LIBS+LIBS} \
175- $${INCLUDE+INCLUDE} $${INCLUDES+INCLUDES} \
176- $${DIR+DIR} $${DIRS+DIRS} $${SRC+SRC} \
177- $${LIBSRC+LIBSRC} $${LIBOBJ+LIBOBJ} $${ALL+ALL} \
178- $${EXHEADER+EXHEADER} $${HEADER+HEADER} \
179- $${GENERAL+GENERAL} $${CFLAGS+CFLAGS} \
180- $${ASFLAGS+ASFLAGS} $${AFLAGS+AFLAGS} \
181- $${LDCMD+LDCMD} $${LDFLAGS+LDFLAGS} \
182- $${SHAREDCMD+SHAREDCMD} $${SHAREDFLAGS+SHAREDFLAGS} \
183- $${SHARED_LIB+SHARED_LIB} $${LIBEXTRAS+LIBEXTRAS}
184-
185-BUILDENV= PLATFORM='$(PLATFORM)' PROCESSOR='$(PROCESSOR)' \
186- CC='$(CC)' CFLAG='$(CFLAG)' \
187- AS='$(CC)' ASFLAG='$(CFLAG) -c' \
188- AR='$(AR)' NM='$(NM)' RANLIB='$(RANLIB)' \
189- CROSS_COMPILE='$(CROSS_COMPILE)' \
190- PERL='$(PERL)' ENGDIRS='$(ENGDIRS)' \
191- SDIRS='$(SDIRS)' LIBRPATH='$(INSTALLTOP)/$(LIBDIR)' \
192- INSTALL_PREFIX='$(INSTALL_PREFIX)' \
193- INSTALLTOP='$(INSTALLTOP)' OPENSSLDIR='$(OPENSSLDIR)' \
194- LIBDIR='$(LIBDIR)' \
195- MAKEDEPEND='$$$${TOP}/util/domd $$$${TOP} -MD $(MAKEDEPPROG)' \
196- DEPFLAG='-DOPENSSL_NO_DEPRECATED $(DEPFLAG)' \
197- MAKEDEPPROG='$(MAKEDEPPROG)' \
198- SHARED_LDFLAGS='$(SHARED_LDFLAGS)' \
199- KRB5_INCLUDES='$(KRB5_INCLUDES)' LIBKRB5='$(LIBKRB5)' \
200- ZLIB_INCLUDE='$(ZLIB_INCLUDE)' LIBZLIB='$(LIBZLIB)' \
201- EXE_EXT='$(EXE_EXT)' SHARED_LIBS='$(SHARED_LIBS)' \
202- SHLIB_EXT='$(SHLIB_EXT)' SHLIB_TARGET='$(SHLIB_TARGET)' \
203- PEX_LIBS='$(PEX_LIBS)' EX_LIBS='$(EX_LIBS)' \
204- CPUID_OBJ='$(CPUID_OBJ)' \
205- BN_ASM='$(BN_ASM)' DES_ENC='$(DES_ENC)' \
206- AES_ENC='$(AES_ENC)' CMLL_ENC='$(CMLL_ENC)' \
207- BF_ENC='$(BF_ENC)' CAST_ENC='$(CAST_ENC)' \
208- RC4_ENC='$(RC4_ENC)' RC5_ENC='$(RC5_ENC)' \
209- SHA1_ASM_OBJ='$(SHA1_ASM_OBJ)' \
210- MD5_ASM_OBJ='$(MD5_ASM_OBJ)' \
211- RMD160_ASM_OBJ='$(RMD160_ASM_OBJ)' \
212- WP_ASM_OBJ='$(WP_ASM_OBJ)' \
213- PERLASM_SCHEME='$(PERLASM_SCHEME)' \
214- THIS=$${THIS:-$@} MAKEFILE=Makefile MAKEOVERRIDES=
215-# MAKEOVERRIDES= effectively "equalizes" GNU-ish and SysV-ish make flavors,
216-# which in turn eliminates ambiguities in variable treatment with -e.
217-
218-# BUILD_CMD is a generic macro to build a given target in a given
219-# subdirectory. The target must be given through the shell variable
220-# `target' and the subdirectory to build in must be given through `dir'.
221-# This macro shouldn't be used directly, use RECURSIVE_BUILD_CMD or
222-# BUILD_ONE_CMD instead.
223-#
224-# BUILD_ONE_CMD is a macro to build a given target in a given
225-# subdirectory if that subdirectory is part of $(DIRS). It requires
226-# exactly the same shell variables as BUILD_CMD.
227-#
228-# RECURSIVE_BUILD_CMD is a macro to build a given target in all
229-# subdirectories defined in $(DIRS). It requires that the target
230-# is given through the shell variable `target'.
231-BUILD_CMD= if [ -d "$$dir" ]; then \
232- ( cd $$dir && echo "making $$target in $$dir..." && \
233- $(CLEARENV) && $(MAKE) -e $(BUILDENV) TOP=.. DIR=$$dir $$target \
234- ) || exit 1; \
235- fi
236-RECURSIVE_BUILD_CMD=for dir in $(DIRS); do $(BUILD_CMD); done
237-BUILD_ONE_CMD=\
238- if expr " $(DIRS) " : ".* $$dir " >/dev/null 2>&1; then \
239- $(BUILD_CMD); \
240- fi
241-
242-reflect:
243- @[ -n "$(THIS)" ] && $(CLEARENV) && $(MAKE) $(THIS) -e $(BUILDENV)
244-
245-sub_all: build_all
246-build_all: build_libs build_apps build_tests build_tools
247-
248-build_libs: build_crypto build_ssl build_engines
249-
250-build_crypto:
251- @dir=crypto; target=all; $(BUILD_ONE_CMD)
252-build_ssl:
253- @dir=ssl; target=all; $(BUILD_ONE_CMD)
254-build_engines:
255- @dir=engines; target=all; $(BUILD_ONE_CMD)
256-build_apps:
257- @dir=apps; target=all; $(BUILD_ONE_CMD)
258-build_tests:
259- @dir=test; target=all; $(BUILD_ONE_CMD)
260-build_tools:
261- @dir=tools; target=all; $(BUILD_ONE_CMD)
262-
263-all_testapps: build_libs build_testapps
264-build_testapps:
265- @dir=crypto; target=testapps; $(BUILD_ONE_CMD)
266-
267-libcrypto$(SHLIB_EXT): libcrypto.a
268- @if [ "$(SHLIB_TARGET)" != "" ]; then \
269- $(MAKE) SHLIBDIRS=crypto build-shared; \
270- else \
271- echo "There's no support for shared libraries on this platform" >&2; \
272- exit 1; \
273- fi
274-
275-libssl$(SHLIB_EXT): libcrypto$(SHLIB_EXT) libssl.a
276- @if [ "$(SHLIB_TARGET)" != "" ]; then \
277- $(MAKE) SHLIBDIRS=ssl SHLIBDEPS='-lcrypto' build-shared; \
278- else \
279- echo "There's no support for shared libraries on this platform" >&2; \
280- exit 1; \
281- fi
282-
283-clean-shared:
284- @set -e; for i in $(SHLIBDIRS); do \
285- if [ -n "$(SHARED_LIBS_LINK_EXTS)" ]; then \
286- tmp="$(SHARED_LIBS_LINK_EXTS)"; \
287- for j in $${tmp:-x}; do \
288- ( set -x; rm -f lib$$i$$j ); \
289- done; \
290- fi; \
291- ( set -x; rm -f lib$$i$(SHLIB_EXT) ); \
292- if [ "$(PLATFORM)" = "Cygwin" ]; then \
293- ( set -x; rm -f cyg$$i$(SHLIB_EXT) lib$$i$(SHLIB_EXT).a ); \
294- fi; \
295- done
296-
297-link-shared:
298- @ set -e; for i in $(SHLIBDIRS); do \
299- $(MAKE) -f $(HERE)/Makefile.shared -e $(BUILDENV) \
300- LIBNAME=$$i LIBVERSION=$(SHLIB_MAJOR).$(SHLIB_MINOR) \
301- LIBCOMPATVERSIONS=";$(SHLIB_VERSION_HISTORY)" \
302- symlink.$(SHLIB_TARGET); \
303- libs="$$libs -l$$i"; \
304- done
305-
306-build-shared: do_$(SHLIB_TARGET) link-shared
307-
308-do_$(SHLIB_TARGET):
309- @ set -e; libs='-L. $(SHLIBDEPS)'; for i in $(SHLIBDIRS); do \
310- if [ "$$i" = "ssl" -a -n "$(LIBKRB5)" ]; then \
311- libs="$(LIBKRB5) $$libs"; \
312- fi; \
313- $(CLEARENV) && $(MAKE) -f Makefile.shared -e $(BUILDENV) \
314- LIBNAME=$$i LIBVERSION=$(SHLIB_MAJOR).$(SHLIB_MINOR) \
315- LIBCOMPATVERSIONS=";$(SHLIB_VERSION_HISTORY)" \
316- LIBDEPS="$$libs $(EX_LIBS)" \
317- link_a.$(SHLIB_TARGET); \
318- libs="-l$$i $$libs"; \
319- done
320-
321-libcrypto.pc: Makefile
322- @ ( echo 'prefix=$(INSTALLTOP)'; \
323- echo 'exec_prefix=$${prefix}'; \
324- echo 'libdir=$${exec_prefix}/$(LIBDIR)'; \
325- echo 'includedir=$${prefix}/include'; \
326- echo ''; \
327- echo 'Name: OpenSSL-libcrypto'; \
328- echo 'Description: OpenSSL cryptography library'; \
329- echo 'Version: '$(VERSION); \
330- echo 'Requires: '; \
331- echo 'Libs: -L$${libdir} -lcrypto $(EX_LIBS)'; \
332- echo 'Cflags: -I$${includedir} $(KRB5_INCLUDES)' ) > libcrypto.pc
333-
334-libssl.pc: Makefile
335- @ ( echo 'prefix=$(INSTALLTOP)'; \
336- echo 'exec_prefix=$${prefix}'; \
337- echo 'libdir=$${exec_prefix}/$(LIBDIR)'; \
338- echo 'includedir=$${prefix}/include'; \
339- echo ''; \
340- echo 'Name: OpenSSL'; \
341- echo 'Description: Secure Sockets Layer and cryptography libraries'; \
342- echo 'Version: '$(VERSION); \
343- echo 'Requires: '; \
344- echo 'Libs: -L$${libdir} -lssl -lcrypto $(EX_LIBS)'; \
345- echo 'Cflags: -I$${includedir} $(KRB5_INCLUDES)' ) > libssl.pc
346-
347-openssl.pc: Makefile
348- @ ( echo 'prefix=$(INSTALLTOP)'; \
349- echo 'exec_prefix=$${prefix}'; \
350- echo 'libdir=$${exec_prefix}/$(LIBDIR)'; \
351- echo 'includedir=$${prefix}/include'; \
352- echo ''; \
353- echo 'Name: OpenSSL'; \
354- echo 'Description: Secure Sockets Layer and cryptography libraries and tools'; \
355- echo 'Version: '$(VERSION); \
356- echo 'Requires: '; \
357- echo 'Libs: -L$${libdir} -lssl -lcrypto $(EX_LIBS)'; \
358- echo 'Cflags: -I$${includedir} $(KRB5_INCLUDES)' ) > openssl.pc
359-
360-Makefile: Makefile.org Configure config
361- @echo "Makefile is older than Makefile.org, Configure or config."
362- @echo "Reconfigure the source tree (via './config' or 'perl Configure'), please."
363- @false
364-
365-libclean:
366- rm -f *.map *.so *.so.* *.dll engines/*.so engines/*.dll *.a engines/*.a */lib */*/lib
367-
368-clean: libclean
369- rm -f shlib/*.o *.o core a.out fluff rehash.time testlog make.log cctest cctest.c
370- @set -e; target=clean; $(RECURSIVE_BUILD_CMD)
371- rm -f $(LIBS)
372- rm -f openssl.pc libssl.pc libcrypto.pc
373- rm -f speed.* .pure
374- rm -f $(TARFILE)
375- @set -e; for i in $(ONEDIRS) ;\
376- do \
377- rm -fr $$i/*; \
378- done
379-
380-makefile.one: files
381- $(PERL) util/mk1mf.pl >makefile.one; \
382- sh util/do_ms.sh
383-
384-files:
385- $(PERL) $(TOP)/util/files.pl Makefile > $(TOP)/MINFO
386- @set -e; target=files; $(RECURSIVE_BUILD_CMD)
387-
388-links:
389- @$(PERL) $(TOP)/util/mkdir-p.pl include/openssl
390- @$(PERL) $(TOP)/util/mklink.pl include/openssl $(EXHEADER)
391- @set -e; target=links; $(RECURSIVE_BUILD_CMD)
392-
393-gentests:
394- @(cd test && echo "generating dummy tests (if needed)..." && \
395- $(CLEARENV) && $(MAKE) -e $(BUILDENV) TESTS='$(TESTS)' OPENSSL_DEBUG_MEMORY=on generate );
396-
397-dclean:
398- rm -rf *.bak include/openssl certs/.0
399- @set -e; target=dclean; $(RECURSIVE_BUILD_CMD)
400-
401-rehash: rehash.time
402-rehash.time: certs apps
403- @if [ -z "$(CROSS_COMPILE)" ]; then \
404- (OPENSSL="`pwd`/util/opensslwrap.sh"; \
405- [ -x "apps/openssl.exe" ] && OPENSSL="apps/openssl.exe" || :; \
406- OPENSSL_DEBUG_MEMORY=on; \
407- export OPENSSL OPENSSL_DEBUG_MEMORY; \
408- $(PERL) tools/c_rehash certs) && \
409- touch rehash.time; \
410- else :; fi
411-
412-test: tests
413-
414-tests: rehash
415- @(cd test && echo "testing..." && \
416- $(CLEARENV) && $(MAKE) -e $(BUILDENV) TOP=.. TESTS='$(TESTS)' OPENSSL_DEBUG_MEMORY=on OPENSSL_CONF=../apps/openssl.cnf tests );
417- OPENSSL_CONF=apps/openssl.cnf util/opensslwrap.sh version -a
418-
419-report:
420- @$(PERL) util/selftest.pl
421-
422-depend:
423- @set -e; target=depend; $(RECURSIVE_BUILD_CMD)
424-
425-lint:
426- @set -e; target=lint; $(RECURSIVE_BUILD_CMD)
427-
428-tags:
429- rm -f TAGS
430- find . -name '[^.]*.[ch]' | xargs etags -a
431-
432-errors:
433- $(PERL) util/mkerr.pl -recurse -write
434- (cd engines; $(MAKE) PERL=$(PERL) errors)
435- $(PERL) util/ck_errf.pl */*.c */*/*.c
436-
437-stacks:
438- $(PERL) util/mkstack.pl -write
439-
440-util/libeay.num::
441- $(PERL) util/mkdef.pl crypto update
442-
443-util/ssleay.num::
444- $(PERL) util/mkdef.pl ssl update
445-
446-crypto/objects/obj_dat.h: crypto/objects/obj_dat.pl crypto/objects/obj_mac.h
447- $(PERL) crypto/objects/obj_dat.pl crypto/objects/obj_mac.h crypto/objects/obj_dat.h
448-crypto/objects/obj_mac.h: crypto/objects/objects.pl crypto/objects/objects.txt crypto/objects/obj_mac.num
449- $(PERL) crypto/objects/objects.pl crypto/objects/objects.txt crypto/objects/obj_mac.num crypto/objects/obj_mac.h
450-crypto/objects/obj_xref.h: crypto/objects/objxref.pl crypto/objects/obj_xref.txt crypto/objects/obj_mac.num
451- $(PERL) crypto/objects/objxref.pl crypto/objects/obj_mac.num crypto/objects/obj_xref.txt >crypto/objects/obj_xref.h
452-
453-apps/openssl-vms.cnf: apps/openssl.cnf
454- $(PERL) VMS/VMSify-conf.pl < apps/openssl.cnf > apps/openssl-vms.cnf
455-
456-crypto/bn/bn_prime.h: crypto/bn/bn_prime.pl
457- $(PERL) crypto/bn/bn_prime.pl >crypto/bn/bn_prime.h
458-
459-
460-TABLE: Configure
461- (echo 'Output of `Configure TABLE'"':"; \
462- $(PERL) Configure TABLE) > TABLE
463-
464-update: errors stacks util/libeay.num util/ssleay.num crypto/objects/obj_dat.h crypto/objects/obj_xref.h apps/openssl-vms.cnf crypto/bn/bn_prime.h TABLE depend
465-
466-# Build distribution tar-file. As the list of files returned by "find" is
467-# pretty long, on several platforms a "too many arguments" error or similar
468-# would occur. Therefore the list of files is temporarily stored into a file
469-# and read directly, requiring GNU-Tar. Call "make TAR=gtar dist" if the normal
470-# tar does not support the --files-from option.
471-tar:
472- find . -type d -print | xargs chmod 755
473- find . -type f -print | xargs chmod a+r
474- find . -type f -perm -0100 -print | xargs chmod a+x
475- find * \! -path CVS/\* \! -path \*/CVS/\* \! -name CVS \! -name .cvsignore \! -name STATUS \! -name TABLE | sort > ../$(TARFILE).list; \
476- $(TAR) $(TARFLAGS) --files-from ../$(TARFILE).list -cvf - | \
477- tardy --user_number=0 --user_name=openssl \
478- --group_number=0 --group_name=openssl \
479- --prefix=openssl-$(VERSION) - |\
480- gzip --best >../$(TARFILE).gz; \
481- rm -f ../$(TARFILE).list; \
482- ls -l ../$(TARFILE).gz
483-
484-tar-snap:
485- @$(TAR) $(TARFLAGS) -cvf - \
486- `find * \! -path CVS/\* \! -path \*/CVS/\* \! -name CVS \! -name .cvsignore \! -name STATUS \! -name TABLE \! -name '*.o' \! -name '*.a' \! -name '*.so' \! -name '*.so.*' \! -name 'openssl' \! -name '*test' \! -name '.#*' \! -name '*~' | sort` |\
487- tardy --user_number=0 --user_name=openssl \
488- --group_number=0 --group_name=openssl \
489- --prefix=openssl-$(VERSION) - > ../$(TARFILE);\
490- ls -l ../$(TARFILE)
491-
492-dist:
493- $(PERL) Configure dist
494- @$(MAKE) dist_pem_h
495- @$(MAKE) SDIRS='$(SDIRS)' clean
496- @$(MAKE) TAR='$(TAR)' TARFLAGS='$(TARFLAGS)' tar
497-
498-dist_pem_h:
499- (cd crypto/pem; $(MAKE) -e $(BUILDENV) pem.h; $(MAKE) clean)
500-
501-install: all install_docs install_sw
502-
503-install_sw:
504- @$(PERL) $(TOP)/util/mkdir-p.pl $(INSTALL_PREFIX)$(INSTALLTOP)/bin \
505- $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR) \
506- $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines \
507- $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/pkgconfig \
508- $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl \
509- $(INSTALL_PREFIX)$(OPENSSLDIR)/misc \
510- $(INSTALL_PREFIX)$(OPENSSLDIR)/certs \
511- $(INSTALL_PREFIX)$(OPENSSLDIR)/private
512- @set -e; headerlist="$(EXHEADER)"; for i in $$headerlist;\
513- do \
514- (cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i; \
515- chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i ); \
516- done;
517- @set -e; target=install; $(RECURSIVE_BUILD_CMD)
518- @set -e; for i in $(LIBS) ;\
519- do \
520- if [ -f "$$i" ]; then \
521- ( echo installing $$i; \
522- cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i.new; \
523- $(RANLIB) $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i.new; \
524- chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i.new; \
525- mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i.new $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i ); \
526- fi; \
527- done;
528- @set -e; if [ -n "$(SHARED_LIBS)" ]; then \
529- tmp="$(SHARED_LIBS)"; \
530- for i in $${tmp:-x}; \
531- do \
532- if [ -f "$$i" -o -f "$$i.a" ]; then \
533- ( echo installing $$i; \
534- if [ "$(PLATFORM)" != "Cygwin" ]; then \
535- cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i.new; \
536- chmod 555 $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i.new; \
537- mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i.new $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i; \
538- else \
539- c=`echo $$i | sed 's/^lib\(.*\)\.dll\.a/cyg\1-$(SHLIB_VERSION_NUMBER).dll/'`; \
540- cp $$c $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$c.new; \
541- chmod 755 $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$c.new; \
542- mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$c.new $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$c; \
543- cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i.new; \
544- chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i.new; \
545- mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i.new $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i; \
546- fi ); \
547- if expr $(PLATFORM) : 'mingw' > /dev/null; then \
548- ( case $$i in \
549- *crypto*) i=libeay32.dll;; \
550- *ssl*) i=ssleay32.dll;; \
551- esac; \
552- echo installing $$i; \
553- cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$i.new; \
554- chmod 755 $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$i.new; \
555- mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$i.new $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$i ); \
556- fi; \
557- fi; \
558- done; \
559- ( here="`pwd`"; \
560- cd $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR); \
561- $(MAKE) -f $$here/Makefile HERE="$$here" link-shared ); \
562- if [ "$(INSTALLTOP)" != "/usr" ]; then \
563- echo 'OpenSSL shared libraries have been installed in:'; \
564- echo ' $(INSTALLTOP)'; \
565- echo ''; \
566- sed -e '1,/^$$/d' doc/openssl-shared.txt; \
567- fi; \
568- fi
569- cp libcrypto.pc $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/pkgconfig
570- chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/pkgconfig/libcrypto.pc
571- cp libssl.pc $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/pkgconfig
572- chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/pkgconfig/libssl.pc
573- cp openssl.pc $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/pkgconfig
574- chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/pkgconfig/openssl.pc
575-
576-install_html_docs:
577- here="`pwd`"; \
578- for subdir in apps crypto ssl; do \
579- mkdir -p $(INSTALL_PREFIX)$(HTMLDIR)/$$subdir; \
580- for i in doc/$$subdir/*.pod; do \
581- fn=`basename $$i .pod`; \
582- echo "installing html/$$fn.$(HTMLSUFFIX)"; \
583- cat $$i \
584- | sed -r 's/L<([^)]*)(\([0-9]\))?\|([^)]*)(\([0-9]\))?>/L<\1|\3>/g' \
585- | pod2html --podroot=doc --htmlroot=.. --podpath=apps:crypto:ssl \
586- | sed -r 's/<!DOCTYPE.*//g' \
587- > $(INSTALL_PREFIX)$(HTMLDIR)/$$subdir/$$fn.$(HTMLSUFFIX); \
588- $(PERL) util/extract-names.pl < $$i | \
589- grep -v $$filecase "^$$fn\$$" | \
590- (cd $(INSTALL_PREFIX)$(HTMLDIR)/$$subdir; \
591- while read n; do \
592- PLATFORM=$(PLATFORM) $$here/util/point.sh $$fn.$(HTMLSUFFIX) "$$n".$(HTMLSUFFIX); \
593- done); \
594- done; \
595- done
596-
597-install_docs:
598- @$(PERL) $(TOP)/util/mkdir-p.pl \
599- $(INSTALL_PREFIX)$(MANDIR)/man1 \
600- $(INSTALL_PREFIX)$(MANDIR)/man3 \
601- $(INSTALL_PREFIX)$(MANDIR)/man5 \
602- $(INSTALL_PREFIX)$(MANDIR)/man7
603- @pod2man="`cd ./util; ./pod2mantest $(PERL)`"; \
604- here="`pwd`"; \
605- filecase=; \
606- if [ "$(PLATFORM)" = "DJGPP" -o "$(PLATFORM)" = "Cygwin" -o "$(PLATFORM)" = "mingw" ]; then \
607- filecase=-i; \
608- fi; \
609- set -e; for i in doc/apps/*.pod; do \
610- fn=`basename $$i .pod`; \
611- sec=`$(PERL) util/extract-section.pl 1 < $$i`; \
612- echo "installing man$$sec/$$fn.$${sec}$(MANSUFFIX)"; \
613- (cd `$(PERL) util/dirname.pl $$i`; \
614- sh -c "$$pod2man \
615- --section=$$sec --center=OpenSSL \
616- --release=$(VERSION) `basename $$i`") \
617- > $(INSTALL_PREFIX)$(MANDIR)/man$$sec/$$fn.$${sec}$(MANSUFFIX); \
618- $(PERL) util/extract-names.pl < $$i | \
619- (grep -v $$filecase "^$$fn\$$"; true) | \
620- (grep -v "[ ]"; true) | \
621- (cd $(INSTALL_PREFIX)$(MANDIR)/man$$sec/; \
622- while read n; do \
623- PLATFORM=$(PLATFORM) $$here/util/point.sh $$fn.$${sec}$(MANSUFFIX) "$$n".$${sec}$(MANSUFFIX); \
624- done); \
625- done; \
626- set -e; for i in doc/crypto/*.pod doc/ssl/*.pod; do \
627- fn=`basename $$i .pod`; \
628- sec=`$(PERL) util/extract-section.pl 3 < $$i`; \
629- echo "installing man$$sec/$$fn.$${sec}$(MANSUFFIX)"; \
630- (cd `$(PERL) util/dirname.pl $$i`; \
631- sh -c "$$pod2man \
632- --section=$$sec --center=OpenSSL \
633- --release=$(VERSION) `basename $$i`") \
634- > $(INSTALL_PREFIX)$(MANDIR)/man$$sec/$$fn.$${sec}$(MANSUFFIX); \
635- $(PERL) util/extract-names.pl < $$i | \
636- (grep -v $$filecase "^$$fn\$$"; true) | \
637- (grep -v "[ ]"; true) | \
638- (cd $(INSTALL_PREFIX)$(MANDIR)/man$$sec/; \
639- while read n; do \
640- PLATFORM=$(PLATFORM) $$here/util/point.sh $$fn.$${sec}$(MANSUFFIX) "$$n".$${sec}$(MANSUFFIX); \
641- done); \
642- done
643-
644-# DO NOT DELETE THIS LINE -- make depend depends on it.
645
646=== removed file 'Makefile.bak'
647--- Makefile.bak 2011-09-10 12:03:13 +0000
648+++ Makefile.bak 1970-01-01 00:00:00 +0000
649@@ -1,640 +0,0 @@
650-### Generated automatically from Makefile.org by Configure.
651-
652-##
653-## Makefile for OpenSSL
654-##
655-
656-VERSION=1.0.0e
657-MAJOR=1
658-MINOR=0.0
659-SHLIB_VERSION_NUMBER=1.0.0
660-SHLIB_VERSION_HISTORY=
661-SHLIB_MAJOR=1
662-SHLIB_MINOR=0.0
663-SHLIB_EXT=
664-PLATFORM=dist
665-OPTIONS= no-gmp no-jpake no-krb5 no-md2 no-rc5 no-rfc3779 no-shared no-store no-zlib no-zlib-dynamic static-engine
666-CONFIGURE_ARGS=dist
667-SHLIB_TARGET=
668-
669-# HERE indicates where this Makefile lives. This can be used to indicate
670-# where sub-Makefiles are expected to be. Currently has very limited usage,
671-# and should probably not be bothered with at all.
672-HERE=.
673-
674-# INSTALL_PREFIX is for package builders so that they can configure
675-# for, say, /usr/ and yet have everything installed to /tmp/somedir/usr/.
676-# Normally it is left empty.
677-INSTALL_PREFIX=
678-INSTALLTOP=/usr/local/ssl
679-
680-# Do not edit this manually. Use Configure --openssldir=DIR do change this!
681-OPENSSLDIR=/usr/local/ssl
682-
683-# NO_IDEA - Define to build without the IDEA algorithm
684-# NO_RC4 - Define to build without the RC4 algorithm
685-# NO_RC2 - Define to build without the RC2 algorithm
686-# THREADS - Define when building with threads, you will probably also need any
687-# system defines as well, i.e. _REENTERANT for Solaris 2.[34]
688-# TERMIO - Define the termio terminal subsystem, needed if sgtty is missing.
689-# TERMIOS - Define the termios terminal subsystem, Silicon Graphics.
690-# LONGCRYPT - Define to use HPUX 10.x's long password modification to crypt(3).
691-# DEVRANDOM - Give this the value of the 'random device' if your OS supports
692-# one. 32 bytes will be read from this when the random
693-# number generator is initalised.
694-# SSL_FORBID_ENULL - define if you want the server to be not able to use the
695-# NULL encryption ciphers.
696-#
697-# LOCK_DEBUG - turns on lots of lock debug output :-)
698-# REF_CHECK - turn on some xyz_free() assertions.
699-# REF_PRINT - prints some stuff on structure free.
700-# CRYPTO_MDEBUG - turns on my 'memory leak' detecting stuff
701-# MFUNC - Make all Malloc/Free/Realloc calls call
702-# CRYPTO_malloc/CRYPTO_free/CRYPTO_realloc which can be setup to
703-# call application defined callbacks via CRYPTO_set_mem_functions()
704-# MD5_ASM needs to be defined to use the x86 assembler for MD5
705-# SHA1_ASM needs to be defined to use the x86 assembler for SHA1
706-# RMD160_ASM needs to be defined to use the x86 assembler for RIPEMD160
707-# Do not define B_ENDIAN or L_ENDIAN if 'unsigned long' == 8. It must
708-# equal 4.
709-# PKCS1_CHECK - pkcs1 tests.
710-
711-CC= cc
712-CFLAG= -O
713-DEPFLAG= -DOPENSSL_NO_GMP -DOPENSSL_NO_JPAKE -DOPENSSL_NO_MD2 -DOPENSSL_NO_RC5 -DOPENSSL_NO_RFC3779 -DOPENSSL_NO_STORE
714-PEX_LIBS=
715-EX_LIBS=
716-EXE_EXT=
717-ARFLAGS=
718-AR= ar $(ARFLAGS) r
719-RANLIB= /usr/bin/ranlib
720-NM= nm
721-PERL= /usr/bin/perl
722-TAR= tar
723-TARFLAGS= --no-recursion
724-MAKEDEPPROG=makedepend
725-LIBDIR=lib
726-
727-# We let the C compiler driver to take care of .s files. This is done in
728-# order to be excused from maintaining a separate set of architecture
729-# dependent assembler flags. E.g. if you throw -mcpu=ultrasparc at SPARC
730-# gcc, then the driver will automatically translate it to -xarch=v8plus
731-# and pass it down to assembler.
732-AS=$(CC) -c
733-ASFLAG=$(CFLAG)
734-
735-# For x86 assembler: Set PROCESSOR to 386 if you want to support
736-# the 80386.
737-PROCESSOR=
738-
739-# CPUID module collects small commonly used assembler snippets
740-CPUID_OBJ= mem_clr.o
741-BN_ASM= bn_asm.o
742-DES_ENC= des_enc.o fcrypt_b.o
743-AES_ENC= aes_core.o aes_cbc.o
744-BF_ENC= bf_enc.o
745-CAST_ENC= c_enc.o
746-RC4_ENC= rc4_enc.o rc4_skey.o
747-RC5_ENC= rc5_enc.o
748-MD5_ASM_OBJ=
749-SHA1_ASM_OBJ=
750-RMD160_ASM_OBJ=
751-WP_ASM_OBJ= wp_block.o
752-CMLL_ENC= camellia.o cmll_misc.o cmll_cbc.o
753-PERLASM_SCHEME=
754-
755-# KRB5 stuff
756-KRB5_INCLUDES=
757-LIBKRB5=
758-
759-# Zlib stuff
760-ZLIB_INCLUDE=
761-LIBZLIB=
762-
763-DIRS= crypto ssl engines apps test tools
764-ENGDIRS= ccgost
765-SHLIBDIRS= crypto ssl
766-
767-# dirs in crypto to build
768-SDIRS= \
769- objects \
770- md4 md5 sha mdc2 hmac ripemd whrlpool \
771- des aes rc2 rc4 idea bf cast camellia seed modes \
772- bn ec rsa dsa ecdsa dh ecdh dso engine \
773- buffer bio stack lhash rand err \
774- evp asn1 pem x509 x509v3 conf txt_db pkcs7 pkcs12 comp ocsp ui krb5 \
775- cms pqueue ts
776-# keep in mind that the above list is adjusted by ./Configure
777-# according to no-xxx arguments...
778-
779-# tests to perform. "alltests" is a special word indicating that all tests
780-# should be performed.
781-TESTS = alltests
782-
783-MAKEFILE= Makefile
784-
785-MANDIR=$(OPENSSLDIR)/man
786-MAN1=1
787-MAN3=3
788-MANSUFFIX=
789-HTMLSUFFIX=html
790-HTMLDIR=$(OPENSSLDIR)/html
791-SHELL=/bin/sh
792-
793-TOP= .
794-ONEDIRS=out tmp
795-EDIRS= times doc bugs util include certs ms shlib mt demos perl sf dep VMS
796-WDIRS= windows
797-LIBS= libcrypto.a libssl.a
798-SHARED_CRYPTO=libcrypto$(SHLIB_EXT)
799-SHARED_SSL=libssl$(SHLIB_EXT)
800-SHARED_LIBS=
801-SHARED_LIBS_LINK_EXTS=
802-SHARED_LDFLAGS=
803-
804-GENERAL= Makefile
805-BASENAME= openssl
806-NAME= $(BASENAME)-$(VERSION)
807-TARFILE= $(NAME).tar
808-WTARFILE= $(NAME)-win.tar
809-EXHEADER= e_os2.h
810-HEADER= e_os.h
811-
812-all: Makefile build_all openssl.pc libssl.pc libcrypto.pc
813-
814-# as we stick to -e, CLEARENV ensures that local variables in lower
815-# Makefiles remain local and variable. $${VAR+VAR} is tribute to Korn
816-# shell, which [annoyingly enough] terminates unset with error if VAR
817-# is not present:-( TOP= && unset TOP is tribute to HP-UX /bin/sh,
818-# which terminates unset with error if no variable was present:-(
819-CLEARENV= TOP= && unset TOP $${LIB+LIB} $${LIBS+LIBS} \
820- $${INCLUDE+INCLUDE} $${INCLUDES+INCLUDES} \
821- $${DIR+DIR} $${DIRS+DIRS} $${SRC+SRC} \
822- $${LIBSRC+LIBSRC} $${LIBOBJ+LIBOBJ} $${ALL+ALL} \
823- $${EXHEADER+EXHEADER} $${HEADER+HEADER} \
824- $${GENERAL+GENERAL} $${CFLAGS+CFLAGS} \
825- $${ASFLAGS+ASFLAGS} $${AFLAGS+AFLAGS} \
826- $${LDCMD+LDCMD} $${LDFLAGS+LDFLAGS} \
827- $${SHAREDCMD+SHAREDCMD} $${SHAREDFLAGS+SHAREDFLAGS} \
828- $${SHARED_LIB+SHARED_LIB} $${LIBEXTRAS+LIBEXTRAS}
829-
830-BUILDENV= PLATFORM='$(PLATFORM)' PROCESSOR='$(PROCESSOR)' \
831- CC='$(CC)' CFLAG='$(CFLAG)' \
832- AS='$(CC)' ASFLAG='$(CFLAG) -c' \
833- AR='$(AR)' NM='$(NM)' RANLIB='$(RANLIB)' \
834- CROSS_COMPILE='$(CROSS_COMPILE)' \
835- PERL='$(PERL)' ENGDIRS='$(ENGDIRS)' \
836- SDIRS='$(SDIRS)' LIBRPATH='$(INSTALLTOP)/$(LIBDIR)' \
837- INSTALL_PREFIX='$(INSTALL_PREFIX)' \
838- INSTALLTOP='$(INSTALLTOP)' OPENSSLDIR='$(OPENSSLDIR)' \
839- LIBDIR='$(LIBDIR)' \
840- MAKEDEPEND='$$$${TOP}/util/domd $$$${TOP} -MD $(MAKEDEPPROG)' \
841- DEPFLAG='-DOPENSSL_NO_DEPRECATED $(DEPFLAG)' \
842- MAKEDEPPROG='$(MAKEDEPPROG)' \
843- SHARED_LDFLAGS='$(SHARED_LDFLAGS)' \
844- KRB5_INCLUDES='$(KRB5_INCLUDES)' LIBKRB5='$(LIBKRB5)' \
845- ZLIB_INCLUDE='$(ZLIB_INCLUDE)' LIBZLIB='$(LIBZLIB)' \
846- EXE_EXT='$(EXE_EXT)' SHARED_LIBS='$(SHARED_LIBS)' \
847- SHLIB_EXT='$(SHLIB_EXT)' SHLIB_TARGET='$(SHLIB_TARGET)' \
848- PEX_LIBS='$(PEX_LIBS)' EX_LIBS='$(EX_LIBS)' \
849- CPUID_OBJ='$(CPUID_OBJ)' \
850- BN_ASM='$(BN_ASM)' DES_ENC='$(DES_ENC)' \
851- AES_ENC='$(AES_ENC)' CMLL_ENC='$(CMLL_ENC)' \
852- BF_ENC='$(BF_ENC)' CAST_ENC='$(CAST_ENC)' \
853- RC4_ENC='$(RC4_ENC)' RC5_ENC='$(RC5_ENC)' \
854- SHA1_ASM_OBJ='$(SHA1_ASM_OBJ)' \
855- MD5_ASM_OBJ='$(MD5_ASM_OBJ)' \
856- RMD160_ASM_OBJ='$(RMD160_ASM_OBJ)' \
857- WP_ASM_OBJ='$(WP_ASM_OBJ)' \
858- PERLASM_SCHEME='$(PERLASM_SCHEME)' \
859- THIS=$${THIS:-$@} MAKEFILE=Makefile MAKEOVERRIDES=
860-# MAKEOVERRIDES= effectively "equalizes" GNU-ish and SysV-ish make flavors,
861-# which in turn eliminates ambiguities in variable treatment with -e.
862-
863-# BUILD_CMD is a generic macro to build a given target in a given
864-# subdirectory. The target must be given through the shell variable
865-# `target' and the subdirectory to build in must be given through `dir'.
866-# This macro shouldn't be used directly, use RECURSIVE_BUILD_CMD or
867-# BUILD_ONE_CMD instead.
868-#
869-# BUILD_ONE_CMD is a macro to build a given target in a given
870-# subdirectory if that subdirectory is part of $(DIRS). It requires
871-# exactly the same shell variables as BUILD_CMD.
872-#
873-# RECURSIVE_BUILD_CMD is a macro to build a given target in all
874-# subdirectories defined in $(DIRS). It requires that the target
875-# is given through the shell variable `target'.
876-BUILD_CMD= if [ -d "$$dir" ]; then \
877- ( cd $$dir && echo "making $$target in $$dir..." && \
878- $(CLEARENV) && $(MAKE) -e $(BUILDENV) TOP=.. DIR=$$dir $$target \
879- ) || exit 1; \
880- fi
881-RECURSIVE_BUILD_CMD=for dir in $(DIRS); do $(BUILD_CMD); done
882-BUILD_ONE_CMD=\
883- if expr " $(DIRS) " : ".* $$dir " >/dev/null 2>&1; then \
884- $(BUILD_CMD); \
885- fi
886-
887-reflect:
888- @[ -n "$(THIS)" ] && $(CLEARENV) && $(MAKE) $(THIS) -e $(BUILDENV)
889-
890-sub_all: build_all
891-build_all: build_libs build_apps build_tests build_tools
892-
893-build_libs: build_crypto build_ssl build_engines
894-
895-build_crypto:
896- @dir=crypto; target=all; $(BUILD_ONE_CMD)
897-build_ssl:
898- @dir=ssl; target=all; $(BUILD_ONE_CMD)
899-build_engines:
900- @dir=engines; target=all; $(BUILD_ONE_CMD)
901-build_apps:
902- @dir=apps; target=all; $(BUILD_ONE_CMD)
903-build_tests:
904- @dir=test; target=all; $(BUILD_ONE_CMD)
905-build_tools:
906- @dir=tools; target=all; $(BUILD_ONE_CMD)
907-
908-all_testapps: build_libs build_testapps
909-build_testapps:
910- @dir=crypto; target=testapps; $(BUILD_ONE_CMD)
911-
912-libcrypto$(SHLIB_EXT): libcrypto.a
913- @if [ "$(SHLIB_TARGET)" != "" ]; then \
914- $(MAKE) SHLIBDIRS=crypto build-shared; \
915- else \
916- echo "There's no support for shared libraries on this platform" >&2; \
917- exit 1; \
918- fi
919-
920-libssl$(SHLIB_EXT): libcrypto$(SHLIB_EXT) libssl.a
921- @if [ "$(SHLIB_TARGET)" != "" ]; then \
922- $(MAKE) SHLIBDIRS=ssl SHLIBDEPS='-lcrypto' build-shared; \
923- else \
924- echo "There's no support for shared libraries on this platform" >&2; \
925- exit 1; \
926- fi
927-
928-clean-shared:
929- @set -e; for i in $(SHLIBDIRS); do \
930- if [ -n "$(SHARED_LIBS_LINK_EXTS)" ]; then \
931- tmp="$(SHARED_LIBS_LINK_EXTS)"; \
932- for j in $${tmp:-x}; do \
933- ( set -x; rm -f lib$$i$$j ); \
934- done; \
935- fi; \
936- ( set -x; rm -f lib$$i$(SHLIB_EXT) ); \
937- if [ "$(PLATFORM)" = "Cygwin" ]; then \
938- ( set -x; rm -f cyg$$i$(SHLIB_EXT) lib$$i$(SHLIB_EXT).a ); \
939- fi; \
940- done
941-
942-link-shared:
943- @ set -e; for i in $(SHLIBDIRS); do \
944- $(MAKE) -f $(HERE)/Makefile.shared -e $(BUILDENV) \
945- LIBNAME=$$i LIBVERSION=$(SHLIB_MAJOR).$(SHLIB_MINOR) \
946- LIBCOMPATVERSIONS=";$(SHLIB_VERSION_HISTORY)" \
947- symlink.$(SHLIB_TARGET); \
948- libs="$$libs -l$$i"; \
949- done
950-
951-build-shared: do_$(SHLIB_TARGET) link-shared
952-
953-do_$(SHLIB_TARGET):
954- @ set -e; libs='-L. $(SHLIBDEPS)'; for i in $(SHLIBDIRS); do \
955- if [ "$$i" = "ssl" -a -n "$(LIBKRB5)" ]; then \
956- libs="$(LIBKRB5) $$libs"; \
957- fi; \
958- $(CLEARENV) && $(MAKE) -f Makefile.shared -e $(BUILDENV) \
959- LIBNAME=$$i LIBVERSION=$(SHLIB_MAJOR).$(SHLIB_MINOR) \
960- LIBCOMPATVERSIONS=";$(SHLIB_VERSION_HISTORY)" \
961- LIBDEPS="$$libs $(EX_LIBS)" \
962- link_a.$(SHLIB_TARGET); \
963- libs="-l$$i $$libs"; \
964- done
965-
966-libcrypto.pc: Makefile
967- @ ( echo 'prefix=$(INSTALLTOP)'; \
968- echo 'exec_prefix=$${prefix}'; \
969- echo 'libdir=$${exec_prefix}/$(LIBDIR)'; \
970- echo 'includedir=$${prefix}/include'; \
971- echo ''; \
972- echo 'Name: OpenSSL-libcrypto'; \
973- echo 'Description: OpenSSL cryptography library'; \
974- echo 'Version: '$(VERSION); \
975- echo 'Requires: '; \
976- echo 'Libs: -L$${libdir} -lcrypto $(EX_LIBS)'; \
977- echo 'Cflags: -I$${includedir} $(KRB5_INCLUDES)' ) > libcrypto.pc
978-
979-libssl.pc: Makefile
980- @ ( echo 'prefix=$(INSTALLTOP)'; \
981- echo 'exec_prefix=$${prefix}'; \
982- echo 'libdir=$${exec_prefix}/$(LIBDIR)'; \
983- echo 'includedir=$${prefix}/include'; \
984- echo ''; \
985- echo 'Name: OpenSSL'; \
986- echo 'Description: Secure Sockets Layer and cryptography libraries'; \
987- echo 'Version: '$(VERSION); \
988- echo 'Requires: '; \
989- echo 'Libs: -L$${libdir} -lssl -lcrypto $(EX_LIBS)'; \
990- echo 'Cflags: -I$${includedir} $(KRB5_INCLUDES)' ) > libssl.pc
991-
992-openssl.pc: Makefile
993- @ ( echo 'prefix=$(INSTALLTOP)'; \
994- echo 'exec_prefix=$${prefix}'; \
995- echo 'libdir=$${exec_prefix}/$(LIBDIR)'; \
996- echo 'includedir=$${prefix}/include'; \
997- echo ''; \
998- echo 'Name: OpenSSL'; \
999- echo 'Description: Secure Sockets Layer and cryptography libraries and tools'; \
1000- echo 'Version: '$(VERSION); \
1001- echo 'Requires: '; \
1002- echo 'Libs: -L$${libdir} -lssl -lcrypto $(EX_LIBS)'; \
1003- echo 'Cflags: -I$${includedir} $(KRB5_INCLUDES)' ) > openssl.pc
1004-
1005-Makefile: Makefile.org Configure config
1006- @echo "Makefile is older than Makefile.org, Configure or config."
1007- @echo "Reconfigure the source tree (via './config' or 'perl Configure'), please."
1008- @false
1009-
1010-libclean:
1011- rm -f *.map *.so *.so.* *.dll engines/*.so engines/*.dll *.a engines/*.a */lib */*/lib
1012-
1013-clean: libclean
1014- rm -f shlib/*.o *.o core a.out fluff rehash.time testlog make.log cctest cctest.c
1015- @set -e; target=clean; $(RECURSIVE_BUILD_CMD)
1016- rm -f $(LIBS)
1017- rm -f openssl.pc libssl.pc libcrypto.pc
1018- rm -f speed.* .pure
1019- rm -f $(TARFILE)
1020- @set -e; for i in $(ONEDIRS) ;\
1021- do \
1022- rm -fr $$i/*; \
1023- done
1024-
1025-makefile.one: files
1026- $(PERL) util/mk1mf.pl >makefile.one; \
1027- sh util/do_ms.sh
1028-
1029-files:
1030- $(PERL) $(TOP)/util/files.pl Makefile > $(TOP)/MINFO
1031- @set -e; target=files; $(RECURSIVE_BUILD_CMD)
1032-
1033-links:
1034- @$(PERL) $(TOP)/util/mkdir-p.pl include/openssl
1035- @$(PERL) $(TOP)/util/mklink.pl include/openssl $(EXHEADER)
1036- @set -e; target=links; $(RECURSIVE_BUILD_CMD)
1037-
1038-gentests:
1039- @(cd test && echo "generating dummy tests (if needed)..." && \
1040- $(CLEARENV) && $(MAKE) -e $(BUILDENV) TESTS='$(TESTS)' OPENSSL_DEBUG_MEMORY=on generate );
1041-
1042-dclean:
1043- rm -rf *.bak include/openssl certs/.0
1044- @set -e; target=dclean; $(RECURSIVE_BUILD_CMD)
1045-
1046-rehash: rehash.time
1047-rehash.time: certs apps
1048- @if [ -z "$(CROSS_COMPILE)" ]; then \
1049- (OPENSSL="`pwd`/util/opensslwrap.sh"; \
1050- [ -x "apps/openssl.exe" ] && OPENSSL="apps/openssl.exe" || :; \
1051- OPENSSL_DEBUG_MEMORY=on; \
1052- export OPENSSL OPENSSL_DEBUG_MEMORY; \
1053- $(PERL) tools/c_rehash certs) && \
1054- touch rehash.time; \
1055- else :; fi
1056-
1057-test: tests
1058-
1059-tests: rehash
1060- @(cd test && echo "testing..." && \
1061- $(CLEARENV) && $(MAKE) -e $(BUILDENV) TOP=.. TESTS='$(TESTS)' OPENSSL_DEBUG_MEMORY=on OPENSSL_CONF=../apps/openssl.cnf tests );
1062- OPENSSL_CONF=apps/openssl.cnf util/opensslwrap.sh version -a
1063-
1064-report:
1065- @$(PERL) util/selftest.pl
1066-
1067-depend:
1068- @set -e; target=depend; $(RECURSIVE_BUILD_CMD)
1069-
1070-lint:
1071- @set -e; target=lint; $(RECURSIVE_BUILD_CMD)
1072-
1073-tags:
1074- rm -f TAGS
1075- find . -name '[^.]*.[ch]' | xargs etags -a
1076-
1077-errors:
1078- $(PERL) util/mkerr.pl -recurse -write
1079- (cd engines; $(MAKE) PERL=$(PERL) errors)
1080- $(PERL) util/ck_errf.pl */*.c */*/*.c
1081-
1082-stacks:
1083- $(PERL) util/mkstack.pl -write
1084-
1085-util/libeay.num::
1086- $(PERL) util/mkdef.pl crypto update
1087-
1088-util/ssleay.num::
1089- $(PERL) util/mkdef.pl ssl update
1090-
1091-crypto/objects/obj_dat.h: crypto/objects/obj_dat.pl crypto/objects/obj_mac.h
1092- $(PERL) crypto/objects/obj_dat.pl crypto/objects/obj_mac.h crypto/objects/obj_dat.h
1093-crypto/objects/obj_mac.h: crypto/objects/objects.pl crypto/objects/objects.txt crypto/objects/obj_mac.num
1094- $(PERL) crypto/objects/objects.pl crypto/objects/objects.txt crypto/objects/obj_mac.num crypto/objects/obj_mac.h
1095-crypto/objects/obj_xref.h: crypto/objects/objxref.pl crypto/objects/obj_xref.txt crypto/objects/obj_mac.num
1096- $(PERL) crypto/objects/objxref.pl crypto/objects/obj_mac.num crypto/objects/obj_xref.txt >crypto/objects/obj_xref.h
1097-
1098-apps/openssl-vms.cnf: apps/openssl.cnf
1099- $(PERL) VMS/VMSify-conf.pl < apps/openssl.cnf > apps/openssl-vms.cnf
1100-
1101-crypto/bn/bn_prime.h: crypto/bn/bn_prime.pl
1102- $(PERL) crypto/bn/bn_prime.pl >crypto/bn/bn_prime.h
1103-
1104-
1105-TABLE: Configure
1106- (echo 'Output of `Configure TABLE'"':"; \
1107- $(PERL) Configure TABLE) > TABLE
1108-
1109-update: errors stacks util/libeay.num util/ssleay.num crypto/objects/obj_dat.h crypto/objects/obj_xref.h apps/openssl-vms.cnf crypto/bn/bn_prime.h TABLE depend
1110-
1111-# Build distribution tar-file. As the list of files returned by "find" is
1112-# pretty long, on several platforms a "too many arguments" error or similar
1113-# would occur. Therefore the list of files is temporarily stored into a file
1114-# and read directly, requiring GNU-Tar. Call "make TAR=gtar dist" if the normal
1115-# tar does not support the --files-from option.
1116-tar:
1117- find . -type d -print | xargs chmod 755
1118- find . -type f -print | xargs chmod a+r
1119- find . -type f -perm -0100 -print | xargs chmod a+x
1120- find * \! -path CVS/\* \! -path \*/CVS/\* \! -name CVS \! -name .cvsignore \! -name STATUS \! -name TABLE | sort > ../$(TARFILE).list; \
1121- $(TAR) $(TARFLAGS) --files-from ../$(TARFILE).list -cvf - | \
1122- tardy --user_number=0 --user_name=openssl \
1123- --group_number=0 --group_name=openssl \
1124- --prefix=openssl-$(VERSION) - |\
1125- gzip --best >../$(TARFILE).gz; \
1126- rm -f ../$(TARFILE).list; \
1127- ls -l ../$(TARFILE).gz
1128-
1129-tar-snap:
1130- @$(TAR) $(TARFLAGS) -cvf - \
1131- `find * \! -path CVS/\* \! -path \*/CVS/\* \! -name CVS \! -name .cvsignore \! -name STATUS \! -name TABLE \! -name '*.o' \! -name '*.a' \! -name '*.so' \! -name '*.so.*' \! -name 'openssl' \! -name '*test' \! -name '.#*' \! -name '*~' | sort` |\
1132- tardy --user_number=0 --user_name=openssl \
1133- --group_number=0 --group_name=openssl \
1134- --prefix=openssl-$(VERSION) - > ../$(TARFILE);\
1135- ls -l ../$(TARFILE)
1136-
1137-dist:
1138- $(PERL) Configure dist
1139- @$(MAKE) dist_pem_h
1140- @$(MAKE) SDIRS='$(SDIRS)' clean
1141- @$(MAKE) TAR='$(TAR)' TARFLAGS='$(TARFLAGS)' tar
1142-
1143-dist_pem_h:
1144- (cd crypto/pem; $(MAKE) -e $(BUILDENV) pem.h; $(MAKE) clean)
1145-
1146-install: all install_docs install_sw
1147-
1148-install_sw:
1149- @$(PERL) $(TOP)/util/mkdir-p.pl $(INSTALL_PREFIX)$(INSTALLTOP)/bin \
1150- $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR) \
1151- $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines \
1152- $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/pkgconfig \
1153- $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl \
1154- $(INSTALL_PREFIX)$(OPENSSLDIR)/misc \
1155- $(INSTALL_PREFIX)$(OPENSSLDIR)/certs \
1156- $(INSTALL_PREFIX)$(OPENSSLDIR)/private
1157- @set -e; headerlist="$(EXHEADER)"; for i in $$headerlist;\
1158- do \
1159- (cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i; \
1160- chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i ); \
1161- done;
1162- @set -e; target=install; $(RECURSIVE_BUILD_CMD)
1163- @set -e; for i in $(LIBS) ;\
1164- do \
1165- if [ -f "$$i" ]; then \
1166- ( echo installing $$i; \
1167- cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i.new; \
1168- $(RANLIB) $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i.new; \
1169- chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i.new; \
1170- mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i.new $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i ); \
1171- fi; \
1172- done;
1173- @set -e; if [ -n "$(SHARED_LIBS)" ]; then \
1174- tmp="$(SHARED_LIBS)"; \
1175- for i in $${tmp:-x}; \
1176- do \
1177- if [ -f "$$i" -o -f "$$i.a" ]; then \
1178- ( echo installing $$i; \
1179- if [ "$(PLATFORM)" != "Cygwin" ]; then \
1180- cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i.new; \
1181- chmod 555 $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i.new; \
1182- mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i.new $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i; \
1183- else \
1184- c=`echo $$i | sed 's/^lib\(.*\)\.dll\.a/cyg\1-$(SHLIB_VERSION_NUMBER).dll/'`; \
1185- cp $$c $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$c.new; \
1186- chmod 755 $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$c.new; \
1187- mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$c.new $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$c; \
1188- cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i.new; \
1189- chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i.new; \
1190- mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i.new $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i; \
1191- fi ); \
1192- if expr $(PLATFORM) : 'mingw' > /dev/null; then \
1193- ( case $$i in \
1194- *crypto*) i=libeay32.dll;; \
1195- *ssl*) i=ssleay32.dll;; \
1196- esac; \
1197- echo installing $$i; \
1198- cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$i.new; \
1199- chmod 755 $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$i.new; \
1200- mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$i.new $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$i ); \
1201- fi; \
1202- fi; \
1203- done; \
1204- ( here="`pwd`"; \
1205- cd $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR); \
1206- $(MAKE) -f $$here/Makefile HERE="$$here" link-shared ); \
1207- if [ "$(INSTALLTOP)" != "/usr" ]; then \
1208- echo 'OpenSSL shared libraries have been installed in:'; \
1209- echo ' $(INSTALLTOP)'; \
1210- echo ''; \
1211- sed -e '1,/^$$/d' doc/openssl-shared.txt; \
1212- fi; \
1213- fi
1214- cp libcrypto.pc $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/pkgconfig
1215- chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/pkgconfig/libcrypto.pc
1216- cp libssl.pc $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/pkgconfig
1217- chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/pkgconfig/libssl.pc
1218- cp openssl.pc $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/pkgconfig
1219- chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/pkgconfig/openssl.pc
1220-
1221-install_html_docs:
1222- here="`pwd`"; \
1223- for subdir in apps crypto ssl; do \
1224- mkdir -p $(INSTALL_PREFIX)$(HTMLDIR)/$$subdir; \
1225- for i in doc/$$subdir/*.pod; do \
1226- fn=`basename $$i .pod`; \
1227- echo "installing html/$$fn.$(HTMLSUFFIX)"; \
1228- cat $$i \
1229- | sed -r 's/L<([^)]*)(\([0-9]\))?\|([^)]*)(\([0-9]\))?>/L<\1|\3>/g' \
1230- | pod2html --podroot=doc --htmlroot=.. --podpath=apps:crypto:ssl \
1231- | sed -r 's/<!DOCTYPE.*//g' \
1232- > $(INSTALL_PREFIX)$(HTMLDIR)/$$subdir/$$fn.$(HTMLSUFFIX); \
1233- $(PERL) util/extract-names.pl < $$i | \
1234- grep -v $$filecase "^$$fn\$$" | \
1235- (cd $(INSTALL_PREFIX)$(HTMLDIR)/$$subdir; \
1236- while read n; do \
1237- PLATFORM=$(PLATFORM) $$here/util/point.sh $$fn.$(HTMLSUFFIX) "$$n".$(HTMLSUFFIX); \
1238- done); \
1239- done; \
1240- done
1241-
1242-install_docs:
1243- @$(PERL) $(TOP)/util/mkdir-p.pl \
1244- $(INSTALL_PREFIX)$(MANDIR)/man1 \
1245- $(INSTALL_PREFIX)$(MANDIR)/man3 \
1246- $(INSTALL_PREFIX)$(MANDIR)/man5 \
1247- $(INSTALL_PREFIX)$(MANDIR)/man7
1248- @pod2man="`cd ./util; ./pod2mantest $(PERL)`"; \
1249- here="`pwd`"; \
1250- filecase=; \
1251- if [ "$(PLATFORM)" = "DJGPP" -o "$(PLATFORM)" = "Cygwin" -o "$(PLATFORM)" = "mingw" ]; then \
1252- filecase=-i; \
1253- fi; \
1254- set -e; for i in doc/apps/*.pod; do \
1255- fn=`basename $$i .pod`; \
1256- sec=`$(PERL) util/extract-section.pl 1 < $$i`; \
1257- echo "installing man$$sec/$$fn.$${sec}$(MANSUFFIX)"; \
1258- (cd `$(PERL) util/dirname.pl $$i`; \
1259- sh -c "$$pod2man \
1260- --section=$$sec --center=OpenSSL \
1261- --release=$(VERSION) `basename $$i`") \
1262- > $(INSTALL_PREFIX)$(MANDIR)/man$$sec/$$fn.$${sec}$(MANSUFFIX); \
1263- $(PERL) util/extract-names.pl < $$i | \
1264- (grep -v $$filecase "^$$fn\$$"; true) | \
1265- (grep -v "[ ]"; true) | \
1266- (cd $(INSTALL_PREFIX)$(MANDIR)/man$$sec/; \
1267- while read n; do \
1268- PLATFORM=$(PLATFORM) $$here/util/point.sh $$fn.$${sec}$(MANSUFFIX) "$$n".$${sec}$(MANSUFFIX); \
1269- done); \
1270- done; \
1271- set -e; for i in doc/crypto/*.pod doc/ssl/*.pod; do \
1272- fn=`basename $$i .pod`; \
1273- sec=`$(PERL) util/extract-section.pl 3 < $$i`; \
1274- echo "installing man$$sec/$$fn.$${sec}$(MANSUFFIX)"; \
1275- (cd `$(PERL) util/dirname.pl $$i`; \
1276- sh -c "$$pod2man \
1277- --section=$$sec --center=OpenSSL \
1278- --release=$(VERSION) `basename $$i`") \
1279- > $(INSTALL_PREFIX)$(MANDIR)/man$$sec/$$fn.$${sec}$(MANSUFFIX); \
1280- $(PERL) util/extract-names.pl < $$i | \
1281- (grep -v $$filecase "^$$fn\$$"; true) | \
1282- (grep -v "[ ]"; true) | \
1283- (cd $(INSTALL_PREFIX)$(MANDIR)/man$$sec/; \
1284- while read n; do \
1285- PLATFORM=$(PLATFORM) $$here/util/point.sh $$fn.$${sec}$(MANSUFFIX) "$$n".$${sec}$(MANSUFFIX); \
1286- done); \
1287- done
1288-
1289-# DO NOT DELETE THIS LINE -- make depend depends on it.
1290
1291=== removed file 'apps/CA.pl'
1292--- apps/CA.pl 2010-06-14 09:08:29 +0000
1293+++ apps/CA.pl 1970-01-01 00:00:00 +0000
1294@@ -1,189 +0,0 @@
1295-#!/usr/bin/perl
1296-#
1297-# CA - wrapper around ca to make it easier to use ... basically ca requires
1298-# some setup stuff to be done before you can use it and this makes
1299-# things easier between now and when Eric is convinced to fix it :-)
1300-#
1301-# CA -newca ... will setup the right stuff
1302-# CA -newreq[-nodes] ... will generate a certificate request
1303-# CA -sign ... will sign the generated request and output
1304-#
1305-# At the end of that grab newreq.pem and newcert.pem (one has the key
1306-# and the other the certificate) and cat them together and that is what
1307-# you want/need ... I'll make even this a little cleaner later.
1308-#
1309-#
1310-# 12-Jan-96 tjh Added more things ... including CA -signcert which
1311-# converts a certificate to a request and then signs it.
1312-# 10-Jan-96 eay Fixed a few more bugs and added the SSLEAY_CONFIG
1313-# environment variable so this can be driven from
1314-# a script.
1315-# 25-Jul-96 eay Cleaned up filenames some more.
1316-# 11-Jun-96 eay Fixed a few filename missmatches.
1317-# 03-May-96 eay Modified to use 'ssleay cmd' instead of 'cmd'.
1318-# 18-Apr-96 tjh Original hacking
1319-#
1320-# Tim Hudson
1321-# tjh@cryptsoft.com
1322-#
1323-
1324-# 27-Apr-98 snh Translation into perl, fix existing CA bug.
1325-#
1326-#
1327-# Steve Henson
1328-# shenson@bigfoot.com
1329-
1330-# default openssl.cnf file has setup as per the following
1331-# demoCA ... where everything is stored
1332-
1333-my $openssl;
1334-if(defined $ENV{OPENSSL}) {
1335- $openssl = $ENV{OPENSSL};
1336-} else {
1337- $openssl = "openssl";
1338- $ENV{OPENSSL} = $openssl;
1339-}
1340-
1341-$SSLEAY_CONFIG=$ENV{"SSLEAY_CONFIG"};
1342-$DAYS="-days 365"; # 1 year
1343-$CADAYS="-days 1095"; # 3 years
1344-$REQ="$openssl req $SSLEAY_CONFIG";
1345-$CA="$openssl ca $SSLEAY_CONFIG";
1346-$VERIFY="$openssl verify";
1347-$X509="$openssl x509";
1348-$PKCS12="$openssl pkcs12";
1349-
1350-$CATOP="./demoCA";
1351-$CAKEY="cakey.pem";
1352-$CAREQ="careq.pem";
1353-$CACERT="cacert.pem";
1354-
1355-$DIRMODE = 0777;
1356-
1357-$RET = 0;
1358-
1359-foreach (@ARGV) {
1360- if ( /^(-\?|-h|-help)$/ ) {
1361- print STDERR "usage: CA -newcert|-newreq|-newreq-nodes|-newca|-sign|-verify\n";
1362- exit 0;
1363- } elsif (/^-newcert$/) {
1364- # create a certificate
1365- system ("$REQ -new -x509 -keyout newkey.pem -out newcert.pem $DAYS");
1366- $RET=$?;
1367- print "Certificate is in newcert.pem, private key is in newkey.pem\n"
1368- } elsif (/^-newreq$/) {
1369- # create a certificate request
1370- system ("$REQ -new -keyout newkey.pem -out newreq.pem $DAYS");
1371- $RET=$?;
1372- print "Request is in newreq.pem, private key is in newkey.pem\n";
1373- } elsif (/^-newreq-nodes$/) {
1374- # create a certificate request
1375- system ("$REQ -new -nodes -keyout newkey.pem -out newreq.pem $DAYS");
1376- $RET=$?;
1377- print "Request is in newreq.pem, private key is in newkey.pem\n";
1378- } elsif (/^-newca$/) {
1379- # if explicitly asked for or it doesn't exist then setup the
1380- # directory structure that Eric likes to manage things
1381- $NEW="1";
1382- if ( "$NEW" || ! -f "${CATOP}/serial" ) {
1383- # create the directory hierarchy
1384- mkdir $CATOP, $DIRMODE;
1385- mkdir "${CATOP}/certs", $DIRMODE;
1386- mkdir "${CATOP}/crl", $DIRMODE ;
1387- mkdir "${CATOP}/newcerts", $DIRMODE;
1388- mkdir "${CATOP}/private", $DIRMODE;
1389- open OUT, ">${CATOP}/index.txt";
1390- close OUT;
1391- open OUT, ">${CATOP}/crlnumber";
1392- print OUT "01\n";
1393- close OUT;
1394- }
1395- if ( ! -f "${CATOP}/private/$CAKEY" ) {
1396- print "CA certificate filename (or enter to create)\n";
1397- $FILE = <STDIN>;
1398-
1399- chop $FILE;
1400-
1401- # ask user for existing CA certificate
1402- if ($FILE) {
1403- cp_pem($FILE,"${CATOP}/private/$CAKEY", "PRIVATE");
1404- cp_pem($FILE,"${CATOP}/$CACERT", "CERTIFICATE");
1405- $RET=$?;
1406- } else {
1407- print "Making CA certificate ...\n";
1408- system ("$REQ -new -keyout " .
1409- "${CATOP}/private/$CAKEY -out ${CATOP}/$CAREQ");
1410- system ("$CA -create_serial " .
1411- "-out ${CATOP}/$CACERT $CADAYS -batch " .
1412- "-keyfile ${CATOP}/private/$CAKEY -selfsign " .
1413- "-extensions v3_ca " .
1414- "-infiles ${CATOP}/$CAREQ ");
1415- $RET=$?;
1416- }
1417- }
1418- } elsif (/^-pkcs12$/) {
1419- my $cname = $ARGV[1];
1420- $cname = "My Certificate" unless defined $cname;
1421- system ("$PKCS12 -in newcert.pem -inkey newkey.pem " .
1422- "-certfile ${CATOP}/$CACERT -out newcert.p12 " .
1423- "-export -name \"$cname\"");
1424- $RET=$?;
1425- print "PKCS #12 file is in newcert.p12\n";
1426- exit $RET;
1427- } elsif (/^-xsign$/) {
1428- system ("$CA -policy policy_anything -infiles newreq.pem");
1429- $RET=$?;
1430- } elsif (/^(-sign|-signreq)$/) {
1431- system ("$CA -policy policy_anything -out newcert.pem " .
1432- "-infiles newreq.pem");
1433- $RET=$?;
1434- print "Signed certificate is in newcert.pem\n";
1435- } elsif (/^(-signCA)$/) {
1436- system ("$CA -policy policy_anything -out newcert.pem " .
1437- "-extensions v3_ca -infiles newreq.pem");
1438- $RET=$?;
1439- print "Signed CA certificate is in newcert.pem\n";
1440- } elsif (/^-signcert$/) {
1441- system ("$X509 -x509toreq -in newreq.pem -signkey newreq.pem " .
1442- "-out tmp.pem");
1443- system ("$CA -policy policy_anything -out newcert.pem " .
1444- "-infiles tmp.pem");
1445- $RET = $?;
1446- print "Signed certificate is in newcert.pem\n";
1447- } elsif (/^-verify$/) {
1448- if (shift) {
1449- foreach $j (@ARGV) {
1450- system ("$VERIFY -CAfile $CATOP/$CACERT $j");
1451- $RET=$? if ($? != 0);
1452- }
1453- exit $RET;
1454- } else {
1455- system ("$VERIFY -CAfile $CATOP/$CACERT newcert.pem");
1456- $RET=$?;
1457- exit 0;
1458- }
1459- } else {
1460- print STDERR "Unknown arg $_\n";
1461- print STDERR "usage: CA -newcert|-newreq|-newreq-nodes|-newca|-sign|-verify\n";
1462- exit 1;
1463- }
1464-}
1465-
1466-exit $RET;
1467-
1468-sub cp_pem {
1469-my ($infile, $outfile, $bound) = @_;
1470-open IN, $infile;
1471-open OUT, ">$outfile";
1472-my $flag = 0;
1473-while (<IN>) {
1474- $flag = 1 if (/^-----BEGIN.*$bound/) ;
1475- print OUT $_ if ($flag);
1476- if (/^-----END.*$bound/) {
1477- close IN;
1478- close OUT;
1479- return;
1480- }
1481-}
1482-}
1483-
1484
1485=== removed file 'crypto/opensslconf.h'
1486--- crypto/opensslconf.h 2011-05-01 23:51:53 +0000
1487+++ crypto/opensslconf.h 1970-01-01 00:00:00 +0000
1488@@ -1,217 +0,0 @@
1489-/* opensslconf.h */
1490-/* WARNING: Generated automatically from opensslconf.h.in by Configure. */
1491-
1492-/* OpenSSL was configured with the following options: */
1493-#ifndef OPENSSL_DOING_MAKEDEPEND
1494-
1495-
1496-#ifndef OPENSSL_NO_GMP
1497-# define OPENSSL_NO_GMP
1498-#endif
1499-#ifndef OPENSSL_NO_JPAKE
1500-# define OPENSSL_NO_JPAKE
1501-#endif
1502-#ifndef OPENSSL_NO_KRB5
1503-# define OPENSSL_NO_KRB5
1504-#endif
1505-#ifndef OPENSSL_NO_MD2
1506-# define OPENSSL_NO_MD2
1507-#endif
1508-#ifndef OPENSSL_NO_RC5
1509-# define OPENSSL_NO_RC5
1510-#endif
1511-#ifndef OPENSSL_NO_RFC3779
1512-# define OPENSSL_NO_RFC3779
1513-#endif
1514-#ifndef OPENSSL_NO_STORE
1515-# define OPENSSL_NO_STORE
1516-#endif
1517-
1518-#endif /* OPENSSL_DOING_MAKEDEPEND */
1519-
1520-#ifndef OPENSSL_NO_DYNAMIC_ENGINE
1521-# define OPENSSL_NO_DYNAMIC_ENGINE
1522-#endif
1523-
1524-/* The OPENSSL_NO_* macros are also defined as NO_* if the application
1525- asks for it. This is a transient feature that is provided for those
1526- who haven't had the time to do the appropriate changes in their
1527- applications. */
1528-#ifdef OPENSSL_ALGORITHM_DEFINES
1529-# if defined(OPENSSL_NO_GMP) && !defined(NO_GMP)
1530-# define NO_GMP
1531-# endif
1532-# if defined(OPENSSL_NO_JPAKE) && !defined(NO_JPAKE)
1533-# define NO_JPAKE
1534-# endif
1535-# if defined(OPENSSL_NO_KRB5) && !defined(NO_KRB5)
1536-# define NO_KRB5
1537-# endif
1538-# if defined(OPENSSL_NO_MD2) && !defined(NO_MD2)
1539-# define NO_MD2
1540-# endif
1541-# if defined(OPENSSL_NO_RC5) && !defined(NO_RC5)
1542-# define NO_RC5
1543-# endif
1544-# if defined(OPENSSL_NO_RFC3779) && !defined(NO_RFC3779)
1545-# define NO_RFC3779
1546-# endif
1547-# if defined(OPENSSL_NO_STORE) && !defined(NO_STORE)
1548-# define NO_STORE
1549-# endif
1550-#endif
1551-
1552-/* crypto/opensslconf.h.in */
1553-
1554-/* Generate 80386 code? */
1555-#undef I386_ONLY
1556-
1557-#if !(defined(VMS) || defined(__VMS)) /* VMS uses logical names instead */
1558-#if defined(HEADER_CRYPTLIB_H) && !defined(OPENSSLDIR)
1559-#define ENGINESDIR "/usr/local/ssl/lib/engines"
1560-#define OPENSSLDIR "/usr/local/ssl"
1561-#endif
1562-#endif
1563-
1564-#undef OPENSSL_UNISTD
1565-#define OPENSSL_UNISTD <unistd.h>
1566-
1567-#undef OPENSSL_EXPORT_VAR_AS_FUNCTION
1568-
1569-#if defined(HEADER_IDEA_H) && !defined(IDEA_INT)
1570-#define IDEA_INT unsigned int
1571-#endif
1572-
1573-#if defined(HEADER_MD2_H) && !defined(MD2_INT)
1574-#define MD2_INT unsigned int
1575-#endif
1576-
1577-#if defined(HEADER_RC2_H) && !defined(RC2_INT)
1578-/* I need to put in a mod for the alpha - eay */
1579-#define RC2_INT unsigned int
1580-#endif
1581-
1582-#if defined(HEADER_RC4_H)
1583-#if !defined(RC4_INT)
1584-/* using int types make the structure larger but make the code faster
1585- * on most boxes I have tested - up to %20 faster. */
1586-/*
1587- * I don't know what does "most" mean, but declaring "int" is a must on:
1588- * - Intel P6 because partial register stalls are very expensive;
1589- * - elder Alpha because it lacks byte load/store instructions;
1590- */
1591-#define RC4_INT unsigned int
1592-#endif
1593-#if !defined(RC4_CHUNK)
1594-/*
1595- * This enables code handling data aligned at natural CPU word
1596- * boundary. See crypto/rc4/rc4_enc.c for further details.
1597- */
1598-#undef RC4_CHUNK
1599-#endif
1600-#endif
1601-
1602-#if (defined(HEADER_NEW_DES_H) || defined(HEADER_DES_H)) && !defined(DES_LONG)
1603-/* If this is set to 'unsigned int' on a DEC Alpha, this gives about a
1604- * %20 speed up (longs are 8 bytes, int's are 4). */
1605-#ifndef DES_LONG
1606-#define DES_LONG unsigned long
1607-#endif
1608-#endif
1609-
1610-#if defined(HEADER_BN_H) && !defined(CONFIG_HEADER_BN_H)
1611-#define CONFIG_HEADER_BN_H
1612-#undef BN_LLONG
1613-
1614-/* Should we define BN_DIV2W here? */
1615-
1616-/* Only one for the following should be defined */
1617-#undef SIXTY_FOUR_BIT_LONG
1618-#undef SIXTY_FOUR_BIT
1619-#define THIRTY_TWO_BIT
1620-#endif
1621-
1622-#if defined(HEADER_RC4_LOCL_H) && !defined(CONFIG_HEADER_RC4_LOCL_H)
1623-#define CONFIG_HEADER_RC4_LOCL_H
1624-/* if this is defined data[i] is used instead of *data, this is a %20
1625- * speedup on x86 */
1626-#undef RC4_INDEX
1627-#endif
1628-
1629-#if defined(HEADER_BF_LOCL_H) && !defined(CONFIG_HEADER_BF_LOCL_H)
1630-#define CONFIG_HEADER_BF_LOCL_H
1631-#undef BF_PTR
1632-#endif /* HEADER_BF_LOCL_H */
1633-
1634-#if defined(HEADER_DES_LOCL_H) && !defined(CONFIG_HEADER_DES_LOCL_H)
1635-#define CONFIG_HEADER_DES_LOCL_H
1636-#ifndef DES_DEFAULT_OPTIONS
1637-/* the following is tweaked from a config script, that is why it is a
1638- * protected undef/define */
1639-#ifndef DES_PTR
1640-#undef DES_PTR
1641-#endif
1642-
1643-/* This helps C compiler generate the correct code for multiple functional
1644- * units. It reduces register dependancies at the expense of 2 more
1645- * registers */
1646-#ifndef DES_RISC1
1647-#undef DES_RISC1
1648-#endif
1649-
1650-#ifndef DES_RISC2
1651-#undef DES_RISC2
1652-#endif
1653-
1654-#if defined(DES_RISC1) && defined(DES_RISC2)
1655-YOU SHOULD NOT HAVE BOTH DES_RISC1 AND DES_RISC2 DEFINED!!!!!
1656-#endif
1657-
1658-/* Unroll the inner loop, this sometimes helps, sometimes hinders.
1659- * Very mucy CPU dependant */
1660-#ifndef DES_UNROLL
1661-#undef DES_UNROLL
1662-#endif
1663-
1664-/* These default values were supplied by
1665- * Peter Gutman <pgut001@cs.auckland.ac.nz>
1666- * They are only used if nothing else has been defined */
1667-#if !defined(DES_PTR) && !defined(DES_RISC1) && !defined(DES_RISC2) && !defined(DES_UNROLL)
1668-/* Special defines which change the way the code is built depending on the
1669- CPU and OS. For SGI machines you can use _MIPS_SZLONG (32 or 64) to find
1670- even newer MIPS CPU's, but at the moment one size fits all for
1671- optimization options. Older Sparc's work better with only UNROLL, but
1672- there's no way to tell at compile time what it is you're running on */
1673-
1674-#if defined( sun ) /* Newer Sparc's */
1675-# define DES_PTR
1676-# define DES_RISC1
1677-# define DES_UNROLL
1678-#elif defined( __ultrix ) /* Older MIPS */
1679-# define DES_PTR
1680-# define DES_RISC2
1681-# define DES_UNROLL
1682-#elif defined( __osf1__ ) /* Alpha */
1683-# define DES_PTR
1684-# define DES_RISC2
1685-#elif defined ( _AIX ) /* RS6000 */
1686- /* Unknown */
1687-#elif defined( __hpux ) /* HP-PA */
1688- /* Unknown */
1689-#elif defined( __aux ) /* 68K */
1690- /* Unknown */
1691-#elif defined( __dgux ) /* 88K (but P6 in latest boxes) */
1692-# define DES_UNROLL
1693-#elif defined( __sgi ) /* Newer MIPS */
1694-# define DES_PTR
1695-# define DES_RISC2
1696-# define DES_UNROLL
1697-#elif defined(i386) || defined(__i386__) /* x86 boxes, should be gcc */
1698-# define DES_PTR
1699-# define DES_RISC1
1700-# define DES_UNROLL
1701-#endif /* Systems-specific speed defines */
1702-#endif
1703-
1704-#endif /* DES_DEFAULT_OPTIONS */
1705-#endif /* HEADER_DES_LOCL_H */
1706
1707=== removed file 'tools/c_rehash'
1708--- tools/c_rehash 2010-12-12 15:37:21 +0000
1709+++ tools/c_rehash 1970-01-01 00:00:00 +0000
1710@@ -1,180 +0,0 @@
1711-#!/usr/bin/perl
1712-
1713-
1714-# Perl c_rehash script, scan all files in a directory
1715-# and add symbolic links to their hash values.
1716-
1717-my $openssl;
1718-
1719-my $dir = "/usr/local/ssl";
1720-my $prefix = "/usr/local/ssl";
1721-
1722-if(defined $ENV{OPENSSL}) {
1723- $openssl = $ENV{OPENSSL};
1724-} else {
1725- $openssl = "openssl";
1726- $ENV{OPENSSL} = $openssl;
1727-}
1728-
1729-my $pwd;
1730-eval "require Cwd";
1731-if (defined(&Cwd::getcwd)) {
1732- $pwd=Cwd::getcwd();
1733-} else {
1734- $pwd=`pwd`; chomp($pwd);
1735-}
1736-my $path_delim = ($pwd =~ /^[a-z]\:/i) ? ';' : ':'; # DOS/Win32 or Unix delimiter?
1737-
1738-$ENV{PATH} = "$prefix/bin" . ($ENV{PATH} ? $path_delim . $ENV{PATH} : ""); # prefix our path
1739-
1740-if(! -x $openssl) {
1741- my $found = 0;
1742- foreach (split /$path_delim/, $ENV{PATH}) {
1743- if(-x "$_/$openssl") {
1744- $found = 1;
1745- $openssl = "$_/$openssl";
1746- last;
1747- }
1748- }
1749- if($found == 0) {
1750- print STDERR "c_rehash: rehashing skipped ('openssl' program not available)\n";
1751- exit 0;
1752- }
1753-}
1754-
1755-if(@ARGV) {
1756- @dirlist = @ARGV;
1757-} elsif($ENV{SSL_CERT_DIR}) {
1758- @dirlist = split /$path_delim/, $ENV{SSL_CERT_DIR};
1759-} else {
1760- $dirlist[0] = "$dir/certs";
1761-}
1762-
1763-if (-d $dirlist[0]) {
1764- chdir $dirlist[0];
1765- $openssl="$pwd/$openssl" if (!-x $openssl);
1766- chdir $pwd;
1767-}
1768-
1769-foreach (@dirlist) {
1770- if(-d $_ and -w $_) {
1771- hash_dir($_);
1772- }
1773-}
1774-
1775-sub hash_dir {
1776- my %hashlist;
1777- print "Doing $_[0]\n";
1778- chdir $_[0];
1779- opendir(DIR, ".");
1780- my @flist = readdir(DIR);
1781- # Delete any existing symbolic links
1782- foreach (grep {/^[\da-f]+\.r{0,1}\d+$/} @flist) {
1783- if(-l $_) {
1784- unlink $_;
1785- }
1786- }
1787- closedir DIR;
1788- FILE: foreach $fname (grep {/\.pem$/} @flist) {
1789- # Check to see if certificates and/or CRLs present.
1790- my ($cert, $crl) = check_file($fname);
1791- if(!$cert && !$crl) {
1792- print STDERR "WARNING: $fname does not contain a certificate or CRL: skipping\n";
1793- next;
1794- }
1795- link_hash_cert($fname) if($cert);
1796- link_hash_crl($fname) if($crl);
1797- }
1798-}
1799-
1800-sub check_file {
1801- my ($is_cert, $is_crl) = (0,0);
1802- my $fname = $_[0];
1803- open IN, $fname;
1804- while(<IN>) {
1805- if(/^-----BEGIN (.*)-----/) {
1806- my $hdr = $1;
1807- if($hdr =~ /^(X509 |TRUSTED |)CERTIFICATE$/) {
1808- $is_cert = 1;
1809- last if($is_crl);
1810- } elsif($hdr eq "X509 CRL") {
1811- $is_crl = 1;
1812- last if($is_cert);
1813- }
1814- }
1815- }
1816- close IN;
1817- return ($is_cert, $is_crl);
1818-}
1819-
1820-
1821-# Link a certificate to its subject name hash value, each hash is of
1822-# the form <hash>.<n> where n is an integer. If the hash value already exists
1823-# then we need to up the value of n, unless its a duplicate in which
1824-# case we skip the link. We check for duplicates by comparing the
1825-# certificate fingerprints
1826-
1827-sub link_hash_cert {
1828- my $fname = $_[0];
1829- $fname =~ s/'/'\\''/g;
1830- my ($hash, $fprint) = `"$openssl" x509 -hash -fingerprint -noout -in "$fname"`;
1831- chomp $hash;
1832- chomp $fprint;
1833- $fprint =~ s/^.*=//;
1834- $fprint =~ tr/://d;
1835- my $suffix = 0;
1836- # Search for an unused hash filename
1837- while(exists $hashlist{"$hash.$suffix"}) {
1838- # Hash matches: if fingerprint matches its a duplicate cert
1839- if($hashlist{"$hash.$suffix"} eq $fprint) {
1840- print STDERR "WARNING: Skipping duplicate certificate $fname\n";
1841- return;
1842- }
1843- $suffix++;
1844- }
1845- $hash .= ".$suffix";
1846- print "$fname => $hash\n";
1847- $symlink_exists=eval {symlink("",""); 1};
1848- if ($symlink_exists) {
1849- symlink $fname, $hash;
1850- } else {
1851- open IN,"<$fname" or die "can't open $fname for read";
1852- open OUT,">$hash" or die "can't open $hash for write";
1853- print OUT <IN>; # does the job for small text files
1854- close OUT;
1855- close IN;
1856- }
1857- $hashlist{$hash} = $fprint;
1858-}
1859-
1860-# Same as above except for a CRL. CRL links are of the form <hash>.r<n>
1861-
1862-sub link_hash_crl {
1863- my $fname = $_[0];
1864- $fname =~ s/'/'\\''/g;
1865- my ($hash, $fprint) = `"$openssl" crl -hash -fingerprint -noout -in '$fname'`;
1866- chomp $hash;
1867- chomp $fprint;
1868- $fprint =~ s/^.*=//;
1869- $fprint =~ tr/://d;
1870- my $suffix = 0;
1871- # Search for an unused hash filename
1872- while(exists $hashlist{"$hash.r$suffix"}) {
1873- # Hash matches: if fingerprint matches its a duplicate cert
1874- if($hashlist{"$hash.r$suffix"} eq $fprint) {
1875- print STDERR "WARNING: Skipping duplicate CRL $fname\n";
1876- return;
1877- }
1878- $suffix++;
1879- }
1880- $hash .= ".r$suffix";
1881- print "$fname => $hash\n";
1882- $symlink_exists=eval {symlink("",""); 1};
1883- if ($symlink_exists) {
1884- symlink $fname, $hash;
1885- } else {
1886- system ("cp", $fname, $hash);
1887- }
1888- $hashlist{$hash} = $fprint;
1889-}
1890-

Subscribers

People subscribed via source and target branches

to all changes: