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

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


On Thu, Aug 2, 2012 at 9:32 AM, Raphaël Pinson <
raphael.pinson at camptocamp.com> wrote:

> 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
>
>
>

To be more specific, this passes:

let valsep = del /[ \t,]+/ " "

let enctype_list (kw:regexp) (sep:lens) = [ indent .  key kw .
                   sep .  Build.opt_list [ label "type" . store enctype_re]
valsep . (comment|eol) ]



Now you should really write some unit tests in test_krb5.aug to ensure that
your changes actually bring the features you want.




-- 
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/dbb577d9/attachment.htm>


More information about the augeas-devel mailing list