mirror of
https://github.com/psycopg/psycopg2.git
synced 2025-02-07 12:50:32 +03:00
Password obfuscation done right (closes: #147)
This commit is contained in:
parent
3a94e747d7
commit
09c866221c
|
@ -1,3 +1,8 @@
|
|||
2007-02-11 Federico Di Gregorio <fog@initd.org>
|
||||
|
||||
* psycopg/connection_type.c: now the password is obfuscated after we try
|
||||
to connect to the backend. This really fixes #147.
|
||||
|
||||
2007-01-20 Federico Di Gregorio <fog@initd.org>
|
||||
|
||||
* Release 2.0.6b1.
|
||||
|
|
|
@ -287,6 +287,7 @@ static int
|
|||
connection_setup(connectionObject *self, char *dsn)
|
||||
{
|
||||
char *pos;
|
||||
int res;
|
||||
|
||||
Dprintf("connection_setup: init connection object at %p, refcnt = %d",
|
||||
self, ((PyObject *)self)->ob_refcnt);
|
||||
|
@ -301,22 +302,27 @@ connection_setup(connectionObject *self, char *dsn)
|
|||
self->pgconn = NULL;
|
||||
self->mark = 0;
|
||||
|
||||
|
||||
pthread_mutex_init(&(self->lock), NULL);
|
||||
|
||||
if (conn_connect(self) != 0) {
|
||||
Dprintf("connection_init: FAILED");
|
||||
res = -1;
|
||||
}
|
||||
else {
|
||||
Dprintf("connection_setup: good connection object at %p, refcnt = %d",
|
||||
self, ((PyObject *)self)->ob_refcnt);
|
||||
res = 0;
|
||||
}
|
||||
|
||||
/* here we obfuscate the password even if there was a connection error */
|
||||
pos = strstr(self->dsn, "password");
|
||||
if (pos != NULL) {
|
||||
for (pos = pos+9 ; *pos != '\0' && *pos != ' '; pos++)
|
||||
*pos = 'x';
|
||||
}
|
||||
|
||||
pthread_mutex_init(&(self->lock), NULL);
|
||||
|
||||
if (conn_connect(self) != 0) {
|
||||
Dprintf("connection_init: FAILED");
|
||||
return -1;
|
||||
}
|
||||
|
||||
Dprintf("connection_setup: good connection object at %p, refcnt = %d",
|
||||
self, ((PyObject *)self)->ob_refcnt);
|
||||
return 0;
|
||||
return res;
|
||||
}
|
||||
|
||||
static void
|
||||
|
|
Loading…
Reference in New Issue
Block a user