[augeas-devel] adjustment to the krb5.aug lense

Raphaël Pinson raphael.pinson at camptocamp.com
Thu Aug 2 07:32:34 UTC 2012


On Wed, Aug 1, 2012 at 5:06 PM, Pat Riehecky <riehecky at fnal.gov> wrote:

> On 08/01/2012 09:22 AM, Raphaël Pinson wrote:
>
>> Hi Pat,
>>
>> Sorry for the long delay in replying to you.
>>
>
> No worries, I've been busy too!
>
>
>>
>> On Thu, Apr 19, 2012 at 11:47 PM, Pat Riehecky <riehecky at fnal.gov<mailto:
>> riehecky at fnal.gov>> wrote:
>>
>>
>>     (Apologies for the return of this old thread, but the history
>>     seemed to help provide context)
>>
>>     I've almost got this working the way I think it should and reading
>>     my site's krb5.conf.  The only remaining issue I'm running into is
>>     with 'default_tgs_enctypes'.  I'd love to get it into a sequence,
>>     but I can't seem to figure out how.  The attached patch gets me
>>     really close, where I've got a sequence called 'type' under
>>     default_tgs_enctypes, but the extra part of the tree seems to be
>>     extra rather than useful, plus it seems to make setting those
>>     things a bit messy when it wasn't before - Was
>>     /files/etc/krb5.conf/**libdefaults/default_tgs_**enctypes = 'thing'
>> my
>>     changes make
>>     /files/etc/krb5.conf/**libdefaults/default_tgs_**enctypes/type[x] =
>>     'thing' which is not right.....
>>
>>
>>
>> The patch you attached leads to an ambiguity:
>>
>> $ augparse -I . krb5.aug
>> Syntax error in lens definition
>> krb5.aug:49.0-53.87:Failed to compile libdefaults
>> krb5.aug:47.26-.71:exception: ambiguous iteration
>>       Iterated regexp: /([a-zA-Z0-9]+-[a-zA-Z0-9]+-[**a-zA-Z0-9]+)([
>> \t,]*)/
>>       'A-A-AAA-A-A' can be split into
>>       'A-A-A|=|AA-A-A'
>>
>>      and
>>       'A-A-AA|=|A-A-A'
>>
>>     Iterated lens: krb5.aug:47.26-.70:
>>
>>  Hmmm, this is quite the puzzle.
>
> When one value is specified ('A-A-A') it is followed by a new line, read
> terminates, no problem.  When multiples are set they are delimited by
> spaces, tabs, commas, or a combination of all three.  However, the one at
> the end may or may not have a trailing delimiter.  So I'm not sure I can
> enforce delimiters to separate the items.
>
> Currently the third item ('A-A-B', the B) seems to be limited to 3 or 4
> characters with a minimum of 3, but it appears that a smaller one is
> possible.  Grumble....  All of these appear to be valid entries: rc4-hmac
> arcfour-hmac arcfour-hmac-md5 aes128-cts des3-cbc-sha1 rc4-hmac des-cbc-md5
> des-cbc-crc
>
> Can augeas do word boundaries?  Most of my regex is perl style rather than
> POSIX  That should solve the ambiguity but my googling is only turning up
> perl style....
>
>

I think what you want is Build.opt_list (see all lenses using it, there's
many):

Build.opt_list enctype_re valsep


See lenses/build.aug for the doc.




>
>>     If I may ask three questions:
>>
>>     So what can I do to get the sequence to populate when there are
>>     multiple items, but not when there are not?
>>     And how do I use the regex match for the sequence name?
>>     Is my attempt at a fix even on the right track?
>>
>>
>>
>> If you mean to generate an array only where there is more than one
>> element, and use a fix value otherwise, dynamically, then it's a rather bad
>> idea, since it will make it hard to add a second value to an existing
>> unique one.
>>
>> However, if supporting arrays vs single values is linked to specific
>> keys, they you could explicitely split the cases to have a lens for array
>> entries and another lens for simple entries. This is already done in quite
>> a few modules.
>>
>>  I'll look more closely into the second option here.  May I request a
> module to pattern my code after?
>
>

Sure, see sshd.aug which uses array_entry and other_entry for example, or
logrotate.aug which has select_to_eol, value_to_eol, list_to_eol and
flag_to_eol entries.



-- 
Raphaël Pinson
Administrateur Systèmes & Réseaux
Camptocamp France
Savoie Technolac
BP 352
48, avenue du Lac du Bourget
73372 Le Bourget du Lac, Cedex
www.camptocamp.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/augeas-devel/attachments/20120802/6cf39a23/attachment.htm>


More information about the augeas-devel mailing list