From d05a8836f29d41ec4a423d4f44dcbb93a8bdd759 Mon Sep 17 00:00:00 2001 From: Vivien Kraus Date: Thu, 1 Jul 2021 16:41:20 +0200 Subject: Switch to AGPL --- src/Makefile.am | 16 +++ src/base64/Makefile.am | 16 +++ src/base64/libwebidoidc-base64.c | 18 +++ src/hash/Makefile.am | 16 +++ src/hash/libwebidoidc-hash.c | 18 +++ src/inst/Makefile.am | 16 +++ src/inst/webid-oidc/Makefile.am | 16 +++ src/jwk/Makefile.am | 16 +++ src/jwk/generate-key.c | 18 +++ src/jwk/libwebidoidc-jwk.c | 18 +++ src/jws/Makefile.am | 16 +++ src/jws/libwebidoidc-jws.c | 18 +++ src/libwebidoidc.c | 18 +++ src/pre-inst/Makefile.am | 16 +++ src/pre-inst/webid-oidc/Makefile.am | 16 +++ src/random/Makefile.am | 16 +++ src/random/generate-random.c | 18 +++ src/random/libwebidoidc-random.c | 18 +++ src/random/random.c | 18 +++ src/random/webid-oidc/random.h | 18 +++ src/scm/Makefile.am | 17 ++- src/scm/webid-oidc.scm | 3 - src/scm/webid-oidc/Makefile.am | 16 +++ src/scm/webid-oidc/access-token.scm | 16 +++ src/scm/webid-oidc/authorization-code.scm | 16 +++ src/scm/webid-oidc/authorization-endpoint.scm | 16 +++ src/scm/webid-oidc/authorization-page-unsafe.scm | 16 +++ src/scm/webid-oidc/authorization-page.scm | 16 +++ src/scm/webid-oidc/cache.scm | 16 +++ src/scm/webid-oidc/client-manifest.scm | 16 +++ src/scm/webid-oidc/client.scm | 16 +++ src/scm/webid-oidc/dpop-proof.scm | 16 +++ src/scm/webid-oidc/errors.scm | 19 ++- src/scm/webid-oidc/example-app.scm | 16 +++ src/scm/webid-oidc/fetch.scm | 16 +++ src/scm/webid-oidc/hello-world.scm | 49 +++++++- src/scm/webid-oidc/http-link.scm | 16 +++ src/scm/webid-oidc/identity-provider.scm | 16 +++ src/scm/webid-oidc/jti.scm | 16 +++ src/scm/webid-oidc/jwk.scm | 16 +++ src/scm/webid-oidc/jws.scm | 16 +++ src/scm/webid-oidc/oidc-configuration.scm | 16 +++ src/scm/webid-oidc/oidc-id-token.scm | 16 +++ src/scm/webid-oidc/program.scm | 140 ++++++++++++++++------- src/scm/webid-oidc/provider-confirmation.scm | 16 +++ src/scm/webid-oidc/rdf-index.scm | 16 +++ src/scm/webid-oidc/refresh-token.scm | 16 +++ src/scm/webid-oidc/resource-server.scm | 16 +++ src/scm/webid-oidc/reverse-proxy.scm | 16 +++ src/scm/webid-oidc/server/Makefile.am | 16 +++ src/scm/webid-oidc/server/create.scm | 16 +++ src/scm/webid-oidc/server/delete.scm | 16 +++ src/scm/webid-oidc/server/precondition.scm | 16 +++ src/scm/webid-oidc/server/read.scm | 16 +++ src/scm/webid-oidc/server/resource/Makefile.am | 16 +++ src/scm/webid-oidc/server/resource/content.scm | 16 +++ src/scm/webid-oidc/server/resource/path.scm | 16 +++ src/scm/webid-oidc/server/resource/wac.scm | 16 +++ src/scm/webid-oidc/server/update.scm | 16 +++ src/scm/webid-oidc/stubs.scm | 16 +++ src/scm/webid-oidc/testing.scm | 16 +++ src/scm/webid-oidc/token-endpoint.scm | 16 +++ src/utilities.h | 18 +++ src/webid-oidc | 16 +++ src/webid-oidc-client-service | 16 +++ src/webid-oidc-example-app | 16 +++ src/webid-oidc-hello | 16 +++ src/webid-oidc-issuer | 16 +++ 68 files changed, 1207 insertions(+), 51 deletions(-) delete mode 100644 src/scm/webid-oidc.scm mode change 100644 => 100755 src/webid-oidc-hello (limited to 'src') diff --git a/src/Makefile.am b/src/Makefile.am index 034ae92..930fe01 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -1,3 +1,19 @@ +# 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 . + lib_LTLIBRARIES += %reldir%/libwebidoidc.la dist_bin_SCRIPTS += %reldir%/webid-oidc %reldir%/webid-oidc-hello %reldir%/webid-oidc-example-app diff --git a/src/base64/Makefile.am b/src/base64/Makefile.am index 11fdc5a..c049520 100644 --- a/src/base64/Makefile.am +++ b/src/base64/Makefile.am @@ -1,3 +1,19 @@ +# 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 . + noinst_LTLIBRARIES += %reldir%/libwebidoidc-base64.la EXTRA_DIST += %reldir%/libwebidoidc-base64.x BUILT_SOURCES += %reldir%/libwebidoidc-base64.x diff --git a/src/base64/libwebidoidc-base64.c b/src/base64/libwebidoidc-base64.c index 8eb29b8..51255b0 100644 --- a/src/base64/libwebidoidc-base64.c +++ b/src/base64/libwebidoidc-base64.c @@ -1,3 +1,21 @@ +/* + 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 . +*/ + #include #define _(s) dgettext (PACKAGE, s) diff --git a/src/hash/Makefile.am b/src/hash/Makefile.am index 5579608..5ecdd14 100644 --- a/src/hash/Makefile.am +++ b/src/hash/Makefile.am @@ -1,3 +1,19 @@ +# 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 . + noinst_LTLIBRARIES += %reldir%/libwebidoidc-hash.la EXTRA_DIST += %reldir%/libwebidoidc-hash.x BUILT_SOURCES += %reldir%/libwebidoidc-hash.x diff --git a/src/hash/libwebidoidc-hash.c b/src/hash/libwebidoidc-hash.c index 75d7da9..a9876d1 100644 --- a/src/hash/libwebidoidc-hash.c +++ b/src/hash/libwebidoidc-hash.c @@ -1,3 +1,21 @@ +/* + 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 . +*/ + #include #include diff --git a/src/inst/Makefile.am b/src/inst/Makefile.am index 08c3f1c..d127a49 100644 --- a/src/inst/Makefile.am +++ b/src/inst/Makefile.am @@ -1 +1,17 @@ +# 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 . + include %reldir%/webid-oidc/Makefile.am diff --git a/src/inst/webid-oidc/Makefile.am b/src/inst/webid-oidc/Makefile.am index c6edc5c..5b7cfc4 100644 --- a/src/inst/webid-oidc/Makefile.am +++ b/src/inst/webid-oidc/Makefile.am @@ -1,3 +1,19 @@ +# 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 . + webidoidcmod_DATA += %reldir%/config.scm webidoidcgo_DATA += %reldir%/config.go diff --git a/src/jwk/Makefile.am b/src/jwk/Makefile.am index 686f450..25f89b4 100644 --- a/src/jwk/Makefile.am +++ b/src/jwk/Makefile.am @@ -1,3 +1,19 @@ +# 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 . + noinst_LTLIBRARIES += %reldir%/libwebidoidc-jwk.la noinst_PROGRAMS += %reldir%/generate-key EXTRA_DIST += %reldir%/libwebidoidc-jwk.x diff --git a/src/jwk/generate-key.c b/src/jwk/generate-key.c index e875b24..61e7089 100644 --- a/src/jwk/generate-key.c +++ b/src/jwk/generate-key.c @@ -1,3 +1,21 @@ +/* + 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 . +*/ + #ifdef HAVE_CONFIG_H #include #endif /* HAVE_CONFIG_H */ diff --git a/src/jwk/libwebidoidc-jwk.c b/src/jwk/libwebidoidc-jwk.c index 71cb71c..29e038f 100644 --- a/src/jwk/libwebidoidc-jwk.c +++ b/src/jwk/libwebidoidc-jwk.c @@ -1,3 +1,21 @@ +/* + 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 . +*/ + #include #define _(s) dgettext (PACKAGE, s) diff --git a/src/jws/Makefile.am b/src/jws/Makefile.am index cf09f0e..a0cd924 100644 --- a/src/jws/Makefile.am +++ b/src/jws/Makefile.am @@ -1,3 +1,19 @@ +# 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 . + noinst_LTLIBRARIES += %reldir%/libwebidoidc-jws.la EXTRA_DIST += %reldir%/libwebidoidc-jws.x BUILT_SOURCES += %reldir%/libwebidoidc-jws.x diff --git a/src/jws/libwebidoidc-jws.c b/src/jws/libwebidoidc-jws.c index 17ae6b5..a35b854 100644 --- a/src/jws/libwebidoidc-jws.c +++ b/src/jws/libwebidoidc-jws.c @@ -1,3 +1,21 @@ +/* + 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 . +*/ + #include #define _(s) dgettext (PACKAGE, s) diff --git a/src/libwebidoidc.c b/src/libwebidoidc.c index 1c637e5..32f4c70 100644 --- a/src/libwebidoidc.c +++ b/src/libwebidoidc.c @@ -1,3 +1,21 @@ +/* + 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 . +*/ + #define N_(s) void init_webidoidc_base64 (void); void init_webidoidc_random (void); diff --git a/src/pre-inst/Makefile.am b/src/pre-inst/Makefile.am index 035a7bb..002bc2c 100644 --- a/src/pre-inst/Makefile.am +++ b/src/pre-inst/Makefile.am @@ -1,3 +1,19 @@ +# 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 . + include %reldir%/webid-oidc/Makefile.am GUILD_OPTIONS += -L %reldir% -L $(srcdir)/%reldir% diff --git a/src/pre-inst/webid-oidc/Makefile.am b/src/pre-inst/webid-oidc/Makefile.am index 0503c8d..e168509 100644 --- a/src/pre-inst/webid-oidc/Makefile.am +++ b/src/pre-inst/webid-oidc/Makefile.am @@ -1,3 +1,19 @@ +# 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 . + $(go_DATA) $(webidoidcgo_DATA): %reldir%/config.go CLEANFILES += %reldir%/config.go %reldir%/config.scm diff --git a/src/random/Makefile.am b/src/random/Makefile.am index fbd548c..79708b3 100644 --- a/src/random/Makefile.am +++ b/src/random/Makefile.am @@ -1,3 +1,19 @@ +# 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 . + noinst_LTLIBRARIES += %reldir%/libwebidoidc-random.la noinst_PROGRAMS += %reldir%/generate-random EXTRA_DIST += %reldir%/libwebidoidc-random.x diff --git a/src/random/generate-random.c b/src/random/generate-random.c index bde01b9..955fb88 100644 --- a/src/random/generate-random.c +++ b/src/random/generate-random.c @@ -1,3 +1,21 @@ +/* + 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 . +*/ + #ifdef HAVE_CONFIG_H #include #endif /* HAVE_CONFIG_H */ diff --git a/src/random/libwebidoidc-random.c b/src/random/libwebidoidc-random.c index 2bea9bb..10e8882 100644 --- a/src/random/libwebidoidc-random.c +++ b/src/random/libwebidoidc-random.c @@ -1,3 +1,21 @@ +/* + 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 . +*/ + #include #include #include diff --git a/src/random/random.c b/src/random/random.c index d5c45f5..9c2faf3 100644 --- a/src/random/random.c +++ b/src/random/random.c @@ -1,3 +1,21 @@ +/* + 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 . +*/ + #ifdef HAVE_CONFIG_H #include #endif /* not HAVE_CONFIG_H */ diff --git a/src/random/webid-oidc/random.h b/src/random/webid-oidc/random.h index ae1adfc..65485fc 100644 --- a/src/random/webid-oidc/random.h +++ b/src/random/webid-oidc/random.h @@ -1,3 +1,21 @@ +/* + 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 . +*/ + #ifndef H_RANDOM_INCLUDED #define H_RANDOM_INCLUDED diff --git a/src/scm/Makefile.am b/src/scm/Makefile.am index 33855e1..d127a49 100644 --- a/src/scm/Makefile.am +++ b/src/scm/Makefile.am @@ -1,4 +1,17 @@ -dist_mod_DATA += %reldir%/webid-oidc.scm -go_DATA += %reldir%/webid-oidc.go +# 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 . include %reldir%/webid-oidc/Makefile.am diff --git a/src/scm/webid-oidc.scm b/src/scm/webid-oidc.scm deleted file mode 100644 index 38c563d..0000000 --- a/src/scm/webid-oidc.scm +++ /dev/null @@ -1,3 +0,0 @@ -(define-module (webid-oidc) - #:use-module (webid-oidc config) - #:use-module (webid-oidc jws)) diff --git a/src/scm/webid-oidc/Makefile.am b/src/scm/webid-oidc/Makefile.am index d96b63a..867d2ee 100644 --- a/src/scm/webid-oidc/Makefile.am +++ b/src/scm/webid-oidc/Makefile.am @@ -1,3 +1,19 @@ +# 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 . + dist_webidoidcmod_DATA += \ %reldir%/errors.scm \ %reldir%/stubs.scm \ diff --git a/src/scm/webid-oidc/access-token.scm b/src/scm/webid-oidc/access-token.scm index 34afcdc..9c57326 100644 --- a/src/scm/webid-oidc/access-token.scm +++ b/src/scm/webid-oidc/access-token.scm @@ -1,3 +1,19 @@ +;; 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 . + (define-module (webid-oidc access-token) #:use-module (webid-oidc jws) #:use-module (webid-oidc errors) diff --git a/src/scm/webid-oidc/authorization-code.scm b/src/scm/webid-oidc/authorization-code.scm index ebe97c4..3a0da3b 100644 --- a/src/scm/webid-oidc/authorization-code.scm +++ b/src/scm/webid-oidc/authorization-code.scm @@ -1,3 +1,19 @@ +;; 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 . + (define-module (webid-oidc authorization-code) #:use-module (webid-oidc errors) #:use-module ((webid-oidc stubs) #:prefix stubs:) diff --git a/src/scm/webid-oidc/authorization-endpoint.scm b/src/scm/webid-oidc/authorization-endpoint.scm index 8dfa71f..3c4a730 100644 --- a/src/scm/webid-oidc/authorization-endpoint.scm +++ b/src/scm/webid-oidc/authorization-endpoint.scm @@ -1,3 +1,19 @@ +;; 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 . + (define-module (webid-oidc authorization-endpoint) #:use-module (webid-oidc errors) #:use-module (webid-oidc authorization-page) diff --git a/src/scm/webid-oidc/authorization-page-unsafe.scm b/src/scm/webid-oidc/authorization-page-unsafe.scm index f969caf..1ab235e 100644 --- a/src/scm/webid-oidc/authorization-page-unsafe.scm +++ b/src/scm/webid-oidc/authorization-page-unsafe.scm @@ -1,3 +1,19 @@ +;; 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 . + (define-module (webid-oidc authorization-page-unsafe) #:use-module (webid-oidc errors) #:use-module (sxml simple) diff --git a/src/scm/webid-oidc/authorization-page.scm b/src/scm/webid-oidc/authorization-page.scm index b2c2f1f..453275b 100644 --- a/src/scm/webid-oidc/authorization-page.scm +++ b/src/scm/webid-oidc/authorization-page.scm @@ -1,3 +1,19 @@ +;; 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 . + (define-module (webid-oidc authorization-page) #:use-module (webid-oidc errors) #:use-module ((webid-oidc authorization-page-unsafe) #:prefix unsafe:) diff --git a/src/scm/webid-oidc/cache.scm b/src/scm/webid-oidc/cache.scm index 9435c10..8b8c480 100644 --- a/src/scm/webid-oidc/cache.scm +++ b/src/scm/webid-oidc/cache.scm @@ -1,3 +1,19 @@ +;; 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 . + (define-module (webid-oidc cache) #:use-module ((webid-oidc stubs) #:prefix stubs:) #:use-module (web client) diff --git a/src/scm/webid-oidc/client-manifest.scm b/src/scm/webid-oidc/client-manifest.scm index 54c098a..0515fdd 100644 --- a/src/scm/webid-oidc/client-manifest.scm +++ b/src/scm/webid-oidc/client-manifest.scm @@ -1,3 +1,19 @@ +;; 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 . + (define-module (webid-oidc client-manifest) #:use-module (webid-oidc errors) #:use-module (webid-oidc fetch) diff --git a/src/scm/webid-oidc/client.scm b/src/scm/webid-oidc/client.scm index d8f438b..aea2b7e 100644 --- a/src/scm/webid-oidc/client.scm +++ b/src/scm/webid-oidc/client.scm @@ -1,3 +1,19 @@ +;; 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 . + (define-module (webid-oidc client) #:use-module (webid-oidc errors) #:use-module (webid-oidc provider-confirmation) diff --git a/src/scm/webid-oidc/dpop-proof.scm b/src/scm/webid-oidc/dpop-proof.scm index 89c78af..c716c33 100644 --- a/src/scm/webid-oidc/dpop-proof.scm +++ b/src/scm/webid-oidc/dpop-proof.scm @@ -1,3 +1,19 @@ +;; 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 . + (define-module (webid-oidc dpop-proof) #:use-module (webid-oidc jws) #:use-module (webid-oidc errors) diff --git a/src/scm/webid-oidc/errors.scm b/src/scm/webid-oidc/errors.scm index dd68557..c969a40 100644 --- a/src/scm/webid-oidc/errors.scm +++ b/src/scm/webid-oidc/errors.scm @@ -1,3 +1,19 @@ +;; 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 . + (define-module (webid-oidc errors) #:use-module ((webid-oidc stubs) #:prefix stubs:) #:use-module (ice-9 exceptions) @@ -1434,7 +1450,8 @@ (format #f (G_ "the values ~s are problematic") (exception-irritants err))) ((&exception-with-kind-and-args) - (format #f (G_ "there is a kind and args"))) + (format #f (G_ "there is a kind (~s) and args ~s") + (get 'kind) (get 'args))) ((&assertion-failure) (format #f (G_ "there is an assertion failure"))) ((&quit-exception) diff --git a/src/scm/webid-oidc/example-app.scm b/src/scm/webid-oidc/example-app.scm index bb2faa6..8d11c73 100644 --- a/src/scm/webid-oidc/example-app.scm +++ b/src/scm/webid-oidc/example-app.scm @@ -1,3 +1,19 @@ +;; 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 . + (define-module (webid-oidc example-app) #:use-module (webid-oidc client) #:use-module (webid-oidc errors) diff --git a/src/scm/webid-oidc/fetch.scm b/src/scm/webid-oidc/fetch.scm index 6642ed1..f998ba2 100644 --- a/src/scm/webid-oidc/fetch.scm +++ b/src/scm/webid-oidc/fetch.scm @@ -1,3 +1,19 @@ +;; 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 . + (define-module (webid-oidc fetch) #:use-module (webid-oidc errors) #:use-module (ice-9 optargs) diff --git a/src/scm/webid-oidc/hello-world.scm b/src/scm/webid-oidc/hello-world.scm index cda88e4..9dc85cb 100644 --- a/src/scm/webid-oidc/hello-world.scm +++ b/src/scm/webid-oidc/hello-world.scm @@ -1,3 +1,19 @@ +;; 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 . + (define-module (webid-oidc hello-world) #:use-module (webid-oidc resource-server) #:use-module (webid-oidc jti) @@ -29,13 +45,16 @@ (textdomain cfg:package) (let ((version-sym (string->symbol (G_ "command-line|version"))) + (complete-corresponding-source-sym + (string->symbol (G_ "command-line|complete-corresponding-source"))) (help-sym (string->symbol (G_ "comand-line|help"))) (port-sym (string->symbol (G_ "comand-line|port")))) (let ((options (let ((option-spec - `((,version-sym (single-char #\v) (value #f)) + `((,complete-corresponding-source-sym (single-char #\S) (value #t)) + (,version-sym (single-char #\v) (value #f)) (,help-sym (single-char #\h) (value #f)) (,port-sym (single-char #\p) (value #t))))) (getopt-long (command-line) option-spec)))) @@ -45,15 +64,25 @@ Display your identity contained in the XXX-Agent header. +This program is covered by the GNU Affero GPL, version 3 or +later. This license requires you to provide a way for any user over +the network to download the complete corresponding source code (with +your modifications) at no cost. The server adds a \"Source:\" header +to all responses. + Options: + -S MEANS, --~a=MEANS: + specify a way to download the complete corresponding source + code. For instance, this would be an URI pointing to a tarball. -h, --~a: display this help message and exit. -v, --~a: display the version information (~a) and exit. - -p PORT, --port=~a: + -p PORT, --~a=PORT: set the port to bind. ") (car (command-line)) + complete-corresponding-source-sym help-sym version-sym cfg:version port-sym)) @@ -63,6 +92,13 @@ Options: (else (let ((port-string (option-ref options port-sym "8080")) + (means-string + (let ((str (option-ref options complete-corresponding-source-sym #f))) + (unless str + (format (current-error-port) + (G_ "You are legally required to link to the complete corresponding source code.\n")) + (exit 1)) + str)) (jti-list (make-jti-list))) (unless (and (string->number port-string) (integer? (string->number port-string)) @@ -78,7 +114,8 @@ Options: (if (and agent (string->uri agent)) (values (build-response - #:headers '((content-type application/xhtml+xml))) + #:headers `((content-type application/xhtml+xml) + (source . ,means-string))) (with-output-to-string (lambda () (sxml->xml @@ -92,7 +129,8 @@ Options: (values (build-response #:code 401 #:reason-phrase "Unauthorized" - #:headers '((content-type application/xhtml+xml))) + #:headers `((content-type application/xhtml+xml) + (source . ,means-string))) (with-output-to-string (lambda () (sxml->xml @@ -104,7 +142,8 @@ Options: (values (build-response #:code 405 #:reason-phrase "Method Not Allowed" - #:headers '((content-type application/xhtml+xml))) + #:headers `((content-type application/xhtml+xml) + (source . ,means-string))) (with-output-to-string (lambda () (sxml->xml diff --git a/src/scm/webid-oidc/http-link.scm b/src/scm/webid-oidc/http-link.scm index 3400faf..64efc07 100644 --- a/src/scm/webid-oidc/http-link.scm +++ b/src/scm/webid-oidc/http-link.scm @@ -1,3 +1,19 @@ +;; 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 . + (define-module (webid-oidc http-link) #:use-module (ice-9 receive) #:use-module (ice-9 optargs) diff --git a/src/scm/webid-oidc/identity-provider.scm b/src/scm/webid-oidc/identity-provider.scm index 6f96b44..37a01be 100644 --- a/src/scm/webid-oidc/identity-provider.scm +++ b/src/scm/webid-oidc/identity-provider.scm @@ -1,3 +1,19 @@ +;; 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 . + (define-module (webid-oidc identity-provider) #:use-module (webid-oidc errors) #:use-module (webid-oidc authorization-endpoint) diff --git a/src/scm/webid-oidc/jti.scm b/src/scm/webid-oidc/jti.scm index 423382a..4713d7d 100644 --- a/src/scm/webid-oidc/jti.scm +++ b/src/scm/webid-oidc/jti.scm @@ -1,3 +1,19 @@ +;; 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 . + (define-module (webid-oidc jti) #:use-module (ice-9 atomic) #:use-module (ice-9 threads) diff --git a/src/scm/webid-oidc/jwk.scm b/src/scm/webid-oidc/jwk.scm index fd94b9e..57da31d 100644 --- a/src/scm/webid-oidc/jwk.scm +++ b/src/scm/webid-oidc/jwk.scm @@ -1,3 +1,19 @@ +;; 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 . + (define-module (webid-oidc jwk) #:use-module ((webid-oidc stubs) #:prefix stubs:) #:use-module (webid-oidc errors) diff --git a/src/scm/webid-oidc/jws.scm b/src/scm/webid-oidc/jws.scm index fb3edd1..43eb707 100644 --- a/src/scm/webid-oidc/jws.scm +++ b/src/scm/webid-oidc/jws.scm @@ -1,3 +1,19 @@ +;; 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 . + (define-module (webid-oidc jws) #:use-module (webid-oidc jwk) #:use-module (webid-oidc errors) diff --git a/src/scm/webid-oidc/oidc-configuration.scm b/src/scm/webid-oidc/oidc-configuration.scm index 99a4e17..2169a99 100644 --- a/src/scm/webid-oidc/oidc-configuration.scm +++ b/src/scm/webid-oidc/oidc-configuration.scm @@ -1,3 +1,19 @@ +;; 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 . + (define-module (webid-oidc oidc-configuration) #:use-module (webid-oidc jwk) #:use-module (webid-oidc errors) diff --git a/src/scm/webid-oidc/oidc-id-token.scm b/src/scm/webid-oidc/oidc-id-token.scm index 18ac124..9fe276c 100644 --- a/src/scm/webid-oidc/oidc-id-token.scm +++ b/src/scm/webid-oidc/oidc-id-token.scm @@ -1,3 +1,19 @@ +;; 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 . + (define-module (webid-oidc oidc-id-token) #:use-module (webid-oidc oidc-configuration) #:use-module (webid-oidc errors) diff --git a/src/scm/webid-oidc/program.scm b/src/scm/webid-oidc/program.scm index 2ab1cbe..a9c1a0f 100644 --- a/src/scm/webid-oidc/program.scm +++ b/src/scm/webid-oidc/program.scm @@ -1,3 +1,19 @@ +;; 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 . + (define-module (webid-oidc program) #:use-module (webid-oidc errors) #:use-module (webid-oidc reverse-proxy) @@ -13,6 +29,7 @@ #:use-module (ice-9 i18n) #:use-module (ice-9 getopt-long) #:use-module (ice-9 suspendable-ports) + #:use-module (ice-9 control) #:use-module (srfi srfi-19) #:use-module (rnrs bytevectors) #:use-module (web uri) @@ -45,31 +62,44 @@ (define cache-http-get (with-cache #:http-get http-get-with-log)) -(define (handler-with-log handler) +(define (handler-with-log complete-corresponding-source handler) (lambda (request request-body) - (with-exception-handler - (lambda (error) - (format (current-error-port) - (G_ "~a: Internal server error: ~a\n") - (date->string (time-utc->date (current-time))) - (error->str error)) - (values - (build-response #:code 500 - #:reason-phrase "Internal Server Error") - "Sorry, there was an error.")) - (lambda () - (with-exception-handler - (lambda (error) - (format (current-error-port) - (G_ "The client locale ~s can’t be approximated by system locale ~s (because ~a), using C.\n") - ((record-accessor &unknown-client-locale 'web-locale) error) - ((record-accessor &unknown-client-locale 'c-locale) error) - (error->str error))) - (lambda () - (handler request request-body)) - #:unwind? #t - #:unwind-for-type &unknown-client-locale)) - #:unwind? #t))) + (call/ec + (lambda (return) + (with-exception-handler + (lambda (error) + (format (current-error-port) + (G_ "~a: Internal server error: ~a\n") + (date->string (time-utc->date (current-time))) + (error->str error)) + (return + (build-response #:code 500 + #:reason-phrase "Internal Server Error" + #:headers `((source . ,complete-corresponding-source))) + "Sorry, there was an error.")) + (lambda () + (with-exception-handler + (lambda (error) + (format (current-error-port) + (G_ "The client locale ~s can’t be approximated by system locale ~s (because ~a), using C.\n") + ((record-accessor &unknown-client-locale 'web-locale) error) + ((record-accessor &unknown-client-locale 'c-locale) error) + (error->str error))) + (lambda () + (receive (response response-body) + (handler request request-body) + (return + (build-response + #:version (response-version response) + #:code (response-code response) + #:reason-phrase (response-reason-phrase response) + #:headers (cons `(source . ,complete-corresponding-source) + (response-headers response)) + #:port (response-port response) + #:validate-headers? #t) + response-body))) + #:unwind? #t + #:unwind-for-type &unknown-client-locale))))))) (define-public (main) (setvbuf (current-output-port) 'none) @@ -79,6 +109,8 @@ (textdomain cfg:package) (let ((version-sym (string->symbol (G_ "command-line|version"))) + (complete-corresponding-source-sym + (string->symbol (G_ "command-line|complete-corresponding-source"))) (help-sym (string->symbol (G_ "command-line|help"))) (port-sym @@ -115,7 +147,8 @@ (string->symbol (G_ "command-line|error-file")))) (let ((options (let ((spec - `((,version-sym (single-char #\v) (value #f)) + `((,complete-corresponding-source-sym (single-char #\S) (value #t)) + (,version-sym (single-char #\v) (value #f)) (,help-sym (single-char #\h) (value #f)) (,log-file-sym (single-char #\l) (value #t)) (,error-file-sym (single-char #\e) (value #t)) @@ -140,6 +173,12 @@ Run the webid-oidc COMMAND. +This program is covered by the GNU Affero GPL, version 3 or +later. This license requires you to provide a way for any user over +the network to download the complete corresponding source code (with +your modifications) at no cost. The server adds a \"Source:\" header +to all responses. + Available commands: ~a: run an authenticating reverse proxy. @@ -152,6 +191,9 @@ Available commands: facility. General options: + -S MEANS, --~a=MEANS: + specify a way to download the complete corresponding source + code. For instance, this would be an URI pointing to a tarball. -h, --~a: display a short help message and exit. -v, --~a: @@ -234,6 +276,7 @@ user. https://private.data.provider.com should only accept requests from this reverse proxy. ~a ~a \\ + --~a 'https://data.provider.com/server-source-code.tar.gz' \\ --~a 8080 \\ --~a 'https://data.provider.com' \\ --~a 'https://private.data.provider.com' \\ @@ -249,6 +292,7 @@ invoked with the following options: export XDG_DATA_HOME=/var/lib export XDG_CACHE_HOME=/var/cache ~a ~a \\ + --~a 'https://webid-oidc.planete-kraus.eu/complete-corresponding-source.tar.gz' \\ --~a 'https://webid-oidc-demo.planete-kraus.eu' \\ --~a '/var/lib/webid-oidc/issuer/key.jwk' \\ --~a 'https://webid-oidc-demo.planete-kraus.eu/profile/card#me' \\ @@ -263,6 +307,7 @@ Running the public pages for an application webid-oidc-demo.planete-kraus.eu is configured this way: ~a ~a \\ + --~a 'https://webid-oidc.planete-kraus.eu/complete-corresponding-source.tar.gz' \\ --~a 'https://webid-oidc-demo.planete-kraus.eu/example-application#id' \\ --~a 'https://webid-oidc-demo.planete-kraus.eu/authorized' \\ --~a 'Example Solid Application' \\ @@ -279,6 +324,7 @@ If you find a bug, then please send a report to ~a. (G_ "command-line|command|client-service") (G_ "command-line|command|server") ;; General options + complete-corresponding-source-sym ;; help help-sym ;; version @@ -333,17 +379,20 @@ If you find a bug, then please send a report to ~a. ;; command (G_ "command-line|command|reverse-proxy") ;; options + complete-corresponding-source-sym port-sym server-name-sym backend-uri-sym header-sym log-file-sym error-file-sym ;; Running an identity provider (car (command-line)) (G_ "command-line|command|identity-provider") + complete-corresponding-source-sym server-name-sym key-file-sym subject-sym password-sym jwks-uri-sym authorization-endpoint-uri-sym token-endpoint-uri-sym port-sym ;; Running the public pages for an application (car (command-line)) (G_ "command-line|command|client-service") + complete-corresponding-source-sym client-id-sym redirect-uri-sym client-name-sym client-uri-sym port-sym ;; Bug report @@ -353,6 +402,13 @@ If you find a bug, then please send a report to ~a. cfg:package cfg:version)) (else (let ((rest (option-ref options '() '())) + (complete-corresponding-source + (let ((str (option-ref options complete-corresponding-source-sym #f))) + (unless str + (format (current-error-port) + (G_ "You are legally required to link to the complete corresponding source code.\n")) + (exit 1)) + str)) (port (let ((port (string->number (option-ref options port-sym "8080")))) (unless port @@ -443,11 +499,13 @@ If you find a bug, then please send a report to ~a. backend-uri-sym) (exit 1)) (run-server - (make-reverse-proxy - #:server-uri server-name - #:http-get cache-http-get - #:endpoint backend-uri - #:auth-header header) + (handler-with-log + complete-corresponding-source + (make-reverse-proxy + #:server-uri server-name + #:http-get cache-http-get + #:endpoint backend-uri + #:auth-header header)) 'http (list #:port port)))) ((equal? command (G_ "command-line|command|identity-provider")) @@ -488,7 +546,7 @@ If you find a bug, then please send a report to ~a. #:current-time current-time #:http-get cache-http-get))) (run-server - (handler-with-log handler) + (handler-with-log complete-corresponding-source handler) 'http (list #:port port))))) ((equal? command (G_ "command-line|command|client-service")) @@ -514,7 +572,7 @@ If you find a bug, then please send a report to ~a. #:client-name client-name #:client-uri client-uri))) (run-server - (handler-with-log handler) + (handler-with-log complete-corresponding-source handler) 'http (list #:port port))))) ((equal? command (G_ "command-line|command|server")) @@ -575,14 +633,16 @@ If you find a bug, then please send a report to ~a. #:http-get cache-http-get))) (create-root server-name subject) (run-server - (lambda (request request-body) - (let ((path (uri-path (request-uri request)))) - (if (or (equal? path "/.well-known/openid-configuration") - (equal? path (uri-path jwks-uri)) - (equal? path (uri-path authorization-endpoint-uri)) - (equal? path (uri-path token-endpoint-uri))) - (identity-provider-handler request request-body) - (resource-handler request request-body)))) + (handler-with-log + complete-corresponding-source + (lambda (request request-body) + (let ((path (uri-path (request-uri request)))) + (if (or (equal? path "/.well-known/openid-configuration") + (equal? path (uri-path jwks-uri)) + (equal? path (uri-path authorization-endpoint-uri)) + (equal? path (uri-path token-endpoint-uri))) + (identity-provider-handler request request-body) + (resource-handler request request-body))))) 'http (list #:port port))))) (else diff --git a/src/scm/webid-oidc/provider-confirmation.scm b/src/scm/webid-oidc/provider-confirmation.scm index f767fee..1baf2f3 100644 --- a/src/scm/webid-oidc/provider-confirmation.scm +++ b/src/scm/webid-oidc/provider-confirmation.scm @@ -1,3 +1,19 @@ +;; 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 . + (define-module (webid-oidc provider-confirmation) #:use-module (webid-oidc errors) #:use-module (webid-oidc fetch) diff --git a/src/scm/webid-oidc/rdf-index.scm b/src/scm/webid-oidc/rdf-index.scm index f756afa..b70dc9a 100644 --- a/src/scm/webid-oidc/rdf-index.scm +++ b/src/scm/webid-oidc/rdf-index.scm @@ -1,3 +1,19 @@ +;; 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 . + (define-module (webid-oidc rdf-index) #:use-module (oop goops) #:use-module (rdf rdf) diff --git a/src/scm/webid-oidc/refresh-token.scm b/src/scm/webid-oidc/refresh-token.scm index d2a7da6..f9ceada 100644 --- a/src/scm/webid-oidc/refresh-token.scm +++ b/src/scm/webid-oidc/refresh-token.scm @@ -1,3 +1,19 @@ +;; 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 . + (define-module (webid-oidc refresh-token) #:use-module (webid-oidc errors) #:use-module ((webid-oidc stubs) #:prefix stubs:) diff --git a/src/scm/webid-oidc/resource-server.scm b/src/scm/webid-oidc/resource-server.scm index c69bc51..b5c1a48 100644 --- a/src/scm/webid-oidc/resource-server.scm +++ b/src/scm/webid-oidc/resource-server.scm @@ -1,3 +1,19 @@ +;; 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 . + (define-module (webid-oidc resource-server) #:use-module (webid-oidc errors) #:use-module (webid-oidc oidc-configuration) diff --git a/src/scm/webid-oidc/reverse-proxy.scm b/src/scm/webid-oidc/reverse-proxy.scm index cc4d46a..f9caba6 100644 --- a/src/scm/webid-oidc/reverse-proxy.scm +++ b/src/scm/webid-oidc/reverse-proxy.scm @@ -1,3 +1,19 @@ +;; 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 . + (define-module (webid-oidc reverse-proxy) #:use-module (webid-oidc errors) #:use-module ((webid-oidc stubs) #:prefix stubs:) diff --git a/src/scm/webid-oidc/server/Makefile.am b/src/scm/webid-oidc/server/Makefile.am index 6ef3dcf..7551ff9 100644 --- a/src/scm/webid-oidc/server/Makefile.am +++ b/src/scm/webid-oidc/server/Makefile.am @@ -1,3 +1,19 @@ +# 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 . + dist_serverwebidoidcmod_DATA += \ %reldir%/create.scm \ %reldir%/read.scm \ diff --git a/src/scm/webid-oidc/server/create.scm b/src/scm/webid-oidc/server/create.scm index f354445..f77cb49 100644 --- a/src/scm/webid-oidc/server/create.scm +++ b/src/scm/webid-oidc/server/create.scm @@ -1,3 +1,19 @@ +;; 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 . + (define-module (webid-oidc server create) #:use-module (webid-oidc errors) #:use-module (webid-oidc server resource path) diff --git a/src/scm/webid-oidc/server/delete.scm b/src/scm/webid-oidc/server/delete.scm index edd23cb..b5fb3a9 100644 --- a/src/scm/webid-oidc/server/delete.scm +++ b/src/scm/webid-oidc/server/delete.scm @@ -1,3 +1,19 @@ +;; 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 . + (define-module (webid-oidc server delete) #:use-module (webid-oidc errors) #:use-module (webid-oidc server resource path) diff --git a/src/scm/webid-oidc/server/precondition.scm b/src/scm/webid-oidc/server/precondition.scm index 94c6ae1..6912a7a 100644 --- a/src/scm/webid-oidc/server/precondition.scm +++ b/src/scm/webid-oidc/server/precondition.scm @@ -1,3 +1,19 @@ +;; 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 . + (define-module (webid-oidc server precondition) #:use-module (webid-oidc errors) #:use-module (webid-oidc server resource path) diff --git a/src/scm/webid-oidc/server/read.scm b/src/scm/webid-oidc/server/read.scm index 895be46..6cd1a01 100644 --- a/src/scm/webid-oidc/server/read.scm +++ b/src/scm/webid-oidc/server/read.scm @@ -1,3 +1,19 @@ +;; 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 . + (define-module (webid-oidc server read) #:use-module (webid-oidc errors) #:use-module (webid-oidc server resource path) diff --git a/src/scm/webid-oidc/server/resource/Makefile.am b/src/scm/webid-oidc/server/resource/Makefile.am index efc41ce..e590de4 100644 --- a/src/scm/webid-oidc/server/resource/Makefile.am +++ b/src/scm/webid-oidc/server/resource/Makefile.am @@ -1,3 +1,19 @@ +# 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 . + dist_resourceserverwebidoidcmod_DATA += \ %reldir%/content.scm \ %reldir%/path.scm \ diff --git a/src/scm/webid-oidc/server/resource/content.scm b/src/scm/webid-oidc/server/resource/content.scm index 2bbf4f0..29d8889 100644 --- a/src/scm/webid-oidc/server/resource/content.scm +++ b/src/scm/webid-oidc/server/resource/content.scm @@ -1,3 +1,19 @@ +;; 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 . + (define-module (webid-oidc server resource content) #:use-module (webid-oidc errors) #:use-module ((webid-oidc stubs) #:prefix stubs:) diff --git a/src/scm/webid-oidc/server/resource/path.scm b/src/scm/webid-oidc/server/resource/path.scm index f39f4b2..f1594bc 100644 --- a/src/scm/webid-oidc/server/resource/path.scm +++ b/src/scm/webid-oidc/server/resource/path.scm @@ -1,3 +1,19 @@ +;; 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 . + (define-module (webid-oidc server resource path) #:use-module (webid-oidc errors) #:use-module ((webid-oidc stubs) #:prefix stubs:) diff --git a/src/scm/webid-oidc/server/resource/wac.scm b/src/scm/webid-oidc/server/resource/wac.scm index 47748ca..073d77b 100644 --- a/src/scm/webid-oidc/server/resource/wac.scm +++ b/src/scm/webid-oidc/server/resource/wac.scm @@ -1,3 +1,19 @@ +;; 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 . + (define-module (webid-oidc server resource wac) #:use-module (webid-oidc errors) #:use-module (webid-oidc server resource path) diff --git a/src/scm/webid-oidc/server/update.scm b/src/scm/webid-oidc/server/update.scm index 715c4ed..2e811ae 100644 --- a/src/scm/webid-oidc/server/update.scm +++ b/src/scm/webid-oidc/server/update.scm @@ -1,3 +1,19 @@ +;; 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 . + (define-module (webid-oidc server update) #:use-module (webid-oidc errors) #:use-module (webid-oidc server resource path) diff --git a/src/scm/webid-oidc/stubs.scm b/src/scm/webid-oidc/stubs.scm index 3ec40a8..0c6f0bc 100644 --- a/src/scm/webid-oidc/stubs.scm +++ b/src/scm/webid-oidc/stubs.scm @@ -1,3 +1,19 @@ +;; 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 . + (define-module (webid-oidc stubs) #:use-module (webid-oidc config) #:use-module (webid-oidc errors) diff --git a/src/scm/webid-oidc/testing.scm b/src/scm/webid-oidc/testing.scm index aecb2a3..f6a5b16 100644 --- a/src/scm/webid-oidc/testing.scm +++ b/src/scm/webid-oidc/testing.scm @@ -1,3 +1,19 @@ +;; 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 . + (define-module (webid-oidc testing) #:use-module (webid-oidc stubs) #:use-module (webid-oidc errors)) diff --git a/src/scm/webid-oidc/token-endpoint.scm b/src/scm/webid-oidc/token-endpoint.scm index 422bac6..95681bb 100644 --- a/src/scm/webid-oidc/token-endpoint.scm +++ b/src/scm/webid-oidc/token-endpoint.scm @@ -1,3 +1,19 @@ +;; 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 . + (define-module (webid-oidc token-endpoint) #:use-module (webid-oidc errors) #:use-module (webid-oidc authorization-code) diff --git a/src/utilities.h b/src/utilities.h index c07265e..1672cb2 100644 --- a/src/utilities.h +++ b/src/utilities.h @@ -1,3 +1,21 @@ +/* + 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 . +*/ + #ifndef H_UTILITIES_INCLUDED #define H_UTILITIES_INCLUDED diff --git a/src/webid-oidc b/src/webid-oidc index 67affe4..765f62c 100755 --- a/src/webid-oidc +++ b/src/webid-oidc @@ -2,6 +2,22 @@ --no-auto-compile -s !# +;; 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 . + (use-modules (webid-oidc program)) (main) diff --git a/src/webid-oidc-client-service b/src/webid-oidc-client-service index 1139abd..82489dd 100755 --- a/src/webid-oidc-client-service +++ b/src/webid-oidc-client-service @@ -2,6 +2,22 @@ --no-auto-compile -s !# +;; 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 . + (use-modules (webid-oidc client)) (main-server) diff --git a/src/webid-oidc-example-app b/src/webid-oidc-example-app index ebf2da8..efa22a0 100755 --- a/src/webid-oidc-example-app +++ b/src/webid-oidc-example-app @@ -2,6 +2,22 @@ --no-auto-compile -s !# +;; 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 . + (use-modules (webid-oidc example-app)) (main) diff --git a/src/webid-oidc-hello b/src/webid-oidc-hello old mode 100644 new mode 100755 index b19481f..ce169d4 --- a/src/webid-oidc-hello +++ b/src/webid-oidc-hello @@ -2,6 +2,22 @@ --no-auto-compile -s !# +;; 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 . + (use-modules (webid-oidc hello-world)) (format (current-error-port) "Logging to hello.log and hello.err.\n") diff --git a/src/webid-oidc-issuer b/src/webid-oidc-issuer index 6dd2960..aedd383 100755 --- a/src/webid-oidc-issuer +++ b/src/webid-oidc-issuer @@ -2,6 +2,22 @@ --no-auto-compile -s !# +;; 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 . + (use-modules (webid-oidc identity-provider)) (main) -- cgit v1.2.3