[exim] Increasing buffer for command =

Page principale
Supprimer ce message
Répondre à ce message
Auteur: Marcin Krol
Date:  
À: exim-users
Sujet: [exim] Increasing buffer for command =
Hello everyone,

Since nobody seemed able to answer my question about "string overflowed buffer", I'll try to approach from a different angle:

Does anybody knowledgeable with Exim source know how to increase the buffer for "command = ..." right-hand value in transport?

Cause the current limitation bites me, and I need this working.

I have zero experience with patching/modifying Exim and really would not know without spending considerable time on this how to do this (reasonably safely). So I would appreciate a lot if somebody who has done this took a look if I do the right thing.

I found this source fragment:

/*************************************************
*            Set up processing details           *
*************************************************/


/* Save a text string for dumping when SIGUSR1 is received.
Do checks for overruns.

Arguments: format and arguments, as for printf()
Returns: nothing
*/

void
set_process_info(char *format, ...)
{
int len;
va_list ap;
sprintf(CS process_info, "%5d ", (int)getpid());
len = Ustrlen(process_info);
va_start(ap, format);
if (!string_vformat(process_info + len, PROCESS_INFO_SIZE - len, format, ap))
Ustrcpy(process_info + len, "**** string overflowed buffer ****");
DEBUG(D_process_info) debug_printf("set_process_info: %s\n", process_info);
va_end(ap);
}


Can I safely just increase PROCESS_INFO_SIZE in macros.h? Will it yield an effect I expect? Any undesireable side effects you can think of?

macros.h:

#define PROCESS_INFO_SIZE 256


I have some experience in C coding but nothing approaching the size and complexity of Exim...



--
Marcin Krol