From fdfc737ce34840a768c98aa370725dbe650a6a3c Mon Sep 17 00:00:00 2001 From: Vivien Kraus Date: Fri, 12 Nov 2021 15:03:21 +0000 Subject: Client: Add a hello world Vala program. --- Makefile.am | 4 +- configure.ac | 5 +- po/POTFILES.in | 3 +- po/disfluid.pot | 138 ++++++++++++++-------------- po/fr.po | 138 ++++++++++++++-------------- src/client/Makefile.am | 20 ++-- src/client/libwebidoidc-client.c | 17 ++-- src/scm/webid-oidc/client/reverse-stubs.scm | 4 +- src/ui/Makefile.am | 16 ++++ src/ui/main.vala | 31 +++++++ vapigen/Makefile.am | 22 +++++ 11 files changed, 239 insertions(+), 159 deletions(-) create mode 100644 src/ui/main.vala create mode 100644 vapigen/Makefile.am diff --git a/Makefile.am b/Makefile.am index ec7d6c1..3d629ab 100644 --- a/Makefile.am +++ b/Makefile.am @@ -15,6 +15,7 @@ # along with this program. If not, see . lib_LTLIBRARIES = +libexec_PROGRAMS = noinst_LTLIBRARIES = noinst_PROGRAMS = EXTRA_DIST = @@ -22,10 +23,11 @@ BUILT_SOURCES = DISTCHECK_CONFIGURE_FLAGS = CONFIG_SHELL=$(CONFIG_SHELL) SHELL=$(SHELL) \ --enable-indent-check=yes SUFFIXES = -SUBDIRS = . po man +SUBDIRS = vapigen . po man ACLOCAL_AMFLAGS = -I m4 AM_CPPFLAGS = -DLOCALEDIR=\"$(localedir)\" -I. -I$(srcdir) AM_CFLAGS = $(GUILE_CFLAGS) $(NETTLE_CFLAGS) +AM_VALAFLAGS = nodist_noinst_SCRIPTS = pre-inst-env dist_bin_SCRIPTS = libexec_SCRIPTS = diff --git a/configure.ac b/configure.ac index 731f425..e7dc5ce 100644 --- a/configure.ac +++ b/configure.ac @@ -31,6 +31,7 @@ AM_MISSING_PROG([INDENT], [indent]) AM_MISSING_PROG([G_IR_SCANNER], [g-ir-scanner]) AM_MISSING_PROG([G_IR_COMPILER], [g-ir-compiler]) AM_MISSING_PROG([VAPIGEN], [vapigen]) +AM_PROG_VALAC LT_INIT AC_CONFIG_HEADERS([config.h]) AM_GNU_GETTEXT([external]) @@ -41,6 +42,8 @@ GUILE_SITE_DIR PKG_CHECK_MODULES([NETTLE], [nettle]) PKG_CHECK_MODULES([HOGWEED], [hogweed]) PKG_CHECK_MODULES([GUILE], [guile-$GUILE_EFFECTIVE_VERSION]) +PKG_CHECK_MODULES([GLIB], [glib-2.0]) +PKG_CHECK_MODULES([GOBJECT], [gobject-2.0]) GUILE_MODULE_REQUIRED([json]) GUILE_MODULE_REQUIRED([rdf rdf]) GUILE_MODULE_REQUIRED([turtle tordf]) @@ -50,7 +53,7 @@ GUILE_MODULE_REQUIRED([jsonld]) GUILE_MODULE_REQUIRED([gi]) GLIB_GSETTINGS -AC_CONFIG_FILES([Makefile po/Makefile.in man/Makefile eu.planete_kraus.Disfluid.gschema.xml]) +AC_CONFIG_FILES([vapigen/Makefile Makefile po/Makefile.in man/Makefile eu.planete_kraus.Disfluid.gschema.xml]) AC_CONFIG_FILES([man/reset-env], [chmod +x man/reset-env]) AC_CONFIG_FILES([pre-inst-env], [chmod +x pre-inst-env]) AC_OUTPUT diff --git a/po/POTFILES.in b/po/POTFILES.in index 5834688..4837f5d 100644 --- a/po/POTFILES.in +++ b/po/POTFILES.in @@ -96,4 +96,5 @@ src/ui/loaded-page.glade src/ui/loading-page.glade src/ui/main-window.glade src/ui/new-page.glade -src/ui/updated-page.glade \ No newline at end of file +src/ui/updated-page.glade +src/ui/main.vala \ No newline at end of file diff --git a/po/disfluid.pot b/po/disfluid.pot index 3aa2c48..3749033 100644 --- a/po/disfluid.pot +++ b/po/disfluid.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: disfluid SNAPSHOT\n" "Report-Msgid-Bugs-To: vivien@planete-kraus.eu\n" -"POT-Creation-Date: 2021-11-06 14:35+0100\n" +"POT-Creation-Date: 2021-11-12 16:47+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -493,17 +493,17 @@ msgstr "" msgid "You already have an account for ~a issued by ~a." msgstr "" -#: src/scm/webid-oidc/client/application.scm:397 +#: src/scm/webid-oidc/client/application.scm:394 msgid "the page URI (#:uri) should be a string encoding an URI or an URI" msgstr "" -#: src/scm/webid-oidc/client/application.scm:424 +#: src/scm/webid-oidc/client/application.scm:421 msgid "" "the error code (#:code) should be an integer and the reason phrase (#:reason-" "phrase) should be a string" msgstr "" -#: src/scm/webid-oidc/client/application.scm:473 +#: src/scm/webid-oidc/client/application.scm:470 msgid "" "the etag (#:etag) should be a string or #f, the links (#:links) should be a " "list of links, the content-type (#:content-type) should be a symbol or a " @@ -511,24 +511,24 @@ msgid "" "string or a bytevector, or #f for responses without a content" msgstr "" -#: src/scm/webid-oidc/client/application.scm:509 +#: src/scm/webid-oidc/client/application.scm:506 msgid "" "the desired links (#:desired-links) should be an alist from URI to alists, " "the desired content-type (#:desired-content-type) should be a symbol, and " "the desired content (#:desired-content) should be a string or a bytevector" msgstr "" -#: src/scm/webid-oidc/client/application.scm:593 +#: src/scm/webid-oidc/client/application.scm:590 #, scheme-format msgid "Loading ~a..." msgstr "" -#: src/scm/webid-oidc/client/application.scm:672 +#: src/scm/webid-oidc/client/application.scm:669 #, scheme-format msgid "Updating ~a (expected ETag ~a)" msgstr "" -#: src/scm/webid-oidc/client/application.scm:719 +#: src/scm/webid-oidc/client/application.scm:716 #, scheme-format msgid "Deleting ~a (expected ETag ~a)" msgstr "" @@ -926,8 +926,8 @@ msgstr "" #: src/scm/webid-oidc/hello-world.scm:146 src/scm/webid-oidc/program.scm:145 #: src/scm/webid-oidc/server/endpoint/client.scm:153 #: src/scm/webid-oidc/server/endpoint/hello.scm:63 -#: src/scm/webid-oidc/server/endpoint/identity-provider.scm:389 -#: src/scm/webid-oidc/server/endpoint/identity-provider.scm:403 +#: src/scm/webid-oidc/server/endpoint/identity-provider.scm:391 +#: src/scm/webid-oidc/server/endpoint/identity-provider.scm:405 #: src/scm/webid-oidc/server/endpoint/reverse-proxy.scm:125 #: src/scm/webid-oidc/simulation.scm:90 msgid "xml-lang|en" @@ -1614,7 +1614,7 @@ msgid "#:~a should be a list" msgstr "" #: src/scm/webid-oidc/server/endpoint/client.scm:123 -#: src/scm/webid-oidc/server/endpoint/resource-server.scm:145 +#: src/scm/webid-oidc/server/endpoint/resource-server.scm:148 msgid "reason-phrase|Not Modified" msgstr "" @@ -1639,9 +1639,9 @@ msgstr "" #: src/scm/webid-oidc/server/endpoint/hello.scm:54 #: src/scm/webid-oidc/server/endpoint/identity-provider.scm:332 -#: src/scm/webid-oidc/server/endpoint/identity-provider.scm:459 -#: src/scm/webid-oidc/server/endpoint/identity-provider.scm:468 -#: src/scm/webid-oidc/server/endpoint/resource-server.scm:208 +#: src/scm/webid-oidc/server/endpoint/identity-provider.scm:461 +#: src/scm/webid-oidc/server/endpoint/identity-provider.scm:470 +#: src/scm/webid-oidc/server/endpoint/resource-server.scm:211 msgid "reason-phrase|Unauthorized" msgstr "" @@ -1703,15 +1703,15 @@ msgstr "" #: src/scm/webid-oidc/server/endpoint/identity-provider.scm:318 #: src/scm/webid-oidc/server/endpoint/identity-provider.scm:324 -#: src/scm/webid-oidc/server/endpoint/identity-provider.scm:344 -#: src/scm/webid-oidc/server/endpoint/identity-provider.scm:358 -#: src/scm/webid-oidc/server/endpoint/identity-provider.scm:428 -#: src/scm/webid-oidc/server/endpoint/identity-provider.scm:482 -#: src/scm/webid-oidc/server/endpoint/identity-provider.scm:495 -#: src/scm/webid-oidc/server/endpoint/identity-provider.scm:504 -#: src/scm/webid-oidc/server/endpoint/identity-provider.scm:539 -#: src/scm/webid-oidc/server/endpoint/resource-server.scm:311 -#: src/scm/webid-oidc/server/endpoint/resource-server.scm:337 +#: src/scm/webid-oidc/server/endpoint/identity-provider.scm:345 +#: src/scm/webid-oidc/server/endpoint/identity-provider.scm:360 +#: src/scm/webid-oidc/server/endpoint/identity-provider.scm:430 +#: src/scm/webid-oidc/server/endpoint/identity-provider.scm:484 +#: src/scm/webid-oidc/server/endpoint/identity-provider.scm:497 +#: src/scm/webid-oidc/server/endpoint/identity-provider.scm:506 +#: src/scm/webid-oidc/server/endpoint/identity-provider.scm:541 +#: src/scm/webid-oidc/server/endpoint/resource-server.scm:314 +#: src/scm/webid-oidc/server/endpoint/resource-server.scm:340 msgid "reason-phrase|Bad Request" msgstr "" @@ -1727,180 +1727,180 @@ msgstr "" msgid "The password is incorrect." msgstr "" -#: src/scm/webid-oidc/server/endpoint/identity-provider.scm:347 +#: src/scm/webid-oidc/server/endpoint/identity-provider.scm:348 #, scheme-format msgid "

