mirror of
https://github.com/openembedded/meta-openembedded.git
synced 2026-06-13 17:39:57 +00:00
rest: upgrade 0.8.1 -> 0.9.0
Signed-off-by: Markus Volk <f_l_k@t-online.de> Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
@@ -1,181 +0,0 @@
|
|||||||
From d39fd6d5f4c0a63cc048b84b0f989cb83f31e5fe Mon Sep 17 00:00:00 2001
|
|
||||||
From: Carlos Garcia Campos <cgarcia@igalia.com>
|
|
||||||
Date: Tue, 8 Jun 2021 10:57:06 +0200
|
|
||||||
Subject: [PATCH 1/2] Use GUri instead of SoupURI
|
|
||||||
|
|
||||||
Upstream-Status: Submitted [https://gitlab.gnome.org/GNOME/librest/-/merge_requests/6]
|
|
||||||
---
|
|
||||||
configure.ac | 2 +-
|
|
||||||
rest-extras/flickr-proxy.c | 19 ++++++++++++++-----
|
|
||||||
rest/oauth-proxy-call.c | 19 ++++++++++++++-----
|
|
||||||
rest/oauth2-proxy.c | 22 +++++++++++-----------
|
|
||||||
4 files changed, 40 insertions(+), 22 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/configure.ac b/configure.ac
|
|
||||||
index d15e592..d586e69 100644
|
|
||||||
--- a/configure.ac
|
|
||||||
+++ b/configure.ac
|
|
||||||
@@ -40,7 +40,7 @@ AM_PROG_CC_C_O
|
|
||||||
LT_PREREQ([2.2.6])
|
|
||||||
LT_INIT([disable-static])
|
|
||||||
|
|
||||||
-PKG_CHECK_MODULES(GLIB, glib-2.0 >= 2.44)
|
|
||||||
+PKG_CHECK_MODULES(GLIB, glib-2.0 >= 2.67.4)
|
|
||||||
PKG_CHECK_MODULES(SOUP, libsoup-2.4 >= 2.42)
|
|
||||||
PKG_CHECK_MODULES(XML, libxml-2.0)
|
|
||||||
PKG_CHECK_MODULES(GTHREAD, gthread-2.0)
|
|
||||||
diff --git a/rest-extras/flickr-proxy.c b/rest-extras/flickr-proxy.c
|
|
||||||
index 3342a4d..7726359 100644
|
|
||||||
--- a/rest-extras/flickr-proxy.c
|
|
||||||
+++ b/rest-extras/flickr-proxy.c
|
|
||||||
@@ -304,13 +304,13 @@ flickr_proxy_build_login_url (FlickrProxy *proxy,
|
|
||||||
const char *frob,
|
|
||||||
const char *perms)
|
|
||||||
{
|
|
||||||
- SoupURI *uri;
|
|
||||||
+ GUri *uri;
|
|
||||||
GHashTable *params;
|
|
||||||
char *sig, *s;
|
|
||||||
+ char *query;
|
|
||||||
|
|
||||||
g_return_val_if_fail (FLICKR_IS_PROXY (proxy), NULL);
|
|
||||||
|
|
||||||
- uri = soup_uri_new ("http://flickr.com/services/auth/");
|
|
||||||
params = g_hash_table_new (g_str_hash, g_str_equal);
|
|
||||||
|
|
||||||
g_hash_table_insert (params, "api_key", proxy->priv->api_key);
|
|
||||||
@@ -321,14 +321,23 @@ flickr_proxy_build_login_url (FlickrProxy *proxy,
|
|
||||||
|
|
||||||
sig = flickr_proxy_sign (proxy, params);
|
|
||||||
g_hash_table_insert (params, "api_sig", sig);
|
|
||||||
+ query = soup_form_encode_hash (params);
|
|
||||||
|
|
||||||
- soup_uri_set_query_from_form (uri, params);
|
|
||||||
+ uri = g_uri_build (G_URI_FLAGS_ENCODED,
|
|
||||||
+ "http",
|
|
||||||
+ NULL,
|
|
||||||
+ "flickr.com",
|
|
||||||
+ -1,
|
|
||||||
+ "services/auth/",
|
|
||||||
+ query,
|
|
||||||
+ NULL);
|
|
||||||
|
|
||||||
- s = soup_uri_to_string (uri, FALSE);
|
|
||||||
+ s = g_uri_to_string (uri);
|
|
||||||
|
|
||||||
+ g_free (query);
|
|
||||||
g_free (sig);
|
|
||||||
g_hash_table_destroy (params);
|
|
||||||
- soup_uri_free (uri);
|
|
||||||
+ g_uri_unref (uri);
|
|
||||||
|
|
||||||
return s;
|
|
||||||
}
|
|
||||||
diff --git a/rest/oauth-proxy-call.c b/rest/oauth-proxy-call.c
|
|
||||||
index c90c69d..e238c3c 100644
|
|
||||||
--- a/rest/oauth-proxy-call.c
|
|
||||||
+++ b/rest/oauth-proxy-call.c
|
|
||||||
@@ -30,7 +30,7 @@
|
|
||||||
|
|
||||||
G_DEFINE_TYPE (OAuthProxyCall, oauth_proxy_call, REST_TYPE_PROXY_CALL)
|
|
||||||
|
|
||||||
-#define OAUTH_ENCODE_STRING(x_) (x_ ? soup_uri_encode( (x_), "!$&'()*+,;=@") : g_strdup (""))
|
|
||||||
+#define OAUTH_ENCODE_STRING(x_) (x_ ? g_uri_escape_string( (x_), NULL, TRUE) : g_strdup (""))
|
|
||||||
|
|
||||||
static char *
|
|
||||||
sign_plaintext (OAuthProxyPrivate *priv)
|
|
||||||
@@ -136,15 +136,24 @@ sign_hmac (OAuthProxy *proxy, RestProxyCall *call, GHashTable *oauth_params)
|
|
||||||
if (priv->oauth_echo) {
|
|
||||||
g_string_append_uri_escaped (text, priv->service_url, NULL, FALSE);
|
|
||||||
} else if (priv->signature_host != NULL) {
|
|
||||||
- SoupURI *url = soup_uri_new (url_str);
|
|
||||||
+ GUri *url = g_uri_parse (url_str, G_URI_FLAGS_ENCODED, NULL);
|
|
||||||
+ GUri *new_url;
|
|
||||||
gchar *signing_url;
|
|
||||||
|
|
||||||
- soup_uri_set_host (url, priv->signature_host);
|
|
||||||
- signing_url = soup_uri_to_string (url, FALSE);
|
|
||||||
+ new_url = g_uri_build (g_uri_get_flags (url),
|
|
||||||
+ g_uri_get_scheme (url),
|
|
||||||
+ g_uri_get_userinfo (url),
|
|
||||||
+ priv->signature_host,
|
|
||||||
+ g_uri_get_port (url),
|
|
||||||
+ g_uri_get_path (url),
|
|
||||||
+ g_uri_get_query (url),
|
|
||||||
+ g_uri_get_fragment (url));
|
|
||||||
+ signing_url = g_uri_to_string (new_url);
|
|
||||||
|
|
||||||
g_string_append_uri_escaped (text, signing_url, NULL, FALSE);
|
|
||||||
|
|
||||||
- soup_uri_free (url);
|
|
||||||
+ g_uri_unref (new_url);
|
|
||||||
+ g_uri_unref (url);
|
|
||||||
g_free (signing_url);
|
|
||||||
} else {
|
|
||||||
g_string_append_uri_escaped (text, url_str, NULL, FALSE);
|
|
||||||
diff --git a/rest/oauth2-proxy.c b/rest/oauth2-proxy.c
|
|
||||||
index 24e5da0..3382f8b 100644
|
|
||||||
--- a/rest/oauth2-proxy.c
|
|
||||||
+++ b/rest/oauth2-proxy.c
|
|
||||||
@@ -37,8 +37,6 @@ oauth2_proxy_error_quark (void)
|
|
||||||
return g_quark_from_static_string ("rest-oauth2-proxy");
|
|
||||||
}
|
|
||||||
|
|
||||||
-#define EXTRA_CHARS_ENCODE "!$&'()*+,;=@"
|
|
||||||
-
|
|
||||||
enum {
|
|
||||||
PROP_0,
|
|
||||||
PROP_CLIENT_ID,
|
|
||||||
@@ -242,8 +240,8 @@ append_query_param (gpointer key, gpointer value, gpointer user_data)
|
|
||||||
char *encoded_val, *encoded_key;
|
|
||||||
char *param;
|
|
||||||
|
|
||||||
- encoded_val = soup_uri_encode (value, EXTRA_CHARS_ENCODE);
|
|
||||||
- encoded_key = soup_uri_encode (key, EXTRA_CHARS_ENCODE);
|
|
||||||
+ encoded_val = g_uri_escape_string (value, NULL, TRUE);
|
|
||||||
+ encoded_key = g_uri_escape_string (key, NULL, TRUE);
|
|
||||||
|
|
||||||
param = g_strdup_printf ("%s=%s", encoded_key, encoded_val);
|
|
||||||
g_free (encoded_key);
|
|
||||||
@@ -295,8 +293,8 @@ oauth2_proxy_build_login_url_full (OAuth2Proxy *proxy,
|
|
||||||
g_hash_table_foreach (extra_params, append_query_param, params);
|
|
||||||
}
|
|
||||||
|
|
||||||
- encoded_uri = soup_uri_encode (redirect_uri, EXTRA_CHARS_ENCODE);
|
|
||||||
- encoded_id = soup_uri_encode (proxy->priv->client_id, EXTRA_CHARS_ENCODE);
|
|
||||||
+ encoded_uri = g_uri_escape_string (redirect_uri, NULL, TRUE);
|
|
||||||
+ encoded_id = g_uri_escape_string (proxy->priv->client_id, NULL, TRUE);
|
|
||||||
|
|
||||||
url = g_strdup_printf ("%s?client_id=%s&redirect_uri=%s&type=user_agent",
|
|
||||||
proxy->priv->auth_endpoint, encoded_id,
|
|
||||||
@@ -378,20 +376,22 @@ oauth2_proxy_extract_access_token (const char *url)
|
|
||||||
{
|
|
||||||
GHashTable *params;
|
|
||||||
char *token = NULL;
|
|
||||||
- SoupURI *soupuri = soup_uri_new (url);
|
|
||||||
+ const char *fragment;
|
|
||||||
+ GUri *uri = g_uri_parse (url, G_URI_FLAGS_ENCODED, NULL);
|
|
||||||
|
|
||||||
- if (soupuri->fragment != NULL) {
|
|
||||||
- params = soup_form_decode (soupuri->fragment);
|
|
||||||
+ fragment = g_uri_get_fragment (uri);
|
|
||||||
+ if (fragment != NULL) {
|
|
||||||
+ params = soup_form_decode (fragment);
|
|
||||||
|
|
||||||
if (params) {
|
|
||||||
char *encoded = g_hash_table_lookup (params, "access_token");
|
|
||||||
if (encoded)
|
|
||||||
- token = soup_uri_decode (encoded);
|
|
||||||
+ token = g_uri_unescape_string (encoded, NULL);
|
|
||||||
|
|
||||||
g_hash_table_destroy (params);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
- soup_uri_free (soupuri);
|
|
||||||
+ g_uri_unref (uri);
|
|
||||||
|
|
||||||
return token;
|
|
||||||
}
|
|
||||||
--
|
|
||||||
2.33.1
|
|
||||||
|
|
||||||
File diff suppressed because it is too large
Load Diff
@@ -1,33 +0,0 @@
|
|||||||
SUMMARY = "library to access web services that claim to be "RESTful""
|
|
||||||
HOMEPAGE = "https://wiki.gnome.org/Projects/Librest"
|
|
||||||
LICENSE = "LGPL-2.1-only"
|
|
||||||
LIC_FILES_CHKSUM = "file://COPYING;md5=2d5025d4aa3495befef8f17206a5b0a1"
|
|
||||||
|
|
||||||
GNOMEBASEBUILDCLASS = "autotools"
|
|
||||||
|
|
||||||
DEPENDS = " \
|
|
||||||
libxml2-native \
|
|
||||||
glib-2.0-native \
|
|
||||||
glib-2.0 \
|
|
||||||
libsoup-2.4 \
|
|
||||||
"
|
|
||||||
|
|
||||||
inherit gnomebase gobject-introspection gtk-doc vala
|
|
||||||
|
|
||||||
PV .= "+git${SRCPV}"
|
|
||||||
SRCREV = "7b46065dea860ef09861f4d70124728b8270c8b7"
|
|
||||||
SRC_URI = "git://gitlab.gnome.org/GNOME/librest;protocol=https;branch=master \
|
|
||||||
file://0001-Use-GUri-instead-of-SoupURI.patch \
|
|
||||||
file://0002-Port-to-libsoup3.patch \
|
|
||||||
"
|
|
||||||
S = "${WORKDIR}/git"
|
|
||||||
|
|
||||||
do_configure:prepend() {
|
|
||||||
# rest expects introspection.m4 at custom location (see aclocal.m4).
|
|
||||||
cp -f ${STAGING_DIR_TARGET}/${datadir}/aclocal/introspection.m4 ${S}/build
|
|
||||||
}
|
|
||||||
|
|
||||||
do_compile:prepend() {
|
|
||||||
export GIR_EXTRA_LIBS_PATH="${B}/rest/.libs"
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -0,0 +1,25 @@
|
|||||||
|
SUMMARY = "library to access web services that claim to be "RESTful""
|
||||||
|
HOMEPAGE = "https://wiki.gnome.org/Projects/Librest"
|
||||||
|
LICENSE = "LGPL-2.1-only"
|
||||||
|
LIC_FILES_CHKSUM = "file://COPYING;md5=2d5025d4aa3495befef8f17206a5b0a1"
|
||||||
|
|
||||||
|
GNOMEBASEBUILDCLASS = "meson"
|
||||||
|
|
||||||
|
DEPENDS = " \
|
||||||
|
gi-docgen \
|
||||||
|
gi-docgen-native \
|
||||||
|
glib-2.0 \
|
||||||
|
glib-2.0-native \
|
||||||
|
json-glib \
|
||||||
|
libxml2-native \
|
||||||
|
"
|
||||||
|
|
||||||
|
inherit gnomebase gobject-introspection vala pkgconfig
|
||||||
|
|
||||||
|
PACKAGECONFIG_SOUP ?= "soup3"
|
||||||
|
PACKAGECONFIG ??= "${PACKAGECONFIG_SOUP}"
|
||||||
|
|
||||||
|
PACKAGECONFIG[soup2] = "-Dsoup2=true,,libsoup-2.4"
|
||||||
|
PACKAGECONFIG[soup3] = "-Dsoup2=false,,libsoup-3.0"
|
||||||
|
|
||||||
|
SRC_URI[archive.sha256sum] = "85b2bc9341128139539b53ee53f0533310bc96392fd645863a040410b81ebe66"
|
||||||
Reference in New Issue
Block a user