Roumen Petrov wrote:
Hello all,

Check-in [19505] and [19557] "cryptlib.c: allow application to override OPENSSL_isservice" adds call for GetProcAddress with argument name of function that start with underscore. The function OPENSSL_isservice is specific for windows platforms and on those platforms in not well defined naming convention for functions with "C" calling conventions - it is compiler dependent.

It's kind if expected to work same way as applink. I.e. if some compiler deviates from "main-stream" ones, Visual C and gcc/mingw, then it's its problem. Visual C and gcc/ming being in same "category" means that they do share naming convention, more specifically exported __cdecl symbols appearing verbatim in exported symbols table. As for other compilers, even though there is no well-defined convention, there ought to be some way to set the a name of programmer's choice. How otherwise would they inter-operate with anything? For reference, so far the only compiler observed deviating from above mentioned naming convention is Borland's (where problem can be worked around *in this case* directly in C code by declaring to be exported function __stdcall as depicted in ms/applink.c).

May be code after call could check for function name without underscode.

The intention was to use name *different* from OPENSSL_isservice. Meaning that if it will be shown that checking for two names benefits something, then we'd have to change the base name, e.g. to one with two underscores or something completely different. A.
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       [email protected]
Automated List Manager                           [email protected]

Reply via email to