
Change History of libwww
This is a list of changes to libwww in reverse
chronological order. See also the release
notes for the latest release.
This is a minor release that mainly provides bug fixes and small
enhancements that have been commited to CVS since the last release. Vladimir
Koslov provided indispensable help for testing and preparing the Win32
release. Special thanks to Wayne Davison, Art Barstow, Peter Stamfest, Zhu
Qun-Ying, Jens Meggers, Ken Olum for their contributions.
- Summary of principal changes (the ChangeLog
provides a detailed account)
- The following sample applications could core dump under Windows:
head.c, getheaders.c, chunk.c, chunkbody.c,
multichunk.c
- When retrieving an object from the cache, the HTTP headers
associated with the object weren't stored in the HTResponse
object.
- The cache garbage collector could go into an endless loop.
- The HTResponse object now returns the HTTP reason.
- Update of expat to version 19990728.
- Optimization, enhancements, and bugs fixes to the HTRDF module
- Some memory leaks and compiler warning fixes.
- The robot could hang when accessing local files.
- Optimization of the HTChunk and HTHash modules.
- Outstanding bugs
- The
webbot crashes from time to time under Windows. It
seems to be a problem while reading the robots.txt file,
where the application frees a request that's still registred in the
Windows async. loop.,
- The
tiny.c sample application doesn't prompt the user
with a text input.
- Interpretation of FD_CLOSE
under Windows.
- The FTP implementation has memory leaks and doesn't remember the
path or authentication information correctly.
- Compiling with -O2 and -Wall reveals some unitialized variables in
HTDIR and HTFTP.
- To do
- Compile the answers to the libwww survey (volunteers are
welcome).
This is the proper first 5.3 release. We changed the minor release number
as many people had started to refer to the previous release as 5.3.0.
- What's new
- Art Barstow (barstow@w3.org): fixed a bug with the handling of
parseType="Literal" by the RDF parser. None of the elements [and
attributes if there were any] were added to the literal. The only
string that was added to the literal was the elements' content (aka
CDATA).
- Changed the Makefile so that .html->.h file conversion will only
be done with Perl. This is faster than using the www tool.
- Updated the latest autoconf, automake, and libtools scripts. Now
using the separate config.guess
and config.sub scripts.
- Extended the libwww/SSL API with HTSSL_setProtocol () and
HTSSL_verifyDepth () functions to allow to change the TSL/SSL default
protocol and the certificate verification depth. The wwwssl
application was updated accordingly.
- Diverse documentation updates provided by Fox One.
- Fixed bugs
- The www wasn't able to convert .html files into .h ones
anymore.
- the Extrnals.html file wasn't being
generated on all platforms.
- Applied diverse patches for libwww/SSL which should correct the
multiple request and Post problems that people had signaled. Many
thanks to Heiner Kallweit and Gertjan van Winger for their
contributions.
- Other patches I (unfortunately) forgot to note down and am too lazy
to get them out from CVS... (sorry, will keep better notes next
time!)
- Outstanding bugs
- Interpretation of FD_CLOSE
under Windows.
- The FTP implementation has memory leaks and doesn't remember the
path or authentication information correctly.
This is the first release done after Henrik's depart from W3C. We're
calling it a pre-release, as we're not sure if we prepared it correctly.
Special thanks to Henrik Frystik, Fox One, Vladimir Koslov, Rafaelle Sena,
and all the other libwww User's Community for their patches and continuous
support.
- What's new
- Included all the patches commited to CVS since the last release.
It's been over a year since the last release and we don't have an
exact count of what was commited. Many of them consisted of memory
leak fixes and fixup with the asynchronous event handlers and timers
under Win32.
- Integrated the libwww-SSL code back into libwww (the US export
restriction doesn't apply anymore to source code).
- Upgraded expat to v1.1.
- Merged the outstanding Amaya libwww changes into the main tree.
For this release, special thanks go to the libwww hackers Olga Antropova,
Vladimir Kozlov, John Punin Olga Antropova, Jose Kahan, Vladimir Kozlov, John
Punin, Bob Racko, and Raffaele Sena for all their hard work and cool new
features including:
Also in progress is work on
Release 5.2.6, Feb 24, 1999
This release is the has a lot of bug fixes and new features - primarily as
a result of lots of really cool work done by people hacking away on libwww
including:
Release 5.2, Nov 1, 1998
This release is the first release after the libwww
CVS Repository was made public in May 1998. At the time of the release
there were more than 500 checked out versions of the libwww code base and
numerous people have contributed to this release in form of bug fixes, extensions, and new features.
New Features
- Added
a method in the HTAccess API for
posting forms and returning the response as a HTChunk object
- Added handler for unknown content encodings in the Command Line tool to be a through line
(identity decoding) using the best matching
mechanism
- Added support for regex handling of
proxies so that you can now say something like this: all URIs
matching this regex goes to this proxy, all others go to this, etc.
- Better control of how much data is being sent in the REQUEST OBJECT. Now you can both get the
total number of bytes read and written as well as the number of entity
(body) bytes read and written. This uses features provided by the HTNet
object
- The default implementation of progress
notifications now uses the new HTRequest bytes read/written
methods.
- The mime parser in HTMIME.c and HTMIMERq.c now uses the updated control of
bytes read/written.
- Added support for version conflict detection in Web Commander (update all of WinCom area)
- The Web Commander - the Win32 GUI PUT
sample application has been updated from the ground up - try it out!
Bug Fixes
Release 5.1m May 21, 1998
New Features
- Changed the encoding
streamstack builder to support best matching capabilities.
This means that you now can register a default decoder like this:
HTFormat_addCoding("*", HTIdentityCoding, HTIdentityCoding,
0.3), for example where HTIdentityCoding is a coder
provided by libwww.
- Added support for writing out
Link: header fields when uploading a document. The Link:
header field is use to represent link relationship between documents
- Changed HTEscape to deal with silly
MSDos file type escaping of the drive name (using ":").
- Added support for automatic authentication
(!) in the Command Line Tool so that it
is now possible to authenticate from scripts etc.
- Direct access to the CVS repository -
checkout libwww and work with the latest version!
- Made sure that we write more often as we check for expired timers in
HTWriter.c
- Added a "repetitive" flag to timers so that they can be created to say
call me every 30ms over and over again
- Added support for building libwww as a shared library on Unix (it is
already using DLLs on Windows). If you have any problems with shared
libraries on your platform then run
configure with the
--disable-shared flag and you will
only get the static version. If you are using libwww as a shared library
but do not use the libwww HTML
parser then you MUST include this dummy implementation of the HText interface somewhere in your code. The
reason for this is that the HText interface may be called (it depends a
bit on how your platform supports shared libraries) but an implementation
isn't provided.
- Added support for MySQL access in this simple SQL interface which takes care
of most os the common problems encountered when talking to an SQL server.
Currently I use this for handling
logging in the
webbot but many other features like persistent caching, preferences,
etc. can use the SQL module as well. You
can also see some cool examples of how
to use the robot's logs when querying MySQL through www-sql.
- Changed the name of "config.h" to "wwwconf.h" as the
first
name caused conflicts with other packages
- Changed the name of "sysdep.h" to "wwwsys.h" for the
same reason
Bug Fixes
- Fixed a bug in the generation of relative
URIs which caused the creation of incorrect relative URIs. Libwww
uses relative URIs in the HTTP referer field and other places to save
(often significant) amount of bandwidth.
- Decreased default max number of outstanding (pipelined) requests from
100 to 50
- Does now check whether we get a broken pipe when writing to the network
from expired timers. This was a bug that it didn't.
- Applied the following patches
- Fixed a problem in the HTWWWStr.c that caused a Y2K
bug if strftime isn't available on the system on where libwww is
running
Release 5.1l March 25, 1998
This is a small add-on to 5.1k that was released two days ago. It has a
few fixes that was discovered while working with the latest Arena browser.
Bug Fixes
- Minor stuff that made PUT work nicer from a user perspective (when to
ask what questions, etc)
- Fixed a few things in the direct WAIS access module
Release 5.1k March 23, 1998
New Features
- Added a simple "single user lock" on the persistent cache as it gets
confused if multiple users are using it.
- On Unic, the header files are now installed when running "make
install". The default location is
"/usr/local/include/w3c-libwww".
- On Unix, aset of icons that can be used when browsing local file
directories are also installed - the default location is
"/usr/local/share/w3c-libwww"
Bug Fixes
- These are the patches that I have received
for the current release. They will be applied to this upcoming
release.
- Fixed a few bugs that make Arena run on top of
the latest version
Release 5.1j March 9, 1998
New Features
- Made the distinction between Transfer-Encoding and
Content-Transfer-Encoding clear - they were somewhat mixed up before.
Libwww also now supports multiple transfer-codings as well as multiple
content-codings as required by HTTP/1.1.
- Changed the Stream Stack to not call
the
SaveLocally stream any more but instead return an
ErrorStream. The reason for this is that there are several places in the
stram stack building algorithm where we might want to save the file to
local file: when there is a content type that we don't understand, a
content-encoding, or a transfer-encoding (or a combination of these) that
we don't understand. Now we can make sure that the
SaveLocally stream is only called once
- Added support for "identity" transfer-coding and
content-coding
- Added support for Allow header when doing PUT and POST
Bug Fixes
- Fixed a problem handling wrong HTTP responses from NCSA HTTPD derived
servers (they don't include a version number when responding to an
HTTP/1.1 request)
- PUT now works much more reliable, and it also works on Windows (at
least NT, I haven't tested it on 95).
- Fixed a refresh problem in the Line Mode
Browser which caused it to sometimes render the screen twice.
Release 5.1f January 1998
New Features
Bug Fixes
- Fixed some problems in the HTRelative function in HTParse.
Release 5.1e January 1998
New Features
Bug Fixes
- Fixed bug in ouputstream that caused
buffer to be overwritten in some cases when blocked on write
Release 5.1d December 1997
Bug Fixes
New Features
- Better logging facilities with support for multiple log objects including referer
logging, Common Log File format logging and general logging filters.
Release 5.1c September 1997
Release 5.1b April 1997
Bug Fixes
- Fixed a problem in HTRules.c as
described in this
bug report
- Fixed coredump problem in HTGetTmpFileName() as described in this
bug report. This affects also the HTCache module which relies on temporary
file names
- Made the persistent cache more robust
which in some cases will save a segmentation fault
- Fixed problem in wwwsys.h as reported
in this
bug report
- Fixed problem where a request was not flushed if using blocking sockets
as reported by this
bug report.
- A limitation in the current persistent cache is that it only works in
non-preemptive mode. Hence if using blocking sockets then the cache
should be disabled. This is now the default behavior in the libwww profiles.
- Bug fixed that caused the
maxsock variable used in
select() not to be decreased when deleting a socket in the
default event manager
- Changed the connection management so that it complies with the Connection
Management draft by Jim Gettys and Alan Freier. The HTTP client now
closes idle connections after 60 seconds which is a heuristic period
chosen by Jeff Mogul in the paper "The
Case for Persistent-Connection HTTP". The number can be dynamically
changed using the
HTHost_setPersistTimeout() and the
HTHost_persistTimeout() methods. This could be made more
advanced so that we take into account any information given in the
"Keep-Alive" header but isn't for now.
- Fixed a problem when a HTTP/1.1 server sent a response including a
Connection: close header using the close of the TCP connection
as a delimiter. This problem was pointed out in this
bug report
- Fixed security hole handling HTTP 305 proxy
redirection codes. The proxy location returned in the responses was
enabled as a permanent proxy without any notification. The operation now
requires explicit acknowledgement from the user
- Fixed potential (but small) security whole handling parsing a new rules file. This operation
now requires explicit acknowledgement from the user.
Release 5.1 February 18 1997
New Features and APIs
- Added support pipelining
- Support for zlib based decompression in content encoding
Bug Fixes
This release was originally called 4.1 but because we now have a complete
HTTP/1.1 client side implemenation including a
persistent cache manager and full support
for uploading documents, we decided to call it version 5.0 instead.
The focus for version 5.0 of the W3C Sample Code Library
is to provide a set of higher level, application specific APIs for accessing
the Web. These APIs - called profiles -
will help the application, a Web client for example, to more easily use the
full potential of the application independent Library core. Also, the Library contains a
significantly better interface for easy access to the Web through a large set of functions specialized to perform
certain Web operations like PUT, POST,
DELETE, GET and HEAD.
This release contains a TCL add-on to the Robot
example application and a Deja GNU Test suite
for the Library. Also, it support HTTP/1.1
including persistent connections, two-way PUT, and the
host header. There is also a sample PEP
implementation, that although incomplete can give an idea of where we're
headed using PEP.
Bug Fixes
- Changed
HTGetTmpName not
to use tempnam() anymore as it caused problems.
- Added argument to
HTParseTime so that we can decide
whether we want to expand relative times or not.
- The request pointer passed to a progress
notification may be
NULL -be aware!
Release 4.1b5 August 24 1996
Release 4.1b5 is mainly a bug fix release after intensive testing against
the Common Lisp Server which also is a
HTTP/1.1 application. However, it also has a few new features worth
noting.
New Features
- Added support for the entity-tag validator headers:
If-Match and If-None-Match and also for the
date validators If-Modified-Since and
If-Unmodified-Since. We only use either etags or date stamps
and the entity-tag validators have precedence over the date
validators.
- Added acinclude.m4 in the WWW directory. The file is used by
automake
- Changed the configure script to handle
the location of the icons distributed as part of the libwww distribution
package.
- Added full support for
Cache-Control header and
Connection header. Both headers can have an association list
of name value pairs as directives.
- Moved the memory cache handler (history handler) from the line mode browser to be a BEFORE filter which can be used by other
applications as well. It is now included as part of the client profile.
- Changed the expiration handling API to
not include any notification messages. Any messages to be transmitted to
the user is now handled by the Alert
manager.
- Added persistent cache manager to
the client profile.
- Added validation command to the line mode browser
- Changed the cache validation management in the Request object. The validation scheme is now
compatible with HTTP/1.1 caching including handling of the history list.
We have changed the validation enumerations from
HT_ANY_VERSION, HT_MEM_REFRESH,
HT_CACHE_REFRESH, HT_FORCE_RELOAD
HT_CACHE_OK, HT_CACHE_FLUSH_MEM,
HT_CACHE_VALIDATE, HT_CACHE_FLUSH.
Bug Fixes
- Fixed problem when getting a
connection header with the
close directive. The problem caused libwww to loop as it
recursively tried to free the input stream pipe
- Fixed bug in access authentication which could cause libwww to loop if
the top level of the site was protected.
- Fixed bug that caused a core dump if receiving a message body without
any
content-type. Now the data is passed to the guessing stream which hopefully can handle
it.
Release 4.1b4 August 20 1996
HTTP version 1.1 allows for effective use of persistent connections.
However, in orderto make this work, a client application must be capable of
recovering from a closed connection between sent requests. The beta 4 version
of libwww supports automatic connection recovery and provides the
functionality for performing pipelining of requests. That is, there can be
multiple outstanding requests on the same connection In order to do this, the
release contains modifications to the Channel Object, the Host object and the Net object.
New Features
- Added support for case-insensitive searching for proxies via
environment variables
- Added support for proxy authentication
- Changed handling of proxies so that they are not included in the URL
but is now instead part of the request object. This allows for better
handling of proxies and also for more freely use of the proxy filter as
it doesn't affect the other filters anymore.
- Added support for TRACE HTTP method in the HTAccess module.
- Updated News DLL and incorporated News patches from Maciej
Puzio
HT_PERSISTENT is now obsolete and should be replaced by
HT_PENDING
- The
HTChannelMode enumeration describing the flow of a
channel has been replaced by HTTransportMode as it is now a
part of the transport object and not the channel object
HTNet_idle() has been removed and replaced by
HTNet_isIdle(). The function returns YES if there are no
pending requests in libwww at all.
- Add support for checking public information about a host and use this
information when issuing a PUT, for example. Also add check for host
element in HTAccess when doing PUT. We
may have public information available
- Changed the return codes defined in HTUtils to reflect the values of the HTTP
spec.
- Added support for
305 Use Proxy redirections
- Updated HTDir module to better use the
fact that we know that an entry is a directory or not. Now it appends a
'/' to the URL if it is a directory. That way we often avoid a
redirection.
- Removed WWWRules as interface and merged it with the WWWApp interface. The reason was that the
two were highly alike and depended on each other
Bug Fixes
- Fixed problem with uploading directory listing using chunked
encoding
- Fixed autoconf to handle WAIS and updated the HTWAIS.c module
- Fixed race problem in PUT on alphas
- Tested reentrant version of libwww (uses
_REENTRANT
define)
- Fixed problem in file name conversion from URL to local format on
Windows
Release 4.1b3 July 20 1996
The file access module now does content
negotiation by default. This means that all local file access (including from
client applications) do content negotiation when accessing local
files. Content negotiation can be turned off by setting a flag in the request object.
A main difference in beta 3 is that we now have a set of "application profiles" that helps the
application to initialize libwww core to
work as a typical client, robot or other type of application. This should
replace the huge initialization procedure seen in previous versions. This is
in fact a result of the core being so flexible - it is inly a framework for
accessing the Web. The application must initialize all the functionality at
run-time. You can see the various profile functions in the WWWInit interface.
The second main difference is that the BEFORE and AFTER
filters have been more explicit than before. The HTLoadStart and
HTLoadTerminate functions actually covered many typical
BEFORE and AFTER filter functions like looking for proxies,
searching the cache, looking for rule file matching, and logging etc.
However, two functions were not covered by this: redirection and
authentication. That is why the application in previous version had to
supply this functionality. However, in beta 3 we have split up the
HTLoadStart and HTLoadTerminte functions into a set of filters which each perform only a
single function, for example looking for proxies. The split has two
functions: first it shows how you can use filtes to add new functionality to
the Library and second it can be used by more types of applications. A result
of the new filters is that we also have default redirection and
authentication filters so you don't have to provide this anymore.
The filters are set up as part of the
profiles so you will normally not have to
register them individually.
New features and Changes
- Introduced HTUserprofile class to
handle host and user specific information
- Added Chunked decoding and encoding
module
- A host name is not expanded to a fqdn name as it is not reliable
enough. Now we just keep it as is, that is we don't expand www to
www.w3.org, for example.
- Updated HTML parser to support
BASE tag and LINK tag
- Added new access methods to the HTAccess
module. It is now part of the WWWApp
interface
- Updated the Icon module and added
icons to the distribution file
- Added a Stream to Chunk converter
for easier conversion of streams into dynamic memory buffers
- Introduced HTLib as a new core module.
It contains generic information about the core which used to be in the
HTAccess module.
- Added support for HTTP/1.1. Most of the
HTTP/1.1 specification is now in place, we still need some headers and
some features but this version can be considered to be compliant.
- Added suport for proxy authentication as specified by HTTP/1.1
- Added support for case-insensitive searching for proxies via
environment variables
- Changed handling of proxies so that they are not included in the URL
but is now instead part of the request object. This allows for better
handling of proxies and also for more freely use of the proxy filter as
it doesn't affect the other filters anymore.
Bug Fixes
- Fixed problem with uploading directory listing using chunked
encoding
- Fixed problem in the rule file parser. It didn't parse the last line of
the config file
- Fixed autoconf to handle WAIS and updated the HTWAIS.c module
- Fixed race problem in PUT on alphas which caused the PUT operation to
hang under certain circumstances
Release 4.1b1 May 20 1996
New Features
- Introduced GNU autoconf configure script for compiling on Unix
platforms instead of the old BUILD script. This should make it a lot
easier to compile on Unix as we get all the advantages of GNU
autoconf.
- Introduction of the HTUserprofile Class
which keeps track of a "user" known to the Library
- New access authentication interface allowing for dynamic registration
of new access authentication mechanisms. It provides an easy API for
hooking in new schemes.
- Improved handling of trace messages which allows for easy redirection
of trace messages
- Support for registration of content coders/decoders and content
transfer encoders/decoders. This is done the same way as for media types
by registering a set of streams that can handle the various
encodings.
- Support for chunked decoding
- Introduction of the HTHost Class which
keeps track of information about remote hosts
- The DNS Class has been simplified to
handle DNS queries only. All additional information about the remote host
is defined by the HThost Class.
- We have a new HTEvent module which
allows for dynamic registration of an event manager. This will make it
much easier to use external event managers together with libwww. If you
wish to continue to use the event handlers from HTEvntLst, you must
register them explicitly with HTEvent_register. This call is
demonstrated in HTBrowse.
- The HTStream module has been created
containing a set of basiv streams such as an error stream etc.
- Introduction of the HTTransport
Class. This allows for dynamic registration of transport protocols
such as for example the W3Mux protocol, TCP access, local file access
etc.
- All MIME parsing is now done with registered parsers. The HTMIME module only unwraps the MIME
header fields and calls the best parser. The header parsing origonally
done in HTMIME can be found in HTInit.c and
is registered with HTMIMEInit. This call
is demonstrated in HTBrowse.
This upgrade release fixes some bugs and it adds functionality for posting
data from memory. This is the full list of changes:
- Optimized HTTP request header by taken away an "Accept:" line pr
accepted content type and instead use the commna notation.
- Introduced HTMemory as dynamic
memory handler. This module is a part of the WWWUtils interface and it handles better
management of dynamic memory. You can find a full description in the User's Guide.
- We now have an updated list of all
public functions exported from the Library.
- We also present an updated list of all public interfaces
available in the Library. You can find it in the Library Internals.
- PUT and POST from memory is implemented. You can now post data from
memory using the POSTWeb model as for posting remote data objects. The
Interface is described in HTAccess
module. There is a very small dummy test implemented in the Line Mode
browser. You can activate it if you typeedit from the command
line.
- The Mini server now runs (although crude) as a proxy. It is capable of
serving data as a HTTP/HTTP proxy. It is based on the internal Library
event loop and is therefore highly portable. It is not intended to be a
full featured server but a test implementation which shows how to use the
Library in server applications.
- Bug fixed that caused the following problem: If there hasn't been made
a connection between the net->target and the request->output_stream
then the latter is not freed if the request is interrupted.
- The referer URL header can now contain a unlimited length
URL
- A resolver callback function has been introduced in the HTTee stream. This allows the caller to
assign a callback function to resolve conflicts between the return codes
of the two streams.
- The request object as been added as a calling parameter to the HTFWrite stream creation method. This
allows errors from writing to a file to propagate back to the request
object.
- The three streams
HTSaveLocally,
HTSaveAndExecute and HTSaveAndCallBack have
been optimized and they now all use the HTFWrite stream creation method
- We have a new module called HTTPGen.
It generates general HTTP headers. These headers were a part of the MIME
header generator, but by isolating them, we can use the MIME header as a
generic MIME entity header generator.
- Created HTErrorStream which always
returns
HT_ERROR. It replaces the HTBlackHole has been replace with
HTErrorStream in many places in order to speed up performance
- Made HTTP response stream (which parses the response line only) into a
converter so that we can forward the output exactly as received from the
remote HTTP server. This is important for proxy applications and other
applications that want to see the output untouched.
- The HTChunk module has been made more solid and the amount of memory
allocations has been limited.
- Memory cleanup fixed in content length counter stream and FTP
module
- Introducing HT_CLOSED and HT_PAUSE for handling streams. This was
required, especially after HTTP supports persistent connections where a
document is not delimited by a closed connection.
Release 4.0C January 23 1996
- Automatic redirection and Access authentication has been take n out of
the HTTP module. Instead the new mechanism with request callback
functions are used so that the application can register handlers to
handle these situations. The reason for this change is that not all
applications are interested in having this functionality performed
automatically.
- Authentication handler and redirection handler added to both the Line
Mode Browser and the Command Line Tool
- Added three possible return codes on which a request callback function
can be called:
- HT_PERM_REDIRECT for permanently moved objects
- HT_TEMP_REDIRECT for temporarily moved objects
- HT_NO_ACCESS for insufficient credentials
- PUT and POST do now work reliably in the Line Mode Browser and the
Command Line Tool. Both can PUT or POST a document from either a
remote HTTP server or the local file system to a remote
HTTP server.
- An important bug-fix in the internal event manager that prevented a
socket to be registered for multiple events at the same time.
- Cleanup of the POSTWeb management in the file module and the HTTP
module
- In addition to progress notification on READ we now support progress
notification when sending a data object
- Spelling mistake fixed. preemtive is changed to
preemptive
- The W3C Mini Robot has now the ability to stop at a certain depth while
traversing the Web.
Release 4.0A December 11 1995
- Created the include HTTPUtil.html - a C file may follow
- Changed HTDoAccept so that it automatically inserts the new socket
descriptor in the Net object.
- HTLoad_terminate moved from HTReqMan to HTHome. It is not automatically
set up in HTLibInit anymore
- Made HTAnchor and HTLink opaque data objects
- changed HTLink_newResult to HTLink_result
- changed HTLink_newMethod to HTLink_method
- Changed HyperDoc to simply a void pointer. This makes it more generic
and the application does not have to actually treat it as a document
anyway
- Introduced the WWW_DEBUG internal format that can be used to redirect
debug information, for example from a HTTP redirection message etc.
- Request object added to HText_new methods
- changed HTExtParse to HTXParse throughout - H&kon
- HTXParse now null-terminates buffer - H&kon
- return codes from HTTee changed - H&kon
- content-length initialized to -1 - H&kon
- Fixed bug for handling HEAD in HTTP and MIME streams
- Handles of persistent connection is now a semaphore and not a bool
- Changes the event loop so that a timeout handler can return HT_OK or
HT_ERROR. If the code is not HT_OK then stop the event loop
- Changed request of header enumeration:
- General headers have the prefic HT_G_
- Request headers have the prefic HT_C_
- Server headers have the prefic HT_S_
- Entity headers have the prefic HT_E_
- Separated file suffix initialization into HTBInit
- Changed the names in HTChunk to be consistent with the Module_method
scheme
- Introduced HTBInit.c for setup of file suffixes
Alpha Release 7, November 28 1995
Alpha Release 6, November 20 1995
- Removed remaining
ARGS and PARAMS from the
sources. All function declarations and definitions now follow the ANSI
standard.
- Changed HTAlert to be a registration
module instead of a module to be overriden by an application. Now you can
register a Dialog module as a callback
function which is a much more generic moduel. It also means that there
are no more English text in the Core of
the Library - it's all in a application module. The Library provides a
default implementation in the new HTDialog module.
- Taken the WWW relevant stuff out of HTString and put it into the new module
called HTWWWStr. The latter is a part
of the core whereas the former is generic string utilities.
- Made the global variable
HTLibraryVersion local to HTAccess. The are now only
WWW_TraceFlag left as a global variable in the whole
Library.
- There are now four main include files. They are called:
- WWWUtil.h
- The WWW Utility module contains a lot of the functionality that
makes it possible to make applications, that is container modules
for data objects, basic string functionality etc. This module is
the basis for all of the following modules and is used
extensively.
- WWWCore.h
- The WWW Core module is a set of registration modules that glues
an application together. It contains no real functionality in
itself; it is for example not capable of loading a HTML document.
It only provides a large set of hooks which can be used to add
functionality to the Library and to give an application real life.
We will here a lot more to the structure of the core, and much of
this guide is actually describing how to add functionality to the
core.
- WWWLib.h
- This include is the main include file for the Library. It
basically consists of the WWWUtil.h and the WWWCore.h so that the
application only needs to include this one instead of two.
- WWWApp.h
- This module contains a huge set of modules that can be hooked
into the Core Library and make the application work. In contrast to
the Core part, you can pick exactly tialid up performance
- Made HTTP response stream (which parses the response line only) into a
converter so that we can forward the output exactly as received from the
remote HTTP server. This is important for proxy applications and other
applications that want to see the output untouched.
- The HTChunk module has been made more solid and the amount of memory
allocations has been limited.
- Memory cleanup fixed in content length counter stream and FTP
module
- Introducing HT_CLOSED and HT_PAUSE for handling streams. This was
required, especially after HTTP supports persistent connections where a
document is not delimited by a closed connection.
Release 4.0C January 23 1996
- Automatic redirection and Access authentication has been take n out of
the HTTP module. Instead the new mechanism with request callback
functions are used so that the application can register handlers to
handle these situations. The reason for this change is that not all
applications are interested in having this functionality performed
automatically.
- Authentication handler and redirection handler added to both the Line
Mode Browser and the Command Line Tool
- Added three possible return codes on which a request callback function
can be called:
- HT_PERM_REDIRECT for permanently moved objects
- HT_TEMP_REDIRECT for temporarily moved objects
- HT_NO_ACCESS for insufficient credentials
- PUT and POST do now work reliably in the Line Mode Browser and the
Command Line Tool. Both can PUT or POST a document from either a
remote HTTP server or the local file system to a remote
HTTP server.
- An important bug-fix in the internal event manager that prevented a
socket to be registered for multiple events at the same time.
- Cleanup of the POSTWeb management in the file module and the HTTP
module
- In addition to progress notification on READ we now support progress
notification when sending a data object
- Spelling mistake fixed. preemtive is changed to
preemptive
- The W3C Mini Robot has now the ability to stop at a certain depth while
traversing the Web.
Release 4.0A December 11 1995
- Created the include HTTPUtil.html - a C file may follow
- Changed HTDoAccept so that it automatically inserts the new socket
descriptor in the Net object.
- HTLoad_terminate moved from HTReqMan to HTHome. It is not automatically
set up in HTLibInit anymore
- Made HTAnchor and HTLink opaque data objects
- changed HTLink_newResult to HTLink_result
- changed HTLink_newMethod to HTLink_method
- Changed HyperDoc to simply a void pointer. This makes it more generic
and the application does not have to actually treat it as a document
anyway
- Introduced the WWW_DEBUG internal format that can be used to redirect
debug information, for example from a HTTP redirection message etc.
- Request object added to HText_new methods
- changed HTExtParse to HTXParse throughout - H&kon
- HTXParse now null-terminates buffer - H&kon
- return codes from HTTee changed - H&kon
- content-length initialized to -1 - H&kon
- Fixed bug for handling HEAD in HTTP and MIME streams
- Handles of persistent connection is now a semaphore and not a bool
- Changes the event loop so that a timeout handler can return HT_OK or
HT_ERROR. If the code is not HT_OK then stop the event loop
- Changed request of header enumeration:
- General headers have the prefic HT_G_
- Request headers have the prefic HT_C_
- Server headers have the prefic HT_S_
- Entity headers have the prefic HT_E_
- Separated file suffix initialization into HTBInit
- Changed the names in HTChunk to be consistent with the Module_method
scheme
- Introduced HTBInit.c for setup of file suffixes
Alpha Release 7, November 28 1995
Alpha Release 6, November 20 1995
- Removed remaining
ARGS and PARAMS from the
sources. All function declarations and definitions now follow the ANSI
standard.
- Changed HTAlert to be a registration
module instead of a module to be overriden by an application. Now you can
register a Dialog module as a callback
function which is a much more generic moduel. It also means that there
are no more English text in the Core of
the Library - it's all in a application module. The Library provides a
default implementation in the new HTDialog module.
- Taken the WWW relevant stuff out of HTString and put it into the new module
called HTWWWStr. The latter is a part
of the core whereas the former is generic string utilities.
- Made the global variable
HTLibraryVersion local to HTAccess. The are now only
WWW_TraceFlag left as a global variable in the whole
Library.
- There are now four main include files. They are called:
- WWWUtil.h
- The WWW Utility module contains a lot of the functionality that
makes it possible to make applications, that is container modules
for data objects, basic string functionality etc. This module is
the basis for all of the following modules and is used
extensively.
- WWWCore.h
- The WWW Core module is a set of registration modules that glues
an application together. It contains no real functionality in
itself; it is for example not capable of loading a HTML document.
It only provides a large set of hooks which can be used to add
functionality to the Library and to give an application real life.
We will here a lot more to the structure of the core, and much of
this guide is actually describing how to add functionality to the
core.
- WWWLib.h
- This include is the main include file for the Library. It
basically consists of the WWWUtil.h and the WWWCore.h so that the
application only needs to include this one instead of two.
- WWWApp.h
- This module contains a huge set of modules that can be hooked
into the Core Library and make the application work. In contrast to
the Core part, you can pick exactly tialid up performance
- Made HTTP response stream (which parses the response line only) into a
converter so that we can forward the output exactly as received from the
remote HTTP server. This is important for proxy applications and other
applications that want to see the output untouched.
- The HTChunk module has been made more solid and the amount of memory
allocations has been limited.
- Memory cleanup fixed in content length counter stream and FTP
module
- Introducing HT_CLOSED and HT_PAUSE for handling streams. This was
required, especially after HTTP supports persistent connections where a
document is not delimited by a closed connection.
Release 4.0C January 23 1996
- Automatic redirection and Access authentication has been take n out of
the HTTP module. Instead the new mechanism with request callback
functions are used so that the application can register handlers to
handle these situations. The reason for this change is that not all
applications are interested in having this functionality performed
automatically.
- Authentication handler and redirection handler added to both the Line
Mode Browser and the Command Line Tool
- Added three possible return codes on which a request callback function
can be called:
- HT_PERM_REDIRECT for permanently moved objects
- HT_TEMP_REDIRECT for temporarily moved objects
- HT_NO_ACCESS for insufficient credentials
- PUT and POST do now work reliably in the Line Mode Browser and the
Command Line Tool. Both can PUT or POST a document from either a
remote HTTP server or the local file system to a remote
HTTP server.
- An important bug-fix in the internal event manager that prevented a
socket to be registered for multiple events at the same time.
- Cleanup of the POSTWeb management in the file module and the HTTP
module
- In addition to progress notification on READ we now support progress
notification when sending a data object
- Spelling mistake fixed. preemtive is changed to
preemptive
- The W3C Mini Robot has now the ability to stop at a certain depth while
traversing the Web.
Release 4.0A December 11 1995
- Created the include HTTPUtil.html - a C file may follow
- Changed HTDoAccept so that it automatically inserts the new socket
descriptor in the Net object.
- HTLoad_terminate moved from HTReqMan to HTHome. It is not automatically
set up in HTLibInit anymore
- Made HTAnchor and HTLink opaque data objects
- changed HTLink_newResult to HTLink_result
- changed HTLink_newMethod to HTLink_method
- Changed HyperDoc to simply a void pointer. This makes it more generic
and the application does not have to actually treat it as a document
anyway
- Introduced the WWW_DEBUG internal format that can be used to redirect
debug information, for example from a HTTP redirection message etc.
- Request object added to HText_new methods
- changed HTExtParse to HTXParse throughout - H&kon
- HTXParse now null-terminates buffer - H&kon
- return codes from HTTee changed - H&kon
- content-length initialized to -1 - H&kon
- Fixed bug for handling HEAD in HTTP and MIME streams
- Handles of persistent connection is now a semaphore and not a bool
- Changes the event loop so that a timeout handler can return HT_OK or
HT_ERROR. If the code is not HT_OK then stop the event loop
- Changed request of header enumeration:
- General headers have the prefic HT_G_
- Request headers have the prefic HT_C_
- Server headers have the prefic HT_S_
- Entity headers have the prefic HT_E_
- Separated file suffix initialization into HTBInit
- Changed the names in HTChunk to be consistent with the Module_method
scheme
- Introduced HTBInit.c for setup of file suffixes
Alpha Release 7, November 28 1995
Alpha Release 6, November 20 1995
- Removed remaining
ARGS and PARAMS from the
sources. All function declarations and definitions now follow the ANSI
standard.
- Changed HTAlert to be a registration
module instead of a module to be overriden by an application. Now you can
register a Dialog module as a callback
function which is a much more generic moduel. It also means that there
are no more English text in the Core of
the Library - it's all in a application module. The Library provides a
default implementation in the new HTDialog module.
- Taken the WWW relevant stuff out of HTString and put it into the new module
called HTWWWStr. The latter is a part
of the core whereas the former is generic string utilities.
- Made the global variable
HTLibraryVersion local to HTAccess. The are now only
WWW_TraceFlag left as a global variable in the whole
Library.
- There are now four main include files. They are called:
- WWWUtil.h
- The WWW Utility module contains a lot of the functionality that
makes it possible to make applications, that is container modules
for data objects, basic string functionality etc. This module is
the basis for all of the following modules and is used
extensively.
- WWWCore.h
- The WWW Core module is a set of registration modules that glues
an application together. It contains no real functionality in
itself; it is for example not capable of loading a HTML document.
It only provides a large set of hooks which can be used to add
functionality to the Library and to give an application real life.
We will here a lot more to the structure of the core, and much of
this guide is actually describing how to add functionality to the
core.
- WWWLib.h
- This include is the main include file for the Library. It
basically consists of the WWWUtil.h and the WWWCore.h so that the
application only needs to include this one instead of two.
- WWWApp.h
- This module contains a huge set of modules that can be hooked
into the Core Library and make the application work. In contrast to
the Core part, you can pick exactly tialid up performance
- Made HTTP response stream (which parses the response line only) into a
converter so that we can forward the output exactly as received from the
remote HTTP server. This is important for proxy applications and other
applications that want to see the output untouched.
- The HTChunk module has been made more solid and the amount of memory
allocations has been limited.
- Memory cleanup fixed in content length counter stream and FTP
module
- Introducing HT_CLOSED and HT_PAUSE for handling streams. This was
required, especially after HTTP supports persistent connections where a
document is not delimited by a closed connection.
Release 4.0C January 23 1996
- Automatic redirection and Access authentication has been take n out of
the HTTP module. Instead the new mechanism with request callback
functions are used so that the application can register handlers to
handle these situations. The reason for this change is that not all
applications are interested in having this functionality performed
automatically.
- Authentication handler and redirection handler added to both the Line
Mode Browser and the Command Line Tool
- Added three possible return codes on which a request callback function
can be called:
- HT_PERM_REDIRECT for permanently moved objects
- HT_TEMP_REDIRECT for temporarily moved objects
- HT_NO_ACCESS for insufficient credentials
- PUT and POST do now work reliably in the Line Mode Browser and the
Command Line Tool. Both can PUT or POST a document from either a
remote HTTP server or the local file system to a remote
HTTP server.
- An important bug-fix in the internal event manager that prevented a
socket to be registered for multiple events at the same time.
- Cleanup of the POSTWeb management in the file module and the HTTP
module
- In addition to progress notification on READ we now support progress
notification when sending a data object
- Spelling mistake fixed. preemtive is changed to
preemptive
- The W3C Mini Robot has now the ability to stop at a certain depth while
traversing the Web.
Release 4.0A December 11 1995
- Created the include HTTPUtil.html - a C file may follow
- Changed HTDoAccept so that it automatically inserts the new socket
descriptor in the Net object.
- HTLoad_terminate moved from HTReqMan to HTHome. It is not automatically
set up in HTLibInit anymore
- Made HTAnchor and HTLink opaque data objects
- changed HTLink_newResult to HTLink_result
- changed HTLink_newMethod to HTLink_method
- Changed HyperDoc to simply a void pointer. This makes it more generic
and the application does not have to actually treat it as a document
anyway
- Introduced the WWW_DEBUG internal format that can be used to redirect
debug information, for example from a HTTP redirection message etc.
- Request object added to HText_new methods
- changed HTExtParse to HTXParse throughout - H&kon
- HTXParse now null-terminates buffer - H&kon
- return codes from HTTee changed - H&kon
- content-length initialized to -1 - H&kon
- Fixed bug for handling HEAD in HTTP and MIME streams
- Handles of persistent connection is now a semaphore and not a bool
- Changes the event loop so that a timeout handler can return HT_OK or
HT_ERROR. If the code is not HT_OK then stop the event loop
- Changed request of header enumeration:
- General headers have the prefic HT_G_
- Request headers have the prefic HT_C_
- Server headers have the prefic HT_S_
- Entity headers have the prefic HT_E_
- Separated file suffix initialization into HTBInit
- Changed the names in HTChunk to be consistent with the Module_method
scheme
- Introduced HTBInit.c for setup of file suffixes
Alpha Release 7, November 28 1995
Alpha Release 6, November 20 1995
- Removed remaining
ARGS and PARAMS from the
sources. All function declarations and definitions now follow the ANSI
standard.
- Changed HTAlert to be a registration
module instead of a module to be overriden by an application. Now you can
register a Dialog module as a callback
function which is a much more generic moduel. It also means that there
are no more English text in the Core of
the Library - it's all in a application module. The Library provides a
default implementation in the new HTDialog module.
- Taken the WWW relevant stuff out of HTString and put it into the new module
called HTWWWStr. The latter is a part
of the core whereas the former is generic string utilities.
- Made the global variable
HTLibraryVersion local to HTAccess. The are now only
WWW_TraceFlag left as a global variable in the whole
Library.
- There are now four main include files. They are called:
- WWWUtil.h
- The WWW Utility module contains a lot of the functionality that
makes it possible to make applications, that is container modules
for data objects, basic string functionality etc. This module is
the basis for all of the following modules and is used
extensively.
- WWWCore.h
- The WWW Core module is a set of registration modules that glues
an application together. It contains no real functionality in
itself; it is for example not capable of loading a HTML document.
It only provides a large set of hooks which can be used to add
functionality to the Library and to give an application real life.
We will here a lot more to the structure of the core, and much of
this guide is actually describing how to add functionality to the
core.
- WWWLib.h
- This include is the main include file for the Library. It
basically consists of the WWWUtil.h and the WWWCore.h so that the
application only needs to include this one instead of two.
- WWWApp.h
- This module contains a huge set of modules that can be hooked
into the Core Library and make the application work. In contrast to
the Core part, you can pick exactly tialid up performance
- Made HTTP response stream (which parses the response line only) into a
converter so that we can forward the output exactly as received from the
remote HTTP server. This is important for proxy applications and other
applications that want to see the output untouched.
- The HTChunk module has been made more solid and the amount of memory
allocations has been limited.
- Memory cleanup fixed in content length counter stream and FTP
module
- Introducing HT_CLOSED and HT_PAUSE for handling streams. This was
required, especially after HTTP supports persistent connections where a
document is not delimited by a closed connection.
Release 4.0C January 23 1996
- Automatic redirection and Access authentication has been take n out of
the HTTP module. Instead the new mechanism with request callback
functions are used so that the application can register handlers to
handle these situations. The reason for this change is that not all
applications are interested in having this functionality performed
automatically.
- Authentication handler and redirection handler added to both the Line
Mode Browser and the Command Line Tool
- Added three possible return codes on which a request callback function
can be called:
- HT_PERM_REDIRECT for permanently moved objects
- HT_TEMP_REDIRECT for temporarily moved objects
- HT_NO_ACCESS for insufficient credentials
- PUT and POST do now work reliably in the Line Mode Browser and the
Command Line Tool. Both can PUT or POST a document from either a
remote HTTP server or the local file system to a remote
HTTP server.
- An important bug-fix in the internal event manager that prevented a
socket to be registered for multiple events at the same time.
- Cleanup of the POSTWeb management in the file module and the HTTP
module
- In addition to progress notification on READ we now support progress
notification when sending a data object
- Spelling mistake fixed. preemtive is changed to
preemptive
- The W3C Mini Robot has now the ability to stop at a certain depth while
traversing the Web.
Release 4.0A December 11 1995
- Created the include HTTPUtil.html - a C file may follow
- Changed HTDoAccept so that it automatically inserts the new socket
descriptor in the Net object.
- HTLoad_terminate moved from HTReqMan to HTHome. It is not automatically
set up in HTLibInit anymore
- Made HTAnchor and HTLink opaque data objects
- changed HTLink_newResult to HTLink_result
- changed HTLink_newMethod to HTLink_method
- Changed HyperDoc to simply a void pointer. This makes it more generic
and the application does not have to actually treat it as a document
anyway
- Introduced the WWW_DEBUG internal format that can be used to redirect
debug information, for example from a HTTP redirection message etc.
- Request object added to HText_new methods
- changed HTExtParse to HTXParse throughout - H&kon
- HTXParse now null-terminates buffer - H&kon
- return codes from HTTee changed - H&kon
- content-length initialized to -1 - H&kon
- Fixed bug for handling HEAD in HTTP and MIME streams
- Handles of persistent connection is now a semaphore and not a bool
- Changes the event loop so that a timeout handler can return HT_OK or
HT_ERROR. If the code is not HT_OK then stop the event loop
- Changed request of header enumeration:
- General headers have the prefic HT_G_
- Request headers have the prefic HT_C_
- Server headers have the prefic HT_S_
- Entity headers have the prefic HT_E_
- Separated file suffix initialization into HTBInit
- Changed the names in HTChunk to be consistent with the Module_method
scheme
- Introduced HTBInit.c for setup of file suffixes
Alpha Release 7, November 28 1995
Alpha Release 6, November 20 1995
- Removed remaining
ARGS and PARAMS from the
sources. All function declarations and definitions now follow the ANSI
standard.
- Changed HTAlert to be a registration
module instead of a module to be overriden by an application. Now you can
register a Dialog module as a callback
function which is a much more generic moduel. It also means that there
are no more English text in the Core of
the Library - it's all in a application module. The Library provides a
default implementation in the new HTDialog module.
- Taken the WWW relevant stuff out of HTString and put it into the new module
called HTWWWStr. The latter is a part
of the core whereas the former is generic string utilities.
- Made the global variable
HTLibraryVersion local to HTAccess. The are now only
WWW_TraceFlag left as a global variable in the whole
Library.
- There are now four main include files. They are called:
- WWWUtil.h
- The WWW Utility module contains a lot of the functionality that
makes it possible to make applications, that is container modules
for data objects, basic string functionality etc. This module is
the basis for all of the following modules and is used
extensively.
- WWWCore.h
- The WWW Core module is a set of registration modules that glues
an application together. It contains no real functionality in
itself; it is for example not capable of loading a HTML document.
It only provides a large set of hooks which can be used to add
functionality to the Library and to give an application real life.
We will here a lot more to the structure of the core, and much of
this guide is actually describing how to add functionality to the
core.
- WWWLib.h
- This include is the main include file for the Library. It
basically consists of the WWWUtil.h and the WWWCore.h so that the
application only needs to include this one instead of two.
- WWWApp.h
- This module contains a huge set of modules that can be hooked
into the Core Library and make the application work. In contrast to
the Core part, you can pick exactly tialid up performance
- Made HTTP response stream (which parses the response line only) into a
converter so that we can forward the output exactly as received from the
remote HTTP server. This is important for proxy applications and other
applications that want to see the output untouched.
- The HTChunk module has been made more solid and the amount of memory
allocations has been limited.
- Memory cleanup fixed in content length counter stream and FTP
module
- Introducing HT_CLOSED and HT_PAUSE for handling streams. This was
required, especially after HTTP supports persistent connections where a
document is not delimited by a closed connection.
Release 4.0C January 23 1996
- Automatic redirection and Access authentication has been take n out of
the HTTP module. Instead the new mechanism with request callback
functions are used so that the application can register handlers to
handle these situations. The reason for this change is that not all
applications are interested in having this functionality performed
automatically.
- Authentication handler and redirection handler added to both the Line
Mode Browser and the Command Line Tool
- Added three possible return codes on which a request callback function
can be called:
- HT_PERM_REDIRECT for permanently moved objects
- HT_TEMP_REDIRECT for temporarily moved objects
- HT_NO_ACCESS for insufficient credentials
- PUT and POST do now work reliably in the Line Mode Browser and the
Command Line Tool. Both can PUT or POST a document from either a
remote HTTP server or the local file system to a remote
HTTP server.
- An important bug-fix in the internal event manager that prevented a
socket to be registered for multiple events at the same time.
- Cleanup of the POSTWeb management in the file module and the HTTP
module
- In addition to progress notification on READ we now support progress
notification when sending a data object
- Spelling mistake fixed. preemtive is changed to
preemptive
- The W3C Mini Robot has now the ability to stop at a certain depth while
traversing the Web.
Release 4.0A December 11 1995
- Created the include HTTPUtil.html - a C file may follow
- Changed HTDoAccept so that it automatically inserts the new socket
descriptor in the Net object.
- HTLoad_terminate moved from HTReqMan to HTHome. It is not automatically
set up in HTLibInit anymore
- Made HTAnchor and HTLink opaque data objects
- changed HTLink_newResult to HTLink_result
- changed HTLink_newMethod to HTLink_method
- Changed HyperDoc to simply a void pointer. This makes it more generic
and the application does not have to actually treat it as a document
anyway
- Introduced the WWW_DEBUG internal format that can be used to redirect
debug information, for example from a HTTP redirection message etc.
- Request object added to HText_new methods
- changed HTExtParse to HTXParse throughout - H&kon
- HTXParse now null-terminates buffer - H&kon
- return codes from HTTee changed - H&kon
- content-length initialized to -1 - H&kon
- Fixed bug for handling HEAD in HTTP and MIME streams
- Handles of persistent connection is now a semaphore and not a bool
- Changes the event loop so that a timeout handler can return HT_OK or
HT_ERROR. If the code is not HT_OK then stop the event loop
- Changed request of header enumeration:
- General headers have the prefic HT_G_
- Request headers have the prefic HT_C_
- Server headers have the prefic HT_S_
- Entity headers have the prefic HT_E_
- Separated file suffix initialization into HTBInit
- Changed the names in HTChunk to be consistent with the Module_method
scheme
- Introduced HTBInit.c for setup of file suffixes
Alpha Release 7, November 28 1995
Alpha Release 6, November 20 1995
- Removed remaining
ARGS and PARAMS from the
sources. All function declarations and definitions now follow the ANSI
standard.
- Changed HTAlert to be a registration
module instead of a module to be overriden by an application. Now you can
register a Dialog module as a callback
function which is a much more generic moduel. It also means that there
are no more English text in the Core of
the Library - it's all in a application module. The Library provides a
default implementation in the new HTDialog module.
- Taken the WWW relevant stuff out of HTString and put it into the new module
called HTWWWStr. The latter is a part
of the core whereas the former is generic string utilities.
- Made the global variable
HTLibraryVersion local to HTAccess. The are now only
WWW_TraceFlag left as a global variable in the whole
Library.
- There are now four main include files. They are called:
- WWWUtil.h
- The WWW Utility module contains a lot of the functionality that
makes it possible to make applications, that is container modules
for data objects, basic string functionality etc. This module is
the basis for all of the following modules and is used
extensively.
- WWWCore.h
- The WWW Core module is a set of registration modules that glues
an application together. It contains no real functionality in
itself; it is for example not capable of loading a HTML document.
It only provides a large set of hooks which can be used to add
functionality to the Library and to give an application real life.
We will here a lot more to the structure of the core, and much of
this guide is actually describing how to add functionality to the
core.
- WWWLib.h
- This include is the main include file for the Library. It
basically consists of the WWWUtil.h and the WWWCore.h so that the
application only needs to include this one instead of two.
- WWWApp.h
- This module contains a huge set of modules that can be hooked
into the Core Library and make the application work. In contrast to
the Core part, you can pick exactly tialid up performance
- Made HTTP response stream (which parses the response line only) into a
converter so that we can forward the output exactly as received from the
remote HTTP server. This is important for proxy applications and other
applications that want to see the output untouched.
- The HTChunk module has been made more solid and the amount of memory
allocations has been limited.
- Memory cleanup fixed in content length counter stream and FTP
module
- Introducing HT_CLOSED and HT_PAUSE for handling streams. This was
required, especially after HTTP supports persistent connections where a
document is not delimited by a closed connection.
Release 4.0C January 23 1996
- Automatic redirection and Access authentication has been take n out of
the HTTP module. Instead the new mechanism with request callback
functions are used so that the application can register handlers to
handle these situations. The reason for this change is that not all
applications are interested in having this functionality performed
automatically.
- Authentication handler and redirection handler added to both the Line
Mode Browser and the Command Line Tool
- Added three possible return codes on which a request callback function
can be called:
- HT_PERM_REDIRECT for permanently moved objects
- HT_TEMP_REDIRECT for temporarily moved objects
- HT_NO_ACCESS for insufficient credentials
- PUT and POST do now work reliably in the Line Mode Browser and the
Command Line Tool. Both can PUT or POST a document from either a
remote HTTP server or the local file system to a remote
HTTP server.
- An important bug-fix in the internal event manager that prevented a
socket to be registered for multiple events at the same time.
- Cleanup of the POSTWeb management in the file module and the HTTP
module
- In addition to progress notification on READ we now support progress
notification when sending a data object
- Spelling mistake fixed. preemtive is changed to
preemptive
- The W3C Mini Robot has now the ability to stop at a certain depth while
traversing the Web.
Release 4.0A December 11 1995
- Created the include HTTPUtil.html - a C file may follow
- Changed HTDoAccept so that it automatically inserts the new socket
descriptor in the Net object.
- HTLoad_terminate moved from HTReqMan to HTHome. It is not automatically
set up in HTLibInit anymore
- Made HTAnchor and HTLink opaque data objects
- changed HTLink_newResult to HTLink_result
- changed HTLink_newMethod to HTLink_method
- Changed HyperDoc to simply a void pointer. This makes it more generic
and the application does not have to actually treat it as a document
anyway
- Introduced the WWW_DEBUG internal format that can be used to redirect
debug information, for example from a HTTP redirection message etc.
- Request object added to HText_new methods
- changed HTExtParse to HTXParse throughout - H&kon
- HTXParse now null-terminates buffer - H&kon
- return codes from HTTee changed - H&kon
- content-length initialized to -1 - H&kon
- Fixed bug for handling HEAD in HTTP and MIME streams
- Handles of persistent connection is now a semaphore and not a bool
- Changes the event loop so that a timeout handler can return HT_OK or
HT_ERROR. If the code is not HT_OK then stop the event loop
- Changed request of header enumeration:
- General headers have the prefic HT_G_
- Request headers have the prefic HT_C_
- Server headers have the prefic HT_S_
- Entity headers have the prefic HT_E_
- Separated file suffix initialization into HTBInit
- Changed the names in HTChunk to be consistent with the Module_method
scheme
- Introduced HTBInit.c for setup of file suffixes
Alpha Release 7, November 28 1995
Alpha Release 6, November 20 1995
- Removed remaining
ARGS and PARAMS from the
sources. All function declarations and definitions now follow the ANSI
standard.
- Changed HTAlert to be a registration
module instead of a module to be overriden by an application. Now you can
register a Dialog module as a callback
function which is a much more generic moduel. It also means that there
are no more English text in the Core of
the Library - it's all in a application module. The Library provides a
default implementation in the new HTDialog module.
- Taken the WWW relevant stuff out of HTString and put it into the new module
called HTWWWStr. The latter is a part
of the core whereas the former is generic string utilities.
- Made the global variable
HTLibraryVersion local to HTAccess. The are now only
WWW_TraceFlag left as a global variable in the whole
Library.
- There are now four main include files. They are called:
- WWWUtil.h
- The WWW Utility module contains a lot of the functionality that
makes it possible to make applications, that is container modules
for data objects, basic string functionality etc. This module is
the basis for all of the following modules and is used
extensively.
- WWWCore.h
- The WWW Core module is a set of registration modules that glues
an application together. It contains no real functionality in
itself; it is for example not capable of loading a HTML document.
It only provides a large set of hooks which can be used to add
functionality to the Library and to give an application real life.
We will here a lot more to the structure of the core, and much of
this guide is actually describing how to add functionality to the
core.
- WWWLib.h
- This include is the main include file for the Library. It
basically consists of the WWWUtil.h and the WWWCore.h so that the
application only needs to include this one instead of two.
- WWWApp.h
- This module contains a huge set of modules that can be hooked
into the Core Library and make the application work. In contrast to
the Core part, you can pick exactly tialid up performance
- Made HTTP response stream (which parses the response line only) into a
converter so that we can forward the output exactly as received from the
remote HTTP server. This is important for proxy applications and other
applications that want to see the output untouched.
- The HTChunk module has been made more solid and the amount of memory
allocations has been limited.
- Memory cleanup fixed in content length counter stream and FTP
module
- Introducing HT_CLOSED and HT_PAUSE for handling streams. This was
required, especially after HTTP supports persistent connections where a
document is not delimited by a closed connection.
Release 4.0C January 23 1996
- Automatic redirection and Access authentication has been take n out of
the HTTP module. Instead the new mechanism with request callback
functions are used so that the application can register handlers to
handle these situations. The reason for this change is that not all
applications are interested in having this functionality performed
automatically.
- Authentication handler and redirection handler added to both the Line
Mode Browser and the Command Line Tool
- Added three possible return codes on which a request callback function
can be called:
- HT_PERM_REDIRECT for permanently moved objects
- HT_TEMP_REDIRECT for temporarily moved objects
- HT_NO_ACCESS for insufficient credentials
- PUT and POST do now work reliably in the Line Mode Browser and the
Command Line Tool. Both can PUT or POST a document from either a
remote HTTP server or the local file system to a remote
HTTP server.
- An important bug-fix in the internal event manager that prevented a
socket to be registered for multiple events at the same time.
- Cleanup of the POSTWeb management in the file module and the HTTP
module
- In addition to progress notification on READ we now support progress
notification when sending a data object
- Spelling mistake fixed. preemtive is changed to
preemptive
- The W3C Mini Robot has now the ability to stop at a certain depth while
traversing the Web.
Release 4.0A December 11 1995
- Created the include HTTPUtil.html - a C file may follow
- Changed HTDoAccept so that it automatically inserts the new socket
descriptor in the Net object.
- HTLoad_terminate moved from HTReqMan to HTHome. It is not automatically
set up in HTLibInit anymore
- Made HTAnchor and HTLink opaque data objects
- changed HTLink_newResult to HTLink_result
- changed HTLink_newMethod to HTLink_method
- Changed HyperDoc to simply a void pointer. This makes it more generic
and the application does not have to actually treat it as a document
anyway
- Introduced the WWW_DEBUG internal format that can be used to redirect
debug information, for example from a HTTP redirection message etc.
- Request object added to HText_new methods
- changed HTExtParse to HTXParse throughout - H&kon
- HTXParse now null-terminates buffer - H&kon
- return codes from HTTee changed - H&kon
- content-length initialized to -1 - H&kon
- Fixed bug for handling HEAD in HTTP and MIME streams
- Handles of persistent connection is now a semaphore and not a bool
- Changes the event loop so that a timeout handler can return HT_OK or
HT_ERROR. If the code is not HT_OK then stop the event loop
- Changed request of header enumeration:
- General headers have the prefic HT_G_
- Request headers have the prefic HT_C_
- Server headers have the prefic HT_S_
- Entity headers have the prefic HT_E_
- Separated file suffix initialization into HTBInit
- Changed the names in HTChunk to be consistent with the Module_method
scheme
- Introduced HTBInit.c for setup of file suffixes
Alpha Release 7, November 28 1995
Alpha Release 6, November 20 1995
- Removed remaining
ARGS and PARAMS from the
sources. All function declarations and definitions now follow the ANSI
standard.
- Changed HTAlert to be a registration
module instead of a module to be overriden by an application. Now you can
register a Dialog module as a callback
function which is a much more generic moduel. It also means that there
are no more English text in the Core of
the Library - it's all in a application module. The Library provides a
default implementation in the new HTDialog module.
- Taken the WWW relevant stuff out of HTString and put it into the new module
called HTWWWStr. The latter is a part
of the core whereas the former is generic string utilities.
- Made the global variable
HTLibraryVersion local to HTAccess. The are now only
WWW_TraceFlag left as a global variable in the whole
Library.
- There are now four main include files. They are called:
- WWWUtil.h
- The WWW Utility module contains a lot of the functionality that
makes it possible to make applications, that is container modules
for data objects, basic string functionality etc. This module is
the basis for all of the following modules and is used
extensively.
- WWWCore.h
- The WWW Core module is a set of registration modules that glues
an application together. It contains no real functionality in
itself; it is for example not capable of loading a HTML document.
It only provides a large set of hooks which can be used to add
functionality to the Library and to give an application real life.
We will here a lot more to the structure of the core, and much of
this guide is actually describing how to add functionality to the
core.
- WWWLib.h
- This include is the main include file for the Library. It
basically consists of the WWWUtil.h and the WWWCore.h so that the
application only needs to include this one instead of two.
- WWWApp.h
- This module contains a huge set of modules that can be hooked
into the Core Library and make the application work. In contrast to
the Core part, you can pick exactly tialid up performance
- Made HTTP response stream (which parses the response line only) into a
converter so that we can forward the output exactly as received from the
remote HTTP server. This is important for proxy applications and other
applications that want to see the output untouched.
- The HTChunk module has been made more solid and the amount of memory
allocations has been limited.
- Memory cleanup fixed in content length counter stream and FTP
module
- Introducing HT_CLOSED and HT_PAUSE for handling streams. This was
required, especially after HTTP supports persistent connections where a
document is not delimited by a closed connection.
Release 4.0C January 23 1996
- Automatic redirection and Access authentication has been take n out of
the HTTP module. Instead the new mechanism with request callback
functions are used so that the application can register handlers to
handle these situations. The reason for this change is that not all
applications are interested in having this functionality performed
automatically.
- Authentication handler and redirection handler added to both the Line
Mode Browser and the Command Line Tool
- Added three possible return codes on which a request callback function
can be called:
- HT_PERM_REDIRECT for permanently moved objects
- HT_TEMP_REDIRECT for temporarily moved objects
- HT_NO_ACCESS for insufficient credentials
- PUT and POST do now work reliably in the Line Mode Browser and the
Command Line Tool. Both can PUT or POST a document from either a
remote HTTP server or the local file system to a remote
HTTP server.
- An important bug-fix in the internal event manager that prevented a
socket to be registered for multiple events at the same time.
- Cleanup of the POSTWeb management in the file module and the HTTP
module
- In addition to progress notification on READ we now support progress
notification when sending a data object
- Spelling mistake fixed. preemtive is changed to
preemptive
- The W3C Mini Robot has now the ability to stop at a certain depth while
traversing the Web.
Release 4.0A December 11 1995
- Created the include HTTPUtil.html - a C file may follow
- Changed HTDoAccept so that it automatically inserts the new socket
descriptor in the Net object.
- HTLoad_terminate moved from HTReqMan to HTHome. It is not automatically
set up in HTLibInit anymore
- Made HTAnchor and HTLink opaque data objects
- changed HTLink_newResult to HTLink_result
- changed HTLink_newMethod to HTLink_method
- Changed HyperDoc to simply a void pointer. This makes it more generic
and the application does not have to actually treat it as a document
anyway
- Introduced the WWW_DEBUG internal format that can be used to redirect
debug information, for example from a HTTP redirection message etc.
- Request object added to HText_new methods
- changed HTExtParse to HTXParse throughout - H&kon
- HTXParse now null-terminates buffer - H&kon
- return codes from HTTee changed - H&kon
- content-length initialized to -1 - H&kon
- Fixed bug for handling HEAD in HTTP and MIME streams
- Handles of persistent connection is now a semaphore and not a bool
- Changes the event loop so that a timeout handler can return HT_OK or
HT_ERROR. If the code is not HT_OK then stop the event loop
- Changed request of header enumeration:
- General headers have the prefic HT_G_
- Request headers have the prefic HT_C_
- Server headers have the prefic HT_S_
- Entity headers have the prefic HT_E_
- Separated file suffix initialization into HTBInit
- Changed the names in HTChunk to be consistent with the Module_method
scheme
- Introduced HTBInit.c for setup of file suffixes
Alpha Release 7, November 28 1995
Alpha Release 6, November 20 1995
- Removed remaining
ARGS and PARAMS from the
sources. All function declarations and definitions now follow the ANSI
standard.
- Changed HTAlert to be a registration
module instead of a module to be overriden by an application. Now you can
register a Dialog module as a callback
function which is a much more generic moduel. It also means that there
are no more English text in the Core of
the Library - it's all in a application module. The Library provides a
default implementation in the new HTDialog module.
- Taken the WWW relevant stuff out of HTString and put it into the new module
called HTWWWStr. The latter is a part
of the core whereas the former is generic string utilities.
- Made the global variable
HTLibraryVersion local to HTAccess. The are now only
WWW_TraceFlag left as a global variable in the whole
Library.
- There are now four main include files. They are called:
- WWWUtil.h
- The WWW Utility module contains a lot of the functionality that
makes it possible to make applications, that is container modules
for data objects, basic string functionality etc. This module is
the basis for all of the following modules and is used
extensively.
- WWWCore.h
- The WWW Core module is a set of registration modules that glues
an application together. It contains no real functionality in
itself; it is for example not capable of loading a HTML document.
It only provides a large set of hooks which can be used to add
functionality to the Library and to give an application real life.
We will here a lot more to the structure of the core, and much of
this guide is actually describing how to add functionality to the
core.
- WWWLib.h
- This include is the main include file for the Library. It
basically consists of the WWWUtil.h and the WWWCore.h so that the
application only needs to include this one instead of two.
- WWWApp.h
- This module contains a huge set of modules that can be hooked
into the Core Library and make the application work. In contrast to
the Core part, you can pick exactly tialid up performance
- Made HTTP response stream (which parses the response line only) into a
converter so that we can forward the output exactly as received from the
remote HTTP server. This is important for proxy appl