#ifdef _WIN32 #include "boinc_win.h" #endif #include "parse.h" #include "proxy_info.h" int PROXY_INFO::parse(MIOFILE& in) { char buf[256]; memset(this, 0, sizeof(PROXY_INFO)); while (in.fgets(buf, 256)) { if (match_tag(buf, "")) return 0; else if (match_tag(buf, "")) use_http_proxy = true; else if (match_tag(buf, "")) use_socks_proxy = true; else if (match_tag(buf, "")) use_http_auth = true; else if (parse_int(buf, "", socks_version)) continue; else if (parse_str(buf, "", socks_server_name, sizeof(socks_server_name))) continue; else if (parse_int(buf, "", socks_server_port)) continue; else if (parse_str(buf, "", http_server_name, sizeof(http_server_name))) continue; else if (parse_int(buf, "", http_server_port)) continue; else if (parse_str(buf, "", socks5_user_name, sizeof(socks5_user_name))) continue; else if (parse_str(buf, "", socks5_user_passwd, sizeof(socks5_user_passwd))) continue; else if (parse_str(buf, "", http_user_name, sizeof(http_user_name))) continue; else if (parse_str(buf, "", http_user_passwd, sizeof(http_user_passwd))) continue; } return 0; } int PROXY_INFO::write(MIOFILE& out) { out.printf( "\n" "%s" "%s" "%s" " %d\n" " %s\n" " %d\n" " %s\n" " %d\n" " %s\n" " %s\n" " %s\n" " %s\n" "\n", use_http_proxy?" \n":"", use_socks_proxy?" \n":"", use_http_auth?" \n":"", socks_version, socks_server_name, socks_server_port, http_server_name, http_server_port, socks5_user_name, socks5_user_passwd, http_user_name, http_user_passwd ); return 0; } void PROXY_INFO::clear() { use_http_proxy = false; use_socks_proxy = false; use_http_auth = false; strcpy(socks_server_name, ""); strcpy(http_server_name, ""); socks_server_port = 80; http_server_port = 80; strcpy(socks5_user_name, ""); strcpy(socks5_user_passwd, ""); strcpy(http_user_name, ""); strcpy(http_user_passwd, ""); socks_version = 0; }