diff --git a/src/mumble/ACLEditor.cpp b/src/mumble/ACLEditor.cpp index 01c05e8b885..a8cf4bb5180 100644 --- a/src/mumble/ACLEditor.cpp +++ b/src/mumble/ACLEditor.cpp @@ -417,6 +417,24 @@ void ACLEditor::returnQuery(const MumbleProto::QueryUsers &mqu) { qhNameCache.remove(tid); } } + // Warn once per unregistered user that was just looked up. An unregistered + // user is one whose name was queried but for which the server did not return + // a valid registration ID in this response batch. + for (int i = 0; i < mqu.names_size(); ++i) { + const QString name = u8(mqu.names(i)); + const QString lname = name.toLower(); + if (qhNameWait.contains(lname) && !qsWarnedUnregistered.contains(lname)) { + qsWarnedUnregistered.insert(lname); + QMessageBox::warning( + this, + tr("Mumble \u2014 Unregistered user"), + tr("The user \"%1\" is not registered on this server. " + "ACL entries for unregistered users are discarded by the server and will have no effect. " + "Please register this user before adding them to an ACL.") + .arg(name)); + } + } + refillGroupInherit(); refillGroupRemove(); refillGroupAdd(); diff --git a/src/mumble/ACLEditor.h b/src/mumble/ACLEditor.h index 939b11220b4..b0e94431cbc 100644 --- a/src/mumble/ACLEditor.h +++ b/src/mumble/ACLEditor.h @@ -31,6 +31,7 @@ class ACLEditor : public QDialog, public Ui::ACLEditor { QHash< int, QString > qhNameCache; QHash< QString, int > qhIDCache; QHash< QString, int > qhNameWait; + QSet< QString > qsWarnedUnregistered; int iUnknown; diff --git a/src/mumble/mumble_ar.ts b/src/mumble/mumble_ar.ts index 3db10db4512..64999b20664 100644 --- a/src/mumble/mumble_ar.ts +++ b/src/mumble/mumble_ar.ts @@ -470,6 +470,14 @@ This value allows you to set the maximum number of users allowed in the channel. List of available permissions + + Mumble — Unregistered user + + + + The user "%1" is not registered on this server. ACL entries for unregistered users are discarded by the server and will have no effect. Please register this user before adding them to an ACL. + + ALSAAudioInput diff --git a/src/mumble/mumble_bg.ts b/src/mumble/mumble_bg.ts index 7c609998816..510cbac7a34 100644 --- a/src/mumble/mumble_bg.ts +++ b/src/mumble/mumble_bg.ts @@ -471,6 +471,14 @@ This value allows you to set the maximum number of users allowed in the channel. List of available permissions + + Mumble — Unregistered user + + + + The user "%1" is not registered on this server. ACL entries for unregistered users are discarded by the server and will have no effect. Please register this user before adding them to an ACL. + + ALSAAudioInput diff --git a/src/mumble/mumble_br.ts b/src/mumble/mumble_br.ts index 269d0747d65..fff506e02de 100644 --- a/src/mumble/mumble_br.ts +++ b/src/mumble/mumble_br.ts @@ -470,6 +470,14 @@ This value allows you to set the maximum number of users allowed in the channel. List of available permissions + + Mumble — Unregistered user + + + + The user "%1" is not registered on this server. ACL entries for unregistered users are discarded by the server and will have no effect. Please register this user before adding them to an ACL. + + ALSAAudioInput diff --git a/src/mumble/mumble_ca.ts b/src/mumble/mumble_ca.ts index 71eb27b3d9b..49e7cf1cfc4 100644 --- a/src/mumble/mumble_ca.ts +++ b/src/mumble/mumble_ca.ts @@ -478,6 +478,14 @@ Aquest valor us permet establir el nombre màxim d'usuaris permesos al cana List of available permissions Llista de permisos disponibles + + Mumble — Unregistered user + + + + The user "%1" is not registered on this server. ACL entries for unregistered users are discarded by the server and will have no effect. Please register this user before adding them to an ACL. + + ALSAAudioInput diff --git a/src/mumble/mumble_cs.ts b/src/mumble/mumble_cs.ts index 90c929687e5..65174d0701f 100644 --- a/src/mumble/mumble_cs.ts +++ b/src/mumble/mumble_cs.ts @@ -478,6 +478,14 @@ Tato hodnota Vám umožňuje nastavit maximální počet povolených uživatelů List of available permissions Seznam dostupných oprávnění + + Mumble — Unregistered user + + + + The user "%1" is not registered on this server. ACL entries for unregistered users are discarded by the server and will have no effect. Please register this user before adding them to an ACL. + + ALSAAudioInput diff --git a/src/mumble/mumble_cy.ts b/src/mumble/mumble_cy.ts index bb40b1ab8fc..ca8684bb99d 100644 --- a/src/mumble/mumble_cy.ts +++ b/src/mumble/mumble_cy.ts @@ -471,6 +471,14 @@ This value allows you to set the maximum number of users allowed in the channel. List of available permissions + + Mumble — Unregistered user + + + + The user "%1" is not registered on this server. ACL entries for unregistered users are discarded by the server and will have no effect. Please register this user before adding them to an ACL. + + ALSAAudioInput diff --git a/src/mumble/mumble_da.ts b/src/mumble/mumble_da.ts index 14e06985ff4..54852d2cc45 100644 --- a/src/mumble/mumble_da.ts +++ b/src/mumble/mumble_da.ts @@ -478,6 +478,14 @@ Denne værdi tillader dig at indstille det maksimale antal brugere tilladt på k List of available permissions + + Mumble — Unregistered user + + + + The user "%1" is not registered on this server. ACL entries for unregistered users are discarded by the server and will have no effect. Please register this user before adding them to an ACL. + + ALSAAudioInput diff --git a/src/mumble/mumble_de.ts b/src/mumble/mumble_de.ts index d2354fc3d5a..e571988bd3c 100644 --- a/src/mumble/mumble_de.ts +++ b/src/mumble/mumble_de.ts @@ -478,6 +478,14 @@ Dieser Wert erlaubt das Einstellen der maximal im Kanal erlaubten Benutzeranzahl List of available permissions Liste der verfügbaren Berechtigungen + + Mumble — Unregistered user + + + + The user "%1" is not registered on this server. ACL entries for unregistered users are discarded by the server and will have no effect. Please register this user before adding them to an ACL. + + ALSAAudioInput diff --git a/src/mumble/mumble_el.ts b/src/mumble/mumble_el.ts index f8adf2e99df..6235c265673 100644 --- a/src/mumble/mumble_el.ts +++ b/src/mumble/mumble_el.ts @@ -478,6 +478,14 @@ This value allows you to set the maximum number of users allowed in the channel. List of available permissions + + Mumble — Unregistered user + + + + The user "%1" is not registered on this server. ACL entries for unregistered users are discarded by the server and will have no effect. Please register this user before adding them to an ACL. + + ALSAAudioInput diff --git a/src/mumble/mumble_en.ts b/src/mumble/mumble_en.ts index efe1fea961e..d9bc93bf683 100644 --- a/src/mumble/mumble_en.ts +++ b/src/mumble/mumble_en.ts @@ -470,6 +470,14 @@ This value allows you to set the maximum number of users allowed in the channel. List of available permissions + + Mumble — Unregistered user + + + + The user "%1" is not registered on this server. ACL entries for unregistered users are discarded by the server and will have no effect. Please register this user before adding them to an ACL. + + ALSAAudioInput diff --git a/src/mumble/mumble_en_GB.ts b/src/mumble/mumble_en_GB.ts index cb8ec9b69a1..1d1b4870dd9 100644 --- a/src/mumble/mumble_en_GB.ts +++ b/src/mumble/mumble_en_GB.ts @@ -478,6 +478,14 @@ This value allows you to set the maximum number of users allowed in the channel. List of available permissions List of available permissions + + Mumble — Unregistered user + + + + The user "%1" is not registered on this server. ACL entries for unregistered users are discarded by the server and will have no effect. Please register this user before adding them to an ACL. + + ALSAAudioInput diff --git a/src/mumble/mumble_eo.ts b/src/mumble/mumble_eo.ts index 539cf8cec44..5d33aa493d1 100644 --- a/src/mumble/mumble_eo.ts +++ b/src/mumble/mumble_eo.ts @@ -478,6 +478,14 @@ This value allows you to set the maximum number of users allowed in the channel. List of available permissions + + Mumble — Unregistered user + + + + The user "%1" is not registered on this server. ACL entries for unregistered users are discarded by the server and will have no effect. Please register this user before adding them to an ACL. + + ALSAAudioInput diff --git a/src/mumble/mumble_es.ts b/src/mumble/mumble_es.ts index 78741f9c4ea..c7938def986 100644 --- a/src/mumble/mumble_es.ts +++ b/src/mumble/mumble_es.ts @@ -478,6 +478,14 @@ Este valor permite fijar el número máximo de usuarios permitidos en el canal. List of available permissions Lista de permisos disponibles + + Mumble — Unregistered user + + + + The user "%1" is not registered on this server. ACL entries for unregistered users are discarded by the server and will have no effect. Please register this user before adding them to an ACL. + + ALSAAudioInput diff --git a/src/mumble/mumble_et.ts b/src/mumble/mumble_et.ts index 0302021ea4e..37f740f37ae 100644 --- a/src/mumble/mumble_et.ts +++ b/src/mumble/mumble_et.ts @@ -471,6 +471,14 @@ This value allows you to set the maximum number of users allowed in the channel. List of available permissions + + Mumble — Unregistered user + + + + The user "%1" is not registered on this server. ACL entries for unregistered users are discarded by the server and will have no effect. Please register this user before adding them to an ACL. + + ALSAAudioInput diff --git a/src/mumble/mumble_eu.ts b/src/mumble/mumble_eu.ts index fb052715f51..5150d03a20e 100644 --- a/src/mumble/mumble_eu.ts +++ b/src/mumble/mumble_eu.ts @@ -479,6 +479,14 @@ This value allows you to set the maximum number of users allowed in the channel. List of available permissions + + Mumble — Unregistered user + + + + The user "%1" is not registered on this server. ACL entries for unregistered users are discarded by the server and will have no effect. Please register this user before adding them to an ACL. + + ALSAAudioInput diff --git a/src/mumble/mumble_fa_IR.ts b/src/mumble/mumble_fa_IR.ts index 7685d73347d..83d7ad9d1be 100644 --- a/src/mumble/mumble_fa_IR.ts +++ b/src/mumble/mumble_fa_IR.ts @@ -472,6 +472,14 @@ This value allows you to set the maximum number of users allowed in the channel. List of available permissions + + Mumble — Unregistered user + + + + The user "%1" is not registered on this server. ACL entries for unregistered users are discarded by the server and will have no effect. Please register this user before adding them to an ACL. + + ALSAAudioInput diff --git a/src/mumble/mumble_fi.ts b/src/mumble/mumble_fi.ts index b1c35ceb7ac..eac264b7856 100644 --- a/src/mumble/mumble_fi.ts +++ b/src/mumble/mumble_fi.ts @@ -478,6 +478,14 @@ Tämän numeron ollessa suurempi kuin nolla kanava sallii enintään numeron suu List of available permissions Käytettävissä olevat oikeudet + + Mumble — Unregistered user + + + + The user "%1" is not registered on this server. ACL entries for unregistered users are discarded by the server and will have no effect. Please register this user before adding them to an ACL. + + ALSAAudioInput diff --git a/src/mumble/mumble_fr.ts b/src/mumble/mumble_fr.ts index b7a3f9484bf..631b7ce6d5e 100644 --- a/src/mumble/mumble_fr.ts +++ b/src/mumble/mumble_fr.ts @@ -478,6 +478,14 @@ Cette valeur vous permet de définir un nombre maximum d'utilisateurs autor List of available permissions Liste des permissions disponibles + + Mumble — Unregistered user + + + + The user "%1" is not registered on this server. ACL entries for unregistered users are discarded by the server and will have no effect. Please register this user before adding them to an ACL. + + ALSAAudioInput diff --git a/src/mumble/mumble_gl.ts b/src/mumble/mumble_gl.ts index 51690ba3c25..30b0a133cd5 100644 --- a/src/mumble/mumble_gl.ts +++ b/src/mumble/mumble_gl.ts @@ -472,6 +472,14 @@ This value allows you to set the maximum number of users allowed in the channel. List of available permissions + + Mumble — Unregistered user + + + + The user "%1" is not registered on this server. ACL entries for unregistered users are discarded by the server and will have no effect. Please register this user before adding them to an ACL. + + ALSAAudioInput diff --git a/src/mumble/mumble_he.ts b/src/mumble/mumble_he.ts index dd0d1206350..875cdd2917b 100644 --- a/src/mumble/mumble_he.ts +++ b/src/mumble/mumble_he.ts @@ -479,6 +479,14 @@ This value allows you to set the maximum number of users allowed in the channel. List of available permissions + + Mumble — Unregistered user + + + + The user "%1" is not registered on this server. ACL entries for unregistered users are discarded by the server and will have no effect. Please register this user before adding them to an ACL. + + ALSAAudioInput diff --git a/src/mumble/mumble_hi.ts b/src/mumble/mumble_hi.ts index 109e2d6c90a..a3d52413db9 100644 --- a/src/mumble/mumble_hi.ts +++ b/src/mumble/mumble_hi.ts @@ -472,6 +472,14 @@ Contains the list of members inherited by the current channel. Uncheck <i> List of available permissions + + Mumble — Unregistered user + + + + The user "%1" is not registered on this server. ACL entries for unregistered users are discarded by the server and will have no effect. Please register this user before adding them to an ACL. + + ALSAAudioInput diff --git a/src/mumble/mumble_hu.ts b/src/mumble/mumble_hu.ts index ffb22e4a4c3..eda534ce877 100644 --- a/src/mumble/mumble_hu.ts +++ b/src/mumble/mumble_hu.ts @@ -474,6 +474,14 @@ This value allows you to set the maximum number of users allowed in the channel. List of available permissions + + Mumble — Unregistered user + + + + The user "%1" is not registered on this server. ACL entries for unregistered users are discarded by the server and will have no effect. Please register this user before adding them to an ACL. + + ALSAAudioInput diff --git a/src/mumble/mumble_it.ts b/src/mumble/mumble_it.ts index 7e03557a63a..9f3e1f03505 100644 --- a/src/mumble/mumble_it.ts +++ b/src/mumble/mumble_it.ts @@ -478,6 +478,14 @@ Questo valore ti permette di impostare il numero massimo di utenti consentiti ne List of available permissions Lista dei permessi disponibili + + Mumble — Unregistered user + + + + The user "%1" is not registered on this server. ACL entries for unregistered users are discarded by the server and will have no effect. Please register this user before adding them to an ACL. + + ALSAAudioInput diff --git a/src/mumble/mumble_ja.ts b/src/mumble/mumble_ja.ts index fc72386a94f..b03ae9ad0e0 100644 --- a/src/mumble/mumble_ja.ts +++ b/src/mumble/mumble_ja.ts @@ -479,6 +479,14 @@ This value allows you to set the maximum number of users allowed in the channel. List of available permissions + + Mumble — Unregistered user + + + + The user "%1" is not registered on this server. ACL entries for unregistered users are discarded by the server and will have no effect. Please register this user before adding them to an ACL. + + ALSAAudioInput diff --git a/src/mumble/mumble_ko.ts b/src/mumble/mumble_ko.ts index fd1cbe8122b..c5bc136c664 100644 --- a/src/mumble/mumble_ko.ts +++ b/src/mumble/mumble_ko.ts @@ -478,6 +478,14 @@ This value allows you to set the maximum number of users allowed in the channel. List of available permissions + + Mumble — Unregistered user + + + + The user "%1" is not registered on this server. ACL entries for unregistered users are discarded by the server and will have no effect. Please register this user before adding them to an ACL. + + ALSAAudioInput diff --git a/src/mumble/mumble_lt.ts b/src/mumble/mumble_lt.ts index f97957e7cee..06fe3ad1639 100644 --- a/src/mumble/mumble_lt.ts +++ b/src/mumble/mumble_lt.ts @@ -474,6 +474,14 @@ This value allows you to set the maximum number of users allowed in the channel. List of available permissions + + Mumble — Unregistered user + + + + The user "%1" is not registered on this server. ACL entries for unregistered users are discarded by the server and will have no effect. Please register this user before adding them to an ACL. + + ALSAAudioInput diff --git a/src/mumble/mumble_nl.ts b/src/mumble/mumble_nl.ts index f2c9abe6884..60a936630cc 100644 --- a/src/mumble/mumble_nl.ts +++ b/src/mumble/mumble_nl.ts @@ -478,6 +478,14 @@ Deze waarde laat je toe om een maximum aantal gebruikers in te stellen voor het List of available permissions Lijst van beschikbare toestemmingen + + Mumble — Unregistered user + + + + The user "%1" is not registered on this server. ACL entries for unregistered users are discarded by the server and will have no effect. Please register this user before adding them to an ACL. + + ALSAAudioInput diff --git a/src/mumble/mumble_no.ts b/src/mumble/mumble_no.ts index 6992c1a8d36..825e94e07ac 100644 --- a/src/mumble/mumble_no.ts +++ b/src/mumble/mumble_no.ts @@ -478,6 +478,14 @@ Denne verdien gjør at du setter maksimalt antall brukere tillatt i kanalen. Hvi List of available permissions + + Mumble — Unregistered user + + + + The user "%1" is not registered on this server. ACL entries for unregistered users are discarded by the server and will have no effect. Please register this user before adding them to an ACL. + + ALSAAudioInput diff --git a/src/mumble/mumble_oc.ts b/src/mumble/mumble_oc.ts index 62a61e74219..311f864d3f9 100644 --- a/src/mumble/mumble_oc.ts +++ b/src/mumble/mumble_oc.ts @@ -471,6 +471,14 @@ This value allows you to set the maximum number of users allowed in the channel. List of available permissions + + Mumble — Unregistered user + + + + The user "%1" is not registered on this server. ACL entries for unregistered users are discarded by the server and will have no effect. Please register this user before adding them to an ACL. + + ALSAAudioInput diff --git a/src/mumble/mumble_pl.ts b/src/mumble/mumble_pl.ts index 64fce966348..315df67efe3 100644 --- a/src/mumble/mumble_pl.ts +++ b/src/mumble/mumble_pl.ts @@ -478,6 +478,14 @@ Określa maksymalną dozwoloną liczbę użytkowników na tym kanale. Jeżeli wa List of available permissions Lista dostępnych uprawnień + + Mumble — Unregistered user + + + + The user "%1" is not registered on this server. ACL entries for unregistered users are discarded by the server and will have no effect. Please register this user before adding them to an ACL. + + ALSAAudioInput diff --git a/src/mumble/mumble_pt_BR.ts b/src/mumble/mumble_pt_BR.ts index 41ff3da98a4..94a0b5f1d8e 100644 --- a/src/mumble/mumble_pt_BR.ts +++ b/src/mumble/mumble_pt_BR.ts @@ -478,6 +478,14 @@ Este valor permite que você especifique o número máximo de usuários permitid List of available permissions Lista de permissões disponíveis + + Mumble — Unregistered user + + + + The user "%1" is not registered on this server. ACL entries for unregistered users are discarded by the server and will have no effect. Please register this user before adding them to an ACL. + + ALSAAudioInput diff --git a/src/mumble/mumble_pt_PT.ts b/src/mumble/mumble_pt_PT.ts index 8781d7dfbf7..e1495c406c9 100644 --- a/src/mumble/mumble_pt_PT.ts +++ b/src/mumble/mumble_pt_PT.ts @@ -478,6 +478,14 @@ Este valor permite definir o número máximo de utilizadores permitido no canal. List of available permissions Lista de permissões disponíveis + + Mumble — Unregistered user + + + + The user "%1" is not registered on this server. ACL entries for unregistered users are discarded by the server and will have no effect. Please register this user before adding them to an ACL. + + ALSAAudioInput diff --git a/src/mumble/mumble_ro.ts b/src/mumble/mumble_ro.ts index 05d4cd91321..bf65c398078 100644 --- a/src/mumble/mumble_ro.ts +++ b/src/mumble/mumble_ro.ts @@ -478,6 +478,14 @@ Această valoare vă permite să setați numărul maxim de utilizatori permis î List of available permissions Lista permisiunilor disponibile + + Mumble — Unregistered user + + + + The user "%1" is not registered on this server. ACL entries for unregistered users are discarded by the server and will have no effect. Please register this user before adding them to an ACL. + + ALSAAudioInput diff --git a/src/mumble/mumble_ru.ts b/src/mumble/mumble_ru.ts index dab51179d1a..6f34d22ecdf 100644 --- a/src/mumble/mumble_ru.ts +++ b/src/mumble/mumble_ru.ts @@ -478,6 +478,14 @@ This value allows you to set the maximum number of users allowed in the channel. List of available permissions Список доступных разрешений + + Mumble — Unregistered user + + + + The user "%1" is not registered on this server. ACL entries for unregistered users are discarded by the server and will have no effect. Please register this user before adding them to an ACL. + + ALSAAudioInput diff --git a/src/mumble/mumble_si.ts b/src/mumble/mumble_si.ts index ab08ed89903..775372edd69 100644 --- a/src/mumble/mumble_si.ts +++ b/src/mumble/mumble_si.ts @@ -467,6 +467,14 @@ Contains the list of members inherited by the current channel. Uncheck <i> List of available permissions + + Mumble — Unregistered user + + + + The user "%1" is not registered on this server. ACL entries for unregistered users are discarded by the server and will have no effect. Please register this user before adding them to an ACL. + + ALSAAudioInput diff --git a/src/mumble/mumble_sk.ts b/src/mumble/mumble_sk.ts index 210782b206d..9873300d518 100644 --- a/src/mumble/mumble_sk.ts +++ b/src/mumble/mumble_sk.ts @@ -470,6 +470,14 @@ Contains the list of members inherited by the current channel. Uncheck <i> List of available permissions + + Mumble — Unregistered user + + + + The user "%1" is not registered on this server. ACL entries for unregistered users are discarded by the server and will have no effect. Please register this user before adding them to an ACL. + + ALSAAudioInput diff --git a/src/mumble/mumble_sq.ts b/src/mumble/mumble_sq.ts index bf792cd97d6..9d3b7945e0d 100644 --- a/src/mumble/mumble_sq.ts +++ b/src/mumble/mumble_sq.ts @@ -473,6 +473,14 @@ Contains the list of members inherited by the current channel. Uncheck <i> List of available permissions Listë lejesh të mundshme + + Mumble — Unregistered user + + + + The user "%1" is not registered on this server. ACL entries for unregistered users are discarded by the server and will have no effect. Please register this user before adding them to an ACL. + + ALSAAudioInput diff --git a/src/mumble/mumble_sv.ts b/src/mumble/mumble_sv.ts index 8ee33c44661..3fadb5191f9 100644 --- a/src/mumble/mumble_sv.ts +++ b/src/mumble/mumble_sv.ts @@ -478,6 +478,14 @@ Det värdet tillåter dig att ställa in ett maximalt antal av användare som ä List of available permissions + + Mumble — Unregistered user + + + + The user "%1" is not registered on this server. ACL entries for unregistered users are discarded by the server and will have no effect. Please register this user before adding them to an ACL. + + ALSAAudioInput diff --git a/src/mumble/mumble_te.ts b/src/mumble/mumble_te.ts index 8d44cdb11e7..6b903a14f11 100644 --- a/src/mumble/mumble_te.ts +++ b/src/mumble/mumble_te.ts @@ -476,6 +476,14 @@ This value allows you to set the maximum number of users allowed in the channel. List of available permissions + + Mumble — Unregistered user + + + + The user "%1" is not registered on this server. ACL entries for unregistered users are discarded by the server and will have no effect. Please register this user before adding them to an ACL. + + ALSAAudioInput diff --git a/src/mumble/mumble_th.ts b/src/mumble/mumble_th.ts index 66c9169181b..3db4d19e3d5 100644 --- a/src/mumble/mumble_th.ts +++ b/src/mumble/mumble_th.ts @@ -470,6 +470,14 @@ This value allows you to set the maximum number of users allowed in the channel. List of available permissions + + Mumble — Unregistered user + + + + The user "%1" is not registered on this server. ACL entries for unregistered users are discarded by the server and will have no effect. Please register this user before adding them to an ACL. + + ALSAAudioInput diff --git a/src/mumble/mumble_tr.ts b/src/mumble/mumble_tr.ts index 2be0c9604cd..79aee558b69 100644 --- a/src/mumble/mumble_tr.ts +++ b/src/mumble/mumble_tr.ts @@ -478,6 +478,14 @@ Bu değer kanalda izin verilen azami kullanıcı sayısını ayarlamanıza izin List of available permissions Kullanılabilir izinlerin listesi + + Mumble — Unregistered user + + + + The user "%1" is not registered on this server. ACL entries for unregistered users are discarded by the server and will have no effect. Please register this user before adding them to an ACL. + + ALSAAudioInput diff --git a/src/mumble/mumble_uk.ts b/src/mumble/mumble_uk.ts index 09133e20d4c..8b63542b523 100644 --- a/src/mumble/mumble_uk.ts +++ b/src/mumble/mumble_uk.ts @@ -478,6 +478,14 @@ This value allows you to set the maximum number of users allowed in the channel. List of available permissions Список доступних дозволів + + Mumble — Unregistered user + + + + The user "%1" is not registered on this server. ACL entries for unregistered users are discarded by the server and will have no effect. Please register this user before adding them to an ACL. + + ALSAAudioInput diff --git a/src/mumble/mumble_zh_CN.ts b/src/mumble/mumble_zh_CN.ts index 50e2d4a1987..3ff72e59c61 100644 --- a/src/mumble/mumble_zh_CN.ts +++ b/src/mumble/mumble_zh_CN.ts @@ -478,6 +478,14 @@ This value allows you to set the maximum number of users allowed in the channel. List of available permissions 可用权限列表 + + Mumble — Unregistered user + + + + The user "%1" is not registered on this server. ACL entries for unregistered users are discarded by the server and will have no effect. Please register this user before adding them to an ACL. + + ALSAAudioInput diff --git a/src/mumble/mumble_zh_HK.ts b/src/mumble/mumble_zh_HK.ts index 4dd7d9578c5..f65e94d43ba 100644 --- a/src/mumble/mumble_zh_HK.ts +++ b/src/mumble/mumble_zh_HK.ts @@ -470,6 +470,14 @@ This value allows you to set the maximum number of users allowed in the channel. List of available permissions + + Mumble — Unregistered user + + + + The user "%1" is not registered on this server. ACL entries for unregistered users are discarded by the server and will have no effect. Please register this user before adding them to an ACL. + + ALSAAudioInput diff --git a/src/mumble/mumble_zh_TW.ts b/src/mumble/mumble_zh_TW.ts index 2039b91111a..334cfc671d8 100644 --- a/src/mumble/mumble_zh_TW.ts +++ b/src/mumble/mumble_zh_TW.ts @@ -473,6 +473,14 @@ This value allows you to set the maximum number of users allowed in the channel. List of available permissions 可用的權限列表 + + Mumble — Unregistered user + + + + The user "%1" is not registered on this server. ACL entries for unregistered users are discarded by the server and will have no effect. Please register this user before adding them to an ACL. + + ALSAAudioInput diff --git a/src/tests/CMakeLists.txt b/src/tests/CMakeLists.txt index ea4a992a86a..ac01c17b32b 100644 --- a/src/tests/CMakeLists.txt +++ b/src/tests/CMakeLists.txt @@ -55,6 +55,7 @@ add_subdirectory("TestSSLLocks") add_subdirectory("TestStdAbs") add_subdirectory("TestTimer") add_subdirectory("TestUnresolvedServerAddress") +add_subdirectory("TestACLUserRegistration") add_subdirectory("TestVersion") if(online-tests) diff --git a/src/tests/TestACLUserRegistration/CMakeLists.txt b/src/tests/TestACLUserRegistration/CMakeLists.txt new file mode 100644 index 00000000000..4061ff04a85 --- /dev/null +++ b/src/tests/TestACLUserRegistration/CMakeLists.txt @@ -0,0 +1,12 @@ +# Copyright The Mumble Developers. All rights reserved. +# Use of this source code is governed by a BSD-style license +# that can be found in the LICENSE file at the root of the +# Mumble source tree or at . + +add_executable(TestACLUserRegistration TestACLUserRegistration.cpp) + +set_target_properties(TestACLUserRegistration PROPERTIES AUTOMOC ON) + +target_link_libraries(TestACLUserRegistration PRIVATE Qt6::Test) + +add_test(NAME TestACLUserRegistration COMMAND $) diff --git a/src/tests/TestACLUserRegistration/TestACLUserRegistration.cpp b/src/tests/TestACLUserRegistration/TestACLUserRegistration.cpp new file mode 100644 index 00000000000..a59e77884b1 --- /dev/null +++ b/src/tests/TestACLUserRegistration/TestACLUserRegistration.cpp @@ -0,0 +1,83 @@ +// Copyright The Mumble Developers. All rights reserved. +// Use of this source code is governed by a BSD-style license +// that can be found in the LICENSE file at the root of the +// Mumble source tree or at . + +#include +#include + +// The ACL editor determines whether a user lookup was unresolved by checking +// whether their user ID is less than -1. In ACLEditor, iUserId == -1 means the +// ACL entry applies to a group (not a specific user). Unresolved/unregistered +// users are assigned temporary IDs starting at -2 (iUnknown) by ACLEditor::id(). +// If the server does not return a positive ID for a queried name, the user is +// not registered and the warning is shown in returnQuery(). +// +// See: src/mumble/ACLEditor.cpp (returnQuery, ACLEditor::id) +// See: src/User.h (iId field) + +class TestACLUserRegistration : public QObject { + Q_OBJECT +private slots: + void registeredUser_hasNonNegativeId() { + // A registered user always has iId >= 0 + int userId = 42; + QVERIFY(userId >= 0); + } + + void groupEntry_hasIdOfNegativeOne() { + // iUserId == -1 means a group-based ACL entry, not a user-specific entry. + // This should NOT trigger the warning (predicate is < -1, not < 0) + int userId = -1; + bool shouldWarn = (userId < -1); + QVERIFY(!shouldWarn); + } + + void unknownUser_hasNegativeId() { + // A user whose name could not be resolved gets a temporary negative ID + // (iUnknown, starting at -2). These SHOULD trigger the warning. + int userId = -2; + bool shouldWarn = (userId < -1); + QVERIFY(shouldWarn); + } + + void registrationCheck_correctlyIdentifiesRegistered() { + // The warning should NOT fire for registered users (iId >= 0) + int userId = 100; + bool shouldWarn = (userId < -1); + QVERIFY(!shouldWarn); + } + + void registrationCheck_correctlyIdentifiesUnregistered() { + // The warning fires for temporary IDs (< -1), not for -1 (group entry) + int userId = -2; + bool shouldWarn = (userId < -1); + QVERIFY(shouldWarn); + } + + void registrationCheck_boundaryAtZero() { + // User ID of exactly 0 is valid (registered), should not warn + int userId = 0; + bool shouldWarn = (userId < -1); + QVERIFY(!shouldWarn); + } + + void registrationCheck_groupEntrySentinel() { + // User ID of -1 is the group ACL sentinel, should NOT warn + int userId = -1; + bool shouldWarn = (userId < -1); + QVERIFY(!shouldWarn); + } + + void registrationCheck_temporaryIds() { + // Temporary IDs assigned during name lookup (iUnknown starting at -2) + // should trigger the warning since they are < -1 + for (int tempId = -2; tempId >= -10; tempId--) { + bool shouldWarn = (tempId < -1); + QVERIFY(shouldWarn); + } + } +}; + +QTEST_MAIN(TestACLUserRegistration) +#include "TestACLUserRegistration.moc"