diff -r -N --context ../SteelBlue-2.0.0/doc/ProgrammingSteelBlue/BaseSBModule.cpp.html ./doc/ProgrammingSteelBlue/BaseSBModule.cpp.html *** ../SteelBlue-2.0.0/doc/ProgrammingSteelBlue/BaseSBModule.cpp.html Sun Sep 24 23:07:56 2000 --- ./doc/ProgrammingSteelBlue/BaseSBModule.cpp.html Mon Oct 2 23:49:08 2000 *************** *** 1739,1744 **** --- 1739,1769 ---- } + /* + @usehtml + @CONTAINER + @usage <COMMENT> + @usage Comment + @usage </COMMENT> + + @SECTIONS ALL + @INDEX Allows a comment that does not go into HTML stream + + Allows a comment to be written that does not go into the HTML stream. In + order to support the use of comments to hide JavaScript, standard HTML + comments are passed into the HTML stream. + + @ex <COMMENT> + @ex This does not appear in the HTML stream + @ex </COMMENT> + @ex <!-- This does appear in the HTML stream --> + + */ + void BaseSBModule::processCOMMENT ( SGMLContainer *t, Error &err) { + // Dummy function for documentation purposes + } + + void BaseSBModule::evalString(string & str, string & result, Error & err, int linebegin){ EvalParser evalparser; diff -r -N --context ../SteelBlue-2.0.0/doc/ProgrammingSteelBlue/EvalFunctions.cpp.html ./doc/ProgrammingSteelBlue/EvalFunctions.cpp.html *** ../SteelBlue-2.0.0/doc/ProgrammingSteelBlue/EvalFunctions.cpp.html Sun Sep 24 23:07:56 2000 --- ./doc/ProgrammingSteelBlue/EvalFunctions.cpp.html Mon Oct 2 23:49:08 2000 *************** *** 2682,2689 **** EXACTLY(GetEnv,1); char * out = getenv (argv[0].c_str()); ! ! ret_val = out; } /* --- 2682,2692 ---- EXACTLY(GetEnv,1); char * out = getenv (argv[0].c_str()); ! if (out == NULL){ ! ret_val = ""; ! } else { ! ret_val = out; ! } } /* diff -r -N --context ../SteelBlue-2.0.0/doc/ProgrammingSteelBlue/configuration.html ./doc/ProgrammingSteelBlue/configuration.html *** ../SteelBlue-2.0.0/doc/ProgrammingSteelBlue/configuration.html Thu Jan 13 15:14:43 2000 --- ./doc/ProgrammingSteelBlue/configuration.html Thu Oct 5 08:54:05 2000 *************** *** 264,269 **** --- 264,279 ---- + MaxUserDelete + + Maximum number of timed-out guest users to delete per session. This + distributes the responsibility of deleting old sessions among multiple + hits. +

+ Default: "10" + + + OracleHome ORACLE_HOME environment variable. This is required for use with the diff -r -N --context ../SteelBlue-2.0.0/doc/ProgrammingSteelBlue/tagindex.html ./doc/ProgrammingSteelBlue/tagindex.html *** ../SteelBlue-2.0.0/doc/ProgrammingSteelBlue/tagindex.html Mon Jan 10 22:46:37 2000 --- ./doc/ProgrammingSteelBlue/tagindex.html Mon Oct 2 23:49:08 2000 *************** *** 19,24 **** --- 19,26 ---- ALLAssigns data to a variable.  CLEAR
ALLClears out an array or namespace from memory and the Swap.  + COMMENT
+ ALLAllows a comment that does not go into HTML stream  CONTENT
HTML (MIME)Creates alternative MIME type files  COPY
diff -r -N --context ../SteelBlue-2.0.0/doc/ProgrammingSteelBlue/tags.html ./doc/ProgrammingSteelBlue/tags.html *** ../SteelBlue-2.0.0/doc/ProgrammingSteelBlue/tags.html Wed Sep 13 23:49:20 2000 --- ./doc/ProgrammingSteelBlue/tags.html Mon Oct 2 23:49:08 2000 *************** *** 509,515 **** file which contains a navigation bar common to many pages --> <include file="navigation_bar.sb"> !


EVALContainerALL

Description:

Allows a large block of Eval code to be executed. The Eval language --- 509,515 ---- file which contains a navigation bar common to many pages --> <include file="navigation_bar.sb"> !

EVALContainerALL

Description:

Allows a large block of Eval code to be executed. The Eval language *************** *** 534,539 **** --- 534,555 ---- $b = $c; } </EVAL> +

