Consistent SSL/TLS options across conf files
[asterisk/asterisk.git] / include / asterisk / tcptls.h
index 6fb6d4b..9496d97 100644 (file)
@@ -78,6 +78,7 @@ enum ast_ssl_flags {
 struct ast_tls_config {
        int enabled;
        char *certfile;
+       char *pvtfile;
        char *cipher;
        char *cafile;
        char *capath;
@@ -114,7 +115,7 @@ struct ast_tls_config {
  */
 struct ast_tcptls_session_args {
        struct sockaddr_in local_address;
-       struct sockaddr_in old_local_address;
+       struct sockaddr_in old_address; /*!< copy of the local or remote address depending on if its a client or server session */
        struct sockaddr_in remote_address;
        char hostname[MAXHOSTNAMELEN]; /*!< only necessary for SSL clients so we can compare to common name */
        struct ast_tls_config *tls_cfg; /*!< points to the SSL configuration if any */
@@ -149,14 +150,36 @@ struct ast_tcptls_session_instance {
 #define LEN_T size_t
 #endif
 
+/*!
+ * \brief A generic client routine for a TCP client
+ * and starts a thread for handling accept()
+ * \version 1.6.1 changed desc parameter to be of ast_tcptls_session_args type
+ */
 struct ast_tcptls_session_instance *ast_tcptls_client_start(struct ast_tcptls_session_args *desc);
 
 void *ast_tcptls_server_root(void *);
+
+/*!
+ * \brief This is a generic (re)start routine for a TCP server,
+ * which does the socket/bind/listen and starts a thread for handling
+ * accept().
+ * \version 1.6.1 changed desc parameter to be of ast_tcptls_session_args type
+ */
 void ast_tcptls_server_start(struct ast_tcptls_session_args *desc);
+
+/*!
+ * \brief Shutdown a running server if there is one
+ * \version 1.6.1 changed desc parameter to be of ast_tcptls_session_args type
+ */
 void ast_tcptls_server_stop(struct ast_tcptls_session_args *desc);
 int ast_ssl_setup(struct ast_tls_config *cfg);
 
+/*!
+ * \brief Used to parse conf files containing tls/ssl options.
+ */
+int ast_tls_read_conf(struct ast_tls_config *tls_cfg, struct ast_tcptls_session_args *tls_desc, const char *varname, const char *value);
+
 HOOK_T ast_tcptls_server_read(struct ast_tcptls_session_instance *ser, void *buf, size_t count);
-HOOK_T ast_tcptls_server_write(struct ast_tcptls_session_instance *ser, void *buf, size_t count);
+HOOK_T ast_tcptls_server_write(struct ast_tcptls_session_instance *ser, const void *buf, size_t count);
 
 #endif /* _ASTERISK_TCPTLS_H */