Age | Commit message (Collapse) | Author |
|
This implements #3319 by allowing users to "listen" to a channel they
have not joined. Doing so will place a "listener proxy" (in other
software this is sometimes known as a "phantom") in that channel which
will look like a normal user except that it'll have the same name as the
user listening to that channel and an ear-icon instead of the normal
avatar-icon. It will also always show a muted-icon next to it.
If a listener proxy is in a channel, the server will route all audio
packets from that channel to the user the proxy belongs to (as if that
user was in the channel). Note though that the opposite of this is not
true: The users in the channel will not hear audio from the listening
user unless that user decides to join the channel.
Furthermore it is possible to set a local volume adjustment for each
individual proxy that will be applied to all audio that is received
through it.
|
|
for Qt 5.14 and higher
|
|
Qt 5.14 and higher
Qt 5.14 introduces a bunch of range-based constructors for the various
collection-classes that are now to be preferred over the generic
toList(), toSet(), toXY() functions
|
|
|
|
Qt 4: https://doc.qt.io/archives/qt-4.8/qatomicint.html
Qt 5: https://doc.qt.io/qt-5/qatomicint.html
|
|
This commit adds all the missing includes when the PCH header is not used.
Also, some includes are reordered and/or made consistent (e.g. "#include <QtEndian>" -> "#include <QtCore/QtEndian>").
|
|
According to Qt's documentation the PCH header doesn't need to be included.
From https://doc.qt.io/qt-5/qmake-precompiledheaders.html:
"To make your project use precompiled headers, you only need to define the PRECOMPILED_HEADER variable in your project file."
"qmake will handle the rest, to ensure the creation and use of the precompiled header file. You do not need to include the precompiled header file in HEADERS, as qmake will do this if the configuration supports precompiled headers."
|
|
https://github.com/qt/qtbase/commit/5957f245c6c77c98d7e90d614c9fe2cdbfe7e8e6
|
|
|
|
|
|
The Exceptions method ice_name() has been replaced by the new method
ice_id().
The Communicators method stringToIdentity has been made obsolete in favor
of a static function in the Ice namespace.
https://doc.zeroc.com/display/Ice37/Ice-Communicator#Ice-Communicator-stringToIdentity
https://doc.zeroc.com/pages/viewpage.action?pageId=18255295
https://doc.zeroc.com/pages/viewpage.action?pageId=18255344
|
|
|
|
std::numeric_limits.
std::numeric_limit's max() method return a T, so when comparing it against
a container size, we have to cast it to size_t.
This is currently breaking the win32-static (32-bit) build.
|
|
|
|
w/o losing data.
We now base64-encode the user's plugin context.
It is a binary blob, not generally useful for RPC users.
The most important property is the ability to detect that two
users are in the same game context -- and that property is preserved.
If the exact byte seqeuence is needed, it is possible to base64-decode
the returned string to retrieve it.
Fixes mumble-voip/mumble#1874
|
|
Ice messages, parameters and return values are not allowed by
the Ice spec to contain NUL bytes. Some Ice implementations
(such as C#) fail if they encounter them.
|
|
Server::isKeyForCert().
The ad-hoc RSA checks in updateCertificate are unnecessary: we already have a
function that can check whether a given certificate belongs to a given private
key: Server::isKeyForCert().
Rip out the old RSA-specific code (which limited updateCertificate() to only
work with RSA keys), with the more general Server::isKeyForCert().
|
|
|
|
|
|
function.
By using our new portable QAtomicIntLoad function, we ensure compatibility
with both Qt 4 and Qt 5.
Fixes mumble-voip/mumble#2586
|
|
Fixes mumble-voip/mumble#2420
|
|
|
|
|
|
|
|
This allows live certificate/private key reloading
for individual virtual servers.
This makes it possible to integrate Murmur with
an external Let's Encrypt script, without having
to fully restart the virtual server in the process.
|
|
|
|
I think there's a good excuse for this: we don't expose a user's password
hash over Ice, which is actually a pain in the backside for migrating
servers via Ice. So in the interests of consistency, I think it's probably
better to not expose the SSL private key or it's passphrase over Ice either,
particularly since SSL keys are a bit of a "cat out the bag" thing.
Note that at present, the SSL passphrase isn't exposed via meta either - the
"key" field of meta.GetDefaultConf() contains a plaintext copy of the key,
but I left the check in anyway in case we change that for any reason.
When the user specifically requests things that ought to be secret over Ice,
we raise an exception rather than have it silently fail, to hopefully reduce
the amount of head-scratching some poor script writer has to do.
Finally, more or less do the same thing over D-Bus.
|
|
Add NestingLimitException to Ice Interface and introduce a new NestingLimit PermissionDenied type.
Addresses #3566322 "ServerDB::deleteServer crashes master"
|
|
|
|
functions are fine with being called multiple times with the same proxy.
|
|
|
|
|
|
|
|
Returning a list of groups using an authenticator added
temporary group membership for the user id only. Those are
removed when we're disconnecting an old user using the same
user id. Adding the session id to the group should fix the
problem.
This won't work if someone uses verifyPassword to set the
permissions (which is an undocumented implementation detail
anyway).
|
|
(https://sourceforge.net/tracker/?func=detail&aid=3389065&group_id=147372&atid=768008)
|
|
|
|
|
|
ContextActionModify
|
|
Added a new ContextActionRemove protobuf message type triggering the clientside removal of a context menu entry. Since the server only remembers the action identifier and doesn't have a notion of where it is applied to on the client it is only possible to remove all entries for an identifier at the same time at this point. The removal is triggered when overriding a new handler (clientside visibility might have changed), remove a handler and in error conditions.
|
|
and iterators to foreach()
|
|
|
|
|
|
|
|
|
|
order" #3110572 . Fix other sorting issues. Fix OverlayTest compilation.
|
|
returned by getState() over Ice. Polished by Svedrin (Michael Ziegler <diese-addy@funzt-halt.net>)
|
|
|
|
|
|
|
|
|