handler: make 'protocol' always specified as a single bit
authorDaniel Stenberg <daniel@haxx.se>
Sun, 20 Apr 2014 17:37:54 +0000 (19:37 +0200)
committerDaniel Stenberg <daniel@haxx.se>
Wed, 23 Apr 2014 20:36:01 +0000 (22:36 +0200)
commit710f14edba4491a4ac9222a7e3103b51fd30dbe0
tree18b564248ec40eb30d030a8e246b3ecda3715ce6
parentcf9342e275b784f5a6006f833b33b40043f228d4
handler: make 'protocol' always specified as a single bit

This makes the findprotocol() function work as intended so that libcurl
can properly be restricted to not support HTTP while still supporting
HTTPS - since the HTTPS handler previously set both the HTTP and HTTPS
bits in the protocol field.

This fixes --proto and --proto-redir for most SSL protocols.

This is done by adding a few new convenience defines that groups HTTP
and HTTPS, FTP and FTPS etc that should then be used when the code wants
to check for both protocols at once. PROTO_FAMILY_[protocol] style.

Bug: https://github.com/bagder/curl/pull/97
Reported-by: drizzt
lib/ftp.c
lib/http.c
lib/http2.c
lib/imap.c
lib/ldap.c
lib/pop3.c
lib/sendf.c
lib/smtp.c
lib/transfer.c
lib/url.c
lib/urldata.h