Merge lp://staging/~martin-v/zodb/ipv6 into lp://staging/zodb
Status: | Needs review |
---|---|
Proposed branch: | lp://staging/~martin-v/zodb/ipv6 |
Merge into: | lp://staging/zodb |
Diff against target: |
173 lines (+71/-5) 6 files modified
doc/zeo.txt (+3/-0) src/ZEO/tests/ConnectionTests.py (+16/-0) src/ZEO/tests/testZEO.py (+2/-2) src/ZEO/zrpc/client.py (+14/-2) src/ZEO/zrpc/server.py (+32/-1) src/ZEO/zrpc/smac.py (+4/-0) |
To merge this branch: | bzr merge lp://staging/~martin-v/zodb/ipv6 |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Jim Fulton | Approve | ||
Hanno Schlichting | Pending | ||
Christian Theune | Pending | ||
Review via email: mp+35945@code.staging.launchpad.net |
Description of the change
This adds IPv6 support to ZEO. It relies on the ZConfig changes in https:/
On the server side, the major change is the interpretation of listen addresses. '' now indicates wild-card-
On the client side, there are two major changes:
- IPv6 addresses can now be specified, using [addr]:port (or ('addr', port) in the API).
- DNS usage has changed. The client RPC now looks up all addresses, in the order recommended by the operating system (i.e. through getaddrinfo). The resulting list is considered a sublist of the regular fail-over address list, i.e. all addresses are being contacted simultaneously, and the first one connecting is used. This was discussed with Christian Theune at the DZUG sprint.
As tests, the connection tests now include IPv6 versions of all tests.
The only other change to the tests was a doctest which now prints 127.0.0.1 instead of localhost.
Unmerged revisions
- 3958. By Martin v. Löwis
-
Only check for IPPROTO_IPV6 if socket creation succeeded.
Look for AttributeError, not NameError, when checking IPPROTO_IPV6 presence. - 3957. By Martin v. Löwis
-
Remove debugging code.
- 3956. By Martin v. Löwis
-
Adjust test case to display numeric IP instead of hostname.
- 3955. By Martin v. Löwis
-
Add IPv6 support.
> - DNS usage has changed. The client RPC now looks up all addresses, in
> the order recommended by the operating system (i.e. through
> getaddrinfo). The resulting list is considered a sublist of the
> regular fail-over address list, i.e. all addresses are being
> contacted simultaneously, and the first one connecting is used. This
> was discussed with Christian Theune at the DZUG sprint.
What is the rational for this?
Why would a user want this?