Bruce Momjian <[EMAIL PROTECTED]> 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

---------------------------(end of broadcast)---------------------------
TIP 6: Have you searched our list archives?

http://archives.postgresql.org

Reply via email to