[Date Prev][Date Next] [Chronological] [Thread] [Top]

Normalize() API: syntax of attribute value vs. syntax of asserted value?

The Normalize() API (slap_mr_normalize_func) receives a Syntax* pointing
to the syntax per which it is normalizing.  However, when used in
conjunction with MRA filters, it might be useful to know what syntax the
value that is being normalized conforms to, rather than for what syntax
normalization is taking place.

Note that what syntax the normalizer is normalizing for is somehow already
determined by the specific normalization function that is in use.

Also note that when the normalization of the asserted value occurs inside
an MRA filter, the normalizer receives a pointer to the original syntax of
the attribute rather than of the syntax it is normalizing for!

I think an easy solution would be to swap the behavior: pass the asserted
syntax when normalizing the asserted value, and the attribute's syntax
when normalizing the attribute value.  A better solution would be to
extend the API in order to pass both.