Ответ: SENDMAIL

Vladimir Dronnikov dronnikov at gmail.com
Sun Jun 29 02:31:41 PDT 2008


0. Hmmm. I definitely mailed to you, Natanael and busybox at busybox.net...

1. GCC problem? I could expand the function call inline but wanted to
collect code to a reusable libbb function.

2. Tried to avoid double-check: if (pass && *pass) ... Not relevant anymore...

3. Line 842 of crond.c should read 'cl->MailTo' instead of 'user' or
MAILTO=xxx functionality reduces to just flag for whether or not to
send results to native user of crontab.

Q: I'm getting crazy of what people meant when they invented sendmail
interface: where sender address is supposed to be obtained from? From
OPTIONAL -f parameter? From 'From: ' header? From $USER being appended
by ?$HOSTNAME? From [user:pass@]host[:port]?! Mail servers require
ADDRESS not username to be passed with EHLO/HELO. ( The reasons why I
used to make 'incompatible' interface were: if we have something to be
definitely specified we must not make it optional parameter. )

Let us define the sequence of getting sender info.

TIA,
--
Vladimir

P.S. BTW, I found no support for system-wide /etc/crontab in crond.c.
Is it supposed to be a symlink to (2000 light years from home:)
/var/spool/cron/crontabs/root?
I think I should dive into crond.c deeper, subject for another post...

--
Vladimir

2008/6/28, Denys Vlasenko <vda.linux at googlemail.com>:
> On Saturday 28 June 2008 12:23, dronnikov at gmail.com wrote:
>> Here comes the second part of compatibility patch for sendmail.
>>
>> Got rid of -U -P. Instead to authenticate we will use standard url
>> notation:
>> [user:pass@]server[:port]. M.b. make a libbb func for that? wget will use
>> it.
>>
>> Renamed -n to -N, -X to -S: -n and -X seems to be used in full-blown MTAs.
>>
>> Since BB sendmail became compatible, there is no need in #ifdefs in
>> crond.c.
>>
>> Denys, please, apply.
>> Natanael, please, do stress test it.
>
> 0. CC: busybox at busybox.net, otherwise Natanael won't get it.
>
> 1.
>                         opt_connect = "127.0.0.1";
>         }
>         // fetch username and password, if any
>         opt_connect = parse_url(opt_connect, &opt_user, &opt_pass);
>
> networking/sendmail.c: In function 'sendgetmail_main':
> networking/sendmail.c:352: error: passing argument 1 of 'parse_url' discards
> qualifiers from pointer target type
> make[1]: *** [networking/sendmail.o] Error 1
>
> And it's not trivial. The reason why it is safe is not obvious.
> I am making necessary modifications.
>
>
> 2. Why do you guard against empty username or password in parse_url()?
>    "" password is a valid thing to have: "user:@host".
>
> Patch is applied.
> --
> vda
>


More information about the busybox mailing list