2004-04-06  Pascal Obry  <p.obry@wanadoo.fr>

	* aws.ads:
	(Version): Set to 2.0a.
	Update copyright notice.

	* aws-smtp-client.adb:
        (Address_Mode): Moved to AWS.SMTP.
        (E_Mail): Moved to AWS.SMTP and renamed Image.
        (Output_Header): Update code to use Image instead of E_Mail.
	Update copyright notice.

	* aws-services-web_mail.adb:
	(Reply): New routine.
        (Send): Idem.
        (Check_Session): Add support for WM_SMTP_SERVER.
        (Callback): Add handling for /wm_reply and /wm_send URI.
        (Login): Add support for WM_SMTP_SERVER.
        (Message): Change variable name from WM_INDEX to WM_MESSAGE.
        (Summary): Change variable name from WM_INDEX_V to WM_MESSAGE_V.

	* aws-services-web_mail.ads:
	Document new template wm_reply.thtml.
        Fix some variable tags name in comments.

	* aws-smtp.adb:
	(Parse): New routine.
        Update copyright notice.

	* aws-smtp.ads:
	(E_Mail): Fix comments.
        (Parse): New routine.
        (Address_Mode): New type. Moved here from SMTP.Client body.
        (Image) [E_Mail_Data]: New routine. Moved here from SMTP.Client body.

2004-04-05  Dmitriy Anisimkov <anisimkov@yahoo.com>

	* aws-net.ads, aws-net.adb:
	(Wait_Mode): Moved from aws-net-std__adasockets.adb.
	(Wait_For): Idem.

2004-03-23  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-headers-set.adb:
	Minor reformatting.
        Update copyright notice.

	* aws-services-web_mail.adb:
	(Message): Add WM_CC tag variale to the translate table.
        Update copyright notice.

	* aws-services-web_mail.ads:
	Document WM_CC tag for the message page.
        Update copyright notice.

2004-03-23  Dmitriy Anisimkov <anisimkov@yahoo.com>

	* aws-net-ssl.adb:
	Update copyright years.
	Reorder with statements.
	(Default_Config): New internal variable.
	(Initialize_Default_Config): New routine.
	(Connect): Use Default_Config if Config is not assigned.
	 Show error code in case of SSL connection error.
	(Accept): Use Default_Config if Config is not assigned.

2004-03-19  Dmitriy Anisimkov <anisimkov@yahoo.com>

	* aws-response.adb:
	(Message_Body): New routine returning message stream.
	Update copyright years.

2004-03-19  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-response.adb:
	Minor typo fix.

2004-03-17  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-url.adb:
	(ASCII_7_Set): New type.
        (Build_Hex_Escape): New routine.
        (Hex_Escape): Now initialized using Build_Hex_Escape which uses
         Default_Encoding_Set.
        (Encode): New implementation based on Encoding_Set.
        Minor reformatting.
        Update copyright notice.

	* aws-url.ads:
	(Default_Encoding_Set): New constant.
        (Encode): Add parameter Encoding_Set with default being
         Default_Encoding_Set. The default value makes Encode behave as
         implemented before. It is now possible to select the set of
         characters to encode.
        Update copyright notice.

2004-03-12  Pascal Obry  <p.obry@wanadoo.fr>

	* templates_parser-expr.adb:
	Update to new version. Fix handling of tag variable parameters.

2004-03-09  Pascal Obry  <p.obry@wanadoo.fr>

	* templates_parser.adb, templates_parser-print_tree.adb,
          templates_parser-cached_files.adb:
        Better cache handling implementation.
        Properly release memory of cached files and properly detect up to
         date files for any include level.
	Update to version 7.5.

2004-03-09  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-client.adb:
	(Close): Update comments.
        Update copyright notice.

	* aws-net-ssl.ads:
	(Supported): Renamed to Is_Supported.
        (Is_Supported): Renaming of Supported.
        Update copyright notice.

2004-03-09  Dmitriy Anisimkov <anisimkov@yahoo.com>

	* aws-client.adb:
	(Close): Catch only Tasking_Error and only from entry call.

	* aws-net-ssl.ads:
	(Supported): New constant.

2004-03-08  Pascal Obry  <p.obry@wanadoo.fr>

	* templates_parser.adb:
	Minor reformatting.

	* templates_parser-expr.adb:
	Complete rewrite to be a LL(0) parser.
        Patch contributed by Jean-Pierre Rosen.
        Updated to version 7.4.

2004-03-07  Pascal Obry  <p.obry@wanadoo.fr>

	* templates_parser-filter.adb:
	Update to version 7.3. Fix implementation of REPLACE and REPLACE_ALL
         filters.
        Patch from Audran Le Baron and Jrome Roussel.

	* templates_parser.adb, templates_parser-cached_files.adb:
        Update to version 7.3. Fix bug in the cache handling.

2004-03-04  Pascal Obry  <p.obry@wanadoo.fr>

	* templates_parser.adb:
	(Load): Improve previous check-in, do not put the Open into the
	 exception handler.
        Patch contributed by Jean-Pierre Rosen.

2004-03-03  Dmitriy Anisimkov <anisimkov@yahoo.com>

	* makefile:
	Add aws-net-sets.adb to the file list.

2004-03-03  Pascal Obry  <p.obry@wanadoo.fr>

	* templates_parser.adb:
	(Load): Ensure that the file is always closed even if the parsing
         fails.
        Patch contributed by Jean-Pierre Rosen.

	* src.gpr:
	(Source_Dirs): Add ../win32 on Windows based OS.
	Add some comments.

	* aws-net-sets-thin.ads:
	(Poll): Add parameter mode. Fix casing.
        Remove obsolete comments.

2004-03-03  Dmitriy Anisimkov <anisimkov@yahoo.com>

	* aws-net-sets.adb:
        (Remove_Socket): Use local Free routine.
         Fixing memory damage detected in Linux.
        (Reset): Use local Free routine.
	(Delete_Socket): Removed. Use code directly.

2004-03-02  Pascal Obry  <p.obry@wanadoo.fr>

	* makefile:
	(SOURCES): Remove aws-services-files.adb.

	* aws-services-files.ads, aws-services-files.adb:
	Removed. The features offered by this API is now part of AWS
	 standard reponses.

2004-03-02  Dmitriy Anisimkov <anisimkov@yahoo.com>

	* aws-net-sets.adb:
        (Wait): Remove not actual comments marked by ???.
	(Reset): Set Set.Last to zero.

2004-03-02  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-net-sets.adb:
        (Count): New routine.
        (Reset): New routine.
        (Delete_Current): Moved into Remove_Socket.
        (Take_Socket): Removed.
        (Remove_Socket): Raises Constraint_Error if no socket are selected.
        (To_State): Rename parameter Item to Event.
        (Wait): Add ???.
	Minor reformatting.

	* aws-net-sets.ads:
        (Socket_State): Add comments.
        (Add): Fix comments.
        (Wait): Idem.
        (Count): New routine.
        (Take_Socket): Removed.
        (Remove_Socket): Document that Constraint_Error can be raised.
        (Next): Fix comments.
        (Reset): New routine.
	Minor reformatting.

	* aws-net.ads:
	Minor reformatting.
        (Errno): Fix comments.

	* aws-net-sets-thin.ads:
	Minor reformatting.
        Add some comments.

2004-03-01  Dmitriy Anisimkov <anisimkov@yahoo.com>

	* aws-net-sets.adb:
	(Next_Private): New private routine starting from current socket.
	(Next): Starting from next socket.

	* aws-client.adb:
	(Internal_Post): New parameter Content_Type.
	(Post): Use Content-Type: application/octet-stream for binary data.
	(SOAP_Post): Send appropriate Content_Type.

2004-02-29  Dmitriy Anisimkov <anisimkov@yahoo.com>

	* aws-net-sets.ads, aws-net-sets.adb:
	(Socket_Set_Type): Make finalization controlled.
	(Wait): Put socket error code to exception text on error.

	* aws-net.ads, aws-net.adb:
	(Errno): New private routine.

        * aws-net-std.ads:
        (Errno): New routine.

2004-02-28  Dmitriy Anisimkov <anisimkov@yahoo.com>

	* aws-net-sets.ads, aws-net-sets.adb, aws-net-sets-thin.ads:
	Waiting on group of sockets for input/output availability.

2004-02-11  Dmitriy Anisimkov <anisimkov@yahoo.com>

	* aws-net.ads:
	(Read_Cache): New type instead of Cache.
	(Write_Cache): New type instead of Cache.

	* aws-net-buffered.adb:
	(Write): Simplified write cache algorithm.
	(Flush): Simplified write cache algorithm.
	(Shutdown): Ignore recent cache buffer send error.

	* aws-net-stream_io.adb:
	(Shutdown): Use Net.Buffered.Shutdown.

2004-02-08  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-smtp.ads:
	Minor reformatting.

	* aws-pop.adb:
	(CC): New procedure.
        (CC_Count): New procedure.

	* aws-pop.ads:
	(CC): New procedure.
        (CC_Count): New procedure.
        Update copyright notice.

2004-02-08  Dmitriy Anisimkov <anisimkov@yahoo.com>

	* aws-server-protocol_handler.adb:
	(Get_File_Data): Fix routine body header.

2004-02-07  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-net-buffered.adb:
	(Pop): Fix pragma inline.
        Update copyright notice.

	* aws-response-set.ads:
	(Cache_Control): Fix pragma inline.
        Update copyright notice.

	* templates_parser.adb:
	Update to version 7.1.
	Handle now tables having a single vector tag in an if condition.
	(Check): Optimize a little bit the code.

2004-02-06  Pascal Obry  <p.obry@wanadoo.fr>

	* templates_parser.adb:
	Integrates Jean-Pierre Rosen's patch to improve performances by
	 using a static buffer to cache result. This work around a slow
	 Unbounded_String implementation on GNAT 3.15. It still improves
	 the performance by 14% on GNAT 3.16.

2004-02-02  Dmitriy Anisimkov <anisimkov@yahoo.com>

	* aws-resources.ads, aws-resources.adb,
	  aws-resources-files.ads, aws-resources-files.adb,
	  aws-resources-embedded.ads, aws-resources-embedded.adb:
	Remove DOS CR at end of line.

2004-01-31  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-session.adb:
	(Generic_Data): New package.
        Update copyright notice.

	* aws-session.ads:
	(Generic_Data): New package.
        Minor reformatting.
        Update copyright notice.

2004-01-30  Pascal Obry  <p.obry@wanadoo.fr>

	* src.gpr:
	Add with for xmlada project.

2004-01-30  Pascal Obry  <p.obry@wanadoo.fr>

	* src.gpr:
	Add support for AWS library.
	Update copyright notice.
	(Limited_Debug_Switches): Add comment.

	* makefile:
	(.SILENT): Simplify.

	* aws-containers-tables-set.ads:
	Minor reformatting.
	Update copyright notice.

2004-01-28  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-digest.ads:
	(Digest_String): Use new MD5 implementation.
	Update copyright notice.

	* aws-digest.adb:
	Many changes to use new MD5 implementation.
	Update copyright notice.

	* aws-pop.adb:
	(Initialize): Change to use new MD5 implementation.

	* aws-utils.ads, aws-utils.adb:
	(Get_MD5): Removed.

2004-01-27  Pascal Obry  <p.obry@wanadoo.fr>

	* makefile:
	(GY_tmp): New variable.
	(TGARGS): New variable.
	(TMPLT_SOURCES): New variable.
	(TMPLT_UNITS): New variable.
	(build): Add $(TMPLT_SOURCES)
	Uses less restrictive rules to build the Templates_Engine.

	* templates_parser.adb, templates_parser-expr.adb:
	Fix style errors.

	* templates_parser-cached_files.adb, templates_parser-filter.adb:
	Fix style errors.

	* templates_parser-query.adb:
	Fix style errors.

2004-01-27  Pascal Obry  <p.obry@wanadoo.fr>

	* makefile:
	(SOURCES): Add templates_parser.adb templates_parser-input.adb
	 and templates_parser-query.adb.

	* templates_parser-cached_files.adb:
	Moved here from the include directory.

	* templates_parser-data.adb:
	Moved here from the include directory.

	* templates_parser-filter.adb:
	Moved here from the include directory.

	* templates_parser-input.ads, templates_parser-input.adb:
	Moved here from the include directory.

	* templates_parser-print_tree.adb:
	Moved here from the include directory.

	* templates_parser-query.ads, templates_parser-query.ads:
	Moved here from the include directory.

	* templates_parser.ads, templates_parser.adb:
	Moved here from the include directory.

2004-01-25  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-pop.adb:
	(Content_Transfer_Encoding): Removed.
	(Content_Disposition): Removed.
	(Get): Use constants from AWS.Messages.
	Code clean-up.
	Minor reformatting.
	Update copyright notice.

	* aws-messages.ads:
	(Content_Transfer_Encoding_Token): New constant.
	Update copyright notice.

2004-01-21  Pascal Obry  <p.obry@wanadoo.fr>

	* src.gpr:
	(Languages): Add support for Ada, ChangeLog and Project files.

2004-01-12  Dmitriy Anisimkov <anisimkov@yahoo.com>

	* aws-net.ads, aws-net-std.ads:
	(Get_Send_Buffer): Renamed to Get_Send_Buffer_Size.
	(Get_Receive_Buffer): Renamed to Get_Receive_Buffer_Size.
	(Set_Send_Buffer): Renamed to Set_Send_Buffer_Size.
	(Set_Receive_Buffer): Renamed to Set_Receive_Buffer_Size.

2004-01-11  Dmitriy Anisimkov <anisimkov@yahoo.com>

	* aws-net.ads, aws-net-std.ads:
	(Get_Send_Buffer): New routine.
	(Get_Receive_Buffer): New routine.

2004-01-08  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-net.ads:
	(Send): Remove pragma Inline. Was not done in previous check-in.
	(Receive): Idem.
        (Forever): Set to the longest delay possible.
        Update copyright notice to 2004.

2004-01-08  Dmitriy Anisimkov <anisimkov@yahoo.com>

	* aws-net-std.ads:
	(Send): Remove pragma Inline. AdaSockets based implementation is big
	 enought and using nested subroutine.

2004-01-07  Dmitriy Anisimkov <anisimkov@yahoo.com>

	* aws-net.ads, aws-net.adb:
	(Forever): New constant.
	(Set_Timeout): New routine.
	(Socket_Type): New field Timeout for keep read/write timeout.

2004-01-06  Dmitriy Anisimkov <anisimkov@yahoo.com>

	* aws-server.ads, aws-server.adb:
	(Set_Security): Security_Mode default value is SSLv23_Server.

	* aws-client.adb:
	(Create): Set Security_Mode to SSLv23_Client.

	* aws-resources-streams-zlib.adb:
	(Close): Ignore ZLib filter close errors.

2004-01-02  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-utils.ads, aws-utils.adb:
	(Dec): Removed. Indentical to Image routine.
        Update copyright notice.

2003-12-31  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-utils.adb:
	(Dec): Better implementation.

2003-12-31  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-pop.adb:
	(For_Every_Message): Fix code to avoid warning.
	(For_Every_Message_Header): Fix code to avoid warning.

	* aws-utils.ads, aws-utils.adb:
	(Dec): New routine.

2003-12-20  Pascal Obry  <p.obry@wanadoo.fr>

	* src.gpr:
	(Ide): New package.

	* aws-communication-server.adb:
	Back out previous check-in as GNAT output a warning.

	* aws-config-set.adb:
	(Check_URL_Validity): New procedure.

	* aws-config-set.ads:
	(Check_URL_Validity): New procedure.
	Reorder routines by category.

	* aws-config.ads:
	Reorder routines by category.

2003-12-19  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-communication-server.adb:
	(Internal_Callback): Derived from AWS.Response.Callback. Cleaner
	 implementation for previous check-in.

2003-12-19  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-communication-server.adb:
	(Internal_Callback): New type.
	(To_Callback): New routine.
	(Start): Remove use of Unrestricted_Access.
	Remove commented out with clause.
	Minor reformatting.

2003-12-19  Dmitriy Anisimkov <anisimkov@yahoo.com>

	* aws-resources.ads, aws-resources.adb:
	(File_Instance): New type.
	(Exist): New routine.

	* aws-resources-embedded.ads:
	(Exist): New routine.

	* aws-resources-embedded.adb:
	(Exist): New routine.
	Use GZip_Ext constant instead of direct ".gz".

	* aws-resources-files.ads, aws-resources-files.adb:
	(Exist): New routine.

2003-12-19  Dmitriy Anisimkov <anisimkov@yahoo.com>

	* aws-resources-embedded.ads:
	(Append): New routine for constant buffer access.
	(Buffer_Access): Is subtype from Streams.Memory, constant too.

	* aws-resources-embedded.adb:
	(Empty_Buffer): Remove.
	Do not use Unchecked_Conversion now.

	* aws-resources-streams-memory-zlib.ads:
	(Append): Add Trim parameter for catch changed inherited routine.

	* aws-resources-streams-memory-zlib.adb:
	(Append): Do not use Trim parameter.
	(Flush): Automatically trim unused memory space at the end of flush,
	 reduce memory usage.

	* aws-resources-streams-memory.ads, aws-resources-streams-memory.adb:
	(Append): New routine.
	(Append): Add parameter Trim.
	(Buffer_Access): New type.

2003-12-18  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-translator.ads:
	Fix typo.

2003-12-18  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-resources-embedded.adb:
	Minor reformatting.

	* aws-resources-files.adb:
	Minor reformatting.

	* aws-resources.adb:
	(Is_GZip): Add in parameter mode. Minor reformatting.

	* aws-resources.ads:
	(Open): Fix comments.
	(Is_GZip): Add in parameter mode.

	* aws-response.adb:
	Minor reformatting.

2003-12-18  Dmitriy Anisimkov <anisimkov@yahoo.com>

	* aws-resources.ads, aws-resources.adb:
	(Open): New routine with GZip in out parameter.
	(Is_GZip): New private routine.
	(Support_Compressed): Removed.

	* aws-resources-embedded.ads:
	(Open): New routine with GZip in out parameter.
	(Support_Compressed): Removed.

	* aws-resources-embedded.adb:
	Implementation based on AWS.Resources.Streams.Memory for keep data
	 and on AWS.Resources.Streams.ZLib for decompress compressed resources
	 if necessary.

	* aws-resources-files.ads:
	(Open): New routine with GZip in out parameter.

	* aws-resources-files.adb:
	Add ability to decompress compressed resources when necessary and
	 provide compressed stream when possible.
	(File_Timestamp): Checking for .gz file too.
	(Is_Regular_File): Idem.
	(File_Size): Idem.

	* aws-response.ads, aws-response.adb:
	(Create_Resource): Data parameter is in "in out" mode to be able to
	 set Content-Encoding header value. New parameter GZip allowed to get
	 static resource in GZip format.

	* aws-server-protocol_handler.adb:
	(Send): Parameter Answer is in "in out" mode to be able to call
	 Create_Resource routine. Checking for GZip Accept-Encoding instead
	 of Deflate.

2003-12-18  Dmitriy Anisimkov <anisimkov@yahoo.com>

	* aws-resources-streams-memory-zlib.ads:
	(Default_Header): New constant.

	* aws-translator.ads, aws-translator.adb:
	(Compress): New parameter Header with default value.
	(Decompress): Idem.

2003-12-17  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-server.adb:
	(Shutdown): Release memory associated with the server's SSL_Config
	 object.

2003-12-17  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-server.adb:
	(Start): Initialize the SSL layer only if not already done by
	 Set_Security. Properly pass the key and security mode to the SSL
	 initialize routine.

	* aws-net-ssl.ads:
	(Null_Config): New constant.

	* aws-net-ssl-certificate.adb:
	(NAME_oneline): New routine.
	(Get): Use NAME_oneline, free certificate before returning.

2003-12-17  Pascal Obry  <p.obry@wanadoo.fr>

	* makefile:
	(SOURCES): Add aws-net-ssl-certificate.adb.

	* aws-url.adb:
	Fix typo.

	* aws-server.adb:
	(Security_Initialized): Removed.
	(Accept_Socket_Serialized): If secure socket, set the SSL
	 configuration.
	(Set_Security): New version that operate on a single server.
	(Start): If secure server, initialize the security object.

	* aws-server.ads:
	(Set_Security): New version that operate on a single server.
	(HTTP): Add SSL_Config field.

	* aws-net-ssl.adb:
	(TS_SSL): Moved to spec private part.
	(Accept_Socket): Use Config object.
	(Connect): Idem.
	(Initialize): Build the config object.
	(Release) [SSL.Config]: New procedure.
	(Set_Config): New procedure.
	(TS_SSL.Initialize): Setup the context certificate exchange if
	 needed.
	(Verify_Callback): New procedure.
	Minor reformatting.
	Update copyright notice.

	* aws-net-ssl.ads:
	(Initialize): Now used to build an SSL configuration object. This
	 make it possible to have different HTTPS server with different
	 settings. New parameter Exchange_Certificate.
	(Config): New type.
	(Release) [SSL.Config]: New procedure.
	(Set_Config): New procedure.
	(TS_SSL): Move into private part from body. This is now a
	 protected type.
	(Null_Ptr): Removed, use now Thin.Null_Pointer.
	(Socket_Type): Add Config field.
	Minor reformatting.
	Update copyright notice.

	* aws-net-ssl-certificate.ads, aws-net-ssl-certificate.adb:
	Initial revision.

	* aws-default.ads:
	(Security_Mode): New constant.
	(Key): Idem.
	(Client_Certificate): Idem.
	(Exchange_Certificate): Idem.

	* aws-client.adb:
	(Close): Release SSL_Config object.
	(Connect): Set security configuration if needed.
	(Create): Handles User_Agent and initialize SSL if needed.
	(Open_Send_Common_Header): Use User_Agent field.

	* aws-client.ads:
	(Create): Add Certificate and User_Agent parameter.
	(Get_Certificate): New routine.
	(HTTP_Connection): Add Certificate, User_Agent and SSL_Config fields.

	* aws-config-set.ads, aws-config-set.adb:
	(Certificate): Is now a per server option.
	(Key): New routine.
	(Security_Mode): New routine.
	(Exchange_Certificate): New routine.

	* aws-config.adb:
	(Certificate): Is now a per server option.
	(Key): New routine.
	(Security_Mode): New routine.
	(Exchange_Certificate): New routine.

	* aws-config.ads:
	(Certificate): Is now a per server option.
	(Key): New routine.
	(Security_Mode): New routine.
	(Exchange_Certificate): New routine.
	(Parameter_Name): Add Key, Security_Mode, Exchange_Certificate.
	(Default_Parameters): Idem.

2003-12-12  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-resources-embedded.adb:
	(Node): Remove Mode field.
	(Exists): Removed.
	(File_Size): Checks for compressed resources  (".gz" extension).
	(File_Timestamp): Idem.
	(Is_Regular_File): New implementation.
	(Open): Checks  for compressed resources (".gz" extension).
	(Register): Remove Mode parameter.

	* aws-resources-embedded.ads:
	(Is_Regular_File): Add pragma Inline.
	(Register): Remove Mode parameter.
	(Exists): Removed.

	* aws-resources.adb:
	(File_Size): Use Embedded.Is_Regular_File.
	(File_Timestamp): Idem.
	(Is_Regular_File): Idem.

2003-12-10  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-resources.ads:
	Minor reformatting.

	* aws-services-dispatchers.ads:
	Add comments about the Transient_Pages and Timer children.

	* aws-response.ads:
	Minor reformatting.

2003-12-10  Pascal Obry  <p.obry@wanadoo.fr>

	* makefile:
	(SOURCES): Add aws-services-dispatchers-timer.adb.

	* aws-services-dispatchers-timer.ads:
	Minor code reordering.

	* aws-services-dispatchers-timer.adb:
	Initial revision.

2003-12-09  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-services-dispatchers-method.ads,
	  aws-services-dispatchers-method.adb:
	(Initialize): New routine.
	(Finalize): New routine.

	* aws-services-dispatchers-timer.ads:
	(Minutely): Remove Name parameter.
	(Register) [Callback]: Add Name parameter.
	(Date_Time): Add N_Day field.

	* aws-services-dispatchers-transient_pages.ads:
	Minor reformatting.

	* aws-services-dispatchers-uri.adb:
	(Finalize): Release memory with all Action (Handler access).
	(Unregister): Minor reformatting.

	* aws-services-dispatchers-virtual_host.adb:
	(Finalize): Release memory associated with each node on the tree.

2003-12-08  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-services-dispatchers-timer.ads:
	Initial revision.

	* aws-services-split_pages.ads:
	Fix comments (V is a suffix) and add comment for OFFSET and
	 NUMBER_PAGES.

	* aws-services-split_pages.adb:
	(Indexes): Put V at then end of the vector tag. This is the common
	 convention used for AWS/Templates tags.
	(Parse): Add NUMBER_PAGES and OFFSET tag variables.

	* aws-services-dispatchers-virtual_host.ads:
	(Initialize): Moved to private section.
	(Finalize): Idem.

	* aws-services-dispatchers-uri.ads:
	(Initialize): Moved to private section.
	(Finalize): Idem.

2003-12-07  Pascal Obry  <p.obry@wanadoo.fr>

	* makefile:
	(SOURCES): Add aws-services-web_mail.adb.

	* aws-services-web_mail.ads, aws-services-web_mail.adb:
	Initial revision.

	* aws-resources.ads:
	Minor comment fix.

	* aws-services-page_server.adb:
	(Callback): Use MIME.Text_HTML instead of string.

	* aws-pop.adb:
	(Stream_Type): Move here from spec.
	(CRLF): New constant.
	(Delete): New routine.
	(Size) [Message]: New routine.
	(Content) [Attachment]: Returns a Stream_Access.
	(Get): Use CRLF, use new routine Delete to delete a message if needed.
	(Get_Header): Retreive the message size.

	* aws-pop.ads:
	(Stream_Type): Move to body.
	(Delete): New routine.
	(Size) [Message]: New routine.
	(Content) [Attachment]: Returns a Stream_Access.
	(Message): Add Size field.

2003-12-04  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-config.ads:
	Fix typo.

	* aws-resources-streams-memory.ads:
	(Append): Minor comment fixes.

	* aws-services-files.adb:
	(Open): Use Z_Filename everywhere. Minor comment fix and reformatting.

2003-12-04  Dmitriy Anisimkov <anisimkov@yahoo.com>

	* aws-resources-streams-zlib.ads, aws-resources-streams-zlib.adb:
	(Inflate_Create): New routine.

2003-12-04  Dmitriy Anisimkov <anisimkov@yahoo.com>

	* aws-services-files.adb:
	(Open) Fix Content-Type and Accept-Encoding.

2003-12-03  Pascal Obry  <p.obry@wanadoo.fr>

	* makefile:
	(SOURCES): Add aws-services-files.adb.

	* aws-services-files.ads, aws-services-files.adb:
	Initial revision.

	* aws-mime.ads, aws-mime.adb:
	Fix casing of GZip and GTar.

2003-12-03  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-pop.ads, aws-pop.adb:
	(Get_Header): New function.
	(For_Every_Message_Header): New procedure.
	This will be needed to implement the Web Mail callback.

	* aws-resources-files.adb:
	(File_Size): Catch only OS_Lib.No_Such_File.
	(File_Timestamp): Idem.
	(Is_Regular_File): Remove exception handler.

	* aws-server-hotplug.ads, aws-server-hotplug.adb:
	Reformat code.
	Update copyright header.

	* aws-hotplug.ads, aws-hotplug.adb:
	Reformat code.
	Update copyright header.

	* aws-server-protocol_handler.adb:
	(Get_Message_Header): Uses AWS.Status.Is_Supported service,
	 cleaner implementation.

2003-12-03  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-server-protocol_handler.adb:
	(Support_Compressed): New variable.
	(Get_Message_Header): Checks the Accept-Encoding header, set
	 Support_Compressed accordingly.
	(Send_Data): Set the support compressed flag for the file.

2003-12-02  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-resources-embedded.adb:
	(Node): Add field Mode.
	(Read_Uncompressed): New routine.
	(Read) [Z_File_Tagged]: New routine.
	(Close) [Z_File_Tagged]: New routine.
	(Support_Compressed) [Z_File_Tagged]: New routine.

	* aws-resources-embedded.ads:
	(Data_Mode): New type.
	(Register): Add new parameter Mode to specify if the resource is
	 compressed or not.
	(Z_File_Tagged): New type.
	(Read) [Z_File_Tagged]: New routine.
	(Close) [Z_File_Tagged]: New routine.
	(Support_Compressed) [Z_File_Tagged]: New routine.

	* aws-resources-streams-memory-zlib.ads,
	  aws-resources-streams-memory-zlib.adb:
	Undo previous change.

	* aws-resources-streams-zlib.ads, aws-resources-streams-zlib.adb:
	Undo previous change.

	* aws-resources.ads, aws-resources.adb:
	Undo previous changes.
	Keep only Support_Compressed routine.
	This implementation support only uncompress of embedded compressed
	 resources.

2003-12-02  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-resources.adb:
	Fix bad indentation.

2003-12-02  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-resources-streams-memory-zlib.ads,
	  aws-resources-streams-memory-zlib.adb:
	(Is_Compressed): New routine.

	* aws-resources-streams-zlib.ads, aws-resources-streams-zlib.adb:
	(Is_Compressed): New routine.

	* aws-resources.adb:
	(Read_Uncompressed): New routine.
	(Close): Close the Zlib filter if needed.
	(Is_Compressed): New routine.
	(Read): Uncompress data, if client does not support compressed and
	 data compressed.
	(Support_Compressed): New routine.
	Minor reformatting.

	* aws-resources.ads:
	(Is_Compressed): New routine.
	(Support_Compressed): New routine.
	(File_Tagged): Add U_Buffer, R_First, R_Last, U_Filter and
	 Support_Compressed fields.
	Minor reformatting.

2003-12-01  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-server-protocol_handler.adb:
	(Parse_Request_Line): Always parse the request line parameters
	 even in the POST case. This was not activated on purpose as the
	 RFC is not clear. But as this feature is on PHP for example it is now
	 activated.

2003-11-30  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-pop.adb:
	(For_Every_Attachment): Pass Index to Action.

	* aws-pop.ads:
	(For_Every_Attachment): Add Index parameter to formal generic
	 procedure.

2003-11-30  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-pop.adb:
	(For_Every_Message): Pass Index to Action.

	* aws-pop.ads:
	(For_Every_Message): Add Index parameter to formal generic procedure.
	Add some comments.

2003-11-30  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-pop.ads, aws-pop.adb:
	Change Server by Mailbox. Better reading API.
	(Mailbox_Size): Renamed to Size. This is a consequence of above
	 change.

2003-11-25  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-os_lib.ads:
	(Dir_Type): Removed.
	(Directory_Error): Removed.
	(Open): Idem.
	(Read): Idem.
	(Close): Idem.
	(For_Every_Directory_Entry): New routine. Generic directory
	 iterator.
	(Dir_Type_Hidden): Removed (private type).
	Minor reformatting.

	* aws-services-directory.adb:
	(Read_Directory): New routine.
	Do not use anymore GNAT.Directory_Operations.
	Part of work for ObjectAda compatibility.
	Code cleanup.

2003-11-17  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-os_lib.ads:
	(Open): New procedure.
	(Read): Idem.
	(Close): Idem.
	(Base_Name): Idem.
	(File_Extension): Idem.
	(File_Name): Idem.
	Part of work for ObjectAda compatibility.

	* aws-utils.adb, aws-smtp-client.adb, aws-mime.adb:
	Use AWS.OS_Lib services instead of GNAT.Directory_Operations.
	Part of work for ObjectAda compatibility.

2003-11-13  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-resources-streams-disk-once.ads,
	  aws-resources-streams-disk-once.adb:
	Split CVS tags to avoid too long line.

2003-11-12  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-resources-release.ads, aws-resources-release.adb:
	Removed.

	* makefile:
	(SOURCES): Add aws-resources-streams-disk.adb
	 aws-resources-streams-disk-once.adb

	* aws-services-transient_pages.ads:
	(Default_Lifetime): Removed.
	(Stream_Type): Removed, now this API can be used with any kind of
	 streams.
	(Close): Removed.
	(Release): Removed.

	* aws-services-transient_pages.adb:
	(Clean_Interval): New variable.
	(Register): Set Clean_Interval.
	(Generate_ID): Add some comments.
	(Close): Removed.
	(Get): Reset stream using the root class method.
	(Release): Removed.
	Minor reformatting.

	* aws-services-split_pages.adb:
	(Parse): Use memory stream API directly as the Stream_Type has
	 been removed from Transient_Pages. Use Config.Transient_Lifetime
	 to register each transient pages.

	* aws-services-dispatchers-transient_pages.adb:
	(Dispatch): Create stream object with Server_Close to False.

	* aws-server.adb:
	(Start): Properly pass Transient_Check_Interval, remove ???.

	* aws-server-protocol_handler.adb:
	(Send_Resource): New parameter Close. Close the resource only if
	 Close is True.
	(Send_Data): Pass Close parameter to Send_Resource.

	* aws-response.ads:
	(Date_Mode): Add File_Once, document each mode.
	(File): Add parameter once.
	(Stream): Add parameter Server_Close.
	Minor reformatting.

	* aws-response.adb:
	(Close_Resource): New procedure.
	(Create_Resource): Handle File_Once case.
	(File): Add parameter once. Set Mode to File or File_Once
	 depending on Once value.
	(Stream): Set the close by server state.

	* aws-response-set.ads, aws-response-set.adb:
	(Close_Resource): New routine.

	* aws-resources.adb:
	(Close): Call Free instead of Release.
	(Reset): New routine.
	(Release): Removed.
	Update copyright notice.

	* aws-resources.ads:
	(Reset): New routine.
	(Release): Removed.
	(Free): New (was removed in previous check-in).

	* aws-resources-streams.adb:
	(Release): Removed.

	* aws-resources-streams.ads:
	(Release): Removed.
	(Reset): New rotuine.

	* aws-resources-streams-zlib.ads, aws-resources-streams-zlib.adb:
	(Reset): New routine.

	* aws-resources-streams-disk-once.ads,
	  aws-resources-streams-disk-once.adb:
	Initial revision.

	* aws-resources-streams-disk.ads, aws-resources-streams-disk.adb:
	Initial revision.

	* aws-resources-files.ads:
	Removes all the private part, the implementation is now based on
	 the on-disk streams.

	* aws-resources-files.adb:
	(Close): Removed.
	(End_Of_File): Removed.
	(Read): Removed.
	(Size): Removed.
	(Open): Implementation using AWS.Resources.Streams.Disk API.

	* aws-resources-embedded.ads, aws-resources-embedded.adb:
	(Reset): New routine.

	* aws-default.ads:
	(Transient_Cleanup_Interval): New constant.
	(Transient_Lifetime): Idem.
	Reformat code and order routines.

	* aws-config.ads:
	(Transient_Cleanup_Interval): New routine.
	(Transient_Lifetime): Idem.
	(Parameter_Name): Add Transient_Cleanup_Interval and Transient_Lifetime

	* aws-config.adb:
	(Transient_Cleanup_Interval): New routine.
	(Transient_Lifetime): Idem.

	* aws-config-set.ads:
	(Transient_Cleanup_Interval): New routine.
	(Transient_Lifetime): Idem.
	Fix typo in comment.

	* aws-config-set.adb:
	(Transient_Cleanup_Interval): New routine.
	(Transient_Lifetime): Idem.
	Minor reformatting.

2003-11-10  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-resources-streams.ads:
	Reorder routines.

	* aws-session.adb:
	Minor reformatting.

	* aws-resources-streams.adb:
	Minor reformatting.

