From: Elan Ruusamäe Date: Sat, 18 Apr 2015 18:34:34 +0000 (+0300) Subject: Set the 'user.xdg.origin.url' xattr for downloaded files X-Git-Tag: auto/th/wget-1.16.3-2 X-Git-Url: http://git.pld-linux.org/?a=commitdiff_plain;h=4e0229b5f716a3d9273a85066c5c18cf5a5d0d86;p=packages%2Fwget.git Set the 'user.xdg.origin.url' xattr for downloaded files --- diff --git a/user.xdg.origin.url.patch b/user.xdg.origin.url.patch new file mode 100644 index 0000000..4d1296a --- /dev/null +++ b/user.xdg.origin.url.patch @@ -0,0 +1,93 @@ +From 2c968b81d9d9c4025379242b5f560aab441e1430 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Mantas=20Mikul=C4=97nas?= +Date: Sat, 7 Dec 2013 20:45:00 +0200 +Subject: [PATCH] Set the 'user.xdg.origin.url' xattr for downloaded files + +--- + src/ftp.c | 2 ++ + src/http.c | 2 ++ + src/url.c | 20 ++++++++++++++++++++ + src/url.h | 4 ++++ + 4 files changed, 28 insertions(+) + +diff --git a/src/ftp.c b/src/ftp.c +index 1902242..eeffd88 100644 +--- a/src/ftp.c ++++ b/src/ftp.c +@@ -1299,6 +1299,8 @@ Error in server response, closing control connection.\n")); + else + fp = output_stream; + ++ set_xa (u, fileno(fp)); ++ + if (passed_expected_bytes) + { + print_length (passed_expected_bytes, restval, true); +diff --git a/src/http.c b/src/http.c +index 53c9818..c99c417 100644 +--- a/src/http.c ++++ b/src/http.c +@@ -3123,6 +3123,8 @@ read_header: + return err; + } + ++ set_xa (u, fileno(fp)); ++ + err = read_response_body (hs, sock, fp, contlen, contrange, + chunked_transfer_encoding, + u->url, warc_timestamp_str, +diff --git a/src/url.c b/src/url.c +index df63e1c..b41d5ac 100644 +--- a/src/url.c ++++ b/src/url.c +@@ -37,6 +37,7 @@ as that of the covered work. */ + #include + #include + #include ++#include + + #include "utils.h" + #include "url.h" +@@ -2200,6 +2201,25 @@ are_urls_equal (const char *u1, const char *u2) + return (*p == 0 && *q == 0 ? true : false); + } + ++int ++set_xa (const struct url *origin, int fd) ++{ ++ const char *url; ++ int res; ++ ++ url = url_string(origin, URL_AUTH_HIDE); ++ res = fsetxattr(fd, XA_ORIGIN, url, strlen(url), 0); ++ if (res != 0) ++ { ++ if (errno == ENOTSUP) ++ res = 0; ++ else ++ logprintf (LOG_NOTQUIET, "fsetxattr: %s\n", strerror (errno)); ++ } ++ ++ return res; ++} ++ + #ifdef TESTING + /* Debugging and testing support for path_simplify. */ + +diff --git a/src/url.h b/src/url.h +index b1c46c1..72234e9 100644 +--- a/src/url.h ++++ b/src/url.h +@@ -132,4 +132,8 @@ bool schemes_are_similar_p (enum url_scheme a, enum url_scheme b); + + bool are_urls_equal (const char *u1, const char *u2); + ++#define XA_ORIGIN "user.xdg.origin.url" ++ ++int set_xa (const struct url *, int); ++ + #endif /* URL_H */ +-- +2.3.3 + + diff --git a/wget.spec b/wget.spec index 790177a..b7c0c9c 100644 --- a/wget.spec +++ b/wget.spec @@ -18,7 +18,7 @@ Summary(uk.UTF-8): Утиліта для отримання файлів по п Summary(zh_CN.UTF-8): [通讯]功能强大的下载程序,支持断点续传 Name: wget Version: 1.16.3 -Release: 1 +Release: 2 License: GPL v3+ with OpenSSL exception Group: Networking/Utilities Source0: http://ftp.gnu.org/gnu/wget/%{name}-%{version}.tar.xz @@ -29,6 +29,7 @@ Patch0: %{name}-info.patch Patch1: %{name}-wgetrc_path.patch Patch2: %{name}-home_etc.patch Patch3: %{name}-ssl-certs.patch +Patch4: user.xdg.origin.url.patch URL: http://www.gnu.org/software/wget/ BuildRequires: autoconf >= 2.61 BuildRequires: automake >= 1:1.9 @@ -131,6 +132,7 @@ Proxy серверів, настроюваність. %patch1 -p1 %patch2 -p1 %patch3 -p1 +%patch4 -p1 %{__rm} doc/wget.info doc/sample.wgetrc.munged_for_texi_inclusion po/stamp-po