summaryrefslogtreecommitdiff
path: root/lib/inets/doc
diff options
context:
space:
mode:
Diffstat (limited to 'lib/inets/doc')
-rw-r--r--lib/inets/doc/src/Makefile100
-rw-r--r--lib/inets/doc/src/http_client.xml2
-rw-r--r--lib/inets/doc/src/http_server.xml242
-rw-r--r--lib/inets/doc/src/http_uri.xml15
-rw-r--r--lib/inets/doc/src/httpc.xml44
-rw-r--r--lib/inets/doc/src/httpd.xml160
-rw-r--r--lib/inets/doc/src/httpd_custom_api.xml2
-rw-r--r--lib/inets/doc/src/httpd_socket.xml2
-rw-r--r--lib/inets/doc/src/httpd_util.xml10
-rw-r--r--lib/inets/doc/src/inets.xml8
-rw-r--r--lib/inets/doc/src/introduction.xml2
-rw-r--r--lib/inets/doc/src/mod_alias.xml14
-rw-r--r--lib/inets/doc/src/mod_auth.xml4
-rw-r--r--lib/inets/doc/src/mod_esi.xml15
-rw-r--r--lib/inets/doc/src/mod_security.xml19
-rw-r--r--lib/inets/doc/src/notes.xml265
-rw-r--r--lib/inets/doc/src/notes_history.xml2
-rw-r--r--lib/inets/doc/src/part.xml2
18 files changed, 375 insertions, 533 deletions
diff --git a/lib/inets/doc/src/Makefile b/lib/inets/doc/src/Makefile
index cbc0e384d8..a4405c5728 100644
--- a/lib/inets/doc/src/Makefile
+++ b/lib/inets/doc/src/Makefile
@@ -26,12 +26,7 @@ include $(ERL_TOP)/make/$(TARGET)/otp.mk
# ----------------------------------------------------
include ../../vsn.mk
VSN=$(INETS_VSN)
-
-# ----------------------------------------------------
-# Release directory specification
-# ----------------------------------------------------
-RELSYSDIR = $(RELEASE_PATH)/lib/$(APPLICATION)-$(VSN)
-
+APPLICATION=inets
# ----------------------------------------------------
# Target Specs
@@ -71,97 +66,8 @@ XML_FILES = \
$(XML_REF3_FILES) \
$(XML_APPLICATION_FILES)
-# GIF_FILES = inets.gif
-
-
-# ----------------------------------------------------
-
-HTML_FILES = \
- $(XML_APPLICATION_FILES:%.xml=$(HTMLDIR)/%.html) \
- $(XML_PART_FILES:%.xml=$(HTMLDIR)/%.html)
-
-INFO_FILE = ../../info
-EXTRA_FILES = \
- $(XML_REF3_FILES:%.xml=$(HTMLDIR)/%.html) \
- $(XML_REF6_FILES:%.xml=$(HTMLDIR)/%.html) \
- $(XML_CHAPTER_FILES:%.xml=$(HTMLDIR)/%.html)
-
-MAN3_FILES = $(XML_REF3_FILES:%.xml=$(MAN3DIR)/%.3)
-
-HTML_REF_MAN_FILE = $(HTMLDIR)/index.html
-
-TOP_PDF_FILE = $(PDFDIR)/$(APPLICATION)-$(VSN).pdf
-
-# ----------------------------------------------------
-# FLAGS
-# ----------------------------------------------------
-XML_FLAGS +=
-DVIPS_FLAGS +=
-
-# ----------------------------------------------------
-# Targets
-# ----------------------------------------------------
-$(HTMLDIR)/%.gif: %.gif
- $(INSTALL_DATA) $< $@
-
-docs: pdf html man
-
-ldocs: local_docs
-
-$(TOP_PDF_FILE): $(XML_FILES)
-
-pdf: $(TOP_PDF_FILE)
-
-html: gifs $(HTML_REF_MAN_FILE)
-
-clean clean_docs: clean_html clean_man clean_pdf
- rm -rf $(XMLDIR)
- rm -f errs core *~
-
-man: $(MAN3_FILES)
-
-gifs: $(GIF_FILES:%=$(HTMLDIR)/%)
+NO_CHUNKS = httpd_custom_api.xml
-debug opt:
-
-clean_pdf:
- rm -f $(TOP_PDF_FILE) $(TOP_PDF_FILE:%.pdf=%.fo)
-
-clean_html:
- rm -rf $(TOP_HTML_FILES) $(HTMLDIR)/*
-
-clean_man:
- rm -f $(MAN3_FILES)
-
-
-# ----------------------------------------------------
-# Release Target
# ----------------------------------------------------
-include $(ERL_TOP)/make/otp_release_targets.mk
-
-release_docs_spec: docs
- $(INSTALL_DIR) "$(RELSYSDIR)/doc/pdf"
- $(INSTALL_DATA) $(TOP_PDF_FILE) "$(RELSYSDIR)/doc/pdf"
- $(INSTALL_DIR) "$(RELSYSDIR)/doc/html"
- $(INSTALL_DATA) $(HTMLDIR)/* "$(RELSYSDIR)/doc/html"
- $(INSTALL_DATA) $(INFO_FILE) "$(RELSYSDIR)"
- $(INSTALL_DIR) "$(RELEASE_PATH)/man/man3"
- $(INSTALL_DATA) $(MAN3DIR)/* "$(RELEASE_PATH)/man/man3"
-
-release_spec:
-info:
- @echo "GIF_FILES:\n$(GIF_FILES)"
- @echo ""
- @echo "EXTRA_FILES:\n$(EXTRA_FILES)"
- @echo ""
- @echo "HTML_FILES:\n$(HTML_FILES)"
- @echo ""
- @echo "TOP_HTML_FILES:\n$(TOP_HTML_FILES)"
- @echo ""
- @echo "XML_REF3_FILES:\n$(XML_REF3_FILES)"
- @echo ""
- @echo "XML_REF6_FILES:\n$(XML_REF6_FILES)"
- @echo ""
- @echo "XML_CHAPTER_FILES:\n$(XML_CHAPTER_FILES)"
- @echo ""
+include $(ERL_TOP)/make/doc.mk
diff --git a/lib/inets/doc/src/http_client.xml b/lib/inets/doc/src/http_client.xml
index c31a47f4f4..ad11ea2a6c 100644
--- a/lib/inets/doc/src/http_client.xml
+++ b/lib/inets/doc/src/http_client.xml
@@ -54,7 +54,7 @@
<pre>
[{inets, [{services, [{httpc, PropertyList}]}]}]</pre>
<p>For valid properties, see
- <seealso marker="httpc">httpc(3)</seealso>. </p>
+ <seeerl marker="httpc">httpc(3)</seeerl>. </p>
</section>
<section>
diff --git a/lib/inets/doc/src/http_server.xml b/lib/inets/doc/src/http_server.xml
index d6fe9dc6a7..4b0dde86af 100644
--- a/lib/inets/doc/src/http_server.xml
+++ b/lib/inets/doc/src/http_server.xml
@@ -49,15 +49,13 @@
</list>
<p>The configuration of the server is provided as an Erlang
- property list. For backwards compatibility, a configuration
- file using apache-style configuration directives is
- supported.</p>
+ property list.</p>
<p>As of <c>Inets</c> 5.0 the HTTP server is an easy to
start/stop and customize web server providing the most basic
web server functionality. Inets is designed for embedded systems
- and if you want a full-fledged web server there are exists other
- erlang open source alternatives.</p>
+ and if you want a full-fledged web server there are other erlang
+ open source alternatives.</p>
<p>Almost all server functionality has been implemented using an
especially crafted server API, which is described in the Erlang Web
@@ -76,17 +74,14 @@
<p>The server is configured using an Erlang property list.
For the available properties, see
- <seealso marker="httpd">httpd(3)</seealso>.
- For backwards compatibility, apache-like configuration files
- are also supported.
+ <seeerl marker="httpd">httpd(3)</seeerl>.
</p>
<p>The available configuration properties are as follows:</p>
<code type="none">
httpd_service() -> {httpd, httpd()}
httpd() -> [httpd_config()]
- httpd_config() -> {file, file()} |
- {proplist_file, file()}
+ httpd_config() -> {proplist_file, file()}
{debug, debug()} |
{accept_timeout, integer()}
debug() -> disable | [debug_options()]
@@ -95,13 +90,11 @@
{disable, modules()}
modules() -> [atom()]</code>
<p>Here:</p>
- <taglist>
- <tag><c>{file, file()}</c></tag>
- <item><p>If you use an old apace-like configuration file.</p></item>
+ <taglist>
<tag><c>{proplist_file, file()}</c></tag>
<item><p>File containing an Erlang property
- list, followed by a full stop, describing the HTTP server
- configuration.</p></item>
+ list, followed by a full stop, describing the HTTP server
+ configuration.</p></item>
<tag><c>{debug, debug()}</c></tag>
<item><p>Can enable trace on all functions or only exported functions
on chosen modules.</p></item>
@@ -171,162 +164,9 @@
</section>
<section>
- <title>Htaccess - User Configurable Authentication</title>
- <marker id="htaccess"></marker>
- <p>Web server users without server administrative privileges
- that need to manage authentication of web pages that are local
- to their user can use the per-directory runtime configurable
- user-authentication scheme <c>htaccess</c>.
- It works as follows:</p>
- <list type="bulleted">
- <item>Each directory in the path to the requested asset is
- searched for an access file (default is <c>.htaccess</c>), which
- restricts the web servers rights to respond to a request.
- If an access file is found, the rules in that file is applied to the
- request.</item>
- <item>The rules in an access file apply to files in the same
- directory and in subdirectories. If there exists more than one
- access file in the path to an asset, the rules in the
- access file nearest the requested asset is applied.</item>
- <item>To change the rules that restrict the use of
- an asset, the user only needs write access
- to the directory where the asset is.</item>
- <item>All access files in the path to a requested asset are read
- once per request. This means that the load on the server
- increases when <c>htaccess</c> is used.</item>
- <item>If a directory is limited both by authentication directives
- in the HTTP server configuration file and by the <c>htaccess</c>
- files, the user must be allowed to get access to the file by both
- methods for the request to succeed.</item>
- </list>
-
- <section>
- <title>Access Files Directives</title>
- <p>In every directory under <c>DocumentRoot</c> or under an
- <c>Alias</c> a user can place an access file. An access file
- is a plain text file that specifies the restrictions to
- consider before the web server answers to a
- request. If there are more than one access file in the path
- to the requested asset, the directives in the access file in
- the directory nearest the asset is used.</p>
- <taglist>
- <tag><em>"allow"</em></tag>
- <item>
- <p><em>Syntax:</em> <c>Allow</c> from subnet <c>subnet | from all</c></p>
- <p><em>Default:</em> <c>from all</c></p>
- <p>Same as directive <c>allow</c> for the server configuration file.</p>
- </item>
- <tag><em>"AllowOverRide"</em></tag>
- <item>
- <p><em>Syntax:</em> <c>AllowOverRide</c> <c>all | none | Directives</c></p>
- <p><em>Default:</em> <c>none</c></p>
- <p><c>AllowOverRide</c> specifies the parameters that
- access files in subdirectories are not allowed to alter the value
- for. If the parameter is set to <c>none</c>, no further
- access files is parsed.
- </p>
- <p>If only one access file exists, setting this parameter to
- <c>none</c> can ease the burden on the server as the server
- then stops looking for access files.</p>
- </item>
- <tag><em>"AuthGroupfile"</em></tag>
- <item>
- <p><em>Syntax:</em> <c>AuthGroupFile</c> Filename</p>
- <p><em>Default:</em> <c>none</c></p>
- <p><c>AuthGroupFile</c> indicates which file that contains the list
- of groups. The filename must contain the absolute path to the
- file. The format of the file is one group per row and
- every row contains the name of the group and the members
- of the group, separated by a space, for example:</p>
- <pre>
-GroupName: Member1 Member2 .... MemberN</pre>
- </item>
- <tag><em>"AuthName"</em></tag>
- <item>
- <p><em>Syntax:</em> <c>AuthName</c> auth-domain</p>
- <p><em>Default:</em> <c>none</c></p>
- <p>Same as directive <c>AuthName</c> for the server
- configuration file.</p>
- </item>
- <tag><em>"AuthType"</em></tag>
- <item>
- <p><em>Syntax:</em> <c>AuthType</c> <c>Basic</c></p>
- <p><em>Default:</em> <c>Basic</c></p>
- <p><c>AuthType</c> specifies which authentication scheme to
- be used. Only Basic Authenticating using UUEncoding of
- the password and user ID is implemented.</p>
- </item>
- <tag><em>"AuthUserFile"</em></tag>
- <item>
- <p><em>Syntax:</em> <c>AuthUserFile</c> Filename</p>
- <p><em>Default:</em><c>none</c></p>
- <p><c>AuthUserFile</c> indicates which file that contains the list
- of users. The filename must contain the absolute path to the
- file. The username and password are not encrypted so do not
- place the file with users in a directory that is accessible
- through the web server. The format of the file is one user per row.
- Every row contains <c>UserName</c> and <c>Password</c> separated
- by a colon, for example:</p>
- <pre>
-UserName:Password
-UserName:Password</pre>
- </item>
- <tag><em>"deny"</em></tag>
- <item>
- <p><em>Syntax:</em> <c>deny</c> from subnet <c>subnet | from all</c></p>
- <p><em>Context:</em> Limit</p>
- <p>Same as directive <c>deny</c> for the server configuration file.</p>
- </item>
- <tag><em>"Limit"</em></tag>
- <item>
- <p><em>Syntax:</em> <c><![CDATA[<Limit]]></c> RequestMethods<c>></c></p>
- <p><em>Default:</em> <c>none</c></p>
- <p><c><![CDATA[<Limit>]]></c> and <c>&lt;/Limit&gt;</c> are used to enclose
- a group of directives applying only to requests using
- the specified methods. If no request method is specified,
- all request methods are verified against the restrictions.</p>
- <p>Example:</p>
- <pre>
-&lt;Limit POST GET HEAD&gt;
- order allow deny
- require group group1
- allow from 123.145.244.5
-&lt;/Limit&gt;</pre>
- </item>
- <tag><em>"order"</em></tag>
- <item>
- <p><em>Syntax:</em> <c>order</c> <c>allow deny | deny allow</c></p>
- <p><em>Default:</em> <c>allow deny</c></p>
- <p><c>order</c> defines if the deny or allow control is to
- be performed first.</p>
- <p>If the order is set to <c>allow deny</c>, the users
- network address is first controlled to be in the allow subset.
- If the user network address is not in the allowed subset, the user
- is denied to get the asset. If the network address is in the
- allowed subset, a second control is performed. That is,
- the user network address is not in the subset of network
- addresses to be denied as specified by parameter <c>deny</c>.</p>
- <p>If the order is set to <c>deny allow</c>, only users from networks
- specified to be in the allowed subset succeeds to request
- assets in the limited area.</p>
- </item>
- <tag><em>"require"</em></tag>
- <item>
- <p><em>Syntax:</em> <c>require</c>
- <c>group group1 group2... | user user1 user2...</c></p>
- <p><em>Default:</em> <c>none</c></p>
- <p><em>Context:</em> Limit</p>
- <p>For more information, see directive <c>require</c> in
- <seealso marker="mod_auth">mod_auth(3)</seealso>.</p>
- </item>
- </taglist>
- </section>
- </section>
-
- <section>
- <title>Dynamic Web Pages</title>
- <marker id="dynamic_we_pages"></marker>
- <p><c>Inets</c> HTTP server provides two ways of creating dynamic web
+ <title>Dynamic Web Pages</title>
+ <marker id="dynamic_we_pages"></marker>
+ <p><c>Inets</c> HTTP server provides two ways of creating dynamic web
pages, each with its own advantages and disadvantages:</p>
<taglist>
<tag><em>CGI scripts</em></tag>
@@ -390,7 +230,7 @@ http://your.server.org/***/Module[:/]Function(?QueryString|/PathInfo)</code>
function with arity two is only kept for
backwards compatibility reasons.
For implementation details of the ESI callback function,
- see <seealso marker="mod_esi">mod_esi(3)</seealso>.</p>
+ see <seeerl marker="mod_esi">mod_esi(3)</seeerl>.</p>
</section>
</section>
@@ -451,8 +291,8 @@ http://your.server.org/***/Module[:/]Function(?QueryString|/PathInfo)</code>
related steps, are considered server core functionality and are
not implemented using the Erlang web server API. A description of
functionality implemented by the Erlang webserver API is described
- in <seealso marker="#Inets_Web_Server_Modules">Section
- Inets Web Server Modules</seealso>.</p>
+ in <seeguide marker="#Inets_Web_Server_Modules">Section
+ Inets Web Server Modules</seeguide>.</p>
<p>A module can use data generated by previous modules in the
Erlang webserver API module sequence or generate data to be used
@@ -479,7 +319,7 @@ http://your.server.org/***/Module[:/]Function(?QueryString|/PathInfo)</code>
</list>
<p>The latter functions are needed only when new config
directives are to be introduced. For details, see
- <seealso marker="httpd">httpd(3)</seealso>.</p>
+ <seeerl marker="httpd">httpd(3)</seeerl>.</p>
</section>
</section>
@@ -504,7 +344,7 @@ http://your.server.org/***/Module[:/]Function(?QueryString|/PathInfo)</code>
<p>Uses the following Erlang Web Server API interaction data:
</p>
<list type="bulleted">
- <item><c>real_name</c> - from <seealso marker="mod_alias">mod_alias</seealso>.</item>
+ <item><c>real_name</c> - from <seeerl marker="mod_alias">mod_alias</seeerl>.</item>
</list>
<p>Exports the following Erlang Web Server API interaction data, if possible:
</p>
@@ -516,7 +356,7 @@ http://your.server.org/***/Module[:/]Function(?QueryString|/PathInfo)</code>
<section>
<title>mod_alias - URL Aliasing</title>
- <p>The <seealso marker="mod_alias">mod_alias</seealso>
+ <p>The <seeerl marker="mod_alias">mod_alias</seeerl>
module makes it possible to map different parts of the
host file system into the document tree, that is, creates aliases and
redirections.</p>
@@ -525,19 +365,19 @@ http://your.server.org/***/Module[:/]Function(?QueryString|/PathInfo)</code>
<taglist>
<tag><c>{real_name, PathData}</c></tag>
<item><c>PathData</c> is the argument used for API function
- <seealso marker="mod_alias#path/3">mod_alias:path/3</seealso>.</item>
+ <seemfa marker="mod_alias#path/3">mod_alias:path/3</seemfa>.</item>
</taglist>
</section>
<section>
<title>mod_auth - User Authentication</title>
- <p>The <seealso marker="mod_auth">mod_auth(3)</seealso>
+ <p>The <seeerl marker="mod_auth">mod_auth(3)</seeerl>
module provides for basic user authentication using
textual files, Dets databases as well as Mnesia databases.</p>
<p>Uses the following Erlang Web Server API interaction data:
</p>
<list type="bulleted">
- <item><c>real_name</c> - from <seealso marker="mod_alias">mod_alias</seealso></item>
+ <item><c>real_name</c> - from <seeerl marker="mod_alias">mod_alias</seeerl></item>
</list>
<p>Exports the following Erlang Web Server API interaction data:
</p>
@@ -592,11 +432,11 @@ start() ->
Then it starts Mnesia and creates the tables. The first argument
is the name of the tables, the second argument is a list of options of
how to create the table, see
- <seealso marker="mnesia:mnesia"><c>mnesia(3)</c></seealso>, documentation for
+ <seeerl marker="mnesia:mnesia"><c>mnesia(3)</c></seeerl>, documentation for
more information. As the implementation of the <c>mod_auth_mnesia</c>
saves one row for each user, the type must be <c>bag</c>.
When the schema and the tables are created, function
- <seealso marker="mnesia:mnesia#start-0">mnesia:start/0</seealso>
+ <seemfa marker="mnesia:mnesia#start/0">mnesia:start/0</seemfa>
is used to start Mnesia and
waits for the tables to be loaded. Mnesia uses the
directory specified as <c>mnesia_dir</c> at startup if specified,
@@ -625,7 +465,7 @@ start() ->
<p>Uses the following Erlang Web Server API interaction data:
</p>
<list type="bulleted">
- <item><c>real_name</c> - from <seealso marker="mod_alias">mod_alias</seealso></item>
+ <item><c>real_name</c> - from <seeerl marker="mod_alias">mod_alias</seeerl></item>
</list>
<p>Exports the following Erlang Web Server API interaction data:
</p>
@@ -639,7 +479,7 @@ start() ->
<section>
<title>mod_disk_log - Logging Using Disk_Log.</title>
<p>Standard logging using the "Common Logfile Format" and
- <seealso marker="kernel:disk_log">disk_log(3)</seealso>.</p>
+ <seeerl marker="kernel:disk_log">disk_log(3)</seeerl>.</p>
<p>Uses the following Erlang Web Server API interaction data:
</p>
<list type="bulleted">
@@ -649,7 +489,7 @@ start() ->
<section>
<title>mod_esi - Erlang Server Interface</title>
- <p>The <seealso marker="mod_esi">mod_esi(3)</seealso>
+ <p>The <seeerl marker="mod_esi">mod_esi(3)</seeerl>
module implements the Erlang Server Interface (ESI) providing a
tight and efficient interface to the execution of Erlang functions.</p>
<p>Uses the following Erlang web server API interaction data:
@@ -673,7 +513,7 @@ start() ->
<p>Uses the following Erlang web server API interaction data:
</p>
<list type="bulleted">
- <item><c>real_name</c> - from <seealso marker="mod_alias">mod_alias</seealso></item>
+ <item><c>real_name</c> - from <seeerl marker="mod_alias">mod_alias</seeerl></item>
</list>
</section>
@@ -685,26 +525,10 @@ start() ->
<p>Uses the following Erlang Web Server API interaction data:
</p>
<list type="bulleted">
- <item><c>real_name</c> - from <seealso marker="mod_alias">mod_alias</seealso></item>
+ <item><c>real_name</c> - from <seeerl marker="mod_alias">mod_alias</seeerl></item>
</list>
</section>
-
- <section>
- <title>mod_htaccess - User Configurable Access</title>
- <p>This module provides per-directory user configurable access
- control.</p>
- <p>Uses the following Erlang Web Server API interaction data:
- </p>
- <list type="bulleted">
- <item><c>real_name</c> - from <seealso marker="mod_alias">mod_alias</seealso></item>
- </list>
- <p>Exports the following Erlang Web Server API interaction data:
- </p>
- <taglist>
- <tag><c>{remote_user_name, User}</c></tag>
- <item>The username used for authentication.</item>
- </taglist>
- </section>
+
<section>
<title>mod_log - Logging Using Text Files.</title>
@@ -727,7 +551,7 @@ start() ->
<p>Uses the following Erlang Web Server API interaction data:
</p>
<list type="bulleted">
- <item><c>real_name</c> - from <seealso marker="mod_alias">mod_alias</seealso></item>
+ <item><c>real_name</c> - from <seeerl marker="mod_alias">mod_alias</seeerl></item>
</list>
</section>
@@ -741,7 +565,7 @@ start() ->
<p>If a client sends more than one of the header fields that
restricts the servers right to respond, the standard does not
specify how this is to be handled.
- <seealso marker="httpd">httpd(3)</seealso> controls each
+ <seeerl marker="httpd">httpd(3)</seeerl> controls each
field in the following order and if one of the fields does not
match the current state, the request is rejected with a proper
response:</p>
@@ -753,7 +577,7 @@ start() ->
<p>Uses the following Erlang Web Server API interaction data:
</p>
<list type="bulleted">
- <item><c>real_name</c> - from <seealso marker="mod_alias">mod_alias</seealso></item>
+ <item><c>real_name</c> - from <seeerl marker="mod_alias">mod_alias</seeerl></item>
</list>
<p>Exports the following Erlang Web Server API interaction data:
</p>
@@ -767,9 +591,9 @@ start() ->
<section>
<title>mod_security - Security Filter</title>
- <p>The <seealso marker="mod_security">mod_security</seealso>
+ <p>The <seeerl marker="mod_security">mod_security</seeerl>
module serves as a filter for authenticated requests
- handled in <seealso marker="mod_auth">mod_auth(3)</seealso>.
+ handled in <seeerl marker="mod_auth">mod_auth(3)</seeerl>.
It provides a possibility to restrict users from
access for a specified amount of time if they fail to
authenticate several times. It logs failed authentication as
diff --git a/lib/inets/doc/src/http_uri.xml b/lib/inets/doc/src/http_uri.xml
index eda477da0c..f7e4a16919 100644
--- a/lib/inets/doc/src/http_uri.xml
+++ b/lib/inets/doc/src/http_uri.xml
@@ -34,9 +34,10 @@
<modulesummary>Old URI utility module, use uri_string instead</modulesummary>
<description>
- <p>This module provides utility functions for working with URIs,
- according to
- <url href="http://www.ietf.org/rfc/rfc3986.txt">RFC 3986</url>.</p>
+ <p>This module is deprecated since OTP 23.
+ Use the module <seeerl marker="stdlib:uri_string">uri_string</seeerl> to properly handle URIs,
+ this is the recommended module since OTP 21.
+ </p>
</description>
<section>
@@ -133,7 +134,7 @@
<desc>
<p>Parses a URI. If no scheme defaults
are provided, the value of the
- <seealso marker="#scheme_defaults">scheme_defaults</seealso>
+ <seeerl marker="#scheme_defaults">scheme_defaults</seeerl>
function is used.</p>
<p>When parsing a URI with an unknown scheme (that is,
@@ -187,9 +188,9 @@ fun(SchemeStr :: string() | binary()) ->
<section>
<title>SEE ALSO</title>
<p><url href="http://www.ietf.org/rfc/rfc2616.txt">RFC 2616</url>,
- <seealso marker="inets">inets(3)</seealso>,
- <seealso marker="kernel:gen_tcp">gen_tcp(3)</seealso>,
- <seealso marker="ssl:ssl">ssl(3)</seealso>
+ <seeerl marker="inets">inets(3)</seeerl>,
+ <seeerl marker="kernel:gen_tcp">gen_tcp(3)</seeerl>,
+ <seeerl marker="ssl:ssl">ssl(3)</seeerl>
</p>
</section>
-->
diff --git a/lib/inets/doc/src/httpc.xml b/lib/inets/doc/src/httpc.xml
index 72ac79a0b0..42a6a5b43d 100644
--- a/lib/inets/doc/src/httpc.xml
+++ b/lib/inets/doc/src/httpc.xml
@@ -57,8 +57,8 @@
pipelining are used. That is, the client always waits for
the previous response before sending the next request.</p>
</note>
- <p>Some examples are provided in the <seealso
- marker="http_client">Inets User's Guide</seealso>.</p>
+ <p>Some examples are provided in the <seeguide
+ marker="http_client">Inets User's Guide</seeguide>.</p>
</description>
<section>
@@ -72,10 +72,10 @@
<p><c>profile() = atom()</c></p>
<p><c>path() = string()</c> representing a file path or directory path</p>
<p><c>ip_address()</c> = See the
- <seealso marker="kernel:inet">inet(3)</seealso> manual page in Kernel.</p>
+ <seeerl marker="kernel:inet">inet(3)</seeerl> manual page in Kernel.</p>
<p><c>socket_opt()</c> = See the options used by
- <seealso marker="kernel:gen_tcp">gen_tcp(3)</seealso> <c>gen_tcp(3)</c> and
- <seealso marker="ssl:ssl">ssl(3)</seealso> connect(s)</p>
+ <seeerl marker="kernel:gen_tcp">gen_tcp(3)</seeerl> <c>gen_tcp(3)</c> and
+ <seeerl marker="ssl:ssl">ssl(3)</seeerl> connect(s)</p>
</section>
@@ -91,8 +91,16 @@
</item>
</taglist>
<p><c>url() = string()</c> syntax according to the URI definition in
- <url href="http://www.ietf.org/rfc/rfc2396.txt">RFC 2396</url>,
+ <url href="http://www.ietf.org/rfc/rfc3986.txt">RFC 3986</url>,
for example <c>"http://www.erlang.org"</c></p>
+ <warning><p>Please note that httpc normalizes input URIs before internal processing
+ and special care shall be taken when the URI has percent ("%") characters. A percent
+ serves as the indicator for percent-encoded octets and it must be percent-encoded
+ as "%25" for that octet to be used as data within the URI.</p>
+ <p>For example, in order to send an HTTP GET request with the URI
+ <c>http://localhost/foo%25bar</c>, the percent character must be percent-encoded when
+ creating the request: <c>httpc:request("http://localhost/foo%2525bar").</c>
+ </p></warning>
<p><c>status_line() = {http_version(), status_code(), reason_phrase()}</c></p>
<p><c>http_version() = string()</c>, for example, <c>"HTTP/1.1"</c></p>
<p><c>status_code() = integer()</c></p>
@@ -120,7 +128,7 @@
<section>
<title>SSL DATA TYPES</title>
- <p>See <seealso marker="ssl:ssl">ssl(3)</seealso> for information
+ <p>See <seeerl marker="ssl:ssl">ssl(3)</seeerl> for information
about <c>SSL</c> options (<c>ssloptions()</c>). </p>
</section>
@@ -131,12 +139,12 @@
application or started dynamically in runtime by calling the
<c>Inets</c> application API <c>inets:start(httpc, ServiceConfig)</c>
or <c>inets:start(httpc, ServiceConfig, How)</c>,
- see <seealso marker="inets">inets(3)</seealso>.
+ see <seeerl marker="inets">inets(3)</seeerl>.
The configuration options are as follows:</p>
<taglist>
<tag>{profile, profile()}</tag>
<item><p>Name of the profile, see
- <seealso marker="#DATA_TYPES">DATA TYPES</seealso>.
+ <seeerl marker="#DATA_TYPES">DATA TYPES</seeerl>.
This option is mandatory.</p></item>
<tag>{data_dir, path()}</tag>
<item><p>Directory where the profile
@@ -188,7 +196,7 @@
<p>Option <c>ipv6_host_with_bracket</c> deals with how to
parse IPv6 addresses. For details,
see argument <c>Options</c> of
- <seealso marker="#request-4">request/[4,5]</seealso>.</p>
+ <seemfa marker="#request/4">request/[4,5]</seemfa>.</p>
</desc>
</func>
@@ -343,7 +351,7 @@
<tag><c><![CDATA[ssl]]></c></tag>
<item>
<p>This is the <c>SSL/TLS</c> connectin configuration option.</p>
- <p>Defaults to <c>[]</c>. See <seealso marker="ssl:ssl">ssl:connect/[2,3,4]</seealso> for available options.</p>
+ <p>Defaults to <c>[]</c>. See <seeerl marker="ssl:ssl">ssl:connect/[2,3,4]</seeerl> for available options.</p>
</item>
<tag><c><![CDATA[autoredirect]]></c></tag>
@@ -443,7 +451,7 @@
<item>
<p>Socket options to be used for this request.</p>
<p>Overrides any value set by function
- <seealso marker="#set_options-1">set_options</seealso>.</p>
+ <seemfa marker="#set_options/1">set_options</seemfa>.</p>
<p>The validity of the options is <em>not</em> checked by
the HTTP client they are assumed to be correct and passed
on to ssl application and inet driver, which may reject
@@ -459,7 +467,7 @@
</note>
<p>By default the socket options set by function
- <seealso marker="#set_options-1">set_options/[1,2]</seealso>
+ <seemfa marker="#set_options/1">set_options/[1,2]</seemfa>
are used when establishing a connection.</p>
</item>
@@ -587,11 +595,11 @@
<v>IpAddress = ip_address()</v>
<d>If the host has several network interfaces, this option specifies
which one to use.
- See <seealso marker="kernel:gen_tcp#connect">gen_tcp:connect/3,4</seealso>
+ See <seeerl marker="kernel:gen_tcp#connect">gen_tcp:connect/3,4</seeerl>
for details.</d>
<v>Port = integer()</v>
<d>Local port number to use.
- See <seealso marker="kernel:gen_tcp#connect">gen_tcp:connect/3,4</seealso>
+ See <seeerl marker="kernel:gen_tcp#connect">gen_tcp:connect/3,4</seeerl>
for details.</d>
<v>socket_opts() = [socket_opt()]</v>
<d>The options are appended to the socket options used by the
@@ -721,9 +729,9 @@
<section>
<title>SEE ALSO</title>
<p><url href="http://www.ietf.org/rfc/rfc2616.txt">RFC 2616</url>,
- <seealso marker="inets">inets(3)</seealso>,
- <seealso marker="kernel:gen_tcp">gen_tcp(3)</seealso>,
- <seealso marker="ssl:ssl">ssl(3)</seealso>
+ <seeerl marker="inets">inets(3)</seeerl>,
+ <seeerl marker="kernel:gen_tcp">gen_tcp(3)</seeerl>,
+ <seeerl marker="ssl:ssl">ssl(3)</seeerl>
</p>
</section>
diff --git a/lib/inets/doc/src/httpd.xml b/lib/inets/doc/src/httpd.xml
index e30c63e03b..21d9a87304 100644
--- a/lib/inets/doc/src/httpd.xml
+++ b/lib/inets/doc/src/httpd.xml
@@ -61,22 +61,20 @@
application, or dynamically in runtime by calling the
<c>Inets</c> application API <c>inets:start(httpd, ServiceConfig)</c> or
<c>inets:start(httpd, ServiceConfig, How)</c>,
- see <seealso marker="inets">inets(3)</seealso>.
+ see <seeerl marker="inets">inets(3)</seeerl>.
The configuration options, also called
properties, are as follows:</p>
<marker id="props_file"></marker>
<p><em>File Properties</em></p>
- <p>When the web server is started
- at application start time, the properties are to be fetched from a
- configuration file that can consist of a regular Erlang property
- list, that is, <c>[{Option, Value}]</c>, where <c> Option = property()
- </c> and <c>Value = term()</c>, followed by a full stop, or for
- backwards compatibility, an Apache-like configuration file. If the
- web server is started dynamically at runtime,
- a file can still be specified but also the complete property
- list.</p>
+ <p>When the web server is started at application start time, the
+ properties are to be fetched from a configuration file that can
+ consist of a regular Erlang property list, that is, <c>[{Option,
+ Value}]</c>, where <c> Option = property() </c> and <c>Value =
+ term()</c>, followed by a full stop. If the web server is started
+ dynamically at runtime, a file can still be specified but also the
+ complete property list.</p>
<taglist>
<tag><marker id="prop_proplist_file"></marker>{proplist_file, path()}</tag>
@@ -87,34 +85,9 @@
properties.</p>
</item>
- <tag><marker id="prop_file"></marker>{file, path()}</tag>
- <item>
- <p>If this property is defined, <c>Inets</c> expects to find all
- other properties defined in this file, which uses Apache-like
- syntax. The file must include all properties listed
- under mandatory properties. The Apache-like syntax is the property,
- written as one word where each new word begins with a capital,
- followed by a white-space, followed by the value, followed by a
- new line.</p>
- <p>Example:</p>
- <code>
-{server_root, "/urs/local/www"} -> ServerRoot /usr/local/www</code>
-
- <p>A few exceptions are documented
- for each property that behaves differently,
- and the special cases <c>{directory, {path(), PropertyList}}</c>
- and <c>{security_directory, {Dir, PropertyList}}</c>, are represented
- as:</p>
- <pre>
- <![CDATA[
-<Directory Dir>
- <Properties handled as described above>
-</Directory>
- ]]></pre>
- </item>
</taglist>
<note>
- <p>The properties <c>proplist_file</c> and <c>file</c> are mutually exclusive. Also newer properties may not be supported as Apache-like options, this is a legacy feature.</p>
+ <p>Note support for legacy configuration file with Apache syntax is dropped in OTP-23.</p>
</note>
<marker id="props_mand"></marker>
@@ -152,30 +125,29 @@
<taglist>
<tag><marker id="prop_bind_address"></marker>{bind_address, ip_address() | hostname() | any}</tag>
<item>
- <p>Default is <c>any</c>. <c>any</c> is denoted <em>*</em>
- in the Apache-like configuration file.</p>
+ <p>Default is <c>any</c></p>
</item>
<tag><marker id="profile"></marker>{profile, atom()}</tag>
<item>
- <p>Used together with <seealso marker="#prop_bind_address"><c>bind_address</c></seealso>
- and <seealso marker="#prop_port"><c>port</c></seealso> to uniquely identify
+ <p>Used together with <seeerl marker="#prop_bind_address"><c>bind_address</c></seeerl>
+ and <seeerl marker="#prop_port"><c>port</c></seeerl> to uniquely identify
a HTTP server. This can be useful in a virtualized environment,
where there can
be more that one server that has the same bind_address and port.
If this property is not explicitly set, it is assumed that the
- <seealso marker="#prop_bind_address"><c>bind_address</c></seealso> and
- <seealso marker="#prop_port"><c>port</c></seealso>uniquely identifies the HTTP server.
+ <seeerl marker="#prop_bind_address"><c>bind_address</c></seeerl> and
+ <seeerl marker="#prop_port"><c>port</c></seeerl> uniquely identifies the HTTP server.
</p>
</item>
<tag><marker id="prop_socket_type"></marker>{socket_type, ip_comm | {ip_comm, Config::proplist()} | {essl, Config::proplist()}}</tag>
<item>
<p>For <c>ip_comm</c> configuration options, see
- <seealso marker="kernel:gen_tcp#listen-2">gen_tcp:listen/2</seealso>, some options
+ <seemfa marker="kernel:gen_tcp#listen/2">gen_tcp:listen/2</seemfa>, some options
that are used internally by httpd cannot be set.</p>
<p>For <c>SSL</c> configuration options, see
- <seealso marker="ssl:ssl#listen-2">ssl:listen/2</seealso>.</p>
+ <seemfa marker="ssl:ssl#listen/2">ssl:listen/2</seemfa>.</p>
<p>Default is <c>ip_comm</c>.</p>
</item>
@@ -204,7 +176,7 @@
mod_disk_log]</c>.
Notice that some <c>mod</c>-modules are dependent on
others, so the order cannot be entirely arbitrary. See the
- <seealso marker="http_server">Inets Web Server Modules</seealso> in the
+ <seeguide marker="http_server">Inets Web Server Modules</seeguide> in the
User's Guide for details.</p>
</item>
</taglist>
@@ -216,7 +188,7 @@
<tag><marker id="prop_customize"></marker>{customize, atom()}</tag>
<item>
<p>A callback module to customize the inets HTTP servers behaviour
- see <seealso marker="httpd_custom_api"> httpd_custom_api</seealso> </p>
+ see <seeerl marker="httpd_custom_api"> httpd_custom_api</seeerl> </p>
</item>
<tag><marker id="prop_disable_chunked_encoding"></marker>{disable_chunked_transfer_encoding_send, boolean()}</tag>
@@ -284,10 +256,10 @@
<tag><marker id="max_client_body_chunk"></marker>{max_client_body_chunk, integer()}</tag>
<item>
- <p>Enforces chunking of a HTTP PUT or POST body data to be deliverd
+ <p>Enforces chunking of a HTTP PUT or POST body data to be delivered
to the mod_esi callback. Note this is not supported for mod_cgi.
- Default is no limit e.i the whole body is deliverd as one entity, which could
- be very memory consuming. <seealso marker="mod_esi">mod_esi(3)</seealso>.
+ Default is no limit e.i the whole body is delivered as one entity, which could
+ be very memory consuming. <seeerl marker="mod_esi">mod_esi(3)</seeerl>.
</p>
</item>
@@ -303,7 +275,7 @@
1590. File suffixes are mapped to MIME types before file delivery.
The mapping between file suffixes and MIME types can be specified
as an Apache-like file or directly in the property list. Such
- a file can look like the follwoing:</p>
+ a file can look like the following:</p>
<pre>
# MIME type Extension
text/html html htm
@@ -362,9 +334,9 @@ text/plain asc txt</pre>
<taglist>
<tag><c>{error, ServerID::atom()}</c></tag>
<item> <p>Produces
- <seealso marker="kernel:logger#type-log_event">logger events</seealso>
- on logger <seealso marker="kernel:logger#type-level">level error</seealso>
- under the hierarchical logger <seealso marker="kernel:logger#type-log_event">domain:</seealso> <c>[otp, inets, httpd, ServerID, error]</c>
+ <seetype marker="kernel:logger#log_event">logger events</seetype>
+ on logger <seetype marker="kernel:logger#level">level error</seetype>
+ under the hierarchical logger <seetype marker="kernel:logger#log_event">domain:</seetype> <c>[otp, inets, httpd, ServerID, error]</c>
The built in logger formatting
function produces log entries from the
error reports:</p>
@@ -519,19 +491,8 @@ Transport: TLS
<code>{re_write, {"^/[~]([^/]+)(.*)$", "/home/\\1/public\\2"}}</code>
<p>Access to http://your.server.org/~bob/foo.gif would refer to
- the file /home/bob/public/foo.gif.
-
- In an Apache-like configuration file, <c>Re</c> is separated
- from <c>Replacement</c> with one single space, and as expected
- backslashes do not need to be backslash escaped, the
- same example would become:</p>
+ the file /home/bob/public/foo.gif. </p>
- <code>ReWrite ^/[~]([^/]+)(.*)$ /home/\1/public\2</code>
-
- <p>Beware of trailing space in <c>Replacement</c> to be used.
- If you must have a space in <c>Re</c>, use, for example, the character
- encoding <c>\040</c>, see
- <seealso marker="stdlib:re">re(3)</seealso>.</p>
</item>
<tag><marker id="prop_dir_idx"></marker>{directory_index, [string()]}</tag>
@@ -791,9 +752,7 @@ Transport: TLS
<p>Sets the type of authentication database that is used for the
directory. The key difference between the different methods is
that dynamic data can be saved when Mnesia and Dets
- are used.
- This property is called <c>AuthDbType</c> in the Apache-like
- configuration files.</p>
+ are used.</p>
</item>
<tag><marker id="prop_auth_user_file"></marker>{auth_user_file, path()}</tag>
@@ -873,20 +832,6 @@ Transport: TLS
</taglist>
- <marker id="props_htaccess"></marker>
- <p><em>Htaccess Authentication Properties - Requires mod_htaccess</em></p>
- <taglist>
- <tag><marker id="prop_access_files"></marker>{access_files, [path()]}</tag>
- <item>
- <p>Specifies the filenames that are used for
- access files. When a request comes, every directory in the path
- to the requested asset are searched after files with the
- names specified by this parameter. If such a file is found, the
- file is parsed and the restrictions specified in it are
- applied to the request.</p>
- </item>
- </taglist>
-
<marker id="props_sec"></marker>
<p><em>Security Properties - Requires mod_security</em></p>
@@ -918,7 +863,7 @@ Transport: TLS
<tag><marker id="prop_block_time"></marker>{block_time, integer()}</tag>
<item>
<p>Specifies the number of minutes a user is blocked. After
- this timehas passed, the user automatically regains access.
+ this time has passed, the user automatically regains access.
Default is <c>60</c>.</p>
</item>
@@ -961,7 +906,7 @@ Transport: TLS
<note><p>Pid is the pid returned from <c>inets:start/[2,3]</c>.
Can also be retrieved form <c>inets:services/0</c> and
<c>inets:services_info/0</c>,
- see <seealso marker="inets">inets(3)</seealso>.
+ see <seeerl marker="inets">inets(3)</seeerl>.
</p></note>
</desc>
</func>
@@ -1114,10 +1059,11 @@ Transport: TLS
</taglist>
</section>
- <section>
- <title>ERLANG WEB SERVER API CALLBACK FUNCTIONS</title>
- </section>
+
<funcs>
+ <fsdescription>
+ <title>ERLANG WEB SERVER API CALLBACK FUNCTIONS</title>
+ </fsdescription>
<func>
<name since="">Module:do(ModData)-> {proceed, OldData} | {proceed, NewData} | {break, NewData} | done</name>
<fsummary>Called for each request to the web server.</fsummary>
@@ -1164,37 +1110,14 @@ Transport: TLS
<p>If <c>Body</c> is returned and equal to <c>{Fun,Arg}</c>,
the web server tries <c>apply/2</c> on <c>Fun</c> with
<c>Arg</c> as argument. The web server expects that the fun either
- returns a list <c>(Body)</c> that is an HTTP repsonse, or the
+ returns a list <c>(Body)</c> that is an HTTP response, or the
atom <c>sent</c> if the HTTP response is sent back to the
client. If <c>close</c> is returned from the fun, something has gone
wrong and the server signals this to the client by
closing the connection.</p>
</desc>
</func>
-
- <func>
- <name since="">Module:load(Line, AccIn)-> eof | ok | {ok, AccOut} | {ok, AccOut, {Option, Value}} | {ok, AccOut, [{Option, Value}]} | {error, Reason}</name>
- <fsummary>Converts a line in an Apache-like config
- file to an <c>{Option, Value}</c> tuple.</fsummary>
- <type>
- <v>Line = string()</v>
- <v>AccIn = [{Option, Value}]</v>
- <v>AccOut = [{Option, Value}]</v>
- <v>Option = property()</v>
- <v>Value = term() </v>
- <v>Reason = term()</v>
- </type>
- <desc>
- <p>Converts a line in an Apache-like
- configuration file to an <c>{Option, Value}</c> tuple. Some
- more complex configuration options, such as <c>directory</c>
- and <c>security_directory</c>, create an
- accumulator. This function only needs clauses for the
- options implemented by this particular callback module.
- </p>
- </desc>
- </func>
-
+
<func>
<name since="">Module:remove(ConfigDB) -> ok | {error, Reason} </name>
<fsummary>Callback function that is called when the web server is closed.</fsummary>
@@ -1234,10 +1157,11 @@ Transport: TLS
</func>
</funcs>
- <section>
- <title>ERLANG WEB SERVER API HELP FUNCTIONS</title>
- </section>
+
<funcs>
+ <fsdescription>
+ <title>ERLANG WEB SERVER API HELP FUNCTIONS</title>
+ </fsdescription>
<func>
<name since="">parse_query(QueryString) -> [{Key,Value}]</name>
<fsummary>Parses incoming data to <c>erl</c> and <c>eval</c> scripts.</fsummary>
@@ -1248,7 +1172,7 @@ Transport: TLS
</type>
<desc>
<p><c>parse_query/1</c> parses incoming data to <c>erl</c> and
- <c>eval</c> scripts (see <seealso marker="mod_esi">mod_esi(3)</seealso>)
+ <c>eval</c> scripts (see <seeerl marker="mod_esi">mod_esi(3)</seeerl>)
as defined in the standard
URL format, that is, '+' becomes 'space' and decoding of
hexadecimal characters (<c>%xx</c>).</p>
@@ -1259,8 +1183,8 @@ Transport: TLS
<section>
<title>SEE ALSO</title>
<p><url href="http://www.ietf.org/rfc/rfc2616.txt">RFC 2616</url>,
- <seealso marker="inets">inets(3)</seealso>,
- <seealso marker="ssl:ssl">ssl(3)</seealso>
+ <seeerl marker="inets">inets(3)</seeerl>,
+ <seeerl marker="ssl:ssl">ssl(3)</seeerl>
</p>
</section>
diff --git a/lib/inets/doc/src/httpd_custom_api.xml b/lib/inets/doc/src/httpd_custom_api.xml
index 2c0f92ff83..c904f9ab41 100644
--- a/lib/inets/doc/src/httpd_custom_api.xml
+++ b/lib/inets/doc/src/httpd_custom_api.xml
@@ -29,7 +29,7 @@
<modulesummary>Behaviour with optional callbacks to customize the inets HTTP server.</modulesummary>
<description>
<p> The module implementing this behaviour shall be supplied to to the servers
- configuration with the option <seealso marker="httpd#prop_customize"> customize</seealso></p>
+ configuration with the option <seeerl marker="httpd#prop_customize"> customize</seeerl></p>
</description>
<funcs>
diff --git a/lib/inets/doc/src/httpd_socket.xml b/lib/inets/doc/src/httpd_socket.xml
index 22ead06f38..6fac522617 100644
--- a/lib/inets/doc/src/httpd_socket.xml
+++ b/lib/inets/doc/src/httpd_socket.xml
@@ -97,7 +97,7 @@
<section>
<marker id="see_also"></marker>
<title>SEE ALSO</title>
- <p><seealso marker="httpd">httpd(3)</seealso></p>
+ <p><seeerl marker="httpd">httpd(3)</seeerl></p>
</section>
</erlref>
diff --git a/lib/inets/doc/src/httpd_util.xml b/lib/inets/doc/src/httpd_util.xml
index e0f947f860..9ee0d62ab4 100644
--- a/lib/inets/doc/src/httpd_util.xml
+++ b/lib/inets/doc/src/httpd_util.xml
@@ -171,9 +171,7 @@
<desc>
<p><c>lookup_mime</c> returns the MIME type associated with a
specific file suffix as specified in the file <c>mime.types</c>
- (located in the
- <path unix="$SERVER_ROOT/conf/mime.types" windows="%SERVER_ROOT%\conf\mime.types">
- config directory</path>).</p>
+ (located in the config directory).</p>
</desc>
</func>
@@ -191,9 +189,7 @@
<desc>
<p><c>lookup_mime_default</c> returns the MIME type associated
with a specific file suffix as specified in the
- <c>mime.types</c> file (located in the
- <path unix="$SERVER_ROOT/conf/mime.types" windows="%SERVER_ROOT%\conf\mime.types">
- config directory</path>).
+ <c>mime.types</c> file (located in the config directory).
If no appropriate association is found, the value of <c>DefaultType</c> is
returned.</p>
</desc>
@@ -384,7 +380,7 @@
<section>
<title>SEE ALSO</title>
- <p><seealso marker="httpd">httpd(3)</seealso></p>
+ <p><seeerl marker="httpd">httpd(3)</seeerl></p>
</section>
</erlref>
diff --git a/lib/inets/doc/src/inets.xml b/lib/inets/doc/src/inets.xml
index 176af3137a..cdf4eb940a 100644
--- a/lib/inets/doc/src/inets.xml
+++ b/lib/inets/doc/src/inets.xml
@@ -113,7 +113,7 @@
<desc>
<p>Starts the <c>Inets</c> application. Default type
is <c>temporary</c>. See also
- <seealso marker="kernel:application">application(3)</seealso>.</p>
+ <seeerl marker="kernel:application">application(3)</seeerl>.</p>
<marker id="stop"></marker>
</desc>
@@ -160,7 +160,7 @@
<fsummary>Stops the <c>Inets</c> application.</fsummary>
<desc>
<p>Stops the <c>Inets</c> application. See also
- <seealso marker="kernel:application">application(3)</seealso>.</p>
+ <seeerl marker="kernel:application">application(3)</seeerl>.</p>
<marker id="start2"></marker>
</desc>
@@ -188,8 +188,8 @@
<section>
<title>SEE ALSO</title>
- <p><seealso marker="httpc">httpc(3)</seealso>,
- <seealso marker="httpd">httpd(3)</seealso>
+ <p><seeerl marker="httpc">httpc(3)</seeerl>,
+ <seeerl marker="httpd">httpd(3)</seeerl>
</p>
</section>
diff --git a/lib/inets/doc/src/introduction.xml b/lib/inets/doc/src/introduction.xml
index faf911f188..a5037b02dd 100644
--- a/lib/inets/doc/src/introduction.xml
+++ b/lib/inets/doc/src/introduction.xml
@@ -37,7 +37,7 @@
<p><c>Inets</c> is a container for Internet clients and servers
including the following:</p>
<list type="bulleted">
- <item>An <term id="HTTP"></term> client and server</item>
+ <item>An HTTP client and server</item>
</list>
<p>The HTTP client and server are HTTP 1.1 compliant as
defined in
diff --git a/lib/inets/doc/src/mod_alias.xml b/lib/inets/doc/src/mod_alias.xml
index ff57d49d08..8183573ba4 100644
--- a/lib/inets/doc/src/mod_alias.xml
+++ b/lib/inets/doc/src/mod_alias.xml
@@ -57,7 +57,7 @@
file is found or if <c>Path</c> is not a directory.
<c>config_db()</c> is the server config file in ETS table format
as described in
- <seealso marker="http_server">Inets User's Guide</seealso>.</p>
+ <seeguide marker="http_server">Inets User's Guide</seeguide>.</p>
<marker id="path"></marker>
</desc>
@@ -82,7 +82,7 @@
exported, <c>ServerRoot</c> is used to
generate a file <c>Path</c>. <c>config_db()</c> and
<c>interaction_data()</c> are as defined in
- <seealso marker="http_server">Inets User's Guide</seealso>.</p>
+ <seeguide marker="http_server">Inets User's Guide</seeguide>.</p>
<marker id="real_name"></marker>
</desc>
@@ -106,14 +106,14 @@
<c>FakeName</c> is replaced with <c>RealName</c> in the
match. The resulting path is split into two parts,
<c>ShortPath</c> and <c>AfterPath</c>, as defined in
- <seealso marker="httpd_util#split_path-1">httpd_util:split_path/1</seealso>.
+ <seemfa marker="httpd_util#split_path/1">httpd_util:split_path/1</seemfa>.
<c>Path</c> is generated from <c>ShortPath</c>, that is,
the result from
- <seealso marker="#default_index">default_index/2</seealso> with
+ <seeerl marker="#default_index">default_index/2</seeerl> with
<c>ShortPath</c> as an argument.
<c>config_db()</c> is the server config file in ETS table
format as described in
- <seealso marker="http_server">Inets User's Guide</seealso>.</p>
+ <seeguide marker="http_server">Inets User's Guide</seeguide>.</p>
<marker id="real_script_name"></marker>
</desc>
@@ -140,10 +140,10 @@
<c>not_a_script</c> is returned. If it is a script, the
resulting script path is in two parts,
<c>ShortPath</c> and <c>AfterPath</c>, as defined in
- <seealso marker="httpd_util#split_script_path-1">httpd_util:split_script_path/1</seealso>.
+ <seemfa marker="httpd_util#split_script_path/1">httpd_util:split_script_path/1</seemfa>.
<c>config_db()</c> is the server config file in ETS table
format as described in
- <seealso marker="http_server">Inets User's Guide</seealso>.</p>
+ <seeguide marker="http_server">Inets User's Guide</seeguide>.</p>
</desc>
</func>
</funcs>
diff --git a/lib/inets/doc/src/mod_auth.xml b/lib/inets/doc/src/mod_auth.xml
index ad864ca4d1..2e0329dc98 100644
--- a/lib/inets/doc/src/mod_auth.xml
+++ b/lib/inets/doc/src/mod_auth.xml
@@ -289,8 +289,8 @@
<section>
<title>SEE ALSO</title>
- <p><seealso marker="httpd">httpd(3)</seealso>,
- <seealso marker="mod_alias">mod_alias(3)</seealso></p>
+ <p><seeerl marker="httpd">httpd(3)</seeerl>,
+ <seeerl marker="mod_alias">mod_alias(3)</seeerl></p>
</section>
</erlref>
diff --git a/lib/inets/doc/src/mod_esi.xml b/lib/inets/doc/src/mod_esi.xml
index bc5f98068f..c6deef1c87 100644
--- a/lib/inets/doc/src/mod_esi.xml
+++ b/lib/inets/doc/src/mod_esi.xml
@@ -115,11 +115,12 @@
</func>
</funcs>
- <section>
- <title>ESI Callback Functions</title>
- </section>
+
<funcs>
+ <fsdescription>
+ <title>ESI Callback Functions</title>
+ </fsdescription>
<func>
<name since="">Module:Function(SessionID, Env, Input)-> {continue, State} | _ </name>
<fsummary>Creates a dynamic web page and returns it chunk by chunk
@@ -155,11 +156,11 @@
a PUT or POST request. The default behavior (legacy reasons)
for delivering the body, is that the whole body is gathered and
converted to a string. But if the httpd config parameter
- <seealso
- marker="httpd#max_client_body_chunk">max_client_body_chunk</seealso>
+ <seeerl
+ marker="httpd#max_client_body_chunk">max_client_body_chunk</seeerl>
is set, the body will be delivered as binary chunks
- instead. The maximum size of the chunks is either <seealso
- marker="httpd#max_client_body_chunk">max_client_body_chunk</seealso>
+ instead. The maximum size of the chunks is either <seeerl
+ marker="httpd#max_client_body_chunk">max_client_body_chunk</seeerl>
or decide by the client if it uses HTTP chunked encoding
to send the body. When using the chunking
mechanism this callback must return {continue, State::term()}
diff --git a/lib/inets/doc/src/mod_security.xml b/lib/inets/doc/src/mod_security.xml
index c26d7468c2..8a1a1dd7ca 100644
--- a/lib/inets/doc/src/mod_security.xml
+++ b/lib/inets/doc/src/mod_security.xml
@@ -117,17 +117,18 @@
</func>
</funcs>
- <section>
- <marker id="callback_module"></marker>
- <title>SecurityCallbackModule</title>
- <p>The <c>SecurityCallbackModule</c> is a user-written module that can receive
- events from the <c>mod_security</c> Erlang web server API module.
- This module only exports the functions event/[4,5]
- which are described here.
- </p>
- </section>
+
<funcs>
+ <fsdescription>
+ <marker id="callback_module"></marker>
+ <title>SecurityCallbackModule</title>
+ <p>The <c>SecurityCallbackModule</c> is a user-written module that can receive
+ events from the <c>mod_security</c> Erlang web server API module.
+ This module only exports the functions event/[4,5]
+ which are described here.
+ </p>
+ </fsdescription>
<func>
<name since="OTP 18.1">Module:event(What, Port, Dir, Data) -> ignored</name>
<name since="OTP 18.1">Module:event(What, Address, Port, Dir, Data) -> ignored</name>
diff --git a/lib/inets/doc/src/notes.xml b/lib/inets/doc/src/notes.xml
index 504ef7df8a..a8499b8d43 100644
--- a/lib/inets/doc/src/notes.xml
+++ b/lib/inets/doc/src/notes.xml
@@ -33,7 +33,188 @@
<file>notes.xml</file>
</header>
- <section><title>Inets 7.1.3</title>
+ <section><title>Inets 7.3.2</title>
+
+ <section><title>Fixed Bugs and Malfunctions</title>
+ <list>
+ <item>
+ <p>
+ Solves CVE-2021-27563, that is make sure no form of
+ relative path can be used to go outside webservers
+ directory.</p>
+ <p>
+ Own Id: OTP-17205 Aux Id: ERIERL-608 </p>
+ </item>
+ <item>
+ <p>
+ Make sure HEAD requests rejects directory links</p>
+ <p>
+ Own Id: OTP-17220</p>
+ </item>
+ </list>
+ </section>
+
+</section>
+
+<section><title>Inets 7.3.1</title>
+
+ <section><title>Fixed Bugs and Malfunctions</title>
+ <list>
+ <item>
+ <p>
+ Fix an issue about HTML-escaped filename in inets.</p>
+ <p>
+ Own Id: OTP-16873 Aux Id: ERL-330 </p>
+ </item>
+ </list>
+ </section>
+
+</section>
+
+<section><title>Inets 7.3</title>
+
+ <section><title>Fixed Bugs and Malfunctions</title>
+ <list>
+ <item>
+ <p>
+ Clarify the handling of percent encoded characters in
+ http client.</p>
+ <p>
+ Own Id: OTP-16650 Aux Id: ERL-1215, PR-2629 </p>
+ </item>
+ <item>
+ <p>
+ fix crash for undefined port in uri.</p>
+ <p>
+ Own Id: OTP-16663 Aux Id: ERL-1241 </p>
+ </item>
+ <item>
+ <p>
+ Avoid timing issue when setting active once on a socket
+ that is being closed by the peer.</p>
+ <p>
+ Own Id: OTP-16735 Aux Id: OTP-16697, ERIERL-496 </p>
+ </item>
+ <item>
+ <p>
+ Handle message body of response with 1XX status code as
+ next http message.</p>
+ <p>
+ Own Id: OTP-16746 Aux Id: ERL-1268 </p>
+ </item>
+ <item>
+ <p>
+ Fix a crash in http server when setopts is called on a
+ socket closed by the peer.</p>
+ <p>
+ Own Id: OTP-16775 Aux Id: ERIERL-519 </p>
+ </item>
+ <item>
+ <p>
+ A vulnerability in the httpd module (inets application)
+ regarding directory traversal that was introduced in OTP
+ 22.3.1 and corrected in OTP 22.3.4.6. It was also
+ introduced in OTP 23.0 and corrected in OTP 23.1 The
+ vulnerability is registered as CVE-2020-25623</p>
+ <p>
+ The vulnerability is only exposed if the http server
+ (httpd) in the inets application is used. The
+ vulnerability makes it possible to read arbitrary files
+ which the Erlang system has read access to with for
+ example a specially prepared http request.</p>
+ <p>
+ Own Id: OTP-16790 Aux Id: ERIERL-522 </p>
+ </item>
+ </list>
+ </section>
+
+
+ <section><title>Improvements and New Features</title>
+ <list>
+ <item>
+ <p>
+ Add support of PATCH method in mod_esi.</p>
+ <p>
+ Own Id: OTP-16591 Aux Id: ERIERL-484 </p>
+ </item>
+ </list>
+ </section>
+
+</section>
+
+<section><title>Inets 7.2</title>
+
+ <section><title>Improvements and New Features</title>
+ <list>
+ <item>
+ <p>
+ Remove support for deprecated functionality. Support for
+ mod_esi eval scheme, mod_htacess, mod_browser, apache
+ config files and deprecated httpd_conf functions are
+ dropped. Module http_uri is deprecated.</p>
+ <p>
+ Own Id: OTP-16252</p>
+ </item>
+ <item>
+ <p>Refactored the internal handling of deprecated and
+ removed functions.</p>
+ <p>
+ Own Id: OTP-16469</p>
+ </item>
+ </list>
+ </section>
+
+</section>
+
+ <section><title>Inets 7.1.3.3</title>
+
+ <section><title>Fixed Bugs and Malfunctions</title>
+ <list>
+ <item>
+ <p>
+ Corrected an error regarding decode of percent encoded
+ URLs introduced in inets-7.1.3.</p>
+ <p>
+ Own Id: OTP-16790 Aux Id: ERIERL-522 </p>
+ </item>
+ </list>
+ </section>
+
+</section>
+
+ <section><title>Inets 7.1.3.2</title>
+
+ <section><title>Fixed Bugs and Malfunctions</title>
+ <list>
+ <item>
+ <p>
+ Fix a crash in http server when setopts is called on a
+ socket closed by the peer.</p>
+ <p>
+ Own Id: OTP-16775 Aux Id: ERIERL-519 </p>
+ </item>
+ </list>
+ </section>
+
+</section>
+
+ <section><title>Inets 7.1.3.1</title>
+
+ <section><title>Fixed Bugs and Malfunctions</title>
+ <list>
+ <item>
+ <p>
+ Avoid timing issue when setting active once on a socket
+ that is being closed by the peer.</p>
+ <p>
+ Own Id: OTP-16735 Aux Id: OTP-16697, ERIERL-496 </p>
+ </item>
+ </list>
+ </section>
+
+</section>
+
+<section><title>Inets 7.1.3</title>
<section><title>Fixed Bugs and Malfunctions</title>
<list>
@@ -2052,9 +2233,9 @@
<p>Better handling of errorI(s) during update of the session
database. </p>
<p>Also added and updated some debugging functions
- <seealso marker="httpc#which_sessions-0">which_sessions/[0,1]</seealso>
+ <seemfa marker="httpc#which_sessions/0">which_sessions/[0,1]</seemfa>
and
- <seealso marker="httpc#info-0">info/0</seealso>. </p>
+ <seemfa marker="httpc#info/0">info/0</seemfa>. </p>
<p>Own Id: OTP-10093</p>
<p>Aux Id: Seq 12062</p>
</item>
@@ -2126,11 +2307,11 @@
<item>
<p>[httpd] Make the server header configurable with new config
option
- <seealso marker="httpd#prop_server_tokens">server_tokens</seealso>.
+ <seeerl marker="httpd#prop_server_tokens">server_tokens</seeerl>.
The value of the server header, which was previously hard-coded
(at compile time), is now possible to manipulate through the means
of the
- <seealso marker="httpd#prop_server_tokens">server_tokens</seealso>
+ <seeerl marker="httpd#prop_server_tokens">server_tokens</seeerl>
config option. </p>
<p>Own Id: OTP-9805</p>
</item>
@@ -2148,16 +2329,16 @@
<item>
<p>[httpc] Add function for retrieving current options,
- <seealso marker="httpc#get_options-1">get_options/[1,2]</seealso>. </p>
+ <seemfa marker="httpc#get_options/1">get_options/[1,2]</seemfa>. </p>
<p>Own Id: OTP-9979</p>
</item>
<item>
<p>Utility module
- <seealso marker="http_uri">http_uri</seealso>
+ <seeerl marker="http_uri">http_uri</seeerl>
now officially supported. </p>
<p>Also, the
- <seealso marker="http_uri#parse">parse</seealso>
+ <seeerl marker="http_uri#parse">parse</seeerl>
function has been extended with more
scheme support and a way to provide your own scheme info. </p>
<p>Own Id: OTP-9983</p>
@@ -2266,7 +2447,7 @@
<list>
<item>
<p>[ftpc] Add a config option to specify a
- <seealso marker="ftp:ftp#dtimeout">data connect timeout</seealso>.
+ <seeerl marker="ftp:ftp#dtimeout">data connect timeout</seeerl>.
That is how long the ftp client will wait for the server to connect
to the data socket. If this timeout occurs, an error will be
returned to the caller and the ftp client process will be
@@ -2282,7 +2463,7 @@
A workaround for this is to use headers_as_is and provide the host
header with the requst call.
To solve this a new option has been added,
- <seealso marker="httpc#ipv6_host_with_brackets">ipv6_host_with_brackets</seealso>.
+ <seeerl marker="httpc#ipv6_host_with_brackets">ipv6_host_with_brackets</seeerl>.
This option specifies if the host value of the host header shall
include the brackets or not. By default, it does not (as before).
</p>
@@ -2329,7 +2510,7 @@
<item>
<p>[httpc] Deprecated interface module <c>http</c> has been removed.
It has (long) been replaced by http client interface module
- <seealso marker="httpc">httpc</seealso>. </p>
+ <seeerl marker="httpc">httpc</seeerl>. </p>
<p>Own Id: OTP-9359</p>
</item>
@@ -2394,7 +2575,7 @@
<item>
<p>[httpc] Deprecated interface module <c>http</c> has been removed.
It has (long) been replaced by http client interface module
- <seealso marker="httpc#">httpc</seealso>. </p>
+ <seeerl marker="httpc#">httpc</seeerl>. </p>
<p>Own Id: OTP-9359</p>
</item>
@@ -2523,7 +2704,7 @@
<p>[httpc] Add support for upload body streaming (PUT and POST).</p>
<p>For more info,
see the definition of the <c>Body</c> argument of the
- <seealso marker="httpc#request-4">request/[4,5]</seealso>
+ <seemfa marker="httpc#request/4">request/[4,5]</seemfa>
function. </p>
<p>Filipe David Manana</p>
<p>Own Id: OTP-9094</p>
@@ -2536,7 +2717,7 @@
<item>
<p>[httpd]
- <seealso marker="mod_esi#deliver-2">mod_esi:deliver/2</seealso>
+ <seemfa marker="mod_esi#deliver/2">mod_esi:deliver/2</seemfa>
made to accept binary data. </p>
<p>Bernard Duggan</p>
<p>Own Id: OTP-9123</p>
@@ -2564,7 +2745,7 @@
for using file descriptors has been improved.
It is now possible to add the file descriptor to the config
(option fd) when calling the
- <seealso marker="inets#start-2">inets:start(httpd, ...)</seealso>
+ <seemfa marker="inets#start/2">inets:start(httpd, ...)</seemfa>
function. </p>
<p>Attila Rajmund Nohl</p>
<p>Own Id: OTP-9202</p>
@@ -2576,9 +2757,9 @@
<p><c>ossl</c> will work for as long as the ssl application
supports it. </p>
<p>See the httpd
- <seealso marker="httpd#props_comm">socket_type</seealso>
+ <seeerl marker="httpd#props_comm">socket_type</seeerl>
communication property or the httpc
- <seealso marker="httpc#request-4">request/[4,5]</seealso> function
+ <seemfa marker="httpc#request/4">request/[4,5]</seemfa> function
for more info. </p>
<p>Own Id: OTP-9230</p>
<p>*** POTENTIAL INCOMPATIBILITY ***</p>
@@ -2595,7 +2776,7 @@
<list>
<item>
<p>[httpd] Wrong
- <seealso marker="httpd#props_sec">security property</seealso>
+ <seeerl marker="httpd#props_sec">security property</seeerl>
names used in documentation. </p>
<p><c>security_data_file</c> used instead of <c>data_file</c>. </p>
<p><c>security_max_retries</c> used instead of <c>max_retries</c>. </p>
@@ -2778,8 +2959,8 @@
<p>[httpc|httpd] - Now allow the use of the "new" ssl, by using
the <c>essl</c> tag instead. </p>
<p>See the <c>http_option</c> option in the
- <seealso marker="httpc#request-4">request/[4,5]</seealso> or
- the <seealso marker="httpd#props_comm">socket-type</seealso>
+ <seemfa marker="httpc#request/4">request/[4,5]</seemfa> or
+ the <seeerl marker="httpd#props_comm">socket-type</seeerl>
section of the Communication properties chapter for more info, </p>
<p>Own Id: OTP-7907</p>
</item>
@@ -2796,9 +2977,9 @@
<p>[httpd] - Improved mod_alias.
Now able to do better URL rewrites. </p>
<p>See
- <seealso marker="httpd#props_alias">URL aliasing properties</seealso>
+ <seeerl marker="httpd#props_alias">URL aliasing properties</seeerl>
and the
- <seealso marker="httpd#props_cgi">CGI properties</seealso>
+ <seeerl marker="httpd#props_cgi">CGI properties</seeerl>
section(s) for more info, </p>
<p>Own Id: OTP-8573</p>
</item>
@@ -2838,8 +3019,8 @@
<p>[httpc] - Allow users to pass socket options to the transport
module when making requests. </p>
<p>See the <c>socket_opts</c> option in the
- <seealso marker="httpc#request2">request/4</seealso> or
- <seealso marker="httpc#set_options">set_options/1,2</seealso>
+ <seeerl marker="httpc#request2">request/4</seeerl> or
+ <seeerl marker="httpc#set_options">set_options/1,2</seeerl>
for more info, </p>
<p>Own Id: OTP-8352</p>
</item>
@@ -2871,7 +3052,7 @@
<item>
<p>[httpd] - Added support (again) for the documented debugging
features. See the User's Guide
- <seealso marker="http_server#config">Configuration</seealso>
+ <seeguide marker="http_server#config">Configuration</seeguide>
chapter for more info. </p>
<p>Own Id: OTP-8624</p>
</item>
@@ -2893,8 +3074,8 @@
<p>[httpc] - Allow users to pass socket options to the transport
module when making requests. </p>
<p>See the <c>socket_opts</c> option in the
- <seealso marker="httpc#request2">request/4</seealso> or
- <seealso marker="httpc#set_options">set_options/1,2</seealso>
+ <seeerl marker="httpc#request2">request/4</seeerl> or
+ <seeerl marker="httpc#set_options">set_options/1,2</seeerl>
for more info, </p>
<p>Own Id: OTP-8352</p>
</item>
@@ -2945,8 +3126,8 @@
<p>[httpc] - Allow users to pass socket options to the transport
module when making requests. </p>
<p>See the <c>socket_opts</c> option in the
- <seealso marker="httpc#request2">request/4</seealso> or
- <seealso marker="httpc#set_options">set_options/1,2</seealso>
+ <seeerl marker="httpc#request2">request/4</seeerl> or
+ <seeerl marker="httpc#set_options">set_options/1,2</seeerl>
for more info, </p>
<p>Own Id: OTP-8352</p>
</item>
@@ -3008,8 +3189,8 @@
<p>[httpc] - Allow users to pass socket options to the transport
module when making requests. </p>
<p>See the <c>socket_opts</c> option in the
- <seealso marker="httpc#request-4">request/4</seealso> or
- <seealso marker="httpc#set_options-1">set_options/[1,2]</seealso>
+ <seemfa marker="httpc#request/4">request/4</seemfa> or
+ <seemfa marker="httpc#set_options/1">set_options/[1,2]</seemfa>
for more info, </p>
<p>Own Id: OTP-8352</p>
</item>
@@ -3050,7 +3231,7 @@
deliver an async reply to more receivers then the calling
process. </p>
<p>See the
- <seealso marker="httpc#request-2">receiver</seealso>
+ <seemfa marker="httpc#request/2">receiver</seemfa>
option for more info, </p>
<p>Own Id: OTP-8106</p>
</item>
@@ -3089,7 +3270,7 @@
</list>
<p>As a side-effect of these changes, some modules was also
renamed, and a new api module,
- <seealso marker="httpc">httpc</seealso>, has been introduced
+ <seeerl marker="httpc">httpc</seeerl>, has been introduced
(the old module <c>http</c> is <em>not</em> removed, but is
now just wrapper for <c>httpc</c>). </p>
<p>Own Id: OTP-8016</p>
@@ -3149,10 +3330,10 @@
<item>
<p>It is now also possible to start a standalone FTP client
process using the re-introduced
- <seealso marker="ftp:ftp#open">ftp:open</seealso>
+ <seeerl marker="ftp:ftp#open">ftp:open</seeerl>
function. </p>
<p>This is an alternative to starting the client using the
- <seealso marker="ftp:ftp#service_start">inets service framework</seealso>. </p>
+ <seeerl marker="ftp:ftp#service_start">inets service framework</seeerl>. </p>
<p>The old <c>ftp:open/1</c>, undocumented, function,
caused the client to be hooken into the inets service
supervision framework. This is <em>no</em> longer the
@@ -3165,10 +3346,10 @@
flag), and only used IPv4 if this did not work.
This has now been <em>changed</em>. </p>
<p>A new option,
- <seealso marker="ftp:ftp#ipfamily">ipfamily</seealso>,
+ <seeerl marker="ftp:ftp#ipfamily">ipfamily</seeerl>,
has been introduced, with the default value
<c>inet</c> (IPv4). </p>
- <p>See <seealso marker="ftp:ftp#open">ftp:open</seealso>
+ <p>See <seeerl marker="ftp:ftp#open">ftp:open</seeerl>
for more info.</p>
<p>*** POTENTIAL INCOMPATIBILITY ***</p>
</item>
@@ -3202,9 +3383,9 @@
<item>
<p>[ftpc] - The
- <seealso marker="ftp:ftp#ls2">ls/2</seealso> function (LIST command)
+ <seeerl marker="ftp:ftp#ls2">ls/2</seeerl> function (LIST command)
and the
- <seealso marker="ftp:ftp#nlist2">nlist/2</seealso> function
+ <seeerl marker="ftp:ftp#nlist2">nlist/2</seeerl> function
(NLST command)
with wildcards did
not work properly. </p>
@@ -3317,7 +3498,7 @@
request, when the client connects to the server. Default
value is that of the <c>timeout</c> option. </p>
<p>See the
- <seealso marker="httpc#request-4">request/[4,5]</seealso>
+ <seemfa marker="httpc#request/4">request/[4,5]</seemfa>
function for more info. </p>
<p>Own Id: OTP-7298</p>
<!-- <p>Aux Id: seq11086</p> -->
@@ -3380,7 +3561,7 @@
<p>Default is <c>inet6fb4</c> which emulates the
behaviour of the previous version. </p>
<p>See the
- <seealso marker="httpd#props_comm">Communication properties</seealso>
+ <seeerl marker="httpd#props_comm">Communication properties</seeerl>
section for more info. </p>
<p>Own Id: OTP-8069</p>
<p>Aux Id: seq11086</p>
@@ -3424,7 +3605,7 @@
the client connects to the server. </p>
<p>As a side-effect of this, the option <c>ipv6</c> has been
removed and replaced by the <c>ipfamily</c> option. </p>
- <p>See <seealso marker="httpc#set_options-1">http:set_options/[1,2]</seealso>
+ <p>See <seemfa marker="httpc#set_options/1">http:set_options/[1,2]</seemfa>
for more info. </p>
<p>*** POTENTIAL INCOMPATIBILITY ***</p>
<p>Own Id: OTP-8004</p>
diff --git a/lib/inets/doc/src/notes_history.xml b/lib/inets/doc/src/notes_history.xml
index 1523827db9..39a7b9da53 100644
--- a/lib/inets/doc/src/notes_history.xml
+++ b/lib/inets/doc/src/notes_history.xml
@@ -529,7 +529,7 @@
<list type="bulleted">
<item>
<p>[tftp] Added documentation (manual page) for
- <seealso marker="tftp">TFTP</seealso>.</p>
+ <seeerl marker="tftp">TFTP</seeerl>.</p>
<p>Own Id: OTP-6082</p>
</item>
</list>
diff --git a/lib/inets/doc/src/part.xml b/lib/inets/doc/src/part.xml
index b9c8ed674c..eca680cdb6 100644
--- a/lib/inets/doc/src/part.xml
+++ b/lib/inets/doc/src/part.xml
@@ -33,7 +33,7 @@
<p>The <c>Inets</c> application provides a set of
Internet-related services as follows:</p>
<list type="bulleted">
- <item>An <term id="HTTP"></term> client and server</item>
+ <item>An HTTP client and server</item>
</list>
<p>The HTTP client and server are HTTP 1.1 compliant as
defined in