The client, ~a, cannot be queried.

" msgstr "" -#: src/scm/webid-oidc/server/endpoint/identity-provider.scm:361 +#: src/scm/webid-oidc/server/endpoint/identity-provider.scm:363 #, scheme-format msgid "" "

The real client at ~a does not control the advertised " "redirection URI.

" msgstr "" -#: src/scm/webid-oidc/server/endpoint/identity-provider.scm:369 -#: src/scm/webid-oidc/server/endpoint/resource-server.scm:181 +#: src/scm/webid-oidc/server/endpoint/identity-provider.scm:371 +#: src/scm/webid-oidc/server/endpoint/resource-server.scm:184 msgid "reason-phrase|Found" msgstr "" -#: src/scm/webid-oidc/server/endpoint/identity-provider.scm:391 +#: src/scm/webid-oidc/server/endpoint/identity-provider.scm:393 msgid "Redirecting..." msgstr "" -#: src/scm/webid-oidc/server/endpoint/identity-provider.scm:393 +#: src/scm/webid-oidc/server/endpoint/identity-provider.scm:395 msgid "You are being redirected." msgstr "" -#: src/scm/webid-oidc/server/endpoint/identity-provider.scm:405 +#: src/scm/webid-oidc/server/endpoint/identity-provider.scm:407 msgid "Authorization..." msgstr "" -#: src/scm/webid-oidc/server/endpoint/identity-provider.scm:418 -#: src/scm/webid-oidc/server/endpoint/resource-server.scm:241 +#: src/scm/webid-oidc/server/endpoint/identity-provider.scm:420 +#: src/scm/webid-oidc/server/endpoint/resource-server.scm:244 msgid "reason-phrase|Unsupported Media Type" msgstr "" -#: src/scm/webid-oidc/server/endpoint/identity-provider.scm:421 +#: src/scm/webid-oidc/server/endpoint/identity-provider.scm:423 msgid "

