00001
00002
00003
00004
00005
00006
00007
00008
00009 #ifndef _LDNS_TSIG_H_
00010 #define _LDNS_TSIG_H_
00011
00012 #include <ldns/common.h>
00013 #include <ldns/dns.h>
00014 #include <ldns/packet.h>
00015 #include <ldns/zone.h>
00016
00017 typedef struct _ldns_tsig_credentials
00018 {
00019 char *algorithm;
00020 char *keyname;
00021 char *keydata;
00022
00023 } ldns_tsig_credentials;
00024
00025 char *ldns_tsig_algorithm(ldns_tsig_credentials *);
00026 char *ldns_tsig_keyname(ldns_tsig_credentials *);
00027 char *ldns_tsig_keydata(ldns_tsig_credentials *);
00028 char *ldns_tsig_keyname_clone(ldns_tsig_credentials *);
00029 char *ldns_tsig_keydata_clone(ldns_tsig_credentials *);
00030
00037 bool ldns_pkt_tsig_verify(ldns_pkt *pkt, uint8_t *wire, size_t wire_size,
00038 const char *key_name, const char *key_data, ldns_rdf *mac);
00039
00050 ldns_status ldns_pkt_tsig_sign(ldns_pkt *pkt, const char *key_name,
00051 const char *key_data, uint16_t fudge, const char *algorithm_name,
00052 ldns_rdf *query_mac);
00053
00054 #endif