-static int control_compare(const struct event *a, const struct event *b) {
- return a < b ? -1 : a > b ? 1 : 0;
-}
-
-bool init_control() {
- int result;
-
-#ifdef HAVE_MINGW
- struct sockaddr_in addr;
- memset(&addr, 0, sizeof addr);
- addr.sin_family = AF_INET;
- addr.sin_addr.s_addr = htonl(0x7f000001);
- addr.sin_port = htons(55555);
-
- control_socket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
-#else
- struct sockaddr_un addr;
- char *lastslash;
-
- if(strlen(controlsocketname) >= sizeof addr.sun_path) {
- logger(LOG_ERR, "Control socket filename too long!");
- goto bail;
- }
-
- memset(&addr, 0, sizeof addr);
- addr.sun_family = AF_UNIX;
- strncpy(addr.sun_path, controlsocketname, sizeof addr.sun_path - 1);
+bool init_control(void) {
+ randomize(controlcookie, sizeof controlcookie / 2);
+ bin2hex(controlcookie, controlcookie, sizeof controlcookie / 2);