]> granicus.if.org Git - postgresql/commitdiff
Handle threading in two more gethostbyname calls.
authorBruce Momjian <bruce@momjian.us>
Sat, 14 Jun 2003 18:20:33 +0000 (18:20 +0000)
committerBruce Momjian <bruce@momjian.us>
Sat, 14 Jun 2003 18:20:33 +0000 (18:20 +0000)
src/interfaces/libpq/fe-secure.c
src/port/getaddrinfo.c

index 1771d8bb7dd3f159fd13013a78d84a2b30b7b04f..216528efe07e4b6c22a48a1b38934db91d679a04 100644 (file)
@@ -11,7 +11,7 @@
  *
  *
  * IDENTIFICATION
- *       $Header: /cvsroot/pgsql/src/interfaces/libpq/fe-secure.c,v 1.24 2003/06/14 17:49:54 momjian Exp $
+ *       $Header: /cvsroot/pgsql/src/interfaces/libpq/fe-secure.c,v 1.25 2003/06/14 18:20:32 momjian Exp $
  *
  * NOTES
  *       The client *requires* a valid server certificate.  Since
@@ -453,8 +453,17 @@ verify_peer(PGconn *conn)
        if (addr.sa_family == AF_UNIX)
                return 0;
 
+       {
+               struct hostent hpstr;
+               char buf[BUFSIZ];
+               int herrno = 0;
+
+               pqGethostbyname(conn->peer_cn, &hpstr, buf, sizeof(buf),
+                               &h, &herrno);
+       }
+       
        /* what do we know about the peer's common name? */
-       if ((h = gethostbyname(conn->peer_cn)) == NULL)
+       if ((h == NULL)
        {
                printfPQExpBuffer(&conn->errorMessage,
                libpq_gettext("could not get information about host (%s): %s\n"),
index 2f2449629b646ab12dd3ec743d518fcf24d1cf6b..1cfee0485bdaa1550bb95475db150eeb2e62a374 100644 (file)
@@ -8,7 +8,7 @@
  *
  *
  * IDENTIFICATION
- *       $Header: /cvsroot/pgsql/src/port/getaddrinfo.c,v 1.7 2003/06/12 08:15:29 momjian Exp $
+ *       $Header: /cvsroot/pgsql/src/port/getaddrinfo.c,v 1.8 2003/06/14 18:20:33 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -84,8 +84,16 @@ getaddrinfo(const char *node, const char *service,
                else
                {
                        struct hostent *hp;
-
+#ifdef FRONTEND
+                       struct hostent hpstr;
+                       char buf[BUFSIZ];
+                       int herrno = 0;
+
+                       pqGethostbyname(node, &hpstr, buf, sizeof(buf),
+                                       &hp, &herrno);
+#else
                        hp = gethostbyname(node);
+#endif
                        if (hp == NULL)
                        {
                                switch (h_errno)