# reportfmt

title: All Tickets
cols:
  #ffffff Key:
  #f2dcdc Active
  #e8e8e8 Review
  #cfe8bd Fixed
  #bde5d6 Tested
  #cacae5 Deferred
  #c8c8c8 Closed

sqlcode:
  SELECT
    CASE WHEN status IN ('Open','Verified') THEN '#f2dcdc'
         WHEN status='Review' THEN '#e8e8e8'
         WHEN status='Fixed' THEN '#cfe8bd'
         WHEN status='Tested' THEN '#bde5d6'
         WHEN status='Deferred' THEN '#cacae5'
         ELSE '#c8c8c8' END AS 'bgcolor',
    substr(tkt_uuid,1,10) AS '#',
    datetime(tkt_mtime) AS 'mtime',
    type,
    status,
    subsystem,
    title
  FROM ticket


# event

type: ci
user: welch
comment:
  Increased CGI timeout from 60 seconds to 300 seconds.

  Fixed conflict over "env" variable in Cgi_SetEnvAll that
  meant you always were settting the env variable instead of
  the passed in variable name.

  Fixed broken call to CgiCancel so that hung CGI scripts
  do get cleaned up properly.


type: ci
user: welch
comment:
  Maintain a map from Tcl prefix to URL prefix so you can
  reconstruct pathnames using $Direct($cmdprefix)

  Map ?number,number into x=number&y=number so
  direct URLs can handle imagemaps.

  Added "cache hit" counters to direct URLS so they show
  up in the /status/doc display

  Added the ability to do redirects by throwing an error
  with code 302:
      return -code 302 $newurL


type: ci
user: welch
comment:
  Added Doc_ExcludePat to register pathname suffixes you do
  not want found by DocFallback (like .bak and .swp files)

  Eliminated fallback when the file name has nothing before
  the suffix: like /mumble/.abc

  The DocFallback code generates URL redirects to the new path
  so that spelling errors like john.osterhoot are not
  cached and propagated back to folks browsers.

  Doc(errorUrl) is set after an error so that the /error.html
  page template can use it.

  Template caching traps the case where the cached .html file
  cannot be written to disk.


type: ci
user: welch
comment:
  Improved pattern on initial command to avoid totally bogus clients.

  Added Httpd_SelfUrl that maps /a/b/c into
  http://$Httpd(name):$Httpd(port)/a/b/c
  only including port if it is != 80


type: ci
user: welch
comment:
  Added support for Log(compressProg) so you can compress
  the nightly log file.  This is /usr/local/bin/gzip by default.

  Eliminated duplicate IP address in the log, which was totally broken:
  A.B.C.DA.B.C.D, groan


type: ci
user: welch
comment:
  Improved auto-mail bug reports

  Added "href", and "label" args  to /mail/forminfo so you
  can display a link in the acknowledgement page.

  Added Mail_FormInfo that is designed to be embedded into .tml pages.
  It assumes there is are sendto and subject form elements that
  direct the mailing.


type: ci
user: welch
comment:
  Moved all the Debug routines into debug.tcl

  Eliminated the link to /status/notfound/reset from the
  /status/notfound page.  The URL is still there, just no link.

  Fixed missing <title> from /status/all


type: ci
user: welch
comment:
  Improved URL dispatch so you can have conflicting domain
  prefixes like "/tcl" and "/tclhttpd".  Previously a domain
  prefix like "/tcl" would mask the file "/tclhttpd" in the / domain.

  Added even more general support for URL redirections.  Any
  URL implementation can raise an error and set the global
  errorCode variable to
  [list HTTPD_REDIRECT $newurl]
  this is because subst masks all error codes, so the return -code 302
  trick for direct URLS doesn't work inside .tml files.

  Added Url_Encode so you can create URLs that have funny characters
  properly encoded as %xx


type: ci
user: welch
comment:
      Beefed up File_List and added an "open" wrapper so we can track
      what files are opened.  Useful when plugging file descriptor leaks.


type: ci
user: welch
comment:
          Improvements to work under Windows - including a filter on
          what environment variables must be preserved,  plus the server
          watches the reply so CGI scripts can return MIME headers
          and 302 return codes, etc.


type: ci
user: welch
comment:
  File uploading mod from Steve Ball.
  Url_DecodeQuery will return a list of filename-content pairs
  Also some updates to mime.types


type: ci
user: welch
comment:
  Cleaned up directory listing, works under Doc_AddRoot.
  Fixed DocTemplate with respect to its interpreter variable
  Added "issafe" support to session.tcl


type: ci
user: welch
comment:
   Added page(set-cookie), which a .tml page can set to be
   a valid Set-Cookie: value for the response.


type: ci
user: welch
comment:
  Added data(uri) element, which is the complete request.
  Added Httpd_SetCookie, which you can use to set a cookie
  during a subsequent Httpd_ReturnFile, Httpd_ReturnData.


type: ci
user: welch
comment:
  dirlist - fixed handling of files with space in their names.
  doc.tcl - added env to context of SubstSystemFile
  url.tcl - protect against bogus Content-Type for post data


type: ci
user: welch
comment:
  Fixed CGI and page environment settings to deal with
  Doc_AddRoot and ~user URLs - ones that are not under the main root.
  Also PATH_TRANSLATED had been completly wrong.


type: ci
user: welch
comment:
  Fixed Httpd_Redirect so it works with keep-alives.
  Fixed Url_PathCheck so it doesn't ignore "empty" path components,
  which had a buggy interaction with Auth_Check and URLS like /a/b/c/


type: ci
user: welch
comment:
  Changed handling of post data so it isn't read all automatically.
  Added Httpd_GetPostData and Httpd_GetPostChannel


type: ci
user: welch
comment:
  Fixed DocTemplate in two ways.  First, templates can both
  set cookies with Doc_SetCookie and cause redirects with
  Doc_Redirect.  Second, it deals correctly with pending
  post data so document templates do not have to use
  Httpd_GetPostData.


type: ci
user: welch
comment:
  Added Httpd_PostDataSize so you can see if there is any
  pending post data.
  Turned off the socket read handler before calling Url_Dispatch
  so document handlers don't have to worry about the socket.


type: ci
user: welch
comment:
  Fixed a bug where errors in document handlers would cause
  the document handler to be run twice, once from the entry
  in the UrlCache array, and one through the URL prefix dispatch.


type: ci
user: welch
comment:
  dirlist.tcl - fixed the URLs in directory listings to be relative
  and to encode spaces properly.
  httpd.tcl - filter out proxy requests - trim leading http://sever


type: ci
user: welch
comment:
  admin.tcl - added /admin/reset to reset individual counters
  base64.tcl - fixed trailing null bug
  counter.tcl - add display of when a counter was reset
  direct.tcl - honor content-type for query data
  doc.tcl - protect against regexp specials inside DocFallback
  status.tcl - displaying  when a counter was reset
  version.tcl - upped to 2.3.6


type: ci
user: wart
comment:
  Added configure switch to allow users to install the document root somewhere
  other than the default location.


type: ci
user: awb
comment:
  SSL support changes.
  Use tls::init pending rebuild of tls extension.
  Add error checking on tls::handshake call.
  Allow concurrent http and https ports.


type: ci
user: awb
comment:
  Add some checks that the various certificate files exist. Should
  this really be done in tls extension?


type: ci
user: welch
comment:
  MakeIndex is just a handy utility.
  The redirect module is useful for redirecting whole URL hierarchies


type: ci
user: awb
comment:
  In Httpd_SelfUrl, port was redundantly appended when server name was
  obtained from "mime,host" value. Modify the default port check to use
  80 as http default and 443 as https default.


type: ci
user: awb
comment:
  Add proc "Httpd_Port" to return the port for a connection. Use this
  in Cgi_SetEnvAll so we get the correct port value for https connections.


type: ci
user: wart
comment:
  Build fixes to get the crypt library to compile on unix:

      Use install-sh/mkinstalldirs from shared config module

      Add "-lcrypt" to link line on Linux, if needed

      Use a pkgIndex.tcl file template, instead of autogenerating it at
      install time.


type: ci
user: wart
comment:
  Fixed compiler warning in crypt.c

  Implemented better search for the crypt() function.  Now we only compile
  the cryptLib.c implementation if we can't find the crypt() function in
  a system library (Windows NT only).  No more ugly switching on the operating
  system type.


type: ci
user: wart
comment:
  Re-added variable for storing the location of the htdocs tree.  Now where had
  it gone off to before?


type: ci
user: wart
comment:
  Better support for the limit package.  Now it's only built on systems
  with the necessary header files (unix only)


type: ci
user: welch
comment:
  httpd.tcl - fixed Httpd_ReturnError for use in worker threads
  cgi.tcl - fixed call to Httpd_SelfUrl so the nasty env(HTTP_CHANNEL) isn't
  needed.  Fixes errors in direct urls.


type: ci
user: welch
comment:
  Fixed Httpd dispatch code to handle POST requests with no Content-Length.
  Fixed threaded code to read post data before dispatching to worker thread.


type: ci
user: awb
comment:
  Fix incorrect merge of Matt Newman's patch:
  add "set ::env(HTTP_CHANNEL) $sock"
  before calling Url_Dispatch for POST case.


type: ci
user: hershey
comment:
  changed calls to Base64 library to use the
          "base64" namespace (version 2.0 of the package).


type: ci
user: welch
comment:
  * lib/url.tcl   Added Url_AccessInstall and changed Url_Dispatch
  to call registered access control hooks before dispatching to
  domain handlers.  Changed URL redirect scheme to not use the
  UrlCache hack, but to use a URL access control hook.
  * lib/redirect.tcl: Added a URL access control hook to implement
  per-URL redirects.
  * lib/httpd.tcl: unbroke Httpd_RedirectSelf
  * lib/thread.tcl: fixed use of undefined procedure
  * lib/admin.tcl: Removed most of the redirect code from here.


type: ci
user: welch
comment:
  * lib/doc.tcl  Created DocAccessHook and moved authentication
  checking out of DocDomain and into DocAccessHook.  Also did
  cleanup so that Doc_Virtual would work if you used Doc_AddRoot
  to splice in other directory trees into the URL tree.  The
  nice side effect of DocAccessHook is that you can create
  a file system structure to parallel application-direct URLs,
  (e.g., /debug and /status) and put .htaccess or .tclaccess
  files in them to control access to the built in URLs.
  * lib/url.tcl  Simplified Url_Dispatch by removing the
  UrlCache array.  Also added Url_PrefixMatch
  * lib/auth.tcl  Define env(REMOTE_USER) and env(AUTH_TYPE) in the
  case that .tclaccess files are used to check Basic Authentication.
  * REMOVED lib/base64.tcl in favor of the Standard Tcl Library
  base64 package. (You can find it in deprecated/base64.tcl)


type: ci
user: welch
comment:
  Shuffled ancillary files into subdirectories.
  Changed tclhttpd.rc to just have configuration options.
  Added main.tcl that has the main application initialization
  Restructured httpd.tcl to use tclhttpd.rc and main.tcl
  Changed from using OptProc to cmdline for argument parsing.


type: ci
user: welch
comment:
  * REMOVED lib/base64.tcl in favor of the Standard Tcl Library
  base64 package. (You can find it in deprecated/base64.tcl)


type: ci
user: welch
comment:
  Minor tweaks to make the threadmgr module optional.
  Added config.tcl to manage the parameters set in the tclhttpd.rc file


type: ci
user: welch
comment:
  * lib/httpd.tcl: Fixed accesshook "denied" case where the catch
  inside Url_Dispatch was catching an early return.  This caused
  an extra error reply after the 403 reply that was already generated.
  Fixes bug 4741
  * lib/include.tcl: Added support for the "exec" command in
  server side includes.


type: ci
user: awb
comment:
  Fix bug 4822 -- problem uploading project with controller actions with
  extra curly braces.

  Correctly escape Tcl special characters in Url_DecodeQuery_multipart/form-data.


type: ci
user: welch
comment:
  debug.tcl: Added /debug/showproc
  doc.tcl: Integrated with ncgi:: module for page query data
  httpd.tcl: Added Proxy_Dispatch hook
  mime.types: Added WAP types
  status.tcl: Removed hardwired use of /status
  thread.tcl: Switched to use new Thread package


type: ci
user: awb
comment:
  Escape ";" character when decoding mime field. Fix for bug 4416 -- space
  in project pathname causes publishing failure.


type: ci
user: welch
comment:
  Fixed bug 4637
  Added "file mkdir" to Log_SetFile so it will create
  the log directory if it doesn't exist.  This is wrapped in a catch,
  as are half the lines of code in this procedure, so logging silently
  fails if it cannot open the log file for some reason.


type: ci
user: sandeep
comment:
  2000-04-18  Sandeep Tamhankar <sandeep@scriptics.com>
          * Makefile.in: Added calls to @CYGPATH@ so that Cygwin //z/
          references get converted to z:/.


type: ci
user: welch
comment:
  Changes these samples to use tclsh8.3, and changes some to use ncgi and html modules
  from the Standard Tcl Library.


type: ci
user: welch
comment:
  Moved the version.tcl file to its own package to avoid shadowing
  the http package when version.tcl is loaded (e.g., by tcl_findLibrary)


type: ci
user: welch
comment:
  * configure.in, Makefile.in: Fixes so that crypt and limit can have
  a different version number (1.0) than TclHttpd

  PARTS LIST ALERT.  This affects the libcrypt.1.0.so, liblimit.1.0.so
  and the directories lib/crypt1.0 and lib/limit1.0

  * pkgIndex.tcl.in: Removed incorrect hardwired version number.


type: ci
user: welch
comment:
  * bin/httpd.tcl: Added Httpd_Name and Httpd_Protocol to go with the
  existing Httpd_Port that return the server name, protocol (http or
  https), and the port associated with a particular connection.


type: ci
user: welch
comment:
  The server now drains the socket if the Domain
  handler choose not to read the POST data.  This makes it more
  reliable for the client side to read the server's reply.  Added
  Httpd_GetPostDataAsync and Httpd_CopyPostData so Domain handlers
  have a clean interface to asynchronously deal with POST data.


type: ci
user: welch
comment:
  httpd.tcl - bug fix in closing keep-alive sockets.
  srvui.tcl and status.tcl - fixed reporting on document hits


type: ci
user: welch
comment:
  Continued tweaking on the startup configuration.  Added
  README_custom that explains how to modify the server.
  Renamed "main.tcl" to "httpdthread.tcl"


type: ci
user: welch
comment:
  * lib/doc.tcl: Added check against bogus Content-Type that can
  be generated by IE 5 when a POST keep-alive is followed by a GET.
  The GET request contains the Content-Type from the POST (!), which
  if it is multipart/form-data, is completely bogus.


type: ci
user: welch
comment:
  * lib/auth.tcl, lib/httpd.tcl:  The Basic authentication module
  now sets the data(remote_user) and data(auth_type) variables,
  which are later copied into the REMOTE_USER and AUTH_TYPE
  environment variables.
  * lib/log.tcl: Log_FlushMinutes will call Log_Flush if it sees
  that the chain of after events has already been started.  This
  will ensure that the next flush occurs when expected.
  * bin/httpdthread.tcl, lib/thread.tcl:  fixed initialization
  of threaded interpreters.


type: ci
user: welch
comment:
  Bumped version to 3.0.1
  Fixed Httpd_SelfUrl to deal with the Host: header
  passed by http::geturl, which lacks the port number.
  IE 5, in contrast, passes the host:port as the Host: header value


type: ci
user: welch
comment:
  * lib/httpd.tcl: Made the SSL handhake non-blocking. BUG 5252.
  * lib/cgi.tcl: Changed exec of CGI script to use
  	>2 /dev/stdout (if that device exists) instead of
  	|& cat (to eliminate a process)
  * lib/doc.tcl: Fixed ~username accesses.
  * lib/mail.tcl: This now looks for /usr/lib/sendmail or
  for /sbin/sendmail for those FreeBSD folks out there.
  * lib/status.tcl: Beefed up /status/size


type: ci
user: kuchler
comment:
  Changed the file extension to mime type mapping to be case insensitive so
  that .gif and .GIF are identical and so that .htm and .HTM are identical.


type: ci
user: welch
comment:
  doc.tcl Doc_AddRoot bug fix
  httpd.tcl Fixed - Extra newline before postdata from https and Netscape - bug.
  mtype.tcl Made file suffix comparisions case insensitive.


type: ci
user: welch
comment:
  httpd.tcl, update for 3.0.4 release.
  httpdthread.tcl - added call to Doc_AddRoot for testing that API


type: ci
user: welch
comment:
  doc.tcl - fixed Doc_AddRoot ~ file name attach
  httpd.tcl - fixed call to Httpd_GetPostDataAsync that is made
  	in an error case.
  imagemap.tcl - fixed bug due to unbraced expr!
  safecgio.tcl - fixed unterminated quote bug.
  version.tcl - 3.0.4


type: ci
user: welch
comment:
  * lib/httpd.tcl - Fixed case where a normal post happens to
  start with a leading newline for valid reasons as opposed to
  being the extra newline from SSL on Netscape.


type: ci
user: welch
comment:
  Fixed error recovery case triggered by normal posts
  that start with a leading newline for valid reasons
  (i.e., not the SSL/Netscape issue)


type: ci
user: welch
comment:
  * lib/cgi.tcl - Fixed use of "2> /dev/stdout", which can
  fail if you start tclhttpd under an xterm (which is a fine
  /dev/stdout), but later exit the xterm.  Previously that
  broke all CGI scripts.  The open error is now trapped, and
  it falls back to the old "|& cat" way of doing things.
  [BUG 5870]


type: ci
user: wart
comment:
  Use INSTALL_PROGRAM instead of INSTALL_DATA when installing libraries
  so they get execute permission.


type: ci
user: build
comment:
  faqfaq.tml - added missing \
  maptcl.tcl, maptk.tcl - fixed listification in regsub/subst combo (MapRead)


type: ci
user: welch
comment:
  * lib/doc.tcl:
  Fixed handling of Url encoding in file names.  In particular,
  the dirlist.tcl module does urlencoding so - gets encoded,
  and the DocDomain procedure wasn't handling it.


type: ci
user: welch
comment:
  * bin/httpdthread.tcl:
  Changed the -library (i.e., Config library) parameter to
  be a directory that contains custom code that is sourced
  as part of (per thread) startup.  This makes it easier
  to drop code into TclHttpd without modifying the
  distributed files.
  * bin/httpd.tcl:
  This calls tls::init instead of doing strange things to
  get the code in Httpd_SecureSever to set parameters.
  * bin/tclhttpd.rc.in:
  Fixed up documentation for the library config option, which
  is now used for custom code.


