summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMax Khon <fjoe@FreeBSD.org>2020-11-20 07:58:19 +0000
committerMax Khon <fjoe@FreeBSD.org>2020-11-20 07:58:19 +0000
commit7eb5fadacfc037705f369f169dfd91eaf6e4ab1f (patch)
treea380b8a6278f314fe522b90f1ce0e8521ffbdd5f
parentdevel/fatal: Update 2020.11.02.00 -> 2020.11.16.00 (diff)
Apply logfile-chown and logfile-chmod options when logfile is rotated.
PR: 250900
-rw-r--r--www/uwsgi/Makefile1
-rw-r--r--www/uwsgi/files/patch-core-logging.c32
2 files changed, 33 insertions, 0 deletions
diff --git a/www/uwsgi/Makefile b/www/uwsgi/Makefile
index 6b41710b2802..31ec5f894a5e 100644
--- a/www/uwsgi/Makefile
+++ b/www/uwsgi/Makefile
@@ -3,6 +3,7 @@
PORTNAME= uwsgi
PORTVERSION= 2.0.19.1
+PORTREVISION= 1
CATEGORIES= www python
MASTER_SITES= http://projects.unbit.it/downloads/
diff --git a/www/uwsgi/files/patch-core-logging.c b/www/uwsgi/files/patch-core-logging.c
new file mode 100644
index 000000000000..57589f10c555
--- /dev/null
+++ b/www/uwsgi/files/patch-core-logging.c
@@ -0,0 +1,32 @@
+--- core/logging.c.orig 2020-11-06 10:12:49.865752000 +0100
++++ core/logging.c 2020-11-06 10:17:57.825745000 +0100
+@@ -536,13 +536,23 @@
+ uwsgi_error_open(logfile);
+ exit(1);
+ }
+- else {
+- if (dup2(fd, log_fd) < 0) {
+- // this could be lost :(
+- uwsgi_error("uwsgi_log_do_rotate()/dup2()");
+- exit(1);
+- }
++ if (dup2(fd, log_fd) < 0) {
++ // this could be lost :(
++ uwsgi_error("uwsgi_log_do_rotate()/dup2()");
+ close(fd);
++ exit(1);
++ }
++ close(fd);
++
++ if (uwsgi.chmod_logfile_value) {
++ if (fchmod(log_fd, uwsgi.chmod_logfile_value)) {
++ uwsgi_error("fchmod()");
++ }
++ }
++ if (uwsgi.logfile_chown) {
++ if (fchown(log_fd, uwsgi.uid, uwsgi.gid)) {
++ uwsgi_error("fchown()");
++ }
+ }
+ }
+ else {