tsig.h

Go to the documentation of this file.
00001 /*
00002  * tsig.h -- defines for TSIG [RFC2845]
00003  *
00004  * Copyright (c) 2005-2008, NLnet Labs. All rights reserved.
00005  *
00006  * See LICENSE for the license.
00007  */
00008 
00009 #ifndef LDNS_TSIG_H
00010 #define LDNS_TSIG_H
00011 
00012 #ifdef __cplusplus
00013 extern "C" {
00014 #endif
00015 
00026 typedef struct ldns_tsig_credentials_struct
00027 {
00028     char *algorithm;
00029     char *keyname;
00030     char *keydata;
00031     /* XXX More eventually. */
00032 } ldns_tsig_credentials;
00033 
00034 char *ldns_tsig_algorithm(ldns_tsig_credentials *);
00035 char *ldns_tsig_keyname(ldns_tsig_credentials *);
00036 char *ldns_tsig_keydata(ldns_tsig_credentials *);
00037 char *ldns_tsig_keyname_clone(ldns_tsig_credentials *);
00038 char *ldns_tsig_keydata_clone(ldns_tsig_credentials *);
00039 
00051 bool ldns_pkt_tsig_verify(ldns_pkt *pkt, uint8_t *wire, size_t wire_size, const char *key_name, const char *key_data, ldns_rdf *mac);
00052 
00066 bool ldns_pkt_tsig_verify_next(ldns_pkt *pkt, uint8_t *wire, size_t wire_size, const char *key_name, const char *key_data, ldns_rdf *mac,
00067     int tsig_timers_only);
00068 
00079 ldns_status ldns_pkt_tsig_sign(ldns_pkt *pkt, const char *key_name, const char *key_data, uint16_t fudge,
00080     const char *algorithm_name, ldns_rdf *query_mac);
00081 
00094 ldns_status ldns_pkt_tsig_sign_next(ldns_pkt *pkt, const char *key_name, const char *key_data, uint16_t fudge,
00095     const char *algorithm_name, ldns_rdf *query_mac, int tsig_timers_only);
00096 
00097 #ifdef __cplusplus
00098 }
00099 #endif
00100 
00101 #endif /* LDNS_TSIG_H */

Generated on 21 Apr 2016 for ldns by  doxygen 1.6.1