diff -r -N --context ../SteelBlue-2.0b2/src/HTTP.cpp ./src/HTTP.cpp *** ../SteelBlue-2.0b2/src/HTTP.cpp Thu Jun 22 00:33:28 2000 --- ./src/HTTP.cpp Sat Aug 12 19:43:48 2000 *************** *** 92,98 **** /* get the page source from the arguments. We use this opportunity to translate \ to / and strip out ../ or ./ */ void HTTP::findLastPage(void){ ! if (ARGC >= 3) { string filename = ARGV[3]; unsigned int i; while ((i = filename.find("\\",0)) != string::npos){ --- 92,98 ---- /* get the page source from the arguments. We use this opportunity to translate \ to / and strip out ../ or ./ */ void HTTP::findLastPage(void){ ! if (ARGC > 3) { string filename = ARGV[3]; unsigned int i; while ((i = filename.find("\\",0)) != string::npos){ diff -r -N --context ../SteelBlue-2.0b2/src/Sender.cpp ./src/Sender.cpp *** ../SteelBlue-2.0b2/src/Sender.cpp Thu Jun 22 00:33:35 2000 --- ./src/Sender.cpp Sat Aug 12 20:24:01 2000 *************** *** 1582,1596 **** // now cout any vars we want set here if (flags->contains("CLICK")) { ! cout <<"+"<< http->toHTML("click") << "+" ! << http->toHTML((char *)(*flags)["CLICK"].c_str()); } if (flags->contains("SET")) { ! // string tag = ((*flags)["SET"]).before ("="); ! string tag = ((*flags)["SET"]).substr (0, ((*flags)["SET"]).find ("=")); ! // string value =((*flags)["SET"]).after ("="); ! string value = ((*flags)["SET"]).substr (((*flags)["SET"]).find("=") +1); ! cout << "+" << http->toHTML( (char *) tag.c_str()) << "+" << http->toHTML( (char *) value.c_str()); } //finally close the quote for the href --- 1582,1605 ---- // now cout any vars we want set here if (flags->contains("CLICK")) { ! cout <<"+"<< http->toHTML("click") << "+" << http->toHTML( (interpretString((*flags)["CLICK"]).c_str()) ); } + + if (flags->contains("SET")) { ! string set; ! set = (*flags)["SET"]; ! while ( set.length() > 0 ) { ! string next_pair = set.substr(0, set.find(";")); ! string tag = next_pair.substr (0, (next_pair.find ("="))); ! string value = next_pair.substr (next_pair.find("=") +1); ! cout << "+" << http->toHTML(tag.c_str()) << "+" << http->toHTML(interpretString (value).c_str()); ! if (set.find(";") != string::npos) { ! set = set.substr(set.find(";")+1); ! } else { ! set = ""; ! } ! } } //finally close the quote for the href diff -r -N --context ../SteelBlue-2.0b2/src/install/SteelBlue_2.0b1_mysql.spec ./src/install/SteelBlue_2.0b1_mysql.spec *** ../SteelBlue-2.0b2/src/install/SteelBlue_2.0b1_mysql.spec Tue Jan 18 10:03:32 2000 --- ./src/install/SteelBlue_2.0b1_mysql.spec Wed Dec 31 19:00:00 1969 *************** *** 1,40 **** - Summary: The SteelBlue appserver install for MySQL - Name: SteelBlue - Version: 2.0b1 - Release: mysql_1 - Vendor: Turner Consulting Group - Copyright: commercial - Group: Application/Internet - Requires: MySQL - URL: http://www.steelblue.com/ - Packager: Robert Buccigrossi - Prefix: /opt - Source: SteelBlue_2.0b1.tar.gz - patch0: SteelBlue_2.0b1_mysql.patch - %description - A Web application server designed to integrate relational database - access, security, complex business rules, and HTML. - - This particular install creates a mySQL SteelBlue installation in - /opt/steelblue. - - %prep - %setup - %patch - - %build - cd src - make steelblue - - %install - cd src - make install - make docs - - %post - - %postun - - %files - %doc doc examples schema INSTALL.TXT LICENSE.TXT - /opt/steelblue --- 0 ---- diff -r -N --context ../SteelBlue-2.0b2/src/install/SteelBlue_2.0b1_mysql_auto.spec ./src/install/SteelBlue_2.0b1_mysql_auto.spec *** ../SteelBlue-2.0b2/src/install/SteelBlue_2.0b1_mysql_auto.spec Tue Jan 18 10:03:32 2000 --- ./src/install/SteelBlue_2.0b1_mysql_auto.spec Wed Dec 31 19:00:00 1969 *************** *** 1,84 **** - Summary: The SteelBlue appserver install for MySQL - Name: SteelBlue - Version: 2.0b1 - Release: mysql_auto_1 - Vendor: Turner Consulting Group - Copyright: commercial - Group: Application/Internet - Requires: MySQL - URL: http://www.steelblue.com/ - Packager: Robert Buccigrossi - Prefix: /opt - Source: SteelBlue_2.0b1.tar.gz - patch0: SteelBlue_2.0b1_mysql_auto.patch - %description - A Web application server designed to integrate relational database - access, security, complex business rules, and HTML. - - This particular install creates a mySQL DB "STEELBLUE" and installs - the executable to the default Apache cgi-bin and html directories - as well as in /opt/steelblue. - - For installation, the environment variables OWNER, GROUP, CGI_BIN, - and HTDOCS_DIR can be set to override the defaults. - - For uninstallation, the environment variables CGI_BIN, HTDOCS_DIR, - and NO_REMOVE_DB can be set to override the defaults. By default - the STEELBLUE database is removed. The database can be kept by - setting NO_REMOVE_DB to a non-empty value. - - %prep - %setup - %patch - - %build - cd src - make steelblue - make docs - - %install - cd src - make install - - %post - PATH=${PATH}:/usr/bin:/usr/local/bin - OWNER=${OWNER:-"nobody"} - GROUP=${GROUP:-"nobody"} - CGI_BIN=${CGI_BIN:-"/home/httpd/cgi-bin/"} - HTDOCS_DIR=${HTDOCS_DIR:-"/home/httpd/html/"} - - if (! test -d $CGI_BIN); then - echo "CGI_BIN ($CGI_BIN) is an invalid directory" - exit 1 - fi; - - if (! test -d $HTDOCS_DIR); then - echo "HTDOCS_DIR ($HTDOCS_DIR) is an invalid directory" - exit 1 - fi; - - install -v -s --mode=755 --group=$GROUP --owner=$OWNER /opt/steelblue/steelblue $CGI_BIN - install -v --mode=755 --group=$GROUP --owner=$OWNER /opt/steelblue/steelblue.conf $CGI_BIN - install -v -d --mode=755 --group=$GROUP --owner=$OWNER $HTDOCS_DIR/scripts - install -v --mode=444 --group=$GROUP --owner=$OWNER /opt/steelblue/CheckUtils.js $HTDOCS_DIR/scripts - - mysqladmin create STEELBLUE - /usr/bin/mysql -u root STEELBLUE < /usr/doc/SteelBlue-2.0b1/schema/mySQL.schema.sql - - %postun - PATH=${PATH}:/usr/bin:/usr/local/bin - CGI_BIN=${CGI_BIN:-"/home/httpd/cgi-bin/"} - HTDOCS_DIR=${HTDOCS_DIR:-"/home/httpd/html/"} - - rm -f $CGI_BIN/steelblue - rm -f $CGI_BIN/steelblue.conf - rm -f $HTDOCS_DIR/scripts/CheckUtils.js - rmdir $HTDOCS_DIR/scripts - - if (! test $NO_REMOVE_DB); then - /usr/bin/mysqladmin -f drop STEELBLUE - fi - - %files - %doc doc examples schema INSTALL.TXT LICENSE.TXT - /opt/steelblue --- 0 ---- diff -r -N --context ../SteelBlue-2.0b2/src/install/SteelBlue_2.0b1_psql.spec ./src/install/SteelBlue_2.0b1_psql.spec *** ../SteelBlue-2.0b2/src/install/SteelBlue_2.0b1_psql.spec Tue Jan 18 11:30:36 2000 --- ./src/install/SteelBlue_2.0b1_psql.spec Wed Dec 31 19:00:00 1969 *************** *** 1,40 **** - Summary: The SteelBlue appserver install for Postgres - Name: SteelBlue - Version: 2.0b1 - Release: psql_1 - Vendor: Turner Consulting Group - Copyright: commercial - Group: Application/Internet - Requires: postgresql - URL: http://www.steelblue.com/ - Packager: Robert Buccigrossi - Prefix: /opt - Source: SteelBlue_2.0b1.tar.gz - patch0: SteelBlue_2.0b1_psql.patch - %description - A Web application server designed to integrate relational database - access, security, complex business rules, and HTML. - - This particular install creates a Postgres SteelBlue installation in - /opt/steelblue. - - %prep - %setup - %patch - - %build - cd src - make steelblue - - %install - cd src - make install - make docs - - %post - - %postun - - %files - %doc doc examples schema INSTALL.TXT LICENSE.TXT - /opt/steelblue --- 0 ---- diff -r -N --context ../SteelBlue-2.0b2/src/install/SteelBlue_2.0b2_mysql.spec ./src/install/SteelBlue_2.0b2_mysql.spec *** ../SteelBlue-2.0b2/src/install/SteelBlue_2.0b2_mysql.spec Mon Jul 24 19:36:53 2000 --- ./src/install/SteelBlue_2.0b2_mysql.spec Wed Dec 31 19:00:00 1969 *************** *** 1,40 **** - Summary: The SteelBlue appserver install for MySQL - Name: SteelBlue - Version: 2.0b2 - Release: mysql_1 - Vendor: Turner Consulting Group - Copyright: commercial - Group: Application/Internet - Requires: MySQL - URL: http://www.steelblue.com/ - Packager: Robert Buccigrossi - Prefix: /opt - Source: SteelBlue_2.0b2.tar.gz - patch0: SteelBlue_2.0b2_mysql.patch - %description - A Web application server designed to integrate relational database - access, security, complex business rules, and HTML. - - This particular install creates a mySQL SteelBlue installation in - /opt/steelblue. - - %prep - %setup - %patch - - %build - cd src - make steelblue - - %install - cd src - make install - make docs - - %post - - %postun - - %files - %doc doc examples schema INSTALL.TXT LICENSE.TXT - /opt/steelblue --- 0 ---- diff -r -N --context ../SteelBlue-2.0b2/src/install/SteelBlue_2.0b2_mysql_auto.spec ./src/install/SteelBlue_2.0b2_mysql_auto.spec *** ../SteelBlue-2.0b2/src/install/SteelBlue_2.0b2_mysql_auto.spec Mon Jul 24 19:36:53 2000 --- ./src/install/SteelBlue_2.0b2_mysql_auto.spec Wed Dec 31 19:00:00 1969 *************** *** 1,84 **** - Summary: The SteelBlue appserver install for MySQL - Name: SteelBlue - Version: 2.0b2 - Release: mysql_auto_1 - Vendor: Turner Consulting Group - Copyright: commercial - Group: Application/Internet - Requires: MySQL - URL: http://www.steelblue.com/ - Packager: Robert Buccigrossi - Prefix: /opt - Source: SteelBlue_2.0b2.tar.gz - patch0: SteelBlue_2.0b2_mysql_auto.patch - %description - A Web application server designed to integrate relational database - access, security, complex business rules, and HTML. - - This particular install creates a mySQL DB "STEELBLUE" and installs - the executable to the default Apache cgi-bin and html directories - as well as in /opt/steelblue. - - For installation, the environment variables OWNER, GROUP, CGI_BIN, - and HTDOCS_DIR can be set to override the defaults. - - For uninstallation, the environment variables CGI_BIN, HTDOCS_DIR, - and NO_REMOVE_DB can be set to override the defaults. By default - the STEELBLUE database is removed. The database can be kept by - setting NO_REMOVE_DB to a non-empty value. - - %prep - %setup - %patch - - %build - cd src - make steelblue - make docs - - %install - cd src - make install - - %post - PATH=${PATH}:/usr/bin:/usr/local/bin - OWNER=${OWNER:-"nobody"} - GROUP=${GROUP:-"nobody"} - CGI_BIN=${CGI_BIN:-"/home/httpd/cgi-bin/"} - HTDOCS_DIR=${HTDOCS_DIR:-"/home/httpd/html/"} - - if (! test -d $CGI_BIN); then - echo "CGI_BIN ($CGI_BIN) is an invalid directory" - exit 1 - fi; - - if (! test -d $HTDOCS_DIR); then - echo "HTDOCS_DIR ($HTDOCS_DIR) is an invalid directory" - exit 1 - fi; - - install -v -s --mode=755 --group=$GROUP --owner=$OWNER /opt/steelblue/steelblue $CGI_BIN - install -v --mode=755 --group=$GROUP --owner=$OWNER /opt/steelblue/steelblue.conf $CGI_BIN - install -v -d --mode=755 --group=$GROUP --owner=$OWNER $HTDOCS_DIR/scripts - install -v --mode=444 --group=$GROUP --owner=$OWNER /opt/steelblue/CheckUtils.js $HTDOCS_DIR/scripts - - mysqladmin create STEELBLUE - /usr/bin/mysql -u root STEELBLUE < /usr/doc/SteelBlue-2.0b2/schema/mySQL.schema.sql - - %postun - PATH=${PATH}:/usr/bin:/usr/local/bin - CGI_BIN=${CGI_BIN:-"/home/httpd/cgi-bin/"} - HTDOCS_DIR=${HTDOCS_DIR:-"/home/httpd/html/"} - - rm -f $CGI_BIN/steelblue - rm -f $CGI_BIN/steelblue.conf - rm -f $HTDOCS_DIR/scripts/CheckUtils.js - rmdir $HTDOCS_DIR/scripts - - if (! test $NO_REMOVE_DB); then - /usr/bin/mysqladmin -f drop STEELBLUE - fi - - %files - %doc doc examples schema INSTALL.TXT LICENSE.TXT - /opt/steelblue --- 0 ---- diff -r -N --context ../SteelBlue-2.0b2/src/install/SteelBlue_2.0b2_psql.spec ./src/install/SteelBlue_2.0b2_psql.spec *** ../SteelBlue-2.0b2/src/install/SteelBlue_2.0b2_psql.spec Mon Jul 24 19:36:53 2000 --- ./src/install/SteelBlue_2.0b2_psql.spec Wed Dec 31 19:00:00 1969 *************** *** 1,40 **** - Summary: The SteelBlue appserver install for Postgres - Name: SteelBlue - Version: 2.0b2 - Release: psql_1 - Vendor: Turner Consulting Group - Copyright: commercial - Group: Application/Internet - Requires: postgresql - URL: http://www.steelblue.com/ - Packager: Robert Buccigrossi - Prefix: /opt - Source: SteelBlue_2.0b2.tar.gz - patch0: SteelBlue_2.0b2_psql.patch - %description - A Web application server designed to integrate relational database - access, security, complex business rules, and HTML. - - This particular install creates a Postgres SteelBlue installation in - /opt/steelblue. - - %prep - %setup - %patch - - %build - cd src - make steelblue - - %install - cd src - make install - make docs - - %post - - %postun - - %files - %doc doc examples schema INSTALL.TXT LICENSE.TXT - /opt/steelblue --- 0 ---- diff -r -N --context ../SteelBlue-2.0b2/src/install/SteelBlue_mysql.spec ./src/install/SteelBlue_mysql.spec *** ../SteelBlue-2.0b2/src/install/SteelBlue_mysql.spec Wed Dec 31 19:00:00 1969 --- ./src/install/SteelBlue_mysql.spec Sat Aug 12 22:23:44 2000 *************** *** 0 **** --- 1,40 ---- + Summary: The SteelBlue appserver install for MySQL + Name: SteelBlue + Version: 2.0b3 + Release: mysql_1 + Vendor: Turner Consulting Group + Copyright: commercial + Group: Application/Internet + Requires: MySQL + URL: http://www.steelblue.com/ + Packager: Robert Buccigrossi + Prefix: /opt + Source: SteelBlue_2.0b3.tar.gz + patch0: SteelBlue_mysql.patch + %description + A Web application server designed to integrate relational database + access, security, complex business rules, and HTML. + + This particular install creates a mySQL SteelBlue installation in + /opt/steelblue. + + %prep + %setup + %patch + + %build + cd src + make steelblue + + %install + cd src + make install + make docs + + %post + + %postun + + %files + %doc doc examples schema INSTALL.TXT LICENSE.TXT + /opt/steelblue diff -r -N --context ../SteelBlue-2.0b2/src/install/SteelBlue_mysql_auto.spec ./src/install/SteelBlue_mysql_auto.spec *** ../SteelBlue-2.0b2/src/install/SteelBlue_mysql_auto.spec Wed Dec 31 19:00:00 1969 --- ./src/install/SteelBlue_mysql_auto.spec Sat Aug 12 22:23:44 2000 *************** *** 0 **** --- 1,84 ---- + Summary: The SteelBlue appserver install for MySQL + Name: SteelBlue + Version: 2.0b3 + Release: mysql_auto_1 + Vendor: Turner Consulting Group + Copyright: commercial + Group: Application/Internet + Requires: MySQL + URL: http://www.steelblue.com/ + Packager: Robert Buccigrossi + Prefix: /opt + Source: SteelBlue_2.0b3.tar.gz + patch0: SteelBlue_mysql_auto.patch + %description + A Web application server designed to integrate relational database + access, security, complex business rules, and HTML. + + This particular install creates a mySQL DB "STEELBLUE" and installs + the executable to the default Apache cgi-bin and html directories + as well as in /opt/steelblue. + + For installation, the environment variables OWNER, GROUP, CGI_BIN, + and HTDOCS_DIR can be set to override the defaults. + + For uninstallation, the environment variables CGI_BIN, HTDOCS_DIR, + and NO_REMOVE_DB can be set to override the defaults. By default + the STEELBLUE database is removed. The database can be kept by + setting NO_REMOVE_DB to a non-empty value. + + %prep + %setup + %patch + + %build + cd src + make steelblue + make docs + + %install + cd src + make install + + %post + PATH=${PATH}:/usr/bin:/usr/local/bin + OWNER=${OWNER:-"nobody"} + GROUP=${GROUP:-"nobody"} + CGI_BIN=${CGI_BIN:-"/home/httpd/cgi-bin/"} + HTDOCS_DIR=${HTDOCS_DIR:-"/home/httpd/html/"} + + if (! test -d $CGI_BIN); then + echo "CGI_BIN ($CGI_BIN) is an invalid directory" + exit 1 + fi; + + if (! test -d $HTDOCS_DIR); then + echo "HTDOCS_DIR ($HTDOCS_DIR) is an invalid directory" + exit 1 + fi; + + install -v -s --mode=755 --group=$GROUP --owner=$OWNER /opt/steelblue/steelblue $CGI_BIN + install -v --mode=755 --group=$GROUP --owner=$OWNER /opt/steelblue/steelblue.conf $CGI_BIN + install -v -d --mode=755 --group=$GROUP --owner=$OWNER $HTDOCS_DIR/scripts + install -v --mode=444 --group=$GROUP --owner=$OWNER /opt/steelblue/CheckUtils.js $HTDOCS_DIR/scripts + + mysqladmin create STEELBLUE + /usr/bin/mysql -u root STEELBLUE < /usr/doc/SteelBlue-2.0b3/schema/mySQL.schema.sql + + %postun + PATH=${PATH}:/usr/bin:/usr/local/bin + CGI_BIN=${CGI_BIN:-"/home/httpd/cgi-bin/"} + HTDOCS_DIR=${HTDOCS_DIR:-"/home/httpd/html/"} + + rm -f $CGI_BIN/steelblue + rm -f $CGI_BIN/steelblue.conf + rm -f $HTDOCS_DIR/scripts/CheckUtils.js + rmdir $HTDOCS_DIR/scripts + + if (! test $NO_REMOVE_DB); then + /usr/bin/mysqladmin -f drop STEELBLUE + fi + + %files + %doc doc examples schema INSTALL.TXT LICENSE.TXT + /opt/steelblue diff -r -N --context ../SteelBlue-2.0b2/src/install/SteelBlue_psql.spec ./src/install/SteelBlue_psql.spec *** ../SteelBlue-2.0b2/src/install/SteelBlue_psql.spec Wed Dec 31 19:00:00 1969 --- ./src/install/SteelBlue_psql.spec Sat Aug 12 22:23:44 2000 *************** *** 0 **** --- 1,40 ---- + Summary: The SteelBlue appserver install for Postgres + Name: SteelBlue + Version: 2.0b3 + Release: psql_1 + Vendor: Turner Consulting Group + Copyright: commercial + Group: Application/Internet + Requires: postgresql + URL: http://www.steelblue.com/ + Packager: Robert Buccigrossi + Prefix: /opt + Source: SteelBlue_2.0b3.tar.gz + patch0: SteelBlue_psql.patch + %description + A Web application server designed to integrate relational database + access, security, complex business rules, and HTML. + + This particular install creates a Postgres SteelBlue installation in + /opt/steelblue. + + %prep + %setup + %patch + + %build + cd src + make steelblue + + %install + cd src + make install + make docs + + %post + + %postun + + %files + %doc doc examples schema INSTALL.TXT LICENSE.TXT + /opt/steelblue diff -r -N --context ../SteelBlue-2.0b2/src/steelblue.cpp ./src/steelblue.cpp *** ../SteelBlue-2.0b2/src/steelblue.cpp Thu Jun 22 00:33:39 2000 --- ./src/steelblue.cpp Sat Aug 12 22:34:35 2000 *************** *** 300,318 **** // check to see if there is a query string char * qs = getenv ("QUERY_STRING"); if (qs != NULL) { qs = strdup(getenv ("QUERY_STRING")); char * temp = ARGV[0]; ! ARGV = (char **) malloc (sizeof (char *) * 11); ARGV[0] = temp; - // copy up to 9 more args into ARGV - ARGC = 1; temp = qs; ! int len = strlen (qs); ! int count = 0; ! for (char * c = qs; count < len ; c++, count++) { if ( *c == '+') { c[0] = '\0'; --- 300,327 ---- // check to see if there is a query string char * qs = getenv ("QUERY_STRING"); if (qs != NULL) { + int num_args = 2; qs = strdup(getenv ("QUERY_STRING")); + int len = strlen (qs); + int count = 0; + char * c; + + // Count Arguments + for (c = qs; count < len ; c++, count++) { + if ( *c == '+') { + num_args ++; + } + } + char * temp = ARGV[0]; ! ARGV = (char **) malloc (sizeof (char *) * num_args); ARGV[0] = temp; ARGC = 1; temp = qs; ! count = 0; ! for (c = qs; count < len ; c++, count++) { if ( *c == '+') { c[0] = '\0';