Sorry to beat a dead horse, but what I thought was a harmless error took down Exim last night. I've posted previously (as have others) about this error in my Exim paniclog:
2004-02-10 01:06:04 1AqTqC-00083u-Rd string_sprintf expansion was longer than 8192
It looks to me like this is very easily changed (and I wonder why it's hard coded). At the top of header.c in the src directory of the Exim source, line 34 (exim-4.30):
uschar buffer[8192];
Better yet, some context:
void
header_add(int type, char *format, ...)
{
header_line *new;
va_list ap;
uschar buffer[8192];
Of course you'd want to change the error test and message:
if (!string_vformat(buffer, sizeof(buffer), format, ap))
log_write(0, LOG_MAIN|LOG_PANIC_DIE, "string too long in header_add: %.100s ...",
buffer);
Cheers, bob -- Bob Amen O'Reilly Media, Inc. http://www.ora.com/ http://www.oreilly.com/
