From 4ee43c08b4b1749ae70eec1bb0dea9eb4c67f6da Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Mon, 15 Mar 2010 09:39:23 +0000 Subject: [PATCH] better defaults, nicer error msgs: --- contrib/defaults.conf | 5 ++++- doc/man/gnunet-peerinfo.1 | 2 +- src/util/configuration.c | 10 +++++++++- src/util/service.c | 41 ++++++++++++++++++++++++++++++--------- 4 files changed, 46 insertions(+), 12 deletions(-) diff --git a/contrib/defaults.conf b/contrib/defaults.conf index 07bea3732..da25633eb 100644 --- a/contrib/defaults.conf +++ b/contrib/defaults.conf @@ -1,6 +1,9 @@ [PATHS] SERVICEHOME = /var/lib/gnunet/ -DEFAULTCONFIG = /etc/gnunet.conf +# DEFAULTCONFIG = /etc/gnunet.conf +# If 'DEFAULTCONFIG' is not defined, the current +# configuration file is assumed to be the default, +# which is what we want by default... [gnunetd] HOSTKEY = $SERVICEHOME/.hostkey diff --git a/doc/man/gnunet-peerinfo.1 b/doc/man/gnunet-peerinfo.1 index d25dfa3d3..3eb2157d6 100644 --- a/doc/man/gnunet-peerinfo.1 +++ b/doc/man/gnunet-peerinfo.1 @@ -15,7 +15,7 @@ gnunet\-peerinfo \- Display information about other peers. .SH OPTIONS .B .IP "\-c FILENAME, \-\-config=FILENAME" -Load config file (default: /etc/gnunet.conf) +Load config file (default: ~/.gnunet/gnunet.conf) .B .IP "\-h, \-\-help" Print help page diff --git a/src/util/configuration.c b/src/util/configuration.c index 41eeeb461..167fd375a 100644 --- a/src/util/configuration.c +++ b/src/util/configuration.c @@ -1140,10 +1140,18 @@ GNUNET_CONFIGURATION_load (struct GNUNET_CONFIGURATION_Handle *cfg, (!((filename == NULL) || (GNUNET_OK == GNUNET_CONFIGURATION_parse (cfg, filename))))) { - GNUNET_free (baseconfig); + GNUNET_free (baseconfig); return GNUNET_SYSERR; } GNUNET_free (baseconfig); + if ( ((GNUNET_YES != GNUNET_CONFIGURATION_have_value (cfg, + "PATHS", + "DEFAULTCONFIG"))) && + (filename != NULL) ) + GNUNET_CONFIGURATION_set_value_string (cfg, + "PATHS", + "DEFAULTCONFIG", + filename); if ((GNUNET_YES == GNUNET_CONFIGURATION_have_value (cfg, "TESTING", "WEAKRANDOM")) && diff --git a/src/util/service.c b/src/util/service.c index 210074017..e6fec7514 100644 --- a/src/util/service.c +++ b/src/util/service.c @@ -999,8 +999,13 @@ setup_service (struct GNUNET_SERVICE_Context *sctx) GNUNET_CONFIGURATION_get_value_time (sctx->cfg, sctx->serviceName, "TIMEOUT", &idleout)) - return GNUNET_SYSERR; - + { + GNUNET_log (GNUNET_ERROR_TYPE_ERROR, + _("Specified value for `%s' of service `%s' is invalid\n"), + "TIMEOUT", + sctx->serviceName); + return GNUNET_SYSERR; + } sctx->timeout = idleout; } else @@ -1012,7 +1017,13 @@ setup_service (struct GNUNET_SERVICE_Context *sctx) GNUNET_CONFIGURATION_get_value_number (sctx->cfg, sctx->serviceName, "MAXBUF", &maxbuf)) - return GNUNET_SYSERR; + { + GNUNET_log (GNUNET_ERROR_TYPE_ERROR, + _("Specified value for `%s' of service `%s' is invalid\n"), + "MAXBUF", + sctx->serviceName); + return GNUNET_SYSERR; + } } else maxbuf = GNUNET_SERVER_MAX_MESSAGE_SIZE; @@ -1023,7 +1034,13 @@ setup_service (struct GNUNET_SERVICE_Context *sctx) (sctx->allow_shutdown = GNUNET_CONFIGURATION_get_value_yesno (sctx->cfg, sctx->serviceName, "ALLOW_SHUTDOWN"))) - return GNUNET_SYSERR; + { + GNUNET_log (GNUNET_ERROR_TYPE_ERROR, + _("Specified value for `%s' of service `%s' is invalid\n"), + "ALLOW_SHUTDOWN", + sctx->serviceName); + return GNUNET_SYSERR; + } } else sctx->allow_shutdown = GNUNET_NO; @@ -1036,7 +1053,13 @@ setup_service (struct GNUNET_SERVICE_Context *sctx) (tolerant = GNUNET_CONFIGURATION_get_value_yesno (sctx->cfg, sctx->serviceName, "TOLERANT"))) - return GNUNET_SYSERR; + { + GNUNET_log (GNUNET_ERROR_TYPE_ERROR, + _("Specified value for `%s' of service `%s' is invalid\n"), + "TOLERANT", + sctx->serviceName); + return GNUNET_SYSERR; + } } else tolerant = GNUNET_NO; @@ -1417,17 +1440,17 @@ GNUNET_SERVICE_run (int argc, /* setup subsystems */ if (GNUNET_SYSERR == GNUNET_GETOPT_run (serviceName, service_options, argc, argv)) - HANDLE_ERROR; + goto shutdown; if (GNUNET_OK != GNUNET_log_setup (serviceName, loglev, logfile)) HANDLE_ERROR; if (GNUNET_OK != GNUNET_CONFIGURATION_load (cfg, cfg_fn)) - HANDLE_ERROR; + goto shutdown; if (GNUNET_OK != setup_service (&sctx)) - HANDLE_ERROR; + goto shutdown; if ( (do_daemonize == 1) && (GNUNET_OK != detach_terminal (&sctx))) HANDLE_ERROR; if (GNUNET_OK != set_user_id (&sctx)) - HANDLE_ERROR; + goto shutdown; #if DEBUG_SERVICE GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Service `%s' runs with configuration from `%s'\n", -- 2.25.1