? ../ircu2.10.06/patch.db36 ? ../ircu2.10.06/patch.db37 ? ../ircu2.10.06/patch.db38 ? ../ircu2.10.06/patch.db39 ? ../ircu2.10.06/patch.db40 ? ../ircu2.10.06/patch.db41 ? ../ircu2.10.06/patch.db42 ? ../ircu2.10.06/patch.dbh15 ? ../ircu2.10.06/patch.db43 ? ../ircu2.10.06/patch.db44 ? ../ircu2.10.06/patch.db45 ? ../ircu2.10.06/patch.db46 Index: ../ircu2.10.06/tener_en_cuenta.jcea =================================================================== RCS file: tener_en_cuenta.jcea diff -N tener_en_cuenta.jcea *** ../ircu2.10.06//dev/null Thu Oct 7 09:11:38 1999 --- ../ircu2.10.06/tener_en_cuenta.jcea Wed Oct 27 11:47:01 1999 *************** *** 0 **** --- 1,7 ---- + 27/Oct/99 + Las BDD no residentes no se compactan, aunque + se marca la orden en disco. + + 27/Oct/99 + Solo se conservan en memoria los registros + que afectan al servidor en concreto. Index: ../ircu2.10.06/todo.jcea =================================================================== RCS file: /cvsroot/ircd/todo.jcea,v retrieving revision 1.21 retrieving revision 1.23 diff -c -r1.21 -r1.23 *** ../ircu2.10.06/todo.jcea 1999/10/26 23:29:54 1.21 --- ../ircu2.10.06/todo.jcea 1999/10/27 11:05:38 1.23 *************** *** 1,16 **** ! 26/Oct/99 ! Aunque una BDD no este residente, hay que ! leerla para: ! a) Comprobar su integridad ! b) Ver a partir de que registro aceptamos nuevos. ! Por lo que parece, ya se esta haciendo. ! No obstante hay una cosa curiosa: los registros ! que llegan nuevos por la red aparecen en el ! /stats b, pero si se leen de disco y la BDD ! es no residente, no salen. 21/Oct/99 La compactacion destruye registros cuando --- 1,20 ---- ! 27/Oct/99 ! Conservar en memoria exclusivamente un indice ! a la posicion en la BDD en disco. La BDD se ! mapea en memoria con un mmap. ! Ojo con la entrada de nuevos registros (hay ! que ampliar el mmap), con su borrado y, ! sobre todo, con la compactacion de la BDD. ! 27/Oct/99 ! Si un usuario tiene varios nicks registrados, ! no se le puede banear, porque puede ponerse otro ! de sus nicks. ! Y como las IPs aparecen cifradas, no puede ! identificarse como el mismo usuario que ha ! sido baneado, de cara al canal. 21/Oct/99 La compactacion destruye registros cuando Index: ../ircu2.10.06/ircd/s_bdd.c =================================================================== RCS file: /cvsroot/ircd/ircd/s_bdd.c,v retrieving revision 1.8 retrieving revision 1.9 diff -c -r1.8 -r1.9 *** ../ircu2.10.06/ircd/s_bdd.c 1999/10/27 08:49:07 1.8 --- ../ircu2.10.06/ircd/s_bdd.c 1999/10/27 11:46:00 1.9 *************** *** 299,308 **** /* * dbh_buscar_registro (tabla, clave) * ! * busca un registro en memoria ... * 1999/06/23 savage@apostols.org */ ! struct dbh_reg *dbh_buscar_registro(char tabla, char *clave) { struct dbh_reg *reg; int hashi, i = 0; --- 299,308 ---- /* * dbh_buscar_registro (tabla, clave) * ! * busca un registro local en memoria ... * 1999/06/23 savage@apostols.org */ ! struct dbh_reg *dbh_buscar_registro_local(char tabla, char *clave) { struct dbh_reg *reg; int hashi, i = 0; *************** *** 330,362 **** if (!strcmp(reg->clave, c)) { RunFree(c); ! return reg; } RunFree(c); return NULL; } /* - * dbh_buscar_registro_local (tabla, clave) - * - * busca un registro local en memoria ... - * 1999/06/23 savage@apostols.org - */ - struct dbh_reg *dbh_buscar_registro_local(char tabla, char *clave) - { - struct dbh_reg *reg; - - reg = dbh_buscar_registro(tabla, clave); - if (!reg) - return NULL; - - if (reg->local) - return reg; - else - return NULL; - } - - /* * dbh_es_miembro (tabla, clave, subcadena) * * varor registro es una lista separada por comas, y si subcadena es --- 330,344 ---- if (!strcmp(reg->clave, c)) { RunFree(c); ! if (reg->local) ! return reg; ! return NULL; } RunFree(c); return NULL; } /* * dbh_es_miembro (tabla, clave, subcadena) * * varor registro es una lista separada por comas, y si subcadena es *************** *** 1417,1423 **** return 0; } ! reg = dbh_buscar_registro(tabla, clave); if (!reg) { if (MyUser(sptr) || Protocol(cptr) < 10) --- 1399,1405 ---- return 0; } ! reg = dbh_buscar_registro_local(tabla, clave); if (!reg) { if (MyUser(sptr) || Protocol(cptr) < 10) Index: ../ircu2.10.06/ircd/s_debug.c =================================================================== RCS file: /cvsroot/ircd/ircd/s_debug.c,v retrieving revision 1.69 retrieving revision 1.70 diff -c -r1.69 -r1.70 *** ../ircu2.10.06/ircd/s_debug.c 1999/10/27 08:49:07 1.69 --- ../ircu2.10.06/ircd/s_debug.c 1999/10/27 11:46:00 1.70 *************** *** 191,197 **** '-', #endif #endif ! 'D','B','4','5', #ifdef DB_ESNET '+', #else --- 191,197 ---- '-', #endif #endif ! 'D','B','4','6', #ifdef DB_ESNET '+', #else