type: ci
user: welch
comment:
  * lib/httpd.tcl:
  Moved tls parameter setting out of this file and into
  the main startup script.
  * lib/utils.tcl:
  Fixed iscommand to work better with commands in namespaces,
  and to auto_load procedures if necessary.
  * lib/direct.tcl:
  Used Doc_NotFound instead of returning 403 errors.
  * custom/*
  Added sample custom code
  * lib/doc.tcl:
  Changed html::resolveUrl to uri::resolve as the former got deleted from TclLib,
  this means that Doc_RedirectSelf is probably broken in 3.1.0 if you use
  TclLib 0.6.1
  * lib/version.tcl:
  Changed to version 3.2


type: ci
user: welch
comment:
  Generalized Httpd_Port to return the listening port without having
  to give it a socket.  Used for configuration managers.
  Added Httpd_SecurePort to return the https listening port, if any.


type: ci
user: welch
comment:
  * lib/auth.tcl:
  Made consistent assignments to:
  data(session), data(remote_user), and data(auth_type)
  so that any Url Domain can count on these.
  * lib/counter.tcl:
  Re-wrote this to be a thin layer over the Standard Tcl Library
  stats module.
  * lib/doc.tcl:
  Added procedure headers throughout.  Changed Doc(tmlSuffix) var to
  Doc(tmlExt), and added Doc(htmlExt) (either ".html" or ".htm").
  Streamlined the DocFallback somewhat, and fixed a lingering issue
  when you have a cachable index.tml page.  Previously it wouldn't
  be cached unless you asked for the index.html page explicitly,
  which didn't work right for DocDirectory.
  * lib/httpd.tcl:
  Added procedure headers throughout.  Added
  Httpd_CompletionCallback so Url_Dispatch can register a
  domain-sepcific callback when a request completes.
  Added calls to monitor the service time of requests.
  Documented the elements of the data() array.
      Removed data(ssl), data(code).
  Added better catching around the routines that generate
  replies in case the socket goes bad.
  * lib/url.tcl:
  Generalized Url_PrefixInstall to take option, value pairs.  This
  is done in a backwards compatible way.  The new signature is:
  	Url_PrefixInstall prefix domainHandler args
  If args is a single word, it is treated as the "thread" option.
  Otherwise it is an option, value list of:
  	-thread		boolean
  	-callback	command
  Where the callback is made when the URL request has completed.
  If thread-dispatch is requested, the server uses a worker thread
  if Tcl supports it and the server is configured for it.
  * lib/srvui.tcl:
  * lib/status.tcl:
  Switched to use new counters.


type: ci
user: welch
comment:
  Bug fix in Counter_CheckPoint.
  Nudged date-stamp in version string.
  Restored the special pkgIndex.tcl that doesn't declare the sub-packages
  until you package require httpd.


type: ci
user: welch
comment:
  Added secsPerMinute .rc file setting to affect time-based histograms.
  Added -secs command line argument.
  Moved Counter_Init call into the main program from Httpd_Init.


type: ci
user: welch
comment:
  Moved Counter_Init call into the main program from Httpd_Init.
  Added secsPerMinute parameter to Counter_Init.
  Fixed histogram calls.


type: ci
user: welch
comment:
  * lib/log.tcl: Split out routines that relate to standard logging format.
  This is so an application can provide its own Log interface, yet still use
  our code to format standard web logs.
  * lib/logstd.tcl: Split out routines that relate to standard logging format.
  * lib/status.tcl: Fixed histogram init calls.


type: ci
user: welch
comment:
  * lib/httpd.tcl: Added data(code) back into support logging.
  * lib/logstd.tcl: Added LogStandardPrint.


type: ci
user: welch
comment:
  * lib/direct.tcl: Converted this to use the ncgi:: module.
  This means you can use ncgi::value inside application-direct URLs.
  * lib/httpd.tcl: Added accept_https counter
  * lib/status.tcl: Added accept_https counter
  * lib/counter.tcl:  Added unused code for -histlog
  * lib/debug.tcl: Added wired-in defaults for debug host, port
  in case things are so broken you cannot pass parameters.


type: ci
user: lfb
comment:
  	* lib/direct.tcl: Split DirectDomain into four functions that
  	parse the query data, assemble the Tcl command line to execute,
  	evaluate the command, and return a result.


type: ci
user: welch
comment:
  * lib/debug.tcl: Fixed /debug/pvalue to properly sort things
  when given a name pattern.
  * lib/doc.tcl: Added DocGetTemplates to check for .tml files properly
  when using user's public_html directory and Doc_AddRoot.  Based on
  an idea contributed by Glenn Jackmann
  * lib/httpd.tcl: Added Httpd_RequestComplete so the Url module can
  determine if a URL implementation actually issued a response.
  * lib/url.tcl: Url_Dispatch returns a default 403 result if the
  access hook says "denied" but doesn't send a response.


type: ci
user: welch
comment:
  lib/counter.tcl: Fixed secsPerMinute initialization.
  lib/status.tcl: Added use of stats::htmlHistDisplayRow


type: ci
user: welch
comment:
  * lib/counter.tcl: Fixed secsPerMinute initialization.
  * lib/status.tcl: Added use of stats::htmlHistDisplayRow
  Added /status/domain for per-domain counting
  * lib/url.tcl: Added per-domain hit counting.
  * imagemap.tcl, ismap.tcl, snmp.tcl, discover.tcl - cleaned up to have a
  packge not span files because that breaks our custom-generated pkgIndex.tcl


type: ci
user: welch
comment:
  * lib/direct.tcl: Exported Direct_MarshallArguments that computes
  the Tcl command to invoke, so other domains can implement variations
  on application-direct URLs.
  * lib/url.tcl: Added Url_QuerySetup that is like the old
  Url_DecodeQuery, but passes the information to the ncgi:: module.


type: ci
user: welch
comment:
  * lib/direct.tcl: Nuked Count call with incorrect prefix.  Domain hits
  are already being counted by the Url module.
  * lib/httpd.tcl: Changed order so Log comes before HttpdDoCallback.


type: ci
user: welch
comment:
  * lib/httpd.tcl: Added Httpd_ReadPostDataAsync that is
  a thin layer over Httpd_GetPostDataAsync
  * lib/url.tcl: Added the -readpost option to Url_PrefixInstall.
  This option is actually *on* by default and it causes TclHttpd
  to read all the post data using Httpd_GetPostDataAsync before
  dispatching to the Url domain implementation.


type: ci
user: welch
comment:
  * lib/httpd.tcl: Added optional sock parameter to Httpd_CurrentSocket
  so you can set the current socket.


type: ci
user: welch
comment:
  Fixed Httpd_ReadPostDataAsync et. al. to correctly use
  Httpd_Suspend and Httpd_Resume (the resume had been omitted)


type: ci
user: welch
comment:
  * lib/counter.tcl: Fixed broken counter initialization
  * lib/httpd.tcl: Removed Counter_Reset call as it gets in
      the way of counter initialization.
  * lib/status.tcl: Removed 0-valued counters from table display.


type: ci
user: welch
comment:
  * bin/httpd.tcl: Fixed setting of auto_path in the standard
  install configuration so that the limit and crypt packages can
  be found (Peter Farmer)
  * lib/doc.tcl: Added Doc_RegisterRoot so the cgi domain can set up
  the directory mapping used by DocAccessHook. (Peter Farmer)
  * lib/cgi.tcl: Fixed "extra timer" bug found by Petrus that could cause
  erroneous aborts of CGI connections. (Petrus Vloet)
  Added use of Doc_RegisterRoot so DocAccessHook works right for
  /cgi-bin directories outside the htdocs hierarchy.  (Peter Summers)
  Eliminated extra / build-up in /cgi/bin pathnames (Peter Summers)


type: ci
user: welch
comment:
  * bin/cgi.tcl: Fixed handling of large POST data by replacing
  an fcopy with filevent.  The works around a fcopy bug
  diagnosed by Don Porter.


type: ci
user: welch
comment:
  * htdocs/x/hacks.tml: Switched from debug/parray to debug/pvalue,
  which is more general.  It takes a pattern of variables to print.
  * lib/status.tcl: Added StatusHeader procedure
  * lib/debug.tcl: Added check for Config(lib) directory
  to set of places used by /debug/source

  (The rest adopted from work by Piet Vloet - thanks!)
  * lib/auth.tcl: Changes to handle multiple
  group and user specifications in .htaccess files.
  * htdocs/access/index.html: Updated docs
  * htdocs/access/multiple: New tests
  * htaccess: sample group and password files.


type: ci
user: welch
comment:
  htdocs/access/index.tml: Fixed typo in section headers.
  lib/doc.tcl: Fixed Doc_Cookie to look in the connection
  state (mime array) instead of relying on the environment variable.
  lib/pkgIndex.tcl: Fixed to handle spaces in directory names.
  lib/thread.tcl: Fixed Thread_IsFree
  Added custom/ddehack.tcl example that I've been using to
  integrate exmh running on Unix and Netscape running on Windows.


type: ci
user: welch
comment:
  * bin/httpdthread.tcl: Catch around package require html
  because the latest version of that module conflicts with prodebug.
  * lib/httpd.tcl: Fixed (ancient?) bug where static files would
  not end up in the access log.
  * lib/stdlog.tcl: Fixed this procedure so status and file size
  are correctly logged.


type: ci
user: welch
comment:
  * bin/url.tcl: Minor cleanup of error message in Url_PrefixInstall.
  * lib/upload.tcl: Fixed things so files are always uploaded in binary


type: ci
user: welch
comment:
  These are a set of modifications done mostly by Melissa Chawla
  to the Doc, Upload, and Thread modules (see the ChangeLog).
  There are also modifications for Virtual Hosts (Don Porter)
  and If-Modified-Since (Brian Meagher).  There are also changes to
  set the version number to 3.4


type: ci
user: welch
comment:
  Merged the tclhttpd-3-4-rel branch into the trunk.
  The merge point was marked with the tclhttpd-3-4-rel-1 tag


type: ci
user: welch
comment:
  * lib/httpd.tcl: added data(headerlist) that records the header
  information in order so the AOLserver emulation can recreate
  the exact MIME headers of the request.
  * lib/url.tcl: added a URL access hook return code of "return"
  which just means "I've serviced this URL request completely".

  Patches from Wojciech Kocjan


type: ci
user: welch
comment:
  * Merged the tclhttpd-3-4-rel branch into the trunk.
    tclhttpd-3-4-rel-3 represents the 3.4.3 release and
    the merge point.  This sets the version numbers to
    3.4.3, which isn't strictly correct, but reflects
    the merge.


type: ci
user: coldstore
comment:
  Changed Cookie_Save to pass sock in as an argument - I think it's neater than
  upvar, and has the same effective functionality in known cases.


type: ci
user: coldstore
comment:
  Created a doc_error submodule of Doc containing document error handling code
  Consequently backed out some changes relating to Errors


type: ci
user: welch
comment:
  debug.tcl - added custom library to path understood by /debug/source
  doc.tcl - added compat routines for Doc_Redirect Doc_RedirectSelf
  Removed the old pre-compiled binaries - just make them yourself.


type: ci
user: welch
comment:
  bin/httpdthread.tcl: fixed loading of mime.types in installed configuration
  bin/httpd.tcl: added support for -gui flag to control default Tk gui
  bin/tclhttpd.rc: added support for -gui flag to control default Tk gui
  Everything else is cleanup associated with creating RPMs.


type: ci
user: welch
comment:
  lib/dirlist.tcl: Security fix to prevent you from listing
  the contents of directories you are not supposed to. It is
  worth noting that you could never fetch a file outside the
  URL tree, but you could list directories.


type: ci
user: coldstore
comment:
  Added [Config CompressProg] and linked it to Log.tcl's compression, so one can override the default from the rc files.


type: ci
user: coldstore
comment:
  Protect fallback error output from containing HTML significant characters
  prevents some cross-site scripting errors
  Short fix term until we completely audit for XSS vulnerabilities


type: ci
user: welch
comment:
  * lib/httpd.tcl: fixes for logging of static files based on
  changes suggestedby David Zolli.
  * lib/logstd.tcl: introduced Log(cookie) to control if the
  cookie value is appended to the log.


type: ci
user: coldstore
comment:
  Added pure tcl crypt as a fallback for installations without a compiled libcrypt.so - from Michael Cleverly's http://mini.net/tcl/crypt


type: ci
user: coldstore
comment:
  Added htdocs/htaccess/ helper scripts for maintaining .htaccess authentication, password and group files.


type: ci
user: coldstore
comment:
  Added doctools support to core, to enable tclhttpd low level documentation in doctools format to be added to htdocs/


type: ci
user: coldstore
comment:
  Modified htaccess tools directory permissions to be (initially) localhost only with no password - this enables a new installation to bootstrap groups and users.


type: ci
user: coldstore
comment:
  Added Http_AddHeaders and Http_RemoveHeaders, and modified HttpRespondHeader so users can add their own http headers on the fly.


type: ci
user: coldstore
comment:
  Added doctools support to core, to enable tclhttpd low level documentation in doctools format to be added to htdocs/
  Also added some hints on how to disable cgi and dirlist modules


type: ci
user: coldstore
comment:
  Fixed sf.net bug [ 607590 ] error counter named "errors" or "error"? by changing the Counter name to errors


type: ci
user: coldstore
comment:
  Fixed interference by Cookie_Save in returning errors from template instantiation.
  Fixed error in argument order of Cookie_Save


type: ci
user: coldstore
comment:
  Added Http_AddHeaders and Http_RemoveHeaders, and modified HttpRespondHeader so users can add their own http headers on the fly.
  Added tests/ directory to htdocs with a test of this facility.


type: ci
user: coldstore
comment:
  Fixed innocuous bug in httpdthread.tcl which caused some noise when the library wasn't in the normal place


type: ci
user: coldstore
comment:
  Fixed error in setting error and notfound pages, where the setting function's result were ignored (they were going to the wrong element of Doc())


type: ci
user: coldstore
comment:
  Added data elements notfound_hook and error_hook to handle notfound and error conditions per connection (can be set by .tml, for example)


type: ci
user: coldstore
comment:
  Added template directory mods - now a template can be a directory
  Added index.html dependency on whole directory
  Added optional env setting for templates.


type: ci
user: welch
comment:
  2004-2-29 Brent Welch <welch@panasas.com>
  * bin/httpd.tcl: removed compatibility warning message
  * lib/auth.tcl: Fixed to tolerate missing group and user files
  * htdocs/debug/.tclaccess: added this to provide easier to
  control access to the /debug URL.
  * custom/dodirs.tcl: fixed this so it doesn't do "cd" and
  only looks through subdirectories that contain startup.tcl
  For example, this skips the CVS directory
  * contrib/mkweb_05.tcl: metakit admin interface by Stefan Vogel
  * htdocs/cgi-bin/wiki.cgi: sample CGI for wikit


type: ci
user: coldstore
comment:
  Changed all references to tclsh8.3 to plain old tclsh ... the user can make their own alias, surely.


type: ci
user: coldstore
comment:
  * doc.tcl - added a data(path) element for the file corresponding to a doc URL
  	- added a new proc Doc_GetPath to get directories to a given file, generalised from TemplateGetTemplates, now removed

  * template.tcl - removed TemplateGetTemplates, used the new Doc_GetPath in its place


type: ci
user: hobbs
comment:
  	* lib/doc.tcl (DocDomain): more checks to ensure personal home
  	page dirs exist and are readable (petrus)


type: ci
user: welch
comment:
  debug.tcl: added generation and checking of random password for the Debug
  domain, so it starts up reasonably secure.
  redirect.tcl: fixed typo in a comment


type: ci
user: welch
comment:
  htdocs/cgi-bin/*.cgi: tweaked #! line so it searchs for
  tclsh among these version:
    /usr/bin/tclsh
    /usr/local/bin/tclsh8.4
    /usr/local/bin/tclsh8.3
    /usr/bin/tclsh8.4
    tclsh


type: ci
user: welch
comment:
  Added some basic introductory pages.
  I still want to take the information in the htdocs/manual/reference
  page and organize it more and fold it into the "learn" section


type: ci
user: welch
comment:
  Updated the CompressProg configuration to be the absolute pathname
  to gzip to avoid problems when the server doesn't have gzip on its path.
  The server looks for /bin/gzip, /usr/bin/gzip, and /usr/local/bin/gzip
  before giving up and just using "gzip"


type: ci
user: welch
comment:
  * Large reshuffle of files among
    htdocs/libtml, lib, custom, and sampleapp
    The goal is that the minimum is in the lib directory for
    the main server (no demos or sample apps) and that the
    custom directory has things to support the pages under htdocs.
    Everything is being organized under sampleapp
  * bin/httpdthread.tcl, debian/tclhttpd-debian/httpdthread.tcl,
    and debian/rules: eliminted reference to htdocs/libtml
  * custom/mkweb_05.tcl:            -> sampleapp/mkweb/mkweb.tcl
  * custom/ddehack.tcl:             -> sampleapp/ddehack/ddehack.tcl
  * htdocs/libtml: gone
  * htdocs/libtml/faq.tcl:          -> custom
  * htdocs/libtml/htmlutils.tcl:    -> sampleapp/sunscript
  * htdocs/libtml/mypage.tcl:       -> custom
  * htdocs/libtml/ss_survey.tcl:    -> sampleapp/sunscript
  * htdocs/libtml/sunscript.tcl:    -> sampleapp/sunscript
  * htdocs/sampleapp/bugdb:         -> sampleapp/bugdb/htdocs
  * lib/demo.tcl:                   -> sampleapp/addnode/demo.tcl
  * lib/sendsock.tcl:               -> sampleapp/sendsock/sendsock.tcl
  * lib/snmp.tcl:                   -> sampleapp/snmp/snmp.tcl
  * lib/telnet.tcl:                 -> sampleapp/snmp/telnet.tcl
  * lib/snmp.tcl:                   -> sampleapp/snmp/snmp.tcl
  * custom/snmpinit.tcl:            -> sampleapp/snmp/snmpinit.tcl


type: ci
user: welch
comment:
  htdocs/register.tml: added disclaimer, because this form
  still doesn't work, lacking a good emailer-capable system


type: ci
user: welch
comment:
  htdocs/index.tml: more tweaking
  htdocs/templates/index.tml: eliminate reference to libtml
  bin/httpd.tcl: eliminate reference to libtml
  DIST_build - tweaking packaging scripts


type: ci
user: welch
comment:
  * lib/cookie.tcl: Added Cookie_GetSock to get a cookie from the
  connection as opposed to getting it from the environment


type: ci
user: coldstore
comment:
  Changed the file returned for a template directory to ${template}.tml/index.tml ... fewer special-case filenames to memorise.


type: ci
user: welch
comment:
  * Various doc updates.
  Moved learn/self.tml to templates/self.tml
  * bin/httpd.tcl: Introduced the CommandLineOptions variable
  so it can be reference by the htdocs/learn/setup.tml page.


type: ci
user: coldstore
comment:
  Added test for NULL return in crypt.c call of crypt function - it indicates
  an error which wasn't being caught.


type: ci
user: welch
comment:
  * lib/session.tcl: Fixed a couple of typos.  Moved the
  "file mkdir" of the sessions save directory into Session_Save
  because this doesn't work in the starkit version.  We should
  still fix the default sessions dir so it isn't under htdocs


type: ci
user: coldstore
comment:
  lib/stdin.tcl: removed history proc which interferes with some third party console packages to no legitimate purpose.


type: ci
user: coldstore
comment:
  removed history proc which interferes with some third party console packages to no legitimate purpose.


type: ci
user: welch
comment:
  * README
  * VERSION
  * configure.in
  * DIST_build/DIST
  * DIST_build/DIST.exp
  * DIST_build/Makefile.boot
  * DIST_build/README
  * lib/version.tcl
  * bin/httpd.tcl
  Version updates in preparation for a 3.5.1 release
  (3.5.0 remained unreleased)

  * lib/doc.tcl: added [file normalize] to Doc_Handle to
  avoid returning file contents for files whos name
  ends with extra trailing "." characters.


type: ci
user: welch
comment:
  bin/httpd.tcl: added package require md5 1 to fix startup problems
          with Tcllib 1.6 and md5 1.4.3 and md5 2.0


type: ci
user: coldstore
comment:
  session.tcl digest.tcl utils.tcl: changed all the md5 refs to a utils.tcl defined version-appropriate alias 'md5hex', this should be future proof (and past-proof), since it adapts the interface explicitly.  Recommend using md5hex explicitly.


type: ci
user: welch
comment:
  * DIST_build/Makefile.boot
  * DIST_build/DIST
  Updates to use a pre-packaged thread-2.5.2 release because I'm
  having build/autoconf troubles with CVS HOL (thread 2.6)


type: ci
user: welch
comment:
  Updated to use the thread 2.5.2 tar file instead of HOL CVS (2.6)
  because I'm having trouble configuring and building the CVS version.


type: ci
user: welch
comment:
  lib/digest.tcl: Added "package require md5 1"
  lib/utils.tcl: Removed "package present md5"
    because this messes up any system that loads utils.tcl but
    does not load digest.tcl  The little "md5hex" function
    is local to digest.tcl now.  This is a slightly different
    fix than proposed by Colin, but I'd rather keep inter-package
    dependencies local, so you only need md5 if you need digest.


type: ci
user: welch
comment:
  * bin/httpd.tcl: Fixed stacktrace caused by -? command line arg
      Added "wm withdraw ."  if Config(gui) is false
      Removed "package require md5 1"
  * lib/md5hex.tcl: new file to provide md5hex shim function
  * lib/digest.tcl, lib/session.tcl: these now
      package require httpd::md5hex
  * lib/version.tcl: changed version to "3.5.2 CVS"


type: ci
user: coldstore
comment:
  lib/{template,fallback}.tcl: Fixed bugs in .html/.htm substitution and fallback content negotiation


type: ci
user: coldstore
comment:
  Added a simplistic Certificate Authority to sampleapp/ - sufficient to create
  a CA and server certificate.


type: ci
user: welch
comment:
  * certs/README.ssl: updated with notes taken while generating
    certificates with openssl-0.9.7d
  * lib/srvui.tcl: expose webmaster and debug passwords in the UI
  * lib/debug.tcl: removed " " from the alphabet used to pick
    passwords.
  * lib/auth.tcl, lib/digest.tcl: Minor edit to a comment


type: ci
user: coldstore
comment:
  * lib/doc.tcl: fixed sf [977562] Url_AccessInstallPrepend crashes
  DocDomain with suggested patch.
  * lib/{doc,subst}.tcl: fixed bugs handling symlinks to directories.
  * lib/md5hex.tcl: fixed md5 alias argument error.


type: ci
user: coldstore
comment:
  Changed name of HttpDate to Http_Date in conformance with naming policy, since cgi.tcl was using it.


type: ci
user: welch
comment:
  lib/url.tcl: check for URL requests that don't begin with /.
    Browsers won't generate these, but attacks on the server might try
    to feed it bogus URLs.  The following request was generating an
    "unknown variable suffix" server internal error.
        GET foo HTTP/1.0


type: ci
user: coldstore
comment:
  lib/{cgi,http}.tcl: Changed name of HttpDate to Http_Date in conformance with naming policy, since cgi.tcl was using it.


type: ci
user: coldstore
comment:
  session.tcl: fixed error in Session_Value and Session_Variable, fixed error in session saving for values with \n


type: ci
user: coldstore
comment:
  session.tcl: Added SessionFetch and SessionDiscard to get and clean up
  old session persistent state,
  session.tcl: Use Httpd_*Cookie commands to avoid races


type: ci
user: coldstore
comment:
  Added SessionFetch and SessionDiscard to get and clean up old session
  persistent state
  Use Httpd_*Cookie commands to avoid races


type: ci
user: coldstore
comment:
  renamed custom/dodirs.tcl to custom/zzzdodirs.tcl to force directory load after file load in custom library


type: ci
user: coldstore
comment:
  Fixes per sf bugs 1152183 1152182 - NotModified can't contain a message body and shouldn't close connection.


type: ci
user: coldstore
comment:
  Fixed Cookie_Unset to allow additional arguments, without this you can't unset p
  ath-restricted cookies.


type: ci
user: coldstore
comment:
  Fixed Cookie_Unset to allow additional arguments, without this you can't unset path-restricted cookies.


type: ci
user: eviltwinskippy
comment:
  New API that is designed to make integrating objects into Tclhttpd
  a bit easier.

  This change adds
  ::Object_Url [virtual] [object] ?inthread 0?

  Any urls under virtual are dispatched to the object to handle.

  The API expects to see a method for the object called httpdMarshallArguments

  httpdMarshallArguments [suffix] [cgiList]

  Returns the actual command to execute to provide the url, or {} if the
  combination of suffix and cgilist to not map to a valid object.


type: ci
user: clif
comment:
  Modified lib/config.tcl to support Tcl 8.5 and 8.6 with a 
  ::SafeFile command instead of "namespace expose".  Tested with
  8.3, 8.5 and 8.6.
  Addresses Ticket: 93f9e55b95f1ca1329d9953152869734b1dc477b


type: ci
user: welch
comment:
  * Applied patches for virtual hosting fixes from Don Porter
    that allow virtual hosts to share an interpreter, which is
    useful if they are just name aliases for each other.
  * Applied patches from David Welton that fix references to
    scriptics.com in the online docs.
  * Fix to Thread_Free from David Welton
  * Fix to upload.tcl by David Welton so that large uploads don't
    starve out other clients.
  * Fixes to DIST and Makefile.boot to get the bundled distribution
    to start working.


type: ci
user: welch
comment:
  cgi.tcl: Fixed POST forms on Windows so we correct set up the pipe
    to the subprocess and detect the header/body separator
  upload.tcl: Nuked the CvsReadFileHeader call
  version.tcl: Updated to 3.4.1


type: ci
user: welch
comment:
  Added Mtype_Add and Mtype_Reset so you can add mime types from
  extensions without having to edit the mime.types file.


type: ci
user: welch
comment:
  * (In the tclhttpd-3-4-rel branch).  These were added on
  the suggestion of David Welton
  * lib/auth.tcl: Auth_Check checks that the path is a directory
  before rummaging around for the .tclaccess and .htaccess files
  * lib/url.tcl: Added Url_AccessInstallPrepend to put the
  access hook at the front of the search path.


type: ci
user: welch
comment:
  * Modified Auth_Check, which is used by DocAccessHook, to
  disallow retrieval of .tml, .tclaccess and .htaccess files.
  This vulnerability was identified by David Welton, although
  I'll note you had to had permission to retrieve the access
  control files.


type: ci
user: welch
comment:
  From Petrus Vloet:
  * lib/debug.tcl: Added /debug/enable so you can disable the
  Debug URL.
  * lib/direct.tcl: Added Direct_UrlRemove to support disabling
  the debug url.
  * htdocs/hacks.tml: Updated to explain the /debug URL features


type: ci
user: welch
comment:
  * bin/httpdthread.tcl: Fixed custom code loader to skip pkgIndex.tcl
  files.
  * htdocs/index.html: Fixed a few errors pointed out by Larry Virden
  * htdocs/forms/posttest.tml: Added comments that explain this form.
  * DIST_build/DIST: moved the copying of some things into the htdocs
  tree from the Makefile to the distribution creation script.
  * configure.in:
  * README
  * lib/version.tcl: Changed to 3.4.2 (sigh)


type: ci
user: welch
comment:
  * lib/dirlist.tcl: Fixing bug where a ../* in the dirlist form
    could leak filenames (but not contents) outside the URL tree.
  * htdocs/.tml: plugged silly memory leak (lappend to unused var)


type: ci
user: welch
comment:
  Added the missing Dir_ShowListings, Dir_HideListings, and Dir_IsHidden APIs
  Added a directory listing test page


type: ci
user: welch
comment:
  * lib/doc.tcl: ensure we don't try to cache a template result
  when you fetch a .tml file directly.  If your template somehow
  set page(dynamic) to 0, the server was trying to cache the result
  using an empty filename.
  * lib/upload.tcl: reset the Url_PostHook state and data(count) so
  the other layers don't try to read any of the post data.
  * lib/httpd.tcl: reset the Url_PostHook on GET requests to clear
  any state from a previous POST request.


type: ci
user: welch
comment:
  Fixed Makefile so it correctly builds limit and crypt extensions.
  Previously they linked no object files into the .so


type: ci
user: coldstore
comment:
  Fixed some mistakes in refactoring error.tcl

  Updated the error.html and notfound.html files, to refer to Error instead of Doc array


type: ci
user: coldstore
comment:
  Doc Refactoring

  The lib/doc.tcl source has been split into several smaller, function-specific, modules.

  Some functions have been renamed, in accordance with the tclhttpd naming conventions, but a httpd::compat module has been added to smooth over the transition.


type: t
user: patthoyts
brief: Ticket [51ace7f334]: 15 changes
comment:
  Ticket [51ace7f334] <i>Support running as Windows service</i> status still Open with 15 other changes


type: t
user: patthoyts
brief: Ticket [51ace7f534]: 15 changes
comment:
  Ticket [51ace7f534] <i>bugdb-design.png should be binary</i> status still Open with 15 other changes


type: t
user: bovineone
brief: Ticket [51ace7fb34]: 15 changes
comment:
  Ticket [51ace7fb34] <i>http/1.1 protocol violation - bug ID: 1232026</i> status still Open with 15 other changes


type: t
user: davygrvy
brief: Ticket [51ace7f834]: 1 change
comment:
  Ticket [51ace7f834] <i>support for  chunked transfer encoding</i> status still Open with 1 other change


type: t
user: bovineone
brief: Ticket [51ace7fb34]: 1 change
comment:
  Ticket [51ace7fb34] <i>http/1.1 protocol violation - bug ID: 1232026</i> status still Open with 1 other change


type: t
user: mic42
brief: Ticket [51ace7eb34]: 15 changes
comment:
  Ticket [51ace7eb34] <i>Simple patch to switch logging on/off</i> status still Open with 15 other changes


type: t
user: bovineone
brief: Ticket [51ace7fb34]: 6 changes
comment:
  Ticket [51ace7fb34] <i>http/1.1 protocol violation - bug ID: 1232026</i> status still Open with 6 other changes


type: t
user: eviltwinskippy
brief: Ticket [51ace7fa34]: 6 changes
comment:
  Ticket [51ace7fa34] <i>Patch to handle object methods as direct urls</i> status still Open with 6 other changes


type: t
user: welch
brief: Ticket [51ace7e534]: 14 changes
comment:
  Ticket [51ace7e534] <i>CGI POST data fix for 3.2 release</i> status still Open with 14 other changes


type: t
user: welch
brief: Ticket [51ace7e834]: 4 changes
comment:
  Ticket [51ace7e834] <i>httpd.tcl fails to find auth &amp;amp; limit libs (3.2.1)</i> status still Open with 4 other changes


type: t
user: glennjnn
brief: Ticket [51ace7e934]: 15 changes
comment:
  Ticket [51ace7e934] <i>should not assume full path for gzip</i> status still Open with 15 other changes


type: t
user: *anonymous
brief: Ticket [51ace7f634]: 15 changes
comment:
  Ticket [51ace7f634] <i>new stuff for chunked transfer encoding</i> status still Open with 15 other changes


type: t
user: doss
brief: Ticket [51ace7e834]: 6 changes
comment:
  Ticket [51ace7e834] <i>httpd.tcl fails to find auth &amp;amp; limit libs (3.2.1)</i> status still Open with 6 other changes


type: t
user: eviltwinskippy
brief: Ticket [51ace7fa34]: 4 changes
comment:
  Ticket [51ace7fa34] <i>Patch to handle object methods as direct urls</i> status still Open with 4 other changes


type: t
user: davygrvy
brief: Ticket [51ace7f834]: 15 changes
comment:
  Ticket [51ace7f834] <i>support for  chunked transfer encoding</i> status still Open with 15 other changes


type: t
user: bovineone
brief: Ticket [51ace7fb34]: 4 changes
comment:
  Ticket [51ace7fb34] <i>http/1.1 protocol violation - bug ID: 1232026</i> status still Open with 4 other changes


type: t
user: welch
brief: Ticket [51ace7e634]: 1 change
comment:
  Ticket [51ace7e634] <i>Speculative counter fix for CGI problems in 3.2</i> status still Open with 1 other change


type: t
user: *anonymous
brief: Ticket [51ace7f634]: 6 changes
comment:
  Ticket [51ace7f634] <i>new stuff for chunked transfer encoding</i> status still Open with 6 other changes


type: t
user: eviltwinskippy
brief: Ticket [51ace7fa34]: 1 change
comment:
  Ticket [51ace7fa34] <i>Patch to handle object methods as direct urls</i> status still Open with 1 other change


type: t
user: doss
brief: Ticket [51ace7e834]: 1 change
comment:
  Ticket [51ace7e834] <i>httpd.tcl fails to find auth &amp;amp; limit libs (3.2.1)</i> status still Open with 1 other change


type: t
user: glennjnn
brief: Ticket [51ace7e934]: 1 change
comment:
  Ticket [51ace7e934] <i>should not assume full path for gzip</i> status still Open with 1 other change


type: t
user: edsuom
brief: Ticket [51ace7f134]: 1 change
comment:
  Ticket [51ace7f134] <i>Init script for running on RedHat 9</i> status still Open with 1 other change


type: t
user: davygrvy
brief: Ticket [51ace7f634]: 4 changes
comment:
  Ticket [51ace7f634] <i>new stuff for chunked transfer encoding</i> status still Open with 4 other changes


type: t
user: glennjnn
brief: Ticket [51ace7e934]: 6 changes
comment:
  Ticket [51ace7e934] <i>should not assume full path for gzip</i> status still Open with 6 other changes


type: t
user: doss
brief: Ticket [51ace7e834]: 14 changes
comment:
  Ticket [51ace7e834] <i>httpd.tcl fails to find auth &amp;amp; limit libs (3.2.1)</i> status still Open with 14 other changes


type: t
user: welch
brief: Ticket [51ace7e634]: 6 changes
comment:
  Ticket [51ace7e634] <i>Speculative counter fix for CGI problems in 3.2</i> status still Open with 6 other changes


type: t
user: mic42
brief: Ticket [51ace7eb34]: 6 changes
comment:
  Ticket [51ace7eb34] <i>Simple patch to switch logging on/off</i> status still Open with 6 other changes


type: t
user: patthoyts
brief: Ticket [51ace7f334]: 6 changes
comment:
  Ticket [51ace7f334] <i>Support running as Windows service</i> status still Open with 6 other changes


type: t
user: davygrvy
brief: Ticket [51ace7f834]: 6 changes
comment:
  Ticket [51ace7f834] <i>support for  chunked transfer encoding</i> status still Open with 6 other changes


type: t
user: glennjnn
brief: Ticket [51ace7e934]: 4 changes
comment:
  Ticket [51ace7e934] <i>should not assume full path for gzip</i> status still Closed with 4 other changes


type: t
user: *anonymous
brief: Ticket [51ace7f634]: 1 change
comment:
  Ticket [51ace7f634] <i>new stuff for chunked transfer encoding</i> status still Open with 1 other change


type: t
user: doss
brief: Closed ticket [51ace7e834].
comment:
  Closed ticket [51ace7e834]: <i>httpd.tcl fails to find auth &amp;amp; limit libs (3.2.1)</i> plus 3 other changes


type: t
user: mic42
brief: Ticket [51ace7eb34]: 1 change
comment:
  Ticket [51ace7eb34] <i>Simple patch to switch logging on/off</i> status still Open with 1 other change


type: t
user: eviltwinskippy
brief: Ticket [51ace7fa34]: 15 changes
comment:
  Ticket [51ace7fa34] <i>Patch to handle object methods as direct urls</i> status still Open with 15 other changes


type: t
user: edsuom
brief: Ticket [51ace7f134]: 15 changes
comment:
  Ticket [51ace7f134] <i>Init script for running on RedHat 9</i> status still Open with 15 other changes


type: t
user: welch
brief: Ticket [51ace7e634]: 14 changes
comment:
  Ticket [51ace7e634] <i>Speculative counter fix for CGI problems in 3.2</i> status still Open with 14 other changes


type: t
user: edsuom
brief: Ticket [51ace7f134]: 6 changes
comment:
  Ticket [51ace7f134] <i>Init script for running on RedHat 9</i> status still Open with 6 other changes


type: t
user: davygrvy
brief: Ticket [51ace7f834]: 4 changes
comment:
  Ticket [51ace7f834] <i>support for  chunked transfer encoding</i> status still Open with 4 other changes


type: t
user: *anonymous
brief: Ticket [51ace80d34]: 1 change
comment:
  Ticket [51ace80d34] <i>Shared libs installed with wrong permissions</i> status still Open with 1 other change


type: t
user: *anonymous
brief: Ticket [51ace89034]: 16 changes
comment:
  Ticket [51ace89034] <i>Stderr not defined in Thread_Start</i> status still Open with 16 other changes


type: t
user: welch
brief: Ticket [51ace86634]: 4 changes
comment:
  Ticket [51ace86634] <i>mime type rules doesn't match [glob]</i> status still Open with 4 other changes


type: t
user: davidw
brief: Ticket [51ace82434]: 1 change
comment:
  Ticket [51ace82434] <i>Memory leak under windows (570096 ?)</i> status still Open with 1 other change


type: t
user: *anonymous
brief: Ticket [51ace80e34]: 1 change
comment:
  Ticket [51ace80e34] <i>Any file can be fetched from the server machine.</i> status still Open with 1 other change


type: t
user: coldstore
brief: Ticket [51ace88434]: 1 change
comment:
  Ticket [51ace88434] <i>304 NotModified can't have message content</i> status still Open with 1 other change


type: t
user: davygrvy
brief: Ticket [51ace86134]: 1 change
comment:
  Ticket [51ace86134] <i>Status/text uses wrong counter names</i> status still Open with 1 other change


type: t
user: rparker9
brief: Ticket [51ace85d34]: 1 change
comment:
  Ticket [51ace85d34] <i>Doc_Cookie broken Tcl8.4.4 tclhttpd3.4.2</i> status still Open with 1 other change


type: t
user: coldstore
brief: Ticket [51ace86d34]: 6 changes
comment:
  Ticket [51ace86d34] <i>tml substitution works for the wrong reason</i> status still Open with 6 other changes


type: t
user: andreas_kupries
brief: Ticket [51ace85434]: 15 changes
comment:
  Ticket [51ace85434] <i>Files in the Custom directory are not read</i> status still Open with 15 other changes


type: t
user: mic42
brief: Ticket [51ace81b34]: 16 changes
comment:
  Ticket [51ace81b34] <i>Socket + Memory Leak under Windows</i> status still Open with 16 other changes


type: t
user: davygrvy
brief: Ticket [51ace86634]: 16 changes
comment:
  Ticket [51ace86634] <i>mime type rules doesn't match [glob]</i> status still Open with 16 other changes


type: t
user: wliao
brief: Ticket [51ace89534]: 1 change
comment:
  Ticket [51ace89534] <i>dirlist fails if dirname contains glob metacharacters</i> status still Open with 1 other change


type: t
user: setok
brief: Ticket [51ace88834]: 1 change
comment:
  Ticket [51ace88834] <i>Redirect with Direct_Url does not work with cookies</i> status still Open with 1 other change


type: t
user: coldstore
brief: Closed ticket [51ace83d34].
comment:
  Closed ticket [51ace83d34]: <i>Httpd_ReturnFile not closing from fcopy for logging</i> plus 3 other changes


type: t
user: davygrvy
brief: Ticket [51ace83c34]: 1 change
comment:
  Ticket [51ace83c34] <i>IExplorer, POST method, MIME Connection: header foobarism</i> status still Open with 1 other change


type: t
user: coldstore
brief: Ticket [51ace83a34]: 4 changes
comment:
  Ticket [51ace83a34] <i>direct url getting xml content/type</i> status still Open with 4 other changes


type: t
user: coldstore
brief: Ticket [51ace87134]: 6 changes
comment:
  Ticket [51ace87134] <i>error when htdoc root is a symlink</i> status still Open with 6 other changes


type: t
user: davygrvy
brief: Ticket [51ace86434]: 1 change
comment:
  Ticket [51ace86434] <i>httpd % couldn't execute &quot;gzip&quot;: no such file or directory</i> status still Open with 1 other change


type: t
user: davygrvy
brief: Ticket [51ace81b34]: 4 changes
comment:
  Ticket [51ace81b34] <i>Socket + Memory Leak under Windows</i> status still Open with 4 other changes


type: t
user: coldstore
brief: Closed ticket [51ace86a34].
comment:
  Closed ticket [51ace86a34]: <i>tcllib mime / md5 problem stops tclhttpd loading</i> plus 3 other changes


type: t
user: davygrvy
brief: Ticket [51ace82a34]: 15 changes
comment:
  Ticket [51ace82a34] <i>error counter named &amp;quot;errors&amp;quot; or &amp;quot;error&amp;quot;?</i> status still Open with 15 other changes


type: t
user: *anonymous
brief: Ticket [51ace81434]: 6 changes
comment:
  Ticket [51ace81434] <i>IMPORT: Bad expression in imagemap.tcl</i> status still Open with 6 other changes


type: t
user: welch
brief: Closed ticket [51ace84d34].
comment:
  Closed ticket [51ace84d34]: <i>Doc_application/x-tcl-auth does not propgate its arguments</i> plus 3 other changes


type: t
user: coldstore
brief: Ticket [51ace81f34]: 4 changes
comment:
  Ticket [51ace81f34] <i>security: directory structure browsing</i> status still Open with 4 other changes


type: t
user: eviltwinskippy
brief: Ticket [51ace89134]: 4 changes
comment:
  Ticket [51ace89134] <i>Auth_InitCrypt calling non-existant variable</i> status still Open with 4 other changes


type: t
user: kot
brief: Ticket [51ace87734]: 15 changes
comment:
  Ticket [51ace87734] <i>Server does not check locale/LANG</i> status still Open with 15 other changes


type: t
user: *anonymous
brief: Ticket [51ace81f34]: 1 change
comment:
  Ticket [51ace81f34] <i>security: directory structure browsing</i> status still Open with 1 other change


type: t
user: svogel
brief: Ticket [51ace87234]: 15 changes
comment:
  Ticket [51ace87234] <i>Httpd_Errors for 200 is &quot;Data follows&quot;</i> status still Open with 15 other changes


type: t
user: *anonymous
brief: Ticket [51ace80e34]: 16 changes
comment:
  Ticket [51ace80e34] <i>Web site doesn't allow bugs for tclhttpd 3.0.0</i> status still Open with 16 other changes


type: t
user: andreas_kupries
brief: Ticket [51ace84234]: 4 changes
comment:
  Ticket [51ace84234] <i>Package httpd::logproc in index, but not implemented</i> status still Open with 4 other changes


type: t
user: coldstore
brief: Ticket [51ace87c34]: 4 changes
comment:
  Ticket [51ace87c34] <i>tclhttpd installs its own versions of TCLLIB's manpages</i> status still Open with 4 other changes


type: t
user: *anonymous
brief: Ticket [51ace80d34]: 16 changes
comment:
  Ticket [51ace80d34] <i>log files and dir get created at 12:16 am</i> status still Open with 16 other changes


type: t
user: coldstore
brief: Ticket [51ace88634]: 16 changes
comment:
  Ticket [51ace88634] <i>Httpd_NotModified always closes connection</i> status still Open with 16 other changes


type: t
user: coldstore
brief: Ticket [51ace85d34]: 4 changes
comment:
  Ticket [51ace85d34] <i>Doc_Cookie broken Tcl8.4.4 tclhttpd3.4.2</i> status still Open with 4 other changes


type: t
user: davygrvy
brief: Ticket [51ace82a34]: 4 changes
comment:
  Ticket [51ace82a34] <i>error counter named &amp;quot;errors&amp;quot; or &amp;quot;error&amp;quot;?</i> status still Open with 4 other changes


type: t
user: *anonymous
brief: Ticket [51ace81434]: 6 changes
comment:
  Ticket [51ace81434] <i>error in proc:Thread_IsFree (thread.tcl)</i> status still Open with 6 other changes


type: t
user: coldstore
brief: Ticket [51ace86134]: 4 changes
comment:
  Ticket [51ace86134] <i>Status/text uses wrong counter names</i> status still Open with 4 other changes


type: t
user: arjenmarkus
brief: Ticket [51ace88134]: 4 changes
comment:
  Ticket [51ace88134] <i>/tmp in paths doesn't work for Windows</i> status still Open with 4 other changes


type: t
user: kot
brief: Ticket [51ace88b34]: 6 changes
comment:
  Ticket [51ace88b34] <i>Does username/password authentication work for anyone?</i> status still Open with 6 other changes


type: t
user: davygrvy
brief: Ticket [51ace82a34]: 1 change
comment:
  Ticket [51ace82a34] <i>error counter named &amp;quot;errors&amp;quot; or &amp;quot;error&amp;quot;?</i> status still Open with 1 other change


type: t
user: coldstore
brief: Ticket [51ace86a34]: 16 changes
comment:
  Ticket [51ace86a34] <i>tcllib mime / md5 problem stops tclhttpd loading</i> status still Open with 16 other changes


type: t
user: *anonymous
brief: Ticket [51ace83a34]: 16 changes
comment:
  Ticket [51ace83a34] <i>direct url getting xml content/type</i> status still Open with 16 other changes


type: t
user: *anonymous
brief: Ticket [51ace81234]: 1 change
comment:
  Ticket [51ace81234] <i>IMPORT: Any file can be fetched from the server machine.</i> status still Open with 1 other change


type: t
user: davygrvy
brief: Ticket [51ace85834]: 4 changes
comment:
  Ticket [51ace85834] <i>Tk console history disabled in debug mode</i> status still Open with 4 other changes


type: t
user: coldstore
brief: Ticket [51ace87534]: 6 changes
comment:
  Ticket [51ace87534] <i>use of smtp leads to race conditions</i> status still Open with 6 other changes


type: t
user: coldstore
brief: Closed ticket [51ace86434].
comment:
  Closed ticket [51ace86434]: <i>httpd % couldn't execute &quot;gzip&quot;: no such file or directory</i> plus 3 other changes


type: t
user: *anonymous
brief: Ticket [51ace81134]: 1 change
comment:
  Ticket [51ace81134] <i>IMPORT: log files and dir get created at 12:16 am</i> status still Open with 1 other change


type: t
user: andreas_kupries
brief: Ticket [51ace84d34]: 4 changes
comment:
  Ticket [51ace84d34] <i>Doc_application/x-tcl-auth does not propgate its arguments</i> status still Open with 4 other changes


type: t
user: coldstore
brief: Ticket [51ace87e34]: 6 changes
comment:
  Ticket [51ace87e34] <i>.tml processing issue with tclhttpd 3.5.1</i> status still Open with 6 other changes


type: t
user: coldstore
brief: Closed ticket [51ace87534].
comment:
  Closed ticket [51ace87534]: <i>inconsistent handling of index.tml indirect references</i> plus 3 other changes


type: t
user: davygrvy
brief: Ticket [51ace86434]: 15 changes
comment:
  Ticket [51ace86434] <i>httpd % couldn't execute &quot;gzip&quot;: no such file or directory</i> status still Open with 15 other changes


type: t
user: jmphilippe
brief: Ticket [51ace85834]: 16 changes
comment:
  Ticket [51ace85834] <i>Tk console history disabled in debug mode</i> status still Open with 16 other changes


type: t
user: coldstore
brief: Ticket [51ace86a34]: 4 changes
comment:
  Ticket [51ace86a34] <i>tcllib mime / md5 problem stops tclhttpd loading</i> status still Closed with 4 other changes


type: t
user: andreas_kupries
brief: Ticket [51ace84d34]: 1 change
comment:
  Ticket [51ace84d34] <i>Doc_application/x-tcl-auth does not propgate its arguments</i> status still Open with 1 other change


type: t
user: m9090
brief: Ticket [51ace82c34]: 6 changes
comment:
  Ticket [51ace82c34] <i>ftpd space to '+' in dirlist on win </i> status still Open with 6 other changes


type: t
user: davygrvy
brief: Ticket [51ace86134]: 16 changes
comment:
  Ticket [51ace86134] <i>Status/text uses wrong counter names</i> status still Open with 16 other changes


type: t
user: davygrvy
brief: Ticket [51ace86634]: 1 change
comment:
  Ticket [51ace86634] <i>mime type rules doesn't match [glob]</i> status still Open with 1 other change


type: t
user: *anonymous
brief: Ticket [51ace80e34]: 6 changes
comment:
  Ticket [51ace80e34] <i>Any file can be fetched from the server machine.</i> status still Open with 6 other changes


type: t
user: welch
brief: Closed ticket [51ace80d34].
comment:
  Closed ticket [51ace80d34]: <i>Shared libs installed with wrong permissions</i> plus 3 other changes


type: t
user: *anonymous
brief: Ticket [51ace81134]: 16 changes
comment:
  Ticket [51ace81134] <i>IMPORT: Shared libs installed with wrong permissions</i> status still Open with 16 other changes


type: t
user: davidw
brief: Ticket [51ace82034]: 16 changes
comment:
  Ticket [51ace82034] <i>hangs with less threads than concurrency</i> status still Open with 16 other changes


type: t
user: coldstore
brief: Ticket [51ace87e34]: 1 change
comment:
  Ticket [51ace87e34] <i>.tml processing issue with tclhttpd 3.5.1</i> status still Open with 1 other change


type: t
user: coldstore
brief: Ticket [51ace87534]: 4 changes
comment:
  Ticket [51ace87534] <i>inconsistent handling of index.tml indirect references</i> status still Closed with 4 other changes


type: t
user: davygrvy
brief: Ticket [51ace83c34]: 15 changes
comment:
  Ticket [51ace83c34] <i>IExplorer, POST method, MIME Connection: header foobarism</i> status still Open with 15 other changes


type: t
user: eviltwinskippy
brief: Ticket [51ace89134]: 16 changes
comment:
  Ticket [51ace89134] <i>Auth_InitCrypt calling non-existant variable</i> status still Open with 16 other changes


type: t
user: m9090
brief: Ticket [51ace82c34]: 1 change
comment:
  Ticket [51ace82c34] <i>ftpd space to '+' in dirlist on win </i> status still Open with 1 other change


type: t
user: coldstore
brief: Ticket [51ace88434]: 16 changes
comment:
  Ticket [51ace88434] <i>304 NotModified can't have message content</i> status still Open with 16 other changes


type: t
user: coldstore
brief: Ticket [51ace88734]: 16 changes
comment:
  Ticket [51ace88734] <i>Upload doesn't properly handle multipart/form-data</i> status still Open with 16 other changes


type: t
user: coldstore
brief: Ticket [51ace88434]: 4 changes
comment:
  Ticket [51ace88434] <i>304 NotModified can't have message content</i> status still Open with 4 other changes


type: t
user: coldstore
brief: Ticket [51ace83d34]: 4 changes
comment:
  Ticket [51ace83d34] <i>Httpd_ReturnFile not closing from fcopy for logging</i> status still Open with 4 other changes


type: t
user: *anonymous
brief: Ticket [51ace89034]: 6 changes
comment:
  Ticket [51ace89034] <i>Stderr not defined in Thread_Start</i> status still Open with 6 other changes


type: t
user: coldstore
brief: Ticket [51ace87434]: 6 changes
comment:
  Ticket [51ace87434] <i>auth.tcl Auth_Check needless inefficiency</i> status still Open with 6 other changes


type: t
user: gwlester
brief: Ticket [51ace83134]: 6 changes
comment:
  Ticket [51ace83134] <i>Debug.tcl has incorrect array index</i> status still Open with 6 other changes


type: t
user: *anonymous
brief: Ticket [51ace83a34]: 1 change
comment:
  Ticket [51ace83a34] <i>direct url getting xml content/type</i> status still Open with 1 other change


type: t
user: coldstore
brief: Ticket [51ace87534]: 6 changes
comment:
  Ticket [51ace87534] <i>inconsistent handling of index.tml indirect references</i> status still Open with 6 other changes


type: t
user: mbroeken
brief: Ticket [51ace88b34]: 6 changes
comment:
  Ticket [51ace88b34] <i>Glob problem inside a Starkit in httpdthread.tcl</i> status still Open with 6 other changes


type: t
user: coldstore
brief: Ticket [51ace86d34]: 1 change
comment:
  Ticket [51ace86d34] <i>tml substitution works for the wrong reason</i> status still Open with 1 other change


type: t
user: *anonymous
brief: Ticket [51ace85f34]: 1 change
comment:
  Ticket [51ace85f34] <i>tclhttpd with TclX and threads on linux hangs</i> status still Open with 1 other change


type: t
user: *anonymous
brief: Ticket [51ace85f34]: 6 changes
comment:
  Ticket [51ace85f34] <i>tclhttpd with TclX and threads on linux hangs</i> status still Open with 6 other changes


type: t
user: setok
brief: Ticket [51ace88834]: 6 changes
comment:
  Ticket [51ace88834] <i>Redirect with Direct_Url does not work with cookies</i> status still Open with 6 other changes


type: t
user: svogel
brief: Ticket [51ace87234]: 6 changes
comment:
  Ticket [51ace87234] <i>Httpd_Errors for 200 is &quot;Data follows&quot;</i> status still Open with 6 other changes


type: t
user: *anonymous
brief: Ticket [51ace81634]: 6 changes
comment:
  Ticket [51ace81634] <i>AIX can't create crypt.so and limit.so</i> status still Open with 6 other changes


type: t
user: svogel
brief: Ticket [51ace87234]: 1 change
comment:
  Ticket [51ace87234] <i>Httpd_Errors for 200 is &quot;Data follows&quot;</i> status still Open with 1 other change


type: t
user: coldstore
brief: Ticket [51ace87034]: 4 changes
comment:
  Ticket [51ace87034] <i>Url_AccessInstallPrepend crashes DocDomain</i> status still Open with 4 other changes


type: t
user: rparker9
brief: Ticket [51ace85d34]: 6 changes
comment:
  Ticket [51ace85d34] <i>Doc_Cookie broken Tcl8.4.4 tclhttpd3.4.2</i> status still Open with 6 other changes


type: t
user: *anonymous
brief: Ticket [51ace80d34]: 6 changes
comment:
  Ticket [51ace80d34] <i>Shared libs installed with wrong permissions</i> status still Open with 6 other changes


type: t
user: *anonymous
brief: Ticket [51ace81434]: 16 changes
comment:
  Ticket [51ace81434] <i>IMPORT: Bad expression in imagemap.tcl</i> status still Open with 16 other changes


type: t
user: andreas_kupries
brief: Ticket [51ace84234]: 1 change
comment:
  Ticket [51ace84234] <i>Package httpd::logproc in index, but not implemented</i> status still Open with 1 other change


type: t
user: *anonymous
brief: Ticket [51ace85f34]: 15 changes
comment:
  Ticket [51ace85f34] <i>tclhttpd with TclX and threads on linux hangs</i> status still Open with 15 other changes


type: t
user: davidw
brief: Ticket [51ace82434]: 4 changes
comment:
  Ticket [51ace82434] <i>Memory leak under windows (570096 ?)</i> status still Open with 4 other changes


type: t
user: *anonymous
brief: Ticket [51ace81434]: 1 change
comment:
  Ticket [51ace81434] <i>IMPORT: Bad expression in imagemap.tcl</i> status still Open with 1 other change


type: t
user: coldstore
brief: Ticket [51ace83134]: 4 changes
comment:
  Ticket [51ace83134] <i>Debug.tcl has incorrect array index</i> status still Open with 4 other changes


type: t
user: sigzero
brief: Ticket [51ace89534]: 4 changes
comment:
  Ticket [51ace89534] <i>dirlist fails if dirname contains glob metacharacters</i> status still Open with 4 other changes


type: t
user: eviltwinskippy
brief: Ticket [51ace89134]: 1 change
comment:
  Ticket [51ace89134] <i>Auth_InitCrypt calling non-existant variable</i> status still Open with 1 other change


type: t
user: welch
brief: Closed ticket [51ace80e34].
comment:
  Closed ticket [51ace80e34]: <i>Web site doesn't allow bugs for tclhttpd 3.0.0</i> plus 3 other changes


type: t
user: coldstore
brief: Ticket [51ace87434]: 15 changes
comment:
  Ticket [51ace87434] <i>auth.tcl Auth_Check needless inefficiency</i> status still Open with 15 other changes


type: t
user: kot
brief: Ticket [51ace87c34]: 6 changes
comment:
  Ticket [51ace87c34] <i>tclhttpd installs its own versions of TCLLIB's manpages</i> status still Open with 6 other changes


type: t
user: jeffran
brief: Ticket [51ace88034]: 16 changes
comment:
  Ticket [51ace88034] <i>404 not returned for missing templates</i> status still Open with 16 other changes


type: t
user: coldstore
brief: Ticket [51ace86a34]: 6 changes
comment:
  Ticket [51ace86a34] <i>tcllib mime / md5 problem stops tclhttpd loading</i> status still Open with 6 other changes


type: t
user: rparker9
brief: Ticket [51ace85d34]: 16 changes
comment:
  Ticket [51ace85d34] <i>Doc_Cookie broken Tcl8.4.4 tclhttpd3.4.2</i> status still Open with 16 other changes


type: t
user: davygrvy
brief: Ticket [51ace86534]: 1 change
comment:
  Ticket [51ace86534] <i>Tk server UI doesn't show homepage hits</i> status still Open with 1 other change


type: t
user: nobody
brief: Ticket [51ace89434]: 4 changes
comment:
  Ticket [51ace89434] <i>tclhttpd3.5.1 - html pages display as text</i> status still Open with 4 other changes


type: t
user: dgp
brief: Ticket [51ace82034]: 4 changes
comment:
  Ticket [51ace82034] <i>hangs with less threads than concurrency</i> status still Open with 4 other changes


type: t
user: trott13
brief: Ticket [51ace87034]: 16 changes
comment:
  Ticket [51ace87034] <i>Url_AccessInstallPrepend crashes DocDomain</i> status still Open with 16 other changes


type: t
user: coldstore
brief: Ticket [51ace87534]: 16 changes
comment:
  Ticket [51ace87534] <i>use of smtp leads to race conditions</i> status still Open with 16 other changes


type: t
user: coldstore
brief: Ticket [51ace87534]: 4 changes
comment:
  Ticket [51ace87534] <i>inconsistent handling of index.tml indirect references</i> status still Open with 4 other changes


type: t
user: mic42
brief: Ticket [51ace81b34]: 6 changes
comment:
  Ticket [51ace81b34] <i>Socket + Memory Leak under Windows</i> status still Open with 6 other changes


type: t
user: andreas_kupries
brief: Ticket [51ace85434]: 1 change
comment:
  Ticket [51ace85434] <i>Files in the Custom directory are not read</i> status still Open with 1 other change


type: t
user: welch
brief: Ticket [51ace84d34]: 4 changes
comment:
  Ticket [51ace84d34] <i>Doc_application/x-tcl-auth does not propgate its arguments</i> status still Closed with 4 other changes


type: t
user: *anonymous
brief: Ticket [51ace80e34]: 6 changes
comment:
  Ticket [51ace80e34] <i>Web site doesn't allow bugs for tclhttpd 3.0.0</i> status still Open with 6 other changes


type: t
user: *anonymous
brief: Ticket [51ace81334]: 1 change
comment:
  Ticket [51ace81334] <i>IMPORT: thread2.0: Unresolved symbols</i> status still Open with 1 other change


type: t
user: andreas_kupries
brief: Ticket [51ace85434]: 6 changes
comment:
  Ticket [51ace85434] <i>Files in the Custom directory are not read</i> status still Open with 6 other changes


type: t
user: *anonymous
brief: Ticket [51ace80c34]: 1 change
comment:
  Ticket [51ace80c34] <i>Add Log_NameFormat and Log_Rotate APIs</i> status still Open with 1 other change


type: t
user: acacio
brief: Closed ticket [51ace81134].
comment:
  Closed ticket [51ace81134]: <i>IMPORT: log files and dir get created at 12:16 am</i> plus 3 other changes


type: t
user: *anonymous
brief: Ticket [51ace80d34]: 1 change
comment:
  Ticket [51ace80d34] <i>log files and dir get created at 12:16 am</i> status still Open with 1 other change


type: t
user: *anonymous
brief: Ticket [51ace88134]: 1 change
comment:
  Ticket [51ace88134] <i>/tmp in paths doesn't work for Windows</i> status still Open with 1 other change


type: t
user: coldstore
brief: Ticket [51ace87534]: 1 change
comment:
  Ticket [51ace87534] <i>inconsistent handling of index.tml indirect references</i> status still Open with 1 other change


type: t
user: davidw
brief: Ticket [51ace82434]: 15 changes
comment:
  Ticket [51ace82434] <i>Memory leak under windows (570096 ?)</i> status still Open with 15 other changes


type: t
user: davygrvy
brief: Ticket [51ace86634]: 6 changes
comment:
  Ticket [51ace86634] <i>mime type rules doesn't match [glob]</i> status still Open with 6 other changes


type: t
user: coldstore
brief: Ticket [51ace87534]: 15 changes
comment:
  Ticket [51ace87534] <i>inconsistent handling of index.tml indirect references</i> status still Open with 15 other changes


type: t
user: *anonymous
brief: Ticket [51ace80c34]: 16 changes
comment:
  Ticket [51ace80c34] <i>Add Log_NameFormat and Log_Rotate APIs</i> status still Open with 16 other changes


type: t
user: kot
brief: Ticket [51ace88b34]: 4 changes
comment:
  Ticket [51ace88b34] <i>Does username/password authentication work for anyone?</i> status still Open with 4 other changes


type: t
user: jeffran
brief: Ticket [51ace88034]: 6 changes
comment:
  Ticket [51ace88034] <i>404 not returned for missing templates</i> status still Open with 6 other changes


type: t
user: coldstore
brief: Ticket [51ace87e34]: 4 changes
comment:
  Ticket [51ace87e34] <i>.tml processing issue with tclhttpd 3.5.1</i> status still Open with 4 other changes


type: t
user: mbroeken
brief: Ticket [51ace88b34]: 16 changes
comment:
  Ticket [51ace88b34] <i>Glob problem inside a Starkit in httpdthread.tcl</i> status still Open with 16 other changes


type: t
user: coldstore
brief: Ticket [51ace86c34]: 4 changes
comment:
  Ticket [51ace86c34] <i>error in proc:Thread_IsFree (thread.tcl)</i> status still Open with 4 other changes


type: t
user: andreas_kupries
brief: Ticket [51ace84d34]: 6 changes
comment:
  Ticket [51ace84d34] <i>Doc_application/x-tcl-auth does not propgate its arguments</i> status still Open with 6 other changes


type: t
user: *anonymous
brief: Ticket [51ace81134]: 6 changes
comment:
  Ticket [51ace81134] <i>IMPORT: log files and dir get created at 12:16 am</i> status still Open with 6 other changes


type: t
user: coldstore
brief: Ticket [51ace87534]: 1 change
comment:
  Ticket [51ace87534] <i>use of smtp leads to race conditions</i> status still Open with 1 other change


type: t
user: *anonymous
brief: Ticket [51ace81234]: 16 changes
comment:
  Ticket [51ace81234] <i>IMPORT: Any file can be fetched from the server machine.</i> status still Open with 16 other changes


type: t
user: jmphilippe
brief: Ticket [51ace85834]: 1 change
comment:
  Ticket [51ace85834] <i>Tk console history disabled in debug mode</i> status still Open with 1 other change


type: t
user: *anonymous
brief: Ticket [51ace81234]: 1 change
comment:
  Ticket [51ace81234] <i>IMPORT: Web site doesn't allow bugs for tclhttpd 3.0.0</i> status still Open with 1 other change


type: t
user: *anonymous
brief: Ticket [51ace81134]: 6 changes
comment:
  Ticket [51ace81134] <i>IMPORT: Shared libs installed with wrong permissions</i> status still Open with 6 other changes


type: t
user: davygrvy
brief: Closed ticket [51ace82a34].
comment:
  Closed ticket [51ace82a34]: <i>error counter named &amp;quot;errors&amp;quot; or &amp;quot;error&amp;quot;?</i> plus 3 other changes


type: t
user: trott13
brief: Ticket [51ace86034]: 16 changes
comment:
  Ticket [51ace86034] <i>bad message length in Httpd_Error</i> status still Open with 16 other changes


type: t
user: *anonymous
brief: Ticket [51ace81434]: 1 change
comment:
  Ticket [51ace81434] <i>error in proc:Thread_IsFree (thread.tcl)</i> status still Open with 1 other change


type: t
user: *anonymous
brief: Ticket [51ace80e34]: 1 change
comment:
  Ticket [51ace80e34] <i>Web site doesn't allow bugs for tclhttpd 3.0.0</i> status still Open with 1 other change


type: t
user: elfring
brief: Ticket [51ace7d734]: 4 changes
comment:
  Ticket [51ace7d734] <i>Support for Universal Plug and Play?</i> status still Open with 4 other changes


type: t
user: welch
brief: Ticket [51ace7c934]: 4 changes
comment:
  Ticket [51ace7c934] <i>.htaccess parsing missing some std features</i> status still Open with 4 other changes


type: t
user: acacio
brief: Ticket [51ace7c934]: 5 changes
comment:
  Ticket [51ace7c934] <i>.htaccess parsing missing some std features</i> status still Open with 5 other changes


type: t
user: coldstore
brief: Ticket [51ace7df34]: 6 changes
comment:
  Ticket [51ace7df34] <i>More flexible Windows Cgi file extension handling</i> status still Open with 6 other changes


type: t
user: *anonymous
brief: Ticket [51ace7c834]: 6 changes
comment:
  Ticket [51ace7c834] <i>IMPORT: Add Log_NameFormat and Log_Rotate APIs</i> status still Open with 6 other changes


type: t
user: elfring
brief: Ticket [51ace7d634]: 6 changes
comment:
  Ticket [51ace7d634] <i>Support for dynamic Service Configuration?</i> status still Open with 6 other changes


type: t
user: dizzi
brief: Ticket [51ace7e134]: 1 change
comment:
  Ticket [51ace7e134] <i>tclhttpd pollutes the global namespace</i> status still Open with 1 other change


type: t
user: *anonymous
brief: Ticket [51ace7c834]: 1 change
comment:
  Ticket [51ace7c834] <i>IMPORT: Add Log_NameFormat and Log_Rotate APIs</i> status still Open with 1 other change


type: t
user: slok00
brief: Ticket [51ace7da34]: 6 changes
comment:
  Ticket [51ace7da34] <i>tclhttpd bundle to include metakit</i> status still Open with 6 other changes


type: t
user: doss
brief: Ticket [51ace7c934]: 6 changes
comment:
  Ticket [51ace7c934] <i>.htaccess parsing missing some std features</i> status still Open with 6 other changes


type: t
user: slok00
brief: Ticket [51ace7da34]: 15 changes
comment:
  Ticket [51ace7da34] <i>tclhttpd bundle to include metakit</i> status still Open with 15 other changes


type: t
user: coldstore
brief: Ticket [51ace7df34]: 1 change
comment:
  Ticket [51ace7df34] <i>More flexible Windows Cgi file extension handling</i> status still Open with 1 other change


type: t
user: doss
brief: Ticket [51ace7c934]: 1 change
comment:
  Ticket [51ace7c934] <i>.htaccess parsing missing some std features</i> status still Open with 1 other change


type: t
user: elfring
brief: Ticket [51ace7d634]: 1 change
comment:
  Ticket [51ace7d634] <i>Support for dynamic Service Configuration?</i> status still Open with 1 other change


type: t
user: davidw
brief: Ticket [51ace7d634]: 6 changes
comment:
  Ticket [51ace7d634] <i>Option to do Redirect with socket close</i> status still Open with 6 other changes


type: t
user: coldstore
brief: Ticket [51ace7df34]: 15 changes
comment:
  Ticket [51ace7df34] <i>More flexible Windows Cgi file extension handling</i> status still Open with 15 other changes


type: t
user: dizzi
brief: Ticket [51ace7e134]: 15 changes
comment:
  Ticket [51ace7e134] <i>tclhttpd pollutes the global namespace</i> status still Open with 15 other changes


type: t
user: elfring
brief: Ticket [51ace7d734]: 1 change
comment:
  Ticket [51ace7d734] <i>Support for Universal Plug and Play?</i> status still Open with 1 other change


type: t
user: elfring
brief: Ticket [51ace7d734]: 6 changes
comment:
  Ticket [51ace7d734] <i>Support for Universal Plug and Play?</i> status still Open with 6 other changes


type: t
user: doss
brief: Ticket [51ace7c934]: 15 changes
comment:
  Ticket [51ace7c934] <i>.htaccess parsing missing some std features</i> status still Open with 15 other changes


type: t
user: davidw
brief: Ticket [51ace7d634]: 15 changes
comment:
  Ticket [51ace7d634] <i>Option to do Redirect with socket close</i> status still Open with 15 other changes


type: t
user: coldstore
brief: Ticket [51ace7e034]: 15 changes
comment:
  Ticket [51ace7e034] <i>Deprecate ::env as much as possible and make it safer</i> status still Open with 15 other changes


type: t
user: *anonymous
brief: Ticket [51ace7da34]: 15 changes
comment:
  Ticket [51ace7da34] <i>Clean up of the files, doc and directories</i> status still Open with 15 other changes


type: t
user: eviltwinskippy
brief: Ticket [51ace7e134]: 4 changes
comment:
  Ticket [51ace7e134] <i>tclhttpd pollutes the global namespace</i> status still Open with 4 other changes


type: t
user: acacio
brief: Ticket [51ace7c834]: 5 changes
comment:
  Ticket [51ace7c834] <i>IMPORT: Add Log_NameFormat and Log_Rotate APIs</i> status still Open with 5 other changes


type: t
user: *anonymous
brief: Ticket [51ace7da34]: 6 changes
comment:
  Ticket [51ace7da34] <i>Clean up of the files, doc and directories</i> status still Open with 6 other changes


type: t
user: coldstore
brief: Ticket [51ace7e034]: 6 changes
comment:
  Ticket [51ace7e034] <i>Deprecate ::env as much as possible and make it safer</i> status still Open with 6 other changes


type: t
user: elfring
brief: Ticket [51ace7d634]: 15 changes
comment:
  Ticket [51ace7d634] <i>Support for dynamic Service Configuration?</i> status still Open with 15 other changes


type: t
user: elfring
brief: Ticket [51ace7d734]: 15 changes
comment:
  Ticket [51ace7d734] <i>Support for Universal Plug and Play?</i> status still Open with 15 other changes


type: t
user: coldstore
brief: Ticket [51ace7e034]: 1 change
comment:
  Ticket [51ace7e034] <i>Deprecate ::env as much as possible and make it safer</i> status still Open with 1 other change


type: t
user: *anonymous
brief: Ticket [51ace7da34]: 1 change
comment:
  Ticket [51ace7da34] <i>Clean up of the files, doc and directories</i> status still Open with 1 other change


type: t
user: *anonymous
brief: Ticket [51ace7c834]: 15 changes
comment:
  Ticket [51ace7c834] <i>IMPORT: Add Log_NameFormat and Log_Rotate APIs</i> status still Open with 15 other changes


type: t
user: dizzi
brief: Ticket [51ace7e134]: 6 changes
comment:
  Ticket [51ace7e134] <i>tclhttpd pollutes the global namespace</i> status still Open with 6 other changes


type: t
user: davidw
brief: Ticket [51ace7d634]: 1 change
comment:
  Ticket [51ace7d634] <i>Option to do Redirect with socket close</i> status still Open with 1 other change


type: t
user: tomk
brief: Ticket [51ace89334]: 1 change
comment:
  Ticket [51ace89334] <i>tclhttpd3.5.1.kit doesn't work with 8.5</i> status still Open with 1 other change


type: t
user: davygrvy
brief: Ticket [51ace86534]: 15 changes
comment:
  Ticket [51ace86534] <i>Tk server UI doesn't show homepage hits</i> status still Open with 15 other changes


type: t
user: andreas_kupries
brief: Ticket [51ace85134]: 15 changes
comment:
  Ticket [51ace85134] <i>data(mime,cookies) - Cookie_Get out of sync</i> status still Open with 15 other changes


type: t
user: wliao
brief: Ticket [51ace89534]: 16 changes
comment:
  Ticket [51ace89534] <i>dirlist fails if dirname contains glob metacharacters</i> status still Open with 16 other changes


type: t
user: coldstore
brief: Ticket [51ace85434]: 4 changes
comment:
  Ticket [51ace85434] <i>Files in the Custom directory are not read</i> status still Open with 4 other changes


type: t
user: coldstore
brief: Ticket [51ace87434]: 1 change
comment:
  Ticket [51ace87434] <i>auth.tcl Auth_Check needless inefficiency</i> status still Open with 1 other change


type: t
user: coldstore
brief: Ticket [51ace86d34]: 16 changes
comment:
  Ticket [51ace86d34] <i>tml substitution works for the wrong reason</i> status still Open with 16 other changes


type: t
user: welch
brief: Closed ticket [51ace80e34].
comment:
  Closed ticket [51ace80e34]: <i>Any file can be fetched from the server machine.</i> plus 3 other changes


type: t
user: *anonymous
brief: Ticket [51ace80c34]: 6 changes
comment:
  Ticket [51ace80c34] <i>Add Log_NameFormat and Log_Rotate APIs</i> status still Open with 6 other changes


type: t
user: *anonymous
brief: Ticket [51ace86c34]: 6 changes
comment:
  Ticket [51ace86c34] <i>error in proc:Thread_IsFree (thread.tcl)</i> status still Open with 6 other changes


type: t
user: davygrvy
brief: Ticket [51ace83d34]: 16 changes
comment:
  Ticket [51ace83d34] <i>Httpd_ReturnFile not closing from fcopy for logging</i> status still Open with 16 other changes


type: t
user: *anonymous
brief: Ticket [51ace81f34]: 16 changes
comment:
  Ticket [51ace81f34] <i>security: directory structure browsing</i> status still Open with 16 other changes


type: t
user: *anonymous
brief: Ticket [51ace81234]: 16 changes
comment:
  Ticket [51ace81234] <i>IMPORT: Web site doesn't allow bugs for tclhttpd 3.0.0</i> status still Open with 16 other changes


type: t
user: dgp
brief: Ticket [51ace82534]: 16 changes
comment:
  Ticket [51ace82534] <i>latest httpd::version not indexed</i> status still Open with 16 other changes


type: t
user: *anonymous
brief: Ticket [51ace88134]: 15 changes
comment:
  Ticket [51ace88134] <i>/tmp in paths doesn't work for Windows</i> status still Open with 15 other changes


type: t
user: trott13
brief: Ticket [51ace87034]: 6 changes
comment:
  Ticket [51ace87034] <i>Url_AccessInstallPrepend crashes DocDomain</i> status still Open with 6 other changes


type: t
user: coldstore
brief: Ticket [51ace88734]: 1 change
comment:
  Ticket [51ace88734] <i>Upload doesn't properly handle multipart/form-data</i> status still Open with 1 other change


type: t
user: davygrvy
brief: Ticket [51ace86434]: 6 changes
comment:
  Ticket [51ace86434] <i>httpd % couldn't execute &quot;gzip&quot;: no such file or directory</i> status still Open with 6 other changes


type: t
user: acacio
brief: Ticket [51ace81234]: 4 changes
comment:
  Ticket [51ace81234] <i>IMPORT: Web site doesn't allow bugs for tclhttpd 3.0.0</i> status still Open with 4 other changes


type: t
user: *anonymous
brief: Ticket [51ace86c34]: 1 change
comment:
  Ticket [51ace86c34] <i>error in proc:Thread_IsFree (thread.tcl)</i> status still Open with 1 other change


type: t
user: andreas_kupries
brief: Ticket [51ace85134]: 1 change
comment:
  Ticket [51ace85134] <i>data(mime,cookies) - Cookie_Get out of sync</i> status still Open with 1 other change


type: t
user: *anonymous
brief: Ticket [51ace86c34]: 16 changes
comment:
  Ticket [51ace86c34] <i>error in proc:Thread_IsFree (thread.tcl)</i> status still Open with 16 other changes


type: t
user: eviltwinskippy
brief: Ticket [51ace89134]: 6 changes
comment:
  Ticket [51ace89134] <i>Auth_InitCrypt calling non-existant variable</i> status still Open with 6 other changes


type: t
user: davygrvy
brief: Ticket [51ace83d34]: 1 change
comment:
  Ticket [51ace83d34] <i>Httpd_ReturnFile not closing from fcopy for logging</i> status still Open with 1 other change


type: t
user: coldstore
brief: Ticket [51ace86a34]: 1 change
comment:
  Ticket [51ace86a34] <i>tcllib mime / md5 problem stops tclhttpd loading</i> status still Open with 1 other change


type: t
user: kot
brief: Ticket [51ace88b34]: 1 change
comment:
  Ticket [51ace88b34] <i>Does username/password authentication work for anyone?</i> status still Open with 1 other change


type: t
user: *anonymous
brief: Ticket [51ace81134]: 1 change
comment:
  Ticket [51ace81134] <i>IMPORT: Shared libs installed with wrong permissions</i> status still Open with 1 other change


type: t
user: davygrvy
brief: Ticket [51ace86134]: 6 changes
comment:
  Ticket [51ace86134] <i>Status/text uses wrong counter names</i> status still Open with 6 other changes


type: t
user: davygrvy
brief: Ticket [51ace83c34]: 4 changes
comment:
  Ticket [51ace83c34] <i>IExplorer, POST method, MIME Connection: header foobarism</i> status still Open with 4 other changes


type: t
user: coldstore
brief: Ticket [51ace88634]: 6 changes
comment:
  Ticket [51ace88634] <i>Httpd_NotModified always closes connection</i> status still Open with 6 other changes


type: t
user: *anonymous
brief: Ticket [51ace81134]: 16 changes
comment:
  Ticket [51ace81134] <i>IMPORT: log files and dir get created at 12:16 am</i> status still Open with 16 other changes


type: t
user: *anonymous
brief: Ticket [51ace83a34]: 6 changes
comment:
  Ticket [51ace83a34] <i>direct url getting xml content/type</i> status still Open with 6 other changes


type: t
user: tomk
brief: Ticket [51ace89434]: 1 change
comment:
  Ticket [51ace89434] <i>tclhttpd3.5.1 - html pages display as text</i> status still Open with 1 other change


type: t
user: *anonymous
brief: Ticket [51ace81634]: 16 changes
comment:
  Ticket [51ace81634] <i>AIX can't create crypt.so and limit.so</i> status still Open with 16 other changes


type: t
user: jmphilippe
brief: Ticket [51ace85834]: 4 changes
comment:
  Ticket [51ace85834] <i>Tk console history disabled in debug mode</i> status still Closed with 4 other changes


type: t
user: jmphilippe
brief: Ticket [51ace85834]: 6 changes
comment:
  Ticket [51ace85834] <i>Tk console history disabled in debug mode</i> status still Open with 6 other changes


type: t
user: andreas_kupries
brief: Ticket [51ace84234]: 6 changes
comment:
  Ticket [51ace84234] <i>Package httpd::logproc in index, but not implemented</i> status still Open with 6 other changes


type: t
user: *anonymous
brief: Ticket [51ace81634]: 1 change
comment:
  Ticket [51ace81634] <i>Call of Countname incorrect in Doc_Error</i> status still Open with 1 other change


type: t
user: coldstore
brief: Ticket [51ace86d34]: 4 changes
comment:
  Ticket [51ace86d34] <i>tml substitution works for the wrong reason</i> status still Closed with 4 other changes


type: t
user: gwlester
brief: Ticket [51ace83134]: 1 change
comment:
  Ticket [51ace83134] <i>Debug.tcl has incorrect array index</i> status still Open with 1 other change


type: t
user: m9090
brief: Ticket [51ace82c34]: 16 changes
comment:
  Ticket [51ace82c34] <i>ftpd space to '+' in dirlist on win </i> status still Open with 16 other changes


type: t
user: davidw
brief: Ticket [51ace82034]: 6 changes
comment:
  Ticket [51ace82034] <i>hangs with less threads than concurrency</i> status still Open with 6 other changes


type: t
user: davygrvy
brief: Ticket [51ace82a34]: 6 changes
comment:
  Ticket [51ace82a34] <i>error counter named &amp;quot;errors&amp;quot; or &amp;quot;error&amp;quot;?</i> status still Open with 6 other changes


type: t
user: *anonymous
brief: Ticket [51ace81334]: 16 changes
comment:
  Ticket [51ace81334] <i>IMPORT: thread2.0: Unresolved symbols</i> status still Open with 16 other changes


type: t
user: acacio
brief: Closed ticket [51ace81234].
comment:
  Closed ticket [51ace81234]: <i>IMPORT: Web site doesn't allow bugs for tclhttpd 3.0.0</i> plus 3 other changes


type: t
user: *anonymous
brief: Ticket [51ace85734]: 15 changes
comment:
  Ticket [51ace85734] <i>Redirect_To does not work in .tml</i> status still Open with 15 other changes


type: t
user: *anonymous
brief: Ticket [51ace80d34]: 16 changes
comment:
  Ticket [51ace80d34] <i>Shared libs installed with wrong permissions</i> status still Open with 16 other changes


type: t
user: *anonymous
brief: Ticket [51ace80e34]: 16 changes
comment:
  Ticket [51ace80e34] <i>Any file can be fetched from the server machine.</i> status still Open with 16 other changes


type: t
user: *anonymous
brief: Ticket [51ace80d34]: 6 changes
comment:
  Ticket [51ace80d34] <i>log files and dir get created at 12:16 am</i> status still Open with 6 other changes


type: t
user: *anonymous
brief: Ticket [51ace81634]: 15 changes
comment:
  Ticket [51ace81634] <i>Call of Countname incorrect in Doc_Error</i> status still Open with 15 other changes


type: t
user: *anonymous
brief: Ticket [51ace81234]: 6 changes
comment:
  Ticket [51ace81234] <i>IMPORT: Any file can be fetched from the server machine.</i> status still Open with 6 other changes


type: t
user: mbroeken
brief: Ticket [51ace88b34]: 1 change
comment:
  Ticket [51ace88b34] <i>Glob problem inside a Starkit in httpdthread.tcl</i> status still Open with 1 other change


type: t
user: kot
brief: Ticket [51ace87c34]: 15 changes
comment:
  Ticket [51ace87c34] <i>tclhttpd installs its own versions of TCLLIB's manpages</i> status still Open with 15 other changes


type: t
user: davygrvy
brief: Ticket [51ace83c34]: 6 changes
comment:
  Ticket [51ace83c34] <i>IExplorer, POST method, MIME Connection: header foobarism</i> status still Open with 6 other changes


type: t
user: jeffran
brief: Ticket [51ace88034]: 1 change
comment:
  Ticket [51ace88034] <i>404 not returned for missing templates</i> status still Open with 1 other change


type: t
user: kot
brief: Ticket [51ace87c34]: 1 change
comment:
  Ticket [51ace87c34] <i>tclhttpd installs its own versions of TCLLIB's manpages</i> status still Open with 1 other change


type: t
user: davidw
brief: Ticket [51ace82034]: 1 change
comment:
  Ticket [51ace82034] <i>hangs with less threads than concurrency</i> status still Open with 1 other change


type: t
user: coldstore
brief: Ticket [51ace88434]: 6 changes
comment:
  Ticket [51ace88434] <i>304 NotModified can't have message content</i> status still Open with 6 other changes


type: t
user: *anonymous
brief: Ticket [51ace88134]: 6 changes
comment:
  Ticket [51ace88134] <i>/tmp in paths doesn't work for Windows</i> status still Open with 6 other changes


type: t
user: *anonymous
brief: Ticket [51ace81234]: 6 changes
comment:
  Ticket [51ace81234] <i>IMPORT: Web site doesn't allow bugs for tclhttpd 3.0.0</i> status still Open with 6 other changes


type: t
user: acacio
brief: Ticket [51ace81134]: 4 changes
comment:
  Ticket [51ace81134] <i>IMPORT: Shared libs installed with wrong permissions</i> status still Open with 4 other changes


type: t
user: coldstore
brief: Ticket [51ace85134]: 4 changes
comment:
  Ticket [51ace85134] <i>data(mime,cookies) - Cookie_Get out of sync</i> status still Open with 4 other changes


type: t
user: kot
brief: Ticket [51ace88b34]: 15 changes
comment:
  Ticket [51ace88b34] <i>Does username/password authentication work for anyone?</i> status still Open with 15 other changes


type: t
user: davygrvy
brief: Ticket [51ace86534]: 6 changes
comment:
  Ticket [51ace86534] <i>Tk server UI doesn't show homepage hits</i> status still Open with 6 other changes


type: t
user: davidw
brief: Ticket [51ace82034]: 4 changes
comment:
  Ticket [51ace82034] <i>hangs with less threads than concurrency</i> status still Closed with 4 other changes


type: t
user: davidw
brief: Ticket [51ace82434]: 6 changes
comment:
  Ticket [51ace82434] <i>Memory leak under windows (570096 ?)</i> status still Open with 6 other changes


type: t
user: *anonymous
brief: Ticket [51ace81634]: 6 changes
comment:
  Ticket [51ace81634] <i>Call of Countname incorrect in Doc_Error</i> status still Open with 6 other changes


type: t
user: coldstore
brief: Ticket [51ace88634]: 1 change
comment:
  Ticket [51ace88634] <i>Httpd_NotModified always closes connection</i> status still Open with 1 other change


type: t
user: andreas_kupries
brief: Ticket [51ace84234]: 16 changes
comment:
  Ticket [51ace84234] <i>Package httpd::logproc in index, but not implemented</i> status still Open with 16 other changes


type: t
user: coldstore
brief: Ticket [51ace88734]: 6 changes
comment:
  Ticket [51ace88734] <i>Upload doesn't properly handle multipart/form-data</i> status still Open with 6 other changes


type: t
user: andreas_kupries
brief: Ticket [51ace86a34]: 4 changes
comment:
  Ticket [51ace86a34] <i>tcllib mime / md5 problem stops tclhttpd loading</i> status still Open with 4 other changes


type: t
user: tomk
brief: Ticket [51ace89434]: 15 changes
comment:
  Ticket [51ace89434] <i>tclhttpd3.5.1 - html pages display as text</i> status still Open with 15 other changes


type: t
user: setok
brief: Ticket [51ace88834]: 4 changes
comment:
  Ticket [51ace88834] <i>Redirect with Direct_Url does not work with cookies</i> status still Open with 4 other changes


type: t
user: tomk
brief: Ticket [51ace89334]: 15 changes
comment:
  Ticket [51ace89334] <i>tclhttpd3.5.1.kit doesn't work with 8.5</i> status still Open with 15 other changes


type: t
user: coldstore
brief: Ticket [51ace85f34]: 4 changes
comment:
  Ticket [51ace85f34] <i>tclhttpd with TclX and threads on linux hangs</i> status still Open with 4 other changes


type: t
user: tomk
brief: Ticket [51ace89434]: 6 changes
comment:
  Ticket [51ace89434] <i>tclhttpd3.5.1 - html pages display as text</i> status still Open with 6 other changes


type: t
user: *anonymous
brief: Ticket [51ace81434]: 16 changes
comment:
  Ticket [51ace81434] <i>error in proc:Thread_IsFree (thread.tcl)</i> status still Open with 16 other changes


type: t
user: *anonymous
brief: Ticket [51ace81634]: 1 change
comment:
  Ticket [51ace81634] <i>AIX can't create crypt.so and limit.so</i> status still Open with 1 other change


type: t
user: coldstore
brief: Ticket [51ace87e34]: 15 changes
comment:
  Ticket [51ace87e34] <i>.tml processing issue with tclhttpd 3.5.1</i> status still Open with 15 other changes


type: t
user: welch
brief: Closed ticket [51ace81234].
comment:
  Closed ticket [51ace81234]: <i>IMPORT: Any file can be fetched from the server machine.</i> plus 3 other changes


type: t
user: coldstore
brief: Ticket [51ace87134]: 15 changes
comment:
  Ticket [51ace87134] <i>error when htdoc root is a symlink</i> status still Open with 15 other changes


type: t
user: andreas_kupries
brief: Ticket [51ace84d34]: 16 changes
comment:
  Ticket [51ace84d34] <i>Doc_application/x-tcl-auth does not propgate its arguments</i> status still Open with 16 other changes


type: t
user: acacio
brief: Closed ticket [51ace81134].
comment:
  Closed ticket [51ace81134]: <i>IMPORT: Shared libs installed with wrong permissions</i> plus 3 other changes


type: t
user: setok
brief: Ticket [51ace88834]: 16 changes
comment:
  Ticket [51ace88834] <i>Redirect with Direct_Url does not work with cookies</i> status still Open with 16 other changes


type: t
user: wliao
brief: Ticket [51ace89534]: 6 changes
comment:
  Ticket [51ace89534] <i>dirlist fails if dirname contains glob metacharacters</i> status still Open with 6 other changes


type: t
user: *anonymous
brief: Ticket [51ace81334]: 6 changes
comment:
  Ticket [51ace81334] <i>IMPORT: thread2.0: Unresolved symbols</i> status still Open with 6 other changes


type: t
user: tomk
brief: Ticket [51ace89334]: 6 changes
comment:
  Ticket [51ace89334] <i>tclhttpd3.5.1.kit doesn't work with 8.5</i> status still Open with 6 other changes


type: t
user: trott13
brief: Ticket [51ace87034]: 1 change
comment:
  Ticket [51ace87034] <i>Url_AccessInstallPrepend crashes DocDomain</i> status still Open with 1 other change


type: t
user: gwlester
brief: Ticket [51ace83134]: 16 changes
comment:
  Ticket [51ace83134] <i>Debug.tcl has incorrect array index</i> status still Open with 16 other changes


type: t
user: *anonymous
brief: Ticket [51ace81f34]: 6 changes
comment:
  Ticket [51ace81f34] <i>security: directory structure browsing</i> status still Open with 6 other changes


type: t
user: andreas_kupries
brief: Ticket [51ace85134]: 6 changes
comment:
  Ticket [51ace85134] <i>data(mime,cookies) - Cookie_Get out of sync</i> status still Open with 6 other changes


type: t
user: davygrvy
brief: Ticket [51ace83d34]: 6 changes
comment:
  Ticket [51ace83d34] <i>Httpd_ReturnFile not closing from fcopy for logging</i> status still Open with 6 other changes


type: t
user: gwlester
brief: Review ticket [51ace89534].
comment:
  Review ticket [51ace89534]: <i>dirlist fails if dirname contains glob metacharacters</i> plus 7 other changes


type: ci
bgcolor: #a0a0a0
user: seandeelywoods
comment:
  Fixed limit.c (Was using the old ->result point on the interpreter structure
  which was removed after 8.5)


type: g
user: gwlester
comment:
  Edit [89bec73d352e829c]: Move to branch [/timeline?r=SupportsPreTcl8.5&nd&dp=89bec73d352e829c&unhide | SupportsPreTcl8.5]...


type: g
user: gwlester
comment:
  Edit [89bec73d352e829c]: Move to branch [/timeline?r=trunk&nd&dp=89bec73d352e829c&unhide | trunk]...


type: g
user: hypnotoad
comment:
  Edit [26dada586bd48ee7]: Move to branch [/timeline?r=Supports8.6&nd&dp=26dada586bd48ee7&unhide | Supports8.6].. Change background color to "#a0a0a0"..


type: ci
user: hypnotoad
comment:
  Fix to prevent limit.c from accessing the ->result field in 
  interp. (Which Tcl 8.6 REALLY doesn't like)


type: ci
user: clif
comment:
  Moved "package require fileutil" from tclhttpd.rc to httpd.tcl.  This
  is where other package requires are done.  Tclhttpd.rc is evaluated
  in a safe interp and can't perform package require.
  Added namespace import to config.tcl to force the fileutil::tempdir
  into the Safe interp.


type: ci
user: clif
comment:
  Added support for config::cget MailServer.  That's what's defined
  in tclhttpd.rc.  I think Config(mail) was a previous incarnation of
  Config.  I left that for consistency with older (much older?) systems.


type: ci
user: clif
comment:
  Added support for "-dispatch" option to Url_PrefixInstall.  This allows for custom thread dispatchers and per-session threading.


# ticket

tkt_uuid: 51ace7f134309d75aee355a1ffffffffffffffff
type: Patch
status: Open
priority: 5
title: Some changes used @ Lyris
comment:
  <b>By davygrvy on 2003-04-28 22:01:56</b><br><br>Lyris Technologies uses tclhttpd in a couple of their 
  products.  While I fix-up their local CVS tree to have 
  tracable roots to the sourceforge one, I'll place the 
  differences here in case they might be found useful to 
  others.  These are only for consideration that they may 
  be integrated, and by no means a direct request that 
  they be added.

  auth.diff.txt -- Looks useful.  Appears to handle 
  favicon.ico requests when the front page is locked.


tkt_uuid: 51ace7ed34309d75aee35567ffffffffffffffff
type: Patch
status: Open
priority: 5
title: Configure fails on i686 machines
comment:
  <b>By hughk on 2002-07-22 10:34:24</b><br><br>I had a problem installing this on my PIII Linux system 
  which appears as type i686-unknown-linux. On 
  examining config/config.sub, i noticed that only lower 
  end systems were recognised in the shell script.

  After changing the i\[345\]86 instances to i\[3456\]86, this 
  worked fine. As this is a trivial edit, I didn't bother to 
  attach the ammended file.


tkt_uuid: 51ace7ee34309d75aee3556effffffffffffffff
type: Patch
status: Open
priority: 5
title: Tcl-8.4 support in C files
comment:
  <b>By kot on 2003-04-24 17:16:46</b><br><br>The attached patch provides for clean compilation of 
  some of the C-files against the Tcl84. Not tested with 
  earlier Tcl, though... This patch is part of the FreeBSD 
  port. 


tkt_uuid: 51ace7f534309d75aee3560fffffffffffffffff
type: Patch
status: Open
priority: 5
title: Avoid excessive logging
comment:
  <b>By patthoyts on 2005-05-19 11:08:49</b><br><br>The current error logging setup creates enormous log
  files for me when run on a Windows server. This is
  because I get a lot of IIS targeted exploit code sent.
  tclhttpd logs all this into the error log.

  This patch restricts the amount of logged data to 160
  characters. If a request exceeds this limit we log the
  first and last 70 chars and replace the rest with an
  elipsis.


tkt_uuid: 51ace7f334309d75aee355dfffffffffffffffff
type: Patch
status: Open
priority: 5
title: Support running as Windows service
comment:
  <b>By patthoyts on 2004-10-23 09:33:15</b><br><br>Users on Windows NT can run tclhttpd as an NT service
  by using 'tclsvc'. The code lives
  http://www.sensus.org/tcl/tclsvc.htm
  and I have a pre-built version at
  http://localhost:8015/programming/tclsvc11.zip
  which includes the patch mentioned on the wiki 
  \(http://wiki.tcl.tk/1797\).

  The only change needed to the tclhttpd code to support
  this is the attached patch. To summarize, tclsvc needs
  to be in control of the event loop.

  With this in place, a user can rename tclsvc.exe to
  tclhttpd.exe. Run tclhttpd.exe -install, edit the
  registry key to give the patch to httpd.tcl and can
  then use the normal NT services control panel to start
  and stop tclhttpd.

  Tclsvc is also part of the ActiveState Tcl developer kit.


tkt_uuid: 51ace7f534309d75aee35602ffffffffffffffff
type: Patch
status: Open
priority: 5
title: bugdb-design.png should be binary
comment:
  <b>By patthoyts on 2004-11-03 20:58:46</b><br><br>The file
  sampleapp/bugdb/htdocs/bugdb-design.png
  should be -kb
  If you check it out on a Windows box it gets corrupted.

  cvs admin -kb sampleapp/bugdb/htdocs/bugdb-design.png
  should do the trick.


tkt_uuid: 51ace7fb34309d75aee35670ffffffffffffffff
type: Patch
status: Open
priority: 5
title: http/1.1 protocol violation - bug ID: 1232026
comment:
  <b>By bovineone on 2010-03-17 16:34:20</b><br><br>Patch for the Microsoft .NET CLR  compatibility with 100 Continue request headers


tkt_uuid: 51ace7e934309d75aee35530ffffffffffffffff
type: Patch
status: Closed
priority: 5
title: should not assume full path for gzip
comment:
  <b>By glennjnn on 2001-09-14 23:53:17</b><br><br>lib/logs.tcl hard-codes a full path to gzip.  It should find it in the $PATH.

  $ diff log.tcl.orig log.tcl
  23c23
  &amp;lt;     set Log\(compressProg\) /usr/local/bin/gzip
  \---
  &amp;gt;     set Log\(compressProg\) gzip


tkt_uuid: 51ace7f834309d75aee35649ffffffffffffffff
type: Patch
status: Open
priority: 5
title: support for chunked transfer encoding
comment:
  <b>By davygrvy on 2007-01-24 06:40:22</b><br><br>This updates Patch 1436440, but this one has my name on the ticket this time and has a fixed CRLF bug \(previously unknown\) that I just discovered using the newest bleeding-edge Firefox 3.0a2pre nightly build from yesterday.

  Chunked transfer encoding is described @ http://www.w3.org/Protocols/rfc2616/rfc2616-sec3.html\#sec3.6.1

  This allows tclhttpd to keep connections open indefinitely and to send content as needed.

  An example would be the following "experiment" of mine found @ http://www.pobox.com/~davygrvy/chat/tcl

  Just dump these procs to lib/httpd.tcl and you should be good to go.


tkt_uuid: 51ace7eb34309d75aee35543ffffffffffffffff
type: Patch
status: Open
priority: 5
title: Simple patch to switch logging on/off
comment:
  <b>By mic42 on 2002-03-13 15:37:40</b><br><br>Attached is a simple patch for lib/log.tcl, to turn
  logging off with the configuration Option:

  config LogUsage 0 ;\# logging off
  config LogUsage 1 ;\# logging on

  Michael Schlenker


tkt_uuid: 51ace7f634309d75aee35620ffffffffffffffff
type: Patch
status: Open
priority: 5
title: new stuff for chunked transfer encoding
comment:
  <b>By *anonymous on 2006-02-22 07:07:30</b><br><br>See
  http://www.w3.org/Protocols/rfc2616/rfc2616-sec3.html\#sec3.6.1

  Here's the code for it.  Just drop the procs into
  lib/httpd.tcl and that should do it.


tkt_uuid: 51ace7fa34309d75aee3565fffffffffffffffff
type: Patch
status: Open
priority: 4
title: Patch to handle object methods as direct urls
comment:
  <b>By eviltwinskippy on 2009-10-19 22:42:32</b><br><br>This patch is extracted from my own extension to Tclhttpd, and adds new commands to the global namespace:

  ::Object\_Url \{virtual object \{inThread 0\}\}
  ::Obj\_UrlRemove \{object\} 
  ::Objdomain \{object sock suffix\}
  ::Object\_Respond \{sock code result \{type text/html\}\}

  These commands inject specially designed objects into the Direct\(\) array, and allow those objects to export methods as direct URLS.

  Each object referenced is assumed to have at least these 5 methods:

  Translate an id into an object:
  method urlObjectFromId id \{ ... \}

  Throw errors if security tokens are not in order
  method urlPrelim \{\} \{ ... \}

  \# Perform any object specific cleanups on 
  \# something that has been displayed
  method urlPostlim object \{ ... \} 

  \# Take raw output from an object and format it
  \# into the final HTML result
  method urlTemplateApply infodict \{ ... \}

  \# Translate a combination of the url suffix and post data 
  \# into an object method and key/value list of arguments to feed it
  method urlMarshallArguments \{url nvlist\} \{ ... \}

  \(All object methods exposed are assumed to accept a single key/value list as an argument\)


tkt_uuid: 51ace7f234309d75aee355c4ffffffffffffffff
type: Patch
status: Open
priority: 5
title: changes to support IOCPSOCK
comment:
  <b>By davygrvy on 2004-05-07 04:13:39</b><br><br>The following patch is a collection of changes I did to 
  support my WinNT-only socket extension with tclhttpd


tkt_uuid: 51ace7f734309d75aee35637ffffffffffffffff
type: Patch
status: Open
priority: 5
title: fix for auth.tcl
comment:
  <b>By xvart on 2006-10-06 11:08:34</b><br><br>auth.tcl is broke

  this is composite fix from another post and myself. Can
  someone add this..


tkt_uuid: 51ace7f434309d75aee355f1ffffffffffffffff
type: Patch
status: Open
priority: 5
title: digest.tcl Random package usage
comment:
  <b>By patthoyts on 2004-10-23 09:43:19</b><br><br>The digest.tcl file is using the Random package - cool\!
  But this package had it's commands rationalised into a
  single ::random namespace in recent versions. The
  following patch fixes this and provides a backwards
  compatability hack using interp alias.


tkt_uuid: 51ace7ec34309d75aee35555ffffffffffffffff
type: Patch
status: Open
priority: 5
title: upload fix for Windows
comment:
  <b>By davedux on 2002-06-21 20:01:37</b><br><br>The upload domain didn't work on Windows due to line 
  ending issues. This is a small fix to ensure cr-lf endings 
  are accepted in http headers.


tkt_uuid: 51ace7f134309d75aee355b2ffffffffffffffff
type: Patch
status: Open
priority: 5
title: Init script for running on RedHat 9
comment:
  <b>By edsuom on 2004-01-14 05:12:49</b><br><br>Here's an init script I use on my RH9 server. Might be
  worth including in the tarball.


tkt_uuid: 51ace88b34309d75aee35de9ffffffffffffffff
type: Code_Defect
status: Open
priority: 5
title: Does username/password authentication work for anyone?
comment:
  <b>By kot on 2005-09-22 23:58:06</b><br><br>It seems, auth.tcl does not even see much of the Config
  array -- because it is looking in Config\(\) instead of
  config::Config\(\).

  Correcting it exposes flat out errors suggesting, the
  code has bit-rotted... Whatever I do, I can not seem to
  login with neither Basic nor Digest mode.

  Only the /debug thing works, but is a pain to memorize...

  Does multi-user authentication work for anyone? I'm
  using Tcl-8.4.11 \(with Trf and Tls, if that matters\).

  Thanks\!


tkt_uuid: 51ace80d34309d75aee356a8ffffffffffffffff
type: Code_Defect
status: Closed
subsystem: Other
priority: 1
title: Shared libs installed with wrong permissions
comment:
  <b>By *anonymous on 2000-10-25 00:49:56</b><br><br>Original BugID: 5314 Bug
  Submit Date: '2000-05-02'
  Last Modified: '2000-10-24'
  Severity: MED
  Status: UnAssn
  Submitter: techsupp
  OS: HP-UX
  FixedDate: '2000-10-24'
  ClosedDate: '2000-10-24'


  &amp;lt;pre&amp;gt;Name:
  Laurent Duperval
  &amp;lt;/pre&amp;gt;
  &amp;lt;pre&amp;gt;CVS:
  Version 3.0.0
  &amp;lt;/pre&amp;gt;
  &amp;lt;pre&amp;gt;Comments:
  I'm not sure where it's supposed to be patched because I don't know the
  autoconf stuff well enough \(yet\).
  &amp;lt;/pre&amp;gt;
  &amp;lt;p&amp;gt;ObservedBehavior:
  tclsh8.3 \`which httpd.tcl\`
  /usr/lib/dld.sl: Call to mmap\(\) failed - TEXT /usr/local/lib/limit1.0/../liblimit1.0.sl
  /usr/lib/dld.sl: Permission denied
  couldn't load file &amp;quot;/usr/local/lib/limit1.0/../liblimit1.0.sl&amp;quot;: permission denied
  Running with default file descriptor limit
  /usr/lib/dld.sl: Call to mmap\(\) failed - TEXT /usr/local/lib/crypt1.0/../libcrypt1.0.sl
  /usr/lib/dld.sl: Permission denied
  No .htaccess support: couldn't load file &amp;quot;/usr/local/lib/crypt1.0/../libcrypt1.0.sl&amp;quot;: permission denied
  httpd started on port 8015
  &amp;lt;/p&amp;gt;
  &amp;lt;p&amp;gt;DesiredBehavior:
  To load correctly, the libraries need to be executable. Installation should use -m 755 instead of -m 644.
  &amp;lt;/p&amp;gt;


  &amp;lt;pre&amp;gt;&amp;lt;/pre&amp;gt;


tkt_uuid: 51ace89034309d75aee35e40ffffffffffffffff
type: Code_Defect
status: Review
subsystem: thread
priority: Immediate
severity: Critical
resolution: Open
title: Stderr not defined in Thread_Start
comment:
  <b>By *anonymous on 2006-03-07 10:08:55</b><br><br>Small bug in thread.tcl in Thread\_Start proc...
  in 3.5x releases...

  Was

  proc Thread\_Start \{\} \{
  global auto\_path tcl\_library
  set id \[Thread\_Create\]
  Thread\_Send $id \
  \{Stderr "Thread  starting."\}
  ...........

  Should be

  proc Thread\_Start \{\} \{
  global auto\_path tcl\_library
  set id \[Thread\_Create\]
  Thread\_Send $id \
  \{catch \{puts stderr "Thread  starting."\}\}
  .............


tkt_uuid: 51ace88134309d75aee35d6bffffffffffffffff
type: Code_Defect
status: Review
subsystem: --other--
priority: Immediate
severity: Critical
resolution: Open
title: /tmp in paths doesn't work for Windows
comment:
  <b>By *anonymous on 2005-01-27 12:40:13</b><br><br>There are 2 spots in the code where paths explicitly 
  start with /tmp \(tclhttpd.rc and auth.tcl\). This does not 
  work for Windows. On Windows we need c:/temp or 
  something similar \(BTW, I chose the standard quick start 
  option, so I run it withour any further installation step\).

  \(thl@gedas.de\)


tkt_uuid: 51ace86634309d75aee35bd0ffffffffffffffff
type: Code_Defect
status: Closed
subsystem: HTTP Protocol
priority: 9
title: mime type rules doesn't match [glob]
comment:
  <b>By davygrvy on 2004-05-14 02:59:17</b><br><br>First try this:

  http://localhost/index.tml

  Then try this:

  http://localhost/index.tml.

  page is rendered as text rather than being run.


tkt_uuid: 51ace82434309d75aee3584affffffffffffffff
type: Code_Defect
status: Open
priority: 5
title: Memory leak under windows (570096 ?)
comment:
  <b>By davidw on 2002-08-22 21:32:10</b><br><br>I am opening this as a seperate bug because I'm not
  sure it's the same as 570096 because I am not observing
  a socket leak.  Feel free to merge it if it's the same
  thing - or - pass it on to the Tcl core somewhere.

  I examined what the other bug report says, but I am not
  able to catch it leaking sockets.  Everything gets
  closed normally, and the number of open sockets does
  not grow.  Memory, on the other hand, does grow very 
  slowly.  It takes tens of thousands of requests to get
  much growth, but it is apparent, and it doesn't go back
  down.  I was able, running overnight, to get a process
  to grow to more than 100 megs.


tkt_uuid: 51ace82734309d75aee35892ffffffffffffffff
type: Code_Defect
status: Closed
subsystem: Other
priority: 5
title: configure out of date
comment:
  <b>By dgp on 2002-08-22 22:45:06</b><br><br>
  The configure file checked out on the tip
  of the tclhttpd-3-4-rel branch is not
  up to date with configure.in.  Someone 
  needs to run autoconf on that branch
  and check in the result.

  I would do it, but I have autoconf-2.13,
  and it appears that the tclhttpd project
  prefers a newer version.


tkt_uuid: 51ace87334309d75aee35c7cffffffffffffffff
type: Code_Defect
status: Closed
subsystem: Other
priority: 5
title: tmp missing
comment:
  <b>By *anonymous on 2004-09-18 13:36:41</b><br><br>When trying to run Tclhttpd under \[Windows XP\] I get
  the following error, no matter if I use the Starkit or
  the normal distribution:

  could't open "/tmp/tclhttpd.default": no such file
  or directory


tkt_uuid: 51ace88a34309d75aee35dcfffffffffffffffff
type: Code_Defect
status: Open
subsystem: HTTP Protocol
priority: 5
title: http/1.1 protocol violatio
comment:
  <b>By yahalom on 2005-07-04 06:11:38</b><br><br>when trying to get pages from tclhttpd using .net I am 
  getting "http protocol violation" from the .net dev 
  environment. this issue needs to be checked as .net is 
  probably right on this matter.


tkt_uuid: 51ace80e34309d75aee356c0ffffffffffffffff
type: Code_Defect
status: Closed
subsystem: Other
priority: 1
title: Any file can be fetched from the server machine.
comment:
  <b>By *anonymous on 2000-10-25 00:49:59</b><br><br>Original BugID: 5611 Bug
  Submit Date: '2000-05-18'
  Last Modified: '2000-05-19'
  Severity: CRIT
  Status: Released
  Submitter: welch
  ChangedBy: welch
  OS: All
  FixedDate: '2000-05-19'
  FixedInVersion: 3.0
  ClosedDate: '2000-10-24'


  &amp;lt;pre&amp;gt;Try this URL on your server:
  http://yourserver:8015//etc/passwd
  and note that the server will happily deliver the password file to
  your browser.&amp;lt;/pre&amp;gt;

  &amp;lt;pre&amp;gt;This bug was introduced in 3.0.0 as a side effect of chopping up
  the DocDomain procedure to support Doc\_AddRoot properly and to
  introduce the general access control phase.

  This bug was fixed as soon as a user reported it.  The fixed version
  of Tcl Httpd is 3.0.2&amp;lt;/pre&amp;gt;


tkt_uuid: 51ace88734309d75aee35db6ffffffffffffffff
type: Code_Defect
status: Open
subsystem: Threading
priority: 5
title: threads broken in 3.5.1
comment:
  <b>By dvrsn on 2005-03-16 01:37:11</b><br><br>The threading \(as used by Direct\_Url\) doesn't work in
  3.5.1.   Any attempt to use it gets errors, starting
  with "unknown command Stderr" and "package md5 not
  found".  

  I can patch lib/thread.tcl to replace the "Stderr" with
  "puts stderr" and add "package require md5" into
  Thread\_Start, but there may be other initialization
  done in the non-thread initialization \(like searching
  for tcllib\) that isn't done properly.


tkt_uuid: 51ace88434309d75aee35d90ffffffffffffffff
type: Code_Defect
status: Open
subsystem: HTTP Protocol
priority: 5
title: 304 NotModified can't have message content
comment:
  <b>By coldstore on 2005-02-26 02:22:08</b><br><br>RFC 2616 section 10.3.5 says: ''The 304 response MUST
  NOT contain a message-body, and thus is always
  terminated by the first empty line after the header
  fields.''

  Httpd\_NotModified sends an explanatory string as a
  message-body, contrary to the RFC.


tkt_uuid: 51ace83934309d75aee35954ffffffffffffffff
type: Code_Defect
status: Closed
subsystem: Other
priority: 5
title: CVS needs a little admin -kb
comment:
  <b>By davygrvy on 2003-02-01 14:03:57</b><br><br>some binary files aren't tagged binary.  I'm getting some 
  corrupted files from an export using a windows CVS 
  client that does lf-&amp;gt;crlf translation.  Please run 'cvs 
  admin -kb' on the following:

  access.zip
  htdocs/cgi-bin/env
  htdocs/java/Auth.class
  htdocs/java/Getpass.class
  htdocs/java/Helper.class
  htdocs/java/MD5.class
  htdocs/java/ServerDemo.class

  Thanks..


tkt_uuid: 51ace85d34309d75aee35b51ffffffffffffffff
type: Code_Defect
status: Closed
subsystem: Other
priority: 5
title: Doc_Cookie broken Tcl8.4.4 tclhttpd3.4.2
comment:
  <b>By rparker9 on 2003-12-18 16:26:31</b><br><br>NT4
  Tcl8.4.4
  tclhttpd3.4.2

  proc Doc\_Cookie \{cookie\} \{
  puts &amp;quot;\[info level \[info level\]\] NS=\[namespace current\]&amp;quot;
  global env
  \#array names env

  set result &amp;quot;&amp;quot;
  if \{\[info exist env\(HTTP\_COOKIE\)\]\} \{
  puts &amp;quot;EXISTSs \[info exists env\(HTTP\_COOKIE\)\]&amp;quot;
  set rawcookie $env\(HTTP\_COOKIE\)
  puts &amp;quot;DONE EXISTS \[info exist env\(HTTP\_COOKIE\)\]&amp;quot;
  \} elseif \{\!\[info exist env\(HTTP\_COOKIE\)\]\} \{
  \# Try to find the connection
  .....etc
  \}

  The code above displays the &amp;quot;EXISTs ...&amp;quot; but the next 
  line causes a Tcl error:

  can't read &amp;quot;env\(HTTP\_COOKIE\)&amp;quot;: no such variable
  while executing
  &amp;quot;set rawcookie $env\(HTTP\_COOKIE\)&amp;quot;
  \(procedure &amp;quot;Doc\_Cookie&amp;quot; line 10\)
  invoked from within
  &amp;quot;Doc\_Cookie ClientId&amp;quot;
  \(procedure &amp;quot;So/responses&amp;quot; line 2\)
  invoked from within
  ....etc

  When I uncomment the &amp;quot;array names env&amp;quot; line then 
  Doc\_Cookie works \!\!

  threading problem ? internal variable object handling 
  problem ?


tkt_uuid: 51ace84434309d75aee35a01ffffffffffffffff
type: Code_Defect
status: Closed
subsystem: Other
priority: 5
title: Package require's missing
comment:
  <b>By andreas_kupries on 2003-06-12 20:01:14</b><br><br>Essentially all the sub-packages use functions from other 
  packages without \[package require\]ing them. This works 
  only because the application code in 'bin' runs \[package 
  require\] on more or less the whole lot. This means that 
  usage as library in other applications \(and libraries\) is 
  possible, but requires internal knowledge about tclhttpd 
  and its structure from the app/lib developer.

  One package \(httpd::doc\) requires two packages 
  \(cookie and subst\), but does not use their functionality.


tkt_uuid: 51ace86d34309d75aee35c44ffffffffffffffff
type: Code_Defect
status: Closed
subsystem: Templates
priority: 2
title: tml substitution works for the wrong reason
comment:
  <b>By coldstore on 2004-06-06 10:30:54</b><br><br>Fallback\_Choose will accept a file x.tml for a request
  x.html because most browsers will accept type \*/\* as a
  last resort.

  This isn't quite correct, because a .tml file by
  default returns a file of type text/html when it's used
  in template substitution.

  Basically, the templating mechanism and the
  fallback/substitution mechanism are mixed up in
  confused ways.  The template substitution shouldn't be
  triggered by \*/\* match, but explicitly when the
  extension itself can't be matched, but a template can.

  This makes Fallback\_Choose the absolute last resort.

  I'm working on generalised template changes which will
  fix this problem, and allow more file types to be
  templated, so this bug is mainly here as an aid d'memoire.


