mkdir buildexe
cd buildexe \
&& ../configure --host=$(w32arch) --disable-debug \
+ --without-openssl \
+ --without-cares \
--with-libevent=/opt/apps/win32 --enable-evdns \
&& make \
- && $(warch)-strip pgbouncer.exe pgbevent.dll \
+ && $(w32arch)-strip pgbouncer.exe pgbevent.dll \
&& zip pgbouncer.zip pgbouncer.exe pgbevent.dll doc/*.html
zip -l buildexe/pgbouncer.zip etc/pgbouncer.ini etc/userlist.txt
mv buildexe/pgbouncer.zip $(w32zip)
-Subproject commit cd5859fcc592becbc8a9d6da3d7fc49009c4d00c
+Subproject commit 1c060834d468caf5a3c1f3c312cad9b3b10beb89
#include <usual/cxextra.h>
#include <usual/cbtree.h>
+#include <usual/fileutil.h>
enum RuleType {
RULE_LOCAL,
const uint32_t *src, *base, *mask;
if (pga_family(addr) != AF_INET)
return false;
- src = &addr->sin.sin_addr.s_addr;
+ src = (uint32_t *)&addr->sin.sin_addr.s_addr;
base = (uint32_t *)rule->rule_addr;
mask = (uint32_t *)rule->rule_mask;
return (src[0] & mask[0]) == base[0];
static bool add_listen(int af, const struct sockaddr *sa, int salen)
{
struct ListenSocket *ls;
- int sock, res, val;
+ int sock, res;
char buf[128];
const char *errpos;
#ifndef WIN32
/* relaxed binding */
if (af != AF_UNIX) {
- val = 1;
+ int val = 1;
errpos = "setsockopt";
res = setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, &val, sizeof(val));
if (res < 0)
#ifdef IPV6_V6ONLY
/* avoid ipv6 socket's attempt to takeover ipv4 port */
if (af == AF_INET6) {
- val = 1;
+ int val = 1;
errpos = "setsockopt/IPV6_V6ONLY";
res = setsockopt(sock, IPPROTO_IPV6, IPV6_V6ONLY, &val, sizeof(val));
if (res < 0)