Bug 692816

Summary: automount does not perform a sanity check of server name in configuration
Product: Red Hat Enterprise Linux 6 Reporter: Siddhesh Poyarekar <spoyarek>
Component: autofsAssignee: Ian Kent <ikent>
Status: CLOSED ERRATA QA Contact: yanfu,wang <yanwang>
Severity: medium Docs Contact:
Priority: medium    
Version: 6.0CC: ikent, mnewsome
Target Milestone: rcKeywords: Patch
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: autofs-5.0.5-32 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: 692813 Environment:
Last Closed: 2011-12-06 17:58:35 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 692813    
Bug Blocks:    
Attachments:
Description Flags
Patch - fix sanity checks for brackets in server name none

Description Siddhesh Poyarekar 2011-04-01 09:46:46 UTC
+++ This bug was initially created as a clone of Bug #692813 +++

Created attachment 489333 [details]
Do not consider escaped '(' as a separator and do not crash if '(' does not find its ')'

Description of problem:
automount does not perform a sanity check of server name in configuration. Unmatched brackets in the configuration can cause automount to crash.

Also, with replication using wildcard '&', the same code crashes when the requested mount point contains an escaped bracket '\('.

Version-Release number of selected component (if applicable):


How reproducible:
Always

Steps to Reproduce:

=======================
For the wildcard:

# echo '/jobman/tmp1 file /etc/auto.jobman.tmp1 -nodev,nosuid,intr,soft,retry=3,private' > /etc/auto.master 

# echo '* -nodev,nosuid,intr,soft,retry=10,proto=tcp &:/tmp1' > /etc/auto.jobman.tmp1

# service autofs restart

# df /jobman/tmp1/bl\(ah

=======================
For the configuration error:

# echo '/jobman/tmp1 file /etc/auto.jobman.tmp1 -nodev,nosuid,intr,soft,retry=3,private' > /etc/auto.master 

# echo '* -nodev,nosuid,intr,soft,retry=10,proto=tcp hostname(2:/tmp1' > /etc/auto.jobman.tmp1

# service autofs restart

# df /jobman/tmp1/foo
=======================

Actual results: Crash

Expected results: No crash

Additional info:

Attached patch that should fix both crashes.

Comment 1 Ian Kent 2011-08-15 04:15:31 UTC
Created attachment 518215 [details]
Patch - fix sanity checks for brackets in server name

Comment 3 yanfu,wang 2011-09-26 10:21:28 UTC
hi Ian,
There's typo in bz692816/runtest.sh, I corrected it and checked it in cvs now. FYI, in order to let you sync with cvs while you develop the regression testsuite, thanks.
./runtest.sh: command substitution: line 28: unexpected EOF while looking for matching `''
./runtest.sh: command substitution: line 29: syntax error: unexpected end of file

I've rescheduled jobs and will update results later...

Comment 5 errata-xmlrpc 2011-12-06 17:58:35 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

http://rhn.redhat.com/errata/RHBA-2011-1723.html