projects
/
privoxy.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add keep-alive support for https-inspected connections
[privoxy.git]
/
jbsockets.c
diff --git
a/jbsockets.c
b/jbsockets.c
index
625d830
..
5e4b28c
100644
(file)
--- a/
jbsockets.c
+++ b/
jbsockets.c
@@
-8,7
+8,7
@@
* on many platforms.
*
* Copyright : Written by and Copyright (C) 2001-2017 the
* on many platforms.
*
* Copyright : Written by and Copyright (C) 2001-2017 the
- * Privoxy team. http://www.privoxy.org/
+ * Privoxy team. http
s
://www.privoxy.org/
*
* Based on the Internet Junkbuster originally written
* by and Copyright (C) 1997 Anonymous Coders and
*
* Based on the Internet Junkbuster originally written
* by and Copyright (C) 1997 Anonymous Coders and
@@
-218,7
+218,7
@@
static jb_socket rfc2553_connect_to(const char *host, int portnum, struct client
#endif
int connect_failed;
/*
#endif
int connect_failed;
/*
- * XXX: Initializ
e
ing it here is only necessary
+ * XXX: Initializing it here is only necessary
* because not all situations are properly
* covered yet.
*/
* because not all situations are properly
* covered yet.
*/
@@
-254,10
+254,10
@@
static jb_socket rfc2553_connect_to(const char *host, int portnum, struct client
{
log_error(LOG_LEVEL_INFO,
"Can not resolve %s: %s", host, gai_strerror(retval));
{
log_error(LOG_LEVEL_INFO,
"Can not resolve %s: %s", host, gai_strerror(retval));
- /* XXX: Should find a better way to propagate this error. */
- errno = EINVAL;
csp->error_message = strdup(gai_strerror(retval));
csp->http->host_ip_addr_str = strdup("unknown");
csp->error_message = strdup(gai_strerror(retval));
csp->http->host_ip_addr_str = strdup("unknown");
+ /* XXX: Should find a better way to propagate this error. */
+ errno = EINVAL;
return(JB_INVALID_SOCKET);
}
return(JB_INVALID_SOCKET);
}
@@
-1068,6
+1068,10
@@
int bind_port(const char *hostnam, int portnum, int backlog, jb_socket *pfd)
setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, (char *)&one, sizeof(one));
#endif /* ndef _WIN32 */
setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, (char *)&one, sizeof(one));
#endif /* ndef _WIN32 */
+#ifdef IP_FREEBIND
+ setsockopt(fd, IPPROTO_IP, IP_FREEBIND, (char *)&one, sizeof(one));
+#endif
+
#ifdef HAVE_RFC2553
if (bind(fd, rp->ai_addr, rp->ai_addrlen) < 0)
#else
#ifdef HAVE_RFC2553
if (bind(fd, rp->ai_addr, rp->ai_addrlen) < 0)
#else
@@
-1319,7
+1323,7
@@
int accept_connection(struct client_state * csp, jb_socket fds[])
#endif
jb_socket afd;
#if defined(_WIN32) || defined(__OS2__)
#endif
jb_socket afd;
#if defined(_WIN32) || defined(__OS2__)
- /* W
ie
rdness - fix a warning. */
+ /* W
ei
rdness - fix a warning. */
int c_length;
#else
socklen_t c_length;
int c_length;
#else
socklen_t c_length;