diff options
author | Kai Blin <kai@samba.org> | 2011-07-08 15:04:48 +0200 |
---|---|---|
committer | Karolin Seeger <kseeger@samba.org> | 2011-07-24 20:45:46 +0200 |
commit | ef457a20422cfa8231e25b539d2cd87f299686b9 (patch) | |
tree | bd71602638fc8bd151fced0b18a0c273369dcd11 | |
parent | 8fb3064eeaa3640af6c8b91aa5859d8bfb6d0888 (diff) | |
download | samba-ef457a20422cfa8231e25b539d2cd87f299686b9.tar.gz samba-ef457a20422cfa8231e25b539d2cd87f299686b9.tar.xz samba-ef457a20422cfa8231e25b539d2cd87f299686b9.zip |
s3 swat: Add XSRF protection to shares page
Signed-off-by: Kai Blin <kai@samba.org>
-rw-r--r-- | source/web/swat.c | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/source/web/swat.c b/source/web/swat.c index 5d11685db18..4544c318e35 100644 --- a/source/web/swat.c +++ b/source/web/swat.c @@ -982,11 +982,17 @@ static void shares_page(void) int mode = 0; unsigned int parm_filter = FLAG_BASIC; size_t converted_size; + const char form_name[] = "shares"; + + printf("<H2>%s</H2>\n", _("Share Parameters")); + + if (!verify_xsrf_token(form_name)) { + goto output_page; + } if (share) snum = lp_servicenumber(share); - printf("<H2>%s</H2>\n", _("Share Parameters")); if (cgi_variable("Commit") && snum >= 0) { commit_parameters(snum); @@ -1012,10 +1018,6 @@ static void shares_page(void) } } - printf("<FORM name=\"swatform\" method=post>\n"); - - printf("<table>\n"); - if ( cgi_variable("ViewMode") ) mode = atoi(cgi_variable_nonull("ViewMode")); if ( cgi_variable("BasicMode")) @@ -1023,6 +1025,12 @@ static void shares_page(void) if ( cgi_variable("AdvMode")) mode = 1; +output_page: + printf("<FORM name=\"swatform\" method=post>\n"); + print_xsrf_token(cgi_user_name(), cgi_user_pass(), form_name); + + printf("<table>\n"); + ViewModeBoxes( mode ); switch ( mode ) { case 0: |