This is the mail archive of the cygwin@cygwin.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

RE: Crontab on Win9X works


On Tue, 15 Apr 2003, David Byron wrote:

> Pierre A. Humblet wrote
>
> > Corinna Vinschen wrote:
> > >
> > > On Mon, Apr 14, 2003 at 10:44:23PM -0400, Pierre A. Humblet wrote:
> >
> > > > The change in env.c reverts to ignoring the daemon
> > > > environment, on Win9x only.
> > >
> > > Why?
> >
> > For the same reason as the original cron does it, I guess.
> > On Win9X it is typically a large user environment, including
> > functions in the case of bash. On NT it is only the small
> > service environment. Also the functions screw up the mail
> > headers (because "}>" isn't a valid
> > mail header), as in
> > ******************************
> > X-Cron-Env: <WINDOWID=168105192>
> > X-Cron-Env: <_=./cron>
> > X-Cron-Env: <fontpath=() {  xset fp+ /ust/lib/X11/fonts/75dpi
> > Date: Mon, 14 Apr 2003 18:20:00 -0400
> >
> > }>
> > X-Cron-Env: <rm=() {  command rm -i "$@"
> > }>
> > X-Cron-Env: <xfig=() {  command xfig -latexfonts -specialtext
> > -pwidth 8
> >   -pheight 7 -but_per_row 3 +-startgridmode 1 -startposnmode 1 $* & }>
> > **********************************
>
> I ran into this same thing under XP when I start cron from my user context.
> One of my environment variables has a carriage return in it so that
> everything before it goes properly into the header, and everything after it
> goes into the body of the message.  I'm not sure what the right solution is.
> Is there some kind of quoting convention that ssmtp understands?  I'm
> attaching /etc/profile since it contains the offending definition of PS1 and
> it's hard to get right in the body of the message.
>
> This part ends up in the header:
>
> X-Cron-Env: <PS1=\[\033]0;\w\007
>
> This ends up in the body of the message:
>
> \033[32m\]\u at \h \[\033[33m\w\033[0m\]
> $ >
> X-Cron-Env: <PWD=/usr/src/cron-3.0.1-7>
> X-Cron-Env: <SESSIONNAME=Console>
>
> [rest of environment variables snipped...]
>
> > > > USE_SIGCHLD is now left undefined in compat.h to get
> > > > rid of a syslog message about the mail command failing.
> > >
> > > Why?  Isn't a syslog message what we want if the mail command fails?
> >
> > The message will be there if needed. Currently it can be
> > there even when mail succeeds (wait() can return -1).
>
> Thank you.
>
> -DB

According to RFC 2822, a newline followed by whitespace is going to be
"unfolded" (so the newline is not "semantically visible" in the header
field).  The RFC also allows unfolding lines consisting entirely of
whitespace (but not blank lines!).

It seems to me that cron does not accomodate environment values with
whitespace in them at all.  A solution would be to have cron insert a " "
(space) after every newline in the variable value, which will render
newlines harmless.  Does this make sense?
	Igor
-- 
				http://cs.nyu.edu/~pechtcha/
      |\      _,,,---,,_		pechtcha at cs dot nyu dot edu
ZZZzz /,`.-'`'    -.  ;-;;,_		igor at watson dot ibm dot com
     |,4-  ) )-,_. ,\ (  `'-'		Igor Pechtchanski
    '---''(_/--'  `-'\_) fL	a.k.a JaguaR-R-R-r-r-r-.-.-.  Meow!

Knowledge is an unending adventure at the edge of uncertainty.
  -- Leto II


--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]