pid_t pid;
int status;
char *dbdpn = _PATH_CNID_DBD;
- char *host = DEFAULTHOST;
- char *port = DEFAULTPORT;
+ char *host;
+ char *port;
int i;
int cc;
uid_t uid = 0;
(void)setlimits();
+ host = iniparser_getstrdup(obj.iniconfig, INISEC_AFP, "listen", "localhost:4700");
+ if (port = strrchr(host, ':'))
+ *port++ = 0;
+ else
+ port = DEFAULTPORT;
if ((srvfd = tsockfd_create(host, port, 10)) < 0)
daemon_exit(1);
+ LOG(log_note, logtype_afpd, "CNID Server listening on %s:%s", host, port);
+
/* switch uid/gid */
if (uid || gid) {
LOG(log_debug, logtype_cnid, "Setting uid/gid to %i/%i", uid, gid);
hints.ai_socktype = SOCK_STREAM;
if ((ret = getaddrinfo(host, port, &hints, &servinfo)) != 0) {
- LOG(log_error, logtype_default, "tsockfd_create: getaddrinfo: %s\n", gai_strerror(ret));
+ LOG(log_error, logtype_cnid, "tsockfd_create: getaddrinfo: %s\n", gai_strerror(ret));
return 0;
}
/* loop through all the results and bind to the first we can */
for (p = servinfo; p != NULL; p = p->ai_next) {
if ((sockfd = socket(p->ai_family, p->ai_socktype, p->ai_protocol)) == -1) {
- LOG(log_info, logtype_default, "tsockfd_create: socket: %s", strerror(errno));
+ LOG(log_info, logtype_cnid, "tsockfd_create: socket: %s", strerror(errno));
continue;
}
if (bind(sockfd, p->ai_addr, p->ai_addrlen) == -1) {
close(sockfd);
- LOG(log_info, logtype_default, "tsockfd_create: bind: %s\n", strerror(errno));
+ LOG(log_info, logtype_cnid, "tsockfd_create: bind: %s\n", strerror(errno));
continue;
}
if (listen(sockfd, backlog) < 0) {
close(sockfd);
- LOG(log_info, logtype_default, "tsockfd_create: listen: %s\n", strerror(errno));
+ LOG(log_info, logtype_cnid, "tsockfd_create: listen: %s\n", strerror(errno));
continue;
}
}
if (p == NULL) {
- LOG(log_error, logtype_default, "tsockfd_create: no suitable network config %s:%s", host, port);
+ LOG(log_error, logtype_cnid, "tsockfd_create: no suitable network config %s:%s", host, port);
freeaddrinfo(servinfo);
return -1;
}