2003-11-10  Pascal Obry  <p.obry@wanadoo.fr>

	* makefile:
	(SOURCES): Add aws-services-transient_pages-control.adb.

	* aws-resources-streams-memory-zlib.adb:
	(Close): Do not fail when calling ZL.Close. This is needed if the
	 data has not been set, for example in a transient compressed page.

	* aws-resources.adb, aws-resources-streams.adb,
	  aws-resources-files.adb:
	(Release): Use AWS.Resources.Release child procedure.

	* aws-resources.ads:
	(Free): Moved to child procedure. Needed to be visible outside
	 hierarchy.

	* aws-server.adb:
	(Start): Start transient task.
	(Shutdown): Shutdown transient task.

	* aws-services-dispatchers-transient_pages.adb:
	(Dispatch): Pass the URI as-is, do not remove leading /.

	* aws-resources-release.ads, aws-resources-release.adb:
	Initial revision.

	* aws-services-transient_pages-control.ads,
	  aws-services-transient_pages-control.adb:
	Initial revision.

	* aws-services-transient_pages.adb:
	First real implementation. There is now a task that will release
	 obsolete pages.
	(Cleaner): New task.
	(Cleaner_Control): New protected object.
	(Database): New protected object to keep record of all transient
	 pages.

	* aws-services-transient_pages.ads:
	(Default_Life_Time): Renamed Default_Lifetime for consistency.
	(Cleaner): New task.
	(Cleaner_Control): New protected object.

	* aws-session-control.ads:
	Fix typo.

2003-11-09  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-communication.ads:
	Update documentation. Point out that this API should be used only
	 if AWS has not been built with SOAP support.

	* aws-services-transient_pages.adb:
	(Close): New routine.
	Add notes about the way to release memory. This will be used with
	 the real implementation.

	* aws-services-transient_pages.ads:
	(Release): Moved into the private section.
	(Close): New private routine.

2003-11-08  Pascal Obry  <p.obry@wanadoo.fr>

	* makefile:
	(SOURCES): Add aws-services-dispatchers-transient_pages.adb
	 aws-services-split_pages.adb aws-services-transient_pages.adb.

	* aws-services-split_pages.ads, aws-services-split_pages.adb:
	Initial revision.

	* aws-services-dispatchers-transient_pages.adb:
	Initial revision.

	* aws-services-dispatchers-transient_pages.ads:
	Initial revision.

	* aws-services-transient_pages.ads:
	Initial revision.

	* aws-services-transient_pages.adb:
	Initial revision.
	Note that this implementation is a proof of concept far from being
	 a good one. See comments.

	* aws-resources-files.ads:
	Minor reformatting.

	* aws-resources-streams-memory.ads:
	Minor reformatting.

	* aws-resources-streams.ads, aws-resources-streams.adb:
	(Release): New routine.

	* aws-resources.adb:
	(Close): Do not call Free directly to release the memory associated
	 with the handle but call Release dispatching operation.
	(Release): New routine.
	Minor reformatting.

	* aws-resources.ads:
	Minor reformatting.
	(Release): New routine.

2003-11-07  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-pop.ads, aws-pop.adb:
	(Initialize): Set default authentication to Clear_Text. The APOP
	 method is almost never used.

2003-11-05  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-server-protocol_handler.adb:
	(Value_For): Removed. Use Headers.Values.Search instead. Code
	 clean-up.
	Minor comment fixes.

	* aws-resources-embedded.ads:
	Minor comment fixes.

	* aws-pop.adb:
	(Get): Use AWS.Headers.Values.Search instead of
	 AWS.Headers.Get_Field_Value.
	(Get.Get): Idem. Properly read until the end of the message after
	 MIME attachments.

	* aws-headers.ads, aws-headers.adb:
	(Get_Field_Value): Removed. This is not needed as we already have
	 a similar routine in AWS.Headers.Values.

2003-11-04  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-pop.ads, aws-pop.adb:
	Initial revision.

	* aws-headers.ads, aws-headers.adb:
	(Get_Field_Value): New routine.

	* aws-messages.ads:
	Minor reformatting.

	* makefile:
	(SOURCES): Add aws-pop.adb.

2003-11-03  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-smtp-client.ads:
	Minor comment fix.

2003-11-01  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-server.adb:
	(Start_Log): Removed, this was an obsolescent feature in 1.4.
	(Stop_Log): Idem.
	(Start_Error_Log): Idem.
	(Stop_Error_Log): Idem.

2003-10-31  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-server.ads:
	(Start_Log): Removed, this was an obsolescent feature in 1.4.
	(Stop_Log): Idem.
	(Start_Error_Log): Idem.
	(Stop_Error_Log): Idem.

	* aws.ads:
	(Version): Set to 1.5w.

2003-10-29  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-server-push.ads:
	Fix typo in comment.

2003-10-23  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-resources-streams-memory-zlib.adb:
	Add pragma Linker_Options -lz.

2003-10-21  Dmitriy Anisimkov <anisimkov@yahoo.com>

	* aws-containers-tables.ads:
	(Get): Remove double 'if' typo.

2003-10-18  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-containers-tables.adb:
	(Get): Returns Null_Element if item not found.
	Reformat code.

	* aws-containers-tables.ads:
	(Null_Element): New constant.
	(Get): Add comment about Null_Element returned when item not found.
	Reformat code.

2003-10-18  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-containers-tables.adb:
	(Get_Values): Do not use 1 but Name_Indexes.First. Minor ident fix.

2003-10-14  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-services-directory.adb:
	Minor reformatting.

2003-10-12  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-communication-server.adb:
	Minor reformatting.

2003-10-10  Pascal Obry  <p.obry@wanadoo.fr>

	* makefile:
	(SOURCES): Add aws-server-log.adb.

	* aws-server-protocol_handler.adb:
	Fix ambiguous call.

	* aws-server.adb:
	(Start_Log): Renaming of routines in AWS.Server.Log.
	(Stop_Log): Idem.
	(Start_Error_Log): Idem.
	(Stop_Error_Log): Idem.
	(Flush_Log): Moved to AWS.Server.Log.
	(Is_Log_Active): Idem.
	(Log_Name): Idem.
	(Is_Error_Log_Active): Idem.
	(Error_Log_Name): Idem.

	* aws-server.ads:
	(Start_Log): Add pragma Obsolescent.
	(Stop_Log): Idem.
	(Start_Error_Log): Idem.
	(Stop_Error_Log): Idem.
	(Flush_Log): Moved to AWS.Server.Log.
	(Is_Log_Active): Idem.
	(Log_Name): Idem.
	(Is_Error_Log_Active): Idem.
	(Error_Log_Name): Idem.

	* aws-server-log.ads, aws-server-log.adb:
	Initial revision.

2003-10-10  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-log.ads:
	Minor reformatting.

	* aws-server.ads, aws-server.adb:
	(Log_Name): New routine.
	(Error_Log_Name): Idem.
	(Is_Log_Active): Idem.
	(Is_Error_Log_Active): Idem.
	Minor reformatting.

2003-10-09  Dmitriy Anisimkov <anisimkov@yahoo.com>

	* aws-status.adb:
	(Preferred_Encoding): Fix parsing last encoding value. Use loop to
	 parse every Accept-Encoding lines in the header.
	(Is_Supported): Make it conforming to RFC 2616 14.3.

2003-10-09  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-utils.ads:
	Minor reformatting.

2003-10-09  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-client.adb:
	Update comment, fix one typo.
	Minor reformatting.

	* aws-digest.adb:
	Add comment.

	* aws-digest.ads:
	Minor reformatting.

	* aws-dispatchers.ads:
	Add comment.
	Update copyright notice.

	* aws-mime.ads:
	Fix typo.

	* aws-utils.adb:
	Removes pragma Warnings Off. Not needed now.

	* aws-utils.ads:
	(Random_Integer): Use a maximum of 32 bits.

2003-10-09  Dmitriy Anisimkov <anisimkov@yahoo.com>

	* aws-status.ads, aws-status.adb:
	(Preferred_Coding): New routine.

2003-10-08  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-utils.ads:
	(Random_Integer): Restrict to 48 bits to avoid GNAT 5.x warnings.


2003-10-08  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-containers-tables.adb:
	Minor reformatting.

	* aws-status.adb:
	Minor reformatting.

	* aws-smtp-client.adb:
	(Open): Call Shutdown to close the socket and release memory
	 associated to the connection.
	(Shutdown): New procedure.
	(Send): Properly call Shutdown to safely close the socket.

2003-10-08  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-translator.adb:
	(Compress_Decompress): Do not use an access parameter. This is
	 just not needed.
	(Compress): Idem.
	(Decompress): Idem.

	* aws-translator.ads:
	(Compress): Do not use an access parameter. This is just not needed.
	(Decompress): Idem.

2003-10-08  Dmitriy Anisimkov <anisimkov@yahoo.com>

	* aws-resources-streams-memory.ads,
	  aws-resources-streams-memory.adb,
	  aws-resources-streams-memory-zlib.ads,
	  aws-resources-streams-memory-zlib.adb:
	(Append): With access buffer parameter removed.

	* aws-response-set.ads, aws-response-set.adb:
	(Append_Body): With access buffer parameter removed.
	(Message_Body): With access buffer parameter removed.

2003-10-08  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-mime.ads:
	(Content_Type): Move to the right section.

2003-10-08  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-client.adb:
	Change references to Content_Encoding type now in AWS.Messages.

	* aws-containers-tables.ads:
	Minor reformatting.

	* aws-headers-set.ads:
	Minor reformatting.

	* aws-messages.ads:
	(Content_Encoding): Moved here from AWS.Response.
	Minor reformatting.

	* aws-response-set.ads, aws-response-set.adb:
	Change references to Content_Encoding type now in AWS.Messages.

	* aws-response.adb:
	(Authentication): Set variable as constant.
	(Authentication_State): Idem.
	(File): Add encoding parameter. Properly set the encoding header
	 in the response object.

	* aws-response.ads:
	(Content_Encoding): Type moved to AWS.Messages.
	(File): Add encoding parameter.

	* aws-status.adb:
	(Accept_Encoding): New routine.
	(Is_Supported): New routine.

	* aws-status.ads:
	(Accept_Encoding): New routine.
	(Is_Supported): New routine.
	Minor reformatting.

2003-10-08  Dmitriy Anisimkov <anisimkov@yahoo.com>

	* aws-response-set.adb:
	(Message_Body): Use properly dispatching Append call.

2003-10-06  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-resources-streams-memory-zlib.ads:
	Add some genaral comments about this API.

	* aws-resources-streams-memory.ads:
	Add some genaral comments about this API.
	(Close): Add some comment.

	* aws-resources-streams.ads, aws-resources-streams.adb:
	(Create): Rename parameter Buffer to Stream.

2003-10-06  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-containers-tables.ads:
	Minor comment fix.

	* aws-ldap-client.adb:
	Minor comment fix.

	* aws-resources-streams-memory-zlib.ads:
	Minor comment fix.
	Removes comment that should not be part of the spec.

	* aws-response-set.adb:
	Minor comment fix.

	* aws-response.ads:
	Minor reformatting.

	* aws-session.adb:
	Minor comment fix.

	* aws-status-set.adb:
	Minor comment fix and reformatting.

	* aws-status.adb:
	Minor comment fix.

2003-10-06  Dmitriy Anisimkov <anisimkov@yahoo.com>

	* aws-response-set.ads:
	(Clear): New routine.

	* aws-response-set.adb:
	(Append_Body): Dispatching call to RSM.Append.

	* aws-response.ads:
	(Free): Arrived from Response.Finalize for Responce.Set.Clear.

	* aws-response.adb:
	(Finalize): Free for Stream_Access moved to the private part of package
	 specification. Need for Set.Clear routine too.

	* aws-client.adb:
	(Get_Response): Call Response.Set.Clear before parse header.

	* aws-resources-streams-memory-zlib.ads,
	  aws-resources-streams-memory-zlib.adb:
	(Stream_Type): New fields Flushed and Self.
	(Flush): Moved to the package body. Flush automatically now.
	 set Flush flag.
	(Read): Redefined for auto flush purpose.
	(Size): Redefined for auto flush purpose.
	(Deflate_Initialize): Reset Flushed flag.
	(Inflate_Initialize): Reset Flushed flag.

	* aws-translator.adb:
	(Compress_Decompress): Do not call Streams.Memory.ZLib.Flush.

2003-10-06  Dmitriy Anisimkov <anisimkov@yahoo.com>

	* aws-client.adb:
	(Get_Response): Do not use dynamically allocated buffers to avoid
	 memory leak. Clear the data in the Response before Append_Body calls
	 to avoid leading data from previos response usage.

	* aws-resources-streams-zlib.adb:
	(Deflate_Initialize): Init Resource.Rest_First.
	(Inflate_Initialize): Init Resource.Rest_First.

2003-10-06  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-utils.adb:
	(Compress): New routine.
	(Decompress): New routine.
	(Compress_Decompress): New routine.

	* aws-utils.ads:
	(Compress): New routine.
	(Decompress): New routine.

2003-10-05  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-server.ads, aws-server.adb:
	(Socket_Semaphore): Implement a socket queue instead of a single
	 socket space. This is better for performance.

	* aws-net.ads:
	(Socket_Set): New type.

2003-10-05  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-client.adb:
	Change Set.Append_Encode by Set.Data_Encoding.
	Minor reformatting.

	* aws-resources-streams-memory-zlib.adb:
	(Append): Do not free the memory here. We do not want to create
	 dangling pointers.

	* aws-response-set.adb:
	(Append_Encode): Renamed Data_Encoding.
	(Data_Encoding): Was Append_Encode.
	Minor reformatting.

	* aws-response-set.ads:
	(Encode_Direction): Renamed Encoding_Direction.
	(Append_Encode): Renamed Data_Encoding.
	(Data_Encoding): Was Append_Encode. Add lot of comments.

	* aws-response.adb:
	Change Set.Append_Encode by Set.Data_Encoding.

	* aws-response.ads:
	(Content_Encoding): Add comments.
	(Message_Body): Remove pragma inline for version with
	 Unbounded_String and Stream_Element_Array.
	Reformat code.

2003-10-05  Dmitriy Anisimkov <anisimkov@yahoo.com>

	* aws-response.ads:
	(Content_Encoding): New type.
	(Build): New parameter Encoding.
	(Stream): New parameter Encoding.

	* aws-response.adb:
	(Build): New parameter Encoding processing for all routines.
	(Stream): New parameter Encoding processing.

	* aws-response-set.ads:
	(Encode_Direction): New type.
	(Append_Encode): New routine.
	(Stream): New parameter Encoding.

	* aws-response-set.adb:
	(Append_Encode): New routine.
	(Stream): New parameter Encoding processing.

	* aws-client.adb:
	(Open_Send_Common_Header): Add 'ru' to the Accept-Language.
	 Add Accept-Encoding: deflate, gzip.
	(Parse_Header): Set Append decode mode in case of known
	 Content_Encoding.

	* aws-resources-streams-memory-zlib.adb:
	(Append): Deallocate Buffer access parameter.

2003-10-05  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-resources-streams-zlib.adb:
	Reformat code.
	Fix file format, lot of line in DOS format.

	* aws-resources-streams-zlib.ads:
	Reformat code.
	(Deflate_Initialize): Add ???.

	* aws-resources-streams-memory-zlib.adb:
	(Append): Add ??? - bug to be fixed, waiting for final discussion
	 on memory stream design.

2003-10-05  Dmitriy Anisimkov <anisimkov@yahoo.com>

	* aws-resources-streams-memory-zlib.ads:
	(Deflate_Intialize): pragma Inline.
	(Inflate_Initialize): pragma Inline.

	* aws-resources-streams-zlib.ads, aws-resources-streams-zlib.adb:
	(Deflate_Create): New routine.

2003-10-05  Pascal Obry  <p.obry@wanadoo.fr>

	* makefile:
	(SOURCES): Add aws-resources-streams-zlib.adb.

	* aws-resources-streams-memory-zlib.ads:
	Remove general comment.

	* aws-resources-streams-zlib.adb:
	Put file in UNIX format.

2003-10-05  Dmitriy Anisimkov <anisimkov@yahoo.com>

	* aws-resources-streams-zlib.ads,
	  aws-resources-streams-zlib.adb:
	New package for compression/decompression user defined streams.

	* aws-resources-streams-zlib.ads,
	  aws-resources-streams-zlib.adb:
	Change design from 2 read routines to incapsulated
	 AWS.Resource.File_Type.

2003-10-05  Dmitriy Anisimkov <anisimkov@yahoo.com>

	* aws-resources-streams-memory-zlib.ads:
	(Deflate_Intialize): New routine, moved from child Deflate.
	(Inflate_Initialize): New routine, moved from child Inflate.
	(Compression_Level): Subtype moved from child Deflate.
	(Strategy_Type): Subtype moved from child Deflate.
	(Compression_Method): Subtype moved from child Deflate.
	(Memory_Level_Type): Subtype moved from child Deflate.
	(Default_Compression): New constant.

	* aws-resources-streams-memory-zlib.adb:
	(Deflate_Intialize): New routine, moved from child Deflate.
	(Inflate_Initialize): New routine, moved from child Inflate.

	* aws-resources-streams-memory-zlib-inflate.ads,
	  aws-resources-streams-memory-zlib-inflate.adb,
	  aws-resources-streams-memory-zlib-deflate.ads,
	  aws-resources-streams-memory-zlib-deflate.adb:
	Removed. All functionality in the parent package now.

	* aws-translator.ads:
	With AWS.Resources.Streams.Memory.ZLib for Comtress_Level type and
	 default value.
	Short package rename for AWS.Resources.Streams.Memory.ZLib.
	(Compress): Use named constant in default parameter value.

	* aws-translator.adb:
	(Compress): Use moved constructor.
	(Decompress): Use moved constructor.

	* makefile:
	Remove deleted inflate/deflate packages from compilation list.

2003-10-04  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-resources-streams-memory-zlib-inflate.ads,
	  aws-resources-streams-memory-zlib-inflate.adb,
	  aws-resources-streams-memory-zlib-deflate.ads,
	  aws-resources-streams-memory-zlib-deflate.adb:
	(Init): Renamed to Initialize.

	* aws-response-set.adb:
	(Filename): Fix layout.

	* aws-response.adb:
	(File): Remove exception handler, not needed anymore.

	* aws-translator.adb:
	(Compress): Rename Init to Initialize.
	(Decompress): Rename Init to Initialize.

