179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
|
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
|
-
-
-
+
+
+
+
+
-
-
+
+
|
static int establish_proxy_tunnel(BIO *bio){
int rc, httpVerMin;
char *connStr, *bbuf;
Blob reply;
int done=0,end=0;
if( !g.urlProxyAuth ){
connStr = mprintf("CONNECT %s:%d HTTP/1.1\r\n"
"Host: %s\r\n\r\n"
"Proxy-Connection: keep-alive\r\n", g.urlHostname, g.proxyOrigPort,
g.urlHostname);
"Host: %s\r\n"
"Proxy-Connection: keep-alive\r\n",
"User-Agent: Fossil/" RELEASE_VERSION "\r\n\r\n",
g.urlHostname, g.proxyOrigPort, g.urlHostname);
}else{
connStr = mprintf("CONNECT %s:%d HTTP/1.1\r\n"
"Host: %s\r\n"
"Proxy-Connection: keep-alive\r\n"
"User-Agent: Fossil/" RELEASE_VERSION "\r\n",
"Proxy-Authorization: %s\r\n\r\n", g.urlHostname, g.proxyOrigPort,
g.urlHostname, g.urlProxyAuth);
"Proxy-Authorization: %s\r\n\r\n",
g.urlHostname, g.proxyOrigPort, g.urlHostname, g.urlProxyAuth);
}
BIO_write(bio, connStr, strlen(connStr));
free(connStr);
/* Wait for end of reply */
blob_zero(&reply);
do{
|