From 84adefa331c4159d432d22840663c38f155cd4c1 Mon Sep 17 00:00:00 2001 From: Erlang/OTP Date: Fri, 20 Nov 2009 14:54:40 +0000 Subject: The R13B03 release. --- lib/inets/doc/src/notes_history.xml | 1826 +++++++++++++++++++++++++++++++++++ 1 file changed, 1826 insertions(+) create mode 100644 lib/inets/doc/src/notes_history.xml (limited to 'lib/inets/doc/src/notes_history.xml') diff --git a/lib/inets/doc/src/notes_history.xml b/lib/inets/doc/src/notes_history.xml new file mode 100644 index 0000000000..53375c9aa7 --- /dev/null +++ b/lib/inets/doc/src/notes_history.xml @@ -0,0 +1,1826 @@ + + + + +
+ + 20042009 + Ericsson AB. All Rights Reserved. + + + The contents of this file are subject to the Erlang Public License, + Version 1.1, (the "License"); you may not use this file except in + compliance with the License. You should have received a copy of the + Erlang Public License along with this software. If not, it can be + retrieved online at http://www.erlang.org/. + + Software distributed under the License is distributed on an "AS IS" + basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See + the License for the specific language governing rights and limitations + under the License. + + + + Inets Release Notes History + + + + + + 04-09-30 + A + notes_history.sgml +
+ +
+ Inets 4.7.17 + +
+ Fixed Bugs and Malfunctions + + +

[HTTP client] - Could fail in retry_pipeline/2 due to an + incorrect assumption of an internal returnvalue.

+

Own Id: OTP-6791

+
+ +

[HTTP client] - The check of the value of the transfer + encoding has been updated so that it is case insensitive.

+

Own Id: OTP-6807

+
+ +

[HTTP client] - When receiving a 304 "Not Modified" + reply, the httpc_handler will no longer expect to receive + a HTTP body.

+

Own Id: OTP-6821

+
+ +

[HTTP client] - Parsing of the HTTP response failed when + there was no headers fields in the response.

+

Own Id: OTP-6830

+
+
+
+ +
+ Improvements and New Features + + +

[HTTP server] - Started clean up of code so that it uses + stdlib functions instead of reinventing them.

+

Own Id: OTP-6808

+
+
+
+ +
+ +
+ Inets 4.7.16 + +
+ Improvements and New Features + + +

Minor Makefile changes.

+

Own Id: OTP-6689

+
+ +

http_base_64:encode/decode and + httpd_util:to_upper/to_lower are now deprecated, as these + functions has been moved to stdlib, using them will now + cause an compiler warning and the documentation of them + has been removed.

+

Own Id: OTP-6716

+
+ +

When making an asynchronous HTTP request and the + underlying gen_tcp:connect failed with timeout (not a + very common case) the return of the asynchronous HTTP + request was delayed for "timeout" seconds. This happened + due to the fact that when spawning a gen_server process + the spawn will wait for the init function to complete. + This is now avoided using proc_lib and + gen_server:enter_loop/3, hence the asynchronous HTTP + request return will not be delayed. Also the request + timeout value is now propagated to gen_tcp rather that + relying on the system default.

+

Own Id: OTP-6735

+
+
+
+
+ +
+ Inets 4.7.15 + +
+ Fixed Bugs and Malfunctions + + +

[tftp] The TFTP client/server implements now a more + relaxed interpretation of the RFC 1350 regarding + re-receive of acknowledgments. If multiple copies of the + same acknowledgments is received the spurious ones are + silently ignored. This fix was intended for inets-4.7.14 + but accidentaly it was not included in that release.

+

Own Id: OTP-6706 Aux Id: OTP-6691

+
+
+
+ +
+ Improvements and New Features + + +

Minor Makefile changes.

+

Own Id: OTP-6689

+
+
+
+
+ +
+ Inets 4.7.14 + +
+ Fixed Bugs and Malfunctions + + +

[tftp] The TFTP client/server implements now a more + relaxed interpretation of the RFC 1350 regarding + re-receive of acknowledgments. If multiple copies of the + same acknowledgments is received the spurious ones are + silently ignored.

+

Own Id: OTP-6691

+
+
+
+
+ +
+ Inets 4.7.13 + +
+ Improvements and New Features + + +

[tftp] The TFTP client/server implements now a more + relaxed interpretation of the RFC 1350 regarding + re-receive of data packets. If multiple copies of the + same data packet is received the spurious ones are + silently ignored.

+

Own Id: OTP-6642

+
+
+
+
+ +
+ Inets 4.7.12 + +
+ Improvements and New Features + + +

[httpd] - When calling httpd:restart there was a file + descriptor and ets table leek due to the fact that the + semantics of the function restart is not restart but + reload.

+

Own Id: OTP-6573 Aux Id: seq10607

+
+ +

[tftp] Crash in tftp_engine:terminate/3 caused big crash + report. The file was however transferred as normal, but + the ugly printout is now gone.

+

Own Id: OTP-6596 Aux Id: seq10618

+
+
+
+
+ +
+ Inets 4.7.11 + +
+ Fixed Bugs and Malfunctions + + +

[http] - Chunked encoding updated to handle the empty + chunk.

+

Own Id: OTP-6511

+
+ +

[http] - Removed minor bugs and dead code found by + dialyzer.

+

Own Id: OTP-6522

+
+
+
+
+ +
+ Inets 4.7.10 + +
+ Improvements and New Features + + +

