From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: mail.toke.dk; dkim=pass header.d=irif.fr header.i=@irif.fr header.a=rsa-sha256 header.s=dkim-irif header.b=q+7AKt23; arc=none (Message is not ARC signed); dmarc=none Received: from korolev.univ-paris7.fr (korolev.univ-paris7.fr [IPv6:2001:660:3301:8000::1:2]) by mail.toke.dk (Postfix) with ESMTPS id 1BCF4197DCD5 for ; Mon, 02 Nov 2026 13:05:22 +0100 (CET) Received: from mailhub.math.univ-paris-diderot.fr (mailhub.math.univ-paris-diderot.fr [81.194.30.253]) by korolev.univ-paris7.fr (8.14.4/8.14.4/relay1/82085) with ESMTP id 6A2C5LLV005683; Mon, 2 Nov 2026 13:05:21 +0100 Received: from mailhub.math.univ-paris-diderot.fr (unknown [127.0.0.1]) by mailhub.math.univ-paris-diderot.fr (Postfix) with ESMTP id 8E33A622F2; Mon, 2 Nov 2026 13:05:21 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=irif.fr; h= content-type:content-type:mime-version:user-agent:references :in-reply-to:subject:subject:from:from:message-id:date:date :received:received; s=dkim-irif; t=1793621120; x=1794485121; bh= 1DUJbV1OpCWs2U7Y6S8/Bzkv6RfBhf9CQKxvqHOhfaQ=; b=q+7AKt23F6AC6iqn X0xJ1XxG9EJOPfWhRUjtIeeuV+3DG5NXBxPxucpKQsLvtdRKwt122Wz0mv5FF0ic kdWDQetayEKfJi+JBih536Ez7PtWmq1Ai+po1x9f93PZZBXQEp7k4tO94lnTLxZS m3JvDW5SRUkeLP2GhYGNRLVQfnnwAPYYZ1YBZEDYxuB+5+vm9rCFTZzJTZychWHm zoCt+pdgEA17syZAAIfrr3RGeBSnalBSBWyRoCRsz4hYs5KTE/5uQvHaDjqDdRWh 0aZyZWUN9MHNnVbuh32YlVGjvy7DIxt47uzW12RmyD7++d0uIWzGkCx9jwj0O+DP O9HBRA== X-Virus-Scanned: amavisd-new at math.univ-paris-diderot.fr Received: from mailhub.math.univ-paris-diderot.fr ([127.0.0.1]) by mailhub.math.univ-paris-diderot.fr (mailhub.math.univ-paris-diderot.fr [127.0.0.1]) (amavisd-new, port 10023) with ESMTP id MHW5ZasCsKSZ; Mon, 2 Nov 2026 13:05:20 +0100 (CET) Received: from trurl.irif.fr (unknown [82.64.191.149]) (Authenticated sender: jch) by mailhub.math.univ-paris-diderot.fr (Postfix) with ESMTPSA id 48FD5623DE; Mon, 2 Nov 2026 13:05:20 +0100 (CET) Date: Mon, 02 Nov 2026 13:05:19 +0100 Message-ID: <87jymvcubk.wl-jch@irif.fr> From: Juliusz Chroboczek To: Dirk-Willem van Gulik Cc: galene@lists.galene.org In-Reply-To: <362CEC86-2063-4E6F-A30A-5C0AEABB5FF9@webweaving.org> References: <362CEC86-2063-4E6F-A30A-5C0AEABB5FF9@webweaving.org> User-Agent: Wanderlust/2.15.9 (Almost Unreal) Emacs/30.2 Mule/6.0 MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") Content-Type: text/plain; charset=US-ASCII X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.2.7 (korolev.univ-paris7.fr [194.254.61.138]); Mon, 02 Nov 2026 13:05:21 +0100 (CET) X-Miltered: at korolev with ID 6AE87C81.000 by Joe's j-chkmail (http : // j-chkmail dot ensmp dot fr)! X-j-chkmail-Enveloppe: 6AE87C81.000 from mailhub.math.univ-paris-diderot.fr/mailhub.math.univ-paris-diderot.fr/null/mailhub.math.univ-paris-diderot.fr/ X-j-chkmail-Score: MSGID : 6AE87C81.000 on korolev.univ-paris7.fr : j-chkmail score : . : R=. U=. O=. B=0.000 -> S=0.000 X-j-chkmail-Status: Ham Message-ID-Hash: 75QI6JI2EVD7JI2A6XZLLLH7QPOPV4LH X-Message-ID-Hash: 75QI6JI2EVD7JI2A6XZLLLH7QPOPV4LH X-MailFrom: jch@irif.fr X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.10 Precedence: list Subject: [Galene] Re: wildcard users List-Id: =?utf-8?q?Gal=C3=A8ne_videoconferencing_server_discussion_list?= Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: > // Generated 2026-11-02 11:09:23 UTC, project bar-test, DB: 9656dfdac01ba854402ca635e You're mixing the old syntax (deprecated with Galene 0.9 in May 2024) with the new syntax. You have a wildcard user in the new syntax: > "wildcard-user": { > "password": "", "permissions": "present" > }, and one in the old syntax: > "presenter": [ > {} > ] Since Galene will convert the old syntax to the new one internally, you end up with a duplicate wildcard user. The simplest way to convert the group is to update the group using the API, Galene will rewrite the group in the new syntax. I did echo '{}' | galenectl update-group -group bolduc -json which yielded { "users": { "XXXXmoderator1XXX": {"permissions": "present"}, "XXXXmoderator2XXX": {"permissions": "present"}, "xxxchairpersonxxx": { "password": {"type": "bcrypt","key": "XXX"}, "permissions": "op" } }, "wildcard-user": {"password": "","permissions": "present"} } Note that the two moderators have no password, they cannot login until you set a password. (This was not possible in the old syntax, which interpreted a lack of a password as a wildcard.) I then did galenectl set-password -group bolduc -wildcard -type wildcard which yielded { ... wildcard-user":{"password":{"type":"wildcard"},"permissions":"present"} } (The difference between an empty password and a password of type wildcard is that the latter allows any password.) > And what is the right way to allow arbitrary names (and an empty or > fixed, simple PIN style, password for ad-hoc cases where sending an > invite or similar hurdle/extra step is non ideal) ? Both of your syntaxes are correct, you should use one or the other, just not both. Another note: since you're generating passwords automatically, you may consider going through the API rather than editing files on disk. Editing files on disk is still supported, but of course it doesn't guarantee mutual exclusion if two programs edit the same file at the same time. You'll find race-free code to do that here: - in Go: galenectl/galenectl.go starting at line 470; - in JS: static/management.js. -- Juliusz