ietf-mta-filters
[Top] [All Lists]

i;ascii-numeric comparator issue

2005-04-05 08:12:15

I am trying to implement the i;ascii-numeric comparator and according to rfc 2244 : "All values which do not begin with a US-ASCII digit are considered equal with an ordinal value higher than all non-NIL single-valued" I understand for this that if I have a value that begins with other that a digit, i give it the highest value in my interval (for ex. 2^32 given an interval of 0 - 2^32-1). But what happens if I compare 2 values starting with a non-digit character? Are they equal? What if I have a "" string (a NULL value)? If i make the assumtion that all values starting with a non-digit or NULL value are equal to 2^32, then the following code will behave wrong

if address :is :all :i;ascii-numeric "To" "aa" {
   discard;
}
if address :is :all :i;ascii-numeric "From" "" {
   discard;
}
both tests will evaluate to true which, for the seccond case, explicitly contradicts the base RFC (3028)

any ideas?


<Prev in Thread] Current Thread [Next in Thread>