diff options
author | Vivien Kraus <vivien@planete-kraus.eu> | 2021-07-30 11:58:08 +0200 |
---|---|---|
committer | Vivien Kraus <vivien@planete-kraus.eu> | 2021-08-01 15:25:08 +0200 |
commit | ed64c545c4723dc0efdb1265b05d682e11e4c1f6 (patch) | |
tree | 4c4393adc62bff130840c41d9fb137c939f12246 | |
parent | c6f9d0a4878b2e94e92cc8fce5800fb43185be4d (diff) |
Change the name!
-rw-r--r-- | AUTHORS | 2 | ||||
-rw-r--r-- | Makefile.am | 2 | ||||
-rw-r--r-- | NEWS | 15 | ||||
-rw-r--r-- | README | 6 | ||||
-rwxr-xr-x | bootstrap | 4 | ||||
-rw-r--r-- | ci.scm | 8 | ||||
-rw-r--r-- | configure.ac | 4 | ||||
-rw-r--r-- | doc/Makefile.am | 6 | ||||
-rw-r--r-- | doc/disfluid.texi (renamed from doc/webid-oidc.texi) | 91 | ||||
-rw-r--r-- | doc/style.css | 2 | ||||
-rwxr-xr-x | get-release | 2 | ||||
-rwxr-xr-x | get-version | 2 | ||||
-rw-r--r-- | guix/vkraus/packages/disfluid.scm (renamed from guix/vkraus/packages/webid-oidc.scm) | 44 | ||||
-rw-r--r-- | guix/vkraus/services/disfluid.scm | 520 | ||||
-rw-r--r-- | guix/vkraus/services/webid-oidc.scm | 520 | ||||
-rwxr-xr-x | hooks/update | 2 | ||||
-rw-r--r-- | man/Makefile.am | 16 | ||||
-rwxr-xr-x | man/reset-env.in | 2 | ||||
-rw-r--r-- | po/POTFILES.in | 2 | ||||
-rw-r--r-- | po/disfluid.pot (renamed from po/webid-oidc.pot) | 65 | ||||
-rw-r--r-- | po/fr.po | 74 | ||||
-rwxr-xr-x | pre-inst-env.in | 2 | ||||
-rw-r--r-- | src/Makefile.am | 4 | ||||
-rwxr-xr-x | src/disfluid (renamed from src/webid-oidc) | 2 | ||||
-rwxr-xr-x | src/disfluid-example-app (renamed from src/webid-oidc-example-app) | 2 | ||||
-rwxr-xr-x | src/disfluid-hello (renamed from src/webid-oidc-hello) | 2 | ||||
-rw-r--r-- | src/random/random.c | 4 | ||||
-rw-r--r-- | src/scm/webid-oidc/cache.scm | 4 | ||||
-rw-r--r-- | src/scm/webid-oidc/client.scm | 4 | ||||
-rw-r--r-- | src/scm/webid-oidc/example-app.scm | 2 | ||||
-rw-r--r-- | src/scm/webid-oidc/program.scm | 8 | ||||
-rw-r--r-- | src/scm/webid-oidc/refresh-token.scm | 4 | ||||
-rw-r--r-- | src/scm/webid-oidc/testing.scm | 2 | ||||
-rw-r--r-- | tests/acl.scm | 2 | ||||
-rw-r--r-- | tests/crud.scm | 4 | ||||
-rw-r--r-- | tests/server-content.scm | 4 | ||||
-rw-r--r-- | update-channel.scm | 18 |
37 files changed, 706 insertions, 751 deletions
@@ -1,4 +1,4 @@ -#+title: Webid-oidc authors +#+title: disfluid authors #+language: en #+author: Vivien Kraus #+email: vivien@planete-kraus.eu diff --git a/Makefile.am b/Makefile.am index 42e27ca..3b9caba 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,4 +1,4 @@ -# webid-oidc, implementation of the Solid specification +# disfluid, implementation of the Solid specification # Copyright (C) 2020, 2021 Vivien Kraus # This program is free software: you can redistribute it and/or modify @@ -1,12 +1,23 @@ -#+title: What's new in webidoidc? +#+title: What's new in disfluid? #+language: en #+author: Vivien Kraus #+email: vivien@planete-kraus.eu +* The project is renamed! +webid-oidc was a stupid name for 2 reasons: +- it did not say anything special about the project; +- nothing is called webid-oidc in the protocol anymore. + +Plus, the new name is a tail-recursive (almost) acronym for: + +Demanding Interoperability to Strengthen the Free (Libre) Web: +Introducing DISFLUID + +That makes it special: DISFLUID is not SOLID. + * Initial features ** The server has now a coherent set of features It is now possible to run a full Solid server. There are known shortcomings: -- json-ld is not supported; - LD-PATCH is not supported; - the websocket pubsub API is not supported (at this time, it’s not standardized either). @@ -1,4 +1,4 @@ -#+title: Webid-oidc +#+title: Demanding Interoperability to Strengthen the Free (Libre) Web: Introducing DISFLUID #+language: en #+author: Vivien Kraus #+email: vivien@planete-kraus.eu @@ -38,12 +38,12 @@ These are the run-time dependencies: To build, first run the =bootstrap= script, then =./configure=, =make=. You can run the program without installing it, by running -=./pre-inst-env guile src/webid-oidc=, or you can install it with +=./pre-inst-env guile src/disfluid=, or you can install it with =make install=. * Running -Once installed, you get a program named =webid-oidc=. Run it with =-h= +Once installed, you get a program named =disfluid=. Run it with =-h= to get the options. # Local Variables: @@ -1,6 +1,6 @@ #!/bin/sh -# webid-oidc, implementation of the Solid specification +# disfluid, implementation of the Solid specification # Copyright (C) 2020, 2021 Vivien Kraus # This program is free software: you can redistribute it and/or modify @@ -20,7 +20,7 @@ autoreconf -vif || exit 1 sed -i 's|SHELL = /bin/sh|SHELL = @SHELL@|g' po/Makefile.in.in || exit 1 ## Prepare the man pages -SCRIPTS_THAT_GET_EXECUTED="../src/webid-oidc ../src/webid-oidc-example-app" +SCRIPTS_THAT_GET_EXECUTED="../src/disfluid ../src/disfluid-example-app" mkdir -p .native || exit 1 cd .native || exit 1 @@ -1,4 +1,4 @@ -;; webid-oidc, implementation of the Solid specification +;; disfluid, implementation of the Solid specification ;; Copyright (C) 2020, 2021 Vivien Kraus ;; This program is free software: you can redistribute it and/or modify @@ -14,7 +14,7 @@ ;; You should have received a copy of the GNU Affero General Public License ;; along with this program. If not, see <https://www.gnu.org/licenses/>. -(use-modules (vkraus packages webid-oidc)) +(use-modules (vkraus packages disfluid)) (use-modules (gnu packages bash)) (use-modules (gnu packages base)) (use-modules (gnu packages tex)) @@ -71,14 +71,14 @@ (interned-file tmp-dirname "ci-checkout" #:recursive? #t)))) (delete-file-recursively tmp-dirname) interned)))) - (let ((dist-without-maintainer (dist-package webid-oidc-snapshot checked-out-index)) + (let ((dist-without-maintainer (dist-package disfluid-snapshot checked-out-index)) (version (car (string-split (call-with-input-file (string-append checked-out-index "/.tarball-version") get-string-all) #\newline)))) - (let ((tar-name (string-append "webid-oidc-" version ".tar.gz"))) + (let ((tar-name (string-append "disfluid-" version ".tar.gz"))) (computed-file tar-name #~(let ((source diff --git a/configure.ac b/configure.ac index d1a37aa..960196b 100644 --- a/configure.ac +++ b/configure.ac @@ -1,4 +1,4 @@ -dnl webid-oidc, implementation of the Solid specification +dnl disfluid, implementation of the Solid specification dnl Copyright (C) 2020, 2021 Vivien Kraus dnl This program is free software: you can redistribute it and/or modify @@ -14,7 +14,7 @@ dnl GNU Affero General Public License for more details. dnl You should have received a copy of the GNU Affero General Public License dnl along with this program. If not, see <https://www.gnu.org/licenses/>. -AC_INIT([webid-oidc], m4_esyscmd([bash ./get-version]), [vivien@planete-kraus.eu]) +AC_INIT([disfluid], m4_esyscmd([bash ./get-version]), [vivien@planete-kraus.eu]) AC_CONFIG_SRCDIR([src/libwebidoidc.c]) AM_INIT_AUTOMAKE([subdir-objects]) AM_SILENT_RULES([yes]) diff --git a/doc/Makefile.am b/doc/Makefile.am index 7cdbfd3..d300e77 100644 --- a/doc/Makefile.am +++ b/doc/Makefile.am @@ -1,4 +1,4 @@ -# webid-oidc, implementation of the Solid specification +# disfluid, implementation of the Solid specification # Copyright (C) 2020, 2021 Vivien Kraus # This program is free software: you can redistribute it and/or modify @@ -17,7 +17,7 @@ EXTRA_DIST += \ %reldir%/fdl.texi -info_TEXINFOS = %reldir%/webid-oidc.texi -%canon_reldir%_webid_oidc_texi_TEXINFOS = %reldir%/fdl.texi +info_TEXINFOS = %reldir%/disfluid.texi +%canon_reldir%_disfluid_texi_TEXINFOS = %reldir%/fdl.texi AM_MAKEINFOHTMLFLAGS = --css-include=doc/style.css diff --git a/doc/webid-oidc.texi b/doc/disfluid.texi index e7df400..bebc61b 100644 --- a/doc/webid-oidc.texi +++ b/doc/disfluid.texi @@ -3,7 +3,7 @@ @documentlanguage en @comment %**start of header @include version.texi -@settitle Webid-oidc manual +@settitle Demanding Interoperability to Strengthen the Free (Libre) Web: Introducing Disfluid @syncodeindex pg cp @syncodeindex fn cp @syncodeindex vr cp @@ -11,7 +11,7 @@ @comment %**end of header @copying -This is the manual of webid-oidc (version @value{VERSION}, @value{UPDATED}), an implementation of the Solid authentication protocol for guile, client and server. +This is the manual of disfluid (version @value{VERSION}, @value{UPDATED}), an implementation of the Solid authentication protocol for guile, client and server. Copyright @copyright{} 2020, 2021 Vivien Kraus @quotation @@ -27,11 +27,11 @@ Free Documentation License'' @dircategory Software libraries @direntry -* webid-oidc: (webid-oidc)Decentralized Authentication on the Web. +* disfluid: (disfluid)Interoperability on the web @end direntry @titlepage -@title Webid-oidc manual +@title Demanding Interoperability to Strengthen the Free (Libre) Web: Introducing Disfluid @subtitle for version @value{VERSION}, @value{UPDATED} @author Vivien Kraus (@email{vivien@@planete-kraus.eu}) @page @@ -42,12 +42,12 @@ Free Documentation License'' @contents @ifnottex @node Top -@top Webid-oidc +@top Disfluid @end ifnottex @menu * Decentralized Authentication on the Web:: -* Invoking webid-oidc:: +* Invoking disfluid:: * The Json Web Token:: * Caching on server side:: * Content negociation:: @@ -100,10 +100,10 @@ well-established OpenID Connect. It is intended to work in a web browser, but this package demonstrates that it also works without a web browser. -@node Invoking webid-oidc -@chapter Invoking webid-oidc +@node Invoking disfluid +@chapter Invoking disfluid -The @samp{webid-oidc} program provides different modes of operations: +The @samp{disfluid} program provides different modes of operations: @table @samp @item reverse-proxy @@ -150,7 +150,7 @@ environment variable. @section General server configuration All servers are published under the Affero GPL, which means that the service provider needs to publish all changes made to the program to -users over the network. The @samp{webid-oidc} command provides a +users over the network. The @samp{disfluid} command provides a @samp{--complete-corresponding-source} option so that the system administrator can specify a means to download the source. @@ -604,7 +604,6 @@ the seed. @chapter Running a Resource Server @menu -* Running webid-oidc reverse-proxy:: * The authenticator:: * The full server:: * Resources stored on the server:: @@ -614,38 +613,6 @@ A Solid server is the server that manages your data. It needs to check that the proofs of possession are correct, and the possessed key is signed by the identity provider. -@node Running webid-oidc reverse-proxy -@section Running webid-oidc reverse-proxy - -The @code{webid-oidc} program comes with a reverse proxy command, -aptly named @code{reverse-proxy}, to listen to an interface, take -requests, authenticate them, and pass them to a backend with an -additional header containing the webid of the agent, if authenticated. - -The reverse proxy is invoked with the following arguments: - -@table @asis -@item @code{-p}@var{PORT}, @code{--port=}@var{PORT} -the port on which the reverse proxy listens; -@item @code{-n}@var{URI}, @code{--server-name=}@var{URI} -the public name of the server; -@item @code{-b}@var{URI}, @code{--backend-uri=}@var{URI} -the address of the backend; -@item @code{-H}@var{HEADER}, @code{--header=}@var{HEADER} -replace the name of the header that will contain the webid of the -user. Defaults to @code{XXX-Agent}. Please note that this value should -be ASCII, otherwise it’s not guaranteed that the reverse proxy will -drop other capitalizations of the header in malicious requests; -@item @code{-l @var{FILE.log}}, or @code{--log-file=@var{FILE.log}} -let the server dump all its output to @var{FILE.log}. See the identity -provider comment; -@item @code{-e @var{FILE.err}}, or @code{--error-file=@var{FILE.err}} -let the server dump all its errors to @var{FILE.err}. -@end table - -You can localize the interface by setting the @var{LANG} environment -variable. - @node The authenticator @section The authenticator @@ -931,8 +898,8 @@ used to issue DPoP proofs. @end deffn An example application is provided as the -@code{webid-oidc-example-app} program. It demonstrates how -authentication is done. It should help you understand how webid-oidc +@code{disfluid-example-app} program. It demonstrates how +authentication is done. It should help you understand how Solid-OIDC works. The identity provider needs to call the application on the web. So, @@ -945,40 +912,6 @@ the @var{client-name} to your application name and @var{client-uri} to point to where to a presentation of your application. @end deffn -The @code{webid-oidc} @code{client-service} command can run a server -to serve these resources. It is invoked with the following options: - -@table @asis -@item @code{-h}, or @code{--help} -prints a summary of the options and exit. -@item @code{-v}, or @code{--version} -prints the version of the program and exits. -@item @code{-c @var{URI}}, or @code{--client-id=@var{URI}} -sets the global identitifier of the application, which is dereferenced -to a semantic resource. -@item @code{-r @var{URI}}, or @code{--redirect-uri=@var{URI}} -sets the redirection URI. -@item @code{-C @var{NAME}}, or @code{--client-name=@var{NAME}} -sets the name of your application, so that it is shown when the user -gets an authorization. The webid-oidc issuer program that comes with -this package does not display it, because it could be dishonest, but -other implementations might. -@item @code{-u @var{URI}}, or @code{--client-uri=@var{URI}} -sets an URI for the identity provider to learn more about your app. -@item @code{-p @var{PORT}}, or @code{--port=@var{PORT}} -change the port number used by the server. By default, it is set to -8080. -@item @code{-l @var{FILE.log}}, or @code{--log-file=@var{FILE.log}} -let the server dump all its output to @var{FILE.log}. -@item @code{-e @var{FILE.err}}, or @code{--error-file=@var{FILE.err}} -let the server dump all its errors to @var{FILE.err}. -@end table - -The command is sensitive to the environment variable @emph{LANG}, -which influences how the program is internationalized to the server -administrator. This changes the long form of the options, and the -language in the log files. - @node Exceptional conditions @chapter Exceptional conditions diff --git a/doc/style.css b/doc/style.css index e2dd04d..9a870f8 100644 --- a/doc/style.css +++ b/doc/style.css @@ -1,4 +1,4 @@ -/* webid-oidc, implementation of the Solid specification +/* disfluid, implementation of the Solid specification Copyright (C) 2020, 2021 Vivien Kraus This program is free software: you can redistribute it and/or modify diff --git a/get-release b/get-release index 57d952d..6987b1f 100755 --- a/get-release +++ b/get-release @@ -1,6 +1,6 @@ #!/bin/sh -# webid-oidc, implementation of the Solid specification +# disfluid, implementation of the Solid specification # Copyright (C) 2021 Vivien Kraus # This program is free software: you can redistribute it and/or modify diff --git a/get-version b/get-version index 4a80cdf..a863ceb 100755 --- a/get-version +++ b/get-version @@ -1,6 +1,6 @@ #!/bin/sh -# webid-oidc, implementation of the Solid specification +# disfluid, implementation of the Solid specification # Copyright (C) 2020, 2021 Vivien Kraus # This program is free software: you can redistribute it and/or modify diff --git a/guix/vkraus/packages/webid-oidc.scm b/guix/vkraus/packages/disfluid.scm index 223438b..f372315 100644 --- a/guix/vkraus/packages/webid-oidc.scm +++ b/guix/vkraus/packages/disfluid.scm @@ -1,4 +1,4 @@ -;; webid-oidc, implementation of the Solid specification +;; disfluid, implementation of the Solid specification ;; Copyright (C) 2020, 2021 Vivien Kraus ;; This program is free software: you can redistribute it and/or modify @@ -14,7 +14,7 @@ ;; You should have received a copy of the GNU Affero General Public License ;; along with this program. If not, see <https://www.gnu.org/licenses/>. -(define-module (vkraus packages webid-oidc) +(define-module (vkraus packages disfluid) #:use-module (guix packages) #:use-module (guix gexp) #:use-module ((guix licenses) #:prefix license:) @@ -33,11 +33,11 @@ #:use-module (gnu packages man) #:use-module (gnu packages tls)) -(define-public webid-oidc-snapshot +(define-public disfluid-snapshot (package - (name "webid-oidc-snapshot") + (name "disfluid-snapshot") (version "SNAPSHOT") - (source "./webid-oidc-SNAPSHOT.tar.gz") + (source "./disfluid-SNAPSHOT.tar.gz") (build-system gnu-build-system) (arguments '(#:modules ((guix build utils) @@ -90,13 +90,15 @@ prop-input effective-version)) guile-propagated-inputs)))) (wrap-program - (format #f "~a/bin/webid-oidc" out) + (format #f "~a/bin/disfluid" out) `("GUILE_LOAD_PATH" ":" = ,mod-paths) `("GUILE_LOAD_COMPILED_PATH" ":" = ,go-paths)) + (symlink (format #f "~a/bin/disfluid" out) + (format #f "~a/bin/webid-oidc" out)) (for-each (lambda (program) (wrap-program - (format #f "~a/bin/webid-oidc-~a" out program) + (format #f "~a/bin/disfluid-~a" out program) `("GUILE_LOAD_PATH" ":" = ,mod-paths) `("GUILE_LOAD_COMPILED_PATH" ":" = ,go-paths))) '(example-app hello)))))))) @@ -121,8 +123,8 @@ ("guile-jsonld" ,guile-rdf) ("gnutls" ,gnutls) ("nettle" ,nettle))) - (synopsis "") - (description "") + (synopsis "Demanding Interoperability to Strengthen the Free (Libre) Web: Introducing Disfluid") + (description "Demanding Interoperability to Strengthen the Free (Libre) Web: Introducing Disfluid") (home-page "https://labo.planete-kraus.eu/webid-oidc.git") (license license:agpl3+) (native-search-paths @@ -130,10 +132,10 @@ (variable "LTDL_LIBRARY_PATH") (files '("lib"))))))) -(define-public (webid-oidc-release version release-date commit hash) +(define-public (disfluid-release version release-date commit hash) (package - (inherit webid-oidc-snapshot) - (name "webid-oidc") + (inherit disfluid-snapshot) + (name "disfluid") (version version) (source (origin @@ -150,10 +152,10 @@ (lambda _ (format #t "~a~%" ,release-date))) #t)))))) -(define-public (webid-oidc-htmlize webid-oidc) +(define-public (disfluid-htmlize disfluid) (package - (inherit webid-oidc) - (name "webid-oidc-html") + (inherit disfluid) + (name "disfluid-html") (arguments '(#:modules ((guix build utils) (guix build gnu-build-system) @@ -192,14 +194,14 @@ get-string-all) #\newline)))) (copy-file (string-append - "webid-oidc-" version ".tar.gz") + "disfluid-" version ".tar.gz") (string-append (assoc-ref outputs "out") - "/share/doc/webid-oidc/webid-oidc.html/complete-corresponding-source.tar.gz")))))))) - (synopsis "HTML documentation for webid-oidc") - (description "The manual for webid-oidc is provided as a texinfo + "/share/doc/disfluid/disfluid.html/complete-corresponding-source.tar.gz")))))))) + (synopsis "HTML documentation for Disfluid") + (description "The manual for disfluid is provided as a texinfo file, which is exported to HTML. Also include the complete corresponding source, as an AGPL requirement."))) -(define-public (make-website webid-oidc) - (file-append (webid-oidc-htmlize webid-oidc) "/share/doc/webid-oidc/webid-oidc.html")) +(define-public (make-website disfluid) + (file-append (disfluid-htmlize disfluid) "/share/doc/disfluid/disfluid.html")) diff --git a/guix/vkraus/services/disfluid.scm b/guix/vkraus/services/disfluid.scm new file mode 100644 index 0000000..ba2e976 --- /dev/null +++ b/guix/vkraus/services/disfluid.scm @@ -0,0 +1,520 @@ +;; disfluid, implementation of the Solid specification +;; Copyright (C) 2020, 2021 Vivien Kraus + +;; This program is free software: you can redistribute it and/or modify +;; it under the terms of the GNU Affero General Public License as +;; published by the Free Software Foundation, either version 3 of the +;; License, or (at your option) any later version. + +;; This program is distributed in the hope that it will be useful, +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU Affero General Public License for more details. + +;; You should have received a copy of the GNU Affero General Public License +;; along with this program. If not, see <https://www.gnu.org/licenses/>. + +(define-module (vkraus services disfluid) + #:use-module (gnu services) + #:use-module (gnu services shepherd) + #:use-module (gnu services admin) + #:use-module (gnu services web) + #:use-module (gnu system shadow) + #:use-module (gnu packages admin) + #:use-module (vkraus packages disfluid) + #:use-module (guix gexp) + #:use-module (guix modules) + #:use-module (guix records) + #:use-module (ice-9 match) + #:use-module (ice-9 optargs)) + +(define-record-type* <disfluid-issuer-configuration> + disfluid-issuer-configuration + make-disfluid-issuer-configuration + disfluid-issuer-configuration? + (disfluid disfluid-issuer-configuration-disfluid + (default disfluid)) + (complete-corresponding-source + disfluid-issuer-configuration-complete-corresponding-source) + (issuer disfluid-issuer-configuration-issuer) + (key-file disfluid-issuer-configuration-key-file + (default "/var/lib/disfluid/issuer/key.jwk")) + (subject disfluid-issuer-configuration-subject) + (encrypted-password disfluid-issuer-configuration-encrypted-password) + (jwks-uri disfluid-issuer-configuration-jwks-uri) + (authorization-endpoint-uri + disfluid-issuer-configuration-authorization-endpoint-uri) + (token-endpoint-uri + disfluid-issuer-configuration-token-endpoint-uri) + (port disfluid-issuer-configuration-port (default 8088)) + (extra-options + disfluid-issuer-configuration-extra-options + (default '()))) + +(define-record-type* <disfluid-reverse-proxy-configuration> + disfluid-reverse-proxy-configuration + make-disfluid-reverse-proxy-configuration + disfluid-reverse-proxy-configuration? + (disfluid disfluid-reverse-proxy-configuration-disfluid + (default disfluid)) + (complete-corresponding-source + disfluid-reverse-proxy-configuration-complete-corresponding-source) + (port disfluid-reverse-proxy-port (default 8090)) + (inbound-uri disfluid-reverse-proxy-configuration-inbound-uri) + (outbound-uri disfluid-reverse-proxy-configuration-outbound-uri) + (header disfluid-reverse-proxy-configuration-header + (default "XXX-Agent")) + (extra-options + disfluid-reverse-proxy-extra-options + (default '()))) + +(define-record-type* <disfluid-hello-configuration> + disfluid-hello-configuration + make-disfluid-hello-configuration + disfluid-hello-configuration? + (disfluid disfluid-hello-configuration-disfluid + (default disfluid)) + (complete-corresponding-source + disfluid-hello-configuration-complete-corresponding-source) + (port disfluid-hello-configuration-port (default 8089)) + (extra-options + disfluid-hello-configuration-extra-options + (default '()))) + +(define-record-type* <disfluid-client-service-configuration> + disfluid-client-service-configuration + make-disfluid-client-service-configuration + disfluid-client-service-configuration? + (disfluid disfluid-client-service-configuration-disfluid + (default disfluid)) + (complete-corresponding-source + disfluid-client-service-configuration-complete-corresponding-source) + (client-id disfluid-client-service-configuration-client-id) + (redirect-uri disfluid-client-service-configuration-redirect-uri) + (client-name disfluid-client-service-configuration-client-name (default "Example Solid App")) + (client-uri disfluid-client-service-configuration-client-uri (default "https://webid-oidc.planete-kraus.eu/Running-a-client.html#Running-a-client")) + (port disfluid-client-service-configuration-port (default 8088)) + (extra-options + disfluid-client-service-configuration-extra-options + (default '()))) + +(define-record-type* <disfluid-server-configuration> + disfluid-server-configuration + make-disfluid-server-configuration + disfluid-server-configuration? + (disfluid disfluid-server-configuration-disfluid + (default disfluid)) + (complete-corresponding-source + disfluid-server-configuration-complete-corresponding-source) + (server-name disfluid-server-configuration-server-name) + (key-file disfluid-server-configuration-key-file + (default "/var/lib/disfluid/server/key.jwk")) + (subject disfluid-server-configuration-subject) + (encrypted-password disfluid-server-configuration-encrypted-password) + (jwks-uri disfluid-server-configuration-jwks-uri) + (authorization-endpoint-uri + disfluid-server-configuration-authorization-endpoint-uri) + (token-endpoint-uri + disfluid-server-configuration-token-endpoint-uri) + (port disfluid-server-configuration-port (default 8088)) + (extra-options + disfluid-issuer-configuration-extra-options + (default '()))) + +(export <disfluid-issuer-configuration> + disfluid-issuer-configuration + make-disfluid-issuer-configuration + disfluid-issuer-configuration? + disfluid-issuer-configuration-disfluid + disfluid-issuer-configuration-complete-corresponding-source + disfluid-issuer-configuration-issuer + disfluid-issuer-configuration-key-file + disfluid-issuer-configuration-subject + disfluid-issuer-configuration-encrypted-password + disfluid-issuer-configuration-jwks-uri + disfluid-issuer-configuration-authorization-endpoint-uri + disfluid-issuer-configuration-token-endpoint-uri + disfluid-issuer-configuration-port + disfluid-issuer-configuration-extra-options + <disfluid-reverse-proxy-configuration> + disfluid-reverse-proxy-configuration + make-disfluid-reverse-proxy-configuration + disfluid-reverse-proxy-configuration? + disfluid-reverse-proxy-configuration-disfluid + disfluid-reverse-proxy-configuration-complete-corresponding-source + disfluid-reverse-proxy-configuration-port + disfluid-reverse-proxy-configuration-inbound-uri + disfluid-reverse-proxy-configuration-outbound-uri + disfluid-reverse-proxy-configuration-header + disfluid-reverse-proxy-configuration-extra-options + <disfluid-hello-configuration> + disfluid-hello-configuration + make-disfluid-hello-configuration + disfluid-hello-configuration? + disfluid-hello-configuration-disfluid + disfluid-hello-configuration-complete-corresponding-source + disfluid-hello-configuration-port + disfluid-hello-configuration-extra-options + <disfluid-client-service-configuration> + disfluid-client-service-configuration + make-disfluid-client-service-configuration + disfluid-client-service-configuration? + disfluid-client-service-configuration-disfluid + disfluid-client-service-configuration-complete-corresponding-source + disfluid-client-service-configuration-client-id + disfluid-client-service-configuration-redirect-uri + disfluid-client-service-configuration-client-name + disfluid-client-service-configuration-client-uri + disfluid-client-service-configuration-port + disfluid-client-service-configuration-extra-options + <disfluid-server-configuration> + disfluid-server-configuration + make-disfluid-server-configuration + disfluid-server-configuration? + disfluid-server-configuration-disfluid + disfluid-server-configuration-complete-corresponding-source + disfluid-server-configuration-server-name + disfluid-server-configuration-key-file + disfluid-server-configuration-subject + disfluid-server-configuration-encrypted-password + disfluid-server-configuration-jwks-uri + disfluid-server-configuration-authorization-endpoint-uri + disfluid-server-configuration-token-endpoint-uri + disfluid-server-configuration-port + disfluid-server-configuration-extra-options) + +(define disfluid-issuer-shepherd-service + (match-lambda + (($ <disfluid-issuer-configuration> + disfluid ccs issuer key-file subject encrypted-password jwks-uri + authorization-endpoint-uri token-endpoint-uri port + extra-options) + (with-imported-modules + (source-module-closure + '((gnu build shepherd) + (gnu system file-systems))) + (list (shepherd-service + (provision '(disfluid-issuer)) + (documentation "Run the Solid identity provider.") + (requirement '(user-processes)) + (modules '((gnu build shepherd) + (gnu system file-systems))) + (start + #~(begin + (let* ((user (getpwnam "disfluid")) + (prepare-directory + (lambda (dir) + (mkdir-p dir) + (chown dir (passwd:uid user) (passwd:gid user)) + (chmod dir #o700)))) + (prepare-directory "/var/log/disfluid") + (prepare-directory "/var/lib/disfluid") + (prepare-directory "/var/cache/disfluid")) + (make-forkexec-constructor + (list + (string-append #$disfluid "/bin/disfluid") + "identity-provider" + "--complete-corresponding-source" #$ccs + "--server-name" #$issuer + "--key-file" #$key-file + "--subject" #$subject + "--encrypted-password" #$encrypted-password + "--jwks-uri" #$jwks-uri + "--authorization-endpoint-uri" #$authorization-endpoint-uri + "--token-endpoint-uri" #$token-endpoint-uri + "--port" (with-output-to-string (lambda () (display #$port))) + "--log-file" "issuer.log" + "--error-file" "issuer.err" + #$@extra-options) + #:user "disfluid" + #:group "disfluid" + #:directory "/var/log/disfluid" + #:environment-variables + `("XDG_DATA_HOME=/var/lib" + "XDG_CACHE_HOME=/var/cache" + "LANG=C")))) + (stop #~(make-kill-destructor)))))))) + +(define disfluid-reverse-proxy-shepherd-service + (match-lambda + (($ <disfluid-reverse-proxy-configuration> + disfluid ccs port inbound-uri outbound-uri header + extra-options) + (with-imported-modules + (source-module-closure + '((gnu build shepherd) + (gnu system file-systems))) + (list (shepherd-service + (provision '(disfluid-reverse-proxy)) + (documentation "Run a proxy to authenticate with Solid.") + (requirement '(user-processes)) + (modules '((gnu build shepherd) + (gnu system file-systems))) + (start + #~(begin + (let* ((user (getpwnam "disfluid")) + (prepare-directory + (lambda (dir) + (mkdir-p dir) + (chown dir (passwd:uid user) (passwd:gid user)) + (chmod dir #o700)))) + (prepare-directory "/var/log/disfluid") + (prepare-directory "/var/lib/disfluid") + (prepare-directory "/var/cache/disfluid")) + (make-forkexec-constructor + (list + (string-append #$disfluid "/bin/disfluid") + "reverse-proxy" + "--complete-corresponding-source" #$ccs + "--port" (with-output-to-string (lambda () (display #$port))) + "--server-name" #$inbound-uri + "--backend-uri" #$outbound-uri + "--header" #$header + "--log-file" "reverse-proxy.log" + "--error-file" "reverse-proxy.err" + #$@extra-options) + #:user "disfluid" + #:group "disfluid" + #:directory "/var/log/disfluid" + #:environment-variables + `("XDG_DATA_HOME=/var/lib" + "XDG_CACHE_HOME=/var/cache" + "LANG=C")))) + (stop #~(make-kill-destructor)))))))) + +(define disfluid-hello-shepherd-service + (match-lambda + (($ <disfluid-hello-configuration> + disfluid ccs port extra-options) + (with-imported-modules + (source-module-closure + '((gnu build shepherd) + (gnu system file-systems))) + (list (shepherd-service + (provision '(disfluid-hello)) + (documentation "Run a demonstration Solid server.") + (requirement '(user-processes)) + (modules '((gnu build shepherd) + (gnu system file-systems))) + (start + #~(begin + (let* ((user (getpwnam "disfluid")) + (prepare-directory + (lambda (dir) + (mkdir-p dir) + (chown dir (passwd:uid user) (passwd:gid user)) + (chmod dir #o700)))) + (prepare-directory "/var/log/disfluid") + (prepare-directory "/var/lib/disfluid") + (prepare-directory "/var/cache/disfluid")) + (make-forkexec-constructor + (list + (string-append #$disfluid "/bin/disfluid-hello") + "--complete-corresponding-source" #$ccs + "--port" (with-output-to-string (lambda () (display #$port))) + "--log-file" "hello.log" + "--error-file" "hello.err" + #$@extra-options) + #:user "disfluid" + #:group "disfluid" + #:directory "/var/log/disfluid" + #:environment-variables + `("XDG_DATA_HOME=/var/lib" + "XDG_CACHE_HOME=/var/cache" + "LANG=C")))) + (stop #~(make-kill-destructor)))))))) + +(define disfluid-client-service-shepherd-service + (match-lambda + (($ <disfluid-client-service-configuration> + disfluid ccs client-id redirect-uri client-name client-uri port + extra-options) + (with-imported-modules + (source-module-closure + '((gnu build shepherd) + (gnu system file-systems))) + (list (shepherd-service + (provision '(disfluid-client-service)) + (documentation "Run a server for a Solid application.") + (requirement '(user-processes)) + (modules '((gnu build shepherd) + (gnu system file-systems))) + (start + #~(begin + (let* ((user (getpwnam "disfluid")) + (prepare-directory + (lambda (dir) + (mkdir-p dir) + (chown dir (passwd:uid user) (passwd:gid user)) + (chmod dir #o700)))) + (prepare-directory "/var/log/disfluid")) + (make-forkexec-constructor + (list + (string-append #$disfluid "/bin/disfluid") + "client-service" + "--complete-corresponding-source" #$ccs + "--client-id" #$client-id + "--redirect-uri" #$redirect-uri + "--client-name" #$client-name + "--client-uri" #$client-uri + "--port" (with-output-to-string (lambda () (display #$port))) + "--log-file" "client-service.log" + "--error-file" "client-service.err" + #$@extra-options) + #:user "disfluid" + #:group "disfluid" + #:directory "/var/log/disfluid" + #:environment-variables + `("LANG=C")))) + (stop #~(make-kill-destructor)))))))) + +(define disfluid-server-shepherd-service + (match-lambda + (($ <disfluid-server-configuration> + disfluid ccs server-name key-file subject encrypted-password jwks-uri + authorization-endpoint-uri token-endpoint-uri port + extra-options) + (with-imported-modules + (source-module-closure + '((gnu build shepherd) + (gnu system file-systems))) + (list (shepherd-service + (provision '(disfluid-server)) + (documentation "Run the full Solid server.") + (requirement '(user-processes)) + (modules '((gnu build shepherd) + (gnu system file-systems))) + (start + #~(begin + (let* ((user (getpwnam "disfluid")) + (prepare-directory + (lambda (dir) + (mkdir-p dir) + (chown dir (passwd:uid user) (passwd:gid user)) + (chmod dir #o700)))) + (prepare-directory "/var/log/disfluid") + (prepare-directory "/var/lib/disfluid") + (prepare-directory "/var/cache/disfluid")) + (make-forkexec-constructor + (list + (string-append #$disfluid "/bin/disfluid") + "server" + "--complete-corresponding-source" #$ccs + "--server-name" #$server-name + "--key-file" #$key-file + "--subject" #$subject + "--encrypted-password" #$encrypted-password + "--jwks-uri" #$jwks-uri + "--authorization-endpoint-uri" #$authorization-endpoint-uri + "--token-endpoint-uri" #$token-endpoint-uri + "--port" (with-output-to-string (lambda () (display #$port))) + "--log-file" "server.log" + "--error-file" "server.err" + #$@extra-options) + #:user "disfluid" + #:group "disfluid" + #:directory "/var/log/disfluid" + #:environment-variables + `("XDG_DATA_HOME=/var/lib" + "XDG_CACHE_HOME=/var/cache" + "LANG=C")))) + (stop #~(make-kill-destructor)))))))) + +(define %disfluid-accounts + (list (user-group (name "disfluid") + (system? #t)) + (user-account + (name "disfluid") + (group "disfluid") + (system? #t) + (comment "The user that runs the disfluid issuer and resource server.") + (home-directory "/var/empty") + (shell (file-append shadow "/sbin/nologin"))))) + +(define (%disfluid-log-rotation file) + (list (log-rotation + (frequency 'daily) + (files + (map (lambda (ext) (string-append "/var/log/disfluid/" file "." ext)) + '("log" "err"))) + (options '("sharedscripts" + "storedir /var/log/disfluid"))))) + +(define-public disfluid-issuer-service-type + (service-type + (name 'disfluid-issuer) + (extensions + (list + (service-extension account-service-type + (const %disfluid-accounts)) + (service-extension rottlog-service-type + (const (%disfluid-log-rotation "issuer"))) + (service-extension + shepherd-root-service-type + disfluid-issuer-shepherd-service))))) + +(define-public disfluid-reverse-proxy-service-type + (service-type + (name 'disfluid-reverse-proxy) + (extensions + (list + (service-extension account-service-type + (const %disfluid-accounts)) + (service-extension rottlog-service-type + (const (%disfluid-log-rotation "reverse-proxy"))) + (service-extension + shepherd-root-service-type + disfluid-reverse-proxy-shepherd-service))))) + +(define-public disfluid-hello-service-type + (service-type + (name 'disfluid-hello) + (extensions + (list + (service-extension account-service-type + (const %disfluid-accounts)) + (service-extension rottlog-service-type + (const (%disfluid-log-rotation "hello"))) + (service-extension + shepherd-root-service-type + disfluid-hello-shepherd-service))))) + +(define-public disfluid-client-service-service-type + (service-type + (name 'disfluid-client-service) + (extensions + (list + (service-extension account-service-type + (const %disfluid-accounts)) + (service-extension rottlog-service-type + (const (%disfluid-log-rotation "client-service"))) + (service-extension + shepherd-root-service-type + disfluid-client-service-shepherd-service))))) + +(define-public disfluid-server-service-type + (service-type + (name 'disfluid-server) + (extensions + (list + (service-extension account-service-type + (const %disfluid-accounts)) + (service-extension rottlog-service-type + (const (%disfluid-log-rotation "server"))) + (service-extension + shepherd-root-service-type + disfluid-server-shepherd-service))))) + +(define-public disfluid-website + (nginx-server-configuration + (server-name '("disfluid.planete-kraus.eu" "webid-oidc.planete-kraus.eu")) + (listen '("443 ssl" "[::]:443 ssl")) + (ssl-certificate "/etc/letsencrypt/live/planete-kraus.eu/fullchain.pem") + (ssl-certificate-key "/etc/letsencrypt/live/planete-kraus.eu/privkey.pem") + (root disfluid:website) + (locations + (list + (nginx-location-configuration + (uri "/project") + (body + (list "default_type text/turtle ;"))))))) diff --git a/guix/vkraus/services/webid-oidc.scm b/guix/vkraus/services/webid-oidc.scm deleted file mode 100644 index c20c550..0000000 --- a/guix/vkraus/services/webid-oidc.scm +++ /dev/null @@ -1,520 +0,0 @@ -;; webid-oidc, implementation of the Solid specification -;; Copyright (C) 2020, 2021 Vivien Kraus - -;; This program is free software: you can redistribute it and/or modify -;; it under the terms of the GNU Affero General Public License as -;; published by the Free Software Foundation, either version 3 of the -;; License, or (at your option) any later version. - -;; This program is distributed in the hope that it will be useful, -;; but WITHOUT ANY WARRANTY; without even the implied warranty of -;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -;; GNU Affero General Public License for more details. - -;; You should have received a copy of the GNU Affero General Public License -;; along with this program. If not, see <https://www.gnu.org/licenses/>. - -(define-module (vkraus services webid-oidc) - #:use-module (gnu services) - #:use-module (gnu services shepherd) - #:use-module (gnu services admin) - #:use-module (gnu services web) - #:use-module (gnu system shadow) - #:use-module (gnu packages admin) - #:use-module (vkraus packages webid-oidc) - #:use-module (guix gexp) - #:use-module (guix modules) - #:use-module (guix records) - #:use-module (ice-9 match) - #:use-module (ice-9 optargs)) - -(define-record-type* <webid-oidc-issuer-configuration> - webid-oidc-issuer-configuration - make-webid-oidc-issuer-configuration - webid-oidc-issuer-configuration? - (webid-oidc webid-oidc-issuer-configuration-webid-oidc - (default webid-oidc)) - (complete-corresponding-source - webid-oidc-issuer-configuration-complete-corresponding-source) - (issuer webid-oidc-issuer-configuration-issuer) - (key-file webid-oidc-issuer-configuration-key-file - (default "/var/lib/webid-oidc/issuer/key.jwk")) - (subject webid-oidc-issuer-configuration-subject) - (encrypted-password webid-oidc-issuer-configuration-encrypted-password) - (jwks-uri webid-oidc-issuer-configuration-jwks-uri) - (authorization-endpoint-uri - webid-oidc-issuer-configuration-authorization-endpoint-uri) - (token-endpoint-uri - webid-oidc-issuer-configuration-token-endpoint-uri) - (port webid-oidc-issuer-configuration-port (default 8088)) - (extra-options - webid-oidc-issuer-configuration-extra-options - (default '()))) - -(define-record-type* <webid-oidc-reverse-proxy-configuration> - webid-oidc-reverse-proxy-configuration - make-webid-oidc-reverse-proxy-configuration - webid-oidc-reverse-proxy-configuration? - (webid-oidc webid-oidc-reverse-proxy-configuration-webid-oidc - (default webid-oidc)) - (complete-corresponding-source - webid-oidc-reverse-proxy-configuration-complete-corresponding-source) - (port webid-oidc-reverse-proxy-port (default 8090)) - (inbound-uri webid-oidc-reverse-proxy-configuration-inbound-uri) - (outbound-uri webid-oidc-reverse-proxy-configuration-outbound-uri) - (header webid-oidc-reverse-proxy-configuration-header - (default "XXX-Agent")) - (extra-options - webid-oidc-reverse-proxy-extra-options - (default '()))) - -(define-record-type* <webid-oidc-hello-configuration> - webid-oidc-hello-configuration - make-webid-oidc-hello-configuration - webid-oidc-hello-configuration? - (webid-oidc webid-oidc-hello-configuration-webid-oidc - (default webid-oidc)) - (complete-corresponding-source - webid-oidc-hello-configuration-complete-corresponding-source) - (port webid-oidc-hello-configuration-port (default 8089)) - (extra-options - webid-oidc-hello-configuration-extra-options - (default '()))) - -(define-record-type* <webid-oidc-client-service-configuration> - webid-oidc-client-service-configuration - make-webid-oidc-client-service-configuration - webid-oidc-client-service-configuration? - (webid-oidc webid-oidc-client-service-configuration-webid-oidc - (default webid-oidc)) - (complete-corresponding-source - webid-oidc-client-service-configuration-complete-corresponding-source) - (client-id webid-oidc-client-service-configuration-client-id) - (redirect-uri webid-oidc-client-service-configuration-redirect-uri) - (client-name webid-oidc-client-service-configuration-client-name (default "Example Solid App")) - (client-uri webid-oidc-client-service-configuration-client-uri (default "https://webid-oidc.planete-kraus.eu/Running-a-client.html#Running-a-client")) - (port webid-oidc-client-service-configuration-port (default 8088)) - (extra-options - webid-oidc-client-service-configuration-extra-options - (default '()))) - -(define-record-type* <webid-oidc-server-configuration> - webid-oidc-server-configuration - make-webid-oidc-server-configuration - webid-oidc-server-configuration? - (webid-oidc webid-oidc-server-configuration-webid-oidc - (default webid-oidc)) - (complete-corresponding-source - webid-oidc-server-configuration-complete-corresponding-source) - (server-name webid-oidc-server-configuration-server-name) - (key-file webid-oidc-server-configuration-key-file - (default "/var/lib/webid-oidc/server/key.jwk")) - (subject webid-oidc-server-configuration-subject) - (encrypted-password webid-oidc-server-configuration-encrypted-password) - (jwks-uri webid-oidc-server-configuration-jwks-uri) - (authorization-endpoint-uri - webid-oidc-server-configuration-authorization-endpoint-uri) - (token-endpoint-uri - webid-oidc-server-configuration-token-endpoint-uri) - (port webid-oidc-server-configuration-port (default 8088)) - (extra-options - webid-oidc-issuer-configuration-extra-options - (default '()))) - -(export <webid-oidc-issuer-configuration> - webid-oidc-issuer-configuration - make-webid-oidc-issuer-configuration - webid-oidc-issuer-configuration? - webid-oidc-issuer-configuration-webid-oidc - webid-oidc-issuer-configuration-complete-corresponding-source - webid-oidc-issuer-configuration-issuer - webid-oidc-issuer-configuration-key-file - webid-oidc-issuer-configuration-subject - webid-oidc-issuer-configuration-encrypted-password - webid-oidc-issuer-configuration-jwks-uri - webid-oidc-issuer-configuration-authorization-endpoint-uri - webid-oidc-issuer-configuration-token-endpoint-uri - webid-oidc-issuer-configuration-port - webid-oidc-issuer-configuration-extra-options - <webid-oidc-reverse-proxy-configuration> - webid-oidc-reverse-proxy-configuration - make-webid-oidc-reverse-proxy-configuration - webid-oidc-reverse-proxy-configuration? - webid-oidc-reverse-proxy-configuration-webid-oidc - webid-oidc-reverse-proxy-configuration-complete-corresponding-source - webid-oidc-reverse-proxy-configuration-port - webid-oidc-reverse-proxy-configuration-inbound-uri - webid-oidc-reverse-proxy-configuration-outbound-uri - webid-oidc-reverse-proxy-configuration-header - webid-oidc-reverse-proxy-configuration-extra-options - <webid-oidc-hello-configuration> - webid-oidc-hello-configuration - make-webid-oidc-hello-configuration - webid-oidc-hello-configuration? - webid-oidc-hello-configuration-webid-oidc - webid-oidc-hello-configuration-complete-corresponding-source - webid-oidc-hello-configuration-port - webid-oidc-hello-configuration-extra-options - <webid-oidc-client-service-configuration> - webid-oidc-client-service-configuration - make-webid-oidc-client-service-configuration - webid-oidc-client-service-configuration? - webid-oidc-client-service-configuration-webid-oidc - webid-oidc-client-service-configuration-complete-corresponding-source - webid-oidc-client-service-configuration-client-id - webid-oidc-client-service-configuration-redirect-uri - webid-oidc-client-service-configuration-client-name - webid-oidc-client-service-configuration-client-uri - webid-oidc-client-service-configuration-port - webid-oidc-client-service-configuration-extra-options - <webid-oidc-server-configuration> - webid-oidc-server-configuration - make-webid-oidc-server-configuration - webid-oidc-server-configuration? - webid-oidc-server-configuration-webid-oidc - webid-oidc-server-configuration-complete-corresponding-source - webid-oidc-server-configuration-server-name - webid-oidc-server-configuration-key-file - webid-oidc-server-configuration-subject - webid-oidc-server-configuration-encrypted-password - webid-oidc-server-configuration-jwks-uri - webid-oidc-server-configuration-authorization-endpoint-uri - webid-oidc-server-configuration-token-endpoint-uri - webid-oidc-server-configuration-port - webid-oidc-server-configuration-extra-options) - -(define webid-oidc-issuer-shepherd-service - (match-lambda - (($ <webid-oidc-issuer-configuration> - webid-oidc ccs issuer key-file subject encrypted-password jwks-uri - authorization-endpoint-uri token-endpoint-uri port - extra-options) - (with-imported-modules - (source-module-closure - '((gnu build shepherd) - (gnu system file-systems))) - (list (shepherd-service - (provision '(webid-oidc-issuer)) - (documentation "Run the Solid identity provider.") - (requirement '(user-processes)) - (modules '((gnu build shepherd) - (gnu system file-systems))) - (start - #~(begin - (let* ((user (getpwnam "webid-oidc")) - (prepare-directory - (lambda (dir) - (mkdir-p dir) - (chown dir (passwd:uid user) (passwd:gid user)) - (chmod dir #o700)))) - (prepare-directory "/var/log/webid-oidc") - (prepare-directory "/var/lib/webid-oidc") - (prepare-directory "/var/cache/webid-oidc")) - (make-forkexec-constructor - (list - (string-append #$webid-oidc "/bin/webid-oidc") - "identity-provider" - "--complete-corresponding-source" #$ccs - "--server-name" #$issuer - "--key-file" #$key-file - "--subject" #$subject - "--encrypted-password" #$encrypted-password - "--jwks-uri" #$jwks-uri - "--authorization-endpoint-uri" #$authorization-endpoint-uri - "--token-endpoint-uri" #$token-endpoint-uri - "--port" (with-output-to-string (lambda () (display #$port))) - "--log-file" "issuer.log" - "--error-file" "issuer.err" - #$@extra-options) - #:user "webid-oidc" - #:group "webid-oidc" - #:directory "/var/log/webid-oidc" - #:environment-variables - `("XDG_DATA_HOME=/var/lib" - "XDG_CACHE_HOME=/var/cache" - "LANG=C")))) - (stop #~(make-kill-destructor)))))))) - -(define webid-oidc-reverse-proxy-shepherd-service - (match-lambda - (($ <webid-oidc-reverse-proxy-configuration> - webid-oidc ccs port inbound-uri outbound-uri header - extra-options) - (with-imported-modules - (source-module-closure - '((gnu build shepherd) - (gnu system file-systems))) - (list (shepherd-service - (provision '(webid-oidc-reverse-proxy)) - (documentation "Run a proxy to authenticate with Solid.") - (requirement '(user-processes)) - (modules '((gnu build shepherd) - (gnu system file-systems))) - (start - #~(begin - (let* ((user (getpwnam "webid-oidc")) - (prepare-directory - (lambda (dir) - (mkdir-p dir) - (chown dir (passwd:uid user) (passwd:gid user)) - (chmod dir #o700)))) - (prepare-directory "/var/log/webid-oidc") - (prepare-directory "/var/lib/webid-oidc") - (prepare-directory "/var/cache/webid-oidc")) - (make-forkexec-constructor - (list - (string-append #$webid-oidc "/bin/webid-oidc") - "reverse-proxy" - "--complete-corresponding-source" #$ccs - "--port" (with-output-to-string (lambda () (display #$port))) - "--server-name" #$inbound-uri - "--backend-uri" #$outbound-uri - "--header" #$header - "--log-file" "reverse-proxy.log" - "--error-file" "reverse-proxy.err" - #$@extra-options) - #:user "webid-oidc" - #:group "webid-oidc" - #:directory "/var/log/webid-oidc" - #:environment-variables - `("XDG_DATA_HOME=/var/lib" - "XDG_CACHE_HOME=/var/cache" - "LANG=C")))) - (stop #~(make-kill-destructor)))))))) - -(define webid-oidc-hello-shepherd-service - (match-lambda - (($ <webid-oidc-hello-configuration> - webid-oidc ccs port extra-options) - (with-imported-modules - (source-module-closure - '((gnu build shepherd) - (gnu system file-systems))) - (list (shepherd-service - (provision '(webid-oidc-hello)) - (documentation "Run a demonstration Solid server.") - (requirement '(user-processes)) - (modules '((gnu build shepherd) - (gnu system file-systems))) - (start - #~(begin - (let* ((user (getpwnam "webid-oidc")) - (prepare-directory - (lambda (dir) - (mkdir-p dir) - (chown dir (passwd:uid user) (passwd:gid user)) - (chmod dir #o700)))) - (prepare-directory "/var/log/webid-oidc") - (prepare-directory "/var/lib/webid-oidc") - (prepare-directory "/var/cache/webid-oidc")) - (make-forkexec-constructor - (list - (string-append #$webid-oidc "/bin/webid-oidc-hello") - "--complete-corresponding-source" #$ccs - "--port" (with-output-to-string (lambda () (display #$port))) - "--log-file" "hello.log" - "--error-file" "hello.err" - #$@extra-options) - #:user "webid-oidc" - #:group "webid-oidc" - #:directory "/var/log/webid-oidc" - #:environment-variables - `("XDG_DATA_HOME=/var/lib" - "XDG_CACHE_HOME=/var/cache" - "LANG=C")))) - (stop #~(make-kill-destructor)))))))) - -(define webid-oidc-client-service-shepherd-service - (match-lambda - (($ <webid-oidc-client-service-configuration> - webid-oidc ccs client-id redirect-uri client-name client-uri port - extra-options) - (with-imported-modules - (source-module-closure - '((gnu build shepherd) - (gnu system file-systems))) - (list (shepherd-service - (provision '(webid-oidc-client-service)) - (documentation "Run a server for a Solid application.") - (requirement '(user-processes)) - (modules '((gnu build shepherd) - (gnu system file-systems))) - (start - #~(begin - (let* ((user (getpwnam "webid-oidc")) - (prepare-directory - (lambda (dir) - (mkdir-p dir) - (chown dir (passwd:uid user) (passwd:gid user)) - (chmod dir #o700)))) - (prepare-directory "/var/log/webid-oidc")) - (make-forkexec-constructor - (list - (string-append #$webid-oidc "/bin/webid-oidc") - "client-service" - "--complete-corresponding-source" #$ccs - "--client-id" #$client-id - "--redirect-uri" #$redirect-uri - "--client-name" #$client-name - "--client-uri" #$client-uri - "--port" (with-output-to-string (lambda () (display #$port))) - "--log-file" "client-service.log" - "--error-file" "client-service.err" - #$@extra-options) - #:user "webid-oidc" - #:group "webid-oidc" - #:directory "/var/log/webid-oidc" - #:environment-variables - `("LANG=C")))) - (stop #~(make-kill-destructor)))))))) - -(define webid-oidc-server-shepherd-service - (match-lambda - (($ <webid-oidc-server-configuration> - webid-oidc ccs server-name key-file subject encrypted-password jwks-uri - authorization-endpoint-uri token-endpoint-uri port - extra-options) - (with-imported-modules - (source-module-closure - '((gnu build shepherd) - (gnu system file-systems))) - (list (shepherd-service - (provision '(webid-oidc-server)) - (documentation "Run the full Solid server.") - (requirement '(user-processes)) - (modules '((gnu build shepherd) - (gnu system file-systems))) - (start - #~(begin - (let* ((user (getpwnam "webid-oidc")) - (prepare-directory - (lambda (dir) - (mkdir-p dir) - (chown dir (passwd:uid user) (passwd:gid user)) - (chmod dir #o700)))) - (prepare-directory "/var/log/webid-oidc") - (prepare-directory "/var/lib/webid-oidc") - (prepare-directory "/var/cache/webid-oidc")) - (make-forkexec-constructor - (list - (string-append #$webid-oidc "/bin/webid-oidc") - "server" - "--complete-corresponding-source" #$ccs - "--server-name" #$server-name - "--key-file" #$key-file - "--subject" #$subject - "--encrypted-password" #$encrypted-password - "--jwks-uri" #$jwks-uri - "--authorization-endpoint-uri" #$authorization-endpoint-uri - "--token-endpoint-uri" #$token-endpoint-uri - "--port" (with-output-to-string (lambda () (display #$port))) - "--log-file" "server.log" - "--error-file" "server.err" - #$@extra-options) - #:user "webid-oidc" - #:group "webid-oidc" - #:directory "/var/log/webid-oidc" - #:environment-variables - `("XDG_DATA_HOME=/var/lib" - "XDG_CACHE_HOME=/var/cache" - "LANG=C")))) - (stop #~(make-kill-destructor)))))))) - -(define %webid-oidc-accounts - (list (user-group (name "webid-oidc") - (system? #t)) - (user-account - (name "webid-oidc") - (group "webid-oidc") - (system? #t) - (comment "The user that runs the webid-oidc issuer and resource server.") - (home-directory "/var/empty") - (shell (file-append shadow "/sbin/nologin"))))) - -(define (%webid-oidc-log-rotation file) - (list (log-rotation - (frequency 'daily) - (files - (map (lambda (ext) (string-append "/var/log/webid-oidc/" file "." ext)) - '("log" "err"))) - (options '("sharedscripts" - "storedir /var/log/webid-oidc"))))) - -(define-public webid-oidc-issuer-service-type - (service-type - (name 'webid-oidc-issuer) - (extensions - (list - (service-extension account-service-type - (const %webid-oidc-accounts)) - (service-extension rottlog-service-type - (const (%webid-oidc-log-rotation "issuer"))) - (service-extension - shepherd-root-service-type - webid-oidc-issuer-shepherd-service))))) - -(define-public webid-oidc-reverse-proxy-service-type - (service-type - (name 'webid-oidc-reverse-proxy) - (extensions - (list - (service-extension account-service-type - (const %webid-oidc-accounts)) - (service-extension rottlog-service-type - (const (%webid-oidc-log-rotation "reverse-proxy"))) - (service-extension - shepherd-root-service-type - webid-oidc-reverse-proxy-shepherd-service))))) - -(define-public webid-oidc-hello-service-type - (service-type - (name 'webid-oidc-hello) - (extensions - (list - (service-extension account-service-type - (const %webid-oidc-accounts)) - (service-extension rottlog-service-type - (const (%webid-oidc-log-rotation "hello"))) - (service-extension - shepherd-root-service-type - webid-oidc-hello-shepherd-service))))) - -(define-public webid-oidc-client-service-service-type - (service-type - (name 'webid-oidc-client-service) - (extensions - (list - (service-extension account-service-type - (const %webid-oidc-accounts)) - (service-extension rottlog-service-type - (const (%webid-oidc-log-rotation "client-service"))) - (service-extension - shepherd-root-service-type - webid-oidc-client-service-shepherd-service))))) - -(define-public webid-oidc-server-service-type - (service-type - (name 'webid-oidc-server) - (extensions - (list - (service-extension account-service-type - (const %webid-oidc-accounts)) - (service-extension rottlog-service-type - (const (%webid-oidc-log-rotation "server"))) - (service-extension - shepherd-root-service-type - webid-oidc-server-shepherd-service))))) - -(define-public webid-oidc-website - (nginx-server-configuration - (server-name '("webid-oidc.planete-kraus.eu")) - (listen '("443 ssl" "[::]:443 ssl")) - (ssl-certificate "/etc/letsencrypt/live/planete-kraus.eu/fullchain.pem") - (ssl-certificate-key "/etc/letsencrypt/live/planete-kraus.eu/privkey.pem") - (root webid-oidc:website) - (locations - (list - (nginx-location-configuration - (uri "/project") - (body - (list "default_type text/turtle ;"))))))) diff --git a/hooks/update b/hooks/update index 325adfd..df40146 100755 --- a/hooks/update +++ b/hooks/update @@ -1,6 +1,6 @@ #!/bin/sh -# webid-oidc, implementation of the Solid specification +# disfluid, implementation of the Solid specification # Copyright (C) 2020, 2021 Vivien Kraus # This program is free software: you can redistribute it and/or modify diff --git a/man/Makefile.am b/man/Makefile.am index 2e3a7d4..7390d64 100644 --- a/man/Makefile.am +++ b/man/Makefile.am @@ -1,4 +1,4 @@ -# webid-oidc, implementation of the Solid specification +# disfluid, implementation of the Solid specification # Copyright (C) 2020, 2021 Vivien Kraus # This program is free software: you can redistribute it and/or modify @@ -14,22 +14,22 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see <https://www.gnu.org/licenses/>. -dist_man8_MANS = webid-oidc.man webid-oidc-example-app.man +dist_man8_MANS = disfluid.man disfluid-example-app.man EXTRA_DIST = ./reset-env project -webid-oidc.man: ../src/scm/webid-oidc/program.scm ../configure.ac - $(AM_V_GEN) ../pre-inst-env ./reset-env $(HELP2MAN) $(srcdir)/../src/webid-oidc > $@-t +disfluid.man: ../src/scm/webid-oidc/program.scm ../configure.ac + $(AM_V_GEN) ../pre-inst-env ./reset-env $(HELP2MAN) $(srcdir)/../src/disfluid > $@-t mv $@-t $(srcdir)/$@ -webid-oidc-example-app.man: ../src/scm/webid-oidc/example-app.scm ../configure.ac - $(AM_V_GEN) ../pre-inst-env ./reset-env $(HELP2MAN) $(srcdir)/../src/webid-oidc-example-app > $@-t +disfluid-example-app.man: ../src/scm/webid-oidc/example-app.scm ../configure.ac + $(AM_V_GEN) ../pre-inst-env ./reset-env $(HELP2MAN) $(srcdir)/../src/disfluid-example-app > $@-t mv $@-t $(srcdir)/$@ install-html-local: project - $(INSTALL_DATA) $(srcdir)/$< $(DESTDIR)$(htmldir)/webid-oidc.html + $(INSTALL_DATA) $(srcdir)/$< $(DESTDIR)$(htmldir)/disfluid.html project: ../src/scm/webid-oidc/program.scm ../configure - $(AM_V_GEN) ../pre-inst-env $(GUILE) $(srcdir)/../src/webid-oidc --describe-project > $@-t + $(AM_V_GEN) ../pre-inst-env $(GUILE) $(srcdir)/../src/disfluid --describe-project > $@-t mv $@-t $(srcdir)/$@ diff --git a/man/reset-env.in b/man/reset-env.in index 650082f..43c9b74 100755 --- a/man/reset-env.in +++ b/man/reset-env.in @@ -1,6 +1,6 @@ #!@SHELL@ -# webid-oidc, implementation of the Solid specification +# disfluid, implementation of the Solid specification # Copyright (C) 2020, 2021 Vivien Kraus # This program is free software: you can redistribute it and/or modify diff --git a/po/POTFILES.in b/po/POTFILES.in index 7d703f8..9ad200b 100644 --- a/po/POTFILES.in +++ b/po/POTFILES.in @@ -1,4 +1,4 @@ -# webid-oidc, implementation of the Solid specification +# disfluid, implementation of the Solid specification # Copyright (C) 2020, 2021 Vivien Kraus # This program is free software: you can redistribute it and/or modify diff --git a/po/webid-oidc.pot b/po/disfluid.pot index f189555..a66640f 100644 --- a/po/webid-oidc.pot +++ b/po/disfluid.pot @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR Vivien Kraus -# This file is distributed under the same license as the webid-oidc package. +# This file is distributed under the same license as the disfluid package. # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: webid-oidc SNAPSHOT\n" +"Project-Id-Version: disfluid SNAPSHOT\n" "Report-Msgid-Bugs-To: vivien@planete-kraus.eu\n" -"POT-Creation-Date: 2021-07-29 12:34+0200\n" +"POT-Creation-Date: 2021-07-30 12:06+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" @@ -1028,7 +1028,7 @@ msgstr "" msgid "~a version ~a\n" msgstr "" -#: src/scm/webid-oidc/hello-world.scm:112 src/scm/webid-oidc/program.scm:607 +#: src/scm/webid-oidc/hello-world.scm:112 src/scm/webid-oidc/program.scm:609 msgid "" "You are legally required to link to the complete corresponding source code.\n" msgstr "" @@ -1247,7 +1247,7 @@ msgstr "" #: src/scm/webid-oidc/program.scm:288 msgid "" "\n" -"Run the webid-oidc COMMAND." +"Run the disfluid COMMAND." msgstr "" #: src/scm/webid-oidc/program.scm:291 @@ -1275,7 +1275,7 @@ msgid "" msgstr "" #: src/scm/webid-oidc/program.scm:303 src/scm/webid-oidc/program.scm:491 -#: src/scm/webid-oidc/program.scm:680 +#: src/scm/webid-oidc/program.scm:682 msgid "command-line|command|reverse-proxy" msgstr "" @@ -1288,7 +1288,7 @@ msgid "" msgstr "" #: src/scm/webid-oidc/program.scm:307 src/scm/webid-oidc/program.scm:516 -#: src/scm/webid-oidc/program.scm:702 +#: src/scm/webid-oidc/program.scm:704 msgid "command-line|command|identity-provider" msgstr "" @@ -1301,7 +1301,7 @@ msgid "" msgstr "" #: src/scm/webid-oidc/program.scm:311 src/scm/webid-oidc/program.scm:537 -#: src/scm/webid-oidc/program.scm:746 +#: src/scm/webid-oidc/program.scm:748 msgid "command-line|command|client-service" msgstr "" @@ -1315,7 +1315,7 @@ msgid "" msgstr "" #: src/scm/webid-oidc/program.scm:316 src/scm/webid-oidc/program.scm:563 -#: src/scm/webid-oidc/program.scm:775 +#: src/scm/webid-oidc/program.scm:777 msgid "command-line|command|server" msgstr "" @@ -1408,7 +1408,7 @@ msgid "" "\n" " -H HEADER, --~a=HEADER:\n" " the HEADER field contains the webid of the authenticated user,\n" -" XXX-Agent by default. For the full server, disable webid-oidc\n" +" XXX-Agent by default. For the full server, disable Solid-OIDC\n" " authentication." msgstr "" @@ -1693,7 +1693,7 @@ msgid "" " --~a 'https://webid-oidc.planete-kraus.eu/complete-corresponding-" "source.tar.gz' \\\n" " --~a 'https://data.planete-kraus.eu' \\\n" -" --~a '/var/lib/webid-oidc/server/key.jwk' \\\n" +" --~a '/var/lib/disfluid/server/key.jwk' \\\n" " --~a 'https://data.planete-kraus.eu/vivien#me' \\\n" " --~a '$...alg...$...salt...$...hash...' \\\n" " --~a 'https://data.planete-kraus.eu/keys' \\\n" @@ -1711,100 +1711,103 @@ msgstr "" #: src/scm/webid-oidc/program.scm:579 #, scheme-format -msgid "~a version ~a, released ~a\n" +msgid "" +"~a version ~a\n" +"\n" +"Rreleased ~a\n" msgstr "" -#: src/scm/webid-oidc/program.scm:614 +#: src/scm/webid-oidc/program.scm:616 #, scheme-format msgid "The --~a argument must be a number, not ~s.\n" msgstr "" -#: src/scm/webid-oidc/program.scm:620 +#: src/scm/webid-oidc/program.scm:622 #, scheme-format msgid "The --~a argument must be an integer, not ~s.\n" msgstr "" -#: src/scm/webid-oidc/program.scm:626 +#: src/scm/webid-oidc/program.scm:628 #, scheme-format msgid "The --~a argument must be positive, ~s is invalid.\n" msgstr "" -#: src/scm/webid-oidc/program.scm:631 +#: src/scm/webid-oidc/program.scm:633 #, scheme-format msgid "The --~a argument must be less than 65536, ~s is invalid.\n" msgstr "" -#: src/scm/webid-oidc/program.scm:673 +#: src/scm/webid-oidc/program.scm:675 #, scheme-format msgid "" "Usage: ~a COMMAND [OPTIONS]...\n" "See --~a (-h).\n" msgstr "" -#: src/scm/webid-oidc/program.scm:683 src/scm/webid-oidc/program.scm:705 -#: src/scm/webid-oidc/program.scm:777 +#: src/scm/webid-oidc/program.scm:685 src/scm/webid-oidc/program.scm:707 +#: src/scm/webid-oidc/program.scm:779 #, scheme-format msgid "You must pass --~a to set the server name.\n" msgstr "" -#: src/scm/webid-oidc/program.scm:687 +#: src/scm/webid-oidc/program.scm:689 #, scheme-format msgid "You must pass --~a to set the backend URI.\n" msgstr "" -#: src/scm/webid-oidc/program.scm:709 src/scm/webid-oidc/program.scm:781 +#: src/scm/webid-oidc/program.scm:711 src/scm/webid-oidc/program.scm:783 #, scheme-format msgid "" "You must pass --~a to set the file where to store the identity provider " "key.\n" msgstr "" -#: src/scm/webid-oidc/program.scm:713 src/scm/webid-oidc/program.scm:785 +#: src/scm/webid-oidc/program.scm:715 src/scm/webid-oidc/program.scm:787 #, scheme-format msgid "You must pass --~a to set the subject of the identity provider.\n" msgstr "" -#: src/scm/webid-oidc/program.scm:717 src/scm/webid-oidc/program.scm:789 +#: src/scm/webid-oidc/program.scm:719 src/scm/webid-oidc/program.scm:791 #, scheme-format msgid "You must pass --~a to set the subject’s encrypted password.\n" msgstr "" -#: src/scm/webid-oidc/program.scm:721 src/scm/webid-oidc/program.scm:793 +#: src/scm/webid-oidc/program.scm:723 src/scm/webid-oidc/program.scm:795 #, scheme-format msgid "You must pass --~a to set the JWKS URI.\n" msgstr "" -#: src/scm/webid-oidc/program.scm:725 src/scm/webid-oidc/program.scm:797 +#: src/scm/webid-oidc/program.scm:727 src/scm/webid-oidc/program.scm:799 #, scheme-format msgid "You must pass --~a to set the authorization endpoint URI.\n" msgstr "" -#: src/scm/webid-oidc/program.scm:729 src/scm/webid-oidc/program.scm:801 +#: src/scm/webid-oidc/program.scm:731 src/scm/webid-oidc/program.scm:803 #, scheme-format msgid "You must pass --~a to set the token endpoint URI.\n" msgstr "" -#: src/scm/webid-oidc/program.scm:749 +#: src/scm/webid-oidc/program.scm:751 #, scheme-format msgid "You must pass --~a to set the application web ID.\n" msgstr "" -#: src/scm/webid-oidc/program.scm:753 +#: src/scm/webid-oidc/program.scm:755 #, scheme-format msgid "You must pass --~a to set the redirection URI.\n" msgstr "" -#: src/scm/webid-oidc/program.scm:757 +#: src/scm/webid-oidc/program.scm:759 #, scheme-format msgid "You must pass --~a to set the informative client name.\n" msgstr "" -#: src/scm/webid-oidc/program.scm:761 +#: src/scm/webid-oidc/program.scm:763 #, scheme-format msgid "You must pass --~a to set the informative client URI.\n" msgstr "" -#: src/scm/webid-oidc/program.scm:848 +#: src/scm/webid-oidc/program.scm:850 #, scheme-format msgid "Unknown command ~s\n" msgstr "" @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: webid-oidc 0.0.0\n" "Report-Msgid-Bugs-To: vivien@planete-kraus.eu\n" -"POT-Creation-Date: 2021-07-29 12:34+0200\n" -"PO-Revision-Date: 2021-07-29 12:34+0200\n" +"POT-Creation-Date: 2021-07-30 12:06+0200\n" +"PO-Revision-Date: 2021-07-30 12:08+0200\n" "Last-Translator: Vivien Kraus <vivien@planete-kraus.eu>\n" "Language-Team: French <vivien@planete-kraus.eu>\n" "Language: fr\n" @@ -1096,7 +1096,7 @@ msgstr "" msgid "~a version ~a\n" msgstr "~a version ~a\n" -#: src/scm/webid-oidc/hello-world.scm:112 src/scm/webid-oidc/program.scm:607 +#: src/scm/webid-oidc/hello-world.scm:112 src/scm/webid-oidc/program.scm:609 msgid "" "You are legally required to link to the complete corresponding source code.\n" msgstr "" @@ -1360,10 +1360,10 @@ msgstr "Utilisation : ~a COMMANDE [OPTIONS]...\n" #: src/scm/webid-oidc/program.scm:288 msgid "" "\n" -"Run the webid-oidc COMMAND." +"Run the disfluid COMMAND." msgstr "" "\n" -"Exécute la COMMANDE webid-oidc." +"Exécute la COMMANDE disfluid." #: src/scm/webid-oidc/program.scm:291 msgid "" @@ -1401,7 +1401,7 @@ msgstr "" " exécute le proxy inverse authentifiant." #: src/scm/webid-oidc/program.scm:303 src/scm/webid-oidc/program.scm:491 -#: src/scm/webid-oidc/program.scm:680 +#: src/scm/webid-oidc/program.scm:682 msgid "command-line|command|reverse-proxy" msgstr "proxy-inversé" @@ -1417,7 +1417,7 @@ msgstr "" " exécute un fournisseur d’identité." #: src/scm/webid-oidc/program.scm:307 src/scm/webid-oidc/program.scm:516 -#: src/scm/webid-oidc/program.scm:702 +#: src/scm/webid-oidc/program.scm:704 msgid "command-line|command|identity-provider" msgstr "fournisseur-identité" @@ -1433,7 +1433,7 @@ msgstr "" " sert les pages d’une application publique." #: src/scm/webid-oidc/program.scm:311 src/scm/webid-oidc/program.scm:537 -#: src/scm/webid-oidc/program.scm:746 +#: src/scm/webid-oidc/program.scm:748 msgid "command-line|command|client-service" msgstr "service-client" @@ -1451,7 +1451,7 @@ msgstr "" " une fonction de stockage de ressources." #: src/scm/webid-oidc/program.scm:316 src/scm/webid-oidc/program.scm:563 -#: src/scm/webid-oidc/program.scm:775 +#: src/scm/webid-oidc/program.scm:777 msgid "command-line|command|server" msgstr "serveur" @@ -1577,14 +1577,14 @@ msgid "" "\n" " -H HEADER, --~a=HEADER:\n" " the HEADER field contains the webid of the authenticated user,\n" -" XXX-Agent by default. For the full server, disable webid-oidc\n" +" XXX-Agent by default. For the full server, disable Solid-OIDC\n" " authentication." msgstr "" "\n" " -H EN-TÊTE, --~a=EN-TÊTE :\n" " le champ EN-TÊTE contiendra l’identifiant webid de l’utilisateur\n" " authentifié, XXX-Agent par défaut. Pour un serveur complet, ceci\n" -" désactive l’authentification par webid-oidc." +" désactive l’authentification par Solid-OIDC." #: src/scm/webid-oidc/program.scm:367 #, scheme-format @@ -2008,7 +2008,7 @@ msgid "" " --~a 'https://webid-oidc.planete-kraus.eu/complete-corresponding-" "source.tar.gz' \\\n" " --~a 'https://data.planete-kraus.eu' \\\n" -" --~a '/var/lib/webid-oidc/server/key.jwk' \\\n" +" --~a '/var/lib/disfluid/server/key.jwk' \\\n" " --~a 'https://data.planete-kraus.eu/vivien#me' \\\n" " --~a '$...alg...$...salt...$...hash...' \\\n" " --~a 'https://data.planete-kraus.eu/keys' \\\n" @@ -2024,7 +2024,7 @@ msgstr "" " --~a 'https://webid-oidc.planete-kraus.eu/complete-corresponding-" "source.tar.gz' \\\n" " --~a 'https://data.planete-kraus.eu' \\\n" -" --~a '/var/lib/webid-oidc/server/key.jwk' \\\n" +" --~a '/var/lib/disfluid/server/key.jwk' \\\n" " --~a 'https://data.planete-kraus.eu/vivien#me' \\\n" " --~a '$...alg...$...sel...$...condensat...' \\\n" " --~a 'https://data.planete-kraus.eu/keys' \\\n" @@ -2043,30 +2043,36 @@ msgstr "" #: src/scm/webid-oidc/program.scm:579 #, scheme-format -msgid "~a version ~a, released ~a\n" -msgstr "~a version ~a, publiée le ~a\n" +msgid "" +"~a version ~a\n" +"\n" +"Rreleased ~a\n" +msgstr "" +"~a version ~a\n" +"\n" +"Publiée le ~a\n" -#: src/scm/webid-oidc/program.scm:614 +#: src/scm/webid-oidc/program.scm:616 #, scheme-format msgid "The --~a argument must be a number, not ~s.\n" msgstr "L’argument de --~a doit être un nombre, pas ~s.\n" -#: src/scm/webid-oidc/program.scm:620 +#: src/scm/webid-oidc/program.scm:622 #, scheme-format msgid "The --~a argument must be an integer, not ~s.\n" msgstr "L’argument de --~a doit être un entier, pas ~s.\n" -#: src/scm/webid-oidc/program.scm:626 +#: src/scm/webid-oidc/program.scm:628 #, scheme-format msgid "The --~a argument must be positive, ~s is invalid.\n" msgstr "L’argument de --~a doit être positif, ~s est invalide.\n" -#: src/scm/webid-oidc/program.scm:631 +#: src/scm/webid-oidc/program.scm:633 #, scheme-format msgid "The --~a argument must be less than 65536, ~s is invalid.\n" msgstr "L’argument de --~a doit être inférieur à 65536, ~s est invalide.\n" -#: src/scm/webid-oidc/program.scm:673 +#: src/scm/webid-oidc/program.scm:675 #, scheme-format msgid "" "Usage: ~a COMMAND [OPTIONS]...\n" @@ -2075,18 +2081,18 @@ msgstr "" "Utilisation : ~a COMMANDE [OPTIONS]...\n" "Voir --~a (-h).\n" -#: src/scm/webid-oidc/program.scm:683 src/scm/webid-oidc/program.scm:705 -#: src/scm/webid-oidc/program.scm:777 +#: src/scm/webid-oidc/program.scm:685 src/scm/webid-oidc/program.scm:707 +#: src/scm/webid-oidc/program.scm:779 #, scheme-format msgid "You must pass --~a to set the server name.\n" msgstr "Vous devez passer --~a pour définir le nom du serveur.\n" -#: src/scm/webid-oidc/program.scm:687 +#: src/scm/webid-oidc/program.scm:689 #, scheme-format msgid "You must pass --~a to set the backend URI.\n" msgstr "Vous devez passer --~a pour définir l'URI du service d’arrière-plan.\n" -#: src/scm/webid-oidc/program.scm:709 src/scm/webid-oidc/program.scm:781 +#: src/scm/webid-oidc/program.scm:711 src/scm/webid-oidc/program.scm:783 #, scheme-format msgid "" "You must pass --~a to set the file where to store the identity provider " @@ -2095,59 +2101,59 @@ msgstr "" "Vous devez passer --~a pour définir le nom du fichier pour sauvegarder\n" "la clé du fournisseur d’identité.\n" -#: src/scm/webid-oidc/program.scm:713 src/scm/webid-oidc/program.scm:785 +#: src/scm/webid-oidc/program.scm:715 src/scm/webid-oidc/program.scm:787 #, scheme-format msgid "You must pass --~a to set the subject of the identity provider.\n" msgstr "" "Vous devez passer --~a pour définir le sujet du fournisseur d’identité.\n" -#: src/scm/webid-oidc/program.scm:717 src/scm/webid-oidc/program.scm:789 +#: src/scm/webid-oidc/program.scm:719 src/scm/webid-oidc/program.scm:791 #, scheme-format msgid "You must pass --~a to set the subject’s encrypted password.\n" msgstr "" "Vous devez passer --~a pour définir le mot de passe chiffré du sujet.\n" -#: src/scm/webid-oidc/program.scm:721 src/scm/webid-oidc/program.scm:793 +#: src/scm/webid-oidc/program.scm:723 src/scm/webid-oidc/program.scm:795 #, scheme-format msgid "You must pass --~a to set the JWKS URI.\n" msgstr "Vous devez passer --~a pour définir l'URI du JWKS.\n" -#: src/scm/webid-oidc/program.scm:725 src/scm/webid-oidc/program.scm:797 +#: src/scm/webid-oidc/program.scm:727 src/scm/webid-oidc/program.scm:799 #, scheme-format msgid "You must pass --~a to set the authorization endpoint URI.\n" msgstr "" "Vous devez passer --~a pour définir l'URI du terminal d'autorisation.\n" -#: src/scm/webid-oidc/program.scm:729 src/scm/webid-oidc/program.scm:801 +#: src/scm/webid-oidc/program.scm:731 src/scm/webid-oidc/program.scm:803 #, scheme-format msgid "You must pass --~a to set the token endpoint URI.\n" msgstr "Vous devez passer --~a pour définir l'URI du terminal de jeton.\n" -#: src/scm/webid-oidc/program.scm:749 +#: src/scm/webid-oidc/program.scm:751 #, scheme-format msgid "You must pass --~a to set the application web ID.\n" msgstr "" "Vous devez passer --~a pour définir l'identifiant web de l’application.\n" -#: src/scm/webid-oidc/program.scm:753 +#: src/scm/webid-oidc/program.scm:755 #, scheme-format msgid "You must pass --~a to set the redirection URI.\n" msgstr "Vous devez passer --~a pour définir l'URI de redirection.\n" -#: src/scm/webid-oidc/program.scm:757 +#: src/scm/webid-oidc/program.scm:759 #, scheme-format msgid "You must pass --~a to set the informative client name.\n" msgstr "" "Vous devez passer --~a pour donner un nom pour l’application à titre " "informatif.\n" -#: src/scm/webid-oidc/program.scm:761 +#: src/scm/webid-oidc/program.scm:763 #, scheme-format msgid "You must pass --~a to set the informative client URI.\n" msgstr "" "Vous devez passer --~a pour définir l'URI du client, à titre informatif.\n" -#: src/scm/webid-oidc/program.scm:848 +#: src/scm/webid-oidc/program.scm:850 #, scheme-format msgid "Unknown command ~s\n" msgstr "Commande inconnue ~s\n" diff --git a/pre-inst-env.in b/pre-inst-env.in index f1323c9..14f4625 100755 --- a/pre-inst-env.in +++ b/pre-inst-env.in @@ -1,6 +1,6 @@ #!@SHELL@ -# webid-oidc, implementation of the Solid specification +# disfluid, implementation of the Solid specification # Copyright (C) 2020, 2021 Vivien Kraus # This program is free software: you can redistribute it and/or modify diff --git a/src/Makefile.am b/src/Makefile.am index 930fe01..f30840e 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -1,4 +1,4 @@ -# webid-oidc, implementation of the Solid specification +# disfluid, implementation of the Solid specification # Copyright (C) 2020, 2021 Vivien Kraus # This program is free software: you can redistribute it and/or modify @@ -16,7 +16,7 @@ lib_LTLIBRARIES += %reldir%/libwebidoidc.la -dist_bin_SCRIPTS += %reldir%/webid-oidc %reldir%/webid-oidc-hello %reldir%/webid-oidc-example-app +dist_bin_SCRIPTS += %reldir%/disfluid %reldir%/disfluid-hello %reldir%/disfluid-example-app AM_CPPFLAGS += -I %reldir% -I $(srcdir)/%reldir% diff --git a/src/webid-oidc b/src/disfluid index 765f62c..e596dd6 100755 --- a/src/webid-oidc +++ b/src/disfluid @@ -2,7 +2,7 @@ --no-auto-compile -s !# -;; webid-oidc, implementation of the Solid specification +;; disfluid, implementation of the Solid specification ;; Copyright (C) 2020, 2021 Vivien Kraus ;; This program is free software: you can redistribute it and/or modify diff --git a/src/webid-oidc-example-app b/src/disfluid-example-app index efa22a0..4c2a7d6 100755 --- a/src/webid-oidc-example-app +++ b/src/disfluid-example-app @@ -2,7 +2,7 @@ --no-auto-compile -s !# -;; webid-oidc, implementation of the Solid specification +;; disfluid, implementation of the Solid specification ;; Copyright (C) 2020, 2021 Vivien Kraus ;; This program is free software: you can redistribute it and/or modify diff --git a/src/webid-oidc-hello b/src/disfluid-hello index ea9d407..03795f1 100755 --- a/src/webid-oidc-hello +++ b/src/disfluid-hello @@ -2,7 +2,7 @@ --no-auto-compile -s !# -;; webid-oidc, implementation of the Solid specification +;; disfluid, implementation of the Solid specification ;; Copyright (C) 2020, 2021 Vivien Kraus ;; This program is free software: you can redistribute it and/or modify diff --git a/src/random/random.c b/src/random/random.c index 9c2faf3..fad151d 100644 --- a/src/random/random.c +++ b/src/random/random.c @@ -1,5 +1,5 @@ /* - webid-oidc, implementation of the Solid specification + disfluid, implementation of the Solid specification Copyright (C) 2020, 2021 Vivien Kraus This program is free software: you can redistribute it and/or modify @@ -201,7 +201,7 @@ webid_oidc_random_init (void) char *cache_dir, *pkg_cache_dir, *filename; char *home = getenv ("HOME"); char *xdg_cache_home = getenv ("XDG_CACHE_HOME"); - char *application = getenv ("WEBID_OIDC_APPLICATION_NAME"); + char *application = getenv ("DISFLUID_APPLICATION_NAME"); static const char *default_application = PACKAGE; FILE *seed_file; FILE *system_rng_file; diff --git a/src/scm/webid-oidc/cache.scm b/src/scm/webid-oidc/cache.scm index 8b8c480..dbf0112 100644 --- a/src/scm/webid-oidc/cache.scm +++ b/src/scm/webid-oidc/cache.scm @@ -1,4 +1,4 @@ -;; webid-oidc, implementation of the Solid specification +;; disfluid, implementation of the Solid specification ;; Copyright (C) 2020, 2021 Vivien Kraus ;; This program is free software: you can redistribute it and/or modify @@ -52,7 +52,7 @@ (let ((xdg-cache-home (or (getenv "XDG_CACHE_HOME") (format #f "~a/.cache" (getenv "HOME"))))) - (format #f "~a/webid-oidc" xdg-cache-home))) + (format #f "~a/disfluid" xdg-cache-home))) (define (web-cache-dir dir) (when (thunk? dir) diff --git a/src/scm/webid-oidc/client.scm b/src/scm/webid-oidc/client.scm index 83bca37..e8796c0 100644 --- a/src/scm/webid-oidc/client.scm +++ b/src/scm/webid-oidc/client.scm @@ -1,4 +1,4 @@ -;; webid-oidc, implementation of the Solid specification +;; disfluid, implementation of the Solid specification ;; Copyright (C) 2020, 2021 Vivien Kraus ;; This program is free software: you can redistribute it and/or modify @@ -259,7 +259,7 @@ (getenv "XDG_DATA_HOME") (format #f "~a/.local/share" (getenv "HOME"))))) - (format #f "~a/webid-oidc" xdg-data-home))) + (format #f "~a/disfluid" xdg-data-home))) (define*-public (list-profiles #:key (dir default-dir)) (when (thunk? dir) diff --git a/src/scm/webid-oidc/example-app.scm b/src/scm/webid-oidc/example-app.scm index 8d11c73..f0fcdd3 100644 --- a/src/scm/webid-oidc/example-app.scm +++ b/src/scm/webid-oidc/example-app.scm @@ -1,4 +1,4 @@ -;; webid-oidc, implementation of the Solid specification +;; disfluid, implementation of the Solid specification ;; Copyright (C) 2020, 2021 Vivien Kraus ;; This program is free software: you can redistribute it and/or modify diff --git a/src/scm/webid-oidc/program.scm b/src/scm/webid-oidc/program.scm index 4fbc34a..4d469f3 100644 --- a/src/scm/webid-oidc/program.scm +++ b/src/scm/webid-oidc/program.scm @@ -1,4 +1,4 @@ -;; webid-oidc, implementation of the Solid specification +;; disfluid, implementation of the Solid specification ;; Copyright (C) 2020, 2021 Vivien Kraus ;; This program is free software: you can redistribute it and/or modify @@ -286,7 +286,7 @@ (car (command-line))) (format #t (G_ " -Run the webid-oidc COMMAND.")) +Run the disfluid COMMAND.")) (format #t "\n") (format #t (G_ " This program is covered by the GNU Affero GPL, version 3 or @@ -361,7 +361,7 @@ Options for the resource server:")) (format #t (G_ " -H HEADER, --~a=HEADER: the HEADER field contains the webid of the authenticated user, - XXX-Agent by default. For the full server, disable webid-oidc + XXX-Agent by default. For the full server, disable Solid-OIDC authentication.") header-sym) (format #t (G_ " @@ -552,7 +552,7 @@ options for the parts.")) ~a ~a \\ --~a 'https://webid-oidc.planete-kraus.eu/complete-corresponding-source.tar.gz' \\ --~a 'https://data.planete-kraus.eu' \\ - --~a '/var/lib/webid-oidc/server/key.jwk' \\ + --~a '/var/lib/disfluid/server/key.jwk' \\ --~a 'https://data.planete-kraus.eu/vivien#me' \\ --~a '$...alg...$...salt...$...hash...' \\ --~a 'https://data.planete-kraus.eu/keys' \\ diff --git a/src/scm/webid-oidc/refresh-token.scm b/src/scm/webid-oidc/refresh-token.scm index f9ceada..34b2f1b 100644 --- a/src/scm/webid-oidc/refresh-token.scm +++ b/src/scm/webid-oidc/refresh-token.scm @@ -1,4 +1,4 @@ -;; webid-oidc, implementation of the Solid specification +;; disfluid, implementation of the Solid specification ;; Copyright (C) 2020, 2021 Vivien Kraus ;; This program is free software: you can redistribute it and/or modify @@ -28,7 +28,7 @@ (getenv "XDG_DATA_HOME") (format #f "~a/.local/share" (getenv "HOME"))))) - (format #f "~a/webid-oidc" xdg-data-home))) + (format #f "~a/disfluid" xdg-data-home))) (define*-public (list-refresh-tokens #:key diff --git a/src/scm/webid-oidc/testing.scm b/src/scm/webid-oidc/testing.scm index f6a5b16..0aec4b8 100644 --- a/src/scm/webid-oidc/testing.scm +++ b/src/scm/webid-oidc/testing.scm @@ -28,7 +28,7 @@ (catch #t (lambda () (mkdir cache-dir)) (lambda err #t)) - (let ((pkg-cache-dir (format #f "~a/webid-oidc" cache-dir))) + (let ((pkg-cache-dir (format #f "~a/disfluid" cache-dir))) (catch #t (lambda () (mkdir pkg-cache-dir)) (lambda err #t)) diff --git a/tests/acl.scm b/tests/acl.scm index 8263339..3d76c54 100644 --- a/tests/acl.scm +++ b/tests/acl.scm @@ -47,7 +47,7 @@ (false-if-exception (delete-file (string-append - "tests/direct-acl.home/webid-oidc/server/content/" + "tests/direct-acl.home/disfluid/server/content/" f)))) '("6/8OMG_V5x-KmI6TI" "X/hqM_2Avn5_egTzs" diff --git a/tests/crud.scm b/tests/crud.scm index 17a0ac4..40ec7b1 100644 --- a/tests/crud.scm +++ b/tests/crud.scm @@ -39,7 +39,7 @@ (false-if-exception (delete-file (string-append - "tests/crud.home/webid-oidc/server/content/" + "tests/crud.home/disfluid/server/content/" f)))) '("6/8OMG_V5x-KmI6TI" "X/hqM_2Avn5_egTzs" @@ -63,7 +63,7 @@ (false-if-exception (delete-file (string-append - "tests/crud.home/webid-oidc/server/path/" + "tests/crud.home/disfluid/server/path/" f)))) '("L/uhr1159jdGYjIj_tpM6FDiW4rUZDQQKUnT35lhAR-s" "8/jgewChguz6YRPCTBOkx_9CW94iH_X88rP6Os4aM8jg" diff --git a/tests/server-content.scm b/tests/server-content.scm index 24ecfe9..bb32be4 100644 --- a/tests/server-content.scm +++ b/tests/server-content.scm @@ -30,10 +30,10 @@ (lambda () (false-if-exception ;; This is the etag of the root with the seed of the test - (delete-file "tests/server-content.home/webid-oidc/server/content/6/8OMG_V5x-KmI6TI")) + (delete-file "tests/server-content.home/disfluid/server/content/6/8OMG_V5x-KmI6TI")) (false-if-exception ;; This is the etag of /wtf - (delete-file "tests/server-content.home/webid-oidc/server/content/X/hqM_2Avn5_egTzs")) + (delete-file "tests/server-content.home/disfluid/server/content/X/hqM_2Avn5_egTzs")) (receive (/ /wtf) (with-session (lambda (content-type contained static-content create delete) diff --git a/update-channel.scm b/update-channel.scm index dc5cafd..55eaa8a 100644 --- a/update-channel.scm +++ b/update-channel.scm @@ -1,4 +1,4 @@ -;; webid-oidc, implementation of the Solid specification +;; disfluid, implementation of the Solid specification ;; Copyright (C) 2020, 2021 Vivien Kraus ;; This program is free software: you can redistribute it and/or modify @@ -78,18 +78,18 @@ tmp-dirname (invoke git "rm" "-f" "-r" "--ignore-unmatch" ".") (copy-recursively interned-modules "." #:follow-symlinks? #t) - (chmod "vkraus/packages/webid-oidc.scm" #o644) - (let ((port (open-file "vkraus/packages/webid-oidc.scm" "a"))) - (write `(define-public webid-oidc - (webid-oidc-release ,version ,release-date ,commit ,hash)) + (chmod "vkraus/packages/disfluid.scm" #o644) + (let ((port (open-file "vkraus/packages/disfluid.scm" "a"))) + (write `(define-public disfluid + (disfluid-release ,version ,release-date ,commit ,hash)) port) (display "\n" port) - (write `(define-public webid-oidc-html - (webid-oidc-htmlize webid-oidc)) + (write `(define-public disfluid-html + (disfluid-htmlize disfluid)) port) (display "\n" port) - (write `(define-public webid-oidc:website - (make-website webid-oidc)) + (write `(define-public disfluid:website + (make-website disfluid)) port) (display "\n" port) (close-port port)) |