Fossil SCM
Corrected /json/wiki/save|create to honor the proper g.perm.WrWiki/NewWiki perm, instead of just WrWiki.
Commit
d3759cd40f617c26f8c57e2321c355fe529edec4
Parent
e72ae99dc2aa29b…
1 file changed
+2
-1
+2
-1
| --- src/json.c | ||
| +++ src/json.c | ||
| @@ -1687,11 +1687,12 @@ | ||
| 1687 | 1687 | char const * zContent; |
| 1688 | 1688 | char const * zBody = NULL; |
| 1689 | 1689 | char const * zPageName; |
| 1690 | 1690 | unsigned int contentLen = 0; |
| 1691 | 1691 | int rid; |
| 1692 | - if( !g.perm.WrWiki ){ | |
| 1692 | + if( (createMode && !g.perm.NewWiki) | |
| 1693 | + || (!createMode && !g.perm.WrWiki)){ | |
| 1693 | 1694 | g.json.resultCode = FSL_JSON_E_DENIED; |
| 1694 | 1695 | return NULL; |
| 1695 | 1696 | } |
| 1696 | 1697 | nameV = json_req_payload_get("name"); |
| 1697 | 1698 | if(!nameV){ |
| 1698 | 1699 |
| --- src/json.c | |
| +++ src/json.c | |
| @@ -1687,11 +1687,12 @@ | |
| 1687 | char const * zContent; |
| 1688 | char const * zBody = NULL; |
| 1689 | char const * zPageName; |
| 1690 | unsigned int contentLen = 0; |
| 1691 | int rid; |
| 1692 | if( !g.perm.WrWiki ){ |
| 1693 | g.json.resultCode = FSL_JSON_E_DENIED; |
| 1694 | return NULL; |
| 1695 | } |
| 1696 | nameV = json_req_payload_get("name"); |
| 1697 | if(!nameV){ |
| 1698 |
| --- src/json.c | |
| +++ src/json.c | |
| @@ -1687,11 +1687,12 @@ | |
| 1687 | char const * zContent; |
| 1688 | char const * zBody = NULL; |
| 1689 | char const * zPageName; |
| 1690 | unsigned int contentLen = 0; |
| 1691 | int rid; |
| 1692 | if( (createMode && !g.perm.NewWiki) |
| 1693 | || (!createMode && !g.perm.WrWiki)){ |
| 1694 | g.json.resultCode = FSL_JSON_E_DENIED; |
| 1695 | return NULL; |
| 1696 | } |
| 1697 | nameV = json_req_payload_get("name"); |
| 1698 | if(!nameV){ |
| 1699 |