Ticket #1798 (closed patch: fixed)

Opened 4 years ago

Last modified 3 years ago

IPv6 support for Parrot

Reported by: mstapelberg Owned by: dukeleto
Priority: normal Milestone:
Component: core Version: 2.8.0
Severity: medium Keywords: ipv6
Cc: Language:
Patch status: applied Platform: unix

Description

Extract from the commit message:

connect() and bind() use an Addrinfo PMC (contains multiple socket
addresses in the right order [RFC 3484]) instead of a Sockaddr PMC.
It is no longer necessary to create the socket before calling bind()
or connect() as both need to create sockets with the appropriate
address family on their own.

Also, the Sockaddr PMC internally uses a struct sockaddr_storage
in combination with a length field instead of an struct sockaddr_in.

This commit also implements the local_address and remote_address
methods for the Socket PMC. The Sockaddr PMC can now be converted
to string.

Attachments

0001-Implement-support-for-IPv6.patch Download (26.6 KB) - added by mstapelberg 4 years ago.

Change History

Changed 4 years ago by mstapelberg

Changed 4 years ago by dukeleto

Very exciting patch! I've talked with the author on #parrot and asked for some tests and additions to docs in the docs/ directory. After some tests are added, we should test this patch on a few platforms and if it works well, apply it!

Changed 4 years ago by dukeleto

  • owner set to dukeleto
  • status changed from new to assigned

Changed 4 years ago by dukeleto

  • patch set to applied

I've started a branch for this patch here:

 https://github.com/parrot/parrot/tree/tt1798_ipv6

Changed 3 years ago by dukeleto

  • status changed from assigned to closed
  • resolution set to fixed

This branch has been merged.

Note: See TracTickets for help on using tickets.