Problem Description: I was getting compile issues when changing from openssl 0.9.8 to openssl current snapshot. The errors were in safestack.h. It appears that some functions do indeed cast but others do not. void* is currently being passed in due to CHECKED_PTR_OF being part of the macro. This returns void*. Failure to compile was using the compiler under Sun Forte 6 U2.
Solution: Changed SKM_sk_num, SKM_sk_value, SKIM_sk_pop_free functions and added the appropriate cast. --- ../../../../openssl-orig/crypto/stack/safestack.h Tue Oct 14 20:00:13 2008 +++ safestack.h Tue Dec 2 15:01:48 2008 @@ -132,9 +132,9 @@ #define SKM_sk_free(type, st) \ sk_free(CHECKED_PTR_OF(STACK_OF(type), st)) #define SKM_sk_num(type, st) \ - sk_num(CHECKED_PTR_OF(STACK_OF(type), st)) + sk_num((const _STACK *)CHECKED_PTR_OF(STACK_OF(type), st)) #define SKM_sk_value(type, st,i) \ - ((type *)sk_value(CHECKED_PTR_OF(STACK_OF(type), st), i)) + ((type *)sk_value((const _STACK *)CHECKED_PTR_OF(STACK_OF(type), st), i)) #define SKM_sk_set(type, st,i,val) \ sk_set(CHECKED_PTR_OF(STACK_OF(type), st), i, CHECKED_PTR_OF(type, val)) #define SKM_sk_zero(type, st) \ @@ -160,7 +160,7 @@ #define SKM_sk_dup(type, st) \ (STACK_OF(type) *)sk_dup(CHECKED_PTR_OF(STACK_OF(type), st)) #define SKM_sk_pop_free(type, st, free_func) \ - sk_pop_free(CHECKED_PTR_OF(STACK_OF(type), st), CHECKED_SK_FREE_FUNC(type, free_func)) + sk_pop_free((_STACK *)CHECKED_PTR_OF(STACK_OF(type), st), CHECKED_SK_FREE_FUNC(type, free_func)) #define SKM_sk_shift(type, st) \ (type *)sk_shift(CHECKED_PTR_OF(STACK_OF(type), st)) #define SKM_sk_pop(type, st) \ Brad