From patchwork Sat Mar 26 08:57:18 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Liliana Marie Prikler X-Patchwork-Id: 38179 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 811E627BBE9; Tue, 29 Mar 2022 20:22:31 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_ADSP_CUSTOM_MED, DKIM_INVALID,DKIM_SIGNED,FREEMAIL_FROM,MAILING_LIST_MULTI, SPF_HELO_PASS,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 85C6D27BBEA for ; Tue, 29 Mar 2022 20:22:29 +0100 (BST) Received: from localhost ([::1]:56534 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nZHQC-000674-L5 for patchwork@mira.cbaines.net; Tue, 29 Mar 2022 15:22:28 -0400 Received: from eggs.gnu.org ([209.51.188.92]:51322) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nZHPn-000664-6w for guix-patches@gnu.org; Tue, 29 Mar 2022 15:22:03 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:39647) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nZHPm-0005hZ-TL for guix-patches@gnu.org; Tue, 29 Mar 2022 15:22:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1nZHPm-0004M4-PJ for guix-patches@gnu.org; Tue, 29 Mar 2022 15:22:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#54578] [PATCH 2/2] services: Replace murmur-service-type with mumble-server-service-type. References: <5d9c4baf3301eee833fa575f0639760046200a6b.camel@gmail.com> In-Reply-To: <5d9c4baf3301eee833fa575f0639760046200a6b.camel@gmail.com> Resent-From: Liliana Marie Prikler Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Tue, 29 Mar 2022 19:22:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 54578 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Ludovic =?utf-8?q?Court=C3=A8s?= Cc: 54578@debbugs.gnu.org Received: via spool by 54578-submit@debbugs.gnu.org id=B54578.164858168516687 (code B ref 54578); Tue, 29 Mar 2022 19:22:02 +0000 Received: (at 54578) by debbugs.gnu.org; 29 Mar 2022 19:21:25 +0000 Received: from localhost ([127.0.0.1]:33543 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nZHP9-0004L4-JP for submit@debbugs.gnu.org; Tue, 29 Mar 2022 15:21:24 -0400 Received: from mail-ed1-f68.google.com ([209.85.208.68]:36768) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nZHP6-0004Kd-0d for 54578@debbugs.gnu.org; Tue, 29 Mar 2022 15:21:21 -0400 Received: by mail-ed1-f68.google.com with SMTP id h4so14065608edr.3 for <54578@debbugs.gnu.org>; Tue, 29 Mar 2022 12:21:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:date:subject:to:cc:content-transfer-encoding:message-id :mime-version; bh=HRqaNMR/Sbyy21dy7ElGNZ4HExEtrEJ86tK/ZEYFlxw=; b=VV92/F08MkmNfV5jWPTooP+jmRRlygKN5vVhH8eVhfwEE6HaS56wnT/aMGF6I5e/LO i6sFvyQjl3X597fdfYkqfbosgCYODoGHYis53tVlz9B+Uuom9sRnXFgg6iKWl0Hmg4hp ZugE24NXkuPyJv9jFt80+HGHYfVp1V0ryBXwC9L1lVLvVClvoAC1idnt/2Nh4PCdYbGw DpCLvue4RLFSTwvXd3iXcRoxBPIrSGwSBqD/s68FB6BBpyG3D2KhXPenMcXP7APAQZjN hoeo9G9AcqAkzlJGlYeTRkVMkpsmOkOHmWYqZ5PQ+tromtbweUlvxNorJ7Y5Vo5ssniJ Z+pA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:date:subject:to:cc :content-transfer-encoding:message-id:mime-version; bh=HRqaNMR/Sbyy21dy7ElGNZ4HExEtrEJ86tK/ZEYFlxw=; b=SkHoqgk78hoS8uHom6MO3ST2AZELed9bHWXmKVq3Mi7uTUq/6AvwK0jD0l48rj+vNa KSf8EDWGpwzwlRHjBrn3vNkKb51QcKeB1mmTEx0YGeNkUoqOnNZmqosaxG/l7BRoQMEv FjCKpFO0kQODl3OhQMqmcriwwy9ZBiYyjyAJBjE0g0wGhvUskel04B7UqaQr0K4JoOrO H68u9wbU/S5VSqN01lViRffHetkvnxvi6a0SE9ELPPO7sG66Vdxllh7Ptr4RLUroXsnV qsAhg3FPH9pllakeo39G40H0IpHrB8j0E5JGWP/z2kAzCpOVXvn8Dq5oyjk/YIstDo35 wtlQ== X-Gm-Message-State: AOAM532GlkX04adZbHPHmKFU0hubbVX6G3l/Gz9RpizOPqn5KEEPDMNT dK8jw2PzoCHqyfM81yTu7gSKvJp38mY= X-Google-Smtp-Source: ABdhPJzBAG3dZ7/jxKiGF9s0A+xelAr9gQxENlEPyTAnJ1kglIcTNi1dVMLdc76Xwt4vvGNJkiFNVw== X-Received: by 2002:aa7:c755:0:b0:419:2f66:e22c with SMTP id c21-20020aa7c755000000b004192f66e22cmr6335301eds.381.1648581673983; Tue, 29 Mar 2022 12:21:13 -0700 (PDT) Received: from nijino.fritz.box (85-127-52-93.dsl.dynamic.surfer.at. [85.127.52.93]) by smtp.gmail.com with ESMTPSA id i11-20020a05640242cb00b0041922d3ce3bsm9031973edc.26.2022.03.29.12.21.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Mar 2022 12:21:13 -0700 (PDT) From: Liliana Marie Prikler Date: Sat, 26 Mar 2022 09:57:18 +0100 Message-ID: MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches * gnu/services/telephony.scm (murmur-configuration, make-murmur-configuration) (murmur-configuration?, murmur-configuration-package) (murmur-configuration-user, murmur-configuration-group) (murmur-configuration-port, murmur-configuration-welcome-text) (murmur-configuration-server-password) (murmur-configuration-max-users) (murmur-configuration-max-user-bandwidth) (murmur-configuration-database-file) (murmur-configuration-log-file, murmur-configuration-pid-file) (murmur-configuration-autoban-attempts) (murmur-configuration-autoban-timeframe) (murmur-configuration-autoban-time) (murmur-configuration-opus-threshold) (murmur-configuration-channel-nesting-limit) (murmur-configuration-channelname-regex) (murmur-configuration-username-regex) (murmur-configuration-test-message-length) (murmur-configuration-image-message-length) (murmur-configuration-cert-required?) (murmur-configuration-remember-channel?) (murmur-configuration-allow-html?) (murmur-configuration-allow-ping?) (murmur-configuration-bonjour?) (murmur-configuration-send-version?) (murmur-configuration-log-days) (murmur-configuration-obfuscate-ips?) (murmur-configuration-ssl-cert murmur-configuration-ssl-key) (murmur-configuration-ssl-dh-params murmur-configuration-ssl-ciphers) (murmur-configuration-public-registration) (murmur-configuration-file) (murmur-public-registration-configuration) (make-murmur-public-registration-configuration) (murmur-public-registration-configuration?) (murmur-public-registration-configuration-name) (murmur-public-registration-configuration-url) (murmur-public-registration-configuration-password) (murmur-public-registration-configuration-hostname) (murmur-service-type): Add deprecation alias and rename to ... (mumble-server-configuration, make-mumble-server-configuration) (mumble-server-configuration?, mumble-server-configuration-package) (mumble-server-configuration-user, mumble-server-configuration-group) (mumble-server-configuration-port, mumble-server-configuration-welcome-text) (mumble-server-configuration-server-password) (mumble-server-configuration-max-users) (mumble-server-configuration-max-user-bandwidth) (mumble-server-configuration-database-file) (mumble-server-configuration-log-file, mumble-server-configuration-pid-file) (mumble-server-configuration-autoban-attempts) (mumble-server-configuration-autoban-timeframe) (mumble-server-configuration-autoban-time) (mumble-server-configuration-opus-threshold) (mumble-server-configuration-channel-nesting-limit) (mumble-server-configuration-channelname-regex) (mumble-server-configuration-username-regex) (mumble-server-configuration-test-message-length) (mumble-server-configuration-image-message-length) (mumble-server-configuration-cert-required?) (mumble-server-configuration-remember-channel?) (mumble-server-configuration-allow-html?) (mumble-server-configuration-allow-ping?) (mumble-server-configuration-bonjour?) (mumble-server-configuration-send-version?) (mumble-server-configuration-log-days) (mumble-server-configuration-obfuscate-ips?) (mumble-server-configuration-ssl-cert mumble-server-configuration-ssl-key) (mumble-server-configuration-ssl-dh-params) (mumble-server-configuration-ssl-ciphers) (mumble-server-configuration-public-registration) (mumble-server-configuration-file) (mumble-server-public-registration-configuration) (make-mumble-server-public-registration-configuration) (mumble-server-public-registration-configuration?) (mumble-server-public-registration-configuration-name) (mumble-server-public-registration-configuration-url) (mumble-server-public-registration-configuration-password) (mumble-server-public-registration-configuration-hostname) (mumble-server-service-type): ... these. * doc/guix.texi ("Murmur (VoIP server)"): Rename to ... ("Mumble server"): ... this. Adjust documentation accordingly. --- doc/guix.texi | 73 ++++--- gnu/services/telephony.scm | 404 +++++++++++++++++++++++++------------ 2 files changed, 312 insertions(+), 165 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index e8ef4286be..f42a0a3bc6 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -24976,21 +24976,21 @@ account fingerprint for a registered username. @end deftp -@subsubheading Murmur (VoIP server) +@subsubheading Mumble server -@cindex Murmur (VoIP server) +@cindex Mumble +@cindex Murmur @cindex VoIP server -This section describes how to set up and run a Murmur server. Murmur is -the server of the @uref{https://mumble.info, Mumble} voice-over-IP -(VoIP) suite. +This section describes how to set up and run a +@uref{https://mumble.info, Mumble} server (formerly known as Murmur). -@deftp {Data Type} murmur-configuration -The service type for the Murmur server. An example configuration can +@deftp {Data Type} mumble-server-configuration +The service type for the Mumble server. An example configuration can look like this: @lisp -(service murmur-service-type - (murmur-configuration +(service mumble-server-service-type + (mumble-server-configuration (welcome-text "Welcome to this Mumble server running on Guix!") (cert-required? #t) ;disallow text password logins @@ -24998,7 +24998,8 @@ look like this: (ssl-key "/etc/letsencrypt/live/mumble.example.com/privkey.pem"))) @end lisp -After reconfiguring your system, you can manually set the murmur @code{SuperUser} +After reconfiguring your system, you can manually set the mumble-server +@code{SuperUser} password with the command that is printed during the activation phase. It is recommended to register a normal Mumble user account @@ -25010,17 +25011,17 @@ the @code{SuperUser} password that you set previously, and grant your newly registered mumble user administrator or moderator rights and create some channels. -Available @code{murmur-configuration} fields are: +Available @code{mumble-server-configuration} fields are: @table @asis @item @code{package} (default: @code{mumble}) -Package that contains @code{bin/murmurd}. +Package that contains @code{bin/mumble-server}. -@item @code{user} (default: @code{"murmur"}) -User who will run the Murmur server. +@item @code{user} (default: @code{"mumble-server"}) +User who will run the Mumble-Server server. -@item @code{group} (default: @code{"murmur"}) -Group of the user who will run the murmur server. +@item @code{group} (default: @code{"mumble-server"}) +Group of the user who will run the mumble-server server. @item @code{port} (default: @code{64738}) Port on which the server will listen. @@ -25037,11 +25038,11 @@ Maximum of users that can be connected to the server at once. @item @code{max-user-bandwidth} (default: @code{#f}) Maximum voice traffic a user can send per second. -@item @code{database-file} (default: @code{"/var/lib/murmur/db.sqlite"}) +@item @code{database-file} (default: @code{"/var/lib/mumble-server/db.sqlite"}) File name of the sqlite database. The service's user will become the owner of the directory. -@item @code{log-file} (default: @code{"/var/log/murmur/murmur.log"}) +@item @code{log-file} (default: @code{"/var/log/mumble-server/mumble-server.log"}) File name of the log file. The service's user will become the owner of the directory. @@ -25080,8 +25081,9 @@ If it is set to @code{#t} clients that use weak password authentication will not be accepted. Users must have completed the certificate wizard to join. @item @code{remember-channel?} (default: @code{#f}) -Should murmur remember the last channel each user was in when they disconnected -and put them into the remembered channel when they rejoin. +Should mumble-server remember the last channel each user was in when +they disconnected and put them into the remembered channel when they +rejoin. @item @code{allow-html?} (default: @code{#f}) Should html be allowed in text messages, user comments, and channel descriptions. @@ -25097,10 +25099,10 @@ Disabling this setting will prevent public listing of the server. Should the server advertise itself in the local network through the bonjour protocol. @item @code{send-version?} (default: @code{#f}) -Should the murmur server version be exposed in ping requests. +Should the mumble-server server version be exposed in ping requests. @item @code{log-days} (default: @code{31}) -Murmur also stores logs in the database, which are accessible via RPC. +Mumble also stores logs in the database, which are accessible via RPC. The default is 31 days of months, but you can set this setting to 0 to keep logs forever, or -1 to disable logging to the database. @@ -25133,17 +25135,19 @@ This option is specified using @uref{https://www.openssl.org/docs/apps/ciphers.html#CIPHER-LIST-FORMAT, OpenSSL cipher list notation}. -It is recommended that you try your cipher string using 'openssl ciphers ' -before setting it here, to get a feel for which cipher suites you will get. -After setting this option, it is recommend that you inspect your Murmur log -to ensure that Murmur is using the cipher suites that you expected it to. +It is recommended that you try your cipher string using +'openssl ciphers ' before setting it here, to get a feel for +which cipher suites you will get. +After setting this option, it is recommend that you inspect your Mumble +server log to ensure that Mumble is using the cipher suites that you +expected it to. Note: Changing this option may impact the backwards compatibility of your -Murmur server, and can remove the ability for older Mumble clients to be able -to connect to it. +Mumble-Server server, and can remove the ability for older Mumble clients to be able to connect to it. @item @code{public-registration} (default: @code{#f}) -Must be a @code{} record or @code{#f}. +Must be a @code{} +record or @code{#f}. You can optionally register your server in the public server list that the @code{mumble} client shows on startup. @@ -25157,8 +25161,8 @@ Optional alternative override for this configuration. @end table @end deftp -@deftp {Data Type} murmur-public-registration-configuration -Configuration for public registration of a murmur service. +@deftp {Data Type} mumble-server-public-registration-configuration +Configuration for public registration of a mumble-server service. @table @asis @item @code{name} @@ -25178,7 +25182,12 @@ If it is set your server will be linked by this host name instead. @end table @end deftp - +@quotation Deprecation notice +Due to historical reasons, all of the above @code{mumble-server-} +procedures are also exported with the @code{murmur-} prefix. +It is recommended that you switch to using @code{mumble-server-} +going forward. +@end quotation @node File-Sharing Services @subsection File-Sharing Services diff --git a/gnu/services/telephony.scm b/gnu/services/telephony.scm index 157d96abd6..d8ebc7b39d 100644 --- a/gnu/services/telephony.scm +++ b/gnu/services/telephony.scm @@ -28,6 +28,7 @@ (define-module (gnu services telephony) #:use-module (gnu packages glib) #:use-module (gnu packages jami) #:use-module (gnu packages telephony) + #:use-module (guix deprecation) #:use-module (guix records) #:use-module (guix modules) #:use-module (guix packages) @@ -56,53 +57,53 @@ (define-module (gnu services telephony) jami-service-type - murmur-configuration - make-murmur-configuration - murmur-configuration? - murmur-configuration-package - murmur-configuration-user - murmur-configuration-group - murmur-configuration-port - murmur-configuration-welcome-text - murmur-configuration-server-password - murmur-configuration-max-users - murmur-configuration-max-user-bandwidth - murmur-configuration-database-file - murmur-configuration-log-file - murmur-configuration-pid-file - murmur-configuration-autoban-attempts - murmur-configuration-autoban-timeframe - murmur-configuration-autoban-time - murmur-configuration-opus-threshold - murmur-configuration-channel-nesting-limit - murmur-configuration-channelname-regex - murmur-configuration-username-regex - murmur-configuration-text-message-length - murmur-configuration-image-message-length - murmur-configuration-cert-required? - murmur-configuration-remember-channel? - murmur-configuration-allow-html? - murmur-configuration-allow-ping? - murmur-configuration-bonjour? - murmur-configuration-send-version? - murmur-configuration-log-days - murmur-configuration-obfuscate-ips? - murmur-configuration-ssl-cert - murmur-configuration-ssl-key - murmur-configuration-ssl-dh-params - murmur-configuration-ssl-ciphers - murmur-configuration-public-registration - murmur-configuration-file - - murmur-public-registration-configuration - make-murmur-public-registration-configuration - murmur-public-registration-configuration? - murmur-public-registration-configuration-name - murmur-public-registration-configuration-url - murmur-public-registration-configuration-password - murmur-public-registration-configuration-hostname - - murmur-service-type)) + mumble-server-configuration + make-mumble-server-configuration + mumble-server-configuration? + mumble-server-configuration-package + mumble-server-configuration-user + mumble-server-configuration-group + mumble-server-configuration-port + mumble-server-configuration-welcome-text + mumble-server-configuration-server-password + mumble-server-configuration-max-users + mumble-server-configuration-max-user-bandwidth + mumble-server-configuration-database-file + mumble-server-configuration-log-file + mumble-server-configuration-pid-file + mumble-server-configuration-autoban-attempts + mumble-server-configuration-autoban-timeframe + mumble-server-configuration-autoban-time + mumble-server-configuration-opus-threshold + mumble-server-configuration-channel-nesting-limit + mumble-server-configuration-channelname-regex + mumble-server-configuration-username-regex + mumble-server-configuration-text-message-length + mumble-server-configuration-image-message-length + mumble-server-configuration-cert-required? + mumble-server-configuration-remember-channel? + mumble-server-configuration-allow-html? + mumble-server-configuration-allow-ping? + mumble-server-configuration-bonjour? + mumble-server-configuration-send-version? + mumble-server-configuration-log-days + mumble-server-configuration-obfuscate-ips? + mumble-server-configuration-ssl-cert + mumble-server-configuration-ssl-key + mumble-server-configuration-ssl-dh-params + mumble-server-configuration-ssl-ciphers + mumble-server-configuration-public-registration + mumble-server-configuration-file + + mumble-server-public-registration-configuration + make-mumble-server-public-registration-configuration + mumble-server-public-registration-configuration? + mumble-server-public-registration-configuration-name + mumble-server-public-registration-configuration-url + mumble-server-public-registration-configuration-password + mumble-server-public-registration-configuration-hostname + + mumble-server-service-type)) ;;; @@ -747,91 +748,91 @@ (define jami-service-type ;;; -;;; Murmur. +;;; Mumble server. ;;; ;; https://github.com/mumble-voip/mumble/blob/master/scripts/murmur.ini -(define-record-type* murmur-configuration - make-murmur-configuration - murmur-configuration? - (package murmur-configuration-package ;file-like +(define-record-type* mumble-server-configuration + make-mumble-server-configuration + mumble-server-configuration? + (package mumble-server-configuration-package ;file-like (default mumble)) - (user murmur-configuration-user - (default "murmur")) - (group murmur-configuration-group - (default "murmur")) - (port murmur-configuration-port + (user mumble-server-configuration-user + (default "mumble-server")) + (group mumble-server-configuration-group + (default "mumble-server")) + (port mumble-server-configuration-port (default 64738)) - (welcome-text murmur-configuration-welcome-text + (welcome-text mumble-server-configuration-welcome-text (default "")) - (server-password murmur-configuration-server-password + (server-password mumble-server-configuration-server-password (default "")) - (max-users murmur-configuration-max-users + (max-users mumble-server-configuration-max-users (default 100)) - (max-user-bandwidth murmur-configuration-max-user-bandwidth + (max-user-bandwidth mumble-server-configuration-max-user-bandwidth (default #f)) - (database-file murmur-configuration-database-file - (default "/var/lib/murmur/db.sqlite")) - (log-file murmur-configuration-log-file - (default "/var/log/murmur/murmur.log")) - (pid-file murmur-configuration-pid-file - (default "/var/run/murmur/murmur.pid")) - (autoban-attempts murmur-configuration-autoban-attempts + (database-file mumble-server-configuration-database-file + (default "/var/lib/mumble-server/db.sqlite")) + (log-file mumble-server-configuration-log-file + (default "/var/log/mumble-server/mumble-server.log")) + (pid-file mumble-server-configuration-pid-file + (default "/var/run/mumble-server/mumble-server.pid")) + (autoban-attempts mumble-server-configuration-autoban-attempts (default 10)) - (autoban-timeframe murmur-configuration-autoban-timeframe + (autoban-timeframe mumble-server-configuration-autoban-timeframe (default 120)) - (autoban-time murmur-configuration-autoban-time + (autoban-time mumble-server-configuration-autoban-time (default 300)) - (opus-threshold murmur-configuration-opus-threshold + (opus-threshold mumble-server-configuration-opus-threshold (default 100)) ; integer percent - (channel-nesting-limit murmur-configuration-channel-nesting-limit + (channel-nesting-limit mumble-server-configuration-channel-nesting-limit (default 10)) - (channelname-regex murmur-configuration-channelname-regex + (channelname-regex mumble-server-configuration-channelname-regex (default #f)) - (username-regex murmur-configuration-username-regex + (username-regex mumble-server-configuration-username-regex (default #f)) - (text-message-length murmur-configuration-text-message-length + (text-message-length mumble-server-configuration-text-message-length (default 5000)) - (image-message-length murmur-configuration-image-message-length + (image-message-length mumble-server-configuration-image-message-length (default (* 128 1024))) ; 128 Kilobytes - (cert-required? murmur-configuration-cert-required? + (cert-required? mumble-server-configuration-cert-required? (default #f)) - (remember-channel? murmur-configuration-remember-channel? + (remember-channel? mumble-server-configuration-remember-channel? (default #f)) - (allow-html? murmur-configuration-allow-html? + (allow-html? mumble-server-configuration-allow-html? (default #f)) - (allow-ping? murmur-configuration-allow-ping? + (allow-ping? mumble-server-configuration-allow-ping? (default #f)) - (bonjour? murmur-configuration-bonjour? + (bonjour? mumble-server-configuration-bonjour? (default #f)) - (send-version? murmur-configuration-send-version? + (send-version? mumble-server-configuration-send-version? (default #f)) - (log-days murmur-configuration-log-days + (log-days mumble-server-configuration-log-days (default 31)) - (obfuscate-ips? murmur-obfuscate-ips? + (obfuscate-ips? mumble-server-obfuscate-ips? (default #t)) - (ssl-cert murmur-configuration-ssl-cert + (ssl-cert mumble-server-configuration-ssl-cert (default #f)) - (ssl-key murmur-configuration-ssl-key + (ssl-key mumble-server-configuration-ssl-key (default #f)) - (ssl-dh-params murmur-configuration-ssl-dh-params + (ssl-dh-params mumble-server-configuration-ssl-dh-params (default #f)) - (ssl-ciphers murmur-configuration-ssl-ciphers + (ssl-ciphers mumble-server-configuration-ssl-ciphers (default #f)) - (public-registration murmur-configuration-public-registration - (default #f)) ; - (file murmur-configuration-file + (public-registration mumble-server-configuration-public-registration + (default #f)) ; + (file mumble-server-configuration-file (default #f))) -(define-record-type* - murmur-public-registration-configuration - make-murmur-public-registration-configuration - murmur-public-registration-configuration? - (name murmur-public-registration-configuration-name) - (password murmur-public-registration-configuration-password) - (url murmur-public-registration-configuration-url) - (hostname murmur-public-registration-configuration-hostname +(define-record-type* + mumble-server-public-registration-configuration + make-mumble-server-public-registration-configuration + mumble-server-public-registration-configuration? + (name mumble-server-public-registration-configuration-name) + (password mumble-server-public-registration-configuration-password) + (url mumble-server-public-registration-configuration-url) + (hostname mumble-server-public-registration-configuration-hostname (default #f))) (define (flatten . lst) @@ -842,10 +843,10 @@ (define (flatten1 head out) (cons head out))) (fold-right flatten1 '() lst)) -(define (default-murmur-config config) +(define (default-mumble-server-config config) (match-record config - + (user port welcome-text server-password max-users max-user-bandwidth database-file log-file pid-file autoban-attempts autoban-timeframe autoban-time opus-threshold channel-nesting-limit channelname-regex @@ -853,7 +854,7 @@ (define (default-murmur-config config) remember-channel? allow-html? allow-ping? bonjour? send-version? log-days obfuscate-ips? ssl-cert ssl-key ssl-dh-params ssl-ciphers public-registration) - (apply mixed-text-file "murmur.ini" + (apply mixed-text-file "mumble-server.ini" (flatten "welcometext=" welcome-text "\n" "port=" (number->string port) "\n" @@ -896,7 +897,7 @@ (define (default-murmur-config config) (match public-registration (#f '()) - (($ + (($ name password url hostname) (if (and (or (not server-password) (string-null? server-password)) allow-ping?) @@ -907,41 +908,41 @@ (define (default-murmur-config config) (if hostname (string-append "registerHostname=" hostname "\n") "")) - (error "To publicly register your murmur server your server must be publicy visible + (error "To publicly register your mumble-server server your server must be publicy visible and users must be able to join without a password. To fix this set: (allow-ping? #t) (server-password \"\") Or set public-registration to #f")))))))) -(define (murmur-activation config) +(define (mumble-server-activation config) #~(begin (use-modules (guix build utils)) - (let* ((log-dir (dirname #$(murmur-configuration-log-file config))) - (pid-dir (dirname #$(murmur-configuration-pid-file config))) - (db-dir (dirname #$(murmur-configuration-database-file config))) - (user (getpwnam #$(murmur-configuration-user config))) + (let* ((log-dir (dirname #$(mumble-server-configuration-log-file config))) + (pid-dir (dirname #$(mumble-server-configuration-pid-file config))) + (db-dir (dirname #$(mumble-server-configuration-database-file config))) + (user (getpwnam #$(mumble-server-configuration-user config))) (init-dir (lambda (name dir) - (format #t "creating murmur ~a directory '~a'\n" name dir) + (format #t "creating mumble-server ~a directory '~a'\n" name dir) (mkdir-p dir) (chown dir (passwd:uid user) (passwd:gid user)) (chmod dir #o700))) - (ini #$(or (murmur-configuration-file config) - (default-murmur-config config)))) + (ini #$(or (mumble-server-configuration-file config) + (default-mumble-server-config config)))) (init-dir "log" log-dir) (init-dir "pid" pid-dir) (init-dir "database" db-dir) - (format #t "murmur: use config file: ~a~%\n" ini) - (format #t "murmur: to set the SuperUser password run: + (format #t "mumble-server: use config file: ~a~%\n" ini) + (format #t "mumble-server: to set the SuperUser password run: `~a -ini ~a -readsupw`\n" - #$(file-append (murmur-configuration-package config) + #$(file-append (mumble-server-configuration-package config) "/bin/mumble-server") ini) #t))) -(define murmur-accounts +(define mumble-server-accounts (match-lambda - (($ _ user group) + (($ _ user group) (list (user-group (name group) @@ -950,37 +951,174 @@ (define murmur-accounts (name user) (group group) (system? #t) - (comment "Murmur Daemon") + (comment "Mumble server daemon") (home-directory "/var/empty") (shell (file-append shadow "/sbin/nologin"))))))) -(define (murmur-shepherd-service config) +(define (mumble-server-shepherd-service config) (list (shepherd-service - (provision '(murmur)) - (documentation "Run the Murmur Mumble server.") + (provision '(mumble-server)) + (documentation "Run the Mumble server.") (requirement '(networking)) (start #~(make-forkexec-constructor - '(#$(file-append (murmur-configuration-package config) + '(#$(file-append (mumble-server-configuration-package config) "/bin/mumble-server") "-ini" - #$(or (murmur-configuration-file config) - (default-murmur-config config))) - #:pid-file #$(murmur-configuration-pid-file config))) + #$(or (mumble-server-configuration-file config) + (default-mumble-server-config config))) + #:pid-file #$(mumble-server-configuration-pid-file config))) (stop #~(make-kill-destructor))))) -(define murmur-service-type - (service-type (name 'murmur) +(define mumble-server-service-type + (service-type (name 'mumble-server) (description - "Run the Murmur voice-over-IP (VoIP) server of the Mumble -suite.") + "Run the Mumble voice-over-IP (VoIP) server.") (extensions (list (service-extension shepherd-root-service-type - murmur-shepherd-service) + mumble-server-shepherd-service) (service-extension activation-service-type - murmur-activation) + mumble-server-activation) (service-extension account-service-type - murmur-accounts))) - (default-value (murmur-configuration)))) + mumble-server-accounts))) + (default-value (mumble-server-configuration)))) + +(define-deprecated/public-alias + murmur-configuration + mumble-server-configuration) +(define-deprecated/public-alias + make-murmur-configuration + make-mumble-server-configuration) +(define-deprecated/public-alias + murmur-configuration? + mumble-server-configuration?) +(define-deprecated/public-alias + murmur-configuration-package + mumble-server-configuration-package) +(define-deprecated/public-alias + murmur-configuration-user + mumble-server-configuration-user) +(define-deprecated/public-alias + murmur-configuration-group + mumble-server-configuration-group) +(define-deprecated/public-alias + murmur-configuration-port + mumble-server-configuration-port) +(define-deprecated/public-alias + murmur-configuration-welcome-text + mumble-server-configuration-welcome-text) +(define-deprecated/public-alias + murmur-configuration-server-password + mumble-server-configuration-server-password) +(define-deprecated/public-alias + murmur-configuration-max-users + mumble-server-configuration-max-users) +(define-deprecated/public-alias + murmur-configuration-max-user-bandwidth + mumble-server-configuration-max-user-bandwidth) +(define-deprecated/public-alias + murmur-configuration-database-file + mumble-server-configuration-database-file) +(define-deprecated/public-alias + murmur-configuration-log-file + mumble-server-configuration-log-file) +(define-deprecated/public-alias + murmur-configuration-pid-file + mumble-server-configuration-pid-file) +(define-deprecated/public-alias + murmur-configuration-autoban-attempts + mumble-server-configuration-autoban-attempts) +(define-deprecated/public-alias + murmur-configuration-autoban-timeframe + mumble-server-configuration-autoban-timeframe) +(define-deprecated/public-alias + murmur-configuration-autoban-time + mumble-server-configuration-autoban-time) +(define-deprecated/public-alias + murmur-configuration-opus-threshold + mumble-server-configuration-opus-threshold) +(define-deprecated/public-alias + murmur-configuration-channel-nesting-limit + mumble-server-configuration-channel-nesting-limit) +(define-deprecated/public-alias + murmur-configuration-channelname-regex + mumble-server-configuration-channelname-regex) +(define-deprecated/public-alias + murmur-configuration-username-regex + mumble-server-configuration-username-regex) +(define-deprecated/public-alias + murmur-configuration-text-message-length + mumble-server-configuration-text-message-length) +(define-deprecated/public-alias + murmur-configuration-image-message-length + mumble-server-configuration-image-message-length) +(define-deprecated/public-alias + murmur-configuration-cert-required? + mumble-server-configuration-cert-required?) +(define-deprecated/public-alias + murmur-configuration-remember-channel? + mumble-server-configuration-remember-channel?) +(define-deprecated/public-alias + murmur-configuration-allow-html? + mumble-server-configuration-allow-html?) +(define-deprecated/public-alias + murmur-configuration-allow-ping? + mumble-server-configuration-allow-ping?) +(define-deprecated/public-alias + murmur-configuration-bonjour? + mumble-server-configuration-bonjour?) +(define-deprecated/public-alias + murmur-configuration-send-version? + mumble-server-configuration-send-version?) +(define-deprecated/public-alias + murmur-configuration-log-days + mumble-server-configuration-log-days) +(define-deprecated/public-alias + murmur-configuration-obfuscate-ips? + mumble-server-configuration-obfuscate-ips?) +(define-deprecated/public-alias + murmur-configuration-ssl-cert + mumble-server-configuration-ssl-cert) +(define-deprecated/public-alias + murmur-configuration-ssl-key + mumble-server-configuration-ssl-key) +(define-deprecated/public-alias + murmur-configuration-ssl-dh-params + mumble-server-configuration-ssl-dh-params) +(define-deprecated/public-alias + murmur-configuration-ssl-ciphers + mumble-server-configuration-ssl-ciphers) +(define-deprecated/public-alias + murmur-configuration-public-registration + mumble-server-configuration-public-registration) +(define-deprecated/public-alias + murmur-configuration-file + mumble-server-configuration-file) + +(define-deprecated/public-alias + murmur-public-registration-configuration + mumble-server-public-registration-configuration) +(define-deprecated/public-alias + make-murmur-public-registration-configuration + make-mumble-server-public-registration-configuration) +(define-deprecated/public-alias + murmur-public-registration-configuration? + mumble-server-public-registration-configuration?) +(define-deprecated/public-alias + murmur-public-registration-configuration-name + mumble-server-public-registration-configuration-name) +(define-deprecated/public-alias + murmur-public-registration-configuration-url + mumble-server-public-registration-configuration-url) +(define-deprecated/public-alias + murmur-public-registration-configuration-password + mumble-server-public-registration-configuration-password) +(define-deprecated/public-alias + murmur-public-registration-configuration-hostname + mumble-server-public-registration-configuration-hostname) + +(define-deprecated/public-alias + murmur-service-type + mumble-server-service-type) ;; Local Variables: ;; eval: (put 'with-retries 'scheme-indent-function 2)