summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKai Blin <kai@samba.org>2011-07-08 15:03:44 +0200
committerKarolin Seeger <kseeger@samba.org>2011-07-26 20:48:00 +0200
commitb7af3ce33f4d640d83e3afbe3da487b6782df976 (patch)
treef939ac33da70bac390190d3b411b0c4dcb7e3fa4
parentb8b08f7083a469a75ac21be52d637f453e652825 (diff)
downloadsamba-b7af3ce33f4d640d83e3afbe3da487b6782df976.tar.gz
s3 swat: Add XSRF protection to wizard page
Signed-off-by: Kai Blin <kai@samba.org> (cherry picked from commit d499c09fc7bf6d86e9694bc8dc60b96c80d94c35)
-rw-r--r--source3/web/swat.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/source3/web/swat.c b/source3/web/swat.c
index 45a830f4059..88efe8e6754 100644
--- a/source3/web/swat.c
+++ b/source3/web/swat.c
@@ -752,6 +752,11 @@ static void wizard_page(void)
int have_home = -1;
int HomeExpo = 0;
int SerType = 0;
+ const char form_name[] = "wizard";
+
+ if (!verify_xsrf_token(form_name)) {
+ goto output_page;
+ }
if (cgi_variable("Rewrite")) {
(void) rewritecfg_file();
@@ -842,10 +847,12 @@ static void wizard_page(void)
winstype = 3;
role = lp_server_role();
-
+
+output_page:
/* Here we go ... */
printf("<H2>%s</H2>\n", _("Samba Configuration Wizard"));
printf("<form method=post action=wizard>\n");
+ print_xsrf_token(cgi_user_name(), cgi_user_pass(), form_name);
if (have_write_access) {
printf("%s\n", _("The \"Rewrite smb.conf file\" button will clear the smb.conf file of all default values and of comments."));