[Date Prev][Date Next] [Chronological] [Thread] [Top]

Re: slapo-rwm and rewriteRules



Le jeudi 08 mai 2008 Ã 01:08 +0200, Pierangelo Masarati a Ãcrit :
> RaphaÃl 'SurcouF' Bordet wrote:
> 
> > You've probably misunderstood my request.
> > An example will be more efficient : 
> > 
> > I've some entries like this: 
> > 
> > dn: uid=raphael.bordet,dc=xxx,dc=yy
> > objectclass: top
> > objectclass: person
> > uid: raphael.bordet
> > mail: raphael.bordet@microsoft.com
> > 
> > I want to translate this entrie to this : 
> > 
> > ïdn: ïmail=raphael.bordet@microsoft.com,dc=xxx,dc=yy
> > objectclass: top
> > objectclass: person
> > uid: raphael.bordet
> > mail: raphael.bordet@microsoft.com
> > 
> > How can I do this ?
> 
> You need something like

Hi,

Thanks for this tips, it's works fine.

> database        relay
> suffix          "o=Example,c=US"
> relay           "dc=example,dc=com"
> overlay         rwm
> rwm-rewriteEngine       on
> rwm-rewriteMap          ldap mail2uid
> 			"ldap://:9011/dc=example,dc=com?uid?sub";
> rwm-rewriteMap          ldap uid2mail
> 			"ldap://:9011/dc=example,dc=com?mail?sub";
> 
> rwm-rewriteContext      default
> rwm-rewriteRule         "^(.+,)?(mail=[^,]+),o=Example,c=US$"
> 			"$1uid=${mail2uid($2)},dc=example,dc=com" ":@I"

Why this rule is needed ?

> rwm-rewriteRule         "^(.+,)?o=Example,c=US$"
> 			"$1dc=example,dc=com" ":@I"

This rule isn't needed when I'm using "massage" argument for "relay"
directive.

> rwm-rewriteContext      searchEntryDN
> rwm-rewriteRule         "^(.+,)?(uid=[^,]+),dc=example,dc=com$"
> 			"$1mail=${uid2mail($2)},o=Example,c=US" ":@I"

This rule work fine. I've tried to do the same rule for departmentNumber
and departmentUID RDN change but slapd doesn't start if I set this
following rules : 

rwm-rewriteContext      searchEntryDN
rwm-rewriteRule		"^(.+,)?(uid=[^,]+),dc=example,dc=com$"
			"$1mail={uid2mail($2)},o=Example,c=US" ":I"
rwm-rewriteRule		"^(.+,)?(departmentUID=[^,]+),dmdName=[^,]+,dc=[a-zA-Z]+,dc=example,dc=com$"
			"$1departmentNumber={uid2number($2)},ou=services,o=Example,c=US$"
":@I"

> rwm-rewriteRule         "^(.+,)?dc=example,dc=com$"
> 			"$1o=Example,c=US" ":@I"

ïThis rule isn't needed when I'm using "massage" argument for "relay"
directive.

Last question : can I modify returned attribute value using rwm ?


Regards,

-- 
RaphaÃl 'SurcouF' Bordet