|
View:
New views
15 Messages
—
Rating Filter:
Alert me
|
|
|
#4187: Doesnt cope with bonjour contacts having multiple presence records#4187: Doesnt cope with bonjour contacts having multiple presence records
-------------------+-------------------------------------------------------- Reporter: sjoerd | Owner: datallah Type: defect | Status: new Priority: minor | Component: Bonjour Version: 2.3.0 | Keywords: Pending: 0 | -------------------+-------------------------------------------------------- When avahi's ipv6 support is turned on. telepathy-salut announces itself on both ipv4 and ipv6. When trying to talk to a pidgin client, pidgin then outputs the following: (14:08:37) bonjour: Received incoming connection from 192.168.0.42. (14:08:37) bonjour: We don't like invisible buddies, this is not a superheros comic When i turn of ipv6 off on the host running salut. Everything works fine. My guess would be that pidgin only picks up the ipv6 record if it's available (probably because that's resolved first by chance) and then refuses connection coming from ipv4 because it doesn't know about that ip address -- Ticket URL: <http://developer.pidgin.im/ticket/4187> Pidgin <http://pidgin.im> Pidgin _______________________________________________ Tracker mailing list Tracker@... http://pidgin.im/cgi-bin/mailman/listinfo/tracker |
|
|
Re: #4187: Doesnt cope with bonjour contacts having multiple presence records#4187: Doesnt cope with bonjour contacts having multiple presence records
----------------------+----------------------------------------------------- Reporter: sjoerd | Owner: datallah Type: defect | Status: new Priority: minor | Milestone: Component: Bonjour | Version: 2.3.0 Resolution: | Keywords: Pending: 0 | ----------------------+----------------------------------------------------- Comment (by datallah): Your analysis is exactly right - this wont occur anymore in the case where there are both an IPv6 and an IPv4 address announced because Pidgin will now only listen for IPv4 connections. However, I think the same issue will still occur in the case with multiple IPv4 IPs advertising the same presence. I'm not sure what the best way to fix this is. Should we not try to use the resolved IP to determine who the incoming message is from? I don't particularly like the idea of just using the stream's "from" attribute to identify who is talking to us. -- Ticket URL: <http://developer.pidgin.im/ticket/4187#comment:1> Pidgin <http://pidgin.im> Pidgin _______________________________________________ Tracker mailing list Tracker@... http://pidgin.im/cgi-bin/mailman/listinfo/tracker |
|
|
Re: #4187: Doesnt cope with bonjour contacts having multiple presence records#4187: Doesnt cope with bonjour contacts having multiple presence records
----------------------+----------------------------------------------------- Reporter: sjoerd | Owner: datallah Type: defect | Status: new Priority: minor | Milestone: Component: Bonjour | Version: 2.3.0 Resolution: | Keywords: Pending: 0 | ----------------------+----------------------------------------------------- Comment (by sjoerd): You have to use both the ip address and the from attribute. Some implementations don't correctly set the from (For example iChat and older versions of Adium ), so in those cases you must use the ip to figure out who is talking to you by the ip address But that obviously if there are multiple contacts on one ip this doesn't work. So in those cases you will need to use the from attributes to figure out who is talking to you. Some implementations don't set the from on stream opening unfortunately, which means you might have to wait for the first stanza.. Salut copes with this as following. All _presence._tcp service are resolved. Services with the same service name are assumed to belong to the same contact. So one contact can have multiple services backing it and we use the service that was last updated for the contacts presence info and other properties. There are potential race conditions in this, but it's reasonable to assume that a contact will update all its services to the same info eventually. In telepathy-salut the following steps are taken when there is an incoming connections. 0) Look at the connections IP if no contacts have a presence on that ip ignore it (drop the connection). If there are one of more contacts, continue 1) Wait for the stream opening if there is a from and it matches one of the contacts on the IP assign that connection to that contact. If it doesn't match any of the contacts on the IP, ignore it. If there is no from continue 2) Wait for the first stanza after the stream opening (skipping <stream:features /> if needed). If that stanza has a from and it matches a contact on the IP, then assign it. If it doesn't match any drop it. If there is no from and there is exactly one contact on the IP then assume it belongs to that contact. Doing it this way makes sure we have validated the contact if possible, while still coping with clients that don't follow the latest XEP revision. After a connection has been assigned to a contact we don't really use the from anymore, but assume all message come from the assigned contact (to prevent spoofing).. A futher addition might be to validate the from on each stanza and drop the connection when the remote end tries spoofing -- Ticket URL: <http://developer.pidgin.im/ticket/4187#comment:2> Pidgin <http://pidgin.im> Pidgin _______________________________________________ Tracker mailing list Tracker@... http://pidgin.im/cgi-bin/mailman/listinfo/tracker |
|
|
Re: #4187: Doesnt cope with bonjour contacts having multiple presence records#4187: Doesnt cope with bonjour contacts having multiple presence records
----------------------+----------------------------------------------------- Reporter: sjoerd | Owner: datallah Type: defect | Status: new Priority: minor | Milestone: Component: Bonjour | Version: 2.3.0 Resolution: | Keywords: Pending: 0 | ----------------------+----------------------------------------------------- Comment (by datallah@...): (In [46aa0a2d9a76892a9fd9aef671bef46f129e1e61]) Update Bonjour prpl to support multiple presence records for the same buddy. Eliminate the Howl backend to avoid having to maintain yet another set of code. References #4187 (more to come to fix the rest of the ticket). -- Ticket URL: <http://developer.pidgin.im/ticket/4187#comment:3> Pidgin <http://pidgin.im> Pidgin _______________________________________________ Tracker mailing list Tracker@... http://pidgin.im/cgi-bin/mailman/listinfo/tracker |
|
|
Re: #4187: Doesnt cope with bonjour contacts having multiple presence records#4187: Doesnt cope with bonjour contacts having multiple presence records
----------------------+----------------------------------------------------- Reporter: sjoerd | Owner: datallah Type: defect | Status: closed Priority: minor | Milestone: 2.3.2 Component: Bonjour | Version: 2.3.0 Resolution: fixed | Keywords: Pending: 0 | ----------------------+----------------------------------------------------- Changes (by datallah@...): * status: new => closed * resolution: => fixed * milestone: => 2.3.2 Comment: (In [e1e3e43c119da08c2f86638d37867881f3742d4c]) This is the second part of the fix to support having multiple presence records in Bonjour (and also supporting multiple presences using the same IP). Incoming conversations are no longer immediately attached to a buddy - we use an algorithm to match a conversation to a buddy based on the IP and, if possible the "from" attribute of the stream or the first tag in the stream. Thanks to Sjoerd Simons from Telepahy Salut for noticing and suggesting the algorithm. Fixes #4187. It'd be good if a few people test this. -- Ticket URL: <http://developer.pidgin.im/ticket/4187#comment:4> Pidgin <http://pidgin.im> Pidgin _______________________________________________ Tracker mailing list Tracker@... http://pidgin.im/cgi-bin/mailman/listinfo/tracker |
|
|
Re: #4187: Doesnt cope with bonjour contacts having multiple presence records#4187: Doesnt cope with bonjour contacts having multiple presence records
--------------------+------------------------------------------------------- Reporter: sjoerd | Owner: datallah Type: defect | Status: closed Milestone: 2.4.0 | Component: Bonjour Version: 2.3.0 | Resolution: fixed Keywords: | --------------------+------------------------------------------------------- Comment(by bj0): This Bug is marked as fixed, but this behavior is still present in 2.5.5 I have two computers on a LAN that share 3 subnets (2 LAN IPs on eth0, and one VPN subnet). All are ipv4, and it seems when Pidgin starts up it chooses one of the 3 IPs, and rejects messages that don't match. "We don't like invisible buddies, this is not a superheros comic " Appears in the debug window. Replying to [comment:1 datallah]: > Your analysis is exactly right - this wont occur anymore in the case where there are both an IPv6 and an IPv4 address announced because Pidgin will now only listen for IPv4 connections. > > However, I think the same issue will still occur in the case with multiple IPv4 IPs advertising the same presence. > > I'm not sure what the best way to fix this is. > > Should we not try to use the resolved IP to determine who the incoming message is from? I don't particularly like the idea of just using the stream's "from" attribute to identify who is talking to us. -- Ticket URL: <http://developer.pidgin.im/ticket/4187#comment:5> Pidgin <http://pidgin.im> Pidgin _______________________________________________ Tracker mailing list Tracker@... http://pidgin.im/cgi-bin/mailman/listinfo/tracker |
|
|
Re: #4187: Doesnt cope with bonjour contacts having multiple presence records#4187: Doesnt cope with bonjour contacts having multiple presence records
--------------------+------------------------------------------------------- Reporter: sjoerd | Owner: datallah Type: defect | Status: new Milestone: 2.4.0 | Component: Bonjour Version: 2.3.0 | Resolution: Keywords: | --------------------+------------------------------------------------------- Changes (by darkrain42): * status: closed => new * resolution: fixed => -- Ticket URL: <http://developer.pidgin.im/ticket/4187#comment:6> Pidgin <http://pidgin.im> Pidgin _______________________________________________ Tracker mailing list Tracker@... http://pidgin.im/cgi-bin/mailman/listinfo/tracker |
|
|
Re: #4187: Doesnt cope with bonjour contacts having multiple presence records#4187: Doesnt cope with bonjour contacts having multiple presence records
--------------------+------------------------------------------------------- Reporter: sjoerd | Owner: datallah Type: defect | Status: pending Milestone: 2.4.0 | Component: Bonjour Version: 2.3.0 | Resolution: Keywords: | --------------------+------------------------------------------------------- Changes (by darkrain42): * status: new => pending Comment: Please follow [wiki:TipsForBugReports the instructions] to get a debug log and attach it to this ticket. -- Ticket URL: <http://developer.pidgin.im/ticket/4187#comment:7> Pidgin <http://pidgin.im> Pidgin _______________________________________________ Tracker mailing list Tracker@... http://pidgin.im/cgi-bin/mailman/listinfo/tracker |
|
|
Re: #4187: Doesnt cope with bonjour contacts having multiple presence records#4187: Doesnt cope with bonjour contacts having multiple presence records
--------------------+------------------------------------------------------- Reporter: sjoerd | Owner: datallah Type: defect | Status: pending Milestone: 2.4.0 | Component: Bonjour Version: 2.3.0 | Resolution: Keywords: | --------------------+------------------------------------------------------- Comment(by bj0): Do you want a full debug log from startup? The only thing that really is shown in the debug log is what was already posted: (14:08:37) bonjour: Received incoming connection from 192.168.1.77 (14:08:37) bonjour: We don't like invisible buddies, this is not a superheros comic With the sending client sending to a different IP. For instance, both computers are on 10.23.0.0/24 with 10.23.0.2 and 10.23.0.3. they are also both on 192.168.1.0/24 with *.110 and *.77 The sender will say something like 'trying to send message to 10.23.0.2', but the reciever will recieve something like above. -- Ticket URL: <http://developer.pidgin.im/ticket/4187#comment:8> Pidgin <http://pidgin.im> Pidgin _______________________________________________ Tracker mailing list Tracker@... http://pidgin.im/cgi-bin/mailman/listinfo/tracker |
|
|
Re: #4187: Doesnt cope with bonjour contacts having multiple presence records#4187: Doesnt cope with bonjour contacts having multiple presence records
--------------------+------------------------------------------------------- Reporter: sjoerd | Owner: datallah Type: defect | Status: new Milestone: 2.4.0 | Component: Bonjour Version: 2.3.0 | Resolution: Keywords: | --------------------+------------------------------------------------------- Changes (by darkrain42): * status: pending => new Comment: Hmm, does bonjour log the raw data sent/received data (the way XMPP/Google Talk does)? If not, nevermind. -- Ticket URL: <http://developer.pidgin.im/ticket/4187#comment:9> Pidgin <http://pidgin.im> Pidgin _______________________________________________ Tracker mailing list Tracker@... http://pidgin.im/cgi-bin/mailman/listinfo/tracker |
|
|
Re: #4187: Doesnt cope with bonjour contacts having multiple presence records#4187: Doesnt cope with bonjour contacts having multiple presence records
--------------------+------------------------------------------------------- Reporter: sjoerd | Owner: datallah Type: defect | Status: new Milestone: 2.4.0 | Component: Bonjour Version: 2.3.0 | Resolution: Keywords: | --------------------+------------------------------------------------------- Comment(by bernmeister): darkrain: Can you flush the milestone please? -- Ticket URL: <http://developer.pidgin.im/ticket/4187#comment:10> Pidgin <http://pidgin.im> Pidgin _______________________________________________ Tracker mailing list Tracker@... http://pidgin.im/cgi-bin/mailman/listinfo/tracker |
|
|
Re: #4187: Doesnt cope with bonjour contacts having multiple presence records#4187: Doesnt cope with bonjour contacts having multiple presence records
--------------------+------------------------------------------------------- Reporter: sjoerd | Owner: datallah Type: defect | Status: new Milestone: | Component: Bonjour Version: 2.3.0 | Resolution: Keywords: | --------------------+------------------------------------------------------- Changes (by darkrain42): * milestone: 2.4.0 => -- Ticket URL: <http://developer.pidgin.im/ticket/4187#comment:11> Pidgin <http://pidgin.im> Pidgin _______________________________________________ Tracker mailing list Tracker@... http://pidgin.im/cgi-bin/mailman/listinfo/tracker |
|
|
Re: #4187: Doesnt cope with bonjour contacts having multiple presence records#4187: Doesnt cope with bonjour contacts having multiple presence records
--------------------+------------------------------------------------------- Reporter: sjoerd | Owner: datallah Type: defect | Status: new Milestone: | Component: Bonjour Version: 2.3.0 | Resolution: Keywords: | --------------------+------------------------------------------------------- Comment(by bj0): It doesn't look like it shows raw data unless it actually succeeds. The only thing it shows is the 'connect to...' and 'recieved incoming connection...' and then the 'invisible buddies'. I'm not on the computers where I can test this right now though. -- Ticket URL: <http://developer.pidgin.im/ticket/4187#comment:12> Pidgin <http://pidgin.im> Pidgin _______________________________________________ Tracker mailing list Tracker@... http://pidgin.im/cgi-bin/mailman/listinfo/tracker |
|
|
Re: #4187: Doesnt cope with bonjour contacts having multiple presence records#4187: Doesnt cope with bonjour contacts having multiple presence records
--------------------+------------------------------------------------------- Reporter: sjoerd | Owner: datallah Type: defect | Status: new Milestone: | Component: Bonjour Version: 2.3.0 | Resolution: Keywords: | --------------------+------------------------------------------------------- Comment(by datallah): Here is some additional debug information (hopefully more will follow): Sender: {{{ (14:24:50) bonjour: Starting conversation with zac@lab01 (14:24:50) dns: DNS query for '10.23.0.2' queued (14:24:50) dnsquery: IP resolved for 10.23.0.2 (14:24:50) proxy: Attempting connection to 10.23.0.2 (14:24:50) proxy: Connecting to 10.23.0.2:5298 with no proxy (14:24:50) proxy: Connection in progress (14:24:50) proxy: Connecting to 10.23.0.2:5298. (14:24:50) proxy: Connected to 10.23.0.2:5298. (14:24:50) bonjour: Connection closed (without stream end) by zac@lab01. (14:24:50) bonjour: Recieved conversation close notification from zac@lab01. }}} Receiver: {{{ (14:24:48) bonjour: Received incoming connection from 10.23.0.3. (14:24:48) bonjour: We don't like invisible buddies, this is not a superheros comic }}} -- Ticket URL: <http://developer.pidgin.im/ticket/4187#comment:13> Pidgin <http://pidgin.im> Pidgin _______________________________________________ Tracker mailing list Tracker@... http://pidgin.im/cgi-bin/mailman/listinfo/tracker |
|
|
Re: #4187: Doesnt cope with bonjour contacts having multiple presence records#4187: Doesnt cope with bonjour contacts having multiple presence records
--------------------+------------------------------------------------------- Reporter: sjoerd | Owner: datallah Type: defect | Status: new Milestone: | Component: Bonjour Version: 2.3.0 | Resolution: Keywords: | --------------------+------------------------------------------------------- Comment(by datallah): The remaining issue appears to be an avahi issue related to having multiple IPs on a single interface [http://avahi.org/ticket/288 Avahi Ticket #288]. -- Ticket URL: <http://developer.pidgin.im/ticket/4187#comment:14> Pidgin <http://pidgin.im> Pidgin _______________________________________________ Tracker mailing list Tracker@... http://pidgin.im/cgi-bin/mailman/listinfo/tracker |
| Free embeddable forum powered by Nabble | Forum Help |