I've been looking for this one for a long time :)
Nice one. It will be in 5.3.11 version.

Ken Jones

On Saturday 28 September 2002 12:24 pm, John Fessenden wrote:
> vpopmail-folk.
>
> If this is the wrong forum to post these things
> please let me know the appropriate forum
>
> in vpopmail.c: update_rules()
> there is an attempt to delete the tcprules temporary file by unlinking
> 'relay_template'  which was set in tcprules_open
>
> however relay_template is only the extension added onto TCP_FILE
> and not the actual tempfile passed to tcprules program.
>
> this seems to be the case in both 5.2.1 and 5.3.8
>
> the following patch should fix that, or at the very least illustrate the
> problem.  I am not the worlds best c coder, so use the patch at your
> discretion.
>
> --- vpopmail.c.orig     Sat May 18 06:25:49 2002
> +++ vpopmail.c  Sat Sep 28 10:04:07 2002
> @@ -2167,7 +2167,8 @@ long unsigned tcprules_open()
>         memset(bin0,0,BUFF_SIZE);
>         memset(bin1,0,BUFF_SIZE);
>         memset(bin2,0,BUFF_SIZE);
> -       snprintf(relay_template, 300, "tmp.%ld", (long unsigned)getpid());
> +       snprintf(relay_template, 300, "%s.tmp.%ld",
> +          TCP_FILE, (long unsigned)getpid());
>
>         if (pipe(pim) == -1)  { return(-1);}
>
> @@ -2181,8 +2182,7 @@ long unsigned tcprules_open()
>                 strncpy(bin0, TCPRULES_PROG, BUFF_SIZE);
>                 strncpy( bin1, TCP_FILE, BUFF_SIZE);
>                 strncat( bin1, ".cdb", BUFF_SIZE);
> -               strncpy( bin2, TCP_FILE, BUFF_SIZE);
> -               strncat( bin2, relay_template, BUFF_SIZE);
> +               strncpy( bin2, relay_template, BUFF_SIZE);
>                 binqqargs[0] = bin0;
>                 binqqargs[1] = bin1;
>                 binqqargs[2] = bin2;
>
>
>
> --fess
> ps. please include me in any replys, as i am not subscribed to  this
> mailing list.

Reply via email to