#include <siri/db/query.h>
#include <siri/db/insert.h>
#include <siri/service/account.h>
+#include <siri/net/tcp.h>
#define API__HEADER_MAX_SZ 256
if (port == 0)
return 0;
- (void) uv_ip6_addr("::", (int) port, (struct sockaddr_in6 *) &addr);
+ if (siri.cfg->ip_support == IP_SUPPORT_IPV4ONLY) {
+ (void) uv_ip4_addr("0.0.0.0", (int) port, (struct sockaddr_in *) &addr);
+ } else {
+ (void) uv_ip6_addr("::", (int) port, (struct sockaddr_in6 *) &addr);
+ }
api__settings.on_url = api__url_cb;
api__settings.on_header_field = api__header_field_cb;
(rc = uv_tcp_bind(
&api__uv_server,
(const struct sockaddr *) &addr,
- 0)) ||
+ (siri.cfg->ip_support == IP_SUPPORT_IPV6ONLY) ? UV_TCP_IPV6ONLY : 0)) ||
(rc = uv_listen(
(uv_stream_t *) &api__uv_server,
128,
*/
#include <siri/health.h>
#include <siri/siri.h>
+#include <siri/net/tcp.h>
#include <logger/logger.h>
#define OK_RESPONSE \
struct sockaddr_storage addr = {0};
uint16_t port = siri.cfg->http_status_port;
- (void) uv_ip6_addr("::", (int) port, (struct sockaddr_in6 *) &addr);
+ if (siri.cfg->ip_support == IP_SUPPORT_IPV4ONLY) {
+ (void) uv_ip4_addr("0.0.0.0", (int) port, (struct sockaddr_in *) &addr);
+ } else {
+ (void) uv_ip6_addr("::", (int) port, (struct sockaddr_in6 *) &addr);
+ }
health__uv_ok_buf =
uv_buf_init(OK_RESPONSE, strlen(OK_RESPONSE));
(rc = uv_tcp_bind(
&health__uv_server,
(const struct sockaddr *) &addr,
- 0)) ||
+ (siri.cfg->ip_support == IP_SUPPORT_IPV6ONLY) ? UV_TCP_IPV6ONLY : 0)) ||
(rc = uv_listen(
(uv_stream_t *) &health__uv_server,
128,