summaryrefslogtreecommitdiffstats
path: root/avahi-core
Commit message (Collapse)AuthorAgeFilesLines
* iface: look for both IFA_ADDRESS and IFA_LOCALLennart Poettering2011-04-021-8/+29
| | | | | http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=617948 http://avahi.org/ticket/333
* general: various smaller fixesLennart Poettering2011-04-021-0/+1
|
* core: avahi on Linux uses incorrect address for P-t-P interfaceMatt Ginzton2011-03-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Hi, I sent a less knowledgeable question about avahi-daemon and point-to-point links a few days ago, http://lists.freedesktop.org/archives/avahi/2011-January/001969.html. When I didn't get a response to this, I decided to build avahi from source and step through it and see how it builds its list of interfaces and their addresses. This is in iface-linux.c, netlink_callback(). It looks for a RTM_NEWADDR message, then extracts the payload of type IFA_ADDRESS. Short story: I think it should be using the payload of type IFA_LOCAL, not the payload of type IFA_ADDRESS. In the VM where I was running these experiments, there are 3 interfaces -- lo, eth0 and tun0. I printed out the IFA_ADDRESS and IFA_LOCAL for all 3 of these; for lo and eth0 these are the same address; for tun0 (IFF_POINTOPOINT), IFA_ADDRESS is the remote end and IFA_LOCAL is the local end. I'm no expert on Linux rtnetlink or these IFA fields, but quoting /usr/include/linux/if_addr.h: /* * Important comment: * IFA_ADDRESS is prefix address, rather than local interface address. * It makes no difference for normally configured broadcast * interfaces, * but for point-to-point IFA_ADDRESS is DESTINATION address, * local address is supplied in IFA_LOCAL attribute. */ See also this stackoverflow question/answer: http://stackoverflow.com/questions/4678637/what-is-difference-between-ifa-local-and-ifa-address-in-rtnetlink-linux Does anyone know why avahi is looking for IFA_ADDRESS here, and whether there's any reason not to use IFA_LOCAL instead? Assuming there's not a specific reason to use IFA_ADDRESS here, I propose the patch attached at the end of this message, which works for me. (The bug this fixes is described in the earlier message linked above -- avahi chooses the wrong address to associate with the P-t-P interface, and if you enable avahi's reflector, avahi tries to call sendmsg() using that as the source address and the kernel always, correctly, fails the sendmsg() call with EINVAL.) (And when/why this changed -- I was able to use avahi over P-t-P interfaces on Linux several years ago; I don't know what avahi version I was using at the time.) thanks, Matt
* reflector: cache entry link-local addresses filterFrançois-Xavier Bourlet2011-03-081-0/+8
| | | | Do not reflect cache entry with ipv6 link-local addresses on query.
* socket: Still read corrupt packets from the socketsVincent Untz2011-02-181-10/+11
| | | | | | | Else, we end up with an infinite loop with 100% CPU. http://www.avahi.org/ticket/325 https://bugzilla.redhat.com/show_bug.cgi?id=667187
* netlink: fix wrong use of netlink flags for dump operationsPablo Neira Ayuso2011-02-181-1/+1
| | | | | | | | | The avahi-daemon uses a wrong flag combination to operate with rtnetlink. This patch fixes the problems. No need to set NLM_F_ACK since the dump operation already includes the trailing NLMSG_DONE message that informs about the end of the dump operation.
* core: implement packet rate limiting and enable it by defaultLennart Poettering2010-06-295-0/+34
|
* core: fix potential crash on service name collisionPatrick Oppenlander2010-06-293-2/+31
| | | | | | | | | | | | | If there is a service name collision and the entry group callback calls avahi_s_entry_group_reset or avahi_s_entry_group free on the group in question, the entries were released. This could cause a crash in withdraw_rrset as it is walking a list of entries at this time. The fix for this issue is to schedule a cleanup event to clean up entries after a a short timeout (currently one second). If a cleanup occurs for any other reason the event is cancelled. http://avahi.org/ticket/302
* core: fix counting of workstation services that are in the process of being ↵Lennart Poettering2010-06-282-3/+7
| | | | | | registered Fixes http://avahi.org/ticket/276
* core: don't warn if we try to remove a querier that is already goneLennart Poettering2010-06-281-4/+3
| | | | | | This might happen if an iface goes away while we are querying. http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=548952
* core: properly unescape host name before using it in the workstation serviceLennart Poettering2010-06-281-2/+4
|
* core: don't check ARCOUNT to avoid incompatibility with EDNS0Lennart Poettering2010-06-281-4/+3
| | | | | | | | Newer Bonjour implementations add EDNS0 extensions to the query packets. We currently consider those corrupted or invalid. This patch drops the check, and accepts them as valid. http://avahi.org/ticket/284
* iface: check for IFA_F_DEPRECATEDLennart Poettering2010-06-283-14/+14
| | | | http://avahi.org/ticket/211
* core: always normalize configure host/domain nameLennart Poettering2010-06-281-10/+11
|
* socket: ignore EINTR on sendmsg()Lennart Poettering2010-06-251-0/+3
|
* limits: considerably bump up limits, since users can now easily lower them ↵Lennart Poettering2010-06-251-1/+1
| | | | again and some applications need the high values
* daemon: make internal limits configurableLennart Poettering2010-06-253-6/+5
|
* core: Don't ignore records with link-local addresssTommaso Colombo2010-06-251-4/+3
| | | | | | | | Fix a regression introduced by commit 2ea7e99ed0dcfd371fef5aeecd3de77da1dfcd4f that caused the mDNS response handler to completely ignore records with link-local addresses. Fixes #300
* get rid of a lot of old svn cruftLennart Poettering2010-06-2576-152/+0
|
* socket: ignore packet if FIONREAD returns zeroLudwig Nussel2010-06-251-0/+8
| | | | | | zero size is reported for corrupt packets. recvmsg() later could nevertheless get data from a good packet that followed the bad one. So get out early to avoid hitting an assertion.
* build-sys: make things more quietLennart Poettering2010-06-252-4/+4
|
* from now on we enforce a strict whitespace regimeLennart Poettering2010-06-2569-1113/+1113
|
* core: Bug fixes for cleanup codeLennart Poettering2009-11-143-10/+7
| | | | | | Patch contributed by "oc3an". http://avahi.org/ticket/267
* core: fix assertion side effectPatrick Oppenlander2009-11-141-1/+2
| | | | http://avahi.org/ticket/287
* fix minor typosLennart Poettering2009-06-081-1/+1
|
* reflector: Don't reflect link-local IPv4 or IPv6 addressesRob Leslie2009-04-196-49/+106
| | | | | | Modify avahi-daemon so that it doesn't advertise patently useless link-local addresses on the wrong interfaces when reflecting mDNS responses.
* CVE-2009-0758: Reflector creates packet storm on legacy unicast trafficRob Leslie2009-04-011-2/+2
| | | | Fixes rhbz #488314.
* Fix pfroute IPv6 codeLennart Poettering2008-12-121-9/+32
| | | | | | | | | | | | | | | Quoting Joe Marcus Clarke: "There are two problems in the iface-pfroute.c IPv6 detection code. The first is that the KAME stack embeds a scope ID into IPv6 addresses. This can cause certain hosts not to be able to recognize the address. The second is that global_scope is always set to 1 even for link-local addresses. The attached patch fixes both problems. The KAME fix was submitted by Hajimu UMEMOTO." Patch from Joe Marcus Clarke/Hajimu UMEMOTO.
* allow/deny interfaces supportLennart Poettering2008-12-123-65/+109
| | | | | | Original patch from Skinkie. Heavily modified by Lennart Poettering. Closes #212.
* explain which port it is that is invalidLennart Poettering2008-12-121-1/+1
|
* Don't get confused by UDP packets with a source port that is zeroLennart Poettering2008-12-121-0/+6
| | | | | | This is a fix for rhbz 475394. Problem identified by Hugo Dias.
* Include host in invalid packet messagesLennart Poettering2008-12-111-147/+151
| | | | | | Include the source host in warning messages about invalid packets. This is a result of rhbz #438013
* Make avahi compile on GNU/Hurd. Patch by Samuel Thibault.Sjoerd Simons2008-06-242-4/+37
|
* Don't use -export-dynamic as a linker flagSjoerd Simons2008-06-241-1/+1
|
* add .gitignore filesLennart Poettering2008-06-181-0/+17
|
* Make the poof algorithm only positive if 4 unanswered queries eachSjoerd Simons2008-01-283-6/+20
| | | | | | | | | at least one second apart are observed. This reduces the likelyhood of false positives a lot. git-svn-id: file:///home/lennart/svn/public/avahi/trunk@1746 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe
* fix detection whether an interface has a routable address assigned on BSD. ↵Lennart Poettering2007-12-161-1/+5
| | | | | | Patch from zml. Closes #166 git-svn-id: file:///home/lennart/svn/public/avahi/trunk@1591 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe
* work around yet another bsd limitation: prefer IP_MULTICAST_IF over ↵Lennart Poettering2007-12-161-9/+9
| | | | | | IP_SENDSRCADDR. Patch from zml. Closes #163 git-svn-id: file:///home/lennart/svn/public/avahi/trunk@1590 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe
* fix usage of CMSG macros to fix portability to 64 systems. Identified by ↵Lennart Poettering2007-10-261-101/+95
| | | | | | David C Thompson git-svn-id: file:///home/lennart/svn/public/avahi/trunk@1560 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe
* Spelling/grammar corrections (all trivial)Ted Percival2007-09-283-5/+5
| | | | git-svn-id: file:///home/lennart/svn/public/avahi/trunk@1544 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe
* * Fix a few typos of error message, thansk to tedp (Ref: Debian #444235)Trent Lloyd2007-09-271-16/+16
| | | | git-svn-id: file:///home/lennart/svn/public/avahi/trunk@1543 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe
* add new API function avahi_server_set_browse_domains() to avahi-coreLennart Poettering2007-08-122-0/+29
| | | | git-svn-id: file:///home/lennart/svn/public/avahi/trunk@1513 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe
* make gcc shut up a little bit moreLennart Poettering2007-08-121-0/+1
| | | | git-svn-id: file:///home/lennart/svn/public/avahi/trunk@1509 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe
* remove redundant definitionLennart Poettering2007-08-121-2/+0
| | | | git-svn-id: file:///home/lennart/svn/public/avahi/trunk@1508 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe
* * Modify the local conflict detection to allow multiple identical Trent Lloyd2007-07-201-0/+5
| | | | | | | | | records, so it is consistent with the network conflict detection. This allows you to publish shared services from the same machine not just different machines. git-svn-id: file:///home/lennart/svn/public/avahi/trunk@1499 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe
* reindentLennart Poettering2007-07-111-11/+8
| | | | git-svn-id: file:///home/lennart/svn/public/avahi/trunk@1497 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe
* * Don't attempt to treat Known Answer records as potentially Trent Lloyd2007-07-101-5/+3
| | | | | | | conflicting records. git-svn-id: file:///home/lennart/svn/public/avahi/trunk@1496 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe
* FreeBSD portability fixes contributed by marcusLennart Poettering2007-07-101-0/+1
| | | | git-svn-id: file:///home/lennart/svn/public/avahi/trunk@1494 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe
* * Patch from Sjoerd Simons - if we shorten a DNS packet to remove records, ↵Trent Lloyd2007-07-072-0/+24
| | | | | | | | | | we must remove all compressed labels from the name table that are inside the removed section. Add avahi_dns_packet_cleanup_name_table and call in appropriate places where packet is shrunk. git-svn-id: file:///home/lennart/svn/public/avahi/trunk@1493 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe
* don't publish the service cookie by default anymore. It was a bad idea. We ↵Lennart Poettering2007-05-081-1/+1
| | | | | | should think of something better way to work around this problem. git-svn-id: file:///home/lennart/svn/public/avahi/trunk@1463 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe