diff options
Diffstat (limited to 'src/lib/libcrypto/stack')
-rw-r--r-- | src/lib/libcrypto/stack/Makefile | 86 | ||||
-rw-r--r-- | src/lib/libcrypto/stack/Makefile.ssl | 88 | ||||
-rw-r--r-- | src/lib/libcrypto/stack/safestack.h | 53 |
3 files changed, 199 insertions, 28 deletions
diff --git a/src/lib/libcrypto/stack/Makefile b/src/lib/libcrypto/stack/Makefile new file mode 100644 index 0000000000..711b16832a --- /dev/null +++ b/src/lib/libcrypto/stack/Makefile | |||
@@ -0,0 +1,86 @@ | |||
1 | # | ||
2 | # OpenSSL/crypto/stack/Makefile | ||
3 | # | ||
4 | |||
5 | DIR= stack | ||
6 | TOP= ../.. | ||
7 | CC= cc | ||
8 | INCLUDES= | ||
9 | CFLAG=-g | ||
10 | INSTALL_PREFIX= | ||
11 | OPENSSLDIR= /usr/local/ssl | ||
12 | INSTALLTOP=/usr/local/ssl | ||
13 | MAKEDEPPROG= makedepend | ||
14 | MAKEDEPEND= $(TOP)/util/domd $(TOP) -MD $(MAKEDEPPROG) | ||
15 | MAKEFILE= Makefile | ||
16 | AR= ar r | ||
17 | |||
18 | CFLAGS= $(INCLUDES) $(CFLAG) | ||
19 | |||
20 | GENERAL=Makefile | ||
21 | TEST= | ||
22 | APPS= | ||
23 | |||
24 | LIB=$(TOP)/libcrypto.a | ||
25 | LIBSRC=stack.c | ||
26 | LIBOBJ=stack.o | ||
27 | |||
28 | SRC= $(LIBSRC) | ||
29 | |||
30 | EXHEADER= stack.h safestack.h | ||
31 | HEADER= $(EXHEADER) | ||
32 | |||
33 | ALL= $(GENERAL) $(SRC) $(HEADER) | ||
34 | |||
35 | top: | ||
36 | (cd ../..; $(MAKE) DIRS=crypto SDIRS=$(DIR) sub_all) | ||
37 | |||
38 | all: lib | ||
39 | |||
40 | lib: $(LIBOBJ) | ||
41 | $(AR) $(LIB) $(LIBOBJ) | ||
42 | $(RANLIB) $(LIB) || echo Never mind. | ||
43 | @touch lib | ||
44 | |||
45 | files: | ||
46 | $(PERL) $(TOP)/util/files.pl Makefile >> $(TOP)/MINFO | ||
47 | |||
48 | links: | ||
49 | @$(PERL) $(TOP)/util/mklink.pl ../../include/openssl $(EXHEADER) | ||
50 | @$(PERL) $(TOP)/util/mklink.pl ../../test $(TEST) | ||
51 | @$(PERL) $(TOP)/util/mklink.pl ../../apps $(APPS) | ||
52 | |||
53 | install: | ||
54 | @headerlist="$(EXHEADER)"; for i in $$headerlist ; \ | ||
55 | do \ | ||
56 | (cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i; \ | ||
57 | chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i ); \ | ||
58 | done; | ||
59 | |||
60 | tags: | ||
61 | ctags $(SRC) | ||
62 | |||
63 | tests: | ||
64 | |||
65 | lint: | ||
66 | lint -DLINT $(INCLUDES) $(SRC)>fluff | ||
67 | |||
68 | depend: | ||
69 | $(MAKEDEPEND) -- $(CFLAG) $(INCLUDES) $(DEPFLAG) -- $(PROGS) $(LIBSRC) | ||
70 | |||
71 | dclean: | ||
72 | $(PERL) -pe 'if (/^# DO NOT DELETE THIS LINE/) {print; exit(0);}' $(MAKEFILE) >Makefile.new | ||
73 | mv -f Makefile.new $(MAKEFILE) | ||
74 | |||
75 | clean: | ||
76 | rm -f *.o *.obj lib tags core .pure .nfs* *.old *.bak fluff | ||
77 | |||
78 | # DO NOT DELETE THIS LINE -- make depend depends on it. | ||
79 | |||
80 | stack.o: ../../e_os.h ../../include/openssl/bio.h | ||
81 | stack.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h | ||
82 | stack.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h | ||
83 | stack.o: ../../include/openssl/lhash.h ../../include/openssl/opensslconf.h | ||
84 | stack.o: ../../include/openssl/opensslv.h ../../include/openssl/safestack.h | ||
85 | stack.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h | ||
86 | stack.o: ../cryptlib.h stack.c | ||
diff --git a/src/lib/libcrypto/stack/Makefile.ssl b/src/lib/libcrypto/stack/Makefile.ssl new file mode 100644 index 0000000000..7120fb804a --- /dev/null +++ b/src/lib/libcrypto/stack/Makefile.ssl | |||
@@ -0,0 +1,88 @@ | |||
1 | # | ||
2 | # SSLeay/crypto/stack/Makefile | ||
3 | # | ||
4 | |||
5 | DIR= stack | ||
6 | TOP= ../.. | ||
7 | CC= cc | ||
8 | INCLUDES= | ||
9 | CFLAG=-g | ||
10 | INSTALL_PREFIX= | ||
11 | OPENSSLDIR= /usr/local/ssl | ||
12 | INSTALLTOP=/usr/local/ssl | ||
13 | MAKE= make -f Makefile.ssl | ||
14 | MAKEDEPPROG= makedepend | ||
15 | MAKEDEPEND= $(TOP)/util/domd $(TOP) -MD $(MAKEDEPPROG) | ||
16 | MAKEFILE= Makefile.ssl | ||
17 | AR= ar r | ||
18 | |||
19 | CFLAGS= $(INCLUDES) $(CFLAG) | ||
20 | |||
21 | GENERAL=Makefile | ||
22 | TEST= | ||
23 | APPS= | ||
24 | |||
25 | LIB=$(TOP)/libcrypto.a | ||
26 | LIBSRC=stack.c | ||
27 | LIBOBJ=stack.o | ||
28 | |||
29 | SRC= $(LIBSRC) | ||
30 | |||
31 | EXHEADER= stack.h safestack.h | ||
32 | HEADER= $(EXHEADER) | ||
33 | |||
34 | ALL= $(GENERAL) $(SRC) $(HEADER) | ||
35 | |||
36 | top: | ||
37 | (cd ../..; $(MAKE) DIRS=crypto SDIRS=$(DIR) sub_all) | ||
38 | |||
39 | all: lib | ||
40 | |||
41 | lib: $(LIBOBJ) | ||
42 | $(AR) $(LIB) $(LIBOBJ) | ||
43 | $(RANLIB) $(LIB) || echo Never mind. | ||
44 | @touch lib | ||
45 | |||
46 | files: | ||
47 | $(PERL) $(TOP)/util/files.pl Makefile.ssl >> $(TOP)/MINFO | ||
48 | |||
49 | links: | ||
50 | @sh $(TOP)/util/point.sh Makefile.ssl Makefile | ||
51 | @$(PERL) $(TOP)/util/mklink.pl ../../include/openssl $(EXHEADER) | ||
52 | @$(PERL) $(TOP)/util/mklink.pl ../../test $(TEST) | ||
53 | @$(PERL) $(TOP)/util/mklink.pl ../../apps $(APPS) | ||
54 | |||
55 | install: | ||
56 | @for i in $(EXHEADER) ; \ | ||
57 | do \ | ||
58 | (cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i; \ | ||
59 | chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i ); \ | ||
60 | done; | ||
61 | |||
62 | tags: | ||
63 | ctags $(SRC) | ||
64 | |||
65 | tests: | ||
66 | |||
67 | lint: | ||
68 | lint -DLINT $(INCLUDES) $(SRC)>fluff | ||
69 | |||
70 | depend: | ||
71 | $(MAKEDEPEND) -- $(CFLAG) $(INCLUDES) $(DEPFLAG) -- $(PROGS) $(LIBSRC) | ||
72 | |||
73 | dclean: | ||
74 | $(PERL) -pe 'if (/^# DO NOT DELETE THIS LINE/) {print; exit(0);}' $(MAKEFILE) >Makefile.new | ||
75 | mv -f Makefile.new $(MAKEFILE) | ||
76 | |||
77 | clean: | ||
78 | rm -f *.o *.obj lib tags core .pure .nfs* *.old *.bak fluff | ||
79 | |||
80 | # DO NOT DELETE THIS LINE -- make depend depends on it. | ||
81 | |||
82 | stack.o: ../../e_os.h ../../include/openssl/bio.h | ||
83 | stack.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h | ||
84 | stack.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h | ||
85 | stack.o: ../../include/openssl/lhash.h ../../include/openssl/opensslconf.h | ||
86 | stack.o: ../../include/openssl/opensslv.h ../../include/openssl/safestack.h | ||
87 | stack.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h | ||
88 | stack.o: ../cryptlib.h stack.c | ||
diff --git a/src/lib/libcrypto/stack/safestack.h b/src/lib/libcrypto/stack/safestack.h index 6010b7f122..bd1121c279 100644 --- a/src/lib/libcrypto/stack/safestack.h +++ b/src/lib/libcrypto/stack/safestack.h | |||
@@ -55,9 +55,6 @@ | |||
55 | #ifndef HEADER_SAFESTACK_H | 55 | #ifndef HEADER_SAFESTACK_H |
56 | #define HEADER_SAFESTACK_H | 56 | #define HEADER_SAFESTACK_H |
57 | 57 | ||
58 | typedef void (*openssl_fptr)(void); | ||
59 | #define openssl_fcast(f) ((openssl_fptr)f) | ||
60 | |||
61 | #include <openssl/stack.h> | 58 | #include <openssl/stack.h> |
62 | 59 | ||
63 | #ifdef DEBUG_SAFESTACK | 60 | #ifdef DEBUG_SAFESTACK |
@@ -76,74 +73,74 @@ STACK_OF(type) \ | |||
76 | /* SKM_sk_... stack macros are internal to safestack.h: | 73 | /* SKM_sk_... stack macros are internal to safestack.h: |
77 | * never use them directly, use sk_<type>_... instead */ | 74 | * never use them directly, use sk_<type>_... instead */ |
78 | #define SKM_sk_new(type, cmp) \ | 75 | #define SKM_sk_new(type, cmp) \ |
79 | ((STACK_OF(type) * (*)(int (*)(const type * const *, const type * const *)))openssl_fcast(sk_new))(cmp) | 76 | ((STACK_OF(type) * (*)(int (*)(const type * const *, const type * const *)))sk_new)(cmp) |
80 | #define SKM_sk_new_null(type) \ | 77 | #define SKM_sk_new_null(type) \ |
81 | ((STACK_OF(type) * (*)(void))openssl_fcast(sk_new_null))() | 78 | ((STACK_OF(type) * (*)(void))sk_new_null)() |
82 | #define SKM_sk_free(type, st) \ | 79 | #define SKM_sk_free(type, st) \ |
83 | ((void (*)(STACK_OF(type) *))openssl_fcast(sk_free))(st) | 80 | ((void (*)(STACK_OF(type) *))sk_free)(st) |
84 | #define SKM_sk_num(type, st) \ | 81 | #define SKM_sk_num(type, st) \ |
85 | ((int (*)(const STACK_OF(type) *))openssl_fcast(sk_num))(st) | 82 | ((int (*)(const STACK_OF(type) *))sk_num)(st) |
86 | #define SKM_sk_value(type, st,i) \ | 83 | #define SKM_sk_value(type, st,i) \ |
87 | ((type * (*)(const STACK_OF(type) *, int))openssl_fcast(sk_value))(st, i) | 84 | ((type * (*)(const STACK_OF(type) *, int))sk_value)(st, i) |
88 | #define SKM_sk_set(type, st,i,val) \ | 85 | #define SKM_sk_set(type, st,i,val) \ |
89 | ((type * (*)(STACK_OF(type) *, int, type *))openssl_fcast(sk_set))(st, i, val) | 86 | ((type * (*)(STACK_OF(type) *, int, type *))sk_set)(st, i, val) |
90 | #define SKM_sk_zero(type, st) \ | 87 | #define SKM_sk_zero(type, st) \ |
91 | ((void (*)(STACK_OF(type) *))openssl_fcast(sk_zero))(st) | 88 | ((void (*)(STACK_OF(type) *))sk_zero)(st) |
92 | #define SKM_sk_push(type, st,val) \ | 89 | #define SKM_sk_push(type, st,val) \ |
93 | ((int (*)(STACK_OF(type) *, type *))openssl_fcast(sk_push))(st, val) | 90 | ((int (*)(STACK_OF(type) *, type *))sk_push)(st, val) |
94 | #define SKM_sk_unshift(type, st,val) \ | 91 | #define SKM_sk_unshift(type, st,val) \ |
95 | ((int (*)(STACK_OF(type) *, type *))openssl_fcast(sk_unshift))(st, val) | 92 | ((int (*)(STACK_OF(type) *, type *))sk_unshift)(st, val) |
96 | #define SKM_sk_find(type, st,val) \ | 93 | #define SKM_sk_find(type, st,val) \ |
97 | ((int (*)(STACK_OF(type) *, type *))openssl_fcast(sk_find))(st, val) | 94 | ((int (*)(STACK_OF(type) *, type *))sk_find)(st, val) |
98 | #define SKM_sk_delete(type, st,i) \ | 95 | #define SKM_sk_delete(type, st,i) \ |
99 | ((type * (*)(STACK_OF(type) *, int))openssl_fcast(sk_delete))(st, i) | 96 | ((type * (*)(STACK_OF(type) *, int))sk_delete)(st, i) |
100 | #define SKM_sk_delete_ptr(type, st,ptr) \ | 97 | #define SKM_sk_delete_ptr(type, st,ptr) \ |
101 | ((type * (*)(STACK_OF(type) *, type *))openssl_fcast(sk_delete_ptr))(st, ptr) | 98 | ((type * (*)(STACK_OF(type) *, type *))sk_delete_ptr)(st, ptr) |
102 | #define SKM_sk_insert(type, st,val,i) \ | 99 | #define SKM_sk_insert(type, st,val,i) \ |
103 | ((int (*)(STACK_OF(type) *, type *, int))openssl_fcast(sk_insert))(st, val, i) | 100 | ((int (*)(STACK_OF(type) *, type *, int))sk_insert)(st, val, i) |
104 | #define SKM_sk_set_cmp_func(type, st,cmp) \ | 101 | #define SKM_sk_set_cmp_func(type, st,cmp) \ |
105 | ((int (*(*)(STACK_OF(type) *, int (*)(const type * const *, const type * const *))) \ | 102 | ((int (*(*)(STACK_OF(type) *, int (*)(const type * const *, const type * const *))) \ |
106 | (const type * const *, const type * const *))openssl_fcast(sk_set_cmp_func))\ | 103 | (const type * const *, const type * const *))sk_set_cmp_func)\ |
107 | (st, cmp) | 104 | (st, cmp) |
108 | #define SKM_sk_dup(type, st) \ | 105 | #define SKM_sk_dup(type, st) \ |
109 | ((STACK_OF(type) *(*)(STACK_OF(type) *))openssl_fcast(sk_dup))(st) | 106 | ((STACK_OF(type) *(*)(STACK_OF(type) *))sk_dup)(st) |
110 | #define SKM_sk_pop_free(type, st,free_func) \ | 107 | #define SKM_sk_pop_free(type, st,free_func) \ |
111 | ((void (*)(STACK_OF(type) *, void (*)(type *)))openssl_fcast(sk_pop_free))\ | 108 | ((void (*)(STACK_OF(type) *, void (*)(type *)))sk_pop_free)\ |
112 | (st, free_func) | 109 | (st, free_func) |
113 | #define SKM_sk_shift(type, st) \ | 110 | #define SKM_sk_shift(type, st) \ |
114 | ((type * (*)(STACK_OF(type) *))openssl_fcast(sk_shift))(st) | 111 | ((type * (*)(STACK_OF(type) *))sk_shift)(st) |
115 | #define SKM_sk_pop(type, st) \ | 112 | #define SKM_sk_pop(type, st) \ |
116 | ((type * (*)(STACK_OF(type) *))openssl_fcast(sk_pop))(st) | 113 | ((type * (*)(STACK_OF(type) *))sk_pop)(st) |
117 | #define SKM_sk_sort(type, st) \ | 114 | #define SKM_sk_sort(type, st) \ |
118 | ((void (*)(STACK_OF(type) *))openssl_fcast(sk_sort))(st) | 115 | ((void (*)(STACK_OF(type) *))sk_sort)(st) |
119 | #define SKM_sk_is_sorted(type, st) \ | 116 | #define SKM_sk_is_sorted(type, st) \ |
120 | ((int (*)(const STACK_OF(type) *))openssl_fcast(sk_is_sorted))(st) | 117 | ((int (*)(const STACK_OF(type) *))sk_is_sorted)(st) |
121 | 118 | ||
122 | #define SKM_ASN1_SET_OF_d2i(type, st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ | 119 | #define SKM_ASN1_SET_OF_d2i(type, st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ |
123 | ((STACK_OF(type) * (*) (STACK_OF(type) **,unsigned char **, long , \ | 120 | ((STACK_OF(type) * (*) (STACK_OF(type) **,unsigned char **, long , \ |
124 | type *(*)(type **, unsigned char **,long), \ | 121 | type *(*)(type **, unsigned char **,long), \ |
125 | void (*)(type *), int ,int )) openssl_fcast(d2i_ASN1_SET)) \ | 122 | void (*)(type *), int ,int )) d2i_ASN1_SET) \ |
126 | (st,pp,length, d2i_func, free_func, ex_tag,ex_class) | 123 | (st,pp,length, d2i_func, free_func, ex_tag,ex_class) |
127 | #define SKM_ASN1_SET_OF_i2d(type, st, pp, i2d_func, ex_tag, ex_class, is_set) \ | 124 | #define SKM_ASN1_SET_OF_i2d(type, st, pp, i2d_func, ex_tag, ex_class, is_set) \ |
128 | ((int (*)(STACK_OF(type) *,unsigned char **, \ | 125 | ((int (*)(STACK_OF(type) *,unsigned char **, \ |
129 | int (*)(type *,unsigned char **), int , int , int)) openssl_fcast(i2d_ASN1_SET)) \ | 126 | int (*)(type *,unsigned char **), int , int , int)) i2d_ASN1_SET) \ |
130 | (st,pp,i2d_func,ex_tag,ex_class,is_set) | 127 | (st,pp,i2d_func,ex_tag,ex_class,is_set) |
131 | 128 | ||
132 | #define SKM_ASN1_seq_pack(type, st, i2d_func, buf, len) \ | 129 | #define SKM_ASN1_seq_pack(type, st, i2d_func, buf, len) \ |
133 | ((unsigned char *(*)(STACK_OF(type) *, \ | 130 | ((unsigned char *(*)(STACK_OF(type) *, \ |
134 | int (*)(type *,unsigned char **), unsigned char **,int *)) openssl_fcast(ASN1_seq_pack)) \ | 131 | int (*)(type *,unsigned char **), unsigned char **,int *)) ASN1_seq_pack) \ |
135 | (st, i2d_func, buf, len) | 132 | (st, i2d_func, buf, len) |
136 | #define SKM_ASN1_seq_unpack(type, buf, len, d2i_func, free_func) \ | 133 | #define SKM_ASN1_seq_unpack(type, buf, len, d2i_func, free_func) \ |
137 | ((STACK_OF(type) * (*)(unsigned char *,int, \ | 134 | ((STACK_OF(type) * (*)(unsigned char *,int, \ |
138 | type *(*)(type **,unsigned char **, long), \ | 135 | type *(*)(type **,unsigned char **, long), \ |
139 | void (*)(type *)))openssl_fcast(ASN1_seq_unpack)) \ | 136 | void (*)(type *)))ASN1_seq_unpack) \ |
140 | (buf,len,d2i_func, free_func) | 137 | (buf,len,d2i_func, free_func) |
141 | 138 | ||
142 | #define SKM_PKCS12_decrypt_d2i(type, algor, d2i_func, free_func, pass, passlen, oct, seq) \ | 139 | #define SKM_PKCS12_decrypt_d2i(type, algor, d2i_func, free_func, pass, passlen, oct, seq) \ |
143 | ((STACK_OF(type) * (*)(X509_ALGOR *, \ | 140 | ((STACK_OF(type) * (*)(X509_ALGOR *, \ |
144 | type *(*)(type **, unsigned char **, long), void (*)(type *), \ | 141 | type *(*)(type **, unsigned char **, long), void (*)(type *), \ |
145 | const char *, int, \ | 142 | const char *, int, \ |
146 | ASN1_STRING *, int))openssl_fcast(PKCS12_decrypt_d2i)) \ | 143 | ASN1_STRING *, int))PKCS12_decrypt_d2i) \ |
147 | (algor,d2i_func,free_func,pass,passlen,oct,seq) | 144 | (algor,d2i_func,free_func,pass,passlen,oct,seq) |
148 | 145 | ||
149 | #else | 146 | #else |