Please use

application/x-www-form-urlencoded
.

" msgstr "" -#: src/scm/webid-oidc/server/endpoint/identity-provider.scm:431 +#: src/scm/webid-oidc/server/endpoint/identity-provider.scm:433 msgid "

Expected an UTF-8 request body.

" msgstr "" -#: src/scm/webid-oidc/server/endpoint/identity-provider.scm:439 -#: src/scm/webid-oidc/server/endpoint/resource-server.scm:215 +#: src/scm/webid-oidc/server/endpoint/identity-provider.scm:441 +#: src/scm/webid-oidc/server/endpoint/resource-server.scm:218 msgid "reason-phrase|Method Not Allowed" msgstr "" -#: src/scm/webid-oidc/server/endpoint/identity-provider.scm:442 +#: src/scm/webid-oidc/server/endpoint/identity-provider.scm:444 msgid "

This is a token endpoint, please use

POST
.

" msgstr "" -#: src/scm/webid-oidc/server/endpoint/identity-provider.scm:462 +#: src/scm/webid-oidc/server/endpoint/identity-provider.scm:464 msgid "

No DPoP proof has been found in your request.

" msgstr "" -#: src/scm/webid-oidc/server/endpoint/identity-provider.scm:471 +#: src/scm/webid-oidc/server/endpoint/identity-provider.scm:473 msgid "

The DPoP proof is invalid.

" msgstr "" -#: src/scm/webid-oidc/server/endpoint/identity-provider.scm:485 +#: src/scm/webid-oidc/server/endpoint/identity-provider.scm:487 msgid "

The

grant_type
parameter has not been found.

" msgstr "" -#: src/scm/webid-oidc/server/endpoint/identity-provider.scm:498 +#: src/scm/webid-oidc/server/endpoint/identity-provider.scm:500 msgid "

Could not find an authorization code.

" msgstr "" -#: src/scm/webid-oidc/server/endpoint/identity-provider.scm:507 +#: src/scm/webid-oidc/server/endpoint/identity-provider.scm:509 msgid "

The authorization code is invalid.

" msgstr "" -#: src/scm/webid-oidc/server/endpoint/identity-provider.scm:519 +#: src/scm/webid-oidc/server/endpoint/identity-provider.scm:521 msgid "reason-phrase|Bad Requeset" msgstr "" -#: src/scm/webid-oidc/server/endpoint/identity-provider.scm:522 +#: src/scm/webid-oidc/server/endpoint/identity-provider.scm:524 msgid "

Could not find a refresh token.

" msgstr "" -#: src/scm/webid-oidc/server/endpoint/identity-provider.scm:528 -#: src/scm/webid-oidc/server/endpoint/resource-server.scm:201 +#: src/scm/webid-oidc/server/endpoint/identity-provider.scm:530 +#: src/scm/webid-oidc/server/endpoint/resource-server.scm:204 msgid "reason-phrase|Forbidden" msgstr "" -#: src/scm/webid-oidc/server/endpoint/identity-provider.scm:531 +#: src/scm/webid-oidc/server/endpoint/identity-provider.scm:533 msgid "

The refresh token is invalid or has been revoked.

" msgstr "" -#: src/scm/webid-oidc/server/endpoint/identity-provider.scm:542 +#: src/scm/webid-oidc/server/endpoint/identity-provider.scm:544 #, scheme-format msgid "

Cannot process your grant type, ~a.

" msgstr "" -#: src/scm/webid-oidc/server/endpoint/resource-server.scm:76 +#: src/scm/webid-oidc/server/endpoint/resource-server.scm:79 msgid "#:server-name must be an URI or a string encoding an URI" msgstr "" -#: src/scm/webid-oidc/server/endpoint/resource-server.scm:86 +#: src/scm/webid-oidc/server/endpoint/resource-server.scm:89 msgid "#:owner must be an URI or a string encoding an URI" msgstr "" -#: src/scm/webid-oidc/server/endpoint/resource-server.scm:94 +#: src/scm/webid-oidc/server/endpoint/resource-server.scm:97 msgid "#:data-home must be a string, or a thunk (returning a string)" msgstr "" -#: src/scm/webid-oidc/server/endpoint/resource-server.scm:127 -#: src/scm/webid-oidc/server/endpoint/resource-server.scm:250 +#: src/scm/webid-oidc/server/endpoint/resource-server.scm:130 +#: src/scm/webid-oidc/server/endpoint/resource-server.scm:253 msgid "reason-phrase|Precondition Failed" msgstr "" -#: src/scm/webid-oidc/server/endpoint/resource-server.scm:130 +#: src/scm/webid-oidc/server/endpoint/resource-server.scm:133 msgid "

The resource has been updated.

" msgstr "" -#: src/scm/webid-oidc/server/endpoint/resource-server.scm:170 +#: src/scm/webid-oidc/server/endpoint/resource-server.scm:173 #, scheme-format msgid "~a: ignoring a group that cannot be fetched: ~a\n" msgstr "" -#: src/scm/webid-oidc/server/endpoint/resource-server.scm:174 +#: src/scm/webid-oidc/server/endpoint/resource-server.scm:177 #, scheme-format msgid "~a: ignoring a group that cannot be fetched\n" msgstr "" -#: src/scm/webid-oidc/server/endpoint/resource-server.scm:204 +#: src/scm/webid-oidc/server/endpoint/resource-server.scm:207 msgid "" "

