/*
* This file is part of DisOrder.
* Copyright (C) 2004, 2005, 2006, 2007 Richard Kettlewell
+ * Portions copyright (C) 2007 Mark Wooding
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
*/
char *configfile;
+/** @brief Read user configuration
+ *
+ * If clear, the user-specific configuration is not read.
+ */
+int config_per_user = 1;
+
/** @brief Config file parser state */
struct config_state {
/** @brief Filename */
return -1;
xfree(privconf);
/* if there's a per-user system config file for this user, read it */
- if(!(pw = getpwuid(getuid())))
- fatal(0, "cannot determine our username");
- if((privconf = config_usersysconf(pw))
- && access(privconf, F_OK) == 0
- && config_include(c, privconf))
+ if(config_per_user) {
+ if(!(pw = getpwuid(getuid())))
+ fatal(0, "cannot determine our username");
+ if((privconf = config_usersysconf(pw))
+ && access(privconf, F_OK) == 0
+ && config_include(c, privconf))
return -1;
- xfree(privconf);
- /* if we have a password file, read it */
- if((privconf = config_userconf(getenv("HOME"), pw))
- && access(privconf, F_OK) == 0
- && config_include(c, privconf))
- return -1;
- xfree(privconf);
+ xfree(privconf);
+ /* if we have a password file, read it */
+ if((privconf = config_userconf(getenv("HOME"), pw))
+ && access(privconf, F_OK) == 0
+ && config_include(c, privconf))
+ return -1;
+ xfree(privconf);
+ }
/* install default namepart and transform settings */
config_postdefaults(c, server);
/* everything is good so we shall use the new config */