This function returns -1 in case of error.
*/
/*--------------------------------------------------------------------------*/
-int iniparser_getnsec(const dictionary * d)
+int atalk_iniparser_getnsec(const dictionary * d)
{
int i ;
int nsec ;
This function returns NULL in case of error.
*/
/*--------------------------------------------------------------------------*/
-const char * iniparser_getsecname(const dictionary * d, int n)
+const char * atalk_iniparser_getsecname(const dictionary * d, int n)
{
int i ;
int foundsec ;
purposes mostly.
*/
/*--------------------------------------------------------------------------*/
-void iniparser_dump(const dictionary * d, FILE * f)
+void atalk_iniparser_dump(const dictionary * d, FILE * f)
{
int i ;
It is Ok to specify @c stderr or @c stdout as output files.
*/
/*--------------------------------------------------------------------------*/
-void iniparser_dump_ini(const dictionary * d, FILE * f)
+void atalk_iniparser_dump_ini(const dictionary * d, FILE * f)
{
int i, j ;
char keym[ASCIILINESZ+1];
if (d==NULL || f==NULL) return ;
- nsec = iniparser_getnsec(d);
+ nsec = atalk_iniparser_getnsec(d);
if (nsec<1) {
/* No section in file: dump all keys as they are */
for (i=0 ; i<d->size ; i++) {
return ;
}
for (i=0 ; i<nsec ; i++) {
- secname = iniparser_getsecname(d, i) ;
+ secname = atalk_iniparser_getsecname(d, i) ;
seclen = (int)strlen(secname);
fprintf(f, "\n[%s]\n", secname);
sprintf(keym, "%s:", secname);
the dictionary, do not free or modify it.
*/
/*--------------------------------------------------------------------------*/
-const char * iniparser_getstring(const dictionary * d, const char *section, const char * key, const char * def)
+const char * atalk_iniparser_getstring(const dictionary * d, const char *section, const char * key, const char * def)
{
const char * sval ;
if (d==NULL || key==NULL)
return def ;
- sval = dictionary_get(d, section, key, def);
+ sval = atalkdict_get(d, section, key, def);
return sval ;
}
The returned char pointer a strdup'ed allocated string, so the caller must free it.
*/
/*--------------------------------------------------------------------------*/
-char * iniparser_getstrdup(const dictionary * d, const char *section, const char * key, const char * def)
+char * atalk_iniparser_getstrdup(const dictionary * d, const char *section, const char * key, const char * def)
{
const char * sval ;
if (d==NULL || key==NULL)
return NULL;
- if ((sval = dictionary_get(d, section, key, def)))
+ if ((sval = atalkdict_get(d, section, key, def)))
return strdup(sval);
return NULL;
}
Credits: Thanks to A. Becker for suggesting strtol()
*/
/*--------------------------------------------------------------------------*/
-int iniparser_getint(const dictionary * d, const char *section, const char * key, int notfound)
+int atalk_iniparser_getint(const dictionary * d, const char *section, const char * key, int notfound)
{
const char * str ;
- str = iniparser_getstring(d, section, key, INI_INVALID_KEY);
+ str = atalk_iniparser_getstring(d, section, key, INI_INVALID_KEY);
if (str==INI_INVALID_KEY) return notfound ;
return (int)strtol(str, NULL, 0);
}
the notfound value is returned.
*/
/*--------------------------------------------------------------------------*/
-double iniparser_getdouble(const dictionary * d, const char *section, const char * key, double notfound)
+double atalk_iniparser_getdouble(const dictionary * d, const char *section, const char * key, double notfound)
{
const char * str ;
- str = iniparser_getstring(d, section, key, INI_INVALID_KEY);
+ str = atalk_iniparser_getstring(d, section, key, INI_INVALID_KEY);
if (str==INI_INVALID_KEY) return notfound ;
return atof(str);
}
necessarily have to be 0 or 1.
*/
/*--------------------------------------------------------------------------*/
-int iniparser_getboolean(const dictionary * d, const char *section, const char * key, int notfound)
+int atalk_iniparser_getboolean(const dictionary * d, const char *section, const char * key, int notfound)
{
const char * c ;
int ret ;
- c = iniparser_getstring(d, section, key, INI_INVALID_KEY);
+ c = atalk_iniparser_getstring(d, section, key, INI_INVALID_KEY);
if (c==INI_INVALID_KEY) return notfound ;
if (c[0]=='y' || c[0]=='Y' || c[0]=='1' || c[0]=='t' || c[0]=='T') {
ret = 1 ;
of querying for the presence of sections in a dictionary.
*/
/*--------------------------------------------------------------------------*/
-int iniparser_find_entry(const dictionary *ini, const char *entry)
+int atalk_iniparser_find_entry(const dictionary *ini, const char *entry)
{
int found=0 ;
- if (iniparser_getstring(ini, entry, NULL, INI_INVALID_KEY)!=INI_INVALID_KEY) {
+ if (atalk_iniparser_getstring(ini, entry, NULL, INI_INVALID_KEY)!=INI_INVALID_KEY) {
found = 1 ;
}
return found ;
It is Ok to set val to NULL.
*/
/*--------------------------------------------------------------------------*/
-int iniparser_set(dictionary * ini, char *section, char * key, char * val)
+int atalk_iniparser_set(dictionary * ini, char *section, char * key, char * val)
{
- return dictionary_set(ini, section, key, val) ;
+ return atalkdict_set(ini, section, key, val) ;
}
/*-------------------------------------------------------------------------*/
If the given entry can be found, it is deleted from the dictionary.
*/
/*--------------------------------------------------------------------------*/
-void iniparser_unset(dictionary * ini, char *section, char * key)
+void atalk_iniparser_unset(dictionary * ini, char *section, char * key)
{
- dictionary_unset(ini, section, key);
+ atalkdict_unset(ini, section, key);
}
/*-------------------------------------------------------------------------*/
@return line_status value
*/
/*--------------------------------------------------------------------------*/
-static line_status iniparser_line(
+static line_status atalk_iniparser_line(
char * input_line,
char * section,
char * key,
should not be accessed directly, but through accessor functions
instead.
- The returned dictionary must be freed using iniparser_freedict().
+ The returned dictionary must be freed using atalk_iniparser_freedict().
*/
/*--------------------------------------------------------------------------*/
-dictionary * iniparser_load(const char * ininame)
+dictionary * atalk_iniparser_load(const char * ininame)
{
FILE *in, *include = NULL, *inifile;
return NULL ;
}
- dict = dictionary_new(0) ;
+ dict = atalkdict_new(0) ;
if (!dict) {
fclose(inifile);
return NULL ;
} else {
last=0 ;
}
- switch (iniparser_line(line, section, key, val)) {
+ switch (atalk_iniparser_line(line, section, key, val)) {
case LINE_EMPTY:
case LINE_COMMENT:
break ;
case LINE_SECTION:
if (strchr(section, ':') != NULL)
LOG(log_error, logtype_default, "iniparser: syntax error \"%s\" section name must not contain \":\".", section);
- errs = dictionary_set(dict, section, NULL, NULL);
+ errs = atalkdict_set(dict, section, NULL, NULL);
break ;
case LINE_VALUE:
if (strcmp(key, "include") == 0) {
in = include;
continue;
}
- errs = dictionary_set(dict, section, key, val) ;
+ errs = atalkdict_set(dict, section, key, val) ;
break ;
case LINE_ERROR:
LOG(log_error, logtype_default, "iniparser: syntax error in %s (lineno: %d): %s",
}
}
if (errs) {
- dictionary_del(dict);
+ atalkdict_del(dict);
dict = NULL ;
}
fclose(in);
gets out of the current context.
*/
/*--------------------------------------------------------------------------*/
-void iniparser_freedict(dictionary * d)
+void atalk_iniparser_freedict(dictionary * d)
{
- dictionary_del(d);
+ atalkdict_del(d);
}
{
const char *result;
- if ((!(result = iniparser_getstring(conf, vol, opt, NULL))) && (defsec != NULL))
- result = iniparser_getstring(conf, defsec, opt, NULL);
+ if ((!(result = atalk_iniparser_getstring(conf, vol, opt, NULL))) && (defsec != NULL))
+ result = atalk_iniparser_getstring(conf, defsec, opt, NULL);
if (result == NULL)
result = defval;
{
int result;
- if (((result = iniparser_getboolean(conf, vol, opt, -1)) == -1) && (defsec != NULL))
- result = iniparser_getboolean(conf, defsec, opt, -1);
+ if (((result = atalk_iniparser_getboolean(conf, vol, opt, -1)) == -1) && (defsec != NULL))
+ result = atalk_iniparser_getboolean(conf, defsec, opt, -1);
if (result == -1)
result = defval;
if(tmpname[i] == '/') tmpname[i] = ':';
bstring dbpath;
- EC_NULL( val = iniparser_getstring(obj->iniconfig, INISEC_GLOBAL, "vol dbpath", _PATH_STATEDIR "CNID/") );
+ EC_NULL( val = atalk_iniparser_getstring(obj->iniconfig, INISEC_GLOBAL, "vol dbpath", _PATH_STATEDIR "CNID/") );
EC_NULL( dbpath = bformat("%s/%s/", val, tmpname) );
EC_NULL( volume->v_dbpath = strdup(cfrombstr(dbpath)) );
bdestroy(dbpath);
LOG(log_debug, logtype_afpd, "readvolfile: BEGIN");
- int secnum = iniparser_getnsec(obj->iniconfig);
+ int secnum = atalk_iniparser_getnsec(obj->iniconfig);
LOG(log_debug, logtype_afpd, "readvolfile: sections: %d", secnum);
const char *secname;
- if ((default_preset = iniparser_getstring(obj->iniconfig, INISEC_GLOBAL, "vol preset", NULL))) {
+ if ((default_preset = atalk_iniparser_getstring(obj->iniconfig, INISEC_GLOBAL, "vol preset", NULL))) {
LOG(log_debug, logtype_afpd, "readvolfile: default_preset: %s", default_preset);
}
for (i = 0; i < secnum; i++) {
- secname = iniparser_getsecname(obj->iniconfig, i);
+ secname = atalk_iniparser_getsecname(obj->iniconfig, i);
if (!vol_section(secname))
continue;
continue;
/* check if user home matches our "basedir regex" */
- if ((basedir = iniparser_getstring(obj->iniconfig, INISEC_HOMES, "basedir regex", NULL)) == NULL) {
+ if ((basedir = atalk_iniparser_getstring(obj->iniconfig, INISEC_HOMES, "basedir regex", NULL)) == NULL) {
LOG(log_error, logtype_afpd, "\"basedir regex =\" must be defined in [Homes] section");
continue;
}
continue;
}
- if ((p = iniparser_getstring(obj->iniconfig, INISEC_HOMES, "path", NULL))) {
+ if ((p = atalk_iniparser_getstring(obj->iniconfig, INISEC_HOMES, "path", NULL))) {
strlcat(tmp, "/", MAXPATHLEN);
strlcat(tmp, p, MAXPATHLEN);
}
} else {
/* Get path */
- if ((p = iniparser_getstring(obj->iniconfig, secname, "path", NULL)) == NULL)
+ if ((p = atalk_iniparser_getstring(obj->iniconfig, secname, "path", NULL)) == NULL)
continue;
strlcpy(tmp, p, MAXPATHLEN);
}
/* do variable substitution for volume name */
if (STRCMP(secname, ==, INISEC_HOMES)) {
- p = iniparser_getstring(obj->iniconfig, INISEC_HOMES, "home name", "$u's home");
+ p = atalk_iniparser_getstring(obj->iniconfig, INISEC_HOMES, "home name", "$u's home");
if (strstr(p, "$u") == NULL) {
LOG(log_warning, logtype_afpd, "home name must contain $u.");
p = "$u's home";
if (volxlate(obj, volname, sizeof(volname) - 1, tmp, pwent, path, NULL) == NULL)
continue;
- preset = iniparser_getstring(obj->iniconfig, secname, "vol preset", NULL);
+ preset = atalk_iniparser_getstring(obj->iniconfig, secname, "vol preset", NULL);
if ((realvolpath = realpath_safe(path)) == NULL)
continue;
}
if (obj->iniconfig)
- iniparser_freedict(obj->iniconfig);
+ atalk_iniparser_freedict(obj->iniconfig);
LOG(log_debug, logtype_afpd, "load_volumes: loading: %s", obj->options.configfile);
- obj->iniconfig = iniparser_load(obj->options.configfile);
+ obj->iniconfig = atalk_iniparser_load(obj->options.configfile);
EC_ZERO_LOG( readvolfile(obj, pwent) );
if (!have_uservol) /* (2) */
EC_FAIL_LOG("getvolbypath(\"%s\"): no volume for path", path);
- int secnum = iniparser_getnsec(obj->iniconfig);
+ int secnum = atalk_iniparser_getnsec(obj->iniconfig);
for (int i = 0; i < secnum; i++) {
- secname = iniparser_getsecname(obj->iniconfig, i);
+ secname = atalk_iniparser_getsecname(obj->iniconfig, i);
if (STRCMP(secname, ==, INISEC_HOMES))
break;
}
EC_FAIL_LOG("getvolbypath(\"%s\"): no volume for path", path);
/* (3) */
- EC_NULL_LOG( basedir = iniparser_getstring(obj->iniconfig, INISEC_HOMES, "basedir regex", NULL) );
+ EC_NULL_LOG( basedir = atalk_iniparser_getstring(obj->iniconfig, INISEC_HOMES, "basedir regex", NULL) );
LOG(log_debug, logtype_afpd, "getvolbypath: user home section: '%s', basedir: '%s'", secname, basedir);
if (regexerr != 0 && (regexerr = regcomp(®, basedir, REG_EXTENDED)) != 0) {
strlcat(tmpbuf, "/", MAXPATHLEN);
/* (6) */
- if ((subpathconfig = iniparser_getstring(obj->iniconfig, INISEC_HOMES, "path", NULL))) {
+ if ((subpathconfig = atalk_iniparser_getstring(obj->iniconfig, INISEC_HOMES, "path", NULL))) {
/*
if (!subpath || strncmp(subpathconfig, subpath, strlen(subpathconfig)) != 0) {
EC_FAIL;
path, user, pw->pw_dir, realvolpath);
/* do variable substitution for volume name */
- p = iniparser_getstring(obj->iniconfig, INISEC_HOMES, "home name", "$u's home");
+ p = atalk_iniparser_getstring(obj->iniconfig, INISEC_HOMES, "home name", "$u's home");
if (strstr(p, "$u") == NULL)
p = "$u's home";
strlcpy(tmpbuf, p, AFPVOL_U8MNAMELEN);
EC_NULL_LOG( volxlate(obj, volname, sizeof(volname) - 1, tmpbuf, pw, realvolpath, NULL) );
const char *preset, *default_preset;
- default_preset = iniparser_getstring(obj->iniconfig, INISEC_GLOBAL, "vol preset", NULL);
- preset = iniparser_getstring(obj->iniconfig, INISEC_HOMES, "vol preset", NULL);
+ default_preset = atalk_iniparser_getstring(obj->iniconfig, INISEC_GLOBAL, "vol preset", NULL);
+ preset = atalk_iniparser_getstring(obj->iniconfig, INISEC_HOMES, "vol preset", NULL);
vol = creatvol(obj, pw, INISEC_HOMES, volname, realvolpath, preset ? preset : default_preset ? default_preset : NULL);
options->uuidconf = strdup(_PATH_STATEDIR "afp_voluuid.conf");
options->flags = OPTION_UUID | AFPObj->cmdlineflags;
- if ((config = iniparser_load(AFPObj->options.configfile)) == NULL)
+ if ((config = atalk_iniparser_load(AFPObj->options.configfile)) == NULL)
return -1;
AFPObj->iniconfig = config;
/* [Global] */
- options->logconfig = iniparser_getstrdup(config, INISEC_GLOBAL, "log level", "default:note");
- options->logfile = iniparser_getstrdup(config, INISEC_GLOBAL, "log file", NULL);
+ options->logconfig = atalk_iniparser_getstrdup(config, INISEC_GLOBAL, "log level", "default:note");
+ options->logfile = atalk_iniparser_getstrdup(config, INISEC_GLOBAL, "log file", NULL);
setuplog(options->logconfig, options->logfile);
/* "server options" boolean options */
- if (!iniparser_getboolean(config, INISEC_GLOBAL, "zeroconf", 1))
+ if (!atalk_iniparser_getboolean(config, INISEC_GLOBAL, "zeroconf", 1))
options->flags |= OPTION_NOZEROCONF;
- if (iniparser_getboolean(config, INISEC_GLOBAL, "advertise ssh", 0))
+ if (atalk_iniparser_getboolean(config, INISEC_GLOBAL, "advertise ssh", 0))
options->flags |= OPTION_ANNOUNCESSH;
- if (iniparser_getboolean(config, INISEC_GLOBAL, "close vol", 0))
+ if (atalk_iniparser_getboolean(config, INISEC_GLOBAL, "close vol", 0))
options->flags |= OPTION_CLOSEVOL;
- if (!iniparser_getboolean(config, INISEC_GLOBAL, "client polling", 0))
+ if (!atalk_iniparser_getboolean(config, INISEC_GLOBAL, "client polling", 0))
options->flags |= OPTION_SERVERNOTIF;
- if (!iniparser_getboolean(config, INISEC_GLOBAL, "use sendfile", 1))
+ if (!atalk_iniparser_getboolean(config, INISEC_GLOBAL, "use sendfile", 1))
options->flags |= OPTION_NOSENDFILE;
- if (iniparser_getboolean(config, INISEC_GLOBAL, "solaris share reservations", 1))
+ if (atalk_iniparser_getboolean(config, INISEC_GLOBAL, "solaris share reservations", 1))
options->flags |= OPTION_SHARE_RESERV;
- if (iniparser_getboolean(config, INISEC_GLOBAL, "afpstats", 0))
+ if (atalk_iniparser_getboolean(config, INISEC_GLOBAL, "afpstats", 0))
options->flags |= OPTION_DBUS_AFPSTATS;
- if (iniparser_getboolean(config, INISEC_GLOBAL, "afp read locks", 0))
+ if (atalk_iniparser_getboolean(config, INISEC_GLOBAL, "afp read locks", 0))
options->flags |= OPTION_AFP_READ_LOCK;
- if (!iniparser_getboolean(config, INISEC_GLOBAL, "save password", 1))
+ if (!atalk_iniparser_getboolean(config, INISEC_GLOBAL, "save password", 1))
options->passwdbits |= PASSWD_NOSAVE;
- if (iniparser_getboolean(config, INISEC_GLOBAL, "set password", 0))
+ if (atalk_iniparser_getboolean(config, INISEC_GLOBAL, "set password", 0))
options->passwdbits |= PASSWD_SET;
/* figure out options w values */
- options->loginmesg = iniparser_getstrdup(config, INISEC_GLOBAL, "login message", NULL);
- options->guest = iniparser_getstrdup(config, INISEC_GLOBAL, "guest account", "nobody");
- options->extmapfile = iniparser_getstrdup(config, INISEC_GLOBAL, "extmap file", _PATH_CONFDIR "extmap.conf");
- options->passwdfile = iniparser_getstrdup(config, INISEC_GLOBAL, "passwd file", _PATH_AFPDPWFILE);
- options->uampath = iniparser_getstrdup(config, INISEC_GLOBAL, "uam path", _PATH_AFPDUAMPATH);
- options->uamlist = iniparser_getstrdup(config, INISEC_GLOBAL, "uam list", "uams_dhx.so uams_dhx2.so");
- options->port = iniparser_getstrdup(config, INISEC_GLOBAL, "afp port", "548");
- options->signatureopt = iniparser_getstrdup(config, INISEC_GLOBAL, "signature", "");
- options->k5service = iniparser_getstrdup(config, INISEC_GLOBAL, "k5 service", NULL);
- options->k5realm = iniparser_getstrdup(config, INISEC_GLOBAL, "k5 realm", NULL);
- options->listen = iniparser_getstrdup(config, INISEC_GLOBAL, "afp listen", NULL);
- options->interfaces = iniparser_getstrdup(config, INISEC_GLOBAL, "afp interfaces", NULL);
- options->ntdomain = iniparser_getstrdup(config, INISEC_GLOBAL, "nt domain", NULL);
- options->addomain = iniparser_getstrdup(config, INISEC_GLOBAL, "ad domain", NULL);
- options->ntseparator = iniparser_getstrdup(config, INISEC_GLOBAL, "nt separator", NULL);
- options->mimicmodel = iniparser_getstrdup(config, INISEC_GLOBAL, "mimic model", NULL);
- options->adminauthuser = iniparser_getstrdup(config, INISEC_GLOBAL, "admin auth user",NULL);
- options->connections = iniparser_getint (config, INISEC_GLOBAL, "max connections",200);
- options->passwdminlen = iniparser_getint (config, INISEC_GLOBAL, "passwd minlen", 0);
- options->tickleval = iniparser_getint (config, INISEC_GLOBAL, "tickleval", 30);
- options->timeout = iniparser_getint (config, INISEC_GLOBAL, "timeout", 4);
- options->dsireadbuf = iniparser_getint (config, INISEC_GLOBAL, "dsireadbuf", 12);
- options->server_quantum = iniparser_getint (config, INISEC_GLOBAL, "server quantum", DSI_SERVQUANT_DEF);
- options->volnamelen = iniparser_getint (config, INISEC_GLOBAL, "volnamelen", 80);
- options->dircachesize = iniparser_getint (config, INISEC_GLOBAL, "dircachesize", DEFAULT_MAX_DIRCACHE_SIZE);
- options->tcp_sndbuf = iniparser_getint (config, INISEC_GLOBAL, "tcpsndbuf", 0);
- options->tcp_rcvbuf = iniparser_getint (config, INISEC_GLOBAL, "tcprcvbuf", 0);
- options->fce_fmodwait = iniparser_getint (config, INISEC_GLOBAL, "fce holdfmod", 60);
- options->sleep = iniparser_getint (config, INISEC_GLOBAL, "sleep time", 10);
- options->disconnected = iniparser_getint (config, INISEC_GLOBAL, "disconnect time",24);
-
- p = iniparser_getstring(config, INISEC_GLOBAL, "map acls", "rights");
+ options->loginmesg = atalk_iniparser_getstrdup(config, INISEC_GLOBAL, "login message", NULL);
+ options->guest = atalk_iniparser_getstrdup(config, INISEC_GLOBAL, "guest account", "nobody");
+ options->extmapfile = atalk_iniparser_getstrdup(config, INISEC_GLOBAL, "extmap file", _PATH_CONFDIR "extmap.conf");
+ options->passwdfile = atalk_iniparser_getstrdup(config, INISEC_GLOBAL, "passwd file", _PATH_AFPDPWFILE);
+ options->uampath = atalk_iniparser_getstrdup(config, INISEC_GLOBAL, "uam path", _PATH_AFPDUAMPATH);
+ options->uamlist = atalk_iniparser_getstrdup(config, INISEC_GLOBAL, "uam list", "uams_dhx.so uams_dhx2.so");
+ options->port = atalk_iniparser_getstrdup(config, INISEC_GLOBAL, "afp port", "548");
+ options->signatureopt = atalk_iniparser_getstrdup(config, INISEC_GLOBAL, "signature", "");
+ options->k5service = atalk_iniparser_getstrdup(config, INISEC_GLOBAL, "k5 service", NULL);
+ options->k5realm = atalk_iniparser_getstrdup(config, INISEC_GLOBAL, "k5 realm", NULL);
+ options->listen = atalk_iniparser_getstrdup(config, INISEC_GLOBAL, "afp listen", NULL);
+ options->interfaces = atalk_iniparser_getstrdup(config, INISEC_GLOBAL, "afp interfaces", NULL);
+ options->ntdomain = atalk_iniparser_getstrdup(config, INISEC_GLOBAL, "nt domain", NULL);
+ options->addomain = atalk_iniparser_getstrdup(config, INISEC_GLOBAL, "ad domain", NULL);
+ options->ntseparator = atalk_iniparser_getstrdup(config, INISEC_GLOBAL, "nt separator", NULL);
+ options->mimicmodel = atalk_iniparser_getstrdup(config, INISEC_GLOBAL, "mimic model", NULL);
+ options->adminauthuser = atalk_iniparser_getstrdup(config, INISEC_GLOBAL, "admin auth user",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);
+ options->timeout = atalk_iniparser_getint (config, INISEC_GLOBAL, "timeout", 4);
+ options->dsireadbuf = atalk_iniparser_getint (config, INISEC_GLOBAL, "dsireadbuf", 12);
+ options->server_quantum = atalk_iniparser_getint (config, INISEC_GLOBAL, "server quantum", DSI_SERVQUANT_DEF);
+ options->volnamelen = atalk_iniparser_getint (config, INISEC_GLOBAL, "volnamelen", 80);
+ options->dircachesize = atalk_iniparser_getint (config, INISEC_GLOBAL, "dircachesize", DEFAULT_MAX_DIRCACHE_SIZE);
+ options->tcp_sndbuf = atalk_iniparser_getint (config, INISEC_GLOBAL, "tcpsndbuf", 0);
+ options->tcp_rcvbuf = atalk_iniparser_getint (config, INISEC_GLOBAL, "tcprcvbuf", 0);
+ options->fce_fmodwait = atalk_iniparser_getint (config, INISEC_GLOBAL, "fce holdfmod", 60);
+ options->sleep = atalk_iniparser_getint (config, INISEC_GLOBAL, "sleep time", 10);
+ options->disconnected = atalk_iniparser_getint (config, INISEC_GLOBAL, "disconnect time",24);
+
+ p = atalk_iniparser_getstring(config, INISEC_GLOBAL, "map acls", "rights");
if (STRCMP(p, ==, "rights"))
options->flags |= OPTION_ACL2MACCESS;
else if (STRCMP(p, ==, "mode"))
}
}
- if ((p = iniparser_getstring(config, INISEC_GLOBAL, "hostname", NULL))) {
+ if ((p = atalk_iniparser_getstring(config, INISEC_GLOBAL, "hostname", NULL))) {
EC_NULL_LOG( options->hostname = strdup(p) );
} else {
if (gethostname(val, sizeof(val)) < 0 ) {
options->hostname = strdup(val);
}
- if ((p = iniparser_getstring(config, INISEC_GLOBAL, "k5 keytab", NULL))) {
+ if ((p = atalk_iniparser_getstring(config, INISEC_GLOBAL, "k5 keytab", NULL))) {
EC_NULL_LOG( options->k5keytab = malloc(strlen(p) + 14) );
snprintf(options->k5keytab, strlen(p) + 14, "KRB5_KTNAME=%s", p);
putenv(options->k5keytab);
}
#ifdef ADMIN_GRP
- if ((p = iniparser_getstring(config, INISEC_GLOBAL, "admin group", NULL))) {
+ if ((p = atalk_iniparser_getstring(config, INISEC_GLOBAL, "admin group", NULL))) {
struct group *gr = getgrnam(p);
if (gr != NULL)
options->admingid = gr->gr_gid;
}
#endif /* ADMIN_GRP */
- q = iniparser_getstrdup(config, INISEC_GLOBAL, "cnid server", "localhost:4700");
+ q = atalk_iniparser_getstrdup(config, INISEC_GLOBAL, "cnid server", "localhost:4700");
r = strrchr(q, ':');
if (r)
*r = 0;
if (q)
free(q);
- if ((q = iniparser_getstrdup(config, INISEC_GLOBAL, "fqdn", NULL))) {
+ if ((q = atalk_iniparser_getstrdup(config, INISEC_GLOBAL, "fqdn", NULL))) {
/* do a little checking for the domain name. */
r = strchr(q, ':');
if (r)
/* Charset Options */
/* unix charset is in [G] only */
- if (!(p = iniparser_getstring(config, INISEC_GLOBAL, "unix charset", NULL))) {
+ if (!(p = atalk_iniparser_getstring(config, INISEC_GLOBAL, "unix charset", NULL))) {
options->unixcodepage = strdup("UTF8");
set_charset_name(CH_UNIX, "UTF8");
} else {
LOG(log_debug, logtype_afpd, "Global unix charset is %s", options->unixcodepage);
/* vol charset is in [G] and [V] */
- if (!(p = iniparser_getstring(config, INISEC_GLOBAL, "vol charset", NULL))) {
+ if (!(p = atalk_iniparser_getstring(config, INISEC_GLOBAL, "vol charset", NULL))) {
options->volcodepage = strdup(options->unixcodepage);
} else {
if (strcasecmp(p, "UTF-8") == 0) {
LOG(log_debug, logtype_afpd, "Global vol charset is %s", options->volcodepage);
/* mac charset is in [G] and [V] */
- if (!(p = iniparser_getstring(config, INISEC_GLOBAL, "mac charset", NULL))) {
+ if (!(p = atalk_iniparser_getstring(config, INISEC_GLOBAL, "mac charset", NULL))) {
options->maccodepage = strdup("MAC_ROMAN");
set_charset_name(CH_MAC, "MAC_ROMAN");
} else {
/* Free everything called from afp_config_parse() */
free_extmap();
- iniparser_freedict(obj->iniconfig);
+ atalk_iniparser_freedict(obj->iniconfig);
free_charset_names();
}