2003-10-04  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-resources-streams-memory-zlib.adb:
	(Close): New procedure. Properly free the ZLib filter
	 resources. Fixes memory leak.

	* aws-resources-streams-memory-zlib.ads:
	(Close): New procedure (overloading of parent's implementation).

	* aws-translator.adb:
	(Compress_Decompress): Add missing spec.
	Put routines in alphabetical order.

2003-10-04  Pascal Obry  <p.obry@wanadoo.fr>

	* makefile:
	(SOURCES): add aws-resources-streams-memory.ads,
	 aws-resources-streams-memory-zlib.adb,
	 aws-resources-streams-memory-zlib-deflate.adb,
	 aws-resources-streams-memory-zlib-inflate.adb

	* aws-resources-streams-memory-zlib-inflate.ads,
	  aws-resources-streams-memory-zlib-inflate.adb:
	Initial revision.

	* aws-resources-streams-memory-zlib-deflate.adb:
	(Append): Moved to parent package.
	(Flush): Idem.
	Fix file format (was DOS format).

	* aws-resources-streams-memory-zlib-deflate.ads:
	(Append): Moved to parent package.
	(Flush): Idem.
	Fix some lines ending (DOS format).

	* aws-resources-streams-memory-zlib.ads:
	(Append): Moved here from deflate child package. This routine is
	 now shared with the inflate child.
	(Flush): Idem.

	* aws-resources-streams-memory-zlib.adb:
	Initial revision.

	* aws-translator.adb:
	(Compress): New routine.
	(Decompress): New routine.

	* aws-translator.ads:
	Group API.
	(Compress): New routine.
	(Decompress): New routine.

2003-10-03  Dmitriy Anisimkov <anisimkov@yahoo.com>

	* aws-resources-streams-memory-zlib.ads,
	  aws-resources-streams-memory-zlib-deflate.ads,
	  aws-resources-streams-memory-zlib-deflate.adb:
	New packages for compressed memory stream.

2003-10-03  Dmitriy Anisimkov <anisimkov@yahoo.com>

	* aws-resources-streams-memory.ads:
	Reorder with part.

2003-10-01  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-response-set.adb:
	(Cache_Control): Add pragma no-cache when cache-control no-cache
	 is specified to properly support HTTP/1.0.

	* aws-messages.ads:
	(Prevent_Cache): New constant.

2003-10-01  Dmitriy Anisimkov <anisimkov@yahoo.com>

	* makefile:
	Make dependence aws-net-std.adb from
	 ../config/aws-net-std__adasockets.adb
	 or from ../config/aws-net-std__gnat.adb, otherwise update of
	 ../config/aws-net-std__adasockets.adb or
	 ../config/aws-net-std__gnat.adb does not cause update of
	 aws-net-std.adb

2003-09-30  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-client.adb:
	Fix comments, minor reformatting.

	* aws-response-set.adb:
	Minor reformatting.

	* aws-response-set.ads:
	Fix comments. Reorganize routines for better readability.

	* aws-response.adb:
	Add some comments, minor reformatting.

	* aws-response.ads:
	Fix comments, minor reformatting.

2003-09-30  Dmitriy Anisimkov <anisimkov@yahoo.com>

	* aws-resources-streams-memory.ads:
	Fix typo in comment.

	* aws-response.ads:
	(Data): Message_Body field gone. Use memory stream now for keep message
	 body.
	(Release_Controller): New type instead of Natural for keep reference
	 counter and flag for free stream if necessary.
	(Message_Body): Add comment about user defined streams.

	* aws-response.adb:
	(Create_Resource): Use the same way to create user defined stream and
	 memory stream.
	(Message_Body): Get the message body from the memory stream.

	* aws-response-set.ads:
	(Append_Body): New routines.

	* aws-response-set.adb:
	(Check_Memory_Stream): New routine.
	(Clear_Memory_Stream): New routine.
	(Append_Body): New routines.
	(Message_Body): Put message body to the memory stream.

	* aws-client.adb:
	(Get_Response.Read_Chunk): Function removed.
	(Get_Response.Read_Chunked): New procedure.
	(Get_Response.Read_Until_Close): Removed. Use loop instead.
	Remove with GNAT.Table.

2003-09-29  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-response.adb:
	(Create_Resource): Swap parameters.

	* aws-response.ads:
	Reorder all procedures. Create clear section for better
	 readability of this interface.
	(Create_Resource): Swap parameters.

	* aws-server-protocol_handler.adb:
	(Send_Data): Use new Create_Resource profile.

2003-09-24  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-resources-streams-memory.adb:
	Fix copyright notice.

	* aws-resources-streams-memory.ads:
	Add some comments, reorder routines.
	Fix copyright notice.

2003-09-24  Dmitriy Anisimkov <anisimkov@yahoo.com>

	* aws-resources-streams-memory.ads, aws-resources-streams-memory.adb:
	(Reset): New routine.
	(Clear): New routine.
	Inheritance of type Stream_Type is in the public part now.
	Stream_Element_Array is a subtype of Utils.Stream_Element_Array_Access
	 now.

2003-09-24  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-resources-streams-memory.ads:
	(Close): Rename parameter File to Resource for consistency.
	Minor reformatting.

	* aws-resources-streams-memory.adb:
	(Close): Rename parameter File to Resource for consistency.
	Minor reformatting.
	Put file in UNIX format.

	* aws-resources-streams.adb:
	(Create): Rename parameter File to Resource for consistency.

	* aws-resources-streams.ads:
	(Close): Rename parameter File to Resource for consistency.
	(Create): Idem.

2003-09-24  Dmitriy Anisimkov <anisimkov@yahoo.com>

	* aws-resources-streams-memory.ads, aws-resources-streams-memory.adb:
	Add memory stream package.

2003-09-23  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-resources-files.adb:
	Minor reformatting.

	* aws-status.ads:
	Rename section Socket to Connection.

2003-09-23  Dmitriy Anisimkov <anisimkov@yahoo.com>

	* aws-headers-values.adb:
	(Next_Value): Could parse Accept-XXXX header lines now.

2003-09-22  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-status.adb:
	(Get_Nonce): Fix typo.

	* aws-status.ads:
	(Check_Digest): Minor comment fixed.
	Re-order all routines for better readability.

2003-09-22  Dmitriy Anisimkov <anisimkov@yahoo.com>

	* aws-status.ads:
	(Check_Digest): New routine with some check of the digest
	 authentication request format.
	(Auth_URI): New field in Data type for keep URI value from digest
	 authentication request.

	* aws-status.adb:
	(Check_Digest): New routine.
	(Check_Digest): Old style routine use the new style call.

	* aws-status-set.adb:
	(Authorization): Do not touch Data.URI field now. Mozilla could keep
	 http query parameters in the uri field of the digest authentication
	 response. It is allowed by RFC.

2003-09-21  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-server.adb:
	(Accept_Socket_Serialized): Fix minor typo in comment.

2003-09-21  Dmitriy Anisimkov <anisimkov@yahoo.com>

	* aws-server.adb:
	(Accept_Socket_Serialized): Use Accepting Boolean variable for better
	 isolate accept socket mode from give back socket mode.

2003-09-18  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-server.adb:
	(Accept_Socket_Serialized): Clean-up code, add comments.
	(Socket_Semaphore): Minor reformatting.

	* aws-server.ads:
	(Give_Back_Socket): Update comments.
	(Socket_Semaphore): Fix wrong comment about Release. Add more
	 comments.

2003-09-18  Dmitriy Anisimkov <anisimkov@yahoo.com>

	* aws-server.adb:
	(Accept_Socket_Serialized): Release socket in exception handler only
	 in case of accept_socket call.

2003-09-18  Dmitriy Anisimkov <anisimkov@yahoo.com>

	* aws-server.ads:
	(Give_Back_Socket): New routine.
	(Socket_Semaphore): New private protected type.
	(HTTP): Sock_Sem type is changed to Socket_Semaphore.

	* aws-server.adb:
	(Give_Back_Socket): New routine.
	(Socket_Semaphore): New private protected type.
	(Accept_Socket_Serialized): Use Socket_Semaphore for get back socket.

2003-09-09  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-server.adb:
	Minor reformatting.

2003-09-07  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-status.ads:
	(Session): Update comment.

	* aws-status.adb:
	(Session): Raise Constraint_Error if session support not activated.

2003-09-06  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-services-page_server.adb:
	(Browse): Retrieve the directory browser template filename using
	 the config database.
	Update copyright notice.

	* aws-services-directory.ads:
	Minor reformatting.
	Update copyright notice.

	* aws-default.ads:
	(Directory_Browser_Page): New routine.

	* aws-config.ads:
	(Directory_Browser_Page): New routine.
	(Parameter_Name): Add Directory_Browser_Page.
	(Default_Parameters): Add Directory_Browser_Page.
	Minor reformatting.
	Update some comments.

	* aws-config.adb, aws-config-set.adb:
	(Directory_Browser_Page): New routine.

	* aws-config-set.ads:
	(Directory_Browser_Page): New routine.
	Update some comments.

2003-09-06  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-server.ads:
	Minor layout fix.
	Update copyright notice.

	* aws-server-status.ads, aws-server-status.adb:
	(Resources_Served): New routine.
	(Current_Connections): Idem.
	(Is_Session_Activated): Idem.
	(Is_Security_Activated): Idem.
	(Is_Shutdown): Idem.

	* aws-status-set.adb:
	Minor reformatting.
	Minor comment fix.

	* aws-status-set.ads:
	Minor reformatting.
	Update copyright notice.

	* aws-server-protocol_handler.adb:
	Use Has_Session instead of direct test of the session
	 data. Code Clean-up. Call Increment_Slot_Activity_Counter after
	 getting some data from the client (after Get_Message_Header) to
	 ensure that the counters will be updated only if a request has
	 been received.
	Minor reformatting.

2003-09-06  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-server-status.ads:
	Fix typos.

	* aws-services-directory.adb, aws-status-set.ads, aws-session.adb:
	Fix typos.

	* aws-server.ads, aws-server-protocol_handler.adb, aws-ldap-client.ads:
	Fix typos.

	* aws-client.ads, aws-config-set.ads, aws-config-set.ads:
	Fix typos.

2003-09-04  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-response-set.adb:
	(Message_Body): New implementation for the version of this routine
	 taking an Unbounded_String as argument. Use lot less stack space
	 (only a fixed size buffer) to avoid stack overflow.
	(Message_Body): The version taking a String as agument call
	 directly the version above.

2003-09-01  Jerome Roussel <roussel@act-europe.fr>

	* aws-response.ads:
	(File): Add parameter Cache_Control.

	* aws-response.adb (Module):
	(File): Add parameter Cache_Control. Set response data's cache
	 control.

2003-08-28  Dmitriy Anisimkov <anisimkov@yahoo.com>

	* aws-session.adb:
	(Database.Get_Value.Modify): Use pragma Unreferenced instead
	 of pragma Warning. Use new Key_Value.Get_Value routine instead
	 of exception handling in case of key absent.
	(Database.Unsafe_Delete_Session): Use Session_Set.Remove with
	 Was_Present flag instead of exception handling.

	* aws-containers-tables.adb:
	(Get_Indexes): Use new Index_Table.Get_Value routine instead of
	 generic instantiation of Update_Value_Or_Status_G.

	* aws-containers-tables-set.adb:
	Use pragma Unreferenced instead of pragma Warning.
	Split CVS macro, becouse macro Id too long with my last name.

2003-08-28  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-server.ads:
	(Start_Log): Add some comments.
	(Flush_Log): Fix typo in comment.

2003-08-24  Dmitriy Anisimkov <anisimkov@yahoo.com>

	* aws-server.ads, aws-server.adb:
	(Start_Log): Add parameter Auto_Flush.

2003-08-02  Pascal Obry  <p.obry@wanadoo.fr>

	* makefile:
	Use variable instead of directly calling tools.

2003-08-02  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-utils.adb:
	(Integer_Random): Ignore warnings during instantiation of this package.

	* makefile:
	Add section to build AWS based on project files.
	(gbuild): New target.
	(gclean): Idem.
	(gsetup): Idem.

	* src.gpr:
	New version, this version make it possible to develop AWS using
	 the project files from GPS.

2003-07-15  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-server-protocol_handler.adb:
	Minor reformatting.

2003-07-09  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-response-set.adb:
	(Cache_Control): Add header only if a value has been specified.

2003-07-07  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-jabber.ads, aws-jabber.adb:
	Moved to ../xsrc.

2003-07-03  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-resources-embedded.adb:
	(File_Size): Remove N variable, not really needed.
	(File_Timestamp): Idem.
	(Size): Minor reformatting.
	Update copyright notice.

	* aws-resources-embedded.ads:
	(Size): Minor reformatting.
	Update copyright notice.

	* aws-resources-files.ads, aws-resources-files.adb:
	(Size): Minor reformatting.
	Update copyright notice.

	* aws-resources-streams.ads, aws-resources-streams.adb:
	(Size): Minor reformatting.

	* aws-resources.ads:
	(Size): Minor reformatting.
	Update copyright notice.

2003-07-03  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-resources-streams.adb:
	Minor reformatting.

	* aws-resources-streams.ads:
	(Size): Change comments.
	Minor reformatting.

	* aws-response.adb:
	(Content_Length): Image renamed CL_Image and set as constant.
	Minor reformatting.

	* aws-status-set.adb:
	(Update_Data_From_Header): Set Content_Length as constant.

	* aws-ldap-client.adb:
	(C_Scope): Declare as constant.
	(C_Bool): Idem.

	* aws-net-ssl.adb:
	(Error_Str): Suppress warnings for Buffer. GNAT detect it as being
	 constant. This is not true as it is passed to a C routine that
	 will modify it.

2003-07-03  Dmitriy Anisimkov <anisimkov@yahoo.com>

	* aws-resources.ads:
	(Size): New routine for File_Type.
	(Size): New abstract routine for private File_Tagged.

	* aws-resources.adb:
	(Size): Dispatch call for File_Tagged routine Size.

	* aws-resources-embedded.ads, aws-resources-embedded.adb,
	  aws-resources-files.ads, aws-resources-files.adb:
	(Size): New defined routine.

	* aws-resources-streams.ads, aws-resources-streams.adb:
	(Size): New routine returns Undefined_Size by default.

	* aws-response-set.adb:
	(Update_Data_From_Header): Removed.
	(Content_Length): Removed.
	(Stream): Remove parameter Content_Length.

	* aws-response-set.ads:
	(Content_Length): Removed.
	(Stream): Remove parameter Content_Length.

	* aws-response.adb:
	(Content_Length): Get Content_Length from HTTP header.
	(Stream): Remove Content_Length parameter.

	* aws-response.ads:
	(Stream): Remove Content_Length parameter.
	(Undefined_Length): Copy constant from AWS.Resources.
	(Data): Remove Content_Length field.

	* aws-server-protocol_handler.adb:
	Use Stream_Element_Offset for all stream length variables and
	 parameters.
	(Send_Data): Get content length from the AWS.Resources.Size call.

2003-06-27  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-client.ads:
	(Create): Add lot of comments.

2003-06-26  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-status.adb:
	Minor reformatting.

	* aws-status.ads:
	(Payload): Remove wrong comment.
	(Data): Add some comments.

2003-06-26  Dmitriy Anisimkov <anisimkov@yahoo.com>

	* aws-server-protocol_handler.adb:
	(Get_Message_Data): Remove special read data for SOAP Payload.

	* aws-status.ads:
	(Data): Remove field Payload. Payload would be in the Binary_Data
	 for SOAP requests now.

	* aws-status.adb:
	(Payload): Get SOAP Payload just from Binary_Data.

	* aws-status-translate_table.adb:
	Use AWS.Status.Payload routine call instead of
	 direct read from Payload field.
	Change CVS macroses because string was too long.

	* aws-status-set.ads, aws-status-set.adb:
	(Payload): Remove. The Payload would be set just to the message body.

2003-06-23  Dmitriy Anisimkov <anisimkov@yahoo.com>

	* aws-client.ads:
	(HTTP_Connection): SOAPAction field removed.

	* aws-client.adb:
	(Internal_Post): New routine.
	(SOAP_Post): Persistent version based on Internal_Post.
	(Post): Persistent version based on Internal_Post.

2003-06-22  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-client.adb:
	(SOAP_Post): Is now a procedure was a function. This is more
	 consistent with others persistent API. Reset the SOAPAction in
	 the connection. This fix a bug were it was not possible to handle
	 a non SOAP request after a SOAP request was made on a persistent
	 connection.

	* aws-client.ads:
	(SOAP_Post): Is now a procedure was a function. This is more
	 consistent with others persistent API.

2003-06-22  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-client.adb:
	(Value): New procedure was Create.Set.
	(Create): Remove SOAPAction parameter, do not initialize the
	 SOAPAction here.
	(SOAP_Post): Initialize Connection.SOAPAction.

	* aws-client.ads:
	(Create): Remove  SOAPAction parameter.
	(SOAP_Post): Add SOAPAction parameter.

2003-06-21  Pascal Obry  <p.obry@wanadoo.fr>

	* src.gpr:
	Undo previous check-in.

	* makefile:
	(aws-soap.ads): Target removed.
	(aws-soap.adb): Target removed.
	(GARGS): Remove -I../soap.
	(CONF_UNITS): Removed aws-soap.ad[sb]

	* aws-status-translate_table.adb:
	Undo previous check-in.

	* aws-status.ads, aws-status.adb, aws-status-set.adb:
	Undo previous check-in.

2003-06-18  Pascal Obry  <p.obry@wanadoo.fr>

	* src.gpr:
	(Naming): Add section for AWS.SOAP.

	* makefile:
	(GARGS): Add -I../soap removes -q.
	(SOURCES): Add aws-soap.adb
	(CONF_UNITS): New target.
	(aws-soap.ads): Idem.
	(aws-soap.adb): Idem.
	(clean): Add aws-soap.ad[sb]

	* aws-status-set.adb:
	(Payload): Parse the XML payload using AWS.SOAP API and store it.

	* aws-status-translate_table.adb:
	Use AWS.SOAP API to build the "PAYLOAD" tag value.

	* aws-status.adb:
	(Payload): Use AWS.SOAP API.

	* aws-status.ads:
	(Payload): New version based on AWS.SOAP data type.
	(Data): Reorder fields, add some comments. Payload is now the
	 parsed Payload object and not the string representation.

2003-05-30  Anisimkov Dmitriy <anisimkov@yahoo.com>

	* aws-client.ads:
	(HTTP_Connection): Initialize Opened field to False just for
	 assertion control.

2003-05-08  Anisimkov Dmitriy <anisimkov@yahoo.com>

	* aws-ldap-client.adb:
	(Free): Change pragma Unreferenced to Warnings Off for Tmp
	 because GNAT 3.15p handle a left side assignment as a reference.
	(Unbind): Idem.

	* aws-server.ads:
	(Flush_Log): New routine.

	* aws-server.adb:
	(Start_Error_Log): Start error log in Auto_Flush mode.

2003-05-08  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-log.ads:
	(Start): Fix comments.

	* aws-response-set.ads, aws-response-set.adb:
	(Stream): Change mode of Stream_Handle to access.

	* aws-response.ads, aws-response.adb:
	(Stream): Change mode of Stream_Handle to access. Change name of
	 the parameters Stream_Handle to Stream and Stream_Size to
	 Size. This is more consistent with AWS.Response.Set API.

2003-05-08  Dmitriy Anisimkov <anisimkov@yahoo.com>

	* aws-log.ads, aws-log.adb:
	(Flush): New routine.
	(Start): New parameter Auto_Flush for the rare written log files.

2003-05-08  Dmitriy Anisimkov <anisimkov@yahoo.com>

	* aws-mime.ads, aws-mime.adb:
	(Text_CSS): New MIME type. Web browser Mozilla does not recognize
	 Cascade Style Sheet files without Content-Type: text/css

2003-05-06  Pascal Obry  <p.obry@wanadoo.fr>

	* src.gpr:
	Initial revision.

	* makefile:
	(SOURCES): Change path for aws-jabber.ad* sources.
	(aws-translator-conversion.adb): Use config/makefile.
	Change name for aws-net-std* and aws-os_lib* files.

	* aws-ldap-client.adb:
	(Free): Add Unreferenced pragma for Res.
	(Unbind): Idem.

	* aws-config-ini.adb:
	(Process_Mode): Set to constant.

	* aws-client.adb:
	(Read_Chunk): Set Copy to constant.
	(Get_Response): Set Elements to constant.

2003-04-28  Dmitriy Anisimkov <anisimkov@yahoo.com>

	* aws-containers-tables.ads, aws-utils.ads:
	Fix some comments, 'Returns' instead of 'return'.

2003-04-25  Dmitriy Anisimkov <anisimkov@yahoo.com>

	* aws-session.adb
	(Key_Exist): Use Update_Value_Or_Status_G instead of
	 Update_Value_Or_Exception_G generic instantiation, so we do not have
	 to catch exception Missing_Item_Error now.

2003-04-23  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-session.adb:
	(Cleaner): Add pragma Atomic for variable L_SC. Display an error
	 message on current error in case of exceptions raised in the
	 expired session callback.

2003-04-21  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-utils.ads, aws-utils.adb:
	(Mailbox_G): New package.

	* aws-session.adb:
	(Max_Expired): New constant.
	(Expired_SID): New array.
	(E_Index): New variable.
	(Session_Callback): New variable.
	(Database.Clean): Removed.
	(Database.Lock_And_Clean): New entry.
	(Database.Unsafe_Delete_Session): New procedure.
	(Database.Destroy): New procedure.
	(Assign): Call Destroy on destination Session_Node.
	(Cleaner): Use Lock_And_Clean to retreive all session to
	 remove. Call Session_Callback if set before destroying the
	 session data. Destroy all data remaining on the database when
	 leaving.
	(Database.Delete_Session): Call Database.Unsafe_Delete_Session.
	(Set_Callback): New procedure.

	* aws-session.ads:
	Add some section comments.
	(Callback): New type.
	(Set_Callback): New procedure.

	* aws-session-control.adb:
	(Start): Add parameter's mode.
	Minor reformatting.
	Update copyright notice.

	* aws-jabber.adb:
	(Close): Delete all remaining message from the mailbox.
	(Mailbox): Moved to AWS.Utils.
	Update copyright notice.

	* aws-jabber.ads:
	(Mailbox): Moved to AWS.Utils.
	(Message_Mailbox): New package, instance of Utils.Mailbox_G.
	(Server): Use new mailbox.
	Update copyright notice.

2003-04-20  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-server-protocol_handler.adb:
	(File_Upload): Do not decode multipart/form-data name/value. Fix a
	 bug when handling filename with accents for example. Patch from
	 Nicolas Lesbats.

	* aws-messages.ads:
	(Cache_Option): Add some comments.
	(No_Cache): Specify also max-age=0, s-maxage=0. This properly
	 avoid browser's and proxy's caches.

	* aws-parameters-set.ads:
	(Add): Add Decode parameter. Patch from Nicolas Lesbats.

	* aws-parameters-set.adb:
	(Add): Decode name and value only if Decode is set to true. Patch from
	 Nicolas Lesbats.

	* aws-url.adb:
	(ASCII_7): New subtype.
	(HEx_Escape): Handle space.
	(Encode): Space is converted to %20. This fix a bug in IE where +
	 character is not properly encoded. Patch from Nicolas Lesbats.

2003-04-18  Dmitriy Anisimkov <anisimkov@yahoo.com>

	* aws-session.adb:
	(For_Every_Session): Reraise in the exception handler.
	(Get): Catch only Constraint_Error. For Boolean result Get function
	 make it shorter and do not catch exceptions at all.

	* aws-session.ads:
	(Get): Add pragma Inline.

2003-04-15  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-jabber.ads:
	(Incoming_Stream): Set stack size below 2Mb as this is the
	 GNU/Linux thread limit. Fix task runtime activation problem.

2003-04-09  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-containers-tables.adb:
	(Get_Indexes): Fix comments.
	(Dummy_Update): Add routine header box.
	Use pragma Unreferenced instead of Warnings.
	Properly set in UNIX format.

2003-04-09  Dmitriy Anisimkov <anisimkov@yahoo.com>

	* aws-containers-tables.ads, aws-containers-tables.adb:
	(Internal_Get): Removed, code moved just to Get routine,
	 Internal_Get was not used in other places.
	(Get_Indexes): New routine.
	(Count): Use Get_Indexes instead of exception handling.
	(Get): The same.
	(Get_Values): The same.
	Usage Found flag for detect Key absence is better than
	 exception handling for performanse and for debugging applications.
	Minor reformatting.
	Update copiright years.

2003-04-09  Dmitriy Anisimkov <anisimkov@yahoo.com>

	* aws-mime.adb:
	(Initialize): Remove duplicated Mime type registrations for .gz and
	 .tar file extensions.

2003-04-01  Pascal Obry  <obry@act-europe.fr>

	* aws-mime.adb:
	Do not use GNAT.Dynamic_Tables for the R_MIME_Type which has 2
	 controlled fields as it is not supported by this component.
	 Implements a simple linked list.
	Add some comments on protected object spec.

2003-03-31  Pascal Obry  <obry@act-europe.fr>

	* aws-client.adb:
	(Post): Use new MIME type name.

	* aws-server-protocol_handler.adb:
	(Get_Message_Data): Use new MIME type name.

	* aws-server-push.adb:
	(Register): Use new MIME type name.

	* aws-mime.adb:
	This new implementation is based on a table and can be updated by
	 users either with extension or regular expression on the full
	 file name.
	(Add_Extension): New procedure.
	(Add_Regexp): Idem.
	(Is_Audio): New function.
	(Is_Image): Idem.
	(Is_Video): Idem.
	(Is_Application): Idem.
	Update copyright notice.

	* aws-mime.ads:
	New implementation, far more complete than the previous one.
	Add many MIME type constants.
	(Add_Extension): New procedure.
	(Add_Regexp): Idem.
	(Is_Audio): New function.
	(Is_Image): Idem.
	(Is_Video): Idem.
	(Is_Application): Idem.
	Update copyright notice.

2003-03-24  Dmitriy Anisimkov <anisimkov@yahoo.com>

	* aws-resources-streams.ads, aws-resources-streams.adb:
	Minor reformatting.
	Update copyright years.

2003-03-21  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-log.adb:
	(Write_Log): Make this routine thread safe by using the semaphore.
	 Do not flush the log as it is really bad for the server performance.

	* aws-log.ads:
	(Object): Add Semaphore field.

	* aws-client.adb:
	(Create): Setup proxy authentication only if Proxy_User is set.

2003-03-20  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-client.adb:
	(Create): Correctly initialize the web and proxy authentication
	 mode.
	(Send_Authentication_Header): Minor editing.

2003-03-20  Dmitriy Anisimkov <anisimkov@yahoo.com>

	* aws-server-status.ads:
	(Socket): Fix typo in comment.

2003-03-19  Pascal Obry  <p.obry@wanadoo.fr>

	* makefile:
	(SOURCES): Add aws-server-status.adb.

	* aws-server-get_status.adb:
	Move most part of the code into AWS.Server.Status. This private
	 routine now just build the final status page from the template.

	* aws-server-get_status.ads:
	Minor comment fix.

	* aws-server-status.ads, aws-server-status.adb:
	Initial revision.

	* aws-communication-server.adb:
	(Com_Server): Not anymore a pointer to the server. This is not
	 needed anymore.
	(Shutdown): Remove Free.
	(Start): Remove code to allocate the server object.
	Minor reformatting.

	* aws-dispatchers.ads:
	Minor reformatting.

	* aws-server.adb:
	(Line_Attribute): New package, instance of Task_Attributes.
	(Get_Current): New routine.
	(Line): Properly set the current running server into HTTP_Attribute.

	* aws-server.ads:
	(Get_Current): New routine.

	* aws-client.ads:
	Minor reformatting.

2003-03-13  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-response.adb:
	(Authenticate): New parameter Message. Remove Auth_Mess constant.

	* aws-response.ads:
	(Default_Moved_Message): Put definition in private part.
	(Default_Authenticate_Message): New constant.
	(Authenticate): New parameter Message.

2003-03-11  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-client.adb:
	(SOAP_Post): Add exception handler to free the Connection.

2003-03-11  Dmitriy Anisimkov  <anisimkov@yahoo.com>

	* aws-client.adb:
	(Parse_Header): Set Connection.Cookie only if the server sent
	 Set-Cookie header line.

2003-03-10  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-ldap-client.adb:
	(Check_Handle): New routine.
	Use it in all routines using a Dir parameter to check whether the
	 LDAP handle is initialized.
	(Unbind): Call thin ldap_unbind_s only if Dir is not null (open).

	* aws-ldap-client.ads:
	(Unbind): Add comments.
	Update copyright header.

2003-03-09  Dmitriy Anisimkov  <anisimkov@yahoo.com>

	* aws-session.adb:
	Fix comment about Get_Sessions_And_Lock usage. It is not using in
	 the session cleaner now.

2003-03-08  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-session.adb:
	(Key_Exist): Is now a procedure and not an entry. Do not lock if
	 an iterator is running.
	(Get_Value): Idem.
	(Get_Sessions_And_Lock): Update comment.

	* aws-session.ads:
	(For_Every_Session): Update comments.
	(For_Every_Session_Data): Update comments.

	* aws-client.adb:
	(Parse_Header): Set Connection.Cookie only if not already set. Add
	 note about cookie limitation on the client side.

	* aws-config-set.ads:
	(Free_Slots_Keep_Alive_Limit): Fix comments.

	* aws-config.ads:
	(Free_Slots_Keep_Alive_Limit): Fix comments.

	* aws-server.adb:
	(Line): Fix previous code which does not compile.

2003-03-08  Dmitriy Anisimkov  <anisimkov@yahoo.com>

	* aws-config-set.ads, aws-config-set.adb:
	(Free_Slots_Keep_Alive_Limit): New configuration parameter.
	Minor reformatting.

	* aws-server.adb:
	(Line): Move Keep_Alive_Limit declaration to the upper declare block,
	 just a bit more readable.

2003-03-08  Dmitriy Anisimkov <anisimkov@yahoo.com>

	* aws-default.adb:
	(Free_Slots_Keep_Alive_Limit): New default value.

	* aws-config.ads, aws-config.adb:
	(Free_Slots_Keep_Alive_Limit): New configuration parameter.

	* aws-server.adb:
	(Line):	Use Free_Slots_Keep_Alive_Limit for enable keep-alive
	 connections.

2003-03-07  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-ldap-client.adb:
	(Raise_Error): Do not free pointer returned by ldap_err2string as
	 it a pointer to a static space. Fix memory corruption.

	* aws-server-get_status.adb:
	Minor reformatting.

	* aws-session.ads:
	Move pragma inline next to the routine spec.

2003-03-07  Dmitriy Anisimkov <anisimkov@yahoo.com>

	* aws-server.adb, aws-server-protocol_handler.adb:
	(Protocol_Handler): New parameter Keep_Alive for be able to reject
	 keep-alive connection for the last free slot.

2003-03-05  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-resources-files.adb:
	(Open): Free allocated memory if a Name_Error exception is raised.
	Fix memory leak.

	* aws-resources.adb:
	(Free): Moved to the private part.

	* aws-resources.ads:
	(Free): Move in private part from the body to be able to use it
	 from child packages.

	* aws.ads:
	(Version): Set to 1.4w.

2003-03-04  Pascal Obry  <p.obry@wanadoo.fr>

	* aws.ads:
	(Version): Set to 1.3.

	* aws-net.ads, aws-net-std.ads, aws-net-ssl.ads, aws-net-ssl.adb:
	(Accept_Socket): New_Socket parameter is "in out" mode.
	(Connect): Socket parameter is "in out" mode.

2003-03-03  Dmitriy Anisimkov <anisimkov@yahoo.com>

	* aws-headers-values.adb:
	(Get_Unnamed_Value): Handle empty Header_Value paramer.
	(Search): Handle empty Header_Value paramer.
	(Unnamed_Value_Exists): Handle empty Header_Value paramer.

2003-03-02  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-services-dispatchers-method.adb:
	Put with clauses in alphabetical order.
	Update copyright notice.

	* aws-services-dispatchers-method.ads:
	Put with clauses in alphabetical order.
	Minor reformatting.
	Update copyright notice.

	* aws-services-dispatchers-uri.adb:
	Put with clauses in alphabetical order.
	Update copyright notice.

	* aws-services-dispatchers-uri.ads:
	Minor reformatting.
	Update copyright notice.

	* aws-communication-client.ads:
	Minor reformatting.
	Update copyright notice.

	* aws-communication-server.adb:
	Minor reformatting.
	Add some comments.
	Update copyright notice.

	* aws-communication-server.ads:
	Minor reformatting.
	Update copyright notice.

	* aws-communication.adb:
	Add routine header box.
	Update copyright notice.

	* aws-communication.ads:
	(Null_Parameter_Set): Move definition to the private part
	 (deferred constant).
	Add comments.
	Minor reformatting.
	Update copyright notice.

2003-03-02  Dmitriy Anisimkov <anisimkov@yahoo.com>

	* aws-client.adb:
	(Open_Send_Common_Header): Rename declaration Sock is changed
	 to the rename of just Socket access, becouse rename of Socket.all
	 would become invalid in case of reconnect and recreate the socket.
	 It is fixes the rarely appearing bug in the strm2.adb regression
	 test.

2003-03-01  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-headers-values.adb:
	(Exist_Unnamed_Value): Rename to Unnamed_Value_Exists.
	Add missing routine header box.

	* aws-headers-values.ads:
	(Exist_Unnamed_Value): Rename to Unnamed_Value_Exists.
	Update copyright notice.

2003-03-01  Dmitriy Anisimkov <anisimkov@yahoo.com>

	* aws-headers-values.ads, aws-headers-values.adb:
	(Exist_Unnamed_Value): New routine.

2003-02-28  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-ldap-client.ads:
	(Search): Fix comment.

2003-02-28  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-ldap-client.adb:
	(Get_Error): New function.
	(Search): Raise an exception if the LDAP call fails. Free memory
	 in exception handler.
	(Unbind): Set Dir to Null_Directory.
	Minor reformatting.

	* aws-ldap-client.ads:
	(Get_Error): New function.
	Minor reformatting.

	* aws-ldap-thin.ads:
	Minor reformatting.

2003-02-23  Pascal Obry  <p.obry@wanadoo.fr>

	* aws.ads:
	(Version): Set to 1.3-rc4.

	* aws-status.adb:
	Remove "AWS." prefix when it is not needed.
	Update copyright notice.

	* aws-status.ads:
	Minor reformatting.
	Remove "AWS." prefix when it is not needed.

	* aws-session.ads:
	Minor reformatting.
	Update copyright notice.

	* aws-session.adb:
	(Max_Remove): Set to 50.
	Minor reformatting.
	Replace pragma Warnings by Unreferenced.
	Update copyright notice.

	* aws-server-push.ads:
	Minor reformatting.
	Update copyright notice.

	* aws-server-push.adb:
	Minor reformatting.

	* aws-os_lib.ads:
	Put pragma inline next to the routines.
	Update copyright notice.

	* aws-net-stream_io.ads:
	(Free): Fix comments.
	Update copyright notice.

	* aws-net-stream_io.adb:
	Minor reformatting.
	Update copyright notice.

	* aws-net-ssl.adb:
	(Error_Str): If code = 0 do not call ERR_error_string_n as it will
	 raise a SIGSEV signal. Fix Program_Error in SSL handling.
	Fix casing of some constants.
	Update copyright notice.

	* aws-digest.adb:
	(Check_Nonce): Minor reformatting.

	* aws-default.ads:
	Add comments.
	(Line_Stack_Size): Set to 16#150_000#. The previous default was
	 ridiculously too small for real projects.
	Update copyright notice.

	* aws-config.ads:
	(Check_URL_Validity): Fix comment.

2003-02-20  Dmitriy Anisimkov <anisimkov@yahoo.com>

	* aws-status.ads, aws-status.adb:
	(Header): New routine for get the header container, the same way
	 like Parameters is for get Parameters container.

2003-02-18  Dmitriy Anisimkov <anisimkov@yahoo.com>

	* aws-server.ads, aws-server.adb:
	(Set): Add Free_Slots out parameter, it reduces number of protected
	 calls, and giving more precise information about free slots for the
	 time of slot becoming busy. Moreover this avoid internal non visible
	 bug, when the Forse mode is not stopping sometimes inside of
	 Line_Cleaner.

2003-02-18  Dmitriy Anisimkov <anisimkov@yahoo.com>

	* aws-server.adb:
	(Mark_Phase): Raise Net.Socket_Error instead PROGRAM_ERROR, becouse
	 the server line could try to setup non-close phase after the abort
	 state if the abortion happen after socket operation and before
	 Mark_Phase call.

	* aws-net-stream_io.ads, aws-net-stream_io.ads:
	(Free): Add parameter Socket for be able not to release socket
	 internal memory, becouse socket would be necessary to reuse after
	 creation stream from it.

	* aws-server-push.adb:
	(Register): Now the socket could be reused in case of Registration
	 failure. We should not free the socket on the registtration failure,
	 becouse it would be necessary to send HTTP error responce to the HTTP
	 client claiming for server-push connection.

2003-02-15  Dmitriy Anisimkov <anisimkov@yahoo.com>

	* aws-client.adb:
	(Connect): Do not free and shutdown socket in case of
	 connection failure, it should not be opened in case of failure.

	* aws-net-ssl.adb:
	(Connect): Close and shutdown the SSL socket in case of SSL initation
	 error.

2003-02-14  Dmitriy Anisimkov <anisimkov@yahoo.com>

	* aws-server-protocol_handler.adb:
	(Send): Raise exception if answer not properly initialized (No_Data).

2003-02-12  Dmitriy Anisimkov <anisimkov@yahoo.com>

	* aws-client.adb:
	(Connect): Fix typo in previous check-in.

2003-02-12  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-client.adb:
	(Connect): Add assertion. Edit comment.

2003-02-12  Dmitriy Anisimkov <anisimkov@yahoo.com>

	* aws-server.adb:
	(Shutdown): All Free calls moved to the end of the procedure,
	 becouse we should not free memory until tasks are working.
	 Move abortion of the Line_Cleaner task after the stop lines,
	 becouse Lines could call Line_Cleaner.
	 Remove explicit abortion of the Line tasks, becouse Shutdown of the
	 server socket and shutdown of the peer sockets would terminate line
	 task anyway. All this modifications fix rarely bug in the tsgetparam
	 regression test.

2003-02-12  Dmitriy Anisimkov <anisimkov@yahoo.com>

	* aws-client.adb:
	(Disconnect): Do not use Net.Buffered.Shutdown, because the socket
	 would be already closed by the opposite side of connection, and we
	 really do not need the flush before shutdown.
	(Connect): Free previous socket before connect.

2003-02-12  Dmitriy Anisimkov <anisimkov@yahoo.com>

	* aws-client.adb:
	(Open_Send_Common_Header): Replace remaining Connection.Socket.all
	 to the Sock.

2003-02-10  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-status.adb:
	(SOAPAction): Fix bug in implementation. Checks result bound
	 before result's value.

	* aws-jabber.ads:
	(Incoming_Stream): Add pragma Storage_Size. This task needs a
	 stack bigger than the default as it use the XMLAda parser.

2003-02-08  Pascal Obry  <p.obry@wanadoo.fr>

	* makefile:
	(clean): Add aws-net-std.adb

2003-02-08  Dmitriy Anisimkov <anisimkov@yahoo.com>

	* aws-client.adb:
	(Get_Response): GNAT.Table instance parameter Table_Increment was
	 too big, 10_000. We should remember that it is not direct value,
	 but a percentage. Use new Response.Set.Message_Body routine with
	 Stream_Element_Array_Access parameter for the known content length.

2003-02-08  Dmitriy Anisimkov <anisimkov@yahoo.com>

	* aws-net.ads, aws-net-std.ads:
	(Set_Send_Buffer): New routine.
	(Set_Receive_Buffer): New routine.
	(Set_Blocking_Mode): New routine.

2003-02-07  Pascal Obry  <p.obry@wanadoo.fr>

	* aws.ads:
	(Version): Set to 1.3-rc3.

	* aws-client.adb:
	(Stream_Element_Array_Access): Removed. Use version from AWS.Utils.
	(Free): Idem.
	(Read_Chunk): Do not copy the array on the stack as this will
	 raise a storage error (stack size limit exceed). Returns a
	 pointer to the array.
	(Get_Response): Use Response.Set.Message_Body with a pointer to
	 the array.

	* aws-config-ini.ads, aws-config-ini.adb:
	Fix comments.

	* aws-response-set.adb:
	(Message_Body): New version with a Stream_Element_Array_Access. Use
	 Utils.Free.

	* aws-response-set.ads:
	(Message_Body): New version with a Stream_Element_Array_Access.
	Minor reformatting.
	Update copyright notice.

	* aws-response.adb:
	(Message_Body): Use Translator.To_Unbounded_String to avoid using
	 too much stack space.
	Use Utils.Stream_Element_Array_Access.
	Update copyright notice.

	* aws-response.ads:
	(Stream_Element_Array_Access): Removed.
	(Free): Removed.
	(Data): Use Utils.Stream_Element_Array_Access.

	* aws-server-push.adb:
	Minor reformatting.

	* aws-status-set.adb:
	(Free): Removed.
	(Free): Use Utils.Free.
	(Reset): Use Utils.Free.

	* aws-status.ads:
	(Stream_Element_Array_Access): Removed.
	(Data): Use Utils.Stream_Element_Array_Access.
	Update copyright notice.

	* aws-translator.adb:
	(To_Unbounded_String): New routine.
	Update copyright notice.

	* aws-translator.ads:
	(To_String): Add some comments.
	(To_Unbounded_String): New routine.
	Update copyright notice.

	* aws-utils.ads:
	(Stream_Element_Array_Access): New type.
	(Free): New routine.

2003-02-07  Dmitriy Anisimkov <anisimkov@yahoo.com>

	* aws-config-ini.adb:
	Renames Optional_Read to the Read_If_Present.

2003-02-07  Dmitriy Anisimkov <anisimkov@yahoo.com>

	* aws-config-ini.ads, aws-config-ini.adb:
	(Read): Do not hide Ada.Text_IO.Name_Error exception, add comment.
	(Optional_Read): New routine hiding Ada.Text_IO.Name_Error exception.

	* aws-server-push.adb:
	"with" reorder.
	(Register): Minor reformat.
	(Send.Action): Exception handler for Net.Socket_Error instead of
	 'others'.
	(Send_To): Exception handler for Net.Socket_Error instead
	 of 'others'.

2003-02-05  Pascal Obry  <p.obry@wanadoo.fr>

	* makefile:
	(build_specific): Removed.
	(build): Remove build_specific.
	No need to build aws-services-directory.adb without optimization.

	* aws-services-directory.adb:
	Remove pragma optimize off. (allow optimization again, the bug is
	 fixed in GNAT 3.15a1 and GNAT 3.15p).
	Minor reformatting.

2003-02-04  Dmitriy Anisimkov <anisimkov@yahoo.com>

	* aws-net-ssl.adb:
	(Accept_Socket): Free SSL handle before reuse.
	(Set_FD): Clear existent SSL handle before set socket handle.

2003-02-02  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-headers.ads:
	Remove list of inherited routines. Add note about them.

	* aws-parameters.ads:
	Remove list of inherited routines. Add note about them.

2003-02-01  Pascal Obry  <p.obry@wanadoo.fr>

	* makefile:
	(clean): Use rm -f to avoid warnings.

	* aws-server-protocol_handler.adb:
	(Exception_String): Moved to AWS.Utils as CRLF_2_Spaces.
	Use AWS.Utils.CRLF_2_Spaces instead of Exception_String.

	* aws-server.adb:
	(Line): Log data error as a single line.
	Minor reformatting.

	* aws-utils.ads, aws-utils.adb:
	(CRLF_2_Spaces): New routine (a similar routine was in
	 Protocol_Handler)
	Update copyright notice.

2003-01-31  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-server.adb:
	(Line): Log fatal error exception information.
	Update copyright notice.

	* aws-log.ads:
	(Write): New version with a single string. (used to log fatal errors).
	Update copyright notice.

	* aws-log.adb:
	(Write): New version with a single string. (used to log fatal errors).
	(Write_Log): New routine.
	Update copyright notice.

2003-01-31  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-server-get_status.adb:
	(Slot_Table): Rename Socket to SD. Reformat code.

	* aws-server.adb:
	(Get_Socket_Info): Add missing header box. Reformat code.

	* aws-server.ads:
	(Socket_Data): Moved at the right place.
	(Get_Socket_Info): Fix comments.

2003-02-01  Dmitriy Anisimkov <anisimkov@yahoo.com>

	* aws-server.ads, aws-server.adb:
	(Socket_Data): New type.
	(Get_Socket_Info): New routine.

	* aws-server-get_status.adb:
	Using new Get_Socket_Info routine to retreave socket information.

2003-01-31  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-server.adb:
	(Default_Unexpected_Exception_Handler): Put the exception message
	 for internal 500 response into an HTML <pre> tag.

2003-01-31  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-server-protocol_handler.adb:
	Fix cut&paste error in previous check-in.

	* aws-server.adb:
	(Default_Unexpected_Exception_Handler): Add pragma unreferenced
	 for Log. Avoid warnings.

2003-01-31  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-exceptions.ads:
	Update comment.

	* aws-server-protocol_handler.adb:
	(Exception_String): Move here from AWS.Server.
	Log error before calling exception handler.

	* aws-server.ads:
	(Exception_String): Move to AWS.Server.Protocol_Handler body.

	* aws-server.adb:
	(Exception_String): Idem.
	(Default_Unexpected_Exception_Handler): Do not log error
	 here. Exception handling and error log are orthogonal features.

2003-01-31  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-server.adb:
	(Default_Unexpected_Exception_Handler): Add exception information
	 to the internal 500 message.

2003-01-31  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-server-protocol_handler.adb:
	Change again the exception handling circuitry. We now handle
	 Net.Socket_Error and other exception differently as we want in
	 the later case to log an error message in the log file.

	* aws-server.adb:
	(Exception_String): New routine.
	(Default_Unexpected_Exception_Handler): Use it.

	* aws-server.ads:
	(Exception_String): New routine.

	* aws-log.adb:
	Remove withed unit AWS.Default (not used anymore).

	* aws-response.ads, aws-response.adb:
	(Stream): Set Stream_Size to default value Undefined_Length.

	* aws.ads:
	(Version): Set to 1.3-rc2.

	* aws-server-protocol_handler.adb:
	Properly call the unexpected exception handler when Data_Sent is
	 True. Better patch for previous fix.

	* aws-log.adb:
	(Log_Prefix): Handle the program name position specificed with
	 character '@'.
	(Start): Do not add the '-' separator here, added now in
	 Log_Prefix.

	* aws-default.ads:
	(Log_Filename_Prefix): Use '@' as character to specify where the
	 filename will be inserted.
	(Error_Log_Filename_Prefix): Idem.

	* aws-status-set.adb:
	Reformat code. Fix some comments.

2003-01-30  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-server.adb:
	(Default_Unexpected_Exception_Handler): Trim log message.
	(Shutdown): Properly close the error log.

	* aws-server-protocol_handler.adb:
	Properly reinitialize the Data_Sent variable at each iteration.
	Do not initialize Answer (not needed).
	If an error occurs while calling the unexpected exception handler
	 exit the loop. Fix a potential memory leak.

2003-01-30  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-server-protocol_handler.adb:
	(Data_Sent): New boolean initialized to False.
	(Send): Set Data_Set to True.
	On the procedure exception handler do not try to send back an
	 answer if some data as already been set. Just exit the loop which
	 close the connection.

	* aws-client.adb:
	Fix some formatting errors.

2003-01-30  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-client.adb:
	(Put): Name the loop Retry.
	(Post): Idem.
	(Upload): Idem.
	(Get): Idem.
	(Head): Idem.
	Minor reformatting.

	* aws-response.ads:
	Fix typo.
	Update copyright notice.

2003-01-29  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-server.adb:
	(Line): Add pragma warnings off to avoid a warning on S.

2003-01-29  Pascal Obry  <p.obry@wanadoo.fr>

	* aws.ads:
	(Version): Set to 1.3-rc1.

	* aws-server.adb:
	(Default_Unexpected_Exception_Handler): Add traceback into the
	 log and in the 500 template file. Shorter fatal error message.

	* aws-server-protocol_handler.adb:
	Remove one call to Set_Close_Status, cut&paste error.

2003-01-29  Pascal Obry  <p.obry@wanadoo.fr>

	* makefile:
	(SOURCES): Add aws-status-translate_table.adb.

	* aws-status-translate_table.ads, aws-status-translate_table.adb:
	Initial revision.

	* aws-server.adb:
	(Default_Unexpected_Exception_Handler): Add status translate table
	 for the 500.tmplt message.

	* aws-server-get_status.ads:
	Minor comment fix.
	Update copyright notice.

2003-01-29  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-server-get_status.adb:
	Use AWS.Templates instead of Templates_Parser directly.
	Minor reformatting.
	Update copyright notice.

	* makefile:
	(SOURCES): Add aws-exceptions.ads.

	* aws-server-protocol_handler.adb:
	(Set_Close_Status): New routine.
	(Will_Close): Initialize to True.
	Move the exceptions handling in the request loop instead of the
	 procedure. This way it is possible to stay keep-alive for non
	 Socket_Error exceptions.

	* aws-server.ads:
	(Def_Admin_URI): Removed.
	(Def_Upload_Dir): Removed.
	(Def_Max_Connect): Removed.
	(Def_Port): Removed.
	(Def_Line_Stack_Size): Removed.
	(Unexpected_Exception_Handler): Moved to AWS.Exceptions.
	(Start_Error_Log): New routine.
	(Stop_Error_Log): Idem.
	(HTTP): Add Error_Log object.

	* aws-server.adb:
	(Default_Unexpected_Exception_Handler): New implementation based
	 on AWS.Exceptions. In fatal error display a message on standard
	 error, for non fatal error write to the log and send back a 500
	 message to the client (either a built-in message or 500.tmplt is
	 present).

	* aws-default.ads:
	(Error_Log_Filename_Prefix): New constant.
	(Error_Log_Split_Mode): New constant.

	* aws-config-set.ads:
	(Error_Log_Filename_Prefix): New routine.
	(Error_Log_Split_Mode): Idem.
	Remove all inlines.
	Update copyright notice.

	* aws-config-set.adb:
	(Error_Log_Filename_Prefix): New routine.
	(Error_Log_Split_Mode): Idem.
	Update copyright notice.

	* aws-config.ads:
	(Error_Log_Filename_Prefix): New routine.
	(Error_Log_Split_Mode): Idem.
	(Parameter_Name): Add Error_Log_Filename_Prefix and
	 Error_Log_Split_Mode.
	Place all inlines next to the spec.
	Update copyright notice.

	* aws-config.adb:
	(Error_Log_Filename_Prefix): New routine.
	(Error_Log_Split_Mode): Idem.
	Update copyright notice.

	* aws-exceptions.ads:
	Initial revision.

2003-01-27  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-server.adb:
	(Line): Remove on block as it was not needed anymore.

2003-01-27  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-server-protocol_handler.adb:
	(Answer_To_Client): Move all code sending the response to the
	 socket to procedure Send.
	(Send): New routine.
	(File_Upload): Detect environment errors while receiving the data
	 (wrong access right, disk full...).
	(Get_File_Data): In case of Name_Error exception, set Error state
	 to Name_Error but do not raise the exception yet. We must read
	 all data coming from the client before sending back the
	 answer. Handle Device_Error too.
	(Write_Data): Write to the file only if no error has been detected yet.
	(Protocol_Hanlder): Add exception handle here.

	* aws-server.adb:
	(Default_Unexpected_Exception_Handler): Add new parameter Answer.
	(Line): Remove Secure boolean variable (was not used). Remove
	 exception handler from here, moved to Protocol_Handler.

	* aws-server.ads:
	(Unexpected_Exception_Handler): Add new parameter Answer. Comment
	 properly this defintiion.
	(Default_Unexpected_Exception_Handler): Idem.

	* aws-client.adb:
	(Upload): Correctly send "Upload Timeout" message. Was "Post
	 Timeout" cut&past error.

2003-01-25  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-client.adb:
	(Send_File): Add exception handle and properly close the file if
	 it is still open.
	Minor reformatting.
	Fix some comments.

	* aws-response.ads:
	(Empty): Minor comment fix.

	* aws-server-protocol_handler.adb:
	(Get_File_Data): Handle exception Name_Error and Device_Error that
	 could happen during a file upload and add clear error messages.

	* aws-config-set.adb:
	(Upload_Directory): Add ending directory separator is not present.

2003-01-24  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-response.adb:
	(URL): Correctly set the mode. Fix a bug where the server was not
	 sending any data in this case.

2003-01-23  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-server-protocol_handler.adb:
	(Send_Resource): Do not call Send_File if the length of the file
	 is 0. Optimization found while reading code (does not fix a bug).

	* aws-client.adb:
	(Get_Response): Correctly handle file whose size is 0.

2003-01-23  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-client.adb:
	(Get_Full_Line): Add clear notes about the fact that this is non
	 standard but implemented because some servers use a continuation
	 line on the status line.

	* aws-net.adb:
	Minor comments editing.
	Minor reformatting.

	* aws-net.ads:
	(Socket): Fix comments (remove reference to non existing Create
	 routine).
	Minor comments editing.

	* aws-server-protocol_handler.adb:
	(Send_Data): Fix comment.
	(Small_File_Size): Constant removed.
	(Chunked_Message_Size): Removed routine.
	(Send_Resource): Use the chunked encoding only if HTTP/1.1 and the
	 length if not known. This is to work an Opera bug. The exact
	 problem is hard to reproduce it involves Opera on Linux calling
	 an Apache server (to get an image) in SSL mode which act as a
	 proxy and redirect the call to an AWS module (non-SSL).
	(Send_File_Chunked): Do not use the buffered IO as this can be a
	 problem with Opera with an SSL socket.

	* aws-server.adb:
	(Accept_Socket_Serialized): Rename Result to New_Socket.
	Minor reformatting.

2003-01-23  Dmitriy Anisimkov <anisimkov@yahoo.com>

	* aws-net.ads, aws-net.adb, aws-net-std.ads, aws-net-ssl.ads,
	  aws-net-ssl.adb:
	Some changes in the AWS.Net API toward from the access limited
	 types to the Classwide type usage.
	(Set_Cache): Recreate the cache if it is already exists.

	* aws-net-stream_io.adb:
	(Stream): Was not able to copy socket, fixed.

	* aws-server-get_status.adb:
	(Slot_Table): Get the Peername just from socket.

	* aws-server.ads, aws-server.adb:
	(Accept_Socket_Serialized): Returning classwide type now.
	(Get_Peername): Get the peername just from socket, not from Slot
	 like before.
	(Release): Catch only Net.Socket_Error exception.
	(Set_Peer_Addr): Removed.
	(Shutdown): Call Net.Shutdown instead of Net.Buffered.Shutdown.
	Server socket is just Net.Std.Socket_Type now.
	Removed dependence from Ada.Strings.Unbounded, becouse we do not need
	 keep Peername in the Unbounded_String.
	Peer_Addr field removed from Slot type.

2003-01-22  Pascal Obry  <p.obry@wanadoo.fr>

	* makefile:
	(UNITS): New variable used to rebuild all units.
	(build_specific): New rule to build unit with a specific set of
	 options.
	(build): Do not use a loop for the build process. It depends on
	 UNITS and units are built by this rule. Now the build process
	 stop at the first error. Cleaner build process.

2003-01-20  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-digest.adb:
	Minor reformatting.
	Update copyright notice.

	* aws-digest.ads:
	Fix RFC reference format.
	Update copyright notice.

	* aws-headers-set.adb:
	Minor reformatting.

	* aws-headers.adb:
	(Values): Set constant.
	(Get_Values): Get parameter mode.
	Update copyright notice.

2003-01-20  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-server-protocol_handler.adb:
	Fix RFC reference syntax.

	* aws-status-set.adb:
	(Read_Header): Use new Headers.Set.Read spec.
	Update copyright notice.

	* aws-client.adb:
	(Read_Status_Line): Handle continuation line.
	Minor reformatting.

	* aws-response-set.adb:
	(Read_Header): Use new Headers.Set.Read spec.
	Minor reformatting.
	Update copyright notice.

	* aws-headers-set.adb:
	(Read): Set Socket as the first parameter.
	Minor reformatting.
	Update copyright notice.

	* aws-headers-set.ads:
	(Read): Set Socket as the first parameter.
	Update copyright notice.

	* aws-net-buffered.adb:
	(Peek_Char): New routine.
	Update copyright notice.

	* aws-net-buffered.ads:
	(Peek_Char): New routine.
	Comment the complete API.
	Update copyright notice.

2003-01-16  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-client.adb:
	Minor reformatting.

	* aws-net-ssl.adb:
	(Socket): Properly free socket access. Fix memory leak.

	* aws-client.adb:
	(Connect): New routine.
	(Create): Use it.
	(Open_Send_Common_Header): Use it.
	Fix resource leak. We AWS.Net.Connect was failing, the socket was
	 not properly closed.

2002-01-16  Dmitriy Anisimkov <anisimkov@yahoo.com>

	* makefile
	Be sure that aws-net-std.adb defined before build.

2003-01-15  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-net-std.adb:
	Removed.

	* makefile:
	(GCC): Removed.
	(adasockets): New target.
	(gnatsockets): New target.

	* aws-net-std.adb:
	New version. This is the default socket implementation and is
	 based on GNAT.Sockets.

	* aws-net.ads:
	Add comments.

2003-01-14  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-server.adb:
	(Accept_Socket_Serialized): Do not free memory there. It is now
	 done by Accept_Socket.

	* aws-net-std.adb:
	(Accept_Socket): Release New_Sockect memory.

	* aws-net-ssl.adb:
	(Accept_Socket): Release New_Sockect memory.

	* aws-net.ads:
	(Accept_Socket): New_Socket is set to null if there is a problem.
	 Cleaner semantic.

2003-01-14  Pascal Obry  <p.obry@wanadoo.fr>

	* makefile:
	(aws-translator-conversion.adb): Use EXEEXT to remove test_uconv.

	* aws-server.adb:
	(Accept_Socket_Serialized): Do not create the new socket here,
	 Accept_Socket will do that.
	(Release): Do not fail closing the socket (Shutdown). This routine
	 must not fail to properly release the resources. The shutdown
	 here can fail if the client's browser stop the transfer for example.

	* aws-server-protocol_handler.adb:
	(Buffer_Size): New constant.
	(Chunk_Size): New constant.
	(Chunk_Message_Size): New routine.
	(Send_Resource): Send Content_Lenght header for the chunked case.
	With this patch the browser will be able to display the download
	 progress-bar in the chunked-encoding case.

	* aws-net-ssl.adb:
	(Accept_Socket): Create SSL socket access.
	Work to fix a resource leak (socket not used and not released).

	* aws-net-std.adb:
	(Accept_Socket): New_Socket parameter is now a Socket_Access.
	Create the pointer only if not already defined.
	Initialize the cache for the new socket.
	Work to fix a resource leak (socket not used and not released).

	* aws-net.ads, aws-net-std.ads, aws-net-ssl.ads:
	(Accept_Socket): New_Socket parameter is now a Socket_Access.
	Work to fix a resource leak (socket not used and not released).

2003-01-13  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-server-protocol_handler.adb:
	(Send_File_Chunked): Correctly handle empty chunk.
	Add some comments.

2003-01-13  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-server-protocol_handler.adb:
	(Value): Do not check for ending ';' in un-named value.
	Minor reformatting.

	* aws-headers-values.adb:
	(Next_Value): Removes the ';' after an un-named value.
	Add comments.
	Update copyright notice.

2003-01-13  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-server-protocol_handler.adb:
	(File_Upload): Rewrite a good part of it to handle textarea with
	 multiple line in a multipart MIME message. Use Start_Boundary and
	 End_Boundary instead of building them each time.
	(End_Boundary_Signature): Removed.
	(Get_File_Data): Check for end-boundary signature. Set End_Found.
	(Get_Message_Header): Properly null out the Status_Content_Type
	 for each request. Fix bug where a new boundary was not handled
	 properly. In this case a multipart message was not properly
	 parsed and part of the message was just skipped.
	Minor reformatting.
	Add comments.
	Update copyright notice.

	* aws-client.adb:
	(Get): Use exception handler only for the connection part.
	Minor reformatting.
	Update copyright notice.

2003-01-12  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-utils.adb:
	(Is_Number): Cleaner implementation.

2003-01-09  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-utils.ads, aws-utils.adb:
	(Is_Number): Returns false if the string is empty (not a number).

2002-12-28  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-server-protocol_handler.adb:
	Fix comment.
	Remove use of Templates_Parser, use AWS.Templates.
	Remove ??? comment about more efficient file upload implementation
	 as now the socket are buffered.

2002-12-26  Dmitriy Anisimkov <anisimkov@yahoo.com>

	* ChangeLog, aws-containers-tables-set.ads, aws-containers-tables.adb,
	  aws-headers.ads, aws-response-set.adb, aws-status-set.adb,
	  aws-translator-conversion-f.adb, aws-translator-conversion-p.adb:
	Remove DOS style CR from end of line.

2002-12-25  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-status-set.ads:
	Minor comment fix.

	* aws-response.ads:
	Fix comments with lines terminated with DOS end of line.

	* aws-response-set.ads:
	Fix comments with lines terminated with DOS end of line.

	* aws-client.ads:
	Fix typo in comment.

2002-12-25  Dmitriy Anisimkov <anisimkov@yahoo.com>

	* aws-client.adb:
	(End_Section): Constant removed.
	(Parse_Header): Responce.Data parameter instead of Status,
	 Content_Length, Content_Type, Transfer_Encoding, Location
	(Check_Status): Removed, becouse we are not changing message body
	 and using Response.Set routines instead of construct entire
	 Response.Data object.
	(Read_Message): Removed, becouse we are using only binary reading
	 now (internal data is binary anyway).
	Header reading and parsing algorithm changed.

	* aws-messages.ads, aws-messages.adb:
	HTTP header name tokens do not contain ending colon now.
	Support for all RFC 2616 HTTP header names.
	Removed subtype Name_Range is Positive Name_Token'Range declarations,
	 becouse it is not necessary for parsing now.

	* aws-response.ads, aws-response.adb:
	(Header): New field in the Data type.
        Content_Type, Location, Realm, Authentication, Auth_Stale, Cache_Control
         fields removed from Data type. This information is in the Header now.
	Authentication,	Authentication_Stale, Cache_Control, Content_Type
	 Location, Realm routines provide data from the header container.
	(Header): New routines.
	(Send_Header): New routine.

	* aws-response-set.ads, aws-response-set.adb:
	(Add_Header): New routine.
	(Update_Header): New routine.
	(Read_Header): New routine.
	(Update_Data_From_Header): New routine.
	(Authentication): Put authentication data to the header container.
	(Cache_Control): Put data to the header container.
	(Content_Type): Put data to the header container.
	(Location): Put data to the header container.
	(Is_Valid): Reading some data for validation from header container.

	* aws-server-protocol_handler.adb:
	Remove code for sending Content-Type, Cache-Control, Location,
	 WWW-Authenticate header lines. Now it is sending just from header
	 container.
	Parsing header lines code moved to the AWS.Headers.Set.Read routine.

	* aws-status.ads, aws-status.adb:
	Data type has a new internal field Header.
	Connection, Host, Content_Type, Boundary, If_Modified_Since field
	 removed from Data type. This information is in the Header now.
	SOAP_Action field of Data type is a boolean now, for fast Is_Soap
	 call. SOAP_Action string is in the Header now.

	* aws-status-set.ads, aws-status-set.adb:
	Authorization, Connection, Content_Length, Content_Type,
	 Multipart_Boundary, Session, Host, If_Modified_Since, User_Agent,
	 Referer routines removed.
	(Read_Header): New routine.

	* aws-utils.ads, aws-utils.adb:
	(Parse_HTTP_Header_Line): Removed. Use package AWS.Headers.Values
	 instead.

2002-12-24  Dmitriy Anisimkov <anisimkov@yahoo.com>

	* aws-headers-set.adb:
	(Read): Reset header before read it from socket.

	* aws-headers.ads, aws-headers.adb:
	(Send_Header): Socket parameter moved to the first place,
	 like for IO routines.
	(Get_Values): New routine returning all values comma concatenated.

2002-12-23  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-net-ssl.adb:
	Rename -lsslaws to -lnosslaws.

2002-12-23  Pascal Obry  <p.obry@wanadoo.fr>

	* makefile:
	(aws-translator-conversion.adb): Remove test_uconv.{o,exe,ali}, we
	 don't want the object to get dragged into libaws.a.

	* aws-net-ssl.adb:
	Add library -lsslaws for non SSL applications.

2002-12-23  Dmitriy Anisimkov <anisimkov@yahoo.com>

	* makefile:
	Add filenames
	aws-digest.adb aws-headers-set.adb
	aws-hotplug-get_status.adb aws-resources-embedded.adb
	aws-resources-files.adb aws-resources-streams.adb aws-resources.adb
	aws-response-set.adb aws-url-raise_url_error.adb aws.ads
	to the SOURCE file list and order it by filename.

2002-12-21  Pascal Obry  <p.obry@wanadoo.fr>

	* makefile:
	(SOURCES): Remove AWS.Key_Value.

	* aws-jabber.ads:
	Use Containers.Key_Value instead of AWS.Key_Value.

	* aws-jabber.adb:
	Many changes to use Containers.Key_Value instead of AWS.Key_Value.

	* aws-key_value.ads:
	Removed.

2002-12-21  Dmitriy Anisimkov <anisimkov@yahoo.com>

	* aws-headers-set.ads, aws-headers-set.adb:
	(Read): New routine, reading the header from the socket.

2002-12-18  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-ldap-client.adb:
	(Is_Open): Use /= instead of "not =" as per new coding style.

	* aws-server-protocol_handler.adb:
	(Get_File_Data): Use /= instead of "not =" as per new coding style.

	* aws-jabber.adb:
	(Destroy): Use /= instead of "not =" as per new coding style.

	* aws-client.adb:
	(Close): Use /= instead of "not =" as per new coding style.

	* aws-net.adb:
	Back-out previous change.

2002-12-17  Pascal Obry  <p.obry@wanadoo.fr>

	* makefile:
	(SOURCES): Add Jabber only if XMLADA defined.

	* aws-net-ssl.adb:
	Fix TLS casing.

	* aws-net-ssl.ads:
	(Method): Fix TLS casing.

	* aws-server.ads, aws-server.adb:
	(Slots.Get): Renamed Slots.Set.
	(Slots.Set): Protected data renamed Table.
	Minor reformatting.

	* aws-client.adb:
	(Free): Removed.
	(Close): Call Net.Free to release memory associated with the
	 socket. Right fix for the memory leak, see previous check-in.
	(Create): If connect fail, correctly release socket memory.

2002-12-16  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-client.adb:
	Back out previous change. Was wrong.
	Minor reformatting.

	* aws-net-ssl.adb:
	Fix casing.

2002-12-16  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-containers-tables-set.adb:
	Minor reformatting.
	Add some comments.
	Add ??? where comments are needed.

	* aws-containers-tables.ads:
	Fix comment. Some comments where having a DOS line terminator.

	* aws-server.adb:
	(Accept_Socket_Serialized): If exception is raised, free socket
	 memory before leaving. Fix memory leak.
	(Shutdown): Call Net.Free to release socket memory. Fix memory leak.

	* aws-ldap.ads:
	Add comment.

	* aws-net-ssl.adb:
	Fix comment.
	(Bind): Removed, inherited routine is ok.
	(Listen): Idem.
	(Get_FD): Idem.
	(Peer_Addr): Idem.
	Fix reference to the Net.Std.Socket_Type as now it is inherited.

	* aws-net-ssl.ads:
	(Socket_Type): Inherit from Net.Std.Socket_Type. Removed S field.
	(Bind): Removed, inherited routine is ok.
	(Listen): Idem.
	(Get_FD): Idem.
	(Peer_Addr): Idem.
	(Host_Name): Removed.

	* aws-net.adb:
	(Free): Use "not =" instead of /=.

	* aws-ldap-client.adb:
	(Init): Remove some not needed code.
	(Bind): If thin call fail, set Dir to Null_Directory. Dir
	 parameter is not "in out" mode.
	(Is_Open): New function.

	* aws-ldap-client.ads:
	(Null_Directory): New constant.
	(Init): Fix comment.
	(Is_Open): New function.
	(Bind): Dir parameter is now "in out" mode.

	* aws-client.adb:
	(Disconnect): Call Net.Free to release socket memory. Fix memory leak.

2002-12-15  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-headers.ads:
	Add Get into the comment as inherited routine.

	* aws-headers-set.ads:
	(Update): Put pragma inline next to the spec.

2002-12-15  Dmitriy Anisimkov <anisimkov@yahoo.com>

	* aws-headers.adb:
	(Send_Header): Remove unnecessary output buffering.

2002-12-15  Dmitriy Anisimkov <anisimkov@yahoo.com>

	* aws-headers-set.ads, aws-headers-set.adb:
	(Update): New routine, derived from AWS.Containers.Tables.Update.

2002-12-14  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-net-buffered.adb:
	(Get_Line): Implementation not using recursivity for better
	 performances when reading large data.

2002-12-14  Pascal Obry  <p.obry@wanadoo.fr>

	* makefile:
	(clean): Do not remove aws-net.adb.

	* aws-server.adb:
	(Security_Initilaized): Remove pragma Atomic as it is not needed.

	* aws-net-buffered.adb:
	Fix all references to the socket cache due to structure changes.

	* aws-net-ssl.adb:
	(TS_SSL): New protected object to guarranty concurrent access to
	 global SSL state. Move Private_Key and Context into this object.
	(Finalise): Move into TS_SSL.
	(Initialize): Idem.
	(Set_FD): Idem.
	(Free): Call Release_Cache.

	* aws-net-ssl.ads:
	(Socket_Type): Properly initialize SSL to Null_Ptr. Fix crash on
	 SSL socket.

	* aws-net-std.adb:
	(Free): Call Release_Cache.
	(Receive): Remove debugging code.

	* aws-net.adb:
	(Free): Call Release_Cache. Call Free on the socket only if access
	 not null.
	(Set_Cache): New routine.
	(Release_Cache): New routine.
	(Socket): Call Set_Cache.

	* aws-net.ads:
	(RW_Cache): New record type.
	(RW_Cache_Access): New access type.
	(Set_Cache): New routine.
	(Release_Cache): New routine.
	(Socket_Type): Self, W_Cache, R_Cache fields removed. Add field C.
	 This is a lighter implementation, SSL socket structure had two
	 cache buffer (6kb each), only one was needed.
	Minor reformatting.

2002-12-14  Dmitriy Anisimkov <anisimkov@yahoo.com>

	* aws-containers-tables.ads, aws-containers-tables.adb:
	(Get_Names): Add Sort parameter.

2002-12-14  Dmitriy Anisimkov <anisimkov@yahoo.com>

	* aws-containers-tables-set.ads, aws-containers-tables-set.adb:
	(Update): New routine.

2002-12-13  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-containers-tables.ads:
	Minor comment fix.

	* aws-net-ssl.adb:
	Remove comment about potential memory leak as there is no problem
	 after all.

	* aws-server.adb:
	(SSL_Initialized): Rename to Security_Initialized.
	(Set_Security): New routine.

	* aws-server.ads:
	(Set_Security): New routine.
	Add/fix some comments.

2002-12-12  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-net.adb:
	Initial revision.

	* makefile:
	(ssl_mode): Removed.
	(std_mode): Removed.
	(build): Do not check for aws-net.adb presence.

	* aws-default.ads:
	(Certificate): New constant.
	Update copyright notice.

	* aws-jabber.adb:
	Change code to use AWS.Net instead of the AdaSocket binding.
	(Send_Message): Server mode set to in.
	(Check_Presence): Server mode set to in.
	(Start): Create the stream task.
	(Close): Stop and release the stream task.
	(Incoming_Stream): Remove the select statement.

	* aws-jabber.ads:
	Change code to use AWS.Net instead of the AdaSocket binding.
	(Send_Message): Server mode set to in.
	(Check_Presence): Server mode set to in.
	(Server): New field Self. Stream is now an access to the task
	 type.

	* aws-utils.ads, aws-utils.adb:
	(Gethostname): Removed. See AWS.Net.Host_Name.

	* aws-status.adb:
	(Socket): Change code to use AWS.Net instead of the AdaSocket binding.

	* aws-status.ads:
	(Socket): Change code to use AWS.Net instead of the AdaSocket binding.
	(Socket_Type): Removed.
	(Socket_Access): Removed.
	Update copyright notice.

	* aws-status-set.ads, aws-status-set.adb:
	(Socket): Sock parameter based on AWS.Net.
	Update copyright notice.

	* aws-smtp-client.adb:
	Change code to use AWS.Net instead of the AdaSocket binding.

	* aws-smtp.ads:
	Change code to use AWS.Net instead of the AdaSocket binding.

	* aws-server.adb:
	Change code to use AWS.Net instead of the AdaSocket binding.
	Fix order of the with clauses.
	(Start): Initialize the SSL layer if needed.

	* aws-server.ads:
	Change code to use AWS.Net instead of the AdaSocket binding.
	Fix order of the with clauses.

	* aws-server-push.ads, aws-server-push.adb:
	Change code to use AWS.Net instead of the AdaSocket binding.
	Update copyright notice.

	* aws-server-protocol_handler.adb:
	Change code to use AWS.Net instead of the AdaSocket binding.
	Note that all IO are now buffered, this should increase AWS
	 performances.

	* aws-server-get_status.adb:
	Change code to use AWS.Net instead of the AdaSocket binding.

	* aws-headers.ads, aws-headers.adb:
	Change code to use AWS.Net instead of the AdaSocket binding.

	* aws-client.adb:
	Change code to use AWS.Net instead of the AdaSocket binding.

	* aws-client.ads:
	Use AWS.Net instead of Sockets (AdaSocket binding).
	(Socket_Access): Removed.

	* aws-communication-client.adb:
	(Send_Message): Use Net.Host_Name instead of Utils.Gethostname.
	Minor reformatting.
	Update copyright notice.

	* aws-config-set.ads, aws-config-set.adb:
	(Certificate): New procedure.
	Update copyright notice.

	* aws-config.adb:
	(Certificate): New function.
	Update copyright notice.

	* aws-config.ads:
	(Certificate): New function.
	(Parameter_Name): Add Certificate.
	(Process_Options): Handle Certificate.
	Update copyright notice.

	* aws-net-buffered.ads, aws-net-buffered.adb:
	Initial revision.

	* aws-net-std.adb:
	Complete rewrite. Part of the code is from SSL package.
	Update copyright notice.

	* aws-net-ssl.adb:
	Complete rewrite. Part of the code is from SSL package.
	Update copyright notice.

	* aws-net-ssl.ads:
	Initial revision.

	* aws-net-std.ads:
	Initial revision.

	* aws-net-stream_io.ads, aws-net-stream_io.adb:
	Complete rewrite to use only AWS.Net.Buffered services. Cache
	 handling has been moved into AWS.Net.Buffered.
	Update copyright notice.

	* aws-net.ads, aws-net.adb:
	Complete rewrite. Socket_Type is an abstract type. Concrete
	 implementations are found in child package.
	Update copyright notice.

2002-12-12  Dmitriy Anisimkov <anisimkov@yahoo.com>

	* aws-headers.ads:
	subtype Name_Value_Type renamed to Element.

2002-12-12  Dmitriy Anisimkov <anisimkov@yahoo.com>

	* aws-containers-tables.ads, aws-containers-tables.adb
	  aws-containers-tables-set.adb:
	Name_Value_Type renamed to Element.
	Get_Name_Value renamed to Get.

	* aws-headers.adb:
	(Get_Line): Change regarding renaming in interface of
	 AWS.Containers.Tables.

2002-12-05  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-containers-tables-set.adb:
	Add some comment.
	Reformat and rename some routines.

	* aws-containers-tables.adb:
	Set in UNIX format, some lines were having a CRLF ending.

	* aws-headers.adb:
	(Send_Header): Fix comment. Add ??? note about buffered output.
	Minor reformatting.

	* aws-headers.ads:
	Fix comment.

	* aws-status-set.ads:
	Fix comment.

2002-12-05  Dmitriy Anisimkov <anisimkov@yahoo.com>

	* aws-messages.ads:
	Fix typo in No_Cache constant definition.

2002-12-05  Dmitriy Anisimkov <anisimkov@yahoo.com>

	* aws-containers-tables.ads, aws-containers-tables.adb
	  aws-containers-tables-set.adb:
	(Name_Value_Type): New type to receive data from container.
	 Used internally too for keeping data in the container.
	(Get_Name_Value): New routine.

	* aws-headers.ads, aws-headers.adb:
	(Send_Header): New routine.

2002-12-05  Dmitriy Anisimkov <anisimkov@yahoo.com>

	* aws-status-set.ads, aws-status-set.adb:
	(Free): New routine.

	* aws-server-protocol_handler.adb:
	Use AWS.Status.Set.Free routine.

	* aws-containers-tables.ads, aws-containers-tables.adb,
	  aws-containers-tables-set.adb:
	New implementation based on GNAT.Dynamic_Tables for indexing
	by positive number instead of AVL Tree for indexing by order
	and instead of Strings_Cutter for indexing the values with the
	same name.

2002-12-04  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-client.adb:
	(Create): Add some comment.

	* makefile:
	(GARGS): Add -q (quiet mode) option.
	(.SILENT): Add aws-translator-conversion.adb.
	(build): Echo the current built package.
	(aws-translator-conversion.adb): Add echo.

	* aws-server-protocol_handler.adb:
	(Send_General_Header): Send the cache control header if needed.
	Minor reformatting.

	* aws-dispatchers-callback.ads, aws-dispatchers-callback.adb:
	Minor reformatting.

	* aws-messages.adb:
	(Cache_Control): New routine.

	* aws-messages.ads:
	(Cache_Control_Token): New constant.
	(Cache_Option): New type.
	(Unspecified): New constant.
	(No_Cache): Idem.
	(No_Store): Idem.
	(Cache_Control): New routine.

	* aws-response-set.adb:
	(Cache_Control): New procedure.

	* aws-response-set.ads:
	(Cache_Control): New procedure.
	Minor comment editing.

	* aws-response.adb:
	(Build): Add Cache_Control parameter.
	(Stream): Idem.
	(Cache_Control): New function.

	* aws-response.ads:
	(Undefined_Length): Move full definition to the private part.
	(Build): Add Cache_Control parameter.
	(Stream): Idem.
	(Cache_Control): New function.
	(Data): Add Cache_Control field.
	Minor reformatting.

2002-12-03  Dmitriy Anisimkov <anisimkov@yahoo.com>

	* aws-services-dispatchers-uri.adb:
	(Finalize): Use Free from GNAT.Dynamic_Tables,
	 becouse GNAT 3.15p already exists.

2002-11-28  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-server-protocol_handler.adb:
	(Send_Resource): Correctly handle case HTTP/1.0 and unknown data
	 length. Add RFC reference.

2002-11-26  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-client.adb:
	Minor reformatting.

2002-11-25  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-server-protocol_handler.adb:
	(End_Boundary_Signature): Use Translator.To_Stream_Element_Array.
	(Get_Message_Data): Use Translator.To_String.
	Minor reformatting in many places.

2002-11-25  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-server-protocol_handler.adb:
	(Answer_To_Client): Length is now a Response.Content_Length_Type
	 variable.
	(Send_Data): Get File_Size and set Length. Do not output the
	 Content-Length header since this must not be ouputed in chunked
	 encoding messages.
	(Send_Resource): Small_File_Size new constant, send file whose
	 size is smaller than this constant without using the chunked
	 encoding. Last_Chunk new constant. Packet renamed Chunk (this is
	 the term used in the RFC).
	(Send_Resource): Fix comment.

	* aws-client.adb:
	(Adjust_Cookie): Rename to Copy_Cookie, swap also the parameters.

	* aws-client.ads:
	(No_Data): Is now a defered constant, implementation is not useful
	 for the spec.
	(No_Timeout): Idem.
	(Adjust_Cookie): Rename to Copy_Cookie, swap also the parameters.
	Minor reformatting.

2002-11-24  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-net-ssl.adb:
	(SSL_Initialized): Add pragma Atomic.

2002-11-24  Dmitriy Anisimkov <anisimkov@yahoo.com>

	* aws-server-protocol_handler.adb:
	(Send_File_Chunked): Arrange the routine to send the chunk size
	 and the chunk data with the same Sockets.Send call. This is very
	 important to work around a bug in Opera.

2002-11-23  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-url.adb:
	(Normalize): Pass the right message to Raise_URL_Error.
	(Parse): Use Raise_URL_Error to raise the exceptions and pass a
	 clear message about the problem.

	* aws-url-raise_url_error.ads:
	Add Message parameter.
	Update copyright notice.

	* aws-url-raise_url_error.adb:
	Add Message parameter and display it instead of the hard coded one.
	Update copyright notice.

2002-11-23  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-utils.ads, aws-utils.adb:
	(Is_Number): New routine.

	* aws-url.adb:
	(Parse): Rewrite most of the code. Handle better wrong URL. Code
	 is clearer. Add lot of comments as this is a tricky part.

2002-11-23  Dmitriy Anisimkov <anisimkov@yahoo.com>

	* aws-headers-values.adb:
	Avoid possible Constraint_Error in case of
	 Name= at the end of line.

2002-11-22  Pascal Obry  <p.obry@wanadoo.fr>

	* makefile:
	Fix stupid typo.

2002-11-22  Pascal Obry  <p.obry@wanadoo.fr>

	* makefile:
	(SOURCES): Add aws-headers.adb aws-headers-values.adb, aws-jabber.adb,
	 aws-containers.ads, aws-containers-key_value.adb,
	 aws-containers-tables.adb, aws-containers-tables-set.adb

	* aws-headers-values.ads, aws-headers-values.adb:
	Change back Data_Set to Set.
	Prefix Set when needed to raise ambiguity.

	* aws-headers-values.adb:
	Reformat code.
	Change Set to Data_Date.

2002-11-22  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-headers-values.adb:
	Add some comments.
	Reformat code.
	(Search): Rename local variable Sample to M_Name. Call translate
	 only if needed.

	* aws-headers-values.ads:
	(Set): Renamed to Data_Set.
	Add header to group routines.
	Fix comments.
	Reformat code.

	* aws-parameters.adb:
	Removes comments for internal data structure for the containers,
	 this is now in AWS.Containers.Tables.
	Update copyright notice.

	* aws-parameters.ads:
	Removes comments for inherited routines and point to the
	 AWS.Containers.Tables for a complete description.

	* aws-jabber.adb:
	(Incoming_Stream): Add a terminate clause into the select to have
	 the task properly terminate if the Connect routine has never been
	 called.

	* aws-parameters-set.adb:
	Minor reformatting.
	Update copyright notice.

	* aws-containers-tables-set.ads:
	Fix layout.

2002-11-22  Dmitriy Anisimkov <anisimkov@yahoo.com>

	* aws-containers-tables.adb:
	Remove with to Ada.Unchecked_Deallocation.
	Fix using name Cutted_String to Cut_String.

	* aws-containers-tables-set.ads, aws-containers-tables-set.adb:
	Remove with to Ada.Characters.Handling, Strings_Cutter,
	 Ada.Strings.Unbounded and AWS.Containers.Key_Value.
	Change using HTTP_Data field to the Ordered_Data.

	* aws-parameters.ads, aws-parameters.adb, aws-parameters-set.adb:
	Inhirited from AWS.Containers.Tables.Table_Type now.

2002-11-22  Dmitriy Anisimkov <anisimkov@yahoo.com>

	* aws-headers-values.ads, aws-headers-values.adb:
	(Search): New routine.
	(Get_Unnamed_Value): New routine.

2002-11-21  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-utils.ads, aws-utils.adb:
	(Quote): New function.

	* aws-jabber.ads, aws-jabber.adb:
	Initial revision.

	* aws-parameters.adb:
	Rename Cutted_String to Cut_String.

	* aws-headers-values.adb:
	(Parsing_Step): Renamed Next_Value. Remove Spaces from there as it
	 was already declared in the package body.
	(Index): Call Translate only when the Map is not Identity.
	(Element): Rename V by "+", with operators it is possible to remove
	 one level of parentheses.
	Fix comments.
	Reformat code, add routine header when missing.
	Fix copyright header.

	* aws-headers-values.ads:
	(Parse): Alone_Value renamed Value. Value parameter renamed
	 Header_Value.
	Fix comments.
	Reformat code.
	Fix copyright header.

2002-11-21  Dmitriy Anisimkov <anisimkov@yahoo.com>

	* aws-headers-values.ads, aws-headers-values.adb:
	New package parsing the header value.

2002-11-20  Dmitriy Anisimkov <anisimkov@yahoo.com>

	* aws-containers.ads, aws-containers-key_value.ads
	  aws-containers-tables.ads, aws-containers-tables.adb
	  aws-containers-tables-set.ads, aws-containers-tables-set.adb:
	New AWS common containers hierarchy.

	* aws-headers.ads, aws-headers.adb,
	  aws-headers-set.ads, aws-headers-set.adb:
	Inherited from AWS.Containers.Tables.Table_Type now.

2002-11-14  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-headers-set.adb:
	(Debug): Moved here from AWS.Headers.
	Rename all C parameters to Headers.
	Put file in UNIX format.

	* aws-headers-set.ads:
	(Debug): Moved here from AWS.Headers.
	Move pragma inline next to the spec.
	Rename all C parameters to Headers.
	Fix some comments.

	* aws-headers.adb:
	(Count): New routine.
	(Debug): Moved to AWS.Headers.Set.
	(Get_Line): Name set to constant.
	Rename all C parameters to Headers.

	* aws-headers.ads:
	(Container): Renamed Header_List and set to private to not inherit
	 all routines from AWS.Parameters. Some of them are really of no
	 use in this interface.
	(Debug): Moved to AWS.Headers.Set.
	(Debug_Flag): Moved to AWS.Headers.Set.
	(Count): New routine.
	(VString_Array): Removed.
	(Header_Format_Error): renamed Format_Error.
	Add lot of comments.
	Rename all C parameters to Headers.

2002-11-14  Dmitriy Anisimkov <anisimkov@yahoo.com>

	* aws-parameters.ads, aws-parameters.adb:
	(Get_Name): Fix comment.
	(Get_Value): Fix comment.
	(Normalize_Name): Moved outside from AWS.Parameters.Set.Add.
	Fixing exception handlers for catching just Missing_Item_Error.

	* aws-parameters-set.adb:
	(Add): Normalize_Name removed.

	* aws-headers.ads, aws-headers.adb,
	  aws-headers-set.ads, aws-headers-set.adb:
	Initial revision.

2002-11-13  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-parameters.adb:
	Fix style.

2002-11-12  Dmitriy Anisimkov <anisimkov@yahoo.com>

	* aws-parameters-set.adb:
	(Add): Keep the key name in original case in the HTTP_Data field.

2002-11-11  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-server-protocol_handler.adb:
	(Send_Resource): Add parameter Method. Send resource content only
	 if not HEAD method.
	(Send_Data): Always call Send_Resource even in the HEAD case, to
	 be able to send the last headers. In the HEAD case the headers
	 must be exactly the same as it would have been for a GET request,
	 only the body is omitted.

	* aws-response-set.ads, aws-response-set.adb:
	(Content_Length): New routine.

	* aws-client.adb:
	(Get_Response): In case were no body should be returned	(HEAD method)
	 we still need to set properly the Content_Length.

2002-11-04  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-client.ads:
	Minor reformatting.
	Update copyright header.

	* aws-url.adb:
	(Parse): Remove exception handler. This was there for historical
	 reasons to catch implementation errors.

2002-11-03  Dmitriy Anisimkov <anisimkov@yahoo.com>

	* aws-server-protocol_handler.adb:
	(Send_General_Header): We don't have to check for matching
	 Connection parameter to 'close', it is already made in the
	 first Will_Close assignment.
	Move comment about 'close' matching to the first Will_Close
	 assignment.

2002-11-02  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-messages.ads:
	Add some comments.
	Update copyright notice.

	* aws-server-protocol_handler.adb:
	(Send_General_Header): Correctly returns the connection header. We
	 do not return any Connection options, see [RFC2616 - 14.10]. Should
	 fix a bug with Opera not ending the connection.
	Normalize RFC references.

2002-11-01  Dmitriy Anisimkov <anisimkov@yahoo.com>

	* aws-messages.adb:
	(Content_Length): Remove one of two spaces before header value.

2002-10-31  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-ldap-client.ads, aws-ldap-client.adb:
	(For_Every_Entries): Renamed For_Every_Entry.
	(For_Every_Attributes): Renamed For_Every_Attribute.

	* aws-server.ads:
	(Dispatcher_Sem): Set Writers discriminant to 1.

	* aws-utils.adb:
	(RW_Semaphore): Handle Writers maximum writers into the critical
	 section.

	* aws-utils.ads:
	(RW_Semaphore): Add Writers discriminant. Add comments.

2002-10-31  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-ldap-client.adb:
	Add lot of comments.
	(uid): New function.
	(cn): Idem.
	(sn): Idem.
	(surname): Idem.
	(telephoneNumber): Idem.
	(mail): Idem.
	(l): Idem.
	(o): Idem.
	(ou): Idem.
	(st): Idem.
	(c): Idem.
	(dc): Idem.
	(Cat): Idem.
	(Nul_Set): New constant.
	Rename some parameters.

	* aws-ldap-client.ads:
	Add lot of comments.
	(uid): New function.
	(givenName): Idem.
	(cn): Idem.
	(commonName): Idem.
	(sn): Idem.
	(surname): Idem.
	(telephoneNumber): Idem.
	(mail): Idem.
	(l): Idem.
	(localityName): Idem.
	(o): Idem.
	(organizationName): Idem.
	(ou): Idem.
	(organizationalUnitName): Idem.
	(st): Idem.
	(stateOrProvinceName): Idem.
	(c): Idem.
	(countryName): Idem.
	(dc): Idem.
	(Cat): Idem.
	(Nul_Set): New constant.
	Rename some parameters.

	* aws-ldap-thin.ads:
	Add comments.
	Minor reformatting.

	* aws-server-protocol_handler.adb:
	(Answer_To_Client): Correctly create a critical section before
	 using the Dispatcher.
	Minor reformatting.

	* aws-server.adb:
	(Semaphore): Moved to AWS.Utils.
	(Set): Correctly create a critical section before updating the
	 Dispatcher.
	Minor reformatting.

	* aws-server.ads:
	(HTTP): Add field Dispatcher_Sem. Remove pragma Atomic on Dispatcher.
	(Semaphore): Moved to AWS.Utils.
	Add some of comments.

	* aws-utils.ads, aws-utils.adb:
	(Semaphore): Protected type moved here from Server unit.
	(RW_Semaphore): New protected type.
	Update copyright notice.

2002-10-29  Pascal Obry  <p.obry@wanadoo.fr>

	* makefile:
	(SOURCES): Add all LDAP units.

	* aws-ldap-thin.ads, aws-ldap-client.ads, aws-ldap-client.adb:
	Minor style fixes.

	* aws-response.adb:
	(Finalize): Remove Free move to spec's private part.

	* aws-response.ads:
	(Free): New routine. Moved in the private part from the body.

2002-10-29  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-server.adb:
	(Set): New routine.
	Update copyright notice.

	* aws-server.ads:
	(Set): New routine.
	(HTTP): Set field Dispatcher Atomic.
	Minor reformatting.
	Update copyright notice.

	* aws-ldap-client.ads, aws-ldap-client.adb:
	Initial revision.

	* aws-ldap-thin.ads, aws-ldap-thin.adb:
	Initial revision.

	* aws-ldap.ads:
	Initial revision.

	* aws-response-set.adb:
	Minor reformatting.
	Remove 2000-2001 from copyright header.
	Set file to UNIX format.

	* aws-response-set.ads:
	Minor reformatting.
	Remove 2000-2001 from copyright header.

	* aws-response.adb:
	Minor reformatting.

2002-10-29  Dmitriy Anisimkov <anisimkov@yahoo.com>

	* aws-response-set.ads, aws-response-set.adb:
	New package.

	* aws-response.ads, aws-response.adb:
	Using AWS.Response.Set package in all AWS.Response.Data constuctors.
	Update copyright header.

2002-10-28  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-net-stream_io.adb:
	Minor reformatting.
	Update copyright header.

	* aws-client.adb:
	(Get): Handle all redirection cases. Correctly pass Follow_Redirection
	 value.
	(Check_Status): Idem.

2002-10-26  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-smtp.adb:
	(Code_Table): Set to constant.

	* aws-server-protocol_handler.adb:
	(Sock_Ptr): Set to constant.
	(Send_Data): Set File_Mode to constant.
	(File_Upload): Set Multipart_Boundary to constant.
	(Check_EOF): Set Signature to constant.
	(Parse): Set Token (2 occurences) to constant.

	* aws-mime.adb:
	(Content_Type): Set Pos and File_Type to constant.
	Minor reformatting.
	Update copyright notice.

	* aws-messages.adb:
	(Weekday): Set D to constant.
	Update copyright notice.

	* aws-digest.adb:
	(Check_Nonce): Set Now to constant.
	Update copyright notice.

	* makefile:
	(clean): Remove aws-translator-conversion.adb.

	* aws-response.ads:
	(Undefined_Length): Minor comment fix.

	* aws-server-protocol_handler.adb:
	(Send_Resource_Body): Renamed to Send_Resource.
	Add some comment.
	Minor reformatting.

2002-10-25  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-server-protocol_handler.adb:
	Minor reformatting.
	Put lines added in previous check-in in UNIX format.

	* aws-server-get_status.adb:
	Add many variables into the association table
	 ACCEPT_QUEUE_SIZE,
	 CLEANER_WAIT_FOR_CLIENT_TIMEOUT, CLEANER_CLIENT_HEADER_TIMEOUT,
	 CLEANER_CLIENT_DATA_TIMEOUT, CLEANER_SERVER_RESPONSE_TIMEOUT,
	 FORCE_WAIT_FOR_CLIENT_TIMEOUT, FORCE_CLIENT_HEADER_TIMEOUT,
	 FORCE_CLIENT_DATA_TIMEOUT, FORCE_SERVER_RESPONSE_TIMEOUT,
	 RECEIVE_TIMEOUT, SEND_TIMEOUT, STATUS_PAGE, UPLOAD_DIRECTORY

	* aws-server.ads:
	(HTTP) Add comment.

2002-10-25  Dmitriy Anisimkov <anisimkov@yahoo.com>

	* test_uconv.adb:
	Fix comment.

	* aws-server-protocol_handler.adb:
	(Status_Connection): New local variable.
	(Status_Multipart_Boundary): New local variable.
	(Status_Content_Type): New local variable.
	 Local variables filled from request header for faster access.

2002-10-24  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-status.ads:
	Minor reformatting.

2002-10-23  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-response.adb:
	Reformat code.

	* aws-response.ads:
	(Stream): Fix comment.

	* aws-resources-streams.adb:
	Minor reformatting.

	* aws-resources-streams.ads:
	Minor style fix (pragma Inline should be next to the spec).

	* aws-log.ads:
	Fix comment.

	* aws-log.adb:
	Minor reformatting.

	* aws-log.ads:
	Fix spelling error.

2002-10-23  Dmitriy Anisimkov <anisimkov@yahoo.com>

	* aws-resources-streams.ads, aws-resources-streams.adb:
	New package.

	* aws-response.ads, aws-response.adb:
	(Data_Mode): New available value Stream.
	(Content_Length_Type): New subtype.
	(Undefined_Length): New constant.
	(Stream): New routine.
	(Content_Length): Returning the subtype Content_Length_Type now.
	(Create_Resource): Could create resource from user defined stream now.

	* aws-log.ads, aws-log.adb:
	(Write): New routine.

	* aws-server-protocol_handler.adb:
	(Send_Resource_Body): Returns actual data length was sent now.
	(Send_Data): Checking for the undefined data length for close
	 connection at the end of data transfer. Do not send Content-Length
	 if it is undefined.
	(Answer_To_Client): Processing new response mode Stream.
	 Write to log actual number of bytes sent.

2002-10-23  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-response.ads:
	Minor reformatting.

	* aws-client.adb:
	(Get): Add Follow_Redirection parameter. If Follow_Redirection is
	 true and response is a 301 message, return the data pointed by
	 the location HTTP parameter.
	Minor reformatting.

	* aws-client.ads:
	(Get): Add Follow_Redirection parameter.

2002-10-19  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-resources-embedded.adb:
	(Empty_Buffer): Set to constant.

	* aws-server-protocol_handler.adb:
	Minor reformatting.

2002-10-19  Dmitriy Anisimkov <anisimkov@yahoo.com>

	* aws-resources-embedded.ads, aws-resources-embedded.adb:
	(Create): New routine for create resource from memory data.

	* aws-response.ads, aws-response.adb:
	(Create_Resource): New routine.

	* aws-server-protocol_handler.adb:
	(Send_File): Removed both routines.
	(Send_Resource_Body): New routine.
	(Send_File_Time): Removed.
	(Send_Message): Removed.
	(Send_Data): New routine.

2002-10-18  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-services-page_server.adb:
	(WWW_Root): Put inside callback to be sure it is evaluated otherwise
	 the value is set at elaboration time and can't be changed.
	(Callback): Add WWW_Root prefix to the parsed template file. Fix
	 bug as the test was pointing to the right file but not the parsing!
	Both problems have been reported by Jean-Pierre Rosen.

2002-10-15  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-resources-files.adb:
	(Read): Buf_Len is now a Stream_Element_Offset, cleaner code.
	 Check that there is still some data to read on the file before
	 filling the buffer.

	* aws-resources.adb:
	Fix minor formating error.

2002-10-15  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-resources.adb:
	Fix minor formating error.

	* aws-server-protocol_handler.adb:
	(Answer_To_Client): Fix comment/message for 403 case.
	Minor reformatting.

	* aws-resources.ads:
	Minor reformatting.

	* aws-resources.adb:
	(Get_Line): Add some comments.
	Minor reformatting.

	* makefile:
	(GARGS): Add current directory.

2002-10-15  Dmitriy Anisimkov <anisimkov@yahoo.com>

	* aws-status.adb:
	Remove 'with' referense to AWS.URL.Raise_URL_Error.

2002-10-15  Dmitriy Anisimkov <anisimkov@yahoo.com>

	* aws-default.ads:
	(Check_URL_Validity): New Boolean constant.

	* aws-config.ads, aws-config.adb:
	(Check_URL_Validity): New routine.

	* aws-server-protocol_handler.adb:
	(Answer_To_Client): Checking the URL validity if necessary.

	* aws-status.ads, aws-status.adb:
	(URI): Remove Check_Validity and Normalize parameters.

2002-10-15  Dmitriy Anisimkov <anisimkov@yahoo.com>

	* aws-resources.ads, aws-resources.adb:
	(File_Tagged): LFT new field.
	(LF_Terminated): Private abstract function removed.
	(Get_Line): Private abstract procedure removed.
	(LF_Terminated): Implementation here now.
	(Get_Line): Implementation here now.

	* aws-resources-embedded.ads, aws-resources-embedded.adb,
	  aws-resources-files.ads, aws-resources-files.adb:
	(File_Tagged): LFT field removed.
	(LF_Terminated): Private function removed.
	(Get_Line): Private procedure removed.

2002-10-12  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-parameters.ads:
	Minor reformatting.
	Update copyright notice.

	* aws-server-protocol_handler.adb:
	(File_Upload): Add the name of the file on the client side into
	 the upload variable.
	Update copyright notice.

	* aws-resources-embedded.adb:
	(Get_Line): Set Resource.LFT to True when a line is terminated by
	 ASCII.LF.
	(LF_Terminated): New function.

	* aws-resources-embedded.ads:
	(File_Tagged): LFT new field.
	(LF_Terminated): New function.

	* aws-resources-files.adb:
	(Get_Line): Set Resource.LFT to True when a line is terminated by
	 ASCII.LF.
	(LF_Terminated): New function.

	* aws-resources-files.ads:
	(File_Tagged): LFT new field.
	(LF_Terminated): New function.

	* aws-resources.ads, aws-resources.adb:
	(LF_Terminated): New function.

	* aws-hotplug-get_status.adb:
	(Slot_Table): Add pragma Warnings off needed for GNAT 3.16.
	Update copyright notice.

	* aws-server-get_status.adb:
	(Slot_Table): Add pragma Warnings off needed for GNAT 3.16.
	Update copyright notice.

	* aws-smtp-client.adb:
	(Initialize): Add pragma Warnings off needed for GNAT 3.16.

2002-10-10  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-server-protocol_handler.adb:
	(Parse_Request_Line): Add comments about URL query support for
	 GET/HEAD/POST request. Support parameters for HEAD request as
	 "permitted" by RFC 2616.

2002-10-10  Dmitriy Anisimkov <anisimkov@yahoo.com>

	* aws-status.adb:
	(Check_Digest): Add comment.
	Update copyright notice to 2002.

2002-10-10  Dmitriy Anisimkov <anisimkov@yahoo.com>

	* aws-digest.adb:
	(Check_Nonce): Checking for the 5 first chars is hexadecimal.

2002-10-09  Pascal Obry  <p.obry@wanadoo.fr>

	* makefile:
	(SOURCES): Add aws-smtp.adb and aws-smtp-client.adb.

	* aws-client.adb:
	(Open_Send_Common_Header): Use Pathname_And_Parameters instead of
	 Pathname.
	Update copyright notice to 2002.

	* aws-smtp.ads, aws-smtp.adb:
	Initial revision. This is derived from Pascal Obry's SMTP component.

	* aws-smtp-client.ads, aws-smtp-client.adb:
	Initial revision. This is derived from Pascal Obry's SMTP component.

	* aws-url.adb:
	(Abs_Path): New routine.
	(Query): New routine.
	(User): New routine.
	(Password): New routine.
	(Pathname_And_Parameters): New routine.
	(Parse): Add support for user and password.
	(URL): Add user and password if specified.
	Update copyright notice to 2002.

	* aws-url.ads:
	(Abs_Path): New routine.
	(Query): New routine.
	(User): New routine.
	(Password): New routine.
	(Pathname_And_Parameters): New routine.
	(Object): Add User and Password fields.
	Cleaner API based on RFC, clearly separate extension, add support
	 for user and password in URL.
	Update copyright notice to 2002.

	* aws-translator.adb:
	(Base64_Encode): Use To_Stream_Element_Array. More efficient if
	 the platform is using the fast version.

2002-10-08  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-translator.adb:
	Minor reformatting.

	* aws-status-set.adb:
	(Keep_Alive): Minor reformatting.

	* aws-translator-binary-p.adb:
	Remove this unit.

	* aws-translator-binary-f.adb:
	Remove this unit.

	* aws-server-protocol_handler.adb:
	(Parse_Header_Lines): Note that this procedure as been added in
	 previous check-in. Add comments to spec. Reformat the code. Add
	 parameter mode.

2002-10-08  Dmitriy Anisimkov <anisimkov@yahoo.com>

	* aws-server-protocol_handler.adb:
	(Get_Message_Header): Allow multiple line header fields.

2002-10-07  Dmitriy Anisimkov <anisimkov@yahoo.com>

	* aws-server.ads, aws-server.adb, aws-server-protocol_handler.adb:
	(Socket_Access): Now it is subtype from AWS.Status.Socket_Access to
	 be able to easier put it to the AWS.Status.Data.

2002-10-07  Dmitriy Anisimkov <anisimkov@yahoo.com>

	* aws-status.ads, aws-status.adb
	  aws-status-set.ads, aws-status-set.adb,
	(Keep_Alive): New routine.

	* aws-server-protocol_handler.adb:
	Fix comment. Save Keep_Alive flag to C_Stat.

2002-10-07  Dmitriy Anisimkov <anisimkov@yahoo.com>

	* aws-translator-conversion-f.adb, aws-translator-conversion-p.adb,
	  aws-translator.adb, test_uconv.adb, makefile:
	Change the name of separate package Binary to Conversion.

2002-10-06  Pascal Obry  <p.obry@wanadoo.fr>

	* test_uconv.adb:
	Fix layout and comment.

	* aws-services-page_server.adb:
	(Spaces): Removed.
	(Callback): Do not add 512 bytes to the 404 templates. Add
	 explicit documentation about MSIE feature.

	* aws-services-page_server.ads:
	Add comments about MSIE 404 page.

2002-10-06  Dmitriy Anisimkov <anisimkov@yahoo.com>

	* aws-translator-binary-f.adb, aws-translator-binary-p.adb:
	New separate implementations of String <-> Stram_Element_Array
	 convertions.

	* test_uconv.adb:
	New program to test availability to use fast convertions between
	 String and Stram_Element_Array.

	* aws-translator.adb:
	(To_String): Moved to the separate package.
	(To_Stream_Element_Array): Moved to the separate package.

	* makefile
	Make "build" section depend from aws-translator-binary.adb file
	 existence.

2002-10-05  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-url.adb:
	(Parse): Simplify test for wrong URL.

2002-10-04  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-url.adb:
	(Normalize): Remove leading reference to current directory.
	(Parse.Parse): Handle properly current and parent directories
	 which must be part of the URL path.
	(Parse): Check also for parent directory without trailing
	 directory separator "/.." to flag wrong URL.

2002-10-04  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-client.adb:
	(Read_Chunk): Use Utils.Hex_Value instead of adhoc implementation.

	* aws-digest.adb:
	Remove use of Ada.Strings.Fixed and Ada.Integer_Text_IO.
	(Check_Nonce): Use Utils.Hex_Value instead of adhoc implementation.
	(Create_Nonce): Use Utils.Hex instead of adhoc implementation.

	* aws-server-protocol_handler.adb:
	Add comment about this procedure.
	Remove $State CVS tag.
	Minor reformatting.

	* aws-status-set.ads, aws-status-set.adb:
	Minor reformatting.

	* aws-status.ads:
	(Session_Created): Fix comment.
	Minor reformatting.

	* aws-translator.ads:
	(QP_Decode): New function.

	* aws-translator.adb:
	(QP_Decode): New function.
	Minor reformatting.

	* aws-url.adb:
	(Decode): Use Utils.Hex_Value instead of adhoc implementation.

	* aws-utils.ads, aws-utils.adb:
	(Hex_Value): New function.

2002-10-04  Dmitriy Anisimkov <anisimkov@yahoo.com>

	* aws-status-set.ads, aws-status-set.adb:
	(Session): New routine generating session ID internally.

	* aws-status.ads, aws-status.adb:
	(Session_Created): New routine.

	* aws-server-protocol_handler.adb:
	Use new method to generate session ID.

2002-10-03  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-server-protocol_handler.adb:
	(Target_Filename): I and Upload_Path set to constant.
	(File_Upload): Correctly detect file upload section in a MIME
	 message. Initialize Server_Filename only when used.

	* aws-status-set.adb:
	(Authorization): URI field initialized with the parsed URI.
	(Request): Idem.
	(Reset): Remove URI initialization.

	* aws-status.adb:
	(URI): Add Check_Validity and Normalize parameters. Check_Validity
	 is True by default for security reasons.
	(URI): New function returning an URL.Object.

	* aws-status.ads:
	(URI): Add Check_Validity and Normalize parameters. Check_Validity
	 is True by default for security reasons.
	(URI): New function returning an URL.Object.
	(Data): URI field is now an URL.Object.

	* aws-url.adb:
	(Normalize): Raises exception based on the URL status. Note that
	 the normalization is not done there now as it is done when parsing
	 the URL.
	(Parse): Record the normalized URL and raise URL_Error based on
	 this status.
	(Is_Valid): New function.

	* aws-url.ads:
	(Parse): Add parameter Normalize.
	(Is_Valid): New function.
	(Path_Status): New type.
	(Object): Add N_Path and Status fields.
	Fix error in URL description.

	* aws-url-raise_url_error.ads, aws-url-raise_url_error.adb:
	Initial revision.

	* aws-utils.adb:
	(Gethostname): Name and Len set to constant.

2002-09-29  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-url.adb:
	(Parse): If Check_Validity is True raises URL_Error is URL
	 reference resources above Web root directory. This check was not
	 complete before. This new implementation should catch all case.
	(Normalize): Raise URL_Error is URL reference resources above Web
	 root directory.
	(Normalize): New routine.

	* aws-url.ads:
	(Parse): Add Check_Validity parameter.
	(Normalize): Raise URL_Error is URL reference resources above Web
	 root directory.

2002-09-28  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-url.adb:
	(Code): Inline function.
	(URL.HTTP): Removed, use Protocol_Name instead.
	Minor reformatting.

2002-09-27  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-utils.adb:
	Put in alphabetical order.

2002-09-27  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-client.adb:
	Minor reformatting.

	* aws-digest.adb:
	(Create_Digest): Return a Digest_String and not a String.
	(Get_MD5): Moved to AWS.Utils.
	Minor reformatting.

	* aws-digest.ads:
	(Create_Digest): Return a Digest_String and not a String.
	(Get_MD5): Moved to AWS.Utils.

	* aws-messages.adb:
	(Status_Messages): Set to constant.
	(Month_Number): Raise Constraint_Error instead of Internal_Error.
	Minor reformatting.

	* aws-utils.adb:
	(Get_MD5): Moved here from AWS.Digest.

	* aws-utils.ads:
	(Get_MD5): Moved here from AWS.Digest.
	(Parse_HTTP_Header_Line): Add comments.

	* aws.ads:
	(Internal_Error): Removed. Was there for historical reasons and is
	 not needed anymore.

2002-09-26  Dmitriy Anisimkov <anisimkov@yahoo.com>

	* aws-digest.ads, aws-digest.adb:
	(Get_MD5): New routine.

	* aws-digest.adb:
	(Create_Digest): Change implementation using Get_MD5.

2002-09-26  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-session.adb:
	(Delete_Session): Do not reraise Internal_Error.

	* aws-session.ads:
	(Delete): Now fail silently if SID does not exists.

	* aws-client.ads:
	Minor comment fix.

2002-09-26  Dmitriy Anisimkov <anisimkov@yahoo.com>

	* aws-client.ads:
	(Protocol_Error): New exception.

	* aws-client.adb:
	(Parse_Header): Add checking that first line should match
	 Messages.HTTP_Token.

2002-09-26  Dmitriy Anisimkov <anisimkov@yahoo.com>

	* aws-digest.adb:
	(Check_Nonce): Check that nonce has a correct length first.

2002-09-25  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-client.adb:
	Change reference to Is_Match by Match.

	* aws-server-protocol_handler.adb:
	Change reference to Is_Match by Match.

	* aws-status-set.adb:
	Change reference to Is_Match by Match.

	* aws-url.adb:
	Change reference to Is_Match by Match.

	* aws-messages.ads, aws-messages.adb:
	(Is_Match): Renamed to Match.

	* aws-client.adb:
	(QOP_Data): Use AWS.Utils.Hex. Cleaner.
	(Parse_Authenticate_Line): Rename parameter Data to Auth_Line.
	Fix some comments.

	* aws-utils.ads, aws-utils.adb:
	(Hex): Add parameter Width.

2002-09-25  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-status.adb:
	Minor reformatting.

	* aws-status.ads:
	Minor reformatting.
	Put the pragma Inline next to the spec (before the comment).

	* aws-status-set.adb:
	Minor reformatting.

	* aws-session.adb:
	Minor reformatting.
	Add some missing routine headers.

	* aws-server-protocol_handler.adb:
	Minor reformatting.

	* aws-response.ads, aws-response.adb:
	Minor reformatting.

	* aws-messages.ads, aws-messages.adb:
	Minor reformatting.

	* aws-digest.ads, aws-digest.adb:
	Reformat code.

	* aws-client.ads:
	Minor reformatting.
	Fix some comments.

	* aws-client.adb:
	Reformat code. Put some ??? to indicate a need for more comments.

	* aws-utils.ads:
	Reformat code.
	Fix comments.

	* aws-utils.adb:
	Reformat code.

2002-09-25  Dmitriy Anisimkov  <anisimkov@yahoo.com>

	* aws-client.adb:
	(Decrement_Authentication_Attempt): New routine.
	(Set_Authentication): New routine.
	(Parse_Header): Support for parsing of WWW-Authenticate header line,
	 Keep_Alive flag instead of return Connection header line for correctly
	 support keep-alive connections on the HTTP/1.0 and HTTP/1.1 versions.
	(Get_Response): Check status after the receiving body.
	 Ignoring body is a dangerous, becouse we could receive correct
	 HTTP header in the body.
	(Get): Add authentication attempts counter.
	(Head): Add authentication attempts counter.
	(Post): Add authentication attempts counter.
	(Put): Add authentication attempts counter.
	(Upload): Add authentication attempts counter.
	(Open_Send_Common_Header): Add local procedure
	 Send_Authentication_Header for the WWW and for Proxy authentication.

	* aws-client.ads:
	(Auth_Mode): New type derived from AWS.Response.Authentication_Mode;
	(Set_WWW_Authentication): New routine.
	(Set_Proxy_Authentication): New routine.
	(Authentication_Level): Private type for internal use.
	(Authentication_Type): Private type for keep autherization data.
	The fields User, Pwd, Proxy_User, Proxy_Pwd is moved into the
	array (Authentication_Level) of Authentication_Type;

	* aws-digest.ads, aws-digest.adb:
	New package.

	* aws-messages.adb:
	(Www_Authenticate): use WWW_Authenticat_Token now.

	* aws-messages.ads:
	(WWW_Authenticate_Token): New token constant.
	(Proxy_Authenticate_Token): New token constant.
	(Www_Authenticate): New routine for Digest authentication.

	* aws-response.ads, aws-response.adb:
	(Authentication_Mode): New enumeration type.
	(Authenticate): Changed to support Digest authentication.
	Add pragma Inline for all functions returning one of the response
	 parameters.
	(Authentication): New routine.
	(Authentication_Stale): New routine.

	* aws-server-protocol_handler.adb:
	The 401 message handler moved from Send_Header_Only and
	 from Send_Message to the Send_General_Header.

	* aws-session.adb:
	Random number generator moved to the package AWS.Utils.

	* aws-status-set.adb:
	(Authorization): Added functionality to parse Digest authentication
	 header line.

	* aws-status.ads, aws-status.adb:
	(Authorization_Type): New enumeration type.
	(Authorization_Mode): New routine returning Authorization_Type.
	(Check_Digest): New routine.
	(Authorization_Realm): New routine.
	(Authorization_Nonce): New routine.
	(Authorization_NC): New routine.
	(Authorization_CNonce): New routine.
	(Authorization_QOP): New routine.
	(Authorization_Response): New routine.

	* aws-utils.ads, aws-utils.adb:
	(Random): New routine.
	(Parse_HTTP_Header_Line): New routine.

2002-09-19  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-net.ads, aws-net-std.adb, aws-net-ssl.adb:
	Style fix and reformatting.

	* makefile:
	(ssl_mode): Force remove of .o and .ali.
	(std_mode): Force remove of .o and .ali.

2002-09-19  Dmitriy Anisimkov <anisimkov@yahoo.com>

	* aws-net-std.adb, aws-net-ssl.adb:
	(Connect): Free memory and socket handle on connection failure.

2002-09-16  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-server-protocol_handler.adb:
	(Send_File): Send the Content-Type header in the chunked case. This
	 way browsers can display the progression during the download.


2002-08-31  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-url.ads, aws-url.adb:
	(Protocol_Name): New routine.

2002-08-13  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-parameters-set.adb:
	(Add): Skip leading ? if present.

	* aws-parameters-set.ads:
	(Add): Add some documentation about '?' character. This is to be
	 compatible with AWS.URL.Paramaters.

2002-08-02  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-server-protocol_handler.adb:
	(Parse): Do not catch and throw Internal_Error it prevents
	 reporting proper info about exception location and nature.

	* aws-server.adb:
	(Shutdown): Properly release memory for Web_Server.Dispatcher. Fix
	 a memory leak.

2002-07-28  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-client.adb:
	(Read_Binary_Message): Free memory if the connection is closed by
	 the peer.
	(Get_Response): Fix compilation error. Elements can't be a
	 constant.
	(Cleaner_Task): Fix typo in previous check-in.
	Minor reformatting.

2002-07-17  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-client.adb:
	(Cleaner_Task): Use disconnect routine.
	Minor reformatting.

2002-07-15  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-url.ads:
	(Parameters): New procedure.
	Update comments.

	* aws-url.adb:
	(Parameters): New procedure.
	(Parse): Handler parameters.
	(Pathname): Add parameters to result.
	Minor reformatting.

2002-07-09  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-server.ads, aws-server.adb:
	Minor reformatting and layout fix.

2002-07-09  Dmitriy Anisimkov  <anisimkov@yahoo.com>

	* aws-server.ads, aws-server.adb:
	(Set_Unexpected_Exception_Handler): New routine.
	Support for user defined unexpected exception handlers.

2002-07-07  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-server-protocol_handler.adb:
	(Answer_To_Client): Correctly set the peername in all cases.
	Checked-in for Dmitriy Anisimkov.

2002-07-03  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-messages.ads:
	(Content_Disposition_Token): New constant.
	(Content_Disposition): New routine.
	Minor reformatting.

	* aws-messages.adb:
	(Content_Disposition): New routine.
	Put constant some variables.
	Minor reformatting.

	* aws-client.ads, aws-client.adb:
	(Upload): New routine.
	Minor reformatting.

2002-06-30  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-resources-files.adb:
	(Open): Remove buffer initialization, this is not needed.

2002-06-29  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-resources.ads, aws-resources.adb:
	Change implementation. Now all visible routines are using the same
	 type and the dispatching routines are in the private part. This
	 is a cleaner implementation.

	* aws-resources-files.ads, aws-resources-files.adb:
	Change related to new AWS.Resources design.

	* aws-resources-embedded.ads, aws-resources-embedded.adb:
	Change related to new AWS.Resources design.

	* aws-server-protocol_handler.adb:
	(Send_File): Use File_Type instead of File_Access.

2002-06-23  Pascal Obry  <p.obry@wanadoo.fr>

	* makefile:
	(build): Do not handle the aws-os_lib.adb file here.

	* aws-client.adb:
	(Read_Binary_Message): Store file content into the heap to avoid
	 stack overflow when reading large files and returns an access
	 type instead of an array.

	* aws-server-protocol_handler.adb:
	(Send_File): Use AWS.Resources.File_Timestamp instead of
	 AWS.OS_Lib one.
	(Send_File): Use AWS.Resources services instead of AWS.OS_Lib
	 ones.
	(Send_File_Time): Idem.
	Minor reformatting.

	* aws-response.adb:
	(File): Use AWS.Resources instead of AWS.OS_Lib.

	* aws-resources-embedded.ads, aws-resources-embedded.adb:
	Initial revision.

	* aws-resources-files.ads, aws-resources-files.adb:
	Initial revision.

	* aws-resources.ads, aws-resources.adb:
	Initial revision.

2002-06-14  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-services-dispatchers-uri.ads:
	Update comment.

	* aws-translator.ads:
	(To_String): Add pragma Inline.
	(To_Stream_Element_Array): Idem.
	Minor reformatting.

	* aws-client.adb:
	(Get_Response): Handle properly binary files whose length is 0.

2002-06-04  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-services-directory.adb:
	(Each_Entry): Add pragma Unreferenced.

	* aws-server-push.adb:
	(Action): Add pragma Unreferenced.
	(Free): Add pragma Unreferenced.
	(Action): Add pragma Unreferenced.

	* aws-server-hotplug.adb:
	(Message): Add pragma Unreferenced.

	* aws-net-std.adb:
	(Free): Add pragma Unreferenced.

	* aws-response.adb:
	(Filename): New routine.
	(Message_Body): [return Stream_Element_Array] - was Binary.
	(Binary): Renamed to Message_Body.
	Add parameter name in aggregate to ease reading.

	* aws-response.ads:
	(Filename): New routine.
	(Message_Body): [return Stream_Element_Array] - was Binary.
	(Binary): Renamed to Message_Body.

	* aws-server-protocol_handler.adb:
	(Send_File): Use Response.Filename instead of Message_Body.
	(Send_Message): Message_Body is now a Stream_Element_Array structure.

	* aws-translator.ads:
	(To_String): Add pragma inline.
	(To_Stream_Element_Array): Idem.
	Minor reformatting.

2002-06-03  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-client.adb:
	(Read_Binary_Message): Read message in multiple chunk.
	Fix error on Linux when reading large binary message body.

2002-06-01  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-server.ads:
	(Start): Update comment.

2002-05-25  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-client.adb:
	Add with clause for Ada.Strings.Fixed. A patch chunk got removed
	 somehow.

2002-05-17  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-session.adb, aws-server-get_status.adb, aws-parameters.adb:
	Add pragma Warnings Off to avoid compilation warnings about unused
	 entities.
	Patch from Wiljan Derks.

2002-05-08  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-client.adb:
	(Read_Chunk): Trim the size string as some Web server add a
	 terminating space.

2002-05-03  Pascal Obry  <p.obry@wanadoo.fr>

	* aws.ads:
	Set version to 1.3w.

2002-04-29  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-client.adb:
	(Disconnect): Fix style error.

2002-04-18  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-server.adb:
	(Finalize): Do not handle server's counter here.
	(Initialize): Idem.
	(Start): Call Counter.Add here.
	(Shutdown): Call Counter.Remove here.
	Fix server termination for global servers.

2002-04-16  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-server.ads:
	(Start): Add documentation about Dispatcher object.

	* aws-server.adb:
	(Start): Initialize socket before any other data. If the socket is
	 already used the problem will be detected before record
	 initialization.

2002-04-15  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-services-dispatchers-uri.adb:
	Minor reformatting.

	* aws-services-dispatchers-uri.ads:
	(URI_Table): Use Natural as index type to avoid exception when
	 table is empty (some function returns 0).

	* aws-server.ads:
	Minor reformatting.

2002-04-12  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-response.adb:
	(File): Handle OS_Lib.No_Such_File exception here and return a 404
	 message if the file is not found. It is nicer than to have a 500
	 message (Server Error).

	* aws-server.adb:
	(Release): Remove exception handler, this case should never happen
	 or is an AWS that is not properly handled here anyway.
	(Shutdown): Do not set Sock to null as it is not possible to
	 reclaim the associated memory.
	(Wait): Use Duration'Last (cosmetic change).

	* aws-server-protocol_handler.adb:
	(Send_File): Filename new variable, use it. Do not ignore
	 exception if the file is not readable.
	(Send_File): If error, reraise exception after closing the file.

2002-04-10  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-client.adb:
	(Create): Add exception handler around the AWS.Net.Connect call
	 to catch connection errors.
	(Disconnect): Check if Connection.Socket is not null.

	* aws-client.ads:
	(URL_Error): Removed as it is not used.
	(Connection_Error): New exception.

2002-04-05  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-services-directory.adb:
	Add pragma Optimize Off. This unit should not be compiled with
	 optimisation on.

	* aws-server-protocol_handler.adb:
	(Send_File): A file is up-to-date if it has the exact same
	 timestamp as the one in the cache. [RFC 2616 - 14.25].

2002-04-04  Pascal Obry  <p.obry@wanadoo.fr>

	* makefile:
	(build): Compile aws-services-directory.adb without optimisation.
	 Work around a GNAT (3.14 and 3.15) bug.

2002-04-01  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-parameters.adb:
	(Process): Properly set the table with the Key instead of the value.

2002-03-30  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-client.adb:
	(Adjust_Cookie): New procedure.
	(Read_Until): New procedure.
	(Cleaner_Tasl): Removes entry Send, Receive and Stop. Work for a
	 simpler implementation.
	A lot of changes to use simpler Cleaner_Task interface.

	* aws-client.ads:
	(Adjust_Cookie): New procedure.
	(Read_Until): New procedure.
	(Cleaner_Tasl): Removes entry Send, Receive and Stop. Work for a
	 simpler implementation.

2002-03-28  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-parameters.ads:
	Minor comment fix.

	* aws-parameters-set.adb:
	(Add): Fix implementation using HTTP_Data tree for key/value by
	 order retrieval.
	(Reset): Destroy HTTP_Data.

	* aws-parameters.adb:
	(Name_Count): New function.
	(Get_Names): New function.
	(Get_Values): New function.
	(Count): New implementation, using HTTP_Data field.
	(Get_Name): Idem.
	(Get_Value): Idem.

	* aws-parameters.ads:
	(VString_Array): New type.
	(Name_Count): New function.
	(Get_Names): New function.
	(Get_Values): New function.
	(List): Removes Count field, add HTTP_Data.

	* aws-client.adb:
	(Disconnect): Close if connection is opened.
	(Cleaner_Task): Start entry take an HTTP_Connection_Access. Use it.
	Minor reformatting.

	* aws-client.ads:
	(HTTP_Connection_Access): New access type.
	(HTTP_Connection): Add self field (auto-reference).
	(Cleaner_Task): Start entry take an HTTP_Connection_Access.

2002-03-26  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-session.ads, aws-session.adb:
	(Set): New version with a boolean.
	(Get): Idem.
	Update comment.

2002-03-25  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-client.adb:
	(Build_Cleaner): Removed.
	(Cleaner_Task): Accept Start at the start of the task to
	 initialize the timeouts state.
	(Create): Dynamically create the cleaner task here.
	(Disconnect): Set status before calling shutdown.
	(Read_Until): Non recursive version.
	In many places remove HTTP_Connection timeouts discriminant.

	* aws-client.ads:
	(Phase_Access): New type.
	(Boolean_Access): New type.
	(Cleaner_Task): Remove Connection as discriminant. Add Start entry
	 to initialize the timeouts.
	(Build_Cleaner): Removed.
	(HTTP_Connection): Opened, Current_Phase are now aliased to be
	 able to pass a pointer to Cleaner_Task.

2002-03-24  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-client.adb:
	(Cleaner_Task): Call Disconnect (do not free).
	(Close): Disconnect and Free.
	(Create): Set Connection.Retry to 1 if Create.Retry is 0 and
	 Persistent is true.
	(Disconnect): Shutdown if connection is not Opened.
	(Get): Fix Get_Response call. Handle Sockets.Socket_Error.
	(Get_Response.Disconnect): Do not close if Server_Push mode is on.
	(Get_Response.Read_Message): Handle Sockets.Socket_Error.
	(Post): Correctly pass the Timeouts.
	(Post): Fix Get_Response call.
	(Put): Always use Connection.Socket.all as the socket could have
	 been closed and reopened in Open_Send_Common_Header.
	(Read_Until): New function.
	(SOAP_Post): Remove exception handler, not exception can be
	 propagated here.

	* aws-client.ads:
	(Create): Add parameter Server_Push.
	(Read_Until): New function.
	(HTTP_Connection): Add Server_Push field.
	Implement client Server_Push support.

2002-03-17  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-server-protocol_handler.adb:
	(Send_General_Header): Set cookie for the entire site
	 (path start at /).

	* aws-status-set.adb:
	Minor reformatting.
	Removed commented out code.

	* aws-server-protocol_handler.adb:
	(Send_File): Do not call Status.Set.File_Up_To_Date as it is of no
	 use at this point.

	* aws-status.ads, aws-status.adb, \
	  aws-status-set.ads, aws-status-set.adb:
	(File_Up_To_Date): Removed.

2002-03-15  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-services-dispatchers-uri.ads:
	(Dispatch): Fix comment.

	* aws-services-dispatchers-uri.adb:
	(Dispatch): Check if Mode is No_Data instead of Status_Code to 204.

	* aws-server-protocol_handler.adb:
	(Answer_To_Client): Add case for No_Data (does nothing).

	* aws-response.adb:
	(Empty): New function.

	* aws-response.ads:
	(Data_Mode): Add No_Data.
	(Empty): New function.
	(Data): Mode set to No_Data by default.

2002-03-13  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-services-page_server.adb:
	Do not use GNAT.OS_Lib but AWS.OS_Lib instead.

	* aws-dispatchers.adb:
	Remove trailing spaces.

	* aws-server.adb:
	(Initialize): Add pragma Warnings off.

	* aws-services-dispatchers-uri.adb:
	Add missing with clause from previous check-in.

	* aws-services-dispatchers-uri.ads:
	(Dispatch): Add documentation (204 message).

	* aws-services-dispatchers-uri.adb:
	(Dispatch): Continue to next callback if a 204 message is returned
	 by a callback.

2002-03-12  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-url.adb:
	(Parse): Fix bug in parsing URL.

2002-03-08  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-dispatchers.adb:
	(Free): New procedure.
	(Adjust): Change to use reference counter as a pointer.
	(Finalize): Change to use reference counter as a pointer. Free
	 reference counter when set to 0.
	(Initialize): Change to use reference counter as a pointer.
	(Ref_Counter): Returns 0 if Ref_Counter is null and
	 Ref_Counter.all otherwise.

	* aws-dispatchers.ads:
	(Handler): Ref_Counter is an access. Previous implementation was
	 wrong. The reference counter must be shared by all objects.

	* aws-server-protocol_handler.adb:
	(Get_Message_Data): Remove exception handler for Constraint_Error
	 now that Adasockets have its own exception Socket_Error.

	* aws-server.adb:
	(Line): Remove exception handler for Constraint_Error now that
	Adasockets have its own exception Socket_Error.

	* aws.ads:
	(Connection_Error): Removed.

2002-03-03  Pascal Obry  <p.obry@wanadoo.fr>

	* makefile:
	(SOURCES): Add missing aws-server-push.adb file.

	* aws-services-dispatchers-virtual_host.adb:
	Put all routines in alphabetical order.

	* aws-session.adb:
	Put all routines in alphabetical order.

	* aws-server-push.adb:
	Put all routines in alphabetical order.
	Minor reformatting.

	* makefile:
	(build): Cleanup makefile for GNAT 3.14. (GNAT 3.13 is no more
	 supported).

	* aws-session.adb:
	Minor reformatting.

	* aws-services-dispatchers-uri.adb:
	(Finalize): Workaround missing GNAT 3.14 feature in GNAT.Dynamic_Table
	 which is in 3.15.

	* aws-services-directory.adb:
	Put all routines in alphabetical order.

	* aws-server.adb:
	(Start): Add Server_Host to Bind call.

	* aws-config-set.ads, aws-config-set.adb:
	(Server_Host): New procedure.

	* aws-config.adb:
	(Server_Host): New function.

	* aws-config.ads:
	(Server_Host): New function.
	(Parameter_Name): Add Server_Host into the enumeration.

2002-03-02  Pascal Obry  <p.obry@wanadoo.fr>

	* makefile:
	(SOURCES): Rename AWS.Services.Dispatchers.Callback to
	 AWS.Dispatchers.Callback.

	* aws-server.adb:
	Use AWS.Dispatchers.Callback, this unit does not depend anymore on
	 AWS.Services hierarchy.

	* aws-services-dispatchers-method.ads,
	  aws-services-dispatchers-method.adb:
	(Register): New routine with a Callback procedure parameter.

	* aws-services-dispatchers-uri.ads, aws-services-dispatchers-uri.adb:
	(Register): New routine with a Callback procedure parameter.
	(Register_Regexp): Idem.

	* aws-services-dispatchers-virtual_host.ads,
	  aws-services-dispatchers-virtual_host.adb:
	(Register): New routine with a Callback procedure parameter.

	* aws-services-dispatchers.ads:
	Remove doc for AWS.Services.Dispatchers.Callback.

	* aws-services-dispatchers-callback.ads,
	  aws-services-dispatchers-callback.adb:
	Moved to AWS.Dispatchers hierarchy.

	* aws-dispatchers-callback.ads, aws-dispatchers-callback.adb:
	Initial revision based on AWS.Services.Dispatchers.Callback.

2002-03-01  Pascal Obry  <p.obry@wanadoo.fr>

	* makefile:
	(SOURCES): Add aws-dispatchers.adb remove aws-services-dispatchers.adb

	* aws-services-dispatchers.ads:
	This is now just an empty root package. Add pragma Pure.

	* aws-services-dispatchers.adb:
	Removed.

	* aws-dispatchers.ads, aws-dispatchers.adb:
	Was AWS.Services.Dispatchers. Moved here as this is a general API
	 and can be used outside of the high level services.

	* aws-server-protocol_handler.adb, aws-server.adb, aws-server.ads,
	  aws-services-dispatchers-callback.adb,
	  aws-services-dispatchers-callback.ads,
	  aws-services-dispatchers-method.adb,
	  aws-services-dispatchers-method.ads,
	  aws-services-dispatchers-uri.adb,
	  aws-services-dispatchers-uri.ads,
	  aws-services-dispatchers-virtual_host.adb,
	  aws-services-dispatchers-virtual_host.ads:
	Adjusted to use AWS.Dispatchers API instead of
	 AWS.Services.Dispatchers.

2002-02-26  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-client.adb:
	(Parse_Header): Handle properly the 100 status message (continue).
	Patch from Wiljan Derks.

2002-02-20  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-services-dispatchers-uri.adb,
	  aws-services-dispatchers-virtual_host.adb:
	(Ada.Unchecked_Deallocation): Added.
	(Initialize): Call Dispatchers.Initialize (parent method).
	(Finalize): Call Dispatchers.Finalize (parent method).

	* aws-services-dispatchers.adb:
	(Ada.Unchecked_Deallocation): Moved here from spec.
	(Finalize): Set Ref_Counter to 0.
	(Initialize): Set Ref_Counter to 1.

	* aws-services-dispatchers.ads:
	(Ada.Unchecked_Deallocation): Moved to body.
	(Initialize): Add comments about reference counting.
	(Adjust): Idem.
	(Finalize): Idem.

	* aws-server-push.adb:
	A lot of changes to conform to new spec (see below).

	* aws-server-push.ads:
	Change all Close_Socket parameters to Close_Sockets.
	(Register): Rename Data_Content_Type parameter to Init_Content_Type.
	(Shutdown): Rename Data_Content_Type parameter to Final_Content_Type.

	* aws-services-dispatchers-uri.adb:
	(GNAT.Regexp): Move here from spec.
	(Dispatch): Fix minor type.

	* aws-services-dispatchers-uri.ads:
	(GNAT.Regexp): Move to body.

	* aws-server-push.ads:
	A lot of changes in the spec to make this interface easier to use
	 and understand. Add lot of comments.

	* aws-services-dispatchers-callback.ads,
	  aws-services-dispatchers-callback.ads:
	Initial revision.

	* aws-services-dispatchers-method.ads,
	  aws-services-dispatchers-method.adb:
	Initial revision.

	* aws-services-dispatchers-uri.ads, aws-services-dispatchers-uri.adb:
	Initial revision.

	* aws-services-dispatchers-virtual_host.ads,
	  aws-services-dispatchers-virtual_host.adb:
	Initial revision.

	* aws-services-dispatchers.ads, aws-services-dispatchers.adb:
	Initial revision.

	* aws-server-protocol_handler.adb:
	(Answer_To_Client): Call dispatcher instead of Callback.
	Minor reformatting.

	* aws-default.ads:
	(Line_Stack_Size): New constant.

	* aws-config.ads, aws-config.adb,
	  aws-config-set.ads, aws-config-set.adb:
	(Line_Stack_Size): New procedure.
	Handle Line_Stack_Size.

	* aws-server.adb:
	(Accept_Socket_Serialize): New function.
	(Start): Remove version with a Callback and add version with a
	 Dispatcher.
	(Line): Call Accept_Socket_Serialized.
	(Semaphore): New protected type used to serialize the Accept
	 statements.
	(Slots.Release): Add some Assert pragmas.
	(Slots.Release): Idem. Add exception handler.
	(Start): New version using a Dispatcher.
	(Start): Add Line_Stack_Size.
	Minor reformatting.

	* aws-server.ads:
	(Def_Line_Stack_Size): New constant.
	(Start): New version using a Dispatcher.
	(Start): Add Line_Stack_Size.
	(Line): Add pragma  Storage_Size.
	(Semaphore): New protected type used to serialize the Accept
	 statements.
	(Shutdown): Free Lines.
	(Line_Access): New type.
	(Line_Set): Now an array of Line_Access.
	(HTTP.Sock_Sem): New field (Semaphore).
	(HTTP.CB): Removed.
	(HTTP.Dispatcher): Replace CB since now every callback is based on
	 a more general dispatcher feature.

	* aws-services.ads:
	Add some comments.

2002-02-06  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-client.adb:
	(SOAP_Post): New routine.
	Patch from Wiljan Derks.
	(Cleaner_Task): Correctly free memory used by the socket.

	* aws-client.ads:
	(SOAP_Post): New routine.
	Patch from Wiljan Derks.

2002-02-02  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-server-protocol_handler.adb:
	Minor comment fix.

	* makefile:
	(SOURCES): Add aws-services-virtual_host.adb.

	* aws-services-virtual_host.ads, aws-services-virtual_host.adb:
	Initial revision.

	* aws-parameters-set.adb:
	(Reset): Reset Parameter_List.Parameters field.
	(Add): Set Parameter_List.Parameters field.

	* aws-parameters-set.ads:
	Minor reformatting.

	* aws-parameters.adb:
	(URI_Format): New function.
	Minor reformatting.

	* aws-parameters.ads:
	(URI_Format): New function.
	(List): Add Parameters field.

2002-01-30  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-server.ads:
	(Def_Max_Connect): Correctly set to Default.Max_Connection.

	* aws-server.adb:
	(Start): Set Web_Server.Shutdown to False before starting the lines.

2002-01-29  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-server.ads:
	(HTTP.Shutdown): Set to True by default as the server is not yet
	 started.

2002-01-28  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-services-page_server.adb:
	(Callback): Do not pad Acknowledge message. For IE this message
	 will be controlled by IE default setting.

2002-01-26  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-templates.ads:
	Initial revision.

	* aws-services-page_server.adb:
	(Callback): Use AWS.Templates to parse 404.thtml template error page.

	* aws-services-page_server.ads:
	Update comment about 404 page, it is now a template.

	* aws-server-protocol_handler.adb:
	Add some comments, minor reformatting.

	* aws-services-page_server.ads:
	Add comment about IE and 404 message.

	* aws-services-page_server.adb:
	(Callback): Set status code to 404 when returning the 404.html page.
	 Spaces new constant, use it for 404 message.

	* aws-response.ads, aws-response.adb:
	(File): Add Status_Code parameter.

2002-01-23  Pascal Obry  <p.obry@wanadoo.fr>

	* makefile:
	(SOURCES): Add aws-services-page_server.adb.

	* aws-services-page_server.ads, aws-services-page_server.adb:
	Initial revision.

	* aws-services-directory.ads, aws-services-directory.adb:
	Add RCS Id tag.

	* aws-config.ads:
	Fix comment typo.

	* aws-response.ads, aws-response.adb:
	Fix layout.

	* aws-server-protocol_handler.adb:
	Fix minor syntax error.

	* aws-server-get_status.adb:
	(Slot_Table.Peer_Name): Initialize using Peer_Addr and
	 Sockets.Naming.Image.

	* aws-server-hotplug.adb:
	Add Ada.Strings.Unbounded.

	* aws-server-protocol_handler.adb:
	Removes Interfaces.C.
	Removes the Sock parameter.
	(Sock): New variable, initialized using the Slots.

	* aws-server.adb:
	Remove Ada.Unchecked_Conversion, Interfaces.C, Sockets.Thin.
	(Get_Peername): Removed.
	(Protocol_Handler): Remove Sock parameter.
	(Slots): Remove Free.
	(Slots.Get): Update Alive_Counter and Alive_Time_Stamp.
	(Slots.Mark_Phase): Raise Sockets.Connection_Closed if Slot is
	 Aborted and we ask for a Close.
	(Slots.Set_Peer_Addr): New rountine.

	* aws-server.ads:
	Remove Ada.Strings.Unbounded and Sockets (not used).
	(Slot): Remove Peername field, add Peer_Addr, Alive_Time_Stamp,
	 Alive_Counter.
	(Slots): Remove Set_Peername routine, add Set_Peer_Addr. Remove
	 Free which is not used.

2002-01-16  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-net-stream_io.adb:
	(Free): Do not flush the stream since Shutdown has already been
	 closed.

2002-01-06  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-config-set.ads, aws-config-set.adb:
	(Parameter): New procedure.

2001-12-01  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-server.adb:
	(Line): handle properly the case where a server is too busy.
	(Line_Cleaner): idem.

2001-11-25  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-server-protocol_handler.adb:
	(Cut_Command): Do not Decode URL as parameter name/value should
	 not be decoded yet. Check for pathname/parameters separators '?'
	 and '%3f'.
	(Resource): Decode URI.

	* aws-client.adb:
	(Open_Send_Common_Header): Do not encode URL, only change spaces
	 to '+' to be nice with Windows systems which tends to have spaces
	 anywhere. Only part of the URL needs to be encoded (parameter
	 name, parameter value, host name) and this must be done before
	 calling this code.

	* aws-client.ads:
	Minor indent fix.

	* aws-response.ads, aws-response.adb:
	(Initialize): new procedure.

	* aws-url.adb:
	(Encode): Update comment. Rename parameter from URL to Str. Fix
	 bug in URL length detection.
	(Decode): idem.

	* aws-url.ads:
	(Encode): Update comment. Rename parameter from URL to Str.
	(Decode): idem.

	* aws-response.ads:
	(Data): Ref_Counter is now an access type. Previous implementation
	 was wrong.

	* aws-response.adb:
	Change all reference counters initialization.

2001-11-24  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-server-protocol_handler.adb:
	Release memory for binary data in the exception handler.

	* aws-server-protocol_handler.adb:
	(Parse_Request_Line): correctly decode resource and parameters. Use
	 AWS.URL.Decode instead of AWS.Translator.Decode_URL.

	* aws-url.adb:
	(Decode): add check for 2 numbers after '%' character.

	* aws-parameters-set.adb:
	(Add): Use AWS.URL.Decode instead of AWS.Translator.Decode_URL.

	* aws-translator.ads, aws-translator.adb:
	(Decode_URL): removed.

	* aws-client.adb:
	Use AWS.URL.Host instead of Server_Name.

2001-11-23  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-url.adb:
	(Host): new procedure (same proc than Server_Name).
	(Path): new procedure.
	(File): new procedure.
	(Pathname): was URI.
	(Decode): new function.
	(Parse): Use Path and File instead of URI.
	(URL): use Pathname.

	* aws-url.ads:
	(Host): new procedure (same proc than Server_Name).
	(Path): new procedure.
	(File): new procedure.
	(Pathname): was URI.
	(Decode): new function.
	(Object): remove URI, add Path and File.

	* aws-response.ads:
	(Data): Add comment about type not being threda safe.

	* aws-client.adb:
	(Get_Response): New implementation for case Content-Length = 0 and
	 binary data.

	* aws-server-protocol_handler.adb:
	Release memory for binary data at the end of the loop.
	Minor reformatting.

2001-11-22  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-url.adb:
	(Code): new procedure.
	(Hex_Escape): new constant array.
	(Encode): encode all characters not only spaces.

	* aws-response.ads:
	(Data): is now a controlled type to be able to free the memory
	 used for the binary data.
	(Adjust): new procedure.
	(Finalize): new procedure.

	* aws-response.adb:
	Fix all aggregates since Data is now a controlled type.
	(Adjust): new procedure.
	(Finalize): new procedure.

	* aws-client.adb:
	(Get_Response): use MIME.Is_Text to correctly handle textual and
	 non textual data.

	* aws-mime.ads, aws-mime.adb:
	(Is_Text): new function.

2001-11-12  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-translator.adb:
	Change implementation of BASE64 algorithm. It is now based on
	 base64 tables instead of functions. Removes use of unbounded
	 string, now the result length is computed before the encoding.
	 This should be faster. This code has been contributed by
	 Thomas Quinot.

2001-11-06  Pascal Obry  <p.obry@wanadoo.fr>

	* aws.ads:
	(Version): set to 1.2.

	* aws-server.adb:
	(Counter): new protected record.
	(Wait): new procedure.
	(Initialize): new procedure.
	(Finalize): decrement counter.

	* aws-server.ads:
	(Termination): new type.
	(Wait): new procedure.
	(Initialize): new procedure.

2001-11-02  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-session.adb:
	(Database.Touch_Session): new protected procedure?
	(Touch): new procedure.
	Put routines in alphabetical order.

	* aws-session.ads:
	(Touch): new procedure.
	Add comments to iterators.

2001-10-31  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-server-push.ads, aws-server-push.adb:
	(Object.Send): rename Not_Responding parameter to Unregistered.

2001-10-30  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-server-push.adb:
	(Send_G): new procedure.
	(Object.Send): add Not_Responding parameter.
	(Send_To): fix bug to detect an invalid client ID.

	* aws-server-push.ads:
	(Send_G): new procedure.
	(Object.Send): add Not_Responding parameter.
	Minor typo fix.

2001-10-24  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-server-push.adb:
	(Register): in Plain mode send a new line.

	* aws-server-push.adb:
	(Register): new version that does not raise exception but return a
	 boolean if duplicate item found.
	(Object): put routines in alphabetical order.
	(Object.Unregister): catch exception since it should not be propagated.

	* aws-server-push.ads:
	(Duplicate_Client_ID): new exception.
	(Register): new version that does not raise exception but return a
	 boolean if duplicate item found.
	(Object): add comments for protected routines and put them in
	 alphabetical order.

2001-10-18  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-net-stream_io.adb:
	(Initialize): removes Last initialization from here.

	* aws-net-stream_io.ads:
	(Write_Cache): Initialize Last to 0.

2001-10-17  Pascal Obry  <p.obry@wanadoo.fr>

	* makefile:
	(SOURCES): add aws-net.adb and aws-net-stream_io.adb

	* aws-server-push.ads:
	Add some comments about MSIE and Server Push.
	(Socket_Type): use Aws.Net.Stream_IO.Socket_Type.
	Many changes to fix Server Push and SSL. Use AWS.Net.Stream_IO
	 which should be more efficient.
	(Object.Count): new procedure.
	(Object.Destroy): new procedure.

	* aws-server-push.adb:
	Many changes to fix Server Push and SSL. Use AWS.Net.Stream_IO
	 which should be more efficient.
	(Boundary): smaller boundary prefix.
	(Object.Count): new procedure.
	(Object.Destroy): new procedure.
	(Send_Data): flush stream.
	(Register): flush stream.

	* aws-net-stream_io.ads, aws-net-stream_io.adb:
	Initial revision.

2001-10-16  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-server-push.adb:
	(Close): correctly free the sockets (needed for SSL) before
	 releasing the memory.

2001-10-14  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-net-std.adb:
	Minor layout fix.

	* aws-net-ssl.adb:
	Minor layout fix.

2001-10-13  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-session-control.adb, aws-translator.adb:
	Put all routines in alphabetical order.

	* aws-server.adb, aws-server-protocol_handler.adb:
	Put all routines in alphabetical order.

	* aws-net-ssl.adb, aws-net-std.adb:
	Put all routines in alphabetical order.

	* aws-client.adb, aws-hotplug.adb, aws-messages.adb:
	Put all routines in alphabetical order.

2001-10-12  Pascal Obry  <p.obry@wanadoo.fr>

	* makefile:
	(clean): fix temp CVS file pattern.

	* aws.ads:
	Fix typo in header.

	* aws-utils.ads, aws-utils.adb:
	Fix typo in header.

	* aws-url.ads, aws-url.adb:
	Fix typo in header.

	* aws-translator.ads, aws-translator.adb:
	Fix typo in header.

	* aws-status.ads, aws-status.adb:
	Fix typo in header.

	* aws-status-set.ads, aws-status-set.adb:
	Fix typo in header.

	* aws-session.ads, aws-session.adb:
	Fix typo in header.

	* aws-session-control.ads, aws-session-control.adb:
	Fix typo in header.

	* aws-services.ads:
	Fix typo in header.

	* aws-services-directory.ads, aws-services-directory.adb:
	Fix typo in header.

	* aws-server.ads, aws-server.adb:
	Fix typo in header.

	* aws-server-push.ads, aws-server-push.adb:
	Fix typo in header.

	* aws-server-protocol_handler.adb:
	Fix typo in header.

	* aws-server-hotplug.ads, aws-server-hotplug.adb:
	Fix typo in header.

	* aws-server-get_status.ads, aws-server-get_status.adb:
	Fix typo in header.

	* aws-response.ads, aws-response.adb:
	Fix typo in header.

	* aws-parameters.ads, aws-parameters.adb:
	Fix typo in header.

	* aws-parameters-set.ads, aws-parameters-set.adb:
	Fix typo in header.

	* aws-os_lib.ads:
	Fix typo in header.

	* aws-net.ads:
	Fix typo in header.

	* aws-net-std.adb, aws-net-std.adb:
	Fix typo in header.

	* aws-mime.ads, aws-mime.adb:
	Fix typo in header.

	* aws-messages.ads, aws-messages.adb:
	Fix typo in header.

	* aws-log.ads, aws-log.adb:
	Fix typo in header.

	* aws-key_value.ads:
	Fix typo in header.

	* aws-hotplug.ads, aws-hotplug.adb:
	Fix typo in header.

	* aws-hotplug-get_status.ads, aws-hotplug-get_status.adb:
	Fix typo in header.

	* aws-default.ads:
	Fix typo in header.

	* aws-config.ads, aws-config.adb:
	Fix typo in header.

	* aws-config-set.ads, aws-config-set.adb:
	Fix typo in header.

	* aws-config-ini.ads, aws-config-ini.adb:
	Fix typo in header.

	* aws-communication.ads, aws-communication.adb:
	Fix typo in header.

	* aws-communication-server.ads, aws-communication-server.adb:
	Fix typo in header.

	* aws-communication-client.ads, aws-communication-client.adb:
	Fix typo in header.

	* aws-client.ads, aws-client.adb:
	Fix typo in header.

	* aws-server.ads:
	Fix style (trailing spaces).

	* aws-server-push.ads, aws-server-push.adb:
	(Data_For): renamed Send_To.
	(Broadcast): renamed Send.

	* aws-server.adb:
	(Line): loop until HTTP_Server.Shutdown is true.
	(Shutdown): wait for 0.5 second between each check for Cleaner
	 task termination. Idem for lines termination.
	(Slots.Shutdown): new procedure.
	(Abort_On_Timeout): call Shutdown for the right index.
	(Release): correctly detect when a sockets need to be shutdown and
	 free memory associated with the socket handle.

	* aws-server.ads:
	(Slot_Phase): add Aborted.
	(Socket_Access): new type.
	(Slot): Sock is now a Socket_Access.
	(Slots.Get): FD parameter is now a Socket_Access.
	(Slots.Shutdown): new procedure.

	* aws-server-get_status.adb:
	(Slot_Table): Sock is now an access type, use .all to access object.

	* aws-net-ssl.adb:
	(Free): new procedure.

	* aws-net-std.adb:
	(Free): new procedure.

	* aws-net.ads:
	(Free): new procedure.

2001-10-09  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-default.ads:
	(One_Hour): new constant.
	(One_Minute): idem.
	Use above constants to define the timeouts.

2001-10-08  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-session.adb:
	Minor layout fix.

	* aws-client.adb:
	(Get): close connection if an exception is raised.
	(Head): idem.
	(Post): idem.
	(Put): idem.

	* aws-url.adb:
	(Normalize): handle properly the "/./" case.

2001-10-06  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-client.adb:
	(Create): Retry is now a Natural.
	(Close): be sure to not call the task if already terminated.
	(Cleaner_Task): add some comments.

	* aws-client.ads:
	(Retry_Default): set to 0.
	(Create): Retry is now a Natural.
	(HTTP_Connection): idem.

	* aws-url.adb:
	(Normalize): Fix layout.

2001-10-04  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-client.adb:
	(Debug_On): new variable.
	(Debug_Release): new procedure.
	(Send_Header): new routine.
	(Debug_Message): new routine.
	(Get_Response): handle properly the textual data chunked encoded.
	(Open_Send_Common_Header): send data using Send_Header.
	(Parse_Header): call debug message for each header line.
	(Post): send data using Send_Header.
	(Put): send data using Send_Header.

	* aws-client.ads:
	(Set_Debug): new routine.

2001-10-03  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-client.adb:
	(Get_Response): Fix bug in 404 message handling. The message body
	 was not read.

	* aws-url.adb:
	(Parse): correctly set the default port for HTTPS protocol. Checks
	 for wrong URL starting with "/..".
	(URL.Port): properly handle default HTTPS port.

	* aws-url.ads:
	(Default_Port): renamed Default_HTTP_Port.
	(Default_HTTPS_Port): new constant.

2001-10-01  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-client.adb:
	(Get): Correctly set the timeouts in the Connection.
	(Head): idem.
	(Put): idem.
	(Post): idem.
	(Get_Response): handler 404 message. Correctly set the phase for
	 message 404, 301 and when no body is returned.

	* aws-server.adb:
	(Line): Send output in exception handler to Current_Error.

	* aws-url.adb:
	(Parse): Fix another bug with parsing non-rooted URL. Found while
	 working on the regression test suite.

	* aws-response.ads, aws-response.adb:
	(Build): rename parameter Message_Body to UString_Message. This
	 will help raising ambiguity with Templates_Parser.Parse which can
	 returns a String or an Unbounded_String.

2001-09-30  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-client.adb:
	(Create): correctly set the timeouts. Found while working on the
	 regtest suite.

	* aws-url.adb:
	(Parse): ignore empty URL.

	* aws-url.adb:
	(Parse): properly check for URI without server and port
	 information.
	(URL): if this is a simple URI (no server info) return the URI.

	* aws-client.adb:
	(Get): add Timeouts parameter.
	(Head): idem.
	(Put): idem.
	(Post): idem.
	(Get): correctly report a timeout with a 408 message code.
	(Head): idem.
	(Put): idem.
	(Post): idem.
	(SOAP_Post): idem.
	(Set_Phase): new procedure.
	(Open_Send_Common_Header): set properly phase at the start and the
	 end of the routine.
	(Get_Response): idem.
	Put routines in alphabetical order.

	* aws-client.ads:
	(Timeouts_Values): new type.
	(Get): add Timeouts parameter.
	(Head): idem.
	(Put): idem.
	(Post): idem.
	(HTTP_Connection): add With_Timeouts discriminant and it is now a
	 limited private type. Add parameters Current_Phase, Timeouts and
	 Cleaner.
	(Create): now a procedure (was a function) this is required to be
	 able to initialize the limited private type.
	(Client_Phase): new type.
	(Cleaner_Task): new task type.
	(Cleaner_Access): an access type to task type above.
	(Build_Cleaner): new function.

2001-09-27  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-url.ads, aws-url.adb:
	(Normalize): new procedure.
	(URL): new function.

	* aws-server.adb:
	(Shutdown): reorder again the termination phases. safer and should
	 avoid lock.

	* aws-server.ads:
	(Release): fix comments.

2001-09-26  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-server-push.ads:
	Update comments.

	* aws-server-protocol_handler.adb:
	(Get_Message_Header): removes exception handler since it is not
	 needed.

	* aws-url.adb:
	(URI): add parameter Encode.
	(Encode): new function.
	Put routines in alphabetical order.

	* aws-url.ads:
	(URI): add parameter Encode.
	(Encode): new function.

	* aws-client.adb:
	(Open_Send_Common_Header): Encode URI in the HTTP header. This is
	 needed if the URI has some spaces for example.

2001-09-24  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-server-protocol_handler.adb:
	(Get_Message_Header): Optimize parsing of header line.

	* aws-client.adb:
	(Get_Response): Use a string to build the response. Previous
	 algorithm using Unbounded_String was very very slow for big page.

2001-09-21  Pascal Obry  <p.obry@wanadoo.fr>

	* makefile:
	Change a lot of things to ease build step.

	* aws-server-push.adb:
	Minor reformatting.

	* aws-client.ads:
	Fix typos in comment.

	* aws-config-set.ads:
	Fix typos in comment.

	* aws-config.ads:
	Fix typos in comment.

	* aws-server.ads:
	Fix typo in comment.

	* aws-status.ads:
	Fix typo in comment.

2001-09-20  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-server.ads:
	(Start): fix comment.

	* aws-log.adb:
	(Stop): check if file is open before closing it.

	* aws-server.adb:
	(Shutdown): Correctly wait for tasks to terminate before releasing
	 the memory. Further fix to avoid memory leak. Close the log.
	(Start): Properly set Web_Server.Shutdown to False. Fix problem
	 when starting/stopping a server.

	* aws-server.ads:
	(Shutdown): update comment.
	Fix typo.

2001-09-19  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-server.adb:
	(Line): do not handle Constraint_Error as an internal
	 error. AdaSockets has a bug and sends Constraint_Error when a
	 socket is closed while sending data. Constraint_Error should be
	 removed from the handler when this bug will be fixed.

	* aws-config-ini.adb:
	(Error_Message): Send error message to Current_Error.

	* aws-server.adb:
	(Line): Send error message to Current_Error.

	* aws-session.adb:
	(Cleaner): Send error message to Current_Error.

2001-09-14  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-log.adb:
	Removes empty line at end of file.

	* aws-messages.adb:
	(Content_Type): add boundary data.
	(Transfer_Encoding): new function.

	* aws-messages.ads:
	Inline all constructor functions.
	(Content_Type): add boundary data.
	(Transfer_Encoding): new function.

	* aws-mime.ads:
	(Multipart_Mixed_Replace): new constant.

	* aws-server-push.adb:
	(Register): Use AWS.Messages constructors and AWS.MIME type to
	 build the response message.
	(Send_Date): Use AWS.Messages constructors to build the response
	 message.

	* aws-log.adb:
	Minor reformatting.
	Add some comments.
	(Write): Undo previous change about log time format. This was
	 wrong since we want to keep compatibility with Apache log.

2001-09-13  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-response.ads:
	Minor reformatting.

	* aws-server-protocol_handler.adb:
	(Create_Session): check using No_Session constant.
	(Send_General_Header): convert the session ID using Session.Image
	 routine.

	* aws-session.adb:
	(Value): returns No_Session if SID is not a recognized AWS session ID.

	* aws-session.ads:
	(No_Session): new constant.
	(Value): add some comment.
	Reformatting.

	* aws-status-set.adb:
	(Reset): D.Sesison_ID is now set to AWS.Session.No_Session.
	(Session): uses AWS.Session.Value to set D.Session_ID.

	* aws-status-set.ads:
	Minor reformatting.

	* aws-status.adb:
	(Has_Session): check using AWS.Session.No_Session which is cleaner.
	(Session): remove version returning a string (it is always
	 possible to use AWS.Session.Image to do so).

	* aws-status.ads:
	Add lot of comments.
	(Session): remove version returning a string (it is always
	 possible to use AWS.Session.Image to do so).
	(Data): Session_ID is not a Session.ID type.

	* aws-translator.ads:
	Minor comment fix.

	* aws-url.adb:
	Reformatting.

	* aws-session.ads:
	Reformatting.

	* aws-log.adb:
	(Write): Fix log format. Minor reformatting.

2001-09-12  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-session-control.adb:
	(Shutdown): Ask for termination of Cleaner_Control task. Release
	 the memory for the task access. Fix a memory leak.

	* aws-session.adb:
	(Cleaner): wait for next run and eventually accept a Stop
	 rendez-vous. In this case the task will exit from the loop.
	(Cleaner_Control.Stop): Returns now a boolean to tell if the session
	 cleaner task can be terminated or not.

	* aws-session.ads:
	(Cleaner): add entry Stop.
	(Cleaner_Control.Stop): Returns now a boolean to tell if the session
	 cleaner task can be terminated or not.
	(Cleaner_Task): put declaration outside the Cleaner_Control object.

2001-09-11  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-server.adb:
	(Shutdown): do nothing if the server has already been shutdown.

2001-09-10  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-communication-server.adb:
	(Start): Initialize Com_Server without discriminant, and set the
	 number of connection in Server.Start call.

	* aws-log.adb:
	Fix style.

	* aws-server-get_status.adb:
	Use Max_Connection from the server properties.

	* aws-server.adb:
	(Shutdown): release memory allocated for the slots HTTP field. Use
	 Max_Connection from the server properties.
	(Start): add parameter Max_Connection. Use Max_Connection from the
	 server properties.
	(Line): Use Max_Connection from the server properties.
	(Finalize): new routine for HTTP limited controlled type.

	* aws-server.ads:
	(HTTP): remove Max_Connection discriminant. It is now a limited
	 controlled object, ressources will be freed automatically when
	 leaving the HTTP variable scope. Field Slots is now an access type.
	(Start): add parameter Max_Connection.
	(Finalize): new routine for HTTP limited controlled type.

	* aws-server-protocol_handler.adb:
	(Answer_To_Client): Removes Peername parameter in Log.Write call
	 since it is not needed anymore.

	* aws-log.adb:
	(Write): new procedure. For user's log.
	Use AWS.OS_Lib instead of GNAT.OS_Lib.

	* aws-log.ads:
	(Write): remove Peername which is now into the connection status.
	(Write): new procedure. For user's log.
	Add some comments.

	* aws-server-get_status.adb:
	(Translations): Add START_TIME tag.

	* aws-server.adb:
	(Start): Set the Start_Time field with current date and time.

	* aws-server.ads:
	(HTTP): Add Start_Time field.

	* aws-server-protocol_handler.adb:
	Removes a duplicate with line for Stream_IO.
	Add some comments.
	Minor layout fix.

	* aws-server.adb:
	(Shutdown): release memory for new task access.
	(Start): minor layout change.
	(Start): create tasks objects.

	* aws-server.ads:
	(Line_Set_Access): new type.
	(Line_Cleaner_Access): new type.
	(HTTP): use Line_Cleaner_Access and Line_Set_Access to avoid
	 creating the tasks when HTTP object is created.

2001-09-06  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-server-protocol_handler.adb:
	(Send_General_Header): use Messages.Connection constructor.

2001-09-05  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-server-protocol_handler.adb:
	(Send_File_Size): removed. Use directly the Messages.Content_Length
	 constructor and the Answer message length which is now always
	 correct (for message and file).
	(Send_File): add File_Size parameter.
	(Send_File_Time): use Messages.Last_Modified constructor.

	* aws-response.adb:
	(File): compute the file size and set the content length field
	 properly (was always set to 0).
	 (Module):

	* aws-messages.adb:
	(Last_Modified): new constructor.
	(Location): use Location_Token constant instead of string.

	* aws-messages.ads:
	(Last_Modified_Token): new constant.
	(Last_Modified_Range): new subtype.
	(Last_Modified): new constructor.

	* aws-log.adb:
	(Write): Add parameter Answer and removes Answer_Stat. Write the
	 content length that has been transfered. Now the log format is
	 the same than most standard Web servers.

	* aws-log.ads:
	(Write): Add parameter Answer and removes Answer_Stat. This is
	 need to add the data size transfered in the log.

2001-09-03  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-session.adb:
	(Key_Exist): Add exception handler to properly exit from this
	 routine and set Result to False.

2001-09-02  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-messages.ads:
	(Referer_Token): new constant.
	(Referer_Range): new subtype.

	* aws-server-protocol_handler.adb:
	(Parse): handles User_Agent and Referer fields.

	* aws-status-set.ads, aws-status-set.adb:
	(User_Agent): new procedure.
	(Referer): new procedure.

	* aws-status.adb:
	(User_Agent): new function.
	(Referer): new function.

	* aws-status.ads:
	(User_Agent): new function.
	(Referer): new function.
	(Data): add User_Agent and Referer field.

2001-08-31  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-config-ini.adb:
	(Read): parameters' value is now everything after the parameter name.

2001-08-30  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-client.adb:
	Minor style fix.

	* aws-server.adb:
	(Start): Use Accept_Queue_Size configuration parameter in the call
	 to Listen.

	* aws-config-set.ads, aws-config-set.adb:
	(Accept_Queue_Size): new procedure to set the accepting queue
	 size. This help support heavy loaded server.

	* aws-config.adb:
	(Accept_Queue_Size): new function to retrieve the accepting queue
	 size. This help support heavy loaded server.

	* aws-config.ads:
	(Accept_Queue_Size): new function to retrieve the accepting queue
	 size. This help support heavy loaded server.
	(Parameter_Name): add Accept_Queue_Size.
	(Default_Parameter): add Accept_Queue_Size.

	* aws-default.ads:
	(Accept_Queue_Size): new constant.

	* aws-client.adb:
	Removes unused with clause (Ada.Text_IO).

2001-08-26  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-server-protocol_handler.adb:
	(Send_Message): change Put_Line by a simple Put. Fix a problem
	 when sending big message.
	(Get_Message_Data): Uses MIME.Appl_Form_Data instead of
	 Messages.Form_Data. Idem for MIME.Multipart_Data. Check for SOAP
	 message and correctly set the payload request in this case.
	(Parse): parse the SOAPAction HTTP header.
	This is work to support SOAP over HTTP.

	* aws-client.adb:
	(Send_Command): rename to Open_Send_Common_Header.
	(Get_Response): check for HTML and XML message to support SOAP
	 message.
	(SOAP_Post): new function. This is to support SOAP request over
	 HTTP.
	(Open_Send_Common_Header): Use No_Data to check for cookie. Add
	 SOAPAction header if needed.
	(Create.Set): New function.
	(Create): correctly set to Null_Unbounded_String string that are
	 not initialized.
	Declare all Try_Count variables as Natural.
	(Post): Add SOAPAction checks.
	Fix layout.

	* aws-client.ads:
	(SOAP_Post): new function. This is to support SOAP request over
	 HTTP.
	(Create): add SOAPAction parameter.
	(HTTP_Connection): Add field SOAPAction.

	* aws-messages.adb:
	(SOAPAction): new function.

	* aws-messages.ads:
	(SOAPAction): new function.
	(SOAPAction_Token): new constant.
	(SOAPAction_Range): new type.
	(Form_Data): moved to AWS.MIME.
	(Multipart_Form_Data): moved to AWS.MIME.

	* aws-status-set.ads, aws-status-set.adb:
	(SOAPAction): new procedure.
	(Payload): new procedure.
	This is work to support SOAP over HTTP.
	Fix layout.

	* aws-status.adb:
	(Is_SOAP): new function.
	(SOAPAction): new function.
	(Payload): new function.
	This is work to support SOAP over HTTP.

	* aws-status.ads:
	Fix parameters.
	(Is_SOAP): new function.
	(SOAPAction): new function.
	(Payload): new function.
	This is work to support SOAP over HTTP.

	* aws-mime.adb:
	(Dot_XML): new constant.
	(Type_Table): add Dot_XML to handle XML files.

	* aws-mime.ads:
	(Text_XML): new constant.
	(Appl_Form_Data): idem.
	(Multipart_Form_Data): idem.

	* aws-url.adb:
	Fix layout.

	* aws-url.ads:
	Add comments.

2001-08-19  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-server-protocol_handler.adb:
	Properly inititialize P_List before using it.

	* makefile:
	(build): add aws-server-push.adb in the list of file to not
	 compile with style check.

	* aws-server-push.adb:
	Fix casing error.

	* aws-client.adb:
	(Parse_Header): add Cookie parameter which is set when parsing
 	 header. This part of the header was just ignored before.
	(Send_Command): output Set-Cookie: HTTP header if needed.

	* aws-client.ads:
	(HTTP_Connection): add Cookie field to support HTTP client cookies.

	* aws-messages.ads:
	(Set_Cookie_Token): new constant.

	* aws-server-push.ads, aws-server-push.adb:
	Fix copyright notice.

	* aws.ads:
	(Version): set to 1.1.

2001-08-17  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-server.adb:
	Minor style fix.

	* aws-server-protocol_handler.adb:
	Many changes to support server push.
	(Socket_Taklen): new boolean.
	(Answer_To_Client): set socket in status data before calling
	 user's callback. Check for Soket_Taken answer.
	(Send_File_Chuncked.Hex): moved to AWS.Utils.
	Exit main loop if the Socket has been taken by user's.

	* aws-server-push.ads, aws-server-push.adb:
	Initial revision.

	* aws-status-set.adb:
	(Socket): new procedure.

	* aws-status-set.ads:
	(Socket): new procedure.
	Fix layout.

	* aws-status.adb:
	Put routines in alphabetical order.

	* aws-utils.ads, aws-utils.adb:
	(Hex): Moved here from Protocol_Handler.

2001-08-16  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-parameters.ads:
	(List): do not initialize Data field. This is now done by Reset to
	 avoid memory leak.

	* aws-parameters-set.adb:
	(Reset): destroy data if it exists otherwise create an empty set.
	(Free): new procedure.

	* aws-parameters-set.ads:
	(Reset): fix comment.
	(Free): new procedure.

	* aws-status.ads, aws-status.adb:
	Miror reformatting.

	* aws-server-protocol_handler.adb:
	(Socket_Taken): new boolean.

	* aws-status.adb:
	(Socket): new function.

	* aws-status.ads:
	(Socket): new function.
	(Data): add field Socket.

	* aws-server.adb:
	(Socket_Taken): new procedure in Slots protected object.
	(Release): do not shutdown Socket if it has been "taken".

	* aws-server.ads:
	(Socket_Taken): new procedure in Slots protected object.
	(Slot): add boolean field Socket_Taken.

	* aws-response.adb:
	(Socket_Taken): new constructor function.

	* aws-response.ads:
	(Socket_Taken): new constructor function.
	(Data_Mode): Add Socket_Taken to the enumeration.

	* aws-server-protocol_handler.adb:
	Remove call to AWS.Parameters.Set.Reset has this this already done
	 by AWS.Status.Set.Reset.

	* aws-services-directory.adb:
	Close directory iterator and destroy internal tree (fix memory leak).

	* aws-status-set.adb:
	(Reset): call AWS.Parameters.Set.Reset.
	Minor reformatting.

2001-08-08  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-config.ads:
	Style fix.

	* makefile:
	(clean): removes Emacs VC *~ files.

	* aws-default.ads, aws-config.ads, aws-config.adb,
	  aws-config-set.ads, aws-config-set.adb:
	Rename Log_File_Prefix to Log_Filename_Prefix.

	* aws-server.ads:
	(Start): removes Log_Split_Mode parameter, this is now on
	 Start_Log routine.
	(Start_Log): add Split_Mode and Filename_Prefix parameters.

	* aws-server.adb:
	(Start): removes Log_Split_Mode parameter, this is now on
	 Start_Log routine.
	(Start): do not set SO_REUSEADDR for the accepting server socket.
	(Start_Log): add Split_Mode and Filename_Prefix parameters. Set
	 the configuration accordingly.

2001-08-07  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-config.adb, aws-config-set.adb, aws-config-ini.adb:
	Lot of changes to accommodate for new Object declaration.

	* aws-config.ads:
	(Object): now a record to be able to initialize the all parameters.

	* aws-log.ads:
	(Object): Initialize Split field.

	* aws-server-protocol_handler.adb:
	Use CNF renaming for AWS.Config to avoid name clash.
	Pass the Log object when writting log info.

	* aws-server-get_status.adb:
	(Translations): Add LOG, LOG_FILE, LOG_MODE tag.

	* aws-config-ini.adb:
	Reorganize the code. Now the Read procedure update the
	 configuration object by reading only the filename passed in
	 parameter. The Server_Config object is updated at elaboration
	 time by reading 'aws.ini' and 'prognam.ini' files.

	* aws-config-ini.ads:
	(Read): update comment.

	* aws-config.ads:
	(Get_Current): update comments.

	* aws-server.adb:
	Support the per-server logging facility.
	(Start): Add Log_Split_Mode parameter.
	(Config): new function.
	(Start_Log): new procedure.
	(Stop_Log): new procedure.
	Put routines in alphabetical order.

	* aws-server.ads:
	Support the per-server logging facility.
	(Start): Add Log_Split_Mode parameter.
	(Config): new function.
	(Start_Log): new procedure.
	(Stop_Log): new procedure.

	* aws.ads:
	(Version): set to 1.0.

2001-08-06  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-config.adb:
	With AWS.Config.Ini to initialize options set.
	(Get_Current): new function.
	(Log_File_Prefix): idem.
	(Log_Split_Mode): idem.
	(Session_Cleanup_Interval): remove object parameter as this is a
	 per-process option.
	(Session_Lifetime): idem.

	* aws-config.ads:
	Add support for 2 new options, Log_File_Prefix and Log_Split_Mode.
	Split the handling for per-process and per-server options.
	(Get_Current): new function.
	(Log_File_Prefix): idem.
	(Log_Split_Mode): idem.
	(Session_Cleanup_Interval): remove object parameter as this is a
	 per-process option.
	(Session_Lifetime): idem.
	(Server_Config): new variable to old per-process options.

	* aws-log.ads, aws-log.adb:
	A lot of changes to make this package an ADT.
	(Start): add Log, File_Directory and Filename_Prefix parameter.
	(Write): add Log object parameter.
	(Stop): idem.
	(Is_Active): new function.
	(Filename): idem.
	(Mode): idem.

	* aws-default.ads:
	(Log_File_Prefix): new constant.
	(Log_Split_Mode): new constant.

	* aws-config-set.ads, aws-config-set.adb:
	(Log_File_Prefix): new procedure.
	(Log_Split_Mode): new procedure.
	(Session_Cleanup_Interval): remove object parameter as this is a
	 per-process option.
	(Session_Lifetime): idem.

	* aws-config-ini.adb:
	(Read): was a function it is now a procedure to be able to update
	 the configuration object. Handle per-server and per-process
	 options.
	Initialize Server_Config at elaboration.

	* aws-config-ini.ads:
	(Read): was a function it is now a procedure to be able to update
	 the configuration object.

2001-08-05  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-server.adb:
	(Start): Fix typo.

	* aws-server.ads:
	(Def_Port): fix typo in constant declaration.

	* aws-default.ads:
	(Server_Name): new constant.

	* aws-server-protocol_handler.adb:
	Lot of changes to use new configuration API.
	(Answer_File): new procedure.

	* aws-server.ads, aws-server.adb:
	Lot of changes to use new configuration API.
	(Start): new routine using a configuration object to initialize
	 the server properties.
	(Set_Timeouts): new Slots protected procedure to set all server
	 timeouts.

	* aws-server-get_status.adb:
	(Translations): change table to use new configuration API.

	* aws-session-control.ads, aws-session-control.adb:
	(Start): add two parameters to control the session server.

	* aws-session.ads, aws-session.adb:
	(Start): add two parameters to control the session server.

2001-08-04  Pascal Obry  <p.obry@wanadoo.fr>

	* makefile:
	(SOURCES): add aws-config, aws-config-ini, aws-config-set, aws-default

	* aws-config-ini.ads:
	Update comment.

	* aws-config-set.ads:
	Reorder routine.

	* aws-config.adb:
	A lot more changes to support ADT. All values moved to sepc.
	(Initialize): moved to AWS.Config.Ini.
	(Session): new function.
	(Security): new function.
	(Case_Sesitive_Parameters): new function.

	* aws-config.ads:
	Move constants for default AWS parameters into AWS.Default.
	This package is now designed as an ADT instead of an ASM. It is
	 then possible to have a configuration per server instead of per
	 process.
	All variables are move into the private part here to be accessible
	 from AWS.Config.Set.
	(Session): new function.
	(Security): new function.
	(Case_Sesitive_Parameters): new function.
	A lot more changes to support ADT.

	* aws-default.ads:
	Initial revision.

	* aws-config-set.ads, aws-config-set.adb:
	Initial revision.

	* aws-config-ini.ads, aws-config-ini.adb:
	Initial revision.

2001-07-31  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-server.ads:
	Minor reformatting.

	* aws-log.adb:
	(Log_Prefix): returns either the specicifed prefix or the program
	 name.
	(Start): add Log_File_Prefix field to control the log filename.

	* aws-log.ads:
	(Start): add Log_File_Prefix field to control the log filename.
	Minor reformatting.

	* aws-log.adb:
	(Start): add code to handle Each_Run mode.

	* aws-log.ads:
	(Split_Mode): add Each_Run to have a new log file every time the
	 server is started.
	Fix and add comments.

	* aws-server-protocol_handler.adb:
	(Answer_To_Client): check for empty Admin_URI. Now all URI
	 starting by Admin_URI are reserved. Speed up a bit the code.

2001-07-30  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-config.ads:
	Minor reformatting.

2001-07-28  Pascal Obry  <p.obry@wanadoo.fr>

	* makefile:
	(SOURCES): Add AWS.Session.Control module.

	* aws-server.adb:
	(Start): call Start from AWS.Session.Control was in AWS.Session.
	(Shutdown): call Shutdown from AWS.Session.Control was in AWS.Session.

	* aws-session.ads, aws-session.adb:
	(Start): moved to AWS.Session.Control.
	(Shutdown): moved to AWS.Session.Control.
	(Cleaner): moved from body to spec, needed for visibility from
	 AWS.Session.Control.
	(Cleaner_Control): idem.

	* aws-session-control.ads, aws-session-control.adb:
	Initial revision.

	* aws-services-directory.adb:
	Minor type fix.

	* aws-session.adb:
	(Add_Session): new entry into the Database protected record.
	(Save): new procedure.
	(Load): new procedure.

	* aws-session.ads:
	(Save): new procedure.
	(Load): new procedure.

2001-07-24  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-config.adb:
	(WWW_Root_Token): new constant.
	(WWW_Root_Value): new variable.
	(Parameters): add WW_Root handling into the table.
	(Program_Ini_File): correctly create the init filename from a
	 program name when it is launched using the full path name.
	(WWW_Root): new function.

	* aws-config.ads:
	(Default_WWW_Root): new constant.
	(WWW_Root): new function.

	* makefile:
	(build): do not build AWS.Services.Directory with optimization.

	* aws-session.adb:
	(Cleaner_Control): new protected record to handle concurrent
	 access to the task cleaner creation.

2001-07-23  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-session.adb:
	Lot of changes to avoid memory leak and copy of the whole session
	 table during iteration.
	Fix layout.

2001-07-23  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-session.adb:
	(Destroy): Destroy the root tree.
	(Generate_ID): new function.
	(Key_Exist): avoid raising an exception if the SID is not present
	 into the sessions table.
	(New_Session): use now Generate_ID to generate a uniq session ID.
	(Image): update to use new SID implementation.
	(Value): update to use new SID implementation.

	* aws-session.ads:
	(ID): type changed from an integer to a string.
	Minor style fix.

2001-07-22  Pascal Obry  <p.obry@wanadoo.fr>

	* makefile:
	(SOURCES): add aws-services.ads and aws-services-directory.adb units.

2001-07-21  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-services-directory.adb:
	Remove use of AVL_Tree_Gereric and use now a new AVL
	 implementation which is not buggy.
	Add case sensitive, mime, extension ordering.
	Order (Ascending or Descending) is now based on the casing of the
	 option instead of using a specific option for this. This reduce
	 the Web parameters size to be sent to the server.
	Fix code layout.
	Add lot of comments.

	* aws-services-directory.ads:
	Add lot of comments.

2001-07-19  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-response.adb:
	(Binary): check for null pointer and returns an null array instead
	 of raising an exception.

2001-07-18  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-log.adb:
	(Log_Prefix): Fix bug when program is launched from the current
	 working directory with ./progname. In this case the program name
	 computed was the empty string.

	* makefile:
	(SOURCES): change aws-key_value.adb to aws-key_value.ads since
	 this unit based on new component does not require a body.
	(build): idem.

	* aws-config.adb:
	Fix minor casing error.

	* aws-key_value.adb:
	Removed as it is not used anymore with the new design.

2001-07-17  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-key_value.ads, aws-parameters-set.adb, aws-parameters.ads,
	  aws-parameters.adb, aws-session.adb:
	Remove use of AVL_Tree_Generic (it was quite buggy) and now use a new
	 component. This was a serious error causing session data to stay
	 forever or even to have strange value added. The AVL tree was
	 corrupt after some adding/removing operations.

2001-06-30  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-session.adb:
	(Clean): Work around a GNAT bug when compiling with optimization on.

	* aws-client.ads:
	Reindent code.

	* aws-config.adb:
	(Hotplug_Port_Token): new constant.
	(Hotplug_Port_Value): new variable.
	(Hotplug_Port): new function.
	(Initialize): update comment.

	* aws-config.ads:
	(Default_Hotplug_Port): new constant.
	(Hotplug_Port): new function.

2001-06-23  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-*:
	Transfert the Copyright to ACTE.

	* aws-session.adb:
	(Session_Check_Interval): initialize using
	 Config.Session_Cleanup_Interval.
	(Session_Lifetime): initialize using Config.Session_Lifetime.

	* aws-session.ads:
	(Default_Session_Lifetime): removed.

	* aws-server-get_status.adb:
	(Session_Table): add SESSIONS_TERMINATE_V.
	(Translations): add SESSION_CLEANUP_INTERVAL_V.

	* aws-config.adb:
	(Session_Cleanup_Interval_Token): new constant.
	(Session_Lifetime_Token): idem.
	(Session_Cleanup_Interval_Value): new variable.
	(Session_Lifetime_Value): idem.
	(Session_Cleanup_Interval): new function.
	(Session_Lifetime): new function.
	(Parameters): add session lifetime and session cleanup interval.

	* aws-config.ads:
	(Five_Minutes): new constant.
	(Ten_Minutes): new constant.
	(Default_Session_Cleanup_Interval): new constant.
	(Default_Session_Lifetime): new constant.
	(Session_Cleanup_Interval): new function.
	(Session_Lifetime): new function.

2001-06-22  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-utils.ads, aws-utils.adb:
	(Image): on duration, new function.

	* aws-session.adb:
	(Set_Session_Lifetime): renamed Set_Lifetime.
	(Get_Lifetime): new function.
	(Session_Check_Interval): new constant.
	(Cleaner): check for obsoltete session data every
	 Session_Check_Interval seconds instead of Session_Lifetime.
	(Database.Clean): can now removes many sessions at once.

	* aws-session.ads:
	(Set_Session_Lifetime): renamed Set_Lifetime.
	(Get_Lifetime): new function.

	* aws-server-protocol_handler.adb:
	Minor reformatting.

	* aws-server-get_status.adb:
	(Session_Table): Add Sessions_TS (time stamp).
	(Translations): idem.

2001-06-20  Pascal Obry  <p.obry@wanadoo.fr>

	* aws.ads:
	(Version): is set to 1.0pre.

	* aws-hotplug.adb:
	Minor reformatting.

	* aws-config.adb:
	Minor reformatting.

2001-06-07  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-response.adb:
	(Authenticate): coirrectly set the Realm string (was setting
	 location string instead).

	* aws-session.adb:
	(remove): new procedure.
	(Database.Remove_Key): new entry.
	Fix comments.

	* aws-session.ads:
	(remove): new procedure.

2001-06-06  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-services-directory.ads, aws-services-directory.adb:
	Initial revision.

	* aws-services.ads:
	Initial revision.

2001-05-30  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-translator.ads, aws-translator.adb:
	(To_String): new function.
	(To_Stream_Element_Array): new function.
	Minor reformatting.

	* aws-server-protocol_handler.adb:
	(Cut_Command): handle filename with spaces. This fix is needed for
	 Netscape which does not code space by %20 in the HTTP header.
	(URI): decode URL to handle filenames with spaces.
	(Target_Filename): Use Upload_Path as set in the HTTP object.

	* aws-client.adb:
	(Post): new function with Stream_Element_Array data type.
	(Post): idem with Keep-Alive connection.
	(Post): fix a bug when sending body, was using Put_Line so CRLF
	 was added making the body length 2 characters too long.

	* aws-client.ads:
	(Post): new function with Stream_Element_Array data type.
	(Post): idem with Keep-Alive connection.

	* aws-server.adb:
	Minor reformatting.

	* aws-server-protocol_handler.adb:
	(Get_Message_Data): set message body (binary data) when reading
	 POST paramters. This will be needed for the hotplug module.

	* aws-hotplug.adb:
	(Apply): handle GET and POST hotplug request.

2001-05-29  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-config.adb:
	Add some comments, minor reformatting.

	* aws-parameters.adb:
	(Count): correctly returns the number of parameters in the list
	 and not the total number of node in the tree.

	* aws-hotplug.adb:
	(Apply): Removes URI parameter and add Status. Call hotplug module
	 with parameters.
	(Apply.Parameters): new function.

	* aws-hotplug.ads:
	(Apply): Removes URI parameter and add Status.

	* aws-server-protocol_handler.adb:
	(Answer_To_Client): when calling Hotplug.Apply pass full status
	 information and not just URI to be able to pass parameters to
	 hotplug module.
	(URI): call Decode_URL to be sure to decode encoded characters
	 into the URL. Fix problem with space in a filename.

2001-05-26  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-config.adb:
	Complete reimplementation. This unit is now based on a table. The
	 table filed are: the key name, a pointer to the variable which
	 hold the value and the type of the variable. It will be quite
	 easier to add new options with this implementation.
	This implementation is based on a patch supplied by Sune Falck.

	* aws-utils.ads, aws-utils.adb:
	Update copyright notice.

	* aws-translator.ads, aws-translator.adb:
	Update copyright notice.

	* aws.ads:
	(Version): set to 0.11. Will probably be changed later to 1.0.

	* aws-parameters-set.adb:
	(Add): Handle case where the parameter name has some encoded
	 characters like $ or #.

	* aws-config.adb:
	Removed with GNAT.Regpat.
	(Process_Ini): use Strings.Fixed.Find_Token to parse the
	 file. Handle now properly the ini files.
	(Initialize): Fix typo in configuration file name.

	* aws-server-hotplug.ads, aws-server-hotplug.adb:
	Update copyright notice.

	* aws-server-get_status.adb:
	Removes with AWS.Status.

	* aws-parameters.adb:
	Update copyright notice.
	Fix typo.

	* aws-messages.ads, aws-messages.adb:
	Update copyright notice.

	* aws-hotplug.ads, aws-hotplug.adb:
	Update copyright notice.

2001-05-25  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-log.adb:
	Minor reformatting.

	* aws-log.adb:
	Add with for Ada.Command_Line.
	Add with for AWS.Config.
	(Log_Prefix): new function.
	(Start): change log filename to use ISO date format.

	* aws-config.adb:
	(Proces_Ini): new procedure.
	(Program_Ini_File): new function.
	(Error_Message): add parameter Filename.
	(Regexp): add _ to match parameter name.
	(Initialize): process aws.ini and <program_name>.ini.

2001-05-24  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-server-protocol_handler.adb:
	(Answer_To_Client): Use Config.Logo_Image, Config.Status_Page,
	 Config.Up_Image and config.Down_Image instead of hard coded value.

	* aws-server-get_status.adb:
	Use Config.Status_Page instead of hard coded 'status.tmplt'.

	* aws-config.adb:
	(Status_Page): new variable.
	(Up_Image): idem.
	(Down_Image): idem.
	(Logo_Image): idem.
	(Status_Page): new function.
	(Up_Image): idem.
	(Down_Image): idem.
	(Logo_Image): idem.

	* aws-config.ads:
	(Default_Status_Page): new constant.
	(Default_Up_Image): idem.
	(Default_Down_Image): idem.
	(Default_Logo_Image): idem.
	(Status_Page): new function.
	(Up_Image): idem.
	(Down_Image): idem.
	(Logo_Image): idem.

	* aws-server.ads:
	(Server_Processing): Fix comment.

	* aws-config.ads:
	Fix typo.

2001-05-21  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-response.ads, aws-response.adb:
	(Build): new function.
	(Message_Body): new function.

	* aws-server-protocol_handler.adb:
	(Send_Message): send message body as many chunk and update the
	 data timestamp between each.
	(Answer_To_Client): Set Phase to Server_Processing before calling
	 user's callback and put it to Server_Response just after.
	(Get_Message_Data): declare the buffer with the right size and
	 read data after.
	(Send_File): update the data timestamp.
	(Send_File_Chuncked): idem.

	* aws-server.adb:
	(Mark_Data_Time_Stamp): new procedure.
	(Is_Abortable): check for Data_Phase. We do not want to break a
	 transfert of big file.
	(Mark_Phase): if Phase is in Data_Phase adjust the data timestamp.
	Minor reformatting.

	* aws-server.ads:
	(Slot_Phase): add Server_Processing.
	(Data_Phase): new subtype.
	(Timeouts): defined as constant.
	(Data_Timeouts): new constant.
	(Slot): add Data_Time_Stamp field.
	(Mark_Data_Time_Stamp): new procedure.

	* aws-config.adb:
	(Send_Timeout): new function.
	(Receive_Timeout): new function.
	(Initialize): updated to parse Send_Timeout and Receive_Timeout.
	(Send_Timeout_Value): new variable;
	(Receive_Timeout_Value): new variable;

	* aws-config.ads:
	(Send_Timeout): new function.
	(Receive_Timeout): new function.
	(Default_Cleaner_Client_Data_Timeout): set to Height_Hours.
	(Default_Cleaner_Server_Response_Timeout): set to Height_Hours.
	(Force_Cleaner_Client_Data_Timeout): set to Three_Hours.
	(Force_Cleaner_Server_Response_Timeout): set to Three_Hours.

2001-05-19  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-config.adb:
	Fix casing.

	* aws-status.adb:
	(Count): removed.

	* aws-status-set.ads:
	Remove comment out code.
	Update copyright notice.

	* aws-server.adb:
	(Slots.Get): is now a procedure was an entry.

	* aws-server.ads:
	(Timeouts): use AWS.Config*_Timeout function to initialize array.
	(Slots.Get): is now a procedure was an entry.

	* aws-server.adb:
	(Start): add Upload_Directory parameter. Use default from
	 AWS.Config.

	* aws-server.ads:
	(Start): add Upload_Directory parameter. Use default from
	 AWS.Config.
	(HTTP): use default from AWS.Config.
	(Def_Admin_URI): new constant.
	(Def_Admin_Upload_Dir): new constant.
	(Def_Port): new constant.
	(Default_Connection): removed.
	(Default_Port): removed.
	(Default_Upload_Path): removed.
	(No_Admin): removed.

	* aws-communication-server.adb:
	(Receive): use new parameter interface.

	* aws-translator.ads, aws-translator.adb, aws-status-set.adb,
	  aws-parameters-set.adb, aws-client.adb:
	Rename Translater to Translat

	* aws-server-protocol_handler.adb:
	Call Mark_Phase after setting parameters.

	* aws-server.adb:
	Minor reformatting.

	* aws-config.adb:
	(Cleaner_Wait_For_Client_Timeout_value): new variable.
	(Cleaner_Client_Header_Timeout_Value): new variable.
	(Cleaner_Client_Data_Timeout_Value): new variable.
	(Cleaner_Server_Response_Timeout_Value): new variable.
	(Force_Wait_For_Client_Timeout_Value): new variable.
	(Force_Client_Header_Timeout_Value): new variable.
	(Force_Client_Data_Timeout_Value): new variable.
	(Force_Server_Response_Timeout_Value): new variable.
	(Cleaner_Wait_For_Client_Timeout): new function.
	(Cleaner_Client_Header_Timeout): new function.
	(Cleaner_Client_Data_Timeout): new function.
	(Cleaner_Server_Response_Timeout): new function.
	(Force_Wait_For_Client_Timeout): new function.
	(Force_Client_Header_Timeout): new function.
	(Force_Client_Data_Timeout): new function.
	(Force_Server_Response_Timeout): new function.
	(Initialize): add parsing for all timeouts string.

	* aws-config.ads:
	(Default_Server_Name): new constant.
	(Default_Admin_URI): new constant.
	(Default_Server_Port): new constant.
	(Default_Max_Connection): new constant.
	(Default_Log_File_Directory): new constant.
	(Default_Upload_Directory): new constant.
	(Default_Cleaner_Wait_For_Client_Timeout): new constant.
	(Default_Cleaner_Client_Header_Timeout): new constant.
	(Default_Cleaner_Client_Data_Timeout): new constant.
	(Default_Cleaner_Server_Response_Timeout): new constant.
	(Default_Force_Wait_For_Client_Timeout): new constant.
	(Default_Force_Client_Header_Timeout): new constant.
	(Default_Force_Client_Data_Timeout): new constant.
	(Default_Force_Server_Response_Timeout): new constant.
	(Cleaner_Wait_For_Client_Timeout): new function.
	(Cleaner_Client_Header_Timeout): new function.
	(Cleaner_Client_Data_Timeout): new function.
	(Cleaner_Server_Response_Timeout): new function.
	(Force_Wait_For_Client_Timeout): new function.
	(Force_Client_Header_Timeout): new function.
	(Force_Client_Data_Timeout): new function.
	(Force_Server_Response_Timeout): new function.

2001-05-18  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-client.adb:
	(Read_Chunk): new implementation. Do not use a recursive algorithm
	 to read the data to work-around a problem with gigantic stack size
	 used to build the result. Patch contributed by Wiljan Derks.

	* aws-server.adb:
	(Check_Timeouts): removed.
	(Abort_On_Timeout): new parameter Done.
	(Free_Slot): new function.
	(Get): change entry guard.
	(Line_Cleaner): new implementation. Fix another problem with abortion.
	(Line): check if there is some slot available, if not force
	 abortion of one.

	* aws-server.ads:
	(Check_Timeouts): removed.
	(Abort_On_Timeout): new parameter Done.
	(Free_Slot): new function.

2001-05-18  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-server-protocol_handler.adb:
	(P_List): new variable.
	Many changes in the code to use routines in AWS.Parameters instead
	 of the removed ones in AWS.Status. Cleaner design.
	Reset P_List at each iteration.
	Associate the P_List with the C_Stat at each iteration.

	* aws-status-set.ads, aws-status-set.adb:
	(Request): remove Parameters routine's parameter.
	(Parameters): renamed Binary.
	(Parameter): removed.

	* aws-status.adb:
	(Parameter_Name): moved to AWS.Parameters.
	(Parameter): idem.
	(count): idem.
	(Normalize_Name): idem.
	(Parameter): new procedure to add a parameter list to the status
	 record.
	Remove unused unit Ada.Characters.Handling.

	* aws-status.ads:
	(Data): remove discriminant.
	(Parameter_Name): moved to AWS.Parameters.
	(Parameter): idem.
	(count): idem.
	(Normalize_Name): idem.
	(Parameter): new procedure to add a parameter list to the status
	 record.

	* aws-server.adb:
	Remove some debuging code.

	* aws-server-get_status.adb:
	Remove unused unit Interfaces.C.

	* aws-parameters.ads:
	Redesign. All routine to change the parameters list are now in a
	 child package.
	(Empty_Set): removed.
	(Set): renamed List.
	(Add): moved to child package.
	(Release): rename Reset and moved to child package.
	Update copyright notice.
	Reformatting.

	* aws-parameters.adb:
	Redesign. All routine to change the parameters list are now in a
	 child package.
	(Add): moved to child package.
	(Release): rename Reset and moved to child package.
	Update copyright notice.
	Reformatting.

	* aws-parameters-set.ads, aws-parameters-set.adb:
	Initial revision.

2001-05-15  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-status.adb:
	(Has_Session): new function.

	* aws-status.ads:
	(Has_Session): new function.
	(Normalize_Name): minor reformatting.

	* aws-client.adb:
	Minor reformatting.

2001-05-14  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-server-protocol_handler.adb:
	(Send_File): fix wrong order of header lines.

	* aws-client.adb:
	Minor reformatting.

	* aws-server-get_status.adb:
	(Slot_Table): updated to use new Is_Abortable function. Remove
	 specific handling for missing peername. This is now handled by
	 the template page.

	* aws-server-protocol_handler.adb:
	(Send_File): correctly send Cookie: and Date: header when file is
	 up-to-date.

	* aws-server.adb:
	(Check_Timeouts): is now a function (was a procedure).
	(Abort_Oldest): removed.
	(Abort_On_Timeout): new procedure.
	(Is_Abortable): new function.
	(Set_Abortable): removed.
	(Abortable_Count): removed.
	(Get): change implementation, use now the timeouts.
	(Line_Cleaner): use the standard timeouts to check for abortion.
	 This is a better implementation using less active checks.

	* aws-server.ads:
	(Slot): remove Abortable field.
	(Timeout_Mode): new type.
	(Timeouts): new array.
	(Check_Timeouts): is now a function (was a procedure).
	(Abort_Oldest): removed.
	(Abort_On_Timeout): new procedure.
	(Is_Abortable): new function.
	(Set_Abortable): removed.
	(Abortable_Count): removed.

2001-05-13  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-server-protocol_handler.adb:
	(Send_File): Send Date: field in the 304 case (up to date).

	* aws-server-protocol_handler.adb:
	Set properly the status of the socket actvity using Mark_Phase.

	* aws-server.adb:
	(Mark_Activity_Time): removed.
	(Mark_Phase): added.
	(Check_Timeouts): new procedure.
	(Set_Abortable): new procedure.
	Many changes to use new field Phase and Phase_Time_Stamp instead
	 of Opened and Activity_Time_Stamp.
	(Line_Cleaner): new algorithm to detect client not sending data
	 for some time. In this case we mark the slot Abortable.

	* aws-server.ads:
	(Client_Header_Timeout): new constant set to 5 seconds.
	(Slot): remove Opened and Activity_Time_Stamp fields, add Phase
	 and Phase_Time_Stamp.
	(Mark_Activity_Time): removed.
	(Mark_Phase): added.
	(Check_Timeouts): new procedure.
	(Set_Abortable): new procedure.
	(HTTP): add comments for the fields.

	* aws-server-get_status.adb:
	(Slot_Table): do not use Opened but Phase.

2001-05-09  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-session.ads:
	(ID): defined using Max_Int.

	* aws-hotplug-get_status.adb:
	Use suffix _V for vector tag (was _L for historical reasons).

	* aws-server-get_status.adb:
	(Session_Table): Update to use Matrix_Tag. There is no more HTML
	 tag hard coded. Use suffix _V for vector tag (was _L for
	 historical reasons).

	* aws-server-protocol_handler.adb:
	(Parse): fix bug in parsing the Cookie line. Some format were not
	 supported.

2001-05-07  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-session.adb:
	A lot of changes to simplify the code to handle session data. The
	 AVL tree now use the SID instead of the string image of
	 it. Change all routines to support this new architecture. This
	 simplification should also improve the performance.

	* aws-response.ads:
	(URL): fix comment.

	* aws-session.adb:
	(Delete): new procedure.
	(SID_Random): new package.
	(SID_Generator): new variable.
	(Database.Delete_Session): new entry.
	(Clean): variable Now is now a constant.
	(New_Session): change implementation to used to random session ID.
	Reset SID_Generator at package elaboration.

	* aws-session.ads:
	(Delete): new procedure.
	(ID): change to a larger interger based type.

2001-05-06  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-status.adb:
	Minor reformatting.

	* aws-server.ads:
	Update comment.

	* aws-response.ads:
	Minor reformatting.
	Update copyright notice.

	* aws-server-protocol_handler.adb:
	(Answer_To_Client): Set Peername before calling user's callback.

	* aws-status.adb:
	(Peername): new function.

	* aws-status.ads:
	(Data): add field Peername.
	(Peername): new function.

	* aws-status-set.ads, aws-status-set.adb:
	(Peername): new procedure.

	* aws-server.adb:
	(Abort_Oldest): raise Internal_Error instead of displaing a bug
	 message. This should never happen anyway.

	* aws-response.ads:
	(Default_Handler): removed.

	* aws.ads:
	(Version): set 0.10.
        Update copyright notice.

	* aws-status.adb:
	(Parameter): remove Case_Sensistive parameter. More efficient
	 implementation in the non case sensitive case.
	(Normalize_Name): new procedure.
        Update copyright notice.

	* aws-status.ads:
	(Data): add discriminant Parameters_Case_Sensitive. Default is set
	 to True. CGI parameters are case sensitive by default.
	(No_Data): removed.
	(Parameter): remove Case_Sensistive parameter.
	(Normalize_Name): new procedure.
        Update copyright notice.

	* aws-status-set.adb:
	(Parameters): Set name to upper case if no case sensitive parameters
	 requested.
	(Reset): Free Binary_Data parameter (avoid memory leak). Initialize
	 all parameters to their default value.
        Update copyright notice.

	* aws-server.adb:
	(Start): add many parameters that were HTTP discriminant. Initialize
	 HTTP new parameters.
	(Set_Abortable): better implementation.
	(Abort_Oldest): better implementation.
	(Get): is now a protected entry. (better implementation). We
	 should not call this entry if there is no free slot available
	 except if some Slot have an abortable state. This should fix some
	 browser hanging.
	(Line): do not anymore output message about line beeing
	 closed. This was a message for the AWS early days to ease
	 debugging and does not need to be there anymore.
        Update copyright notice.

	* aws-server.ads:
	(HTTP): remove all discriminants except Max_Connection. All values
	 will be set by the Start procedure. This is more dynamic.
	(Start): add many parameters that were HTTP discriminant.
	(Abort_Oldest): fix comments.
	(Slots): add Abortable_Count variable.
        Update copyright notice.

	* aws-server-protocol_handler.adb:
	Call Status.Set.Reset at start of the loop (simplify code).
	(C_Stat): Add discriminant to declaration.
	(Will_Close): handle case for Netscape HTTP/1.0 and Keep-Alive
	 connection. Should fix some more server hanging.
        Update copyright notice.

	* aws-communication-server.adb:
	(Start): use new HTTP definition (only one discriminant) others
	 setting are done through the Server.Start procedure.
        Update copyright notice.

2001-05-04  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-server-get_status.adb:
	(Slot_Table): Add Peer_Name to the vector tag list (PEER_NAME_L).

2001-05-02  Pascal Obry  <p.obry@wanadoo.fr>

	* aws.ads:
	(Version): set to 0.9.12.

	* aws-session.adb:
	(UID): new type.
	(SID_Prefix): new string constant.
	(New_Session): session ID is now based on the current time to be
	 sure that a session ID is uniq. This was not the case before and
	 in some case 2 clients could have the same SID, hence sharing the
	 same session data.
	(Image): use SID_Prefix.
	(Value): use SID_Prefix'Length.

	* aws-session.ads:
	(ID): change type to a 40 bits integer based value.

	* aws-server-protocol_handler.adb:
	(Parse): fix cookie token offset when reading the the cookie
	 data. This was a serious bug in the AWS session feature.

2001-05-01  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-server-protocol_handler.adb:
	(Answer_To_Client): use PNG images instead of GIF images for
	 built-in server status page.

2001-04-29  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-client.adb:
	(Get): init Persistent field to False.
	(Head): idem.
	(Put): idem.
	(Post): idem.
	(Persistence): new function.
	(Send_Command): do not always send Keep-Alive, use new Persistence
	 function.
	(Create): add Persistent parameter to create a Keep-Alive
	 connection.

	* aws-client.ads:
	(Create): add Persistent parameter to create a Keep-Alive
	 connection.
	(HTTP_Connection): add Persistent field.

	* aws-server-protocol_handler.adb:
	(Will_Close): fix test, we want a keep-alive connection by default
	 (i.e. client says nothing about the connection).

	* aws-server.ads:
	(Keep_Open_Duration): set to 80 seconds to match standard browser
	 expectation.

2001-04-28  Pascal Obry  <p.obry@wanadoo.fr>

	* makefile:
	(clean): remove build_std file. Was preventing to build a non SSL
	 AWS version after a SSL one.

	* aws.ads:
	(Version): set to 0.9.11.

	* aws-server.adb:
	(Increment_Slot_Activity_Counter): new procedure.

	* aws-server.ads:
	(Slot): add Slot_Activity_Counter.
	(Increment_Slot_Activity_Counter): new procedure.

	* aws-server-protocol_handler.adb:
	Set increment slot activity counter.
	Fix check for "close" connection (if not keep-alive).

	* aws-server-get_status.adb:
	Add handling of slot activity counter.

	* aws-messages.ads, aws-messages.adb:
	(Does_Not_Match): new function.

	* aws-client.adb:
	(Disconnect): use proper order for Is_Math parameters.
	(Put): idem.

	* aws-server-protocol_handler.adb:
	(Will_Close): new boolean.
	(Header_Date_Serv): removed.
	(Send_Connection): removed.
	(Send_General_Header): new procedure implementing
	 Header_Date_Servname and Send_Connection.
	(Protocol_Handler): set Will_Close before answerting to the client
	 to be sure that we are sending the "close" request before
	 actually closing the socket (Fix from Dmitriy Anisimkov). This
	 patch will certainly fix problem with hanging browser, waiting
	 for an answer from the server.

2001-04-27  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-server-protocol_handler.adb:
	Minor reformatting.
	(Answer_To_Client): Use URL API instead of Moved.
	(Send_File): let Name_Error propagate outside of the routine.

	* aws-hotplug-get_status.adb:
	Many changes to use new Templates_Parser API.

	* aws-server-get_status.adb:
	Lot of changes to use new Templates_Parser API.

	* aws-response.adb:
	(URL): new function.

	* aws-response.ads:
	(URL): new function.
	Minor reformatting.

	* aws-mime.adb:
	Minor reformatting.

2001-03-13  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-net.ads:
	Minor style update.

	* aws-net-ssl.adb:
	(Init): do not propagate Lib_Error exception if the default
	 certificate has not been found. The certificate could be selected
	 by users later.

2001-03-10  Pascal Obry  <p.obry@wanadoo.fr>

	* aws.ads:
	(Version): set to 0.9.10

	* aws-server.adb:
	(Geet_Peername): Fix C_Getpeername call prototype to match latest
	 version of Adasocket.

	* aws-server-get_status.adb:
	(Slot_Table): do not ouput Socket value if it is not open.

	* aws-config.adb:
	(Regexp): fix typo (patch from Sune Falck).

2001-03-06  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-server-protocol_handler.adb:
	Minor reformatting.

	* aws-messages.ads:
	(Authorization): new function.
	(Host): new function.
	(Proxy_Connection_Token): new constant.
	(Proxy_Connection_Range): new subtype.
	(Proxy_Connection): new function.
	(Accept_Token): new constant.
	(Accept_Range): new subtype.
	(Accept_Type): new function.
	(Accept_Laguage_Token): new constant.
	(Accept_Language_Range): new subtype.
	(Accept_Language): new function.
	(Proxy_Authorization_Token): new constant.
	(Proxy_Authorization_Range): new subtype.
	(User_Agent_Token): new constant.
	(User_Agent_Range): new subtype.
	(User_Agent): new function.

	* aws-messages.adb:
	(Proxy_Connection): new function.
	(User_Agent): new function.
	(Accept_Language): new function.
	(Accept_Type): new function.
	(Proxy_Connection): new function.
	(Authorization): new function.
	(Host): new function.

	* aws-client.ads, aws-client.adb:
	(HTTP_Connection): new private type (keep-alive client
	 implementation, checked-in for Dmitriy Anisimkov)
	(Create): new procedure.
	(Get): new procedure.
	(Head): new procedure.
	(Put): new procedure
	(Post): new procedure.
	(Close): new procedure.
	(Retry_Defaul): new constant.
	Improve comments.

2001-03-05  Pascal Obry  <p.obry@wanadoo.fr>

	* makefile:
	Simplify it and add some comments.

2001-02-16  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-server-protocol_handler.adb:
	(Get_Message_Data): Use Content_Length to read POST message
	 data. Avoid to lost some data.

	* aws-translater.adb:
	(Base64_Decode) Fix problem with '=' handling.

2001-01-10  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-server-protocol_handler.adb:
	(Send_File): handle exception when a file is not found. We don't
	 want to crash in this case.
	(File_Upload): handle properly the server name on the server side.
	(Answer_To_Client): return an error message in case status.tmplt
	 file can not be found.

	* aws-communication-server.ads:
	Fix comments.

2001-01-03  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-client.adb:
	(Get_Response): Use MIME type declaration instead of strings.

	* aws-server-protocol_handler.adb:
	(Protocol_Handler): Use MIME type declaration instead of strings.

	* aws-response.ads:
	(Acknowledge): Use MIME type declaration instead of strings.
	Fix typo.

	* aws-response.adb:
	(Acknowledge): Use MIME type declaration instead of strings.
	(Authenticate): idem
	(Moved): idem

	* aws-os_lib.adb:
	(GMT_Clock): Fix month number.

	* aws-mime.adb:
	MIME type declarations moved to the spec. Fix casing.

	* aws-mime.ads:
	Move MIME type declaration here from the body.

2000-11-21  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-os_lib.adb:
	(Is_Regular_File): do not return an exception but return False if
	 file does not exist.
	(Is_Directory): idem.

2000-11-12  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-response.adb:
	Put routine in alpha order.

	* aws-response.ads:
	Comment API.

	* aws-server-protocol_handler.adb:
	Lot of change to use AWS.Status.Set instead of AWS.Status.

2000-11-12  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-status.adb:
	Move all routines to set the status to aws-status-set.adb.
	Set routine in alpha order.

	* aws-status.ads:
	Move all routines to set the status to aws-status-set.ads. This is
	cleaner from a user point of view as this unit contain only
	usefull routines.

	* aws-status-set.ads, aws-status-set.adb:
	Initial revision.

	* aws-server-protocol_handler.adb:
	(Target_Filename): use Config.Upload_Directory instead of the
	 obsolete one in AWS.Server.Config.

	* aws-config.adb:
	(Upload_Directory): new function.
	(Initialize): handle Upload_Directory parameter.

	* aws-config.ads:
	(Upload_Directory): new function.

2000-11-11  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-server-protocol_handler.adb:
	Minor comment update.

	* aws-log.adb:
	(Start): add Split parameter.
	(Write): check if log file need to be changed (daily, monthly).

	* aws-log.ads:
	(Split_Mode): new type.
	(Start): add Split parameter.
	Update comments.

	* aws-config.ads, aws-config.adb:
	Initial revision.

2000-11-09  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-server-protocol_handler.adb:
	(Send_File): do not propagate exception.

2000-10-29  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-net.ads:
	Comment unit.

2000-10-28  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-client.adb:
	(Get_Response): new parameter Get_Body. Read message body only if
	 Get_Body is set.
	(Head): new function.

	* aws-client.ads:
	(Head): new function.

	* aws-os_lib.adb:
	(GMT_Clock): renaming of OS_Clock. Correct implementation that
	 does return the GMT time.

	* aws-os_lib.ads:
	(GMT_Clock): renaming of OS_Clock.

	* aws-server-protocol_handler.adb:
	(Header_Date_Serv): use GMT_Clock (was OS_Clock).

2000-10-22  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-communication-server.adb:
	Add missing Receive prototype. (fix style error).

	* makefile:
	(SOURCES): add aws-log.adb aws-hotplug.adb aws-communication.adb
	 aws-communication-server.adb aws-communication-client.adb
	 aws-server-hotplug.adb

	* aws-hotplug.adb:
	(Apply): fix style error.

	* aws-utils.adb:
	(Gethostname): fix style error.

	* aws-hotplug.ads, aws-hotplug.adb:
	(Move_Up): new procedure.
	(Move_Down): new procedure.

	* aws-server-get_status.adb:
	(Get_Status): add ADMIN tag in the Translations table.

	* aws-server-hotplug.adb:
	(Message): Use string constants Register_Message and
	 Unregister_Message.

	* aws-server-hotplug.ads:
	(Register_Message): new string constant.
	(Unregister_Message): new string constant.

	* aws-server-protocol_handler.adb:
	(Answer_To_Client): Handle hotplug status page items.

2000-10-22  Pascal Obry  <p.obry@wanadoo.fr>

	* aws.ads:
	(Version): set to 0.9.9.

	* aws-server-protocol_handler.adb:
	(Answer_To_Client): look for Hotplug module before using the
	 server's default callback procedure. Handle hotplug status page
	 items.

	* aws-communication-client.adb:
	(Gethostname): moved to AWS.Utils.
	(Send_Message): use AWS.Utils.Gethostname.

	* aws-communication-server.adb:
	Removes code to start Server from the package elaboration code
	 This will now be done at runtime by the start procedure.
	(Start): new procedure.
	(Context): new global variable.
	(Com_Server): is now an HTTP_Access.
	(Shutdown): free the memory associated with the Com_Server.
	(Receive): pass the Context to the callback.

	* aws-communication-server.ads:
	Removes generic formal parameter Port and add a type T (and its
	 access type). This is to be able to pass a context to the
	 Callback generic formal function.
	(Start): new procedure.

	* aws-communication.ads:
	(Parameters): improve comments.

	* aws-server.adb:
	Add with AWS.Session.

	* aws-server.ads:
	(HTTP_Access): type moved outside the private section.
	(HTTP): add field Filters.

	* aws-utils.adb:
	(Gethostname): new function.

	* aws-utils.ads:
	(Gethostname): new function.
	Removes pragma pure.

	* aws-server-get_status.adb:
	Add Hotplug translate table.

	* aws-hotplug-get_status.ads, aws-hotplug-get_status.adb:
	Initial revison.

	* aws-server-hotplug.ads, aws-server-hotplug.adb:
	Initial revision.

	* aws-hotplug.ads, aws-hotplug.adb:
	Initial revision.

2000-10-20  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-net-std.adb:
	Minor comment casing fixes.

	* aws-mime.adb:
	(Dot_Jpeg): fix string value.

2000-10-18  Pascal Obry  <p.obry@wanadoo.fr>

	* aws.ads:
	(Version): set to 0.9.5.

	* aws-communication-client.ads, aws-communication-client.adb:
	Initial revision.

	* aws-communication-server.ads, aws-communication-server.adb:
	Initial revision.

	* aws-communication.ads, aws-communication.adb:
	Initial revision.

2000-10-17  Pascal Obry  <p.obry@wanadoo.fr>

	* aws.ads:
	(Version): set to 0.9.2 (previous check-in was wrong).

	* aws-session.ads, aws-session.adb:
	(Shutdown): new procedure.

	* aws-server.adb:
	(Start): start session server only if needed.
	(Shutdown): stop session server.
	(Line): do not display error message if we are in a shutdown process.

	* aws-server.ads:
	(HTTP): add boolean field Shutdown.

2000-10-16  Pascal Obry  <p.obry@wanadoo.fr>

	* makefile:
	(SOURCES): add aws-utils.adb, aws-key_value.adb and aws-log.adb

	* aws.ads:
	(Version): set to 0.9.2.

	* aws-session.adb:
	(Get_Value): Use new Update_Node prototype.
	(Key_Exist): Use new Update_Node prototype.
	(Set_Exist): Use new Update_Node prototype.
	Remove comment out code.

	* aws-log.ads, aws-log.adb:
	Initial revision.

	* aws-parameters.adb:
	(Image): removed use Utils.Image instead.
	(Add): Use new Update_Node prototype.

	* aws-server.adb:
	(File_Upload_UID): new protected object.
	(Set_Peername): new procedure.
	(Get_Peername): new procedure.
	(Get_Peername): new procedure.
	Removes unused with (not used anymore with GNAT 3.13)

	* aws-server.ads:
	(Slot): add Peername field.
	(Set_Peername): new procedure.
	(Get_Peername): new procedure.

	* aws-utils.ads, aws-utils.adb:
	Initial revision.

	* aws-server-protocol_handler.adb:
	(Answer_To_Client): write log.
	(Target_Filename): add a UID to the name to avoid name clash.
	Use Utils.Image instead of a local version.

2000-10-14  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-server.ads:
	(HTTP): move up Self field.

	* aws-parameters.ads, aws-parameters.adb, aws-session.adb:
	Remove use of Avl_Tree_Generic, implementation now use
	 AWS.Key_Value package shared by two units right now. It reduces
	 the overall size of AWS executables.

	* aws-key_value.ads, aws-key_value.adb:
	Initial revision.

2000-10-10  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-status.ads:
	(Count): new function.
	(Parameter): add parameter N.

	* aws-parameters.adb:
	Add some documentation about the underlying implementation.
	(Internal_Get): new function.
	(Add): support Key with multiple values.
	(Count): new function.
	(Get): add parameter N, use Internal_Get.

	* aws-parameters.ads:
	(Count): new function.
	(Get): add parameter N.

	* aws-status.adb:
	(Set_Parameters): fix bug when parsing an empty parameter at the
	 end of the list.
	(Count): new function.
	(Parameter): add parameter N, implement returning the Nth value.

2000-10-09  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-server-protocol_handler.adb:
	(Send_Message): send Location field is needed.

	* aws-response.adb:
	(Acknowledge): add initialization for new Location field.
	(Authenticate): add initialization for new Location field.
	(Build): add initialization for new Location field.
	(Moved): new function.
	(File): add initialization for new Location field.
	(Location): return the Location field.

	* aws-response.ads:
	(Default_Moved_Message): new constant.
	(Moved): new function.
	(Data): Add field Location.

	* aws-messages.ads, aws-messages.adb:
	(Location): new function.

2000-10-08  Pascal Obry  <p.obry@wanadoo.fr>

	* makefile:
	(SOURCES): update list.
	(build): add build step for AWS.Parameters unit.

	* aws-client.adb:
	(Init_Connection): Host header data must reference the target
	 computer and not the proxy.
	Removes unused units.

	* aws-server-protocol_handler.adb:
	Fix bad casing and layout.

	* aws-server-config.ads:
	Fix bad casing.

	* aws-server-protocol_handler.adb:
	(Target_Filename): moved (one level up).
	(File_Upload): better way to check for file upload mode. Fix
	 algorithm to detect empty file upload parameter. Use new
	 Set_Parameter procedure.

	* aws-status.adb:
	Removes Ada.Text_IO (not used).
	(Set_Parameters): new procedure.

	* aws-status.ads:
	Minor reformatting.
	(Set_Parameters): new procedure.

2000-10-04  Pascal Obry  <p.obry@wanadoo.fr>

	* aws.ads:
	(Version): set to 0.9.

	* aws-status.ads:
	(Reset): new procedure.
	(Set_Multipart_Boundary): new procedure.
	(Multipart_Boundary): new function.
	(Data): parameter field is now a AWS.Parameters.Set.
	Add some comments.

	* aws-status.adb:
	(Multipart_Boundary): new function.
	(Parameter): complete reimplementation (more efficient now).
	(Parameter_Name): idem.
	(Reset): new procedure.
	(Set_Multipart_Boundary): new procedure.
	(Set_Parameters): complete reimplementation (more efficient now).
	(Set_Request): call to Set_Parameters to setup the form
	 parameters.

	* aws-server.ads:
	(Default_Upload_Path): new constant.
	(HTTP): add field Upload_Path.

	* aws-server.adb:
	(Start): set the Web_Server.Upload_Path	to the default value.

	* aws-server-protocol_handler.adb:
	(File_Upload): new procedure.
	(Value_For): new function.
	(Get_Message_Data): add some comments. Check if we have a
	 multipart form data (file upload) to handle.
	(Parse): correctly handle the Content-Type line. A Content-Type
	 can be followed by a boundary information when uploading a
	 file. Set the Multipart_Boundary if needed.
	(Protocol_Handler): reset the status data before handling a new
	 request.

	* aws-messages.ads:
	(Multipart_Form_Data): new constant.

2000-10-03  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-server-config.ads, aws-server-config.adb:
	Initial revision.

2000-10-01  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-parameters.ads, aws-parameters.adb:
	Initial revision.

2000-09-21  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-server.ads:
	(Slot): removes Quit field (was not used anymore).

	* aws-server.adb:
	(Get): properly set Abortable status here. minor reformatting.
	(Line): removes call to Set_Abortable.

	* aws-server-protocol_handler.adb:
	(Answer_To_Client): minor reformatting.
	(Get_Message_Header): set abortable status here.
	(Protocol_Handler): remove call to Set_Abortable.

	* aws-server-get_status.adb:
	removes Quit variable (does not exist anymore).

2000-09-20  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-server-protocol_handler.adb:
	(Send_File): close file if there is an exception raised during
	 transfert.

2000-09-16  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-mime.ads:
	Add some comments.

2000-09-11  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-client.adb:
	(Get_Host_Name): removed.
	(Port_Not_Default): new function.
	(Open_Socket): send correct "Host:" field.
	(Init_Connection): minor change to User-Agent field value.

2000-09-10  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-server-protocol_handler.adb:
	(Header_Date_Serv): Use OS_Lib.OS_Clock instead of Calendar.Clock.

	* aws-response.adb:
	(Acknowledge): add Content_Type string.
	Properly set the content type when message body non empty.

	* aws-response.ads:
	(Acknowledge): add Content_Type string.

2000-09-09  Pascal Obry  <p.obry@wanadoo.fr>

	* aws.ads:
	(Version): set to 0.8.2.

	* aws-client.adb:
	Minor reformatting.

2000-09-07  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-session.adb:
	(Cleaner): update Next_Run.

	* aws-server-protocol_handler.adb:
	Remove POSIX withed units, use AWS.OS_Lib instead.
	(File_Timestamp): removed.
	(Send_File_Time): new procedure.
	(Send_File_Size): new procedure.
	(Is_Valid_HTTP_Date): new function.
	(Header_Date_Serv): minor reformatting.
	(Send_File): check that the HTTP date filed is correctly
	 formated. Handle correctly HEAD method (From Sune Falck).
	(Send_File): remove use of POSIX. Send file in piece instead of
	 reading and sending the whole file. Should fix problem with very
	 big file. (From Sune Falck).

	* aws-os_lib.ads, aws-os_lib.adb:
	Initial revision.

2000-09-05  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-server-protocol_handler.adb:
	Add comments.
	Minor reformatting.

2000-09-04  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-server-protocol_handler.adb:
	(Answer_To_Client.Send_File): fix check for up-to-date file (fix
	 from Sune Falck).
	(Send_File): open file with shared=no (fix from Sune Falck).
	(Send_File.Send_File): remove a newline sent to the socket (fix
	 from Sune Falck).

	* aws.ads:
	(Version): set to 0.8.1.

	* aws-net-ssl.adb:
	(Connect): minor indentation.

	* aws-server-protocol_handler.adb:
	(Protocol_Handler): HTTP_Server parameter changed to "in out" mode.

	* aws-server.adb:
	(Protocol_Handler): HTTP_Server parameter changed to "in out" mode.

	* aws-server.ads:
	(Slot): initialize Activity_Time_Stamp.
	(Slots_Access): type removed.
	(HTTP): field slot is a protected type (was a protected access).

2000-09-02  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-session.adb:
	(Start): new procedure.
	(Cleaner): is now a task type.
	(Cleaner_Task): a pointer to a Cleaner task.

	* aws-session.ads:
	(Start): new procedure.

	* aws-server.adb:
	(Start): call Session.Start to start session server.

	* aws-session.adb:
	Fix some bad casing. Remove a space.

	* aws.ads:
	(Version): set to 0.8.

	* aws-status.ads:
	(Session): ne functions.
	(Set_Session): new procedure.
	(Data): add Session_ID field to this record.
	(No_Data): add intialization for new field Session_ID.

	* aws-status.adb:
	(Session): ne functions.
	(Set_Session): new procedure.

	* aws-server.ads:
	(Keep_Open_Duration): set to 30 seconds (was 120).
	(HTTP): add Session field.

	* aws-server-protocol_handler.adb:
	(Send_Session_Cookie): new boolean.
	(Create_Session): new procedure.
	(Header_Date_Serv): send a cookie to the client browser if needed.
	(Answer_To_Client): add code to return the AWS status page
	 logo. Call Create_Session to initialize session.
	(Parse): handle cookie.

	* aws-server-get_status.adb:
	(Session_Table): new function.
	(Slot_Table): rename all tag variable to end by _L and not _T
	(Get_Status): add tag variables LOGO and SESSION.

	* aws-messages.ads:
	(Cookie_Token): new constant.
	(Cookie_Range): new subtype.

	* aws-session.ads, aws-session.adb:
	Initial revision.

2000-09-01  Pascal Obry  <p.obry@wanadoo.fr>

	* aws.ads:
	(Version): set to 0.7

	* aws-server-get_status.ads:
	Initial revision.

	* aws-server-get_status.adb:
	Initial revision.

	* aws-server.adb:
	(Protocol_Handler): simplify prototype now that we have a
	 reference to the HTTP server (no need to drag around so much
	 data).
	(Line): remove many variable not needed anymore.
	(Start): add Admin_URI parameter.

	* aws-server.ads:
	(HTTP): add the field Self to the record. It is an auto-pointer
	 (i.e. pointing to itself).
	(Start): add Admin_URI parameter.

	* aws-server-protocol_handler.adb:
	(Protocol_Handler): simplify prototype now that we have a
	 reference to the HTTP server (no need to drag around so much
	 data). Simplify the code to use the HTTP reference.

	* aws-messages.ads:
	Fix typo.

2000-08-27  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-response.ads, aws-response.adb:
	(Acknowledge): add Message_Body parameter.

2000-08-23  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-translater.adb:
	(Decode_URL): fix a problem with null string parameter.

2000-08-14  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-server-protocol_handler.adb:
	(Get_Message_Data): do not decode URL parameters here.
	(Parameters): do not decode URL parameters here.

	* aws-server.adb:
	remove withed unit Translater (not used anymore).

	* aws-status.adb:
	(Parameter): decode URL parameter.

	* aws-status.ads:
	(Set_Authorization): new procedure
	(Authorization_Name): new function
	(Authorization_Password): new function
	(Data): new field Auth_Name and Auth_Password.

	* aws-status.adb:
	(Set_Authorization): new procedure
	(Authorization_Name): new function
	(Authorization_Password): new function

	* aws-server-protocol_handler.adb:
	Handle authorization protocol.

	* aws-messages.ads:
	Add Authorization_Token
	Sort constants in alphabetical order.

2000-08-01  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-server.adb:
	(Line): minor text message change.

	* aws-server-protocol_handler.adb:
	(Get_Message_Data): correctly detect a closed socket.
	(Get_Message_Header): idem

2000-07-28  Pascal Obry  <p.obry@wanadoo.fr>

	* aws-net-ssl.adb:
	(Accept_Socket): remove call to Init.
	(AWS.Net): add call to Init during elaboration of the package.

2000-07-26    Pascal Obry  <p.obry@wanadoo.fr>

	* aws.ads:
	(Version): updated to 0.6

	* aws-net.ads:
	Fix copyright notice.

	* aws-server.adb:
	Fix minor typo.

2000-07-26    Pascal Obry  <p.obry@wanadoo.fr>

	Integration of Dmitriy Anisimkov SSL implementation into AWS.

	* aws.ads:
	(Connection_Error): new exception.

	* aws-client.ads:
	(Post): new function.
	Fix copyright notive.

	* aws-client.adb:
	(Post): new function.
	(Init_Connection): add support for POST method
	(Open_Socket); new function.
	Fix copyright notive.

	* aws-net.ads:
	Initial revision

	* aws-net-ssl.adb:
	Initial revision

	* aws-net-std.adb:
	Initial revision

	* aws-server.ads:
	(Get): update comments
	(HTTP): add field Security.

	* aws-server.adb:
	Use AWS.Net
	(Line): handle security.

	* aws-server-protocol_handler.adb:
	Sock parameters is now a Socket_FD'Class.

	* aws-status.adb:
	Minor casing fix.

	* aws-url.ads:
	(Security): new function
	(Object): new field Security

	* aws-url.adb:
	(Parse): add support for HTTPS
	(Security): new function

2000-04-05    Dmitriy Anisimkov <anisimkov@iforex.net>

	* aws-client.adb:
	(Parse_Header): correctly initilialize Content_Length.

	* aws-connection.ads, aws-connection.adb:
	Removed not needed anymore.

	* aws-server.ads, aws-server.adb:
	Complete rewrite. more efficent implementation.

	* aws-server-protocol_handler.adb
	Initial revision. (most of the code here comes from AWS.Connection).

2000-04-05    Dmitriy Anisimkov <anisimkov@iforex.net>

	* aws-connection.ads:
	(Slot): add Aborted field.

	* aws-connection.adb:
	(Abort_Slot): new procedure
	(Line): use Abort_Slot. general cleanup.
	(Line_Cleaner): use Abort_Slot instead of Sosckets.Shutdown
	(Get_Free_Slot): idem

2000-04-01    Pascal Obry  <p.obry@wanadoo.fr>

	* aws-client.adb, aws-connection.adb, aws-messages.adb,
	  aws-translater.adb, aws-url.adb:
	Minor reformatting to conform to -gnaty switch.

2000-04-01    Pascal Obry  <p.obry@wanadoo.fr>

	* aws.ads
	(Version): changed to 0.4

	* aws-connection.ads:
	(Slot): moved here from the body as a limited private type. Abortable,
	 Activity_Time_Stamp, Sock fields added.
	(Line): add access to Slot discriminant

	* aws-connection.adb:
	(Slot): moved to spec
	(Counter): rename Free to Release. Free is now a function
	 returning True if some free Slot are available.
	(Free): removed.
	(Line_Cleaner): added
	(Line): Shut down properly the sockets when needed.
	(Get_Free_Slot): try abort some line slot if there is no free one.

2000-03-10    Pascal Obry  <p.obry@wanadoo.fr>

	* aws-connection.adb:
	(Line): never exit with an exception from the outer loop in this
	task. We have a pool of Line that gets recycled.

2000-03-05    Pascal Obry  <p.obry@wanadoo.fr>

	* aws-connection.adb:
	(line): do not send a message to the client when an exception has
	 occured since this is because the server has most certainly
	 closed the connection. (fixes from Dmitriy Anisimkov)

2000-02-14    Pascal Obry  <p.obry@wanadoo.fr>

	* aws-client.adb:
	(Get): Handle status 301 (moved permanently) with Location message.
	(Read_Message): new function

	* aws-messages.ads:
	(Location_Token): new constant

	* aws-response.ads, aws-response.adb:
	(Location): new function

2000-02-05    Pascal Obry  <p.obry@wanadoo.fr>

	* aws-clients.adb:
	(Put): new function
	(Init_Connection): new function
	(Parse_Header): new function
	(Get): reorganized - use Init_Connection to Parse_Header

	* aws-clients.ads:
	(Put): new function

	* aws-messages.ads:
	(Head_Token): new constant
	(Form_Data): new constant
	(Content_Length): parameter changed from Positive to Natural
	(Www-Authenticate): new function

	* aws-messages.adb:
	(Content_Length): parameter changed from Positive to Natural
	(Www-Authenticate): new function

	* aws-response.ads:
	(Data_Mode): add Header to the enumeration
	(Content_Length): parameter changed from Positive to Natural
	(Acknowledge): new function

	* aws-response.adb:
	(Content_Length): parameter changed from Positive to Natural
	(Acknowledge): new function

	* aws-status.ads, aws-status.adb:
	(Set_Parameter): new function with Stream_Element_Array data
	(Set_Content_Type): new function
	(Content_Type): new function
	(Binary_Data): new function

	* aws-connection.adb:
	A lot of changes to handle PUT method and handle POST method with
	binary data.

2000-02-04    Pascal Obry  <p.obry@wanadoo.fr>

	* aws-clients.adb:
	(Get_Host_Name): new function use to get the host name to send to
	the server.

	* aws-messages.adb:
	(Weekday): fix minor bug (use local var for time)
	[patch from Sune Falck]

2000-01-24    Pascal Obry  <p.obry@wanadoo.fr>

	* aws.ads:
	(Internal_Error): exception added.

	* aws-client.adb:
	(Get): Fix sockets interface to use the UNIX compliant one.

	* aws-connection.adb:
	(Internal_Error): exception removed.

	* aws-messages.adb:
	(Status_Code_Image): new type to handle 3 digits status code
	(Status_Data): Code is now a Status_Code_Image
	(Status_Messages): change declaration to match new design.

2000-01-24    Sune Falck <Sune.Falck@swipnet.se>

	* aws-messages.adb:
	Changed Image to handle Natural instead of Positive, gave
	constraint_error for 0 in seconds and minutes. Image now returns a
	leading zero for numbers with only one digit so that time and day
	representation will be correct. Changed Month_Name to an array
	instead of a function. Changed Month_Number to use the array
	Month_Name. Added function Weekday.

2000-01-22    Pascal Obry  <p.obry@wanadoo.fr>

	* aws*.ad[sb]: this is to be considered the first version of AWS

2000-01-16    Pascal Obry  <p.obry@wanadoo.fr>

	* aws*.ad[sb]: this is the very first release.