[httpd] - The server no longer produces error messages + when the client resets the the connection. This is not an + error as far as the server is concerned.

+

Own Id: OTP-6484 Aux Id: seq10568

+
+ +

[tftp] The server is now silent by default. Error + messages can however be displayed by setting the debug + level to 'error' (new) or higher.

+

Own Id: OTP-6498

+
+
+
+
+ +
+ Inets 4.7.9 + +
+ Fixed Bugs and Malfunctions + + +

Bug in in handling of request timers has been corrected.

+

Own Id: OTP-6476

+
+
+
+ +
+ Improvements and New Features + + +

[tftp] - Daemon was only able to process one request when + fd option was given.

+

Own Id: OTP-6480

+
+
+
+
+ +
+ Inets 4.7.8 + +
+ Fixed Bugs and Malfunctions + + +

[ftp, httpc] - Updated the internal ensure_started + functions to handle that inets was started as an included + application.

+

Own Id: OTP-6409 Aux Id: seq10546

+
+
+
+ +
+ Improvements and New Features + + +

[httpd] - Guard added to API function + httpd_util:integer_to_hexlist/1.

+

Own Id: OTP-6397

+
+ +

[tftp] - Introduced ability to use prebound ports (see + the option {port, Port} for more info). Added peer info + (host and port) as new optional argument to prepare and + open functions in tftp callback modules.

+

Own Id: OTP-6413

+
+
+
+
+ +
+ Inets 4.7.7 + +
+ Fixed Bugs and Malfunctions + + +

[httpd] - The http server could throw away pipelined + requests leaving the client hanging.

+

Own Id: OTP-6310

+
+ +

[ftp] - Code for handling fallback to ipv4 was not + exhaustive.

+

Own Id: OTP-6312

+
+ +

[httpd] - Incorrect handling of ipv6 address would crash + the loading of the BindAddress parameter, which had the + consequence that you could not start more than one HTTP + server on an erlang node.

+

Own Id: OTP-6323

+
+ +

[httpc] - Some 30X codes, as for instance 302, should not + always be automatically redirected but in inets-4.7.6 some + restrictions where made too hard, never allowing an + automatic redirection. (Automatic redirect should be + allowed for get and head.)

+

Own Id: OTP-6332

+
+ +

[ftp] - The mode flag that could be used to force ftp + active mode was ignored. Only the deprecated function + force_active/1 works for prior releases to this one.

+

Own Id: OTP-6342

+
+
+
+ +
+ Improvements and New Features + + +

[httpc] - Added debug feature to turn on/off some basic + erlang tracing on client processes.

+

Own Id: OTP-6326

+
+
+
+
+ +
+ Inets 4.7.6 + +
+ Fixed Bugs and Malfunctions + + +

[httpc] - The parsing of uri's was rewritten so that it + should handle all types of uri's including ipv6 uri's.

+

Own Id: OTP-5677

+
+ +

[httpc, httpd] - Extensions and trailers where not + properly handled by the chunk decoding implementation.

+

Own Id: OTP-6005 Aux Id: OTP-6264

+
+ +

[httpc] - A request resulting in an empty body is now + returned without any delays.

+

Own Id: OTP-6243

+
+ +

[httpc] - When http:request/4 was used with a configured + proxy, and the webserver returns 3XX code, http:request/4 + entered an endless loop. Two problems was solved in this + area, the absolute uri is now updated when a redirect is + issued, so that the problem in this case will not arise, + and the redirection endless loop detection was fixed so + that will actually detect potential endless loops.

+

Own Id: OTP-6244

+
+ +

[httpc, httpd] - In some cases if a body contained the + sequence "\\r\ + 0" and was chunked encoded this sequence + was incorrectly interpreted as the last chunk.

+

Own Id: OTP-6264 Aux Id: OTP-6005

+
+ +

[httpc, httpd] - http_request.erl didn't handle https + URIs, which meant that redirects from ESI did not work.

+

Own Id: OTP-6274

+
+ +

[httpc, httpd] - The base 64 decoder was missing a guard + so that invalid input lead to an emulator crash instead + of a function clause as expected. Also the http server + has been improved to handle the function clause error + returning a bad credentials reply to the client.

+

Own Id: OTP-6279

+
+ +

[httpc] - Changed internal default value as it sometimes + would be interpreted incorrectly causing the client to + return an incomplete body.

+

Own Id: OTP-6283

+
+ +

[httpc] - Handling of 30X codes was changed so that it + works according to the documentation. For instance 301 + and 302 codes will not be automatically redirected.

+

Own Id: OTP-6297

+
+ +

[httpc] - A bug in the pipeline-handling code could cause + a response to be sent to the client with an incorrect + request id.

+

Own Id: OTP-6303

+
+
+
+ +
+ Improvements and New Features + + +

[httpc] - Added feature to send header values as they + where typed by the user of the client. Note that the http + standard requires them to be case insensitive. This + feature should only be used if there is no other way to + communicate with the server or for testing purpose.

+

Own Id: OTP-5527

+
+ +

[httpc] - When using asynchronous HTTP-request it is now + possible to receive "200-responses" as streams instead of + having to wait until the whole response has been + delivered. It also possible to stream "200-response + bodys" to a file both for synchronous and asynchronous + requests.

+

Own Id: OTP-6263

+
+ +

[httpc] - Added option to generate Proxy-Authorization + header from provided proxy username and password.

+

Own Id: OTP-6280

