Fossil SCM
Simplification by omitting g.url.user and g.url.password backup copy since they are only swapped during short time and are restored right away. Also rename url.canonical backup copy to "proxyUrlCanonical" following name convention of already existing "proxyUrlPath" field.
Commit
78a51953926677127eca07f45268499272062f96d30093ab55e8eb61db4aef03
Parent
83ffea65cafad7f…
2 files changed
+1
-1
+8
-18
+1
-1
| --- src/sync.c | ||
| +++ src/sync.c | ||
| @@ -26,11 +26,11 @@ | ||
| 26 | 26 | */ |
| 27 | 27 | static void sync_explain(unsigned syncFlags){ |
| 28 | 28 | if( g.url.isAlias ){ |
| 29 | 29 | const char *url; |
| 30 | 30 | if( g.url.useProxy ){ |
| 31 | - url = g.url.canonicalCopy; | |
| 31 | + url = g.url.proxyUrlCanonical; | |
| 32 | 32 | }else{ |
| 33 | 33 | url = g.url.canonical; |
| 34 | 34 | } |
| 35 | 35 | if( (syncFlags & (SYNC_PUSH|SYNC_PULL))==(SYNC_PUSH|SYNC_PULL) ){ |
| 36 | 36 | fossil_print("Sync with %s\n", url); |
| 37 | 37 |
| --- src/sync.c | |
| +++ src/sync.c | |
| @@ -26,11 +26,11 @@ | |
| 26 | */ |
| 27 | static void sync_explain(unsigned syncFlags){ |
| 28 | if( g.url.isAlias ){ |
| 29 | const char *url; |
| 30 | if( g.url.useProxy ){ |
| 31 | url = g.url.canonicalCopy; |
| 32 | }else{ |
| 33 | url = g.url.canonical; |
| 34 | } |
| 35 | if( (syncFlags & (SYNC_PUSH|SYNC_PULL))==(SYNC_PUSH|SYNC_PULL) ){ |
| 36 | fossil_print("Sync with %s\n", url); |
| 37 |
| --- src/sync.c | |
| +++ src/sync.c | |
| @@ -26,11 +26,11 @@ | |
| 26 | */ |
| 27 | static void sync_explain(unsigned syncFlags){ |
| 28 | if( g.url.isAlias ){ |
| 29 | const char *url; |
| 30 | if( g.url.useProxy ){ |
| 31 | url = g.url.proxyUrlCanonical; |
| 32 | }else{ |
| 33 | url = g.url.canonical; |
| 34 | } |
| 35 | if( (syncFlags & (SYNC_PUSH|SYNC_PULL))==(SYNC_PUSH|SYNC_PULL) ){ |
| 36 | fossil_print("Sync with %s\n", url); |
| 37 |
+8
-18
| --- src/url.c | ||
| +++ src/url.c | ||
| @@ -59,18 +59,16 @@ | ||
| 59 | 59 | int dfltPort; /* The default port for the given protocol */ |
| 60 | 60 | char *path; /* Pathname for http: */ |
| 61 | 61 | char *user; /* User id for http: */ |
| 62 | 62 | char *passwd; /* Password for http: */ |
| 63 | 63 | char *canonical; /* Canonical representation of the URL */ |
| 64 | - char *userCopy; /* Copy of user when proxy is enable */ | |
| 65 | - char *passwdCopy; /* copy of password when proxy is enable */ | |
| 66 | - char *canonicalCopy; /* Copy of canonical when proxy is enable */ | |
| 67 | 64 | char *proxyAuth; /* Proxy-Authorizer: string */ |
| 68 | 65 | char *fossil; /* The fossil query parameter on ssh: */ |
| 69 | 66 | unsigned flags; /* Boolean flags controlling URL processing */ |
| 70 | 67 | int useProxy; /* Used to remember that a proxy is in use */ |
| 71 | - char *proxyUrlPath; | |
| 68 | + char *proxyUrlPath; /* Remember path when proxy is use */ | |
| 69 | + char *proxyUrlCanonical; /* Remember canonical path when proxy is use */ | |
| 72 | 70 | int proxyOrigPort; /* Tunneled port number for https through proxy */ |
| 73 | 71 | }; |
| 74 | 72 | #endif /* INTERFACE */ |
| 75 | 73 | |
| 76 | 74 | |
| @@ -551,15 +549,10 @@ | ||
| 551 | 549 | char *zOriginalUser = g.url.user; |
| 552 | 550 | char *zOriginalPasswd = g.url.passwd; |
| 553 | 551 | char *zOriginalUrlPath = g.url.path; |
| 554 | 552 | int iOriginalPort = g.url.port; |
| 555 | 553 | unsigned uOriginalFlags = g.url.flags; |
| 556 | - if( g.url.useProxy == 0 ){ | |
| 557 | - g.url.canonicalCopy = g.url.canonical; | |
| 558 | - g.url.userCopy = g.url.user; | |
| 559 | - g.url.passwdCopy = g.url.passwd; | |
| 560 | - } | |
| 561 | 554 | g.url.user = 0; |
| 562 | 555 | g.url.passwd = ""; |
| 563 | 556 | url_parse(zProxy, 0); |
| 564 | 557 | if( zMsg ) fossil_print("%s%s\n", zMsg, g.url.canonical); |
| 565 | 558 | g.url.path = zOriginalUrl; |
| @@ -572,10 +565,11 @@ | ||
| 572 | 565 | } |
| 573 | 566 | g.url.user = zOriginalUser; |
| 574 | 567 | g.url.passwd = zOriginalPasswd; |
| 575 | 568 | g.url.isHttps = fOriginalIsHttps; |
| 576 | 569 | g.url.useProxy = 1; |
| 570 | + g.url.proxyUrlCanonical = zOriginalUrl;; | |
| 577 | 571 | g.url.proxyUrlPath = zOriginalUrlPath; |
| 578 | 572 | g.url.proxyOrigPort = iOriginalPort; |
| 579 | 573 | g.url.flags = uOriginalFlags; |
| 580 | 574 | } |
| 581 | 575 | } |
| @@ -730,30 +724,26 @@ | ||
| 730 | 724 | /* |
| 731 | 725 | ** Remember the URL and password if requested. |
| 732 | 726 | */ |
| 733 | 727 | void url_remember(void){ |
| 734 | 728 | if( g.url.flags & URL_REMEMBER ){ |
| 735 | - const char *url, *user, *passwd; | |
| 729 | + const char *url; | |
| 736 | 730 | if( g.url.useProxy ){ |
| 737 | - user = g.url.userCopy; | |
| 738 | - passwd = g.url.passwdCopy; | |
| 739 | - url = g.url.canonicalCopy; | |
| 731 | + url = g.url.proxyUrlCanonical; | |
| 740 | 732 | }else{ |
| 741 | - user = g.url.user; | |
| 742 | - passwd = g.url.passwd; | |
| 743 | 733 | url = g.url.canonical; |
| 744 | 734 | } |
| 745 | 735 | if( g.url.flags & URL_USE_PARENT ){ |
| 746 | 736 | db_set("parent-project-url", url, 0); |
| 747 | 737 | }else{ |
| 748 | 738 | db_set("last-sync-url", url, 0); |
| 749 | 739 | } |
| 750 | - if( user!=0 && passwd!=0 && ( g.url.flags & URL_REMEMBER_PW ) ){ | |
| 740 | + if( g.url.user!=0 && g.url.passwd!=0 && ( g.url.flags & URL_REMEMBER_PW ) ){ | |
| 751 | 741 | if( g.url.flags & URL_USE_PARENT ){ |
| 752 | - db_set("parent-project-pw", obscure(passwd), 0); | |
| 742 | + db_set("parent-project-pw", obscure(g.url.passwd), 0); | |
| 753 | 743 | }else{ |
| 754 | - db_set("last-sync-pw", obscure(passwd), 0); | |
| 744 | + db_set("last-sync-pw", obscure(g.url.passwd), 0); | |
| 755 | 745 | } |
| 756 | 746 | } |
| 757 | 747 | } |
| 758 | 748 | } |
| 759 | 749 | |
| 760 | 750 |
| --- src/url.c | |
| +++ src/url.c | |
| @@ -59,18 +59,16 @@ | |
| 59 | int dfltPort; /* The default port for the given protocol */ |
| 60 | char *path; /* Pathname for http: */ |
| 61 | char *user; /* User id for http: */ |
| 62 | char *passwd; /* Password for http: */ |
| 63 | char *canonical; /* Canonical representation of the URL */ |
| 64 | char *userCopy; /* Copy of user when proxy is enable */ |
| 65 | char *passwdCopy; /* copy of password when proxy is enable */ |
| 66 | char *canonicalCopy; /* Copy of canonical when proxy is enable */ |
| 67 | char *proxyAuth; /* Proxy-Authorizer: string */ |
| 68 | char *fossil; /* The fossil query parameter on ssh: */ |
| 69 | unsigned flags; /* Boolean flags controlling URL processing */ |
| 70 | int useProxy; /* Used to remember that a proxy is in use */ |
| 71 | char *proxyUrlPath; |
| 72 | int proxyOrigPort; /* Tunneled port number for https through proxy */ |
| 73 | }; |
| 74 | #endif /* INTERFACE */ |
| 75 | |
| 76 | |
| @@ -551,15 +549,10 @@ | |
| 551 | char *zOriginalUser = g.url.user; |
| 552 | char *zOriginalPasswd = g.url.passwd; |
| 553 | char *zOriginalUrlPath = g.url.path; |
| 554 | int iOriginalPort = g.url.port; |
| 555 | unsigned uOriginalFlags = g.url.flags; |
| 556 | if( g.url.useProxy == 0 ){ |
| 557 | g.url.canonicalCopy = g.url.canonical; |
| 558 | g.url.userCopy = g.url.user; |
| 559 | g.url.passwdCopy = g.url.passwd; |
| 560 | } |
| 561 | g.url.user = 0; |
| 562 | g.url.passwd = ""; |
| 563 | url_parse(zProxy, 0); |
| 564 | if( zMsg ) fossil_print("%s%s\n", zMsg, g.url.canonical); |
| 565 | g.url.path = zOriginalUrl; |
| @@ -572,10 +565,11 @@ | |
| 572 | } |
| 573 | g.url.user = zOriginalUser; |
| 574 | g.url.passwd = zOriginalPasswd; |
| 575 | g.url.isHttps = fOriginalIsHttps; |
| 576 | g.url.useProxy = 1; |
| 577 | g.url.proxyUrlPath = zOriginalUrlPath; |
| 578 | g.url.proxyOrigPort = iOriginalPort; |
| 579 | g.url.flags = uOriginalFlags; |
| 580 | } |
| 581 | } |
| @@ -730,30 +724,26 @@ | |
| 730 | /* |
| 731 | ** Remember the URL and password if requested. |
| 732 | */ |
| 733 | void url_remember(void){ |
| 734 | if( g.url.flags & URL_REMEMBER ){ |
| 735 | const char *url, *user, *passwd; |
| 736 | if( g.url.useProxy ){ |
| 737 | user = g.url.userCopy; |
| 738 | passwd = g.url.passwdCopy; |
| 739 | url = g.url.canonicalCopy; |
| 740 | }else{ |
| 741 | user = g.url.user; |
| 742 | passwd = g.url.passwd; |
| 743 | url = g.url.canonical; |
| 744 | } |
| 745 | if( g.url.flags & URL_USE_PARENT ){ |
| 746 | db_set("parent-project-url", url, 0); |
| 747 | }else{ |
| 748 | db_set("last-sync-url", url, 0); |
| 749 | } |
| 750 | if( user!=0 && passwd!=0 && ( g.url.flags & URL_REMEMBER_PW ) ){ |
| 751 | if( g.url.flags & URL_USE_PARENT ){ |
| 752 | db_set("parent-project-pw", obscure(passwd), 0); |
| 753 | }else{ |
| 754 | db_set("last-sync-pw", obscure(passwd), 0); |
| 755 | } |
| 756 | } |
| 757 | } |
| 758 | } |
| 759 | |
| 760 |
| --- src/url.c | |
| +++ src/url.c | |
| @@ -59,18 +59,16 @@ | |
| 59 | int dfltPort; /* The default port for the given protocol */ |
| 60 | char *path; /* Pathname for http: */ |
| 61 | char *user; /* User id for http: */ |
| 62 | char *passwd; /* Password for http: */ |
| 63 | char *canonical; /* Canonical representation of the URL */ |
| 64 | char *proxyAuth; /* Proxy-Authorizer: string */ |
| 65 | char *fossil; /* The fossil query parameter on ssh: */ |
| 66 | unsigned flags; /* Boolean flags controlling URL processing */ |
| 67 | int useProxy; /* Used to remember that a proxy is in use */ |
| 68 | char *proxyUrlPath; /* Remember path when proxy is use */ |
| 69 | char *proxyUrlCanonical; /* Remember canonical path when proxy is use */ |
| 70 | int proxyOrigPort; /* Tunneled port number for https through proxy */ |
| 71 | }; |
| 72 | #endif /* INTERFACE */ |
| 73 | |
| 74 | |
| @@ -551,15 +549,10 @@ | |
| 549 | char *zOriginalUser = g.url.user; |
| 550 | char *zOriginalPasswd = g.url.passwd; |
| 551 | char *zOriginalUrlPath = g.url.path; |
| 552 | int iOriginalPort = g.url.port; |
| 553 | unsigned uOriginalFlags = g.url.flags; |
| 554 | g.url.user = 0; |
| 555 | g.url.passwd = ""; |
| 556 | url_parse(zProxy, 0); |
| 557 | if( zMsg ) fossil_print("%s%s\n", zMsg, g.url.canonical); |
| 558 | g.url.path = zOriginalUrl; |
| @@ -572,10 +565,11 @@ | |
| 565 | } |
| 566 | g.url.user = zOriginalUser; |
| 567 | g.url.passwd = zOriginalPasswd; |
| 568 | g.url.isHttps = fOriginalIsHttps; |
| 569 | g.url.useProxy = 1; |
| 570 | g.url.proxyUrlCanonical = zOriginalUrl;; |
| 571 | g.url.proxyUrlPath = zOriginalUrlPath; |
| 572 | g.url.proxyOrigPort = iOriginalPort; |
| 573 | g.url.flags = uOriginalFlags; |
| 574 | } |
| 575 | } |
| @@ -730,30 +724,26 @@ | |
| 724 | /* |
| 725 | ** Remember the URL and password if requested. |
| 726 | */ |
| 727 | void url_remember(void){ |
| 728 | if( g.url.flags & URL_REMEMBER ){ |
| 729 | const char *url; |
| 730 | if( g.url.useProxy ){ |
| 731 | url = g.url.proxyUrlCanonical; |
| 732 | }else{ |
| 733 | url = g.url.canonical; |
| 734 | } |
| 735 | if( g.url.flags & URL_USE_PARENT ){ |
| 736 | db_set("parent-project-url", url, 0); |
| 737 | }else{ |
| 738 | db_set("last-sync-url", url, 0); |
| 739 | } |
| 740 | if( g.url.user!=0 && g.url.passwd!=0 && ( g.url.flags & URL_REMEMBER_PW ) ){ |
| 741 | if( g.url.flags & URL_USE_PARENT ){ |
| 742 | db_set("parent-project-pw", obscure(g.url.passwd), 0); |
| 743 | }else{ |
| 744 | db_set("last-sync-pw", obscure(g.url.passwd), 0); |
| 745 | } |
| 746 | } |
| 747 | } |
| 748 | } |
| 749 | |
| 750 |