Tcl Library Source Code

Timeline
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

99 check-ins using file embedded/www/toc.html version 615d2ede13

2018-11-17
16:58
Starting a branch to develop a version of tool that is new-version-of-tcllib proof, to support IRM, with a snapshot in time embedded version of cron, oodialect, dicttool, and oometa. Closed-Leaf check-in: 64f22bd586 user: hypnotoad tags: tool
2018-07-18
15:03
Updates to the clay module check-in: 7ee3399c6e user: hypnotoad tags: hypnotoad
2018-07-13
19:01
Updating a bit in httpd's implementation that used to rely on access to a private variable. Added a binary encode around the grab of raw random data on unix to prevent Tcl from trying to interpret the string. check-in: 3ee985049d user: hypnotoad tags: hypnotoad
16:54
Removed dedicated variables for clay's delegation and mixinmap. (They are now sub-elements of the clay dict). Refactored the practcl clay implementation to provide a better mapping of old function calls. This new practcl version now runs old practcl projects unmodified. check-in: 0745c57cca user: hypnotoad tags: hypnotoad
14:53
Fixed the meta markup on the clay module. Moved the definition of clay::object into the metaclass.tcl file. This allows practcl to just steal the proc.tcl, class.tcl, and object.tcl files from this module to include on its own, without needing to ALSO include oo::dialect. Renamed the "source" ensemble method to "provenace" and added a new "source" which sources a file inside the object's namespace. Practcl now utilizes a minimalist snippet of the clay project, replacing its own implementation with the clay implementation. check-in: 39bd8c6989 user: hypnotoad tags: hypnotoad
2018-07-12
13:16
Fix to prevent oroburus loops in cron check-in: 8022922366 user: hypnotoad tags: hypnotoad
2018-07-11
23:40
Officially adding clay as a module for installation check-in: 2b68c1fb87 user: hypnotoad tags: hypnotoad
23:32
Reverting Tool back to it's prior state. Retrofitting all of the plumbing in Tao/Tk (and IRM) to use the new Clay framework is time prohibitive at the moment. With Clay interactions restricted to a dedicated variable name and a dedicated method ensemble, object systems are free to mix Clay, Tool, and Tao code. The developer just needs to be aware that the properties from tool/oometa will be invisible to clay and vice verse. At this point all future development in Tcllib will the clay based, with Tool remaining for API stability. check-in: 6ceed53d65 user: hypnotoad tags: hypnotoad
17:28
Condensing all clay framework interactions to the clay ensemble, and a single method "Evolve" which is called when the mixinmap changes. For clay framework objects, this Evolve method rebuilds the method ensembles. For standard OO objects, it does nothing. check-in: dd1a2e2be4 user: hypnotoad tags: hypnotoad
2018-07-09
16:34
Update the httpd example server to the new API check-in: d2371ac9b8 user: hypnotoad tags: hypnotoad
16:25
Introducting a lower-footprint alternative to the tool framework: clay. Clay uses simpler rules more strictly enforced. It also resolves the long running issues caused by having to mark leaves by, instead, marking branches. Revamped the httpd package to utilize clay. Introduced a new version of tool which builds on the clay infrastructure instead of using oo::meta. oo::meta should be considered dead at this point. check-in: 8b5d471156 user: hypnotoad tags: hypnotoad
2018-06-19
17:52
Pulling changes from trunk check-in: fc1fd5aa01 user: hypnotoad tags: hypnotoad
17:50
Merged hypnotoad work over into trunk, mainly for the changes (renames) which help sak.tcl operation. check-in: 5b0076422d user: aku tags: trunk
17:37
Bumped the version for Practcl check-in: 021d5ae879 user: hypnotoad tags: hypnotoad
04:12
mime / smtp <EF> Ticket [83d674b2dd] Extended TLS support to native TLS connections. Bumped to version 1.5. check-in: 9073bd414a user: aku tags: trunk
04:08
mime / smtp <B> Ticket [d9be31a488] Fixed operation of smtp::initialize when both server- and port-list contain more than one element. Bumped to 1.4.6 check-in: f8b74f465b user: aku tags: trunk
2018-06-18
21:27
Pulling changes from trunk check-in: e42366acb6 user: hypnotoad tags: hypnotoad
19:17
Added a number of procedures to the geometry package regarding intersection with circles (implementation in geometry_circle.tcl). Edited several files because of merge conflicts check-in: c3a46560db user: arjenmarkus tags: trunk
2018-06-14
21:11
Fixing an issue in httpd where mime headers to a closed channel were going into an overrun instead of simply terminating check-in: 120c9fa21e user: hypnotoad tags: hypnotoad
14:31
The drop operation should only be permissive on choices (reflecting the realizability condition on choice). New expressions should not be constructed for expressions other than choice. check-in: f70ef61b95 user: ssoberni tags: pt-container-ssoberni
14:02
Kleene star and optionals are better deemed realizable by definition. check-in: 8cd8a7435f user: ssoberni tags: pt-container-ssoberni
09:48
Fix typo in variable use check-in: b08e3a4fd7 user: ssoberni tags: pt-container-ssoberni
09:40
Fix typo in variable use check-in: e3fcb27310 user: ssoberni tags: pt-container-ssoberni
2018-06-13
21:48
Fix order of cleanup operations; dropping unrealizable non-terminals is known to result in new unreachable ones. check-in: 29c5675b36 user: ssoberni tags: pt-container-ssoberni
21:34
Create new branch named "pt-container-ssoberni" check-in: 73a81cc2ca user: ssoberni tags: pt-container-ssoberni
13:48
Preserve farthest-failure path for all *_branch super-instructions. Test included. Prior to this fix, three out of four *_branch si pushed an empty element to the ES, rather than the current FFP. This corresponded to i_error_clear_push, rather than the (documented and) needed i_error_push. check-in: 03e3d184d6 user: ssoberni tags: ssoberni-ffp-3ed39a451f
13:41
Create new branch named "ssoberni-ffp-3ed39a451f" check-in: a3cdfd4c68 user: ssoberni tags: ssoberni-ffp-3ed39a451f
2018-06-12
03:55
oauth / oauth <T> Ticket [20b144d2] Skip tests if TLS is not available. Added base64, sha1 to the set of support packages. check-in: b39206d300 user: aku tags: trunk
2018-06-05
21:50
httpd module changes Added a server plugin which allows local process data to be sent via arguments and memchans instead of sockets. Updated tests to use the dict_dispatch plugin check-in: 93b036eaeb user: hypnotoad tags: hypnotoad
18:04
Adding a sourcefile that was missing to implement plugins check-in: 313dd6aeac user: hypnotoad tags: hypnotoad
2018-05-31
16:21
Pulling changes from trunk check-in: 703dc04479 user: hypnotoad tags: hypnotoad
16:20
Where present, have uuid use /dev/urandom as an entropy source instead of relying on delicate platform specific hacks. check-in: d5e2fcf04b user: hypnotoad tags: trunk
2018-05-26
04:11
Adapted a convention from toadhttpd for Dispatch plugins to the general case. Fixed a typo in practcl check-in: e7c8f0994c user: hypnotoad tags: hypnotoad
2018-05-24
16:46
Added a thread spinning stub to the httpd plugin template ::cron::run should now trigger periodic processes check-in: aafd17983a user: hypnotoad tags: hypnotoad
2018-05-18
17:47
oauth / oauth <B> Ticket [8fd2561785] Fixed missing escape-quoting of an opening brace in a quote-quoted regexp pattern in a proc. The outer {...} of the proc body governs. Fixed bogus variable name in oauth::QuoteValues. Added an empty test file with a no-op placeholder test. This will catch at least the file not loading properly. Version bumped to 1.0.2 check-in: aec286d43d user: aku tags: trunk
17:13
mime / smtp <EF> Ticket [83d674b2dd] New option -tlsimport to support native TLS for smtp. Updated documentation. Version bumped to 1.5 Closed-Leaf check-in: 657782a889 user: aku tags: smtp-tlsimport-tkt-83d674b2dd
04:42
json / json <D> Ticket [868b8ebe79] json / json::write <D> Extended the documentation of both packages to refer to the other. No version changes. Regenerated the online documentation. check-in: e2d7b04944 user: aku tags: trunk
04:31
mime / smtp <B> Ticket [d9be31a488] Simplify how `smtp::initialize` iterates over -servers and -ports. Updated the documentation. Version bumped to 1.4.6. Thanks to boegge for the report of the problem with the old code. Closed-Leaf check-in: 9c0c77acf0 user: aku tags: smtp-init-tkt-d9be31a488
04:15
log / log <EF> Ticket [19607f927b] Merged new `logsubst` command to prevent execution of expensive message construction until actually needed. Version bumped to 1.4. Thanks to Harald for idea and implementation. check-in: ea802e332b user: aku tags: trunk
2018-05-07
17:06
Regenerated web docs. check-in: 2d4eba9c29 user: aku tags: trunk
17:02
Tkt [e72cf5e815] - Merged feature branch check-in: f14ecf1992 user: aku tags: trunk
2018-05-02
23:38
httpd: Fixed a typo (well really an api shift) if the file dispatcher's index page generator. check-in: 3d23a339f7 user: hypnotoad tags: hypnotoad
19:32
Updated the windows platform bodge to compile kits with --enable-symbols check-in: aa12283388 user: hypnotoad tags: hypnotoad
06:42
HTTPD minor tweaks Adding more debugging to header overrun messages. Update the metaclass for httpd to use the proper methods for html templating. HttpdHeaders now uses the variable LIMIT instead of a hard coded constant check-in: 4bb6b80d44 user: hypnotoad tags: hypnotoad
2018-05-01
18:03
Fixed leakage of tls_package between tests. Added setup of twapi for twapi tests. Works for me now. Closed-Leaf check-in: e172652ba4 user: aku tags: autoproxy-twapi-support
17:54
Merged multi-setup of tests into single clause. Does not fix the failures. check-in: 2309be1887 user: aku tags: autoproxy-twapi-support
17:40
http / autoproxy <EF> Ticket [e72cf5e815] Fixes before merge - Tweaked the documentation setup, placed the custom tls notes into the section instead of before it. - Using the in/ni operators means that the package and tests require Tcl 8.5+ Note, still seeing test failures on linux, where tests use twapi commands and are guarded only with have-tls. Still, tests are also described as using tls, so it is likely an issue in the package, not the test itself. This need some more investigation. check-in: e9af4d885f user: aku tags: autoproxy-twapi-support
2018-04-26
15:01
Removing etoyoc.com specific hack from the core implementation check-in: d9110868ee user: hypnotoad tags: hypnotoad
2018-04-24
21:14
Redesigned the "not found" message inside of the httpd dispatcher to spawn off a reply object to handle the template processing for the error message. Added handling for the special case of a browser communicating with localhost. Modern browsers will not send a cookie for localhost, and in that case the session id is marked as a constant string "localhost" to allow the rest of the security system to operate properly. check-in: 1db0d3ebb8 user: hypnotoad tags: hypnotoad
17:50
Added a new method Headers_Process to allow plugins to do their own manipulation of incoming requests prior to dispatch check-in: d8a1dbbf62 user: hypnotoad tags: hypnotoad
16:59
Added a plugin architecture to the httpd core, to allow multiple extensions their own chance to claim and service requests from the httpd dispatch engine. Added a private class Log_Dispatch to be shorthand for writing out to the server object's log with all of the pro-forma data that the developer could care about. check-in: 0188cf4306 user: hypnotoad tags: hypnotoad
2018-04-19
13:07
For twapi TLS, connection does not block until negotiation complete so check for that before updating tls_status element in state array. Note that this element is undocumented anyway. check-in: 56704965b8 user: apnadkarni tags: autoproxy-twapi-support
2018-04-17
15:25
Updated version info in pkgConfig.tcl and autoproxy.man. Ticket for this branch: [e72cf5e815] check-in: 0c15f14f78 user: oehhar tags: autoproxy-twapi-support
14:00
Added support for twapi::tls_socket as an alternative to the TLS extension Updated documentation accordingly for the -tls_package option. Added simple tests for autoproxy::tls_socket check-in: 7ba53ac6e9 user: apnadkarni tags: autoproxy-twapi-support
10:35
Create new branch named "autoproxy-twapi-support" check-in: c732c4cffa user: apnadkarni tags: autoproxy-twapi-support
2018-04-14
12:52
Added rudimentary support for html templating (To be overridden by mixins later, of course) check-in: f49e8110c9 user: hypnotoad tags: hypnotoad
04:31
httpd: Maintainability and debugging tweaks based on experience developing toadhttpd check-in: a338f3ab7e user: hypnotoad tags: hypnotoad
2018-04-02
12:52
Modifications to httpd: Removing shims added to support toadhttpd's cacheing mechanism. Fixed some logging cases. check-in: db5fbcec3c user: hypnotoad tags: hypnotoad
2018-03-31
05:19
Modifications to httpd to support toadhttpd. Sessionid (if given) is now passed to logging. The format of the information sent to logging now conforms to the information available from the http_info method. check-in: bfb33bfa4c user: hypnotoad tags: hypnotoad
2018-03-19
17:15
httpd improvments for toadhttpd. Added a catch around 408 error handling. Added an optional configuration file which is sourced internally by the object on startup. Moved coroutines and httpd reply objects to dedicated global namespaces. check-in: 76a705a2ec user: hypnotoad tags: hypnotoad
16:40
Removing the tool-ui and tool::datatype modules. They are a bit of a niche effort, better suited to taolib check-in: 420323e576 user: hypnotoad tags: hypnotoad
2018-03-16
20:56
Fixed the unicode escaper check-in: 0e3839c9b6 user: hypnotoad tags: hypnotoad
20:45
Typo fix check-in: 7e96757fb8 user: hypnotoad tags: hypnotoad
11:18
Enhanced the html::html_entities command with a means for character by character escaping arbitrary unicode that doesn't have a canonical html code. check-in: 08eeb5ca21 user: hypnotoad tags: hypnotoad
2018-03-15
10:38
Fixed a bug in the httpd module FormData method. Added a facility to sak style tools/subprojects to install individual modules to a specified location check-in: 05e97ce4b4 user: hypnotoad tags: hypnotoad
2018-03-13
23:30
Updated practcl's VFS package indexer to understand not to try to index meta-source code in tcllib and tcllib-a-like libraries. check-in: 8cd2ebf514 user: hypnotoad tags: hypnotoad
20:29
Repair the example - replacing the square brackets by [lb] and [rb] to prevent evaluation check-in: ec7b5576d0 user: arjenmarkus tags: trunk
18:36
Restructuring tool style modules to place their source code in a path that the sak installer will ignore on install check-in: 4bef92af87 user: hypnotoad tags: hypnotoad
17:36
More improvements to httpd based on field testing. Refactored error handling. Introduced a MIME header size limit (currently hardcoded at 8192). Logs now record the UUID of the http reply as the primary index. File transfers and channel copies now consistently terminated the responding coroutine and schedule and event to close the channels and destroy the reply object. For testing added a simplified reply template check-in: 9291c03a44 user: hypnotoad tags: hypnotoad
2018-03-12
22:05
Removing the tool_db module, formalizing development in taolib check-in: 9c923546c5 user: hypnotoad tags: hypnotoad
22:03
Modification to keep practcl from indexing the src folders of tool modules check-in: ff7e8c2af2 user: hypnotoad tags: hypnotoad
21:48
Adding files missing from httpd. Adding a new module: tool::db check-in: 5c03450590 user: hypnotoad tags: hypnotoad
21:43
Updating proxy coroutines for httpd check-in: 9dc811f430 user: hypnotoad tags: hypnotoad
17:08
Added a new method to servers "DocDefault" so that derivative implementations can replace their own "no virtual host/dynamic url" match behavior with their own (and not have to swap out the entire dispatch method.) Removed comments and debugging entries in the log check-in: 4cdb83224e user: hypnotoad tags: hypnotoad
14:15
Httpd improvements All httpd replies are now given a guuid, and an object and coroutine name in the global namespace. Simplified error handling and detangled a web of try { ... } that was confounding error reporting. Added an "html" ensemble to server an reply object which take care of generating pro-forma blocks of Html code, as well as provide shims for sitewide templating. Reply dispatch methods no longer attempt their own error handling. Going all-in with having coroutines monitor the entire lifecycle of a request check-in: c322bd4d9e user: hypnotoad tags: hypnotoad
2018-03-11
21:01
Replaced the array error_codes with a method call Added a new method "wait" which will do the write event wrappers around "chan event" to ensure the event fires off, and the script clears Eliminated the "output" method from reply Added handling for 3xx style redirects Added hooks for servers to cache results. They are blank for the tcllib implementation. Added the concept of TTL (time to live) as a property that can be populated for URLS to indicate caches both internal to the webserver and proxies along the way to the client how fresh a page needs to be. Corrected several HTTP codes that were copied from tclhttpd, but were in fact wrong. Added sizes to every call to chan copy Reimplemented proxies, SCGI, and CGI. They now follow a common template. SCGI and CGI are both forms of proxy. Added the ability to turn on or off debuggining in the test script. check-in: dcab6eb2d2 user: hypnotoad tags: hypnotoad
11:53
For bulk transfers, switching from having the coroutine poll to having the chan copy wake the object back up. The polling coroutine is locking up under field conditions on etoyoc.com check-in: e6cd91662e user: hypnotoad tags: hypnotoad
01:01
Reworked content.scgi to be the same sort of "never leave dispatch" style of responder as content.proxy. Removed some misplaced error handling in scgi and proxy. For now in really exotic errors they just log and clean up instead of trying to report an error across a socket that may no longer exist check-in: 33ced87845 user: hypnotoad tags: hypnotoad
2018-03-10
08:14
Cleaning up logging and error reporting check-in: 10dce1fd67 user: hypnotoad tags: hypnotoad
01:42
Tweaks to ensure socket events are cleared on error check-in: fa4332082b user: hypnotoad tags: hypnotoad
2018-03-09
22:41
Modifications to httpd. Renamed the "add_uri" to uri::add. Uri is a new method ensemble. Added uri::patterns to output a chain of search patterns for urls. Uri patterns can now include a hostname Added logic to detect all patterns that web clients may be requesting an index. check-in: 349c14ea42 user: hypnotoad tags: hypnotoad
11:04
Modifications to httpd and httpd example. Fleshed out how to stream content from proxies. Reimplemented the fossil hosting example to use the "fossil http" command instead of running a persistant server. Fixed several points in the code where we were leaving the coroutine and firing off random method calls in the event loop. Now, wherever practical, events wake the coroutine back up. This helps ensure we follow proper order of operations. Added a replaceable "debug" method for server processes. The default is an empty call, but developers can inject puts statements or log entries to nap stack traces of errors. Added tests for proxied content check-in: 0ee04291d4 user: hypnotoad tags: hypnotoad
03:05
Added a preliminary CGI implementation to the httpd module. More testing to follow check-in: eb759a27ea user: hypnotoad tags: hypnotoad
2018-03-08
16:12
Modifications to formalize headers in a way that is in common with environmental variable mapping for CGI. (Even though we aren't really doing CGI yet.) check-in: 61c81b3607 user: hypnotoad tags: hypnotoad
15:38
Moved MIME header parsing into the http server object. The reply now gets a predigested set of headers with the ability to grab a cached copy of the raw MIME headers the server saved. The fields in the request ensemble are now SCGI encoded to allow true commonality between HTTP and SCGI client code Created a meta class to contain the mime handling capabilities that both the server and reply classes will need to keep in common check-in: 59c887b3a9 user: hypnotoad tags: hypnotoad
2018-03-04
12:50
More RFC Fixes for canonical mispellings and "you would have had to have been there" capitalizations. check-in: a8484a5704 user: hypnotoad tags: hypnotoad
12:41
SCGI fix check-in: 56964c80b2 user: hypnotoad tags: hypnotoad
12:32
Refining the logging. Added a reference block of information that is useful for debugging nefarious access from the web check-in: 81e7060c13 user: hypnotoad tags: hypnotoad
2018-03-02
21:13
Moving the amalgamation scripts for httpd, practcl, tool-ui and tool to their respective src/ directories to prevent the script from being distributed with the final product. check-in: ce0c9b2cb7 user: hypnotoad tags: hypnotoad
20:56
Moved the build.tcl file for nettool to the src directory check-in: 5f322710f3 user: hypnotoad tags: hypnotoad
2018-02-27
20:05
Change tool-ui to unix line breaks. Replaced "eq" tests with "==" for values which are assumed to be numerical. 5.0 == 5 is true. 5.0 eq 5 is not. check-in: 1227142c29 user: hypnotoad tags: hypnotoad
2018-02-20
11:09
Fixed list error Closed-Leaf check-in: 259321213b user: oehhar tags: rfe-19607f927b-logeval
09:08
Added tests to check if the purpose (no execute on no log) works check-in: c5d9906c48 user: oehhar tags: rfe-19607f927b-logeval
2018-02-19
19:50
Pulling files from the release check-in: c043be9248 user: hypnotoad tags: hypnotoad
15:09
Add log::logsubst with command/variable substitution only in the log case. Ticket [19607f927b] check-in: ec9cf4bb6f user: oehhar tags: rfe-19607f927b-logeval
2018-02-17
05:29
Bumped release information in the homepage. check-in: 7dc753b7b0 user: aku tags: trunk
05:13
Tcllib 1.19 Release merged into Trunk. check-in: c78b1cfefe user: aku tags: trunk
04:59
Cherrypicked [1da4d5eaab] over into the release. Bumped version, updated related materials Closed-Leaf check-in: cd6ff6e8eb user: aku tags: release, tcllib-1-19-rc, tcllib-1-19, tcllib-1-19-rc-2
04:49
Merged latest and last fixes from hypnotoad branch, for this release cycle. Regenerated docs. check-in: 540d616e21 user: aku tags: tcllib-1-19-rc