From 5871d08a3a519dbc54261c8a18e649ec9cc8bd7f Mon Sep 17 00:00:00 2001 From: Matthias Schiffer Date: Sat, 26 Apr 2014 23:22:12 +0200 Subject: Make on-verify support optional --- src/fastd.h | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) (limited to 'src/fastd.h') diff --git a/src/fastd.h b/src/fastd.h index 2f9f12a..6666d70 100644 --- a/src/fastd.h +++ b/src/fastd.h @@ -60,7 +60,9 @@ struct fastd_protocol { void (*handshake_init)(fastd_socket_t *sock, const fastd_peer_address_t *local_addr, const fastd_peer_address_t *remote_addr, fastd_peer_t *peer); void (*handshake_handle)(fastd_socket_t *sock, const fastd_peer_address_t *local_addr, const fastd_peer_address_t *remote_addr, fastd_peer_t *peer, const fastd_handshake_t *handshake, const fastd_method_info_t *method); +#ifdef WITH_VERIFY void (*handle_verify_return)(fastd_peer_t *peer, fastd_socket_t *sock, const fastd_peer_address_t *local_addr, const fastd_peer_address_t *remote_addr, const fastd_method_info_t *method, const void *protocol_data, bool ok); +#endif void (*handle_recv)(fastd_peer_t *peer, fastd_buffer_t buffer); void (*send)(fastd_peer_t *peer, fastd_buffer_t buffer); @@ -154,8 +156,10 @@ struct fastd_config { unsigned min_handshake_interval; unsigned min_resolve_interval; +#ifdef WITH_VERIFY unsigned min_verify_interval; unsigned verify_valid_time; +#endif char *ifname; @@ -216,7 +220,9 @@ struct fastd_config { fastd_shell_command_t on_connect; fastd_shell_command_t on_establish; fastd_shell_command_t on_disestablish; +#ifdef WITH_VERIFY fastd_shell_command_t on_verify; +#endif bool daemon; char *pid_file; @@ -411,7 +417,7 @@ static inline fastd_string_stack_t* fastd_string_stack_push(fastd_string_stack_t } static inline void fastd_string_stack_free(fastd_string_stack_t *str) { - while(str) { + while (str) { fastd_string_stack_t *next = str->next; free(str); str = next; @@ -442,6 +448,14 @@ static inline void fastd_update_time(void) { clock_gettime(CLOCK_MONOTONIC, &ctx.now); } +static inline bool fastd_allow_verify(void) { +#ifdef WITH_VERIFY + return fastd_shell_command_isset(&conf.on_verify); +#else + return false; +#endif +} + static inline bool strequal(const char *str1, const char *str2) { if (str1 && str2) return (!strcmp(str1, str2)); -- cgit v1.2.3