#include <getdns/getdns.h>
#include <ldns/ldns.h>
Go to the source code of this file.
|
| #define | SET_ERROR_GENERIC(errp, error_status) |
| #define | SET_ERROR_CALLBACK(errp, callback_type) |
| #define | SET_ERROR_GETDNS(errp, msgstr, r) |
| #define | SET_ERROR_GETDNS_REPSTATUS(errp, msgstr, r) |
| #define | SET_ERROR_A_AAAA_TIMEOUT(errp) |
| #define | SET_ERROR_LDNS(errp, msgstr) |
| #define | SET_ERROR_LDNS_RESULT(errp, msgstr, r) |
| #define | SET_ERROR_SSL(errp, msgstr) |
| #define | SET_ERROR_TLSA_MISMATCH(errp) |
| #define | SET_ERROR_DANE_TIMEOUT(errp) |
| #define | SET_ERROR_PKIX_DID_NOT_VALIDATE(errp) |
|
#define | CBNPR_MAX_ADDRS 3 |
|
#define | CBN_UNENCRYPTED (1 << 0) |
|
#define | CBN_UNAUTHENTICATED_ENCRYPTION (1 << 1) |
|
#define | CBN_AUTHENTICATED_ENCRYPTION (1 << 2) |
|
#define | CBN_PKIX_AUTH_REQUIRED (1 << 3) |
|
#define | CBN_DANE_AUTH_REQUIRED (1 << 4) |
|
#define | CBN_DEFAULT_DISALLOW_OTHER_TRANSPORTS (1 << 5) |
|
#define | CBN_ALLOW_DO53 (1 << 8) |
|
#define | CBN_DISALLOW_DO53 (1 << 9) |
|
#define | CBN_ALLOW_DOT (1 << 10) |
|
#define | CBN_DISALLOW_DOT (1 << 11) |
|
#define | CBN_ALLOW_DOH2 (1 << 12) |
|
#define | CBN_DISALLOW_DOH2 (1 << 13) |
|
#define | CBN_ALLOW_DOH3 (1 << 14) |
|
#define | CBN_DISALLOW_DOH3 (1 << 15) |
|
#define | CBN_ALLOW_DOQ (1 << 16) |
|
#define | CBN_DISALLOW_DOQ (1 << 17) |
|
#define | MAX_RESOLVERS 10 |
|
|
typedef void(* | cbn_callback_T) (struct bufferevent *bev, void *ref) |
|
typedef void(* | cbn_callback_error_T) (struct cbn_error *error, void *ref) |
|
| enum | cbn_status {
CBN_OK
, CBN_BAD_PORT
, CBN_BAD_PORT_NAME
, CBN_GETDNS_ERROR
,
CBN_GETDNS_REPSTATUS
, CBN_A_AAAA_TIMEOUT
, CBN_HOSTNAME_TOO_LONG
, CBN_ERROR_CALLBACK
,
CBN_LDNS_ERROR
, CBN_LDNS_RESULT
, CBN_SSL_ERROR
, CBN_TLSA_MISMATCH
,
CBN_DANE_TIMEOUT
, CBN_PKIX_DID_NOT_VALIDATE
} |
|
| struct cbn_policy * | cbn_policy_init2 (struct cbn_policy *policy, const char *name, unsigned int settings) |
| int | cbn_policy_add_resolver (struct cbn_policy *policy, struct cbnp_resolver *resolver) |
| int | cbn_init (struct cbn_context *cbn_ctx, struct event_base *event_base) |
| int | cbn_init2 (struct cbn_context *cbn_ctx, struct cbn_policy *policy, char *name, int flags, struct event_base *event_base) |
| void | cbn_clean (struct cbn_context *cbn_ctx) |
| int | connectbyname (struct cbn_context *cbn_ctx, const char *hostname, const char *servname, int *fdp) |
| int | connectbyname_asyn (struct cbn_context *cbn_ctx, const char *hostname, const char *servname, cbn_callback_T user_cb, cbn_callback_error_T error_cb, void *user_ref, void **refp) |
| void | connectbyname_free (void *ref) |
This is the interface to connectbyname
◆ SET_ERROR_A_AAAA_TIMEOUT
| #define SET_ERROR_A_AAAA_TIMEOUT |
( |
| errp | ) |
|
Value: SET_ERROR_GENERIC(errp, CBN_A_AAAA_TIMEOUT)
◆ SET_ERROR_CALLBACK
| #define SET_ERROR_CALLBACK |
( |
| errp, |
|
|
| callback_type ) |
Value: SET_ERROR_GENERIC(errp, CBN_ERROR_CALLBACK), \
(errp)->u.callback_type= callback_type
◆ SET_ERROR_DANE_TIMEOUT
| #define SET_ERROR_DANE_TIMEOUT |
( |
| errp | ) |
|
Value: SET_ERROR_GENERIC(errp, CBN_DANE_TIMEOUT)
◆ SET_ERROR_GENERIC
| #define SET_ERROR_GENERIC |
( |
| errp, |
|
|
| error_status ) |
Value: (errp)->status= error_status, \
(errp)->file= __FILE__, \
(errp)->line= __LINE__, \
(errp)->func= __func__
◆ SET_ERROR_GETDNS
| #define SET_ERROR_GETDNS |
( |
| errp, |
|
|
| msgstr, |
|
|
| r ) |
Value: SET_ERROR_GENERIC(errp, CBN_GETDNS_ERROR), \
(errp)->msg= msgstr, \
(errp)->u.getdns_result= r
◆ SET_ERROR_GETDNS_REPSTATUS
| #define SET_ERROR_GETDNS_REPSTATUS |
( |
| errp, |
|
|
| msgstr, |
|
|
| r ) |
Value: SET_ERROR_GENERIC(errp, CBN_GETDNS_REPSTATUS), \
(errp)->msg= msgstr, \
(errp)->u.getdns_repstatus= r
◆ SET_ERROR_LDNS
| #define SET_ERROR_LDNS |
( |
| errp, |
|
|
| msgstr ) |
Value: SET_ERROR_GENERIC(errp, CBN_LDNS_ERROR), \
(errp)->msg= msgstr
◆ SET_ERROR_LDNS_RESULT
| #define SET_ERROR_LDNS_RESULT |
( |
| errp, |
|
|
| msgstr, |
|
|
| r ) |
Value: SET_ERROR_GENERIC(errp, CBN_LDNS_RESULT), \
(errp)->msg= msgstr, \
(errp)->u.ldns_status= r
◆ SET_ERROR_PKIX_DID_NOT_VALIDATE
| #define SET_ERROR_PKIX_DID_NOT_VALIDATE |
( |
| errp | ) |
|
Value: SET_ERROR_GENERIC(errp, CBN_PKIX_DID_NOT_VALIDATE)
◆ SET_ERROR_SSL
| #define SET_ERROR_SSL |
( |
| errp, |
|
|
| msgstr ) |
Value: SET_ERROR_GENERIC(errp, CBN_SSL_ERROR), \
(errp)->msg= msgstr
◆ SET_ERROR_TLSA_MISMATCH
| #define SET_ERROR_TLSA_MISMATCH |
( |
| errp | ) |
|
Value: SET_ERROR_GENERIC(errp, CBN_TLSA_MISMATCH)
◆ cbn_clean()
Clean up connectbyname context
- Parameters
-
| cbn_ctx | context to clean up |
- Returns
- returns enum cbn_status
◆ cbn_init()
| int cbn_init |
( |
struct cbn_context * | cbn_ctx, |
|
|
struct event_base * | event_base ) |
Initialize a connectbyname context
- Parameters
-
| cbn_ctx | context to initialize |
| event_base | event base to use for asynchronous I/O |
- Returns
- returns enum cbn_status
◆ cbn_init2()
| int cbn_init2 |
( |
struct cbn_context * | cbn_ctx, |
|
|
struct cbn_policy * | policy, |
|
|
char * | name, |
|
|
int | flags, |
|
|
struct event_base * | event_base ) |
Initialize a connectbyname context
- Parameters
-
| cbn_ctx | context to initialize |
| policy | policy for this context |
| name | |
| flags | |
| event_base | event base to use for asynchronous I/O |
- Returns
- returns enum cbn_status
◆ cbn_policy_add_resolver()
Add a DNS resolver policy to a connectbyname policy
- Parameters
-
| policy | connectbyname policy |
| resolver | resolver policy |
- Returns
- returns enum cbn_status
◆ cbn_policy_init2()
| struct cbn_policy * cbn_policy_init2 |
( |
struct cbn_policy * | policy, |
|
|
const char * | name, |
|
|
unsigned int | settings ) |
Initializes the cbn_policy
- Parameters
-
| policy | The policy to initialize, already allocated or on the stack.
|
| name | The name from which to determine what policy setting to inherit. |
| settings | A bitwise-orred value witth settings for the individual settings. Missing values will be interpreted as inherit. |
- Returns
- The initialized cbn_policy or NULL on error. Error will occur only when memory could not be allocated.
◆ connectbyname()
| int connectbyname |
( |
struct cbn_context * | cbn_ctx, |
|
|
const char * | hostname, |
|
|
const char * | servname, |
|
|
int * | fdp ) |
Synchronous connectbyname call
- Parameters
-
| cbn_ctx | Configuration context |
| hostname | DNS name to connect to |
| servname | Name of service (port) to connect to |
| fdp | Result filedescriptor |
- Returns
- returns enum cbn_status
◆ connectbyname_asyn()
| int connectbyname_asyn |
( |
struct cbn_context * | cbn_ctx, |
|
|
const char * | hostname, |
|
|
const char * | servname, |
|
|
cbn_callback_T | user_cb, |
|
|
cbn_callback_error_T | error_cb, |
|
|
void * | user_ref, |
|
|
void ** | refp ) |
Asynchronous connectbyname call
- Parameters
-
| cbn_ctx | Configuration context |
| hostname | DNS name to connect to |
| servname | Name of service (port) to connect to |
| user_cb | Callback function on success |
| error_cb | Callback function on error |
| user_ref | User reference for callback |
| refp | Library reference to this call |
- Returns
- returns enum cbn_status
◆ connectbyname_free()
| void connectbyname_free |
( |
void * | ref | ) |
|
Free the state associated with a call to connectbyname_asyn
- Parameters
-
| ref | Reference returned by connectbyname_asyn |
- Returns
- returns enum cbn_status