This is the mail archive of the cygwin 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: exim issue


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/


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