+
+
+
+
+ +
+ Inets 4.7.5 + +
+ Fixed Bugs and Malfunctions + + +

[FTP] Change documentation so that it agrees with the + default behaviour of the code regarding the use of + transfer type, which is right according to rfc959.

+

Own Id: OTP-6018

+
+ +

[ftp] The application handles the case if the owning + process terminates with the reason 'shutdown'.

+

Own Id: OTP-6035

+
+ +

[ftp] Handle file errors from the FTP server.

+

Own Id: OTP-6036

+
+ +

[httpd] Header parsing of reply from cgi script incorrect.

+

Own Id: OTP-6145

+
+ +

[ftp] The timeout given in the ftp:open call was not + properly used, which could leave the caller hanging + forever.

+

Own Id: OTP-6184

+

Aux Id: seq10388

+
+ +

[httpd] HTTPD request handler does not handle unexpected info + properly, which causes an unnecessarily obscure error + message.

+

Own Id: OTP-6189

+

Aux Id: seq10395

+
+ +

[http] Misc fixes in the URI parsing module.

+

Igor Goryachev

+

Own Id: OTP-6191

+
+
+
+ +
+ Improvements and New Features + + +

Added application interface module: inets.

+

Own Id: OTP-6135

+
+
+
+
+ +
+ Inets 4.7.4 + +
+ Fixed Bugs and Malfunctions + + +

Removed code generating compiler warnings

+

Own Id: OTP-6069

+
+
+
+ +
+ Improvements and New Features + + +

[tftp] Added documentation (manual page) for + TFTP.

+

Own Id: OTP-6082

+
+
+
+
+ +
+ Inets 4.7.3 + +
+ Fixed Bugs and Malfunctions + + +

[http,server] started dbg even though no debugging was + desired.

+

Own Id: OTP-5984 Aux Id: seq10290

+
+ +

[http,server] request handler process died ugly due to a + parse error when validating a bad request.

+

Own Id: OTP-6003 Aux Id: seq10260

+
+
+
+
+ +
+ Inets 4.7.2 + +
+ Fixed Bugs and Malfunctions + + +

[http,server] Server falsely sets ipv6 enabled when it + gets an ipv4-mapped ipv6 address.

+

Own Id: OTP-5941 Aux Id: seq10221

+
+ +

[http,server] In case http version is unknown of client + use HTTP1.0 to send status.

+

Own Id: OTP-5943 Aux Id: seq10198

+
+ +

[http,server] The process handling a request now ignores + garbage messages.

+

Own Id: OTP-5961 Aux Id: seq10198

+
+ +

[http,server] Changed some actions taken if config data + in httpd services was faulty.

+

Own Id: OTP-5962 Aux Id: seq10198

+
+
+
+
+ +
+ inets 4.7.1 + +
+ Fixed Bugs and Malfunctions + + +

[http,server] It was possible to read arbitrary files on + server by prepending ././ and ../../ in front of the file + name.

+

Own Id: OTP-5938

+
+
+
+
+ +
+ Inets 4.7 + +
+ Fixed Bugs and Malfunctions + + +

[http,server] Handling of undefined file times (e.g. + modification time: the mtime field on the file_info + record).

+

Own Id: OTP-5865 Aux Id: OTP-5844

+
+
+
+ +
+ Improvements and New Features + + +

[http,server]It is now possible to set the wanted timeout + for the server to setup a request connection. A new + syntax for inets.config is provided in the users guide + documentation. This syntax also allows to set tracing of + the server for debug purposes.

+

Own Id: OTP-5913 Aux Id: seq10198

+
+
+
+
+ +
+ Inets 4.6.2 + +
+ Fixed Bugs and Malfunctions + + +

[http,server] Had earlier forgot to convert a value in + entity_body to a binary.

+

Own Id: OTP-5796

+
+ +

[http,server] Now application checks whether the + necessary directives under directive Directory exist.

+

Own Id: OTP-5821

+
+
+
+
+ +
+ Inets 4.6.1 + +
+ Fixed Bugs and Malfunctions + + +

[http, client] If an Ipv4-mapped ipv6 address is used the + client now falls back on ipv4.

+

Own Id: OTP-5773 Aux Id: OTP-5765, OTP-5764

+
+ +

[http,server] Content-length may got a too low value, + causing loss of data in clients.

+

Own Id: OTP-5775 Aux Id: seq10110

+
+
+
+ +
+ Improvements and New Features + + +

[http, client] The verbose mode prints what was sent and + received during a request. Added a verbose option + that can be used by http:set_options/1

+

Own Id: OTP-5766

+
+
+
+
+ +
+ Inets 4.6 + +
+ Fixed Bugs and Malfunctions + + +

[ftp, client] - Improvement of error handling if + something goes wrong while handling the option list in + ftp:open/[1,2,3].

+

Own Id: OTP-5711

+
+ +

[ftp, client] - Error when parsing a multiple FTP + response line. The last line in a multiple response must + be the response code followed by a space. A server may + have intermediate lines that start with the response code + even if this is not recommended. The parsing missed to + make sure that that space was present in what it + considered to be the last line.

+

Own Id: OTP-5712

+
+ +

[http, client] - The HTTP client will now retry a + pipelined request that was unsuccessful due to the fact + that the server unexpectedly closed the pipeline + connection.

+

Own Id: OTP-5728

+
+ +

[http, server, esi] - Under some circumstances mod_esi + would send a corrupted content-length header.

+

Own Id: OTP-5735

