ejabberd - Comments for "mod_shared_roster_ldap issues, minimum configuration" https://www.ejabberd.im/node/5612 en zimbranut wrote: I have ldap https://www.ejabberd.im/node/5612#comment-58816 <div class="quote-msg"> <div class="quote-author"><em>zimbranut</em> wrote:</div> <p>I have ldap auth and vcard working</p></div> <div class="quote-msg"> <div class="quote-author"><em>zimbranut</em> wrote:</div> <p>... i can see the auth stuff when a user goes online, but *noting* beside that (on tcpdump)...</p></div> <p>This implies that you use LDAP auth; and this definitely means that there is an object in LDAP that may be used as a user representation.<br /> So, it seems like what you want is doable, but requires knowing more about your layout.</p> <p>Also, to understand the problem with nothing from msrl on the wire, you should inspect the ejabberd logs. The startup or operation may encounter problems that prevent the module from operating.</p> Wed, 13 Jun 2012 22:08:35 +0000 mikekaganski comment 58816 at https://www.ejabberd.im Hi mikekaganski, thanks for https://www.ejabberd.im/node/5612#comment-58815 <p>Hi mikekaganski, thanks for your help!</p> <div class="quote-msg"> <div class="quote-author"><em>mikekaganski</em> wrote:</div> <p>First, you don't need mod_shared_roster at all to make mod_shared_roster_ldap work; but you definitely do need mod_roster (from your config excerpt, I cannot see if it is enabled, but the absence of LDAP searches is often explained by absence of mod_roster in config). Web admin is not used to configure msrl. </p></div> <p>No, the mod_roster is there in the config, but no matter what i enter into the msrl config, it does not seem to touch the ldap-server, i can see the auth stuff when a user goes online, but *noting* beside that (on tcpdump)...</p> <div class="quote-msg"> <div class="quote-author"><em>mikekaganski</em> wrote:</div> <p>But note that this requires that after you get zimbraMailForwardingAdress, you can search for a inetOrgPerson with this uid. Also, your group must have an id (that I guessed to be cn).</p> <p>As you have a grip on your Zimbra schema, you could adjust this as needed.</p></div> <p>Don't think i can do that (the idea was to be able to use the zimbra-webadmin-gui to configure the shared roster, but as far as i think i'm understanding it now, it can't be done how i wanted with the current Zimbra schema 'cause Zimbra does not have a concept of user groups (beside the distribution lists, but they contain mailadresses, not users)...</p> Wed, 13 Jun 2012 14:28:26 +0000 zimbranut comment 58815 at https://www.ejabberd.im First, you don't need https://www.ejabberd.im/node/5612#comment-58814 <p>First, you don't need mod_shared_roster at all to make mod_shared_roster_ldap work; but you definitely do need mod_roster (from your config excerpt, I cannot see if it is enabled, but the absence of LDAP searches is often explained by absence of mod_roster in config). Web admin is not used to configure msrl.</p> <p>Also, the msrl config is incomplete. There's no gfilter and ufilter in it.<br /> I would expect this to be close:</p> <div class="codeblock"><code>{mod_shared_roster_ldap,[<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {ldap_filter,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &quot;&quot;},<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {ldap_rfilter,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &quot;(objectClass=zimbraDistributionList)&quot;},<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {ldap_groupattr,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &quot;cn&quot;},<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {ldap_gfilter,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &quot;(&amp;(objectClass=zimbraDistributionList)(cn=%g))&quot;},<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {ldap_memberattr,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &quot;zimbraMailForwardingAdress&quot;},<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {ldap_ufilter,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &quot;(&amp;(objectClass=inetOrgPerson)(uid=%u))&quot;},<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {ldap_useruid,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &quot;uid&quot;},<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {ldap_userdesc,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &quot;displayName&quot;}<br />]},</code></div> <p>But note that this requires that after you get zimbraMailForwardingAdress, you can search for a inetOrgPerson with this uid. Also, your group must have an id (that I guessed to be cn).</p> <p>As you have a grip on your Zimbra schema, you could adjust this as needed.</p> Wed, 13 Jun 2012 13:20:43 +0000 mikekaganski comment 58814 at https://www.ejabberd.im Hi, i'm having a similar https://www.ejabberd.im/node/5612#comment-58813 <p>Hi, i'm having a similar problem, i'm trying to use the Zimbra Distribution Lists as shared roster. I have ldap auth and vcard working, but for the shared roster, i don't even see ldap searches. I'm using</p> <p> {mod_shared_roster,[]},<br /> {mod_shared_roster_ldap,[<br /> {ldap_rfilter, "(objectClass=zimbraDistributionList)"},<br /> %{ldap_filter,""},<br /> %{ldap_ufilter,"(uid=%u)"},<br /> {ldap_groupattr,"cn"},<br /> {ldap_groupdesc,"description"},<br /> {ldap_memberattr,"zimbraMailForwardingAddress"}<br /> %{ldap_memberattr_format,"%u"},<br /> %{ldap_useruid, "uid"},<br /> %{ldap_userdesc,"displayName"}<br /> ]},</p> <p>(The Zimbra Distribution lists have an objectClass=zimbraDistributionList and the members are under multiple zimbraMailForwardingAdress with entrys like <noindex><a href="mailto:user1@domain.com" rel="nofollow" >user1@domain.com</a></noindex>, <noindex><a href="mailto:user2@domain.com" rel="nofollow" >user2@domain.com</a></noindex> etc)</p> <p>Do i have to enter something into the ejabberd Web Admin Shared roster to enable ldap shared roster, or should this work...?</p> Wed, 13 Jun 2012 12:49:57 +0000 zimbranut comment 58813 at https://www.ejabberd.im Unfortunately, you cannot do https://www.ejabberd.im/node/5612#comment-58812 <p>Unfortunately, you cannot do what you want using this module. The reason is that there are no fields in ou that point to users; and no fields in user pointing to ou. (dn cannot be used for this).</p> <p>You have to either group users by some common attribute, or use a <noindex><a href="https://support.process-one.net/browse/EJAB-1480" rel="nofollow" >modified version</a></noindex> of mod_shared_roster_ldap.</p> Wed, 13 Jun 2012 11:38:10 +0000 mikekaganski comment 58812 at https://www.ejabberd.im mikekaganski wrote: What do https://www.ejabberd.im/node/5612#comment-58811 <div class="quote-msg"> <div class="quote-author"><em>mikekaganski</em> wrote:</div> <p> What do you mean? Do you see users after turning on the "display offline users" option in your client? </p></div> <p>Yes after enabling display offline user in my Client</p> <p>And here is my ldif export..<br /> Basically my base search is </p> <pre> ou=People <ul><li>ou=Company IN </li> <li>ou=Company AU </li> <li>ou=Company EU</li></ul> </pre><p> I want all these three group to see each other</p> <pre> for ou=People dn: ou=People,dc=trellian,dc=com objectClass: organizationalUnit objectClass: uidPool ou: People </pre><p> This export is of user.</p> <pre> version: 1 # LDIF Export for: uid=ashish,ou=Company IN,ou=People,dc=company,dc=com # Generated by phpLDAPadmin ( <noindex><a href="http://phpldapadmin.sourceforge.net/" title="http://phpldapadmin.sourceforge.net/" rel="nofollow" >http://phpldapadmin.sourceforge.net/</a></noindex> ) on June 13, 2012 7:19 pm # Server: Trellian (ldap.company.com) # Search Scope: sub # Search Filter: (objectClass=*) # Total Entries: 1 dn: uid=ashish,ou=Company IN,ou=People,dc=company,dc=com givenName: Ashish sn: Jaiswal cn: Ashish Jaiswal uid: ashish userPassword: {CRYPT}$1$wuTZ2OAM$jDmUiSVOPN34sjfjIMFFZ. uidNumber: 10052 gidNumber: 100 homeDirectory: /home/users/ashish loginShell: /bin/bash mail: <noindex><a href="mailto:ashish@company.com" rel="nofollow" >ashish@company.com</a></noindex> mailLocalAddress: <noindex><a href="mailto:ashish@company.com" rel="nofollow" >ashish@company.com</a></noindex> mailHost: mail.company.com objectClass: inetOrgPerson objectClass: posixAccount objectClass: shadowAccount objectClass: inetLocalMailRecipient objectClass: top structuralObjectClass: inetOrgPerson entryUUID: 9dd2fd7a-9033-1030-990a-cf928cdb75f8 creatorsName: cn=admin,dc=company,dc=com createTimestamp: 20111021132332Z entryCSN: 20111021132332.000000Z#000001#000#000000 modifiersName: cn=admin,dc=company,dc=com modifyTimestamp: 20111021132332Z entryDN: uid=ashish,ou=Company IN,ou=People,dc=company,dc=com subschemaSubentry: cn=Subschema hasSubordinates: FALSE </pre> Wed, 13 Jun 2012 09:38:28 +0000 ashish1099 comment 58811 at https://www.ejabberd.im ashish1099 wrote: Well using https://www.ejabberd.im/node/5612#comment-58810 <div class="quote-msg"> <div class="quote-author"><em>ashish1099</em> wrote:</div> <p>Well using this I can see all the user via this command ejabberdctl registered_users company.com </p></div> <p>This has nothing to do with shared rosters: it only confirms that the authentication is OK.</p> <div class="quote-msg"> <div class="quote-author"><em>ashish1099</em> wrote:</div> <p>Other thing is when I click for offline user I can see all the user in "Company" Group.</p></div> <p>What do you mean? Do you see users after turning on the "display offline users" option in your client?</p> <div class="quote-msg"> <div class="quote-author"><em>ashish1099</em> wrote:</div> <pre> {mod_shared_roster_ldap,[ {ldap_base, "ou=people,dc=company,dc=com"}, %%{ldap_groupattr, "ou"}, {ldap_rfilter, "(objectClass=*)"}, {ldap_filter, ""}, {ldap_gfilter, "(&amp;(objectClass=*)(cn=%g))"}, {ldap_groupdesc, "description"}, {ldap_memberattr, "memberUid"}, {ldap_memberattr_format, "uid=%u,ou=people,dc=company,dc=com"}, {ldap_ufilter, "(&amp;(objectClass=inetOrgPerson)(uid=%u))"}, %%{ldap_useruid, "uid"}, {ldap_userdesc, "displayName"} ]}, </pre></div> <p>Your rfilter basically selects <strong>everything</strong> below the base, while it should only select those objects that will represent groups.</p> <p>You should post your LDAP layout.</p> Wed, 13 Jun 2012 06:13:07 +0000 mikekaganski comment 58810 at https://www.ejabberd.im Confused in generating Shared https://www.ejabberd.im/node/5612#comment-58808 <p>Confused in generating Shared Roaster from LDAP</p> <p>I am very much confused about all shared roaster modules, I hope someone can please direct in proper direction. So here is what I am facing issue, I have debian using ejabberd 2.1.11, installed via binary Package. I am using external auth from LDAP server.<br /> Here is a sneak of my config file </p> <pre> {mod_shared_roster_ldap,[ {ldap_base, "ou=people,dc=company,dc=com"}, %%{ldap_groupattr, "ou"}, {ldap_rfilter, "(objectClass=*)"}, {ldap_filter, ""}, {ldap_gfilter, "(&amp;(objectClass=*)(cn=%g))"}, {ldap_groupdesc, "description"}, {ldap_memberattr, "memberUid"}, {ldap_memberattr_format, "uid=%u,ou=people,dc=company,dc=com"}, {ldap_ufilter, "(&amp;(objectClass=inetOrgPerson)(uid=%u))"}, %%{ldap_useruid, "uid"}, {ldap_userdesc, "displayName"} ]}, </pre><p>Well using this I can see all the user via this command ejabberdctl registered_users company.com</p> <p>I have used vcard_ldap modules also, here is what I have </p> <pre> {mod_vcard_ldap, [ {ldap_base, "ou=people,dc=company,dc=com"}, {ldap_vcar_map, [ {"NICKNAME", "%s", ["displayName"]}, {"GIVEN", "%s", ["givenName"]}, {"FAMILY", "%s", ["sn"]}, {"FN", "%s", ["displayName"]}, {"EMAIL", "%s", ["mail"]} ]}, {ldap_search_fields, [ {"User", "%u"}, {"Name", "givenName"}, {"Family Name", "sn"}, {"Email", "mail"} ]}, {ldap_search_reported, [ {"Full Name", "FN"}, {"Email", "EMAIL"} ]} ]}, </pre><p>NOTE : I have disabled mod_vcard module.</p> <p>When I login into IM client, tried pandion, spark, pidgin in all I cannot see anyone on the list, even when two users is logged in.. dont know why.</p> <p>Other thing is when I click for offline user I can see all the user in "Company" Group. But can not in proper groups as of now I have three other group named as "Company IN", "Company AU", "Company EU".</p> <p>What could be missing here, let me know if anything else is needed, I can not see any error message in logs, by looking at this it seems to be getting properly..<br /> Please any suggesstion</p> <pre> =INFO REPORT==== 2012-06-13 14:28:08 === D(&lt;0.5418.0&gt;:eldap:697) : {searchRequest, {'SearchRequest',"ou=people,dc=company,dc=com", wholeSubtree,neverDerefAliases,0,5,false, {'and', [{present,"objectClass"}, {equalityMatch, {'AttributeValueAssertion',"cn","Bugs RT"}}]}, ["cn","description","memberUid"]}} =INFO REPORT==== 2012-06-13 14:28:09 === D(&lt;0.5418.0&gt;:eldap:768) : {searchResEntry, {'SearchResultEntry', "uid=brooke,ou=Company,ou=People,dc=company,dc=com", [{'PartialAttributeList_SEQOF',"cn", ["Brooke Hunter"]}]}} </pre> Wed, 13 Jun 2012 05:05:07 +0000 ashish1099 comment 58808 at https://www.ejabberd.im Here is config that works for https://www.ejabberd.im/node/5612#comment-58807 <p>Here is config that works for me at the moment (I use AD, too):</p> <div class="codeblock"><code>&nbsp; {mod_vcard_ldap,&nbsp;&nbsp;&nbsp; [<br />&nbsp;&nbsp;&nbsp; {matches, infinity},<br />&nbsp;&nbsp;&nbsp; {ldap_vcard_map, [<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {&quot;NICKNAME&quot;, &quot;%s&quot;, [&quot;displayName&quot;]},<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {&quot;GIVEN&quot;, &quot;%s&quot;, [&quot;givenName&quot;]},<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {&quot;MIDDLE&quot;, &quot;%s&quot;, [&quot;initials&quot;]},<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {&quot;FAMILY&quot;, &quot;%s&quot;, [&quot;sn&quot;]},<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {&quot;FN&quot;, &quot;%s&quot;, [&quot;displayName&quot;]},<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {&quot;EMAIL&quot;, &quot;%s&quot;, [&quot;mail&quot;]},<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {&quot;ORGNAME&quot;, &quot;%s&quot;, [&quot;company&quot;]},<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {&quot;ORGUNIT&quot;, &quot;%s&quot;, [&quot;department&quot;]},<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {&quot;CTRY&quot;, &quot;%s&quot;, [&quot;c&quot;]},<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {&quot;LOCALITY&quot;, &quot;%s&quot;, [&quot;l&quot;]},<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {&quot;STREET&quot;, &quot;%s&quot;, [&quot;streetAddress&quot;]},<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {&quot;REGION&quot;, &quot;%s&quot;, [&quot;st&quot;]},<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {&quot;PCODE&quot;, &quot;%s&quot;, [&quot;postalCode&quot;]},<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {&quot;TITLE&quot;, &quot;%s&quot;, [&quot;title&quot;]},<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {&quot;DESC&quot;, &quot;%s&quot;, [&quot;description&quot;]},<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {&quot;TEL&quot;, &quot;%s&quot;, [&quot;telephoneNumber&quot;]},<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {&quot;BDAY&quot;, &quot;%s&quot;, [&quot;birthDate&quot;]},<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {&quot;PHOTO&quot;, &quot;%s&quot;, [&quot;jpegPhoto&quot;]}<br />&nbsp;&nbsp;&nbsp; ]},<br />&nbsp;&nbsp;&nbsp; {ldap_search_fields, [<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {&quot;Name&quot;, &quot;givenName&quot;},<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {&quot;Family Name&quot;, &quot;sn&quot;},<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {&quot;Department&quot;, &quot;department&quot;}<br />&nbsp;&nbsp;&nbsp; ]},<br />&nbsp;&nbsp;&nbsp; {ldap_search_reported, [<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {&quot;Full Name&quot;, &quot;FN&quot;},<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {&quot;Department&quot;, &quot;ORGUNIT&quot;},<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {&quot;Phone&quot;, &quot;TEL&quot;}<br />&nbsp;&nbsp;&nbsp; ]}<br />&nbsp; ]},</code></div> Tue, 12 Jun 2012 22:39:49 +0000 mikekaganski comment 58807 at https://www.ejabberd.im So does this config https://www.ejabberd.im/node/5612#comment-58806 <p>So does this config authomatically create your roster? I mean, are those items in your roster (<noindex><a href="mailto:bdoe@xmpp-server.com" rel="nofollow" >bdoe@xmpp-server.com</a></noindex>, <noindex><a href="mailto:jdoe@xmpp-sever.com" rel="nofollow" >jdoe@xmpp-sever.com</a></noindex>) created authomatically, or have you added them manually? What group are they in?</p> <p>If they are created authomatically, then you must be unable to remove them, or at least they must reappear at logoff/logon.</p> <p>I ask because, based on what you have posted here, the module should not work at all (and the error confirms that).</p> <p>If I'm right, then I will need yet another piece of information: the module needs a group to place users in, so you need to decide which attribute to use for grouping the contacts.</p> Tue, 12 Jun 2012 22:30:41 +0000 mikekaganski comment 58806 at https://www.ejabberd.im In playing with the https://www.ejabberd.im/node/5612#comment-58805 <p>In playing with the mod_vcard_ldap settings, I made significant progress using a setting I must have mistyped or not tried. </p> <p>{mod_vcard_ldap, [<br /> {ldap_vcard_map,<br /> [<br /> {"NICKNAME", "%s, %s",["givenname", "sn"]}, %%This is probably what got me...but why I can't use the displayName confuses me<br /> {"FN", "%s", ["displayName"]}<br /> ]},<br /> {ldap_search_fields,<br /> [<br /> {"User", "%u"},<br /> {"Name", "givenName"}<br /> ]}<br /> ]},</p> <p>I can now at least get most of the users to show up with their full name. My apologies to mikekaganski for being difficult or thick headed on the matter of using this module.</p> Tue, 12 Jun 2012 22:25:35 +0000 sr0berson comment 58805 at https://www.ejabberd.im {mod_shared_roster_ldap, https://www.ejabberd.im/node/5612#comment-58804 <p>{mod_shared_roster_ldap, [<br /> {ldap_base,"ou=chatpeople,ou=allpeople,dc=example,dc=local"},<br /> {ldap_useruid, "cn"},<br /> {ldap_userdesc, "displayName"},<br /> {ldap_filter, ""}<br /> ]},</p> <p>The following was an error I caught in my logs if it helps at all.<br /> =ERROR REPORT==== 2012-06-12 16:54:14 ===<br /> E(&lt;0.351.0&gt;:ejabberd_hooks:335) : {function_clause,<br /> [{eldap_filter,parse,[undefined]},<br /> {mod_shared_roster_ldap,eldap_search,3},<br /> {mod_shared_roster_ldap,<br /> get_user_displayed_groups,1},<br /> {mod_shared_roster_ldap,<br /> get_subscription_lists,3},<br /> {ejabberd_hooks,run_fold1,4},<br /> {ejabberd_c2s,wait_for_session,2},<br /> {p1_fsm,handle_msg,10},<br /> {proc_lib,init_p,5}]}<br /> running hook: {roster_get_subscription_lists,["(sterilized)","(xmpp-servername)"]}</p> Tue, 12 Jun 2012 22:12:43 +0000 sr0berson comment 58804 at https://www.ejabberd.im Please post your current msrl https://www.ejabberd.im/node/5612#comment-58803 <p>Please post your current msrl config</p> Tue, 12 Jun 2012 22:01:28 +0000 mikekaganski comment 58803 at https://www.ejabberd.im base=ou=chatpeople,ou=allpeop https://www.ejabberd.im/node/5612#comment-58802 <p>base=ou=chatpeople,ou=allpeople,dc=example,dc=local<br /> Everybody that I want to have included in the roster is under the OU "chatpeople" </p> <p>I have attributes such as:<br /> cn: Bob Doe<br /> displayName: Bob Doe<br /> givenName: Bob<br /> sn: Doe<br /> sAMAccountName: bdoe</p> <p>What I currently get when I log into a IM client, I will see<br /> <noindex><a href="mailto:bdoe@xmpp-server.com" rel="nofollow" >bdoe@xmpp-server.com</a></noindex><br /> <noindex><a href="mailto:jdoe@xmpp-sever.com" rel="nofollow" >jdoe@xmpp-sever.com</a></noindex><br /> ...</p> <p>I would like to have my roster instead read the full name of the users:<br /> Bob Doe<br /> Jane Doe</p> <p>In attempting to get it to work, when I used the vcard mod, I wouldn't load any accounts in the roster. In msrl, I was able to at least see the accounts in my roster, but no matter what I seem to do it will always output the <noindex><a href="mailto:username@xmpp-server.com" rel="nofollow" >username@xmpp-server.com</a></noindex></p> Tue, 12 Jun 2012 21:54:48 +0000 sr0berson comment 58802 at https://www.ejabberd.im If you are seriously into https://www.ejabberd.im/node/5612#comment-58801 <p>If you are seriously into msrl, then you need to provide your directory layout and wanted result in order to get help.</p> Tue, 12 Jun 2012 21:31:32 +0000 mikekaganski comment 58801 at https://www.ejabberd.im