summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Young <chris@unsatisfactorysoftware.co.uk>2012-05-20 16:29:57 +0000
committerChris Young <chris@unsatisfactorysoftware.co.uk>2012-05-20 16:29:57 +0000
commit9458ed77abb91bcf2df5400c6c3ac57a1f43ddbe (patch)
tree95cebe7f068f6f643a9fbbaa1da4fb9c5524e6c8
parent8ffc6439a75f54ed77aa770c464297c80cedb195 (diff)
downloadnetsurf-9458ed77abb91bcf2df5400c6c3ac57a1f43ddbe.tar.gz
netsurf-9458ed77abb91bcf2df5400c6c3ac57a1f43ddbe.tar.bz2
Add support for sending DoNotTrack header.
svn path=/trunk/netsurf/; revision=13928
-rw-r--r--content/fetchers/curl.c4
-rw-r--r--desktop/options_main.h5
2 files changed, 9 insertions, 0 deletions
diff --git a/content/fetchers/curl.c b/content/fetchers/curl.c
index 6b94390d4..4c19ab4f6 100644
--- a/content/fetchers/curl.c
+++ b/content/fetchers/curl.c
@@ -424,6 +424,10 @@ void * fetch_curl_setup(struct fetch *parent_fetch, nsurl *url,
APPEND(fetch->headers, s);
}
+ if (nsoption_bool(do_not_track) == true) {
+ APPEND(fetch->headers, "DNT: 1");
+ }
+
/* And add any headers specified by the caller */
for (i = 0; headers[i] != NULL; i++) {
APPEND(fetch->headers, headers[i]);
diff --git a/desktop/options_main.h b/desktop/options_main.h
index 96e32aedd..d56d3a446 100644
--- a/desktop/options_main.h
+++ b/desktop/options_main.h
@@ -70,6 +70,9 @@
int disc_cache_age; \
/** Whether to block advertisements */ \
bool block_ads; \
+ /** Disable website tracking, see \
+ * http://www.w3.org/Submission/2011/SUBM-web-tracking-protection-20110224/#dnt-uas */ \
+ bool do_not_track; \
/** Minimum GIF animation delay */ \
int minimum_gif_delay; \
/** Whether to send the referer HTTP header */ \
@@ -217,6 +220,7 @@
.memory_cache_size = 12 * 1024 * 1024, \
.disc_cache_age = 28, \
.block_ads = false, \
+ .do_not_track = false, \
.minimum_gif_delay = 10, \
.send_referer = true, \
.foreground_images = true, \
@@ -310,6 +314,7 @@
{ "memory_cache_size", OPTION_INTEGER, &nsoptions.memory_cache_size }, \
{ "disc_cache_age", OPTION_INTEGER, &nsoptions.disc_cache_age }, \
{ "block_advertisements", OPTION_BOOL, &nsoptions.block_ads }, \
+ { "do_not_track", OPTION_BOOL, &nsoptions.do_not_track }, \
{ "minimum_gif_delay", OPTION_INTEGER, &nsoptions.minimum_gif_delay }, \
{ "send_referer", OPTION_BOOL, &nsoptions.send_referer }, \
{ "foreground_images", OPTION_BOOL, &nsoptions.foreground_images }, \