#50065 ACI parser in lib389 is too strict
Closed: wontfix 3 years ago Opened 3 years ago by cheimes.

Issue Description

The ACI parser in lib389 is too strict and cannot handle ACIs that have an extra space after the version key (version 3.0 ; instead of version 3.0; in the last term). The ACI parser should be more relaxed and also accept additional spaces before and after the version 3.0 token. IPA has a bunch of ACIs like that.

Package Version and Platform

389-ds-base-1.4.0.16-1.fc29.x86_64

Steps to reproduce

from lib389._entry import EntryAci

rawaci = '(targetattr = "objectclass")(target = "ldap:///cn=retrieve certificate,cn=virtual operations,cn=etc,dc=ipa,dc=example" )(version 3.0 ; acl "permission:Retrieve Certificates from the CA" ; allow (write) groupdn = "ldap:///cn=Retrieve Certificates from the CA,cn=permissions,cn=pbac,dc=ipa,dc=example;)'

aci = EntryAci(None, rawaci)
aci.getRawAci()

Actual results

Traceback (most recent call last):
  ...
  File "./lib389/_entry.py", line 494, in getRawAci
    rawaci += 'acl "%s";' % self.acidata['acl'][0]['values'][0]
IndexError: list index out of range

Expected results

No error


Metadata Update from @mreynolds:
- Issue assigned to mreynolds

3 years ago

Thanks for filing the ticket I'll be looking into this shortly. I don't think this class is used too much which is why this went unnoticed, but it will be needed in the near future - so this is good timing(sort of)

Metadata Update from @mreynolds:
- Custom field component adjusted to None
- Custom field origin adjusted to None
- Custom field reviewstatus adjusted to None
- Custom field type adjusted to None
- Custom field version adjusted to None

3 years ago

Metadata Update from @mreynolds:
- Issue set to the milestone: 1.4.0

3 years ago

Metadata Update from @mreynolds:
- Custom field reviewstatus adjusted to review (was: None)

3 years ago

Metadata Update from @mreynolds:
- Issue close_status updated to: fixed
- Issue status updated to: Closed (was: Open)

3 years ago

389-ds-base is moving from Pagure to Github. This means that new issues and pull requests
will be accepted only in 389-ds-base's github repository.

This issue has been cloned to Github and is available here:
- https://github.com/389ds/389-ds-base/issues/3124

If you want to receive further updates on the issue, please navigate to the github issue
and click on subscribe button.

Thank you for understanding. We apologize for all inconvenience.

Metadata Update from @spichugi:
- Issue close_status updated to: wontfix (was: fixed)

2 years ago

Login to comment on this ticket.

Metadata