X-Git-Url: http://git.meshlink.io/?a=blobdiff_plain;f=avahi-core%2Fentry.c;h=3621fe3c5368e2a80bc748ef97a9c705d709066a;hb=7bf288feae074e17626b94cbf3b37a5ec4224187;hp=7afad476c749b0679e7db1ef4e590b4f814c2d86;hpb=6efe2615e04c6ef664fa9d49b013e261ba1e6e66;p=catta diff --git a/avahi-core/entry.c b/avahi-core/entry.c index 7afad47..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; @@ -441,7 +450,7 @@ int avahi_server_add_address( if (!(flags & AVAHI_PUBLISH_NO_REVERSE)) { char reverse_n[AVAHI_DOMAIN_NAME_MAX]; - avahi_reverse_lookup_name(reverse_n, sizeof(reverse_n), a); + avahi_reverse_lookup_name(a, reverse_n, sizeof(reverse_n)); if (!(reverse = server_add_ptr_internal(s, g, interface, protocol, flags | AVAHI_PUBLISH_UNIQUE, AVAHI_DEFAULT_TTL_HOST_NAME, reverse_n, name))) { ret = avahi_server_errno(s); @@ -1017,7 +1026,7 @@ static void entry_group_commit_real(AvahiSEntryGroup *g) { } } -static void entry_group_register_time_event_callback(AvahiTimeEvent *e, void* userdata) { +static void entry_group_register_time_event_callback(AVAHI_GCC_UNUSED AvahiTimeEvent *e, void* userdata) { AvahiSEntryGroup *g = userdata; assert(g);