summaryrefslogtreecommitdiffstats
path: root/avahi-core/server.c
Commit message (Collapse)AuthorAgeFilesLines
* * when calculating a random jitter time for time events, use the same jitter inLennart Poettering2005-11-161-13/+2
| | | | | | | | | | | | | every 10s timespans. This should increase the probability that multiple responses can be merged into a single packet, and thus decreases network traffic. * add _workstation._tcp services in RUNNING state, not earlier * an important bugfix which fixes the entry group state automatons * remove obsolete debug messages * minor other cleanups git-svn-id: file:///home/lennart/svn/public/avahi/trunk@980 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe
* minor cleanupsLennart Poettering2005-11-141-14/+5
| | | | git-svn-id: file:///home/lennart/svn/public/avahi/trunk@959 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe
* * Make "NameAcquired" warning line disappear in avahi-clientLennart Poettering2005-11-131-5/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Scheduler tweaks: * Add some more comments * Remove scheduled queries from the query queue if the querier which issued them dies. This reduces traffic immensly when many short lived queries are made, e.g. during host name lookups. * Don't free a querier object immediately when it is no longer referenced. Instead keep it and try to recycle it in case someone else wants to do the same query later on. Free it at the latest moment possible: just before the next query is scheduled to be made. This reduces traffic immensly when many short lived queries are made. With these two changes we can minimize the traffic to zero or near zero for many simple lookups. * When responding records with the FLUSH_CACHE bit set, reply immediately only when all response record have this bit set. Prior to this change we replied imediately as soon as one record hat this bit set. This change should make us pass *all* Bonjour mDNS conformance tests without any exceptions. git-svn-id: file:///home/lennart/svn/public/avahi/trunk@954 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe
* * Do not allow adding RRs to entry groups that are already commitedLennart Poettering2005-11-081-1/+1
| | | | | | | * Reword some misleading log messages git-svn-id: file:///home/lennart/svn/public/avahi/trunk@939 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe
* * deal with gethostname() failing, use utsname.sysname[] instead in that caseLennart Poettering2005-11-081-6/+13
| | | | | | | * deal with utsname() failing when creating HINFO records git-svn-id: file:///home/lennart/svn/public/avahi/trunk@938 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe
* * add two new configuration file options: "disable-publishing" and ↵Lennart Poettering2005-11-061-0/+1
| | | | | | | | | | | "disable-user-service-publishing" * add two new errors: NOT_PERMITTED and NOT_SUPPORTED * add two new publishing flags: AVAHI_PUBLISH_USE_MULTICAST, AVAHI_PUBLISH_USE_WIDE_AREA * return NOT_SUPPORTED when user tries to add RRs in wide area domains - for now git-svn-id: file:///home/lennart/svn/public/avahi/trunk@930 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe
* * allow the user to specify a static browse domain list in the configuration ↵Lennart Poettering2005-11-031-0/+10
| | | | | | | | | | | file * remove "drop-root" configuration variable * move the configuration variable "add-service-cookie" from [server] to [publish] * reorder AVAHI_DOMAIN_BROWSER_xx defs git-svn-id: file:///home/lennart/svn/public/avahi/trunk@926 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe
* * small fixesSebastien Estienne2005-11-031-0/+1
| | | | git-svn-id: file:///home/lennart/svn/public/avahi/trunk@925 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe
* rework and cleanup socket handling to improve support for OS that don't ↵Lennart Poettering2005-11-031-89/+77
| | | | | | support a SO_RECVIF equivalent git-svn-id: file:///home/lennart/svn/public/avahi/trunk@923 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe
* * fix compiling with --disable-dbusSebastien Estienne2005-11-011-0/+1
| | | | | | | * add a missing include for OpenBSD git-svn-id: file:///home/lennart/svn/public/avahi/trunk@917 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe
* remove a bunch of compiler warningsLennart Poettering2005-10-271-3/+3
| | | | git-svn-id: file:///home/lennart/svn/public/avahi/trunk@898 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe
* * avahi-utils: replace python avahi-browse with a version written in C.Lennart Poettering2005-10-261-1/+1
| | | | | | | | | | | * remove -Wunused from GCC command line and use "unused" attribute instead * remove AVAHI_CLIENT_S_FAILURE and AVAHI_CLIENT_S_INVALID since these event's are never forwarded to the client anyway * make use of AVAHI_GCC_NORETURN * really send eror code with StateChange DBUS signals * ignore EINTR in avahi_simple_poll_loop() git-svn-id: file:///home/lennart/svn/public/avahi/trunk@879 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe
* * remove lots of DOXYGEN_SHOULD_SKIP_THIS from the header files, use doxygen ↵Lennart Poettering2005-10-261-0/+1
| | | | | | | | | | macro expansion instead * split of exotic functions from avahi-core/rr.h to avahi-core/rr-util.h * update doxygen docs git-svn-id: file:///home/lennart/svn/public/avahi/trunk@872 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe
* * replace AF_UNSPEC by AVAHI_PROTO_UNSPEC in client-test.cLennart Poettering2005-10-251-38/+65
| | | | | | | | | * remove some functions from the public API in avahi-common/{domain,address}.[ch] and move them into avahi-core/{domain-util,add-util}.[ch] * properly generate CNAME responses * add some more comments to server.c git-svn-id: file:///home/lennart/svn/public/avahi/trunk@871 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe
* * rename all limit defs so that they end with _MAXLennart Poettering2005-10-241-11/+11
| | | | | | | * fix some minor typos git-svn-id: file:///home/lennart/svn/public/avahi/trunk@863 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe
* * reorder some things during server initializationLennart Poettering2005-10-241-23/+19
| | | | git-svn-id: file:///home/lennart/svn/public/avahi/trunk@859 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe
* * remove AVAHI_PUBLISH_IS_PROXY, it was a bad ideaLennart Poettering2005-10-181-14/+70
| | | | | | | | | | | * drop avahi_service_is_service_local(), avahi_client_is_service_local() * add new lookup result flags AVAHI_LOOKUP_RESULT_OUR_OWN and AVAHI_LOOKUP_RESULT_LOCAL * remove avahi_address_resolver_new() and replace it by avahi_address_resolver_new_a() * avahi-client: save query data in browse/resolve objects so that we can return it on failure * other cleanups git-svn-id: file:///home/lennart/svn/public/avahi/trunk@811 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe
* rename server.h to internal.hLennart Poettering2005-10-171-1/+1
| | | | git-svn-id: file:///home/lennart/svn/public/avahi/trunk@804 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe
* * move unicast DNS server registration/browsing routines to their own header ↵Lennart Poettering2005-10-171-8/+3
| | | | | | | | | | | dns-srv-rr.h * remove some unused functions * unexport some functions * other cleanups git-svn-id: file:///home/lennart/svn/public/avahi/trunk@803 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe
* split entry and entry-group management stuff off to its own file entry.cLennart Poettering2005-10-171-1178/+9
| | | | git-svn-id: file:///home/lennart/svn/public/avahi/trunk@796 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe
* Rename "AvahiAnnouncement" to "AvahiAnnouncer" to match AvahiQuerierLennart Poettering2005-10-171-1/+1
| | | | git-svn-id: file:///home/lennart/svn/public/avahi/trunk@794 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe
* * implement record updating through the new flags AVAHI_PUBLISH_UPDATELennart Poettering2005-10-171-35/+181
| | | | | | | | * add new helper function avahi_server_update_service_txt() to ease TXT record updating for services * other minor cleanups git-svn-id: file:///home/lennart/svn/public/avahi/trunk@790 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe
* add a (struct sockaddr*) cast to getsocknameLennart Poettering2005-10-121-2/+2
| | | | git-svn-id: file:///home/lennart/svn/public/avahi/trunk@743 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe
* small fix to allow creating server instances without passing a configuration ↵Lennart Poettering2005-10-121-1/+1
| | | | | | structure git-svn-id: file:///home/lennart/svn/public/avahi/trunk@741 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe
* Split off linux specific parts of iface.[ch] into iface-linux.[ch]. This shouldLennart Poettering2005-10-111-6/+6
| | | | | | | | ease porting to other platforms. Sebest, Lathiat this is for you! It Should simplify your porting work to *BSD/MacOSX/Solaris. git-svn-id: file:///home/lennart/svn/public/avahi/trunk@726 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe
* limit allowed flags to avahi_server_add_service_subtype()Lennart Poettering2005-10-111-1/+1
| | | | git-svn-id: file:///home/lennart/svn/public/avahi/trunk@719 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe
* * rename avahi_is_valid_service_type() to avahi_is_valid_service_type_generic()Lennart Poettering2005-10-111-8/+6
| | | | | | | | | * add avahi_is_valid_service_type_strict() which doesn't allow subtypes and other strange things to pass * fix protocol validity checks in server.c * add new API function avahi_get_type_from_subtype() git-svn-id: file:///home/lennart/svn/public/avahi/trunk@716 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe
* add support for service subtypes: avahi_server_add_service_subtype()Lennart Poettering2005-10-111-35/+63
| | | | git-svn-id: file:///home/lennart/svn/public/avahi/trunk@714 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe
* * rename avahi_service_name_snprint() to avahi_service_name_join()Lennart Poettering2005-10-101-26/+21
| | | | | | | | | | | | | | | | | | * add avahi_service_name_split() and make everything use it * change avahi_normalize_name() to work on a supplied buffer instead of malloc'ed memory. * add avahi_normalize_name_strdup() that retains the old behaviour avahi_normalize_name() * same thing for avahi_get_host_name()/avahi_get_host_name_strdup() * Rewrite domain name escaping and validity checking code * Remove superfluous memory allocationsfrom various browsers and do some other major cleanups * add new global macro AVAHI_CHECK_VALIDITY_RETURN_NULL() and modify many things to make use of it * add AVAHI_LABEL_MAX * patch everything to make use of AVAHI_LABEL_MAX and AVAHI_DOMAIN_NAME_MAX * add pretty printing for NS records * add partial pretty printing for SOA records * add many more validity checks to various user API functions git-svn-id: file:///home/lennart/svn/public/avahi/trunk@708 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe
* ### BACKPORT ### (only second point)Lennart Poettering2005-10-031-71/+40
| | | | | | | | * Make use of avahi_service_name_snprint() wherever it applies * Fix some potential memory leaks when avahi_server_add() fails git-svn-id: file:///home/lennart/svn/public/avahi/trunk@684 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe
* Add new flag AVAHI_PUBLISH_IS_PROXY and activate it for static services with ↵Lennart Poettering2005-09-291-7/+8
| | | | | | a host name set git-svn-id: file:///home/lennart/svn/public/avahi/trunk@658 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe
* reset the the commit throttling counter for entry groups 5s afer they have ↵Lennart Poettering2005-09-291-0/+16
| | | | | | been established successfully git-svn-id: file:///home/lennart/svn/public/avahi/trunk@651 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe
* * make all flags parameters UINT32 when marshalling for DBUSLennart Poettering2005-09-291-72/+137
| | | | | | | | | | | | | | | | | | | * rename AvahiEntryFlags to AvahiPublishFlags * add flags parameter to add_service() and friends * validity checking of flags, interface and protocol parameters of add_service() and friends * make AVAHI_VALID_FLAGS a global macro * add new flag AVAHI_PUBLISH_NO_REVERSE, if set address records will no be created with matching reverse lookup PTR RRs * add new flag AVAHI_PUBLISH_NO_COOKIE, for not implicitly adding the service cookie to TXT records * minor cleanups Yes, this will break the mono bindings. More breakages to come. NO_REVERSE and NO_COOKIE needs testing. Lathiat, I guess the new flag NO_REVERSE makes the immediate need to add a client side API to add arbitrary RRs obsolete for now. You might consider moving it in the TODO list to "later". git-svn-id: file:///home/lennart/svn/public/avahi/trunk@648 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe
* * add option to not enable SO_REUSEADDR for multicast sockets, effectively ↵Lennart Poettering2005-09-281-2/+3
| | | | | | | | | | disallow multiple mDNS stacks running simultaneously * add a config file option for this and enable it by default * remove some bad \n in log messages git-svn-id: file:///home/lennart/svn/public/avahi/trunk@646 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe
* * fix a bug found by Sebastien triggered be repeatedly resetting and ↵Lennart Poettering2005-09-281-6/+3
| | | | | | commiting an entry group git-svn-id: file:///home/lennart/svn/public/avahi/trunk@641 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe
* * Implement POOF aka "Passive Observation of Failure"Lennart Poettering2005-09-261-1/+4
| | | | git-svn-id: file:///home/lennart/svn/public/avahi/trunk@632 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe
* * split off lookup.h and publish.h from core.hLennart Poettering2005-09-251-31/+75
| | | | | | | | | | | | | * implement wide-area DNS-SD * if multiple clients query the same records, only start the query packet sequence once * implement recursive CNAME queries * add support for resolving services without TXT or A/AAAA records * enlarge resolving timeouts to 5s * implement new browse/resolving events CACHE_EXHAUSTED/ALL_FOR_NOW * add support for resolving services without name. (i.e. for normal SRV records) git-svn-id: file:///home/lennart/svn/public/avahi/trunk@608 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe
* Make AVAHI_PROTO_xxx well defined constantsLennart Poettering2005-09-161-13/+13
| | | | git-svn-id: file:///home/lennart/svn/public/avahi/trunk@595 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe
* add new public function avahi_server_is_service_local()Lennart Poettering2005-09-101-0/+66
| | | | git-svn-id: file:///home/lennart/svn/public/avahi/trunk@561 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe
* * add magic identification cookies to service TXT records automaticallyLennart Poettering2005-09-101-0/+29
| | | | | | | | | * add an API to query the local service cookie * add a DBUS interface to query the local service cookie * wrap that in avahi-client git-svn-id: file:///home/lennart/svn/public/avahi/trunk@555 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe
* Don't consider incoming goodbye packets as conflicting unless they match one ↵Lennart Poettering2005-08-281-1/+24
| | | | | | of our records git-svn-id: file:///home/lennart/svn/public/avahi/trunk@466 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe
* hide some filesLennart Poettering2005-08-231-36/+58
| | | | git-svn-id: file:///home/lennart/svn/public/avahi/trunk@422 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe
* fix memory corruption in avahi-testLennart Poettering2005-08-221-1/+0
| | | | git-svn-id: file:///home/lennart/svn/public/avahi/trunk@398 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe
* * fix memory corruption bug in reflection engineLennart Poettering2005-08-211-1/+2
| | | | git-svn-id: file:///home/lennart/svn/public/avahi/trunk@385 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe
* * fix local conflict detection algorithmLennart Poettering2005-08-211-7/+6
| | | | git-svn-id: file:///home/lennart/svn/public/avahi/trunk@382 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe
* * Add avahi-client examples to doxygenLennart Poettering2005-08-201-0/+1
| | | | | | | * tighten avahi-core default #includes a bit git-svn-id: file:///home/lennart/svn/public/avahi/trunk@365 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe
* Fix no network interface bug reported by LathiatLennart Poettering2005-08-141-0/+4
| | | | git-svn-id: file:///home/lennart/svn/public/avahi/trunk@316 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe
* * doxygen documentation updatesLennart Poettering2005-08-141-1/+1
| | | | | | | | * make AvahiPoll objects const * make poll() functions pluggable in AvahiSimplePoll git-svn-id: file:///home/lennart/svn/public/avahi/trunk@314 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe
* * allow SRV records with port == 0 (for flagship naming)Lennart Poettering2005-08-141-6/+3
| | | | git-svn-id: file:///home/lennart/svn/public/avahi/trunk@312 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe
* Rename some server side objects/symbols so that they do not conflict with ↵Lennart Poettering2005-08-131-61/+61
| | | | | | the same things on the client side. i.e. AvahiEntryGroup -> AvahiSEntryGroup git-svn-id: file:///home/lennart/svn/public/avahi/trunk@310 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe