struct timeval tv;
struct tm tim;
time_t unixtime;
+ struct CitContext *CCC = CC;
gettimeofday(&tv, NULL);
/* Promote to time_t; types differ on some OSes (like darwin) */
unixtime = tv.tv_sec;
localtime_r(&unixtime, &tim);
- if (CC->cs_pid != 0) {
+ if ((CCC != NULL) && (CCC->cs_pid != 0)) {
sprintf(buf,
"%04d/%02d/%02d %2d:%02d:%02d.%06ld [%3d] ",
tim.tm_year + 1900, tim.tm_mon + 1,
tim.tm_mday, tim.tm_hour, tim.tm_min,
tim.tm_sec, (long)tv.tv_usec,
- CC->cs_pid);
+ CCC->cs_pid);
} else {
sprintf(buf,
"%04d/%02d/%02d %2d:%02d:%02d.%06ld ",
int s;
int i;
int actual_queue_len;
+#ifdef HAVE_STRUCT_UCRED
+ int passcred = 1;
+#endif
actual_queue_len = queue_len;
if (actual_queue_len < 5) actual_queue_len = 5;
return(-1);
}
+#ifdef HAVE_STRUCT_UCRED
+ setsockopt(s, SOL_SOCKET, SO_PASSCRED, &passcred, sizeof(passcred));
+#endif
+
chmod(sockpath, S_ISGID|S_IRUSR|S_IWUSR|S_IXUSR|S_IRGRP|S_IWGRP|S_IXGRP|S_IROTH|S_IWOTH|S_IXOTH);
return(s);
}
CtdlDestroySessionHooks();
CtdlDestroyServiceHook();
CtdlDestroyRoomHooks();
- CtdlDestroyDirectoryServiceFuncs();
#ifdef HAVE_BACKTRACE
eCrash_Uninit();
#endif