| Server IP : 23.254.227.96 / Your IP : 216.73.216.183 Web Server : Apache/2.4.62 (Unix) OpenSSL/1.1.1k System : Linux hwsrv-1277026.hostwindsdns.com 4.18.0-477.13.1.el8_8.x86_64 #1 SMP Tue May 30 14:53:41 EDT 2023 x86_64 User : viralblo ( 1001) PHP Version : 8.1.31 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /proc/self/root/usr/include/net-snmp/library/ |
Upload File : |
#ifndef _SNMPTLSBASEDOMAIN_H
#define _SNMPTLSBASEDOMAIN_H
#ifdef __cplusplus
extern "C" {
#endif
#include <net-snmp/library/snmp_transport.h>
#include <net-snmp/library/asn1.h>
#include <net-snmp/library/container.h>
/* OpenSSL Includes */
#include "openssl/bio.h"
#include "openssl/ssl.h"
#include "openssl/err.h"
/*
* Prototypes
*/
void netsnmp_tlsbase_ctor(void);
void netsnmp_init_tlsbase(void);
const char * _x509_get_error(int x509failvalue, const char *location);
void _openssl_log_error(int rc, SSL *con, const char *location);
/* will likely go away */
SSL_CTX *get_client_ctx(void);
SSL_CTX *get_server_ctx(void);
#define NETSNMP_TLSBASE_IS_CLIENT 0x01
#define NETSNMP_TLSBASE_CERT_FP_VERIFIED 0x02
/*
* _Internal_ structures
*/
typedef struct _netsnmpTLSBaseData_s {
int flags;
SSL_CTX *ssl_context;
SSL *ssl;
BIO *sslbio;
BIO *accept_bio;
BIO *accepted_bio;
char *securityName;
char *addr_string;
netsnmp_indexed_addr_pair *addr;
char *our_identity;
char *their_identity;
char *their_fingerprint;
char *their_hostname;
char *trust_cert;
} _netsnmpTLSBaseData;
#define VRFY_PARENT_WAS_OK 1
typedef struct _netsnmp_verify_info_s {
int flags;
} _netsnmp_verify_info;
SSL_CTX *sslctx_client_setup(const SSL_METHOD *,
_netsnmpTLSBaseData *tlsbase);
SSL_CTX *sslctx_server_setup(const SSL_METHOD *);
int netsnmp_tlsbase_verify_server_cert(SSL *ssl,
_netsnmpTLSBaseData *tlsdata);
int netsnmp_tlsbase_verify_client_cert(SSL *ssl,
_netsnmpTLSBaseData *tlsdata);
int netsnmp_tlsbase_extract_security_name(SSL *ssl, _netsnmpTLSBaseData *tlsdata);
_netsnmpTLSBaseData *netsnmp_tlsbase_allocate_tlsdata(netsnmp_transport *t,
int isserver);
int netsnmp_tlsbase_wrapup_recv(netsnmp_tmStateReference *tmStateRef,
_netsnmpTLSBaseData *tlsdata,
void **opaque, int *olength);
int netsnmp_tlsbase_config(struct netsnmp_transport_s *t,
const char *token, const char *value);
int netsnmp_tlsbase_session_init(struct netsnmp_transport_s *,
struct snmp_session *sess);
int tls_get_verify_info_index(void);
void netsnmp_tlsbase_free_tlsdata(_netsnmpTLSBaseData *tlsbase);
#ifdef __cplusplus
}
#endif
#endif/*_SNMPTLSBASEDOMAIN_H*/