Subject: | Regex for extracting S value too wide? |
It seems the Sendmail::Milter::auto_setconn function, in Sendmail-Milter-0.18, extracts the S value, from sendmail.cf, using, schematically, a wide regex in the form of "/:(.*)\,/", instead of "/:(.*?)\,/". The result of which is, that it extracts the wrong socket-name when there are additional flags in sendmail.cf:
Xtest, S=local:/var/run/test.sock, F=T, T=C:30s;S:30s;R:8m;E:16m
Which is a perfectly valid sendmail.cf entry. But this will erroneously create the socket:
"/var/run/test.sock, F=T"
Wide-check on ","? Because this goes right:
Xtest, S=local:/var/run/test.sock, F=T
Which results in a socket created as:
"/var/run/test.sock"
This can be circumvented by simply parsing the name of a dummy sendmail.cf, on startup of Sendmail-Milter-0.18, which does not have the extra flags. But it would be nicer if it were actually fixed. :)
I ran this using Perl 5.8.0 on FreeBSD 4.7R.
- Mark
System Administrator Asarian-host.org