Fossil SCM

Remove ":443" from the end of the hostname for HTTPS requests.

drh 2023-01-13 14:55 trunk
Commit add3f520a7422e8985fafb71bb28d65cfea2b5136bf34733f5da53ed7b2134f4
1 file changed +10 -2
+10 -2
--- src/main.c
+++ src/main.c
@@ -1394,19 +1394,27 @@
13941394
" or 'https://host/path'");
13951395
}
13961396
if( g.zTop[1]==0 ) g.zTop++;
13971397
}else{
13981398
char *z;
1399
+ zMode = PD("HTTPS","off");
13991400
zHost = PD("HTTP_HOST","");
14001401
z = fossil_strdup(zHost);
14011402
for(i=0; z[i]; i++){
14021403
if( z[i]<='Z' && z[i]>='A' ) z[i] += 'a' - 'A';
14031404
}
1404
- if( i>3 && z[i-1]=='0' && z[i-2]=='8' && z[i-3]==':' ) i -= 3;
1405
+ if( fossil_strcmp(zMode,"on")==0 ){
1406
+ /* Remove trailing ":443" from the HOST, if any */
1407
+ if( i>4 && z[i-1]=='3' && z[i-2]=='4' && z[i-3]=='4' && z[i-4]==':' ){
1408
+ i -= 4;
1409
+ }
1410
+ }else{
1411
+ /* Remove trailing ":80" from the HOST */
1412
+ if( i>3 && z[i-1]=='0' && z[i-2]=='8' && z[i-3]==':' ) i -= 3;
1413
+ }
14051414
if( i && z[i-1]=='.' ) i--;
14061415
z[i] = 0;
1407
- zMode = PD("HTTPS","off");
14081416
zCur = PD("SCRIPT_NAME","/");
14091417
i = strlen(zCur);
14101418
while( i>0 && zCur[i-1]=='/' ) i--;
14111419
if( fossil_stricmp(zMode,"on")==0 ){
14121420
g.zBaseURL = mprintf("https://%s%.*s", z, i, zCur);
14131421
--- src/main.c
+++ src/main.c
@@ -1394,19 +1394,27 @@
1394 " or 'https://host/path'");
1395 }
1396 if( g.zTop[1]==0 ) g.zTop++;
1397 }else{
1398 char *z;
 
1399 zHost = PD("HTTP_HOST","");
1400 z = fossil_strdup(zHost);
1401 for(i=0; z[i]; i++){
1402 if( z[i]<='Z' && z[i]>='A' ) z[i] += 'a' - 'A';
1403 }
1404 if( i>3 && z[i-1]=='0' && z[i-2]=='8' && z[i-3]==':' ) i -= 3;
 
 
 
 
 
 
 
 
1405 if( i && z[i-1]=='.' ) i--;
1406 z[i] = 0;
1407 zMode = PD("HTTPS","off");
1408 zCur = PD("SCRIPT_NAME","/");
1409 i = strlen(zCur);
1410 while( i>0 && zCur[i-1]=='/' ) i--;
1411 if( fossil_stricmp(zMode,"on")==0 ){
1412 g.zBaseURL = mprintf("https://%s%.*s", z, i, zCur);
1413
--- src/main.c
+++ src/main.c
@@ -1394,19 +1394,27 @@
1394 " or 'https://host/path'");
1395 }
1396 if( g.zTop[1]==0 ) g.zTop++;
1397 }else{
1398 char *z;
1399 zMode = PD("HTTPS","off");
1400 zHost = PD("HTTP_HOST","");
1401 z = fossil_strdup(zHost);
1402 for(i=0; z[i]; i++){
1403 if( z[i]<='Z' && z[i]>='A' ) z[i] += 'a' - 'A';
1404 }
1405 if( fossil_strcmp(zMode,"on")==0 ){
1406 /* Remove trailing ":443" from the HOST, if any */
1407 if( i>4 && z[i-1]=='3' && z[i-2]=='4' && z[i-3]=='4' && z[i-4]==':' ){
1408 i -= 4;
1409 }
1410 }else{
1411 /* Remove trailing ":80" from the HOST */
1412 if( i>3 && z[i-1]=='0' && z[i-2]=='8' && z[i-3]==':' ) i -= 3;
1413 }
1414 if( i && z[i-1]=='.' ) i--;
1415 z[i] = 0;
 
1416 zCur = PD("SCRIPT_NAME","/");
1417 i = strlen(zCur);
1418 while( i>0 && zCur[i-1]=='/' ) i--;
1419 if( fossil_stricmp(zMode,"on")==0 ){
1420 g.zBaseURL = mprintf("https://%s%.*s", z, i, zCur);
1421

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button