summaryrefslogtreecommitdiffstats
path: root/avahi-core/iface.c
Commit message (Collapse)AuthorAgeFilesLines
* * may fix a compile problem on freebsd 4.xSebastien Estienne2005-11-271-1/+1
| | | | git-svn-id: file:///home/lennart/svn/public/avahi/trunk@1037 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe
* * when calculating a random jitter time for time events, use the same jitter inLennart Poettering2005-11-161-19/+4
| | | | | | | | | | | | | 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
* deal better with mcast management and disappearing IP addressesLennart Poettering2005-11-141-4/+10
| | | | git-svn-id: file:///home/lennart/svn/public/avahi/trunk@965 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe
* don't fail if leaving a multicast group failsLennart Poettering2005-11-141-7/+4
| | | | git-svn-id: file:///home/lennart/svn/public/avahi/trunk@963 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe
* * Make "NameAcquired" warning line disappear in avahi-clientLennart Poettering2005-11-131-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-5/+5
| | | | | | | * Reword some misleading log messages git-svn-id: file:///home/lennart/svn/public/avahi/trunk@939 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe
* rework and cleanup socket handling to improve support for OS that don't ↵Lennart Poettering2005-11-031-3/+27
| | | | | | support a SO_RECVIF equivalent git-svn-id: file:///home/lennart/svn/public/avahi/trunk@923 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe
* * Always specfify the local IP address when joining mcast groups. This ↵Lennart Poettering2005-11-011-25/+91
| | | | | | increases compatibility with *BSD and is smoother on other systems, too git-svn-id: file:///home/lennart/svn/public/avahi/trunk@921 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe
* * many trivial fix to make avahi compile on OpenBSDSebastien Estienne2005-10-281-1/+3
| | | | git-svn-id: file:///home/lennart/svn/public/avahi/trunk@903 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe
* handle architectures that miss "struct ip_mreq" betterLennart Poettering2005-10-201-8/+27
| | | | git-svn-id: file:///home/lennart/svn/public/avahi/trunk@832 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe
* * Add custom user-specific configure flags to bootstrap.shTrent Lloyd2005-10-171-3/+3
| | | | | | | | | | | | * Add new constant AVAHI_ADDRESS_STR_MAX for use with avahi_address_snprint arr ays * Update all our code to use AVAHI_ADDRESS_STR_MAX * Add avahi_client_add_address to avahi-client * Add avahi_client_add_address test to avahi-client git-svn-id: file:///home/lennart/svn/public/avahi/trunk@800 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe
* Rename "AvahiAnnouncement" to "AvahiAnnouncer" to match AvahiQuerierLennart Poettering2005-10-171-2/+2
| | | | 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-2/+2
| | | | | | | | * 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
* remove uneeded asm/types.h inclusionLennart Poettering2005-10-111-1/+0
| | | | git-svn-id: file:///home/lennart/svn/public/avahi/trunk@729 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe
* Split off linux specific parts of iface.[ch] into iface-linux.[ch]. This shouldLennart Poettering2005-10-111-322/+134
| | | | | | | | 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
* * make all flags parameters UINT32 when marshalling for DBUSLennart Poettering2005-09-291-2/+2
| | | | | | | | | | | | | | | | | | | * 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
* * split off lookup.h and publish.h from core.hLennart Poettering2005-09-251-6/+17
| | | | | | | | | | | | | * 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-14/+14
| | | | git-svn-id: file:///home/lennart/svn/public/avahi/trunk@595 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe
* Match rr_pending increases/decreases. Fixed crash (assert rr_pending>0) Jakub Stachowski2005-09-061-1/+2
| | | | | | | when running dhclient after bringing interface down. git-svn-id: file:///home/lennart/svn/public/avahi/trunk@519 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe
* * Withdraw addresses if interface is not considered relevantLennart Poettering2005-08-281-1/+2
| | | | git-svn-id: file:///home/lennart/svn/public/avahi/trunk@471 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe
* * Change order of relevancy checks and RR updating for new/removed interfacesLennart Poettering2005-08-281-2/+2
| | | | git-svn-id: file:///home/lennart/svn/public/avahi/trunk@469 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe
* * postpone address registration until all addresses have been discoveredLennart Poettering2005-08-281-14/+24
| | | | git-svn-id: file:///home/lennart/svn/public/avahi/trunk@468 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe
* * First try to publish link local addresses in case they are the only ones ↵Lennart Poettering2005-08-281-6/+29
| | | | | | on the link git-svn-id: file:///home/lennart/svn/public/avahi/trunk@467 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe
* * be a little bit more verbose about published IP addressesLennart Poettering2005-08-281-0/+8
| | | | git-svn-id: file:///home/lennart/svn/public/avahi/trunk@464 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe
* hide some filesLennart Poettering2005-08-231-0/+18
| | | | git-svn-id: file:///home/lennart/svn/public/avahi/trunk@422 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 a bad memory access bug in avahi_strndup()Lennart Poettering2005-08-151-1/+1
| | | | | | | | * some small optimizations to call gettimeofday() less often * fix dbus-watch-glue to call dbus_connection_dispatch() git-svn-id: file:///home/lennart/svn/public/avahi/trunk@333 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe
* * add resource limit enforcement to the daemonLennart Poettering2005-08-141-2/+2
| | | | | | | * add ne options --no-rlimits, --no-drop-root, --syslog and --debug git-svn-id: file:///home/lennart/svn/public/avahi/trunk@311 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe
* Rename some server side objects/symbols so that they do not conflict with ↵Lennart Poettering2005-08-131-16/+16
| | | | | | 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
* * strip glib from avahi-coreLennart Poettering2005-08-131-145/+188
| | | | | | | | | | | | | | * implement glib memory allocator * add new documentation file MALLOC * initialize pseudo-RNG from /dev/urandom in avahi-daemon * remove some gcc 4.0 warnings * beef up watch system with real timeouts * move GCC __attribute__ macros into its own header avahi-common/gccmacro.h * make use of GCC's sentinel attribute where it make sense * add malloc() implementations that abort on OOM and enable them by default git-svn-id: file:///home/lennart/svn/public/avahi/trunk@308 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe
* * add C examplesLennart Poettering2005-08-031-15/+30
| | | | | | | | | | * change doxygen to output stuff in "doxygen/" instead of "doxygen-doc/" * implement avahi_entry_group_{reset,is_empty}() and make everyone use it * move holdoff (SLEEPING) time checking from server to entry group * add preliminary error codes git-svn-id: file:///home/lennart/svn/public/avahi/trunk@216 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe
* * allow caller to specifiy additional CFLAGS arguments to bootstrap.shLennart Poettering2005-08-021-26/+27
| | | | | | | * fix some warnings (and some real errors) found when compiling avahi with excessive GCC warnings git-svn-id: file:///home/lennart/svn/public/avahi/trunk@209 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe
* * add new tool avahi-publish-addressLennart Poettering2005-07-301-4/+5
| | | | | | | | | | | | * avahi-publish-service: fail after 12 collisions * avahi-daemon: dump record data on SIGUSR1 to syslog * avahi-core: * improve dumping API * shorten response history time to 500ms, infriniging the RFC but fixing ping-pong behaviour on RR registration * remove gcc warning git-svn-id: file:///home/lennart/svn/public/avahi/trunk@195 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe
* * swap order of "type" and "name" arguments of avahi_server_add_service() ↵Lennart Poettering2005-07-271-1/+1
| | | | | | and friends git-svn-id: file:///home/lennart/svn/public/avahi/trunk@179 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe
* * Change timeval arithmetic functions to use 64bit integers. This fixes some ↵Lennart Poettering2005-07-191-4/+3
| | | | | | problems with long lived queries git-svn-id: file:///home/lennart/svn/public/avahi/trunk@170 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe
* * implement new source address check mechanismsLennart Poettering2005-06-241-22/+71
| | | | | | | | | | * introduce new types AvahiIfIndex and AvahiProtocol to abstract underlying OS structures a bit * document string list, address and other stuff * implement qclass = ANY queries * don't make use of UTF8 collation as RFC mandates git-svn-id: file:///home/lennart/svn/public/avahi/trunk@144 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe
* * Update configure.ac to check for the availabilty of more functionsLennart Poettering2005-06-211-4/+12
| | | | | | | | | | | * really return sensible error codes from avahi_server_add_xx() * make all users of avahi_server_add_xxx() check for the validity * check for local RR conflicts * only suppress local queries by remote queries if they have an empty known answer suppresion list * fix FIONREAD call git-svn-id: file:///home/lennart/svn/public/avahi/trunk@136 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe
* * rename the configuration variables register_xxx and announce_xxx to ↵Lennart Poettering2005-06-181-2/+2
| | | | | | | | | | publish_xxx * implement command line parsing and configuration file parsing * implement daemonizing support (partially) git-svn-id: file:///home/lennart/svn/public/avahi/trunk@127 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe
* * add logging API and make all code make use of itLennart Poettering2005-06-111-8/+9
| | | | git-svn-id: file:///home/lennart/svn/public/avahi/trunk@112 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe
* * improve avahi-discover GUILennart Poettering2005-06-031-0/+1
| | | | | | | * if a new interface becomes available, reissue all queries git-svn-id: file:///home/lennart/svn/public/avahi/trunk@94 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe
* * add support for _workstation._tcpLennart Poettering2005-06-031-6/+50
| | | | | | | * really fix #3455 git-svn-id: file:///home/lennart/svn/public/avahi/trunk@93 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe
* * implement reflection (including legacy unicast reflection)Lennart Poettering2005-06-031-0/+14
| | | | | | | * implement a history in the probe scheduler git-svn-id: file:///home/lennart/svn/public/avahi/trunk@92 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe
* * rename AvahiSubscription to AvahiRecordResolverLennart Poettering2005-05-201-4/+1
| | | | | | | * implement AvahiHostNameResolver git-svn-id: file:///home/lennart/svn/public/avahi/trunk@80 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe
* * add new server state AVAHI_SERVER_SLEEPING to avoid conflicts by own responsesLennart Poettering2005-05-201-14/+33
| | | | | | | | | | | | | * Honour TC bit in incoming packets by responding immediately to packets * publish browse domain * Fix a structure size issue in iface.c revealed by running avahi on Linux 2.4 * Don't depend on IFF_RUNNING * Require a global IP addresses to consider an interface relevant * Linux 2.4 compatiblity * fix parsing of TTL from recvmsg() git-svn-id: file:///home/lennart/svn/public/avahi/trunk@79 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe
* Add support for server state change callbacksLennart Poettering2005-05-201-17/+36
| | | | git-svn-id: file:///home/lennart/svn/public/avahi/trunk@78 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe
* add a new structure for configuration AvahiServerConfigLennart Poettering2005-05-191-1/+1
| | | | git-svn-id: file:///home/lennart/svn/public/avahi/trunk@76 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe
* * split packet scheduler into three seperate partsLennart Poettering2005-05-171-8/+15
| | | | | | | | | * test against Aplle test suit, most tests pass now * suppress auxiliary records by known answers * handle very large records git-svn-id: file:///home/lennart/svn/public/avahi/trunk@74 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe
* * case insensitive name comparisonsLennart Poettering2005-05-161-5/+6
| | | | | | | | | | | | | | * corectly handle RRsets * make addresses unique * return to probe state on conflict * a bunch of fixes detected while testing against the Apple Bonjour Conformance Test * a fix in avahi_record_lexicographical_cmp() regarding TXT records * API for choosing alternative host and service names * remove a bunch of unused crap from cache.c and server.c * flush cache when an interface becomes unavailable git-svn-id: file:///home/lennart/svn/public/avahi/trunk@72 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe
* * add auxiliary records to packetLennart Poettering2005-05-111-2/+2
| | | | | | | | * reeimplement known answer suppression and add it for unicast packets * fix a valist bug when adding services to a server git-svn-id: file:///home/lennart/svn/public/avahi/trunk@68 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe
* * abstract MTU stuff for packet generationLennart Poettering2005-05-101-15/+34
| | | | | | | | * unicast response support * legacy unicast support git-svn-id: file:///home/lennart/svn/public/avahi/trunk@66 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe