Hi!

I try to use automatic mapped-groups in the sm.xml from LDAP by build in
shared-roster-module, but group name in the client contact list show
from "cn" LDAP field, not from "description".  I tried many variants of
configuration, but result is always "cn".

Can someone help me?

The "uid" filed contains user name before "@", but "mail" field is full.
I use jabberd 2.2.7.1 (updated from previous release) from FreeBSD 7.1
port, openldap 2.3.43 from FreeBSD port, many different clients (Pidgin,
Pandion and so on).  Here is my sm.xml:

-------------------------------------------------------------------------
<!-- Session manager configuration -->
<sm>
  <id>fareasttravel.ru</id>

  <pidfile>/var/jabberd/pid/sm.pid</pidfile>

  <router>
    <ip>127.0.0.1</ip>            <!-- default: 127.0.0.1 -->
    <port>5347</port>             <!-- default: 5347 -->
    <user>jabberd</user>          <!-- default: jabberd -->
    <pass>secret</pass>           <!-- default: secret -->

    <retry>
      <init>3</init>
      <lost>3</lost>
      <sleep>2</sleep>
    </retry>
  </router>

  <log type='syslog'>
    <ident>jabberd/sm</ident>
    <facility>local0</facility>
    <file>/var/jabberd/log/sm.log</file>
  </log>

  <storage>
    <path>/usr/local/lib/jabberd</path>
    <driver>pgsql</driver>
    <driver type='vcard'>ldapvcard</driver>
    <driver type='published-roster'>ldapvcard</driver>
    <driver type='published-roster-groups'>ldapvcard</driver>

    <mysql>
      <host>localhost</host>
      <port>3306</port>
      <dbname>jabberd2</dbname>
      <user>jabberd2</user>
      <pass>secret</pass>
      <transactions/>
    </mysql>

    <pgsql>
      <host>localhost</host>
      <port>5432</port>
      <dbname>jabberd2</dbname>
      <user>jabberd2</user>
      <pass>1...@47qgys</pass>
      <transactions/>
    </pgsql>

    <db>
      <path>/var/jabberd/db</path>
      <sync/>
    </db>

    <oracle>
      <host>localhost</host>
      <port>1521</port>
      <dbname>jabberd2</dbname>
      <user>jabberd2</user>
      <pass>secret</pass>
    </oracle>

    <sqlite>
      <dbname>/var/jabberd/db/sqlite.db</dbname>
      <transactions/>
      <busy-timeout>2000</busy-timeout>
    </sqlite>

    <fs>
      <path>/var/lib/jabberd2/fs</path>
    </fs>

    <ldapvcard>
      <uri>ldap://localhost/</uri>
      <binddn>cn=root,dc=fareasttravel,dc=ru</binddn>
      <bindpw>secret</bindpw>
      <type>ldap</type>

      <uidattr>mail</uidattr>
      <objectclass>inetOrgPerson</objectclass>
      <pwattr>userPassword</pwattr>

      <validattr>jabberPublishedItem</validattr>

      <basedn realm='fareasttravel.ru'>dc=fareasttravel,dc=ru</basedn>
      <groupattr>jabberPublishedGroup</groupattr>
      <publishedattr>jabberPublishedItem</publishedattr>

      <mapped-groups>
        <map-groups/>
        <basedn realm='fareasttravel.ru'>dc=fareasttravel,dc=ru</basedn>
        <objectclass>organizationalRole</objectclass>
      </mapped-groups>
    </ldapvcard>
  </storage>

  <aci>
    <acl type='all'>
      <jid>[email protected]</jid>
    </acl>

    <acl type='broadcast'>
      <jid>[email protected]</jid>
      <jid>[email protected]</jid>
    </acl>

    <acl type='messages'>
      <jid>[email protected]</jid>
    </acl>
  </aci>

  <modules>
    <path>/usr/local/lib/jabberd</path>
    <chain id='sess-start'>
      <module>status</module>           <!-- record status information
-->
    </chain>
    <chain id='sess-end'>
      <module>status</module>           <!-- update status information
-->
      <module>iq-last</module>          <!-- update logout time -->
    </chain>
    <chain id='in-sess'>
      <module>validate</module>         <!-- validate packet type -->
      <module>status</module>           <!-- update status information
-->
      <module>privacy</module>          <!-- manage privacy lists -->
      <module>roster</module>           <!-- handle roster get/sets and
s10ns -->
      <module>vacation</module>         <!-- manage vacation settings
-->
      <module>iq-vcard</module>         <!-- store and retrieve the
user's vcard -->
      <module>iq-ping</module>          <!-- return the server ping -->
      <module>iq-private</module>       <!-- manage the user's private
data store -->
      <module>disco</module>            <!-- respond to agents requests
from sessions -->
      <module>amp</module>              <!-- advanced message processing
-->
      <module>offline</module>          <!-- if we're coming online for
the first time, deliver queued messages -->
      <module>announce</module>         <!-- deliver motd -->
      <module>presence</module>         <!-- process and distribute
presence updates -->
      <module>deliver</module>          <!-- deliver packets with full
jids directly -->
    </chain>
    <chain id='out-sess'/>
    <chain id='in-router'>
      <module>session</module>          <!-- perform session actions as
required by c2s -->
      <module>validate</module>         <!-- validate packet type -->
      <module>presence</module>         <!-- drop incoming presence if
user not online -->
      <module>privacy</module>          <!-- filter incoming packets
based on privacy rules -->
    </chain>
    <chain id='out-router'>
      <module>privacy</module>          <!-- filter outgoing packets
based on privacy rules -->
    </chain>
    <chain id='pkt-sm'>
      <module>iq-last</module>          <!-- return the server uptime
-->
      <module>iq-ping</module>          <!-- return the server ping -->
      <module>iq-time</module>          <!-- return the current server
time -->
      <module>iq-version</module>       <!-- return the server name and
version -->
      <module>amp</module>              <!-- advanced message processing
-->
      <module>disco</module>            <!-- build the disco list;
respond to disco queries -->
      <module>announce</module>         <!-- send broadcast messages
(announce, motd, etc) -->
      <module>help</module>             <!-- resend sm messages to
administrators -->
      <module>echo</module>             <!-- echo messages sent to /echo
-->
      <module>status</module>           <!-- track status information
-->
      <module>presence</module>         <!-- proces server presence
subscriptions -->
    </chain>
    <chain id='pkt-user'>
      <module>roster</module>           <!-- handle s10n responses -->
      <module>presence</module>         <!-- process and distribute
incoming presence from external entities -->
      <module>iq-vcard</module>         <!-- grab user vcards -->
      <module>amp</module>              <!-- advanced message processing
-->
      <module>deliver</module>          <!-- deliver the packet to an
active session if we can -->
      <module>vacation</module>         <!-- send vacation messages -->
      <module>offline</module>          <!-- save messages and s10ns for
later -->
      <module>disco-publish</module>    <!-- handle disco publishes;
return information about user sessions -->
      <module>iq-last</module>          <!-- return time since last
logout -->
    </chain>
    <chain id='pkt-router'>
      <module>session</module>          <!-- take sessions offline if
their c2s disappears -->
      <module>disco</module>            <!-- query new components for
service information -->
    </chain>
    <chain id='user-load'>
      <module>active</module>           <!-- get active status -->
      <module>roster</module>           <!-- load the roster and trust
list -->
      <module>roster-publish</module>   <!-- load the published roster
-->
      <module>privacy</module>          <!-- load privacy lists -->
      <module>disco-publish</module>    <!-- load published information
-->
      <module>vacation</module>         <!-- load vacation settings -->
    </chain>
    <chain id='user-create'>
      <module>active</module>           <!-- activate new users -->
      <module>template-roster</module>  <!-- populate roster from
template -->
    </chain>
    <chain id='user-delete'>
      <module>active</module>           <!-- deactivate users -->
      <module>announce</module>         <!-- delete motd data -->
      <module>disco-publish</module>    <!-- delete published
information -->
      <module>offline</module>          <!-- bounce queued messages -->
      <module>privacy</module>          <!-- delete privacy lists -->
      <module>roster</module>           <!-- delete roster -->
      <module>vacation</module>         <!-- delete vacation settings
-->
      <module>status</module>           <!-- delete status information
-->
      <module>iq-last</module>          <!-- delete last logout time -->
      <module>iq-private</module>       <!-- delete private data -->
      <module>iq-vcard</module>         <!-- delete vcard -->
    </chain>
    <chain id='disco-extend'>
      <module>iq-version</module>       <!-- add XEP-xxxx Software
Information -->
      <module>help</module>             <!-- add XEP-0157 Contact
Addresses -->
    </chain>
  </modules>

  <discovery>
    <identity>
      <category>server</category>       <!-- default: server -->
      <type>im</type>                   <!-- default: im -->
      <name>Jabber IM server</name>     <!-- default: Jabber IM server
-->
    </identity>
    <agents/>
    <items>
    </items>
  </discovery>

  <user>
    <auto-create/>
    <template>
      <publish>
        <active-cache-ttl>60</active-cache-ttl>
        <fix-subscriptions/>
        <override-names/>

        <!--
        <mapped-groups>
        -->

          <map-groups/>

        <!--
          <group-cache-ttl>0</group-cache-ttl>
        </mapped-groups>
        -->


        <force-groups/>

        <!--
        <force-groups>
          <prefix>MyOrg.</prefix>
          <suffix>(MyOrg)</suffix>
        </force-groups>
        -->

      </publish>
    </template>
  </user>

  <amp>
  </amp>

  <offline>
    <storeheadlines/>
  </offline>

  <roster>
  </roster>

  <status>
  </status>
</sm>
-------------------------------------------------------------------------



________________________________________________________________________
Best Regards, Yan Zlobin
[email protected]
http://www.fareasttravel.ru/






-- 
To unsubscribe send a mail to [email protected]

Reply via email to