Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
M
miniupnp
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 10
    • Issues 10
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge Requests 2
    • Merge Requests 2
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
  • Operations
    • Operations
    • Incidents
    • Environments
  • Analytics
    • Analytics
    • CI / CD
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
  • Thomas Bernard
  • miniupnp
  • Issues
  • #315

Closed
Open
Opened Jul 05, 2020 by -@__

Allow IP address family to be configured separately for PCP/NAT-PMP and UPnP

ipv6_disable disables IPv6 for both PCP/NAT-PMP and UPnP. Is it possible to allow IP address family to be configured separately for PCP/NAT-PMP and UPnP? The reason is that PCP clients tend to be more compliant than UPnP clients, so while IPv6 often need to be disabled for non-compliant UPnP clients to work properly, PCP clients usually work fine with IPv6.

The configuration could be simplified to 4 booleans, something like enable_pcp_ipv4, enable_pcp_ipv6, enable_upnp_ipv4, enable_upnp_ipv6, this would be the most flexible design that could control IPv4/IPv6 for PCP/NAT-PMP and UPnP independently. The configuration to disable just UPnP IPv6 would be enable_pcp_ipv4=yes enable_pcp_ipv6=yes enable_upnp_ipv4=yes enable_upnp_ipv6=no

Existing options could be implemented as

  • ipv6_disable=yes would be equivalent to enable_pcp_ipv6=no enable_upnp_ipv6=no
  • enable_natpmp=no would be equivalent to enable_pcp_ipv4=no enable_pcp_ipv6=no
  • enable_upnp=no would be equivalent to enable_upnp_ipv4=no enable_upnp_ipv6=no

On a related issue, I don't know how force_igd_desc_v1 works and if IGDv1 for IPv6 exists, I wonder whether it would make sense to have separate IPv4 force_igd_desc_v1 and IPv6 force_igd_desc_v1, the intention is to allow both non-compliant IPv4-only UPnP IGDv1 clients to work properly and compliant IPv6 UPnP IGDv2 clients to use IGDv2 features.

Assignee
Assign to
None
Milestone
None
Assign milestone
Time tracking
None
Due date
None
Reference: miniupnp/miniupnp#315