Index: ../ircu2.10.06/ircd/s_debug.c =================================================================== RCS file: /usr/local/cvsroot/ircu2.10.06/ircd/s_debug.c,v retrieving revision 1.8 retrieving revision 1.9 diff -c -r1.8 -r1.9 *** ../ircu2.10.06/ircd/s_debug.c 1999/10/06 22:18:35 1.8 --- ../ircu2.10.06/ircd/s_debug.c 1999/10/07 00:52:36 1.9 *************** *** 191,197 **** '-', #endif #endif ! 'D','B','1','7', #ifdef DB_ESNET '+', #else --- 191,197 ---- '-', #endif #endif ! 'D','B','1','8', #ifdef DB_ESNET '+', #else Index: ../ircu2.10.06/ircd/s_serv.c =================================================================== RCS file: /usr/local/cvsroot/ircu2.10.06/ircd/s_serv.c,v retrieving revision 1.7 retrieving revision 1.9 diff -c -r1.7 -r1.9 *** ../ircu2.10.06/ircd/s_serv.c 1999/10/06 23:00:35 1.7 --- ../ircu2.10.06/ircd/s_serv.c 1999/10/07 01:07:17 1.9 *************** *** 1649,1655 **** if(parc==6) { que_bdd=*parv[5]; ! if((que_bdd<'a')||(que_bdd>'z')) return 0; } mascara_bdd=((unsigned long)1)<<(que_bdd-ESNET_BDD); --- 1649,1657 ---- if(parc==6) { que_bdd=*parv[5]; ! if((que_bdd<'a')||(que_bdd>'z')) ! if((que_bdd<'2')||(que_bdd>'9')||(*parv[3]!='J')) return 0; ! else que_bdd=ESNET_NICKDB; } mascara_bdd=((unsigned long)1)<<(que_bdd-ESNET_BDD); *************** *** 1698,1709 **** case 'D': if(!es_hub) return 0; ! if(!(acptr = find_match_server(parv[1]))) { ! sendto_one(sptr, err_str(ERR_NOSUCHSERVER), me.name, parv[0], parv[1]); ! return 0; ! } ! ! if(IsMe(acptr)) { alarm(3); sprintf_irc(path,"%s/tabla.%c",DBPATH,que_bdd); db_file=open(path,O_TRUNC,S_IRUSR | S_IWUSR); --- 1700,1710 ---- case 'D': if(!es_hub) return 0; ! /* ! ** Por bug en lastNNServer no se puede usar 'find_match_server()' ! */ ! collapse(parv[1]); ! if(!match(parv[1],me.name)) { alarm(3); sprintf_irc(path,"%s/tabla.%c",DBPATH,que_bdd); db_file=open(path,O_TRUNC,S_IRUSR | S_IWUSR); *************** *** 1741,1746 **** --- 1742,1753 ---- case 'E': case 'R': + /* + ** Ojo bug de lastNNServer + ** Aqui no ataca porque normalmente + ** este nodo NUNCA sera el destinatario + ** de estas respuestas. + */ if((acptr=find_match_server(parv[1]))&&(!IsMe(acptr))) sendto_one(acptr,"%s DB %s 0 %c %s %c",NumServ(sptr), acptr->name,*parv[3],parv[4],que_bdd); *************** *** 1749,1760 **** case 'Q': if(!es_hub) return 0; ! if(!(acptr = find_match_server(parv[1]))) { ! sendto_one(sptr, err_str(ERR_NOSUCHSERVER), me.name, parv[0], parv[1]); ! return 0; ! } ! ! if(IsMe(acptr)) { sendto_one(sptr,"%s DB %s 0 R %lu-HASH-%s %c", NumServ(&me),sptr->name,tabla_serie[que_bdd],parv[4],que_bdd); } --- 1756,1766 ---- case 'Q': if(!es_hub) return 0; ! /* ! ** Por bug en lastNNServer no se puede usar 'find_match_server()' ! */ ! collapse(parv[1]); ! if(!match(parv[1],me.name)) { sendto_one(sptr,"%s DB %s 0 R %lu-HASH-%s %c", NumServ(&me),sptr->name,tabla_serie[que_bdd],parv[4],que_bdd); }