Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Date: Mon, 24 May 2004 22:06:03 -0500 From: Eduardo Chappa To: cygwin AT cygwin DOT com Subject: Re: exim issue In-Reply-To: Message-ID: References: <40AFA4EF DOT 7040706 AT alltel DOT net> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-IsSubscribed: yes On Mon, 24 May 2004, Igor Pechtchanski wrote: :) > In the exim 4.32 source (spool_in.c) the following line causes an :) > error condition if the user who instantiated the exim process has a :) > space in their name. :) > :) > if (sscanf(CS big_buffer, "%s %ld %ld", originator, &uid, &gid) != 3) :) > goto SPOOL_FORMAT_ERROR; :) > :) > I'm sure a workaround is obvious, I just can't see it. :) :) A proper workaround has already been posted, but the above is indeed a :) rather fundamental bug in exim (or, rather, in the format of the exim :) spool file)... The problem is that exim uses a space as a separator :) for the "UNAME UID GID" line, and space is a valid username character. :) The problem exists on other systems as well, but manifested itself on :) Cygwin only because usernames with spaces are more common. One :) solution is to use an invalid username character as a separator (e.g., :) '|'). I doubt there could be a Cygwin-specific fix, though, since that :) would make the spool files incompatible across systems. You can always scan backwards, everything between the beginning of the string and the character preceding the second space is the username. Eduardo http://www.math.washington.edu/~chappa/pine/ -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/