Dear friends of NaviServer,

on sourceforge the new release of NaviServer 4.99.13 is
available [1]. As always, the newest release can be as
well obtained from bitbucket [2].

One more good news item: With the change [3] (which will be in
the next release of Tcl, probably 8.6.7), one big source for
potential crashes during shutdown is gone
(mostly annoying in "make test" runs), Hooray!

I'll prepare as well an announcement for c.l.tcl and Below are the changes since 4.99.12:

best regards


NaviServer 4.99.13, released 2016-10-15

  143 files changed, 3051 insertions(+), 2091 deletions(-)

New Features:
   - New Tcl functions:

       * ns_parseurl /url/
         Parse the provided URL into its parts and
         returns these in the form of a Tcl dict. The function supports
         IP-literal notation as specified in RFC 3986.

       * ns_absoluteurl /incompleteurl/ /baseurl/
         Construct a completed URL from a incomplete (e.g. relative)
         URL by taking as many parts as possible from the provided base

   - ns_striphtml: The function honors now numeric entities between 33
     and 255 instead of ignoring it.

   - New configure option for error.log: "logrollfmt", which can be
     specified in (section ns/parameters).  This option has the same
     interpretation as already provided for access log and provides
     timestamp based log file naming. This option can reduce back-up
     demands for large error.logs significantly (since the names are
     stable) and increases the orthogonality of options (in respect to

   - Ns_ParseUrl(): add support for protocol agnostic URLs (starting
     with two slashes as defined in RFC 3986).

   - ns_deletecookie: mark deleted cookie as non-scriptable to improve
     ratings on security scanners.

Bug Fixes:
  - Fix for [naviserver:bugs] #76: ns_configsections returned
    only one section (bug introduced in 4.99.12).
  - Fix URL parser in Ns_ParseUrl(), could return incorrect results
    when it received an URL in IP-literal notation (bug introduced in
  - Fix for potentially incorrect mime-types in fastpath, when static
    gzip is activated. The mime type was incorrectly set to
    application/gzip, when the static gzipped file was returned. This
    bug was introduced in 4.99.12, many thanks to David Osborne for

Documentation improvements:
   - Documenting new functions
   - Several small cleanups
   - Improved sample config files

C API Changes:
    - using unsigned int for ports
        Ns_SockListenUnix(), Ns_SockBindUnix()
    - using "long" for secs
        Ns_SockSetDeferAccept(), ns_poll(), Ns_DiffTime()
    - makeing argument types more precise
        NsPoll(), Ns_SockBinderListen(), Ns_GetNameForGid(), 

Code Changes:
  - Extended regression test
  - Improved source code documentation

  - C-Code cleanup:
    * Removed all implicit type-conversions, signed/unsigned comparisons
      as flagged by the following gcc/clang flags (ensure cleanness on 64bit)
      -Wconversion -Wsign-conversion -Wfloat-conversion -Wsign-compare

    * Reduced number of return statement before end of function
    * Reduced variable scopes
    * added types for uid_t, gid_t if not defined
    * Remove calls to Tcl functions which are deprecated/ going to be
      deprecated by Tcl. Code can be compiled now with -DTCL_NO_DEPRECATED
    * Converted all remaining Tcl_CmdProc to Tcl_ObjCmdProc
        NsTclAdpStatsCmd    -> NsTclAdpStatsObjCmd
        NsTclCrashCmd       -> NsTclCrashObjCmd
        NsTclHrefsCmd       -> NsTclHrefsObjCmd
        NsTclLibraryCmd     -> NsTclLibraryObjCmd
        NsTclMkTempCmd      -> NsTclMkTempObjCmd
        NsTclParseHeaderCmd -> NsTclParseHeaderObjCmd
        NsTclQuoteHtmlCmd   -> NsTclQuoteHtmlObjCmd
        NsTclStripHtmlCmd   -> NsTclStripHtmlObjCmd
  - Tcl-Code
    * tcl/aolserver-openacs.tcl:
      Register delete trace to run nsf::finalize in a safe state (before
      any other c-based finalize handler are fired)
    * regression test: Replaced Tcl "eval" by expand operator

Check out the vibrant tech community on one of the world's most 
engaging tech sites,!
naviserver-devel mailing list

Reply via email to