You are authentified, but you are not authorized to access this resource." "

" msgstr "" -#: src/scm/webid-oidc/server/endpoint/resource-server.scm:218 +#: src/scm/webid-oidc/server/endpoint/resource-server.scm:221 msgid "

The storage root cannot be deleted.

" msgstr "" -#: src/scm/webid-oidc/server/endpoint/resource-server.scm:226 +#: src/scm/webid-oidc/server/endpoint/resource-server.scm:229 msgid "reason-phrase|Conflict" msgstr "" -#: src/scm/webid-oidc/server/endpoint/resource-server.scm:231 +#: src/scm/webid-oidc/server/endpoint/resource-server.scm:234 msgid "

You need to empty the container first before deleting it.

" msgstr "" -#: src/scm/webid-oidc/server/endpoint/resource-server.scm:233 +#: src/scm/webid-oidc/server/endpoint/resource-server.scm:236 msgid "" "

To change which resources are contained within this container, please use " "HTTP POST, PUT or DELETE.

" msgstr "" -#: src/scm/webid-oidc/server/endpoint/resource-server.scm:235 +#: src/scm/webid-oidc/server/endpoint/resource-server.scm:238 msgid "

The target resource is an auxiliary resource.

" msgstr "" -#: src/scm/webid-oidc/server/endpoint/resource-server.scm:244 +#: src/scm/webid-oidc/server/endpoint/resource-server.scm:247 msgid "

You cannot use this content type.

" msgstr "" -#: src/scm/webid-oidc/server/endpoint/resource-server.scm:253 +#: src/scm/webid-oidc/server/endpoint/resource-server.scm:256 msgid "

The resource is not in the state you expected.

" msgstr "" -#: src/scm/webid-oidc/server/endpoint/resource-server.scm:259 +#: src/scm/webid-oidc/server/endpoint/resource-server.scm:262 msgid "reason-phrase|Not Acceptable" msgstr "" -#: src/scm/webid-oidc/server/endpoint/resource-server.scm:262 +#: src/scm/webid-oidc/server/endpoint/resource-server.scm:265 msgid "

I cannot serve the resource with a content-type you want.

" msgstr "" -#: src/scm/webid-oidc/server/endpoint/resource-server.scm:314 -#: src/scm/webid-oidc/server/endpoint/resource-server.scm:340 +#: src/scm/webid-oidc/server/endpoint/resource-server.scm:317 +#: src/scm/webid-oidc/server/endpoint/resource-server.scm:343 msgid "

Please include a request body.

