Fossil SCM
Add the ci=BRANCH and filename=NAME query parameters to the /raw page.
Commit
fc29b081257f192d2914bc1709f88a23119deb92
Parent
405a93e4dcc211c…
1 file changed
+7
-1
+7
-1
| --- src/info.c | ||
| +++ src/info.c | ||
| @@ -1553,10 +1553,11 @@ | ||
| 1553 | 1553 | } |
| 1554 | 1554 | |
| 1555 | 1555 | /* |
| 1556 | 1556 | ** WEBPAGE: raw |
| 1557 | 1557 | ** URL: /raw?name=ARTIFACTID&m=TYPE |
| 1558 | +** URL: /raw?ci=BRANCH&filename=NAME | |
| 1558 | 1559 | ** |
| 1559 | 1560 | ** Return the uninterpreted content of an artifact. Used primarily |
| 1560 | 1561 | ** to view artifacts that are images. |
| 1561 | 1562 | */ |
| 1562 | 1563 | void rawartifact_page(void){ |
| @@ -1563,11 +1564,16 @@ | ||
| 1563 | 1564 | int rid; |
| 1564 | 1565 | char *zUuid; |
| 1565 | 1566 | const char *zMime; |
| 1566 | 1567 | Blob content; |
| 1567 | 1568 | |
| 1568 | - rid = name_to_rid_www("name"); | |
| 1569 | + if( P("ci") && P("filename") ){ | |
| 1570 | + rid = artifact_from_ci_and_filename_www(); | |
| 1571 | + } | |
| 1572 | + if( rid==0 ){ | |
| 1573 | + rid = name_to_rid_www("name"); | |
| 1574 | + } | |
| 1569 | 1575 | login_check_credentials(); |
| 1570 | 1576 | if( !g.perm.Read ){ login_needed(g.anon.Read); return; } |
| 1571 | 1577 | if( rid==0 ) fossil_redirect_home(); |
| 1572 | 1578 | zUuid = db_text(0, "SELECT uuid FROM blob WHERE rid=%d", rid); |
| 1573 | 1579 | if( fossil_strcmp(P("name"), zUuid)==0 && login_is_nobody() ){ |
| 1574 | 1580 |
| --- src/info.c | |
| +++ src/info.c | |
| @@ -1553,10 +1553,11 @@ | |
| 1553 | } |
| 1554 | |
| 1555 | /* |
| 1556 | ** WEBPAGE: raw |
| 1557 | ** URL: /raw?name=ARTIFACTID&m=TYPE |
| 1558 | ** |
| 1559 | ** Return the uninterpreted content of an artifact. Used primarily |
| 1560 | ** to view artifacts that are images. |
| 1561 | */ |
| 1562 | void rawartifact_page(void){ |
| @@ -1563,11 +1564,16 @@ | |
| 1563 | int rid; |
| 1564 | char *zUuid; |
| 1565 | const char *zMime; |
| 1566 | Blob content; |
| 1567 | |
| 1568 | rid = name_to_rid_www("name"); |
| 1569 | login_check_credentials(); |
| 1570 | if( !g.perm.Read ){ login_needed(g.anon.Read); return; } |
| 1571 | if( rid==0 ) fossil_redirect_home(); |
| 1572 | zUuid = db_text(0, "SELECT uuid FROM blob WHERE rid=%d", rid); |
| 1573 | if( fossil_strcmp(P("name"), zUuid)==0 && login_is_nobody() ){ |
| 1574 |
| --- src/info.c | |
| +++ src/info.c | |
| @@ -1553,10 +1553,11 @@ | |
| 1553 | } |
| 1554 | |
| 1555 | /* |
| 1556 | ** WEBPAGE: raw |
| 1557 | ** URL: /raw?name=ARTIFACTID&m=TYPE |
| 1558 | ** URL: /raw?ci=BRANCH&filename=NAME |
| 1559 | ** |
| 1560 | ** Return the uninterpreted content of an artifact. Used primarily |
| 1561 | ** to view artifacts that are images. |
| 1562 | */ |
| 1563 | void rawartifact_page(void){ |
| @@ -1563,11 +1564,16 @@ | |
| 1564 | int rid; |
| 1565 | char *zUuid; |
| 1566 | const char *zMime; |
| 1567 | Blob content; |
| 1568 | |
| 1569 | if( P("ci") && P("filename") ){ |
| 1570 | rid = artifact_from_ci_and_filename_www(); |
| 1571 | } |
| 1572 | if( rid==0 ){ |
| 1573 | rid = name_to_rid_www("name"); |
| 1574 | } |
| 1575 | login_check_credentials(); |
| 1576 | if( !g.perm.Read ){ login_needed(g.anon.Read); return; } |
| 1577 | if( rid==0 ) fossil_redirect_home(); |
| 1578 | zUuid = db_text(0, "SELECT uuid FROM blob WHERE rid=%d", rid); |
| 1579 | if( fossil_strcmp(P("name"), zUuid)==0 && login_is_nobody() ){ |
| 1580 |