[PUP-7241] AIX - Errors when parsing lsuser output with special characters (#!) Created: 2017/02/21 Updated: 2018/09/11 Resolved: 2018/09/11
|Labels:||aix, maintenance, type_and_provider, user|
|Remaining Estimate:||Not Specified|
|Time Spent:||Not Specified|
|Original Estimate:||Not Specified|
AIX, PE 2016.4.0+
|Template:||PUP Bug Template customfield_10700 175926|
|Epic Link:||who USERs AIX anyway?|
|Sprint:||Platform OS Kanban|
|Method Found:||Customer Feedback|
|QA Risk Assessment:||Needs Assessment|
The problem is occurring when the attributes have an odd number of colons in the output of lsuser -c.
This can be reproduced with following these steps:
The host_last_login from lsuser -c -R files username contains : characters, which are not parsed properly since it is a colon seperated list. This fails in <https://github.com/puppetlabs/puppet/blob/master/lib/puppet/provider/aixobject.rb#L199>. A IPv6 address of the form 2001:0db8:85a3:0000:0000:8a2e:0370:7334 will need to have the : escaped to fit into a colon separated list. Since the regex does not account for these escaped characters, the property list has more values than keys (i.e 8a2e would be a value without a key).
|Comment by Moses Mendoza [ 2017/02/22 ]|
Rodney Treweek thanks for filing. Added to queue. We try to eventually open all PUP project issues to the public, and I see this one has customer data attached which would prevent that. Is there any way you could file a public PUP ticket without customer-specific information that details the problem? We'll use this to publicly track the fix on github.com puppet
|Comment by Tommy McNeely [ 2018/08/02 ]|
It appears that the colons are escaped with "#!" in an IPv6 address.
|Comment by Casey Williams [ 2018/08/14 ]|