From f6712902a92eb82b6c8d7e7fd0980a20a716fa0d Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Thu, 27 Oct 2005 19:11:34 +0000 Subject: * format unknown DNS records according to RFC3597 * add some DNS class and type validity checks to avahi_server_add() * move DNS type and class definitions to avahi-common/defs.h git-svn-id: file:///home/lennart/svn/public/avahi/trunk@896 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe --- avahi-core/entry.c | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'avahi-core/entry.c') diff --git a/avahi-core/entry.c b/avahi-core/entry.c index fd0e233..3621fe3 100644 --- a/avahi-core/entry.c +++ b/avahi-core/entry.c @@ -176,6 +176,15 @@ static AvahiEntry * server_add_internal( AVAHI_CHECK_VALIDITY_RETURN_NULL(s, r->ttl != 0, AVAHI_ERR_INVALID_TTL); AVAHI_CHECK_VALIDITY_RETURN_NULL(s, !avahi_key_is_pattern(r->key), AVAHI_ERR_IS_PATTERN); AVAHI_CHECK_VALIDITY_RETURN_NULL(s, avahi_record_is_valid(r), AVAHI_ERR_INVALID_RECORD); + AVAHI_CHECK_VALIDITY_RETURN_NULL(s, r->key->clazz == AVAHI_DNS_CLASS_IN, AVAHI_ERR_INVALID_DNS_CLASS); + AVAHI_CHECK_VALIDITY_RETURN_NULL(s, + (r->key->type != 0) && + (r->key->type != AVAHI_DNS_TYPE_ANY) && + (r->key->type != AVAHI_DNS_TYPE_OPT) && + (r->key->type != AVAHI_DNS_TYPE_TKEY) && + (r->key->type != AVAHI_DNS_TYPE_TSIG) && + (r->key->type != AVAHI_DNS_TYPE_IXFR) && + (r->key->type != AVAHI_DNS_TYPE_AXFR), AVAHI_ERR_INVALID_DNS_TYPE); if (flags & AVAHI_PUBLISH_UPDATE) { AvahiRecord *old_record; -- cgit