[ic] Postgres + Debian error

Kevin Walsh kevin at cursor.biz
Mon Jan 8 21:47:32 EST 2007


Rene Hertell <interchange at hertell.com> wrote:
> Peter wrote:
> 
> >> ALTER TABLE userdb ALTER password SET DEFAULT '';
> 
> This worked perfectly! Thanks Peter!
> 
> > Also, should mention that it helps to do this as well in userdb.pgsql:
> > 
> > Database  userdb  COLUMN_DEF   "password=varchar(64) DEFAULT '' NOT NULL"
> > 
> > That way IC will recreate the table correctly in the future.
> 
> I guess that this should then be corrected to CVS? What does Mike or Jon
> think about this change?
> 
Although it'll work, that fix doesn't "feel right" to me.

Are you using "indirect_login"?  If so then the problem might be in
this code in Vend::UserDB (starting from line 1684 in IC 5.5.0):

                if($foreign) {
                         $udb->set_field(
                                                $self->{USERNAME},
                                                $foreign,
                                                $self->{PASSED_USERNAME},
                                                )
                                or die errmsg("Database access error.");
                }

I could be wrong, but it seems to me that the password ($pw) should be
saved as part of that call to set_field().  Perhaps using set_slice()
instead of set_field().

Either that or, better still, the following lines should be moved so that
they are run before the code quoted above, instead of immediately after:

                my $pass = $udb->set_field(
                                                $self->{USERNAME},
                                                $self->{LOCATION}{PASSWORD},
                                                $pw,
                                                );

                die errmsg("Database access error.") . "\n" unless defined $pass;

That's just a gut feeling, by the way.  I haven't tested the theory.

Let me officially be the last person to wish you a happy 2007 and, most
likely, be the the first person to wish you a happy 2008. :-)

-- 
   _/   _/  _/_/_/_/  _/    _/  _/_/_/  _/    _/
  _/_/_/   _/_/      _/    _/    _/    _/_/  _/   K e v i n   W a l s h
 _/ _/    _/          _/ _/     _/    _/  _/_/    kevin at cursor.biz
_/   _/  _/_/_/_/      _/    _/_/_/  _/    _/


More information about the interchange-users mailing list