Re: Password authentification failed after Quicklis update
Ryan Davis <[email protected]> Fri, 08 Mar 2013 13:58:55 -0500
| Newsgroups | gmane.lisp.clsql.general |
|---|---|
| Message-ID | <[email protected]> |
On 03/08/2013 07:28 AM, Nicolas Neuss wrote: > Ryan Davis <[email protected]> writes: > >> On 03/07/2013 11:54 AM, Ryan Davis wrote: >>> On 03/07/2013 09:15 AM, Nicolas Neuss wrote: >>>> Hi, >>>> >>>> I am using clsql/postgresql and after doing a (ql:update-all-dists) I >>>> cannot connect anymore to my databases with clsql. >>>> >>>> While trying to connect to database localhost/noten/neuss >>>> using database-type POSTGRESQL-SOCKET: >>>> Error POSTGRESQL-LOGIN-ERROR / FATAL: password authentication failed for user "neuss" >>>> >>>> has occurred. >>>> [Condition of type SQL-CONNECTION-ERROR] >>>> >>>> I searched the web and found that in December last year a change in MD5 >>>> broke authentification. Is this bug still active? Does anyone have a >>>> fix? >>> I think the MD5 issue has been resolved, I think this might be a clsql bug. >> This is a bug between the postgresql-socket backend and the recent MD5 >> changes. It's the same bug you saw in your google searches, just in a >> different bit of code. >> >> I've committed a fix: >> http://git.b9.com/?p=clsql.git;a=commitdiff;h=906d7a71b35ee1cd6d281623694bc90ced22c339 >> >> It'll be some time before that makes it into quicklisp, but you can check >> out clsql from git into your local-projects directory to get the fix >> sooner. There are no other parts of clsql vulnerable to this issue. > Are you sure that this is all which is needed for fixing the bug? I did > the above change in my local copy of clsql, and the problem persisted. No, I'm not sure. I knew that md5sum-sequence was no longer the appropriate md5 function to use there, and would cause the error you're seeing. I didn't put together a test case, I had hoped I could get away with just deploying everyone else's fix to this problem. >> Thanks, >> Ryan >>> Can you try using database type postgresql-socket3? >>> >>> Thanks, >>> Ryan > This works. Thank you! (What is the difference between > postgresql-socket3 and postgresql-socket?) I'm not 100% sure, but here's what I know. postgresql-socket is a lisp implementation of PostgreSQL's socket interface, and clsql's database backend interface. postgresql-socket3 implements clsql's database backend interface, but defers the PostgreSQL connections to the cl-postgres project. postgresql-socket3 adds a few other capabilities on top of clsql's standard database backend interface, notably streaming results from the db without putting them all in a list first. We needed that for exporting large datasets to CSV over the web. With postgresql-socket3 we could hook up the row-reader in CLSQL directly to the HTTP output stream. Thanks, Ryan