OpenPKG CVS Repository
http://cvs.openpkg.org/
____________________________________________________________________________
Server: cvs.openpkg.org Name: Thomas Lotterer
Root: /e/openpkg/cvs Email: [EMAIL PROTECTED]
Module: openpkg-src openpkg-web Date: 28-Oct-2003 11:42:16
Branch: HEAD Handle: 2003102810421402
Modified files:
openpkg-src/postfix postfix.patch postfix.spec
openpkg-web news.txt
Log:
PR#285 patch to use soft not hard limits with setrlimit(2)
Summary:
Revision Changes Path
1.3 +82 -0 openpkg-src/postfix/postfix.patch
1.179 +4 -1 openpkg-src/postfix/postfix.spec
1.7199 +1 -0 openpkg-web/news.txt
____________________________________________________________________________
patch -p0 <<'@@ .'
Index: openpkg-src/postfix/postfix.patch
============================================================================
$ cvs diff -u -r1.2 -r1.3 postfix.patch
--- openpkg-src/postfix/postfix.patch 22 Jul 2003 14:19:09 -0000 1.2
+++ openpkg-src/postfix/postfix.patch 28 Oct 2003 10:42:16 -0000 1.3
@@ -23,3 +23,85 @@
#endif
}
if (msg_verbose)
+
+https://rt.openpkg.org/Ticket/Display.html?id=285
+ USE_SOFTLIMITONLY kludge
+
+Index: src/util/file_limit.c
+--- src/util/file_limit.c.orig 2000-08-22 23:44:44.000000000 +0200
++++ src/util/file_limit.c 2003-10-28 11:11:47.000000000 +0100
+@@ -80,12 +80,21 @@
+ void set_file_limit(off_t limit)
+ {
+ #ifdef USE_ULIMIT
++#ifdef USE_SOFTLIMITONLY
++#error "USE_ULIMIT and USE_SOFTLIMITONLY are mutual exclusive"
++#endif
+ if (ulimit(UL_SETFSIZE, limit / ULIMIT_BLOCK_SIZE) < 0)
+ msg_fatal("ulimit: %m");
+ #else
+ struct rlimit rlim;
+
++#ifdef USE_SOFTLIMITONLY
++ if (getrlimit(RLIMIT_FSIZE, &rlim) < 0)
++ rlim.rlim_max = RLIM_INFINITY;
++ rlim.rlim_cur = limit;
++#else
+ rlim.rlim_cur = rlim.rlim_max = limit;
++#endif
+ if (setrlimit(RLIMIT_FSIZE, &rlim) < 0)
+ msg_fatal("setrlimit: %m");
+ #ifdef SIGXFSZ
+
+Index: src/util/msg_syslog.c
+--- src/util/msg_syslog.c.orig 2003-09-14 03:34:33.000000000 +0200
++++ src/util/msg_syslog.c 2003-10-28 11:14:00.000000000 +0100
+@@ -50,6 +50,11 @@
+ #include <syslog.h>
+ #include <string.h>
+ #include <time.h>
++#ifdef USE_SOFTLIMITONLY
++#include <sys/time.h>
++#include <sys/resource.h>
++#include <signal.h>
++#endif
+
+ /* Application-specific. */
+
+@@ -144,6 +149,9 @@
+
+ static void msg_syslog_print(int level, const char *text)
+ {
++#ifdef USE_SOFTLIMITONLY
++ struct rlimit save, rlim;
++#endif
+ static int log_level[] = {
+ LOG_INFO, LOG_WARNING, LOG_ERR, LOG_CRIT, LOG_CRIT,
+ };
+@@ -154,6 +162,15 @@
+ if (level < 0 || level >= (int) (sizeof(log_level) / sizeof(log_level[0])))
+ msg_panic("msg_syslog_print: invalid severity level: %d", level);
+
++#ifdef USE_SOFTLIMITONLY
++ if (getrlimit(RLIMIT_FSIZE, &save) < 0) {
++ save.rlim_cur = RLIM_INFINITY;
++ save.rlim_max = RLIM_INFINITY;
++ }
++ rlim.rlim_cur = save.rlim_max;
++ rlim.rlim_max = save.rlim_max;
++ (void)setrlimit(RLIMIT_FSIZE, &rlim);
++#endif
+ if (level == MSG_INFO) {
+ syslog(syslog_facility | log_level[level], "%.*s",
+ (int) MSG_SYSLOG_RECLEN, text);
+@@ -161,6 +178,9 @@
+ syslog(syslog_facility | log_level[level], "%s: %.*s",
+ severity_name[level], (int) MSG_SYSLOG_RECLEN, text);
+ }
++#ifdef USE_SOFTLIMITONLY
++ (void)setrlimit(RLIMIT_FSIZE, &save);
++#endif
+ }
+
+ /* msg_syslog_init - initialize */
+
@@ .
patch -p0 <<'@@ .'
Index: openpkg-src/postfix/postfix.spec
============================================================================
$ cvs diff -u -r1.178 -r1.179 postfix.spec
--- openpkg-src/postfix/postfix.spec 17 Oct 2003 21:41:35 -0000 1.178
+++ openpkg-src/postfix/postfix.spec 28 Oct 2003 10:42:16 -0000 1.179
@@ -39,7 +39,7 @@
Group: Mail
License: IPL
Version: %{V_postfix}
-Release: 20031017
+Release: 20031028
# package options
%option with_fsl yes
@@ -182,7 +182,10 @@
CCARGS="$CCARGS -DHAS_LDAP"
AUXLIBS="$AUXLIBS -lldap -llber -lssl -lcrypto"
%endif
+%if "%{with_fsl}" == "yes"
AUXLIBS="$AUXLIBS %{l_fsl_ldflags} %{l_fsl_libs}"
+ CCARGS="$CCARGS -DUSE_SOFTLIMITONLY"
+%endif
%if "%{with_fdsetsize}" != "no"
%if "%{with_fdsetsize}" == "yes"
CCARGS="$CCARGS -DFD_SETSIZE=1024"
@@ .
patch -p0 <<'@@ .'
Index: openpkg-web/news.txt
============================================================================
$ cvs diff -u -r1.7198 -r1.7199 news.txt
--- openpkg-web/news.txt 28 Oct 2003 08:27:33 -0000 1.7198
+++ openpkg-web/news.txt 28 Oct 2003 10:42:14 -0000 1.7199
@@ -1,3 +1,4 @@
+28-Oct-2003: Upgraded package: P<postfix-2.0.16-20031028>
28-Oct-2003: Upgraded package: P<fsl-1.3.0-1.3.2>
28-Oct-2003: Upgraded package: P<openpkg-20031028-20031028>
27-Oct-2003: Upgraded package: P<dbtool-1.6-20031027>
@@ .
______________________________________________________________________
The OpenPKG Project www.openpkg.org
CVS Repository Commit List [EMAIL PROTECTED]