" msgstr "" -#: src/scm/webid-oidc/server/endpoint/resource-server.scm:350 +#: src/scm/webid-oidc/server/endpoint/resource-server.scm:353 msgid "reason-phrase|Created" msgstr "" diff --git a/po/fr.po b/po/fr.po index 026fe9e..a79c471 100644 --- a/po/fr.po +++ b/po/fr.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: webid-oidc 0.0.0\n" "Report-Msgid-Bugs-To: vivien@planete-kraus.eu\n" -"POT-Creation-Date: 2021-11-06 14:35+0100\n" +"POT-Creation-Date: 2021-11-12 16:47+0100\n" "PO-Revision-Date: 2021-10-20 18:19+0200\n" "Last-Translator: Vivien Kraus \n" "Language-Team: French \n" @@ -540,13 +540,13 @@ msgstr "" msgid "You already have an account for ~a issued by ~a." msgstr "Vous avez déjà un compte pour ~a émis par ~a." -#: src/scm/webid-oidc/client/application.scm:397 +#: src/scm/webid-oidc/client/application.scm:394 msgid "the page URI (#:uri) should be a string encoding an URI or an URI" msgstr "" "l’URI de la page doit être une chaîne de caractères encodant une URI ou une " "URI" -#: src/scm/webid-oidc/client/application.scm:424 +#: src/scm/webid-oidc/client/application.scm:421 msgid "" "the error code (#:code) should be an integer and the reason phrase (#:reason-" "phrase) should be a string" @@ -554,7 +554,7 @@ msgstr "" "le code d’erreur (#:code) doit être un entier et l’explication (#:reason-" "phrase) doit être une chaîne de caractères" -#: src/scm/webid-oidc/client/application.scm:473 +#: src/scm/webid-oidc/client/application.scm:470 msgid "" "the etag (#:etag) should be a string or #f, the links (#:links) should be a " "list of links, the content-type (#:content-type) should be a symbol or a " @@ -567,7 +567,7 @@ msgstr "" "contenu (#:content) doit être une chaîne de caractères ou un vecteur " "d’octets, ou #f si la réponse n’a pas de contenu" -#: src/scm/webid-oidc/client/application.scm:509 +#: src/scm/webid-oidc/client/application.scm:506 msgid "" "the desired links (#:desired-links) should be an alist from URI to alists, " "the desired content-type (#:desired-content-type) should be a symbol, and " @@ -578,17 +578,17 @@ msgstr "" "symbole, et le ccontenu désiré (#:desired-content-type) doit être unne " "chaîne de caractères ou un vecteur d’octets" -#: src/scm/webid-oidc/client/application.scm:593 +#: src/scm/webid-oidc/client/application.scm:590 #, scheme-format msgid "Loading ~a..." msgstr "Chargement de ~a…" -#: src/scm/webid-oidc/client/application.scm:672 +#: src/scm/webid-oidc/client/application.scm:669 #, scheme-format msgid "Updating ~a (expected ETag ~a)" msgstr "Mise à jour de ~a (ETag attendu ~a)" -#: src/scm/webid-oidc/client/application.scm:719 +#: src/scm/webid-oidc/client/application.scm:716 #, scheme-format msgid "Deleting ~a (expected ETag ~a)" msgstr "Suppression de ~a (ETag attendu ~a)" @@ -1038,8 +1038,8 @@ msgstr "Le port doit être un nombre entre 0 et 65535.\n" #: src/scm/webid-oidc/hello-world.scm:146 src/scm/webid-oidc/program.scm:145 #: src/scm/webid-oidc/server/endpoint/client.scm:153 #: src/scm/webid-oidc/server/endpoint/hello.scm:63 -#: src/scm/webid-oidc/server/endpoint/identity-provider.scm:389 -#: src/scm/webid-oidc/server/endpoint/identity-provider.scm:403 +#: src/scm/webid-oidc/server/endpoint/identity-provider.scm:391 +#: src/scm/webid-oidc/server/endpoint/identity-provider.scm:405 #: src/scm/webid-oidc/server/endpoint/reverse-proxy.scm:125 #: src/scm/webid-oidc/simulation.scm:90 msgid "xml-lang|en" @@ -1837,7 +1837,7 @@ msgid "#:~a should be a list" msgstr "#:~a doit être une liste" #: src/scm/webid-oidc/server/endpoint/client.scm:123 -#: src/scm/webid-oidc/server/endpoint/resource-server.scm:145 +#: src/scm/webid-oidc/server/endpoint/resource-server.scm:148 msgid "reason-phrase|Not Modified" msgstr "Non Modifié" @@ -1866,9 +1866,9 @@ msgstr "" #: src/scm/webid-oidc/server/endpoint/hello.scm:54 #: src/scm/webid-oidc/server/endpoint/identity-provider.scm:332 -#: src/scm/webid-oidc/server/endpoint/identity-provider.scm:459 -#: src/scm/webid-oidc/server/endpoint/identity-provider.scm:468 -#: src/scm/webid-oidc/server/endpoint/resource-server.scm:208 +#: src/scm/webid-oidc/server/endpoint/identity-provider.scm:461 +#: src/scm/webid-oidc/server/endpoint/identity-provider.scm:470 +#: src/scm/webid-oidc/server/endpoint/resource-server.scm:211 msgid "reason-phrase|Unauthorized" msgstr "Non Autorisé" @@ -1930,15 +1930,15 @@ msgstr "Autoriser" #: src/scm/webid-oidc/server/endpoint/identity-provider.scm:318 #: src/scm/webid-oidc/server/endpoint/identity-provider.scm:324 -#: src/scm/webid-oidc/server/endpoint/identity-provider.scm:344 -#: src/scm/webid-oidc/server/endpoint/identity-provider.scm:358 -#: src/scm/webid-oidc/server/endpoint/identity-provider.scm:428 -#: src/scm/webid-oidc/server/endpoint/identity-provider.scm:482 -#: src/scm/webid-oidc/server/endpoint/identity-provider.scm:495 -#: src/scm/webid-oidc/server/endpoint/identity-provider.scm:504 -#: src/scm/webid-oidc/server/endpoint/identity-provider.scm:539 -#: src/scm/webid-oidc/server/endpoint/resource-server.scm:311 -#: src/scm/webid-oidc/server/endpoint/resource-server.scm:337 +#: src/scm/webid-oidc/server/endpoint/identity-provider.scm:345 +#: src/scm/webid-oidc/server/endpoint/identity-provider.scm:360 +#: src/scm/webid-oidc/server/endpoint/identity-provider.scm:430 +#: src/scm/webid-oidc/server/endpoint/identity-provider.scm:484 +#: src/scm/webid-oidc/server/endpoint/identity-provider.scm:497 +#: src/scm/webid-oidc/server/endpoint/identity-provider.scm:506 +#: src/scm/webid-oidc/server/endpoint/identity-provider.scm:541 +#: src/scm/webid-oidc/server/endpoint/resource-server.scm:314 +#: src/scm/webid-oidc/server/endpoint/resource-server.scm:340 msgid "reason-phrase|Bad Request" msgstr "Requête Invalide" @@ -1954,12 +1954,12 @@ msgstr "Le paramètre de requête redirect_uri n’est pas défini." msgid "The password is incorrect." msgstr "Le mot de passe est incorrect." -#: src/scm/webid-oidc/server/endpoint/identity-provider.scm:347 +#: src/scm/webid-oidc/server/endpoint/identity-provider.scm:348 #, scheme-format msgid "

The client, ~a, cannot be queried.

" msgstr "

Le client, ~a, n’a pas pu être requêté.

" -#: src/scm/webid-oidc/server/endpoint/identity-provider.scm:361 +#: src/scm/webid-oidc/server/endpoint/identity-provider.scm:363 #, scheme-format msgid "" "

The real client at ~a does not control the advertised " @@ -1968,142 +1968,142 @@ msgstr "" "

Le véritable client ~a ne contrôle pas l’URI de " "redirection publiée.

" -#: src/scm/webid-oidc/server/endpoint/identity-provider.scm:369 -#: src/scm/webid-oidc/server/endpoint/resource-server.scm:181 +#: src/scm/webid-oidc/server/endpoint/identity-provider.scm:371 +#: src/scm/webid-oidc/server/endpoint/resource-server.scm:184 msgid "reason-phrase|Found" msgstr "Trouvé" -#: src/scm/webid-oidc/server/endpoint/identity-provider.scm:391 +#: src/scm/webid-oidc/server/endpoint/identity-provider.scm:393 msgid "Redirecting..." msgstr "Redirection..." -#: src/scm/webid-oidc/server/endpoint/identity-provider.scm:393 +#: src/scm/webid-oidc/server/endpoint/identity-provider.scm:395 msgid "You are being redirected." msgstr "Vous êtes redirigé." -#: src/scm/webid-oidc/server/endpoint/identity-provider.scm:405 +#: src/scm/webid-oidc/server/endpoint/identity-provider.scm:407 msgid "Authorization..." msgstr "Autorisations…" -#: src/scm/webid-oidc/server/endpoint/identity-provider.scm:418 -#: src/scm/webid-oidc/server/endpoint/resource-server.scm:241 +#: src/scm/webid-oidc/server/endpoint/identity-provider.scm:420 +#: src/scm/webid-oidc/server/endpoint/resource-server.scm:244 msgid "reason-phrase|Unsupported Media Type" msgstr "Type de Média Non Supporté" -#: src/scm/webid-oidc/server/endpoint/identity-provider.scm:421 +#: src/scm/webid-oidc/server/endpoint/identity-provider.scm:423 msgid "

