<div>Hello,</div>
<div> </div>
<div>I have found a error in the TBURST module that causes the handler to squit links that send a null topic. Lowering the minimum requirement of parameters from 6 to 5 should fix the problem, as it appears though hybrid handlers treat a blank param as not being a param at all.
</div>
<div> </div>
<div>Regards,</div>
<div> </div>
<div>Jon</div>
<div><br><br> </div>
<div><span class="gmail_quote">On 1/31/06, <b class="gmail_sendername">ThaPrince</b> <<a href="mailto:thaprince@gmail.com">thaprince@gmail.com</a>> wrote:</span>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">Hello,<br><br>No problem at all! Another problem i have found is that client SSL<br>seems to randomly disconnect people for no apparant reason. It seems
<br>to get worse the more SSL clients you have on the server. I havent<br>been able to track down whats causing it, and it only affects ssl<br>clients. Normal clients on the same server arent disconnected. The SSL<br>users will simply be disconnected with a message akin to "Remote host
<br>has closed the Connection" or similar. It also seems to cascade and<br>spread to other SSL users(I.E when one triggers it, it often<br>disconnects other SSL users as well). If you need help tracking this<br>one down I would be more than willing to help, as the SSL capability
<br>of hybrid is very popular :)<br><br>Regards,<br><br>Jon<br><br><br>On 1/31/06, Michael Wobst <<a href="mailto:michael.wobst@gmail.com">michael.wobst@gmail.com</a>> wrote:<br>> Thanks for reporting it! #2 and #3 were just fixed a couple of minutes
<br>> ago.  If no one else does, I'll look for #1 and #4 when I get back home.<br>><br>> -Michael<br>><br>> ThaPrince wrote:<br>> > Hello,<br>> ><br>> > I have found numerous bugs in ircd-hybrid 
7.2.0 as can be seen below:<br>> ><br>> > - sockhost is not properly relayed<br>> > - match was called wrong causing xlines to fail.<br>> > - Soft caller ID does not function correctly.<br>> > - channel list formatting is broken
<br>> ><br>> > Patch to fix the first 3 issues is below:<br>> ><br>> > The 4th issue is something introduced with the new nuh code. you can<br>> > replicate it like so:<br>> ><br>> > /mode #Channel +bbb nick1 nick2 nick3
<br>> ><br>> > The same is true for any of the lists that take parameters in such a<br>> > fashion.<br>> ><br>> > and look at the output.<br>> ><br>> > Regards,<br>> ><br>> > Jon
<br>> ><br>> > Index: src/s_user.c<br>> > ===================================================================<br>> > --- src/s_user.c        (revision 380)<br>> > +++ src/s_user.c        (working copy)
<br>> > @@ -619,8 +619,7 @@<br>> >                   source_p->name, source_p->hopcount+1,<br>> >                  (unsigned long)source_p->tsinfo,<br>> >                   ubuf, source_p->username, source_p->host,
<br>> > -                ((MyClient(source_p) && !IsIPSpoof(source_p)) ?<br>> > -                source_p->sockhost : "0"),<br>> > +                IsIPSpoof(source_p) ? "0" : source_p->sockhost,
<br>> >                   source_p->id, source_p->info);<br>> >      }<br>> >      else<br>> > @@ -648,7 +647,7 @@<br>> >                     source_p->name, source_p->hopcount+1,
<br>> >                    (unsigned long)source_p->tsinfo,<br>> >                     ubuf, source_p->username, source_p->host,<br>> > -<br>> > ((MyClient(source_p)&&!IsIPSpoof(source_p))?source_p->sockhost:"0"),
<br>> > +                  IsIPSpoof(source_p) ? "0" : source_p->sockhost,<br>> >                     source_p->id, source_p->info);<br>> >        else<br>> >          sendto_one(server, "NICK %s %d %lu %s %s %s %s :%s",
<br>> > Index: src/client.c<br>> > ===================================================================<br>> > --- src/client.c        (revision 380)<br>> > +++ src/client.c        (working copy)<br>
> > @@ -1231,11 +1231,13 @@<br>> >    }<br>> ><br>> >    if (IsSoftCallerId(target))<br>> > -  {<br>> >      DLINK_FOREACH(ptr, target->channel.head)<br>> > -      if (IsMember(source, ptr->data))
<br>> > +    {<br>> > +      struct Channel *chptr = ((struct Membership *) ptr->data)->chptr;<br>> > +<br>> > +      if (IsMember(source, chptr))<br>> >          return (1);<br>> > -  }
<br>> > +    }<br>> ><br>> >    return (0);<br>> >  }<br>> > Index: src/s_serv.c<br>> > ===================================================================<br>> > --- src/s_serv.c        (revision 380)
<br>> > +++ src/s_serv.c        (working copy)<br>> > @@ -892,8 +892,8 @@<br>> >                target_p->name, target_p->hopcount + 1,<br>> >                (unsigned long) target_p->tsinfo,
<br>> >                ubuf, target_p->username, target_p->host,<br>> > -<br>> > ((MyClient(target_p)&&!IsIPSpoof(target_p))?target_p->sockhost:"0"),<br>> > -          target_p->id, target_p->info);
<br>> > +              IsIPSpoof(target_p) ? "0" : target_p->sockhost,<br>> > +              target_p->id, target_p->info);<br>> >    else<br>> >      sendto_one(client_p, "NICK %s %d %lu %s %s %s %s :%s",
<br>> >                target_p->name, target_p->hopcount + 1,<br>> > Index: modules/m_xline.c<br>> > ===================================================================<br>> > --- modules/m_xline.c   (revision 380)
<br>> > +++ modules/m_xline.c   (working copy)<br>> > @@ -235,7 +235,7 @@<br>> >                       "XLINE %s %s %s :%s",<br>> >                       parv[1], parv[2], parv[3], parv[4]);
<br>> ><br>> > -  if (match(parv[1], <a href="http://me.name">me.name</a>))<br>> > +  if (!match(parv[1], <a href="http://me.name">me.name</a>))<br>> >      return;<br>> ><br>> >    if (find_matching_name_conf(ULINE_TYPE, source_p->servptr->name,
<br>> ><br>><br>><br></blockquote></div><br>