aboutsummaryrefslogtreecommitdiff
path: root/src/mod_stun_disco.erl (unfollow)
Commit message (Collapse)AuthorFilesLines
2022-11-07Add details about XEP implementations to some protocol attributesBadlop1-1/+1
2022-02-11Update copyright year to 2022Badlop1-1/+1
2021-12-18mod_stun_disco: Fix parsing of IPv6 listenersHolger Weiss1-1/+1
Don't crash if `mod_stun_disco` is used with `offer_local_services` and an IPv6 listener has an explicit `ip:` address configured. Thanks to Daniel Kenzelmann for reporting the issue.
2021-09-14Update documentation to match the implemented options values (#3675)Badlop1-1/+1
2021-05-05Use the new 'note' field to annotate changes in 20.01..21.03Badlop1-1/+2
2021-01-27Update newest copyright year to 2021 (#3464)Badlop1-1/+1
2020-09-03Use include_lib() to include headers from dependencies (#3369)Stu Tomlinson1-1/+1
2020-07-11mod_stun_disco: Fix function specificationHolger Weiss1-1/+1
2020-06-19mod_stun_disco: Fix wording of log messageHolger Weiss1-1/+1
2020-06-01Use old http_uri, crypto and pg2 only with old Erlang/OTP (#3284)Badlop1-1/+1
2020-05-29Rename 'turn_v4_ip' and 'turn_v6_ip' optionsHolger Weiss1-14/+15
The 'turn_ipv4_address' and 'turn_ipv6_address' option names are probably more intuitive.
2020-05-19mod_stun_disco: Make 'services' example shorterHolger Weiss1-30/+0
Omit the 'tcp' and 'stuns' services from the list of example 'services' in the documentation. For typical use cases, those are less interesting than 'udp' and 'turns' services.
2020-05-19mod_stun_disco: Offer local IPv6 servicesHolger Weiss1-61/+102
Also announce local STUN/TURN services listening on IPv6 sockets (unless the 'offer_local_services' option is set to 'false').
2020-05-19ejabberd_stun: Support IPv6 for TURNHolger Weiss1-10/+10
The stun application now supports RFC 6156: TURN Extension for IPv6, and therefore needs separate IPv4 and IPv6 relay addresses.
2020-05-11mod_stun_disco: Bump credentials_lifetime defaultHolger Weiss1-13/+18
Increase the default lifetime of temporary credentials to 12 hours. ejabberd's built-in TURN server re-queries the temporary password from mod_stun_disco whenever a TURN client attempts to refresh an allocation, and mod_stun_disco will only return the password as long as the credentials didn't expire. Therefore, the credentials lifetime effectively limits the maximum lifetime of a TURN allocation when ejabberd's TURN service is used, so the default value shouldn't be too short.
2020-05-05mod_stun_disco: Log discovered services on startupHolger Weiss1-4/+4
If the 'offer_local_services' option isn't set to 'false', log an [info] message for each auto-discovered ejabberd_stun listener on startup (and on configuration reload).
2020-05-03mod_stun_disco: Remove unnecessary inclusionHolger Weiss1-2/+0
2020-05-03mod_stun_disco: Apply minor documentation cleanupsHolger Weiss1-4/+4
2020-04-30mod_stun_disco: Try to resolve listener addressHolger Weiss1-2/+28
In some IPv6-only networks, hostnames that have no AAAA record are resolved to an IPv6 address that's mapped to the host's IPv4 address. This allows the IPv6-only clients to communicate with IPv4-only services such as ejabberd's built-in STUN/TURN server. If STUN/TURN clients try to contact the IPv4 address directly rather than using the mapped IPv6 address, the connection will fail. Therefore, try to resolve the IP address of local ejabberd_stun services to the hostname and announce that hostname rather than the IP address if (and only if) the hostname resolves back to the original IP address, and not to any additional IPv4 or IPv6 address(es). This can (and should) be reverted once IPv6 support is added to ejabberd's built-in STUN/TURN server.
2020-04-28Support XEP-0215: External Service DiscoveryHolger Weiss1-0/+670
Add the 'mod_stun_disco' module, which allows XMPP clients to discover STUN/TURN services and to obtain temporary credentials for using them as per XEP-0215: External Service Discovery. The temporary credentials handed out to clients have the format described in: https://tools.ietf.org/html/draft-uberti-behave-turn-rest-00 Also add the new module to the example configuration file. Closes #2947.