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
This commit is contained in:
Havoc Pennington 2007-01-26 16:10:26 +00:00
parent 5284ed3979
commit 8d3d8ff557
3 changed files with 45 additions and 8 deletions

View file

@ -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

View file

@ -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;

View file

@ -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>