summaryrefslogtreecommitdiff
path: root/www/curl/patches/patch-ae
diff options
context:
space:
mode:
Diffstat (limited to 'www/curl/patches/patch-ae')
-rw-r--r--www/curl/patches/patch-ae55
1 files changed, 55 insertions, 0 deletions
diff --git a/www/curl/patches/patch-ae b/www/curl/patches/patch-ae
new file mode 100644
index 00000000000..bf5001b9d3b
--- /dev/null
+++ b/www/curl/patches/patch-ae
@@ -0,0 +1,55 @@
+$NetBSD: patch-ae,v 1.1.2.1 2009/03/15 15:07:23 tron Exp $
+
+Taken from http://curl.haxx.se/CVE-2009-0037/curl-7.18.1-CVE-2009-0037.patch
+
+--- lib/urldata.h.orig
++++ lib/urldata.h
+@@ -863,19 +863,26 @@ struct connectdata {
+ long connectindex; /* what index in the connection cache connects index this
+ particular struct has */
+ long protocol; /* PROT_* flags concerning the protocol set */
+-#define PROT_MISSING (1<<0)
+-#define PROT_HTTP (1<<2)
+-#define PROT_HTTPS (1<<3)
+-#define PROT_FTP (1<<4)
+-#define PROT_TELNET (1<<5)
+-#define PROT_DICT (1<<6)
+-#define PROT_LDAP (1<<7)
+-#define PROT_FILE (1<<8)
+-#define PROT_FTPS (1<<9)
+-#define PROT_SSL (1<<10) /* protocol requires SSL */
+-#define PROT_TFTP (1<<11)
+-#define PROT_SCP (1<<12)
+-#define PROT_SFTP (1<<13)
++#define PROT_HTTP CURLPROTO_HTTP
++#define PROT_HTTPS CURLPROTO_HTTPS
++#define PROT_FTP CURLPROTO_FTP
++#define PROT_TELNET CURLPROTO_TELNET
++#define PROT_DICT CURLPROTO_DICT
++#define PROT_LDAP CURLPROTO_LDAP
++#define PROT_FILE CURLPROTO_FILE
++#define PROT_FTPS CURLPROTO_FTPS
++#define PROT_TFTP CURLPROTO_TFTP
++#define PROT_SCP CURLPROTO_SCP
++#define PROT_SFTP CURLPROTO_SFTP
++
++/* CURLPROTO_TFTP (1<<11) is currently the highest used bit in the public
++ bitmask. We make sure we use "private bits" above the first 16 to make
++ things easier. */
++
++#define PROT_EXTMASK 0xffff
++
++#define PROT_SSL (1<<22) /* protocol requires SSL */
++#define PROT_MISSING (1<<23)
+
+ #define PROT_CLOSEACTION PROT_FTP /* these ones need action before socket
+ close */
+@@ -1467,6 +1474,8 @@ struct UserDefined {
+ bool proxy_transfer_mode; /* set transfer mode (;type=<a|i>) when doing FTP
+ via an HTTP proxy */
+ char *str[STRING_LAST]; /* array of strings, pointing to allocated memory */
++ long allowed_protocols;
++ long redir_protocols;
+ };
+
+ struct Names {