Inets Release Notes
Inets 2.5.4
Improvements and new features
- Support for choosing port number when opening FTP connection.
It is now possible to open a connection using a user specified port
number.
Default is still 21.
Own Id: OTP-3751
Fixed errors and malfunctions
- Wrong return value from FTP function recv_bin.
The function actually returned: {ok,{ok,binary()}} instead of {ok,binary()}
Own Id: OTP-3755
Aux Id: Seq 4958
- The HTTP server hangs due to unhandled info: {'EXIT',<0.12542.6>,badsig}
Crash of the listener process for this reason not handled.
Own Id: OTP-3793
Aux Id: Seq 5020
Known bugs and problems
- ftp:open(Host,Port) does not work. Use ftp:open(Host,Port,[]) instead.
Inets 2.5.3
Improvements and new features
- It's now possible to perform runtime upgrade/downgrade
of the HTTPD server from/to 2.5.1.
The upgrade/downgrade is rather crude: An application restart!
- Further improvment of handling of lack-of-resources situations.
Fixed errors and malfunctions
- CGI related problem with executable files on win32.
A problem related to the win32 platform and cgi caused HTTPD to fail to
detect executable files if the file name (of the retrieved file)
contained a "executanle" extension (i.e. '.exe', '.com' or '.bat').
Own Id: OTP-3627
- Heavy load state incorrect.
A special heavy load listener process was created when HTTPD reaches
the heavy load state. The next request was be rejected, regardless of
the actual state at that time.
Own Id: OTP-3528
Known bugs and problems
Inets 2.5.2
Improvements and new features
-
Now possible to run more then one HTTP server in a node listening
to the same port number but different addresses.
Own Id: OTP-3493
Fixed errors and malfunctions
-
Status code 404 incorrectly used instead of 500.
Own Id: OTP-3402
-
Handling of lack of resources (to many open files, ...) improved.
Own Id: OTP-3403, OTP-3461
-
Use of obsolete and not recommended functions removed.
Functions httpd_conf:is_directory/1 and httpd_conf:is_file/1 has changed
so that when they are called with a path which is not a directory (in the
first case) or file (in the second case) then the return value will be
{error,FileInfo},
where FileInfo is now a file_info record according to kernel/include/file.hrl.
Own Id: OTP-3405
-
Call of non-existing function 'inet:getaddr/1' in httpd_conf:load/2 Corrected.
Own Id: OTP-3457
-
Call to non-existing module 'http_conf' in mod_auth:load/2. Corrected.
Own Id: OTP-3459
-
An error (module mod_include) in the parsing of SHTML files could cause
the handling process to crash. The reason was the reading of files was
done in chunks. If a directive or comment starts at the end of a chunk
but ends in the next chunk, this was taken as EOF and an exception was
thrown. This exception was not handled which caused the process to crash.
Own Id: OTP-3527
-
The FTP failure 'File system full' during file transfer is not handled properly.
Own Id: OTP-3268, OTP-3503
Known bugs and problems
-
It is not possible to perform runtime upgrade from older versions.
This is temporary and will be fixed in the next release
Inets 2.5.1
Improvements and new features
-
New option added to httpd_core: BindAddress. BindAddress defines which
address the server will listen to.
Bugs reported since R5 has been fixed.
Own Id: OTP-3295
Inets 2.5
Fixed errors and malfunctions
-
Possible error codes from http_socket were not handled. Corrected.
Own Id: OTP-3214
Aux Id: Seq 3752
Improvements and new features
-
Errors in the examples and documentation were corrected.
Own Id: OTP-3263
Aux Id: seq 3921
Inets 2.3
Fixed errors and malfunctions
-
ftp:open crashed if connection was closed before a complete welcome message
was received, this is now fixed.
Own Id: OTP-2723
Aux Id: HA98434, seq 1151
Improvements and new features
-
The authentication modules have been rewritten with support for dets, plain
and mnesia authentication databases. There is also a new module called
'mod_secrity', which implements security event logging and notification.
Both the mod_auth and mod_security modules have an API for the programmer
that implements functions they will require to have full control over access
restricted parts of a site. NOTE: The mod_auth_mnesia module does not implement
the API previously found there, please see the mod_auth documentation.
Own Id: OTP-2281
Aux Id: seq 740,OTP-2273
-
Support for the sockets application has been removed from INETS, use SocketType
ssl or ip_comm instead.
Own Id: OTP-2848
-
The HTTP server has got improved efficiency through recognition of the
'If-Modified-Since' header field.
Own Id: OTP-2870
-
CGI scripts are now supported on Windows aswell as UNIX platforms.
Own Id: OTP-2915
-
mod_auth now supports the 'deny from' directive.
Own Id: OTP-2982
-
The HTTP server now experimentaly supports persistent connections (as defined
in RFC2068). This is the first step towards HTTP/1.1 support. Enabling
this feature may greatly improve performance, as the server then uses the
same TCP connection for more than one HTTP request. Two new configuration
directives are defined for httpd_core: KeepAlive max-requests KeepAliveTimeout
seconds
Own Id: OTP-3032
1.1 INETS 2.2.5
1.1.1 Fixed Bugs and Malfunctions
- The server-side include parsing (
mod_include(3)
)
no longer has problems with big HTML files. These
problems previously resulted in a memory intensive emulator
and lingering processes.
Own Id: OTP-2507
- HTTP-1.1 requests are now accepted; even though the
server is HTTP-1.0 compliant. HTTP-1.1 uses the same external
protocol as HTTP-1.0 anyway; as defined in RFC 1945.
Own Id: OTP-2679
1.1.2 Known bugs and problems
- If a Web browser connect itself to an SSL enabled server
using a URL not starting with
https://
the
server will hang due to an ugly bug in the SSLeay package!
1.2 INETS 2.2.2
1.2.1 Fixed Bugs and Malfunctions
- "unknown" is not always put into the remotehost field
of access logs when the obsolote sockets type is used. The
remotehost field is furthermore always a numerical IP
address even if the new ip_comm socket type is used.
Own Id: OTP-2225, seq 682
- The server does a complete cleanup even though
httpd:stop/1 wasn't used to terminate the server.
Own Id: OTP-2229
- The server now uses the new inet(3) distribution
mechanism as default if the
SocketType
directive
not is used in the server configuration, i.e. as stated in
httpd_core(3)
.
Own Id: OTP-2554
- The
ErrorLog
and ErrorDiskLog
directives now handles absolute file paths on Windows
NT/95.
Own Id: OTP-2504, seq885
1.2.2 Known bugs and problems
- If a Web browser connect itself to an SSL enabled server
using a URL not starting with
https://
the
server will hang due to an ugly bug in the SSLeay package!
1.3 INETS 2.2.1.1
1.3.1 Fixed Bugs and Malfunctions
- TCP errors is now taken care of.
Own Id: OTP-2389
- Passwords are now encoded before storage in Mnesia.
Own Id: OTP-2278,seq737
- httpd_socket:peername problem solved.
Own Id: OTP-2225,seq682
- "ErlScriptAlias all" makes the server accept client
access to all modules in the Erlang node.
Own Id: OTP-2285,seq743
1.3.2 Known bugs and problems
- If a Web browser connect itself to an SSL enabled server
using a URL not starting with
https://
the
server will hang due to an ugly bug in the SSLeay package!
1.4 INETS 2.2.1
1.4.1 Improvements and New Features
- The module mod_ecgi is now called mod_esi and the
"Module" config directive has to be updated accordingly.
(*** INCOMPATIBILITY with INETS 2.1 **)
- The config directives "ServerName", "Port",
"ServerRoot" and "DocumentRoot" are now mandatory.
(*** INCOMPATIBILITY with INETS 2.1 **)
- The default value for the config directive
"SocketType" is "ip_comm" (Erlang's new communication
mechanism) instead of the obsolete sockets dito.
(*** INCOMPATIBILITY with INETS 2.1 **)
1.4.2 Fixed Bugs and Malfunctions
- The access log format now uses a correct date format.
Own Id: OTP-2068
- ftp:open/2 no longer hangs indefinitely.
Own Id: OTP-2041, seq526
1.4.3 Known bugs and problems
- If a Web browser connect itself to an SSL enabled server
using a URL not starting with
https://
the
server will hang due to an ugly bug in the SSLeay package!
1.5 INETS 2.2
1.5.1 Improvements and New Features
- The server documentation has been thoroughly reviewed
and enhanced. The documentation has been grouped into 18
manual pages and the Erlang Web Server API (EWSAPI) is
described in detail.
Own Id: OTP-1439
- Mnesia based management of authentication data is now
supported. It is now possible to on-the-fly manage user and
group information to be used for authentication. (Read
more about this in the EWSAPI module
mod_auth_mnesia
description).
Own Id: OTP-1591
Own Id: OTP-1491
- An alternative mechanism for storage of log
information is no supported. This mechanism uses
disk_log(3)
to enable the use of wrap logs
etc. (Read more about this in the EWSAPI module
mod_disk_log
description).
Own Id: OTP-1491
- A new config directive
SocketType
has been added
making it possible to specify which communication
mechanism to use, i.e. ip_comm
, sockets
or
ssl
. ip_comm
is the default choice if nothing
is specified in the server config file. (Read more about
SocketType
in httpd_core(3)
.
Own Id: OTP-1600
- A new mandatory config directive
ServerName
has been added telling the server about its actual host
name. ServerName
must be specified for the server
to start. (Read more about
ServerName
in httpd_core(3)
.
- Server-Side Includes is now supported. (Read more about
this in the EWSAPI module
mod_include
description).
- Filetype/method-based script execution is now
supported (Read more about this in the EWSAPI module
mod_actions
description).
- Basic directory indexing is now supported (Read more
about this in the EWSAPI module
mod_dir
description).
- The
ftp
client has been extended with a set of new
functions: delete/2
, recv_bin
, rename
,
rmdir
, send_bin
, and functions for sending file
chunks.
Own Id: OTP-1724, OTP-1803
1.5.2 Fixed Bugs and Malfunctions
- It is now possible to start a server using
erl
command's -s
option.
Own Id: OTP-1444
- Erlang CGI-scripts now correctly handles %3A character
sequences in the CGI
QUERY_STRING
Own Id: OTP-1459
Aux Id: HA54106
- The
ftp
client now correctly receives a file in
the current directory of the client
Own Id: OTP-1809
- The
ftp
client is now linked to the owner.
Own Id: OTP-1802
1.5.3 Known bugs and problems
- If a Web browser connect itself to an SSL enabled server
using a URL not starting with
https://
the
server will hang due to an ugly bug in the SSLeay package!
1.6 INETS 2.1
1.6.1 Improvements and New Features
Secure Sockets Layer (SSL) is now supported. Read more about
SSL in the OTP SSL application.
- Erlang CGI-scripts now correctly handles colons (:)
in the
QUERY_STRING
Own Id: OTP-1444
- httpd beam start-up configuration problems solved.
Own Id: OTP-1467
Aux Id: HA54102
1.6.2 Known bugs and problems
- It is currently not possible to start a server using
erl command's
-s
option!
- If a Web browser connect itself to an SSL enabled server
using a URL not starting with
https://
the
server will hang due to an ugly bug in the SSLeay package!
- That the ftp client did not check for eof in a file
read, has been corrected.
Own Id: OTP-1572
1.7 INETS 2.0
1.7.1 Improvements and New Features
The Web server has been totally redesigned and now
supports the Erlang Scripting Interface (ESI),
CGI-1.1, User Authentication, Common Log
Format , URL Aliasing, Mime Type
Settings, Erlang Web Server API (EWSAPI) and
External Config Files (Apache style) etc.
1.7.2 Known bugs and problems
It seems that there is a problem starting the server using
the erl
command's -s
option!
1.8 INETS 1.0.2
1.8.1 Fixed Bugs and Malfunctions
- A file with a
.js
file suffix is now mime
stamped with application/x-javascript
(Ticket: OTP-1221).
- Output produced by an Erlang CGI script is now parsed
before delivery, i.e. a valid response status code is generated,
e.g.
Location: http://www.yahoo.com\n\n
generates the
status code 302 to inform the client of the redirect declared
in the Location:
field (Ticket: OTP-1227).
1.9 INETS 1.0.1
1.9.1 Improvements and New Features
- Addition of
httpd:parse_query/1
which parses input
to eval and erl scripts.
- Examples in
httpd_example
+ documentation has been
updated and no longer use flatten
and ++
as
extensively. Cause: It is OK to return nested lists to a
port, term_to_binary/1
and size/1
.
- It is now OK to use "/" instead of ":" in eval and
erl scripts as
module:function
separator.
1.9.2 Fixed Bugs and Malfunctions
- Manually started HTTP servers (
start/6
) no longer
linked to the eshell (gosh!). - Data transfer is now gracefully stopped if a HTTP
client aborts a HTTP request.
- Input to erl and eval script no
longer gets automatically (and wrongly) converted (+ made
into space and %xx made into the appropriate
character). Use the new
parse_query
function
instead.
1.10 INETS 1.0
New application.