diff options
author | Andrew Tridgell <tridge@samba.org> | 1998-11-14 02:29:38 +0000 |
---|---|---|
committer | Andrew Tridgell <tridge@samba.org> | 1998-11-14 02:29:38 +0000 |
commit | 57d4977f24566675111d791949491908eb4a6c4e (patch) | |
tree | 20ebd9a56cba7d908efb5178588bafc915674b92 | |
parent | f61683195340baa58e2637811350dbc2c5e6af01 (diff) | |
download | samba-57d4977f24566675111d791949491908eb4a6c4e.tar.gz samba-57d4977f24566675111d791949491908eb4a6c4e.tar.bz2 samba-57d4977f24566675111d791949491908eb4a6c4e.zip |
- new prototypes
- much as I hate doing it I've removed the "commit changes" button for
users that don't have write access to smb.conf (Jeremy insisted)
(This used to be commit 8e8ab4df1fe77dfcae73a34f4de174afe09cd695)
-rw-r--r-- | source3/include/proto.h | 2 | ||||
-rw-r--r-- | source3/web/swat.c | 19 |
2 files changed, 17 insertions, 4 deletions
diff --git a/source3/include/proto.h b/source3/include/proto.h index c742d66406..d1aa8383c2 100644 --- a/source3/include/proto.h +++ b/source3/include/proto.h @@ -2669,7 +2669,7 @@ int smbw_stat(const char *fname, struct stat *st); void cgi_load_variables(FILE *f1); char *cgi_variable(char *name); BOOL am_root(void); -char *get_user_name(void); +char *cgi_user_name(void); void cgi_setup(char *rootdir, int auth_required); char *cgi_baseurl(void); char *cgi_pathinfo(void); diff --git a/source3/web/swat.c b/source3/web/swat.c index db21fbfbe1..8f47ced52d 100644 --- a/source3/web/swat.c +++ b/source3/web/swat.c @@ -30,6 +30,7 @@ static pstring servicesf = CONFIGFILE; static BOOL demo_mode = False; +static BOOL have_write_access = False; /* * Password Management Globals @@ -469,7 +470,10 @@ static void globals_page(void) printf("<FORM name=\"swatform\" method=post>\n"); - printf("<input type=submit name=\"Commit\" value=\"Commit Changes\">\n"); + if (have_write_access) { + printf("<input type=submit name=\"Commit\" value=\"Commit Changes\">\n"); + } + printf("<input type=reset name=\"Reset Values\" value=\"Reset Values\">\n"); if (advanced == 0) { printf("<input type=submit name=\"Advanced\" value=\"Advanced View\">\n"); @@ -549,7 +553,10 @@ static void shares_page(void) if (snum >= 0) { - printf("<input type=submit name=\"Commit\" value=\"Commit Changes\">\n"); + if (have_write_access) { + printf("<input type=submit name=\"Commit\" value=\"Commit Changes\">\n"); + } + printf("<input type=submit name=\"Delete\" value=\"Delete Share\">\n"); if (advanced == 0) { printf("<input type=submit name=\"Advanced\" value=\"Advanced View\">\n"); @@ -848,7 +855,9 @@ static void printers_page(void) if (snum >= 0) { - printf("<input type=submit name=\"Commit\" value=\"Commit Changes\">\n"); + if (have_write_access) { + printf("<input type=submit name=\"Commit\" value=\"Commit Changes\">\n"); + } printf("<input type=submit name=\"Delete\" value=\"Delete Printer\">\n"); if (advanced == 0) { printf("<input type=submit name=\"Advanced\" value=\"Advanced View\">\n"); @@ -917,6 +926,10 @@ static void printers_page(void) page = cgi_pathinfo(); + /* check if the authenticated user has write access - if not then + don't show write options */ + have_write_access = (access(servicesf,W_OK) == 0); + /* Root gets full functionality */ if (strcmp(page, "globals")==0) { globals_page(); |