summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHavoc Pennington <hp@redhat.com>2007-01-26 16:10:26 +0000
committerHavoc Pennington <hp@redhat.com>2007-01-26 16:10:26 +0000
commit8d3d8ff55739eebd84d0d53a20a025329feafc3b (patch)
treee33f2217a6a05fe89aaec30337ba339fc6a08821
parent5284ed3979d7c27f84bd0496682fb63b5e60ed5f (diff)
2007-01-26 Havoc Pennington <hp@redhat.com>
* bus/session.conf.in: override all the default limits with much higher limits on the session bus, there is no reason the session bus should have low limits * bus/config-parser.c (bus_config_parser_new): increase default limits so they are less likely to be hit; in particular the max replies per connection was way too low
-rw-r--r--ChangeLog10
-rw-r--r--bus/config-parser.c20
-rw-r--r--bus/session.conf.in23
3 files changed, 45 insertions, 8 deletions
diff --git a/ChangeLog b/ChangeLog
index 3a2669d5..eb788c49 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2007-01-26 Havoc Pennington <hp@redhat.com>
+
+ * bus/session.conf.in: override all the default limits with much
+ higher limits on the session bus, there is no reason the session
+ bus should have low limits
+
+ * bus/config-parser.c (bus_config_parser_new): increase default
+ limits so they are less likely to be hit; in particular the max
+ replies per connection was way too low
+
2006-01-25 Simon McVittie <simon.mcvittie@collabora.co.uk>
* doc/dbus-tutorial.xml: Replace Python section of tutorial with
diff --git a/bus/config-parser.c b/bus/config-parser.c
index dbffd3ff..db46893a 100644
--- a/bus/config-parser.c
+++ b/bus/config-parser.c
@@ -460,8 +460,8 @@ bus_config_parser_new (const DBusString *basedir,
{
/* Make up some numbers! woot! */
- parser->limits.max_incoming_bytes = _DBUS_ONE_MEGABYTE * 63;
- parser->limits.max_outgoing_bytes = _DBUS_ONE_MEGABYTE * 63;
+ parser->limits.max_incoming_bytes = _DBUS_ONE_MEGABYTE * 127;
+ parser->limits.max_outgoing_bytes = _DBUS_ONE_MEGABYTE * 127;
parser->limits.max_message_size = _DBUS_ONE_MEGABYTE * 32;
/* Making this long means the user has to wait longer for an error
@@ -476,22 +476,26 @@ bus_config_parser_new (const DBusString *basedir,
*/
parser->limits.auth_timeout = 30000; /* 30 seconds */
- parser->limits.max_incomplete_connections = 32;
- parser->limits.max_connections_per_user = 128;
+ parser->limits.max_incomplete_connections = 64;
+ parser->limits.max_connections_per_user = 256;
/* Note that max_completed_connections / max_connections_per_user
* is the number of users that would have to work together to
* DOS all the other users.
*/
- parser->limits.max_completed_connections = 1024;
+ parser->limits.max_completed_connections = 2048;
- parser->limits.max_pending_activations = 256;
- parser->limits.max_services_per_connection = 256;
+ parser->limits.max_pending_activations = 512;
+ parser->limits.max_services_per_connection = 512;
parser->limits.max_match_rules_per_connection = 512;
parser->limits.reply_timeout = 5 * 60 * 1000; /* 5 minutes */
- parser->limits.max_replies_per_connection = 32;
+
+ /* this is effectively a limit on message queue size for messages
+ * that require a reply
+ */
+ parser->limits.max_replies_per_connection = 1024*8;
}
parser->refcount = 1;
diff --git a/bus/session.conf.in b/bus/session.conf.in
index 344efc54..962a1982 100644
--- a/bus/session.conf.in
+++ b/bus/session.conf.in
@@ -27,4 +27,27 @@
<include if_selinux_enabled="yes" selinux_root_relative="yes">contexts/dbus_contexts</include>
+ <!-- For the session bus, override the default relatively-low limits
+ with essentially infinite limits, since the bus is just running
+ as the user anyway, using up bus resources is not something we need
+ to worry about. In some cases, we do set the limits lower than
+ "all available memory" if exceeding the limit is almost certainly a bug,
+ having the bus enforce a limit is nicer than a huge memory leak. But the
+ intent is that these limits should never be hit. -->
+
+ <!-- the memory limits are 1G instead of say 4G because they can't exceed 32-bit signed int max -->
+ <limit name="max_incoming_bytes">1000000000</limit>
+ <limit name="max_outgoing_bytes">1000000000</limit>
+ <limit name="max_message_size">1000000000</limit>
+ <limit name="service_start_timeout">120000</limit>
+ <limit name="auth_timeout">240000</limit>
+ <limit name="max_completed_connections">100000</limit>
+ <limit name="max_incomplete_connections">10000</limit>
+ <limit name="max_connections_per_user">100000</limit>
+ <limit name="max_pending_service_starts">10000</limit>
+ <limit name="max_names_per_connection">50000</limit>
+ <limit name="max_match_rules_per_connection">50000</limit>
+ <limit name="max_replies_per_connection">50000</limit>
+ <limit name="reply_timeout">300000</limit>
+
</busconfig>