flags |= CNID_FLAG_NODEV;
}
- if (volume->v_cnidscheme == NULL) {
- volume->v_cnidscheme = strdup(DEFAULT_CNID_SCHEME);
- LOG(log_info, logtype_afpd, "Volume %s use CNID scheme %s.",
- volume->v_path, volume->v_cnidscheme);
- }
-
- LOG(log_info, logtype_afpd, "CNID server: %s:%s",
- volume->v_cnidserver ? volume->v_cnidserver : obj->options.Cnid_srv,
- volume->v_cnidport ? volume->v_cnidport : obj->options.Cnid_port);
+ LOG(log_debug, logtype_afpd, "CNID server: %s:%s", volume->v_cnidserver, volume->v_cnidport);
volume->v_cdb = cnid_open(volume->v_path,
volume->v_umask,
volume->v_cnidscheme,
flags,
- volume->v_cnidserver ? volume->v_cnidserver : obj->options.Cnid_srv,
- volume->v_cnidport ? volume->v_cnidport : obj->options.Cnid_port);
+ volume->v_cnidserver,
+ volume->v_cnidport);
if ( ! volume->v_cdb && ! (flags & CNID_FLAG_MEMORY)) {
/* The first attempt failed and it wasn't yet an attempt to open in-memory */
LOG(log_debug, logtype_default,"ad_conv_v22ea_hf(\"%s\"): deleting adouble:v2 file: \"%s\"",
path, fullpathname(adpath));
- become_root();
+// become_root();
EC_ZERO_LOG( unlink(adpath) );
- unbecome_root();
+// unbecome_root();
EC_CLEANUP:
LOG(log_debug, logtype_default,"ad_convert(\"%s\"): END: %d", fullpathname(path), ret);
mktemp(eaname);
- become_root();
+// become_root();
if ((sys_setxattr(vol->v_path, eaname, eacontent, 4, 0)) == 0) {
sys_removexattr(vol->v_path, eaname);
haseas = 1;
} else {
- LOG(log_warning, logtype_afpd, "volume \"%s\" does not support Extended Attributes",
+ LOG(log_warning, logtype_afpd, "volume \"%s\" does not support Extended Attributes or read-only volume root",
vol->v_localname);
haseas = 0;
}
- unbecome_root();
+// unbecome_root();
return haseas;
}
if (val = getoption(obj->iniconfig, section, "cnidscheme", preset))
EC_NULL( volume->v_cnidscheme = strdup(val) );
+ else
+ volume->v_cnidscheme = strdup(DEFAULT_CNID_SCHEME);
if (val = getoption(obj->iniconfig, section, "umask", preset))
volume->v_umask = (int)strtol(val, NULL, 8);
volume->v_cnidserver = p;
if (q = strrchr(val, ':')) {
*q++ = 0;
- volume->v_cnidport = q;
+ volume->v_cnidport = strdup(q);
} else {
- volume->v_cnidport = "4700";
+ volume->v_cnidport = strdup("4700");
}
+ } else {
+ volume->v_cnidserver = strdup(obj->options.Cnid_srv);
+ volume->v_cnidport = strdup(obj->options.Cnid_port);
}
if (val = getoption(obj->iniconfig, section, "ea", preset)) {
free(vol->v_gvs);
free(vol->v_uuid);
free(vol->v_cnidserver);
-#if 0
- /* NO! Just points to v_cnidserver + x */
free(vol->v_cnidport);
-#endif
free(vol->v_root_preexec);
free(vol->v_postexec);
vol = creatvol(obj, pw, INISEC_HOMES, volname, volpath, preset ? preset : default_preset ? default_preset : NULL);
EC_CLEANUP:
- endpwent();
if (user)
free(user);
if (ret != 0)