Bug 1075112

Summary: Automounter lens cannot parse hostnames containing hyphens
Product: Red Hat Enterprise Linux 6 Reporter: John Trowbridge <jtrowbri>
Component: augeasAssignee: Dominic Cleal <dcleal>
Status: CLOSED ERRATA QA Contact: Virtualization Bugs <virt-bugs>
Severity: medium Docs Contact:
Priority: medium    
Version: 6.5CC: huzhan, joseph.yaworski, leiwang, lkong, wshi, yuliu
Target Milestone: rc   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: augeas-1.0.0-6.el6 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
: 1075162 (view as bug list) Environment:
Last Closed: 2014-10-14 07:15:46 UTC Type: Bug
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:    
Bug Blocks: 1075162    

Description John Trowbridge 2014-03-11 14:13:34 UTC
Description of problem:

There is a bug in the automount lens for augeas. It fails to parse a vailid auto.export file.

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


How reproducible:
Easily reproducible.


Steps to Reproduce:
1. Create a /etc/auto.export config file with the following contents

nco-lw-mezeogu -v,rw,hard nco-lw-mezeogu:/usr1
* -rw,hard,intr,noatime,v &:/export/&

2. Run augeas against the file.

Actual results:

augtool> print /augeas/files/etc/auto.export/error/
/augeas/files/etc/auto.export/error = "parse_failed"
/augeas/files/etc/auto.export/error/pos = "0"
/augeas/files/etc/auto.export/error/line = "1"
/augeas/files/etc/auto.export/error/char = "0"
/augeas/files/etc/auto.export/error/lens = "/usr/share/augeas/lenses/dist/automounter.aug:119.10-.49:"
/augeas/files/etc/auto.export/error/message = "Iterated lens matched less than it should"


Expected results:
augtool> print /augeas/files/etc/auto.export/error/
augtool> print /files/etc/auto.export
/files/etc/auto.export
/files/etc/auto.export/1 = "nco-lw-mezeogu"
/files/etc/auto.export/1/opt[1] = "v"
/files/etc/auto.export/1/opt[2] = "rw"
/files/etc/auto.export/1/opt[3] = "hard"
/files/etc/auto.export/1/location
/files/etc/auto.export/1/location/1
/files/etc/auto.export/1/location/1/host = "nco-lw-mezeogu"
/files/etc/auto.export/1/location/1/path = "/usr1"
/files/etc/auto.export/2 = "*"
/files/etc/auto.export/2/opt[1] = "rw"
/files/etc/auto.export/2/opt[2] = "hard"
/files/etc/auto.export/2/opt[3] = "intr"
/files/etc/auto.export/2/opt[4] = "noatime"
/files/etc/auto.export/2/opt[5] = "v"
/files/etc/auto.export/2/location
/files/etc/auto.export/2/location/1
/files/etc/auto.export/2/location/1/host = "&"
/files/etc/auto.export/2/location/1/path = "/export/&"


Additional info:

Customer provided the following patch that fixes the issue:

The offending line is in /usr/share/augeas/lenses/dist/automounter.aug, at line 43. The package ships:

let hostname = /[^-:#\(\), \n\t]+/ 

When the fix is applied, it becomes:

let hostname = /[^:#\(\), \n\t]+/

Comment 1 Dominic Cleal 2014-03-11 15:16:25 UTC
Please note that the patch suggested here causes ambiguities and may affect the correct operation of Augeas.  The working patch is upstream as e6643d8 already.

Comment 3 Lingfei Kong 2014-06-04 09:42:14 UTC
Can reproduce with augeas-1.0.0-5.el6_5.1
Steps to reproduce:
1. Create a /etc/auto.export config file with the following contents
nco-lw-mezeogu -v,rw,hard nco-lw-mezeogu:/usr1
* -rw,hard,intr,noatime,v &:/export/&
2. #augtool print /augeas/files/etc/auto.export/error/
/augeas/files/etc/auto.export/error = "parse_failed"
/augeas/files/etc/auto.export/error/pos = "0"
/augeas/files/etc/auto.export/error/line = "1"
/augeas/files/etc/auto.export/error/char = "0"
/augeas/files/etc/auto.export/error/lens = "/usr/share/augeas/lenses/dist/automounter.aug:119.10-.49:"
/augeas/files/etc/auto.export/error/message = "Iterated lens matched less than it should"

3. #augtool  print /files/etc/auto.export
No output

Verified with augeas-1.0.0-6.el6
Steps to verify:
1. Create a /etc/auto.export config file with the following contents
nco-lw-mezeogu -v,rw,hard nco-lw-mezeogu:/usr1
* -rw,hard,intr,noatime,v &:/export/&

2. #augtool print /augeas/files/etc/auto.export/error/
No output

3. #augtool  print /files/etc/auto.export
/files/etc/auto.export
/files/etc/auto.export/1 = "nco-lw-mezeogu"
/files/etc/auto.export/1/opt[1] = "v"
/files/etc/auto.export/1/opt[2] = "rw"
/files/etc/auto.export/1/opt[3] = "hard"
/files/etc/auto.export/1/location
/files/etc/auto.export/1/location/1
/files/etc/auto.export/1/location/1/host = "nco-lw-mezeogu"
/files/etc/auto.export/1/location/1/path = "/usr1"
/files/etc/auto.export/2 = "*"
/files/etc/auto.export/2/opt[1] = "rw"
/files/etc/auto.export/2/opt[2] = "hard"
/files/etc/auto.export/2/opt[3] = "intr"
/files/etc/auto.export/2/opt[4] = "noatime"
/files/etc/auto.export/2/opt[5] = "v"
/files/etc/auto.export/2/location
/files/etc/auto.export/2/location/1
/files/etc/auto.export/2/location/1/host = "&"
/files/etc/auto.export/2/location/1/path = "/export/&"

Comment 4 errata-xmlrpc 2014-10-14 07:15:46 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-2014-1517.html