#include "include/ctdl_module.h"
#include "serv_extensions.h"
+#include "config.h"
void vFreeRoomNetworkStruct(void *vOneRoomNetCfg);
void FreeRoomNetworkStructContent(OneRoomNetCfg *OneRNCfg);
*pOneRNCfg = NULL;
return 0;
}
+ fchown(fd, CTDLUID, (-1));
+ fchmod(fd, 0600);
+
if (*pOneRNCfg != NULL)
{
OneRNCfg = *pOneRNCfg;
TmpFD = open(tempfilename, O_CREAT|O_EXCL|O_RDWR, S_IRUSR|S_IWUSR);
Cfg = NewStrBuf();
if ((TmpFD < 0) || (errno != 0)) {
- syslog(LOG_CRIT, "ERROR: cannot open %s: %s\n",
+ syslog(LOG_CRIT, "ERROR: cannot open %s: %s",
filename, strerror(errno));
unlink(tempfilename);
FreeStrBuf(&Cfg);
else {
OutBuffer = NewStrBuf();
CfgIt = GetNewHashPos(CfgTypeHash, 1);
- fchown(TmpFD, config.c_ctdluid, 0);
+ fchown(TmpFD, ctdluid, 0);
for (eCfg = subpending; eCfg < maxRoomNetCfg; eCfg ++)
{
const CfgLineType *pCfg;
}
else {
syslog(LOG_EMERG,
- "unable to write %s; [%s]; not enough space on the disk?\n",
- tempfilename,
- strerror(errno));
+ "unable to write %s; [%s]; not enough space on the disk?",
+ tempfilename,
+ strerror(errno)
+ );
close(TmpFD);
unlink(tempfilename);
rc = 0;
(filedir_entry != NULL))
{
#ifdef _DIRENT_HAVE_D_NAMLEN
- d_namelen = filedir_entry->d_namelen;
+ d_namelen = filedir_entry->d_namlen;
#else
d_namelen = strlen(filedir_entry->d_name);
#endif
if (OneRNCfg != NULL)
Put(RoomConfigs, LKEY(RoomNumber), OneRNCfg, vFreeRoomNetworkStruct);
- /* syslog(9, "[%s | %s]\n", ChrPtr(OneWebName), ChrPtr(FileName)); */
}
break;
default:
}
nptr = nptr->next;
}
+ i++;
}
return 0;
}
lens[0] = strlen(CCC->cs_addr);
strs[1] = "SRV_UNKNOWN";
- lens[1] = sizeof("SRV_UNKNOWN" - 1);
+ lens[1] = sizeof("SRV_UNKNOWN") - 1;
CtdlAideFPMessage(
err_buf,
lens[0] = strlen(CCC->cs_addr);
strs[1] = "SRV_PW";
- lens[1] = sizeof("SRV_PW" - 1);
+ lens[1] = sizeof("SRV_PW") - 1;
CtdlAideFPMessage(
err_buf,
}
nodelen = safestrncpy(CCC->net_node, node, sizeof CCC->net_node);
CtdlNetworkTalkingTo(CCC->net_node, nodelen, NTT_ADD);
- syslog(LOG_NOTICE, "Network node <%s> logged in from %s [%s]\n",
+ syslog(LOG_NOTICE, "Network node <%s> logged in from %s [%s]",
CCC->net_node, CCC->cs_host, CCC->cs_addr
);
cprintf("%d authenticated as network node '%s'\n", CIT_OK, CCC->net_node);
* First try the neighbor nodes
*/
if (GetCount(IgnetCfg) == 0) {
- syslog(LOG_INFO, "IgnetCfg is empty!\n");
+ syslog(LOG_INFO, "IgnetCfg is empty!");
if (nexthop != NULL) {
*nexthop = NULL;
}
/*
* If we get to this point, the supplied node name is bogus.
*/
- syslog(LOG_ERR, "Invalid node name <%s>\n", ChrPtr(node));
+ syslog(LOG_ERR, "Invalid node name <%s>", ChrPtr(node));
return(-1);
}
void destroy_network_cfgs(void)
{
HashList *pCfgTypeHash = CfgTypeHash;
- HashList *pRoomConfigs = RoomConfigs;
+ HashList *pRoomConfigs;
- CfgTypeHash = NULL;
+ begin_critical_section(S_NETCONFIGS);
+ pRoomConfigs = RoomConfigs;
RoomConfigs = NULL;
-
- DeleteHash(&pCfgTypeHash);
+ end_critical_section(S_NETCONFIGS);
DeleteHash(&pRoomConfigs);
+
+ CfgTypeHash = NULL;
+ DeleteHash(&pCfgTypeHash);
}
/*