diff -crN ../ircu2.10.06-DB13/CAMBIOS ../ircu2.10.06-DBH11/CAMBIOS *** ../ircu2.10.06-DB13/CAMBIOS Tue Oct 5 15:01:21 1999 --- ../ircu2.10.06-DBH11/CAMBIOS Tue Oct 5 16:22:45 1999 *************** *** 1,3 **** --- 1,13 ---- + * 1999/10/05 savage@apostols.org (patch.dbh11) FIX + ----------------------------------------------------------------------- + Al introducir el parche de undernet8 y posteriores, se nos pasó cambiar + el %c%c%c por %s%s para imprimir el nick numerico extendido en el + comando BMODE. Se ha optimizado el modo de delimitar el final de de + cadenas en las modificaciones introducidas en la autenticación usuario. + Se han cambiado los %c a %s en protocolos DB y DBH para uso correcto de + la macro NumServ(). Puestos a arreglar, el make install crea con los + permisos adecuados las tablas DBH. + * 1999/09/14 savage@apostols.org (patch.vip) FEATURE ----------------------------------------------------------------------- Se introducen dos nuevos flags de usuario: +x y +X, el primero oculta diff -crN ../ircu2.10.06-DB13/ircd/Makefile.in ../ircu2.10.06-DBH11/ircd/Makefile.in *** ../ircu2.10.06-DB13/ircd/Makefile.in Tue Oct 5 15:01:20 1999 --- ../ircu2.10.06-DBH11/ircd/Makefile.in Tue Oct 5 16:18:43 1999 *************** *** 122,127 **** --- 122,132 ---- do \ ${TOUCH} ${DBPATH}/tabla.$$i ; \ done; \ + for i in A B C D E F G H I J K L M N O P Q R S T U V W X Y Z ; \ + do \ + ${TOUCH} ${DBPATH}/tabla.$$i ; \ + ${TOUCH} ${DBPATH}/version.$$i ; \ + done; \ ${CHMOD} 600 ${DBPATH}/* ; \ ${CHOWN} ${IRCDOWN} ${DBPATH}/* ; \ ${CHGRP} ${IRCDGRP} ${DBPATH}/* ; ) diff -crN ../ircu2.10.06-DB13/ircd/channel.c ../ircu2.10.06-DBH11/ircd/channel.c *** ../ircu2.10.06-DB13/ircd/channel.c Tue Oct 5 15:25:13 1999 --- ../ircu2.10.06-DBH11/ircd/channel.c Tue Oct 5 15:42:49 1999 *************** *** 2757,2763 **** /* queridos remotos, ahora os comereis un modo OP */ sendto_lowprot_butone(cptr, 9, ":%s BMODE %s %s +o %s", me.name, DBH_CHANSERV, chptr->chname, sptr->name ); ! sendto_highprot_butone(cptr, 10, "%s BMODE %s %s +o %c%c%c", NumServ(&me), DBH_CHANSERV, chptr->chname, NumNick(sptr) ); /* queridos usuarios, ahora os tomo el pelo como a chinos */ --- 2757,2763 ---- /* queridos remotos, ahora os comereis un modo OP */ sendto_lowprot_butone(cptr, 9, ":%s BMODE %s %s +o %s", me.name, DBH_CHANSERV, chptr->chname, sptr->name ); ! sendto_highprot_butone(cptr, 10, "%s BMODE %s %s +o %s%s", NumServ(&me), DBH_CHANSERV, chptr->chname, NumNick(sptr) ); /* queridos usuarios, ahora os tomo el pelo como a chinos */ diff -crN ../ircu2.10.06-DB13/ircd/s_debug.c ../ircu2.10.06-DBH11/ircd/s_debug.c *** ../ircu2.10.06-DB13/ircd/s_debug.c Tue Oct 5 15:25:13 1999 --- ../ircu2.10.06-DBH11/ircd/s_debug.c Tue Oct 5 15:46:40 1999 *************** *** 199,205 **** #endif #ifdef DB_HISPANO '.','I','R','C','-', 'H','I','S','P','A','N','O','.','O','R','G',':', ! 'D','B','H' ,'1','0','+', 'N','+', --- 199,205 ---- #endif #ifdef DB_HISPANO '.','I','R','C','-', 'H','I','S','P','A','N','O','.','O','R','G',':', ! 'D','B','H' ,'1','1','+', 'N','+', diff -crN ../ircu2.10.06-DB13/ircd/s_serv.c ../ircu2.10.06-DBH11/ircd/s_serv.c *** ../ircu2.10.06-DB13/ircd/s_serv.c Tue Oct 5 15:25:13 1999 --- ../ircu2.10.06-DBH11/ircd/s_serv.c Tue Oct 5 16:00:34 1999 *************** *** 1682,1688 **** case 'q': if((acptr=find_match_server(parv[1]))&&(!IsMe(acptr))) ! sendto_one(acptr,"%c DB %s 0 q %lu %s",NumServ(sptr), acptr->name,db,parv[5]); return 0; break; --- 1682,1688 ---- case 'q': if((acptr=find_match_server(parv[1]))&&(!IsMe(acptr))) ! sendto_one(acptr,"%s DB %s 0 q %lu %s",NumServ(sptr), acptr->name,db,parv[5]); return 0; break; *************** *** 1695,1701 **** } if(!IsMe(acptr)) { ! sendto_one(acptr,"%c DB %s 0 Q %lu\n",NumServ(sptr),acptr->name,db); return 0; } if(dbname,db); return 0; } if(dbdown; lp; lp = lp->next) --- 1726,1735 ---- db_alta(db_buf); if(parc==5) ! sprintf_irc(db_buf,"%s DB %s %s %s %s", NumServ(sptr),parv[1],parv[2],parv[3],parv[4]); else ! sprintf_irc(db_buf,"%s DB %s %s %s %s :%s", NumServ(sptr),parv[1],parv[2],parv[3],parv[4],parv[5]); for (lp = me.serv->down; lp; lp = lp->next) *************** *** 2269,2275 **** */ break; } else ! sendto_one(acptr,"%c %s %s 0 q %s %s %s %s", NumServ(sptr), MSG_DBH, acptr->name, parv[4],parv[5],parv[6],parv[7]); #endif /* HUB */ --- 2269,2275 ---- */ break; } else ! sendto_one(acptr,"%s %s %s 0 q %s %s %s %s", NumServ(sptr), MSG_DBH, acptr->name, parv[4],parv[5],parv[6],parv[7]); #endif /* HUB */ *************** *** 2313,2319 **** if(!IsMe(acptr)) { ! sendto_one(acptr,"%c %s %s 0 Q %s\n", NumServ(sptr), MSG_DBH, acptr->name, parv[4]); break; --- 2313,2319 ---- if(!IsMe(acptr)) { ! sendto_one(acptr,"%s %s %s 0 Q %s\n", NumServ(sptr), MSG_DBH, acptr->name, parv[4]); break; *************** *** 2351,2357 **** if(!IsMe(acptr)) { ! sendto_one(acptr,"%c %s %s 0 D %s %s\n", NumServ(sptr), MSG_DBH, acptr->name, parv[4], parv[5]); break; --- 2351,2357 ---- if(!IsMe(acptr)) { ! sendto_one(acptr,"%s %s %s 0 D %s %s\n", NumServ(sptr), MSG_DBH, acptr->name, parv[4], parv[5]); break; *************** *** 2445,2455 **** * Propago el registro ... */ if(parc==6) ! sprintf_irc(db_buf,"%c %s %s %s %s %s :%s", NumServ(sptr),MSG_DBH,parv[1], parv[2],parv[3],parv[4],parv[5]); else ! sprintf_irc(db_buf,"%c %s %s %s %s %s", NumServ(sptr),MSG_DBH,parv[1], parv[2],parv[3],parv[4]); --- 2445,2455 ---- * Propago el registro ... */ if(parc==6) ! sprintf_irc(db_buf,"%s %s %s %s %s %s :%s", NumServ(sptr),MSG_DBH,parv[1], parv[2],parv[3],parv[4],parv[5]); else ! sprintf_irc(db_buf,"%s %s %s %s %s %s", NumServ(sptr),MSG_DBH,parv[1], parv[2],parv[3],parv[4]); diff -crN ../ircu2.10.06-DB13/ircd/s_user.c ../ircu2.10.06-DBH11/ircd/s_user.c *** ../ircu2.10.06-DB13/ircd/s_user.c Tue Oct 5 15:25:13 1999 --- ../ircu2.10.06-DBH11/ircd/s_user.c Tue Oct 5 15:58:44 1999 *************** *** 1095,1101 **** if(reg) { /* El nick indicado esta registrado */ unsigned long v[2],k[2],x[2]; int cont=(NICKLEN+8)/8; ! char tmpnick[8*((NICKLEN+8)/8)]; char tmppass[12+1]; unsigned long *p=(unsigned long *)tmpnick; unsigned long numpass[2]; --- 1095,1101 ---- if(reg) { /* El nick indicado esta registrado */ unsigned long v[2],k[2],x[2]; int cont=(NICKLEN+8)/8; ! char tmpnick[8*((NICKLEN+8)/8)+1]; char tmppass[12+1]; unsigned long *p=(unsigned long *)tmpnick; unsigned long numpass[2]; *************** *** 1104,1115 **** char tmp; memset(tmpnick,0,sizeof(tmpnick)); ! strncpy(tmpnick,reg->clave,sizeof(tmpnick)); ! tmpnick[sizeof(tmpnick)-1]='\0'; memset(tmppass,0,sizeof(tmppass)); ! strncpy(tmppass,reg->valor,sizeof(tmppass)); ! tmppass[sizeof(tmppass)-1]='\0'; tmp=tmppass[6]; tmppass[6]='\0'; --- 1104,1113 ---- char tmp; memset(tmpnick,0,sizeof(tmpnick)); ! strncpy(tmpnick,reg->clave,sizeof(tmpnick)-1); memset(tmppass,0,sizeof(tmppass)); ! strncpy(tmppass,reg->valor,sizeof(tmppass)-1); tmp=tmppass[6]; tmppass[6]='\0'; *************** *** 1119,1129 **** memset(tmppass,0,sizeof(tmppass)); if(parc>=3) ! strncpy(tmppass,parv[2],sizeof(tmppass)); else ! strncpy(tmppass,cptr->passwd,sizeof(tmppass)); ! ! tmppass[sizeof(tmppass)-1]='\0'; x[0]=x[1]=0; tmp=tmppass[6]; --- 1117,1125 ---- memset(tmppass,0,sizeof(tmppass)); if(parc>=3) ! strncpy(tmppass,parv[2],sizeof(tmppass)-1); else ! strncpy(tmppass,cptr->passwd,sizeof(tmppass)-1); x[0]=x[1]=0; tmp=tmppass[6];