@@ -43,25 +43,37 @@
43 43 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
**
44 44 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*/
45 45 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
void url_parse(const char *zUrl){
46 46 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int i, j, c;
47 47 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
char *zFile = 0;
48 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( strncmp(zUrl, "http:", 5)==0 ){
48 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( strncmp(zUrl, "http://", 7)==0 || strncmp(zUrl, "https://", 8)==0 ){
49 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ int iStart;
49 50 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
g.urlIsFile = 0;
50 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for(i=7; (c=zUrl[i])!=0 && c!='/' && c!='@'; i++){}
51 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( zUrl[4]=='s' ){
52 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ g.urlIsHttps = 1;
53 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ g.urlProtocol = "https";
54 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ g.urlDfltPort = 443;
55 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ iStart = 8;
56 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }else{
57 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ g.urlIsHttps = 0;
58 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ g.urlProtocol = "http";
59 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ g.urlDfltPort = 80;
60 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ iStart = 7;
61 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
62 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ for(i=iStart; (c=zUrl[i])!=0 && c!='/' && c!='@'; i++){}
51 63 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( c=='@' ){
52 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for(j=7; j<i && zUrl[j]!=':'; j++){}
53 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- g.urlUser = mprintf("%.*s", j-7, &zUrl[7]);
64 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ for(j=iStart; j<i && zUrl[j]!=':'; j++){}
65 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ g.urlUser = mprintf("%.*s", j-iStart, &zUrl[iStart]);
54 66 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( j<i ){
55 67 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
g.urlPasswd = mprintf("%.*s", i-j-1, &zUrl[j+1]);
56 68 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
57 69 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
for(j=i+1; (c=zUrl[j])!=0 && c!='/' && c!=':'; j++){}
58 70 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
g.urlName = mprintf("%.*s", j-i-1, &zUrl[i+1]);
59 71 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
i = j;
60 72 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}else{
61 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for(i=7; (c=zUrl[i])!=0 && c!='/' && c!=':'; i++){}
62 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- g.urlName = mprintf("%.*s", i-7, &zUrl[7]);
73 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ for(i=iStart; (c=zUrl[i])!=0 && c!='/' && c!=':'; i++){}
74 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ g.urlName = mprintf("%.*s", i-iStart, &zUrl[iStart]);
63 75 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
64 76 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
for(j=0; g.urlName[j]; j++){ g.urlName[j] = tolower(g.urlName[j]); }
65 77 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( c==':' ){
66 78 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
g.urlPort = 0;
67 79 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
i++;
@@ -69,17 +81,18 @@
69 81 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
g.urlPort = g.urlPort*10 + c - '0';
70 82 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
i++;
71 83 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
72 84 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
g.urlHostname = mprintf("%s:%d", g.urlName, g.urlPort);
73 85 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}else{
74 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- g.urlPort = 80;
86 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ g.urlPort = g.urlDfltPort;
75 87 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
g.urlHostname = g.urlName;
76 88 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
77 89 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
g.urlPath = mprintf(&zUrl[i]);
78 90 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
dehttpize(g.urlName);
79 91 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
dehttpize(g.urlPath);
80 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- g.urlCanonical = mprintf("http://%T:%d%T", g.urlName, g.urlPort, g.urlPath);
92 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ g.urlCanonical = mprintf("%s://%T:%d%T",
93 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ g.urlProtocol, g.urlName, g.urlPort, g.urlPath);
81 94 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}else if( strncmp(zUrl, "file:", 5)==0 ){
82 95 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
g.urlIsFile = 1;
83 96 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( zUrl[5]=='/' && zUrl[6]=='/' ){
84 97 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
i = 7;
85 98 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}else{
@@ -121,12 +134,15 @@
121 134 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
usage("URL");
122 135 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
123 136 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
url_parse(g.argv[2]);
124 137 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
for(i=0; i<2; i++){
125 138 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
printf("g.urlIsFile = %d\n", g.urlIsFile);
139 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ printf("g.urlIsHttps = %d\n", g.urlIsHttps);
140 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ printf("g.urlProtocol = %s\n", g.urlProtocol);
126 141 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
printf("g.urlName = %s\n", g.urlName);
127 142 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
printf("g.urlPort = %d\n", g.urlPort);
143 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ printf("g.urlDfltPort = %d\n", g.urlDfltPort);
128 144 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
printf("g.urlHostname = %s\n", g.urlHostname);
129 145 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
printf("g.urlPath = %s\n", g.urlPath);
130 146 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
printf("g.urlUser = %s\n", g.urlUser);
131 147 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
printf("g.urlPasswd = %s\n", g.urlPasswd);
132 148 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
printf("g.urlCanonical = %s\n", g.urlCanonical);
@@ -154,10 +170,14 @@
154 170 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
155 171 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
156 172 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/*
157 173 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** If the "proxy" setting is defined, then change the URL to refer
158 174 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** to the proxy server.
175 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ **
176 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** If the protocol is "https://" then start stunnel to handle the SSL
177 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** and make the url setting refer to stunnel rather than the original
178 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** destination.
159 179 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*/
160 180 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
void url_enable_proxy(const char *zMsg){
161 181 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
const char *zProxy;
162 182 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
zProxy = zProxyOpt;
163 183 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( zProxy==0 ){
164 184 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!