X-Git-Url: https://arthur.barton.de/gitweb/?p=netatalk.git;a=blobdiff_plain;f=libatalk%2Futil%2Fnetatalk_conf.c;h=43d31fb874f54db52969e68ac69a84e546d8d43f;hp=d1b46874329ce630bfb2bcb12524de847f86a5b9;hb=980548c882a297d26e67397d0f72e0b991f36bf2;hpb=42a0a094b72577aee3fee7f186da52dc83db001d diff --git a/libatalk/util/netatalk_conf.c b/libatalk/util/netatalk_conf.c index d1b46874..43d31fb8 100644 --- a/libatalk/util/netatalk_conf.c +++ b/libatalk/util/netatalk_conf.c @@ -1335,12 +1335,10 @@ int load_charset(struct vol *vol) /*! * Initialize volumes and load ini configfile * - * Depending on the value of obj->uid either access checks are done (!=0) or skipped (=0) - * - * @param obj (r) handle - * @param delvol_fn (r) callback called for deleted volumes + * @param obj (r) handle + * @param flags (r) flags controlling volume load behaviour */ -int load_volumes(AFPObj *obj) +int load_volumes(AFPObj *obj, lv_flags_t flags) { EC_INIT; @@ -1363,7 +1361,7 @@ int load_volumes(AFPObj *obj) EC_NULL( pwbuf = malloc(bufsize) ); } - if (obj->uid) { + if (!(flags & lv_all) && obj->uid) { ret = getpwuid_r(obj->uid, &pwent, pwbuf, bufsize, &pwresult); if (pwresult == NULL) { LOG(log_error, logtype_afpd, "load_volumes: getpwuid_r: %s", strerror(errno)); @@ -1800,6 +1798,10 @@ int afp_config_parse(AFPObj *AFPObj, char *processname) options->mimicmodel = atalk_iniparser_getstrdup(config, INISEC_GLOBAL, "mimic model", NULL); options->adminauthuser = atalk_iniparser_getstrdup(config, INISEC_GLOBAL, "admin auth user",NULL); options->ignored_attr = atalk_iniparser_getstrdup(config, INISEC_GLOBAL, "ignored attributes", NULL); + options->cnid_mysql_host = atalk_iniparser_getstrdup(config, INISEC_GLOBAL, "cnid mysql host", NULL); + options->cnid_mysql_user = atalk_iniparser_getstrdup(config, INISEC_GLOBAL, "cnid mysql user", NULL); + options->cnid_mysql_pw = atalk_iniparser_getstrdup(config, INISEC_GLOBAL, "cnid mysql pw", NULL); + options->cnid_mysql_db = atalk_iniparser_getstrdup(config, INISEC_GLOBAL, "cnid mysql db", NULL); options->connections = atalk_iniparser_getint (config, INISEC_GLOBAL, "max connections",200); options->passwdminlen = atalk_iniparser_getint (config, INISEC_GLOBAL, "passwd minlen", 0); options->tickleval = atalk_iniparser_getint (config, INISEC_GLOBAL, "tickleval", 30);