dbus/bus config-parser.c,1.46,1.47 session.conf.in,1.11,1.12

Havoc Pennington hp at kemper.freedesktop.org
Fri Jan 26 08:10:12 PST 2007


Update of /cvs/dbus/dbus/bus
In directory kemper:/tmp/cvs-serv21040/bus

Modified Files:
	config-parser.c session.conf.in 
Log Message:
2007-01-26  Havoc Pennington  <hp at 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



Index: config-parser.c
===================================================================
RCS file: /cvs/dbus/dbus/bus/config-parser.c,v
retrieving revision 1.46
retrieving revision 1.47
diff -u -d -r1.46 -r1.47
--- config-parser.c	2 Nov 2006 23:56:48 -0000	1.46
+++ config-parser.c	26 Jan 2007 16:10:09 -0000	1.47
@@ -460,8 +460,8 @@
     {
 
       /* 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 @@
        */
       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;

Index: session.conf.in
===================================================================
RCS file: /cvs/dbus/dbus/bus/session.conf.in,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -d -r1.11 -r1.12
--- session.conf.in	1 Nov 2006 23:30:46 -0000	1.11
+++ session.conf.in	26 Jan 2007 16:10:09 -0000	1.12
@@ -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>



More information about the dbus-commit mailing list