]> jfr.im git - solanum.git/blobdiff - ircd/newconf.c
ircd startup: avoid black magic with file descriptors
[solanum.git] / ircd / newconf.c
index c4c9ee08e25aa2af2b2b09f9b093b6fa37cd82da..0c89e25206348f6b45a4ab1fbc0f05d1e6fdd8cd 100644 (file)
@@ -28,6 +28,7 @@
 #include "wsproc.h"
 #include "privilege.h"
 #include "chmode.h"
+#include "certfp.h"
 
 #define CF_TYPE(x) ((x) & CF_MTYPE)
 
@@ -224,7 +225,7 @@ conf_set_serverinfo_sid(void *data)
                        return;
                }
 
-               strcpy(ServerInfo.sid, sid);
+               rb_strlcpy(ServerInfo.sid, sid, sizeof(ServerInfo.sid));
        }
 }
 
@@ -299,7 +300,7 @@ conf_set_modules_module(void *data)
 
        m_bn = rb_basename((char *) data);
 
-       if(findmodule_byname(m_bn) == -1)
+       if(findmodule_byname(m_bn) == NULL)
                load_one_module((char *) data, MAPI_ORIGIN_EXTENSION, false);
 
        rb_free(m_bn);
@@ -841,6 +842,8 @@ conf_begin_listen(struct TopConf *tc)
 {
        rb_free(listener_address);
        listener_address = NULL;
+       yy_wsock = 0;
+       yy_defer_accept = 0;
        return 0;
 }
 
@@ -849,6 +852,8 @@ conf_end_listen(struct TopConf *tc)
 {
        rb_free(listener_address);
        listener_address = NULL;
+       yy_wsock = 0;
+       yy_defer_accept = 0;
        return 0;
 }
 
@@ -880,7 +885,7 @@ conf_set_listen_port_both(void *data, int ssl)
                 {
                        if (!ssl)
                        {
-                               conf_report_warning("listener 'ANY/%d': support for plaintext listeners may be removed in a future release per RFC 7194.  "
+                               conf_report_warning("listener 'ANY/%d': support for plaintext listeners may be removed in a future release per RFCs 7194 & 7258.  "
                                                     "It is suggested that users be migrated to SSL/TLS connections.", args->v.number);
                        }
                        add_listener(args->v.number, listener_address, AF_INET, ssl, ssl || yy_defer_accept, yy_wsock);
@@ -900,7 +905,7 @@ conf_set_listen_port_both(void *data, int ssl)
 
                        if (!ssl)
                        {
-                               conf_report_warning("listener '%s/%d': support for plaintext listeners may be removed in a future release per RFC 7194.  "
+                               conf_report_warning("listener '%s/%d': support for plaintext listeners may be removed in a future release per RFCs 7194 & 7258.  "
                                                     "It is suggested that users be migrated to SSL/TLS connections.", listener_address, args->v.number);
                        }
 
@@ -1717,15 +1722,15 @@ conf_set_general_certfp_method(void *data)
 {
        char *method = data;
 
-       if (!rb_strcasecmp(method, "sha1"))
+       if (!rb_strcasecmp(method, CERTFP_NAME_CERT_SHA1))
                ConfigFileEntry.certfp_method = RB_SSL_CERTFP_METH_CERT_SHA1;
-       else if (!rb_strcasecmp(method, "sha256"))
+       else if (!rb_strcasecmp(method, CERTFP_NAME_CERT_SHA256))
                ConfigFileEntry.certfp_method = RB_SSL_CERTFP_METH_CERT_SHA256;
-       else if (!rb_strcasecmp(method, "sha512"))
+       else if (!rb_strcasecmp(method, CERTFP_NAME_CERT_SHA512))
                ConfigFileEntry.certfp_method = RB_SSL_CERTFP_METH_CERT_SHA512;
-       else if (!rb_strcasecmp(method, "spki_sha256"))
+       else if (!rb_strcasecmp(method, CERTFP_NAME_SPKI_SHA256))
                ConfigFileEntry.certfp_method = RB_SSL_CERTFP_METH_SPKI_SHA256;
-       else if (!rb_strcasecmp(method, "spki_sha512"))
+       else if (!rb_strcasecmp(method, CERTFP_NAME_SPKI_SHA512))
                ConfigFileEntry.certfp_method = RB_SSL_CERTFP_METH_SPKI_SHA512;
        else
        {