--- rpms/e-smith-base/sme8/e-smith-base-5.2.0-pppoeMlimit.patch 2013/01/23 03:47:15 1.1 +++ rpms/e-smith-base/sme8/e-smith-base-5.2.0-pppoeMlimit.patch 2013/01/30 06:06:59 1.2 @@ -1,10 +1,59 @@ +diff -ruN e-smith-base-5.2.0.old/createlinks e-smith-base-5.2.0/createlinks +--- e-smith-base-5.2.0.old/createlinks 2013-01-30 05:07:05.000000000 +0000 ++++ e-smith-base-5.2.0/createlinks 2013-01-30 05:23:47.000000000 +0000 +@@ -19,6 +19,7 @@ + /var/lib/dhclient/dhclient-eth1.conf + /var/service/wan/pppoe.pppd.conf + /var/service/wan/run.pppoe.conf ++ /var/service/wan/env.pppoe/PPPD_MLIMIT + /etc/ppp/ip-down.local + /etc/ppp/ip-up.local + )) +diff -ruN e-smith-base-5.2.0.old/root/etc/e-smith/templates/var/service/wan/env.pppoe/PPPD_MLIMIT e-smith-base-5.2.0/root/etc/e-smith/templates/var/service/wan/env.pppoe/PPPD_MLIMIT +--- e-smith-base-5.2.0.old/root/etc/e-smith/templates/var/service/wan/env.pppoe/PPPD_MLIMIT 1970-01-01 01:00:00.000000000 +0100 ++++ e-smith-base-5.2.0/root/etc/e-smith/templates/var/service/wan/env.pppoe/PPPD_MLIMIT 2013-01-30 05:28:36.000000000 +0000 +@@ -0,0 +1,18 @@ ++{ ++ # memory limit to catch any memory leak before it kills the system ++ my $MIN_MEMORY_LIMIT = 100000000; ++ $OUT = $MIN_MEMORY_LIMIT; ++ ++ if (defined $pppoe{Mlimit}) ++ { ++ # If there is a DB variable defined that is less than the minimum memroy limit, delete it. ++ if ($pppoe{Mlimit} <= $MIN_MEMORY_LIMIT) ++ { ++ $DB->get_prop_and_delete('pppoe','Mlimit'); ++ } ++ else ++ { ++ $OUT=$pppoe{Mlimit}; ++ } ++ } ++} diff -ruN e-smith-base-5.2.0.old/root/etc/e-smith/templates/var/service/wan/run.pppoe.conf/mlimit e-smith-base-5.2.0/root/etc/e-smith/templates/var/service/wan/run.pppoe.conf/mlimit --- e-smith-base-5.2.0.old/root/etc/e-smith/templates/var/service/wan/run.pppoe.conf/mlimit 2007-01-27 01:56:31.000000000 +0000 -+++ e-smith-base-5.2.0/root/etc/e-smith/templates/var/service/wan/run.pppoe.conf/mlimit 2013-01-23 03:32:56.000000000 +0000 -@@ -1,5 +1,5 @@ - { - # memory limit to catch any memory leak before it kills the system ++++ e-smith-base-5.2.0/root/etc/e-smith/templates/var/service/wan/run.pppoe.conf/mlimit 1970-01-01 01:00:00.000000000 +0100 +@@ -1,5 +0,0 @@ +-{ +-# memory limit to catch any memory leak before it kills the system - my $mlimit = $pppoe{Mlimit} || '25000000'; -+ my $mlimit = $pppoe{Mlimit} || '100000000'; - $OUT = "PPPD_MLIMIT=$mlimit"; - } +- $OUT = "PPPD_MLIMIT=$mlimit"; +-} +diff -ruN e-smith-base-5.2.0.old/root/var/service/wan/run.pppoe e-smith-base-5.2.0/root/var/service/wan/run.pppoe +--- e-smith-base-5.2.0.old/root/var/service/wan/run.pppoe 2013-01-30 05:07:05.000000000 +0000 ++++ e-smith-base-5.2.0/root/var/service/wan/run.pppoe 2013-01-30 05:23:35.000000000 +0000 +@@ -22,11 +22,12 @@ + exec 2>&1 + + . run.pppoe.conf ++MEM="`head -1 ./env.pppoe/PPPD_MLIMIT`" + + extaddr=$(/sbin/e-smith/config getprop ExternalInterface IPAddress) + + exec \ +- /usr/local/bin/softlimit -m $PPPD_MLIMIT \ ++ /usr/local/bin/softlimit -m ${MEM} \ + /usr/bin/setsid \ + /usr/sbin/pppd ${extaddr:+$extaddr:} \ + file pppoe.pppd.conf