diff options
author | Havoc Pennington <hp@redhat.com> | 2007-01-26 16:10:26 +0000 |
---|---|---|
committer | Havoc Pennington <hp@redhat.com> | 2007-01-26 16:10:26 +0000 |
commit | 8d3d8ff55739eebd84d0d53a20a025329feafc3b (patch) | |
tree | e33f2217a6a05fe89aaec30337ba339fc6a08821 | |
parent | 5284ed3979d7c27f84bd0496682fb63b5e60ed5f (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-- | ChangeLog | 10 | ||||
-rw-r--r-- | bus/config-parser.c | 20 | ||||
-rw-r--r-- | bus/session.conf.in | 23 |
3 files changed, 45 insertions, 8 deletions
@@ -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> |