]> git.ipfire.org Git - thirdparty/rspamd.git/commitdiff
[Minor] Use rspamd_socketpair everywhere
authorVsevolod Stakhov <vsevolod@highsecure.ru>
Tue, 25 Jul 2017 07:41:27 +0000 (08:41 +0100)
committerVsevolod Stakhov <vsevolod@highsecure.ru>
Tue, 25 Jul 2017 07:41:27 +0000 (08:41 +0100)
config.h.in
src/libserver/rspamd_control.c
src/libserver/worker_util.c
src/libutil/util.c
src/libutil/util.h
src/log_helper.c
src/lua/lua_fann.c

index 2b9773aeac4f82280c8e109f5a9991a4be396cdc..8e89c04ff9c6a86a4e6f611e16fde8c27718c38b 100644 (file)
@@ -58,7 +58,8 @@
 #cmakedefine HAVE_NFTW           1
 #cmakedefine HAVE_OASYNC         1
 #cmakedefine HAVE_ONOFOLLOW      1
-#cmakedefine HAVE_OPENSSL               1
+#cmakedefine HAVE_OCLOEXEC       1
+#cmakedefine HAVE_OPENSSL        1
 #cmakedefine HAVE_O_DIRECT       1
 #cmakedefine HAVE_PATH_MAX       1
 #cmakedefine HAVE_PCRE_JIT       1
index ab317bde22f4c501926a90d6409b2883a854e02d..6853bb2429a28c429d7dc4aead9e0ce6adc21e27 100644 (file)
@@ -844,7 +844,7 @@ rspamd_srv_handler (gint fd, short what, gpointer ud)
                                if (spair == NULL) {
                                        spair = g_malloc (sizeof (gint) * 2);
 
-                                       if (rspamd_socketpair (spair) == -1) {
+                                       if (rspamd_socketpair (spair, 0) == -1) {
                                                rdata->rep.reply.spair.code = errno;
                                                msg_err ("cannot create socket pair: %s", strerror (errno));
                                        }
index 9791c1989d1c887bc46b4c1b9bf426d9c65a8a08..fa510d33588ddce033de296dc595e8c29b19e941 100644 (file)
@@ -533,12 +533,12 @@ rspamd_fork_worker (struct rspamd_main *rspamd_main,
        /* Starting worker process */
        wrk = (struct rspamd_worker *) g_malloc0 (sizeof (struct rspamd_worker));
 
-       if (!rspamd_socketpair (wrk->control_pipe)) {
+       if (!rspamd_socketpair (wrk->control_pipe, 0)) {
                msg_err ("socketpair failure: %s", strerror (errno));
                rspamd_hard_terminate (rspamd_main);
        }
 
-       if (!rspamd_socketpair (wrk->srv_pipe)) {
+       if (!rspamd_socketpair (wrk->srv_pipe, 0)) {
                msg_err ("socketpair failure: %s", strerror (errno));
                rspamd_hard_terminate (rspamd_main);
        }
index 86f1f24f6059e2d364929ebd6fec8d505fd26707..b94de00b965e79e5958bccad8e0cfbba97094cb1 100644 (file)
@@ -604,22 +604,27 @@ err:
 }
 
 gboolean
-rspamd_socketpair (gint pair[2])
+rspamd_socketpair (gint pair[2], gboolean is_stream)
 {
        gint r, serrno;
 
+       if (!is_stream) {
 #ifdef HAVE_SOCK_SEQPACKET
-       r = socketpair (AF_LOCAL, SOCK_SEQPACKET, 0, pair);
+               r = socketpair (AF_LOCAL, SOCK_SEQPACKET, 0, pair);
 
-       if (r == -1) {
-               msg_warn ("seqpacket socketpair failed: %d, '%s'",
-                               errno,
-                               strerror (errno));
-               r = socketpair (AF_LOCAL, SOCK_DGRAM, 0, pair);
-       }
+               if (r == -1) {
+                       msg_warn ("seqpacket socketpair failed: %d, '%s'",
+                                       errno,
+                                       strerror (errno));
+                       r = socketpair (AF_LOCAL, SOCK_DGRAM, 0, pair);
+               }
 #else
-       r = socketpair (AF_LOCAL, SOCK_DGRAM, 0, pair);
+               r = socketpair (AF_LOCAL, SOCK_DGRAM, 0, pair);
 #endif
+       }
+       else {
+               r = socketpair (AF_LOCAL, SOCK_STREAM, 0, pair);
+       }
 
        if (r == -1) {
                msg_warn ("socketpair failed: %d, '%s'", errno, strerror (
index 7f6ccc2f631866dee823cc4879e2cfd3140eb1ca..315554a4c0383e6a29e70f00e072b4698cd3a1ed 100644 (file)
@@ -75,7 +75,7 @@ GList * rspamd_sockets_list (const gchar *credits,
 /*
  * Create socketpair
  */
-gboolean rspamd_socketpair (gint pair[2]);
+gboolean rspamd_socketpair (gint pair[2], gboolean is_stream);
 
 /*
  * Write pid to file
index 0f98a557961ad846dd267dfdbf6457f97d19701f..942a536a11ab444e702b0fe630a504b7a274d46c 100644 (file)
@@ -203,10 +203,9 @@ start_log_helper (struct rspamd_worker *worker)
        DL_COUNT (worker->cf->scripts, tmp, nscripts);
        msg_info ("started log_helper worker with %d scripts", nscripts);
 
-#ifdef HAVE_SOCK_SEQPACKET
-       r = socketpair (AF_LOCAL, SOCK_SEQPACKET, 0, ctx->pair);
-#endif
-       if (r == -1 && socketpair (AF_LOCAL, SOCK_DGRAM, 0, ctx->pair) == -1) {
+       r = rspamd_socketpair (ctx->pair, FALSE);
+
+       if (r == -1) {
                msg_err ("cannot create socketpair: %s, exiting now", strerror (errno));
                /* Prevent new processes spawning */
                exit (EXIT_SUCCESS);
index b74174fb70dc8bf462dd3dd6e412fe0520e92c94..4f00dba28ca55d1d3bf37677bc6b452d3a7d7ace 100644 (file)
@@ -708,7 +708,7 @@ lua_fann_train_threaded (lua_State *L)
                lua_pushvalue (L, 4);
                cbdata->cbref = luaL_ref (L, LUA_REGISTRYINDEX);
 
-               if (rspamd_socketpair (cbdata->pair) == -1) {
+               if (rspamd_socketpair (cbdata->pair, 0) == -1) {
                        msg_err ("cannot open socketpair: %s", strerror (errno));
                        cbdata->pair[0] = -1;
                        cbdata->pair[1] = -1;