/* Extract local address and socket type. */
int sock_type = SOCK_DGRAM;
socklen_t len = sizeof(sock_type);
- int ret = getsockopt(fd, SOL_SOCKET, SO_TYPE, &sock_type, &len);
+ int ret = getsockopt(fd, SOL_SOCKET, SO_TYPE, &sock_type, &len);
if (ret != 0) {
return kr_error(EBADF);
}
}
}
+#ifdef SO_ATTACH_BPF
static int set_bpf_cb(const char *key, void *val, void *ext)
{
-#ifdef SO_ATTACH_BPF
endpoint_array_t *endpoints = (endpoint_array_t *)val;
assert(endpoints != NULL);
int *bpffd = (int *)ext;
return 1; /* return error (and stop iterating over net->endpoints) */
}
}
-#else
- kr_log_error("[network] SO_ATTACH_BPF socket option doesn't supported\n");
- (void)key; (void)val; (void)ext;
- return 1;
-#endif
return 0; /* OK */
}
+#endif
int network_set_bpf(struct network *net, int bpf_fd)
{
return 1;
}
+#ifdef SO_DETACH_BPF
static int clear_bpf_cb(const char *key, void *val, void *ext)
{
-#ifdef SO_DETACH_BPF
endpoint_array_t *endpoints = (endpoint_array_t *)val;
assert(endpoints != NULL);
/* Proceed even if setsockopt() failed,
* as we want to process all opened sockets. */
}
-#else
- kr_log_error("[network] SO_DETACH_BPF socket option doesn't supported\n");
- (void)key; (void)val; (void)ext;
- return 1;
-#endif
return 0;
}
+#endif
void network_clear_bpf(struct network *net)
{
/* don't risk overflowing the buffer if we have a mistake somewhere */
return kr_error(EINVAL);
}
-
+
const char *logstring = tls_p->client_side ? client_logstring : server_logstring;
tls_p->buf = buf;
client_paramlist_entry_clear(NULL, (void *)entry, NULL);
map_del(tls_client_paramlist, key);
}
-
+
return kr_ok();
}
kr_log_error("[tls_client] newer gnutls is required to use PIN check\n");
return GNUTLS_E_CERTIFICATE_ERROR;
}
+ goto skip_pins;
#endif
skip_pins: