diff --git a/app/flatpak-builtins-add-remote.c b/app/flatpak-builtins-add-remote.c index acd13aba..db56b9c5 100644 --- a/app/flatpak-builtins-add-remote.c +++ b/app/flatpak-builtins-add-remote.c @@ -220,6 +220,7 @@ load_options (const char *filename, char *str; gboolean nodeps; g_autoptr(GBytes) bytes = NULL; + g_autofree char *version = NULL; if (g_str_has_prefix (filename, "http:") || g_str_has_prefix (filename, "https:")) @@ -258,6 +259,14 @@ load_options (const char *filename, exit (1); } + version = g_key_file_get_string (keyfile, FLATPAK_REPO_GROUP, + FLATPAK_REPO_VERSION_KEY, NULL); + if (version != NULL && strcmp (version, "1") != 0) + { + g_printerr ("Invalid version %s, only 1 supported", version); + exit (1); + } + str = g_key_file_get_string (keyfile, FLATPAK_REPO_GROUP, FLATPAK_REPO_URL_KEY, NULL); if (str != NULL) diff --git a/common/flatpak-dir.c b/common/flatpak-dir.c index 3ee2d959..7ef9d9e1 100644 --- a/common/flatpak-dir.c +++ b/common/flatpak-dir.c @@ -6015,6 +6015,7 @@ parse_ref_file (GBytes *data, g_autofree char *title = NULL; g_autofree char *name = NULL; g_autofree char *branch = NULL; + g_autofree char *version = NULL; g_autoptr(GBytes) gpg_data = NULL; gboolean is_runtime = FALSE; char *str; @@ -6033,6 +6034,11 @@ parse_ref_file (GBytes *data, if (!g_key_file_has_group (keyfile, FLATPAK_REF_GROUP)) return flatpak_fail (error, "Invalid file format, no %s group", FLATPAK_REF_GROUP); + version = g_key_file_get_string (keyfile, FLATPAK_REF_GROUP, + FLATPAK_REF_VERSION_KEY, NULL); + if (version != NULL && strcmp (version, "1") != 0) + return flatpak_fail (error, "Invalid version %s, only 1 supported", version); + url = g_key_file_get_string (keyfile, FLATPAK_REF_GROUP, FLATPAK_REF_URL_KEY, NULL); if (url == NULL) diff --git a/common/flatpak-dir.h b/common/flatpak-dir.h index 61d7f380..e2c1a491 100644 --- a/common/flatpak-dir.h +++ b/common/flatpak-dir.h @@ -38,6 +38,7 @@ GType flatpak_dir_get_type (void); GType flatpak_deploy_get_type (void); #define FLATPAK_REF_GROUP "Flatpak Ref" +#define FLATPAK_REF_VERSION_KEY "Version" #define FLATPAK_REF_URL_KEY "Url" #define FLATPAK_REF_RUNTIME_REPO_KEY "RuntimeRepo" #define FLATPAK_REF_TITLE_KEY "Title" @@ -47,6 +48,7 @@ GType flatpak_deploy_get_type (void); #define FLATPAK_REF_BRANCH_KEY "Branch" #define FLATPAK_REPO_GROUP "Flatpak Repo" +#define FLATPAK_REPO_VERSION_KEY "Version" #define FLATPAK_REPO_URL_KEY "Url" #define FLATPAK_REPO_TITLE_KEY "Title" #define FLATPAK_REPO_DEFAULT_BRANCH_KEY "DefaultBranch"