re-added the RFC2732-parser that was lost for some reason during the flow
of time!
This commit is contained in:
Родитель
20d8e32a58
Коммит
215c445583
14
lib/url.c
14
lib/url.c
|
@ -1391,6 +1391,7 @@ static CURLcode CreateConnection(struct SessionHandle *data,
|
||||||
#ifdef HAVE_ALARM
|
#ifdef HAVE_ALARM
|
||||||
unsigned int prev_alarm;
|
unsigned int prev_alarm;
|
||||||
#endif
|
#endif
|
||||||
|
char endbracket;
|
||||||
|
|
||||||
#ifdef HAVE_SIGACTION
|
#ifdef HAVE_SIGACTION
|
||||||
struct sigaction keep_sigact; /* store the old struct here */
|
struct sigaction keep_sigact; /* store the old struct here */
|
||||||
|
@ -1980,8 +1981,19 @@ static CURLcode CreateConnection(struct SessionHandle *data,
|
||||||
* The conn->name is currently [user:passwd@]host[:port] where host could
|
* The conn->name is currently [user:passwd@]host[:port] where host could
|
||||||
* be a hostname, IPv4 address or IPv6 address.
|
* be a hostname, IPv4 address or IPv6 address.
|
||||||
*************************************************************/
|
*************************************************************/
|
||||||
|
if((1 == sscanf(conn->name, "[%*39[0-9a-fA-F:.]%c", &endbracket)) &&
|
||||||
|
(']' == endbracket)) {
|
||||||
|
/* this is a RFC2732-style specified IP-address */
|
||||||
|
|
||||||
tmp = strrchr(conn->name, ':');
|
conn->name++; /* pass the starting bracket */
|
||||||
|
tmp = strchr(conn->name, ']');
|
||||||
|
*tmp = 0; /* zero terminate */
|
||||||
|
tmp++; /* pass the ending bracket */
|
||||||
|
if(':' != *tmp)
|
||||||
|
tmp = NULL; /* no port number available */
|
||||||
|
}
|
||||||
|
else
|
||||||
|
tmp = strrchr(conn->name, ':');
|
||||||
|
|
||||||
if (tmp) {
|
if (tmp) {
|
||||||
char *rest;
|
char *rest;
|
||||||
|
|
Загрузка…
Ссылка в новой задаче