Bruce Momjian <pgman@candle.pha.pa.us> writes:
> Peter Galbavy wrote:
>> According to the feedback I have had, e_os.h is no longer a public interface
>> header file in OpenSSL. 'get_last_socket_error' is a macro that seems to
>> expand to errno.
> OK, I am using:
> #$ openssl
> OpenSSL> version
> OpenSSL 0.9.6e 30 Jul 2002
> and ssl compiles fine here. What version are you using, exactly.
I have OpenSSL 0.9.6g here (which is still the current release according
to www.openssl.org). openssl/e_os.h is certainly still there ... but it
does contain the comment
/* <openssl/e_os2.h> contains what we can justify to make visible
* to the outside; this file e_os.h is not part of the exported
* interface. */
which may have prompted the OpenBSD porter to not include it?
Anyway, get_last_socket_error() seems exactly equivalent to our macro
SOCK_ERRNO in libpq/libpq-int.h. AFAICT, the uses of it in our
code are these:
/home/postgres/pgsql/src/backend/libpq/be-secure.c:
errno = get_last_socket_error();
/home/postgres/pgsql/src/backend/libpq/be-secure.c:
errno = get_last_socket_error();
/home/postgres/pgsql/src/interfaces/libpq/fe-secure.c:
SOCK_ERRNO = get_last_socket_error();
/home/postgres/pgsql/src/interfaces/libpq/fe-secure.c:
SOCK_ERRNO = get_last_socket_error();
and I think every one of these is bogus and should be removed.
At best they're no-ops.
If that is the only use of e_os.h stuff then we can stop including
the file ...
regards, tom lane