From b60a876be239a6280b76e5ebc2755727f8bf3275 Mon Sep 17 00:00:00 2001 From: Federico Lucifredi Date: Mon, 14 Jan 2008 00:16:24 +0000 Subject: skipping reverse lookups. git-svn-id: file:///home/lennart/svn/public/avahi/branches/federico@1707 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe --- avahi-core/wide-area.c | 16 ++++++++++++++-- avahi-core/wide-area.h | 2 +- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/avahi-core/wide-area.c b/avahi-core/wide-area.c index a906115..0e42a15 100644 --- a/avahi-core/wide-area.c +++ b/avahi-core/wide-area.c @@ -821,8 +821,12 @@ AvahiRecord* avahi_tsig_sign_packet(const unsigned char* keyname, const unsigned /* TODO: should this be located in this file? */ /* call as wide_area_publish(,"dynamic.endorfine.org",, ) */ -void avahi_wide_area_publish(AvahiRecord *r, const char *zone, uint16_t id, int fd) { +int avahi_wide_area_publish(AvahiRecord *r, const char *zone, uint16_t id, int fd) { char result; + + char *backup; + char globalname[AVAHI_DOMAIN_NAME_MAX]; /* size accounts for escapes if any */ + AvahiDnsPacket *p; AvahiKey *k; @@ -868,7 +872,14 @@ void avahi_wide_area_publish(AvahiRecord *r, const char *zone, uint16_t id, int } /* give record global DNS name under our domain */ - printf("record name: %s\n", r->key->name); + printf("record name: %s\n", r->key->name); /*tracing*/ + + if(strstr(r->key->name, ".arpa") == (r->key->name + strlen(r->key->name - 5)){ + printf("arpa?: %s\n", r->key->name); /*tracing*/ + return(0); /* skip over ".arpa" records */ + } + + strcpy(globalname, r->key->name); if(r->key->type == AVAHI_DNS_TYPE_A) { /* standardize TTLs independent of record for wide-area */ result = avahi_dns_packet_append_record(p, r, 0, 1); /* bind max TTL to 1 sec */ @@ -915,4 +926,5 @@ void avahi_wide_area_publish(AvahiRecord *r, const char *zone, uint16_t id, int /* avahi_send_dns_packet_ipv4(, , , , , );*/ avahi_send_dns_packet_ipv4(fd, AVAHI_IF_UNSPEC, p, NULL, &a.data.ipv4, AVAHI_DNS_PORT); + return 0; } diff --git a/avahi-core/wide-area.h b/avahi-core/wide-area.h index 8fc1a9c..3396743 100644 --- a/avahi-core/wide-area.h +++ b/avahi-core/wide-area.h @@ -107,7 +107,7 @@ void avahi_wide_area_cleanup(AvahiWideAreaLookupEngine *e); int avahi_wide_area_has_servers(AvahiWideAreaLookupEngine *e); AvahiRecord* avahi_tsig_sign_packet(const unsigned char* keyname, const unsigned char* key, unsigned keylength, AvahiDnsPacket *p, unsigned algorithm, uint16_t id); -void avahi_wide_area_publish(AvahiRecord *r, const char *zone, uint16_t id, int fd); +int avahi_wide_area_publish(AvahiRecord *r, const char *zone, uint16_t id, int fd); AvahiWideAreaLookup *avahi_wide_area_lookup_new(AvahiWideAreaLookupEngine *e, AvahiKey *key, AvahiWideAreaLookupCallback callback, void *userdata); void avahi_wide_area_lookup_free(AvahiWideAreaLookup *q); -- cgit