7 ms·
Yeah, though I would say human readable bytecode, and it is interesting to see that in the actual context. For anyone who's interested, there's a git repository
by aldrich 4y ago
Yeah, though I would say human readable bytecode, and it is interesting to see that in the actual context. For anyone who's interested, there's a git repository containing a historical reconstruction of the original BSDs.
I believe one of the first BSD versions containing sendmail (by Eric Allman) is this one: https://github.com/weiss/original-bsd/blob/bd282c88c1b3c2575b96e2c181085233f7b15786/usr.sbin/sendmail/READ_ME https://github.com/weiss/original-bsd/blob/bd282c88c1b3c2575... (almost 40 years ago!)
Its a little hard to read due to the format, but here's some explanation of the (1983, earliest?) config file that was used back then: https://github.com/weiss/original-bsd/blob/bd282c88c1b3c2575b96e2c181085233f7b15786/usr.sbin/sendmail/doc/intro/intro.me#L488 https://github.com/weiss/original-bsd/blob/bd282c88c1b3c2575...
From what I grasp, it started as an extensive dynamic parser that needed to understand a lot of rules, and I guess with each new RFC and version, the rules needed to be extended too. And the config file could be loaded into a memory image to improve performance.