summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSeonah Moon <seonah1.moon@samsung.com>2021-01-29 14:23:37 +0900
committerSeonah Moon <seonah1.moon@samsung.com>2021-01-29 14:23:45 +0900
commitff5de45a0b6ff33c38f40da53a2ae775e6275d5f (patch)
treecbf758e85015f0c8a40bccfd44d7c42974550971
parentb74c5fd5483969d55625576448662edf864b6b9e (diff)
downloadlibsoup-upstream.tar.gz
libsoup-upstream.tar.bz2
libsoup-upstream.zip
Imported Upstream version 2.72.0upstream/2.72.0upstream
Change-Id: I026585438031f2cf6255822fdd432796c398efe3
-rw-r--r--NEWS39
-rw-r--r--README.msvc4
-rw-r--r--docs/reference/libsoup-2.4-sections.txt1
-rw-r--r--libsoup/directory.css70
-rw-r--r--libsoup/directory.js76
-rw-r--r--libsoup/meson.build8
-rw-r--r--libsoup/soup-brotli-decompressor.h4
-rw-r--r--libsoup/soup-cache.c6
-rw-r--r--libsoup/soup-cookie-jar.c62
-rw-r--r--libsoup/soup-cookie-jar.h3
-rw-r--r--libsoup/soup-directory-input-stream.c72
-rw-r--r--libsoup/soup-headers.c2
-rw-r--r--libsoup/soup-message-io.c39
-rw-r--r--libsoup/soup-message-private.h6
-rw-r--r--libsoup/soup-message.c55
-rw-r--r--libsoup/soup-message.h4
-rw-r--r--libsoup/soup-session.c27
-rw-r--r--libsoup/soup-status.h1
-rw-r--r--libsoup/soup-uri.c12
-rw-r--r--libsoup/soup-version.h.in8
-rw-r--r--libsoup/soup-websocket.c2
-rw-r--r--libsoup/soup.gresource.xml7
-rw-r--r--meson.build36
-rw-r--r--meson_options.txt6
-rw-r--r--po/POTFILES.in1
-rw-r--r--po/ca.po29
-rw-r--r--po/cs.po30
-rw-r--r--po/de.po32
-rw-r--r--po/es.po32
-rw-r--r--po/eu.po32
-rw-r--r--po/fa.po177
-rw-r--r--po/fi.po50
-rw-r--r--po/fr.po36
-rw-r--r--po/fur.po39
-rw-r--r--po/gl.po44
-rw-r--r--po/hr.po37
-rw-r--r--po/hu.po32
-rw-r--r--po/id.po30
-rw-r--r--po/it.po34
-rw-r--r--po/ja.po194
-rw-r--r--po/ko.po30
-rw-r--r--po/lt.po32
-rw-r--r--po/lv.po33
-rw-r--r--po/pl.po34
-rw-r--r--po/pt.po163
-rw-r--r--po/pt_BR.po34
-rw-r--r--po/ro.po33
-rw-r--r--po/sk.po97
-rw-r--r--po/sl.po38
-rw-r--r--po/sr.po36
-rw-r--r--po/sv.po34
-rw-r--r--po/tr.po49
-rw-r--r--po/uk.po390
-rw-r--r--po/zh_CN.po114
-rw-r--r--subprojects/sysprof.wrap5
-rw-r--r--tests/auth-test.c60
-rw-r--r--tests/cookies-test.c95
-rw-r--r--tests/forms-test.c24
-rw-r--r--tests/meson.build12
-rw-r--r--tests/redirect-test.c10
-rw-r--r--tests/server-auth-test.c8
-rw-r--r--tests/session-test.c41
-rw-r--r--tests/sniffing-test.c4
-rw-r--r--tests/test-utils.c17
-rw-r--r--tests/test-utils.h2
-rw-r--r--tests/uri-parsing-test.c12
66 files changed, 1991 insertions, 795 deletions
diff --git a/NEWS b/NEWS
index b331ff81..1753e6b8 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,42 @@
+Changes in libsoup from 2.71.1 to 2.72.0:
+
+ * Fix critical after cancelling a message that failed auth [Carlos Garcia Campos]
+
+ * Updated translations: Portuguese, Latvian, Italian, German, Hungarian
+
+Changes in libsoup from 2.71.0 to 2.71.1:
+
+ * Add support for 308 Premanent Redirect [Benjamin Kaufmann]
+
+ * Add basic sysprof profiling for HTTP messages [Philip Withnall]
+
+ * Various build fixes [Tom Schoonjans, Chun-wei Fan]
+
+ * Updated translations: Korean, Finnish, Czech, Catalan, Croatian, Slovenian,
+ Japanese, Serbian, Galician, Basque, Trukish, Indonesian,
+ Friulian
+
+Changes in libsoup from 2.70.0 to 2.71.0:
+
+ * Redesign directory list returned for `file://` requests [Jan-Michael Brummer]
+
+ * Add `SOUP_COOKIE_JAR_ACCEPT_GRANDFATHERED_THIRD_PARTY` policy [Carlos Garcia Campos]
+
+ * Add soup_message_is_feature_disabled() API [Carlos Garcia Campos]
+
+ * Fix potential leak when setting SoupSession:tls-interaction [Scott Hutton]
+
+ * Fix building with Visual Studio [Chun-wei Fan]
+
+ * Updated translations: Ukrainian, Romanian, Swedish, Polish, Lithuanian, Spanish,
+ French, Chinese (China)
+
+Changes in libsoup from 2.69.90 to 2.70.0:
+
+ * Deprecate SoupSession:proxy-uri [Patrick Griffis]
+
+ * Update translations: Persian, Finnish, Ukrainian
+
Changes in libsoup from 2.68.3 to 2.69.90:
* Add new API to expose support for same-site cookies [Patrick Griffis]
diff --git a/README.msvc b/README.msvc
index d9a00613..86447e0b 100644
--- a/README.msvc
+++ b/README.msvc
@@ -52,9 +52,11 @@ To do a build using Meson, do the following:
-Configure the build using Meson:
- python $(PYTHON_INSTALL_DIR)\scripts\meson.py $(LIBSOUP_SRCDIR) --buildtype=$(build_configuration) --prefix=$(INSTALL_PREFIX) [--backend=vs]
+ python $(PYTHON_INSTALL_DIR)\scripts\meson.py $(LIBSOUP_SRCDIR) --buildtype=$(build_configuration) --prefix=$(INSTALL_PREFIX) -Dsysprof=disabled [--backend=vs]
Also pass in -Dgssapi=false if not building with GSSAPI support.
+ For pre-Visual Studio 2013, pass in -Dtests=false, since the tests are written in
+ C99 syntax.
Please see the Meson docs for an explanation for --buildtype, the path passed for
--prefix need not to be on the same drive as where the build is carried out, but
diff --git a/docs/reference/libsoup-2.4-sections.txt b/docs/reference/libsoup-2.4-sections.txt
index dac47136..26ddfbb2 100644
--- a/docs/reference/libsoup-2.4-sections.txt
+++ b/docs/reference/libsoup-2.4-sections.txt
@@ -35,6 +35,7 @@ SoupChunkAllocator
soup_message_set_chunk_allocator
<SUBSECTION>
soup_message_disable_feature
+soup_message_is_feature_disabled
soup_message_get_soup_request
<SUBSECTION>
SoupMessagePriority
diff --git a/libsoup/directory.css b/libsoup/directory.css
new file mode 100644
index 00000000..82e86516
--- /dev/null
+++ b/libsoup/directory.css
@@ -0,0 +1,70 @@
+:root {
+ background-color: #f6f5f4;
+}
+
+a {
+ text-decoration: none;
+}
+
+a:hover {
+ text-decoration: underline;
+}
+
+table {
+ width: 100%;
+ table-layout: fixed;
+ margin: 0 auto;
+}
+
+th > a {
+ color: inherit;
+}
+
+table[order] > thead > tr > th::after {
+ display: none;
+ width: .8em;
+ margin-inline-end: -.8em;
+ text-align: end;
+}
+
+table[order="asc"] > thead > tr > th::after {
+ content: "\2193";
+}
+table[order="desc"] > thead > tr > th::after {
+ content: "\2191";
+}
+
+table[order][order-by="0"] > thead > tr > th:first-child > a ,
+table[order][order-by="1"] > thead > tr > th:first-child + th > a ,
+table[order][order-by="2"] > thead > tr > th:first-child + th + th > a {
+ text-decoration: underline;
+}
+
+table[order][order-by="0"] > thead > tr > th:first-child::after ,
+table[order][order-by="1"] > thead > tr > th:first-child + th::after ,
+table[order][order-by="2"] > thead > tr > th:first-child + th + th::after {
+ display: inline-block;
+}
+
+td:first-child {
+ max-width: 100%;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+
+tr:nth-child(even) {
+ background-color: #f2f2f2;
+}
+
+@media (min-width: 550px) {
+ body {
+ padding: 3em;
+ background-color: white;
+ border-radius: 1em;
+ border: 2px solid rgba(211, 215, 207);
+ max-width: 65em;
+ margin: 2em auto;
+ }
+}
+
diff --git a/libsoup/directory.js b/libsoup/directory.js
new file mode 100644
index 00000000..b1380bd8
--- /dev/null
+++ b/libsoup/directory.js
@@ -0,0 +1,76 @@
+
+/* This code is based on Firefox directory listing, distributed under
+ * Mozilla Public License.
+ */
+
+'use strict';
+
+var gTable, gOrderBy, gTBody, gRows;
+
+document.addEventListener("DOMContentLoaded", function() {
+ gTable = document.getElementsByTagName("table")[0];
+ gTBody = gTable.tBodies[0];
+ if (gTBody.rows.length < 2)
+ return;
+ var headCells = gTable.tHead.rows[0].cells;
+
+ function rowAction(i) {
+ return function(event) {
+ event.preventDefault();
+ orderBy(i);
+ }
+ }
+
+ for (var i = headCells.length - 1; i >= 0; i--) {
+ var anchor = document.createElement("a");
+ anchor.href = "";
+ anchor.appendChild(headCells[i].firstChild);
+ headCells[i].appendChild(anchor);
+ headCells[i].addEventListener("click", rowAction(i), true);
+ }
+ gTable.setAttribute("order", "");
+ orderBy(0);
+}, "false");
+
+function compareRows(rowA, rowB) {
+ var a = rowA.cells[gOrderBy].getAttribute("sortable-data") || rowA.cells[gOrderBy].innerHTML;
+ var b = rowB.cells[gOrderBy].getAttribute("sortable-data") || rowB.cells[gOrderBy].innerHTML;
+ var intA = +a;
+ var intB = +b;
+ if (a == intA && b == intB) {
+ a = intA;
+ b = intB;
+ } else {
+ a = a.toLowerCase();
+ b = b.toLowerCase();
+ }
+ if (a < b)
+ return -1;
+ if (a > b)
+ return 1;
+ return 0;
+}
+
+function orderBy(column) {
+ if (!gRows)
+ gRows = Array.from(gTBody.rows);
+ var order;
+ if (gOrderBy == column) {
+ order = gTable.getAttribute("order") == "asc" ? "desc" : "asc";
+ } else {
+ order = "asc";
+ gOrderBy = column;
+ gTable.setAttribute("order-by", column);
+ gRows.sort(compareRows);
+ }
+ gTable.removeChild(gTBody);
+ gTable.setAttribute("order", order);
+ if (order == "asc")
+ for (var i = 0; i < gRows.length; i++)
+ gTBody.appendChild(gRows[i]);
+ else
+ for (var i = gRows.length - 1; i >= 0; i--)
+ gTBody.appendChild(gRows[i]);
+ gTable.appendChild(gTBody);
+}
+
diff --git a/libsoup/meson.build b/libsoup/meson.build
index 73bb1188..432e294d 100644
--- a/libsoup/meson.build
+++ b/libsoup/meson.build
@@ -1,6 +1,13 @@
pkg = import('pkgconfig')
+resources = gnome.compile_resources('soup-resources',
+ 'soup.gresource.xml',
+ c_name: 'soup',
+ source_dir: '.'
+)
+
soup_sources = [
+ resources,
'soup-address.c',
'soup-auth.c',
'soup-auth-basic.c',
@@ -235,6 +242,7 @@ libsoup_c_args = [
]
deps = [
+ libsysprof_capture_dep,
glib_deps,
libxml_dep,
sqlite_dep,
diff --git a/libsoup/soup-brotli-decompressor.h b/libsoup/soup-brotli-decompressor.h
index a730109f..6f09f689 100644
--- a/libsoup/soup-brotli-decompressor.h
+++ b/libsoup/soup-brotli-decompressor.h
@@ -26,12 +26,10 @@
G_BEGIN_DECLS
#define SOUP_TYPE_BROTLI_DECOMPRESSOR (soup_brotli_decompressor_get_type())
+SOUP_AVAILABLE_IN_2_68
G_DECLARE_FINAL_TYPE (SoupBrotliDecompressor, soup_brotli_decompressor, SOUP, BROTLI_DECOMPRESSOR, GObject)
SOUP_AVAILABLE_IN_2_68
SoupBrotliDecompressor *soup_brotli_decompressor_new (void);
-SOUP_AVAILABLE_IN_2_68
-GType soup_brotli_decompressor_get_type (void) G_GNUC_CONST;
-
G_END_DECLS
diff --git a/libsoup/soup-cache.c b/libsoup/soup-cache.c
index 5d480244..f03999c4 100644
--- a/libsoup/soup-cache.c
+++ b/libsoup/soup-cache.c
@@ -1356,7 +1356,7 @@ soup_cache_generate_conditional_request (SoupCache *cache, SoupMessage *original
SoupURI *uri;
SoupCacheEntry *entry;
const char *last_modified, *etag;
- GSList *f;
+ GList *disabled_features, *f;
g_return_val_if_fail (SOUP_IS_CACHE (cache), NULL);
g_return_val_if_fail (SOUP_IS_MESSAGE (original), NULL);
@@ -1383,8 +1383,10 @@ soup_cache_generate_conditional_request (SoupCache *cache, SoupMessage *original
(SoupMessageHeadersForeachFunc)copy_headers,
msg->request_headers);
- for (f = soup_message_get_disabled_features (original); f; f = f->next)
+ disabled_features = soup_message_get_disabled_features (original);
+ for (f = disabled_features; f; f = f->next)
soup_message_disable_feature (msg, (GType) GPOINTER_TO_SIZE (f->data));
+ g_list_free (disabled_features);
if (last_modified)
soup_message_headers_append (msg->request_headers,
diff --git a/libsoup/soup-cookie-jar.c b/libsoup/soup-cookie-jar.c
index 7feaff34..c8231f0e 100644
--- a/libsoup/soup-cookie-jar.c
+++ b/libsoup/soup-cookie-jar.c
@@ -522,12 +522,20 @@ normalize_cookie_domain (const char *domain)
}
static gboolean
-incoming_cookie_is_third_party (SoupCookie *cookie, SoupURI *first_party)
+incoming_cookie_is_third_party (SoupCookieJar *jar,
+ SoupCookie *cookie,
+ SoupURI *first_party,
+ SoupCookieJarAcceptPolicy policy)
{
+ SoupCookieJarPrivate *priv;
const char *normalized_cookie_domain;
const char *cookie_base_domain;
const char *first_party_base_domain;
+ if (policy != SOUP_COOKIE_JAR_ACCEPT_NO_THIRD_PARTY &&
+ policy != SOUP_COOKIE_JAR_ACCEPT_GRANDFATHERED_THIRD_PARTY)
+ return FALSE;
+
if (first_party == NULL || first_party->host == NULL)
return TRUE;
@@ -539,7 +547,21 @@ incoming_cookie_is_third_party (SoupCookie *cookie, SoupURI *first_party)
first_party_base_domain = soup_tld_get_base_domain (first_party->host, NULL);
if (first_party_base_domain == NULL)
first_party_base_domain = first_party->host;
- return !soup_host_matches_host (cookie_base_domain, first_party_base_domain);
+
+ if (soup_host_matches_host (cookie_base_domain, first_party_base_domain))
+ return FALSE;
+
+ if (policy == SOUP_COOKIE_JAR_ACCEPT_NO_THIRD_PARTY)
+ return TRUE;
+
+ /* Now we know the cookie's base domain and the first party's base domain
+ * are different, but for SOUP_COOKIE_JAR_ACCEPT_GRANDFATHERED_THIRD_PARTY
+ * policy we want to grandfather in any domain that's already in the jar.
+ * That is, we never want to block cookies from domains the user has
+ * previously visited directly.
+ */
+ priv = soup_cookie_jar_get_instance_private (jar);
+ return !g_hash_table_lookup (priv->domains, cookie->domain);
}
/**
@@ -582,14 +604,13 @@ soup_cookie_jar_add_cookie_full (SoupCookieJar *jar, SoupCookie *cookie, SoupURI
priv = soup_cookie_jar_get_instance_private (jar);
- if (first_party != NULL) {
- if (priv->accept_policy == SOUP_COOKIE_JAR_ACCEPT_NEVER ||
- (priv->accept_policy == SOUP_COOKIE_JAR_ACCEPT_NO_THIRD_PARTY &&
- incoming_cookie_is_third_party (cookie, first_party))) {
- soup_cookie_free (cookie);
- return;
- }
- }
+ if (first_party != NULL) {
+ if (priv->accept_policy == SOUP_COOKIE_JAR_ACCEPT_NEVER ||
+ incoming_cookie_is_third_party (jar, cookie, first_party, priv->accept_policy)) {
+ soup_cookie_free (cookie);
+ return;
+ }
+ }
/* Cannot set a secure cookie over http */
if (uri != NULL && !soup_uri_is_https (uri, NULL) && soup_cookie_get_secure (cookie)) {
@@ -704,8 +725,9 @@ soup_cookie_jar_add_cookie_with_first_party (SoupCookieJar *jar, SoupURI *first_
* Adds @cookie to @jar, exactly as though it had appeared in a
* Set-Cookie header returned from a request to @uri.
*
- * Keep in mind that if the #SoupCookieJarAcceptPolicy
- * %SOUP_COOKIE_JAR_ACCEPT_NO_THIRD_PARTY is set you'll need to use
+ * Keep in mind that if the #SoupCookieJarAcceptPolicy set is either
+ * %SOUP_COOKIE_JAR_ACCEPT_NO_THIRD_PARTY or
+ * %SOUP_COOKIE_JAR_ACCEPT_GRANDFATHERED_THIRD_PARTY you'll need to use
* soup_cookie_jar_set_cookie_with_first_party(), otherwise the jar
* will have no way of knowing if the cookie is being set by a third
* party or not.
@@ -730,7 +752,8 @@ soup_cookie_jar_set_cookie (SoupCookieJar *jar, SoupURI *uri,
if (priv->accept_policy == SOUP_COOKIE_JAR_ACCEPT_NEVER)
return;
- g_return_if_fail (priv->accept_policy != SOUP_COOKIE_JAR_ACCEPT_NO_THIRD_PARTY);
+ g_return_if_fail (priv->accept_policy != SOUP_COOKIE_JAR_ACCEPT_NO_THIRD_PARTY &&
+ priv->accept_policy != SOUP_COOKIE_JAR_ACCEPT_GRANDFATHERED_THIRD_PARTY);
soup_cookie = soup_cookie_parse (cookie, uri);
if (soup_cookie) {
@@ -942,6 +965,19 @@ soup_cookie_jar_delete_cookie (SoupCookieJar *jar,
* on each outgoing #SoupMessage, setting the #SoupURI of the main
* document. If no first party is set in a message when this policy is
* in effect, cookies will be assumed to be third party by default.
+ * @SOUP_COOKIE_JAR_ACCEPT_GRANDFATHERED_THIRD_PARTY: accept all cookies
+ * set by the main document loaded in the application using libsoup, and
+ * from domains that have previously set at least one cookie when loaded
+ * as the main document. An example of the most common case, web browsers,
+ * would be: if http://www.example.com is the page loaded, accept all
+ * cookies set by example.com, but if a resource from http://www.third-party.com
+ * is loaded from that page, reject any cookie that it could try to
+ * set unless it already has a cookie in the cookie jar. For libsoup to
+ * be able to tell apart first party cookies from the rest, the
+ * application must call soup_message_set_first_party() on each outgoing
+ * #SoupMessage, setting the #SoupURI of the main document. If no first
+ * party is set in a message when this policy is in effect, cookies will
+ * be assumed to be third party by default. Since 2.72.
*
* The policy for accepting or rejecting cookies returned in
* responses.
diff --git a/libsoup/soup-cookie-jar.h b/libsoup/soup-cookie-jar.h
index 9161cd46..d7b2b4c2 100644
--- a/libsoup/soup-cookie-jar.h
+++ b/libsoup/soup-cookie-jar.h
@@ -44,7 +44,8 @@ typedef struct {
typedef enum {
SOUP_COOKIE_JAR_ACCEPT_ALWAYS,
SOUP_COOKIE_JAR_ACCEPT_NEVER,
- SOUP_COOKIE_JAR_ACCEPT_NO_THIRD_PARTY
+ SOUP_COOKIE_JAR_ACCEPT_NO_THIRD_PARTY,
+ SOUP_COOKIE_JAR_ACCEPT_GRANDFATHERED_THIRD_PARTY
} SoupCookieJarAcceptPolicy;
SOUP_AVAILABLE_IN_2_24
diff --git a/libsoup/soup-directory-input-stream.c b/libsoup/soup-directory-input-stream.c
index e0ccfd90..572f167e 100644
--- a/libsoup/soup-directory-input-stream.c
+++ b/libsoup/soup-directory-input-stream.c
@@ -25,11 +25,12 @@
#include <string.h>
+#include <glib/gi18n-lib.h>
+
#include "soup-directory-input-stream.h"
#include "soup.h"
-#define INIT_STRING "<html>\n<body>\n<table><th align=\"left\">Name</th><th>Size</th><th>Date Modified</th>\n"
-#define ROW_FORMAT "<td><a href=\"%s\">%s</a></td><td align=\"right\">%s</td><td align=\"right\" margin=8>%s</td>\n"
+#define ROW_FORMAT "<td sortable-data=\"%s\"><a href=\"%s\">%s</a></td><td align=\"right\" sortable-data=\"%" G_GOFFSET_FORMAT "\">%s</td><td align=\"right\" sortable-data=\"%" G_GINT64_FORMAT "\">%s&ensp;%s</td>\n"
#define EXIT_STRING "</table>\n</html>\n"
G_DEFINE_TYPE (SoupDirectoryInputStream, soup_directory_input_stream, G_TYPE_INPUT_STREAM)
@@ -41,7 +42,9 @@ soup_directory_input_stream_parse_info (SoupDirectoryInputStream *stream,
SoupBuffer *buffer;
GString *string;
const char *file_name;
- char *escaped, *path, *xml_string, *size, *time;
+ char *escaped, *path, *xml_string, *size, *date, *time, *name;
+ goffset raw_size;
+ gint64 timestamp;
#if !GLIB_CHECK_VERSION (2, 61, 2)
GTimeVal modified;
#endif
@@ -62,21 +65,35 @@ soup_directory_input_stream_parse_info (SoupDirectoryInputStream *stream,
xml_string = g_markup_escape_text (file_name, -1);
escaped = g_uri_escape_string (file_name, NULL, FALSE);
path = g_strconcat (stream->uri, G_DIR_SEPARATOR_S, escaped, NULL);
- size = g_format_size (g_file_info_get_size (info));
+ raw_size = g_file_info_get_size (info);
+
+ if (g_file_info_get_file_type (info) == G_FILE_TYPE_REGULAR)
+ size = g_format_size (raw_size);
+ else
+ size = g_strdup("");
+
+ if (g_file_info_get_file_type (info) == G_FILE_TYPE_DIRECTORY)
+ name = g_strdup_printf("1.%s", path);
+ else
+ name = g_strdup_printf("%s", path);
+
#if GLIB_CHECK_VERSION (2, 61, 2)
modification_time = g_file_info_get_modification_date_time (info);
#else
g_file_info_get_modification_time (info, &modified);
modification_time = g_date_time_new_from_timeval_local (&modified);
#endif
- time = g_date_time_format (modification_time, "%X %x");
+ time = g_date_time_format (modification_time, "%X");
+ date = g_date_time_format (modification_time, "%x");
+ timestamp = g_date_time_to_unix (modification_time);
g_date_time_unref (modification_time);
- g_string_append_printf (string, ROW_FORMAT, path, xml_string, size, time);
+ g_string_append_printf (string, ROW_FORMAT, name, path, xml_string, raw_size, size, timestamp, time, date);
g_string_append (string, "</tr>\n");
buffer = soup_buffer_new (SOUP_MEMORY_TAKE, string->str, string->len);
g_free (time);
+ g_free (date);
g_free (escaped);
g_free (size);
g_free (path);
@@ -190,12 +207,46 @@ soup_directory_input_stream_class_init (SoupDirectoryInputStreamClass *stream_cl
inputstream_class->close_fn = soup_directory_input_stream_close;
}
+static
+char *soup_directory_input_stream_create_header (SoupDirectoryInputStream *stream)
+{
+ char *header;
+ GBytes *css = g_resources_lookup_data ("/org/gnome/libsoup/directory.css", G_RESOURCE_LOOKUP_FLAGS_NONE, NULL);
+ GBytes *js = g_resources_lookup_data ("/org/gnome/libsoup/directory.js", G_RESOURCE_LOOKUP_FLAGS_NONE, NULL);
+
+ header = g_strdup_printf ("<html><head>" \
+ "<title>%s</title>" \
+ "<meta http-equiv=\"Content-Type\" content=\"text/html;\" charset=\"UTF-8\">" \
+ "<style>%s</style>" \
+ "<script>%s</script>" \
+ "</head>" \
+ "<body>" \
+ "<table>" \
+ "<thead>" \
+ "<th align=\"left\">%s</th><th align=\"right\">%s</th><th align=\"right\">%s</th>" \
+ "</thead>",
+ stream->uri,
+ css ? (gchar *)g_bytes_get_data (css, NULL) : "",
+ js ? (gchar *)g_bytes_get_data (js, NULL) : "",
+ _("Name"),
+ _("Size"),
+ _("Date Modified"));
+ return header;
+}
+
static void
soup_directory_input_stream_init (SoupDirectoryInputStream *stream)
{
- stream->buffer = soup_buffer_new (SOUP_MEMORY_STATIC,
- INIT_STRING,
- sizeof (INIT_STRING));
+}
+
+static void
+soup_directory_input_stream_setup_buffer (SoupDirectoryInputStream *stream)
+{
+ char *init = soup_directory_input_stream_create_header (stream);
+
+ stream->buffer = soup_buffer_new (SOUP_MEMORY_TAKE,
+ init,
+ strlen (init));
}
GInputStream *
@@ -212,6 +263,7 @@ soup_directory_input_stream_new (GFileEnumerator *enumerator,
SOUP_DIRECTORY_INPUT_STREAM (stream)->enumerator = g_object_ref (enumerator);
SOUP_DIRECTORY_INPUT_STREAM (stream)->uri = soup_uri_to_string (uri, FALSE);
+ soup_directory_input_stream_setup_buffer (SOUP_DIRECTORY_INPUT_STREAM (stream));
+
return stream;
}
-
diff --git a/libsoup/soup-headers.c b/libsoup/soup-headers.c
index 5e70b97b..eec28adf 100644
--- a/libsoup/soup-headers.c
+++ b/libsoup/soup-headers.c
@@ -131,7 +131,7 @@ soup_headers_parse (const char *str, int len, SoupMessageHeaders *dest)
/* Delete all but one SP */
*eol = ' ';
- g_memmove (eol + 1, sol, strlen (sol) + 1);
+ memmove (eol + 1, sol, strlen (sol) + 1);
}
/* clip trailing whitespace */
diff --git a/libsoup/soup-message-io.c b/libsoup/soup-message-io.c
index 1f550e63..c5412abb 100644
--- a/libsoup/soup-message-io.c
+++ b/libsoup/soup-message-io.c
@@ -11,6 +11,10 @@
#include <glib/gi18n-lib.h>
+#ifdef HAVE_SYSPROF
+#include <sysprof-capture.h>
+#endif
+
#include "soup.h"
#include "soup-body-input-stream.h"
#include "soup-body-output-stream.h"
@@ -89,6 +93,10 @@ typedef struct {
gpointer header_data;
SoupMessageCompletionFn completion_cb;
gpointer completion_data;
+
+#ifdef HAVE_SYSPROF
+ gint64 begin_time_nsec;
+#endif
} SoupMessageIOData;
static void io_run (SoupMessage *msg, gboolean blocking);
@@ -1018,6 +1026,32 @@ io_run_until (SoupMessage *msg, gboolean blocking,
return FALSE;
}
+#ifdef HAVE_SYSPROF
+ /* Allow profiling of network requests. */
+ if (io->read_state == SOUP_MESSAGE_IO_STATE_DONE &&
+ io->write_state == SOUP_MESSAGE_IO_STATE_DONE) {
+ SoupURI *uri = soup_message_get_uri (msg);
+ char *uri_str = soup_uri_to_string (uri, FALSE);
+ const gchar *last_modified = soup_message_headers_get_one (msg->request_headers, "Last-Modified");
+ const gchar *etag = soup_message_headers_get_one (msg->request_headers, "ETag");
+
+ /* FIXME: Expand and generalise sysprof support:
+ * https://gitlab.gnome.org/GNOME/sysprof/-/issues/43 */
+ sysprof_collector_mark_printf (io->begin_time_nsec, SYSPROF_CAPTURE_CURRENT_TIME - io->begin_time_nsec,
+ "libsoup", "message",
+ "%s request/response to %s: "
+ "read %" G_GOFFSET_FORMAT "B, "
+ "wrote %" G_GOFFSET_FORMAT "B, "
+ "Last-Modified: %s, "
+ "ETag: %s",
+ soup_message_get_https_status (msg, NULL, NULL) ? "HTTPS" : "HTTP",
+ uri_str, io->read_length, io->write_length,
+ (last_modified != NULL) ? last_modified : "(unset)",
+ (etag != NULL) ? etag : "(unset)");
+ g_free (uri_str);
+ }
+#endif /* HAVE_SYSPROF */
+
g_object_unref (msg);
return done;
}
@@ -1188,6 +1222,11 @@ new_iostate (SoupMessage *msg, GIOStream *iostream,
if (soup_message_get_io_data (msg))
soup_message_io_cleanup (msg);
soup_message_set_io_data (msg, io);
+
+#ifdef HAVE_SYSPROF
+ io->begin_time_nsec = SYSPROF_CAPTURE_CURRENT_TIME;
+#endif
+
return io;
}
diff --git a/libsoup/soup-message-private.h b/libsoup/soup-message-private.h
index 0c6f5d97..c30361c0 100644
--- a/libsoup/soup-message-private.h
+++ b/libsoup/soup-message-private.h
@@ -33,7 +33,7 @@ typedef struct {
SoupAuth *auth, *proxy_auth;
SoupConnection *connection;
- GSList *disabled_features;
+ GHashTable *disabled_features;
SoupURI *first_party;
SoupURI *site_for_cookies;
@@ -143,10 +143,8 @@ GInputStream *soup_message_io_get_response_istream (SoupMessage *msg,
gboolean soup_message_disables_feature (SoupMessage *msg,
gpointer feature);
-gboolean soup_message_disables_feature_by_type (SoupMessage *msg,
- GType feature_type);
-GSList *soup_message_get_disabled_features (SoupMessage *msg);
+GList *soup_message_get_disabled_features (SoupMessage *msg);
void soup_message_set_https_status (SoupMessage *msg,
SoupConnection *conn);
diff --git a/libsoup/soup-message.c b/libsoup/soup-message.c
index 519972a8..da32b42f 100644
--- a/libsoup/soup-message.c
+++ b/libsoup/soup-message.c
@@ -182,7 +182,7 @@ soup_message_finalize (GObject *object)
g_clear_object (&priv->auth);
g_clear_object (&priv->proxy_auth);
- g_slist_free (priv->disabled_features);
+ g_clear_pointer (&priv->disabled_features, g_hash_table_destroy);
g_clear_object (&priv->tls_certificate);
@@ -1899,50 +1899,75 @@ soup_message_disable_feature (SoupMessage *msg, GType feature_type)
priv = soup_message_get_instance_private (msg);
- priv->disabled_features = g_slist_prepend (priv->disabled_features,
- GSIZE_TO_POINTER (feature_type));
+ if (!priv->disabled_features)
+ priv->disabled_features = g_hash_table_new (g_direct_hash, g_direct_equal);
+
+ g_hash_table_add (priv->disabled_features, GSIZE_TO_POINTER (feature_type));
}
gboolean
soup_message_disables_feature (SoupMessage *msg, gpointer feature)
{
SoupMessagePrivate *priv;
- GSList *f;
+ GHashTableIter iter;
+ gpointer key;
g_return_val_if_fail (SOUP_IS_MESSAGE (msg), FALSE);
priv = soup_message_get_instance_private (msg);
- for (f = priv->disabled_features; f; f = f->next) {
- if (G_TYPE_CHECK_INSTANCE_TYPE (feature, (GType) GPOINTER_TO_SIZE (f->data)))
- return TRUE;
- }
- return FALSE;
+ if (!priv->disabled_features)
+ return FALSE;
+
+ g_hash_table_iter_init (&iter, priv->disabled_features);
+ while (g_hash_table_iter_next (&iter, &key, NULL)) {
+ if (G_TYPE_CHECK_INSTANCE_TYPE (feature, GPOINTER_TO_SIZE (key)))
+ return TRUE;
+ }
+ return FALSE;
}
+/**
+ * soup_message_is_feature_disabled:
+ * @msg: a #SoupMessage
+ * @feature_type: the #GType of a #SoupSessionFeature
+ *
+ * Get whether #SoupSessionFeature<!-- -->s of the given @feature_type
+ * (or a subclass of that type) are disabled on @msg.
+ * See soup_message_disable_feature().
+ *
+ * Returns: %TRUE if feature is disabled, or %FALSE otherwise.
+ *
+ * Since: 2.72
+ */
gboolean
-soup_message_disables_feature_by_type (SoupMessage *msg, GType feature_type)
+soup_message_is_feature_disabled (SoupMessage *msg, GType feature_type)
{
SoupMessagePrivate *priv;
- GSList *f;
+ GHashTableIter iter;
+ gpointer key;
g_return_val_if_fail (SOUP_IS_MESSAGE (msg), FALSE);
priv = soup_message_get_instance_private (msg);
- for (f = priv->disabled_features; f; f = f->next) {
- if (g_type_is_a ((GType)GPOINTER_TO_SIZE (f->data), feature_type))
+ if (!priv->disabled_features)
+ return FALSE;
+
+ g_hash_table_iter_init (&iter, priv->disabled_features);
+ while (g_hash_table_iter_next (&iter, &key, NULL)) {
+ if (g_type_is_a (GPOINTER_TO_SIZE (key), feature_type))
return TRUE;
}
return FALSE;
}
-GSList *
+GList *
soup_message_get_disabled_features (SoupMessage *msg)
{
SoupMessagePrivate *priv = soup_message_get_instance_private (msg);
- return priv->disabled_features;
+ return priv->disabled_features ? g_hash_table_get_keys (priv->disabled_features) : NULL;
}
/**
diff --git a/libsoup/soup-message.h b/libsoup/soup-message.h
index 41004fd9..42379a4b 100644
--- a/libsoup/soup-message.h
+++ b/libsoup/soup-message.h
@@ -217,6 +217,10 @@ SOUP_AVAILABLE_IN_2_28
void soup_message_disable_feature (SoupMessage *msg,
GType feature_type);
+SOUP_AVAILABLE_IN_2_72
+gboolean soup_message_is_feature_disabled (SoupMessage *msg,
+ GType feature_type);
+
SOUP_AVAILABLE_IN_2_42
SoupRequest *soup_message_get_soup_request (SoupMessage *msg);
diff --git a/libsoup/soup-session.c b/libsoup/soup-session.c
index 5dcf1eb2..dd3cdc46 100644
--- a/libsoup/soup-session.c
+++ b/libsoup/soup-session.c
@@ -685,6 +685,7 @@ soup_session_set_property (GObject *object, guint prop_id,
socket_props_changed = TRUE;
break;
case PROP_TLS_INTERACTION:
+ g_clear_object(&priv->tls_interaction);
priv->tls_interaction = g_value_dup_object (value);
socket_props_changed = TRUE;
break;
@@ -1075,6 +1076,7 @@ auth_manager_authenticate (SoupAuthManager *manager, SoupMessage *msg,
#define SOUP_SESSION_WOULD_REDIRECT_AS_SAFE(session, msg) \
(((msg)->status_code == SOUP_STATUS_MOVED_PERMANENTLY || \
+ (msg)->status_code == SOUP_STATUS_PERMANENT_REDIRECT || \
(msg)->status_code == SOUP_STATUS_TEMPORARY_REDIRECT || \
(msg)->status_code == SOUP_STATUS_FOUND) && \
SOUP_METHOD_IS_SAFE ((msg)->method))
@@ -2877,8 +2879,21 @@ soup_session_has_feature (SoupSession *session,
return TRUE;
}
} else if (g_type_is_a (feature_type, SOUP_TYPE_REQUEST)) {
- return g_hash_table_lookup (priv->request_types,
- GSIZE_TO_POINTER (feature_type)) != NULL;
+ SoupRequestClass *request_class;
+ int i;
+
+ request_class = g_type_class_peek (feature_type);
+ if (!request_class)
+ return FALSE;
+
+ for (i = 0; request_class->schemes[i]; i++) {
+ gpointer type;
+
+ type = g_hash_table_lookup (priv->request_types,
+ request_class->schemes[i]);
+ if (type && g_type_is_a (GPOINTER_TO_SIZE (type), feature_type))
+ return TRUE;
+ }
} else {
for (f = priv->features; f; f = f->next) {
if (soup_session_feature_has_feature (f->data, feature_type))
@@ -3217,6 +3232,8 @@ soup_session_class_init (SoupSessionClass *session_class)
* <literal>localhost</literal>. If you need more control over
* proxies, you can create a #GSimpleProxyResolver and set the
* #SoupSession:proxy-resolver property.
+ *
+ * Deprecated: 2.70: Use SoupSession:proxy-resolver along with #GSimpleProxyResolver.
*/
/**
* SOUP_SESSION_PROXY_URI:
@@ -3230,7 +3247,8 @@ soup_session_class_init (SoupSessionClass *session_class)
"The HTTP Proxy to use for this session",
SOUP_TYPE_URI,
G_PARAM_READWRITE |
- G_PARAM_STATIC_STRINGS));
+ G_PARAM_STATIC_STRINGS |
+ G_PARAM_DEPRECATED));
/**
* SoupSession:proxy-resolver:
*
@@ -3926,7 +3944,8 @@ async_send_request_restarted (SoupMessage *msg, gpointer user_data)
SoupMessageQueueItem *item = user_data;
/* We won't be needing this, then. */
- g_object_set_data (G_OBJECT (item->msg), "SoupSession:ostream", NULL);
+ if (item->task)
+ g_object_set_data (G_OBJECT (item->task), "SoupSession:ostream", NULL);
item->io_started = FALSE;
}
diff --git a/libsoup/soup-status.h b/libsoup/soup-status.h
index 5263df33..5b0db2aa 100644
--- a/libsoup/soup-status.h
+++ b/libsoup/soup-status.h
@@ -58,6 +58,7 @@ typedef enum {
SOUP_STATUS_USE_PROXY = 305,
SOUP_STATUS_NOT_APPEARING_IN_THIS_PROTOCOL = 306, /* (reserved) */
SOUP_STATUS_TEMPORARY_REDIRECT = 307,
+ SOUP_STATUS_PERMANENT_REDIRECT = 308,
SOUP_STATUS_BAD_REQUEST = 400,
SOUP_STATUS_UNAUTHORIZED = 401,
diff --git a/libsoup/soup-uri.c b/libsoup/soup-uri.c
index c01b3e3b..4bb55b81 100644
--- a/libsoup/soup-uri.c
+++ b/libsoup/soup-uri.c
@@ -754,6 +754,8 @@ soup_uri_encode (const char *part, const char *escape_extra)
#define XDIGIT(c) ((c) <= '9' ? (c) - '0' : ((c) & 0x4F) - 'A' + 10)
#define HEXCHAR(s) ((XDIGIT (s[1]) << 4) + XDIGIT (s[2]))
+/* length must be set (e.g. from strchr()) such that [part, part + length]
+ * contains no nul bytes */
char *
soup_uri_decoded_copy (const char *part, int length, int *decoded_length)
{
@@ -766,7 +768,9 @@ soup_uri_decoded_copy (const char *part, int length, int *decoded_length)
s = d = (unsigned char *)decoded;
do {
if (*s == '%') {
- if (!g_ascii_isxdigit (s[1]) ||
+ if (s[1] == '\0' ||
+ s[2] == '\0' ||
+ !g_ascii_isxdigit (s[1]) ||
!g_ascii_isxdigit (s[2])) {
*d++ = *s;
continue;
@@ -803,6 +807,8 @@ soup_uri_decode (const char *part)
return soup_uri_decoded_copy (part, strlen (part), NULL);
}
+/* length must be set (e.g. from strchr()) such that [part, part + length]
+ * contains no nul bytes */
static char *
uri_normalized_copy (const char *part, int length,
const char *unescape_extra)
@@ -817,7 +823,9 @@ uri_normalized_copy (const char *part, int length,
s = d = (unsigned char *)normalized;
while (*s) {
if (*s == '%') {
- if (!g_ascii_isxdigit (s[1]) ||
+ if (s[1] == '\0' ||
+ s[2] == '\0' ||
+ !g_ascii_isxdigit (s[1]) ||
!g_ascii_isxdigit (s[2])) {
*d++ = *s++;
continue;
diff --git a/libsoup/soup-version.h.in b/libsoup/soup-version.h.in
index b06b5ad0..07bed7fd 100644
--- a/libsoup/soup-version.h.in
+++ b/libsoup/soup-version.h.in
@@ -69,6 +69,7 @@ G_BEGIN_DECLS
#define SOUP_VERSION_2_66 (G_ENCODE_VERSION (2, 66))
#define SOUP_VERSION_2_68 (G_ENCODE_VERSION (2, 68))
#define SOUP_VERSION_2_70 (G_ENCODE_VERSION (2, 70))
+#define SOUP_VERSION_2_72 (G_ENCODE_VERSION (2, 72))
/* evaluates to the current stable version; for development cycles,
* this means the next stable target
@@ -410,6 +411,13 @@ G_BEGIN_DECLS
#else
# define SOUP_AVAILABLE_IN_2_70 _SOUP_EXTERN
#endif
+
+#if SOUP_VERSION_MAX_ALLOWED < SOUP_VERSION_2_72
+# define SOUP_AVAILABLE_IN_2_72 G_UNAVAILABLE(2, 72) _SOUP_EXTERN
+#else
+# define SOUP_AVAILABLE_IN_2_72 _SOUP_EXTERN
+#endif
+
SOUP_AVAILABLE_IN_2_42
guint soup_get_major_version (void);
diff --git a/libsoup/soup-websocket.c b/libsoup/soup-websocket.c
index d7011b49..13b56474 100644
--- a/libsoup/soup-websocket.c
+++ b/libsoup/soup-websocket.c
@@ -337,7 +337,7 @@ soup_websocket_client_prepare_handshake_with_extensions (SoupMessage *msg,
for (i = 0; i < supported_extensions->len; i++) {
SoupWebsocketExtensionClass *extension_class = (SoupWebsocketExtensionClass *)supported_extensions->pdata[i];
- if (soup_message_disables_feature_by_type (msg, G_TYPE_FROM_CLASS (extension_class)))
+ if (soup_message_is_feature_disabled (msg, G_TYPE_FROM_CLASS (extension_class)))
continue;
if (i != 0)
diff --git a/libsoup/soup.gresource.xml b/libsoup/soup.gresource.xml
new file mode 100644
index 00000000..da3ad10b
--- /dev/null
+++ b/libsoup/soup.gresource.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<gresources>
+ <gresource prefix="/org/gnome/libsoup">
+ <file>directory.css</file>
+ <file>directory.js</file>
+ </gresource>
+</gresources>
diff --git a/meson.build b/meson.build
index 88a08ce1..03884d8f 100644
--- a/meson.build
+++ b/meson.build
@@ -1,8 +1,8 @@
project('libsoup', 'c',
- version: '2.69.90',
+ version: '2.72.0',
meson_version : '>=0.50',
license : 'LGPL2',
- default_options : 'c_std=c89')
+ default_options : 'c_std=c99')
gnome = import('gnome')
@@ -12,9 +12,17 @@ soup_version_major = version_arr[0]
soup_version_minor = version_arr[1]
soup_version_micro = version_arr[2]
-libversion = '1.8.0'
+# Before making a release, the libversion string should be modified.
+#
+# * Bump the first component if binary compatibility has been broken; or
+# * Bump the second component if new APIs are added; or
+# * Bump the third component otherwise.
+#
+# When bumping the first component version, set the second and third components
+# to 0. When bumping the second version, set the third one to zero.
+libversion = '1.11.0'
apiversion = '2.4'
-soversion = '1'
+soversion = libversion.split('.')[0]
libsoup_api_name = '@0@-@1@'.format(meson.project_name(), apiversion)
libversion_arr = libversion.split('.')
darwin_version_major = libversion_arr[0].to_int()
@@ -87,7 +95,7 @@ sqlite_dep = dependency('sqlite3', required: false)
# Fallback check for sqlite, not all platforms ship pkg-config file
if not sqlite_dep.found()
sqlite_dep = cc.find_library('sqlite3',
- has_headers : ['sqlite3.h', 'sqlite3ext.h'],
+ has_headers : ['sqlite3.h'],
required: false)
endif
@@ -143,6 +151,22 @@ if cc.has_function('gmtime_r', prefix : '#include <time.h>', args : default_sour
cdata.set('HAVE_GMTIME_R', '1')
endif
+# sysprof support
+libsysprof_capture_dep = dependency('sysprof-capture-4',
+ required: get_option('sysprof'),
+ default_options: [
+ 'enable_examples=false',
+ 'enable_gtk=false',
+ 'enable_tests=false',
+ 'enable_tools=false',
+ 'libsysprof=false',
+ 'with_sysprofd=none',
+ 'help=false',
+ ],
+ fallback: ['sysprof', 'libsysprof_capture_dep'],
+)
+cdata.set('HAVE_SYSPROF', libsysprof_capture_dep.found())
+
###################
# GIO TLS support #
###################
@@ -272,8 +296,6 @@ if not tests_ready
warning('Some regression tests will not be compiled due to missing libraries or modules. Please check the logs for more details.')
endif
-cdata.set('HAVE_CURL', find_program('curl', required : false).found())
-
##################
# GSSAPI support #
##################
diff --git a/meson_options.txt b/meson_options.txt
index 12b1aae6..57b098c1 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -70,3 +70,9 @@ option('installed_tests',
value: false,
description: 'Install tests for as-installed testing'
)
+
+option('sysprof',
+ type: 'feature',
+ value: 'auto',
+ description: 'enable sysprof-capture support for profiling'
+)
diff --git a/po/POTFILES.in b/po/POTFILES.in
index 3cd20bf4..61d52750 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -1,5 +1,6 @@
libsoup/soup-body-input-stream.c
libsoup/soup-cache-input-stream.c
+libsoup/soup-directory-input-stream.c
libsoup/soup-converter-wrapper.c
libsoup/soup-message-client-io.c
libsoup/soup-message-io.c
diff --git a/po/ca.po b/po/ca.po
index c28cb1d7..9af968eb 100644
--- a/po/ca.po
+++ b/po/ca.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: libsoup master\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/libsoup/issues\n"
-"POT-Creation-Date: 2019-07-31 12:10+0000\n"
+"POT-Creation-Date: 2020-06-26 17:08+0000\n"
"PO-Revision-Date: 2018-07-01 08:39+0200\n"
"Last-Translator: Xavi Ivars <xavi.ivars@gmail.com>\n"
"Language-Team: Catalan <tradgnome@softcatala.org>\n"
@@ -41,6 +41,18 @@ msgstr "S'ha tancat inesperadament el flux de xarxa"
msgid "Failed to completely cache the resource"
msgstr "No s'ha pogut carregar completament el recurs a la memòria cau"
+#: libsoup/soup-directory-input-stream.c:231
+msgid "Name"
+msgstr "Nom"
+
+#: libsoup/soup-directory-input-stream.c:232
+msgid "Size"
+msgstr "Mida"
+
+#: libsoup/soup-directory-input-stream.c:233
+msgid "Date Modified"
+msgstr "Data de modificació"
+
#: libsoup/soup-converter-wrapper.c:189
#, c-format
msgid "Output buffer is too small"
@@ -80,31 +92,31 @@ msgstr "No s'ha proporcionat cap URI"
msgid "Invalid “%s” URI: %s"
msgstr "L'URI «%s» no és vàlid: %s"
-#: libsoup/soup-server.c:1797
+#: libsoup/soup-server.c:1810
msgid "Can’t create a TLS server without a TLS certificate"
msgstr "No es pot crear un servidor de TLS sense un certificat TLS"
-#: libsoup/soup-server.c:1814
+#: libsoup/soup-server.c:1827
#, c-format
msgid "Could not listen on address %s, port %d: "
msgstr "No es pot escoltar a l'adreça %s, port %d: "
-#: libsoup/soup-session.c:4535
+#: libsoup/soup-session.c:4570
#, c-format
msgid "Could not parse URI “%s”"
msgstr "No s'ha pogut analitzar l'URI «%s»"
-#: libsoup/soup-session.c:4572
+#: libsoup/soup-session.c:4607
#, c-format
msgid "Unsupported URI scheme “%s”"
msgstr "L'esquema d'URI «%s» és incompatible"
-#: libsoup/soup-session.c:4594
+#: libsoup/soup-session.c:4629
#, c-format
msgid "Not an HTTP URI"
msgstr "No és un URI HTTP"
-#: libsoup/soup-session.c:4805
+#: libsoup/soup-session.c:4840
msgid "The server did not accept the WebSocket handshake."
msgstr ""
"El servidor no ha acceptat la conformitat de la connexió del WebSocket."
@@ -146,7 +158,8 @@ msgstr "Paràmetre duplicat a l'extensió de la capçalera «%s» de WebSocket"
msgid ""
"Server returned a duplicated parameter in “%s” WebSocket extension header"
msgstr ""
-"El servidor ha retornat un paràmetre duplicat a l'extensió de la capçalera «%s» de WebSocket"
+"El servidor ha retornat un paràmetre duplicat a l'extensió de la capçalera "
+"«%s» de WebSocket"
#: libsoup/soup-websocket.c:658 libsoup/soup-websocket.c:667
msgid "WebSocket handshake expected"
diff --git a/po/cs.po b/po/cs.po
index 0fda5bfd..91e1e974 100644
--- a/po/cs.po
+++ b/po/cs.po
@@ -1,14 +1,14 @@
# Czech translation for libsoup.
# Copyright (C) 2012 libsoup's COPYRIGHT HOLDER
# This file is distributed under the same license as the libsoup package.
-# Marek Černocký <marek@manet.cz>, 2012, 2013, 2014, 2015, 2016, 2018, 2019.
+# Marek Černocký <marek@manet.cz>, 2012, 2013, 2014, 2015, 2016, 2018, 2019, 2020.
#
msgid ""
msgstr ""
"Project-Id-Version: libsoup master\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/libsoup/issues\n"
-"POT-Creation-Date: 2019-07-31 12:10+0000\n"
-"PO-Revision-Date: 2019-08-16 10:39+0200\n"
+"POT-Creation-Date: 2020-06-26 17:08+0000\n"
+"PO-Revision-Date: 2020-08-25 10:37+0200\n"
"Last-Translator: Marek Černocký <marek@manet.cz>\n"
"Language-Team: čeština <gnome-cs-list@gnome.org>\n"
"Language: cs\n"
@@ -39,6 +39,18 @@ msgstr "Síťový proud byl neočekávaně uzavřen"
msgid "Failed to completely cache the resource"
msgstr "Selhalo úplné uložení prostředku do mezipaměti"
+#: libsoup/soup-directory-input-stream.c:231
+msgid "Name"
+msgstr "Název"
+
+#: libsoup/soup-directory-input-stream.c:232
+msgid "Size"
+msgstr "Velikost"
+
+#: libsoup/soup-directory-input-stream.c:233
+msgid "Date Modified"
+msgstr "Datum změny"
+
#: libsoup/soup-converter-wrapper.c:189
#, c-format
msgid "Output buffer is too small"
@@ -78,31 +90,31 @@ msgstr "Není poskytnuta žádná adresa URI"
msgid "Invalid “%s” URI: %s"
msgstr "Neplatná adresa URI „%s“: %s"
-#: libsoup/soup-server.c:1797
+#: libsoup/soup-server.c:1810
msgid "Can’t create a TLS server without a TLS certificate"
msgstr "Nelze vytvořit server TLS bez certifikátu TLS"
-#: libsoup/soup-server.c:1814
+#: libsoup/soup-server.c:1827
#, c-format
msgid "Could not listen on address %s, port %d: "
msgstr "Nelze naslouchat na adrese %s, portu %d: "
-#: libsoup/soup-session.c:4535
+#: libsoup/soup-session.c:4570
#, c-format
msgid "Could not parse URI “%s”"
msgstr "Nelze zpracovat adresu URI „%s“"
-#: libsoup/soup-session.c:4572
+#: libsoup/soup-session.c:4607
#, c-format
msgid "Unsupported URI scheme “%s”"
msgstr "Nepodporované schéma URI „%s“"
-#: libsoup/soup-session.c:4594
+#: libsoup/soup-session.c:4629
#, c-format
msgid "Not an HTTP URI"
msgstr "Nejedná se o adresu HTTP URI"
-#: libsoup/soup-session.c:4805
+#: libsoup/soup-session.c:4840
msgid "The server did not accept the WebSocket handshake."
msgstr "Server nepřijímá vyjednávání WebSocket."
diff --git a/po/de.po b/po/de.po
index bb66ec67..bda6e84e 100644
--- a/po/de.po
+++ b/po/de.po
@@ -5,14 +5,14 @@
# Mario Blättermann <mario.blaettermann@gmail.com>, 2012-2013, 2016, 2018.
# Andre Jonas <nipsky@googlemail.com>, 2013.
# Bernd Homuth <dev@hmt.im>, 2015.
-# Tim Sabsch <tim@sabsch.com>, 2018-2019.
+# Tim Sabsch <tim@sabsch.com>, 2018-2020.
#
msgid ""
msgstr ""
"Project-Id-Version: libsoup master\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/libsoup/issues\n"
-"POT-Creation-Date: 2019-07-31 12:10+0000\n"
-"PO-Revision-Date: 2019-08-23 21:37+0200\n"
+"POT-Creation-Date: 2020-06-26 17:08+0000\n"
+"PO-Revision-Date: 2020-09-09 19:02+0200\n"
"Last-Translator: Tim Sabsch <tim@sabsch.com>\n"
"Language-Team: Deutsch <gnome-de@gnome.org>\n"
"Language: de\n"
@@ -20,7 +20,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Poedit 2.2.1\n"
+"X-Generator: Poedit 2.4.1\n"
#: libsoup/soup-body-input-stream.c:139 libsoup/soup-body-input-stream.c:170
#: libsoup/soup-body-input-stream.c:203 libsoup/soup-message-io.c:236
@@ -43,6 +43,18 @@ msgstr "Netzwerk-Stream wurde unerwartet geschlossen"
msgid "Failed to completely cache the resource"
msgstr "Das vollständige Zwischenspeichern der Ressource ist fehlgeschlagen"
+#: libsoup/soup-directory-input-stream.c:231
+msgid "Name"
+msgstr "Name"
+
+#: libsoup/soup-directory-input-stream.c:232
+msgid "Size"
+msgstr "Größe"
+
+#: libsoup/soup-directory-input-stream.c:233
+msgid "Date Modified"
+msgstr "Änderungsdatum"
+
#: libsoup/soup-converter-wrapper.c:189
#, c-format
msgid "Output buffer is too small"
@@ -82,31 +94,31 @@ msgstr "Es wurde keine Adresse bereitgestellt"
msgid "Invalid “%s” URI: %s"
msgstr "Ungültige »%s«-Adresse: %s"
-#: libsoup/soup-server.c:1797
+#: libsoup/soup-server.c:1810
msgid "Can’t create a TLS server without a TLS certificate"
msgstr "TLS-Server kann nicht ohne TLS-Zertifikat erstellt werden"
-#: libsoup/soup-server.c:1814
+#: libsoup/soup-server.c:1827
#, c-format
msgid "Could not listen on address %s, port %d: "
msgstr "Auf Adresse %s, Port %d kann nicht gehört werden: "
-#: libsoup/soup-session.c:4535
+#: libsoup/soup-session.c:4570
#, c-format
msgid "Could not parse URI “%s”"
msgstr "Die Adresse »%s« konnte nicht verarbeitet werden"
-#: libsoup/soup-session.c:4572
+#: libsoup/soup-session.c:4607
#, c-format
msgid "Unsupported URI scheme “%s”"
msgstr "Nicht unterstütztes Adressenschema »%s«"
-#: libsoup/soup-session.c:4594
+#: libsoup/soup-session.c:4629
#, c-format
msgid "Not an HTTP URI"
msgstr "Keine HTTP-Adresse"
-#: libsoup/soup-session.c:4805
+#: libsoup/soup-session.c:4840
msgid "The server did not accept the WebSocket handshake."
msgstr "Der Server hat den WebSocket-Handshake nicht angenommen."
diff --git a/po/es.po b/po/es.po
index 3da5b831..a48d7950 100644
--- a/po/es.po
+++ b/po/es.po
@@ -2,14 +2,14 @@
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-# Daniel Mustieles <daniel.mustieles@gmail.com>, 2012-2019.
+# Daniel Mustieles <daniel.mustieles@gmail.com>, 2012-2020.
#
msgid ""
msgstr ""
"Project-Id-Version: libsoup\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/libsoup/issues\n"
-"POT-Creation-Date: 2019-07-31 12:10+0000\n"
-"PO-Revision-Date: 2019-08-02 09:13+0200\n"
+"POT-Creation-Date: 2020-06-26 17:08+0000\n"
+"PO-Revision-Date: 2020-06-29 15:46+0200\n"
"Last-Translator: Daniel Mustieles <daniel.mustieles@gmail.com>\n"
"Language-Team: Spanish - Spain <gnome-es-list@gnome.org>\n"
"Language: es_ES\n"
@@ -17,7 +17,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Gtranslator 3.32.1\n"
+"X-Generator: Gtranslator 3.36.0\n"
#: libsoup/soup-body-input-stream.c:139 libsoup/soup-body-input-stream.c:170
#: libsoup/soup-body-input-stream.c:203 libsoup/soup-message-io.c:236
@@ -40,6 +40,18 @@ msgstr "El flujo de red se cerró inesperadamente"
msgid "Failed to completely cache the resource"
msgstr "Falló al cachear completamente el recurso"
+#: libsoup/soup-directory-input-stream.c:231
+msgid "Name"
+msgstr "Nombre"
+
+#: libsoup/soup-directory-input-stream.c:232
+msgid "Size"
+msgstr "Tamaño"
+
+#: libsoup/soup-directory-input-stream.c:233
+msgid "Date Modified"
+msgstr "Fecha de modificación"
+
#: libsoup/soup-converter-wrapper.c:189
#, c-format
msgid "Output buffer is too small"
@@ -79,31 +91,31 @@ msgstr "No se ha proporcionado un URI"
msgid "Invalid “%s” URI: %s"
msgstr "URI «%s» no válida: %s"
-#: libsoup/soup-server.c:1797
+#: libsoup/soup-server.c:1810
msgid "Can’t create a TLS server without a TLS certificate"
msgstr "No se puede crear un servidor TLS sin un certificado TLS"
-#: libsoup/soup-server.c:1814
+#: libsoup/soup-server.c:1827
#, c-format
msgid "Could not listen on address %s, port %d: "
msgstr "No se puede escuchar en la dirección %s, puerto %d: "
-#: libsoup/soup-session.c:4535
+#: libsoup/soup-session.c:4570
#, c-format
msgid "Could not parse URI “%s”"
msgstr "No se pudo analizar el URI «%s»"
-#: libsoup/soup-session.c:4572
+#: libsoup/soup-session.c:4607
#, c-format
msgid "Unsupported URI scheme “%s”"
msgstr "Esquema «%s» de URI no soportado"
-#: libsoup/soup-session.c:4594
+#: libsoup/soup-session.c:4629
#, c-format
msgid "Not an HTTP URI"
msgstr "No es un URI HTTP"
-#: libsoup/soup-session.c:4805
+#: libsoup/soup-session.c:4840
msgid "The server did not accept the WebSocket handshake."
msgstr "El servidor no ha aceptado la negociación WebSocket."
diff --git a/po/eu.po b/po/eu.po
index 031a6bd8..11c04201 100644
--- a/po/eu.po
+++ b/po/eu.po
@@ -3,14 +3,14 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Iñaki Larrañaga Murgoitio <dooteo@zundan.com>, 2013, 2014, 2015, 2017.
-# Asier Sarasua Garmendia <asier.sarasua@gmail.com>, 2019.
+# Asier Sarasua Garmendia <asiersarasua@ni.eus>, 2019, 2020.
#
msgid ""
msgstr "Project-Id-Version: libsoup master\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/libsoup/issues\n"
-"POT-Creation-Date: 2019-07-31 12:10+0000\n"
-"PO-Revision-Date: 2019-08-11 10:00+0100\n"
-"Last-Translator: Asier Sarasua Garmendia <asier.sarasua@gmail.com>\n"
+"POT-Creation-Date: 2020-06-26 17:08+0000\n"
+"PO-Revision-Date: 2020-08-10 10:00+0100\n"
+"Last-Translator: Asier Sarasua Garmendia <asiersarasua@ni.eus>\n"
"Language-Team: Basque <librezale@librezale.eus>\n"
"Language: eu\n"
"MIME-Version: 1.0\n"
@@ -39,6 +39,18 @@ msgstr "Sarearen korrontea ustekabean itxi da"
msgid "Failed to completely cache the resource"
msgstr "Huts egin du baliabidea erabat cachean gordetzean"
+#: libsoup/soup-directory-input-stream.c:231
+msgid "Name"
+msgstr "Izena"
+
+#: libsoup/soup-directory-input-stream.c:232
+msgid "Size"
+msgstr "Tamaina"
+
+#: libsoup/soup-directory-input-stream.c:233
+msgid "Date Modified"
+msgstr "Aldatze-data"
+
#: libsoup/soup-converter-wrapper.c:189
#, c-format
msgid "Output buffer is too small"
@@ -78,31 +90,31 @@ msgstr "Ez da URIrik eman"
msgid "Invalid “%s” URI: %s"
msgstr "Baliogabeko “%s“ URIa: %s"
-#: libsoup/soup-server.c:1797
+#: libsoup/soup-server.c:1810
msgid "Can’t create a TLS server without a TLS certificate"
msgstr "Ezin da TLS zerbitzaria sortu TLS ziurtagirik gabe"
-#: libsoup/soup-server.c:1814
+#: libsoup/soup-server.c:1827
#, c-format
msgid "Could not listen on address %s, port %d: "
msgstr "Ezin izan da '%s:%d' helbidean entzun: "
-#: libsoup/soup-session.c:4535
+#: libsoup/soup-session.c:4570
#, c-format
msgid "Could not parse URI “%s”"
msgstr "Ezin izan da “%s“ URIa analizatu"
-#: libsoup/soup-session.c:4572
+#: libsoup/soup-session.c:4607
#, c-format
msgid "Unsupported URI scheme “%s”"
msgstr "Onartu gabeko “%s“ URI eskema"
-#: libsoup/soup-session.c:4594
+#: libsoup/soup-session.c:4629
#, c-format
msgid "Not an HTTP URI"
msgstr "Ez da HTTP URIa"
-#: libsoup/soup-session.c:4805
+#: libsoup/soup-session.c:4840
msgid "The server did not accept the WebSocket handshake."
msgstr "Zerbitzariak ez du WebSocket diosala onartu"
diff --git a/po/fa.po b/po/fa.po
index 74ee1e77..01f9b9be 100644
--- a/po/fa.po
+++ b/po/fa.po
@@ -2,108 +2,191 @@
# Copyright (C) 2012 libsoup's COPYRIGHT HOLDER
# This file is distributed under the same license as the libsoup package.
# Arash Mousavi <mousavi.arash@gmail.com>, 2012, 2013.
+# Danial Behzadi <dani.behzi@ubuntu.com>, 2020.
#
msgid ""
msgstr ""
"Project-Id-Version: libsoup master\n"
-"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?"
-"product=libsoup&keywords=I18N+L10N&component=general\n"
-"POT-Creation-Date: 2013-02-18 10:20+0000\n"
-"PO-Revision-Date: 2013-03-23 18:07+0330\n"
-"Last-Translator: Arash Mousavi <mousavi.arash@gmail.com>\n"
+"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/libsoup/issues\n"
+"POT-Creation-Date: 2019-09-21 11:44+0000\n"
+"PO-Revision-Date: 2020-02-18 08:02+0000\n"
+"Last-Translator: Danial Behzadi <dani.behzi@ubuntu.com>\n"
"Language-Team: Persian\n"
"Language: fa\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: Poedit 1.5.4\n"
+"X-Generator: Poedit 2.2.4\n"
-#: ../libsoup/soup-body-input-stream.c:141
-#: ../libsoup/soup-body-input-stream.c:172
-#: ../libsoup/soup-body-input-stream.c:205 ../libsoup/soup-message-io.c:191
+#: libsoup/soup-body-input-stream.c:139 libsoup/soup-body-input-stream.c:170
+#: libsoup/soup-body-input-stream.c:203 libsoup/soup-message-io.c:236
msgid "Connection terminated unexpectedly"
msgstr "اتصال به شکل غیرمنتظره‌ای بسته شد"
-#: ../libsoup/soup-body-input-stream.c:463
+#: libsoup/soup-body-input-stream.c:459
msgid "Invalid seek request"
-msgstr "درخواست جستجو نامعتبر"
+msgstr "درخواست پرش نامعتبر"
-#: ../libsoup/soup-body-input-stream.c:491
+#: libsoup/soup-body-input-stream.c:487
msgid "Cannot truncate SoupBodyInputStream"
msgstr "نمی‌توان SoupBodyInputStream را کوتاه کرد"
-#: ../libsoup/soup-cache-input-stream.c:74
+#: libsoup/soup-cache-input-stream.c:76
msgid "Network stream unexpectedly closed"
msgstr "جریان شبکه به‌طور غیرمنتظره‌ای بسته شد"
-#: ../libsoup/soup-cache-input-stream.c:291
+#: libsoup/soup-cache-input-stream.c:291
msgid "Failed to completely cache the resource"
-msgstr "به‌طور کامل حافظه‌ی نهان کردن منبع شکست خورد"
+msgstr "شکست در انبارش کامل منبع"
-#: ../libsoup/soup-converter-wrapper.c:192
+#: libsoup/soup-converter-wrapper.c:189
#, c-format
msgid "Output buffer is too small"
msgstr "میانگیر خروجی خیلی کوتاه است"
-#: ../libsoup/soup-message-client-io.c:41
-#| msgid "Could not parse URI '%s'"
+#: libsoup/soup-message-client-io.c:39
msgid "Could not parse HTTP response"
msgstr "نمی‌توان پاسخ HTTP را تجزیه کرد"
-#: ../libsoup/soup-message-client-io.c:66
+#: libsoup/soup-message-client-io.c:62
msgid "Unrecognized HTTP response encoding"
msgstr "کدگذاری پاسخ HTTP شناخته نشد"
-#: ../libsoup/soup-message-io.c:846 ../libsoup/soup-message-io.c:882
-msgid "Operation was cancelled"
-msgstr "عملیات لغو شده بود"
+#: libsoup/soup-message-io.c:261
+msgid "Header too big"
+msgstr "سرایند بسیار بزرگ"
-#: ../libsoup/soup-message-io.c:893
+#: libsoup/soup-message-io.c:393 libsoup/soup-message-io.c:1016
msgid "Operation would block"
msgstr "عملیات می‌توانست بسته شود"
-#: ../libsoup/soup-message-server-io.c:40
-#| msgid "Could not parse URI '%s'"
+#: libsoup/soup-message-io.c:968 libsoup/soup-message-io.c:1001
+msgid "Operation was cancelled"
+msgstr "عملیات لغو شده بود"
+
+#: libsoup/soup-message-server-io.c:63
msgid "Could not parse HTTP request"
msgstr "نمی‌توان درخواست HTTP را تجزیه کرد"
-#: ../libsoup/soup-request.c:140
+#: libsoup/soup-request.c:141
#, c-format
msgid "No URI provided"
-msgstr "هیچ URIای داده نشده است"
+msgstr "هیچ نشانی‌ای داده نشده"
+
+#: libsoup/soup-request.c:151
+#, c-format
+msgid "Invalid “%s” URI: %s"
+msgstr "نشانی نامعتبر %s: %s"
+
+#: libsoup/soup-server.c:1805
+msgid "Can’t create a TLS server without a TLS certificate"
+msgstr "نمی‌تواند بدون یک گواهینامهٔ TLS، یک کارساز TLS ایجاد کرد"
-#: ../libsoup/soup-request.c:150
+#: libsoup/soup-server.c:1822
#, c-format
-msgid "Invalid '%s' URI: %s"
-msgstr "«%s» نامعتبر URI: %s"
+msgid "Could not listen on address %s, port %d: "
+msgstr "نمی‌توان روی نشانی %s و درگاه %Id شنود کرد: "
-#: ../libsoup/soup-session.c:4209
+#: libsoup/soup-session.c:4543
#, c-format
-msgid "Could not parse URI '%s'"
-msgstr "نمی‌توان URI را تجزیه کرد «%s»"
+msgid "Could not parse URI “%s”"
+msgstr "نتوانست نشانی %s را تجزیه کند"
-#: ../libsoup/soup-session.c:4246
+#: libsoup/soup-session.c:4580
#, c-format
-msgid "Unsupported URI scheme '%s'"
-msgstr "شِما URI پشتیبانی نشده «%s»"
+msgid "Unsupported URI scheme “%s”"
+msgstr "شمای نشانی پشتیبانی‌نشده «%s»"
-#: ../libsoup/soup-session.c:4268
+#: libsoup/soup-session.c:4602
#, c-format
msgid "Not an HTTP URI"
-msgstr "آدرس HTTP نیست"
+msgstr "یک نشانی HTTP نیست"
-#: ../libsoup/soup-tld.c:185
-msgid "Hostname is an IP address"
-msgstr "نام میزبان یک آدرس آی‌پی است"
+#: libsoup/soup-session.c:4813
+msgid "The server did not accept the WebSocket handshake."
+msgstr "کارساز، دست دادن سوکت وب را نپذیرفت."
+
+#: libsoup/soup-socket.c:148
+msgid "Can’t import non-socket as SoupSocket"
+msgstr "نمی‌توان ناسوکت را به عنوان SoupSocket درون‌ریزی کرد"
+
+#: libsoup/soup-socket.c:166
+msgid "Could not import existing socket: "
+msgstr "نتوانست سوکت موجود را درون‌ریزی کند: "
+
+#: libsoup/soup-socket.c:175
+msgid "Can’t import unconnected socket"
+msgstr "نمی‌توان سوکت وصل‌نشده را درون‌ریزی کرد"
-#: ../libsoup/soup-tld.c:206
+#: libsoup/soup-websocket.c:479 libsoup/soup-websocket.c:523
+#: libsoup/soup-websocket.c:539
+msgid "Server requested unsupported extension"
+msgstr "کارساز، افزونهٔ پشتیبانی‌نشده را درخواست کرد"
+
+#: libsoup/soup-websocket.c:502 libsoup/soup-websocket.c:694
+#, c-format
+msgid "Incorrect WebSocket “%s” header"
+msgstr "سرایند %s نامعتبر سوکت وب"
+
+#: libsoup/soup-websocket.c:503 libsoup/soup-websocket.c:1024
+#, c-format
+msgid "Server returned incorrect “%s” key"
+msgstr "کارساز، کلید %s نادرست را برگرداند"
+
+#: libsoup/soup-websocket.c:566
+#, c-format
+msgid "Duplicated parameter in “%s” WebSocket extension header"
+msgstr "پارامتر تکراری در سرایند افزونهٔ سوکت وب %s"
+
+#: libsoup/soup-websocket.c:567
+#, c-format
+msgid "Server returned a duplicated parameter in “%s” WebSocket extension header"
+msgstr "کارساز، یک پارامتر تکراری در سرایند افزونهٔ سوکت وب %s برگرداند"
+
+#: libsoup/soup-websocket.c:658 libsoup/soup-websocket.c:667
+msgid "WebSocket handshake expected"
+msgstr "انتظار دست‌دادن سوکت وب می‌رفت"
+
+#: libsoup/soup-websocket.c:675
+msgid "Unsupported WebSocket version"
+msgstr "نگارش پشتیبانی‌نشدهٔ سوکت وب"
+
+#: libsoup/soup-websocket.c:684
+msgid "Invalid WebSocket key"
+msgstr "کلید نامعتبر سوکت وب"
+
+#: libsoup/soup-websocket.c:703
+msgid "Unsupported WebSocket subprotocol"
+msgstr "زیرقرارداد پیشیبانی‌نشدهٔ سوکت وب"
+
+#: libsoup/soup-websocket.c:975
+msgid "Server rejected WebSocket handshake"
+msgstr "کارساز، دست دادن سوکت وب را رد کرد"
+
+#: libsoup/soup-websocket.c:983 libsoup/soup-websocket.c:992
+msgid "Server ignored WebSocket handshake"
+msgstr "کارساز، دست دادن سوکت وب را نادیده گرفت"
+
+#: libsoup/soup-websocket.c:1004
+msgid "Server requested unsupported protocol"
+msgstr "کارساز، قرارداد پیشیبانی‌نشده درخواست کرد"
+
+#: libsoup/soup-tld.c:150
+msgid "No public-suffix list available."
+msgstr "هیچ فهرست پسوند عمومی‌ای موجود نیست."
+
+#: libsoup/soup-tld.c:160 libsoup/soup-tld.c:176
msgid "Invalid hostname"
-msgstr "نام‌میزبان نامعتبر"
+msgstr "نام میزبان نامعتبر"
+
+#: libsoup/soup-tld.c:167
+msgid "Hostname is an IP address"
+msgstr "نام میزبان یک نشانی آی‌پی است"
-#: ../libsoup/soup-tld.c:235
+#: libsoup/soup-tld.c:188
msgid "Hostname has no base domain"
-msgstr "نام‌میزبان دامنه‌ی پایه ندارد"
+msgstr "نام میزبان دامنهٔ پایه ندارد"
-#: ../libsoup/soup-tld.c:257
+#: libsoup/soup-tld.c:196
msgid "Not enough domains"
-msgstr "دامنه‌های کافی موجود نیست"
+msgstr "دامنه‌های کافی وجود ندارد"
diff --git a/po/fi.po b/po/fi.po
index 1ec71822..06cd567d 100644
--- a/po/fi.po
+++ b/po/fi.po
@@ -7,16 +7,16 @@ msgid ""
msgstr ""
"Project-Id-Version: libsoup master\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/libsoup/issues\n"
-"POT-Creation-Date: 2019-08-22 08:47+0000\n"
-"PO-Revision-Date: 2019-08-22 19:44+0300\n"
+"POT-Creation-Date: 2020-07-12 16:30+0000\n"
+"PO-Revision-Date: 2020-08-30 13:38+0300\n"
+"Last-Translator: Jiri Grönroos <jiri.gronroos+l10n@iki.fi>\n"
"Language-Team: Finnish <lokalisointi-lista@googlegroups.com>\n"
"Language: fi\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"Last-Translator: Jiri Grönroos <jiri.gronroos+l10n@iki.fi>\n"
-"X-Generator: Poedit 2.0.6\n"
+"X-Generator: Poedit 2.4.1\n"
#: libsoup/soup-body-input-stream.c:139 libsoup/soup-body-input-stream.c:170
#: libsoup/soup-body-input-stream.c:203 libsoup/soup-message-io.c:236
@@ -39,6 +39,18 @@ msgstr ""
msgid "Failed to completely cache the resource"
msgstr ""
+#: libsoup/soup-directory-input-stream.c:231
+msgid "Name"
+msgstr "Nimi"
+
+#: libsoup/soup-directory-input-stream.c:232
+msgid "Size"
+msgstr "Koko"
+
+#: libsoup/soup-directory-input-stream.c:233
+msgid "Date Modified"
+msgstr "Muokkauspäivä"
+
#: libsoup/soup-converter-wrapper.c:189
#, c-format
msgid "Output buffer is too small"
@@ -50,7 +62,7 @@ msgstr "HTTP-vastausta ei voitu jäsentää"
#: libsoup/soup-message-client-io.c:62
msgid "Unrecognized HTTP response encoding"
-msgstr ""
+msgstr "Tunnistamaton HTTP-vastauksen merkistö"
#: libsoup/soup-message-io.c:261
msgid "Header too big"
@@ -62,7 +74,7 @@ msgstr ""
#: libsoup/soup-message-io.c:968 libsoup/soup-message-io.c:1001
msgid "Operation was cancelled"
-msgstr ""
+msgstr "Toimenpide peruttiin"
#: libsoup/soup-message-server-io.c:63
msgid "Could not parse HTTP request"
@@ -78,33 +90,33 @@ msgstr ""
msgid "Invalid “%s” URI: %s"
msgstr ""
-#: libsoup/soup-server.c:1797
+#: libsoup/soup-server.c:1810
msgid "Can’t create a TLS server without a TLS certificate"
msgstr "TLS-palvelinta ei voi luoda ilman TLS-varmennetta"
-#: libsoup/soup-server.c:1814
+#: libsoup/soup-server.c:1827
#, c-format
msgid "Could not listen on address %s, port %d: "
msgstr "Ei voitu kuunnella osoitteessa %s, portissa %d: "
-#: libsoup/soup-session.c:4543
+#: libsoup/soup-session.c:4583
#, c-format
msgid "Could not parse URI “%s”"
msgstr "URI:a “%s” ei voitu jäsentää"
-#: libsoup/soup-session.c:4580
+#: libsoup/soup-session.c:4620
#, c-format
msgid "Unsupported URI scheme “%s”"
msgstr "Ei-tuettu URI-skeema “%s”"
-#: libsoup/soup-session.c:4602
+#: libsoup/soup-session.c:4642
#, c-format
msgid "Not an HTTP URI"
msgstr "Ei HTTP URI"
-#: libsoup/soup-session.c:4813
+#: libsoup/soup-session.c:4853
msgid "The server did not accept the WebSocket handshake."
-msgstr ""
+msgstr "Palvelin ei hyväksynyt WebSocket-kättelyä."
#: libsoup/soup-socket.c:148
msgid "Can’t import non-socket as SoupSocket"
@@ -121,7 +133,7 @@ msgstr ""
#: libsoup/soup-websocket.c:479 libsoup/soup-websocket.c:523
#: libsoup/soup-websocket.c:539
msgid "Server requested unsupported extension"
-msgstr ""
+msgstr "Palvelin pyysi ei-tuettua laajennusta"
#: libsoup/soup-websocket.c:502 libsoup/soup-websocket.c:694
#, c-format
@@ -131,7 +143,7 @@ msgstr "Virheellinen WebSocket “%s” -otsake"
#: libsoup/soup-websocket.c:503 libsoup/soup-websocket.c:1024
#, c-format
msgid "Server returned incorrect “%s” key"
-msgstr ""
+msgstr "Palvelin palautti virheellisen “%s”-avaimen"
#: libsoup/soup-websocket.c:566
#, c-format
@@ -157,19 +169,19 @@ msgstr "Virheellinen WebSocket-avain"
#: libsoup/soup-websocket.c:703
msgid "Unsupported WebSocket subprotocol"
-msgstr ""
+msgstr "Ei-tuettu WebSocket-aliprotokolla"
#: libsoup/soup-websocket.c:975
msgid "Server rejected WebSocket handshake"
-msgstr ""
+msgstr "Palvelin hylkäsi WebSocket-kättelyn"
#: libsoup/soup-websocket.c:983 libsoup/soup-websocket.c:992
msgid "Server ignored WebSocket handshake"
-msgstr ""
+msgstr "Palvelin jätti huomiotta WebSocket-kättelyn"
#: libsoup/soup-websocket.c:1004
msgid "Server requested unsupported protocol"
-msgstr ""
+msgstr "Palvelin pyysi ei-tuettua protokollaa"
#: libsoup/soup-tld.c:150
msgid "No public-suffix list available."
diff --git a/po/fr.po b/po/fr.po
index cf64323a..095f87ed 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -5,22 +5,22 @@
# Pierre Henry <pierrehenry73@yahoo.fr>, 2012.
# Alain Lojewski <allomervan@gmail.com>, 2012.
# Mickael Albertus <mickael.albertus@gmail.com>, 2012.
-# Charles Monzat <charles.monzat@numericable.fr>, 2018.
+# Charles Monzat <charles.monzat@free.fr>, 2018-2020.
#
msgid ""
msgstr ""
"Project-Id-Version: libsoup master\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/libsoup/issues\n"
-"POT-Creation-Date: 2019-07-31 12:10+0000\n"
-"PO-Revision-Date: 2019-08-02 09:33+0200\n"
-"Last-Translator: Charles Monzat <charles.monzat@numericable.fr>\n"
-"Language-Team: français <gnomefr@traduc.org>\n"
+"POT-Creation-Date: 2020-06-26 17:08+0000\n"
+"PO-Revision-Date: 2020-07-02 12:28+0200\n"
+"Last-Translator: Charles Monzat <charles.monzat@free.fr>\n"
+"Language-Team: GNOME French Team <gnomefr@traduc.org>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
-"X-Generator: Gtranslator 3.30.0\n"
+"X-Generator: Gtranslator 3.36.0\n"
#: libsoup/soup-body-input-stream.c:139 libsoup/soup-body-input-stream.c:170
#: libsoup/soup-body-input-stream.c:203 libsoup/soup-message-io.c:236
@@ -43,6 +43,18 @@ msgstr "Le flux réseau s’est arrêté inopinément"
msgid "Failed to completely cache the resource"
msgstr "Impossible de mettre la ressource totalement en cache"
+#: libsoup/soup-directory-input-stream.c:231
+msgid "Name"
+msgstr "Nom"
+
+#: libsoup/soup-directory-input-stream.c:232
+msgid "Size"
+msgstr "Taille"
+
+#: libsoup/soup-directory-input-stream.c:233
+msgid "Date Modified"
+msgstr "Date de modification"
+
#: libsoup/soup-converter-wrapper.c:189
#, c-format
msgid "Output buffer is too small"
@@ -82,31 +94,31 @@ msgstr "Aucun URI fourni"
msgid "Invalid “%s” URI: %s"
msgstr "URI « %s » non valide : %s"
-#: libsoup/soup-server.c:1797
+#: libsoup/soup-server.c:1810
msgid "Can’t create a TLS server without a TLS certificate"
msgstr "Impossible de créer un serveur TLS sans un certificat TLS"
-#: libsoup/soup-server.c:1814
+#: libsoup/soup-server.c:1827
#, c-format
msgid "Could not listen on address %s, port %d: "
msgstr "Impossible d’écouter l’adresse %s sur le port %d : "
-#: libsoup/soup-session.c:4535
+#: libsoup/soup-session.c:4570
#, c-format
msgid "Could not parse URI “%s”"
msgstr "Impossible d’analyser l’URI « %s »"
-#: libsoup/soup-session.c:4572
+#: libsoup/soup-session.c:4607
#, c-format
msgid "Unsupported URI scheme “%s”"
msgstr "Le schéma d’URI « %s » n’est pas pris en charge"
-#: libsoup/soup-session.c:4594
+#: libsoup/soup-session.c:4629
#, c-format
msgid "Not an HTTP URI"
msgstr "Ce n’est pas un URI HTTP"
-#: libsoup/soup-session.c:4805
+#: libsoup/soup-session.c:4840
msgid "The server did not accept the WebSocket handshake."
msgstr "Le serveur n’a pas accepté la négociation WebSocket."
diff --git a/po/fur.po b/po/fur.po
index 8eaaa23f..e1527f1d 100644
--- a/po/fur.po
+++ b/po/fur.po
@@ -7,15 +7,15 @@ msgid ""
msgstr ""
"Project-Id-Version: libsoup gnome-3-6\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/libsoup/issues\n"
-"POT-Creation-Date: 2019-07-31 12:10+0000\n"
-"PO-Revision-Date: 2019-09-03 09:55+0200\n"
+"POT-Creation-Date: 2020-06-26 17:08+0000\n"
+"PO-Revision-Date: 2020-07-12 18:29+0200\n"
"Last-Translator: Fabio Tomat <f.t.public@gmail.com>\n"
"Language-Team: Friulian <fur@li.org>\n"
"Language: fur\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: Poedit 2.2.3\n"
+"X-Generator: Poedit 2.3.1\n"
#: libsoup/soup-body-input-stream.c:139 libsoup/soup-body-input-stream.c:170
#: libsoup/soup-body-input-stream.c:203 libsoup/soup-message-io.c:236
@@ -38,6 +38,18 @@ msgstr "Flus di rêt sierât a colp"
msgid "Failed to completely cache the resource"
msgstr "Salvament in memorie de risorse falît"
+#: libsoup/soup-directory-input-stream.c:231
+msgid "Name"
+msgstr "Non"
+
+#: libsoup/soup-directory-input-stream.c:232
+msgid "Size"
+msgstr "Dimension"
+
+#: libsoup/soup-directory-input-stream.c:233
+msgid "Date Modified"
+msgstr "Date di modifiche"
+
#: libsoup/soup-converter-wrapper.c:189
#, c-format
msgid "Output buffer is too small"
@@ -77,33 +89,33 @@ msgstr "No'l è stât furnît un URI"
msgid "Invalid “%s” URI: %s"
msgstr "URI “%s”no valit: %s"
-#: libsoup/soup-server.c:1797
+#: libsoup/soup-server.c:1810
msgid "Can’t create a TLS server without a TLS certificate"
msgstr "Impussibil creâ un servidôr TLS cence un certificât TLS"
-#: libsoup/soup-server.c:1814
+#: libsoup/soup-server.c:1827
#, c-format
msgid "Could not listen on address %s, port %d: "
msgstr "Impussibil scoltâ te direzion %s, puarte %d: "
-#: libsoup/soup-session.c:4535
+#: libsoup/soup-session.c:4570
#, c-format
msgid "Could not parse URI “%s”"
msgstr "No puès analizâ il URI “%s”"
-#: libsoup/soup-session.c:4572
+#: libsoup/soup-session.c:4607
#, c-format
msgid "Unsupported URI scheme “%s”"
msgstr "Scheme URI “%s” no supuartât"
-#: libsoup/soup-session.c:4594
+#: libsoup/soup-session.c:4629
#, c-format
msgid "Not an HTTP URI"
msgstr "No un URI HTTP"
-#: libsoup/soup-session.c:4805
+#: libsoup/soup-session.c:4840
msgid "The server did not accept the WebSocket handshake."
-msgstr "Il servidôr nol acete il handshake WebSocket"
+msgstr "Il servidôr nol acete il handshake WebSocket."
#: libsoup/soup-socket.c:148
msgid "Can’t import non-socket as SoupSocket"
@@ -139,8 +151,11 @@ msgstr "Parametri dopleât inte intestazion de estension dal WebSocket di “%s
#: libsoup/soup-websocket.c:567
#, c-format
-msgid "Server returned a duplicated parameter in “%s” WebSocket extension header"
-msgstr "Il servidôr al à tornât indaûr un parametri dopleât inte intestazion de estension dal WebSocket di “%s”"
+msgid ""
+"Server returned a duplicated parameter in “%s” WebSocket extension header"
+msgstr ""
+"Il servidôr al à tornât indaûr un parametri dopleât inte intestazion de "
+"estension dal WebSocket di “%s”"
#: libsoup/soup-websocket.c:658 libsoup/soup-websocket.c:667
msgid "WebSocket handshake expected"
diff --git a/po/gl.po b/po/gl.po
index 3fe88e39..53ee870c 100644
--- a/po/gl.po
+++ b/po/gl.po
@@ -1,21 +1,22 @@
# Galician translation for libsoup.
# Copyright (C) 2012 libsoup's COPYRIGHT HOLDER
# This file is distributed under the same license as the libsoup package.
-# Fran Dieguez <frandieguez@gnome.org>, 2012, 2013, 2014, 2015, 2017, 2018.
+# Fran Dieguez <frandieguez@gnome.org>, 2012-2020.
+#
msgid ""
msgstr ""
"Project-Id-Version: libsoup master\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/libsoup/issues\n"
-"POT-Creation-Date: 2019-07-31 12:10+0000\n"
-"PO-Revision-Date: 2019-08-25 18:09+0200\n"
+"POT-Creation-Date: 2020-06-26 17:08+0000\n"
+"PO-Revision-Date: 2020-08-13 01:13+0200\n"
"Last-Translator: Fran Dieguez <frandieguez@gnome.org>\n"
-"Language-Team: Proxecto Trasno <proxecto@trasno.gal>\n"
+"Language-Team: Galician <proxecto@trasno.gal>\n"
"Language: gl\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Poedit 2.2.1\n"
+"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"X-Generator: Gtranslator 3.36.0\n"
"X-Project-Style: gnome\n"
#: libsoup/soup-body-input-stream.c:139 libsoup/soup-body-input-stream.c:170
@@ -39,6 +40,18 @@ msgstr "Fluxo de rede pechado de forma non esperada"
msgid "Failed to completely cache the resource"
msgstr "Produciuse un fallo ao cachear completamente o recurso"
+#: libsoup/soup-directory-input-stream.c:231
+msgid "Name"
+msgstr "Nome"
+
+#: libsoup/soup-directory-input-stream.c:232
+msgid "Size"
+msgstr "Tamaño"
+
+#: libsoup/soup-directory-input-stream.c:233
+msgid "Date Modified"
+msgstr "Data de modificación"
+
#: libsoup/soup-converter-wrapper.c:189
#, c-format
msgid "Output buffer is too small"
@@ -78,31 +91,31 @@ msgstr "Non se forneceu un URI"
msgid "Invalid “%s” URI: %s"
msgstr "URI «%s» non válida: %s"
-#: libsoup/soup-server.c:1797
+#: libsoup/soup-server.c:1810
msgid "Can’t create a TLS server without a TLS certificate"
msgstr "Non é posíbel crear un servidor TLS sen un certificado TLS"
-#: libsoup/soup-server.c:1814
+#: libsoup/soup-server.c:1827
#, c-format
msgid "Could not listen on address %s, port %d: "
msgstr "Non é posíbel escoitar no enderezo %s, porto %d: "
-#: libsoup/soup-session.c:4535
+#: libsoup/soup-session.c:4570
#, c-format
msgid "Could not parse URI “%s”"
msgstr "Non é posíbel analizar o URI «%s»"
-#: libsoup/soup-session.c:4572
+#: libsoup/soup-session.c:4607
#, c-format
msgid "Unsupported URI scheme “%s”"
msgstr "Esquema de URI «%s» non admitido"
-#: libsoup/soup-session.c:4594
+#: libsoup/soup-session.c:4629
#, c-format
msgid "Not an HTTP URI"
msgstr "Non é unha URI de HTTP"
-#: libsoup/soup-session.c:4805
+#: libsoup/soup-session.c:4840
msgid "The server did not accept the WebSocket handshake."
msgstr "O servidor non acepta un saúdo WebSocket."
@@ -140,8 +153,11 @@ msgstr "Parámetro duplicado «%s» na cabeceira da extensión de WebSocket"
#: libsoup/soup-websocket.c:567
#, c-format
-msgid "Server returned a duplicated parameter in “%s” WebSocket extension header"
-msgstr "O servidor devolveu un parámetro duplicado «%s» na cabeceira da extensión do WebSocket"
+msgid ""
+"Server returned a duplicated parameter in “%s” WebSocket extension header"
+msgstr ""
+"O servidor devolveu un parámetro duplicado «%s» na cabeceira da extensión do "
+"WebSocket"
#: libsoup/soup-websocket.c:658 libsoup/soup-websocket.c:667
msgid "WebSocket handshake expected"
diff --git a/po/hr.po b/po/hr.po
index b289896b..06b2a8a8 100644
--- a/po/hr.po
+++ b/po/hr.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: libsoup2.4\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/libsoup/issues\n"
-"POT-Creation-Date: 2019-07-31 12:10+0000\n"
-"PO-Revision-Date: 2019-09-03 17:55+0200\n"
+"POT-Creation-Date: 2020-06-26 17:08+0000\n"
+"PO-Revision-Date: 2020-08-23 13:21+0200\n"
"Last-Translator: gogo <linux.hr@protonmail.com>\n"
"Language-Team: Croatian <hr@li.org>\n"
"Language: hr\n"
@@ -16,7 +16,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2018-03-17 18:28+0000\n"
-"X-Generator: Poedit 2.2.1\n"
+"X-Generator: Poedit 2.4.1\n"
#: libsoup/soup-body-input-stream.c:139 libsoup/soup-body-input-stream.c:170
#: libsoup/soup-body-input-stream.c:203 libsoup/soup-message-io.c:236
@@ -39,6 +39,18 @@ msgstr "Mrežno strujanje je neočekivano zatvoreno"
msgid "Failed to completely cache the resource"
msgstr "Neuspjelo potpuno međuspremanje resursa"
+#: libsoup/soup-directory-input-stream.c:231
+msgid "Name"
+msgstr "Naziv"
+
+#: libsoup/soup-directory-input-stream.c:232
+msgid "Size"
+msgstr "Veličina"
+
+#: libsoup/soup-directory-input-stream.c:233
+msgid "Date Modified"
+msgstr "Datum promjene"
+
#: libsoup/soup-converter-wrapper.c:189
#, c-format
msgid "Output buffer is too small"
@@ -78,31 +90,31 @@ msgstr "Nema pruženog URI-ja"
msgid "Invalid “%s” URI: %s"
msgstr "Neispravno “%s” URI: %s"
-#: libsoup/soup-server.c:1797
+#: libsoup/soup-server.c:1810
msgid "Can’t create a TLS server without a TLS certificate"
msgstr "Nemoguće stvaranje TLS poslužitelja bez TLS vjerodajnice"
-#: libsoup/soup-server.c:1814
+#: libsoup/soup-server.c:1827
#, c-format
msgid "Could not listen on address %s, port %d: "
msgstr "Nemoguće osluškivanje adrese %s, ulaz %d: "
-#: libsoup/soup-session.c:4535
+#: libsoup/soup-session.c:4570
#, c-format
msgid "Could not parse URI “%s”"
msgstr "Nemoguća obrada URI-ja “%s”"
-#: libsoup/soup-session.c:4572
+#: libsoup/soup-session.c:4607
#, c-format
msgid "Unsupported URI scheme “%s”"
msgstr "Nepodržana URI shema “%s”"
-#: libsoup/soup-session.c:4594
+#: libsoup/soup-session.c:4629
#, c-format
msgid "Not an HTTP URI"
msgstr "Nije HTTP URI"
-#: libsoup/soup-session.c:4805
+#: libsoup/soup-session.c:4840
msgid "The server did not accept the WebSocket handshake."
msgstr "Poslužitelj ne prihvaća WebSocket rukovanje."
@@ -140,8 +152,11 @@ msgstr "Udvostručeni parametar u %s” WebSocket zaglavlju proširenja"
#: libsoup/soup-websocket.c:567
#, c-format
-msgid "Server returned a duplicated parameter in “%s” WebSocket extension header"
-msgstr "Poslužitelj je vratio udvostručeni parametar u “%s” WebSocket zaglavlju proširenja"
+msgid ""
+"Server returned a duplicated parameter in “%s” WebSocket extension header"
+msgstr ""
+"Poslužitelj je vratio udvostručeni parametar u “%s” WebSocket zaglavlju "
+"proširenja"
#: libsoup/soup-websocket.c:658 libsoup/soup-websocket.c:667
msgid "WebSocket handshake expected"
diff --git a/po/hu.po b/po/hu.po
index c86eeebc..8f623c77 100644
--- a/po/hu.po
+++ b/po/hu.po
@@ -8,16 +8,16 @@ msgid ""
msgstr ""
"Project-Id-Version: libsoup master\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/libsoup/issues\n"
-"POT-Creation-Date: 2019-07-31 12:10+0000\n"
-"PO-Revision-Date: 2019-08-24 22:31+0200\n"
-"Last-Translator: Balázs Úr <ur.balazs at fsf dot hu>\n"
+"POT-Creation-Date: 2020-06-26 17:08+0000\n"
+"PO-Revision-Date: 2020-09-05 19:37+0200\n"
+"Last-Translator: Meskó Balázs <mesko.balazs@fsf.hu>\n"
"Language-Team: Hungarian <gnome-hu-list at gnome dot org>\n"
"Language: hu\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Lokalize 18.12.3\n"
+"X-Generator: Poedit 2.4.1\n"
#: libsoup/soup-body-input-stream.c:139 libsoup/soup-body-input-stream.c:170
#: libsoup/soup-body-input-stream.c:203 libsoup/soup-message-io.c:236
@@ -40,6 +40,18 @@ msgstr "Az hálózati adatfolyam váratlanul lezárult"
msgid "Failed to completely cache the resource"
msgstr "Nem sikerült teljesen gyorsítótárazni az erőforrást"
+#: libsoup/soup-directory-input-stream.c:231
+msgid "Name"
+msgstr "Név"
+
+#: libsoup/soup-directory-input-stream.c:232
+msgid "Size"
+msgstr "Méret"
+
+#: libsoup/soup-directory-input-stream.c:233
+msgid "Date Modified"
+msgstr "Módosítás dátuma"
+
#: libsoup/soup-converter-wrapper.c:189
#, c-format
msgid "Output buffer is too small"
@@ -79,31 +91,31 @@ msgstr "Nincs megadva URI"
msgid "Invalid “%s” URI: %s"
msgstr "Érvénytelen „%s” URI: „%s”"
-#: libsoup/soup-server.c:1797
+#: libsoup/soup-server.c:1810
msgid "Can’t create a TLS server without a TLS certificate"
msgstr "Nem lehet TLS kiszolgálót létrehozni TLS tanúsítvány nélkül"
-#: libsoup/soup-server.c:1814
+#: libsoup/soup-server.c:1827
#, c-format
msgid "Could not listen on address %s, port %d: "
msgstr "Nem sikerült figyelni a(z) %s címen a(z) %d. porton: "
-#: libsoup/soup-session.c:4535
+#: libsoup/soup-session.c:4570
#, c-format
msgid "Could not parse URI “%s”"
msgstr "Nem dolgozható fel a(z) „%s” URI"
-#: libsoup/soup-session.c:4572
+#: libsoup/soup-session.c:4607
#, c-format
msgid "Unsupported URI scheme “%s”"
msgstr "Nem támogatott URI séma: „%s”"
-#: libsoup/soup-session.c:4594
+#: libsoup/soup-session.c:4629
#, c-format
msgid "Not an HTTP URI"
msgstr "Ez nem HTTP URI"
-#: libsoup/soup-session.c:4805
+#: libsoup/soup-session.c:4840
msgid "The server did not accept the WebSocket handshake."
msgstr "A kiszolgáló nem fogadta el a WebSocket kézfogást."
diff --git a/po/id.po b/po/id.po
index 3f2123d2..69ede182 100644
--- a/po/id.po
+++ b/po/id.po
@@ -9,15 +9,15 @@ msgid ""
msgstr ""
"Project-Id-Version: libsoup master\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/libsoup/issues\n"
-"POT-Creation-Date: 2019-07-31 12:10+0000\n"
-"PO-Revision-Date: 2019-08-12 17:39+0700\n"
+"POT-Creation-Date: 2020-06-26 17:08+0000\n"
+"PO-Revision-Date: 2020-07-19 10:56+0700\n"
"Last-Translator: Kukuh Syafaat <kukuhsyafaat@gnome.org>\n"
"Language-Team: Indonesian <gnome@i15n.org>\n"
"Language: id\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: Poedit 2.2.3\n"
+"X-Generator: Poedit 2.3.1\n"
"Plural-Forms: nplurals=1; plural=0;\n"
#: libsoup/soup-body-input-stream.c:139 libsoup/soup-body-input-stream.c:170
@@ -41,6 +41,18 @@ msgstr "Lalu lintas jaringan putus tak terduga"
msgid "Failed to completely cache the resource"
msgstr "Gagal melengkapi tembolok sumber"
+#: libsoup/soup-directory-input-stream.c:231
+msgid "Name"
+msgstr "Nama"
+
+#: libsoup/soup-directory-input-stream.c:232
+msgid "Size"
+msgstr "Ukuran"
+
+#: libsoup/soup-directory-input-stream.c:233
+msgid "Date Modified"
+msgstr "Tanggal Diubah"
+
#: libsoup/soup-converter-wrapper.c:189
#, c-format
msgid "Output buffer is too small"
@@ -80,31 +92,31 @@ msgstr "URI tak diberikan"
msgid "Invalid “%s” URI: %s"
msgstr "URI \"%s\" tak valid: %s"
-#: libsoup/soup-server.c:1797
+#: libsoup/soup-server.c:1810
msgid "Can’t create a TLS server without a TLS certificate"
msgstr "Tak bisa membuat sebuah peladen TLS tanpa suatu sertifikat TLS"
-#: libsoup/soup-server.c:1814
+#: libsoup/soup-server.c:1827
#, c-format
msgid "Could not listen on address %s, port %d: "
msgstr "Tak bisa mendengar pada alamat %s, port %d: "
-#: libsoup/soup-session.c:4535
+#: libsoup/soup-session.c:4570
#, c-format
msgid "Could not parse URI “%s”"
msgstr "Tak bisa mengurai URI \"%s\""
-#: libsoup/soup-session.c:4572
+#: libsoup/soup-session.c:4607
#, c-format
msgid "Unsupported URI scheme “%s”"
msgstr "Skema URI \"%s\" tak didukung"
-#: libsoup/soup-session.c:4594
+#: libsoup/soup-session.c:4629
#, c-format
msgid "Not an HTTP URI"
msgstr "Bukan URI HTTP"
-#: libsoup/soup-session.c:4805
+#: libsoup/soup-session.c:4840
msgid "The server did not accept the WebSocket handshake."
msgstr "Peladen tak menerima jabat tangan WebSocket."
diff --git a/po/it.po b/po/it.po
index fbba7b7e..32c4465b 100644
--- a/po/it.po
+++ b/po/it.po
@@ -1,14 +1,14 @@
# Italian translations for libsoup package
-# Copyright (C) 2012, 2013, 2014, 2015, 2017, 2018, 2019 the Free Software Foundation, Inc.
+# Copyright (C) 2012, 2013, 2014, 2015, 2017, 2018, 2019, 2020 the Free Software Foundation, Inc.
# This file is distributed under the same license as the libsoup package.
-# Milo Casagrande <milo@milo.name>, 2012, 2013, 2014, 2015, 2017, 2018, 2019.
+# Milo Casagrande <milo@milo.name>, 2012, 2013, 2014, 2015, 2017, 2018, 2019, 2020.
#
msgid ""
msgstr ""
"Project-Id-Version: libsoup\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/libsoup/issues\n"
-"POT-Creation-Date: 2019-07-31 12:10+0000\n"
-"PO-Revision-Date: 2019-08-20 10:42+0200\n"
+"POT-Creation-Date: 2020-06-26 17:08+0000\n"
+"PO-Revision-Date: 2020-09-02 10:46+0200\n"
"Last-Translator: Milo Casagrande <milo@milo.name>\n"
"Language-Team: Italian <tp@lists.linux.it>\n"
"Language: it\n"
@@ -16,7 +16,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n!=1);\n"
-"X-Generator: Poedit 2.2.3\n"
+"X-Generator: Poedit 2.4.1\n"
#: libsoup/soup-body-input-stream.c:139 libsoup/soup-body-input-stream.c:170
#: libsoup/soup-body-input-stream.c:203 libsoup/soup-message-io.c:236
@@ -39,6 +39,18 @@ msgstr "Flusso di rete chiuso inaspettatamente"
msgid "Failed to completely cache the resource"
msgstr "Salvataggio in memoria della risorsa non riuscito"
+#: libsoup/soup-directory-input-stream.c:231
+msgid "Name"
+msgstr "Nome"
+
+#: libsoup/soup-directory-input-stream.c:232
+msgid "Size"
+msgstr "Dimensione"
+
+#: libsoup/soup-directory-input-stream.c:233
+msgid "Date Modified"
+msgstr "Data di modifica"
+
#: libsoup/soup-converter-wrapper.c:189
#, c-format
msgid "Output buffer is too small"
@@ -78,31 +90,31 @@ msgstr "Nessun URI fornito"
msgid "Invalid “%s” URI: %s"
msgstr "URI «%s» non valido: %s"
-#: libsoup/soup-server.c:1797
+#: libsoup/soup-server.c:1810
msgid "Can’t create a TLS server without a TLS certificate"
msgstr "Impossibile creare un server TLS senza un certificato TLS"
-#: libsoup/soup-server.c:1814
+#: libsoup/soup-server.c:1827
#, c-format
msgid "Could not listen on address %s, port %d: "
msgstr "Impossibile restare in ascolto sull'indirizzo %s, porta %d: "
-#: libsoup/soup-session.c:4535
+#: libsoup/soup-session.c:4570
#, c-format
msgid "Could not parse URI “%s”"
msgstr "Impossibile analizzare l'URI «%s»"
-#: libsoup/soup-session.c:4572
+#: libsoup/soup-session.c:4607
#, c-format
msgid "Unsupported URI scheme “%s”"
msgstr "Schema URI «%s» non supportato"
-#: libsoup/soup-session.c:4594
+#: libsoup/soup-session.c:4629
#, c-format
msgid "Not an HTTP URI"
msgstr "Non è uno URI HTTP"
-#: libsoup/soup-session.c:4805
+#: libsoup/soup-session.c:4840
msgid "The server did not accept the WebSocket handshake."
msgstr "Il server non ha accettato l'handshake WebSocket."
diff --git a/po/ja.po b/po/ja.po
index 795fa84a..ba6eb072 100644
--- a/po/ja.po
+++ b/po/ja.po
@@ -1,81 +1,209 @@
# libsoup ja.po
-# Copyright (C) 2012 libsoup's COPYRIGHT HOLDER
+# Copyright (C) 2012, 2020 libsoup's COPYRIGHT HOLDER
# This file is distributed under the same license as the libsoup package.
# Takayuki KUSANO <AE5T-KSN@asahi-net.or.jp>, 2012.
+# sicklylife <translation@sicklylife.jp>, 2020.
#
msgid ""
msgstr ""
"Project-Id-Version: libsoup master\n"
-"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=libsoup&keywords=I18N+L10N&component=general\n"
-"POT-Creation-Date: 2012-11-02 19:31+0000\n"
-"PO-Revision-Date: 2012-10-12 13:30+0900\n"
-"Last-Translator: Takayuki KUSANO <AE5T-KSN@asahi-net.or.jp>\n"
+"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/libsoup/issues\n"
+"POT-Creation-Date: 2020-06-26 17:08+0000\n"
+"PO-Revision-Date: 2020-08-20 20:14+0900\n"
+"Last-Translator: sicklylife <translation@sicklylife.jp>\n"
"Language-Team: Japanese <gnome-translation@gnome.gr.jp>\n"
"Language: ja\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-#: ../libsoup/soup-body-input-stream.c:141
-#: ../libsoup/soup-body-input-stream.c:172
-#: ../libsoup/soup-body-input-stream.c:205 ../libsoup/soup-message-io.c:191
+#: libsoup/soup-body-input-stream.c:139 libsoup/soup-body-input-stream.c:170
+#: libsoup/soup-body-input-stream.c:203 libsoup/soup-message-io.c:236
msgid "Connection terminated unexpectedly"
msgstr "接続が突然切断されました"
-#: ../libsoup/soup-body-input-stream.c:461
+#: libsoup/soup-body-input-stream.c:459
msgid "Invalid seek request"
-msgstr "無効な seek 要求"
+msgstr "無効なシーク要求です"
-#: ../libsoup/soup-body-input-stream.c:489
+#: libsoup/soup-body-input-stream.c:487
msgid "Cannot truncate SoupBodyInputStream"
-msgstr "SoupBodyInputStream は truncate できません"
+msgstr "SoupBodyInputStream を切り詰めることはできません"
-#: ../libsoup/soup-converter-wrapper.c:192
+#: libsoup/soup-cache-input-stream.c:76
+msgid "Network stream unexpectedly closed"
+msgstr "ネットワークストリームが突然閉じられました"
+
+#: libsoup/soup-cache-input-stream.c:291
+msgid "Failed to completely cache the resource"
+msgstr "リソースを完全にキャッシュできませんでした"
+
+#: libsoup/soup-directory-input-stream.c:231
+msgid "Name"
+msgstr "名前"
+
+#: libsoup/soup-directory-input-stream.c:232
+msgid "Size"
+msgstr "サイズ"
+
+#: libsoup/soup-directory-input-stream.c:233
+msgid "Date Modified"
+msgstr "変更日"
+
+#: libsoup/soup-converter-wrapper.c:189
#, c-format
msgid "Output buffer is too small"
msgstr "出力バッファーが小さすぎます"
-#: ../libsoup/soup-message-io.c:846 ../libsoup/soup-message-io.c:882
-msgid "Operation was cancelled"
-msgstr "動作が中止されました"
+#: libsoup/soup-message-client-io.c:39
+msgid "Could not parse HTTP response"
+msgstr "HTTP レスポンスを解析できませんでした"
+
+#: libsoup/soup-message-client-io.c:62
+msgid "Unrecognized HTTP response encoding"
+msgstr "認識できない HTTP レスポンスのエンコーディングです"
+
+#: libsoup/soup-message-io.c:261
+msgid "Header too big"
+msgstr "ヘッダーが大きすぎます"
-#: ../libsoup/soup-message-io.c:893
+#: libsoup/soup-message-io.c:393 libsoup/soup-message-io.c:1016
msgid "Operation would block"
msgstr "動作はブロックします"
-#: ../libsoup/soup-request.c:142
+#: libsoup/soup-message-io.c:968 libsoup/soup-message-io.c:1001
+msgid "Operation was cancelled"
+msgstr "動作が中止されました"
+
+#: libsoup/soup-message-server-io.c:63
+msgid "Could not parse HTTP request"
+msgstr "HTTP リクエストを解析できませんでした"
+
+#: libsoup/soup-request.c:141
#, c-format
msgid "No URI provided"
msgstr "URI が与えられていません"
-#: ../libsoup/soup-request.c:152
+#: libsoup/soup-request.c:151
#, c-format
-msgid "Invalid '%s' URI: %s"
-msgstr "不正なスキーム '%s' の URI: %s"
+msgid "Invalid “%s” URI: %s"
+msgstr "不正なスキーム“%s”の URI: %s"
+
+#: libsoup/soup-server.c:1810
+msgid "Can’t create a TLS server without a TLS certificate"
+msgstr "TLS 証明書なしで TLS サーバーを作成することはできません"
-#: ../libsoup/soup-requester.c:219
+#: libsoup/soup-server.c:1827
#, c-format
-msgid "Could not parse URI '%s'"
-msgstr "URI '%s' をパースできませんでした"
+msgid "Could not listen on address %s, port %d: "
+msgstr "アドレス %s ポート %d で待ち受けできませんでした: "
-#: ../libsoup/soup-requester.c:253
+#: libsoup/soup-session.c:4570
#, c-format
-msgid "Unsupported URI scheme '%s'"
-msgstr "サポートされていない URI のスキーム '%s'"
+msgid "Could not parse URI “%s”"
+msgstr "URI “%s”を解析できませんでした"
-#: ../libsoup/soup-tld.c:154
-msgid "Hostname is an IP address"
-msgstr "ホスト名が IP アドレスです"
+#: libsoup/soup-session.c:4607
+#, c-format
+msgid "Unsupported URI scheme “%s”"
+msgstr "URI のスキーム“%s”はサポートしていません"
+
+#: libsoup/soup-session.c:4629
+#, c-format
+msgid "Not an HTTP URI"
+msgstr "HTTP の URI ではありません"
+
+#: libsoup/soup-session.c:4840
+msgid "The server did not accept the WebSocket handshake."
+msgstr "サーバーが WebSocket ハンドシェイクを受け取りませんでした。"
+
+#: libsoup/soup-socket.c:148
+msgid "Can’t import non-socket as SoupSocket"
+msgstr ""
+"ソケットではないものを SoupSocket としてインポートすることはできません"
+
+#: libsoup/soup-socket.c:166
+msgid "Could not import existing socket: "
+msgstr "既存のソケットをインポートできませんでした: "
+
+#: libsoup/soup-socket.c:175
+msgid "Can’t import unconnected socket"
+msgstr "接続されていないソケットはインポートできません"
-#: ../libsoup/soup-tld.c:175
+#: libsoup/soup-websocket.c:479 libsoup/soup-websocket.c:523
+#: libsoup/soup-websocket.c:539
+msgid "Server requested unsupported extension"
+msgstr "サーバーがサポートしていない拡張機能を要求しました"
+
+#: libsoup/soup-websocket.c:502 libsoup/soup-websocket.c:694
+#, c-format
+msgid "Incorrect WebSocket “%s” header"
+msgstr "WebSocket “%s”のヘッダーが正しくありません"
+
+#: libsoup/soup-websocket.c:503 libsoup/soup-websocket.c:1024
+#, c-format
+msgid "Server returned incorrect “%s” key"
+msgstr "サーバーが正しくない“%s”のキーを返しました"
+
+#: libsoup/soup-websocket.c:566
+#, c-format
+msgid "Duplicated parameter in “%s” WebSocket extension header"
+msgstr ""
+"“%s” WebSocket 拡張機能のヘッダーに重複したパラメーターがあります"
+
+#: libsoup/soup-websocket.c:567
+#, c-format
+msgid ""
+"Server returned a duplicated parameter in “%s” WebSocket extension header"
+msgstr ""
+"サーバーが“%s” WebSocket 拡張機能ヘッダーの重複したパラメーターを返しまし"
+"た"
+
+#: libsoup/soup-websocket.c:658 libsoup/soup-websocket.c:667
+msgid "WebSocket handshake expected"
+msgstr "WebSocket ハンドシェイクではありません"
+
+#: libsoup/soup-websocket.c:675
+msgid "Unsupported WebSocket version"
+msgstr "サポートしていない WebSocket のバージョンです"
+
+#: libsoup/soup-websocket.c:684
+msgid "Invalid WebSocket key"
+msgstr "無効な WebSocket のキーです"
+
+#: libsoup/soup-websocket.c:703
+msgid "Unsupported WebSocket subprotocol"
+msgstr "サポートしていない WebSocket サブプロトコルです"
+
+#: libsoup/soup-websocket.c:975
+msgid "Server rejected WebSocket handshake"
+msgstr "サーバーが WebSocket ハンドシェイクを拒否しました"
+
+#: libsoup/soup-websocket.c:983 libsoup/soup-websocket.c:992
+msgid "Server ignored WebSocket handshake"
+msgstr "サーバーが WebSocket ハンドシェイクを無視しました"
+
+#: libsoup/soup-websocket.c:1004
+msgid "Server requested unsupported protocol"
+msgstr "サーバーがサポートしていないプロトコルを要求しました"
+
+#: libsoup/soup-tld.c:150
+msgid "No public-suffix list available."
+msgstr "Public Suffix List を利用できません。"
+
+#: libsoup/soup-tld.c:160 libsoup/soup-tld.c:176
msgid "Invalid hostname"
msgstr "不正なホスト名です"
-#: ../libsoup/soup-tld.c:204
+#: libsoup/soup-tld.c:167
+msgid "Hostname is an IP address"
+msgstr "ホスト名が IP アドレスです"
+
+#: libsoup/soup-tld.c:188
msgid "Hostname has no base domain"
msgstr "ホスト名にトップレベルドメインがありません"
# ソースコードと http://www.nic.ad.jp/ja/dom/system.html 参照
-#: ../libsoup/soup-tld.c:226
+#: libsoup/soup-tld.c:196
msgid "Not enough domains"
msgstr "ドメイン名が十分な数のラベルがありません"
diff --git a/po/ko.po b/po/ko.po
index 3ec8dcc1..7c4f658c 100644
--- a/po/ko.po
+++ b/po/ko.po
@@ -3,14 +3,14 @@
# This file is distributed under the same license as the libsoup package.
#
# eukim <eukim@redhat.com>, 2012.
-# Changwoo Ryu <cwryu@debian.org>, 2013-2015, 2017-2019.
+# Changwoo Ryu <cwryu@debian.org>, 2013-2015, 2017-2020.
#
msgid ""
msgstr ""
"Project-Id-Version: libsoup master\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/libsoup/issues\n"
-"POT-Creation-Date: 2019-07-31 12:10+0000\n"
-"PO-Revision-Date: 2019-08-26 19:57+0900\n"
+"POT-Creation-Date: 2020-06-26 17:08+0000\n"
+"PO-Revision-Date: 2020-08-31 00:39+0900\n"
"Last-Translator: Changwoo Ryu <cwryu@debian.org>\n"
"Language-Team: Korean <gnome-kr@googlegroups.com>\n"
"Language: ko\n"
@@ -41,6 +41,18 @@ msgstr "네트워크 스트림이 예상치 못하게 닫혔습니다"
msgid "Failed to completely cache the resource"
msgstr "리소스를 완전히 캐시에 저장하는데 실패했습니다"
+#: libsoup/soup-directory-input-stream.c:231
+msgid "Name"
+msgstr "이름"
+
+#: libsoup/soup-directory-input-stream.c:232
+msgid "Size"
+msgstr "크기"
+
+#: libsoup/soup-directory-input-stream.c:233
+msgid "Date Modified"
+msgstr "수정 시각"
+
#: libsoup/soup-converter-wrapper.c:189
#, c-format
msgid "Output buffer is too small"
@@ -80,31 +92,31 @@ msgstr "URI가 없습니다"
msgid "Invalid “%s” URI: %s"
msgstr "잘못된 “%s” URI: %s"
-#: libsoup/soup-server.c:1797
+#: libsoup/soup-server.c:1810
msgid "Can’t create a TLS server without a TLS certificate"
msgstr "TLS 인증서 없이 TLS 서버를 만들 수 없습니다"
-#: libsoup/soup-server.c:1814
+#: libsoup/soup-server.c:1827
#, c-format
msgid "Could not listen on address %s, port %d: "
msgstr "주소 %s, 포트 %d번에 연결을 받을 수 없습니다: "
-#: libsoup/soup-session.c:4535
+#: libsoup/soup-session.c:4570
#, c-format
msgid "Could not parse URI “%s”"
msgstr "“%s” URI를 구문 분석할 수 없습니다"
-#: libsoup/soup-session.c:4572
+#: libsoup/soup-session.c:4607
#, c-format
msgid "Unsupported URI scheme “%s”"
msgstr "“%s” URI 스킴을 지원하지 않습니다"
-#: libsoup/soup-session.c:4594
+#: libsoup/soup-session.c:4629
#, c-format
msgid "Not an HTTP URI"
msgstr "HTTP URI가 아닙니다"
-#: libsoup/soup-session.c:4805
+#: libsoup/soup-session.c:4840
msgid "The server did not accept the WebSocket handshake."
msgstr "서버에서 웹소켓 핸드셰이크를 받아들이지 않습니다."
diff --git a/po/lt.po b/po/lt.po
index 9d4b95de..6931f605 100644
--- a/po/lt.po
+++ b/po/lt.po
@@ -1,14 +1,14 @@
# Lithuanian translation for libsoup.
# Copyright (C) 2012 libsoup's COPYRIGHT HOLDER
# This file is distributed under the same license as the libsoup package.
-# Aurimas Černius <aurisc4@gmail.com>, 2012-2019.
+# Aurimas Černius <aurisc4@gmail.com>, 2012-2020.
#
msgid ""
msgstr ""
"Project-Id-Version: libsoup master\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/libsoup/issues\n"
-"POT-Creation-Date: 2019-07-31 12:10+0000\n"
-"PO-Revision-Date: 2019-08-18 22:19+0300\n"
+"POT-Creation-Date: 2020-06-26 17:08+0000\n"
+"PO-Revision-Date: 2020-06-28 22:21+0300\n"
"Last-Translator: Aurimas Černius <aurisc4@gmail.com>\n"
"Language-Team: Lietuvių <gnome-lt@lists.akl.lt>\n"
"Language: lt\n"
@@ -17,7 +17,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n"
"%100<10 || n%100>=20) ? 1 : 2)\n"
-"X-Generator: Gtranslator 3.32.1\n"
+"X-Generator: Gtranslator 3.36.0\n"
#: libsoup/soup-body-input-stream.c:139 libsoup/soup-body-input-stream.c:170
#: libsoup/soup-body-input-stream.c:203 libsoup/soup-message-io.c:236
@@ -40,6 +40,18 @@ msgstr "Tinklo srautas netikėtai užsivėrė"
msgid "Failed to completely cache the resource"
msgstr "Nepavyko visiškai patalpinti resurso į podėlį"
+#: libsoup/soup-directory-input-stream.c:231
+msgid "Name"
+msgstr "Pavadinimas"
+
+#: libsoup/soup-directory-input-stream.c:232
+msgid "Size"
+msgstr "Dydis"
+
+#: libsoup/soup-directory-input-stream.c:233
+msgid "Date Modified"
+msgstr "Keitimo data"
+
#: libsoup/soup-converter-wrapper.c:189
#, c-format
msgid "Output buffer is too small"
@@ -79,31 +91,31 @@ msgstr "Nepateiktas URI"
msgid "Invalid “%s” URI: %s"
msgstr "Netinkamas „%s“ URI: %s"
-#: libsoup/soup-server.c:1797
+#: libsoup/soup-server.c:1810
msgid "Can’t create a TLS server without a TLS certificate"
msgstr "Negalima sukurti TLS serverio be TLS liudijimo"
-#: libsoup/soup-server.c:1814
+#: libsoup/soup-server.c:1827
#, c-format
msgid "Could not listen on address %s, port %d: "
msgstr "Nepavyksta klausytis adreso %s, prievadu %d: "
-#: libsoup/soup-session.c:4535
+#: libsoup/soup-session.c:4570
#, c-format
msgid "Could not parse URI “%s”"
msgstr "Nepavyko išanalizuoti URI „%s“"
-#: libsoup/soup-session.c:4572
+#: libsoup/soup-session.c:4607
#, c-format
msgid "Unsupported URI scheme “%s”"
msgstr "Nepalaikoma URI schema „%s“"
-#: libsoup/soup-session.c:4594
+#: libsoup/soup-session.c:4629
#, c-format
msgid "Not an HTTP URI"
msgstr "Ne HTTP URI"
-#: libsoup/soup-session.c:4805
+#: libsoup/soup-session.c:4840
msgid "The server did not accept the WebSocket handshake."
msgstr "Serveris nepriėmė WebSocket rankos paspaudimo."
diff --git a/po/lv.po b/po/lv.po
index 1df055b5..103c4da1 100644
--- a/po/lv.po
+++ b/po/lv.po
@@ -3,13 +3,13 @@
# This file is distributed under the same license as the libsoup package.
#
# Tranzistors <rudolfs.mazurs@gmail.com>, 2012.
-# Rūdolfs Mazurs <rudolfs.mazurs@gmail.com>, 2012, 2013, 2014, 2016, 2017, 2018, 2019.
+# Rūdolfs Mazurs <rudolfs.mazurs@gmail.com>, 2012, 2013, 2014, 2016, 2017, 2018, 2019, 2020.
msgid ""
msgstr ""
"Project-Id-Version: libsoup master\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/libsoup/issues\n"
-"POT-Creation-Date: 2019-07-31 12:10+0000\n"
-"PO-Revision-Date: 2019-08-24 17:24+0200\n"
+"POT-Creation-Date: 2020-06-26 17:08+0000\n"
+"PO-Revision-Date: 2020-09-12 13:15+0300\n"
"Last-Translator: Rūdolfs Mazurs <rudolfs.mazurs@gmail.com>\n"
"Language-Team: Latvian <lata-l10n@googlegroups.com>\n"
"Language: lv\n"
@@ -18,7 +18,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 :"
" 2);\n"
-"X-Generator: Lokalize 2.0\n"
+"X-Generator: Lokalize 19.12.3\n"
#: libsoup/soup-body-input-stream.c:139 libsoup/soup-body-input-stream.c:170
#: libsoup/soup-body-input-stream.c:203 libsoup/soup-message-io.c:236
@@ -41,6 +41,18 @@ msgstr "Tīkla straume negaidīti aizvērās"
msgid "Failed to completely cache the resource"
msgstr "Neizdevās resursu pilnībā noglabāt kešatmiņā"
+#: libsoup/soup-directory-input-stream.c:231
+msgid "Name"
+msgstr "Nosaukums"
+
+#: libsoup/soup-directory-input-stream.c:232
+msgid "Size"
+msgstr "Izmērs"
+
+#: libsoup/soup-directory-input-stream.c:233
+msgid "Date Modified"
+msgstr "Izmaiņu datums"
+
#: libsoup/soup-converter-wrapper.c:189
#, c-format
msgid "Output buffer is too small"
@@ -80,31 +92,31 @@ msgstr "Nav sniegts URI"
msgid "Invalid “%s” URI: %s"
msgstr "Nederīgs “%s” URI — %s"
-#: libsoup/soup-server.c:1797
+#: libsoup/soup-server.c:1810
msgid "Can’t create a TLS server without a TLS certificate"
msgstr "Bez TLS sertifikāta nevar izveidot TLS serveri"
-#: libsoup/soup-server.c:1814
+#: libsoup/soup-server.c:1827
#, c-format
msgid "Could not listen on address %s, port %d: "
msgstr "Nevarēja sākt klausīties adresi %s, portu %d: "
-#: libsoup/soup-session.c:4535
+#: libsoup/soup-session.c:4570
#, c-format
msgid "Could not parse URI “%s”"
msgstr "Nevarēja parsēt URI “%s”"
-#: libsoup/soup-session.c:4572
+#: libsoup/soup-session.c:4607
#, c-format
msgid "Unsupported URI scheme “%s”"
msgstr "Neatbalstīta URI shēma “%s”"
-#: libsoup/soup-session.c:4594
+#: libsoup/soup-session.c:4629
#, c-format
msgid "Not an HTTP URI"
msgstr "Nav HTTP URI"
-#: libsoup/soup-session.c:4805
+#: libsoup/soup-session.c:4840
msgid "The server did not accept the WebSocket handshake."
msgstr "Serveris nepieņēma WebSocket rokasspiedienu."
@@ -194,4 +206,3 @@ msgstr "Datora nosaukumam nav bāzes domēna"
#: libsoup/soup-tld.c:196
msgid "Not enough domains"
msgstr "Nepietiekami daudz domēnu"
-
diff --git a/po/pl.po b/po/pl.po
index 858c2ef5..5a70d47a 100644
--- a/po/pl.po
+++ b/po/pl.po
@@ -1,15 +1,15 @@
# Polish translation for libsoup.
-# Copyright © 2012-2019 the libsoup authors.
+# Copyright © 2012-2020 the libsoup authors.
# This file is distributed under the same license as the libsoup package.
-# Piotr Drąg <piotrdrag@gmail.com>, 2012-2019.
-# Aviary.pl <community-poland@mozilla.org>, 2012-2019.
+# Piotr Drąg <piotrdrag@gmail.com>, 2012-2020.
+# Aviary.pl <community-poland@mozilla.org>, 2012-2020.
#
msgid ""
msgstr ""
"Project-Id-Version: libsoup\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/libsoup/issues\n"
-"POT-Creation-Date: 2019-07-31 12:10+0000\n"
-"PO-Revision-Date: 2019-08-20 19:30+0200\n"
+"POT-Creation-Date: 2020-06-26 17:08+0000\n"
+"PO-Revision-Date: 2020-06-28 13:02+0200\n"
"Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
"Language-Team: Polish <community-poland@mozilla.org>\n"
"Language: pl\n"
@@ -40,6 +40,18 @@ msgstr "Strumień sieciowy został nieoczekiwanie zamknięty"
msgid "Failed to completely cache the resource"
msgstr "Całkowite umieszczenie zasobu w pamięci podręcznej się nie powiodło"
+#: libsoup/soup-directory-input-stream.c:231
+msgid "Name"
+msgstr "Nazwa"
+
+#: libsoup/soup-directory-input-stream.c:232
+msgid "Size"
+msgstr "Rozmiar"
+
+#: libsoup/soup-directory-input-stream.c:233
+msgid "Date Modified"
+msgstr "Data modyfikacji"
+
#: libsoup/soup-converter-wrapper.c:189
#, c-format
msgid "Output buffer is too small"
@@ -79,31 +91,31 @@ msgstr "Nie podano adresu URI"
msgid "Invalid “%s” URI: %s"
msgstr "Nieprawidłowy adres URI „%s”: %s"
-#: libsoup/soup-server.c:1797
+#: libsoup/soup-server.c:1810
msgid "Can’t create a TLS server without a TLS certificate"
msgstr "Nie można utworzyć serwera TLS bez certyfikatu TLS"
-#: libsoup/soup-server.c:1814
+#: libsoup/soup-server.c:1827
#, c-format
msgid "Could not listen on address %s, port %d: "
msgstr "Nie można nasłuchiwać na adresie %s, porcie %d: "
-#: libsoup/soup-session.c:4535
+#: libsoup/soup-session.c:4570
#, c-format
msgid "Could not parse URI “%s”"
msgstr "Nie można przetworzyć adresu URI „%s”"
-#: libsoup/soup-session.c:4572
+#: libsoup/soup-session.c:4607
#, c-format
msgid "Unsupported URI scheme “%s”"
msgstr "Nieobsługiwany schemat adresu URI „%s”"
-#: libsoup/soup-session.c:4594
+#: libsoup/soup-session.c:4629
#, c-format
msgid "Not an HTTP URI"
msgstr "Nie jest adresem URI protokołu HTTP"
-#: libsoup/soup-session.c:4805
+#: libsoup/soup-session.c:4840
msgid "The server did not accept the WebSocket handshake."
msgstr "Serwer nie przyjął powitania WebSocket."
diff --git a/po/pt.po b/po/pt.po
index adf94b1a..34d1a8c9 100644
--- a/po/pt.po
+++ b/po/pt.po
@@ -4,174 +4,203 @@
# Duarte Loreto <happyguy_pt@hotmail.com>, 2012, 2013.
#
# Pedro Albuquerque <palbuquerque73@openmailbox.com>, 2015.
+# Juliano de Souza Camargo <julianosc@protonmail.com>, 2020.
#
msgid ""
msgstr ""
"Project-Id-Version: 3.8\n"
-"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?"
-"product=libsoup&keywords=I18N+L10N&component=general\n"
-"POT-Creation-Date: 2015-06-07 22:39+0000\n"
-"PO-Revision-Date: 2015-06-24 09:25+0100\n"
-"Last-Translator: Pedro Albuquerque <palbuquerque73@openmailbox.com>\n"
-"Language-Team: Português <palbuquerque73@openmailbox.com>\n"
+"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/libsoup/issues\n"
+"POT-Creation-Date: 2020-07-08 18:29+0000\n"
+"PO-Revision-Date: 2020-09-13 10:41-0300\n"
+"Last-Translator: Juliano de Souza Camargo <julianosc@protonmail.com>\n"
+"Language-Team: Portuguese <>\n"
"Language: pt\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Gtranslator 2.91.6\n"
+"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"X-Generator: Gtranslator 3.36.0\n"
-#: ../libsoup/soup-body-input-stream.c:140
-#: ../libsoup/soup-body-input-stream.c:171
-#: ../libsoup/soup-body-input-stream.c:204 ../libsoup/soup-message-io.c:235
+#: libsoup/soup-body-input-stream.c:139 libsoup/soup-body-input-stream.c:170
+#: libsoup/soup-body-input-stream.c:203 libsoup/soup-message-io.c:236
msgid "Connection terminated unexpectedly"
msgstr "Ligação terminou inesperadamente"
-#: ../libsoup/soup-body-input-stream.c:462
+#: libsoup/soup-body-input-stream.c:459
msgid "Invalid seek request"
msgstr "Pedido de procura inválido"
-#: ../libsoup/soup-body-input-stream.c:490
+#: libsoup/soup-body-input-stream.c:487
msgid "Cannot truncate SoupBodyInputStream"
msgstr "Impossível truncar SoupBodyInputStream"
-#: ../libsoup/soup-cache-input-stream.c:74
+#: libsoup/soup-cache-input-stream.c:76
msgid "Network stream unexpectedly closed"
msgstr "Fluxo de rede terminado inesperadamente"
-#: ../libsoup/soup-cache-input-stream.c:291
+#: libsoup/soup-cache-input-stream.c:291
msgid "Failed to completely cache the resource"
msgstr "Falha ao colocar o recurso totalmente em cache"
-#: ../libsoup/soup-converter-wrapper.c:192
+#: libsoup/soup-converter-wrapper.c:189
#, c-format
msgid "Output buffer is too small"
msgstr "Buffer de resultado é demasiado pequeno"
-#: ../libsoup/soup-message-client-io.c:41
+#: libsoup/soup-message-client-io.c:39
msgid "Could not parse HTTP response"
msgstr "Impossível processar a resposta HTTP"
-#: ../libsoup/soup-message-client-io.c:66
+#: libsoup/soup-message-client-io.c:62
msgid "Unrecognized HTTP response encoding"
msgstr "Codificação de resposta HTTP desconhecida"
-#: ../libsoup/soup-message-io.c:392 ../libsoup/soup-message-io.c:1020
+#: libsoup/soup-message-io.c:261
+msgid "Header too big"
+msgstr "Cabeçalho demasiado grande"
+
+#: libsoup/soup-message-io.c:393 libsoup/soup-message-io.c:1016
msgid "Operation would block"
msgstr "A operação iria bloquear"
-#: ../libsoup/soup-message-io.c:972 ../libsoup/soup-message-io.c:1005
+#: libsoup/soup-message-io.c:968 libsoup/soup-message-io.c:1001
msgid "Operation was cancelled"
msgstr "A operação foi cancelada"
-#: ../libsoup/soup-message-server-io.c:64
+#: libsoup/soup-message-server-io.c:63
msgid "Could not parse HTTP request"
msgstr "Impossível processar o pedido HTTP"
-#: ../libsoup/soup-request.c:140
+#: libsoup/soup-request.c:141
#, c-format
msgid "No URI provided"
msgstr "Nenhum URI especificado"
-#: ../libsoup/soup-request.c:150
+#: libsoup/soup-request.c:151
#, c-format
-msgid "Invalid '%s' URI: %s"
-msgstr "URI \"%s\" inválido: %s"
+#| msgid "Invalid '%s' URI: %s"
+msgid "Invalid “%s” URI: %s"
+msgstr "URI “%s” inválido: %s"
-#: ../libsoup/soup-server.c:1711
-msgid "Can't create a TLS server without a TLS certificate"
+#: libsoup/soup-server.c:1810
+#| msgid "Can't create a TLS server without a TLS certificate"
+msgid "Can’t create a TLS server without a TLS certificate"
msgstr "Impossível criar um servidor TLS sem um certificado TLS"
-#: ../libsoup/soup-server.c:1730
+#: libsoup/soup-server.c:1827
#, c-format
msgid "Could not listen on address %s, port %d: "
msgstr "Impossível ouvir no endereço %s, porta %d: "
-#: ../libsoup/soup-session.c:4554
+#: libsoup/soup-session.c:4566
#, c-format
-msgid "Could not parse URI '%s'"
-msgstr "Impossível processar o URI \"%s\""
+#| msgid "Could not parse URI '%s'"
+msgid "Could not parse URI “%s”"
+msgstr "Impossível processar o URI “%s”"
-#: ../libsoup/soup-session.c:4591
+#: libsoup/soup-session.c:4603
#, c-format
-msgid "Unsupported URI scheme '%s'"
-msgstr "Esquema de URI \"%s\" não suportado"
+#| msgid "Unsupported URI scheme '%s'"
+msgid "Unsupported URI scheme “%s”"
+msgstr "Esquema de URI “%s” não suportado"
-#: ../libsoup/soup-session.c:4613
+#: libsoup/soup-session.c:4625
#, c-format
msgid "Not an HTTP URI"
msgstr "Não é um URI HTTP"
-#: ../libsoup/soup-session.c:4797
+#: libsoup/soup-session.c:4836
msgid "The server did not accept the WebSocket handshake."
msgstr "O servidor não aceitou o handshake WebSocket."
-#: ../libsoup/soup-socket.c:148
-msgid "Can't import non-socket as SoupSocket"
+#: libsoup/soup-socket.c:148
+#| msgid "Can't import non-socket as SoupSocket"
+msgid "Can’t import non-socket as SoupSocket"
msgstr "Impossível importar não socket como SoupSocket"
-#: ../libsoup/soup-socket.c:166
+#: libsoup/soup-socket.c:166
msgid "Could not import existing socket: "
msgstr "Impossível importar socket existente: "
-#: ../libsoup/soup-socket.c:175
-msgid "Can't import unconnected socket"
+#: libsoup/soup-socket.c:175
+#| msgid "Can't import unconnected socket"
+msgid "Can’t import unconnected socket"
msgstr "Impossível importar socket desligado"
-#: ../libsoup/soup-websocket.c:336 ../libsoup/soup-websocket.c:345
+#: libsoup/soup-websocket.c:479 libsoup/soup-websocket.c:523
+#: libsoup/soup-websocket.c:539
+msgid "Server requested unsupported extension"
+msgstr "O servidor pediu uma extensão não suportada"
+
+#: libsoup/soup-websocket.c:502 libsoup/soup-websocket.c:694
+#, c-format
+#| msgid "Incorrect WebSocket \"%s\" header"
+msgid "Incorrect WebSocket “%s” header"
+msgstr "Cabeçalho WebSocket “%s” incorreto"
+
+#: libsoup/soup-websocket.c:503 libsoup/soup-websocket.c:1024
+#, c-format
+#| msgid "Server returned incorrect \"%s\" key"
+msgid "Server returned incorrect “%s” key"
+msgstr "O servidor devolveu uma chave “%s” incorreta"
+
+#: libsoup/soup-websocket.c:566
+#, c-format
+msgid "Duplicated parameter in “%s” WebSocket extension header"
+msgstr "Parâmetro duplicado no cabeçalho de extensão WebSocket “%s”"
+
+#: libsoup/soup-websocket.c:567
+#, c-format
+msgid ""
+"Server returned a duplicated parameter in “%s” WebSocket extension header"
+msgstr ""
+"Servidor retornou um parâmetro duplicado no cabeçalho de extensão WebSocket "
+"“%s”"
+
+#: libsoup/soup-websocket.c:658 libsoup/soup-websocket.c:667
msgid "WebSocket handshake expected"
msgstr "Esperado handshake WebSocket"
-#: ../libsoup/soup-websocket.c:353
+#: libsoup/soup-websocket.c:675
msgid "Unsupported WebSocket version"
msgstr "Versão WebSocket não suportada"
-#: ../libsoup/soup-websocket.c:362
+#: libsoup/soup-websocket.c:684
msgid "Invalid WebSocket key"
msgstr "Chave WebSocket inválida"
-#: ../libsoup/soup-websocket.c:372
-#, c-format
-msgid "Incorrect WebSocket \"%s\" header"
-msgstr "Cabeçalho WebSocket \"%s\" incorreto"
-
-#: ../libsoup/soup-websocket.c:381
+#: libsoup/soup-websocket.c:703
msgid "Unsupported WebSocket subprotocol"
msgstr "Subprotocolo WebSocket não suportado"
-#: ../libsoup/soup-websocket.c:508
+#: libsoup/soup-websocket.c:975
msgid "Server rejected WebSocket handshake"
msgstr "O servidor rejeitou o handshake WebSocket"
-#: ../libsoup/soup-websocket.c:516 ../libsoup/soup-websocket.c:525
+#: libsoup/soup-websocket.c:983 libsoup/soup-websocket.c:992
msgid "Server ignored WebSocket handshake"
msgstr "O servidor ignorou o handshake WebSocket"
-#: ../libsoup/soup-websocket.c:537
+#: libsoup/soup-websocket.c:1004
msgid "Server requested unsupported protocol"
msgstr "O servidor pediu um protocolo não suportado"
-#: ../libsoup/soup-websocket.c:547
-msgid "Server requested unsupported extension"
-msgstr "O servidor pediu uma extensão não suportada"
+#: libsoup/soup-tld.c:150
+msgid "No public-suffix list available."
+msgstr "Nenhuma lista de sufixos públicos disponível."
-#: ../libsoup/soup-websocket.c:560
-#, c-format
-msgid "Server returned incorrect \"%s\" key"
-msgstr "O servidor devolveu uma chave \"%s\" incorreta"
+#: libsoup/soup-tld.c:160 libsoup/soup-tld.c:176
+msgid "Invalid hostname"
+msgstr "Nome de máquina inválido"
-#: ../libsoup/soup-tld.c:188
+#: libsoup/soup-tld.c:167
msgid "Hostname is an IP address"
msgstr "Nome da máquina é um endereço IP"
-#: ../libsoup/soup-tld.c:198 ../libsoup/soup-tld.c:220
-msgid "Invalid hostname"
-msgstr "Nome de máquina inválido"
-
-#: ../libsoup/soup-tld.c:250
+#: libsoup/soup-tld.c:188
msgid "Hostname has no base domain"
msgstr "Nome de máquina não possui domínio base"
-#: ../libsoup/soup-tld.c:304
+#: libsoup/soup-tld.c:196
msgid "Not enough domains"
msgstr "Domínios insuficientes"
diff --git a/po/pt_BR.po b/po/pt_BR.po
index 09a7f94a..e13cc780 100644
--- a/po/pt_BR.po
+++ b/po/pt_BR.po
@@ -1,16 +1,16 @@
# Brazilian Portuguese translation for libsoup.
-# Copyright (C) 2019 libsoup's COPYRIGHT HOLDER
+# Copyright (C) 2020 libsoup's COPYRIGHT HOLDER
# This file is distributed under the same license as the libsoup package.
# Gabriel F. Vilar <cogumm@gmail.com>, 2012.
# Enrico Nicoletto <liverig@gmail.com>, 2013, 2014.
-# Rafael Fontenelle <rafaelff@gnome.org>, 2015-2019.
+# Rafael Fontenelle <rafaelff@gnome.org>, 2015-2020.
#
msgid ""
msgstr ""
"Project-Id-Version: libsoup master\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/libsoup/issues\n"
-"POT-Creation-Date: 2019-07-31 12:10+0000\n"
-"PO-Revision-Date: 2019-09-05 02:29-0300\n"
+"POT-Creation-Date: 2020-06-26 17:08+0000\n"
+"PO-Revision-Date: 2020-08-18 10:33-0300\n"
"Last-Translator: Rafael Fontenelle <rafaelff@gnome.org>\n"
"Language-Team: Brazilian Portuguese <gnome-pt_br-list@gnome.org>\n"
"Language: pt_BR\n"
@@ -18,7 +18,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1)\n"
-"X-Generator: Gtranslator 3.32.0\n"
+"X-Generator: Gtranslator 3.36.0\n"
"X-Project-Style: gnome\n"
#: libsoup/soup-body-input-stream.c:139 libsoup/soup-body-input-stream.c:170
@@ -42,6 +42,18 @@ msgstr "O fluxo de rede fechou de forma inesperada"
msgid "Failed to completely cache the resource"
msgstr "Falha ao armazenar completamente em cache o recurso"
+#: libsoup/soup-directory-input-stream.c:231
+msgid "Name"
+msgstr "Nome"
+
+#: libsoup/soup-directory-input-stream.c:232
+msgid "Size"
+msgstr "Tamanho"
+
+#: libsoup/soup-directory-input-stream.c:233
+msgid "Date Modified"
+msgstr "Data modificada"
+
#: libsoup/soup-converter-wrapper.c:189
#, c-format
msgid "Output buffer is too small"
@@ -81,31 +93,31 @@ msgstr "Nenhuma URI foi fornecida"
msgid "Invalid “%s” URI: %s"
msgstr "URI “%s” inválida: %s"
-#: libsoup/soup-server.c:1797
+#: libsoup/soup-server.c:1810
msgid "Can’t create a TLS server without a TLS certificate"
msgstr "Não foi possível criar um servidor TLS sem um certificado TLS"
-#: libsoup/soup-server.c:1814
+#: libsoup/soup-server.c:1827
#, c-format
msgid "Could not listen on address %s, port %d: "
msgstr "Não foi possível escutar o endereço %s, porta %d: "
-#: libsoup/soup-session.c:4535
+#: libsoup/soup-session.c:4570
#, c-format
msgid "Could not parse URI “%s”"
msgstr "Não foi possível analisar URI “%s”"
-#: libsoup/soup-session.c:4572
+#: libsoup/soup-session.c:4607
#, c-format
msgid "Unsupported URI scheme “%s”"
msgstr "Esquema de URI não suportado “%s”"
-#: libsoup/soup-session.c:4594
+#: libsoup/soup-session.c:4629
#, c-format
msgid "Not an HTTP URI"
msgstr "Não é um URI do tipo HTTP"
-#: libsoup/soup-session.c:4805
+#: libsoup/soup-session.c:4840
msgid "The server did not accept the WebSocket handshake."
msgstr "O servidor não aceitou handshake de WebSocket."
diff --git a/po/ro.po b/po/ro.po
index 3fa8b36d..e7757b2c 100644
--- a/po/ro.po
+++ b/po/ro.po
@@ -8,10 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: libsoup master\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/libsoup/issues\n"
-"POT-Creation-Date: 2019-07-31 12:10+0000\n"
-"PO-Revision-Date: 2019-08-04 14:07+0300\n"
-"Last-Translator: Florentina Mușat <florentina.musat.28 [at] gmail [dot] "
-"com>\n"
+"POT-Creation-Date: 2020-06-26 17:08+0000\n"
+"PO-Revision-Date: 2020-06-27 13:22+0300\n"
+"Last-Translator: Florentina Mușat <florentina.musat.28@gmail.com>\n"
"Language-Team: Romanian <gnomero-list@lists.sourceforge.net>\n"
"Language: ro\n"
"MIME-Version: 1.0\n"
@@ -19,7 +18,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < "
"20)) ? 1 : 2);;\n"
-"X-Generator: Poedit 2.2.3\n"
+"X-Generator: Poedit 2.3.1\n"
"X-Project-Style: gnome\n"
#: libsoup/soup-body-input-stream.c:139 libsoup/soup-body-input-stream.c:170
@@ -43,6 +42,18 @@ msgstr "Fluxul de rețea s-a închis neașteptat"
msgid "Failed to completely cache the resource"
msgstr "Nu s-a putut adăuga complet la cache resursa"
+#: libsoup/soup-directory-input-stream.c:231
+msgid "Name"
+msgstr "Nume"
+
+#: libsoup/soup-directory-input-stream.c:232
+msgid "Size"
+msgstr "Dimensiune"
+
+#: libsoup/soup-directory-input-stream.c:233
+msgid "Date Modified"
+msgstr "Dată modificat"
+
#: libsoup/soup-converter-wrapper.c:189
#, c-format
msgid "Output buffer is too small"
@@ -82,31 +93,31 @@ msgstr "Nu s-a furnizat un URI"
msgid "Invalid “%s” URI: %s"
msgstr "URI nevalid „%s”: %s"
-#: libsoup/soup-server.c:1797
+#: libsoup/soup-server.c:1810
msgid "Can’t create a TLS server without a TLS certificate"
msgstr "Nu se poate crea un server TLS fără un certificat TLS"
-#: libsoup/soup-server.c:1814
+#: libsoup/soup-server.c:1827
#, c-format
msgid "Could not listen on address %s, port %d: "
msgstr "Nu s-a putut asculta la adresa %s, portul %d: "
-#: libsoup/soup-session.c:4535
+#: libsoup/soup-session.c:4570
#, c-format
msgid "Could not parse URI “%s”"
msgstr "Nu s-a putut parsa URI „%s”"
-#: libsoup/soup-session.c:4572
+#: libsoup/soup-session.c:4607
#, c-format
msgid "Unsupported URI scheme “%s”"
msgstr "Schemă de URI nesuportată „%s”"
-#: libsoup/soup-session.c:4594
+#: libsoup/soup-session.c:4629
#, c-format
msgid "Not an HTTP URI"
msgstr "Nu este un URI HTTP"
-#: libsoup/soup-session.c:4805
+#: libsoup/soup-session.c:4840
msgid "The server did not accept the WebSocket handshake."
msgstr "Serverul nu a acceptat conectarea WebSocket."
diff --git a/po/sk.po b/po/sk.po
index 940758a8..ef1112ea 100644
--- a/po/sk.po
+++ b/po/sk.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: libsoup\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/libsoup/issues\n"
-"POT-Creation-Date: 2018-09-24 14:21+0000\n"
-"PO-Revision-Date: 2018-11-04 12:25+0100\n"
+"POT-Creation-Date: 2020-06-26 17:08+0000\n"
+"PO-Revision-Date: 2020-09-06 17:36+0200\n"
"Last-Translator: Dušan Kazik <prescott66@gmail.com>\n"
"Language-Team: Slovak <gnome-sk-list@gnome.org>\n"
"Language: sk\n"
@@ -16,10 +16,10 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n==1) ? 1 : (n>=2 && n<=4) ? 2 : 0;\n"
-"X-Generator: Poedit 2.2\n"
+"X-Generator: Poedit 2.4.1\n"
#: libsoup/soup-body-input-stream.c:139 libsoup/soup-body-input-stream.c:170
-#: libsoup/soup-body-input-stream.c:203 libsoup/soup-message-io.c:238
+#: libsoup/soup-body-input-stream.c:203 libsoup/soup-message-io.c:236
msgid "Connection terminated unexpectedly"
msgstr "Pripojenie bolo neočakávane ukončené"
@@ -40,6 +40,18 @@ msgstr "Sieťový prúd bol neočakávane uzavretý"
msgid "Failed to completely cache the resource"
msgstr "Úplné načítanie zdroja do dočasnej pamäte zlyhalo"
+#: libsoup/soup-directory-input-stream.c:231
+msgid "Name"
+msgstr "Názov"
+
+#: libsoup/soup-directory-input-stream.c:232
+msgid "Size"
+msgstr "Veľkosť"
+
+#: libsoup/soup-directory-input-stream.c:233
+msgid "Date Modified"
+msgstr "Dátum zmeny"
+
# PM: buffer by som preložil ako schránka
# PK: schranka je clipboard, buffer je jednoznacne vyrovnavacia pamet
#: libsoup/soup-converter-wrapper.c:189
@@ -47,28 +59,28 @@ msgstr "Úplné načítanie zdroja do dočasnej pamäte zlyhalo"
msgid "Output buffer is too small"
msgstr "Výstupná vyrovnávacia pamäť je príliš malá"
-#: libsoup/soup-message-client-io.c:41
+#: libsoup/soup-message-client-io.c:39
msgid "Could not parse HTTP response"
msgstr "Nepodarilo sa analyzovať odpoveď HTTP"
-#: libsoup/soup-message-client-io.c:66
+#: libsoup/soup-message-client-io.c:62
msgid "Unrecognized HTTP response encoding"
msgstr "Nerozpoznané kódovanie odpovede HTTP"
-#: libsoup/soup-message-io.c:263
+#: libsoup/soup-message-io.c:261
msgid "Header too big"
msgstr "Záhlavie je príliš veľké"
# PK: tu neviem ako to povedat, malo by ist o to, ze proste ta operacia neni async
-#: libsoup/soup-message-io.c:396 libsoup/soup-message-io.c:1024
+#: libsoup/soup-message-io.c:393 libsoup/soup-message-io.c:1016
msgid "Operation would block"
msgstr "Operácia by blokovala spracovanie"
-#: libsoup/soup-message-io.c:976 libsoup/soup-message-io.c:1009
+#: libsoup/soup-message-io.c:968 libsoup/soup-message-io.c:1001
msgid "Operation was cancelled"
msgstr "Operácia bola zrušená"
-#: libsoup/soup-message-server-io.c:64
+#: libsoup/soup-message-server-io.c:63
msgid "Could not parse HTTP request"
msgstr "Nepodarilo sa analyzovať požiadavku HTTP"
@@ -84,31 +96,31 @@ msgstr "Nebol poskytnutý identifikátor URI"
msgid "Invalid “%s” URI: %s"
msgstr "Neplatná schéma „%s“ identifikátora URI: %s"
-#: libsoup/soup-server.c:1725
+#: libsoup/soup-server.c:1810
msgid "Can’t create a TLS server without a TLS certificate"
msgstr "Nedá sa vytvoriť TLS server bez TLS certifikátu"
-#: libsoup/soup-server.c:1742
+#: libsoup/soup-server.c:1827
#, c-format
msgid "Could not listen on address %s, port %d: "
msgstr "Nepodarilo sa počúvať na adrese %s, porte %d: "
-#: libsoup/soup-session.c:4534
+#: libsoup/soup-session.c:4570
#, c-format
msgid "Could not parse URI “%s”"
msgstr "Nepodarilo sa analyzovať identifikátor URI „%s“"
-#: libsoup/soup-session.c:4571
+#: libsoup/soup-session.c:4607
#, c-format
msgid "Unsupported URI scheme “%s”"
msgstr "Nepodporovaná schéma „%s“ pre identifikátor URI"
-#: libsoup/soup-session.c:4593
+#: libsoup/soup-session.c:4629
#, c-format
msgid "Not an HTTP URI"
msgstr "Nie je HTTP URI"
-#: libsoup/soup-session.c:4791
+#: libsoup/soup-session.c:4840
msgid "The server did not accept the WebSocket handshake."
msgstr "Server neprijal vyjednanie protokolu WebSocket."
@@ -124,48 +136,59 @@ msgstr "Nepodarilo sa importovať existujúci soket: "
msgid "Can’t import unconnected socket"
msgstr "Nedá sa importovať nepripojený soket"
-#: libsoup/soup-websocket.c:338 libsoup/soup-websocket.c:347
+#: libsoup/soup-websocket.c:479 libsoup/soup-websocket.c:523
+#: libsoup/soup-websocket.c:539
+msgid "Server requested unsupported extension"
+msgstr "Server si vyžiadal nepodporované rozšírenie"
+
+#: libsoup/soup-websocket.c:502 libsoup/soup-websocket.c:694
+#, c-format
+msgid "Incorrect WebSocket “%s” header"
+msgstr "Nesprávna hlavička „%s“ protokolu Websocket"
+
+#: libsoup/soup-websocket.c:503 libsoup/soup-websocket.c:1024
+#, c-format
+msgid "Server returned incorrect “%s” key"
+msgstr "Server vrátil nesprávny kľúč „%s“"
+
+#: libsoup/soup-websocket.c:566
+#, c-format
+msgid "Duplicated parameter in “%s” WebSocket extension header"
+msgstr "Duplikovaný parameter v hlavičke rozšírenia protokolu WebSocket „%s“"
+
+#: libsoup/soup-websocket.c:567
+#, c-format
+msgid "Server returned a duplicated parameter in “%s” WebSocket extension header"
+msgstr "Server vrátil duplikovaný parameter v hlavičke rozšírenia protokolu WebSocket „%s“"
+
+#: libsoup/soup-websocket.c:658 libsoup/soup-websocket.c:667
msgid "WebSocket handshake expected"
msgstr "Očakávalo sa vyjednanie protokolu WebSocket"
-#: libsoup/soup-websocket.c:355
+#: libsoup/soup-websocket.c:675
msgid "Unsupported WebSocket version"
msgstr "Nepodporovaná verzia protokolu WebSocket"
-#: libsoup/soup-websocket.c:364
+#: libsoup/soup-websocket.c:684
msgid "Invalid WebSocket key"
msgstr "Neplatný kľúč protokolu WebSocket"
-#: libsoup/soup-websocket.c:374
-#, c-format
-msgid "Incorrect WebSocket “%s” header"
-msgstr "Nesprávna hlavička „%s“ protokolu Websocket"
-
-#: libsoup/soup-websocket.c:383
+#: libsoup/soup-websocket.c:703
msgid "Unsupported WebSocket subprotocol"
msgstr "Nepodporovaný podprotokol protokolu WebSocket"
-#: libsoup/soup-websocket.c:510
+#: libsoup/soup-websocket.c:975
msgid "Server rejected WebSocket handshake"
msgstr "Server odmietol vyjednanie protokolu WebSocket"
-#: libsoup/soup-websocket.c:518 libsoup/soup-websocket.c:527
+#: libsoup/soup-websocket.c:983 libsoup/soup-websocket.c:992
msgid "Server ignored WebSocket handshake"
msgstr "Server ignoroval vyjednanie protokolu WebSocket"
-#: libsoup/soup-websocket.c:539
+#: libsoup/soup-websocket.c:1004
msgid "Server requested unsupported protocol"
msgstr "Server si vyžiadal nepodporovaný protokol"
-#: libsoup/soup-websocket.c:549
-msgid "Server requested unsupported extension"
-msgstr "Server si vyžiadal nepodporované rozšírenie"
-
-#: libsoup/soup-websocket.c:562
-#, c-format
-msgid "Server returned incorrect “%s” key"
-msgstr "Server vrátil nesprávny kľúč „%s“"
-
#: libsoup/soup-tld.c:150
msgid "No public-suffix list available."
msgstr "Nie je dostupný žiadny zoznam verejných prípon."
diff --git a/po/sl.po b/po/sl.po
index d91b66f4..cb3fce30 100644
--- a/po/sl.po
+++ b/po/sl.po
@@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: libsoup master\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/libsoup/issues\n"
-"POT-Creation-Date: 2019-08-24 14:24+0000\n"
-"PO-Revision-Date: 2019-08-24 19:42+0200\n"
+"POT-Creation-Date: 2020-08-19 05:23+0000\n"
+"PO-Revision-Date: 2020-08-19 21:41+0200\n"
"Last-Translator: Matej Urbančič <mateju@svn.gnome.org>\n"
"Language-Team: Slovenian <gnome-si@googlegroups.com>\n"
"Language: sl\n"
@@ -19,10 +19,10 @@ msgstr ""
"Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n"
"%100==4 ? 3 : 0);\n"
"X-Poedit-SourceCharset: utf-8\n"
-"X-Generator: Poedit 2.2.1\n"
+"X-Generator: Poedit 2.3\n"
#: libsoup/soup-body-input-stream.c:139 libsoup/soup-body-input-stream.c:170
-#: libsoup/soup-body-input-stream.c:203 libsoup/soup-message-io.c:236
+#: libsoup/soup-body-input-stream.c:203 libsoup/soup-message-io.c:244
msgid "Connection terminated unexpectedly"
msgstr "Povezava je nepričakovano končana"
@@ -42,6 +42,18 @@ msgstr "Omrežni pretok se je nepričakovano zaprl"
msgid "Failed to completely cache the resource"
msgstr "Ustvarjanje predpomnilnika vira je spodletelo"
+#: libsoup/soup-directory-input-stream.c:231
+msgid "Name"
+msgstr "Ime"
+
+#: libsoup/soup-directory-input-stream.c:232
+msgid "Size"
+msgstr "Velikost"
+
+#: libsoup/soup-directory-input-stream.c:233
+msgid "Date Modified"
+msgstr "Datum spremembe"
+
#: libsoup/soup-converter-wrapper.c:189
#, c-format
msgid "Output buffer is too small"
@@ -55,15 +67,15 @@ msgstr "Odziva HTTP ni mogoče razčleniti"
msgid "Unrecognized HTTP response encoding"
msgstr "Neprepoznano kodiranje odziva HTTP"
-#: libsoup/soup-message-io.c:261
+#: libsoup/soup-message-io.c:269
msgid "Header too big"
msgstr "Glava je prevelika"
-#: libsoup/soup-message-io.c:393 libsoup/soup-message-io.c:1016
+#: libsoup/soup-message-io.c:401 libsoup/soup-message-io.c:1024
msgid "Operation would block"
msgstr "Opravilo bi zaustavilo delovanje"
-#: libsoup/soup-message-io.c:968 libsoup/soup-message-io.c:1001
+#: libsoup/soup-message-io.c:976 libsoup/soup-message-io.c:1009
msgid "Operation was cancelled"
msgstr "Opravilo je preklicano."
@@ -81,31 +93,31 @@ msgstr "Ni podanega naslova URI"
msgid "Invalid “%s” URI: %s"
msgstr "Neveljaven naslov URI “%s”: %s"
-#: libsoup/soup-server.c:1797
+#: libsoup/soup-server.c:1810
msgid "Can’t create a TLS server without a TLS certificate"
msgstr "Ni mogoče ustvariti strežnika TLS brez ustreznega potrdila TLS."
-#: libsoup/soup-server.c:1814
+#: libsoup/soup-server.c:1827
#, c-format
msgid "Could not listen on address %s, port %d: "
msgstr "Ni mogoče prisluhniti naslovu %s, vrata %d:"
-#: libsoup/soup-session.c:4543
+#: libsoup/soup-session.c:4584
#, c-format
msgid "Could not parse URI “%s”"
msgstr "Ni mogoče razčleniti naslova URI “%s”"
-#: libsoup/soup-session.c:4580
+#: libsoup/soup-session.c:4621
#, c-format
msgid "Unsupported URI scheme “%s”"
msgstr "Nepodprta shema naslova URI “%s”"
-#: libsoup/soup-session.c:4602
+#: libsoup/soup-session.c:4643
#, c-format
msgid "Not an HTTP URI"
msgstr "Naslov ni v obliki HTTP URI"
-#: libsoup/soup-session.c:4813
+#: libsoup/soup-session.c:4854
msgid "The server did not accept the WebSocket handshake."
msgstr "Strežnik ne podpira zahteve overitve WebSocket"
diff --git a/po/sr.po b/po/sr.po
index 5e8c5eaa..071f3f3c 100644
--- a/po/sr.po
+++ b/po/sr.po
@@ -2,22 +2,24 @@
# Courtesy of Prevod.org team (http://prevod.org/) -- 2012—2017.
# This file is distributed under the same license as the libsoup package.
# Мирослав Николић <miroslavnikolic@rocketmail.com>, 2011—2017.
+# Марко М. Костић <marko.m.kostic@gmail.com>, 2020.
+#
msgid ""
msgstr ""
"Project-Id-Version: libsoup master\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/libsoup/issues\n"
-"POT-Creation-Date: 2019-07-31 12:10+0000\n"
-"PO-Revision-Date: 2019-08-21 23:26+0200\n"
+"POT-Creation-Date: 2020-06-26 17:08+0000\n"
+"PO-Revision-Date: 2020-08-19 07:22+0200\n"
"Last-Translator: Марко М. Костић <marko.m.kostic@gmail.com>\n"
-"Language-Team: Serbian <(nothing)>\n"
+"Language-Team: Serbian <gnome-sr@googlegroups.org>\n"
"Language: sr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=4; plural=n==1? 3 : n%10==1 && n%100!=11 ? 0 : n"
-"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
+"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2\n"
"X-Project-Style: gnome\n"
-"X-Generator: Poedit 2.2.3\n"
+"X-Generator: Gtranslator 3.36.0\n"
#: libsoup/soup-body-input-stream.c:139 libsoup/soup-body-input-stream.c:170
#: libsoup/soup-body-input-stream.c:203 libsoup/soup-message-io.c:236
@@ -40,6 +42,18 @@ msgstr "Мрежни ток је изненадно затворен"
msgid "Failed to completely cache the resource"
msgstr "Нисам успео у потпуности да сместим извориште у оставу"
+#: libsoup/soup-directory-input-stream.c:231
+msgid "Name"
+msgstr "Назив"
+
+#: libsoup/soup-directory-input-stream.c:232
+msgid "Size"
+msgstr "Величина"
+
+#: libsoup/soup-directory-input-stream.c:233
+msgid "Date Modified"
+msgstr "Датум измене"
+
#: libsoup/soup-converter-wrapper.c:189
#, c-format
msgid "Output buffer is too small"
@@ -79,31 +93,31 @@ msgstr "Није наведена путања"
msgid "Invalid “%s” URI: %s"
msgstr "Неисправна „%s“ путања: %s"
-#: libsoup/soup-server.c:1797
+#: libsoup/soup-server.c:1810
msgid "Can’t create a TLS server without a TLS certificate"
msgstr "Не могу да направим ТЛС сервер без ТЛС уверења"
-#: libsoup/soup-server.c:1814
+#: libsoup/soup-server.c:1827
#, c-format
msgid "Could not listen on address %s, port %d: "
msgstr "Не могу да ослушкујем на адреси „%s“, прикључник %d: "
-#: libsoup/soup-session.c:4535
+#: libsoup/soup-session.c:4570
#, c-format
msgid "Could not parse URI “%s”"
msgstr "Не могу да обрадим путању „%s“"
-#: libsoup/soup-session.c:4572
+#: libsoup/soup-session.c:4607
#, c-format
msgid "Unsupported URI scheme “%s”"
msgstr "Неподржана „%s“ шема путање"
-#: libsoup/soup-session.c:4594
+#: libsoup/soup-session.c:4629
#, c-format
msgid "Not an HTTP URI"
msgstr "Није ХТТП путања"
-#: libsoup/soup-session.c:4805
+#: libsoup/soup-session.c:4840
msgid "The server did not accept the WebSocket handshake."
msgstr "Сервер не прихвата руковање Веб прикључнице."
diff --git a/po/sv.po b/po/sv.po
index b0bda979..c35dba8b 100644
--- a/po/sv.po
+++ b/po/sv.po
@@ -1,23 +1,23 @@
# Swedish translation for libsoup.
-# Copyright © 2012-2019 Free Software Foundation, Inc.
+# Copyright © 2012-2020 Free Software Foundation, Inc.
# This file is distributed under the same license as the libsoup package.
# Daniel Nylander <po@danielnylander.se>, 2012.
# Sebastian Rasmussen <sebras@gmail.com>, 2015, 2016.
-# Anders Jonsson <anders.jonsson@norsjovallen.se>, 2018, 2019.
+# Anders Jonsson <anders.jonsson@norsjovallen.se>, 2018, 2019, 2020.
#
msgid ""
msgstr ""
"Project-Id-Version: libsoup\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/libsoup/issues\n"
-"POT-Creation-Date: 2019-07-31 12:10+0000\n"
-"PO-Revision-Date: 2019-08-19 20:37+0200\n"
+"POT-Creation-Date: 2020-06-26 17:08+0000\n"
+"PO-Revision-Date: 2020-06-27 13:20+0200\n"
"Last-Translator: Anders Jonsson <anders.jonsson@norsjovallen.se>\n"
"Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
"Language: sv\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: Poedit 2.2.3\n"
+"X-Generator: Poedit 2.3.1\n"
#: libsoup/soup-body-input-stream.c:139 libsoup/soup-body-input-stream.c:170
#: libsoup/soup-body-input-stream.c:203 libsoup/soup-message-io.c:236
@@ -40,6 +40,18 @@ msgstr "Nätverksström stängdes oväntat"
msgid "Failed to completely cache the resource"
msgstr "Misslyckades med att helt mellanlagra resursen"
+#: libsoup/soup-directory-input-stream.c:231
+msgid "Name"
+msgstr "Namn"
+
+#: libsoup/soup-directory-input-stream.c:232
+msgid "Size"
+msgstr "Storlek"
+
+#: libsoup/soup-directory-input-stream.c:233
+msgid "Date Modified"
+msgstr "Ändringsdatum"
+
#: libsoup/soup-converter-wrapper.c:189
#, c-format
msgid "Output buffer is too small"
@@ -79,31 +91,31 @@ msgstr "Ingen URI angavs"
msgid "Invalid “%s” URI: %s"
msgstr "Ogiltig ”%s”-URI: %s"
-#: libsoup/soup-server.c:1797
+#: libsoup/soup-server.c:1810
msgid "Can’t create a TLS server without a TLS certificate"
msgstr "Kan inte skapa en TLS-server utan ett TLS-certifikat"
-#: libsoup/soup-server.c:1814
+#: libsoup/soup-server.c:1827
#, c-format
msgid "Could not listen on address %s, port %d: "
msgstr "Kan inte lyssna på adress %s, port %d: "
-#: libsoup/soup-session.c:4535
+#: libsoup/soup-session.c:4570
#, c-format
msgid "Could not parse URI “%s”"
msgstr "Kunde inte tolka URI:n ”%s”"
-#: libsoup/soup-session.c:4572
+#: libsoup/soup-session.c:4607
#, c-format
msgid "Unsupported URI scheme “%s”"
msgstr "URI-schemat ”%s” stöds inte"
-#: libsoup/soup-session.c:4594
+#: libsoup/soup-session.c:4629
#, c-format
msgid "Not an HTTP URI"
msgstr "Inte en HTTP-URI"
-#: libsoup/soup-session.c:4805
+#: libsoup/soup-session.c:4840
msgid "The server did not accept the WebSocket handshake."
msgstr "Servern accepterade inte WebSocket-handskakningen."
diff --git a/po/tr.po b/po/tr.po
index 734db6bd..1b080f8e 100644
--- a/po/tr.po
+++ b/po/tr.po
@@ -6,16 +6,16 @@
# Necdet Yücel <necdetyucel@gmail.com>, 2014, 2015.
# Furkan Ahmet Kara <furkanahmetkara.fk@gmail.com>, 2017.
# Muhammet Kara <muhammetk@gmail.com>, 2012, 2014, 2015, 2018.
-# Emin Tufan Çetin <etcetin@gmail.com>, 2017, 2018.
# Sabri Ünal <libreajans@gmail.com>, 2019.
+# Emin Tufan Çetin <etcetin@gmail.com>, 2017, 2018, 2020.
#
msgid ""
msgstr ""
"Project-Id-Version: libsoup master\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/libsoup/issues\n"
-"POT-Creation-Date: 2019-07-31 12:10+0000\n"
-"PO-Revision-Date: 2019-09-05 20:50+0300\n"
-"Last-Translator: Sabri Ünal <libreajans@gmail.com>\n"
+"POT-Creation-Date: 2020-06-26 17:08+0000\n"
+"PO-Revision-Date: 2020-08-08 12:05+0300\n"
+"Last-Translator: Emin Tufan Çetin <etcetin@gmail.com>\n"
"Language-Team: Türkçe <gnome-turk@gnome.org>\n"
"Language: tr\n"
"MIME-Version: 1.0\n"
@@ -46,6 +46,18 @@ msgstr "Ağ akışı beklenmeyen bir şekilde sonlandı"
msgid "Failed to completely cache the resource"
msgstr "Özkaynak tümüyle önbelleğe alınamadı"
+#: libsoup/soup-directory-input-stream.c:231
+msgid "Name"
+msgstr "Ad"
+
+#: libsoup/soup-directory-input-stream.c:232
+msgid "Size"
+msgstr "Boyut"
+
+#: libsoup/soup-directory-input-stream.c:233
+msgid "Date Modified"
+msgstr "Değiştirilme Tarihi"
+
#: libsoup/soup-converter-wrapper.c:189
#, c-format
msgid "Output buffer is too small"
@@ -85,31 +97,31 @@ msgstr "URI verilmedi"
msgid "Invalid “%s” URI: %s"
msgstr "Geçersiz “%s” URI: %s"
-#: libsoup/soup-server.c:1797
+#: libsoup/soup-server.c:1810
msgid "Can’t create a TLS server without a TLS certificate"
msgstr "Bir TLS sertifikası olmadan TLS sunucusu oluşturulamaz"
-#: libsoup/soup-server.c:1814
+#: libsoup/soup-server.c:1827
#, c-format
msgid "Could not listen on address %s, port %d: "
msgstr "%s adresinin %d bağlantı noktası dinlenemedi: "
-#: libsoup/soup-session.c:4535
+#: libsoup/soup-session.c:4570
#, c-format
msgid "Could not parse URI “%s”"
msgstr "URI “%s” ayrıştırılamadı"
-#: libsoup/soup-session.c:4572
+#: libsoup/soup-session.c:4607
#, c-format
msgid "Unsupported URI scheme “%s”"
msgstr "Desteklenmeyen URI şeması “%s”"
-#: libsoup/soup-session.c:4594
+#: libsoup/soup-session.c:4629
#, c-format
msgid "Not an HTTP URI"
msgstr "HTTP URI değil"
-#: libsoup/soup-session.c:4805
+#: libsoup/soup-session.c:4840
msgid "The server did not accept the WebSocket handshake."
msgstr "Sunucu WebSocket el sıkışmasını kabul etmedi."
@@ -119,7 +131,7 @@ msgstr "Non-socket, SoupSocket olarak içe aktarılamıyor"
#: libsoup/soup-socket.c:166
msgid "Could not import existing socket: "
-msgstr "Mevcut soket içe aktarılamadı: "
+msgstr "Var olan soket içe aktarılamadı: "
#: libsoup/soup-socket.c:175
msgid "Can’t import unconnected socket"
@@ -128,7 +140,7 @@ msgstr "Bağlı olmayan soket içe aktarılamıyor"
#: libsoup/soup-websocket.c:479 libsoup/soup-websocket.c:523
#: libsoup/soup-websocket.c:539
msgid "Server requested unsupported extension"
-msgstr "Sunucu desteklenmeyen eklenti isteğinde bulundu"
+msgstr "Sunucu, desteklenmeyen eklenti isteğinde bulundu"
#: libsoup/soup-websocket.c:502 libsoup/soup-websocket.c:694
#, c-format
@@ -138,7 +150,7 @@ msgstr "Hatalı WebSocket “%s” başlığı"
#: libsoup/soup-websocket.c:503 libsoup/soup-websocket.c:1024
#, c-format
msgid "Server returned incorrect “%s” key"
-msgstr "Sunucu geçersiz “%s” anahtarı döndürdü"
+msgstr "Sunucu, geçersiz “%s” anahtarı döndürdü"
#: libsoup/soup-websocket.c:566
#, c-format
@@ -147,8 +159,9 @@ msgstr "“%s” WebSocket eklenti başlığında yinelenen parametre"
#: libsoup/soup-websocket.c:567
#, c-format
-msgid "Server returned a duplicated parameter in “%s” WebSocket extension header"
-msgstr "Sunucu “%s” WebSocket eklenti başlığında yinelenen parametre döndürdü"
+msgid ""
+"Server returned a duplicated parameter in “%s” WebSocket extension header"
+msgstr "Sunucu, “%s” WebSocket eklenti başlığında yinelenen parametre döndürdü"
#: libsoup/soup-websocket.c:658 libsoup/soup-websocket.c:667
msgid "WebSocket handshake expected"
@@ -168,15 +181,15 @@ msgstr "Desteklenmeyen WebSocket alt iletişim kuralı"
#: libsoup/soup-websocket.c:975
msgid "Server rejected WebSocket handshake"
-msgstr "Sunucu WebSocket el sıkışmasını reddetti"
+msgstr "Sunucu, WebSocket el sıkışmasını reddetti"
#: libsoup/soup-websocket.c:983 libsoup/soup-websocket.c:992
msgid "Server ignored WebSocket handshake"
-msgstr "Sunucu WebSocket el sıkışmasını yoksaydı"
+msgstr "Sunucu, WebSocket el sıkışmasını yoksaydı"
#: libsoup/soup-websocket.c:1004
msgid "Server requested unsupported protocol"
-msgstr "Sunucu desteklenmeyen iletişim kuralı isteğinde bulundu"
+msgstr "Sunucu, desteklenmeyen iletişim kuralı isteğinde bulundu"
#: libsoup/soup-tld.c:150
msgid "No public-suffix list available."
diff --git a/po/uk.po b/po/uk.po
index 982e6ddc..44f3021a 100644
--- a/po/uk.po
+++ b/po/uk.po
@@ -1,182 +1,208 @@
-# Ukrainian translation for libsoup.
-# Copyright (C) 2012 libsoup's COPYRIGHT HOLDER
-# This file is distributed under the same license as the libsoup package.
-# Mykola Tkach <Stuartlittle1970@gmail.com>, 2014.
-msgid ""
-msgstr ""
-"Project-Id-Version: libsoup master\n"
-"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/libsoup/issues\n"
-"POT-Creation-Date: 2019-01-12 13:57+0000\n"
-"PO-Revision-Date: 2019-05-19 18:59+0300\n"
-"Last-Translator: Mykola Tkach <Stuartlittle1970@gmail.com>\n"
-"Language-Team: linux.org.ua\n"
-"Language: uk\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
-"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
-"X-Generator: Poedit 2.2.1\n"
-"X-Project-Style: gnome\n"
-
-#: libsoup/soup-body-input-stream.c:139 libsoup/soup-body-input-stream.c:170
-#: libsoup/soup-body-input-stream.c:203 libsoup/soup-message-io.c:238
-msgid "Connection terminated unexpectedly"
-msgstr "Несподівано зв'язок розірвано"
-
-#: libsoup/soup-body-input-stream.c:459
-msgid "Invalid seek request"
-msgstr "Неправильний пошуковий запит"
-
-#: libsoup/soup-body-input-stream.c:487
-msgid "Cannot truncate SoupBodyInputStream"
-msgstr "Не вдається обрізати SoupBodyInputStream"
-
-#: libsoup/soup-cache-input-stream.c:76
-msgid "Network stream unexpectedly closed"
-msgstr "Мережевий потік несподівано закрився"
-
-#: libsoup/soup-cache-input-stream.c:291
-msgid "Failed to completely cache the resource"
-msgstr "Не вдалося повністю кешувати ресурс"
-
-#: libsoup/soup-converter-wrapper.c:189
-#, c-format
-msgid "Output buffer is too small"
-msgstr "Вихідний буфер замалий"
-
-#: libsoup/soup-message-client-io.c:41
-msgid "Could not parse HTTP response"
-msgstr "Не вдалося проаналізувати відповідь HTTP"
-
-#: libsoup/soup-message-client-io.c:66
-msgid "Unrecognized HTTP response encoding"
-msgstr "Нерозпізнане кодування відповіді HTTP"
-
-#: libsoup/soup-message-io.c:263
-msgid "Header too big"
-msgstr "Заголовок завеликий"
-
-#: libsoup/soup-message-io.c:396 libsoup/soup-message-io.c:1024
-msgid "Operation would block"
-msgstr "Операція блокується"
-
-#: libsoup/soup-message-io.c:976 libsoup/soup-message-io.c:1009
-msgid "Operation was cancelled"
-msgstr "Операцію скасовано"
-
-#: libsoup/soup-message-server-io.c:64
-msgid "Could not parse HTTP request"
-msgstr "Не вдалося проаналізувати запит HTTP"
-
-#: libsoup/soup-request.c:141
-#, c-format
-msgid "No URI provided"
-msgstr "Не надано URI"
-
-#: libsoup/soup-request.c:151
-#, c-format
-msgid "Invalid “%s” URI: %s"
-msgstr "Неправильний “%s” URI: %s"
-
-#: libsoup/soup-server.c:1725
-msgid "Can’t create a TLS server without a TLS certificate"
-msgstr "Неможливо створити сервер TLS без сертифіката TLS"
-
-#: libsoup/soup-server.c:1742
-#, c-format
-msgid "Could not listen on address %s, port %d: "
-msgstr "Не вдалося почати прослуховування за адресою %s, порт %d: "
-
-#: libsoup/soup-session.c:4534
-#, c-format
-msgid "Could not parse URI “%s”"
-msgstr "Не вдалося проаналізувати URI \"%s\""
-
-#: libsoup/soup-session.c:4571
-#, c-format
-msgid "Unsupported URI scheme “%s”"
-msgstr "Непідтримувана схема URI \"%s\""
-
-#: libsoup/soup-session.c:4593
-#, c-format
-msgid "Not an HTTP URI"
-msgstr "URI не в форматі HTTP"
-
-#: libsoup/soup-session.c:4791
-msgid "The server did not accept the WebSocket handshake."
-msgstr "Сервер не прийняв рукостискання WebSocket."
-
-#: libsoup/soup-socket.c:148
-msgid "Can’t import non-socket as SoupSocket"
-msgstr "Неможливо імпортувати об’єкти відмінні від сокета як SoupSocket"
-
-#: libsoup/soup-socket.c:166
-msgid "Could not import existing socket: "
-msgstr "Не вдалося імпортувати наявний сокет: "
-
-#: libsoup/soup-socket.c:175
-msgid "Can’t import unconnected socket"
-msgstr "Неможливо імпортувати непід'єднаний сокет"
-
-#: libsoup/soup-websocket.c:338 libsoup/soup-websocket.c:347
-msgid "WebSocket handshake expected"
-msgstr "Очікується рукостискання WebSocket"
-
-#: libsoup/soup-websocket.c:355
-msgid "Unsupported WebSocket version"
-msgstr "Непідтримувана версія WebSocket"
-
-#: libsoup/soup-websocket.c:364
-msgid "Invalid WebSocket key"
-msgstr "Невірний ключ WebSocket"
-
-#: libsoup/soup-websocket.c:374
-#, c-format
-msgid "Incorrect WebSocket “%s” header"
-msgstr "Неправильний заголовок “%s” WebSocket"
-
-#: libsoup/soup-websocket.c:383
-msgid "Unsupported WebSocket subprotocol"
-msgstr "Непідтримуваний підпротокол WebSocket"
-
-#: libsoup/soup-websocket.c:510
-msgid "Server rejected WebSocket handshake"
-msgstr "Сервер відхилив рукостискання WebSocket"
-
-#: libsoup/soup-websocket.c:518 libsoup/soup-websocket.c:527
-msgid "Server ignored WebSocket handshake"
-msgstr "Сервер проігнорував рукостискання WebSocket"
-
-#: libsoup/soup-websocket.c:539
-msgid "Server requested unsupported protocol"
-msgstr "Сервер запросив протокол, який не підтримується"
-
-#: libsoup/soup-websocket.c:549
-msgid "Server requested unsupported extension"
-msgstr "Сервер запросив непідтримуване розширення"
-
-#: libsoup/soup-websocket.c:562
-#, c-format
-msgid "Server returned incorrect “%s” key"
-msgstr "Сервер повернув неправильний ключ “%s”"
-
-#: libsoup/soup-tld.c:150
-msgid "No public-suffix list available."
-msgstr "Список публічних суфіксів недоступний."
-
-#: libsoup/soup-tld.c:160 libsoup/soup-tld.c:176
-msgid "Invalid hostname"
-msgstr "Неправильне ім'я хоста"
-
-#: libsoup/soup-tld.c:167
-msgid "Hostname is an IP address"
-msgstr "Ім'я хоста - це IP-адреса"
-
-#: libsoup/soup-tld.c:188
-msgid "Hostname has no base domain"
-msgstr "Ім'я хоста не має базового домену"
-
-#: libsoup/soup-tld.c:196
-msgid "Not enough domains"
-msgstr "Недостатньо доменів"
+# Ukrainian translation for libsoup.
+# Copyright (C) 2012 libsoup's COPYRIGHT HOLDER
+# This file is distributed under the same license as the libsoup package.
+# Mykola Tkach <Stuartlittle1970@gmail.com>, 2014.
+# Yuri Chornoivan <yurchor@ukr.net>, 2020.
+msgid ""
+msgstr ""
+"Project-Id-Version: libsoup master\n"
+"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/libsoup/issues\n"
+"POT-Creation-Date: 2020-06-26 17:08+0000\n"
+"PO-Revision-Date: 2020-06-26 20:10+0300\n"
+"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
+"Language-Team: Ukrainian <kde-i18n-uk@kde.org>\n"
+"Language: uk\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<"
+"=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+"X-Generator: Lokalize 20.07.70\n"
+"X-Project-Style: gnome\n"
+
+#: libsoup/soup-body-input-stream.c:139 libsoup/soup-body-input-stream.c:170
+#: libsoup/soup-body-input-stream.c:203 libsoup/soup-message-io.c:236
+msgid "Connection terminated unexpectedly"
+msgstr "Несподівано зв'язок розірвано"
+
+#: libsoup/soup-body-input-stream.c:459
+msgid "Invalid seek request"
+msgstr "Неправильний пошуковий запит"
+
+#: libsoup/soup-body-input-stream.c:487
+msgid "Cannot truncate SoupBodyInputStream"
+msgstr "Не вдається обрізати SoupBodyInputStream"
+
+#: libsoup/soup-cache-input-stream.c:76
+msgid "Network stream unexpectedly closed"
+msgstr "Мережевий потік несподівано закрився"
+
+#: libsoup/soup-cache-input-stream.c:291
+msgid "Failed to completely cache the resource"
+msgstr "Не вдалося повністю кешувати ресурс"
+
+#: libsoup/soup-directory-input-stream.c:231
+msgid "Name"
+msgstr "Назва"
+
+#: libsoup/soup-directory-input-stream.c:232
+msgid "Size"
+msgstr "Розмір"
+
+#: libsoup/soup-directory-input-stream.c:233
+msgid "Date Modified"
+msgstr "Дата зміни"
+
+#: libsoup/soup-converter-wrapper.c:189
+#, c-format
+msgid "Output buffer is too small"
+msgstr "Вихідний буфер замалий"
+
+#: libsoup/soup-message-client-io.c:39
+msgid "Could not parse HTTP response"
+msgstr "Не вдалося проаналізувати відповідь HTTP"
+
+#: libsoup/soup-message-client-io.c:62
+msgid "Unrecognized HTTP response encoding"
+msgstr "Нерозпізнане кодування відповіді HTTP"
+
+#: libsoup/soup-message-io.c:261
+msgid "Header too big"
+msgstr "Заголовок завеликий"
+
+#: libsoup/soup-message-io.c:393 libsoup/soup-message-io.c:1016
+msgid "Operation would block"
+msgstr "Операція блокується"
+
+#: libsoup/soup-message-io.c:968 libsoup/soup-message-io.c:1001
+msgid "Operation was cancelled"
+msgstr "Операцію скасовано"
+
+#: libsoup/soup-message-server-io.c:63
+msgid "Could not parse HTTP request"
+msgstr "Не вдалося проаналізувати запит HTTP"
+
+#: libsoup/soup-request.c:141
+#, c-format
+msgid "No URI provided"
+msgstr "Не надано URI"
+
+#: libsoup/soup-request.c:151
+#, c-format
+msgid "Invalid “%s” URI: %s"
+msgstr "Неправильний “%s” URI: %s"
+
+#: libsoup/soup-server.c:1810
+msgid "Can’t create a TLS server without a TLS certificate"
+msgstr "Неможливо створити сервер TLS без сертифіката TLS"
+
+#: libsoup/soup-server.c:1827
+#, c-format
+msgid "Could not listen on address %s, port %d: "
+msgstr "Не вдалося почати прослуховування за адресою %s, порт %d: "
+
+#: libsoup/soup-session.c:4570
+#, c-format
+msgid "Could not parse URI “%s”"
+msgstr "Не вдалося проаналізувати URI \"%s\""
+
+#: libsoup/soup-session.c:4607
+#, c-format
+msgid "Unsupported URI scheme “%s”"
+msgstr "Непідтримувана схема URI \"%s\""
+
+#: libsoup/soup-session.c:4629
+#, c-format
+msgid "Not an HTTP URI"
+msgstr "URI не в форматі HTTP"
+
+#: libsoup/soup-session.c:4840
+msgid "The server did not accept the WebSocket handshake."
+msgstr "Сервер не прийняв рукостискання WebSocket."
+
+#: libsoup/soup-socket.c:148
+msgid "Can’t import non-socket as SoupSocket"
+msgstr "Неможливо імпортувати об’єкти відмінні від сокета як SoupSocket"
+
+#: libsoup/soup-socket.c:166
+msgid "Could not import existing socket: "
+msgstr "Не вдалося імпортувати наявний сокет: "
+
+#: libsoup/soup-socket.c:175
+msgid "Can’t import unconnected socket"
+msgstr "Неможливо імпортувати непід'єднаний сокет"
+
+#: libsoup/soup-websocket.c:479 libsoup/soup-websocket.c:523
+#: libsoup/soup-websocket.c:539
+msgid "Server requested unsupported extension"
+msgstr "Сервер запросив непідтримуване розширення"
+
+#: libsoup/soup-websocket.c:502 libsoup/soup-websocket.c:694
+#, c-format
+msgid "Incorrect WebSocket “%s” header"
+msgstr "Неправильний заголовок “%s” WebSocket"
+
+#: libsoup/soup-websocket.c:503 libsoup/soup-websocket.c:1024
+#, c-format
+msgid "Server returned incorrect “%s” key"
+msgstr "Сервер повернув неправильний ключ “%s”"
+
+#: libsoup/soup-websocket.c:566
+#, c-format
+msgid "Duplicated parameter in “%s” WebSocket extension header"
+msgstr "Дублювання параметра у заголовку розширення вебсокету «%s»"
+
+#: libsoup/soup-websocket.c:567
+#, c-format
+msgid ""
+"Server returned a duplicated parameter in “%s” WebSocket extension header"
+msgstr ""
+"Сервером повернуто дубльований параметр у заголовку розширення вебсокету «%s»"
+
+#: libsoup/soup-websocket.c:658 libsoup/soup-websocket.c:667
+msgid "WebSocket handshake expected"
+msgstr "Очікується рукостискання WebSocket"
+
+#: libsoup/soup-websocket.c:675
+msgid "Unsupported WebSocket version"
+msgstr "Непідтримувана версія WebSocket"
+
+#: libsoup/soup-websocket.c:684
+msgid "Invalid WebSocket key"
+msgstr "Невірний ключ WebSocket"
+
+#: libsoup/soup-websocket.c:703
+msgid "Unsupported WebSocket subprotocol"
+msgstr "Непідтримуваний підпротокол WebSocket"
+
+#: libsoup/soup-websocket.c:975
+msgid "Server rejected WebSocket handshake"
+msgstr "Сервер відхилив рукостискання WebSocket"
+
+#: libsoup/soup-websocket.c:983 libsoup/soup-websocket.c:992
+msgid "Server ignored WebSocket handshake"
+msgstr "Сервер проігнорував рукостискання WebSocket"
+
+#: libsoup/soup-websocket.c:1004
+msgid "Server requested unsupported protocol"
+msgstr "Сервер запросив протокол, який не підтримується"
+
+#: libsoup/soup-tld.c:150
+msgid "No public-suffix list available."
+msgstr "Список публічних суфіксів недоступний."
+
+#: libsoup/soup-tld.c:160 libsoup/soup-tld.c:176
+msgid "Invalid hostname"
+msgstr "Неправильне ім'я хоста"
+
+#: libsoup/soup-tld.c:167
+msgid "Hostname is an IP address"
+msgstr "Ім'я хоста - це IP-адреса"
+
+#: libsoup/soup-tld.c:188
+msgid "Hostname has no base domain"
+msgstr "Ім'я хоста не має базового домену"
+
+#: libsoup/soup-tld.c:196
+msgid "Not enough domains"
+msgstr "Недостатньо доменів"
diff --git a/po/zh_CN.po b/po/zh_CN.po
index d65615ca..4d16fba2 100644
--- a/po/zh_CN.po
+++ b/po/zh_CN.po
@@ -1,32 +1,31 @@
# Chinese (China) translation for libsoup.
-# Copyright (C) 2012-2018 libsoup's COPYRIGHT HOLDER
+# Copyright (C) 2012-2019 libsoup's COPYRIGHT HOLDER
# This file is distributed under the same license as the libsoup package.
# hmasterwang <hmasterwang@gmail.com>, 2012.
# Alpha Cheng <hmasterwang@gmail.com>, 2012.
# Cheng Lu <chenglu1990@gmail.com>, 2012.
# YunQiang Su <wzssyqa@gmail.com>, 2012.
-# Dingzhong Chen <wsxy162@@gmail.com>, 2017, 2018.
# Aron Xu <aronxu@gnome.org>, 2018.
# Mingcong Bai <jeffbai@aosc.xyz>, 2018.
+# Dingzhong Chen <wsxy162@gmail.com>, 2017-2019.
#
msgid ""
msgstr ""
"Project-Id-Version: libsoup master\n"
-"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?"
-"product=libsoup&keywords=I18N+L10N&component=Misc\n"
-"POT-Creation-Date: 2018-04-13 08:29+0000\n"
-"PO-Revision-Date: 2018-05-10 12:08-0500\n"
-"Last-Translator: Mingcong Bai <jeffbai@aosc.xyz>\n"
+"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/libsoup/issues\n"
+"POT-Creation-Date: 2020-06-26 17:08+0000\n"
+"PO-Revision-Date: 2020-07-01 20:29-0400\n"
+"Last-Translator: Boyuan Yang <073plan@gmail.com>\n"
"Language-Team: Chinese (China) <i18n-zh@googlegroups.com>\n"
"Language: zh_CN\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-"X-Generator: Poedit 2.0.6\n"
+"X-Generator: Poedit 2.3.1\n"
#: libsoup/soup-body-input-stream.c:139 libsoup/soup-body-input-stream.c:170
-#: libsoup/soup-body-input-stream.c:203 libsoup/soup-message-io.c:238
+#: libsoup/soup-body-input-stream.c:203 libsoup/soup-message-io.c:236
msgid "Connection terminated unexpectedly"
msgstr "连接异常终止"
@@ -36,7 +35,7 @@ msgstr "无效的 seek 请求"
#: libsoup/soup-body-input-stream.c:487
msgid "Cannot truncate SoupBodyInputStream"
-msgstr "无法截断 (truncate) SoupBodyInputStream"
+msgstr "无法截断(truncate)SoupBodyInputStream"
#: libsoup/soup-cache-input-stream.c:76
msgid "Network stream unexpectedly closed"
@@ -46,32 +45,44 @@ msgstr "网络流意外关闭"
msgid "Failed to completely cache the resource"
msgstr "无法完全缓存该资源"
+#: libsoup/soup-directory-input-stream.c:231
+msgid "Name"
+msgstr "名称"
+
+#: libsoup/soup-directory-input-stream.c:232
+msgid "Size"
+msgstr "大小"
+
+#: libsoup/soup-directory-input-stream.c:233
+msgid "Date Modified"
+msgstr "修改日期"
+
#: libsoup/soup-converter-wrapper.c:189
#, c-format
msgid "Output buffer is too small"
msgstr "输出缓冲区太小"
-#: libsoup/soup-message-client-io.c:41
+#: libsoup/soup-message-client-io.c:39
msgid "Could not parse HTTP response"
msgstr "无法解析 HTTP 响应"
-#: libsoup/soup-message-client-io.c:66
+#: libsoup/soup-message-client-io.c:62
msgid "Unrecognized HTTP response encoding"
msgstr "未识别的 HTTP 响应编码"
-#: libsoup/soup-message-io.c:263
+#: libsoup/soup-message-io.c:261
msgid "Header too big"
-msgstr "Header 太大"
+msgstr "首部太大"
-#: libsoup/soup-message-io.c:396 libsoup/soup-message-io.c:1024
+#: libsoup/soup-message-io.c:393 libsoup/soup-message-io.c:1016
msgid "Operation would block"
msgstr "操作将阻塞"
-#: libsoup/soup-message-io.c:976 libsoup/soup-message-io.c:1009
+#: libsoup/soup-message-io.c:968 libsoup/soup-message-io.c:1001
msgid "Operation was cancelled"
msgstr "操作被取消"
-#: libsoup/soup-message-server-io.c:64
+#: libsoup/soup-message-server-io.c:63
msgid "Could not parse HTTP request"
msgstr "无法解析 HTTP 请求"
@@ -85,31 +96,31 @@ msgstr "未提供 URI"
msgid "Invalid “%s” URI: %s"
msgstr "无效的“%s”URI:%s"
-#: libsoup/soup-server.c:1725
+#: libsoup/soup-server.c:1810
msgid "Can’t create a TLS server without a TLS certificate"
msgstr "没有 TLS 证书不能创建 TLS 服务器"
-#: libsoup/soup-server.c:1742
+#: libsoup/soup-server.c:1827
#, c-format
msgid "Could not listen on address %s, port %d: "
-msgstr "不能监听 %s 地址的 %d 端口:"
+msgstr "不能监听 %s 地址的 %d 端口:"
-#: libsoup/soup-session.c:4534
+#: libsoup/soup-session.c:4570
#, c-format
msgid "Could not parse URI “%s”"
msgstr "无法解析 URI“%s”"
-#: libsoup/soup-session.c:4571
+#: libsoup/soup-session.c:4607
#, c-format
msgid "Unsupported URI scheme “%s”"
msgstr "不支持的 URI 方案“%s”"
-#: libsoup/soup-session.c:4593
+#: libsoup/soup-session.c:4629
#, c-format
msgid "Not an HTTP URI"
msgstr "不是一个 HTTP URI"
-#: libsoup/soup-session.c:4791
+#: libsoup/soup-session.c:4840
msgid "The server did not accept the WebSocket handshake."
msgstr "服务器不接受 WebSocket 握手。"
@@ -119,54 +130,65 @@ msgstr "不能将 non-socket 作为 SoupSocket 导入"
#: libsoup/soup-socket.c:166
msgid "Could not import existing socket: "
-msgstr "不能导入已存在的套接字:"
+msgstr "不能导入已存在的套接字:"
#: libsoup/soup-socket.c:175
msgid "Can’t import unconnected socket"
msgstr "不能导入未连接的套接字"
-#: libsoup/soup-websocket.c:338 libsoup/soup-websocket.c:347
+#: libsoup/soup-websocket.c:479 libsoup/soup-websocket.c:523
+#: libsoup/soup-websocket.c:539
+msgid "Server requested unsupported extension"
+msgstr "服务器请求不支持的扩展"
+
+#: libsoup/soup-websocket.c:502 libsoup/soup-websocket.c:694
+#, c-format
+msgid "Incorrect WebSocket “%s” header"
+msgstr "不正确的 WebSocket “%s”首部"
+
+#: libsoup/soup-websocket.c:503 libsoup/soup-websocket.c:1024
+#, c-format
+msgid "Server returned incorrect “%s” key"
+msgstr "服务器返回不正确的“%s”密钥"
+
+#: libsoup/soup-websocket.c:566
+#, c-format
+msgid "Duplicated parameter in “%s” WebSocket extension header"
+msgstr "“%s”WebSocket 扩展首部中有重复的参数"
+
+#: libsoup/soup-websocket.c:567
+#, c-format
+msgid "Server returned a duplicated parameter in “%s” WebSocket extension header"
+msgstr "服务器在“%s”WebSocket 扩展首部中返回了重复的参数"
+
+#: libsoup/soup-websocket.c:658 libsoup/soup-websocket.c:667
msgid "WebSocket handshake expected"
msgstr "期待 WebSocket 握手"
-#: libsoup/soup-websocket.c:355
+#: libsoup/soup-websocket.c:675
msgid "Unsupported WebSocket version"
msgstr "不支持的 WebSocket 版本"
-#: libsoup/soup-websocket.c:364
+#: libsoup/soup-websocket.c:684
msgid "Invalid WebSocket key"
msgstr "无效的 WebSocket 密钥"
-#: libsoup/soup-websocket.c:374
-#, c-format
-msgid "Incorrect WebSocket “%s” header"
-msgstr "不正确的 WebSocket “%s”头"
-
-#: libsoup/soup-websocket.c:383
+#: libsoup/soup-websocket.c:703
msgid "Unsupported WebSocket subprotocol"
msgstr "不支持的 WebSocket 子协议"
-#: libsoup/soup-websocket.c:510
+#: libsoup/soup-websocket.c:975
msgid "Server rejected WebSocket handshake"
msgstr "服务器拒绝 WebSocket 握手"
-#: libsoup/soup-websocket.c:518 libsoup/soup-websocket.c:527
+#: libsoup/soup-websocket.c:983 libsoup/soup-websocket.c:992
msgid "Server ignored WebSocket handshake"
msgstr "服务器忽略 WebSocket 握手"
-#: libsoup/soup-websocket.c:539
+#: libsoup/soup-websocket.c:1004
msgid "Server requested unsupported protocol"
msgstr "服务器请求不支持的协议"
-#: libsoup/soup-websocket.c:549
-msgid "Server requested unsupported extension"
-msgstr "服务器请求不支持的扩展"
-
-#: libsoup/soup-websocket.c:562
-#, c-format
-msgid "Server returned incorrect “%s” key"
-msgstr "服务器返回不正确的“%s”密钥"
-
#: libsoup/soup-tld.c:150
msgid "No public-suffix list available."
msgstr "无可用的 public-suffix 列表。"
diff --git a/subprojects/sysprof.wrap b/subprojects/sysprof.wrap
new file mode 100644
index 00000000..8e8a101d
--- /dev/null
+++ b/subprojects/sysprof.wrap
@@ -0,0 +1,5 @@
+[wrap-git]
+directory=sysprof
+url=https://gitlab.gnome.org/GNOME/sysprof.git
+revision=1bb0eb7798f6a88667681229dde415ed663b1053
+depth=1
diff --git a/tests/auth-test.c b/tests/auth-test.c
index 95de60c2..8295ec32 100644
--- a/tests/auth-test.c
+++ b/tests/auth-test.c
@@ -1490,6 +1490,65 @@ do_message_has_authorization_header_test (void)
soup_test_session_abort_unref (session);
}
+static void
+cancel_after_retry_authenticate (SoupSession *session,
+ SoupMessage *msg,
+ SoupAuth *auth,
+ gboolean retrying,
+ GCancellable *cancellable)
+{
+ if (retrying) {
+ soup_session_cancel_message (session, msg, SOUP_STATUS_CANCELLED);
+ g_cancellable_cancel (cancellable);
+ } else
+ soup_auth_authenticate (auth, "user1", "wrong");
+}
+
+static void
+request_send_cb (SoupSession *session,
+ GAsyncResult *result,
+ GMainLoop *loop)
+{
+ GInputStream *stream;
+ GError *error = NULL;
+
+ stream = soup_session_send_finish (session, result, &error);
+ g_assert_null (stream);
+ g_assert_error (error, G_IO_ERROR, G_IO_ERROR_CANCELLED);
+
+ g_main_loop_quit (loop);
+}
+
+static void
+do_cancel_after_retry_test (void)
+{
+ SoupSession *session;
+ SoupMessage *msg;
+ char *uri;
+ GCancellable *cancellable;
+ GMainLoop *loop;
+
+ SOUP_TEST_SKIP_IF_NO_APACHE;
+
+ session = soup_test_session_new (SOUP_TYPE_SESSION, NULL);
+ cancellable = g_cancellable_new ();
+ g_signal_connect (session, "authenticate",
+ G_CALLBACK (cancel_after_retry_authenticate),
+ cancellable);
+
+ loop = g_main_loop_new (NULL, FALSE);
+
+ uri = g_strconcat (base_uri, "Digest/realm1/", NULL);
+ msg = soup_message_new ("GET", uri);
+ soup_session_send_async (session, msg, cancellable, (GAsyncReadyCallback)request_send_cb, loop);
+ g_main_loop_run (loop);
+
+ g_object_unref (msg);
+ g_object_unref (cancellable);
+ g_free (uri);
+ soup_test_session_abort_unref (session);
+}
+
int
main (int argc, char **argv)
{
@@ -1516,6 +1575,7 @@ main (int argc, char **argv)
g_test_add_func ("/auth/message-do-not-use-auth-cache", do_message_do_not_use_auth_cache_test);
g_test_add_func ("/auth/async-message-do-not-use-auth-cache", do_async_message_do_not_use_auth_cache_test);
g_test_add_func ("/auth/authorization-header-request", do_message_has_authorization_header_test);
+ g_test_add_func ("/auth/cancel-after-retry", do_cancel_after_retry_test);
ret = g_test_run ();
diff --git a/tests/cookies-test.c b/tests/cookies-test.c
index d25da0e9..2e2a54fc 100644
--- a/tests/cookies-test.c
+++ b/tests/cookies-test.c
@@ -36,13 +36,16 @@ server_callback (SoupServer *server, SoupMessage *msg,
typedef struct {
SoupCookieJarAcceptPolicy policy;
+ gboolean try_third_party_again;
int n_cookies;
} CookiesForPolicy;
static const CookiesForPolicy validResults[] = {
- { SOUP_COOKIE_JAR_ACCEPT_ALWAYS, 2 },
- { SOUP_COOKIE_JAR_ACCEPT_NEVER, 0 },
- { SOUP_COOKIE_JAR_ACCEPT_NO_THIRD_PARTY, 1 }
+ { SOUP_COOKIE_JAR_ACCEPT_ALWAYS, FALSE, 2 },
+ { SOUP_COOKIE_JAR_ACCEPT_NEVER, FALSE, 0 },
+ { SOUP_COOKIE_JAR_ACCEPT_GRANDFATHERED_THIRD_PARTY, FALSE, 1 },
+ { SOUP_COOKIE_JAR_ACCEPT_NO_THIRD_PARTY, FALSE, 1 },
+ { SOUP_COOKIE_JAR_ACCEPT_GRANDFATHERED_THIRD_PARTY, TRUE, 2 }
};
static void
@@ -62,13 +65,6 @@ do_cookies_accept_policy_test (void)
for (i = 0; i < G_N_ELEMENTS (validResults); i++) {
soup_cookie_jar_set_accept_policy (jar, validResults[i].policy);
- uri = soup_uri_new_with_base (first_party_uri, "/index.html");
- msg = soup_message_new_from_uri ("GET", uri);
- soup_message_set_first_party (msg, first_party_uri);
- soup_session_send_message (session, msg);
- soup_uri_free (uri);
- g_object_unref (msg);
-
/* We can't use two servers due to limitations in
* test_server, so let's swap first and third party here
* to simulate a cookie coming from a third party.
@@ -80,6 +76,22 @@ do_cookies_accept_policy_test (void)
soup_uri_free (uri);
g_object_unref (msg);
+ uri = soup_uri_new_with_base (first_party_uri, "/index.html");
+ msg = soup_message_new_from_uri ("GET", uri);
+ soup_message_set_first_party (msg, first_party_uri);
+ soup_session_send_message (session, msg);
+ soup_uri_free (uri);
+ g_object_unref (msg);
+
+ if (validResults[i].try_third_party_again) {
+ uri = soup_uri_new_with_base (first_party_uri, "/foo.jpg");
+ msg = soup_message_new_from_uri ("GET", uri);
+ soup_message_set_first_party (msg, third_party_uri);
+ soup_session_send_message (session, msg);
+ soup_uri_free (uri);
+ g_object_unref (msg);
+ }
+
l = soup_cookie_jar_all_cookies (jar);
g_assert_cmpint (g_slist_length (l), ==, validResults[i].n_cookies);
@@ -138,69 +150,86 @@ do_cookies_subdomain_policy_test (void)
g_assert_cmpint (g_slist_length (cookies), ==, 2);
g_slist_free_full (cookies, (GDestroyNotify)soup_cookie_free);
+ /* Now, we allow the "third-party" to set one cookie as the
+ * first party. Three cookies in the jar.
+ */
+ soup_cookie_jar_set_cookie_with_first_party (jar, third_party_uri, third_party_uri, "4=foo");
+ cookies = soup_cookie_jar_all_cookies (jar);
+ g_assert_cmpint (g_slist_length (cookies), ==, 3);
+ g_slist_free_full (cookies, (GDestroyNotify)soup_cookie_free);
+
+ /* Third-party cookie should now be allowed by grandfathering, though
+ * it was blocked before on the same URL. Four cookies in the jar.
+ */
+ soup_cookie_jar_set_accept_policy (jar, SOUP_COOKIE_JAR_ACCEPT_GRANDFATHERED_THIRD_PARTY);
+ soup_cookie_jar_set_cookie_with_first_party (jar, third_party_uri, uri1, "5=foo");
+ cookies = soup_cookie_jar_all_cookies (jar);
+ g_assert_cmpint (g_slist_length (cookies), ==, 4);
+ g_slist_free_full (cookies, (GDestroyNotify)soup_cookie_free);
+
/* Now some Domain attribute tests.*/
soup_cookie_jar_set_accept_policy (jar, SOUP_COOKIE_JAR_ACCEPT_ALWAYS);
/* The cookie must be rejected if the Domain is not an appropriate
- * match for the URI. Still two cookies in the jar.
+ * match for the URI. Still four cookies in the jar.
*/
- soup_cookie_jar_set_cookie (jar, uri1, "4=foo; Domain=gitlab.gnome.org");
+ soup_cookie_jar_set_cookie (jar, uri1, "6=foo; Domain=gitlab.gnome.org");
cookies = soup_cookie_jar_all_cookies (jar);
- g_assert_cmpint (g_slist_length (cookies), ==, 2);
+ g_assert_cmpint (g_slist_length (cookies), ==, 4);
g_slist_free_full (cookies, (GDestroyNotify)soup_cookie_free);
- /* Now the Domain is an appropriate match. Three cookies in the jar. */
- soup_cookie_jar_set_cookie (jar, uri1, "5=foo; Domain=gnome.org");
+ /* Now the Domain is an appropriate match. Five cookies in the jar. */
+ soup_cookie_jar_set_cookie (jar, uri1, "7=foo; Domain=gnome.org");
cookies = soup_cookie_jar_all_cookies (jar);
- g_assert_cmpint (g_slist_length (cookies), ==, 3);
+ g_assert_cmpint (g_slist_length (cookies), ==, 5);
g_slist_free_full (cookies, (GDestroyNotify)soup_cookie_free);
/* A leading dot in the domain property should not affect things.
- * This cookie should be accepted. Four cookies in the jar.
+ * This cookie should be accepted. Six cookies in the jar.
*/
- soup_cookie_jar_set_cookie (jar, uri1, "6=foo; Domain=.www.gnome.org");
+ soup_cookie_jar_set_cookie (jar, uri1, "8=foo; Domain=.www.gnome.org");
cookies = soup_cookie_jar_all_cookies (jar);
- g_assert_cmpint (g_slist_length (cookies), ==, 4);
+ g_assert_cmpint (g_slist_length (cookies), ==, 6);
g_slist_free_full (cookies, (GDestroyNotify)soup_cookie_free);
/* The cookie must be rejected if the Domain ends in a trailing dot
* but the uri doesn't.
*/
- soup_cookie_jar_set_cookie (jar, uri1, "7=foo; Domain=www.gnome.org.");
+ soup_cookie_jar_set_cookie (jar, uri1, "9=foo; Domain=www.gnome.org.");
cookies = soup_cookie_jar_all_cookies (jar);
- g_assert_cmpint (g_slist_length (cookies), ==, 4);
+ g_assert_cmpint (g_slist_length (cookies), ==, 6);
g_slist_free_full (cookies, (GDestroyNotify)soup_cookie_free);
/* The cookie should be accepted if both Domain and URI end with a trailing
- * dot and they are a match. Five cookies in the jar.
+ * dot and they are a match. Seven cookies in the jar.
*/
- soup_cookie_jar_set_cookie (jar, uri3, "8=foo; Domain=gnome.org.");
+ soup_cookie_jar_set_cookie (jar, uri3, "10=foo; Domain=gnome.org.");
cookies = soup_cookie_jar_all_cookies (jar);
- g_assert_cmpint (g_slist_length (cookies), ==, 5);
+ g_assert_cmpint (g_slist_length (cookies), ==, 7);
g_slist_free_full (cookies, (GDestroyNotify)soup_cookie_free);
/* The cookie should be rejected if URI has trailing dot but Domain doesn't.
- * Five cookies in the jar.
+ * Seven cookies in the jar.
*/
- soup_cookie_jar_set_cookie (jar, uri3, "9=foo; Domain=gnome.org");
+ soup_cookie_jar_set_cookie (jar, uri3, "11=foo; Domain=gnome.org");
cookies = soup_cookie_jar_all_cookies (jar);
- g_assert_cmpint (g_slist_length (cookies), ==, 5);
+ g_assert_cmpint (g_slist_length (cookies), ==, 7);
g_slist_free_full (cookies, (GDestroyNotify)soup_cookie_free);
- /* It should not be possible to set a cookie for a TLD. Still five
+ /* It should not be possible to set a cookie for a TLD. Still seven
* cookies in the jar.
*/
- soup_cookie_jar_set_cookie (jar, uri1, "10=foo; Domain=.org");
+ soup_cookie_jar_set_cookie (jar, uri1, "12=foo; Domain=.org");
cookies = soup_cookie_jar_all_cookies (jar);
- g_assert_cmpint (g_slist_length (cookies), ==, 5);
+ g_assert_cmpint (g_slist_length (cookies), ==, 7);
g_slist_free_full (cookies, (GDestroyNotify)soup_cookie_free);
/* It should still not be possible to set a cookie for a TLD, even if
- * we are tricksy and have a trailing dot. Still only five cookies.
+ * we are tricksy and have a trailing dot. Still only seven cookies.
*/
- soup_cookie_jar_set_cookie (jar, uri3, "11=foo; Domain=.org.");
+ soup_cookie_jar_set_cookie (jar, uri3, "13=foo; Domain=.org.");
cookies = soup_cookie_jar_all_cookies (jar);
- g_assert_cmpint (g_slist_length (cookies), ==, 5);
+ g_assert_cmpint (g_slist_length (cookies), ==, 7);
g_slist_free_full (cookies, (GDestroyNotify)soup_cookie_free);
soup_uri_free (uri1);
diff --git a/tests/forms-test.c b/tests/forms-test.c
index 349932bf..0ac199d1 100644
--- a/tests/forms-test.c
+++ b/tests/forms-test.c
@@ -90,10 +90,10 @@ do_hello_tests (gconstpointer uri)
{
int n;
-#ifndef HAVE_CURL
- g_test_skip ("/usr/bin/curl is not available");
- return;
-#endif
+ if (!have_curl()) {
+ g_test_skip ("curl is not available");
+ return;
+ }
for (n = 0; n < G_N_ELEMENTS (tests); n++) {
do_hello_test (n, FALSE, uri);
@@ -139,10 +139,10 @@ do_md5_test_curl (gconstpointer data)
char *file_arg, *str_stdout;
GError *error = NULL;
-#ifndef HAVE_CURL
- g_test_skip ("/usr/bin/curl is not available");
- return;
-#endif
+ if (!have_curl()) {
+ g_test_skip ("curl is not available");
+ return;
+ }
md5 = get_md5_data (NULL, NULL);
if (!md5)
@@ -226,10 +226,10 @@ do_form_decode_test (void)
const gchar *value;
gchar *tmp;
-#ifndef HAVE_CURL
- g_test_skip ("/usr/bin/curl is not available");
- return;
-#endif
+ if (!have_curl()) {
+ g_test_skip ("curl is not available");
+ return;
+ }
/* Test that the code handles multiple values with the same key. */
table = soup_form_decode ("foo=first&foo=second&foo=third");
diff --git a/tests/meson.build b/tests/meson.build
index 119bf166..5482aa86 100644
--- a/tests/meson.build
+++ b/tests/meson.build
@@ -23,6 +23,15 @@ test_resources = gnome.compile_resources('soup-tests',
install_dir : installed_tests_execdir,
)
+if installed_tests_enabled
+ install_data(
+ 'index.txt',
+ 'test-cert.pem',
+ 'test-key.pem',
+ install_dir : installed_tests_execdir
+ )
+endif
+
# ['name', is_parallel, extra_deps]
tests = [
['cache', true, []],
@@ -107,9 +116,6 @@ if have_apache
if installed_tests_enabled
install_data(
- 'index.txt',
- 'test-cert.pem',
- 'test-key.pem',
'htdigest',
'htpasswd',
install_dir : installed_tests_execdir,
diff --git a/tests/redirect-test.c b/tests/redirect-test.c
index ccdd4c29..e5f5fa6d 100644
--- a/tests/redirect-test.c
+++ b/tests/redirect-test.c
@@ -37,6 +37,9 @@ static TestCase tests[] = {
{ { { "GET", "/307", 307 },
{ "GET", "/", 200 },
{ NULL } }, 200, NULL },
+ { { { "GET", "/308", 308 },
+ { "GET", "/", 200 },
+ { NULL } }, 200, NULL },
{ { { "HEAD", "/301", 301 },
{ "HEAD", "/", 200 },
{ NULL } }, 200, "551190" },
@@ -52,6 +55,9 @@ static TestCase tests[] = {
{ { { "HEAD", "/307", 307 },
{ "HEAD", "/", 200 },
{ NULL } }, 200, "551190" },
+ { { { "HEAD", "/308", 308 },
+ { "HEAD", "/", 200 },
+ { NULL } }, 200, "551190" },
/* A non-redirecty response to a GET or HEAD should not */
@@ -63,8 +69,6 @@ static TestCase tests[] = {
{ NULL } }, 305, NULL },
{ { { "GET", "/306", 306 },
{ NULL } }, 306, NULL },
- { { { "GET", "/308", 308 },
- { NULL } }, 308, NULL },
{ { { "HEAD", "/300", 300 },
{ NULL } }, 300, "551190" },
{ { { "HEAD", "/304", 304 },
@@ -73,8 +77,6 @@ static TestCase tests[] = {
{ NULL } }, 305, "551190" },
{ { { "HEAD", "/306", 306 },
{ NULL } }, 306, "551190" },
- { { { "HEAD", "/308", 308 },
- { NULL } }, 308, "551190" },
/* Test double-redirect */
diff --git a/tests/server-auth-test.c b/tests/server-auth-test.c
index 34c297bc..dd92f1a6 100644
--- a/tests/server-auth-test.c
+++ b/tests/server-auth-test.c
@@ -109,10 +109,10 @@ do_server_auth_test (gconstpointer data)
{
int i = GPOINTER_TO_INT (data);
-#ifndef HAVE_CURL
- g_test_skip ("/usr/bin/curl is not available");
- return;
-#endif
+ if (!have_curl()) {
+ g_test_skip ("curl is not available");
+ return;
+ }
/* 1. No auth required. The server will ignore the
* Authorization headers completely, and the request
diff --git a/tests/session-test.c b/tests/session-test.c
index 8957a258..eb8cbc13 100644
--- a/tests/session-test.c
+++ b/tests/session-test.c
@@ -370,6 +370,46 @@ do_property_tests (void)
g_object_unref (session);
}
+static gint
+compare_by_gtype (gconstpointer a,
+ gconstpointer b)
+{
+ return G_TYPE_CHECK_INSTANCE_TYPE (a, GPOINTER_TO_SIZE (b)) ? 0 : 1;
+}
+
+static void
+do_features_test (void)
+{
+ SoupSession *session;
+ GSList *features;
+ SoupSessionFeature *feature;
+
+ session = soup_test_session_new (SOUP_TYPE_SESSION_ASYNC, NULL);
+
+ features = soup_session_get_features (session, SOUP_TYPE_SESSION_FEATURE);
+ /* SoupAuthManager is always added */
+ g_assert_cmpuint (g_slist_length (features), >=, 1);
+ g_assert_nonnull (g_slist_find_custom (features, GSIZE_TO_POINTER (SOUP_TYPE_AUTH_MANAGER), compare_by_gtype));
+ g_assert_true (soup_session_has_feature (session, SOUP_TYPE_AUTH_MANAGER));
+ feature = soup_session_get_feature (session, SOUP_TYPE_AUTH_MANAGER);
+ g_assert_true (SOUP_IS_AUTH_MANAGER (feature));
+ soup_session_remove_feature (session, feature);
+ g_assert_false (soup_session_has_feature (session, SOUP_TYPE_AUTH_MANAGER));
+ g_assert_null (soup_session_get_feature (session, SOUP_TYPE_AUTH_MANAGER));
+ g_slist_free (features);
+
+ /* HTTP, File and Data requests are always added */
+ g_assert_true (soup_session_has_feature (session, SOUP_TYPE_REQUEST_HTTP));
+ g_assert_true (soup_session_has_feature (session, SOUP_TYPE_REQUEST_FILE));
+ g_assert_true (soup_session_has_feature (session, SOUP_TYPE_REQUEST_DATA));
+ soup_session_remove_feature_by_type (session, SOUP_TYPE_REQUEST_FILE);
+ g_assert_false (soup_session_has_feature (session, SOUP_TYPE_REQUEST_FILE));
+ g_assert_true (soup_session_has_feature (session, SOUP_TYPE_REQUEST_HTTP));
+ g_assert_true (soup_session_has_feature (session, SOUP_TYPE_REQUEST_DATA));
+
+ soup_test_session_abort_unref (session);
+}
+
int
main (int argc, char **argv)
{
@@ -388,6 +428,7 @@ main (int argc, char **argv)
g_test_add_data_func ("/session/SoupSessionSync", uri, do_sync_tests);
g_test_add_data_func ("/session/priority", uri, do_priority_tests);
g_test_add_func ("/session/property", do_property_tests);
+ g_test_add_func ("/session/features", do_features_test);
ret = g_test_run ();
diff --git a/tests/sniffing-test.c b/tests/sniffing-test.c
index 7b391178..d2aa86b9 100644
--- a/tests/sniffing-test.c
+++ b/tests/sniffing-test.c
@@ -403,7 +403,9 @@ test_disabled (gconstpointer data)
uri = soup_uri_new_with_base (base_uri, path);
msg = soup_message_new_from_uri ("GET", uri);
+ g_assert_false (soup_message_is_feature_disabled (msg, SOUP_TYPE_CONTENT_SNIFFER));
soup_message_disable_feature (msg, SOUP_TYPE_CONTENT_SNIFFER);
+ g_assert_true (soup_message_is_feature_disabled (msg, SOUP_TYPE_CONTENT_SNIFFER));
g_signal_connect (msg, "content-sniffed",
G_CALLBACK (sniffing_content_sniffed), &sniffed_type);
@@ -415,7 +417,9 @@ test_disabled (gconstpointer data)
req = soup_session_request_uri (session, uri, NULL);
msg = soup_request_http_get_message (SOUP_REQUEST_HTTP (req));
+ g_assert_false (soup_message_is_feature_disabled (msg, SOUP_TYPE_CONTENT_SNIFFER));
soup_message_disable_feature (msg, SOUP_TYPE_CONTENT_SNIFFER);
+ g_assert_true (soup_message_is_feature_disabled (msg, SOUP_TYPE_CONTENT_SNIFFER));
g_object_unref (msg);
stream = soup_test_request_send (req, NULL, 0, &error);
if (stream) {
diff --git a/tests/test-utils.c b/tests/test-utils.c
index bd1bab05..0c48e506 100644
--- a/tests/test-utils.c
+++ b/tests/test-utils.c
@@ -131,6 +131,19 @@ debug_printf (int level, const char *format, ...)
va_end (args);
}
+gboolean
+have_curl(void) {
+ char *found;
+
+ found = g_find_program_in_path ("curl");
+ if (found) {
+ g_free (found);
+ return TRUE;
+ } else {
+ return FALSE;
+ }
+}
+
#ifdef HAVE_APACHE
static gboolean
@@ -189,7 +202,9 @@ apache_cmd (const char *cmd)
void
apache_init (void)
{
- if (g_getenv ("SOUP_TESTS_IN_MAKE_CHECK"))
+ /* Set this environment variable if you are already running a
+ * suitably-configured Apache server */
+ if (g_getenv ("SOUP_TESTS_ALREADY_RUNNING_APACHE"))
return;
if (!apache_cmd ("start")) {
diff --git a/tests/test-utils.h b/tests/test-utils.h
index 0bc065fc..7beb2b28 100644
--- a/tests/test-utils.h
+++ b/tests/test-utils.h
@@ -42,6 +42,8 @@ void apache_cleanup (void);
} G_STMT_END
#endif
+gboolean have_curl (void);
+
typedef enum {
SOUP_TEST_REQUEST_NONE = 0,
SOUP_TEST_REQUEST_CANCEL_MESSAGE = (1 << 0),
diff --git a/tests/uri-parsing-test.c b/tests/uri-parsing-test.c
index 85f09b9e..d463f1f4 100644
--- a/tests/uri-parsing-test.c
+++ b/tests/uri-parsing-test.c
@@ -466,7 +466,8 @@ static struct {
{ "foo bar", NULL, "foo%20bar" },
{ "foo bar", " ", "foo bar" },
{ "fo\xc3\xb6" "bar", NULL, "fo%C3%B6bar" },
- { "fo\xc3\xb6 bar", " ", "fo%C3%B6 bar" }
+ { "fo\xc3\xb6 bar", " ", "fo%C3%B6 bar" },
+ { "%", NULL, "%" },
};
static int num_normalization_tests = G_N_ELEMENTS (normalization_tests);
@@ -563,6 +564,14 @@ do_data_tests (void)
soup_test_session_abort_unref (session);
}
+static void
+test_uri_decode (void)
+{
+ gchar *decoded = soup_uri_decode ("%");
+ g_assert_cmpstr (decoded, ==, "%");
+ g_free (decoded);
+}
+
int
main (int argc, char **argv)
{
@@ -576,6 +585,7 @@ main (int argc, char **argv)
g_test_add_func ("/uri/null", do_soup_uri_null_tests);
g_test_add_func ("/uri/normalization", do_normalization_tests);
g_test_add_func ("/uri/data", do_data_tests);
+ g_test_add_func ("/uri/decode", test_uri_decode);
ret = g_test_run ();