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.

Can I suggest someone with better understanding of the postgresql sources,
and ssl support, please pick this up - maybe in time for the 7.3 release ?
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.

Maybe OpenBSD considered e_os.h to be a security risk. ;-)

I don't think this will make 7.3 unless we can find more information. I
am hesitant to make any changes that may break openssl on other
platforms. If we can find a solution, it may be in 7.3.1.

--
Bruce Momjian | http://candle.pha.pa.us
pgman@candle.pha.pa.us | (610) 359-1001
+ If your life is a hard drive, | 13 Roberts Road
+ Christ can be your backup. | Newtown Square, Pennsylvania 19073

Search Discussions

  • Tom Lane at Nov 6, 2002 at 12:36 am

    Bruce Momjian 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
  • Tom Lane at Nov 7, 2002 at 6:49 pm

    I said:
    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 ...
    These were indeed the only uses of e_os.h symbols. I have removed them
    and the #includes.

    regards, tom lane

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
grouppgsql-ports @
categoriespostgresql
postedNov 5, '02 at 8:41p
activeNov 7, '02 at 6:49p
posts3
users2
websitepostgresql.org
irc#postgresql

2 users in discussion

Tom Lane: 2 posts Bruce Momjian: 1 post

People

Translate

site design / logo © 2022 Grokbase