[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
Re: [tor-bugs] #11820 [Obfsproxy]: circuit `NoneType` in obfs3 handshake callbacks
#11820: circuit `NoneType` in obfs3 handshake callbacks
---------------------------+-----------------
Reporter: asn | Owner: asn
Type: defect | Status: new
Priority: normal | Milestone:
Component: Obfsproxy | Version:
Resolution: | Keywords:
Actual Points: | Parent ID:
Points: |
---------------------------+-----------------
Comment (by infinity0):
15:24:07 <infinity0> asn: ah guarding close() is fine, i don't think it
will hide too much - in this case it wouldn't actually change anything
because self.circuit is None so it never reaches circuit.close()
I think we should do both (a) and (b) actually. An extension to (a) would
be in the form of documentation to advise "If you write a transport and
you want to access self.circut in *an asynchronous callback*, you always
have to check if it exists".
A further option in addition to the two above, which would be more code
but result in a nicer error message than "NoneType has no attribute
close", would be to turn BaseTransport.circuit into a @property, and have
a getter that throws an exception ("closed; did you access this inside a
callback?") if the underlying variable is None.
--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/11820#comment:2>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online
_______________________________________________
tor-bugs mailing list
tor-bugs@xxxxxxxxxxxxxxxxxxxx
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-bugs