diff options
Diffstat (limited to '')
| -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) | |
