Re: [PATCHES] sslmode patch

Tom Lane <tgl@sss.pgh.pa.us>

From: Tom Lane <tgl@sss.pgh.pa.us>
To: Bruce Momjian <pgman@candle.pha.pa.us>
Cc: PostgreSQL-development <pgsql-hackers@postgresql.org>, Jon Jensen <jon@endpoint.com>
Date: 2003-07-26T15:14:46Z
Lists: pgsql-hackers
Bruce Momjian <pgman@candle.pha.pa.us> writes:
> I had a little problem apply this patch because it had an #ifdef for
> elog() parameter passing.  Because ereport() is now a macro, you can't
> do #ifdef inside a macro _call_, so I did it this way:

I don't think a non-SSL-enabled build need be pointing that out in every
error message --- the SSL phrase shouldn't even be there in the message.
Accordingly, I'd be inclined to do this:

#ifdef USE_SSL
    ereport(FATAL,
        (errcode(ERRCODE_INVALID_AUTHORIZATION_SPECIFICATION),
         errmsg("no pg_hba.conf entry for host \"%s\", user \"%s\", database \"%s\", %s",
                hostinfo, port->user_name, port->database_name,
                (port->ssl ? gettext("SSL on") : gettext("SSL off")))));
#else
    ereport(FATAL,
        (errcode(ERRCODE_INVALID_AUTHORIZATION_SPECIFICATION),
         errmsg("no pg_hba.conf entry for host \"%s\", user \"%s\", database \"%s\"",
                hostinfo, port->user_name, port->database_name)));
#endif

This approach is also more localizable.

			regards, tom lane