Please use

application/x-www-form-urlencoded
.

" msgstr "

Veuillez utiliser

application/x-www-form-urlencoded
.

" -#: src/scm/webid-oidc/server/endpoint/identity-provider.scm:431 +#: src/scm/webid-oidc/server/endpoint/identity-provider.scm:433 msgid "

Expected an UTF-8 request body.

" msgstr "

J’attends un corps de requête UTF-8.

" -#: src/scm/webid-oidc/server/endpoint/identity-provider.scm:439 -#: src/scm/webid-oidc/server/endpoint/resource-server.scm:215 +#: src/scm/webid-oidc/server/endpoint/identity-provider.scm:441 +#: src/scm/webid-oidc/server/endpoint/resource-server.scm:218 msgid "reason-phrase|Method Not Allowed" msgstr "Méthode Non Autorisée" -#: src/scm/webid-oidc/server/endpoint/identity-provider.scm:442 +#: src/scm/webid-oidc/server/endpoint/identity-provider.scm:444 msgid "

This is a token endpoint, please use

POST
.

" msgstr "" "

Ceci est un terminal de jeton, veuillez utiliser

POST
.

" -#: src/scm/webid-oidc/server/endpoint/identity-provider.scm:462 +#: src/scm/webid-oidc/server/endpoint/identity-provider.scm:464 msgid "

No DPoP proof has been found in your request.

" msgstr "

Aucune preuve DPoP n’a été trouvée dans votre requête.

" -#: src/scm/webid-oidc/server/endpoint/identity-provider.scm:471 +#: src/scm/webid-oidc/server/endpoint/identity-provider.scm:473 msgid "

The DPoP proof is invalid.

" msgstr "

La preuve DPoP est invalide.

" -#: src/scm/webid-oidc/server/endpoint/identity-provider.scm:485 +#: src/scm/webid-oidc/server/endpoint/identity-provider.scm:487 msgid "

The

grant_type
parameter has not been found.

" msgstr "

Le paramètre

grant_type
n’a pas été trouvé.

" -#: src/scm/webid-oidc/server/endpoint/identity-provider.scm:498 +#: src/scm/webid-oidc/server/endpoint/identity-provider.scm:500 msgid "

Could not find an authorization code.

" msgstr "

Je n’ai pas pu trouver de code d’autorisation.

" -#: src/scm/webid-oidc/server/endpoint/identity-provider.scm:507 +#: src/scm/webid-oidc/server/endpoint/identity-provider.scm:509 msgid "

The authorization code is invalid.

" msgstr "

Le code d’autorisation est invalide.

" -#: src/scm/webid-oidc/server/endpoint/identity-provider.scm:519 +#: src/scm/webid-oidc/server/endpoint/identity-provider.scm:521 msgid "reason-phrase|Bad Requeset" msgstr "Requête Invalide" -#: src/scm/webid-oidc/server/endpoint/identity-provider.scm:522 +#: src/scm/webid-oidc/server/endpoint/identity-provider.scm:524 msgid "

Could not find a refresh token.

" msgstr "

Impossible de trouver un jeton de rafraîchissement.

" -#: src/scm/webid-oidc/server/endpoint/identity-provider.scm:528 -#: src/scm/webid-oidc/server/endpoint/resource-server.scm:201 +#: src/scm/webid-oidc/server/endpoint/identity-provider.scm:530 +#: src/scm/webid-oidc/server/endpoint/resource-server.scm:204 msgid "reason-phrase|Forbidden" msgstr "Interdit" -#: src/scm/webid-oidc/server/endpoint/identity-provider.scm:531 +#: src/scm/webid-oidc/server/endpoint/identity-provider.scm:533 msgid "

The refresh token is invalid or has been revoked.

" msgstr "

Le jeton de rafraîchissement est invalide ou a expiré.

" -#: src/scm/webid-oidc/server/endpoint/identity-provider.scm:542 +#: src/scm/webid-oidc/server/endpoint/identity-provider.scm:544 #, scheme-format msgid "

Cannot process your grant type, ~a.

" msgstr "

Impossible de traiter votre type d’offre, ~a.

" -#: src/scm/webid-oidc/server/endpoint/resource-server.scm:76 +#: src/scm/webid-oidc/server/endpoint/resource-server.scm:79 msgid "#:server-name must be an URI or a string encoding an URI" msgstr "" "#:server-name doit être une URI ou une chaîne de caractères encodant une URI" -#: src/scm/webid-oidc/server/endpoint/resource-server.scm:86 +#: src/scm/webid-oidc/server/endpoint/resource-server.scm:89 msgid "#:owner must be an URI or a string encoding an URI" msgstr "#:owner doit être une URI ou une chaîne encodant une URI" -#: src/scm/webid-oidc/server/endpoint/resource-server.scm:94 +#: src/scm/webid-oidc/server/endpoint/resource-server.scm:97 msgid "#:data-home must be a string, or a thunk (returning a string)" msgstr "" "#:data-home doit être une chaîne de caractères, ou un thunk (retournant une " "chaîne)" -#: src/scm/webid-oidc/server/endpoint/resource-server.scm:127 -#: src/scm/webid-oidc/server/endpoint/resource-server.scm:250 +#: src/scm/webid-oidc/server/endpoint/resource-server.scm:130 +#: src/scm/webid-oidc/server/endpoint/resource-server.scm:253 msgid "reason-phrase|Precondition Failed" msgstr "Échec de Précondition" -#: src/scm/webid-oidc/server/endpoint/resource-server.scm:130 +#: src/scm/webid-oidc/server/endpoint/resource-server.scm:133 msgid "

The resource has been updated.

" msgstr "

La ressource a été mise à jour.

