-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathproxy.h
112 lines (98 loc) · 2.45 KB
/
proxy.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
/*
Access Gateway - a mediator for the World Wide Web
(C) 1998-2006 Silas S. Brown http://ssb22.user.srcf.net
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
#ifndef ALLINC_H
#define ALLINC_H
#include "allinc.h"
#endif
// This "allinc.h" fragment is also in "notice.txt" (copied
// to top of every file on release), just in case forget to
// put it in some file
// Also, need to put this HERE (not in include file) for
// Monash:
#ifdef __GNUC__
#if (__GNUC__ > 2)
using namespace std;
#endif
#else
// Unknown compiler - assume it's standard
using namespace std;
#endif
// end of notice.txt
// -*- C++ -*-
#ifndef PROXY_H
#define PROXY_H
#include "platform.h"
#ifdef PROXY_FOR_NONLOCALS
extern const char* nonLocalProxyOverride;
#endif
inline const char* proxy() {
// (Note: The length of this string is trusted. If
// implementing user proxy override, careful (also
// careful that a non-local user can't override to a
// local proxy; etc))
#ifdef PROXY_FOR_NONLOCALS
if(nonLocalProxyOverride) return nonLocalProxyOverride;
#endif
#ifdef PROXY
return PROXY;
#else
return NULL;
#endif
}
inline int proxyPort() {
#ifdef PROXY_PORT_FOR_NONLOCALS
if(nonLocalProxyOverride) return PROXY_PORT_FOR_NONLOCALS;
#endif
#ifdef PROXY_PORT
return PROXY_PORT;
#else
return 8080; // as good a guess as any
#endif
}
inline int proxyFtp() {
#ifdef PROXY_FTP
return 1;
#else
#ifdef PROXY_FOR_NONLOCALS
if(nonLocalProxyOverride) return 1;
#endif
return 0;
#endif
}
inline const char* proxyauth() {
// (The length of this string is trusted. See above.)
#ifdef PROXY_AUTH_ID
return "-pauth=" PROXY_AUTH_ID ":" PROXY_AUTH_PASSWORD;
#else
return NULL;
#endif
}
inline const char* proxyauth_wget1() {
#ifdef PROXY_AUTH_ID
return "--proxy-user=" PROXY_AUTH_ID;
#else
return NULL;
#endif
}
inline const char* proxyauth_wget2() {
#ifdef PROXY_AUTH_PASSWORD
return "--proxy-passwd=" PROXY_AUTH_PASSWORD;
#else
return NULL;
#endif
}
#ifdef PROXY_AUTH_BASE64
#define PROXY_AUTH_HEADER "Proxy-Authorization: Basic " PROXY_AUTH_BASE64
#endif
#endif