]> granicus.if.org Git - curl/commit
protocol handler: added flags field
authorDaniel Stenberg <daniel@haxx.se>
Mon, 14 Mar 2011 21:22:22 +0000 (22:22 +0100)
committerDaniel Stenberg <daniel@haxx.se>
Mon, 14 Mar 2011 21:22:22 +0000 (22:22 +0100)
commit8831000bc07de463d277975a3ddfb6a31dcf14b4
tree0313bc919a3ee27021c352e9efad38ad8c62407e
parented8749e308a9ed0da49ad46b8b2ba5e8aae80244
protocol handler: added flags field

The protocol handler struct got a 'flags' field for special information
and characteristics of the given protocol.

This now enables us to move away central protocol information such as
CLOSEACTION and DUALCHANNEL from single defines in a central place, out
to each protocol's definition. It also made us stop abusing the protocol
field for other info than the protocol, and we could start cleaning up
other protocol-specific things by adding flags bits to set in the
handler struct.

The "protocol" field connectdata struct was removed as well and the code
now refers directly to the conn->handler->protocol field instead. To
make things work properly, the code now always store a conn->given
pointer that points out the original handler struct so that the code can
learn details from the original protocol even if conn->handler is
modified along the way - for example when switching to go over a HTTP
proxy.
19 files changed:
lib/curl_rtmp.c
lib/dict.c
lib/file.c
lib/ftp.c
lib/gopher.c
lib/http.c
lib/imap.c
lib/multi.c
lib/openldap.c
lib/pop3.c
lib/rtsp.c
lib/sendf.c
lib/smtp.c
lib/ssh.c
lib/telnet.c
lib/tftp.c
lib/transfer.c
lib/url.c
lib/urldata.h