On 04/13/2015 03:33 AM, Tuxicoman wrote:
> Thanks, this works !

Thank goodness.  ;-)
Not quite done with this bug yet though; you'll see why below.

> Maybe having "host=0.0.0.0" as default value in the mumble-server.ini
> example file would be a good solution to fix this bug in the meanwhile?

Well yes but I realize there's a catch; this specific setting is IPv4
only, and mumble-server can work on IPv6.  Try the following and see
what happens:

   host=::

That's supposed to be the "Any" address for IPv6 (but the communication
works for IPv4 too).  Then (as root) run 'netstat -tpln' and if it
starts correctly you should see something like this (with a different
PID for murmurd):

   tcp6    0    0 :::64738      :::*     LISTEN      806/murmurd

but if it doesn't start correctly then the result will be that murmurd
is running but not listening, like it has been before using host=0.0.0.0.




The thing is that "host=" (i.e. empty setting, which is supposedly the
default if the setting isn't specified or commented out) is supposed to
mean "all interfaces".  I've looked in the code for murmur and I think
it's setting it here (note the QHostAddress lines):

src/murmur/Meta.cpp:234:
---------------------------------------------------------------------
      if (hasipv6) {
         qlBind << QHostAddress(QHostAddress::AnyIPv6);
#ifdef Q_OS_UNIX
         if (hasipv4) {
            int s = ::socket(AF_INET6, SOCK_STREAM, 0);
                if (s != -1) {
                   int ipv6only = 0;
                   socklen_t optlen = sizeof(ipv6only);
                   if (getsockopt(s, IPPROTO_IPV6, IPV6_V6ONLY,
&ipv6only, &optlen) == 0) {
                      if (ipv6only == 0)
                          hasipv4 = false;
                   }
                   close(s);
               }
         }
#endif
      }
      if (hasipv4)
         qlBind << QHostAddress(QHostAddress::Any);
      }
---------------------------------------------------------------------


The "Any" and "AnyIPv6" addresses are supposed to mean "0.0.0.0" and
"::" like one would expect:

   http://doc.qt.io/qt-4.8/qhostaddress.html#SpecialAddress-enum



Right now I'm thinking there might be a subtle bug in the way murmur is
setting the "AnyIPv6" address, perhaps in that section of code above.


> # systemctl status mumble-server
> ● mumble-server.service - Mumble VoIP server
>    Loaded: loaded (/lib/systemd/system/mumble-server.service; enabled)
>    Active: active (running) since lun 2015-04-13 09:25:19 CEST; 1min 16s
> ago
>      Docs: man:murmurd(1)
>            file:///usr/share/doc/mumble-server/README
>            http://wiki.mumble.info/wiki/Running_Murmur
>   Process: 852 ExecStart=/usr/sbin/murmurd -ini /etc/mumble-server.ini
> (code=exited, status=0/SUCCESS)
>   Process: 784 ExecStartPre=/usr/bin/install -o mumble-server -g adm
> -d /var/run/mumble-server (code=exited, status=0/SUCCESS)
>  Main PID: 1346 (murmurd)
>    CGroup: /system.slice/mumble-server.service
>            └─1346 /usr/sbin/murmurd -ini /etc/mumble-server.ini
> 
> # cat /var/log/mumble-server/mumble-server.log
> <W>2015-04-13 09:25:19.345 Initializing settings
> from /etc/mumble-server.ini (basepath /etc)
> <W>2015-04-13 09:25:19.346 Binding to address 0.0.0.0
> <C>2015-04-13 09:25:19.348 Adding 1 CA certificates from certificate
> file.
> <W>2015-04-13 09:25:19.348 OpenSSL: OpenSSL 1.0.1k 8 Jan 2015
> <C>2015-04-13 09:25:19.349 Successfully switched to uid 126
> <W>2015-04-13 09:25:19.512 ServerDB: Opened SQLite
> database /var/lib/mumble-server/mumble-server.sqlite
> <W>2015-04-13 09:25:19.514 Resource limits were 0 0
> <W>2015-04-13 09:25:19.514 Successfully dropped capabilities
> <W>2015-04-13 09:25:19.554 Murmur 1.2.8 (1.2.8-2) running on X11: Debian
> GNU/Linux 8.0 (jessie): Booting servers
> <W>2015-04-13 09:25:19.602 1 => Server listening on 0.0.0.0:64738
> <W>2015-04-13 09:25:19.690 1 => Failed to set IPV6_RECVPKTINFO for
> 0.0.0.0:64738
> <W>2015-04-13 09:25:19.719 1 => Announcing server via bonjour
> <W>2015-04-13 09:25:19.741 1 => Registration needs nonempty
> 'registername', 'registerpassword' and 'registerurl', must have an empty
> 'password' and allowed pings.
> <W>2015-04-13 09:25:19.741 Object::connect: No such slot
> MurmurDBus::userTextMessage(const User *, const TextMessage &)

Thanks for including the log output, because it helps verify the
warnings that aren't directly related to this bug.



After we get to understand the full behavior concerning host=0.0.0.0 vs
host=:: I'll need to report the results to the Ubuntu bug concerning
mumble-server startup with upstart, and discuss this issue with Mumble
upstream.

Thanks!

   -- Chris

-- 
Chris Knadle
chris.kna...@coredump.us


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to