comparison src/proxy.c @ 9227:9171e528d7e5

[gaim-migrate @ 10023] Patch by Don Seiler (aka rizzo) to add two additional parameters to gaim_url_parse(), which are used for storing the username and password from the URL, if they exist. committer: Tailor Script <tailor@pidgin.im>
author Christian Hammond <chipx86@chipx86.com>
date Mon, 07 Jun 2004 04:01:00 +0000
parents 39155e87c470
children 5332ebbf437b
comparison
equal deleted inserted replaced
9226:7a00289f2ef1 9227:9171e528d7e5
1444 1444
1445 if (gaim_proxy_info_get_type(phb->gpi) == GAIM_PROXY_USE_ENVVAR) { 1445 if (gaim_proxy_info_get_type(phb->gpi) == GAIM_PROXY_USE_ENVVAR) {
1446 if ((tmp = g_getenv("HTTP_PROXY")) != NULL || 1446 if ((tmp = g_getenv("HTTP_PROXY")) != NULL ||
1447 (tmp = g_getenv("http_proxy")) != NULL || 1447 (tmp = g_getenv("http_proxy")) != NULL ||
1448 (tmp= g_getenv("HTTPPROXY")) != NULL) { 1448 (tmp= g_getenv("HTTPPROXY")) != NULL) {
1449 char *proxyhost,*proxypath; 1449 char *proxyhost,*proxypath,*proxyuser,*proxypasswd;
1450 int proxyport; 1450 int proxyport;
1451 1451
1452 /* http_proxy-format: 1452 /* http_proxy-format:
1453 * export http_proxy="http://your.proxy.server:port/" 1453 * export http_proxy="http://user:passwd@your.proxy.server:port/"
1454 */ 1454 */
1455 if(gaim_url_parse(tmp, &proxyhost, &proxyport, &proxypath)) { 1455 if(gaim_url_parse(tmp, &proxyhost, &proxyport, &proxypath, &proxyuser, &proxypasswd)) {
1456 gaim_proxy_info_set_host(phb->gpi, proxyhost); 1456 gaim_proxy_info_set_host(phb->gpi, proxyhost);
1457 g_free(proxyhost); 1457 g_free(proxyhost);
1458 g_free(proxypath); 1458 g_free(proxypath);
1459 if (proxyuser != NULL) {
1460 gaim_proxy_info_set_username(phb->gpi, proxyuser);
1461 g_free(proxyuser);
1462 }
1463 if (proxypasswd != NULL) {
1464 gaim_proxy_info_set_password(phb->gpi, proxypasswd);
1465 g_free(proxypasswd);
1466 }
1459 1467
1460 /* only for backward compatibility */ 1468 /* only for backward compatibility */
1461 if (proxyport == 80 && 1469 if (proxyport == 80 &&
1462 ((tmp = g_getenv("HTTP_PROXY_PORT")) != NULL || 1470 ((tmp = g_getenv("HTTP_PROXY_PORT")) != NULL ||
1463 (tmp = g_getenv("http_proxy_port")) != NULL || 1471 (tmp = g_getenv("http_proxy_port")) != NULL ||
1466 1474
1467 gaim_proxy_info_set_port(phb->gpi, proxyport); 1475 gaim_proxy_info_set_port(phb->gpi, proxyport);
1468 } 1476 }
1469 } 1477 }
1470 1478
1479 /* XXX: Do we want to skip this step if user/password were part of url? */
1471 if ((tmp = g_getenv("HTTP_PROXY_USER")) != NULL || 1480 if ((tmp = g_getenv("HTTP_PROXY_USER")) != NULL ||
1472 (tmp = g_getenv("http_proxy_user")) != NULL || 1481 (tmp = g_getenv("http_proxy_user")) != NULL ||
1473 (tmp = g_getenv("HTTPPROXYUSER")) != NULL) 1482 (tmp = g_getenv("HTTPPROXYUSER")) != NULL)
1474 gaim_proxy_info_set_username(phb->gpi, tmp); 1483 gaim_proxy_info_set_username(phb->gpi, tmp);
1475 1484