summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJens Georg <mail@jensge.org>2020-07-26 19:18:07 +0200
committerJens Georg <mail@jensge.org>2020-07-26 19:21:16 +0200
commit90948f5969d9820c819b931dedc90fafdfe5aec5 (patch)
tree70f1e296c5203ec2f8970721510f064335c72d86 /src
parentf4392bc13ba1de447c1a3e0f6a6a6ec26c609f72 (diff)
downloadrygel-90948f5969d9820c819b931dedc90fafdfe5aec5.tar.gz
rygel: Make it possible to enable IPv6
Whether or not IPv6 is working depends on the network manager in GUPnP
Diffstat (limited to 'src')
-rw-r--r--src/rygel/rygel-main.vala17
1 files changed, 16 insertions, 1 deletions
diff --git a/src/rygel/rygel-main.vala b/src/rygel/rygel-main.vala
index 289f44c1..94b6c303 100644
--- a/src/rygel/rygel-main.vala
+++ b/src/rygel/rygel-main.vala
@@ -133,12 +133,27 @@ internal class Rygel.Main : Object {
private ContextManager create_context_manager () {
int port = 0;
+ bool ipv6 = false;
try {
port = this.config.get_port ();
} catch (GLib.Error err) {}
- var manager = ContextManager.create (port);
+ try {
+ ipv6 = this.config.get_bool ("general", "ipv6");
+ } catch (GLib.Error err) {
+ debug ("No ipv6 config key found, using default %s", ipv6.to_string ());
+ }
+
+ // INVALID means "all"
+ var family = GLib.SocketFamily.INVALID;
+ if (!ipv6) {
+ family = GLib.SocketFamily.IPV4;
+ }
+
+ var manager = ContextManager.create_full (GSSDP.UDAVersion.VERSION_1_0,
+ family,
+ port);
manager.context_available.connect (this.on_context_available);
manager.context_unavailable.connect (this.on_context_unavailable);