Bug#994064: bullseye-pu: package python-eventlet/0.26.1-7
On 12/3/21 5:25 PM, Julien Cristau wrote:
> Control: tag -1 confirmed
>
> Hi Thomas,
>
> A couple of comments on the diff below, otherwise fine to go ahead.
>
> On Fri, Sep 10, 2021 at 09:50:25PM +0200, Thomas Goirand wrote:
>> diff -Nru python-eventlet-0.26.1/debian/greendns.orig.py python-eventlet-0.26.1/debian/greendns.orig.py
>> --- python-eventlet-0.26.1/debian/greendns.orig.py 2021-05-11 08:03:43.000000000 +0200
>> +++ python-eventlet-0.26.1/debian/greendns.orig.py 2021-09-10 21:42:12.000000000 +0200
>
> That looks odd, this file probably shouldn't be there?
This may look odd, but it's there on purpose. Look what's done in
override_dh_sphinxdoc: in debian/rules, and you may understand. The
debian/rules is doing some modifications to greendns.py so that the doc
can be built.
> [...]
>> diff -Nru python-eventlet-0.26.1/debian/greendns.py python-eventlet-0.26.1/debian/greendns.py
>> --- python-eventlet-0.26.1/debian/greendns.py 2021-05-11 08:03:43.000000000 +0200
>> +++ python-eventlet-0.26.1/debian/greendns.py 2021-09-10 21:42:12.000000000 +0200
> [...]
>> def tcp(q, where, timeout=DNS_QUERY_TIMEOUT, port=53,
>> @@ -794,7 +834,19 @@
>> @type source: string
>> @param source_port: The port from which to send the message.
>> The default is 0.
>> - @type source_port: int"""
>> + @type source_port: int
>> + @type ignore_unexpected: bool
>> + @param one_rr_per_rrset: If True, put each RR into its own
>> + RRset.
>> + @type one_rr_per_rrset: bool
>> + @param ignore_trailing: If True, ignore trailing
>> + junk at end of the received message.
>> + @type ignore_trailing: bool
>> + @param sock: the socket to use for the
>> + query. If None, the default, a socket is created. Note that
>> + if a socket is provided, it must be a nonblocking datagram socket,
>> + and the source and source_port are ignored.
>> + @type sock: socket.socket | None"""
>>
>> wire = q.to_wire()
>> if af is None:
>
> The doc for sock here looks like a copy/paste error from the udp case,
> and should be a TCP socket instead.
>
> Looks like
> https://github.com/eventlet/eventlet/blob/master/eventlet/support/greendns.py#L861
> still has it wrong.
>
>> @@ -810,7 +862,10 @@
>> destination = (where, port, 0, 0)
>> if source is not None:
>> source = (source, source_port, 0, 0)
>> - s = socket.socket(af, socket.SOCK_STREAM)
>> + if sock:
>> + s = sock
>> + else:
>> + s = socket.socket(af, socket.SOCK_STREAM)
>> s.settimeout(timeout)
>> try:
>> expiration = compute_expiration(dns.query, timeout)
I have to admit I don't really understand the above. :/
I just applied the patch that Filippo Giunchedi gave to me, and it
magically worked. (multiple users reported this)
> otherwise fine to go ahead.
Uploaded, thanks a lot, as this issue was really a huge concern for me.
Cheers,
Thomas Goirand (zigo)
Reply to: