Message117540
| Author |
vnebehaj |
| Recipients |
vnebehaj |
| Date |
2010年09月28日.18:35:43 |
| SpamBayes Score |
1.2031592e-05 |
| Marked as misclassified |
No |
| Message-id |
<1285698946.58.0.377750793336.issue9975@psf.upfronthosting.co.za> |
| In-reply-to |
| Content |
Module/socketmodule.c incorrectly treats both sockaddr_in6->sin6_flowinfo and sockaddr_in6->sin6_scope_id as signed integers. They are 32-bit unsigned integers (even though sin6_flowinfo is just 20 bits).
sin6_flowinfo also lacks the necessary endian conversions when an IPv6 sockaddr tuple is parsed or returned. This makes it difficult to deal with sockets using sin6_flowinfo and deviates from RFCs. With the use of a signed int it also makes impossible to use flowinfo values that are larger than 2^31 if converted to little endian byte order (socketmodule.c raising an overflow exception).
sin6_scope_id has meaning only on the local machine (as an interface index), thus no endian conversion is needed for it. |
|
History
|
|---|
| Date |
User |
Action |
Args |
| 2010年09月28日 18:35:46 | vnebehaj | set | recipients:
+ vnebehaj |
| 2010年09月28日 18:35:46 | vnebehaj | set | messageid: <1285698946.58.0.377750793336.issue9975@psf.upfronthosting.co.za> |
| 2010年09月28日 18:35:44 | vnebehaj | link | issue9975 messages |
| 2010年09月28日 18:35:44 | vnebehaj | create |
|