From 1fa1dadaa96e11c23c30f0a5180cfbc360f055f7 Mon Sep 17 00:00:00 2001 From: florian Date: Wed, 15 Feb 2006 15:36:28 +0000 Subject: =?UTF-8?q?Added=20logrotate,=20fixed=20CP=20call=20in=20httping,?= =?UTF-8?q?=20added=20bind=20splitting,=20thanks=20to=20S=C3=A9bastien=20B?= =?UTF-8?q?ourgasser?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: svn://svn.openwrt.org/openwrt/trunk/openwrt@3243 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- .../patches/logrotate-3.7.1-no-tmpdir.patch | 54 ++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 package/logrotate/patches/logrotate-3.7.1-no-tmpdir.patch (limited to 'package/logrotate/patches/logrotate-3.7.1-no-tmpdir.patch') diff --git a/package/logrotate/patches/logrotate-3.7.1-no-tmpdir.patch b/package/logrotate/patches/logrotate-3.7.1-no-tmpdir.patch new file mode 100644 index 000000000..fb95f1ee3 --- /dev/null +++ b/package/logrotate/patches/logrotate-3.7.1-no-tmpdir.patch @@ -0,0 +1,54 @@ +diff -u -ruN logrotate-3.7.1-cur/logrotate.c logrotate-3.7.1/logrotate.c +--- logrotate-3.7.1-cur/logrotate.c 2005-05-25 18:20:41.000000000 -0400 ++++ logrotate-3.7.1/logrotate.c 2005-05-25 18:21:10.000000000 -0400 +@@ -90,10 +90,7 @@ + } + + static int runScript(char * logfn, char * script) { +- int fd; +- char *filespec; + int rc; +- char buf[256]; + + if (debug) { + message(MESS_DEBUG, "running script with arg %s: \"%s\"\n", +@@ -101,38 +98,12 @@ + return 0; + } + +- filespec = buf; +- snprintf(buf, sizeof(buf), "%s/logrotate.XXXXXX", getenv("TMPDIR") ?: "/tmp"); +- fd = -1; +- if (!filespec || (fd = mkstemp(filespec)) < 0 || fchmod(fd, 0700)) { +- message(MESS_DEBUG, "error creating %s: %s\n", filespec, +- strerror(errno)); +- if (fd >= 0) { +- close(fd); +- unlink(filespec); +- } +- return -1; +- } +- +- if (write(fd, "#!/bin/sh\n\n", 11) != 11 || +- write(fd, script, strlen(script)) != strlen(script)) { +- message(MESS_DEBUG, "error writing %s\n", filespec); +- close(fd); +- unlink(filespec); +- return -1; +- } +- +- close(fd); +- + if (!fork()) { +- execlp(filespec, filespec, logfn, NULL); ++ execl("/bin/sh", "sh", "-c", script, NULL); + exit(1); + } + + wait(&rc); +- +- unlink(filespec); +- + return rc; + } + -- cgit v1.2.3