" -#: src/scm/webid-oidc/server/endpoint/resource-server.scm:170 +#: src/scm/webid-oidc/server/endpoint/resource-server.scm:173 #, scheme-format msgid "~a: ignoring a group that cannot be fetched: ~a\n" msgstr "~a : j’ignore un groupe qui n’a pas pu être téléchargé : ~a\n" -#: src/scm/webid-oidc/server/endpoint/resource-server.scm:174 +#: src/scm/webid-oidc/server/endpoint/resource-server.scm:177 #, scheme-format msgid "~a: ignoring a group that cannot be fetched\n" msgstr "~a : j’ignore un groupe qui ne peut pas être téléchargé\n" -#: src/scm/webid-oidc/server/endpoint/resource-server.scm:204 +#: src/scm/webid-oidc/server/endpoint/resource-server.scm:207 msgid "" "

You are authentified, but you are not authorized to access this resource." "

" msgstr "" "

Vous êtes authentifié, mais pas autorisé à accéder à cette ressource.

" -#: src/scm/webid-oidc/server/endpoint/resource-server.scm:218 +#: src/scm/webid-oidc/server/endpoint/resource-server.scm:221 msgid "

The storage root cannot be deleted.

" msgstr "

La racine du stockage ne peut pas être détruite.

" -#: src/scm/webid-oidc/server/endpoint/resource-server.scm:226 +#: src/scm/webid-oidc/server/endpoint/resource-server.scm:229 msgid "reason-phrase|Conflict" msgstr "Conflit" -#: src/scm/webid-oidc/server/endpoint/resource-server.scm:231 +#: src/scm/webid-oidc/server/endpoint/resource-server.scm:234 msgid "

You need to empty the container first before deleting it.

" msgstr "

Vous devez vider le conteneur avant de le détruire.

" -#: src/scm/webid-oidc/server/endpoint/resource-server.scm:233 +#: src/scm/webid-oidc/server/endpoint/resource-server.scm:236 msgid "" "

To change which resources are contained within this container, please use " "HTTP POST, PUT or DELETE.

" @@ -2111,34 +2111,34 @@ msgstr "" "

Pour changer les ressources contenue dans ce conteneur, veuillez utiliser " "les méthodes HTTP POST, PUT ou DELETE.

" -#: src/scm/webid-oidc/server/endpoint/resource-server.scm:235 +#: src/scm/webid-oidc/server/endpoint/resource-server.scm:238 msgid "

The target resource is an auxiliary resource.

" msgstr "

La ressource cible est une ressource auxiliaire.

" -#: src/scm/webid-oidc/server/endpoint/resource-server.scm:244 +#: src/scm/webid-oidc/server/endpoint/resource-server.scm:247 msgid "

You cannot use this content type.

" msgstr "

Vous ne pouvez pas utiliser ce type de contenu.

" -#: src/scm/webid-oidc/server/endpoint/resource-server.scm:253 +#: src/scm/webid-oidc/server/endpoint/resource-server.scm:256 msgid "

The resource is not in the state you expected.

" msgstr "

La ressource n’est pas dans l’état auquel vous vous attendez.

" -#: src/scm/webid-oidc/server/endpoint/resource-server.scm:259 +#: src/scm/webid-oidc/server/endpoint/resource-server.scm:262 msgid "reason-phrase|Not Acceptable" msgstr "Inacceptable" -#: src/scm/webid-oidc/server/endpoint/resource-server.scm:262 +#: src/scm/webid-oidc/server/endpoint/resource-server.scm:265 msgid "

I cannot serve the resource with a content-type you want.

" msgstr "" "

Je ne peux pas servir de ressource avec le type de contenu que vous " "voulez.

" -#: src/scm/webid-oidc/server/endpoint/resource-server.scm:314 -#: src/scm/webid-oidc/server/endpoint/resource-server.scm:340 +#: src/scm/webid-oidc/server/endpoint/resource-server.scm:317 +#: src/scm/webid-oidc/server/endpoint/resource-server.scm:343 msgid "

Please include a request body.

" msgstr "

Veuillez inclure un corps de requête.