+
+ +

[http, server, get] - Removed debug printout which + caused a confusing "Socket closed"-printout at high + load.

+

Own Id: OTP-5762 Aux Id: seq10101

+
+ +

FTP: a data connection setup to the ftp server that + failed caused a crash of the client. Now it is handled + smoothly.

+

Own Id: OTP-5738

+
+ +

[ftp] If host name is a ipv4 tuple ftp erroneous tries to + connect as a ipv6 address with the ipv4 address.

+

Own Id: OTP-5764

+
+ +

[ftp] Handles connect to ipv6/ipv4 address differently + according to a change in inet:getaddr.

+

Own Id: OTP-5765

+
+
+
+ +
+ Improvements and New Features + + +

[http, server] - The HTTP request handling was remoduled + to have a more straight forward error-handling. And the + internal debug strategy was changed to use tracing + instead of debug macros, which means we do not have to + write special debug code.

+

Own Id: OTP-5729

+
+ +

ftp:ls towards different ftp servers resulted in + different return results. E.g. the solaris 9 default + server caused {ok,[]} while older servers caused + {error,epath} as the result. For backwards + compatibility the behaviour has been changed to the old + result.

+

Own Id: OTP-5731

+
+ +

[http, server] - The documentation for the HTTP server + has been partly rewritten and very restructured too + provide a better overall picture. Lots of information + provided by "semi manual pages" has been moved to the + Users Guide.

+

Own Id: OTP-5752

+
+ +

FTP: verbose mode now also prints what the client sends + on the control channel.

+

Own Id: OTP-5753

+
+
+
+
+ +
+ Inets 4.5.4 + +
+ Fixed Bugs and Malfunctions + + +

[ftp, client] - Timing related issues could sometimes + cause the ftp response to be delayed.

+

Own Id: OTP-5705 Aux Id: seq10055

+
+ +

[http, server, esi] - The dispatching of the post body to + the esi callback function was broken.

+

Own Id: OTP-5706

+
+
+
+
+ +
+ Inets 4.5.3 + +
+ Fixed Bugs and Malfunctions + + +

[ftp, client] - The FTP error code 550 was handled in an + unexpected way. Some earlier versions of inets had a + workaround for this in ftp:recv_bin/2 that was eliminated + during restructuring of the ftp module while implementing + ipv6 capabilities. The problem is now fixed.

+

Own Id: OTP-5682 Aux Id: seq10048

+
+ +

[http, client] Post request with a body in binary format + failed as length was used instead of size.

+

Own Id: OTP-5686

+
+ +

[ftp, client] - For some FTP commands the FTP server will + send more than one reply on the FTP control channel. In + the case of a fast FTP server the client would sometimes + wrongly disregard the second answer as trailing garbage + attached to the first reply.

+

Own Id: OTP-5690 Aux Id: seq10055

+
+
+
+ +
+ Improvements and New Features + + +

