25 #ifndef STUN_INTERNAL_H
27 #define STUN_INTERNAL_H
52 #if defined(HAVE_OPENSSL)
54 #define OPENSSL_NO_KRB5
55 #include <openssl/sha.h>
56 #include <openssl/hmac.h>
57 #include <openssl/ssl.h>
58 #include <openssl/x509.h>
67 #define SU_LOG (stun_log)
70 #define enter (void)SU_DEBUG_9(("%s: entering.\n", __func__))
75 extern char const STUN_DEBUG[];
80 #define STUN_LIFETIME_EST 3500
81 #define STUN_LIFETIME_MAX 18000
82 #define STUN_LIFETIME_CI 50
84 #define STUN_LIFETIME_EST 350
85 #define STUN_LIFETIME_MAX 1800
86 #define STUN_LIFETIME_CI 5
89 #define STUN_ERROR(err, what) \
90 SU_DEBUG_5(("%s: %s: %s\n", __func__, #what, su_strerror(err))), \
96 int stun_make_sharedsecret_req(stun_msg_t *msg);
98 int stun_send_message(
su_socket_t s, su_sockaddr_t *srvr,
99 stun_msg_t *msg, stun_buffer_t *pwd);
101 void stun_free_message_data(stun_msg_t *msg);
103 int stun_make_binding_req(stun_handle_t *se, stun_request_t *req,
106 int stun_process_response(stun_msg_t *msg);
108 int stun_process_binding_response(stun_msg_t *msg);
109 int stun_process_error_response(stun_msg_t *msg);
112 int stun_add_response_address(stun_msg_t *req,
struct sockaddr_in *mapped_addr);