" -#: src/scm/webid-oidc/server/endpoint/resource-server.scm:350 +#: src/scm/webid-oidc/server/endpoint/resource-server.scm:353 msgid "reason-phrase|Created" msgstr "Créé" diff --git a/src/client/Makefile.am b/src/client/Makefile.am index f447adf..60035de 100644 --- a/src/client/Makefile.am +++ b/src/client/Makefile.am @@ -40,18 +40,22 @@ EXTRA_DIST += %reldir%/Disfluid-0.metadata %reldir%/disfluid-0-custom.vala CLEANFILES += %reldir%/vapi-generation -%reldir%/Disfluid-0.gir: %reldir%/Disfluid-0.h +AM_VALAFLAGS += \ + --vapidir=$(abs_top_srcdir)/%reldir% \ + --pkg=disfluid-0 + +$(srcdir)/%reldir%/Disfluid-0.gir: %reldir%/Disfluid-0.h $(AM_V_GEN) $(G_IR_SCANNER) -n Disfluid --nsversion=0 --header-only --warn-all -o $@-t $< - @mv $@-t $(srcdir)/$@ + @mv $@-t $@ -%reldir%/Disfluid-0.typelib: %reldir%/Disfluid-0.gir - $(AM_V_GEN) $(G_IR_COMPILER) -o $@-t --shared-library=libwebidoidc $(srcdir)/$< - @mv $@-t $(srcdir)/$@ +$(srcdir)/%reldir%/Disfluid-0.typelib: %reldir%/Disfluid-0.gir + $(AM_V_GEN) $(G_IR_COMPILER) -o $@-t --shared-library=libwebidoidc $< + @mv $@-t $@ -%reldir%/disfluid-0.vapi: %reldir%/Disfluid-0.gir %reldir%/Disfluid-0.metadata %reldir%/disfluid-0-custom.vala +$(srcdir)/%reldir%/disfluid-0.vapi: %reldir%/Disfluid-0.gir %reldir%/Disfluid-0.metadata %reldir%/disfluid-0-custom.vala @rm -rf %reldir%/vapi-generation @mkdir %reldir%/vapi-generation - $(AM_V_GEN) $(VAPIGEN) --library disfluid-0 -d %reldir%/vapi-generation $(srcdir)/$< --metadatadir=$(srcdir)/%reldir% $(srcdir)/%reldir%/disfluid-0-custom.vala + $(AM_V_GEN) $(VAPIGEN) --library disfluid-0 -d %reldir%/vapi-generation $< --metadatadir=$(srcdir)/%reldir% $(srcdir)/%reldir%/disfluid-0-custom.vala @mv %reldir%/vapi-generation/disfluid-0.vapi $@-t @rmdir %reldir%/vapi-generation - @mv $@-t $(srcdir)/$@ + @mv $@-t $@ diff --git a/src/client/libwebidoidc-client.c b/src/client/libwebidoidc-client.c index 46deecc..4937135 100644 --- a/src/client/libwebidoidc-client.c +++ b/src/client/libwebidoidc-client.c @@ -22,8 +22,8 @@ struct DisfluidApi { SCM scm_make_client; SCM scm_get_client_id; - SCM scm_get_key_pair; - SCM scm_get_redirect_uri; + SCM scm_get_client_jwk; + SCM scm_get_client_redirect_uri; SCM scm_make_account_full; SCM scm_get_account_subject; SCM scm_get_account_issuer; @@ -49,10 +49,11 @@ inner_guile (void *data) scm_c_public_ref ("webid-oidc client reverse-stubs", "make-client"); api.scm_get_client_id = scm_c_public_ref ("webid-oidc client reverse-stubs", "get-client-id"); - api.scm_get_key_pair = - scm_c_public_ref ("webid-oidc client reverse-stubs", "get-key-pair"); - api.scm_get_redirect_uri = - scm_c_public_ref ("webid-oidc client reverse-stubs", "get-redirect-uri"); + api.scm_get_client_jwk = + scm_c_public_ref ("webid-oidc client reverse-stubs", "get-client-jwk"); + api.scm_get_client_redirect_uri = + scm_c_public_ref ("webid-oidc client reverse-stubs", + "get-client-redirect-uri"); api.scm_make_account_full = scm_c_public_ref ("webid-oidc client reverse-stubs", "make-account-full"); api.scm_get_account_subject = @@ -167,7 +168,7 @@ disfluid_client_get_key_pair (const struct DisfluidClient *client, const struct DisfluidApi *api, size_t start, size_t max, char *jwk) { - SCM scm_jwk = scm_call_1 (api->scm_get_key_pair, client->object); + SCM scm_jwk = scm_call_1 (api->scm_get_client_jwk, client->object); return copy_scm_string (scm_jwk, start, max, jwk); } @@ -177,7 +178,7 @@ disfluid_client_get_redirect_uri (const struct DisfluidClient *client, size_t start, size_t max, char *redirect_uri) { - SCM scm_uri = scm_call_1 (api->scm_get_redirect_uri, client->object); + SCM scm_uri = scm_call_1 (api->scm_get_client_redirect_uri, client->object); return copy_scm_string (scm_uri, start, max, redirect_uri); } diff --git a/src/scm/webid-oidc/client/reverse-stubs.scm b/src/scm/webid-oidc/client/reverse-stubs.scm index 5a68525..641ee84 100644 --- a/src/scm/webid-oidc/client/reverse-stubs.scm +++ b/src/scm/webid-oidc/client/reverse-stubs.scm @@ -56,10 +56,10 @@ (define (get-client-id client) (uri->string (client-id client))) -(define (get-key-pair client) +(define (get-client-jwk client) (stubs:scm->json-string (key->jwk (key-pair client)))) -(define (get-redirect-uri client) +(define (get-client-redirect-uri client) (uri->string (redirect-uri client))) (define (make-account-full subject issuer key-pair id-token-header id-token access-token refresh-token) diff --git a/src/ui/Makefile.am b/src/ui/Makefile.am index 0d04326..94e96d2 100644 --- a/src/ui/Makefile.am +++ b/src/ui/Makefile.am @@ -27,3 +27,19 @@ dist_uipkgdata_DATA = \ %reldir%/loading-page.glade \ %reldir%/new-page.glade \ %reldir%/updated-page.glade + +libexec_PROGRAMS += %reldir%/disfluid-gui + +%canon_reldir%_disfluid_gui_SOURCES = \ + %reldir%/main.vala + +%canon_reldir%_disfluid_gui_CFLAGS = \ + $(AM_CFLAGS) \ + $(GLIB_CFLAGS) \ + $(GOBJECT_CFLAGS) \ + -include config.h + +%canon_reldir%_disfluid_gui_LDADD = \ + $(GLIB_LIBS) \ + $(GOBJECT_LIBS) \ + $(lib_LTLIBRARIES) diff --git a/src/ui/main.vala b/src/ui/main.vala new file mode 100644 index 0000000..e15710d --- /dev/null +++ b/src/ui/main.vala @@ -0,0 +1,31 @@ +// disfluid, implementation of the Solid specification +// Copyright (C) 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 . + +namespace Disfluid { + class Main: GLib.Object { + public static int main (string[] args) { + int return_code = 1; + Disfluid.Api.init ((api) => { + foreach (var arg in args) { + stdout.printf ("%s\n", arg); + } + return_code = 0; + return null; + }); + return return_code; + } + } +} \ No newline at end of file diff --git a/vapigen/Makefile.am b/vapigen/Makefile.am new file mode 100644 index 0000000..f2abec3 --- /dev/null +++ b/vapigen/Makefile.am @@ -0,0 +1,22 @@ +# disfluid, implementation of the Solid specification +# Copyright (C) 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 . + +.PHONY: update-vapi + +update-vapi: + $(MAKE) $(AM_MAKEFLAGS) -C .. src/client/disfluid-0.vapi + +all: update-vapi -- cgit v1.2.3