# HG changeset patch
# User Hiltjo Posthuma <hiltjo@codemadness.org>
# Date 1353106105 -3600
# Node ID 7f0985ea58673f7139f7474057b5751c48923e71
# Parent  ffbff8ee3befc082cce72bd548621af7af524898
support referer for downloads

add referer argument to DOWNLOAD macro so it can be set by your favorite
download program. Some site check the referer to prevent external linking,
if the HTTP referer header isn't passed these downloads won't work.

diff -r ffbff8ee3bef -r 7f0985ea5867 config.def.h
--- a/config.def.h	Fri Nov 16 22:31:36 2012 +0100
+++ b/config.def.h	Fri Nov 16 23:48:25 2012 +0100
@@ -24,11 +24,12 @@
 	"prop=\"`xprop -id $2 $0 | cut -d '\"' -f 2 | dmenu`\" &&" \
 	"xprop -id $2 -f $1 8s -set $1 \"$prop\"", \
 	p, q, winid, NULL } }
-#define DOWNLOAD(d) {			  \
+#define DOWNLOAD(d, r) {			  \
 	.v = (char *[]){ "/bin/sh", "-c", \
 	"xterm -e \"wget '$0' \
 --load-cookies ~/.surf/cookies.txt \
---user-agent '$1' ; sleep 5\"", d, useragent, NULL } }
+--user-agent '$1' \
+--referer '$2' ; sleep 5\"", d, useragent, r, NULL } }
 #define MODKEY GDK_CONTROL_MASK
 static Key keys[] = {
     /* modifier	            keyval      function    arg             Focus */
diff -r ffbff8ee3bef -r 7f0985ea5867 surf.c
--- a/surf.c	Fri Nov 16 22:31:36 2012 +0100
+++ b/surf.c	Fri Nov 16 23:48:25 2012 +0100
@@ -430,7 +430,7 @@
 	Arg arg;
 
 	updatewinid(c);
-	arg = (Arg)DOWNLOAD((char *)webkit_download_get_uri(o));
+	arg = (Arg)DOWNLOAD((char *)webkit_download_get_uri(o), geturi(c));
 	spawn(c, &arg);
 	return FALSE;
 }
