allow for non-authenticated SWAT for demo purposes
authorAndrew Tridgell <tridge@samba.org>
Sun, 8 Mar 1998 14:31:50 +0000 (14:31 +0000)
committerAndrew Tridgell <tridge@samba.org>
Sun, 8 Mar 1998 14:31:50 +0000 (14:31 +0000)
source/cgi.c
source/include/proto.h
source/swat.c
source/web/cgi.c
source/web/swat.c

index 7c84f47ada05f62bb38b91f6f34554d38003d19c..83158fc1a544d2889da16cac3eadb74baa7f8f7b 100644 (file)
@@ -548,7 +548,7 @@ static void cgi_download(char *file)
 setup the cgi framework, handling the possability that this program is either
 run as a true cgi program by a web browser or is itself a mini web server
   ***************************************************************************/
-void cgi_setup(char *rootdir)
+void cgi_setup(char *rootdir, int auth_required)
 {
        int authenticated = 0;
        char line[1024];
@@ -586,7 +586,7 @@ void cgi_setup(char *rootdir)
                /* ignore all other requests! */
        }
 
-       if (!authenticated) {
+       if (auth_required && !authenticated) {
                cgi_setup_error("401 Authorization Required", 
                                "WWW-Authenticate: Basic realm=\"root\"\r\n",
                                "You must be authenticated to use this service");
index 06b2d4ec78db610981bd952e00167c72a42a636b..f0591743c0a750f67a092280c129f3c168ee08b3 100644 (file)
@@ -28,7 +28,7 @@ char *quotedup(char *s);
 char *urlquote(char *s);
 char *quotequotes(char *s);
 void quote_spaces(char *buf);
-void cgi_setup(char *rootdir);
+void cgi_setup(char *rootdir, int auth_required);
 char *cgi_baseurl(void);
 
 /*The following definitions come from  charcnv.c  */
index 4810d87af3db64ea80c37379b4b8e7185e29041f..6a5b4f51f14f264d8bf9a689954d72405ed381e6 100644 (file)
@@ -432,6 +432,7 @@ int main(int argc, char *argv[])
        extern FILE *dbf;
        int opt;
        char *page;
+       int auth_required = 1;
 
        /* just in case it goes wild ... */
        alarm(300);
@@ -440,16 +441,18 @@ int main(int argc, char *argv[])
 
        if (!dbf) dbf = stderr;
 
-       cgi_setup(SWATDIR);
-
-       while ((opt = getopt(argc, argv,"s:")) != EOF) {
+       while ((opt = getopt(argc, argv,"s:a")) != EOF) {
                switch (opt) {
                case 's':
                        pstrcpy(servicesf,optarg);
                        break;    
+               case 'a':
+                       auth_required = 0;
+                       break;    
                }
        }
 
+       cgi_setup(SWATDIR, auth_required);
 
        print_header();
 
index 7c84f47ada05f62bb38b91f6f34554d38003d19c..83158fc1a544d2889da16cac3eadb74baa7f8f7b 100644 (file)
@@ -548,7 +548,7 @@ static void cgi_download(char *file)
 setup the cgi framework, handling the possability that this program is either
 run as a true cgi program by a web browser or is itself a mini web server
   ***************************************************************************/
-void cgi_setup(char *rootdir)
+void cgi_setup(char *rootdir, int auth_required)
 {
        int authenticated = 0;
        char line[1024];
@@ -586,7 +586,7 @@ void cgi_setup(char *rootdir)
                /* ignore all other requests! */
        }
 
-       if (!authenticated) {
+       if (auth_required && !authenticated) {
                cgi_setup_error("401 Authorization Required", 
                                "WWW-Authenticate: Basic realm=\"root\"\r\n",
                                "You must be authenticated to use this service");
index 4810d87af3db64ea80c37379b4b8e7185e29041f..6a5b4f51f14f264d8bf9a689954d72405ed381e6 100644 (file)
@@ -432,6 +432,7 @@ int main(int argc, char *argv[])
        extern FILE *dbf;
        int opt;
        char *page;
+       int auth_required = 1;
 
        /* just in case it goes wild ... */
        alarm(300);
@@ -440,16 +441,18 @@ int main(int argc, char *argv[])
 
        if (!dbf) dbf = stderr;
 
-       cgi_setup(SWATDIR);
-
-       while ((opt = getopt(argc, argv,"s:")) != EOF) {
+       while ((opt = getopt(argc, argv,"s:a")) != EOF) {
                switch (opt) {
                case 's':
                        pstrcpy(servicesf,optarg);
                        break;    
+               case 'a':
+                       auth_required = 0;
+                       break;    
                }
        }
 
+       cgi_setup(SWATDIR, auth_required);
 
        print_header();