[imp] Login (horde auth = 'imp') always returns "Login failed for some reason..."

David Peoples davidp@touringcyclist.com
Fri, 2 Nov 2001 00:00:15 -0600


That behavior of three sess_* files created, then three more, is definitely 
not normal. Each file represents a different session, so it's no wonder the 
state isn't getting saved. But I can't say for certain why this is happening.

On my machine, loading the http://example.com/horde/imp page produces one 
sess_* file, 38 bytes long. Successfully logging in makes that file grow to 
4039 bytes, and creates no other sess_* files. That is the behavior you want 
to aim for. <g>

It is as if the individual pages on your machine are resetting the 
session_id() variable somewhere. Or else your copy of PHP is messed up 
somehow and not doing internally what it is supposed to with session_id(). 
Three pages are loaded to get to the login screen.

Do you perhaps have an auto_prepend_file or auto_append_file set up? If so, 
show us the contents. Maybe something in there is messing you up. And since 
this is looking more like a PHP problem, show us the output of phpinfo().

David

On Thursday 01 November 2001 05:14 pm, you wrote:
> OK, I switched over to file-based session storage, and confirmed that
> various "sess_*" files are being created.  I'm not familiar with PHP
> session-management, but I'll describe what I observed:
>
> Immediately after pointing my browser at
> "http://www.example.com/horde/imp", I got the login screen.  Three
> "sess_*"  files were created, two of which were 0-length and the third
> 38-bytes long.  It's contents were:
>
> prefs_cache|a:1:{s:7:"_filled";a:0:{}}
>
> After attempting (and failing) to log in, I noticed that 3 more "sess_*"
> files were created, one of which was 0-length, one 38 bytes long, and one
> 536 bytes long.  This last one appeared to have meaningful information in
> it, such as values for "userID", "password", "timestamp", "user", "pass",
> etc.
>
> The log below shows the value of $GLOBALS[HTTP_SESSION_VARS]['imp'] before
> and after it is assigned &$imp.  Before, it's value is [0].  Afterwards,
> its value is [1].  However, in IMP::setupSession, it still fails the
> isset() test.
>
> Based on what's happening here, I'm wondering whether I've screwed up some
> fundamental PHP or Apache configuration setting somewhere.  How is
> $GLOBALS[HTTP_SESSION_VARS]['imp'] set and preserved across the individual
> file-level scope?...
>
> (BTW, sorry to be cluttering up the mailing list this way.  I DO
> appreciate the advice and help folks have been supplying...)
>
> Jim