From 12b95a783ba2608444dbdcc3893e924b98f0efad Mon Sep 17 00:00:00 2001 From: Perry Werneck Date: Mon, 31 Aug 2020 22:51:52 -0300 Subject: [PATCH] Moving SSL related method to their own include file. --- lib3270.cbp | 1 + src/core/properties/string.c | 1 + src/include/lib3270.h | 68 -------------------------------------------------------------------- src/include/lib3270/session.h | 1 + src/include/lib3270/ssl.h | 113 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 116 insertions(+), 68 deletions(-) create mode 100644 src/include/lib3270/ssl.h diff --git a/lib3270.cbp b/lib3270.cbp index 7582bb0..fe34d8f 100644 --- a/lib3270.cbp +++ b/lib3270.cbp @@ -284,6 +284,7 @@ + diff --git a/src/core/properties/string.c b/src/core/properties/string.c index d5e1643..cc75cd2 100644 --- a/src/core/properties/string.c +++ b/src/core/properties/string.c @@ -35,6 +35,7 @@ #include #include #include + #include static const char * get_version(const H3270 GNUC_UNUSED(*hSession)) { diff --git a/src/include/lib3270.h b/src/include/lib3270.h index 13e4213..00b9b26 100644 --- a/src/include/lib3270.h +++ b/src/include/lib3270.h @@ -305,19 +305,6 @@ } LIB3270_HOST_TYPE_ENTRY; /** - * @brief SSL state - * - */ - typedef enum lib3270_ssl_state - { - LIB3270_SSL_UNSECURE, /**< @brief No secure connection */ - LIB3270_SSL_SECURE, /**< @brief Connection secure with CA check */ - LIB3270_SSL_NEGOTIATED, /**< @brief Connection secure, no CA, self-signed or expired CRL */ - LIB3270_SSL_NEGOTIATING, /**< @brief Negotiating SSL */ - LIB3270_SSL_UNDEFINED /**< @brief Undefined */ - } LIB3270_SSL_STATE; - - /** * @brief Field information. * */ @@ -525,27 +512,6 @@ LIB3270_EXPORT const char * lib3270_get_default_host(const H3270 *hSession); /** - * @brief Set URL for the certificate revocation list. - * - * @param hSession Session handle. - * @param crl URL for the certificate revocation list. - * - * @return 0 on sucess, non zero on error (sets errno). - * - */ - LIB3270_EXPORT int lib3270_crl_set_url(H3270 *hSession, const char *crl); - LIB3270_EXPORT const char * lib3270_crl_get_url(const H3270 *hSession); - - LIB3270_EXPORT int lib3270_crl_set_preferred_protocol(H3270 *hSession, const char *protocol); - LIB3270_EXPORT const char * lib3270_crl_get_preferred_protocol(const H3270 *hSession); - - /** - * @brief Get the available protocols for CRL download. - * - */ - LIB3270_EXPORT const char ** lib3270_get_available_crl_protocols(void); - - /** * @brief Get hostname for the connect/reconnect operations. * * @param h Session handle. @@ -558,40 +524,6 @@ LIB3270_EXPORT void LIB3270_DEPRECATED(lib3270_set_hostname(H3270 *h, const char *hostname)); /** - * @brief Get SSL host option. - * - * @return Non zero if the host URL has SSL scheme. - * - */ - LIB3270_EXPORT int lib3270_get_secure_host(const H3270 *hSession); - - /** - * @brief Get security state. - * - */ - LIB3270_EXPORT LIB3270_SSL_STATE lib3270_get_ssl_state(const H3270 *session); - - LIB3270_EXPORT long lib3270_get_SSL_verify_result(const H3270 *session); - - /** - * @brief Get security state as text. - * - */ - LIB3270_EXPORT const char * lib3270_get_ssl_state_message(const H3270 *hSession); - - LIB3270_EXPORT const char * lib3270_get_ssl_state_icon_name(const H3270 *hSession); - - /** - * @brief Get security state message. - * - */ - LIB3270_EXPORT const char * lib3270_get_ssl_state_description(const H3270 *hSession); - - LIB3270_EXPORT char * lib3270_get_ssl_crl_text(const H3270 *hSession); - LIB3270_EXPORT char * lib3270_get_ssl_peer_certificate_text(const H3270 *hSession); - - - /** * @brief Get service or port for the connect/reconnect operations. * * @param h Session handle. diff --git a/src/include/lib3270/session.h b/src/include/lib3270/session.h index 709e186..b088f72 100644 --- a/src/include/lib3270/session.h +++ b/src/include/lib3270/session.h @@ -41,6 +41,7 @@ #include #include + #include struct lib3270_session_callbacks { diff --git a/src/include/lib3270/ssl.h b/src/include/lib3270/ssl.h new file mode 100644 index 0000000..e620798 --- /dev/null +++ b/src/include/lib3270/ssl.h @@ -0,0 +1,113 @@ +/* + * "Software pw3270, desenvolvido com base nos códigos fontes do WC3270 e X3270 + * (Paul Mattes Paul.Mattes@usa.net), de emulação de terminal 3270 para acesso a + * aplicativos mainframe. Registro no INPI sob o nome G3270. + * + * Copyright (C) <2008> + * + * Este programa é software livre. Você pode redistribuí-lo e/ou modificá-lo sob + * os termos da GPL v.2 - Licença Pública Geral GNU, conforme publicado pela + * Free Software Foundation. + * + * Este programa é distribuído na expectativa de ser útil, mas SEM QUALQUER + * GARANTIA; sem mesmo a garantia implícita de COMERCIALIZAÇÃO ou de ADEQUAÇÃO + * A QUALQUER PROPÓSITO EM PARTICULAR. Consulte a Licença Pública Geral GNU para + * obter mais detalhes. + * + * Você deve ter recebido uma cópia da Licença Pública Geral GNU junto com este + * programa; se não, escreva para a Free Software Foundation, Inc., 51 Franklin + * St, Fifth Floor, Boston, MA 02110-1301 USA + * + * Este programa está nomeado como ssl.h e possui - linhas de código. + * + * Contatos: + * + * perry.werneck@gmail.com (Alexandre Perry de Souza Werneck) + * erico.mendonca@gmail.com (Erico Mascarenhas Mendonça) + * + */ + + /** + * @brief TN3270 SSL definitions. + * + * @author perry.werneck@gmail.com + * + */ + +#ifndef LIB3270_SSL_H_INCLUDED + + #define LIB3270_SSL_H_INCLUDED 1 + + #include + +#ifdef __cplusplus + extern "C" { +#endif + + /// @brief SSL state + typedef enum lib3270_ssl_state + { + LIB3270_SSL_UNSECURE, /**< @brief No secure connection */ + LIB3270_SSL_SECURE, /**< @brief Connection secure with CA check */ + LIB3270_SSL_NEGOTIATED, /**< @brief Connection secure, no CA, self-signed or expired CRL */ + LIB3270_SSL_NEGOTIATING, /**< @brief Negotiating SSL */ + LIB3270_SSL_UNDEFINED /**< @brief Undefined */ + } LIB3270_SSL_STATE; + + /** + * @brief Set URL for the certificate revocation list. + * + * @param hSession Session handle. + * @param crl URL for the certificate revocation list. + * + * @return 0 on sucess, non zero on error (sets errno). + * + */ + LIB3270_EXPORT int lib3270_crl_set_url(H3270 *hSession, const char *crl); + LIB3270_EXPORT const char * lib3270_crl_get_url(const H3270 *hSession); + + LIB3270_EXPORT int lib3270_crl_set_preferred_protocol(H3270 *hSession, const char *protocol); + LIB3270_EXPORT const char * lib3270_crl_get_preferred_protocol(const H3270 *hSession); + + /** + * @brief Get the available protocols for CRL download. + * + */ + LIB3270_EXPORT const char ** lib3270_get_available_crl_protocols(void); + + /** + * @brief Get SSL host option. + * + * @return Non zero if the host URL has SSL scheme. + * + */ + LIB3270_EXPORT int lib3270_get_secure_host(const H3270 *hSession); + + /** + * @brief Get security state. + * + */ + LIB3270_EXPORT LIB3270_SSL_STATE lib3270_get_ssl_state(const H3270 *session); + + /** + * @brief Get security state as text. + * + */ + LIB3270_EXPORT const char * lib3270_get_ssl_state_message(const H3270 *hSession); + + LIB3270_EXPORT const char * lib3270_get_ssl_state_icon_name(const H3270 *hSession); + + /** + * @brief Get security state message. + * + */ + LIB3270_EXPORT const char * lib3270_get_ssl_state_description(const H3270 *hSession); + + LIB3270_EXPORT char * lib3270_get_ssl_crl_text(const H3270 *hSession); + LIB3270_EXPORT char * lib3270_get_ssl_peer_certificate_text(const H3270 *hSession); + +#ifdef __cplusplus + } +#endif + +#endif // LIB3270_SSL_H_INCLUDED -- libgit2 0.21.2