syncthing/cmd
Maximilian 16db6fcf3d
lib/nat, lib/upnp: IPv6 UPnP support (#9010)
This pull request allows syncthing to request an IPv6
[pinhole](https://en.wikipedia.org/wiki/Firewall_pinhole), addressing
issue #7406. This helps users who prefer to use IPv6 for hosting their
services or are forced to do so because of
[CGNAT](https://en.wikipedia.org/wiki/Carrier-grade_NAT). Otherwise,
such users would have to configure their firewall manually to allow
syncthing traffic to pass through while IPv4 users can use UPnP to take
care of network configuration already.

### Testing

I have tested this in a virtual machine setup with miniupnpd running on
the virtualized router. It successfully added an IPv6 pinhole when used
with IPv6 only, an IPv4 port mapping when used with IPv4 only and both
when dual-stack (IPv4 and IPv6) is used.

Automated tests could be added for SOAP responses from the router but
automatically testing this with a real network is likely infeasible.

### Documentation

https://docs.syncthing.net/users/firewall.html could be updated to
mention the fact that UPnP now works with IPv6, although this change is
more "behind the scenes".

---------

Co-authored-by: Simon Frei <freisim93@gmail.com>
Co-authored-by: bt90 <btom1990@googlemail.com>
Co-authored-by: André Colomb <github.com@andre.colomb.de>
2023-12-11 07:36:18 +01:00
..
stcompdirs all: Remove crypto/md5 (#7493) 2021-03-17 22:22:49 +01:00
stcrashreceiver cmd/stcrashreceiver: Add metrics for diskstore inventory 2023-11-27 08:24:59 +01:00
stdisco all: Implement suture v4-api (#6947) 2020-11-17 13:19:04 +01:00
stdiscosrv cmd/stdiscorv: Expose build info in metrics 2023-11-14 09:31:53 +01:00
stevents cmd/stevents: Add command line argument for event type filtering. (#7226) 2020-12-22 22:10:26 +01:00
stfileinfo all: Implement variable sized blocks (fixes #4807) 2018-04-16 19:08:50 +01:00
stfinddevice lib: Removal global connection registry (#8254) 2022-04-09 16:04:56 +02:00
stfindignored all: Unused args, retvals, assignments (#7926) 2021-09-08 00:11:16 +02:00
stgenfiles all: Correct various typos (#8870) 2023-05-09 08:54:02 +02:00
strelaypoolsrv cmd/strelaypoolsrv: Update map tile URL (#8985) 2023-07-16 17:20:40 +02:00
strelaysrv lib/nat, lib/upnp: IPv6 UPnP support (#9010) 2023-12-11 07:36:18 +01:00
stsigtool all: Remove usage of deprecated io/ioutil (#7971) 2021-11-22 08:59:47 +01:00
stupgrades cmd/stupgrades: Serve friendlier URLs for upgrade assets (fixes #9033) 2023-08-09 21:01:15 +02:00
stvanity all: Use new Go 1.19 atomic types (#8772) 2023-02-07 12:07:34 +01:00
stwatchfile all: Remove crypto/md5 (#7493) 2021-03-17 22:22:49 +01:00
syncthing lib/config: Accept pre-hashed password (fixes #9123) (#9124) 2023-09-24 19:23:49 +02:00
ursrv cmd/ursrv: Add metrics for incoming reports 2023-11-27 08:24:59 +01:00
.gitignore Remove reprecated st* utils 2014-07-01 12:20:25 +02:00