diff options
author | Federico Lucifredi <flucifredi@acm.org> | 2007-12-22 23:25:20 +0000 |
---|---|---|
committer | Federico Lucifredi <flucifredi@acm.org> | 2007-12-22 23:25:20 +0000 |
commit | 4f85c4f5b935baa226dd49dece56c80047cbc7d2 (patch) | |
tree | 76ff2bdfd2c8c1edcfca1bb6a9a9394b74b3a075 | |
parent | 96dbb74f0376f5d107abfa7ed1a5ca4e692c301a (diff) |
added AVAHI_DNS_TYPE_TSIG (250)
added tsig_sign_packet() - unfinished
git-svn-id: file:///home/lennart/svn/public/avahi/branches/federico@1604 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe
-rw-r--r-- | avahi-common/defs.h | 3 | ||||
-rw-r--r-- | avahi-core/wide-area.c | 13 | ||||
-rw-r--r-- | avahi-core/wide-area.h | 1 |
3 files changed, 16 insertions, 1 deletions
diff --git a/avahi-common/defs.h b/avahi-common/defs.h index 4efa5ad..bbdcb64 100644 --- a/avahi-common/defs.h +++ b/avahi-common/defs.h @@ -277,7 +277,7 @@ typedef enum { /** In invalid cookie as special value */ #define AVAHI_SERVICE_COOKIE_INVALID (0) -/** DNS record types, see RFC 1035 */ +/** DNS record types, see RFC 1035 and succeeding updates and extensions */ enum { AVAHI_DNS_TYPE_A = 0x01, AVAHI_DNS_TYPE_NS = 0x02, @@ -289,6 +289,7 @@ enum { AVAHI_DNS_TYPE_TXT = 0x10, AVAHI_DNS_TYPE_AAAA = 0x1C, AVAHI_DNS_TYPE_SRV = 0x21, + AVAHI_DNS_TYPE_TSIG = 0xFA, }; /** DNS record classes, see RFC 1035 */ diff --git a/avahi-core/wide-area.c b/avahi-core/wide-area.c index bf3f60d..2811408 100644 --- a/avahi-core/wide-area.c +++ b/avahi-core/wide-area.c @@ -721,5 +721,18 @@ int avahi_wide_area_has_servers(AvahiWideAreaLookupEngine *e) { return e->n_dns_servers > 0; } +/* TODO: should this be located in this file? */ +AvahiRecord* tsig_sign_packet(AvahiDnsPacket *p, unsigned a) { + AvahiRecord *r; + + r = avahi_record_new_full("TSIG", AVAHI_DNS_CLASS_IN, AVAHI_DNS_TYPE_TSIG, 0); + + if (!r) { + avahi_log_error("avahi_record_new_full() failed."); + return NULL; + } + + return r; +} diff --git a/avahi-core/wide-area.h b/avahi-core/wide-area.h index 1af613b..9b1f9da 100644 --- a/avahi-core/wide-area.h +++ b/avahi-core/wide-area.h @@ -44,6 +44,7 @@ void avahi_wide_area_set_servers(AvahiWideAreaLookupEngine *e, const AvahiAddres void avahi_wide_area_clear_cache(AvahiWideAreaLookupEngine *e); void avahi_wide_area_cleanup(AvahiWideAreaLookupEngine *e); int avahi_wide_area_has_servers(AvahiWideAreaLookupEngine *e); +AvahiRecord* tsig_sign_packet(AvahiDnsPacket *p, unsigned a); AvahiWideAreaLookup *avahi_wide_area_lookup_new(AvahiWideAreaLookupEngine *e, AvahiKey *key, AvahiWideAreaLookupCallback callback, void *userdata); void avahi_wide_area_lookup_free(AvahiWideAreaLookup *q); |