summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKai Blin <kai@samba.org>2011-07-08 15:03:44 +0200
committerKarolin Seeger <kseeger@samba.org>2011-07-24 20:45:43 +0200
commiteb22fd73060534700d514ec295985549131c7569 (patch)
treed2ed943e3e1a29f67163bbc756b285d43a7aaed6
parent94f8482607a175c44436fae456fbda3624629982 (diff)
downloadsamba-eb22fd73060534700d514ec295985549131c7569.tar.gz
samba-eb22fd73060534700d514ec295985549131c7569.tar.xz
samba-eb22fd73060534700d514ec295985549131c7569.zip
s3 swat: Add XSRF protection to wizard page
Signed-off-by: Kai Blin <kai@samba.org>
-rw-r--r--source/web/swat.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/source/web/swat.c b/source/web/swat.c
index b7eec4a88aa..b6e0c0f9d8a 100644
--- a/source/web/swat.c
+++ b/source/web/swat.c
@@ -751,6 +751,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();
@@ -841,10 +846,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."));