From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: mail.toke.dk; spf=pass (mailfrom) smtp.mailfrom=irif.fr (client-ip=2001:660:3301:8000::1:2; helo=korolev.univ-paris7.fr; envelope-from=jch@irif.fr; receiver=) Authentication-Results: mail.toke.dk; dkim=pass (2048-bit key; unprotected) header.d=irif.fr header.i=@irif.fr header.a=rsa-sha256 header.s=dkim-irif header.b=QPJUOTR0 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 98C74A63B60 for ; Wed, 10 Apr 2024 13:07:23 +0200 (CEST) Received: from potemkin.univ-paris7.fr (potemkin.univ-paris7.fr [IPv6:2001:660:3301:8000::1:1]) by korolev.univ-paris7.fr (8.14.4/8.14.4/relay1/82085) with ESMTP id 43AB7MOp028714 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Wed, 10 Apr 2024 13:07:22 +0200 Received: from mailhub.math.univ-paris-diderot.fr (mailhub.math.univ-paris-diderot.fr [81.194.30.253]) by potemkin.univ-paris7.fr (8.14.4/8.14.4/relay2/82085) with ESMTP id 43AB7Mnr004326 for ; Wed, 10 Apr 2024 13:07:22 +0200 Received: from mailhub.math.univ-paris-diderot.fr (localhost [127.0.0.1]) by mailhub.math.univ-paris-diderot.fr (Postfix) with ESMTP id A7A3F2B0A4 for ; Wed, 10 Apr 2024 13:07:19 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=irif.fr; h= content-type:content-type:mime-version:user-agent:subject :subject:from:from:message-id:date:date:received:received; s= dkim-irif; t=1712747238; x=1713611239; bh=3Dz89fV0g3z5wocAmhTxRs XgOskocL75LQgE22IlcBg=; b=QPJUOTR0L5V5aFbKyIS0AVdQzVYAfHXbEc/VIE QXvgkeEmLkUY4H2w9vjTMqkU9fvJ52sz3nCLg6//TWL0Lc9dZ3clUMKiC/mWK4aT AqZ4MgCgq84v4BMkHgOA45jwW/wQjs4v8V6etfG06xOhVa0XyIXpQXvtEmlr0d+9 ToByTBm5YgzlUypcpDfsP65FOInEN1lM22O0/6j7N8G+h7CKuHCG6ocv5zU7J80M IohNFA+nj8il2msMHz6nkHfHA5S+wkRFkEiaAObKDyVmZjo4vFkRLj523CwzVGi/ D/Anw9U5tPbS3GFxwYOcb9vJpAVehuGnEQQdUxNa+waOllyg== 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 uh0WubR4sEih for ; Wed, 10 Apr 2024 13:07:18 +0200 (CEST) Received: from pirx.irif.fr (unknown [78.194.40.74]) (Authenticated sender: jch) by mailhub.math.univ-paris-diderot.fr (Postfix) with ESMTPSA id C72CB2B313 for ; Wed, 10 Apr 2024 13:06:51 +0200 (CEST) Date: Wed, 10 Apr 2024 13:06:51 +0200 Message-ID: <87wmp5v5mc.wl-jch@irif.fr> From: Juliusz Chroboczek To: galene@lists.galene.org User-Agent: Wanderlust/2.15.9 (Almost Unreal) Emacs/29.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 [IPv6:2001:660:3301:8000::1:2]); Wed, 10 Apr 2024 13:07:23 +0200 (CEST) X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.2.7 (potemkin.univ-paris7.fr [194.254.61.141]); Wed, 10 Apr 2024 13:07:22 +0200 (CEST) X-Miltered: at korolev with ID 661672EA.002 by Joe's j-chkmail (http : // j-chkmail dot ensmp dot fr)! X-Miltered: at potemkin with ID 661672EA.001 by Joe's j-chkmail (http : // j-chkmail dot ensmp dot fr)! X-j-chkmail-Enveloppe: 661672EA.002 from potemkin.univ-paris7.fr/potemkin.univ-paris7.fr/null/potemkin.univ-paris7.fr/ X-j-chkmail-Enveloppe: 661672EA.001 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 : 661672EA.002 on korolev.univ-paris7.fr : j-chkmail score : . : R=. U=. O=. B=0.000 -> S=0.000 X-j-chkmail-Score: MSGID : 661672EA.001 on potemkin.univ-paris7.fr : j-chkmail score : . : R=. U=. O=. B=0.000 -> S=0.000 X-j-chkmail-Status: Ham X-j-chkmail-Status: Ham Message-ID-Hash: 6SSFMTY67R7OPVL6VRN3NSKCGPEGXIY5 X-Message-ID-Hash: 6SSFMTY67R7OPVL6VRN3NSKCGPEGXIY5 X-MailFrom: jch@irif.fr X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.9 Precedence: list Subject: [Galene] Heads up: management protocol 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: Hi, Currently, the right was to write a management interface for Galene is to directly edit the on-disk configuration files. This is tricky to do right, and somewhat fragile, since multiple processes are accessing the same files. I've almost finishes implementing an HTTP interface for managing Galene, which will hopefully make it easier to manage remotely. I'm planning to merge it into master before the week-end (it currently lives in branch "api"). # Get the list of groups GET /galene-api/.groups/ # Get a group's configuration GET /galene-api/.groups/groupname This returns a "sanitised" configuration, without any cryptographic keys or user descriptions. # Create a new group PUT /galene-api/.groups/groupname If-None-Match: * The If-None-Match header avoids overwriting an existing group. # Edit a group definition GET /galene-api/group/groupname (edit the returned JSON) PUT /galene-api/.groups/groupname If-Match: (the etag returned by the GET above) The If-Match header avoids overwriting changes made by a different client in the meantime. # Create a new user PUT /galene-api/.groups/groupname/.users/username If-None-Match: * This creates a user entry with an invalid password. You need to set a password in a separate step. # Set a user's password, server-side hashing POST /galene-api/.groups/groupname/.users/username/.password This hashes the password on the server. There is currently no way to set the hashing algorithm (we use 4096 iterations of PBKDF2, which is very weak). # Set a user's password, client-side hashing PUT /galene-api/.groups/groupname/.users/username/.password -- Juliusz