switch (event) {
case AVAHI_RESOLVER_FAILURE:
- case AVAHI_RESOLVER_NOT_FOUND:
- case AVAHI_RESOLVER_TIMEOUT:
r->callback(
r,
assert(e);
assert(r);
- avahi_log_debug("timeout");
-
- finish(r, AVAHI_RESOLVER_TIMEOUT);
+ avahi_server_set_errno(r->server, AVAHI_ERR_TIMEOUT);
+ finish(r, AVAHI_RESOLVER_FAILURE);
}
static void start_timeout(AvahiSServiceResolver *r) {
case AVAHI_BROWSER_ALL_FOR_NOW:
break;
- case AVAHI_BROWSER_NOT_FOUND:
case AVAHI_BROWSER_FAILURE:
-
if (rr == r->record_browser_a && r->record_browser_aaaa) {
/* We were looking for both AAAA and A, and the other query is still living, so we'll not die */
break;
}
-
/* Hmm, everything's lost, tell the user */
if (r->record_browser_srv)
r->record_browser_srv = r->record_browser_txt = r->record_browser_a = r->record_browser_aaaa = NULL;
- finish(r, event == AVAHI_BROWSER_FAILURE ? AVAHI_RESOLVER_FAILURE : AVAHI_RESOLVER_NOT_FOUND);
+ finish(r, AVAHI_RESOLVER_FAILURE);
break;
}
}
AVAHI_CHECK_VALIDITY_RETURN_NULL(server, AVAHI_PROTO_VALID(aprotocol), AVAHI_ERR_INVALID_PROTOCOL);
AVAHI_CHECK_VALIDITY_RETURN_NULL(server, !domain || avahi_is_valid_domain_name(domain), AVAHI_ERR_INVALID_DOMAIN_NAME);
AVAHI_CHECK_VALIDITY_RETURN_NULL(server, !name || avahi_is_valid_service_name(name), AVAHI_ERR_INVALID_SERVICE_NAME);
- AVAHI_CHECK_VALIDITY_RETURN_NULL(server, avahi_is_valid_service_type(type), AVAHI_ERR_INVALID_SERVICE_TYPE);
+ AVAHI_CHECK_VALIDITY_RETURN_NULL(server, avahi_is_valid_service_type_strict(type), AVAHI_ERR_INVALID_SERVICE_TYPE);
AVAHI_CHECK_VALIDITY_RETURN_NULL(server, AVAHI_FLAGS_VALID(flags, AVAHI_LOOKUP_USE_WIDE_AREA|AVAHI_LOOKUP_USE_MULTICAST|AVAHI_LOOKUP_NO_TXT|AVAHI_LOOKUP_NO_ADDRESS), AVAHI_ERR_INVALID_FLAGS);
if (!domain)