Anthony Roussel
2026-01-29 00:41:54 +01:00
committed by Anthony ROUSSEL
parent 8d25ba9915
commit 6e8ec5ba18
3 changed files with 118 additions and 111 deletions
@@ -0,0 +1,13 @@
diff --git a/src/utils/pool_process_reporting.c b/src/utils/pool_process_reporting.c
index 39087bc47..dc28ba958 100644
--- a/src/utils/pool_process_reporting.c
+++ b/src/utils/pool_process_reporting.c
@@ -1118,7 +1118,8 @@ get_config(int *nrows)
StrNCpy(status[i].name, "memqcache_stats_start_time", POOLCONFIG_MAXNAMELEN);
snprintf(status[i].value, POOLCONFIG_MAXVALLEN, "%s", ctime(&pool_get_memqcache_stats()->start_time));
/* remove a newline added by ctime() */
- *(strchrnul(status[i].value, '\n')) = '\0';
+ char *p = strchr(status[i].value, '\n');
+ if (p) *p = '\0';
StrNCpy(status[i].desc, "Start time of query cache stats", POOLCONFIG_MAXDESCLEN);
i++;
+66 -91
View File
@@ -1,17 +1,8 @@
diff --git a/src/Makefile.in b/src/Makefile.in
index 3b19ca27..4d2e8e52 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -124,7 +124,7 @@ am_pgpool_OBJECTS = main/main.$(OBJEXT) main/pool_globals.$(OBJEXT) \
context/pool_query_context.$(OBJEXT) \
streaming_replication/pool_worker_child.$(OBJEXT) \
rewrite/pool_timestamp.$(OBJEXT) rewrite/pool_lobj.$(OBJEXT) \
- utils/pool_select_walker.$(OBJEXT) utils/strlcpy.$(OBJEXT) \
+ utils/pool_select_walker.$(OBJEXT) \
utils/psprintf.$(OBJEXT) utils/pool_params.$(OBJEXT) \
utils/ps_status.$(OBJEXT) utils/pool_shmem.$(OBJEXT) \
utils/pool_sema.$(OBJEXT) utils/pool_signal.$(OBJEXT) \
@@ -469,7 +469,6 @@ pgpool_SOURCES = main/main.c \
diff --git a/src/Makefile.am b/src/Makefile.am
index 4678ab530..f3c12cb94 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -35,7 +35,6 @@ pgpool_SOURCES = main/main.c \
rewrite/pool_timestamp.c \
rewrite/pool_lobj.c \
utils/pool_select_walker.c \
@@ -19,57 +10,52 @@ index 3b19ca27..4d2e8e52 100644
utils/psprintf.c \
utils/pool_params.c \
utils/ps_status.c \
@@ -762,7 +761,6 @@ utils/$(am__dirstamp):
@$(MKDIR_P) utils
@: > utils/$(am__dirstamp)
utils/pool_select_walker.$(OBJEXT): utils/$(am__dirstamp)
-utils/strlcpy.$(OBJEXT): utils/$(am__dirstamp)
utils/psprintf.$(OBJEXT): utils/$(am__dirstamp)
utils/pool_params.$(OBJEXT): utils/$(am__dirstamp)
utils/ps_status.$(OBJEXT): utils/$(am__dirstamp)
diff --git a/src/libs/pcp/Makefile.in b/src/libs/pcp/Makefile.in
index 5ea3213a..5689fb33 100644
--- a/src/libs/pcp/Makefile.in
+++ b/src/libs/pcp/Makefile.in
@@ -129,7 +129,7 @@ libpcp_la_LIBADD =
am__dirstamp = $(am__leading_dot)dirstamp
dist_libpcp_la_OBJECTS = pcp.lo ../../utils/pool_path.lo \
../../tools/fe_port.lo ../../tools/fe_memutils.lo \
- ../../utils/strlcpy.lo ../../utils/pool_health_check_stats.lo
+ ../../utils/pool_health_check_stats.lo
nodist_libpcp_la_OBJECTS = pcp_stream.lo md5.lo json.lo
libpcp_la_OBJECTS = $(dist_libpcp_la_OBJECTS) \
$(nodist_libpcp_la_OBJECTS)
@@ -347,7 +347,6 @@ dist_libpcp_la_SOURCES = pcp.c \
@@ -106,7 +105,7 @@ pgpool_LDADD = -L@PGSQL_LIB_DIR@ -lpq parser/libsql-parser.a \
if enable_rpath
pgpool_LDFLAGS = -rpath @PGSQL_LIB_DIR@ -rpath $(libdir)
else
- pgpool_LDFLAGS =
+ pgpool_LDFLAGS =
endif
AM_YFLAGS = -d
diff --git a/src/libs/pcp/Makefile.am b/src/libs/pcp/Makefile.am
index 31f51233a..bca3f5374 100644
--- a/src/libs/pcp/Makefile.am
+++ b/src/libs/pcp/Makefile.am
@@ -6,7 +6,6 @@ dist_libpcp_la_SOURCES = pcp.c \
../../utils/pool_path.c \
../../tools/fe_port.c \
../../tools/fe_memutils.c \
- ../../utils/strlcpy.c \
../../utils/pool_health_check_stats.c
../../utils/pool_health_check_stats.c \
../../utils/sprompt.c
nodist_libpcp_la_SOURCES = pcp_stream.c \
@@ -437,7 +436,6 @@ clean-libLTLIBRARIES:
@: > ../../tools/$(am__dirstamp)
../../tools/fe_port.lo: ../../tools/$(am__dirstamp)
../../tools/fe_memutils.lo: ../../tools/$(am__dirstamp)
-../../utils/strlcpy.lo: ../../utils/$(am__dirstamp)
../../utils/pool_health_check_stats.lo: ../../utils/$(am__dirstamp)
diff --git a/src/test/regression/tests/010.rewrite_timestamp/timestamp/Makefile b/src/test/regression/tests/010.rewrite_timestamp/timestamp/Makefile
index f19c88f29..baf6220e5 100644
--- a/src/test/regression/tests/010.rewrite_timestamp/timestamp/Makefile
+++ b/src/test/regression/tests/010.rewrite_timestamp/timestamp/Makefile
@@ -5,7 +5,6 @@ CFLAGS=-Wall -O0 -g -std=gnu99
CC=gcc
libpcp.la: $(libpcp_la_OBJECTS) $(libpcp_la_DEPENDENCIES) $(EXTRA_libpcp_la_DEPENDENCIES)
diff --git a/src/tools/pgenc/Makefile.in b/src/tools/pgenc/Makefile.in
index ad117a5e..5c5fc838 100644
--- a/src/tools/pgenc/Makefile.in
+++ b/src/tools/pgenc/Makefile.in
@@ -101,7 +101,7 @@ PROGRAMS = $(bin_PROGRAMS)
am__dirstamp = $(am__leading_dot)dirstamp
dist_pg_enc_OBJECTS = pg_enc.$(OBJEXT) ../fe_port.$(OBJEXT)
nodist_pg_enc_OBJECTS = ssl_utils.$(OBJEXT) md5.$(OBJEXT) \
- base64.$(OBJEXT) pool_passwd.$(OBJEXT) strlcpy.$(OBJEXT) \
+ base64.$(OBJEXT) pool_passwd.$(OBJEXT) \
regex_array.$(OBJEXT) pool_config_variables.$(OBJEXT) \
pool_config.$(OBJEXT) fe_memutils.$(OBJEXT) \
pool_path.$(OBJEXT)
@@ -320,7 +320,6 @@ nodist_pg_enc_SOURCES = ssl_utils.c \
OBJS=main.o \
- $(topsrc_dir)/utils/strlcpy.o \
$(topsrc_dir)/utils/pgstrcasecmp.o \
$(topsrc_dir)/utils/psprintf.o \
$(topsrc_dir)/main/pool_globals.o \
@@ -15,7 +14,6 @@ OBJS=main.o \
all: all-pre $(PROGRAM)
all-pre:
- $(MAKE) -C $(topsrc_dir)/utils strlcpy.o
$(MAKE) -C $(topsrc_dir)/utils pgstrcasecmp.o
$(MAKE) -C $(topsrc_dir)/utils psprintf.o
$(MAKE) -C $(topsrc_dir)/main pool_globals.o
diff --git a/src/tools/pgenc/Makefile.am b/src/tools/pgenc/Makefile.am
index 643ad51b4..bff5d4a1d 100644
--- a/src/tools/pgenc/Makefile.am
+++ b/src/tools/pgenc/Makefile.am
@@ -7,7 +7,6 @@ nodist_pg_enc_SOURCES = ssl_utils.c \
md5.c \
base64.c \
pool_passwd.c \
@@ -77,7 +63,7 @@ index ad117a5e..5c5fc838 100644
regex_array.c \
pool_config_variables.c \
pool_config.c \
@@ -664,8 +663,6 @@ base64.h: ../../../src/include/utils/base64.h
@@ -33,8 +32,6 @@ base64.h: ../../../src/include/utils/base64.h
rm -f $@ && ln -s $< .
ssl_utils.h: ../../../src/include/utils/ssl_utils.h
rm -f $@ && ln -s $< .
@@ -86,28 +72,19 @@ index ad117a5e..5c5fc838 100644
regex_array.c: ../../../src/utils/regex_array.c
rm -f $@ && ln -s $< .
pool_config_variables.c: ../../../src/config/pool_config_variables.c
diff --git a/src/tools/pgmd5/Makefile.in b/src/tools/pgmd5/Makefile.in
index 275f39e5..d3af1e25 100644
--- a/src/tools/pgmd5/Makefile.in
+++ b/src/tools/pgmd5/Makefile.in
@@ -101,7 +101,7 @@ PROGRAMS = $(bin_PROGRAMS)
am__dirstamp = $(am__leading_dot)dirstamp
dist_pg_md5_OBJECTS = pg_md5.$(OBJEXT) ../fe_port.$(OBJEXT)
nodist_pg_md5_OBJECTS = md5.$(OBJEXT) pool_passwd.$(OBJEXT) \
- strlcpy.$(OBJEXT) regex_array.$(OBJEXT) \
+ regex_array.$(OBJEXT) \
pool_config_variables.$(OBJEXT) pool_config.$(OBJEXT) \
fe_memutils.$(OBJEXT) pool_path.$(OBJEXT)
pg_md5_OBJECTS = $(dist_pg_md5_OBJECTS) $(nodist_pg_md5_OBJECTS)
@@ -317,7 +317,6 @@ dist_pg_md5_SOURCES = pg_md5.c \
diff --git a/src/tools/pgmd5/Makefile.am b/src/tools/pgmd5/Makefile.am
index 1bf535a2a..f6fd04075 100644
--- a/src/tools/pgmd5/Makefile.am
+++ b/src/tools/pgmd5/Makefile.am
@@ -5,7 +5,6 @@ dist_pg_md5_SOURCES = pg_md5.c \
../fe_port.c
nodist_pg_md5_SOURCES = md5.c \
pool_passwd.c \
- strlcpy.c \
regex_array.c \
pool_config_variables.c \
pool_config.c \
@@ -653,8 +652,6 @@ pool_passwd.c: ../../../src/auth/pool_passwd.c
@@ -23,8 +22,6 @@ pool_passwd.c: ../../../src/auth/pool_passwd.c
rm -f $@ && ln -s $< .
pool_path.c: ../../../src/utils/pool_path.c
rm -f $@ && ln -s $< .
@@ -116,20 +93,18 @@ index 275f39e5..d3af1e25 100644
regex_array.c: ../../../src/utils/regex_array.c
rm -f $@ && ln -s $< .
pool_config_variables.c: ../../../src/config/pool_config_variables.c
diff --git a/src/tools/watchdog/Makefile.in b/src/tools/watchdog/Makefile.in
index 3e578b44..c7fbce4e 100644
--- a/src/tools/watchdog/Makefile.in
+++ b/src/tools/watchdog/Makefile.in
@@ -105,7 +105,7 @@ nodist_wd_cli_OBJECTS = ssl_utils.$(OBJEXT) wd_ipc_conn.$(OBJEXT) \
wd_commands.$(OBJEXT) json_writer.$(OBJEXT) json.$(OBJEXT) \
pool_config_variables.$(OBJEXT) pool_config.$(OBJEXT) \
pool_path.$(OBJEXT) fe_memutils.$(OBJEXT) stringinfo.$(OBJEXT) \
- strlcpy.$(OBJEXT) socket_stream.$(OBJEXT) \
+ socket_stream.$(OBJEXT) \
regex_array.$(OBJEXT) psprintf.$(OBJEXT) md5.$(OBJEXT)
wd_cli_OBJECTS = $(dist_wd_cli_OBJECTS) $(nodist_wd_cli_OBJECTS)
wd_cli_LDADD = $(LDADD)
@@ -359,7 +359,6 @@ nodist_wd_cli_SOURCES = ssl_utils.c \
diff --git a/src/tools/watchdog/Makefile.am b/src/tools/watchdog/Makefile.am
index 14226aba5..974bd5953 100644
--- a/src/tools/watchdog/Makefile.am
+++ b/src/tools/watchdog/Makefile.am
@@ -1,5 +1,5 @@
parser_incdir = $(top_srcdir)/src/include/parser
-AM_CPPFLAGS = -D_GNU_SOURCE -DPOOL_PRIVATE -I $(parser_incdir) -I @PGSQL_INCLUDE_DIR@
+AM_CPPFLAGS = -D_GNU_SOURCE -DPOOL_PRIVATE -I $(parser_incdir) -I @PGSQL_INCLUDE_DIR@
bin_PROGRAMS = wd_cli
bin_SCRIPTS = watchdog_setup
@@ -18,7 +18,6 @@ nodist_wd_cli_SOURCES = ssl_utils.c \
fe_memutils.c \
stringinfo.h \
stringinfo.c \
@@ -137,7 +112,7 @@ index 3e578b44..c7fbce4e 100644
socket_stream.c \
regex_array.c \
psprintf.c \
@@ -732,8 +731,6 @@ md5.h: ../../../src/include/auth/md5.h
@@ -37,8 +36,6 @@ md5.h: ../../../src/include/auth/md5.h
rm -f $@ && ln -s $< .
socket_stream.c: ../../../src/utils/socket_stream.c
rm -f $@ && ln -s $< .
+39 -20
View File
@@ -1,58 +1,77 @@
{
lib,
stdenv,
fetchurl,
autoreconfHook,
bison,
fetchFromGitHub,
flex,
libpq,
openssl,
libxcrypt,
withPam ? stdenv.hostPlatform.isLinux,
openssl,
pam,
withPam ? true,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "pgpool-II";
version = "4.6.4";
version = "4.7.1";
src = fetchurl {
url = "https://www.pgpool.net/mediawiki/download.php?f=pgpool-II-${finalAttrs.version}.tar.gz";
name = "pgpool-II-${finalAttrs.version}.tar.gz";
hash = "sha256-7w0ukamhHXN8ZHYkchnmefcYvsU1UGRhiVlO+a79KY0=";
src = fetchFromGitHub {
owner = "pgpool";
repo = "pgpool2";
tag = "V${lib.replaceString "." "_" finalAttrs.version}";
hash = "sha256-npH4rhRToPVfKk7XyGGzdRSZMQ+APM8MBKHmd0rzlDw=";
};
patches = [
# Build checks for strlcpy being available in the system, but doesn't
# actually exclude its own copy from being built
./darwin-strlcpy.patch
# Fix strchrnul not available on Darwin
./darwin-strchrnul.patch
];
nativeBuildInputs = [
autoreconfHook
bison
flex
];
buildInputs = [
libpq
openssl
libxcrypt
openssl
]
++ lib.optional withPam pam;
env.NIX_CFLAGS_COMPILE = toString (
lib.optionals (stdenv.cc.isClang) [
"-Wno-error=implicit-function-declaration"
]
);
configureFlags = [
"--sysconfdir=/etc"
"--localstatedir=/var"
"--with-openssl"
]
++ lib.optional withPam "--with-pam";
(lib.withFeature true "openssl")
(lib.withFeature withPam "pam")
];
installFlags = [
"sysconfdir=\${out}/etc"
];
patches = lib.optionals (stdenv.hostPlatform.isDarwin) [
# Build checks for strlcpy being available in the system, but doesn't
# actually exclude its own copy from being built
./darwin-strlcpy.patch
];
enableParallelBuilding = true;
meta = {
homepage = "https://www.pgpool.net/mediawiki/index.php/Main_Page";
description = "Middleware that works between PostgreSQL servers and PostgreSQL clients";
homepage = "https://pgpool.net/";
changelog = "https://www.pgpool.net/docs/latest/en/html/release-${
builtins.replaceStrings [ "." ] [ "-" ] finalAttrs.version
lib.replaceString "." "-" finalAttrs.version
}.html";
license = lib.licenses.free;
platforms = lib.platforms.unix;
maintainers = [ ];
mainProgram = "pgpool";
};
})