48 int lenstr =
strlen(
string);
88 const char *
namedata,
size_t namelen,
97 if (!(host && host[0] !=
'\0'))
114 name[namelen] =
'\0';
158 const unsigned char *
ipdata,
166 char tmp[
sizeof "ffff:ffff:ffff:ffff:ffff:ffff:255.255.255.255"];
171 if (!(host && host[0] !=
'\0'))
208 else if (
iplen == 16)
267 if (!(host && host[0] !=
'\0'))
286 libpq_ngettext(
"server certificate for \"%s\" (and %d other name) does not match host name \"%s\"",
287 "server certificate for \"%s\" (and %d other names) does not match host name \"%s\"",
int pq_verify_peer_name_matches_certificate_name(PGconn *conn, const char *namedata, size_t namelen, char **store_name)
static bool wildcard_certificate_match(const char *pattern, const char *string)
int pq_verify_peer_name_matches_certificate_ip(PGconn *conn, const unsigned char *ipdata, size_t iplen, char **store_name)
bool pq_verify_peer_name_matches_certificate(PGconn *conn)
int pgtls_verify_peer_name_matches_certificate_guts(PGconn *conn, int *names_examined, char **first_name)
#define libpq_ngettext(s, p, n)
void libpq_append_conn_error(PGconn *conn, const char *fmt,...)
#define PG_STRERROR_R_BUFLEN
int pg_strcasecmp(const char *s1, const char *s2)
char * pg_inet_net_ntop(int af, const void *src, int bits, char *dst, size_t size)
int inet_aton(const char *cp, struct in_addr *addr)
void appendPQExpBuffer(PQExpBuffer str, const char *fmt,...)
void appendPQExpBufferChar(PQExpBuffer str, char ch)
PQExpBufferData errorMessage