fallo rn res_config_pgsql.c

1 view
Skip to first unread message

german aracil boned

unread,
Nov 22, 2010, 1:46:46 PM11/22/10
to asteris...@googlegroups.com

Hola

uno de tantos bugs de asterisk, es una tontería y puede que nunca se de, pero si usas realtime con postgresql y además tienes la mala pata de llamar a la función update_pgsql sin los parámetros sql adecuados, asterisk no solo da error, sino que tira la conexión y deja de funcionar, no se restablece:

static int update_pgsql(const char *database, const char *table, const char *keyfield,

const char *lookup, va_list ap)

{

PGresult *result = NULL;

int numrows = 0, pgerror;

char sql[256], escapebuf[513];

const char *newparam, *newval;

if (!table) {

ast_log(LOG_WARNING, "Postgresql RealTime: No table specified.\n");

return -1;

}

/* Get the first parameter and first value in our list of passed paramater/value pairs */

newparam = va_arg(ap, const char *);

newval = va_arg(ap, const char *);

if (!newparam || !newval) {

ast_log(LOG_WARNING,

"Postgresql RealTime: Realtime retrieval requires at least 1 parameter and 1 value to search on.\n");

------ desde aqui ..

if (pgsqlConn) {

PQfinish(pgsqlConn);

pgsqlConn = NULL;

.. hasta aqui. sobran las tres líneas

};

return -1;

}

No paso parche porque se pierde más tiempo haciendolo que otra cosa.. y bueno .. igual nunca os pasa .. de verdad no tengo tiempo, me voy a comprar que sino no tengo ni para cenar !!!!!!!!!

P.D. Afecta a todos los asteriscos

saludos !!

--

--------------------------

Donde hay que firmar ?

german aracil boned

unread,
Nov 22, 2010, 3:10:42 PM11/22/10
to asteris...@googlegroups.com

El }; de bajo también hay que quitarlo, así que son 4.

La llamada claro no se realiza directamente a update_pgsql, sino a
ast_update_realtime, pero cascar casca y muy bien. auqne tengas el parche para
que reconecte.

P.D. Ya he cenadooooooo

agur !

Reply all
Reply to author
Forward
0 new messages