Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Identify the Bug or Feature request
closes #4049 because timing out is guaranteed using CompletableFutures.
closes #4902 because jupnp filters interfaces and addresses by whether they are non-loopback IPv4.
closes #5123
Description of the Change
This replaces the implementation of UPnPUtil from upnplib to jupnp.
Considered implementations were:
Possible Drawbacks
jupnp is licensed CDDL. The top answer on https://opensource.stackexchange.com/questions/2094/are-cddl-and-gpl-really-incompatible argues that linking to CDDL from GPL is fine on the grounds that distributing an application's bundled libraries is a combined work and only requires that parts remain available under their original licenses.
This sounds reasonable to me, but there is not currently a dependency on any CDDL Jars.
javax.ws.rs
has a few libraries that are CDDL licensed butjavax.ws.rs-api
is not one of them, and the only other CDDL licensed library wasjavax.servlet:servlet-api
which is dual-licensed GPL and CDDL so is compatible as GPL.Release Notes
This change is