-----Original Message-----
From: Bryce Newall [mailto:[EMAIL PROTECTED]]
Sent: Wednesday, May 02, 2001 3:31 PM
To: [EMAIL PROTECTED]
Subject: SPAM: Problems compiling/installing qpopper 4.0.1
> Everything was fine there.
> But then after installing, when I tried to connect to my
POP server, I got
> the following messages in my system logs:
>
> May 2 11:05:08 ds9 popper[33072]: Insufficient room to
generate path for
> user data; need more than 956; have only 64
> May 2 11:05:08 ds9 popper[33072]: data at localhost
(127.0.0.1): -ERR
> [SYS/TEMP] Unable to get spool name
>
> So at that point, I was forced to revert back to 3.1.2.
Any suggestions
> on the above problems?
>
>Thanks very much in advance,
I had a similar problem when using home-dir-mail. After some
fooling
around in the source code for genpath.c I found that 956
seems to be
the length qpopper thinks the users home directory string
is. That is,
/usr/home/someuser would be 18.
I'm no C guru, but I think when genpath goes to read the
path for a
users home dir it's falling off the end of the string and
grabbing
too much data. Then it goes to do a string copy. There's a
check to
make sure the string copy didn't truncate the string. When
it sees
that the old string was 956 and the new one was only 64, it
assumes
it truncated the home dir, and aborts. If you're brave
(and/or stupid)
you can comment out that check. I rewrote that section to
look like
this:
/*
if ( len1 > iDropLen ) {
pop_log ( p,
POP_PRIORITY,
HERE,
"Insufficient room for len1 to generate
path for user %.100s"
"; need more than %i; have only %i",
pszUser,
MAX ( len1, len2 ),
iDropLen );
return -1;
}
*/
if ( len2 > iDropLen ) {
pop_log ( p,
POP_PRIORITY,
HERE,
"Insufficient room for len2 to generate
path for user %.100s"
"; need more than %i; have only %i",
pszUser,
MAX ( len1, len2 ),
iDropLen );
return -1;
}
if ( len3 > iDropLen ) {
pop_log ( p,
POP_PRIORITY,
HERE,
"Insufficient room for len3 to generate
path for user %.100s"
"; need more than %i; have only %i",
pszUser,
MAX ( len1, len2 ),
iDropLen );
return -1;
}
It works. Just make sure you don't give someone a home dir
that'll get truncated.
If I knew more C code I'd write a patch and submit it, but
I'll leave that to the
experts. Has anyone gotten home-dir-mail to work on FreeBSD?
Matthew Koch
Geneva On-Line Inc.