COMMENTContainerALL

Description:

+ + + Allows a comment to be written that does not go into the HTML stream. In + order to support the use of comments to hide JavaScript, standard HTML + comments are passed into the HTML stream. + + + +

Usage:

<COMMENT>
+   Comment
+ </COMMENT>
+ 

Example:

<COMMENT>
+  This does not appear in the HTML stream
+ </COMMENT>
+ <!-- This does appear in the HTML stream -->
  

SBSELECTHTML

Description:

diff -r -N --context ../SteelBlue-2.0.0/src/BaseSBModule.cpp ./src/BaseSBModule.cpp *** ../SteelBlue-2.0.0/src/BaseSBModule.cpp Sun Sep 24 23:07:42 2000 --- ./src/BaseSBModule.cpp Mon Oct 2 23:49:08 2000 *************** *** 1738,1743 **** --- 1738,1768 ---- } + /* + @usehtml + @CONTAINER + @usage + @usage Comment + @usage + + @SECTIONS ALL + @INDEX Allows a comment that does not go into HTML stream + + Allows a comment to be written that does not go into the HTML stream. In + order to support the use of comments to hide JavaScript, standard HTML + comments are passed into the HTML stream. + + @ex + @ex This does not appear in the HTML stream + @ex + @ex + + */ + void BaseSBModule::processCOMMENT ( SGMLContainer *t, Error &err) { + // Dummy function for documentation purposes + } + + void BaseSBModule::evalString(string & str, string & result, Error & err, int linebegin){ EvalParser evalparser; diff -r -N --context ../SteelBlue-2.0.0/src/BaseSBModule.h ./src/BaseSBModule.h *** ../SteelBlue-2.0.0/src/BaseSBModule.h Thu Jun 22 00:33:21 2000 --- ./src/BaseSBModule.h Mon Oct 2 23:49:08 2000 *************** *** 74,79 **** --- 74,80 ---- virtual void processIF ( SGMLIf * t, Error & err); virtual void processLOOP (SGMLContainer * t, Error & err); virtual void processEVAL (SGMLContainer * t, Error & err); + virtual void processCOMMENT (SGMLContainer * t, Error & err); void processDEFINE (SGMLContainer * t, Error & err); public: // Regex * reVar; diff -r -N --context ../SteelBlue-2.0.0/src/EvalFunctions.cpp ./src/EvalFunctions.cpp *** ../SteelBlue-2.0.0/src/EvalFunctions.cpp Sun Sep 24 23:07:42 2000 --- ./src/EvalFunctions.cpp Mon Oct 2 23:31:37 2000 *************** *** 2681,2688 **** EXACTLY(GetEnv,1); char * out = getenv (argv[0].c_str()); ! ! ret_val = out; } /* --- 2681,2691 ---- EXACTLY(GetEnv,1); char * out = getenv (argv[0].c_str()); ! if (out == NULL){ ! ret_val = ""; ! } else { ! ret_val = out; ! } } /* diff -r -N --context ../SteelBlue-2.0.0/src/Makefile ./src/Makefile *** ../SteelBlue-2.0.0/src/Makefile Fri Jul 21 19:46:06 2000 --- ./src/Makefile Thu Oct 5 08:52:23 2000 *************** *** 41,46 **** --- 41,52 ---- # Solaris options: # # SOLARISFLAGS = -lsocket -lnsl + # + # The following was required for linking by Ian Spray with mysql... + # (Better local makefile configuration is being added in the next + # beta...) + # + # SOLARISFLAGS = -Wl,-R/usr/local/lib -Wl,-R/usr/local/lib/mysql -lz -lsocket -lnsl ####################################### ####################################### diff -r -N --context ../SteelBlue-2.0.0/src/SGMLParser.cpp ./src/SGMLParser.cpp *** ../SteelBlue-2.0.0/src/SGMLParser.cpp Thu Jun 22 00:33:33 2000 --- ./src/SGMLParser.cpp Mon Oct 2 23:49:08 2000 *************** *** 19,25 **** "H5", "INFO", "HEAD", "HTML", "I", "IF", "PRE", "TABLE", "TITLE", "TD", "TH", "TR", "U", "UL", "SELECT", "TEXTAREA", "FRAMESET", "NOBR", "DL", "DEFFUN", ! "BLOCKQUOTE", "SUP", "SUB", "SCRIPT","EVAL", "BIG", "SMALL", "STYLE", "CODE", "NOFRAMES", "MAP", "DIV", "OL", "EM", NULL}; static StringVHSet ContainerSet = stringVHSetFromArray(Containers); --- 19,26 ---- "H5", "INFO", "HEAD", "HTML", "I", "IF", "PRE", "TABLE", "TITLE", "TD", "TH", "TR", "U", "UL", "SELECT", "TEXTAREA", "FRAMESET", "NOBR", "DL", "DEFFUN", ! "BLOCKQUOTE", "SUP", "SUB", "SCRIPT","EVAL", "COMMENT", ! "BIG", "SMALL", "STYLE", "CODE", "NOFRAMES", "MAP", "DIV", "OL", "EM", NULL}; static StringVHSet ContainerSet = stringVHSetFromArray(Containers); *************** *** 257,262 **** --- 258,292 ---- } } + // Grab text until we hit a "". Ignores contents of COMMENT. + void SGMLParser::parseComment(){ + char c; + string buf,ucbuf; // To hold end of eval characters + int linebegin; + + buf = ""; + ucbuf = ""; + + linebegin = char_stream.lineNumber(); + + while(1){ + c = char_stream.getChar(); + if (c == '\0'){ + char buf[80]; + sprintf(buf,"%d: Unexpected end of COMMENT starting at %d", + char_stream.lineNumber(),linebegin); + parser_errors.addFatalError(buf); + return; + } + buf = buf + c; + if (upcase(buf) == upcase(string(""))){ + return; + } else if (buf.length() >= 10){ + buf = buf.substr(1,9); + } + } + } + // we found a comment if "!--" are the next three characters after a '<' int SGMLParser::foundComment(){ char a,b,c; *************** *** 427,432 **** --- 457,464 ---- char_stream.lineNumber()); tokens->push_back(container_token); + } else if(command == "COMMENT"){ + parseComment(); // Parse the contents and throw away } else if(ContainerSet.find(command) != ContainerSet.end()){ // it is a container SGMLTokenList * contents = parse(command,linenum); diff -r -N --context ../SteelBlue-2.0.0/src/SGMLParser.h ./src/SGMLParser.h *** ../SteelBlue-2.0.0/src/SGMLParser.h Thu Jun 22 00:33:34 2000 --- ./src/SGMLParser.h Mon Oct 2 23:49:08 2000 *************** *** 23,28 **** --- 23,29 ---- void parseCommand(string * command, AssocArray * flags); void parseText(string * text); void parseEval(string * text); + void parseComment(); int foundComment(); void parseComment(string * comment); void parseIf(SGMLTokenList * then_tokens, SGMLTokenList * else_tokens); diff -r -N --context ../SteelBlue-2.0.0/src/Security.cpp ./src/Security.cpp *** ../SteelBlue-2.0.0/src/Security.cpp Thu Jun 22 00:33:35 2000 --- ./src/Security.cpp Thu Oct 5 08:52:23 2000 *************** *** 310,316 **** --- 310,322 ---- Result * res; StringDLList usernames; StringDLList::iterator i; + int max_user_delete = atoi((*config)["maxuserdelete"].c_str()); + int num_users = 0; string guest_str ("Guest_"); + + if (max_user_delete <= 0){ + max_user_delete = 10; + } // get the current time t = time2YYYYMMDDHHMMSS(); *************** *** 329,335 **** } delete (res); ! for (i=usernames.begin();i != usernames.end(); i++){ /* Because guest entries are unique, even over institutions, we can safely search with only the username */ sprintf (query, "Delete from %.30s where username='%.42s'", --- 335,343 ---- } delete (res); ! for (num_users = 0, i = usernames.begin(); ! (i != usernames.end()) && (num_users < max_user_delete); ! i++, num_users++){ /* Because guest entries are unique, even over institutions, we can safely search with only the username */ sprintf (query, "Delete from %.30s where username='%.42s'", *************** *** 344,355 **** ((*config)["groupstable"]).c_str(), (*i).c_str()); dbgate->setSQL (query); dbgate->execute (); } - - sprintf (query, "Delete from %.40s where timeout < '%.30s'", - ((*config)["tickettable"]).c_str() , t.c_str() ); - dbgate->setSQL (query); - dbgate->execute (); } UserInfo & Security::getUserInfo (void) { --- 352,362 ---- ((*config)["groupstable"]).c_str(), (*i).c_str()); dbgate->setSQL (query); dbgate->execute (); + sprintf (query, "Delete from %.40s where timeout < '%.30s' and username='%.42s'", + ((*config)["tickettable"]).c_str() , t.c_str() , (*i).c_str()); + dbgate->setSQL (query); + dbgate->execute (); } } UserInfo & Security::getUserInfo (void) { diff -r -N --context ../SteelBlue-2.0.0/src/install/SteelBlue_mysql.spec ./src/install/SteelBlue_mysql.spec *** ../SteelBlue-2.0.0/src/install/SteelBlue_mysql.spec Sun Sep 24 22:26:40 2000 --- ./src/install/SteelBlue_mysql.spec Thu Oct 5 09:00:35 2000 *************** *** 1,6 **** Summary: The SteelBlue appserver install for MySQL Name: SteelBlue ! Version: 2.0.0 Release: mysql_1 Vendor: Turner Consulting Group Copyright: commercial --- 1,6 ---- Summary: The SteelBlue appserver install for MySQL Name: SteelBlue ! Version: 2.0.1 Release: mysql_1 Vendor: Turner Consulting Group Copyright: commercial *************** *** 9,15 **** URL: http://www.steelblue.com/ Packager: Robert Buccigrossi Prefix: /opt ! Source: SteelBlue_2.0.0.tar.gz patch0: SteelBlue_mysql.patch %description A Web application server designed to integrate relational database --- 9,15 ---- URL: http://www.steelblue.com/ Packager: Robert Buccigrossi Prefix: /opt ! Source: SteelBlue_2.0.1.tar.gz patch0: SteelBlue_mysql.patch %description A Web application server designed to integrate relational database diff -r -N --context ../SteelBlue-2.0.0/src/install/SteelBlue_mysql_auto.spec ./src/install/SteelBlue_mysql_auto.spec *** ../SteelBlue-2.0.0/src/install/SteelBlue_mysql_auto.spec Sun Sep 24 22:26:40 2000 --- ./src/install/SteelBlue_mysql_auto.spec Thu Oct 5 09:00:35 2000 *************** *** 1,6 **** Summary: The SteelBlue appserver install for MySQL Name: SteelBlue ! Version: 2.0.0 Release: mysql_auto_1 Vendor: Turner Consulting Group Copyright: commercial --- 1,6 ---- Summary: The SteelBlue appserver install for MySQL Name: SteelBlue ! Version: 2.0.1 Release: mysql_auto_1 Vendor: Turner Consulting Group Copyright: commercial *************** *** 9,15 **** URL: http://www.steelblue.com/ Packager: Robert Buccigrossi Prefix: /opt ! Source: SteelBlue_2.0.0.tar.gz patch0: SteelBlue_mysql_auto.patch %description A Web application server designed to integrate relational database --- 9,15 ---- URL: http://www.steelblue.com/ Packager: Robert Buccigrossi Prefix: /opt ! Source: SteelBlue_2.0.1.tar.gz patch0: SteelBlue_mysql_auto.patch %description A Web application server designed to integrate relational database *************** *** 63,69 **** 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.0.0/schema/mySQL.schema.sql %postun PATH=${PATH}:/usr/bin:/usr/local/bin --- 63,69 ---- 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.0.1/schema/mySQL.schema.sql %postun PATH=${PATH}:/usr/bin:/usr/local/bin diff -r -N --context ../SteelBlue-2.0.0/src/install/SteelBlue_psql.spec ./src/install/SteelBlue_psql.spec *** ../SteelBlue-2.0.0/src/install/SteelBlue_psql.spec Sun Sep 24 22:26:40 2000 --- ./src/install/SteelBlue_psql.spec Thu Oct 5 09:00:35 2000 *************** *** 1,6 **** Summary: The SteelBlue appserver install for Postgres Name: SteelBlue ! Version: 2.0.0 Release: psql_1 Vendor: Turner Consulting Group Copyright: commercial --- 1,6 ---- Summary: The SteelBlue appserver install for Postgres Name: SteelBlue ! Version: 2.0.1 Release: psql_1 Vendor: Turner Consulting Group Copyright: commercial *************** *** 9,15 **** URL: http://www.steelblue.com/ Packager: Robert Buccigrossi Prefix: /opt ! Source: SteelBlue_2.0.0.tar.gz patch0: SteelBlue_psql.patch %description A Web application server designed to integrate relational database --- 9,15 ---- URL: http://www.steelblue.com/ Packager: Robert Buccigrossi Prefix: /opt ! Source: SteelBlue_2.0.1.tar.gz patch0: SteelBlue_psql.patch %description A Web application server designed to integrate relational database