diff options
Diffstat (limited to '')
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | doc/guide.html | 209 | ||||
-rw-r--r-- | doc/guide.tex | 69 |
3 files changed, 214 insertions, 69 deletions
@@ -1,3 +1,8 @@ +2006-10-29 Mickael Remond <mickael.remond@process-one.net> + + * doc/guide.tex: XEP-0065 proxy documentation (thanks to Evgeniy + Khramtsov). + 2006-10-28 Mickael Remond <mickael.remond@process-one.net> * src/ejabberd.cfg.example: Changed the anonymous example a bit to work diff --git a/doc/guide.html b/doc/guide.html index 01e0d6f1..10615b68 100644 --- a/doc/guide.html +++ b/doc/guide.html @@ -143,49 +143,50 @@ SPAN{width:20%; float:right; text-align:left; margin-left:auto;} <LI CLASS="li-toc"><A HREF="#htoc57">5.10 <TT>mod_offline</TT></A> <LI CLASS="li-toc"><A HREF="#htoc58">5.11 <TT>mod_privacy</TT></A> <LI CLASS="li-toc"><A HREF="#htoc59">5.12 <TT>mod_private</TT></A> -<LI CLASS="li-toc"><A HREF="#htoc60">5.13 <TT>mod_pubsub</TT></A> -<LI CLASS="li-toc"><A HREF="#htoc61">5.14 <TT>mod_register</TT></A> -<LI CLASS="li-toc"><A HREF="#htoc62">5.15 <TT>mod_roster</TT></A> -<LI CLASS="li-toc"><A HREF="#htoc63">5.16 <TT>mod_service_log</TT></A> -<LI CLASS="li-toc"><A HREF="#htoc64">5.17 <TT>mod_shared_roster</TT></A> -<LI CLASS="li-toc"><A HREF="#htoc65">5.18 <TT>mod_stats</TT></A> -<LI CLASS="li-toc"><A HREF="#htoc66">5.19 <TT>mod_time</TT></A> -<LI CLASS="li-toc"><A HREF="#htoc67">5.20 <TT>mod_vcard</TT></A> -<LI CLASS="li-toc"><A HREF="#htoc68">5.21 <TT>mod_vcard_ldap</TT></A> -<LI CLASS="li-toc"><A HREF="#htoc69">5.22 <TT>mod_version</TT></A> +<LI CLASS="li-toc"><A HREF="#htoc60">5.13 <TT>mod_proxy65</TT></A> +<LI CLASS="li-toc"><A HREF="#htoc61">5.14 <TT>mod_pubsub</TT></A> +<LI CLASS="li-toc"><A HREF="#htoc62">5.15 <TT>mod_register</TT></A> +<LI CLASS="li-toc"><A HREF="#htoc63">5.16 <TT>mod_roster</TT></A> +<LI CLASS="li-toc"><A HREF="#htoc64">5.17 <TT>mod_service_log</TT></A> +<LI CLASS="li-toc"><A HREF="#htoc65">5.18 <TT>mod_shared_roster</TT></A> +<LI CLASS="li-toc"><A HREF="#htoc66">5.19 <TT>mod_stats</TT></A> +<LI CLASS="li-toc"><A HREF="#htoc67">5.20 <TT>mod_time</TT></A> +<LI CLASS="li-toc"><A HREF="#htoc68">5.21 <TT>mod_vcard</TT></A> +<LI CLASS="li-toc"><A HREF="#htoc69">5.22 <TT>mod_vcard_ldap</TT></A> +<LI CLASS="li-toc"><A HREF="#htoc70">5.23 <TT>mod_version</TT></A> </UL> -<LI CLASS="li-toc"><A HREF="#htoc70">6 Creating an Initial Administrator</A> -<LI CLASS="li-toc"><A HREF="#htoc71">7 Online Configuration and Monitoring</A> +<LI CLASS="li-toc"><A HREF="#htoc71">6 Creating an Initial Administrator</A> +<LI CLASS="li-toc"><A HREF="#htoc72">7 Online Configuration and Monitoring</A> <UL CLASS="toc"><LI CLASS="li-toc"> -<A HREF="#htoc72">7.1 Web Interface</A> -<LI CLASS="li-toc"><A HREF="#htoc73">7.2 <TT>ejabberdctl</TT></A> +<A HREF="#htoc73">7.1 Web Interface</A> +<LI CLASS="li-toc"><A HREF="#htoc74">7.2 <TT>ejabberdctl</TT></A> </UL> -<LI CLASS="li-toc"><A HREF="#htoc74">8 Firewall Settings</A> -<LI CLASS="li-toc"><A HREF="#htoc75">9 SRV Records</A> -<LI CLASS="li-toc"><A HREF="#htoc76">10 Clustering</A> +<LI CLASS="li-toc"><A HREF="#htoc75">8 Firewall Settings</A> +<LI CLASS="li-toc"><A HREF="#htoc76">9 SRV Records</A> +<LI CLASS="li-toc"><A HREF="#htoc77">10 Clustering</A> <UL CLASS="toc"><LI CLASS="li-toc"> -<A HREF="#htoc77">10.1 How it Works</A> +<A HREF="#htoc78">10.1 How it Works</A> <UL CLASS="toc"><LI CLASS="li-toc"> -<A HREF="#htoc78">10.1.1 Router</A> -<LI CLASS="li-toc"><A HREF="#htoc79">10.1.2 Local Router</A> -<LI CLASS="li-toc"><A HREF="#htoc80">10.1.3 Session Manager</A> -<LI CLASS="li-toc"><A HREF="#htoc81">10.1.4 s2s Manager</A> +<A HREF="#htoc79">10.1.1 Router</A> +<LI CLASS="li-toc"><A HREF="#htoc80">10.1.2 Local Router</A> +<LI CLASS="li-toc"><A HREF="#htoc81">10.1.3 Session Manager</A> +<LI CLASS="li-toc"><A HREF="#htoc82">10.1.4 s2s Manager</A> </UL> -<LI CLASS="li-toc"><A HREF="#htoc82">10.2 Clustering Setup</A> +<LI CLASS="li-toc"><A HREF="#htoc83">10.2 Clustering Setup</A> </UL> -<LI CLASS="li-toc"><A HREF="#htoc83">A Internationalization and Localization</A> -<LI CLASS="li-toc"><A HREF="#htoc84">B Release Notes</A> +<LI CLASS="li-toc"><A HREF="#htoc84">A Internationalization and Localization</A> +<LI CLASS="li-toc"><A HREF="#htoc85">B Release Notes</A> <UL CLASS="toc"><LI CLASS="li-toc"> -<A HREF="#htoc85">B.1 ejabberd 0.9</A> -<LI CLASS="li-toc"><A HREF="#htoc86">B.2 ejabberd 0.9.1</A> -<LI CLASS="li-toc"><A HREF="#htoc87">B.3 ejabberd 0.9.8</A> -<LI CLASS="li-toc"><A HREF="#htoc88">B.4 ejabberd 1.0.0</A> -<LI CLASS="li-toc"><A HREF="#htoc89">B.5 ejabberd 1.1.0</A> -<LI CLASS="li-toc"><A HREF="#htoc90">B.6 ejabberd 1.1.1</A> -<LI CLASS="li-toc"><A HREF="#htoc91">B.7 ejabberd 1.1.2</A> +<A HREF="#htoc86">B.1 ejabberd 0.9</A> +<LI CLASS="li-toc"><A HREF="#htoc87">B.2 ejabberd 0.9.1</A> +<LI CLASS="li-toc"><A HREF="#htoc88">B.3 ejabberd 0.9.8</A> +<LI CLASS="li-toc"><A HREF="#htoc89">B.4 ejabberd 1.0.0</A> +<LI CLASS="li-toc"><A HREF="#htoc90">B.5 ejabberd 1.1.0</A> +<LI CLASS="li-toc"><A HREF="#htoc91">B.6 ejabberd 1.1.1</A> +<LI CLASS="li-toc"><A HREF="#htoc92">B.7 ejabberd 1.1.2</A> </UL> -<LI CLASS="li-toc"><A HREF="#htoc92">C Acknowledgements</A> -<LI CLASS="li-toc"><A HREF="#htoc93">D Copyright Information</A> +<LI CLASS="li-toc"><A HREF="#htoc93">C Acknowledgements</A> +<LI CLASS="li-toc"><A HREF="#htoc94">D Copyright Information</A> </UL> <!--TOC section Introduction--> @@ -1674,6 +1675,11 @@ Last connection date and time: Use <TT>mod_last_odbc</TT> instead of <TD ALIGN=left NOWRAP> </TD> <TD ALIGN=left NOWRAP>No</TD> </TR> +<TR><TD ALIGN=left NOWRAP><TT>mod_proxy65</TT></TD> +<TD ALIGN=left NOWRAP>SOCKS5 Bytestreams (<A HREF="http://www.jabber.org/jeps/jep-0065.html">JEP-0065</A>)</TD> +<TD ALIGN=left NOWRAP> </TD> +<TD ALIGN=left NOWRAP>No</TD> +</TR> <TR><TD ALIGN=left NOWRAP><TT>mod_pubsub</TT></TD> <TD ALIGN=left NOWRAP>Publish-Subscribe (<A HREF="http://www.jabber.org/jeps/jep-0060.html">JEP-0060</A>)</TD> <TD ALIGN=left NOWRAP> </TD> @@ -2343,9 +2349,74 @@ Options: the processing discipline for Private XML Storage (<TT>jabber:iq:private</TT>) IQ queries (see section <A HREF="#sec:modiqdiscoption">5.2.1</A>). </DL> +<!--TOC subsection <TT>mod_proxy65</TT>--> + +<H3 CLASS="subsection"><A NAME="htoc60">5.13</A> <A NAME="modproxy"><TT>mod_proxy65</TT></A></H3><!--SEC END --> + +<A NAME="sec:modproxy"></A> + +This module implements SOCKS5 Bytestreams (<A HREF="http://www.jabber.org/jeps/jep-0065.html">JEP-0065</A>). +It allows <TT>ejabberd</TT> to act as a file transfer proxy between two +XMPP clients.<BR> +<BR> +Options: +<DL CLASS="description" COMPACT=compact><DT CLASS="dt-description"> +<B><TT>host</TT></B><DD CLASS="dd-description">This option defines the hostname of the service. +If this option is not set, the prefix `<TT>proxy.</TT>' is added to <TT>ejabberd</TT> +hostname. +<DT CLASS="dt-description"><B><TT>name</TT></B><DD CLASS="dd-description">Defines Service Discovery name of the service. +Default is <TT>"SOCKS5 Bytestreams"</TT>. +<DT CLASS="dt-description"><B><TT>ip</TT></B><DD CLASS="dd-description">This option specifies which network interface +to listen for. Default is an IP address of the service's DNS name, or, +if fails, <CODE>{127,0,0,1}</CODE>. +<DT CLASS="dt-description"><B><TT>port</TT></B><DD CLASS="dd-description">This option defines port to listen for +incoming connections. Default is 7777. +<DT CLASS="dt-description"><B><TT>auth_type</TT></B><DD CLASS="dd-description">SOCKS5 authentication type. +Possible values are <TT>anonymous</TT> and <TT>plain</TT>. Default is +<TT>anonymous</TT>. +<DT CLASS="dt-description"><B><TT>access</TT></B><DD CLASS="dd-description">Defines ACL for file transfer initiators. +Default is <TT>all</TT>. +<DT CLASS="dt-description"><B><TT>max_connections</TT></B><DD CLASS="dd-description">Maximum number of +active connections per file transfer initiator. No limit by default. +<DT CLASS="dt-description"><B><TT>shaper</TT></B><DD CLASS="dd-description">This option defines shaper for +the file transfer peers. Shaper with the maximum bandwidth will be selected. +Default is <TT>none</TT>. +</DL> +Examples: +<UL CLASS="itemize"><LI CLASS="li-itemize"> +The simpliest configuration of the module: + <PRE CLASS="verbatim"> + {modules, + [ + ... + {mod_proxy65, []}, + ... + ]}. +</PRE><LI CLASS="li-itemize">More complicated configuration. + <PRE CLASS="verbatim"> + {acl, proxy_users, {server, "example.org"}}. + {access, proxy65_access, [{allow, proxy_users}, {deny, all}]}. + ... + {acl, admin, {user, "admin", "example.org"}}. + {shaper, normal, {maxrate, 10240}}. %% 10 Kbytes/sec + {access, proxy65_shaper, [{none, admin}, {normal, all}]}. + ... + {modules, + [ + ... + {mod_proxy65, [{host, "proxy1.example.org"}, + {name, "File Transfer Proxy"}, + {ip, {200,150,100,1}}, + {port, 7778}, + {max_connections, 5}, + {access, proxy65_access}, + {shaper, proxy65_shaper}]}, + ... + ]}. +</PRE></UL> <!--TOC subsection <TT>mod_pubsub</TT>--> -<H3 CLASS="subsection"><A NAME="htoc60">5.13</A> <A NAME="modpubsub"><TT>mod_pubsub</TT></A></H3><!--SEC END --> +<H3 CLASS="subsection"><A NAME="htoc61">5.14</A> <A NAME="modpubsub"><TT>mod_pubsub</TT></A></H3><!--SEC END --> <A NAME="sec:modpubsub"></A> @@ -2397,7 +2468,7 @@ Example: </PRE> <!--TOC subsection <TT>mod_register</TT>--> -<H3 CLASS="subsection"><A NAME="htoc61">5.14</A> <A NAME="modregister"><TT>mod_register</TT></A></H3><!--SEC END --> +<H3 CLASS="subsection"><A NAME="htoc62">5.15</A> <A NAME="modregister"><TT>mod_register</TT></A></H3><!--SEC END --> <A NAME="sec:modregister"></A> @@ -2453,7 +2524,7 @@ Next example prohibits the registration of too short account names: </PRE></UL> <!--TOC subsection <TT>mod_roster</TT>--> -<H3 CLASS="subsection"><A NAME="htoc62">5.15</A> <A NAME="modroster"><TT>mod_roster</TT></A></H3><!--SEC END --> +<H3 CLASS="subsection"><A NAME="htoc63">5.16</A> <A NAME="modroster"><TT>mod_roster</TT></A></H3><!--SEC END --> <A NAME="sec:modroster"></A> @@ -2467,7 +2538,7 @@ the processing discipline for Roster Management (<TT>jabber:iq:roster</TT>) IQ q </DL> <!--TOC subsection <TT>mod_service_log</TT>--> -<H3 CLASS="subsection"><A NAME="htoc63">5.16</A> <A NAME="modservicelog"><TT>mod_service_log</TT></A></H3><!--SEC END --> +<H3 CLASS="subsection"><A NAME="htoc64">5.17</A> <A NAME="modservicelog"><TT>mod_service_log</TT></A></H3><!--SEC END --> <A NAME="sec:modservicelog"></A> @@ -2507,7 +2578,7 @@ To log all end user packets to the Bandersnatch service running on </PRE></UL> <!--TOC subsection <TT>mod_shared_roster</TT>--> -<H3 CLASS="subsection"><A NAME="htoc64">5.17</A> <A NAME="modsharedroster"><TT>mod_shared_roster</TT></A></H3><!--SEC END --> +<H3 CLASS="subsection"><A NAME="htoc65">5.18</A> <A NAME="modsharedroster"><TT>mod_shared_roster</TT></A></H3><!--SEC END --> <A NAME="sec:modsharedroster"></A> @@ -2634,7 +2705,7 @@ Take the case of a computer club that wants all its members seeing each </UL> <!--TOC subsection <TT>mod_stats</TT>--> -<H3 CLASS="subsection"><A NAME="htoc65">5.18</A> <A NAME="modstats"><TT>mod_stats</TT></A></H3><!--SEC END --> +<H3 CLASS="subsection"><A NAME="htoc66">5.19</A> <A NAME="modstats"><TT>mod_stats</TT></A></H3><!--SEC END --> <A NAME="sec:modstats"></A> @@ -2676,7 +2747,7 @@ You can request the number of online users on the current virtual host </PRE></UL> <!--TOC subsection <TT>mod_time</TT>--> -<H3 CLASS="subsection"><A NAME="htoc66">5.19</A> <A NAME="modtime"><TT>mod_time</TT></A></H3><!--SEC END --> +<H3 CLASS="subsection"><A NAME="htoc67">5.20</A> <A NAME="modtime"><TT>mod_time</TT></A></H3><!--SEC END --> <A NAME="sec:modtime"></A> @@ -2691,7 +2762,7 @@ the processing discipline for Entity Time (<TT>jabber:iq:time</TT>) IQ queries </DL> <!--TOC subsection <TT>mod_vcard</TT>--> -<H3 CLASS="subsection"><A NAME="htoc67">5.20</A> <A NAME="modvcard"><TT>mod_vcard</TT></A></H3><!--SEC END --> +<H3 CLASS="subsection"><A NAME="htoc68">5.21</A> <A NAME="modvcard"><TT>mod_vcard</TT></A></H3><!--SEC END --> <A NAME="sec:modvcard"></A> @@ -2756,7 +2827,7 @@ In this first situation, search results are limited to twenty items, </PRE></UL> <!--TOC subsection <TT>mod_vcard_ldap</TT>--> -<H3 CLASS="subsection"><A NAME="htoc68">5.21</A> <A NAME="modvcardldap"><TT>mod_vcard_ldap</TT></A></H3><!--SEC END --> +<H3 CLASS="subsection"><A NAME="htoc69">5.22</A> <A NAME="modvcardldap"><TT>mod_vcard_ldap</TT></A></H3><!--SEC END --> <A NAME="sec:modvcardldap"></A> @@ -2951,7 +3022,7 @@ searching his info in LDAP.<BR> </PRE></UL> <!--TOC subsection <TT>mod_version</TT>--> -<H3 CLASS="subsection"><A NAME="htoc69">5.22</A> <A NAME="modversion"><TT>mod_version</TT></A></H3><!--SEC END --> +<H3 CLASS="subsection"><A NAME="htoc70">5.23</A> <A NAME="modversion"><TT>mod_version</TT></A></H3><!--SEC END --> <A NAME="sec:modversion"></A> @@ -2966,7 +3037,7 @@ the processing discipline for Software Version (<TT>jabber:iq:version</TT>) IQ q </DL> <!--TOC section Creating an Initial Administrator--> -<H2 CLASS="section"><A NAME="htoc70">6</A> <A NAME="initialadmin">Creating an Initial Administrator</A></H2><!--SEC END --> +<H2 CLASS="section"><A NAME="htoc71">6</A> <A NAME="initialadmin">Creating an Initial Administrator</A></H2><!--SEC END --> <A NAME="sec:initialadmin"></A> Before the web interface can be entered to perform administration tasks, an @@ -2981,7 +3052,7 @@ Register an account on your <TT>ejabberd</TT> deployment. An account can be section <A HREF="#sec:ejabberdctl">7.2</A>): <PRE CLASS="verbatim"> % ejabberdctl node@host register admin example.org password -</PRE><LI CLASS="li-enumerate">Using In-Band Registration (see section <A HREF="#sec:modregister">5.14</A>): you can +</PRE><LI CLASS="li-enumerate">Using In-Band Registration (see section <A HREF="#sec:modregister">5.15</A>): you can use a Jabber client to register an account. </OL> <LI CLASS="li-enumerate">Edit the configuration file to promote the account created in the previous @@ -2998,12 +3069,12 @@ Register an account on your <TT>ejabberd</TT> deployment. An account can be </OL> <!--TOC section Online Configuration and Monitoring--> -<H2 CLASS="section"><A NAME="htoc71">7</A> <A NAME="onlineconfig">Online Configuration and Monitoring</A></H2><!--SEC END --> +<H2 CLASS="section"><A NAME="htoc72">7</A> <A NAME="onlineconfig">Online Configuration and Monitoring</A></H2><!--SEC END --> <A NAME="sec:onlineconfig"></A> <!--TOC subsection Web Interface--> -<H3 CLASS="subsection"><A NAME="htoc72">7.1</A> <A NAME="webinterface">Web Interface</A></H3><!--SEC END --> +<H3 CLASS="subsection"><A NAME="htoc73">7.1</A> <A NAME="webinterface">Web Interface</A></H3><!--SEC END --> <A NAME="sec:webinterface"></A> @@ -3077,7 +3148,7 @@ You can serve the web interface on the same port as the </PRE></UL> <!--TOC subsection <TT>ejabberdctl</TT>--> -<H3 CLASS="subsection"><A NAME="htoc73">7.2</A> <A NAME="ejabberdctl"><TT>ejabberdctl</TT></A></H3><!--SEC END --> +<H3 CLASS="subsection"><A NAME="htoc74">7.2</A> <A NAME="ejabberdctl"><TT>ejabberdctl</TT></A></H3><!--SEC END --> <A NAME="sec:ejabberdctl"></A> @@ -3123,7 +3194,7 @@ Additional information: </DL> <!--TOC section Firewall Settings--> -<H2 CLASS="section"><A NAME="htoc74">8</A> <A NAME="firewall">Firewall Settings</A></H2><!--SEC END --> +<H2 CLASS="section"><A NAME="htoc75">8</A> <A NAME="firewall">Firewall Settings</A></H2><!--SEC END --> <A NAME="sec:firewall"></A> @@ -3152,7 +3223,7 @@ You need to take the following TCP ports in mind when configuring your firewall: <DIV CLASS="center"><HR WIDTH="80%" SIZE=2></DIV></DIV></BLOCKQUOTE> <!--TOC section SRV Records--> -<H2 CLASS="section"><A NAME="htoc75">9</A> <A NAME="srv">SRV Records</A></H2><!--SEC END --> +<H2 CLASS="section"><A NAME="htoc76">9</A> <A NAME="srv">SRV Records</A></H2><!--SEC END --> <A NAME="sec:srv"></A> @@ -3164,13 +3235,13 @@ General information: </UL> <!--TOC section Clustering--> -<H2 CLASS="section"><A NAME="htoc76">10</A> <A NAME="clustering">Clustering</A></H2><!--SEC END --> +<H2 CLASS="section"><A NAME="htoc77">10</A> <A NAME="clustering">Clustering</A></H2><!--SEC END --> <A NAME="sec:clustering"></A> <!--TOC subsection How it Works--> -<H3 CLASS="subsection"><A NAME="htoc77">10.1</A> <A NAME="howitworks">How it Works</A></H3><!--SEC END --> +<H3 CLASS="subsection"><A NAME="htoc78">10.1</A> <A NAME="howitworks">How it Works</A></H3><!--SEC END --> <A NAME="sec:howitworks"></A> @@ -3191,7 +3262,7 @@ router, </UL> <!--TOC subsubsection Router--> -<H4 CLASS="subsubsection"><A NAME="htoc78">10.1.1</A> <A NAME="router">Router</A></H4><!--SEC END --> +<H4 CLASS="subsubsection"><A NAME="htoc79">10.1.1</A> <A NAME="router">Router</A></H4><!--SEC END --> <A NAME="sec:router"></A> @@ -3203,7 +3274,7 @@ appropriate process. If not, it is sent to the s2s manager.<BR> <BR> <!--TOC subsubsection Local Router--> -<H4 CLASS="subsubsection"><A NAME="htoc79">10.1.2</A> <A NAME="localrouter">Local Router</A></H4><!--SEC END --> +<H4 CLASS="subsubsection"><A NAME="htoc80">10.1.2</A> <A NAME="localrouter">Local Router</A></H4><!--SEC END --> <A NAME="sec:localrouter"></A> @@ -3214,7 +3285,7 @@ on its content.<BR> <BR> <!--TOC subsubsection Session Manager--> -<H4 CLASS="subsubsection"><A NAME="htoc80">10.1.3</A> <A NAME="sessionmanager">Session Manager</A></H4><!--SEC END --> +<H4 CLASS="subsubsection"><A NAME="htoc81">10.1.3</A> <A NAME="sessionmanager">Session Manager</A></H4><!--SEC END --> <A NAME="sec:sessionmanager"></A> @@ -3225,7 +3296,7 @@ storage, or bounced back.<BR> <BR> <!--TOC subsubsection s2s Manager--> -<H4 CLASS="subsubsection"><A NAME="htoc81">10.1.4</A> <A NAME="s2smanager">s2s Manager</A></H4><!--SEC END --> +<H4 CLASS="subsubsection"><A NAME="htoc82">10.1.4</A> <A NAME="s2smanager">s2s Manager</A></H4><!--SEC END --> <A NAME="sec:s2smanager"></A> @@ -3237,7 +3308,7 @@ serving this connection, otherwise a new connection is opened.<BR> <BR> <!--TOC subsection Clustering Setup--> -<H3 CLASS="subsection"><A NAME="htoc82">10.2</A> <A NAME="cluster">Clustering Setup</A></H3><!--SEC END --> +<H3 CLASS="subsection"><A NAME="htoc83">10.2</A> <A NAME="cluster">Clustering Setup</A></H3><!--SEC END --> <A NAME="sec:cluster"></A> @@ -3310,7 +3381,7 @@ domain.<BR> <!--TOC section Internationalization and Localization--> -<H2 CLASS="section"><A NAME="htoc83">A</A> <A NAME="i18nl10n">Internationalization and Localization</A></H2><!--SEC END --> +<H2 CLASS="section"><A NAME="htoc84">A</A> <A NAME="i18nl10n">Internationalization and Localization</A></H2><!--SEC END --> <A NAME="sec:i18nl10n"></A> @@ -3353,13 +3424,13 @@ figure <A HREF="#fig:webadmmainru">3</A> with figure <A HREF="#fig:web <DIV CLASS="center"><HR WIDTH="80%" SIZE=2></DIV></DIV></BLOCKQUOTE> <!--TOC section Release Notes--> -<H2 CLASS="section"><A NAME="htoc84">B</A> <A NAME="releasenotes">Release Notes</A></H2><!--SEC END --> +<H2 CLASS="section"><A NAME="htoc85">B</A> <A NAME="releasenotes">Release Notes</A></H2><!--SEC END --> <A NAME="sec:releasenotes"></A> <!--TOC subsection ejabberd 0.9--> -<H3 CLASS="subsection"><A NAME="htoc85">B.1</A> ejabberd 0.9</H3><!--SEC END --> +<H3 CLASS="subsection"><A NAME="htoc86">B.1</A> ejabberd 0.9</H3><!--SEC END --> <PRE CLASS="verbatim"> Release notes @@ -3453,7 +3524,7 @@ Bugfixes </PRE> <!--TOC subsection ejabberd 0.9.1--> -<H3 CLASS="subsection"><A NAME="htoc86">B.2</A> ejabberd 0.9.1</H3><!--SEC END --> +<H3 CLASS="subsection"><A NAME="htoc87">B.2</A> ejabberd 0.9.1</H3><!--SEC END --> <PRE CLASS="verbatim"> Release notes @@ -3521,7 +3592,7 @@ Bugfixes </PRE> <!--TOC subsection ejabberd 0.9.8--> -<H3 CLASS="subsection"><A NAME="htoc87">B.3</A> ejabberd 0.9.8</H3><!--SEC END --> +<H3 CLASS="subsection"><A NAME="htoc88">B.3</A> ejabberd 0.9.8</H3><!--SEC END --> <PRE CLASS="verbatim"> Release notes @@ -3626,7 +3697,7 @@ END </PRE> <!--TOC subsection ejabberd 1.0.0--> -<H3 CLASS="subsection"><A NAME="htoc88">B.4</A> ejabberd 1.0.0</H3><!--SEC END --> +<H3 CLASS="subsection"><A NAME="htoc89">B.4</A> ejabberd 1.0.0</H3><!--SEC END --> <PRE CLASS="verbatim"> Release Notes @@ -3752,7 +3823,7 @@ END </PRE> <!--TOC subsection ejabberd 1.1.0--> -<H3 CLASS="subsection"><A NAME="htoc89">B.5</A> ejabberd 1.1.0</H3><!--SEC END --> +<H3 CLASS="subsection"><A NAME="htoc90">B.5</A> ejabberd 1.1.0</H3><!--SEC END --> <PRE CLASS="verbatim"> Release Notes @@ -3873,7 +3944,7 @@ END </PRE> <!--TOC subsection ejabberd 1.1.1--> -<H3 CLASS="subsection"><A NAME="htoc90">B.6</A> ejabberd 1.1.1</H3><!--SEC END --> +<H3 CLASS="subsection"><A NAME="htoc91">B.6</A> ejabberd 1.1.1</H3><!--SEC END --> <PRE CLASS="verbatim"> Release Notes @@ -3998,7 +4069,7 @@ END </PRE> <!--TOC subsection ejabberd 1.1.2--> -<H3 CLASS="subsection"><A NAME="htoc91">B.7</A> ejabberd 1.1.2</H3><!--SEC END --> +<H3 CLASS="subsection"><A NAME="htoc92">B.7</A> ejabberd 1.1.2</H3><!--SEC END --> <PRE CLASS="verbatim"> Release Notes @@ -4123,7 +4194,7 @@ END </PRE> <!--TOC section Acknowledgements--> -<H2 CLASS="section"><A NAME="htoc92">C</A> <A NAME="acknowledgements">Acknowledgements</A></H2><!--SEC END --> +<H2 CLASS="section"><A NAME="htoc93">C</A> <A NAME="acknowledgements">Acknowledgements</A></H2><!--SEC END --> <A NAME="sec:acknowledgements"></A> Thanks to all people who contributed to this guide: @@ -4140,7 +4211,7 @@ Alexey Shchepin (<A HREF="xmpp:aleksey@jabber.ru"><TT>xmpp:aleksey@jabber.ru</TT </UL> <!--TOC section Copyright Information--> -<H2 CLASS="section"><A NAME="htoc93">D</A> <A NAME="copyright">Copyright Information</A></H2><!--SEC END --> +<H2 CLASS="section"><A NAME="htoc94">D</A> <A NAME="copyright">Copyright Information</A></H2><!--SEC END --> <A NAME="sec:copyright"></A> Ejabberd Installation and Operation Guide.<BR> diff --git a/doc/guide.tex b/doc/guide.tex index 3635e5b5..dad23356 100644 --- a/doc/guide.tex +++ b/doc/guide.tex @@ -58,6 +58,7 @@ \newcommand{\modofflineodbc}{\module{mod\_offline\_odbc}} \newcommand{\modprivacy}{\module{mod\_privacy}} \newcommand{\modprivate}{\module{mod\_private}} +\newcommand{\modproxy}{\module{mod\_proxy65}} \newcommand{\modpubsub}{\module{mod\_pubsub}} \newcommand{\modregister}{\module{mod\_register}} \newcommand{\modroster}{\module{mod\_roster}} @@ -1476,6 +1477,7 @@ database for the following data: \hline \modofflineodbc{} & Offline message storage & supported database (*) & No \\ \hline \modprivacy{} & Blocking Communication & & Yes \\ \hline \modprivate{} & Private XML Storage (\jepref{0049}) & & No \\ + \hline \modproxy{} & SOCKS5 Bytestreams (\jepref{0065}) & & No\\ \hline \modpubsub{} & Publish-Subscribe (\jepref{0060}) & & No \\ \hline \modregister{} & In-Band Registration (\jepref{0077}) & & No \\ \hline \modroster{} & Roster management & & Yes (**) \\ @@ -2092,6 +2094,73 @@ Options: \iqdiscitem{Private XML Storage (\ns{jabber:iq:private})} \end{description} +\subsection{\aname{modproxy}{\modproxy{}}} +\label{sec:modproxy} +\ind{modules!\modversion{}}\ind{protocols!JEP-0065: SOCKS5 Bytestreams} + +This module implements SOCKS5 Bytestreams (\jepref{0065}). +It allows \ejabberd{} to act as a file transfer proxy between two +XMPP clients. + +Options: +\begin{description} +\titem{host}\ind{options!host}This option defines the hostname of the service. +If this option is not set, the prefix `\jid{proxy.}' is added to \ejabberd{} +hostname. +\titem{name}\ind{options!name}Defines Service Discovery name of the service. +Default is \term{"SOCKS5 Bytestreams"}. +\titem{ip}\ind{options!ip}This option specifies which network interface +to listen for. Default is an IP address of the service's DNS name, or, +if fails, \verb|{127,0,0,1}|. +\titem{port}\ind{options!port}This option defines port to listen for +incoming connections. Default is~7777. +\titem{auth\_type}\ind{options!auth\_type}SOCKS5 authentication type. +Possible values are \term{anonymous} and \term{plain}. Default is +\term{anonymous}. +\titem{access}\ind{options!access}Defines ACL for file transfer initiators. +Default is \term{all}. +\titem{max\_connections}\ind{options!max\_connections}Maximum number of +active connections per file transfer initiator. No limit by default. +\titem{shaper}\ind{options!shaper}This option defines shaper for +the file transfer peers. Shaper with the maximum bandwidth will be selected. +Default is \term{none}. +\end{description} + +Examples: +\begin{itemize} +\item The simpliest configuration of the module: + \begin{verbatim} + {modules, + [ + ... + {mod_proxy65, []}, + ... + ]}. +\end{verbatim} +\item More complicated configuration. + \begin{verbatim} + {acl, proxy_users, {server, "example.org"}}. + {access, proxy65_access, [{allow, proxy_users}, {deny, all}]}. + ... + {acl, admin, {user, "admin", "example.org"}}. + {shaper, normal, {maxrate, 10240}}. %% 10 Kbytes/sec + {access, proxy65_shaper, [{none, admin}, {normal, all}]}. + ... + {modules, + [ + ... + {mod_proxy65, [{host, "proxy1.example.org"}, + {name, "File Transfer Proxy"}, + {ip, {200,150,100,1}}, + {port, 7778}, + {max_connections, 5}, + {access, proxy65_access}, + {shaper, proxy65_shaper}]}, + ... + ]}. +\end{verbatim} +\end{itemize} + \subsection{\aname{modpubsub}{\modpubsub{}}} \label{sec:modpubsub} \ind{modules!\modpubsub{}}\ind{protocols!JEP-0060: Publish-Subscribe} |