Please try the diff below. It fixes the "backwards memcpy" problem
easily noticeable with psql -h ::1.
$OpenBSD$
--- src/backend/libpq/hba.c.orig Mon Feb 16 21:53:21 2015
+++ src/backend/libpq/hba.c Mon Feb 16 21:54:44 2015
@@ -700,8 +700,8 @@ check_ip(SockAddr *raddr, struct sockaddr * addr, stru
struct sockaddr_storage addrcopy,
maskcopy;
- memcpy(&addrcopy, &addr, sizeof(addrcopy));
- memcpy(&maskcopy, &mask, sizeof(maskcopy));
+ memcpy(&addrcopy, addr, addr->sa_len);
+ memcpy(&maskcopy, mask, mask->sa_len);
pg_promote_v4_to_v6_addr(&addrcopy);
pg_promote_v4_to_v6_mask(&maskcopy);
--
jca | PGP : 0x1524E7EE / 5135 92C1 AD36 5293 2BDF DDCC 0DFA 74AE 1524 E7EE