Merged silc_1_0_branch to trunk.
[silc.git] / doc / example_silcd.conf.in
index aa7df35a65bb25257793034cd8e6652aae0296bd..2610cb23ba34be08461735a7b49472551f5c236e 100644 (file)
@@ -138,6 +138,29 @@ General {
        # sessions are persistent as long as server is running.
        #detach_disabled = true;
        #detach_timeout = 1440;
+
+       # Quality of Service (QoS) settings.  The QoS can be used to handle
+       # the incoming data and limit its handling rate to avoid flooding.
+       # By default QoS is disabled and can be enabled by setting "qos" to
+       # true value.  The "qos_rate_limit" is the data reads per second,
+       # and if more frequently is read due to for example data flooding,
+       # QoS is applied to the data.  The "qos_bytes_limit" is maximum bytes
+       # allowed for incoming data.  If more is received at once the QoS
+       # is applied to the data.  The "qos_limit_sec" and "qos_limit_usec"
+       # is the timeout used to delay the data handling, seconds and
+       # microseconds, respectively.  NOTE: If you enable QoS in General
+       # section it applies to server connections as well.  Server
+       # connections SHOULD NOT use QoS.  This can be overridden with
+       # ConnectionParams.
+       #qos = true;
+       #qos_rate_limit = 10;
+       #qos_bytes_limit = 2048;
+       #qos_limit_sec = 0;
+       #qos_limit_usec = 500000;
+
+       # Debug string.  Debug string can be set to print debugging from
+       # the running server.  The debug is redirected to stderr.
+       # debug_string = "";
 };
 
 #
@@ -223,7 +246,8 @@ ServerInfo {
 # are redirected on the less important ones, thus setting a valid logging
 # file for "Info" will ensure logging for all channels, while setting
 # logging file for "Errors" will ensure logging for channels "Errors"
-# and "Fatals"
+# and "Fatals".  If only, for example, "Info" is set then all logs go to
+# that file (like in example below).
 #
 Logging {
        # Use timestamp in the logging files? (Usually it is a good idea,
@@ -247,26 +271,26 @@ Logging {
        # Informational messages
        Info {
                File = "@LOGSDIR@/silcd.log";
-               Size = "50k";
+               Size = "100k";
        };
 
        # Warning messages
-       Warnings {
-               File = "@LOGSDIR@/silcd_warnings.log";
-               Size = "50k";
-       };
+       #Warnings {
+       #       File = "@LOGSDIR@/silcd_warnings.log";
+       #       Size = "50k";
+       #};
 
        # Error messages
-       Errors {
-               File = "@LOGSDIR@/silcd_errors.log";
-               Size = "50k";
-       };
+       #Errors {
+       #       File = "@LOGSDIR@/silcd_errors.log";
+       #       Size = "50k";
+       #};
 
        # Fatal messages
-       Fatals {
-               File = "@LOGSDIR@/silcd_fatals.log";
-               Size = "50k";
-       };
+       #Fatals {
+       #       File = "@LOGSDIR@/silcd_fatals.log";
+       #       Size = "50k";
+       #};
 };
 
 #
@@ -358,8 +382,22 @@ ConnectionParams {
        # is scrambled and anonymous mode is set for the user.
        #anonymous = true;
 
-       #TODO:
-       #connections_interval - incoming connection interval limit ?
+       # Quality of Service (QoS) settings.  The QoS can be used to handle
+       # the incoming data and limit its handling rate to avoid flooding.
+       # By default QoS is disabled and can be enabled by setting "qos" to
+       # true value.  The "qos_rate_limit" is the incmoing data reading
+       # per second, and if more frequently than the set limit is read the
+       # QoS is applied to the data.  The "qos_bytes_limit" is maximum bytes
+       # allowed for incoming data.  If more is received at once the QoS
+       # is applied to the data.  The "qos_limit_sec" and "qos_limit_usec"
+       # is the timeout used to delay the data handling, seconds and
+       # microseconds, respectively.  For server connections QoS SHOULD NOT
+       # be set.
+       #qos = true;
+       #qos_rate_limit = 10;
+       #qos_bytes_limit = 2048;
+       #qos_limit_sec = 0;
+       #qos_limit_usec = 500000;
 };
 
 #
@@ -372,10 +410,9 @@ ConnectionParams {
 #
 # The authentication data is specified by Passphrase and/or PublicKey.
 # If both are provided then both password and public key based authentication
-# is allowed.  If the Publickey is used it includes the file path to the
-# public key file.  If none of them is provided then authentication is not
-# required.  The PublicKey can be set multiple times to set multiple
-# public keys for one connection.
+# is allowed.  The "PublicKey" includes the single key contained in the
+# specified file, while "PublicKeyDir" includes all files in the specified
+# directory, which must all be valid public keys with ".pub" suffix.
 #
 # Next example connection will match to all incoming client connections,
 # and no authentication is required.
@@ -383,9 +420,10 @@ ConnectionParams {
 Client {
        #Host = "10.1.*";
        #Passphrase = "secret";
-       #PublicKey = "/path/to/the/user_my.key";
-       #PublicKey = "/path/to/the/user_221.key";
-       #PublicKey = "/path/to/the/user_313.key";
+       #PublicKey = "/path/to/the/user_my.pub";
+       #PublicKey = "/path/to/the/user_221.pub";
+       #PublicKey = "/path/to/the/user_313.pub";
+       #PublicKeyDir = "/path/to/keys/dir/";
        Params = "normal";
 };
 
@@ -406,7 +444,7 @@ Admin {
        User = "priikone";
        Nick = "pekka";
        Passphrase = "verysecret";
-       # PublicKey = "/path/to/the/public.key";
+       # PublicKey = "/path/to/the/public.pub";
 };
 
 #
@@ -415,7 +453,8 @@ Admin {
 # If server connections are configured it means that this server is
 # router server.  Normal servers must not configure server connections.
 # Thus, if this server is not router do not configure this section.  If
-# your server is router, this must be configured.
+# your server is router, this must be configured.  The Host (mandatory)
+# specifies the remote server.
 #
 # The authentication data is specified by Passphrase and/or PublicKey.
 # If both are provided then both password and public key based authentication
@@ -430,7 +469,7 @@ Admin {
 ServerConnection {
        Host = "10.2.1.7";
        Passphrase = "verysecret";
-       #PublicKey = "/path/to/the/public.key";
+       #PublicKey = "/path/to/the/public.pub";
        Params = "normal";
        Backup = false;
 };
@@ -441,9 +480,9 @@ ServerConnection {
 # For normal servers only one entry maybe configured to this section.  It
 # must be the router this server will be connected to.  For router servers,
 # this section includes all configured router connections.  The first
-# configured connection is the primary route.  The Host specifies the
-# remote hostname or IP address.  The Port specifies the remote port to
-# connect when Initiator is true.  When Initiator is false the Port
+# configured connection is the primary route.  The Host (mandatory) specifies
+# the remote hostname or IP address.  The Port specifies the remote port
+# to connect when Initiator is true.  When Initiator is false the Port
 # specifies the local port (listener port).
 #
 # The authentication data is specified by Passphrase and/or PublicKey.
@@ -467,7 +506,7 @@ RouterConnection {
        Host = "10.2.1.100";
        Port = 706;
        Passphrase = "verysecret";
-       #PublicKey = "/path/to/the/public.key";
+       #PublicKey = "/path/to/the/public.pub";
        Params = "normal";
        Initiator = true;
        #BackupHost = "10.2.1.6";