diff options
Diffstat (limited to 'src/lib/libcrypto/ex_data.c')
-rw-r--r-- | src/lib/libcrypto/ex_data.c | 40 |
1 files changed, 20 insertions, 20 deletions
diff --git a/src/lib/libcrypto/ex_data.c b/src/lib/libcrypto/ex_data.c index 176574766b..a057dd3b68 100644 --- a/src/lib/libcrypto/ex_data.c +++ b/src/lib/libcrypto/ex_data.c | |||
@@ -63,15 +63,15 @@ | |||
63 | #include <openssl/lhash.h> | 63 | #include <openssl/lhash.h> |
64 | #include "cryptlib.h" | 64 | #include "cryptlib.h" |
65 | 65 | ||
66 | int CRYPTO_get_ex_new_index(int idx, STACK **skp, long argl, char *argp, | 66 | int CRYPTO_get_ex_new_index(int idx, STACK_OF(CRYPTO_EX_DATA_FUNCS) **skp, long argl, void *argp, |
67 | int (*new_func)(), int (*dup_func)(), void (*free_func)()) | 67 | CRYPTO_EX_new *new_func, CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func) |
68 | { | 68 | { |
69 | int ret= -1; | 69 | int ret= -1; |
70 | CRYPTO_EX_DATA_FUNCS *a; | 70 | CRYPTO_EX_DATA_FUNCS *a; |
71 | 71 | ||
72 | MemCheck_off(); | 72 | MemCheck_off(); |
73 | if (*skp == NULL) | 73 | if (*skp == NULL) |
74 | *skp=sk_new_null(); | 74 | *skp=sk_CRYPTO_EX_DATA_FUNCS_new_null(); |
75 | if (*skp == NULL) | 75 | if (*skp == NULL) |
76 | { | 76 | { |
77 | CRYPTOerr(CRYPTO_F_CRYPTO_GET_EX_NEW_INDEX,ERR_R_MALLOC_FAILURE); | 77 | CRYPTOerr(CRYPTO_F_CRYPTO_GET_EX_NEW_INDEX,ERR_R_MALLOC_FAILURE); |
@@ -88,23 +88,23 @@ int CRYPTO_get_ex_new_index(int idx, STACK **skp, long argl, char *argp, | |||
88 | a->new_func=new_func; | 88 | a->new_func=new_func; |
89 | a->dup_func=dup_func; | 89 | a->dup_func=dup_func; |
90 | a->free_func=free_func; | 90 | a->free_func=free_func; |
91 | while (sk_num(*skp) <= idx) | 91 | while (sk_CRYPTO_EX_DATA_FUNCS_num(*skp) <= idx) |
92 | { | 92 | { |
93 | if (!sk_push(*skp,NULL)) | 93 | if (!sk_CRYPTO_EX_DATA_FUNCS_push(*skp,NULL)) |
94 | { | 94 | { |
95 | CRYPTOerr(CRYPTO_F_CRYPTO_GET_EX_NEW_INDEX,ERR_R_MALLOC_FAILURE); | 95 | CRYPTOerr(CRYPTO_F_CRYPTO_GET_EX_NEW_INDEX,ERR_R_MALLOC_FAILURE); |
96 | Free(a); | 96 | Free(a); |
97 | goto err; | 97 | goto err; |
98 | } | 98 | } |
99 | } | 99 | } |
100 | sk_set(*skp,idx, (char *)a); | 100 | sk_CRYPTO_EX_DATA_FUNCS_set(*skp,idx, a); |
101 | ret=idx; | 101 | ret=idx; |
102 | err: | 102 | err: |
103 | MemCheck_on(); | 103 | MemCheck_on(); |
104 | return(idx); | 104 | return(idx); |
105 | } | 105 | } |
106 | 106 | ||
107 | int CRYPTO_set_ex_data(CRYPTO_EX_DATA *ad, int idx, char *val) | 107 | int CRYPTO_set_ex_data(CRYPTO_EX_DATA *ad, int idx, void *val) |
108 | { | 108 | { |
109 | int i; | 109 | int i; |
110 | 110 | ||
@@ -131,7 +131,7 @@ int CRYPTO_set_ex_data(CRYPTO_EX_DATA *ad, int idx, char *val) | |||
131 | return(1); | 131 | return(1); |
132 | } | 132 | } |
133 | 133 | ||
134 | char *CRYPTO_get_ex_data(CRYPTO_EX_DATA *ad, int idx) | 134 | void *CRYPTO_get_ex_data(CRYPTO_EX_DATA *ad, int idx) |
135 | { | 135 | { |
136 | if (ad->sk == NULL) | 136 | if (ad->sk == NULL) |
137 | return(0); | 137 | return(0); |
@@ -145,7 +145,7 @@ char *CRYPTO_get_ex_data(CRYPTO_EX_DATA *ad, int idx) | |||
145 | * being duplicated, a pointer to the | 145 | * being duplicated, a pointer to the |
146 | * 'new' object to be inserted, the index, and the argi/argp | 146 | * 'new' object to be inserted, the index, and the argi/argp |
147 | */ | 147 | */ |
148 | int CRYPTO_dup_ex_data(STACK *meth, CRYPTO_EX_DATA *to, | 148 | int CRYPTO_dup_ex_data(STACK_OF(CRYPTO_EX_DATA_FUNCS) *meth, CRYPTO_EX_DATA *to, |
149 | CRYPTO_EX_DATA *from) | 149 | CRYPTO_EX_DATA *from) |
150 | { | 150 | { |
151 | int i,j,m,r; | 151 | int i,j,m,r; |
@@ -154,14 +154,14 @@ int CRYPTO_dup_ex_data(STACK *meth, CRYPTO_EX_DATA *to, | |||
154 | 154 | ||
155 | if (meth == NULL) return(1); | 155 | if (meth == NULL) return(1); |
156 | if (from->sk == NULL) return(1); | 156 | if (from->sk == NULL) return(1); |
157 | m=sk_num(meth); | 157 | m=sk_CRYPTO_EX_DATA_FUNCS_num(meth); |
158 | j=sk_num(from->sk); | 158 | j=sk_num(from->sk); |
159 | for (i=0; i<j; i++) | 159 | for (i=0; i<j; i++) |
160 | { | 160 | { |
161 | from_d=CRYPTO_get_ex_data(from,i); | 161 | from_d=CRYPTO_get_ex_data(from,i); |
162 | if (i < m) | 162 | if (i < m) |
163 | { | 163 | { |
164 | mm=(CRYPTO_EX_DATA_FUNCS *)sk_value(meth,i); | 164 | mm=sk_CRYPTO_EX_DATA_FUNCS_value(meth,i); |
165 | if (mm->dup_func != NULL) | 165 | if (mm->dup_func != NULL) |
166 | r=mm->dup_func(to,from,(char **)&from_d,i, | 166 | r=mm->dup_func(to,from,(char **)&from_d,i, |
167 | mm->argl,mm->argp); | 167 | mm->argl,mm->argp); |
@@ -172,18 +172,18 @@ int CRYPTO_dup_ex_data(STACK *meth, CRYPTO_EX_DATA *to, | |||
172 | } | 172 | } |
173 | 173 | ||
174 | /* Call each free callback */ | 174 | /* Call each free callback */ |
175 | void CRYPTO_free_ex_data(STACK *meth, char *obj, CRYPTO_EX_DATA *ad) | 175 | void CRYPTO_free_ex_data(STACK_OF(CRYPTO_EX_DATA_FUNCS) *meth, void *obj, CRYPTO_EX_DATA *ad) |
176 | { | 176 | { |
177 | CRYPTO_EX_DATA_FUNCS *m; | 177 | CRYPTO_EX_DATA_FUNCS *m; |
178 | char *ptr; | 178 | void *ptr; |
179 | int i,max; | 179 | int i,max; |
180 | 180 | ||
181 | if (meth != NULL) | 181 | if (meth != NULL) |
182 | { | 182 | { |
183 | max=sk_num(meth); | 183 | max=sk_CRYPTO_EX_DATA_FUNCS_num(meth); |
184 | for (i=0; i<max; i++) | 184 | for (i=0; i<max; i++) |
185 | { | 185 | { |
186 | m=(CRYPTO_EX_DATA_FUNCS *)sk_value(meth,i); | 186 | m=sk_CRYPTO_EX_DATA_FUNCS_value(meth,i); |
187 | if ((m != NULL) && (m->free_func != NULL)) | 187 | if ((m != NULL) && (m->free_func != NULL)) |
188 | { | 188 | { |
189 | ptr=CRYPTO_get_ex_data(ad,i); | 189 | ptr=CRYPTO_get_ex_data(ad,i); |
@@ -198,19 +198,19 @@ void CRYPTO_free_ex_data(STACK *meth, char *obj, CRYPTO_EX_DATA *ad) | |||
198 | } | 198 | } |
199 | } | 199 | } |
200 | 200 | ||
201 | void CRYPTO_new_ex_data(STACK *meth, char *obj, CRYPTO_EX_DATA *ad) | 201 | void CRYPTO_new_ex_data(STACK_OF(CRYPTO_EX_DATA_FUNCS) *meth, void *obj, CRYPTO_EX_DATA *ad) |
202 | { | 202 | { |
203 | CRYPTO_EX_DATA_FUNCS *m; | 203 | CRYPTO_EX_DATA_FUNCS *m; |
204 | char *ptr; | 204 | void *ptr; |
205 | int i,max; | 205 | int i,max; |
206 | 206 | ||
207 | ad->sk=NULL; | 207 | ad->sk=NULL; |
208 | if (meth != NULL) | 208 | if (meth != NULL) |
209 | { | 209 | { |
210 | max=sk_num(meth); | 210 | max=sk_CRYPTO_EX_DATA_FUNCS_num(meth); |
211 | for (i=0; i<max; i++) | 211 | for (i=0; i<max; i++) |
212 | { | 212 | { |
213 | m=(CRYPTO_EX_DATA_FUNCS *)sk_value(meth,i); | 213 | m=sk_CRYPTO_EX_DATA_FUNCS_value(meth,i); |
214 | if ((m != NULL) && (m->new_func != NULL)) | 214 | if ((m != NULL) && (m->new_func != NULL)) |
215 | { | 215 | { |
216 | ptr=CRYPTO_get_ex_data(ad,i); | 216 | ptr=CRYPTO_get_ex_data(ad,i); |
@@ -220,4 +220,4 @@ void CRYPTO_new_ex_data(STACK *meth, char *obj, CRYPTO_EX_DATA *ad) | |||
220 | } | 220 | } |
221 | } | 221 | } |
222 | 222 | ||
223 | 223 | IMPLEMENT_STACK_OF(CRYPTO_EX_DATA_FUNCS) | |