diff options
author | Viktor Szakats <commit@vsz.me> | 2021-02-19 13:57:19 +0000 |
---|---|---|
committer | Viktor Szakats <commit@vsz.me> | 2021-02-19 13:57:19 +0000 |
commit | 44872aefc2d54f297caf2b0cc887df321bc9d791 (patch) | |
tree | 077ea6159543fffdaf7b224014a30088dcdcf5ae /src | |
parent | 70472a44deaff387cf8c8c197e04f3add2a96e2e (diff) | |
download | curl-44872aefc2d54f297caf2b0cc887df321bc9d791.tar.gz |
http: add support to read and store the referrer header
- add CURLINFO_REFERER libcurl option
- add --write-out '%{referer}' command-line option
- extend --xattr command-line option to fill user.xdg.referrer.url extended
attribute with the referrer (if there was any)
Closes #6591
Diffstat (limited to 'src')
-rw-r--r-- | src/tool_writeout.c | 1 | ||||
-rw-r--r-- | src/tool_writeout.h | 3 | ||||
-rw-r--r-- | src/tool_xattr.c | 9 |
3 files changed, 8 insertions, 5 deletions
diff --git a/src/tool_writeout.c b/src/tool_writeout.c index e914dfa7b..529677818 100644 --- a/src/tool_writeout.c +++ b/src/tool_writeout.c @@ -83,6 +83,7 @@ static const struct writeoutvar variables[] = { {"proxy_ssl_verify_result", VAR_PROXY_SSL_VERIFY_RESULT, CURLINFO_PROXY_SSL_VERIFYRESULT, writeLong}, {"redirect_url", VAR_REDIRECT_URL, CURLINFO_REDIRECT_URL, writeString}, + {"referer", VAR_REFERER, CURLINFO_REFERER, writeString}, {"remote_ip", VAR_PRIMARY_IP, CURLINFO_PRIMARY_IP, writeString}, {"remote_port", VAR_PRIMARY_PORT, CURLINFO_PRIMARY_PORT, writeLong}, {"response_code", VAR_HTTP_CODE, CURLINFO_RESPONSE_CODE, writeLong}, diff --git a/src/tool_writeout.h b/src/tool_writeout.h index 2cf7d012a..b8f51ffaa 100644 --- a/src/tool_writeout.h +++ b/src/tool_writeout.h @@ -7,7 +7,7 @@ * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * - * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al. + * Copyright (C) 1998 - 2021, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms @@ -54,6 +54,7 @@ typedef enum { VAR_REDIRECT_COUNT, VAR_REDIRECT_TIME, VAR_REDIRECT_URL, + VAR_REFERER, VAR_REQUEST_SIZE, VAR_SCHEME, VAR_SIZE_DOWNLOAD, diff --git a/src/tool_xattr.c b/src/tool_xattr.c index b6a00cb01..08e92fa50 100644 --- a/src/tool_xattr.c +++ b/src/tool_xattr.c @@ -5,7 +5,7 @@ * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * - * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al. + * Copyright (C) 1998 - 2021, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms @@ -44,9 +44,10 @@ static const struct xattr_mapping { /* mappings proposed by * https://freedesktop.org/wiki/CommonExtendedAttributes/ */ - { "user.xdg.origin.url", CURLINFO_EFFECTIVE_URL }, - { "user.mime_type", CURLINFO_CONTENT_TYPE }, - { NULL, CURLINFO_NONE } /* last element, abort loop here */ + { "user.xdg.referrer.url", CURLINFO_REFERER }, + { "user.xdg.origin.url", CURLINFO_EFFECTIVE_URL }, + { "user.mime_type", CURLINFO_CONTENT_TYPE }, + { NULL, CURLINFO_NONE } /* last element, abort here */ }; /* returns TRUE if a new URL is returned, that then needs to be freed */ |