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

Re: Automount issue with uppercase mountpoints



On Fri, 2004-11-19 at 13:36, Diego Julian Remolina wrote:
> Hi,
> 
> I run openldap 2.2.17 on a Solaris 9 machine.  All my clients (also
> solaris 9) can
> automount from auto_direct just fine as long as the mount points are
> lowercase.  If the mount points are uppercase (like /opt/SUNWspro),
> then the clients cannot mount.  Is this a Solaris issue or an
> openldap issue.  I do not know how openldap handles upper/lower case
> in the search filters so I hope you guys have the answer.

Solaris certainly used to have a case-sensitivity issue in Solaris8
which made it case-sensitive for certain attributes. I've never come
across it with automounts but I cant rule it out.

The problem I was having was with configuring solaris clients using
"ldapclient -P" on Solaris 8. I get around this problem with an ancient
patch to slapd found on the web, which I have adapted to work with newer
releases. I'll attach both here. I take no responsibility for them
whatsoever!

You could try this and see if it has any effect. I'd be interested to
know.

GREG

> 
> Here is what I see in the logs:
> 
> Nov 14 04:22:04 hilbert slapd[28074]: [ID 848112 local4.debug]
> conn=57612 fd=21
> ACCEPT from IP=130.207.146.209:40611 (IP=0.0.0.0:389)
> Nov 14 04:22:04 hilbert slapd[28074]: [ID 998954 local4.debug]
> conn=57612 op=0 S
> RCH
> base="nisMapName=auto_direct,ou=Automount,dc=math,dc=gatech,dc=edu"
> scope=1
> deref=3 filter="(&(objectClass=nisObject)(cn=/opt/%s%u%n%wspro))"
> Nov 14 04:22:04 hilbert slapd[28074]: [ID 362707 local4.debug]
> conn=57612 op=0 S
> EARCH RESULT tag=101 err=0 nentries=0 text=
> Nov 14 04:22:04 hilbert slapd[28074]: [ID 338319 local4.debug]
> conn=57612 op=1 U
> NBIND
> Nov 14 04:22:04 hilbert slapd[28074]: [ID 952275 local4.debug]
> conn=57612 fd=21
> closed
> 
> Note the search filter (cn=/opt/%s%u%n%wspro).
> 
> On the client I get a permission denied.  (It is not a permission
> error as the client never hits the nfs server.  It only hits the
> ldap server and then returns permission denied).  A simple fix for
> it was to do the following on the client:
> /etc/init.d/autofs stop
> cd /opt
> rmdir /opt/SUNWspro
> mkdir /opt/sunwspro
> ln -s sunwspro SUNWspro
> then I changed the maps on the auto_direct.ldif map
> 
> Even though this hack works, I would like to find the right solution
> for mount points that use uppercase letters.
> 
> Here is how my auto_direct maps looks like:
> $ cat auto.direct.ldif
> dn: nisMapName=auto_direct,ou=Automount,dc=math,dc=gatech,dc=edu
> objectClass: top
> objectClass: nisMap
> nisMapName: auto_direct
> 
> dn:
> cn=/opt/SUNWspro,nisMapName=auto_direct,ou=Automount,dc=math,dc=gatech,dc=ed
> u
> objectClass: nisObject
> cn: /opt/SUNWspro
> nisMapEntry:
> -fstype=cachefs,-actimeo=10,-ro,-nosuid,cachedir=/export/cachefs,ba
> ckfstype=nfs cauchy:/opt/SUNWspro
> nisMapName: auto_direct
> 
> dn:
> cn=/usr/local,nisMapName=auto_direct,ou=Automount,dc=math,dc=gatech,dc=edu
> objectClass: nisObject
> cn: /usr/local
> nisMapEntry:
> -fstype=cachefs,-actimeo=10,cachedir=/export/cachefs,backfstype=nfs
>      cauchy:/export/local/local-Solaris
> nisMapName: auto_direct
> 
> dn:
> cn=/usr/local-ai,nisMapName=auto_direct,ou=Automount,dc=math,dc=gatech,dc=ed
> u
> objectClass: nisObject
> cn: /usr/local-ai
> nisMapEntry:
> -fstype=cachefs,-actimeo=10,-ro,-nosuid,cachedir=/export/cachefs,ba
> ckfstype=nfs cauchy:/export/local/local-ai
> nisMapName: auto_direct
> 
> dn:
> cn=/var/mail,nisMapName=auto_direct,ou=Automount,dc=math,dc=gatech,dc=edu
> objectClass: nisObject
> cn: /var/mail
> nisMapEntry: -actimeo=0 math:/var/mail
> nisMapName: auto_direct
> -------------------------------end of auto_direct.ldif-------------
> 
> Thanks for your help,
> 
> Diego
-- 
Greg Matthews
iTSS Wallingford	01491 692445
*** servers/slapd/result.c.orig	Thu Feb 27 12:52:50 2003
--- servers/slapd/result.c	Thu Feb 27 12:55:07 2003
***************
*** 879,885 ****
  		if ( attrs == NULL ) {
  			/* all attrs request, skip operational attributes */
  			if( is_at_operational( desc->ad_type ) ) {
! 				continue;
  			}
  
  		} else {
--- 879,888 ----
  		if ( attrs == NULL ) {
  			/* all attrs request, skip operational attributes */
  			if( is_at_operational( desc->ad_type ) ) {
! 
! 				if (strcasecmp( e->e_dn, LDAP_ROOT_DSE )) {
! 					continue;
! 				}
  			}
  
  		} else {
***************
*** 1074,1080 ****
  		if ( attrs == NULL ) {
  			/* all attrs request, skip operational attributes */
  			if( is_at_operational( desc->ad_type ) ) {
! 				continue;
  			}
  
  		} else {
--- 1077,1087 ----
  		if ( attrs == NULL ) {
  			/* all attrs request, skip operational attributes */
  			if( is_at_operational( desc->ad_type ) ) {
! 
! 				/* Hack for Solaris */
! 				if (strcasecmp( e->e_dn, LDAP_ROOT_DSE )) {
! 					continue;
! 				}
  			}
  
  		} else {
*** servers/slapd/result.c.orig	Thu Feb 27 12:52:50 2003
--- servers/slapd/result.c	Thu Feb 27 12:55:07 2003
***************
*** 879,885 ****
  		if ( attrs == NULL ) {
  			/* all attrs request, skip operational attributes */
  			if( is_at_operational( desc->ad_type ) ) {
! 				continue;
  			}
  
  		} else {
--- 879,888 ----
  		if ( attrs == NULL ) {
  			/* all attrs request, skip operational attributes */
  			if( is_at_operational( desc->ad_type ) ) {
! 
! 				if (strcasecmp( rs->sr_entry->e_dn, LDAP_ROOT_DSE )) {
! 					continue;
! 				}
  			}
  
  		} else {
***************
*** 1074,1080 ****
  		if ( attrs == NULL ) {
  			/* all attrs request, skip operational attributes */
  			if( is_at_operational( desc->ad_type ) ) {
! 				continue;
  			}
  
  		} else {
--- 1077,1087 ----
  		if ( attrs == NULL ) {
  			/* all attrs request, skip operational attributes */
  			if( is_at_operational( desc->ad_type ) ) {
! 
! 				/* Hack for Solaris */
! 				if (strcasecmp( rs->sr_entry->e_dn, LDAP_ROOT_DSE )) {
! 					continue;
! 				}
  			}
  
  		} else {