tkt_uuid: 51ace85434309d75aee35abeffffffffffffffff
type: Code_Defect
status: Closed
priority: 5
title: Files in the Custom directory are not read
comment:
  <b>By andreas_kupries on 2003-08-08 18:12:56</b><br><br>See http://mini.net/tcl/6127

  Version 3.4.2 has a minor bug: Files in the Custom 
  directory aren't read. This is the default place to put 
  your own files to modify tclhttpd. This will be fixed in 
  Version 3.4.3.

  You can change the 3.4.2 version as follows:

  In httpdthread.tcl, change

  if \{\[string compare $f &amp;quot;pkgIndex.tcl&amp;quot;\]\}
  to

  if \{\[string compare $f &amp;quot;pkgIndex.tcl&amp;quot;\] == 0\} \{
  This page should be deleted when V 3.4.3 is released.


  \-------------------------------------------------------
  \-------------------------

  Thanks, this works for me as well. I wonder when the 
  next release of tclhttpd is planned? - WJR


tkt_uuid: 51ace81b34309d75aee357b4ffffffffffffffff
type: Code_Defect
status: Open
subsystem: Other
priority: 5
title: Socket + Memory Leak under Windows
comment:
  <b>By mic42 on 2002-06-17 16:00:34</b><br><br>As already reported in the users mailing list by
  various people:

  In some cases tclhttpd loses sockets and memory in an
  alarming rate on windows \(up to many kB for each page hit\).

  This problem occurs with all recent tcl versions \(tcl
  8.3.3, tcl 8.3.4, tcl 8.4a5 cvs\), but the effects are
  not as massive with tcl 8.4.

  Testing the server with the http package 2.4, getting
  all pages on the server as fast as possible doesn't
  show up the problem, but getting pages with IE 5.x or
  Mozilla does, so it could have something to do with
  keepalive connections from HTTP 1.1.
  \(I try to get a smaller Test case...\)

  Instrumenting some of the code in httpd.tcl, shows that
  the callbacks from the async \[fcopy\] commands in
  Httpd\_ReturnData, Httpd\_ReturnFile etc., do not always
  get called, even if the fcopy succedes \(the page is
  displayed in the browser\).
  No call to \[close\] is made for the socket channels, and
  so they stay around. This can mean up to one socket+ an
  unfreed fcopy CopyStructure \(which is huge, because of
  the buffer inside it\) stay in memory per connection.

  Removing the async fcopy and replacing it with a sync
  one removes the problem, but is unacceptable for
  obvious reasons.

  I didn't test the threaded version yet.


tkt_uuid: 51ace89534309d75aee35e79ffffffffffffffff
type: Code_Defect
status: Review
subsystem: --other--
priority: Immediate
severity: Critical
resolution: Open
title: dirlist fails if dirname contains glob metacharacters
comment:
  <b>By wliao on 2009-02-25 05:34:37</b><br><br>This is for tclhttpd 3.5.1.

  In lib/dirlist.tcl:180, a directory listing is created with the following glob line:

  set list \[glob -nocomplain -- \[file join $dir $pattern\]\]

  This fails if the $dir contains characters that are glob sensitive as show below, such as if the directory name contains \[\]. Using \[glob -directory\] option seems to fix this.

  % set dir \{c:/temp/\[a\]/\}
  c:/temp/\[a\]/
  % set pattern \*
  \*
  % glob -nocomplain -- \[file join $dir $pattern\]
  % glob  -- \[file join $dir $pattern\]
  no files matched glob pattern "c:/temp/\[a\]/\*"
  % glob -nocomplain -directory $dir -- $pattern
  \{c:/temp/\[a\]/1\} \{c:/temp/\[a\]/2\}
  %


tkt_uuid: 51ace89734309d75aee35ea5ffffffffffffffff
type: Code_Defect
status: Open
subsystem: Other
priority: 5
title: accesing home dir
comment:
  <b>By yahalom on 2009-03-10 09:03:38</b><br><br>by default the homedir are accesible by the setting of Doc\_PublicHtml in httpdthread. Thedefault should not allow access as this is a security hole.
  When you disable it you will get different error messages \(403 or 404\) depending on whether the user exists or not. better change in doc.tcl:
  if \{\[regexp ^~ $pathlist\]\} \{
  if \{\[info exists Doc\(homedir\)\]\} \{
  set user \[lindex $pathlist 0\]
  if \{\[catch \{glob $user\} homedir\]\} \{
  Doc\_NotFound $sock
  return        ;\# No such user
  \}
  set directory \[file join $homedir $Doc\(homedir\)\]
  set pathlist \[lrange $pathlist 1 end\]
  set suffix \[join $pathlist /\]
  \} else \{
  Httpd\_Error $sock 403
  return
  \}
  \}

  so all will get 403

  also auth.tcl encounters unexpected error when trying to access unexisting home dir:
  www.yoururl/~someUser


tkt_uuid: 51ace88834309d75aee35dbdffffffffffffffff
type: Code_Defect
status: Open
subsystem: Other
priority: 5
title: Redirect with Direct_Url does not work with cookies
comment:
  <b>By setok on 2005-06-23 18:57:24</b><br><br>Inside a Direct\_Url procedure if code 302 is returned, cookies will 
  not be set in the HTTP headers, even if Doc\_SetCookie is used. I 
  have attached the fix for this.

  Btw. in the bug report form there is no group for 3.5.1


tkt_uuid: 51ace85b34309d75aee35b2dffffffffffffffff
type: Code_Defect
status: Closed
subsystem: Other
priority: 5
title: Redirect in direct.tcl
comment:
  <b>By svogel on 2003-10-23 10:15:13</b><br><br>Redirections inside Direct-Urls should be done via an 
  error with a 302-Errorcode, but this errorCode is not 
  used, instead the result of the &amp;quot;catch&amp;quot;-command is 
  taken as &amp;quot;errorCode&amp;quot;.

  Occurring in lib/direct.tcl\#proc DirectDomain

  \# Eval the command.  Errors can be used to trigger 
  redirects.

  set code \[catch $cmd result\]
  ...
  DirectRespond $sock $code $result $type

  should be instead \(with retrieval of the errorCode\):
  \# Eval the command.  Errors can be used to trigger 
  redirects.

  global errorCode
  if \{\[set code \[catch $cmd result\]\] 
  &amp;amp;&amp;amp; $errorCode \!= &amp;quot;NONE&amp;quot;\} \{
  set code $errorCode
  \}
  ...

  So now you can generate a redirect by issuing:
  error /xxx &amp;quot;&amp;quot; 302

  Best regards
  Stefan


tkt_uuid: 51ace83d34309d75aee359a3ffffffffffffffff
type: Code_Defect
status: Closed
subsystem: Other
priority: 5
title: Httpd_ReturnFile not closing from fcopy for logging
comment:
  <b>By davygrvy on 2003-05-31 20:48:58</b><br><br>Index: httpd.tcl
  =========================================
  ==========================
  RCS file: /cvsroot/tclhttpd/tclhttpd/lib/httpd.tcl,v
  retrieving revision 1.74
  diff -c -r1.74 httpd.tcl
  \*\*\* httpd.tcl        4 Apr 2003 04:08:55 -0000
  1.74
  \--- httpd.tcl        31 May 2003 20:45:43 -0000
  \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*
  \*\*\* 1391,1397 \*\*\*\*
  \#        See Httpd\_SockClose

  proc HttpdCopyDone \{in sock close bytes \{error \{\}\}\} \{
  \!     Httpd\_SockClose $sock $close $error
  \}

  \# HttpdCancel --
  \--- 1385,1391 ----
  \#        See Httpd\_SockClose

  proc HttpdCopyDone \{in sock close bytes \{error \{\}\}\} \{
  \!     Httpd\_SockClose $sock $close \[expr \{\[string length 
  $error\] ? $error : &amp;quot;Close&amp;quot;\}\]
  \}

  \# HttpdCancel --


  When HttpdCopyDone is called by the fcopy callback 
  with no error, $error is empty.  All fine here, then 
  Httpd\_SockClose is handed a $message that's empty, 
  too.  In doing so, logging is bypassed.  The message 
  should be &amp;quot;Close&amp;quot;


tkt_uuid: 51ace83c34309d75aee35990ffffffffffffffff
type: Code_Defect
status: Open
priority: 5
title: IExplorer, POST method, MIME Connection: header foobarism
comment:
  <b>By davygrvy on 2003-04-18 00:21:08</b><br><br>When IExplorer does a POST from a submit on a page, 
  it requests HTTP/1.0.  In the fulfillment of the request by 
  tclhttpd, it appears that IE is waiting for an ending CRLF 
  but doesn't get it, while tclhttpd has already sent the 
  data and maintains the open connection due 
  to 'Connection: Keep-Alive'.

  If HttpdCloseP is changed so that it entirely ignores the 
  Connection: header all is well.  Go figure?

  Please ignore the revision numbers as they are local.

  \*\*\* lib/httpd.tcl        8 Apr 2003 17:07:44 -0000
  1.28
  \--- lib/httpd.tcl        17 Apr 2003 22:30:54 -0000
  1.29
  \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*
  \*\*\* 1046,1067 \*\*\*\*
  proc HttpdCloseP \{sock\} \{
  upvar \#0 Httpd$sock data

  \!     if \{\[info exists data\(mime,connection\)\]\} \{
  \!         if \{\[string tolower $data\(mime,connection\)\] 
  == &amp;quot;keep-alive&amp;quot;\} \{
  \!             \#Count keepalive
  \!             set close 0
  \!         \} else \{
  \!             \#Count connclose
  \!             set close 1
  \!         \}
  \!     \} elseif \{\[info exists data\(mime,proxy-connection\)\]\} \{
  \!         if \{\[string tolower $data\(mime,proxy-
  connection\)\] == &amp;quot;keep-alive&amp;quot;\} \{
  \!             \#Count keepalive
  \!             set close 0
  \!         \} else \{
  \!             \#Count connclose
  \!             set close 1
  \!         \}
  \} elseif \{$data\(version\) &amp;gt;= 1.1\} \{
  \#Count http1.1
  set close 0
  \--- 1046,1077 ----
  proc HttpdCloseP \{sock\} \{
  upvar \#0 Httpd$sock data

  \! 
  \! \#    MIME Connection header is unreliable.
  \! \#    See http://www.io.com/~maus/HttpKeepAlive.html
  \! \#    Ignore it completely.
  \! \#
  \! \#    if \{\[info exists data\(mime,connection\)\]\} \{
  \! \#        if \{\[string tolower $data\(mime,connection\)\] 
  == &amp;quot;keep-alive&amp;quot;\} \{
  \! \#            \#Count keepalive
  \! \#            set close 0
  \! \#        \} else \{
  \! \#            \#Count connclose
  \! \#            set close 1
  \! \#        \}
  \! \#    \} elseif \{\[info exists data\(mime,proxy-connection\)\]\} \{
  \! \#        if \{\[string tolower $data\(mime,proxy-
  connection\)\] == &amp;quot;keep-alive&amp;quot;\} \{
  \! \#            \#Count keepalive
  \! \#            set close 0
  \! \#        \} else \{
  \! \#            \#Count connclose
  \! \#            set close 1
  \! \#        \}
  \! \#    \}
  \! 
  \!     if \{\!\[info exists data\(version\)\]\} \{
  \!         \# Connection object was reset or destroyed\!  
  Barf gracefully.
  \!         return 1
  \} elseif \{$data\(version\) &amp;gt;= 1.1\} \{
  \#Count http1.1
  set close 0


tkt_uuid: 51ace83a34309d75aee3596bffffffffffffffff
type: Code_Defect
status: Closed
subsystem: HTTP Protocol
priority: 5
title: direct url getting xml content/type
comment:
  <b>By *anonymous on 2003-03-06 08:11:11</b><br><br>when using in ie ActiveXObject\(&amp;quot;Microsoft.XMLHTTP&amp;quot;\);
  to get xml from a direct\_url the is a server 500 error.
  the problem is the content-type:
  Unknown Content-Type: text/xml
  while executing
  &amp;quot;ncgi::nvlist&amp;quot;
  \(procedure &amp;quot;ncgi::parse&amp;quot; line 8\)
  invoked from within
  &amp;quot;ncgi::parse&amp;quot;
  \(procedure &amp;quot;Url\_QuerySetup&amp;quot; line 30\)
  invoked from within
  &amp;quot;Url\_QuerySetup $sock&amp;quot;
  \(procedure &amp;quot;DirectDomain&amp;quot; line 12\)
  invoked from within
  &amp;quot;DirectDomain ::ashraitXMC:: sock6 /login&amp;quot;
  \(&amp;quot;eval&amp;quot; body line 1\)
  invoked from within
  &amp;quot;eval $Url\(command,$prefix\) \[list $sock $suffix\]&amp;quot;

  this is because ncgi package does not reconize test/xml type.
  adding it to ncgi solves the problem:

  proc ncgi::nvlist \{\} \{
  set query \[ncgi::query\]
  set type \[ncgi::type\]
  switch -glob -- $type \{
  &amp;quot;&amp;quot; -
  application/x-www-form-urlencoded -
  application/x-www-urlencoded -
  text/xml
  \{

  e-mail: yahalome@xor-t.com


tkt_uuid: 51ace87134309d75aee35c68ffffffffffffffff
type: Code_Defect
status: Closed
priority: 5
title: error when htdoc root is a symlink
comment:
  <b>By coldstore on 2004-06-30 11:14:03</b><br><br>The correct directory behavior in doc domain doesn't
  work if the directory is symlinked.  Similar problem
  with Subst\_File.

  I have the patches, they're trivial, but this is here
  as a record.


tkt_uuid: 51ace87734309d75aee35cd1ffffffffffffffff
type: Code_Defect
status: Open
priority: 5
title: Server does not check locale/LANG
comment:
  <b>By kot on 2004-11-19 20:04:40</b><br><br>The server will use whatever LANG is set in the 
  environment. 

  This is bad for both web-pages \(which try to get the 
  date and end up with bogus Unicode for month and 
  weekday names\), and -- more importantly -- for the 
  Date: headers sent by server to the clients. 

  Those, AFAIK, must be in ASCII. 


tkt_uuid: 51ace86434309d75aee35ba3ffffffffffffffff
type: Code_Defect
status: Closed
priority: 5
title: httpd % couldn't execute "gzip": no such file or directory
comment:
  <b>By davygrvy on 2004-05-07 08:58:34</b><br><br>check for a valid log compressor executable before 
  trying to execute it.


tkt_uuid: 51ace82834309d75aee358a5ffffffffffffffff
type: Code_Defect
status: Closed
subsystem: Other
priority: 5
title: .tml example file leaks memory
comment:
  <b>By davygrvy on 2002-08-28 23:32:04</b><br><br>The list variable \`tmllist\` is constantly appended and 
  appears to serve no purpose.  Here, this was adding 
  about 250 bytes of memory growth per page hit.


tkt_uuid: 51ace86a34309d75aee35c1affffffffffffffff
type: Code_Defect
status: Closed
subsystem: Installation
priority: 7
title: tcllib mime / md5 problem stops tclhttpd loading
comment:
  <b>By coldstore on 2004-05-15 06:58:15</b><br><br>tcllib 1.6 mime package will crash if you've already
  loaded md5 \(because it expects 1.0\), but loading md5
  first gets the latest version \(2.0.0\) upon which
  tclhttpd depends \(in session.tcl we use the -hex
  argument, which md5 1.0 doesn't understand\)

  This is irresolvable within tcl, unless we check
  versions and put a wrapper around md5 calls, until
  tcllib fixes sf bug \[ 954328 \] require md5 then mime,
  throws error
  \(http://sourceforge.net/tracker/index.php?func=detail&aid=954328&group\_id=12883&atid=112883\)


tkt_uuid: 51ace82a34309d75aee358c0ffffffffffffffff
type: Code_Defect
status: Closed
priority: 5
title: error counter named &quot;errors&quot; or &quot;error&quot;?
comment:
  <b>By davygrvy on 2002-09-11 00:30:27</b><br><br>lib/counter.tcl -r1.15 called it &amp;quot;error&amp;quot;, then 1.16 called 
  it &amp;quot;errors&amp;quot;.  Now 1.17 calls it &amp;quot;error&amp;quot; again, but error.tcl 
  still refers to it as &amp;quot;errors&amp;quot;.

  FIX: Match proc Error\_Error in errors.tcl to refer to it 
  as &amp;quot;error&amp;quot;.  Maybe there are other references to it 
  elsewhere\(?\)


tkt_uuid: 51ace81434309d75aee3572effffffffffffffff
type: Code_Defect
status: Closed
subsystem: Other
priority: 5
title: IMPORT: Bad expression in imagemap.tcl
comment:
  <b>By *anonymous on 2000-10-25 18:17:40</b><br><br>Original BugID: 6154 Bug
  Submit Date: '2000-08-22'
  Last Modified: '2000-08-22'
  Severity: LOW
  Status: UnAssn
  Submitter: lfb
  ChangedBy: lfb
  OS: All
  FixedDate: '2000-10-25'
  ClosedDate: '2000-10-25'


  While instrumenting tclhttpd in TclPro Debugger I discovered a bad expression in MapPointInPoly in the file imagemap.tcl.  The parens in the following line are mismatched.

  incr crossings \[expr \{
  $pgon\($lastvert,X\) - \($y - $ty\) \*
  \($pgon\(0,X\) - $pgon\($lastvert,X\)\) /
  \($p - $y\)\) &amp;gt;= $tx\}\]


tkt_uuid: 51ace87234309d75aee35c75ffffffffffffffff
type: Code_Defect
status: Open
priority: 5
title: Httpd_Errors for 200 is "Data follows"
comment:
  <b>By svogel on 2004-07-27 09:59:56</b><br><br>Hi there,
  is there any good reason why the HTTP-Returncode 200 
  is mapped to "Data follows" and not "OK" as usual?

  \(in file httpd.tcl array Httpd\_Errors\)

  It occurs in 3.5.1 and is confusing some clients \(e.g. the 
  tclvfs - webdav implementation\).


tkt_uuid: 51ace81434309d75aee35748ffffffffffffffff
type: Code_Defect
status: Closed
subsystem: Installation
priority: 5
title: missing config module
comment:
  <b>By dgp on 2001-05-14 15:06:48</b><br><br>This bug is reported for release 3.3.
  The &amp;quot;Group&amp;quot; menu needs updating to offer &amp;quot;3.3&amp;quot;.

  The &amp;quot;config&amp;quot; module from the old Scriptics repository
  didn't get copied over, so the config/tcl.m4 file
  and the config/install-sh file are missing from both
  a 'cvs checkout' and the tclhttpd-3.3 distribution.

  Worse, the ./configure file distributed with
  tclhttpd-3.3 was apparently generated by autoconf
  in the absence of the config module, so the ./configure
  is filled with broken unexpanded macros like
  SC\_ENABLE\_GCC.

  The config module should be added to the SF 
  repository, configure should be regenned, and
  a 3.3.1 release should be made with a working
  ./configure.


tkt_uuid: 51ace84d34309d75aee35a6fffffffffffffffff
type: Code_Defect
status: Closed
subsystem: Templates
priority: 9
title: Doc_application/x-tcl-auth does not propgate its arguments
comment:
  <b>By andreas_kupries on 2003-06-25 20:12:31</b><br><br>The command &amp;quot;Doc\_application/x-tcl-auth&amp;quot; 
  uses &amp;quot;Doc\_application/x-tcl-subst&amp;quot; \(same file\), but does 
  not propagate its argument to it. Causing a tcl error 
  about missing arguments.

  Enclosed a simple patch fixing the problem.


tkt_uuid: 51ace88434309d75aee35d89ffffffffffffffff
type: Code_Defect
status: Open
priority: 5
title: Error: can't read S(0, 8)
comment:
  <b>By *anonymous on 2005-02-24 23:30:46</b><br><br>I am john at jsjf.demon.co.uk

  I downloaded the tarball version of tclhttpd 3.5.1 and
  tried to run it in the "out of the box" mode. That's to
  say, I did nothing except to unpack the tarball, cd to
  its directory and type

  bin/httpd.tcl

  It gave a stack dump, which began:

  can't read "S\(0, 8\)": no such element in array

  The problem was in line 250 of lib/tclcrypt.tcl, which was:

  set k $S\($j, \[expr \{

  Note the space after the comma. I edited the file to
  remove the space, so that the line then read

  set k $S\($j,\[expr \{

  and I was then able to run the server.

  This all seems very odd, because the problem prevented
  the server from running at all, yet presumably it has
  worked for everyone else. 

  John Foster


tkt_uuid: 51ace81f34309d75aee357ecffffffffffffffff
type: Code_Defect
status: Closed
subsystem: Other
priority: 5
title: security: directory structure browsing
comment:
  <b>By *anonymous on 2002-08-05 14:21:35</b><br><br>There appears to be a problem in dirlist.tcl which allows 
  a visitor to break out of the server's document root. If a 
  directory does not contain an index file, a listing of it's 
  contents will be shown based on certain parameters 
  given. Of these, the input given to &amp;quot;pattern&amp;quot; appears not 
  to be filtered and allows for the insertion of &amp;quot;double dots&amp;quot; 
  to traverse down the system's directory hierarchy. 

  http://server/images/?
  pattern=/../\*&amp;amp;sort=name&amp;amp;submit=Again

  Read access is only given in form of directory listings 
  and does not extend to the files themselves, but the 
  information leakage could be used to setup other 
  attacks.

  Jor-El


tkt_uuid: 51ace89134309d75aee35e47ffffffffffffffff
type: Code_Defect
status: Open
subsystem: Other
priority: 5
title: Auth_InitCrypt calling non-existant variable
comment:
  <b>By eviltwinskippy on 2006-11-09 21:18:18</b><br><br>When a user configures a password for "webmaster", the
  system barfs out with an error "Unknown variable
  password". 

  To test for the problem configure a password for the
  webmaster user in the tclhttpd.rc file:

  Config Auth \{user,webmaster somepassword\}

  The process will kick out an error and tell you
  .htaccess is not available.

  I have traced the problem to the Auth\_InitCrypt
  procedure in auth.tcl. The bug is quite simple, a
  routine embedded in a foreach loop seems to be calling
  an old variable name instead of the one specified by
  the loop.

  foreach \{var val\} $Config\(Auth\) \{
  if \{\[string match user,\* $var\]\} \{
  \# encrypt the password
  set salt \[Passgen\_Salt\]
  set val \[crypt $password $salt\]
  \}
  set authdefault\($var\) $val
  \}

  Attached is a patch to repair the problem. It basically
  changes the reference from $password to $val, and with
  that fix.


tkt_uuid: 51ace85234309d75aee35a9cffffffffffffffff
type: Code_Defect
status: Closed
subsystem: Other
priority: 7
title: Upload module is dangerous
comment:
  <b>By andreas_kupries on 2003-06-26 17:27:44</b><br><br>The predefined module httpd::upload for file upload is a 
  bit dangouers as it allows to independent uploads to 
  clobber each other. This is because it uses the \[file tail\] 
  of the supplied name of the uploaded file to store it in 
  the upload directory. This means that two upload which 
  use the same filename will overwrite each other, causing 
  havoc.

  Proposal: Use a server generated sequence number, 
  millisecond value, etc. to name the files in the upload 
  directory. IOW the server itself makes sure that there 
  are no collisions.

  The upload callback currently only gets the name of the 
  file on the server. If the original name is important we 
  can deliver it through an additional \(artificial\) form 
  variable.


tkt_uuid: 51ace81934309d75aee357a2ffffffffffffffff
type: Code_Defect
status: Closed
subsystem: Other
priority: 5
title: version number not updated
comment:
  <b>By *anonymous on 2002-06-01 20:13:39</b><br><br>still shows version 3.3 instead of 3.3.1. Correction 
  should be made at line 65 of httpd.tcl


tkt_uuid: 51ace86034309d75aee35b70ffffffffffffffff
type: Code_Defect
status: Closed
subsystem: HTTP Protocol
priority: 5
title: bad message length in Httpd_Error
comment:
  <b>By trott13 on 2004-03-29 09:29:06</b><br><br>in file httpd.tcl, proc Httpd\_Error, 1.84, line 1562  
  seems to be  
  a wrong message length calculated for additional  
  "detail" parameter.   

  Since this is posted via 2 "puts", 2 linefeeds  
  must be added to the previously posted message  
  length.  

  change from:  
  HttpdRespondHeader $sock text/html 1 \[string length  
  $message\] $code  
  puts $sock ""  
  puts $sock $message  


  to  
  HttpdRespondHeader $sock text/html 1 \[expr  
  \{\[string length $message\]+4\}\] $code  
  puts $sock ""  
  puts $sock $message  

  You can verify this \(for example\) with KDEs  
  Konquerer.  
  It does not display consequently the 4 last  
  characters of "detail" without this change.  


tkt_uuid: 51ace80e34309d75aee356b4ffffffffffffffff
type: Code_Defect
status: Closed
subsystem: Other
priority: 1
title: Web site doesn't allow bugs for tclhttpd 3.0.0
comment:
  <b>By *anonymous on 2000-10-25 00:49:57</b><br><br>Original BugID: 5315 Bug
  Submit Date: '2000-05-02'
  Last Modified: '2000-10-24'
  Severity: MED
  Status: UnAssn
  Submitter: techsupp
  OS: All
  FixedDate: '2000-10-24'
  ClosedDate: '2000-10-24'


  &amp;lt;pre&amp;gt;Name:
  Laurent Duperval

  CVS:
  3.0.0

  ReproducibleScript:
  The only version for which bug reports can be sent is 2.3.2

  DesiredBehavior:
  I want to report bugs with 3.0.0

  &amp;lt;/pre&amp;gt;

  &amp;lt;pre&amp;gt;&amp;lt;/pre&amp;gt;


tkt_uuid: 51ace84234309d75aee359e6ffffffffffffffff
type: Code_Defect
status: Open
subsystem: Other
priority: 7
title: Package httpd::logproc in index, but not implemented
comment:
  <b>By andreas_kupries on 2003-06-12 17:40:46</b><br><br>The tclhttpd/lib/pkgIndex.tcl lists a package 
  called 'httpd::logproc'. The associated 
  file, 'tclhttpd/lib/logproc.tcl' does not exist. IOW this is a 
  package without implementation. This is currently no 
  problem as none of the tclhttpd packages is requesting 
  it.

  Proposal: Remove this declaration from the package 
  index.


tkt_uuid: 51ace85f34309d75aee35b63ffffffffffffffff
type: Code_Defect
status: Open
priority: 5
title: tclhttpd with TclX and threads on linux hangs
comment:
  <b>By *anonymous on 2004-01-13 08:13:20</b><br><br>tclhttpd hangs on linux when tcl is compiled with threads.
  this is Tclx problem. when removing the package require 
  Tclx the problem is fixed. 
  for now package require Tclx should be done only if tcl 
  was compiled with no threads.


tkt_uuid: 51ace87c34309d75aee35d1fffffffffffffffff
type: Code_Defect
status: Open
priority: 5
title: tclhttpd installs its own versions of TCLLIB's manpages
comment:
  <b>By kot on 2004-11-19 20:08:52</b><br><br>It is nice to be able to read them in the web-browser, 
  but the actual functionality may be different if the 
  installed tcllib differs from what tclhttpd's developers 
  have on \_their\_ systems. 

  The man-page handler should use the real installed 
  man-pages -- from TCLLIB itself. 


tkt_uuid: 51ace81d34309d75aee357d8ffffffffffffffff
type: Code_Defect
status: Open
subsystem: Other
priority: 5
title: Run as Windows Service
comment:
  <b>By gwlester on 2002-07-17 15:17:21</b><br><br>It would be very nice to have a download that was precompiled for windows and installed to run as a 
  Service \(to compete with IIS\).


tkt_uuid: 51ace80d34309d75aee3569cffffffffffffffff
type: Code_Defect
status: Closed
subsystem: Other
priority: 1
title: log files and dir get created at 12:16 am
comment:
  <b>By *anonymous on 2000-10-25 00:49:54</b><br><br>Original BugID: 4948 Bug
  Submit Date: '2000-04-07'
  Last Modified: '2000-04-07'
  Severity: LOW
  Status: UnAssn
  Submitter: mtariq
  ChangedBy: mtariq
  OS: All
  FixedDate: '2000-10-24'
  ClosedDate: '2000-10-24'


  &amp;lt;pre&amp;gt;In the procedure Log\_setFile, there is a line that determines the
  millisecond value for the after event that causes the new log files
  and directory to be created. 

  There is a bug in this line.
  It should be:
  set next \[expr \{\(\[clock scan 23:59:59 -base $now\] -$now + 1\) \* 1000\}\]
  ^^is 1000 now.
  Currently, 1000 seconds are being added in the calculation instead of
  1 second.&amp;lt;/pre&amp;gt;

  &amp;lt;pre&amp;gt;&amp;lt;/pre&amp;gt;


tkt_uuid: 51ace88634309d75aee35da2ffffffffffffffff
type: Code_Defect
status: Open
subsystem: HTTP Protocol
priority: 5
title: Httpd_NotModified always closes connection
comment:
  <b>By coldstore on 2005-02-26 02:24:47</b><br><br>Httpd\_NotModified always closes the socket.  This is
  not necessary, and slows the server down \(and also
  somewhat obviates the benefits of NotModified by
  introducing latency in the reconnection.\)

  I suspect this behavior was introduced to avoid
  confusing browsers which reject the \(non-standard\)
  message-body Httpd\_NotModified sends.


tkt_uuid: 51ace87434309d75aee35c95ffffffffffffffff
type: Code_Defect
status: Open
priority: 5
title: auth.tcl Auth_Check needless inefficiency
comment:
  <b>By coldstore on 2004-09-20 04:44:11</b><br><br>Auth\_Check has to climb the path hierarchy from a
  requested file, looking for .htaccess or .tclaccess
  files and returning the lowest such file in the hierarchy.

  Unfortunately, it does this by searching from the top
  down, which incurs unnecessary directory searches.

  We have a Doc\_GetPath proc which will generate the
  appropriate path list, which could then be traversed
  bottom-up, saving expensive directory globs in many cases.

  I propose to modify auth.tcl to perform the more
  efficient search.


tkt_uuid: 51ace81434309d75aee3573bffffffffffffffff
type: Code_Defect
status: Closed
subsystem: Threading
priority: 5
title: error in proc:Thread_IsFree (thread.tcl)
comment:
  <b>By *anonymous on 2001-05-10 11:28:02</b><br><br>proc Thread\_IsFree \{id\} \{
  global Thread
  return \[expr \{\[lsearch $Thread\(freelist\) $id\] &amp;lt;= 
  0\}\]
  \}



  The Procedure should return the result:
  \[expr \{\[lsearch $Thread\(freelist\) $id\] &amp;gt;= 0\}\]


tkt_uuid: 51ace80c34309d75aee35690ffffffffffffffff
type: Code_Defect
status: Closed
subsystem: Other
priority: 1
title: Add Log_NameFormat and Log_Rotate APIs
comment:
  <b>By *anonymous on 2000-10-25 00:49:53</b><br><br>Original BugID: 4842 RFE
  Submit Date: '2000-04-04'
  Last Modified: '2000-04-04'
  Severity: LOW
  Status: UnAssn
  Submitter: welch
  ChangedBy: welch
  OS: All
  FixedDate: '2000-10-24'
  ClosedDate: '2000-10-24'


  &amp;lt;pre&amp;gt;The TclHttpd logging module should have more to its API so the
  client can control how the daily log files are named - how
  to set the time stamp in that file.  You also ought to be
  able to control how often to rotate the logs, and how long
  before old log files are deleted, if at all.&amp;lt;/pre&amp;gt;

  &amp;lt;pre&amp;gt;&amp;lt;/pre&amp;gt;


tkt_uuid: 51ace82534309d75aee35862ffffffffffffffff
type: Code_Defect
status: Closed
subsystem: Installation
priority: 5
title: latest httpd::version not indexed
comment:
  <b>By dgp on 2002-08-22 22:01:00</b><br><br>
  Fresh install of tclhttpd3.4.  Try to start it up,
  and get an error in the log:

  can't find package httpd::version 3.4

  Problem is the pkgIndex.tcl file did not
  get updated.

  Probably ought to add something to whatever
  scripts generate a release to be sure that
  the pkgIndex.tcl file is up to date.


tkt_uuid: 51ace81034309d75aee356d8ffffffffffffffff
type: Code_Defect
status: Closed
subsystem: Other
priority: 1
title: Bad expression in imagemap.tcl
comment:
  <b>By *anonymous on 2000-10-25 00:50:01</b><br><br>Original BugID: 6154 Bug
  Submit Date: '2000-08-22'
  Last Modified: '2000-08-22'
  Severity: LOW
  Status: UnAssn
  Submitter: lfb
  ChangedBy: lfb
  OS: All
  FixedDate: '2000-10-24'
  ClosedDate: '2000-10-24'


  &amp;lt;p&amp;gt;While instrumenting tclhttpd in TclPro Debugger I discovered a bad expression in MapPointInPoly in the file imagemap.tcl.  The parens in the following line are mismatched.
  &amp;lt;/p&amp;gt;
  &amp;lt;PRE&amp;gt;                        incr crossings \[expr \{
  $pgon\($lastvert,X\) - \($y - $ty\) \*
  \($pgon\(0,X\) - $pgon\($lastvert,X\)\) /
  \($p - $y\)\) &amp;amp;gt;= $tx\}\]
  &amp;lt;/PRE&amp;gt;


  &amp;lt;pre&amp;gt;&amp;lt;/pre&amp;gt;


tkt_uuid: 51ace81634309d75aee35775ffffffffffffffff
type: Code_Defect
status: Closed
priority: 5
title: Call of Countname incorrect in Doc_Error
comment:
  <b>By *anonymous on 2002-02-19 09:39:01</b><br><br>
  The call of 
  Countname in Doc\_Error must be 

  Countname $Doc\(errorUrl\) errors 

  instead of

  Countname $Doc\(errorUrl\) error

  errors is one of the registered statistics, like hit, domainHit and notfound.

  This error prevents tclhttpd to return data to the WEB Client.


tkt_uuid: 51ace82234309d75aee35838ffffffffffffffff
type: Code_Defect
status: Closed
subsystem: Other
priority: 5
title: [package require tcllib] - BAD
comment:
  <b>By dgp on 2002-08-19 22:27:16</b><br><br>
  bin/httpd.tcl calls \[package require tcllib\].
  This is wrong because tcllib is not a package,
  it is a distribution.  The latest release of
  tcllib warns against doing this.

  tclhttpd should be updated to \[package require\]
  exactly those component packages from tcllib
  that it needs and no others.


tkt_uuid: 51ace82234309d75aee3582bffffffffffffffff
type: Code_Defect
status: Open
subsystem: Other
priority: 5
title: Hard-coded tclsh8.3 dependence
comment:
  <b>By dgp on 2002-08-19 22:25:29</b><br><br>
  bin/httpd.tcl invokes tclsh8.3 specifically.
  Would be nicer to invoke tclsh and let the
  user use whatever tclsh they have \(notably 8.4\!\).
  If minimum requirements must be met, then
  use \[package require Tcl 8.X\] to enforce them.


tkt_uuid: 51ace83f34309d75aee359c0ffffffffffffffff
type: Code_Defect
status: Open
subsystem: Other
priority: 8
title: Documentation is lacking
comment:
  <b>By andreas_kupries on 2003-06-12 17:08:16</b><br><br>While the main application has a manpage none of the 
  packages used inside of tclhttpd are documented.


tkt_uuid: 51ace85834309d75aee35affffffffffffffffff
type: Code_Defect
status: Closed
subsystem: Other
priority: 2
title: Tk console history disabled in debug mode
comment:
  <b>By jmphilippe on 2003-10-14 07:56:10</b><br><br>Add a custom script to show the tk console then start 
  Httpd under Windows with the &amp;quot;-debug 1&amp;quot; option. When 
  you enter a command you get an error:

  \------------------------
  bad index &amp;quot;nextid&amp;quot;: must be integer or end?-integer?
  bad index &amp;quot;nextid&amp;quot;: must be integer or end?-integer?
  while executing
  &amp;quot;EvalAttached $::tk::console::defaultPrompt&amp;quot;
  \(procedure &amp;quot;ConsolePrompt&amp;quot; line 9\)
  invoked from within
  &amp;quot;ConsolePrompt&amp;quot;
  \(procedure &amp;quot;tk::ConsoleInvoke&amp;quot; line 23\)
  invoked from within
  &amp;quot;tk::ConsoleInvoke&amp;quot;
  \(command bound to event\)
  \-------------------------

  Moreover, the console command history does not work 
  any more. Redefinition of the history command?


tkt_uuid: 51ace87734309d75aee35cbfffffffffffffffff
type: Code_Defect
status: Closed
priority: 5
title: error sourcing .tml files
comment:
  <b>By coldstore on 2004-11-19 03:19:42</b><br><br>TemplateCheck is supposed to source all .tml files, it
  doesn't - frank coding error - mine.  Will fix ASAP.


tkt_uuid: 51ace85534309d75aee35ad0ffffffffffffffff
type: Code_Defect
status: Closed
subsystem: Other
priority: 5
title: Files in custom/ not loaded
comment:
  <b>By *anonymous on 2003-08-22 18:00:26</b><br><br>The code block at the end of the file httpdthread.tcl is 
  responsible for loading all the files in the directories 
  listed in $Config\(library\).

  After verifying that each item in $Config\(library\) is a 
  valid directory, it gets a list of &amp;quot;\*.tcl&amp;quot; in each directory.

  For each file in the directory, is does the following 
  comparison:

  if \{\[string compare $f &amp;quot;pkIndex.tcl&amp;quot;\]\]\} \{
  continue
  \} elseif \{...\}

  This is with the hope that only 'pkgIndex.tcl' files will not 
  be loaded.

  However, on windows systems the path can be such 
  that &amp;quot;string compare&amp;quot; ALWAYS returns true.

  To fix the problem, I replaced the above code with:

  if \{\[file tail $f\] == &amp;quot;pkgIndex.tcl&amp;quot;\} \{
  continue
  \} elseif \{...\}

  Thanks,
  \--Jeremy
  jeremy@metalinker.com


tkt_uuid: 51ace87e34309d75aee35d46ffffffffffffffff
type: Code_Defect
status: Closed
priority: 5
title: .tml processing issue with tclhttpd 3.5.1
comment:
  <b>By coldstore on 2004-12-11 12:36:15</b><br><br>Joris Ballet reports:

  I have a problem with .tml processing.

  only .tml file in root folder and .tml in folder that
  contains xxx.tml
  file seem to be processed, no files in between.

  this appears to be related to .. appearing in document
  root setting
  \(Config docRoot in tclhttpd.rc\) i.e. docRoot by default
  is aleays in the form of xxxxx/../htdocs/ on my
  machine, which confuses Doc\_GetPath in doc.tcl


  i solved this by adding a "file normalize" in doc.tcl:
  \# Start at the Doc\_AddRoot point
  if \{\[info exist Doc\(root,$data\(prefix\)\)\]\} \{
  set root $Doc\(root,$data\(prefix\)\)
  \# always start in the rootdir
  set dirs $Doc\(root\)
  \} else \{
  set root $Doc\(root,/\)
  set dirs \{\}
  \}

  into:
  \# Start at the Doc\_AddRoot point
  if \{\[info exist Doc\(root,$data\(prefix\)\)\]\} \{
  set root $Doc\(root,$data\(prefix\)\)
  &gt;&gt;      set root \[file normalize $root\]
  \# always start in the rootdir
  set dirs $Doc\(root\)
  \} else \{
  set root $Doc\(root,/\)
  set dirs \{\}
  \}


tkt_uuid: 51ace81234309d75aee35715ffffffffffffffff
type: Code_Defect
status: Closed
subsystem: Other
priority: 5
title: IMPORT: Any file can be fetched from the server machine.
comment:
  <b>By *anonymous on 2000-10-25 18:17:38</b><br><br>Original BugID: 5611 Bug
  Submit Date: '2000-05-18'
  Last Modified: '2000-05-19'
  Severity: CRIT
  Status: Released
  Submitter: welch
  ChangedBy: welch
  OS: All
  FixedDate: '2000-05-19'
  FixedInVersion: 3.0
  ClosedDate: '2000-10-25'


  Try this URL on your server:
  http://yourserver:8015//etc/passwd
  and note that the server will happily deliver the password file to
  your browser.

  This bug was introduced in 3.0.0 as a side effect of chopping up
  the DocDomain procedure to support Doc\_AddRoot properly and to
  introduce the general access control phase.

  This bug was fixed as soon as a user reported it.  The fixed version
  of Tcl Httpd is 3.0.2


tkt_uuid: 51ace83b34309d75aee3597dffffffffffffffff
type: Code_Defect
status: Closed
priority: 5
title: Doc_Error errors
comment:
  <b>By davygrvy on 2003-04-18 00:04:18</b><br><br>When a prefix handler that is set to use threads comes 
  back with an error, such as &amp;quot;missing closed brace&amp;quot; or 
  whatever, and the connection object has been reset, 
  Url\_Unwind calls Doc\_Error, but Doc\_Error tries to get 
  $data\(url\) but is missing because of the reset.

  Essentailly, in trying to handle a normal error from a 
  thread return, the handling of the error errors.  This 
  causes the socket to sit in an unalertable state \(fileevent 
  readable \{\}\) and eventually closes from a timeout.  If the 
  client side closes, the socket sits in CLOSED\_WAIT 
  state until the timeout.

  This might not be the &amp;quot;true&amp;quot; fix, but appears to work 
  \(please ignore the revision numbers as they are local\):

  \*\*\* doc.tcl        16 Nov 2002 00:27:10 -0000        1.8
  \--- doc.tcl        15 Apr 2003 21:57:56 -0000        1.9
  \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*
  \*\*\* 1006,1014 \*\*\*\*
  \--- 1006,1017 ----
  proc Doc\_Error \{ sock ei \} \{
  global Doc
  upvar \#0 Httpd$sock data
  \+     \# Could have been reset\!\!\!
  \+     catch \{
  set Doc\(errorUrl\) $data\(url\)
  set Doc\(errorInfo\) $ei        ;\# For subst
  CountName $Doc\(errorUrl\) error
  \+     \}
  DocSubstSystemFile $sock error 500 \[protect\_text 
  $ei\]
  \}


tkt_uuid: 51ace81134309d75aee356e4ffffffffffffffff
type: Code_Defect
status: Closed
subsystem: Other
priority: 5
title: IMPORT: log files and dir get created at 12:16 am
comment:
  <b>By *anonymous on 2000-10-25 18:17:26</b><br><br>Original BugID: 4948 Bug
  Submit Date: '2000-04-07'
  Last Modified: '2000-04-07'
  Severity: LOW
  Status: UnAssn
  Submitter: mtariq
  ChangedBy: mtariq
  OS: All
  FixedDate: '2000-10-25'
  ClosedDate: '2000-10-25'


  In the procedure Log\_setFile, there is a line that determines the
  millisecond value for the after event that causes the new log files
  and directory to be created. 

  There is a bug in this line.
  It should be:
  set next \[expr \{\(\[clock scan 23:59:59 -base $now\] -$now + 1\) \* 1000\}\]
  ^^is 1000 now.
  Currently, 1000 seconds are being added in the calculation instead of
  1 second.


tkt_uuid: 51ace87534309d75aee35c9cffffffffffffffff
type: Code_Defect
status: Open
subsystem: HTTP Protocol
priority: 5
title: use of smtp leads to race conditions
comment:
  <b>By coldstore on 2004-11-18 05:50:02</b><br><br>The tcllib smtp server is now used for email from the
  server, however smtp contains a vwait which opens the
  server to new http connections and interactions on
  already-open sockets.

  This can lead to race conditions in a non-threaded
  tclhttpd whenever an email is sent.

  Possible resolution: a proc to suspend processing of
  all existing connections and all new connections until
  the smtp process has completed.


tkt_uuid: 51ace83134309d75aee35909ffffffffffffffff
type: Code_Defect
status: Closed
subsystem: Other
priority: 5
title: Debug.tcl has incorrect array index
comment:
  <b>By gwlester on 2002-11-06 22:45:14</b><br><br>The procedure Debug/source uses Config\(lib\) instead of
  Config\(library\).

  Also a more descriptive error message when the file can
  not be found would also be nice.

  Please see uploaded debug.tcl for a suggested fix


tkt_uuid: 51ace83334309d75aee35925ffffffffffffffff
type: Code_Defect
status: Closed
subsystem: Other
priority: 9
title: .tcl files in Custom not sourced
comment:
  <b>By gwlester on 2002-11-07 17:44:24</b><br><br>The documenation states that .tcl files in the custom
  directory will be sourced at startup, however only the
  pkgIndex.tcl is sourced.

  See example file for suggested correction.


tkt_uuid: 51ace82034309d75aee3580effffffffffffffff
type: Code_Defect
status: Closed
subsystem: Threading
priority: 5
title: hangs with less threads than concurrency
comment:
  <b>By davidw on 2002-08-13 00:48:38</b><br><br>When you do something like:

  ab -c 40 -n 1000 http://localhost/someurl

  where someurl has been registered with
  Url\_PrefixInstall, and you have less threads than the
  -c number \(say 10..20\), the server may hang.


tkt_uuid: 51ace87534309d75aee35ca3ffffffffffffffff
type: Code_Defect
status: Closed
priority: 5
title: inconsistent handling of index.tml indirect references
comment:
  <b>By coldstore on 2004-11-19 03:06:29</b><br><br>When an index.tml file is implicitly requested by
  reference to /some/dir/index, its source content is
  returned directly instead of it being evaluated and the
  content returned.

  This doesn't happen with other \*.tml files, so I
  suspect it's not simply the fallback content
  negotiation, but some interaction betweeen it and the
  special handling of index.tml for directories.


tkt_uuid: 51ace85134309d75aee35a8fffffffffffffffff
type: Code_Defect
status: Open
priority: 5
title: data(mime,cookies) - Cookie_Get out of sync
comment:
  <b>By andreas_kupries on 2003-06-25 21:57:35</b><br><br>The data in a request status array &amp;quot;data\(mime,cookies\)&amp;quot; 
  can get out of sync with the data returned by 
  \[Cookie\_Get\].

  Note: I am \_not\_ talking about the fact that data
  \(mime,cookies\) has all of them, and Cookie\_Get returns 
  only for a specific key.

  What I have is data for a key FOO in mime,cookies, but 
  Cookie\_Get returns something different. Actually the 
  data which was current an iteration ago.

  This the processing of the login request.
  It sets a cookie, sends it to the browser, and redirects
  the system to the url the login came from ...

  action LoginData referer /browse/ user aku password foo
  cookies=
  \{SITESERVER=ID=64a9c9536e38725d0ace4298e3c185b6;

  ASPNauth=&amp;quot;andreask@activestate.com|1056386911|1172
  30|Andreas|Kupries|||ASPNOP|ASPNPE|ASPNTC|J1P5ja6
  6DFdV%2bNCSrlnRTR2CdbI%3d&amp;quot;; 
  httpd\_login=eeb8c4dd592b245c0b23db1057d7bffd\}
  LoginData
  Login: 
  httpd\_login=5935faedda8287cf492879f527874ea9 ; 
  path=/ ; domain=pliers.activestate.com ;
  5935faedda8287cf492879f527874ea9 =&amp;gt; aku
  5935faedda8287cf492879f527874ea9 aku


  Now the browser is aking for the url it was redirected 
  too. It sends the new cookie. mime,cookies showe this 
  cookie. cooks otoh shows the old cookie the browser
  had before. This data came from Cookie\_Get.

  \_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_
  httpd::login - sock8 \(/browse/\) Checking for users ...
  httpd::login - cookies=
  \{SITESERVER=ID=64a9c9536e38725d0ace4298e3c185b6;

  ASPNauth=&amp;quot;andreask@activestate.com|1056386911|1172
  30|Andreas|Kupries|||ASPNOP|ASPNPE|ASPNTC|J1P5ja6
  6DFdV%2bNCSrlnRTR2CdbI%3d&amp;quot;; 
  httpd\_login=5935faedda8287cf492879f527874ea9\}
  httpd::login - cooks  =
  \{eeb8c4dd592b245c0b23db1057d7bffd\}
  httpd::login - \(5935faedda8287cf492879f527874ea9 aku\)
  httpd::login - Candidate 
  eeb8c4dd592b245c0b23db1057d7bffd
  httpd::login - Logged in:
  ::teapot::tclhttpd::Access \(/browse/\)

  In the next request, not shown, both places are in sync 
  again.

  This is in Access control hooks.

  It might be possible that at that time the Cookie\_Get 
  data is not yet set up / re-initialized ... \(I don't know\).


  ... Yes. Cookie\_Get prefers env\(HTTP\_COOKIE\), part of 
  the CGI environment. This is set after access control.
  And may contain old data from the last request.

  So, a problem of documentation ... and that the 
  operators are not clearly designed - selection of cookie 
  source entwined with cookie decoder ...


tkt_uuid: 51ace82c34309d75aee358e4ffffffffffffffff
type: Code_Defect
status: Open
subsystem: Other
priority: 5
title: ftpd space to '+' in dirlist on win
comment:
  <b>By m9090 on 2002-10-28 22:38:39</b><br><br>Following situation:
  I opened a directory for ftp access on my win2000 system \(temporary, .tclaccess protected\). 
  This directory contains files with spaces in names.
  When accessing this directory from an internet explorer and downloading a file, whose name contain 
  spaces the filename supplied by IE contains '+' instead of spaces.

  A sample:
  a file &amp;quot;a wonderful day.txt&amp;quot; resides in the ftp directory. As a result IE offers &amp;quot;a+wonderful+day.txt&amp;quot;  as 
  default name. 

  This isn't a large problem, but it teases me to solving the problem.

  My solution was to replace the '+' by a '%20' which IE handles perfectly.

  I had to patch the dirlist.tcl file by adding one line of code:

  proc DirHref \{entry\} \{
  set entry \[Url\_Encode \[file tail $entry\]\]
  \# Decode &amp;quot;.&amp;quot;,
  regsub -all -nocase \{%2e\} $entry . entry
  regsub -all -nocase \{%5f\} $entry \_ entry
  \#\# by m9090: allow spaces in file names with ie
  regsub -all -nocase \{\\+\} $entry \{%20\} entry
  return $entry
  \}

  Is this an approbiate way to do this?
  Maybe this is just a bug of IE. 


tkt_uuid: 51ace88734309d75aee35dafffffffffffffffff
type: Code_Defect
status: Open
subsystem: HTTP Protocol
priority: 5
title: Upload doesn't properly handle multipart/form-data
comment:
  <b>By coldstore on 2005-02-28 02:45:24</b><br><br>Each element of a multipart/form-data can be
  transport-encoded, per RFC 1867 section 7.

  Upload, instead, and arbitrarily, assumes text/plain
  for everything but a mime part with filename set, and
  that \(it assumes\) is binary encoded.

  In the best of all possible worlds, we'd be able to
  hand off to the tcllib mime package, but it doesn't
  stream properly, so that's out.

  Next best would be to read each component as a mime
  part, and hand each part off to mime for conversion
  \(for those conversions it understands, at least.\)

  The downside of this is that one would have to read an
  entire file before processing by mime.  Large files
  would become expensive to process.

  Note, it seems that browsers happen to format
  multipart/form-data as tclhttpd expects, so it's not a
  pressing problem.  Just not RFC compliant.


tkt_uuid: 51ace85734309d75aee35ae8ffffffffffffffff
type: Code_Defect
status: Closed
priority: 5
title: Redirect_To does not work in .tml
comment:
  <b>By *anonymous on 2003-09-11 14:53:57</b><br><br>The Redirect\_To command does not work in .tml files 
  \(latest CVS version\) 

  The problem is caused by the not checking for errors in  
  TemplateInstantiate and can be easily solved by adding: 

  if \{$code \!= 0\} \{ 
  global errorCode errorInfo 
  return -code $code -errorcode $errorCode -errorinfo$errorInfo 
  \} 

  after: 

  set code \[catch \{Subst\_File $template $interp\} html\] 


tkt_uuid: 51ace89134309d75aee35e58ffffffffffffffff
type: Code_Defect
status: Open
subsystem: Other
priority: 5
title: httpd.man missing cmd
comment:
  <b>By *anonymous on 2006-11-10 23:57:34</b><br><br>htdocs/man/httpd.man has a minor bug on line 698.  It
  should be calling \[cmd Url\_PrefixInstall\] instead of
  \[Url\_PrefixInstall\]


tkt_uuid: 51ace84a34309d75aee35a52ffffffffffffffff
type: Code_Defect
status: Closed
subsystem: Installation
priority: 7
title: Insecure default setup
comment:
  <b>By andreas_kupries on 2003-06-13 17:45:38</b><br><br>This could be an instance of the &amp;quot;Documentation is 
  lacking&amp;quot; report I filed 
  \(http://sourceforge.net/tracker/index.php?
  func=detail&amp;amp;aid=753428&amp;amp;group\_id=12884&amp;amp;atid=112884\).

  The default configuration in httpthread.tcl activates a 
  number of application direct domains like 'Admin' 
  and 'Debug' which allow the execution of privileged 
  operations on the webserver, and possibly the machine 
  it is running on. I didn't see anything protecting access 
  to these pages with user/password or similar. Maybe it is 
  and I just didn't find this in the docs, or sources.

  I consider this a security risk. This also forces everyone 
  setting up their own server to customize it, at least if 
  they are security conscious \_and\_ know about these 
  default. The latter is much in doubt, simply because 
  the &amp;quot;documention is lacking&amp;quot; \(s.a.\).


tkt_uuid: 51ace88b34309d75aee35de2ffffffffffffffff
type: Code_Defect
status: Open
subsystem: Other
priority: 5
title: Glob problem inside a Starkit in httpdthread.tcl
comment:
  <b>By mbroeken on 2005-08-24 14:23:05</b><br><br>In httpdthread.tcl \(v 1.19\) there are two lines of code
  \(line 42 and 191\) with something like "glob -nocomplain
  $somedir". If $somedir is inside a Starkit and $somedir
  contains ".." this glob returns an empty list. As a
  result not all mime types and custom code is loaded. 
  I've fixed this by using "glob -nocomplain \[file
  normalize $somedir\]".


tkt_uuid: 51ace81334309d75aee35721ffffffffffffffff
type: Code_Defect
status: Closed
subsystem: Other
priority: 5
title: IMPORT: thread2.0: Unresolved symbols
comment:
  <b>By *anonymous on 2000-10-25 18:17:39</b><br><br>Original BugID: 5635 Bug
  Submit Date: '2000-05-23'
  Last Modified: '2000-10-25'
  Severity: CRIT
  Status: UnAssn
  Submitter: techsupp
  OS: Linux
  FixedDate: '2000-10-25'
  ClosedDate: '2000-10-25'


  Name:
  Trevor Higgins

  Comments:
  If I've F\*ked up then flame me, if not what the \#@\! gives?

  ReproducibleScript:
  After compile and install of tclhttpd,
  a package require Thread gives:
  couldn't load file &amp;quot;/usr/lib/thread2.0/../libthread2.0.so&amp;quot;: /usr/lib/thread2.0/../libthread2.0.so: undefined symbol: Tcl\_CutChannel.
  The following unresolved symbols are not part of libtcl8.3:
  U Tcl\_CutChannel
  U Tcl\_IsChannelExisting
  U Tcl\_IsChannelRegistered
  U Tcl\_IsChannelShared
  U Tcl\_JoinThread
  U Tcl\_SpliceChannel

  The current CVS for thread gives the same results.

  ObservedBehavior:
  To load and be usable.

  DesiredBehavior:
  2.0


tkt_uuid: 51ace81134309d75aee356f1ffffffffffffffff
type: Code_Defect
status: Closed
subsystem: Other
priority: 5
title: IMPORT: Shared libs installed with wrong permissions
comment:
  <b>By *anonymous on 2000-10-25 18:17:32</b><br><br>Original BugID: 5314 Bug
  Submit Date: '2000-05-02'
  Last Modified: '2000-10-25'
  Severity: MED
  Status: UnAssn
  Submitter: techsupp
  OS: HP-UX
  FixedDate: '2000-10-25'
  ClosedDate: '2000-10-25'


  Name:
  Laurent Duperval

  CVS:
  Version 3.0.0

  Comments:
  I'm not sure where it's supposed to be patched because I don't know the
  autoconf stuff well enough \(yet\).

  ObservedBehavior:
  tclsh8.3 \`which httpd.tcl\`
  /usr/lib/dld.sl: Call to mmap\(\) failed - TEXT /usr/local/lib/limit1.0/../liblimit1.0.sl
  /usr/lib/dld.sl: Permission denied
  couldn't load file &amp;quot;/usr/local/lib/limit1.0/../liblimit1.0.sl&amp;quot;: permission denied
  Running with default file descriptor limit
  /usr/lib/dld.sl: Call to mmap\(\) failed - TEXT /usr/local/lib/crypt1.0/../libcrypt1.0.sl
  /usr/lib/dld.sl: Permission denied
  No .htaccess support: couldn't load file &amp;quot;/usr/local/lib/crypt1.0/../libcrypt1.0.sl&amp;quot;: permission denied
  httpd started on port 8015

  DesiredBehavior:
  To load correctly, the libraries need to be executable. Installation should use -m 755 instead of -m 644.


tkt_uuid: 51ace81734309d75aee35786ffffffffffffffff
type: Code_Defect
status: Closed
subsystem: CGI
priority: 5
title: POST fails in Windows
comment:
  <b>By *anonymous on 2002-06-01 20:10:43</b><br><br>CGI sample form demo fails with IE 5.5 on Win2000, 
  Win95 and WinME. I was able to fix the problem by 
  resetting the file translation before CgiRead. Adding
  fconfigure $fd -translation auto at line 321.


tkt_uuid: 51ace81634309d75aee3576effffffffffffffff
type: Code_Defect
status: Open
subsystem: Installation
priority: 5
title: AIX can't create crypt.so and limit.so
comment:
  <b>By *anonymous on 2002-02-14 23:20:59</b><br><br>When trying to create the crypt.so and limit.so files 
  under AIX 4.3.3, I get the following message:
  ==================================================
  gcc -c -g  -fPIC ./crypt.c
  cc1: warning: -fPIC ignored for AIX \(all code is 
  position independent\)
  ld -G -z text crypt.o -o crypt.so
  ld: 0706-005 Cannot find or open file: text
  ld:open\(\): No such file or directory
  make: The error code from the last command is 255.
  ==================================================

  If I remove the '-z text' option from the 'ld' 
  command, I get the following:

  ====================================================
  gcc -c -g  -fPIC ./crypt.c
  cc1: warning: -fPIC ignored for AIX \(all code is 
  position independent\)
  ld -G crypt.o -o crypt.so
  ld: 0711-327 WARNING: Entry point not found: \_\_start
  ld: 0711-244 ERROR: No csects or exported symbols have 
  been saved.
  make: The error code from the last command is 8.


  Stop.
  ==================================================
  Any ideas? 
  \- Joe Vigil


tkt_uuid: 51ace87034309d75aee35c56ffffffffffffffff
type: Code_Defect
status: Closed
subsystem: Other
priority: 5
title: Url_AccessInstallPrepend crashes DocDomain
comment:
  <b>By trott13 on 2004-06-22 15:32:06</b><br><br>after installing a urlAccess routine    
  with  "Url\_AccessInstallPrepend", I could do   
  no more accesses via the  DocDomain- Handler  
  whenever my urlAccess-proc returned "ok".  

  The thing was, that the line 

  set pathlist $data\(pathlist\) 

  in DocDomain \(file doc.tcl\) assumed "DocAccessHook" 
  had run before. 

  I thing access control and processing 
  should be 2 very distinct procedures. 

  I simply prepended the line with 
  the function: 

  if \{\!\[info exists data\(pathlist\)\]\} \{ 
  set data\(pathlist\)\[Url\_PathCheck$data\(suffix\)\] 
  \} 
  set pathlist $data\(pathlist\) 


  However YOU might have a better solution. 


tkt_uuid: 51ace88034309d75aee35d64ffffffffffffffff
type: Code_Defect
status: Open
subsystem: HTTP Protocol
priority: 5
title: 404 not returned for missing templates
comment:
  <b>By jeffran on 2005-01-19 19:04:26</b><br><br>I've noticed on version 3.5.1 and the CVS version that
  requests for missing templates no longer return a 404
  status, they return a 200 status. The not found
  template is displayed properly, and the request is
  recorded on the status &gt; not found page, but the logs
  indicate a 200 status. I'm seeing this issue on Solaris
  and Windows Server 2003/XP.


tkt_uuid: 51ace86534309d75aee35bbfffffffffffffffff
type: Code_Defect
status: Open
priority: 5
title: Tk server UI doesn't show homepage hits
comment:
  <b>By davygrvy on 2004-05-09 08:49:02</b><br><br>see patch.  It's a bit of a funny way to aquire the 
  histogram array variable name, but works.


tkt_uuid: 51ace89434309d75aee35e6cffffffffffffffff
type: Code_Defect
status: Open
priority: 5
title: tclhttpd3.5.1 - html pages display as text
comment:
  <b>By tomk on 2007-11-07 23:34:35</b><br><br>After fixing previous 8.5 starkit problem, I then found that mime handling wasn't working properly. I fixed it by adding "file normalize" to lines 41 and 192 in bin/httpdthread.tcl. This fixed the simple types \(man pages and templates\) but there is still a problem when I try to veiw the "URL Domains" page.


tkt_uuid: 51ace88034309d75aee35d5dffffffffffffffff
type: Code_Defect
status: Open
subsystem: Templates
priority: 5
title: mode on generated templates
comment:
  <b>By coldstore on 2005-01-10 01:08:53</b><br><br>TemplateInstantiate creates its generated file with
  default mode, 0666.  It should create it with the same
  mode as the source template file.


tkt_uuid: 51ace80f34309d75aee356ccffffffffffffffff
type: Code_Defect
status: Closed
subsystem: Other
priority: 1
title: thread2.0: Unresolved symbols
comment:
  <b>By *anonymous on 2000-10-25 00:50:00</b><br><br>Original BugID: 5635 Bug
  Submit Date: '2000-05-23'
  Last Modified: '2000-10-24'
  Severity: CRIT
  Status: UnAssn
  Submitter: techsupp
  OS: Linux
  FixedDate: '2000-10-24'
  ClosedDate: '2000-10-24'


  &amp;lt;pre&amp;gt;Name:
  Trevor Higgins
  &amp;lt;/pre&amp;gt;
  &amp;lt;pre&amp;gt;Comments:
  If I've F\*ked up then flame me, if not what the \#@\! gives?
  &amp;lt;/pre&amp;gt;
  &amp;lt;p&amp;gt;ReproducibleScript:
  After compile and install of tclhttpd,
  a package require Thread gives:
  couldn't load file &amp;quot;/usr/lib/thread2.0/../libthread2.0.so&amp;quot;: /usr/lib/thread2.0/../libthread2.0.so: undefined symbol: Tcl\_CutChannel.
  The following unresolved symbols are not part of libtcl8.3:
  U Tcl\_CutChannel
  U Tcl\_IsChannelExisting
  U Tcl\_IsChannelRegistered
  U Tcl\_IsChannelShared
  U Tcl\_JoinThread
  U Tcl\_SpliceChannel
  &amp;lt;/p&amp;gt;
  &amp;lt;pre&amp;gt;The current CVS for thread gives the same results.
  &amp;lt;/pre&amp;gt;
  &amp;lt;pre&amp;gt;ObservedBehavior:
  To load and be usable.
  &amp;lt;/pre&amp;gt;
  &amp;lt;pre&amp;gt;DesiredBehavior:
  2.0
  &amp;lt;/pre&amp;gt;


  &amp;lt;pre&amp;gt;&amp;lt;/pre&amp;gt;


tkt_uuid: 51ace89334309d75aee35e65ffffffffffffffff
type: Code_Defect
status: Open
priority: 5
title: tclhttpd3.5.1.kit doesn't work with 8.5
comment:
  <b>By tomk on 2007-11-07 22:17:31</b><br><br>The tclhttpd3.5.1 distribution is missing a pkgIndex.tcl in the custom/ directory which cause "package require mypage" to fail.


tkt_uuid: 51ace86c34309d75aee35c32ffffffffffffffff
type: Code_Defect
status: Closed
subsystem: Threading
priority: 5
title: error in proc:Thread_IsFree (thread.tcl)
comment:
  <b>By *anonymous on 2004-06-01 10:48:42</b><br><br>proc Thread\_IsFree \{id\} \{
  global Thread
  return \[expr \{\[lsearch $Thread\(freelist\) $id\] &lt;= 0\}\]
  \}

  The Procedure should return the result:
  \[expr \{\[lsearch $Thread\(freelist\) $id\] &gt;= 0\}\]


  i submitted this bug before \(id 422985 \)
  the error is still not fixed in release 3.5.1


tkt_uuid: 51ace81234309d75aee35703ffffffffffffffff
type: Code_Defect
status: Closed
subsystem: Other
priority: 5
title: IMPORT: Web site doesn't allow bugs for tclhttpd 3.0.0
comment:
  <b>By *anonymous on 2000-10-25 18:17:33</b><br><br>Original BugID: 5315 Bug
  Submit Date: '2000-05-02'
  Last Modified: '2000-10-25'
  Severity: MED
  Status: UnAssn
  Submitter: techsupp
  OS: All
  FixedDate: '2000-10-25'
  ClosedDate: '2000-10-25'


  Name:
  Laurent Duperval

  CVS:
  3.0.0

  ReproducibleScript:
  The only version for which bug reports can be sent is 2.3.2

  DesiredBehavior:
  I want to report bugs with 3.0.0


tkt_uuid: 51ace7d234309d75aee353beffffffffffffffff
type: Feature_Request
status: Closed
priority: 5
title: Virtual hosting support
comment:
  <b>By dgp on 2002-01-28 04:34:35</b><br><br>
  Here's a \(rather quick n dirty\) patch that adds
  virtual host capability to tclhttpd.  This lets
  tclhttpd serve multiple web sites from different
  domains all from the same port of the same network
  interface.

  In the -config file, a line like

  Config virtual \[list $host1 $file1 ...$hostN $fileN\]

  can now be added that indicates that traffic for
  $host1 should be governed by configuration settings
  in $file1, etc.  Existing coniguration options have
  not changed, so the remaining configurations become
  the default site displayed for all sites that are
  not virtual hosts.

  In order to accomplish this with minimum changes to
  existing tclhttpd code, a new interpreter is created
  to manage traffic for each virtual host.  The master
  interp receives all initial network traffic, then
  transfers it to the appropriate virtual host interp
  once it has received the Host: HTTP header telling
  it what host the request is for.

  Could use a lot more work, and has no documentation
  yet  \(Fits right in\!\), but feel free to use and
  send comments.


tkt_uuid: 51ace7d734309d75aee35408ffffffffffffffff
type: Feature_Request
status: Open
priority: 5
title: Support for Universal Plug and Play?
comment:
  <b>By elfring on 2003-08-26 09:29:51</b><br><br>Would you like to offer an UPnP interface to your server as a plugin?
  http://www.upnp.org/download/UPnPDA10\_20000613.htm

  How do you think about to support this standard with a library?
  \- http://www.cybergarage.org/net/upnp/java/index.html, 
  http://sourceforge.net/projects/cgupnpjava/
  \- http://upnp.sourceforge.net/


tkt_uuid: 51ace7c934309d75aee353a0ffffffffffffffff
type: Feature_Request
status: Open
priority: 5
title: .htaccess parsing missing some std features
comment:
  <b>By doss on 2000-11-24 08:21:04</b><br><br>Based on current Apache facility for .htaccess control files :

  \* doesnt seem to allow indentation whitespace \(parser thinks leading wsp is a directive ... \)

  \* No support for &amp;lt;Files&amp;gt; directive - only directory wide attributes \(useful for restricting access to cgi's for e.g.\)

  \* doesnt support valid-user arg  to 'require' directive
  \(very handy if you dont want to set up any groups for fine grained access\)

  \* doesnt appear to allow multiple 'require user' or 'require group' directives \(last line one overrides previous one\)

  \* possibly other bits missing too \(at least it aint broke 8-\)


tkt_uuid: 51ace7db34309d75aee35441ffffffffffffffff
type: Feature_Request
status: Open
priority: 5
title: Custom load time
comment:
  <b>By coldstore on 2004-08-23 02:25:41</b><br><br>The custom/ directory is loaded after the socket
  listener\(s\) are set up.  In particular, after https is
  running.

  This means it's impossible to intervene in any way in
  the server setup.

  It might be better if custom was loaded after the basic
  code and configuration, but prior to actually starting
  the server, to give customisations a chance to modify
  behavior.

  I guess one could make an argument that some
  customisations could tweak security and loading them
  after server start leaves a small window, but I don't
  know of any actual cases of this.


tkt_uuid: 51ace7df34309d75aee35482ffffffffffffffff
type: Feature_Request
status: Open
priority: 5
title: More flexible Windows Cgi file extension handling
comment:
  <b>By coldstore on 2004-09-29 16:10:33</b><br><br>Under Windows the choice of which interpreter to run is
  based on file extension, but the choices are hard coded
  and decoded in a switch.

  It would probably be a good thing to provide an array
  mapping to do that.  No biggie.


tkt_uuid: 51ace7c834309d75aee35393ffffffffffffffff
type: Feature_Request
status: Open
priority: 5
title: IMPORT: Add Log_NameFormat and Log_Rotate APIs
comment:
  <b>By *anonymous on 2000-10-25 18:17:25</b><br><br>Original BugID: 4842 RFE
  Submit Date: '2000-04-04'
  Last Modified: '2000-04-04'
  Severity: LOW
  Status: UnAssn
  Submitter: welch
  ChangedBy: welch
  OS: All
  FixedDate: '2000-10-25'
  ClosedDate: '2000-10-25'


  The TclHttpd logging module should have more to its API so the
  client can control how the daily log files are named - how
  to set the time stamp in that file.  You also ought to be
  able to control how often to rotate the logs, and how long
  before old log files are deleted, if at all.


tkt_uuid: 51ace7d634309d75aee35401ffffffffffffffff
type: Feature_Request
status: Open
priority: 5
title: Support for dynamic Service Configuration?
comment:
  <b>By elfring on 2003-08-26 09:29:08</b><br><br>Would you like to use more design patterns in your library?
  Are you going to add a service configurator for your server?
  \- http://www.cs.wustl.edu/~schmidt/ACE-papers.html
  \- http://www.cs.wustl.edu/~jxh/research/research.html


tkt_uuid: 51ace7de34309d75aee35467ffffffffffffffff
type: Feature_Request
status: Open
priority: 5
title: Startup code /spec file cleanup
comment:
  <b>By wart on 2004-09-12 04:55:05</b><br><br>The /etc/init.d startup script needs a little cleanup
  so that it can be used with the chkconfig system on
  Redhat/Fedora.  Additionally, the rpm spec file should
  be modified to conform with Fedora's spec file
  guidlines \(http://www.fedora.us/wiki/QAChecklist\) so
  that it can be included in future Fedora releases.

  A patch addressing both of these issues is attached. 
  It includes a new spec file, and a redhat-compatible
  /etc/init.d startup script that only gets installed
  during the rpm installation.


tkt_uuid: 51ace7e134309d75aee35497ffffffffffffffff
type: Feature_Request
status: Closed
priority: 5
title: tclhttpd pollutes the global namespace
comment:
  <b>By dizzi on 2005-11-11 17:51:04</b><br><br>The tclhttpd code creates a lot of global variables and
  procs in the global namespace. While this can be
  acceptable in a standalone application it makes very
  difficult embedding the httpd in an already existing
  Tcl application. Think for example to the Config
  variable which is very likely already used by the
  application.

  Good programming practice dictate that all procs and
  variables in a package should be defined in the ::httpd
  namespace and only those implementing the httpd API
  be exported. Additionally access to the package
  internal variables should be done only through the
  official API.


tkt_uuid: 51ace7db34309d75aee35448ffffffffffffffff
type: Feature_Request
status: Open
priority: 5
title: new example submision
comment:
  <b>By davygrvy on 2004-08-30 07:11:14</b><br><br>Two files to add a new programming example.

  tmlrss.tcl - the library file, place into custom/
  tclnews.tml - place into htdocs/ somewhere.

  tmlrss is a routine that builds html tables from RSS news 
  feeds.  It is simple, but complete with good error 
  checking.


tkt_uuid: 51ace7e334309d75aee354aaffffffffffffffff
type: Feature_Request
status: Open
priority: 5
title: Returning data in a channel
comment:
  <b>By zoro2 on 2006-05-07 08:55:07</b><br><br>Tclhttpd has the ability to send files using \[fcopy\], 
  but in some scenarios it is more flexible to provide a 
  Tcl channel instead of an actual file name.

  Attached is the code that allows this. It has been 
  tested for both without size and with size with the 
  latest anon CVS.


tkt_uuid: 51ace7da34309d75aee3543affffffffffffffff
type: Feature_Request
status: Open
priority: 5
title: tclhttpd bundle to include metakit
comment:
  <b>By slok00 on 2004-03-18 06:42:44</b><br><br>Proposed to include metakit in the bundle.

  Short term goal
  This will give tclhttpd an out-of-the-box "database"
  capability.

  Long term goal
  To build a framework around tclhttpd and metakit, so
  that new users can easily build application on top of it.


tkt_uuid: 51ace7e034309d75aee35489ffffffffffffffff
type: Feature_Request
status: Open
priority: 5
title: Deprecate ::env as much as possible and make it safer
comment:
  <b>By coldstore on 2004-10-16 09:42:16</b><br><br>I think that the use of env should be deprecated.  It's
  much
  slower than normal variables, and it's got unintended
  side effects from being a global.

  I realise that, for cgi, there's no other way to pass
  data into and back from the cgi code, but in that usage:

  1\) the env contents have to be protected against
  interleaving,

  2\) the use of env should be restricted to places where it's
  necessary ... I can think of cgi, but nowhere else.

  3\) the leakage of \(potentially sensitive\) information from
  one invocation to the next is a bad thing, so env
  should be cleaned up after use.


tkt_uuid: 51ace7e034309d75aee35490ffffffffffffffff
type: Feature_Request
status: Open
priority: 5
title: Use dated error log files.
comment:
  <b>By patthoyts on 2004-12-21 21:23:28</b><br><br>I'm running tclhttpd cvs on a Win32 system. I looked in
  the /tmp directory today and discovered the error log
  is 350MB. This is due to lots of script kiddies trying
  stack smashing exploits of some kind.

  Firstly: it doesn't really help to save the entire
  shellcode exploit in the log files -- so I suggest a
  limit to the amount of a query that gets logged.

  Second: how about an option to have the error logs
  dated the way that the access logs currently are.  As
  it stands I have to stop the server before I can
  delete/rename the file as windows considers it open and
  will not let me move it \(although I can likely truncate
  it\).


tkt_uuid: 51ace7d634309d75aee353faffffffffffffffff
type: Feature_Request
status: Open
priority: 5
title: Option to do Redirect with socket close
comment:
  <b>By davidw on 2002-10-03 18:34:42</b><br><br>In some cases, when a redirect is done off the site, it
  would be beneficial to close the socket immediately,
  because it is known that it will not be reused.


tkt_uuid: 51ace7da34309d75aee35433ffffffffffffffff
type: Feature_Request
status: Open
priority: 5
title: zero configuration networking
comment:
  <b>By elfring on 2003-09-27 20:50:56</b><br><br>Would you like to support this standard?

  1\. 
  http://www.zeroconf.org/
  2\. 
  http://www.uow.edu.au/~dfs/projects/2003/projects2003.html
  3\. 
  http://citeseer.org/cs?q=Zero+Configuration+Networking
  4\. 
  http://www.oreillynet.com/pub/wlg/3137
  5\. 
  http://www.spack.org/index.cgi/ZeroConf


tkt_uuid: 51ace7da34309d75aee3542cffffffffffffffff
type: Feature_Request
status: Open
priority: 5
title: Clean up of the files, doc and directories
comment:
  <b>By *anonymous on 2003-09-20 15:10:16</b><br><br>Files and directories are a little messy. For example :
  doc
  htdocs
  htdocs2

  htdocs2 is clearly a test directory that has nothing to do 
  in the distribution as access.zip. The documentation 
  should be put in htdocs. By the way, there are new 
  documentations in the patch area \(some useful man 
  pages\). Where is it in the cvs tree ?

  You can reach me at 
  arnaud.laprevote@no\_spam\_freealter.com


# ticketchng

login: clif
mimetype: text/x-fossil-plain
icomment:
  Reworked config.tcl to use namespace ensemble if Tcl rev > 8.5 and namespace import if < 8.5.  The ensemble command is finer tuned and thus more secure.


mimetype: text/plain
icomment:
  These fixes look good, although I'd rather see a Doc\_ API added to doc.tcl,
  and then using that API in cgi.tcl instead of accessing the global Doc array directly.


mimetype: text/plain
icomment:
  An API addition is definitely more couth 8-\) 
  &amp;amp; since you asked ... here is my proposal \(I'll overwrite the existing patch if you approve this approach\)



  \*\*\* doc.tcl     2000/11/29 04:01:40     1.1
  \--- doc.tcl     2000/11/29 05:29:47
  \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*
  \*\*\* 74,84 \*\*\*\*
  \#     Sets up a document URL domain and the document-based access hook.

  proc Doc\_AddRoot \{virtual directory \{inThread 1\}\} \{
  \!     global Doc
  \!     set Doc\(root,$virtual\) $directory
  Url\_PrefixInstall $virtual \[list DocDomain $virtual $directory\] $inThread
  Url\_AccessInstall DocAccessHook
  \}

  \# Doc\_IndexFile --
  \#
  \--- 74,111 ----
  \#     Sets up a document URL domain and the document-based access hook.

  proc Doc\_AddRoot \{virtual directory \{inThread 1\}\} \{
  \!
  \!     Doc\_RegisterRoot $virtual $directory
  Url\_PrefixInstall $virtual \[list DocDomain $virtual $directory\] $inThread
  Url\_AccessInstall DocAccessHook
  \}
  \+
  \+
  \+ \# Doc\_RegisterRoot
  \+ \#     Add a file system managed by any Domain Handler \(e.g. CGI\)
  \+ \#       to the virtual document hierarchy
  \+ \#
  \+ \# Arguments
  \+ \#     virtual         The URL prefix of the document tree to add.
  \+ \#     directory       The file system directory containing the doc tree.
  \+ \#
  \+ \# Results:
  \+ \#     None
  \+ \#
  \+ \# Side Effects:
  \+ \#     Adds the nominated filesystem hierarchy to the global document roots array
  \+
  \+ proc Doc\_RegisterRoot \{virtual directory\} \{
  \+     global Doc
  \+
  \+     if \{\[info exists Doc\(root,$virtual\)\] &amp;amp;&amp;amp;
  \+          \[string compare $directory $Doc\(root,$virtual\)\]\} \{
  \+          catch \{puts &amp;quot;Warning: existing document root mapping for $virtual is being changed from $Doc\(root,$virtual\) to $directory&amp;quot;\}
  \+     \}
  \+
  \+     set Doc\(root,$virtual\) $directory
  \+ \}
  \+  



  \*\*\* cgi.tcl     2000/11/24 07:28:43     1.1
  \--- cgi.tcl     2000/11/29 05:30:25
  \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*
  \*\*\* 56,61 \*\*\*\*
  \--- 56,62 ----
  \# It doesn't make sense to pass the CGI processing to a thread
  \# because we are going to fork the process and do event driven I/O anyway.

  \+     Doc\_RegisterRoot $virtual $directory
  Url\_PrefixInstall $virtual \[list Cgi\_Domain $virtual $directory\] \
  -thread 0 -readpost 0
  \}
  \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*
  \*\*\* 65,71 \*\*\*\*
  proc Cgi\_Domain \{virtual directory sock suffix\} \{
  global Cgi env
  \# Check the path and then find the part beyond the program name.
  \!     if \[catch \{Url\_PathCheck $suffix\} pathlist\] \{
  Doc\_NotFound $sock
  return
  \}
  \--- 66,73 ----
  proc Cgi\_Domain \{virtual directory sock suffix\} \{
  global Cgi env
  \# Check the path and then find the part beyond the program name.
  \!     if \[catch \{Url\_PathCheck \[string trimleft $suffix /\]\} pathlist\] \{
  \!
  Doc\_NotFound $sock
  return
  \}              


mimetype: text/plain
icomment:
  Interesting. I was pretty sure, I had the patches attached to 
  this report. Anyway, here is what I have -- updated for 
  tclhttpd-3.5.1 


mimetype: text/plain
icomment:
  The utime.c should be removed from the distribution -- it 
  does not compile cleanly and is obsoleted by TCL's file\(n\) 
  command \(atime, and mtime subcommands\). 


mimetype: text/plain
icomment:
  Apparently fixed a year and a half ago:

  Revision 1.12  - \(view\) \(download\) \(as text\) \(annotate\) -
  \[select for diffs\]
  Mon Oct 27 14:08:57 2003 UTC \(2 years, 2 months ago\) by
  coldstore
  Branch: MAIN
  Changes since 1.11: +2 -2 lines
  Diff to previous 1.11

  removed /usr/local/bin hardcoded path to gzip - let PATH
  figure it out.


mimetype: text/plain
icomment:
  I think this may be right - have you tested in all scenarios?
  no install
  stand-alone install
  bundled install?


mimetype: text/plain
icomment:
  If you mean, does this patch break 'no install' &amp;amp; 'bundled install' ? - no it doesnt appear to.

  If you mean , do the other install modes need fixing too ? - I dont think so. But the bundled install doenst install the auth &amp;amp; limits pacakages at all, and the uninstalled version hasnt got the pkgindex.tcl files named in such a way to allow the packages to be loaded.


mimetype: text/plain
icomment:
  I encountered the same problem and just spent 2 days of
  manual tracing and debugging. I'm not a Tcl-expert and
  certainly not a tclhttpd-expert, but I found working
  solutions for the next problems:

  1\. Config-parameters \(see indicated problem above\)
  Config-parameters specified in the used resource-file \(e.g.
  "AuthUserFile" and "AuthGroupFile"\) are loaded into the
  variable config::Config\(\) while the global variable Config\(\)
  is used for configuring tclhttpd. I don't know if it is
  conceptually wrong but copying config::Config\(\) to the
  global Config\(\) variable seems to work for me.

  &gt; File: ./tclhttpd3.5.1/lib/config.tcl
  &gt; Location: proc config::init \{config aname\}
  &gt; After:
  array set Config \[interp eval $i \{array get Config\}\]
  interp delete $i
  &gt; Ad:
  \# Copy all loaded config-parameters from the local Config array 
  \# to the global Config array through the upvar variable
  TheirConfig 
  array set TheirConfig \[array get Config\]

  2\. Group/user authorization
  Users are only authorized when they are specified \(in the
  ".htaccess" file\) as required user AND are a member of one
  of the specified required groups. Users should be authorized
  when they are EITHER specified as required user OR a member
  of one of the specified required groups.

  &gt; File: ./tclhttpd3.5.1/lib/auth.tcl
  &gt; Location: proc AuthUserOp \{sock file op user\} 
  &gt; Replace: 
  if \{\[info exists info\(htaccessp,require,$op,group\)\]\} \{
  if \{\!\[AuthGroupCheck $sock $file \
  $info\(htaccessp,require,$op,group\) $user\]\} \{
  return 0   ;\# Not in a required group
  \}
  \}
  if \{\[info exists info\(htaccessp,require,$op,user\)\]\} \{
  if \{\!\[AuthUserCheck $sock $file \
  $info\(htaccessp,require,$op,user\) $user\]\} \{
  return 0   ;\# Not the required user
  \}
  \}
  return 1

  &gt; By:
  \# User is authorized if EITHER member of a group
  \# OR specified individually
  if \{\[info exists info\(htaccessp,require,$op,group\)\]\} \{
  if \{\[AuthGroupCheck $sock $file \
  $info\(htaccessp,require,$op,group\) $user\]\} \{
  return 1   ;\# Member of required group
  \}
  \}
  if \{\[info exists info\(htaccessp,require,$op,user\)\]\} \{
  if \{\[AuthUserCheck $sock $file \
  $info\(htaccessp,require,$op,user\) $user\]\} \{
  return 1   ;\# Individually required user
  \}
  \}
  return 0

  Looking forward to your feedback.


mimetype: text/plain
icomment:
  &gt; array set Config \[interp eval $i \{array get Config\}\]  

  We are in the same intepreter, just different namespace.  
  This should work and be much more efficient:  

  namespace import ::config::Config 

  &gt; Looking forward to your feedback  

  I'm afraid, we are stuck here as the software seems  
  abandoned... Unless someone picks it up, there is little  
  point in discussions :-\(  

  Unless you have a ready patch for review :-\)  


mimetype: text/plain
icomment:
  I have followed along the same path. It seems pretty amazing
  that these bugs could have remained for so long.
  I have three comments,
  1 - Yes, the global Config isn't getting updated with values
  from the  tclhttpd.rc for any fields that don't have command
  line options. In particular for Auth, AuthUserFile,
  AuthGroupFile.
  As you guys figured out the global Config array isn't
  updated from the config::Config array other than by using
  the values as defaults in the cmdline::getoptions routine. I
  think using the same name for variables in different
  namespaces is a bad idea and leads to just this sort of
  confusion. Even a filename, httpd.tcl, is reused in the bin
  and lib directory\!
  Anyway my fix was to add these lines after the Config array
  is set from the cmdline::getoptions \(line 195 in 3.5.2, line
  196 in cvs\)

  set Config\(Auth\) \[cget Auth\]
  set Config\(AuthUserFile\) \[cget AuthUserFile\]
  set Config\(AuthGroupFile\) \[cget AuthGroupFile\]

  2 - When it does read the Auth correctly it then fails to
  use the password. Line 77 of auth.tcl \(in 3.5.1\) is
  set val \[crypt $password $salt\]
  and should be
  set val \[crypt $val $salt\]

  Of course this doesn't matter when you have set up the
  password file.

  3 - I don't see the problem elnarte sees. My understanding
  is that I should be able say

  &lt;Limit GET POST&gt;
  require group group1
  require group group2
  require valid-user
  &lt;/Limit&gt;

  and then simply add new ids to the passwd and group files.
  This works in 3.5.1


mimetype: text/plain
icomment:
  I found the very same problem. My solution would be to use the TEMP or TMP environment variables, 
  as that seems to be the policy under Windows. They typically point to some private temporary 
  directory.


mimetype: text/plain
icomment:
  Logged In: NO 

  It turns out that Tcl on Windows \(at least on Win XP\) can refer to a directory like C:\tmp simply as /tmp. So to make tclhttpd run "out of the box" all you need to do is create C:\tmp as usual. Then the references to /tmp in tclhttpd.rc and auth.tcl work without any changes. Thus Tcl interprets /tmp as C:\tmp.

  John Cocke ---  jcocke@as.arizona.edu


mimetype: text/plain
icomment:
  Logged In: NO 

  To my comment of 2008-25-2 I should have added the fact that the "/tmp" reference gets you to C:\tmp only if you're on the C: drive to begin with. Actually, if your current drive is, say, F:,
  the /tmp reference will look for the directory F:\tmp.

  John Cocke -- jcocke@as.arizona.edu


mimetype: text/plain
icomment:
  Actually, I have encountered serious problems with temporary files handled naively:
  If you are on a network disk and have no write access to the root directory, you can not
  create a directory "/tmp" if there is not one already. Hence the application will fail.


login: gwlester
mimetype: text/x-fossil-wiki
icomment:
  Fixed in [89bec73d35]

  <b>NOTE</b> -- the problem had been corrected somewhere along the line in auth.tcl.  It existed in bin/tclhttpd.rc and htdocs/access/htman.tml.  Also several HTML files reference files in the /tmp directory, these HTML files were not touched.


mimetype: text/plain
icomment:
  I don't have a patch and didn't dig too deeply, but \[file exists 
  index.tml.\] returns true but the comparison on the file 
  extension for the mime type is used not with the actual 
  filename.  Aside from discarding any request ending with a ., I 
  don't know how to fix this.

  D:\tclhttpdCVS\tclhttpd\htdocs&gt;tclsh84
  % file exists index.tml.
  1
  % file extension index.tml.
  .
  % file extension index.tml
  .tml

  If 'file exist' was forgiving about the trailing dots...
  Maybe file normalize can help:

  % file normalize index.tml.
  D:/tclhttpdCVS/tclhttpd/htdocs/index.tml
  % file extension \[file normalize index.tml.\]
  .tml
  % file extension \[file normalize index.tml....\]
  .tml
  %


mimetype: text/plain
icomment:
  This might work.

  Index: mtype.tcl
  ==============================================
  =====================
  RCS file: /cvsroot/tclhttpd/tclhttpd/lib/mtype.tcl,v
  retrieving revision 1.7
  diff -c -r1.7 mtype.tcl
  \*\*\* mtype.tcl        28 Apr 2004 08:38:07 -0000        1.7
  \--- mtype.tcl        14 May 2004 17:16:07 -0000
  \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*
  \*\*\* 17,23 \*\*\*\*
  proc Mtype \{path\} \{
  global MimeType

  \!     set ext \[string tolower \[file extension $path\]\]
  if \{\[info exist MimeType\($ext\)\]\} \{
  return $MimeType\($ext\)
  \} else \{
  \--- 17,23 ----
  proc Mtype \{path\} \{
  global MimeType

  \!     set ext \[string tolower \[file extension \[file normalize 
  $path\]\]\]
  if \{\[info exist MimeType\($ext\)\]\} \{
  return $MimeType\($ext\)
  \} else \{


mimetype: text/plain
icomment:
  Here's another idea.  The check in Doc\_Handle for \[file 
  readable $path\] is too gratious in allowing extra periods to 
  follow it.

  Index: doc.tcl
  ==============================================
  =====================
  RCS file: /cvsroot/tclhttpd/tclhttpd/lib/doc.tcl,v
  retrieving revision 1.51
  diff -c -r1.51 doc.tcl
  \*\*\* doc.tcl        22 Mar 2004 05:33:28 -0000        1.51
  \--- doc.tcl        14 May 2004 17:57:43 -0000
  \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*
  \*\*\* 393,399 \*\*\*\*
  return
  \}
  DirList\_Directory $prefix $path $suffix $sock
  \!     \} elseif \{\[file readable $path\]\} \{

  \# Look for Tcl procedures whos name match the 
  MIME Content-Type

  \--- 393,399 ----
  return
  \}
  DirList\_Directory $prefix $path $suffix $sock
  \!     \} elseif \{\[DocCompareActualToAsked $path\]\} \{

  \# Look for Tcl procedures whos name match the 
  MIME Content-Type

  \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*
  \*\*\* 412,417 \*\*\*\*
  \--- 412,427 ----
  \}
  \}

  \+ \# overcome Tcl's tendancy to accept extra periods at the 
  end of a filename
  \+ proc DocCompareActualToAsked \{path\} \{
  \+     if \{\[file readable $path\]\} \{
  \+         set actualFname \[file tail \[file normalize $path\]\]
  \+         set askedFname \[file tail $path\]
  \+         return \[expr \{\!\[string compare $askedFname 
  $actualFname\]\}\]
  \+     \}
  \+     return 0;
  \+ \}
  \+ 
  \# Doc\_GetPath --
  \#        
  \#        Return a list of unique directories from domain root 
  to a given path


mimetype: text/plain
icomment:
  It's a serious problem, and should be fixed in the source.

  Notably, It doesn't occur when I run under tcl 8.5 from CVS,
  which suggests it's due to tcl.

  Incidentally, DavyGravy, you're using SORBS to block
  potential spam, it blocks my IP address merely because I'm
  on a cable modem with a dynamic IP address, so I can't reply
  to you directly ... you might want to reconsider your choice
  of SORBS :\)


mimetype: text/plain
icomment:
  sorry about about my email service.  I have you whitelisted 
  now.  Due to my 200 spam emails I receive a day, my filter 
  sensitivity needs to be at maximum.

  Works in 8.5?  I'd better rebuild mine:

  D:\tclhttpdCVS\tclhttpd\htdocs&gt;tclsh85
  % file exists index.tml
  1
  % file exists index.tml..
  1
  % file exists index.tml....
  1
  % file readable index.tml
  1
  % file readable index.tml...
  1
  %


mimetype: text/plain
icomment:
  With a fresh 8.5a2, I'm still getting it.

  Both the behavior in tclhttpd \(the result of\) and the file 
  subcommands.  Most notably, these two are the ones that 
  are causing this:

  D:\tclhttpdCVS\tclhttpd\bin&gt;tclsh85
  % file readable httpd.tcl....
  1
  % file extension httpd.tcl....
  .
  %

  Because \[file readable\] says yes within the second arm of the 
  if within \[Doc\_Handle\], and \[Mtype\] returns text/plain 
  because \[file extension\] just returns a .


mimetype: text/plain
icomment:
  I plan to 
  set path \[DocPathNormalize $path\]
  inside Doc\_Handle.  That covers the later
  calls to file exists and file readable.

  The DocPathNormalize procedure a wrapper around
  file normalize
  to deal with use in older versions of Tcl.

  This is a Windows-specific problem.  A Unix
  system will not hit on a filename with
  extra trailing dots in its name.


mimetype: text/plain
icomment:
  Brent, I think you'll find that I've put something in util
  to give the file command 'normalize' capabilty.


mimetype: text/plain
icomment:
  I am just about %100 convinced that this is caused by bug
  414910 

  http://sourceforge.net/tracker/index.php?func=detail&amp;amp;aid=414910&amp;amp;group\_id=10894&amp;amp;atid=110894


mimetype: text/plain
icomment:
  hmmm... it seems the configure
  distributed with the 3.4 release
  was created with autoconf-2.13,
  so I guess that's ok after all...
  committing fix.

  BTW, can someone add me to the
  Tracker so I can claim bugs?


mimetype: text/plain
icomment:
  After downloading the latest tclkit for win32 from http://www.
  equi4.com/tkdownload.html I get the error message 
  package md5 is not present while executing "package present 
  md5"

  I have activeTcl 8.4.7 installed on my machine.


mimetype: text/plain
icomment:
  This code has been removed from the head in favour of
  displaying the generated password on Stderr, which is a much
  better idea anyway.

  Note-to-self: use fileutil's temp directory facilities.


mimetype: text/plain
icomment:
  That is insufficient information to track down the bug.

  We will need to see what .net is sending, and what tclhttpd
  is replying.

  I will contact you to arrange for you to point your app at a
  server I can monitor.


mimetype: text/plain
icomment:
  Logged In: NO 

  the bug is due to 100-continue message. in httpd.tcl line 735 is:
  puts $sock "100 Continue HTTP/1.1\n"
  it should be 
  puts $sock "HTTP/1.1 100 Continue\n"


mimetype: text/plain
icomment:
  If I read this correctly, \[info exists var\] says yes, but
  $var says no such variable?  If this is so, it should be
  resolved within tcl.

  This can't possibly be a tclhttpd problem.  It may be a
  problem with tcl's env handling, I don't know.  We can't
  solve that here, and I don't have enough information to feel
  comfortable forwarding the bug report.

  Please try on a more recent tcl, and see if the problem
  persists.


mimetype: text/plain
icomment:
  Attached a list of packages, and the packages they use, but 
  not require, or require, but not use, ...

  The structure of the attached file is regular enough to allow 
  conversion into some graph language and visual display.


mimetype: text/plain
icomment:
  I effected the changes you outline, Andreas, and found
  myself in what seems to be a twisty maze of circular
  dependencies.  I'm going to have to run tsort over the list
  you've given me, and resolve the cycles.

  Additionally, there's some fairly funky code designed to
  locate the proper lib directories to source from in several
  different installation scenarios.  I'm not up to looking at
  that right now.

  Nonetheless, your hard work should be utilized to improve
  the system.  Did you automatically generate it?  I guess it
  might be possible to grep the code for
  \(\[A-Z\]\[A-Za-z\]+\)\_\[A-Z\]\[A-Za-z0-9\]+ to find modular
  dependencies, since the code rigorously adheres to that kind
  of API.


mimetype: text/plain
icomment:
  Yes, I used an small tcl script to generate this. I will try
  to dig it out and attach it here. It basically extracts per
  file the names of the procedures defined in it \(via proc\),
  and then goes over all files again looking where the
  procedures are used. It can generate bogus dependencies if a
  proc name is used in a comment, or is so generic to be a
  word used in other text. It is nevertheless more exact than
  the package require statements I have seen.

  The script did not deal with indirectly defined usages,
  which happen in the template system and such. I mean the
  fact that a package can define a proc foo-some-mime-type and
  the templating system will automatically pick this up and
  use it for data of this mime-type.


mimetype: text/plain
icomment:
  I've run Andreas' scripts, edited the output a little, and
  included explicit \[package require\]s in every module for
  every module dependency.  I've modified the package file to
  explicitly declare every package.

  This modification should make it easier to improve the
  startup script to load only those packages required, even
  permitting a simple 'I want only these facilities' kind of
  configuration, and should eventually facilitate a truly
  minimal tclhttpd by simple selection of the set of required
  modules at startup.

  I've checked in the patches, to HEAD.  At the moment they
  explicitly refer \(in a comment\) to the procs which prompted
  each \[package require\], although that's bound to get out of
  date and will probably be removed after people have had a
  chance to ponder their significance.

  I'll leave this bug pending for the moment, in case the mods
  cause problems \(but they don't seem to.\)


mimetype: text/plain
icomment:
  Moved test for template earlier in the process, moved
  template test into template, out of Doc\_text/html and
  Fallback\_Choose.  Additional generalised functionality comes
  for free, with the more coherent implementation.


mimetype: text/plain
icomment:
  So is this something we can blame on \[fcopy\] ?

  Can the problem be reduced to a short demo script?


mimetype: text/plain
icomment:
  I get a socket leak when I shut down connections in the
  middle of things, but not when the server runs normally.


mimetype: text/plain
icomment:
  The putenv\(\) bug has now been fixed and probably accounts 
  for all of this and is not related to tclhttpd at all, just a core 
  problem.

  See https://sourceforge.net/tracker/?
  func=detail&amp;amp;atid=110894&amp;amp;aid=414910&amp;amp;group\_id=10894


mimetype: text/plain
icomment:
  I was able to get windows to leak channels.  It's registered
  under this Tcl bug:

  \[ 599468 \]

  http://sourceforge.net/tracker/?func=detail&amp;amp;aid=599468&amp;amp;group\_id=10894&amp;amp;atid=110894


mimetype: text/plain
icomment:
  I tried this on OSX with ActiveTcl 8.5 and I do not see the error. I did the following from within tclsh:

  % mkdir \\\[temp\\\]
  % set pattern \*
  % set dir /path/to/the/dir/with/\[temp\]
  % glob -nocomplain -- \[file join $dir $pattern\]

  I get a directory list from the glob with the \[temp\] directory as well. No errors.

  What version of Tcl?

  What OS?


mimetype: text/plain
icomment:
  The &amp;quot;result of the catch command&amp;quot; can be set with \[return\]:
  return -code 302 &amp;quot;This is a redirection...&amp;quot;


mimetype: text/plain
icomment:
  Hi rmax,

  you're right ... That works. ...  I think ... maybe .. 

  catch \{return -code 302 &amp;quot;...&amp;quot;\}

  does return 2 \(for TCL\_RETURN\) ...  hmmm maybe this should 
  not be tested interactively?
  Anyhow, it works. Thank you very much.
  Best regards
  Stefan


mimetype: text/plain
icomment:
  It can be tested interactively, but you have to put the
  \[return\] into a proc:

  % proc foo \{\} \{return -code 302\}
  % catch foo
  302
  %


mimetype: text/plain
icomment:
  Ok, got it.  Just change the HttpdCopyDone sig to be:

  proc HttpdCopyDone \{in sock close bytes \{error &amp;quot;Close&amp;quot;\}\}

  It works well.


mimetype: text/plain
icomment:
  I don't understand this problem, although I'd like to.  Is
  tclhttpd not conforming to the standard, or is it IE?

  In other words, is the best standard solution to ignore the
  lack of response from IE, or to do what IE requires to
  provoke a response \(since that could conceivably be the
  right httpd thing to do\)?

  Can you advise, Dave?


mimetype: text/plain
icomment:
  IMO, there is \*NO\* standard ;\)

  Respect of 'Connection: keep-alive' is undefined.  Will 
  research this some more.  I have since changed 
  \[HttpdCloseP\] and will post an updated diff.


mimetype: text/plain
icomment:
  When you say it doesn't check locale/LANG and that it uses
  whatever LANG is set in the environment ... I'm not sure
  what you mean.  I'm fairly sure the server doesn't
  intentionally use any LANG at all.

  What are you seeing that you think is wrong?  Are you saying
  that the default character encoding of transmissions is
  wrong, or something?  Do you think it needs to be selected
  per page, or negotiated?  Where do you think the character
  encoding, and date format, etc etc should come from?

  Oh, and what version of tcl are you running?   What's your
  setup?


mimetype: text/plain
icomment:
  If the server is started with a non-C LANG in effect it will happily use 
  that. 

  Try it: 

  setenv LANG uk\_UA.KOI8-U 
  tclsh8.4 ....../httpd.tcl 
  .... 
  HEAD http://localhost:8015/ 

  and watch for the Date: header as printed out by HEAD. If you read 
  Cyrillics, that is :-\) 

  I know, the server is not doing anything with LANG. I'm saying, it 
  should. If LANG is not C, Tcl's time-command will return a localized 
  date string -- instead of the ASCII. 

  I'm using tclsh8.4 on FreeBSD-5. The default LANG on my system is 
  uk\_UA.KOI8-U \(Ukrainian\). Usually, an app needs to be fixed for 
  localization. tclhttpd is the opposite :-\) 

  The workaround is to explicitly set the LANG to C in whatever sh-script 
  is used to start the server, which is what the FreeBSD's port of tclhttpd 
  is doing now \(since a few hours ago\). 

  http://freshports.org/www/tclhttpd/ 

  http://www.freebsd.org/cgi/cvsweb.cgi/ports/www/tclhttpd/files/tclhttpd.sh?rev=1.2&content-type=text/x-cvsweb-markup 


mimetype: text/plain
icomment:
  Isn't 'C' locale the default locale on the serving machine?
  Shouldn't tclhttpd use that unless the system is configured
  to tell it not to?

  I don't think tclhttpd should be making those system-wide
  decisions, and I think your work-around is actually the best
  solution to the problem because we don't know what the
  person running the server wants to do about the server's
  locale, tclhttpd doesn't know about locale, and so it makes
  sense to use the locale specified by the system.


mimetype: text/plain
icomment:
  C locale is the default on \_many\_ servers, but it is not a requirement 
  or anything. On my servers, for example, the Ukrainian locale is the 
  default one. 

  tclhttpd should not \(and can not, of course\) make system-wide 
  decisions. It just needs to decide for itself -- and use "encoding 
  system" to either set the locale to C once and for all, or every time 
  before generating the Date:-header \(because pages can change locale, 
  can't they?\). 


mimetype: text/plain
icomment:
  Ok, I know nothing about localisation, but it occurs to me
  that if you can set the environment variables from the shell
  and get the desired effect, you could also set them within
  tclsh by simply setting ::env\(LANG\) or whatever to whatever
  value you want.

  Want to give it a try, see if it fixes your problem?

  As far as I can see, tclhttpd should be completely locale
  agnostic, and not change anything it inherits of locale
  unless the admin wants to change it.


mimetype: text/plain
icomment:
  Colin, I'm sorry to say this, but you "are not even wrong". 

  Could you, please, show the report to someone else on the dev-team 
  as well? Thank you. 


mimetype: text/plain
icomment:
  Anyone on the dev team who's sufficiently motivated can take
  over any time, with my thanks.

  Meanwhile: have you tried doing as I suggested, setting the
  environment variable within the tclhttpd startup?  If so,
  what was the outcome?


mimetype: text/plain
icomment:
  It does not matter whether the encoding is set through \`encoding 
  system' or through \`set ::env\(LANG\)'. I have a workaround -- setting 
  the LANG to C in the rc-script. But this prevents the server from 
  generating anything locale-specific. 

  The generation of the Date: HTTP-header should be independent of the 
  rest of code. Simply calling 'clock format' is not always correct. 


mimetype: text/plain
icomment:
  &gt; The generation of the Date: HTTP-header should be independent
  of the rest of code. Simply calling 'clock format' is not
  always correct.

  Aha\!  That makes perfect sense to me, at last.  Ok, I'll ask
  someone who knows the clock format intimately what should be
  done, and do it.

  Thanks.  Any other protocol-level gotchas?


mimetype: text/plain
icomment:
  The best information I have on this matter is that tcl8.4
  under unix always relies upon the environment for its clock
  format.  For this reason \(among others\) tcl8.5 clock was
  extensively rewritten and includes a -locale switch.

  I am willing to put \[set env\(LC\_TIME\) C\] in the server setup
  for versions of tcl &lt; 8.5, but I am not willing to
  save/restore env\(\) elements around each invocation of
  \[clock\], because: \(1\) setting env\(\) is very expensive, \(2\)
  it doesn't play well with threads.

  This will mean that \(for tclhttpd under tcl8.4\) times under
  clock will never be localised, but other aspects should
  remain as they are. 

  It's the best I can do, will it suffice?


mimetype: text/plain
icomment:
  I don't really care one way or the other -- the FreeBSD port sets the 
  LANG explicitly prior to launching httpd.tcl 

  If you are not willing to alter the environment each time the Date:-header 
  is generated \(and your reasons are, probably, sound\), than it hardly 
  matters. 

  However, you could add something like nclock or httpdate command to the 
  few functions currently written in C \(setuid, limit, et al.\). That will work 
  faster than the clock\(n\) and will ignore the locale setting. 

  I'm attaching a simple implementation, that is 3 times faster than colling 
  \`clock format \[clock seconds\]' \(4 vs. 12 microseconds\) and produces the 
  correct result regardless of locale. 


mimetype: text/plain
icomment:
  Come to think of it, the httpdate command should, probably, prepend the 
  string "Date: " to the result as well, so that the server can just puts it out 
  immediately saving another couple of microseconds: 

  -puts $sock "Date: \[HttpdDate \[clock clicks\]\]" 
  +puts $sock \[httpdate\] 


mimetype: text/plain
icomment:
  The CVS repos of tcllib has been updated with a fix so that
  mime and smtp adapt to whatever version of md5 is present,
  and use v2 if none was loaded before. This should fix the clash.

  However a new release of tcllib might be needed. Thoughts ?


mimetype: text/plain
icomment:
  Checked in code defining an alias to provide the md5hex
  interface to md5, conditional upon the md5 version available.

  Andreas Kupries has also fixed the problem in tcllib 1.6.1
  preliminary release.


mimetype: text/plain
icomment:
  As of 1/29/03 This is still broken
  lib/httpd.tcl and lib/thread.tcl both call &amp;quot;Count errors&amp;quot; which 
  trys to increment the errors tag. However, in lib/counter.tcl 
  the tag is initialized as error, which when you really do have 
  an error the counter code fails due to un-initialized errors.

  Recommend change: in lib/counter
  change
  foreach g \{domainHit hit notfound error\} \{
  counter::init $g -group $g
  \}

  to
  foreach g \{domainHit hit notfound errors\} \{
  counter::init $g -group $g
  \}

  Tom Wilkason


mimetype: text/plain
icomment:
  End-user workaround:
  copy the config/ directory from tcllib1.0 to httpd3.3 
  directory.

  Then, &amp;quot;autoconf; ./configure; ...&amp;quot;.

  This worked fine for me. Solaris8 x86 


mimetype: text/plain
icomment:
  Better fix, catches patterns like /\*

  Index: dirlist.tcl
  ===================================================================
  RCS file: /cvsroot/tclhttpd/tclhttpd/lib/dirlist.tcl,v
  retrieving revision 1.10
  diff -u -b -r1.10 dirlist.tcl
  \--- dirlist.tcl        4 Apr 2003 04:10:54 -0000        1.10
  +++ dirlist.tcl        24 Sep 2003 19:59:08 -0000
  @@ -175,6 +175,7 @@

  \# Filter pattern to avoid leaking path information
  regsub -all \{\\.\\./\} $pattern \{\} pattern
  \+    set pattern \[string trimleft $pattern &amp;quot;\\\/&amp;quot;\]

  set list \[glob -nocomplain -- \[file join $dir $pattern\]\]
  if \{\[llength $path\] &amp;gt; 1\} \{


mimetype: text/plain
icomment:
  As mentioned in the mailing list, possibly this fix will
  avoid the leakage:


  dirlist.tcl line 279 becomes
  pattern \{set pattern \[file tail $value\]\}

  The premise being that pattern can only validly be a file
  tail, anything else would allow a change of directory.

  What we really need is to use something like \[file
  normalize\] but it's not available to pre8.4 tcl, I think.

  Is there a canonical pure tcl equivalent of \[file normalize\]
  somewhere we could lift?


mimetype: text/plain
icomment:
  I've uploaded a patch which adds -unique bool flag to the
  definition of upload domains.  The -unique flag is off by
  default, but when set will cause the current \[clock clicks\]
  to be appended to any uploaded file.

  Hopefully this addresses Andreas' concerns while still
  leaving the current behavior available for those who want it
  \(for example, people might want to overwrite files in an
  upload directory controlled by a password, or generated on
  the fly for a session.\)

  If this checks out ok, this bug can be closed.


mimetype: text/plain
icomment:
  Andreas' suggestion has been implemented - a '-unique'
  option has been added which does just this, although I think
  prepending the ip address would be better, this does the job.

  The patch has been tested for a while, I'm therefore closing
  this.


mimetype: text/plain
icomment:
  It does what?  I can't find anywhere in the tclhttpd
  distribution that contains any tcllib manpages, and so can't
  find where it might do anything like install them ...

  Could you describe \(a\) your setup, \(b\) what you're seeing,
  because the problem statement isn't accurate.


mimetype: text/plain
icomment:
  \`make install' installs a number of .man files into the man/ 
  subdirectory of the main server's root. 

  These are automatically converted to .html, when first accessed. 


mimetype: text/plain
icomment:
  The man/ directory is already filled with .man files, and
  they are all tclhttpd-specific manual pages.

  Unless I'm horribly mistaken, it's a tclhttpd manual, not a
  tcllib manual.  There should not be a conflict.  What gives
  you the idea that they're tcllib manuals?


mimetype: text/plain
icomment:
  You are mistaken. A few of the manpages are specific to TclHTTPD 
  \(architecture.man\) , but most are from tcllib -- uri, yencode, html, 
  doctoc -- you name it. 

  Even the TclHTTPD-specific manuals should be installed, where man 
  can find them, and the man-handling procedure should use that \(if it 
  needs to exist at all, that is\). 


mimetype: text/plain
icomment:
  Here is the CVS /man directory: http://snipurl.com/ary3 - no
  tcllib.

  I see the DIST/ directory has code to copy tcllib man pages
  around, which explains how they get there in the
  batteries-included distribution.  You are correct, my apologies.

  There may be good reason for them to be there, so I will
  direct your report appropriately.


mimetype: text/plain
icomment:
  See:

  http://mini.net/tcl/1795
  http://mini.net/tcl/1797
  http://mini.net/tcl/2114

  tclhttpd is a collection of scripts \(the program\) that need a 
  shell to run from.  Just change the shell to one that can run 
  as a service.

  I guess...  make sense.


mimetype: text/plain
icomment:
  I have a tclsvc.exe compiled \(with tclsh8.3.1\) and working
  for Windows 2000 that I will contribute \(I think Matt Newman
  has one for 8.0 on his page for &amp;quot;Run as a Windows Service&amp;quot;
  \-- however -- it seems that tclsrvc.exe wants to be built
  for each specific tcl executable -- this precludes any ease
  of downloads that run out of the box.  

  Shawn 


mimetype: text/plain
icomment:
  The &amp;quot;MakeIndex&amp;quot; script is the one that was overlooked.

  Committing result of running it.


mimetype: text/plain
icomment:
  Re-opened.  Tip of the 3-4-rel branch is broken.

  Current release is allegedly 3.4.1, but version.tcl
  says 3.4.2 and pkgIndex.tcl says 3.4.

  This means startup of httpd bails out immediately
  with &amp;quot;Can't find usable version.tcl&amp;quot;. 

  Note also that the search for a usable version.tcl
  file seems to be looking in directories named
  tclhttpd3.4.1 even though the install is into a directory
  named tclhttpd3.4


mimetype: text/plain
icomment:
  The actual bug in the current CVS 3.4 branch is that
  bin/httpd.tcl also refers to the version, and that was
  out-of-date.
  If you change it to have
  set v 3.4.2
  then it should correctly find the library.

  As for lib/version.tcl, I have it provide 3.4 because I
  wasn't sure
  if I could provide 3.4.patch \#.  Also, nothing actually
  requires
  httpd::version with a specific package level \(but
  bin/httpd.tcl could\)

  Finally, I added a file named VERSION to help me get it
  right next time.


mimetype: text/plain
icomment:
  I don't think so.  After that change the version.tcl
  file will be sought in a directory named tclhttpd3.4.2
  while it is still installed in a directory named tclhttpd3.4.

  Problem is the call to \[tcl\_findLibrary\] is passing the
  full patchlevel spec as the &amp;quot;version&amp;quot; argument.  That
  would be OK, if \`make install\` agreed and installed in
  a directory containing the patchlevel.  But since the
  install is into a directory containing only the major/minor,
  the &amp;quot;version&amp;quot; argument to \[tcl\_findLibrary\] should be
  trimmed back to just the major/minor as well.

  Hasn't this been a problem before?  Or do most people
  not install tclhttpd?


mimetype: text/plain
icomment:
  Here comes a first set of manpages for a number of packages. 
  Incomplete. The file contains the manpages \(doctools 
  format, .man\), and the html generated from it for easier 
  viewing.

  Review please.


mimetype: text/plain
icomment:
  Took and initial look at Andreas upload -- they look good.

  I'm going to force some of my developers to &amp;quot;use&amp;quot; them to
  check for accuracy.


mimetype: text/plain
icomment:
  It has no use that I know of.

  Index: stdin.tcl
  ==============================================
  =====================
  RCS file: /cvsroot/tclhttpd/tclhttpd/lib/stdin.tcl,v
  retrieving revision 1.2
  diff -c -r1.2 stdin.tcl
  \*\*\* stdin.tcl        2 Aug 2000 07:06:54 -0000        1.2
  \--- stdin.tcl        13 Nov 2003 12:14:40 -0000
  \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*
  \*\*\* 65,71 \*\*\*\*
  vwait Stdin\(wait\)
  \}

  \! proc history \{\{count 100\}\} \{
  global Stdin
  puts stderr \[join \[lrange $Stdin\(history\) 0 $count\] \n\]
  \}        
  \--- 65,71 ----
  vwait Stdin\(wait\)
  \}

  \! proc Stdin\_history \{\{count 100\}\} \{
  global Stdin
  puts stderr \[join \[lrange $Stdin\(history\) 0 $count\] \n\]
  \}        


mimetype: text/plain
icomment:
  As far as I can intuit, the history command was supposed to
  emulate the inbuilt tcl history proc, for what reasons I
  can't guess, since it doesn't seem to be called directly,
  and I don't know what part of tcl might be calling it
  indirectly.

  It seems that the inbuilt history command has changed its
  interface, and the console you're building with uses the new
  history API.

  It's hard to know how to resolve this item, but I'm
  tentatively going with davygrvy's solution of just removing
  tclhttpd's history altogether, since the history mechanism
  seems broken as shipped.


mimetype: text/plain
icomment:
  You're right, I overwrote the httpd history proc with the
  history that comes with my Tcl distribution and things get
  right in debug mode. And David is right too, this proc is
  useless: I searched all the files in the httpd directory for
  a history proc reference but never found any call to it.
  Perhap's should would simply remove this proc in next releases.


mimetype: text/plain
icomment:
  Wrong - not a bug at all.  All template check is doing is
  returning early if a .tml file has changed - that's as it
  should be.


mimetype: text/plain
icomment:
  Logged In: NO 

  Sorry, this is a dup of 635083.

  However, the suggested fix noted in 635083 does not look 
  right.  It would have the effect of only sourcing the 
  pkgIndex.tcl file.

  And either way, \[file tail\] should be used before comparing.


mimetype: text/plain
icomment:
  Closed.  I believe the bug has been fixed in head for some
  time.  Thanks for spotting and diagnosing it.


mimetype: text/plain
icomment:
  This seems like an accurate diagnosis and efficacious patch.
  I'm recording the bug here.

  \[file normalize\] is provided, by emulation, in utils.tcl, so
  is safe to use anywhere.  IMO it should be used everywhere a
  path is introduced into tclhttpd.

  I will make and submit the patch as suggested by Joris, thanks\!


mimetype: text/plain
icomment:
  Logged In: NO 

  the fix should be in line 166
  instead of:
  if \{\[string compare $f &amp;quot;pkgIndex.tcl&amp;quot;\]\} \{

  it should be:
  if \{\!\[string compare $f &amp;quot;pkgIndex.tcl&amp;quot;\]\} \{


mimetype: text/plain
icomment:
  We just spent a while 
  on the Tcl'ers chat
  re-discovering this bug.

  It was apparently fixed
  over a year ago, but no
  3.4.3 release containing the fix?\!

  Come on.


mimetype: text/plain
icomment:
  Incorrect problem statement - the test file I was using to
  compare against  index.tml set content type to text/html.

  The problem is that we infer the return content type from
  the requested extension.  An empty suffix implies nothing
  about content type, and so the content generated after
  instantiating the template is construed as text/plain - the
  default content type, so the generated html is returned as
  plain text, and displayed by the browser accordingly.

  In this sense, then, the server is behaving consistently,
  even though the result is not what one might expect.

  It would be trivial to make the default content type
  text/html, but is that really what we want to do?


mimetype: text/plain
icomment:
  On reflection, I think it is not up to the server to coerce
  content to text/html when there are no cues from the browser
  as to desired content type - if the server doesn't know \(a\)
  what type of content a .tml might generate, \(b\) what type of
  content the browser wants, it is not right to assume text/html.

  Any comments/preferences/counter-arguments?


mimetype: text/plain
icomment:
  After testing, it appears that this behavior does occur with
  other \*.tml files, and is the specified behavior.

  The mime type of a URL is determined by \[Mtype $ext\] where
  ext is the URL's file extension. A URL without extension
  will be typed as whatever is in the MimeType\(\) element,
  which is \(by default\) text/plain, which seems like a
  reasonable value.

  It is possible to specify a different mime type for URLs
  without extension by setting MimeType\(\) to something else,
  e.g. text/html.


mimetype: text/plain
icomment:
  I think it's worse than that - if page handling code
  re-enters the event handler, then another request can be
  serviced before the first is finished.

  Since env is a global resource, setting it in such code will
  eventually cause inconsistency - it's a race condition.

  I think that the use of env should be deprecated.  It's much
  slower than normal variables, and it's got these unintended
  side effects.

  I realise that, for cgi, there's no other way to pass
  cookies back from the cgi code, but in that usage:

  1\) the env contents have to be protected against interleaving,

  2\) the use of env should be restricted to places where it's
  necessary ... I can think of cgi, but nowhere else.

  3\) the leakage of \(potentially sensitive\) information from
  one invocation to the next is a bad thing.


mimetype: text/plain
icomment:
  Your changes have been added to HEAD, and I can attest to
  the fact that Redirect\_To now works in .tml files.

  Thanks for the diagnosis and patches.


mimetype: text/plain
icomment:
  The distribution has had .htaccess files added to the
  htdoc/\{admin,debug,status\} directories, which has the effect
  of preventing access to these facilities, without a password.

  This effectively forces new installers to make choices about
  security.  Some tools are under development to facilitate
  maintenance of .htacces, group and password files.


mimetype: text/plain
icomment:
  A lot of work has gone into trying to tighten tclhttpd up,
  and I think we've addressed these concerns.

  1\) a one-time /debug password is emitted on Stderr at
  runtime to unlock the sensitive facilities.

  2\) /htaccess domain has been added to allow manipulation of
  .htaccess domains, create passwords, etc.

  3\) Digest authentication has been added \(this is not
  directly relevant, but adds to the security of the server.\)

  4\) a lot of cross-site scripting opportunities have been
  addressed and removed, but we're always looking for more.

  I consider this specific problem to have been resolved, but
  it's such a vital concern I'm tempted to keep it up as an
  aid memoire.  OTOH, a casual browser might misunderstand its
  remaining open, as meaning we didn't care about the issues,
  so I'll close it.


mimetype: text/plain
icomment:
  Logged In: NO 

  I have the same problem with CGI/POST-Operations under Windows 2000 
  Environment, Running tclhttpd v3.3 with tcl 8.3.2/multithread enabled 
  version and tcllib 1.3. The 'fconfigure...' fix doesn't change the behaviour; 
  POST still doesn't work\!


mimetype: text/plain
icomment:
  Logged In: NO 

  In my case, this problem was because Mtype\_ReadTypes doesn't read the mime types file, because a wrong line in the 'httpdthread.tcl' file :
  set path \[lindex $path 0\]
  That truncate the true path \(wiht spaces\)
  You can simply comment this line:

  foreach path \[list \
  \[file join $Config\(lib\) mime.types\] \
  \[glob -nocomplain \[file join $Config\(lib\) tclhttpd\* mime.types\]\] \
  \] \{
  \#   commented, because a valid path can contain spaces \!\!
  \#   if \{\[llength $path\] &gt; 0\} \{
  \#     set path \[lindex $path 0\]
  \#   \}
  if \{\[file exists $path\]\} \{
  Mtype\_ReadTypes $path
  break
  \}
  \}


mimetype: text/plain
icomment:
  updated patch: virtual3.patch

  Must copy the global array ::Httpd to all virtual host
  interps, or things like Cgi\_SetEnv will not work.
  Also updated to patch against 3.3.1.


mimetype: text/plain
icomment:
  Example use cases:
  \- Service Discovery in the Future Electronic 
  Market
  http://citeseer.org/chen00service.html

  \- The 
  Jini, Vision

  http://developer.java.sun.com/developer/technicalArticles/jini/JiniVision/jiniology.html

  \-
  MediaServer and MediaRenderer

  http://www.upnp.org/standardizeddcps/mediaserver.asp


mimetype: text/plain
icomment:
  This should get added to Tcl's sockets.  Best to put this FR to 
  the Tcl project as tclhttpd is a script that run's in Tcl.


mimetype: text/plain
icomment:
  But it needs the network layer code in tcl itself.  This is
  my point.

  Say you want to ask your uPnP router/gateway/firewall to
  open a hole on the WAN side for port 80 to route to the
  requesting LAN IP on port 80.  Maybe the tcom extension can
  instantiate some COM component to do it \(I remember reading
  that there is com flavors\), or maybe there's a uPnP library
  that needs a Tcl command interface, or maybe it's best
  hard-coded into win/tclWinSock.c as either an fconfigure on
  a channel or a seperate command.

  And in all the above, nothing is specific to tclhttpd \(the
  script that runs in tcl\)


mimetype: text/plain
icomment:
  Have a private version that supports multiple user and require group directives. Implemented but not tested yet.

  mailto:petrus.vloet@siemens.at


mimetype: text/plain
icomment:
  While this is a lofty design goal, it is the opinion of this developer that Tclhttpd is more or less intended to be the primary application running inside of an interpreter. The task of removing all of the global calls would require a major rewrite of the entire project.

  You always have the option of banishing the webserver to a slave interpreter. 