[ftp, client] - A new option {progress, {CBmodule, + CBFunction, InitProgressTerm} has been added to allow + users to create things such as progress bars in there + GUI's. The option affects ftp:send/[3,4] and + ftp:recv/[3,4].

+

Own Id: OTP-5680

+
+ +

[http, client] - Added new API function http:request/1

+

Own Id: OTP-5691

+
+ +

[httpd, server] - mod_cgi is implemented according to + CGI-1.1 RFC 3875, an early implementation was based on + some draft that is not totally compliant to the RFC. + Documentation was updated. Also some code was + restructured to facilitate testing and maintenance of the + server.

+

Own Id: OTP-5694

+
+
+
+
+ +
+ Inets 4.5.2 + +
+ Fixed Bugs and Malfunctions + + +

[ftp, client] Calling ftp:recv/2 twice on the same + connection failed due to that the last message on the + ctrl channel was not appropriately taken care of. This + could potentially cause a problem for any operation + performed on the same connection where there had + previously been an ftp:recv/2 call. Also, in some cases, + when the process tries to close the data connection, it + does not take into account that the data connection may + actually not have been established.

+

Own Id: OTP-5662 Aux Id: seq10004, seq9988

+
+ +

[ftp, client] Enhanced error handling, mainly so the ftp + client behaves gracefully when the user does strange + things such as violate the user API.

+

Own Id: OTP-5665

+
+
+
+ +
+ Improvements and New Features + + +

[ftp, client] Added open option: mode.Deprecates + function force_active/1.

+

Own Id: OTP-5663

+
+
+
+
+ +
+ Inets 4.5.1 + +
+ Fixed Bugs and Malfunctions + + +

[http, server] The server did not handle the config + directive BindAddress value "*" properly. + When creating the option list for the listen call, + everything beside the atom undefined (if BindAddress + was never given) and an 4-tuple (e.g. BindAddress + value is 192.168.0.30) was incorrectly assumed to be + an ipv6 address. + For undefined (no BindAddress), Inets attempts to + figure out if it is running on a ipv6-machine, and if + so, add the inet6 option when calling listen. The + same approach should be used when BindAddress is + assigned the value "*".

+

Own Id: OTP-5642

+
+ +

Some data doesn't pass through http_base_64:decode/1 correctly. + The decoding routine fails whenever a 4-character group of the + encoding ends with "9" or "99". If it ends with 99, two bytes + will be lost in the decode routine. If it ends with a single 9, + one byte will be lost in the decode.

+

Own Id: OTP-5635 Aux Id: seq9971

+
+ +

[http, server,esi] Web server does not handle status-code + returned by an esi function. I.e. the esi-function + can no longer control the status code.

+

Own Id: OTP-5648 Aux Id: seq9982

+
+ +

[http, server,esi] Corrected header format. First character + was lower case, and there where no space after the ":" + character, example: content-length:0. Now, first character + was upper case, and a space after the ":" character, + example: Content-Length: 0 (To preserve + backward compatibility with the de-facto standard as the + new way does not break the HTTP standard!)

+

Own Id: OTP-5649 Aux Id: seq9982

+
+ +

[http, server, cgi] Parsing of the status header field could + cause a crash.

+

Own Id: OTP-5650 Aux Id: seq9982

+
+
+
+
+ +
+ Inets 4.5 + +
+ Fixed Bugs and Malfunctions + + +

The internal design of using blocking gen_tcp:recv with a + timeout and retries resulted in code that was hard to get + a good overview of, and ultimate led to situations where + the client got the wrong answer or no answer at all. The + errors where many times very timing dependent and mainly + effected the chunk-related functions, so if you where + lucky you probably would not have noticed. The internal + design was changed to use gen_tcp active once semantics. + The API is not effected except for the function + ftp:quote/2 which now returns a list of strings (ftp + result lines) where the line endings "\\r\ + " has been + removed. This was the original intention for the return + value of ftp:quote/2 but it was non trivial to make a + good such solution with the old design and a compromise + was made.

+

*** POTENTIAL INCOMPATIBILITY ***

+

Own Id: OTP-5623

+
+ +

The new implementation of pipelining in inets-4.1 alas + was slightly broken and unfortunately not caught by the + test suite that apparently needs some additions. The + result was that requests that ought to have been + pipelined where not, this has now been fixed.

+

Own Id: OTP-5624

+
+ +

When using the latest esi interface with the callback + interface of arity 3, HTTP Content-Type headers where + ignored, this due to a subtle difference between this + interface and the old one in how they viewed HTTP + delimiters.

+

Own Id: OTP-5627

+
+
+
+ +
+ Improvements and New Features + + +

The HTTP server now supports ipv6 in the case that the + underlying mechanisms also do so. (ssl does not yet + support ipv6.)

+

Own Id: OTP-5141

+
+ +

The FTP client now supports ipv6 in the case that the + underlying mechanisms also do so.

+

Own Id: OTP-5142

+
+ +

An option was added to disable the ipv6 support in the + HTTP client. This to provide a workaround possibility for + buggy ipv6-stacks.

+

Own Id: OTP-5625 Aux Id: seq9872

+
+ +

When generating dynamic HTTP response bodies the the + default content-type is now set to "text/html" instead of + "text/plain" which is more intuitive.

+

*** POTENTIAL INCOMPATIBILITY ***

+

Own Id: OTP-5626

+
+
+
+
+ +
+ Inets 4.4.1 + +
+ Fixed Bugs and Malfunctions + + +

Wrapper function http_transport:accept/3 did + error-handling that it should not do because only the + caller of the wrapper can determine what action to take. + So timeouts where handled twice, once in http_transport + and once in httpd_acceptor. Clean up of the wrapper + module http_transport changed the action of the wrapper + module and made the unwanted behavior noticeable in in + OTP error logs. And now the unwanted error handling has + been removed. The cleanup helped us find bad code but + alas it also generates a lot of log printouts that are + quite disturbing to the user of the HTTP-server.

+

Own Id: OTP-5549 Aux Id: seq9851

+
+ +

In the rewrite for 4.4 some mod_esi-environment values + where mistaken for ordinary header values and where + incorrectly transformed to strings. They are now atoms + again.

+

Own Id: OTP-5551 Aux Id: seq9854

+
+ +

The HTTP server now handles "GET /\\r\ + \\r\ + " as well as + "GET / \\r\ + \\r\ + ". According to the RFC the whitespace is + not needed.

+

Own Id: OTP-5552 Aux Id: seq8426

+
+
+
+ +
+ Improvements and New Features + + +

The ftp client now supports passive mode. Actually the + ftp client will always try to use passive mode and if it + fails it will use active mode instead. It is also + possible to force the ftp-client to use active mode, if + that is desired, by calling ftp:force_active/1 this way + you can get the old behavior.

+

*** POTENTIAL INCOMPATIBILITY ***

+

Own Id: OTP-5148

+
+
+
+
+ +
+ Inets 4.4 + +
+ Fixed Bugs and Malfunctions + + +

The server did not handle HTTP-0.9 messages with an + implicit version.

+

Own Id: OTP-5513

+
+ +

An internal server timeout killed the request handling + process without sending a message back to the client. As + this timeout only affects a single request it has been + set to infinity (if the main server process dies the + request handling process will also die and the client + will receive an error). This might make a client that + does not use a timeout hang for a longer period of time, + but that is an expected behavior!

+

Own Id: OTP-5514 Aux Id: seq9806

+
+ +

That a third party closes the http servers accept socket + is recoverable for inets, hence inets will only produce + an info report as there was no error in Inets but + measures where taken to avoid failure due to errors + elsewhere.

+

Own Id: OTP-5516 Aux Id: seq9806

+
+ +

The HTTP client proxy settings where ignored. Bug + introduced in inets-4.3.

+

Own Id: OTP-5517

+
+ +

Inets only sent the "WWW-Authenticate" header at the + first attempt to get a page, if the user supplied the + wrong user/password combination the header was not sent + again. This forces the user to kill the browser entirely + after a failed login attempt, before the user may try to + login again. Inets now always send the authentication + header.

+

Own Id: OTP-5521

+
+ +

A major rewrite of big parts of the HTTP server code was + performed. There where many things that did not work + satisfactory. Cgi script handling can never have worked + properly and the cases when it did sort of work, a big + unnecessary delay was enforced. Headers where not always + treated as expected and HTTP version handling did not + work, all responses where sent as version HTTP/1.1 no + matter what.

+

Own Id: OTP-5537

+
+
+
+
+ +
+ Inets 4.3.1 + +
+ Fixed Bugs and Malfunctions + + +

When further testing the functionality of https requests + that goes through a proxy. We realised that alas this can + not currently be supported as it requires features from + the ssl implementation that is not currently available. + So for now an error message will be returned when trying + to use this functionality.

+

Own Id: OTP-5453

+
+ +

When trying to get a url from a server that does not + exist the client hanged instead of returning an error + message. Bug introduced in inets-4.3.

+

Own Id: OTP-5454

+
+
+
+
+ +
+ Inets 4.3 + +
+ Fixed Bugs and Malfunctions + + +

Tunneling of SSL through a proxy has now been + implemented. However due to lack of test sites this has only + partially been verified, it is likely that there will + have to be future improvements in this area.

+

Own Id: OTP-5443

+
+
+
+ +
+ Improvements and New Features + + +

The pipeline timeout was changed to be zero by default to + avoid that people by accident would create connection + processes that never dies and eats up the socket + resources.

+

*** POTENTIAL INCOMPATIBILITY ***

+

Own Id: OTP-5442

+
+ +

Altered the way spawn_link is used in mod_esi to avoid + getting, in this scenario unwanted error reports, from + spawn_link. (The behavior of spawn_link was altered in a + not backwards compatible way.)

+

Own Id: OTP-5444

+
+
+
+
+ +
+ Inets 4.2.1 + +
+ Fixed Bugs and Malfunctions + + +

Sometimes EWS modules where called with an Info record + where the peername field was {-1, "unknown"}. This could + happen when a client was making a lot of requests which + it discards before they where answered by the server. The + server now ignores such requests and does not call the + EWS modules in this case.

+

Own Id: OTP-5380 Aux Id: seq9739

+
+ +

The HTTP-server now returns the 408 status code upon a + request timeout as expected instead of the previous + faulty behavior of sending a 500 status code.

+

Own Id: OTP-5409

+
+ +

The content length was put in to the HTTP-headers as an + integer instead of as a string.

+

Own Id: OTP-5410

+
+ +

It was wrongly presumed that code:priv_dir would always + be writable due to how the test-server works. The + directory is now a configuration parameter in the + inets-application configuration file. Failing to + configure it will result in that all cookies are treated + as session cookies.

+

Own Id: OTP-5411

+
+
+
+ +
+ Improvements and New Features + + +

An undocumented beta version of tftp is included.

+

Own Id: OTP-5419

+
+
+
+
+ +
+ Inets 4.2 + +
+ Fixed Bugs and Malfunctions + + +

When sending a request through a proxy the absolute URI + must be used.

+

Own Id: OTP-5368

+
+
+
+ +
+ Improvements and New Features + + +

Basic support for cookies was implemented. Later some + more functions to inspect cookies may be added.

+

Own Id: OTP-5331

+
+ +

A top tftp supervisor was added in preparation for adding + a tftp service in a future Inets release.

+

Own Id: OTP-5379

+
+
+
+
+ +
+ Inets 4.1 + +
+ Fixed Bugs and Malfunctions + + +

The URI check that disables relative links that goes + outside the server-root still missed a few cases, in + spite of the improvement in OTP-5140.

+

Own Id: OTP-5249

+
+ +

The http client pipelining implementation has been + rewritten as the old implementation was too optimistic + about when to pipeline. In the process of doing this also + the error handling was improved, better clean up is + performed when the request handling process terminates + and better handling of the case that the httpc_manager + process dies and is restarted.

+

Own Id: OTP-5303

+
+ +

Improved handling of status codes 30X and 50X.

+

Own Id: OTP-5309

+
+
+
+ +
+ Improvements and New Features + + +

The Inets supervision tree has been reorganized to create + a better balance between the Inets services. Preferably + they should not effect each other. The ftp service has + also been included in the Inets supervision tree, it was + for reasons unknown, not included before.

+

Own Id: OTP-5188

+
+ +

The service concept in Inets is now better documented.

+

Own Id: OTP-5189

+
+ +

The Inets shutdown times have proven to be too short + under some circumstances, as a heavy load, therefore they + have been prolonged.

+

Own Id: OTP-5261 Aux Id: seq9624

+
+ +

Options for automatic redirection and pipelining is now + available in the http client API.

+

Own Id: OTP-5304

+
+
+
+
+ +
+ Inets 4.0.1 + +
+ Fixed Bugs and Malfunctions + + +

A programming error could cause a badmatch in the + http-client when the http response was chunk decoded.

+

Own Id: OTP-5101

+
+ +

The parsing of HTTP messages was missing a base case. + This caused unexpected behavior when the separator CR and + LF where received in different tcp packets.

+

Own Id: OTP-5239

+
+
+
+
+ +
+ Inets 4.0 + +
+ Fixed Bugs and Malfunctions + + +

When receiving a status 100 code, the client should only + respond by sending the message body, if the client sent + an expect header in the first place. Failing to do so may + result in that the server receives the body twice.

+

Own Id: OTP-4848

+
+ +

mod_get now also handles http version HTTP/0.9

+

Own Id: OTP-4935 Aux Id: seq8426

+
+ +

"Last-modified" field was incorrectly set to local time + with the tag GMT, it is now corrected so that the time + reflected is in fact GMT.

+

Own Id: OTP-4936

+
+ +

The client will only add a host-field to the request if + there is not one already present.

+

Own Id: OTP-4984

+
+ +

The Inets application tries to be compatible with + Apache. To be more compatible the option + 'MaxKeepAliveRequest' is renamed 'MaxKeepAliveRequests'. + The old name is kept for backward compatibility.

+

Own Id: OTP-5024

+
+ +

Changing the base 64 decoding to not accept invalid + input, uncovered a logical error in mod_security.erl An + already decoded string was sent as input to decode. In + this case, as it so happened, the two errors worked + together creating the illusion that everything was right. + This has now been corrected.

+

Own Id: OTP-5083

+
+ +

URLs where not properly scrutinised for relative paths. A + malicious user could exploit this to read files outside + the document root. This is no longer the case.

+

Own Id: OTP-5140

+
+
+
+ +
+ Improvements and New Features + + +

A HTTP 1.1 client is officially included in Inets. It is + loosely based on the previously unsupported code + contributed by Johan Blom. In this first version only the + most basic HTTP functionality is supported. The user API + has been changed.

+

*** POTENTIAL INCOMPATIBILITY ***

+

Own Id: OTP-5047

+
+ +

Fixed erroneous link in documentation.

+

Own Id: OTP-5089 Aux Id: seq8887

+
+ +

Added the function quote/2 that lets you send an + arbitrary FTP command to the FTP client.

+

Own Id: OTP-5099 Aux Id: seq8961

+
+ +

Started integration of the HTTP client and server code + too facilitate maintenance and further development.

+

Own Id: OTP-5110

+
+ +

Due to several possibilities to interpret the ftp + standard some newer ftp-servers have interpreted the + standard in such a way that the documented return value + of ftp:nlist/2 does not always match the actual return + value. Some extra checks have now been added to ensure + the documented return value. This will also result in + that ftp:nlist is not bug compatible in the case that + nlist is given a filename instead of a directory it will + now return an error instead of {ok, FileName}.

+

*** POTENTIAL INCOMPATIBILITY ***

+

Own Id: OTP-5165

+
+ +

Created a Users Guide for Inets. Earlier there where some + fake manual pages and information was scattered + everywhere and hard to find.

+

Own Id: OTP-5180

+
+
+
+
+ +
+ Inets 3.0.10 + +
+ Fixed Bugs and Malfunctions + + +

[httpd] - When calling httpd:restart there was a file + descriptor and ets table leek due to the fact that the + semantics of the function restart is not restart but + reload. This is solved in inets-4.7.12 and this special + inets-3.0.10 release is intended for old systems only.

+

Own Id: OTP-6579 Aux Id: OTP-6573, seq10607

+
+
+
+
+ +
+ Inets 3.0.9 + +
+ Fixed Bugs and Malfunctions + + +

[http,server] Illegal hexadecimal code in URL was not + handled. The validation of URI:s are therefore updated.

+

Own Id: OTP-6078 Aux Id: seq10306

+
+
+
+
+ +
+ Inets 3.0.8 +

Special version featuring some small 4.1 improvements + without enforcing the big changes of the 4.X releases.

+ +
+ Fixed Bugs and Malfunctions + + +

The URI check that disables relative links that goes + outside the server-root missed a few cases.

+

Own Id: OTP-5249

+
+
+
+ +
+ Improvements and New Features + + +

The inets shutdown times have proven to be too short + under some circumstances, as a heavy load, therefore they + have been prolonged.

+

Own Id: OTP-5261 Aux Id: seq9624

+
+
+
+
+ +
+ Inets 3.0.7 + +
+ Reported Fixed Bugs and Malfunctions + + +

[httpd] Fixed a number of transfer-encoding problems.

+

First part of the data received from a CGI-script was sent + as chunked even if the client was HTTP/1.0.

+

Introduced new directive + (DisableChunkedTransferEncodingSend) to turn off usage + of chunked transfer-encoding (when sending) since it appear's + some browser's have problems handling this. This applies + if the client is HTTP/1.1.

+

(Own Id: OTP-4806) +

+ Aux Id: Seq 8150

+
+ +

[httpc] HTTP client reformats some URLs (e.g. containing %20, + space).

+

Updated client from sowap.sf.net as of 2003-09-08.

+

Johan Blom of Mobile Arts AB

+

(Own Id: OTP-4807)

+
+ +

[httpd] In module mod_browser, malformed search for parsed + header, user-agent.

+

Also added new os and browser

+

(Own Id: OTP-4808)

+
+ +

[ftp] FTP client doesn't notice when disk is full.

+

(Own Id: OTP-4822) +

+ Aux Id: Seq 8175

+
+
+
+
+ +
+ Inets 3.0.6 + +
+ Reported Fixed Bugs and Malfunctions + + +

On Windows the ftp:ls function sometimes exits.

+

Workaround for a problem that seems to happen only on Windows + when calling the ls function. Closing an already closed socket + will result in enotsock returned which will result in an exit.

+

(Own Id: OTP-4770)

+
+
+
+
+ +
+ Inets 3.0.5 + +
+ Reported Fixed Bugs and Malfunctions + + +

Web server does not handle econnaborted accept result.

+

This results in an unnecessary acceptor process restart.

+

(Own Id: OTP-4732)

+
+
+
+
+ +
+ Inets 3.0.4 + +
+ Reported Fixed Bugs and Malfunctions + + +

ESI callback generates broken HTTP.

+

This was a problem for (at least) Netscape 4.75. It worked for + Mozilla 1.4a (on Solaris 8) and rumor has it that it also worked + for IE.

+



+ Sean Hinde

+

(Own Id: OTP-4696)

+
+ +

Log-size values ignored for security- and error disk-logs + (SecurityDiskLogSize and ErrorDiskLogSize in mod_disk_log). + Instead the TransferDiskLogSize was used. +

+ Thomas Lange

+

(Own Id: OTP-4659)

+
+
+
+
+ +
+ Inets 3.0.3 + +
+ Reported Fixed Bugs and Malfunctions + + +

HTTP client called undefined function in HTTP server + (httpd_response:send_status/3).

+

(Own Id: OTP-4628)

+
+
+
+
+ +
+ Inets 3.0.2 + +
+ Reported Fixed Bugs and Malfunctions + + +

HTTP client now updated to jnets-0.1. +

+ Auther: Johan Blom of Mobile Arts AB.

+

(Own Id: OTP-4588)

+
+
+
+
+ +
+ Inets 3.0.1 + +
+ Improvements and new features + + +

FTP client now supports chunked receive. Proposal of Luke Gorrie + provided inspiration but not algorithm.

+

(Own Id: OTP-4549)

+
+ +

HTTP client updated to jnets-0.1, now supporting proxy. +

+ Auther: Johan Blom of Mobile Arts AB.

+

(Own Id: OTP-4552)

+
+
+
+ +
+ Reported Fixed Bugs and Malfunctions + + +

Body length calculation incorrect.

+

(Own Id: OTP-4548)

+

(Aux Id: OTP-4207, Seq 7209)

+
+ +

HTTP-request with a BODY length longer than 0 does not work.

+

(Own Id: OTP-4550)

+

(Aux Id: Seq 7653)

+
+ +

Calculation of remaining chunk size incorrect.

+

(Own Id: OTP-4551)

+
+ +

Wrong module name used when attempting to stop the security + server (mod_sec_server instead of mod_security_server).

+

(Own Id: OTP-4556)

+
+
+
+
+ +
+ Inets 3.0 + +
+ Improvements and new features + + Added HTTP client to the application. +

+ Auther: Johan Blom of Mobile Arts AB.
+ FTP: More info in exit reason when socket operation fails. +

+ (Own Id: OTP-4429)
+ Make install targets corrected (INSTALL_SCRIPT is used instead + of INSTALL_PROGRAMS for scripts). +

+ (Own Id: OTP-4428)
+ In inets, mod_cgi crashes when a directory is protected for + a group or for a user and we try to execute a CGI script + inside this protected directory. +

+ Guillaume Bongenaar. +

+ (Own Id: OTP-4416)
+ Removed crypto application dependency. +

+ Matthias Lang +

+ (Own Id: OTP-4417)
+ Use the same read algorithm for socket type ssl as is used + for ip_comm. As of version 2.3.5 of the ssl application it + is possible to use socket option {active, once}, so the same + algorithm can be used for both ip_comm and ssl. +

+ (Own Id: OTP-4374) +

+ (Aux Id: Seq 7417)
+ Added inets test suite to the release. Including the + lightweight inets test server. + Incorrectly formated disk log entries. + term_to_binary was (incorrectly) used for the + external format. +

+ Own Id: OTP-4228 +

+ Aux Id: Seq 7239
+ Adding verbosity printouts to 'catch' cgi problems on some + platforms. + +

Updated to handle HTTP/1.1.

+ + Persistent connections are now default for http/1.1 clients + Module mod_esi can send data to the client in chunks. + Updated configuration directives KeepAlive + +

New configuration directives:

+ + MaxKeepAliveRequest + ErlScriptTimeout + ErlScriptNoCache + ScriptTimeout + ScriptNoCache + +
+ New functions in httpd_utility to ease the development of + http/1.1 complaint modules. + Record mod has a new field absolute_uri. + All header field names in parsed_header is in lowercase. + httpd handles chunked requests. + New module mod_range that handles range-requests. + New module mod_responsecontrol that controls how + the request will be handled the due to the If-Modified, + If-Match and If-Range http header fields. +
+
+
+
+ +
+ Reported Fixed Bugs and Malfunctions + + POST requests not properly handled. +

+ (Own Id: OTP-4409) +

+ (Aux Id: Seq 7485)
+ +

Change in the inets API. +

+ (Own Id: OTP-4408) +

+ (Aux Id: Seq 7485)

+

*** POTENTIAL INCOMPATIBILITY ***

+

+
+ When opening the disk log (mod_disk_log), an open attempt + is made without a size option. If the file exist, then it is + opened. If the file does not exist, then another attempt is + made, this time with the size option. +

+ (Own Id: OTP-4281) +

+ (Aux Id: Seq 7312)
+ Changing of disk log format fails. Restart of webserver after + change of disk log format (DiskLogFormat) fails with + arg_mismatch. +

+ (Own Id: OTP-4231) +

+ (Aux Id: Seq 7244)
+
+
+
+
+ + -- cgit v1.2.3