mirror of
https://github.com/moparisthebest/curl
synced 2024-11-12 04:25:08 -05:00
I removed the socklen_t use from the public curl/curl.h header and instead
made it an unsigned int. The type was only used in the curl_sockaddr struct definition (only used by the curl_opensocket_callback). On all platforms I could find information about, socklen_t is 32 unsigned bits large so I don't think this will break the API or ABI. The main reason for this change is of course for all the platforms that don't have a socklen_t definition in their headers to build fine again. Providing our own configure magic and custom definition of socklen_t on those systems proved to work but was a lot of cruft, code and extra magic needed - when this very small change of type seems harmless and still solves the missing socklen_t problem.
This commit is contained in:
parent
a46b40b7fd
commit
193d33fd4a
11
CHANGES
11
CHANGES
@ -7,6 +7,17 @@
|
|||||||
Changelog
|
Changelog
|
||||||
|
|
||||||
Daniel S (2 Jan 2008)
|
Daniel S (2 Jan 2008)
|
||||||
|
- I removed the socklen_t use from the public curl/curl.h header and instead
|
||||||
|
made it an unsigned int. The type was only used in the curl_sockaddr struct
|
||||||
|
definition (only used by the curl_opensocket_callback). On all platforms I
|
||||||
|
could find information about, socklen_t is 32 unsigned bits large so I don't
|
||||||
|
think this will break the API or ABI. The main reason for this change is of
|
||||||
|
course for all the platforms that don't have a socklen_t definition in their
|
||||||
|
headers to build fine again. Providing our own configure magic and custom
|
||||||
|
definition of socklen_t on those systems proved to work but was a lot of
|
||||||
|
cruft, code and extra magic needed - when this very small change of type
|
||||||
|
seems harmless and still solves the missing socklen_t problem.
|
||||||
|
|
||||||
- Richard Atterer brought a patch that added support for SOCKS4a proxies,
|
- Richard Atterer brought a patch that added support for SOCKS4a proxies,
|
||||||
which is an inofficial PROXY4 variant that sends the hostname to the proxy
|
which is an inofficial PROXY4 variant that sends the hostname to the proxy
|
||||||
instead of the resolved address (which is already supported by SOCKS5).
|
instead of the resolved address (which is already supported by SOCKS5).
|
||||||
|
@ -29,7 +29,6 @@ This release includes the following bugfixes:
|
|||||||
o SSL connections with NSS done with the multi-interface
|
o SSL connections with NSS done with the multi-interface
|
||||||
o setting a share no longer activates cookies
|
o setting a share no longer activates cookies
|
||||||
o Negotiate now works on auth and proxy simultanouesly
|
o Negotiate now works on auth and proxy simultanouesly
|
||||||
o curl.h now includes a socklen_t definition for Win32 API build targets
|
|
||||||
o support HTTP Digest nonces up to 1023 letters
|
o support HTTP Digest nonces up to 1023 letters
|
||||||
o resumed ftp upload no longer requires the read callback to return full
|
o resumed ftp upload no longer requires the read callback to return full
|
||||||
buffers
|
buffers
|
||||||
@ -42,6 +41,7 @@ This release includes the following bugfixes:
|
|||||||
o SSL session ID cache memory leak
|
o SSL session ID cache memory leak
|
||||||
o bad connection re-use check with environment variable-activated proxy use
|
o bad connection re-use check with environment variable-activated proxy use
|
||||||
o --libcurl now generates a return statement as well
|
o --libcurl now generates a return statement as well
|
||||||
|
o socklen_t is no longer used in the public includes
|
||||||
|
|
||||||
This release includes the following known bugs:
|
This release includes the following known bugs:
|
||||||
|
|
||||||
|
@ -85,23 +85,6 @@ extern "C" {
|
|||||||
|
|
||||||
typedef void CURL;
|
typedef void CURL;
|
||||||
|
|
||||||
/*
|
|
||||||
* Windows build targets have socklen_t definition in
|
|
||||||
* ws2tcpip.h but some versions of ws2tcpip.h do not
|
|
||||||
* have the definition. It seems that when the socklen_t
|
|
||||||
* definition is missing from ws2tcpip.h the definition
|
|
||||||
* for INET_ADDRSTRLEN is also missing, and that when one
|
|
||||||
* definition is present the other one also is available.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#if defined(WIN32) && !defined(HAVE_SOCKLEN_T)
|
|
||||||
# if ( defined(_MSC_VER) && !defined(INET_ADDRSTRLEN) ) || \
|
|
||||||
(!defined(_MSC_VER) && !defined(_WS2TCPIP_H_) && !defined(_WS2TCPIP_H) )
|
|
||||||
# define socklen_t int
|
|
||||||
# define HAVE_SOCKLEN_T
|
|
||||||
# endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Decorate exportable functions for Win32 DLL linking.
|
* Decorate exportable functions for Win32 DLL linking.
|
||||||
* This avoids using a .def file for building libcurl.dll.
|
* This avoids using a .def file for building libcurl.dll.
|
||||||
@ -274,7 +257,9 @@ struct curl_sockaddr {
|
|||||||
int family;
|
int family;
|
||||||
int socktype;
|
int socktype;
|
||||||
int protocol;
|
int protocol;
|
||||||
socklen_t addrlen;
|
unsigned int addrlen; /* addrlen was a socklen_t type before 7.17.2 but it
|
||||||
|
turned really ugly and painful on the systems that
|
||||||
|
lack this type */
|
||||||
struct sockaddr addr;
|
struct sockaddr addr;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user