<?xml version="1.0" encoding="utf-8" ?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">

    <title type="text">Process&#45;one Discussion Forums</title>
    <link rel="alternate" type="text/html" href="http://www.process-one.net/en/forum/" />
    <link rel="self" type="application/atom+xml" href="http://www.process-one.net/en/forum/atom/" />
    <updated></updated>
    <rights>Copyright (c) 2008</rights>
    <generator uri="http://expressionengine.com/" version="1.6.2">ExpressionEngine</generator>
    <id>tag:process-one.net,2008:06:25</id>


    <entry>
      <title>Check if a user is logged on</title>
      <link rel="alternate" type="text/html" href="http://www.process-one.net/en/forum/viewthread/127/" />      
      <id>tag:process-one.net,2008:en/forum/viewthread/.127</id>
      <published>2008-05-02T22:46:21Z</published>
      <updated></updated>
      <author><name>persett</name></author>
      <content type="html">
      <![CDATA[
        <p>Hi.
</p>
<p>
Is there an API call I can do in order to check if a user is currently online?
</p>
<p>
Thanks!
<br />
--
<br />
Tor-Helge Persett
</p>
      ]]>
      </content>
    </entry>

    <entry>
      <title>Get User Info from ejabbered.</title>
      <link rel="alternate" type="text/html" href="http://www.process-one.net/en/forum/viewthread/128/" />      
      <id>tag:process-one.net,2008:en/forum/viewthread/.128</id>
      <published>2008-05-08T03:58:36Z</published>
      <updated></updated>
      <author><name>Shri</name></author>
      <content type="html">
      <![CDATA[
        <p>Hi All,
</p>
<p>
I have installed ejabber2.0 on my machine and have created a couple users via UI and adding manually in cfg file. Now i could login with these new users.
</p>
<p>
I am new to jabber. I want to know:
</p>
<p>
1. How can i add friends so that i can see them as my friends and chat with them?
<br />
2. Do i always need to add users in ejabberd.cfg file, restart to relect the user?
</p>
<p>
Are there any API support to access the ejabber that i have installed on my machine.
</p>
<p>
Where can i find documentation regarding this.
</p>
<p>
Any help would be highly appreciated.
</p>
<p>
Thanks in advace.
</p>
<p>
Thanks,
<br />
Shridhar
</p>
      ]]>
      </content>
    </entry>

    <entry>
      <title>Sources des installeurs ejabberd sous linux</title>
      <link rel="alternate" type="text/html" href="http://www.process-one.net/en/forum/viewthread/126/" />      
      <id>tag:process-one.net,2008:en/forum/viewthread/.126</id>
      <published>2008-04-27T22:32:43Z</published>
      <updated>2008-04-28T08:51:54Z</updated>
      <author><name>jpl</name></author>
      <content type="html">
      <![CDATA[
        <p>Bonjour,
</p>
<p>
J&#8217;ai développé un module d&#8217;installation de ejabberd pour la solution SME Server (smeserver-ejabberd) qui se présente en format rpm et s&#8217;appuie sur l&#8217;installateur ejabberd-1.1.4-linux-x86-installer.bin.gz que vous avez développé.
</p>
<p>
Je prépare une mise à jour pour la version 2.0
</p>
<p>
Mon problème est lié à la licence GNU GPL. Mon paquetage source incorpore actuellement votre installeur, et je dois être capable pour le distribuer en conformité avec la GPL de donner l&#8217;accès au sources de l&#8217;installeur en question (ou de les incorporer directement dans le rpm source) . Est-il possible de les obtenir ?
</p>
<p>
Merci de votre réponse
</p>
<p>
Jean-Paul Leclère
</p>
      ]]>
      </content>
    </entry>

    <entry>
      <title>Kicking a user</title>
      <link rel="alternate" type="text/html" href="http://www.process-one.net/en/forum/viewthread/124/" />      
      <id>tag:process-one.net,2008:en/forum/viewthread/.124</id>
      <published>2008-04-17T23:00:58Z</published>
      <updated></updated>
      <author><name>dS_Jeffrey</name></author>
      <content type="html">
      <![CDATA[
        <p>In ejabberd 1.1.4 I had a module which had the ability to kick a user, this was accomplished by routing a broadcast &#8220;disconnect&#8221; packet to the user via.
</p>
<p>
</p><div class="codeblock"><code>
<span style="color: #0000BB">force_disconnect</span><span style="color: #007700">(</span><span style="color: #0000BB">User</span><span style="color: #007700">, </span><span style="color: #0000BB">Server</span><span style="color: #007700">, </span><span style="color: #0000BB">Msg</span><span style="color: #007700">) -&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">ejabberd_sm</span><span style="color: #007700">:</span><span style="color: #0000BB">route</span><span style="color: #007700">(<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">jlib</span><span style="color: #007700">:</span><span style="color: #0000BB">make_jid</span><span style="color: #007700">(</span><span style="color: #DD0000">""</span><span style="color: #007700">, </span><span style="color: #DD0000">""</span><span style="color: #007700">, </span><span style="color: #DD0000">""</span><span style="color: #007700">),<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">jlib</span><span style="color: #007700">:</span><span style="color: #0000BB">make_jid</span><span style="color: #007700">(</span><span style="color: #0000BB">User</span><span style="color: #007700">, </span><span style="color: #0000BB">Server</span><span style="color: #007700">, </span><span style="color: #DD0000">""</span><span style="color: #007700">),<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#123;xmlelement</span><span style="color: #007700">, </span><span style="color: #DD0000">"broadcast"</span><span style="color: #007700">, </span><span style="color: #0000BB">&#91;&#93;</span><span style="color: #007700">, </span><span style="color: #0000BB">&#91;&#123;disconnect</span><span style="color: #007700">, </span><span style="color: #0000BB">Msg&#125;&#93;&#125;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">).</span>
</code></div><p>
</p>
<p>
This no longer seems to work with ejabberd 2.0, i was wondering if their was an easier way of possibly doing this.
</p>
      ]]>
      </content>
    </entry>

    <entry>
      <title>ejabberd&#45;2.0.0 problem!!</title>
      <link rel="alternate" type="text/html" href="http://www.process-one.net/en/forum/viewthread/123/" />      
      <id>tag:process-one.net,2008:en/forum/viewthread/.123</id>
      <published>2008-04-14T11:12:44Z</published>
      <updated>2008-04-14T16:50:04Z</updated>
      <author><name>Extend</name></author>
      <content type="html">
      <![CDATA[
        <p>i encountered a problem with ejabberd 2.0.0 it was running fine with me until an incident happen the machine that hosts my ejabberd shutdowned and when it starts up ejabberd won&#8217;t work properly i tried to stop and start it again it files an errors in logs i will attach the log and the crach report
</p>
<p>
/var/log/ejabberd/sasl.log
<br />
=SUPERVISOR REPORT==== 13-Apr-2008::11:06:30 ===
<br />
     Supervisor: &#123;local,mnesia_sup&#125;
<br />
     Context:&nbsp;   child_terminated
<br />
     Reason:&nbsp;    shutdown
<br />
     Offender:&nbsp;  [&#123;pid,&lt;0.63.0&gt;&#125;,
<br />
                  &#123;name,mnesia_kernel_sup&#125;,
<br />
                  &#123;mfa,&#123;mnesia_kernel_sup,start,[]&#125;&#125;,
<br />
                  &#123;restart_type,permanent&#125;,
<br />
                  &#123;shutdown,infinity&#125;,
<br />
                  &#123;child_type,supervisor&#125;]
</p>
<p>
=SUPERVISOR REPORT==== 13-Apr-2008::11:06:30 ===
<br />
     Supervisor: &#123;local,mnesia_sup&#125;
<br />
     Context:&nbsp;   shutdown
<br />
     Reason:&nbsp;    reached_max_restart_intensity
<br />
     Offender:&nbsp;  [&#123;pid,&lt;0.63.0&gt;&#125;,
<br />
                  &#123;name,mnesia_kernel_sup&#125;,
<br />
                  &#123;mfa,&#123;mnesia_kernel_sup,start,[]&#125;&#125;,
<br />
                  &#123;restart_type,permanent&#125;,
<br />
                  &#123;shutdown,infinity&#125;,
<br />
                  &#123;child_type,supervisor&#125;]
</p>
<p>
=PROGRESS REPORT==== 13-Apr-2008::11:06:30 ===
<br />
          supervisor: &#123;local,crypto_sup&#125;
<br />
             started: [&#123;pid,&lt;0.120.0&gt;&#125;,
<br />
                       &#123;name,crypto_server&#125;,
<br />
                       &#123;mfa,&#123;crypto_server,start_link,[]&#125;&#125;,
<br />
                       &#123;restart_type,permanent&#125;,
<br />
                       &#123;shutdown,2000&#125;,
<br />
                       &#123;child_type,worker&#125;]
</p>
<p>
=PROGRESS REPORT==== 13-Apr-2008::11:06:30 ===
<br />
         application: crypto
<br />
          started_at: ejabberd@localhost
</p>
<p>
=PROGRESS REPORT==== 13-Apr-2008::11:06:30 ===
<br />
          supervisor: &#123;local,ssl_sup&#125;
<br />
             started: [&#123;pid,&lt;0.126.0&gt;&#125;,
<br />
                       &#123;name,ssl_server&#125;,
<br />
                       &#123;mfa,&#123;ssl_server,start_link,[]&#125;&#125;,
<br />
                       &#123;restart_type,permanent&#125;,
<br />
                       &#123;shutdown,2000&#125;,
<br />
                       &#123;child_type,worker&#125;]
</p>
<p>
=PROGRESS REPORT==== 13-Apr-2008::11:06:30 ===
<br />
          supervisor: &#123;local,ssl_sup&#125;
<br />
             started: [&#123;pid,&lt;0.127.0&gt;&#125;,
<br />
                       &#123;name,ssl_broker_sup&#125;,
<br />
                       &#123;mfa,&#123;ssl_broker_sup,start_link,[]&#125;&#125;,
<br />
                       &#123;restart_type,permanent&#125;,
<br />
                       &#123;shutdown,2000&#125;,
<br />
                       &#123;child_type,supervisor&#125;]
</p>
<p>
=PROGRESS REPORT==== 13-Apr-2008::11:06:30 ===
<br />
         application: ssl
<br />
          started_at: ejabberd@localhost
</p>
<p>
=PROGRESS REPORT==== 13-Apr-2008::11:06:30 ===
<br />
          supervisor: &#123;local,stringprep_sup&#125;
<br />
             started: [&#123;pid,&lt;0.129.0&gt;&#125;,
<br />
                       &#123;name,stringprep&#125;,
<br />
                       &#123;mfa,&#123;stringprep,start_link,[]&#125;&#125;,
<br />
                       &#123;restart_type,permanent&#125;,
<br />
                       &#123;shutdown,brutal_kill&#125;,
<br />
                       &#123;child_type,worker&#125;]
</p>
<p>
=CRASH REPORT==== 13-Apr-2008::11:06:31 ===
<br />
  crasher:
<br />
    pid: &lt;0.36.0&gt;
<br />
    registered_name: []
<br />
    error_info: &#123;bad_return,
<br />
                     &#123;&#123;ejabberd_app,start,[normal,[]]&#125;,
<br />
                      &#123;&#8217;EXIT&#8217;,
<br />
                          &#123;&#123;case_clause,
<br />
                               &#123;aborted,
<br />
                                   &#123;node_not_running,ejabberd@localhost&#125;&#125;&#125;,
<br />
                           [&#123;ejabberd_config,set_opts,1&#125;,
<br />
                            &#123;ejabberd_app,start,2&#125;,
<br />
                            &#123;application_master,start_it_old,4&#125;]&#125;&#125;&#125;&#125;
<br />
    initial_call: &#123;application_master,
<br />
                     init,
<br />
                     [&lt;0.5.0&gt;,
<br />
                      &lt;0.35.0&gt;,
<br />
                      &#123;appl_data,
<br />
                          ejabberd,
<br />
                          [ejabberd,
<br />
                           ejabberd_sup,
<br />
                           ejabberd_auth,
<br />
                           ejabberd_router,
<br />
                           ejabberd_sm,
<br />
                           ejabberd_s2s,
<br />
                           ejabberd_local,
<br />
                           ejabberd_listeners,
<br />
                           ejabberd_iq_sup,
<br />
                           ejabberd_service_sup,
<br />
                           ejabberd_s2s_out_sup,
<br />
                           ejabberd_s2s_in_sup,
<br />
                           ejabberd_c2s_sup,
<br />
                           ejabberd_mod_roster,
<br />
                           ejabberd_mod_echo,
<br />
                           ejabberd_mod_pubsub,
<br />
                           ejabberd_mod_irc,
<br />
                           ejabberd_mod_muc,
<br />
                           ejabberd_offline,
<br />
                           random_generator],
<br />
                          undefined,
<br />
                          &#123;ejabberd_app,[]&#125;,
<br />
                          [acl,
<br />
                           adhoc,
<br />
                           configure,
<br />
                           cyrsasl_anonymous,
<br />
                           cyrsasl,
<br />
                           cyrsasl_digest,
<br />
                           cyrsasl_plain,
<br />
                           ejabberd_admin,
<br />
                           ejabberd_app,
<br />
                           ejabberd_auth_anonymous,
<br />
                           ejabberd_auth,
<br />
                           ejabberd_auth_external,
<br />
                           ejabberd_auth_internal,
<br />
                           ejabberd_auth_ldap,
<br />
                           ejabberd_auth_odbc,
<br />
                           ejabberd_auth_pam,
<br />
                           ejabberd,
<br />
                           ejabberd_c2s,
<br />
                           ejabberd_c2s_config,
<br />
                           ejabberd_config,
<br />
                           ejabberd_ctl,
<br />
                           ejabberd_frontend_socket,
<br />
                           ejabberd_hooks,
<br />
                           ejabberd_http,
<br />
                           ejabberd_http_bind,
<br />
                           ejabberd_http_poll,
<br />
                           ejabberd_listener,
<br />
                           ejabberd_local,
<br />
                           ejabberd_logger_h,
<br />
                           ejabberd_loglevel,
<br />
                           ejabberd_node_groups,
<br />
                           ejabberd_rdbms,
</p>
      ]]>
      </content>
    </entry>

    <entry>
      <title>Add cookie support to ejabberd</title>
      <link rel="alternate" type="text/html" href="http://www.process-one.net/en/forum/viewthread/122/" />      
      <id>tag:process-one.net,2008:en/forum/viewthread/.122</id>
      <published>2008-04-04T17:27:27Z</published>
      <updated>2008-04-04T17:37:20Z</updated>
      <author><name>loretoparisi</name></author>
      <content type="html">
      <![CDATA[
        <p>Hello,
<br />
I posted a brief guide describing how to add cookies support to ejabberd (link below) in a simple way.
<br />
I was wondering if it was possible to eventually release a patch for the users who needs this support <img class='inline' src="http://www.process-one.net/images/smileys/smile.gif" width="19" height="19" alt="smile" style="border:0;" />
<br />
The patch is relatively simple and it would patch ejabberd_http.erl module and its header file ejabberd_http.hrl.
<br />
It works on ejabberd 1.1.x and ejabberd 2.x.
<br />
If needed I could send to you the cookie patch, or attach here the entire code.
</p>
<p>
(update)
<br />
I&#8217;m attaching the original post here:
</p>
<p>
To add cookies to HTTP POST/GET requests in ejabberd (1.1.x and 2.x) we have to add some fields in the request headers, setting up the request and state records in ejabberd_http.erl module and its header file ejabberd_http.hrl.
</p>
<p>
First of all, we will add the field cookie to the record request in ejabberd_http.hrl header file as follows:
<br />
</p><div class="codeblock"><code>
<span style="color: #007700">-</span><span style="color: #0000BB">record</span><span style="color: #007700">(</span><span style="color: #0000BB">request</span><span style="color: #007700">, </span><span style="color: #0000BB">&#123;method</span><span style="color: #007700">,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">path</span><span style="color: #007700">,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">q </span><span style="color: #007700">= </span><span style="color: #0000BB">&#91;&#93;</span><span style="color: #007700">,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">us</span><span style="color: #007700">,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">auth</span><span style="color: #007700">,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">lang </span><span style="color: #007700">= </span><span style="color: #DD0000">""</span><span style="color: #007700">,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">data </span><span style="color: #007700">= </span><span style="color: #DD0000">""</span><span style="color: #007700">,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">cookie </span><span style="color: #007700">= </span><span style="color: #DD0000">""</span><span style="color: #007700">, %% </span><span style="color: #0000BB">lp</span><span style="color: #007700">: </span><span style="color: #0000BB">cookie request field<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ip<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#125;</span><span style="color: #007700">).</span>
</code></div><p>
As you can see we are referring to ejabberd 2.0 (in the request record we have the new field ip for new user info).
</p>
<p>
Now we will edit the ejabberd_http.erl module, adding the field request_cookie to the record state:
</p>
<p>
</p><div class="codeblock"><code>
<span style="color: #007700">-</span><span style="color: #0000BB">record</span><span style="color: #007700">(</span><span style="color: #0000BB">state</span><span style="color: #007700">, </span><span style="color: #0000BB">&#123;sockmod</span><span style="color: #007700">,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">socket</span><span style="color: #007700">,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">request_method</span><span style="color: #007700">,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">request_version</span><span style="color: #007700">,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">request_path</span><span style="color: #007700">,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">request_auth</span><span style="color: #007700">,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">request_cookie</span><span style="color: #007700">, %% </span><span style="color: #0000BB">lp</span><span style="color: #007700">: </span><span style="color: #0000BB">cookie request field<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;request_keepalive</span><span style="color: #007700">,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(...)</span>
</code></div><p>
 
<br />
At this point, we have to pass cookies to handlers, modifying the process_headers and process_request functions:
</p>
<p>
In the process_header, we will add to the case construct
</p>
<p>
</p><div class="codeblock"><code>
<span style="color: #0000BB">process_header</span><span style="color: #007700">(</span><span style="color: #0000BB">State</span><span style="color: #007700">, </span><span style="color: #0000BB">Data</span><span style="color: #007700">) -&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">SockMod </span><span style="color: #007700">= </span><span style="color: #0000BB">State</span><span style="color: #FF8000">#state.sockmod,<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">Socket </span><span style="color: #007700">= </span><span style="color: #0000BB">State</span><span style="color: #FF8000">#state.socket,<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">case </span><span style="color: #0000BB">Data of<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#123;ok</span><span style="color: #007700">, </span><span style="color: #0000BB">&#123;http_request</span><span style="color: #007700">, </span><span style="color: #0000BB">Method</span><span style="color: #007700">, </span><span style="color: #0000BB">Uri</span><span style="color: #007700">, </span><span style="color: #0000BB">Version&#125;&#125; </span><span style="color: #007700">-&gt;<br />&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;(...)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#123;ok</span><span style="color: #007700">, </span><span style="color: #0000BB">&#123;http_header</span><span style="color: #007700">, </span><span style="color: #0000BB">_</span><span style="color: #007700">, </span><span style="color: #DD0000">'Authorization'</span><span style="color: #007700">, </span><span style="color: #0000BB">_</span><span style="color: #007700">, </span><span style="color: #0000BB">Auth&#125;&#125; </span><span style="color: #007700">-&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">State</span><span style="color: #FF8000">#state&#123;request_auth = parse_auth(Auth)&#125;;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#123;ok</span><span style="color: #007700">, </span><span style="color: #0000BB">&#123;http_header</span><span style="color: #007700">, </span><span style="color: #0000BB">_</span><span style="color: #007700">, </span><span style="color: #DD0000">'Cookie'</span><span style="color: #007700">, </span><span style="color: #0000BB">_</span><span style="color: #007700">, </span><span style="color: #0000BB">Cookie&#125;&#125; </span><span style="color: #007700">-&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;%% </span><span style="color: #0000BB">lp</span><span style="color: #007700">: </span><span style="color: #0000BB">setting up request header cookie<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;State</span><span style="color: #FF8000">#state&#123;request_cookie = Cookie&#125;;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#123;ok</span><span style="color: #007700">, </span><span style="color: #0000BB">&#123;http_header</span><span style="color: #007700">, </span><span style="color: #0000BB">_</span><span style="color: #007700">, </span><span style="color: #DD0000">'Content-Length'</span><span style="color: #007700">, </span><span style="color: #0000BB">_</span><span style="color: #007700">, </span><span style="color: #0000BB">SLen&#125;&#125; </span><span style="color: #007700">-&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;(...)</span>
</code></div><p>
</p>
<p>
In the process_request we have to modify the function header as follows:
</p>
<p>
</p><div class="codeblock"><code>
<span style="color: #0000BB">process_request</span><span style="color: #007700">(</span><span style="color: #FF8000">#state&#123;request_method = 'GET',<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">request_path </span><span style="color: #007700">= </span><span style="color: #0000BB">&#123;abs_path</span><span style="color: #007700">, </span><span style="color: #0000BB">Path&#125;</span><span style="color: #007700">,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">request_auth </span><span style="color: #007700">= </span><span style="color: #0000BB">Auth</span><span style="color: #007700">,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">request_lang </span><span style="color: #007700">= </span><span style="color: #0000BB">Lang</span><span style="color: #007700">,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">request_cookie </span><span style="color: #007700">= </span><span style="color: #0000BB">Cookie</span><span style="color: #007700">, %% </span><span style="color: #0000BB">lp</span><span style="color: #007700">: </span><span style="color: #0000BB">cookie request field<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;request_handlers </span><span style="color: #007700">= </span><span style="color: #0000BB">RequestHandlers</span><span style="color: #007700">,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">sockmod </span><span style="color: #007700">= </span><span style="color: #0000BB">SockMod</span><span style="color: #007700">,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">socket </span><span style="color: #007700">= </span><span style="color: #0000BB">Socket&#125; </span><span style="color: #007700">= </span><span style="color: #0000BB">State</span><span style="color: #007700">) -&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(...)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">Request </span><span style="color: #007700">= </span><span style="color: #FF8000">#request&#123;method = 'GET',<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">path </span><span style="color: #007700">= </span><span style="color: #0000BB">LPath</span><span style="color: #007700">,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">q </span><span style="color: #007700">= </span><span style="color: #0000BB">LQuery</span><span style="color: #007700">,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">auth </span><span style="color: #007700">= </span><span style="color: #0000BB">Auth</span><span style="color: #007700">,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">lang </span><span style="color: #007700">= </span><span style="color: #0000BB">Lang</span><span style="color: #007700">,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">cookie </span><span style="color: #007700">= </span><span style="color: #0000BB">Cookie</span><span style="color: #007700">, %% </span><span style="color: #0000BB">lp</span><span style="color: #007700">: </span><span style="color: #0000BB">here again </span><span style="color: #007700">:)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">ip</span><span style="color: #007700">=</span><span style="color: #0000BB">IP&#125;</span><span style="color: #007700">,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(...)</span>
</code></div><p>
and in the next header too:
</p>
<p>
</p><div class="codeblock"><code>
<span style="color: #0000BB">process_request</span><span style="color: #007700">(</span><span style="color: #FF8000">#state&#123;request_method = 'POST',<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">request_path </span><span style="color: #007700">= </span><span style="color: #0000BB">&#123;abs_path</span><span style="color: #007700">, </span><span style="color: #0000BB">Path&#125;</span><span style="color: #007700">,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">request_auth </span><span style="color: #007700">= </span><span style="color: #0000BB">Auth</span><span style="color: #007700">,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">request_content_length </span><span style="color: #007700">= </span><span style="color: #0000BB">Len</span><span style="color: #007700">,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">request_lang </span><span style="color: #007700">= </span><span style="color: #0000BB">Lang</span><span style="color: #007700">,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">request_cookie </span><span style="color: #007700">= </span><span style="color: #0000BB">Cookie</span><span style="color: #007700">, %% </span><span style="color: #0000BB">lp</span><span style="color: #007700">: </span><span style="color: #0000BB">cookie<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sockmod </span><span style="color: #007700">= </span><span style="color: #0000BB">SockMod</span><span style="color: #007700">,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">socket </span><span style="color: #007700">= </span><span style="color: #0000BB">Socket</span><span style="color: #007700">,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">request_handlers </span><span style="color: #007700">= </span><span style="color: #0000BB">RequestHandlers&#125; </span><span style="color: #007700">= </span><span style="color: #0000BB">State</span><span style="color: #007700">)<br />&nbsp;&nbsp;</span><span style="color: #0000BB">when is_integer</span><span style="color: #007700">(</span><span style="color: #0000BB">Len</span><span style="color: #007700">) -&gt;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(...)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">Request </span><span style="color: #007700">= </span><span style="color: #FF8000">#request&#123;method = 'POST',<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">path </span><span style="color: #007700">= </span><span style="color: #0000BB">LPath</span><span style="color: #007700">,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">q </span><span style="color: #007700">= </span><span style="color: #0000BB">LQuery</span><span style="color: #007700">,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">auth </span><span style="color: #007700">= </span><span style="color: #0000BB">Auth</span><span style="color: #007700">,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">cookie </span><span style="color: #007700">= </span><span style="color: #0000BB">Cookie</span><span style="color: #007700">, %% </span><span style="color: #0000BB">lp</span><span style="color: #007700">: </span><span style="color: #0000BB">cookie the last one </span><span style="color: #007700">;)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">data </span><span style="color: #007700">= </span><span style="color: #0000BB">Data</span><span style="color: #007700">,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">lang </span><span style="color: #007700">= </span><span style="color: #0000BB">Lang&#125;</span><span style="color: #007700">,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case </span><span style="color: #0000BB">process</span><span style="color: #007700">(</span><span style="color: #0000BB">RequestHandlers</span><span style="color: #007700">, </span><span style="color: #0000BB">Request</span><span style="color: #007700">) </span><span style="color: #0000BB">of<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">(...)</span>
</code></div><p>
</p>
<p>
Now, we are ready to add the cookie request&#8217;s field to our modules processing http requests:
</p>
<p>
</p><div class="codeblock"><code>
<span style="color: #0000BB">process</span><span style="color: #007700">(</span><span style="color: #FF8000">#request&#123;us = _US,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">path </span><span style="color: #007700">= </span><span style="color: #DD0000">"login"</span><span style="color: #007700">,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">q </span><span style="color: #007700">= </span><span style="color: #0000BB">_Query</span><span style="color: #007700">,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">lang </span><span style="color: #007700">= </span><span style="color: #0000BB">_Lang</span><span style="color: #007700">,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">cookie </span><span style="color: #007700">= </span><span style="color: #0000BB">_Cookie&#125; </span><span style="color: #007700">= </span><span style="color: #0000BB">Request</span><span style="color: #007700">) -&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;%% </span><span style="color: #0000BB">_Cookie will contain the request cookie now<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">%% </span><span style="color: #0000BB">Manage request by cookies<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">%% </span><span style="color: #0000BB">Send response </span><span style="color: #007700">:)</span>
</code></div><p>
</p>
<p>
Cheers,
<br />
LP
</p>
<p>
Link:
<br />
<a href="http://www.process-one.net/en?URL=http%3A%2F%2Ferlangdevelopers.splinder.com%2Fpost%2F16609181%2FAdd%2Bcookie%2Bsupport%2Bin%2Bejabberd">http://erlangdevelopers.splinder.com/post/16609181/Add+cookie+support+in+ejabberd</a>
</p>
      ]]>
      </content>
    </entry>

    <entry>
      <title>Configuring ejabberd pour pubsub</title>
      <link rel="alternate" type="text/html" href="http://www.process-one.net/en/forum/viewthread/121/" />      
      <id>tag:process-one.net,2008:en/forum/viewthread/.121</id>
      <published>2008-03-23T23:32:30Z</published>
      <updated></updated>
      <author><name>Jehan</name></author>
      <content type="html">
      <![CDATA[
        <p>Hello,
</p>
<p>
I am not sure being in the right place because the topic of the forum is &#8220;modules development&#8221;. But in the meantime, I don&#8217;t see a forum dedicated simply to ejabberd.
</p>
<p>
Anyway I hope I could find some help here.
<br />
Here is my issue: I have a ejabberd server (v 2.0.0), mainly for my own use and for friends (I don&#8217;t host massively, I cannot bear such a responsibility as for now) and for test purpose. I am currently writing a program which needs to publish to a Jabber node. 
</p>
<p>
A few weeks ago, for test, I know I managed to create some collection nodes. But now that I nearly finished my program and needed to create the nodes I need, I realized I don&#8217;t manage to create nodes anymore. I don&#8217;t understand: did I change something in my server configuration? I don&#8217;t think so. I mainly kept the default conf:
</p>
<blockquote><p>%% Everybody can create pubsub nodes
<br />
&#123;access, pubsub_createnode, [&#123;allow, all&#125;]&#125;.
</p>
<p>
  &#123;mod_pubsub,   [ % requires mod_caps
<br />
                  &#123;access_createnode, pubsub_createnode&#125;,
<br />
                  &#123;plugins, ["default", &#8220;pep"]&#125;
<br />
  ]&#125;,</p></blockquote>
<p>
What I do to create a pubsub collection node is (following XEP 60):
</p>
<blockquote><p>&lt;iq type=&#8217;set&#8217;
<br />
    from=&#8217;account@server/resource&#8217;
<br />
    to=&#8217;pubsub.server&#8217;
<br />
    id=&#8217;create3&#8217;&gt;
<br />
  &lt;pubsub xmlns=&#8217;http://jabber.org/protocol/pubsub&#8217;&gt;
<br />
    &lt;create node=&#8217;test&#8217;&gt;
<br />
    &lt;configure&gt;
<br />
      &lt;x xmlns=&#8217;jabber:x:data&#8217; type=&#8217;submit&#8217;&gt;
<br />
        &lt;field var=&#8217;FORM_TYPE&#8217; type=&#8217;hidden&#8217;&gt;
<br />
          &lt;value&gt;http://jabber.org/protocol/pubsub#node_config&lt;/value&gt;
<br />
        &lt;/field&gt;
<br />
        &lt;field var=&#8217;pubsub#node_type&#8217;&gt;
<br />
&lt;value&gt;collection&lt;/value&gt;
<br />
&lt;/field&gt;
<br />
      &lt;/x&gt;
<br />
    &lt;/configure&gt;
<br />
  &lt;/pubsub&gt;
<br />
&lt;/iq&gt; </p></blockquote>
<p>
And I get:
</p>
<blockquote><p>
&lt;iq from=&#8217;pubsub.server&#8217; to=&#8217;account@server/resource&#8217; type=&#8217;error&#8217; id=&#8217;create3&#8217;&gt;
<br />
  &lt;pubsub xmlns=&#8217;http://jabber.org/protocol/pubsub&#8217;&gt;
<br />
    &lt;create node=&#8217;test&#8217;&gt;
<br />
    &lt;configure&gt;
<br />
      &lt;x xmlns=&#8217;jabber:x:data&#8217; type=&#8217;submit&#8217;&gt;
<br />
        &lt;field var=&#8217;FORM_TYPE&#8217; type=&#8217;hidden&#8217;&gt;
<br />
          &lt;value&gt;http://jabber.org/protocol/pubsub#node_config&lt;/value&gt;
<br />
        &lt;/field&gt;
<br />
        &lt;field var=&#8217;pubsub#node_type&#8217;&gt;
<br />
&lt;value&gt;collection&lt;/value&gt;
<br />
&lt;/field&gt;
<br />
      &lt;/x&gt;
<br />
    &lt;/configure&gt;
<br />
  &lt;/pubsub&gt;
<br />
&lt;error code=&#8217;403&#8217; type=&#8217;auth&#8217;&gt;
<br />
&lt;forbidden xmlns=&#8217;urn:ietf:params:xml:ns:xmpp-stanzas&#8217;/&gt;
<br />
&lt;/error&gt;
<br />
&lt;/iq&gt;
<br />
</p></blockquote>
<p>
I get the same kind of &#8216;auth&#8217; error with a leaf node. And more I am not able anymore to delete the nodes I created previously! I again get a &#8216;auth&#8217; error! And I cannot find who is the owner of these nodes to see why I have no right on them.
</p>
<p>
What do I do wrong here? Why is there an authorization issue though I apparently set the server with right to everyone to create nodes (moreover the address I am using is the admin of the server!)?
</p>
<p>
Is there a xmpp issue (but I am using exactly the commands from the XEP!)? Or a server&#8217;s configuration issue? I don&#8217;t get it.
</p>
<p>
P.S.: by the way, do you know some Jabber server where there is a pubsub server with general authorization to create nodes?
<br />
if I try for instance at pubsub.jabber.org and with such a command:
</p>
<blockquote><p>
&lt;iq type=&#8217;set&#8217;
<br />
    from=&#8217;my_jid&#8217;
<br />
    to=&#8217;pubsub.jabber.org&#8217;
<br />
    id=&#8217;create1&#8217;&gt;
<br />
    &lt;pubsub xmlns=&#8217;http://jabber.org/protocol/pubsub&#8217;&gt;
<br />
      &lt;create node=&#8217;princely_musings&#8217;&gt;
<br />
      &lt;configure&gt;
<br />
    &lt;/pubsub&gt;
<br />
&lt;/iq&gt;
<br />
</p></blockquote>
<p>
I get this response which corresponds to no sort of error according to the XEP:
</p>
<blockquote><p>
&lt;iq from=&#8217;pubsub.jabber.org&#8217; to=&#8217;my_jid&#8217; type=&#8217;error&#8217; id=&#8217;create1&#8217;&gt;
<br />
    &lt;pubsub xmlns=&#8217;http://jabber.org/protocol/pubsub&#8217;&gt;
<br />
      &lt;create node=&#8217;princely_musings&#8217;&gt;
<br />
      &lt;configure&gt;
<br />
    &lt;/pubsub&gt;
<br />
&lt;error code=&#8217;400&#8217; type=&#8217;modify&#8217;&gt;
<br />
&lt;bad-request xmlns=&#8217;urn:ietf:params:xml:ns:xmpp-stanzas&#8217;/&gt;
<br />
&lt;/error&gt;
<br />
&lt;/iq&gt;
<br />
</p></blockquote>
      ]]>
      </content>
    </entry>

    <entry>
      <title>Server error with FireFox 2.0.0.12</title>
      <link rel="alternate" type="text/html" href="http://www.process-one.net/en/forum/viewthread/118/" />      
      <id>tag:process-one.net,2008:en/forum/viewthread/.118</id>
      <published>2008-03-03T22:49:03Z</published>
      <updated></updated>
      <author><name>parse</name></author>
      <content type="html">
      <![CDATA[
        <p>Hi.
</p>
<p>
I&#8217;ve been playing around with the new ejabberd release.&nbsp; Authenticating from a db: no prob.&nbsp; Offline msgs to a db: no prob.&nbsp; Can chat back and forth, no prob. 
</p>
<p>
But Firefox lags with certain calls.&nbsp; (Im using a jsjac 1.3 implementation).&nbsp; Looks like when I send this:&nbsp; 
</p>
<p>
&lt;body rid=&#8217;395390&#8217; sid=&#8217;4875ab093c999edd625cd595d059b0bf67052250&#8217; xmlns=&#8217;http://jabber.org/protocol/httpbind&#8217; key=&#8217;398b9fd8f96e8a434a57982c53812a8159da4b5b&#8217; /&gt;
</p>
<p>
I get this:
</p>
<p>
&lt;html&gt;&lt;body&gt;Internal Server Error. Please contact a server administrator.&lt;/body&gt;&lt;/html&gt;
</p>
<p>
after about a 30,000ms delay that hangs up FF.&nbsp; Nothing special in the ejabberd logs.&nbsp; I&#8217;m not even sure the purpose of the ping, anyone have an idea?&nbsp; Looks like ejabberd has a problem with the call and holds up FF waiting for a return.
</p>
<p>
Everything else works fine but FF is un-usable in this situation.
</p>
<p>
Cheers!
</p>
      ]]>
      </content>
    </entry>

    <entry>
      <title>it always shows empty value in that state field of that last table in ejabberd database</title>
      <link rel="alternate" type="text/html" href="http://www.process-one.net/en/forum/viewthread/115/" />      
      <id>tag:process-one.net,2008:en/forum/viewthread/.115</id>
      <published>2008-02-27T07:58:41Z</published>
      <updated></updated>
      <author><name>Svanga</name></author>
      <content type="html">
      <![CDATA[
        <p>Dear Support Team,
</p>
<p>
We are using ejabberd-1.1.4 as IM Server. we have given odbc support to that server from MySql database.
</p>
<p>
When ever any user login, that corresponding user entry of seconds field is changed in last table. How ever that state field in last table couldn&#8217;t changed when ever that corresponding user changes his/her status ( off-line to on-line, busy etc., and vice versa). it always shows empty value in that state field of that last table.
</p>
<p>
Can any one help on this issue??
</p>
<p>
Thanks in advance,
<br />
Satya.
</p>
      ]]>
      </content>
    </entry>

    <entry>
      <title>cpu/memory requirements&#63;</title>
      <link rel="alternate" type="text/html" href="http://www.process-one.net/en/forum/viewthread/112/" />      
      <id>tag:process-one.net,2008:en/forum/viewthread/.112</id>
      <published>2008-02-14T23:03:05Z</published>
      <updated></updated>
      <author><name>Matt</name></author>
      <content type="html">
      <![CDATA[
        <p>Can anyone share their real-world cpu/memory usage? I&#8217;m trying to get a feel for what hardware I could get away with for various sizes of user communities. 
</p>
<p>
Thanks in advance,
</p>
<p>
Matt
</p>
      ]]>
      </content>
    </entry>


</feed>