Treat ENOTDIR as ENOENT when looking for client certificate file
authorMagnus Hagander <magnus@hagander.net>
Sat, 3 Dec 2011 14:02:53 +0000 (15:02 +0100)
committerMagnus Hagander <magnus@hagander.net>
Sat, 3 Dec 2011 14:05:50 +0000 (15:05 +0100)
This makes it possible to use a libpq app with home directory set
to /dev/null, for example - treating it the same as if the file
doesn't exist (which it doesn't).

Per bug #6302, reported by Diego Elio Petteno

src/interfaces/libpq/fe-secure.c

index 32c6229ba005a0a7975c77c1033d6fa48d918fed..9833385c41ed914e4827fd7290d9407d7d6b87fc 100644 (file)
@@ -1013,7 +1013,7 @@ initialize_SSL(PGconn *conn)
                 * might or might not accept the connection.  Any other error,
                 * however, is grounds for complaint.
                 */
-               if (errno != ENOENT)
+               if (errno != ENOENT && errno != ENOTDIR)
                {
                        printfPQExpBuffer(&conn->errorMessage,
                           libpq_gettext("could not open certificate file \"%s\": %s\n"),