> From: [email protected] On Behalf Of omronz
> Sent: Monday, 03 August, 2009 00:41
> I am new in SSL. I start to play around OpenSSL by creating a
> simple server that uses openssl. So, I just intialize the
> openssl main library but my program returned the warning
> message "data definition has no type or storage class" What
> does this mean and how can i eliminate this warning message?
> Hope that anyone here can help me since I am really new in OpenSSL.
> My OpenSSL version is 0.9.8g 19 Oct 2007.
>
Apparently you are new to C programming also.
> #include <openssl/bio.h>
> //#include <openssl/ssl.h>
> //#include <openssl/err.h>
>
> OpenSSL_add_all_algorithms(); //the warning message returned here
> SSL_load_error_strings(); //the warning message returned here
>
You cannot have executable statements outside of a function
body (more precisely, block) in C, so these are treated as
VERY OLD pre-"K&R1" (circa 1975) declarations with
no return type (implicit int) hence the warnings.
These should be calls (statements) INSIDE main(),
or in a larger program inside some function that is
executed at or sufficiently near program start.
> int main()
> {
> return 0;
> }
>
> Another error i received is
> - "previous declaration of
> 'OPENSSL_add_all_algorithms_noconf' was here"
> - "conflicting types for 'SSL_load_error_strings' "
>
> These error message above only appeared if i cancel the
> comment tag at the #include <openssl/ssl.h> and #include
> <openssl/err.h>
>
Those files provide the correct declarations (prototypes)
which conflict with the incorrect ones you mistakenly wrote.
> Hope that anyone can help me. I am now referring 3 basic
> manuals about openssl and these 3 gives different
> initialization library. Some uses
> OpenSSL_add_all_algorithms(); and there are some uses
> SSL_library_init(). I know that by using different library,
> they offer different encryption and hash function example
> like DES or any other encryption algo. Can both of them be
> used using my openssl version? Thanks a lot.
SSL_library_init adds to an internal table, which
makes usable by name/id/EVP etc., the algorithms
(potentially) needed by SSL/TLS. This is sufficient
if your application uses OpenSSL to do SSL/TLS.
OpenSSL_add_all_algorithms does this for all
algorithms (that were included at build time).
This can be needed if you want to do other crypto
functions instead of or in addition to SSL/TLS.
______________________________________________________________________
OpenSSL Project http://www.openssl.org
Development Mailing List [email protected]
Automated List Manager [email protected]