Fossil SCM
Remove ":443" from the end of the hostname for HTTPS requests.
Commit
add3f520a7422e8985fafb71bb28d65cfea2b5136bf34733f5da53ed7b2134f4
Parent
0b7af9d8653d35f…
1 file changed
+10
-2
+10
-2
| --- src/main.c | ||
| +++ src/main.c | ||
| @@ -1394,19 +1394,27 @@ | ||
| 1394 | 1394 | " or 'https://host/path'"); |
| 1395 | 1395 | } |
| 1396 | 1396 | if( g.zTop[1]==0 ) g.zTop++; |
| 1397 | 1397 | }else{ |
| 1398 | 1398 | char *z; |
| 1399 | + zMode = PD("HTTPS","off"); | |
| 1399 | 1400 | zHost = PD("HTTP_HOST",""); |
| 1400 | 1401 | z = fossil_strdup(zHost); |
| 1401 | 1402 | for(i=0; z[i]; i++){ |
| 1402 | 1403 | if( z[i]<='Z' && z[i]>='A' ) z[i] += 'a' - 'A'; |
| 1403 | 1404 | } |
| 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 | + } | |
| 1405 | 1414 | if( i && z[i-1]=='.' ) i--; |
| 1406 | 1415 | z[i] = 0; |
| 1407 | - zMode = PD("HTTPS","off"); | |
| 1408 | 1416 | zCur = PD("SCRIPT_NAME","/"); |
| 1409 | 1417 | i = strlen(zCur); |
| 1410 | 1418 | while( i>0 && zCur[i-1]=='/' ) i--; |
| 1411 | 1419 | if( fossil_stricmp(zMode,"on")==0 ){ |
| 1412 | 1420 | g.zBaseURL = mprintf("https://%s%.*s", z, i, zCur); |
| 1413 | 1421 |
| --- 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 |