ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/svn/ircd-hybrid-8/src/client.c
(Generate patch)

Comparing ircd-hybrid-7.2/src/client.c (file contents):
Revision 617 by michael, Mon May 22 07:21:17 2006 UTC vs.
Revision 706 by michael, Sun Jul 2 11:25:55 2006 UTC

# Line 317 | Line 317 | check_pings_list(dlink_list *list)
317              ilog(L_NOTICE, "No response from %s, closing link",
318                   get_client_name(client_p, HIDE_IP));
319            }
320 +
321            ircsprintf(scratch, "Ping timeout: %d seconds",
322                       (int)(CurrentTime - client_p->lasttime));
322
323            exit_client(client_p, &me, scratch);
324          }
325          else if (!IsPingWarning(client_p) && pingwarn > 0 &&
# Line 363 | Line 363 | check_unknowns_list(void)
363      if (client_p->localClient->reject_delay > 0)
364      {
365        if (client_p->localClient->reject_delay <= CurrentTime)
366 <        exit_client(client_p, &me, "Rejected");
366 >        exit_client(client_p, &me, "Rejected");
367        continue;
368      }
369  
370 <    /* Check UNKNOWN connections - if they have been in this state
370 >    /*
371 >     * Check UNKNOWN connections - if they have been in this state
372       * for > 30s, close them.
373       */
374 <    if (client_p->firsttime ? ((CurrentTime - client_p->firsttime) > 30) : 0)
375 <      exit_client(client_p, &me, "Connection timed out");
374 >    if (IsAuthFinished(client_p) && (CurrentTime - client_p->firsttime) > 30)
375 >      exit_client(client_p, &me, "Registration timed out");
376    }
377   }
378  
# Line 1397 | Line 1398 | change_local_nick(struct Client *client_
1398       (IsOper(source_p) && ConfigFileEntry.no_oper_flood))
1399    {
1400      if (irccmp(source_p->name, nick))
1401 +    {
1402 +      /*
1403 +       * Make sure everyone that has this client on its accept list
1404 +       * loses that reference.
1405 +       */
1406 +      del_all_their_accepts(source_p);
1407        source_p->tsinfo = CurrentTime;
1408 +    }
1409  
1410      /* XXX - the format of this notice should eventually be changed
1411       * to either %s[%s@%s], or even better would be get_client_name() -bill
# Line 1407 | Line 1415 | change_local_nick(struct Client *client_
1415      sendto_common_channels_local(source_p, 1, ":%s!%s@%s NICK :%s",
1416                                   source_p->name, source_p->username,
1417                                   source_p->host, nick);
1410
1418      add_history(source_p, 1);
1419 <          
1420 <         /* Only hubs care about lazy link nicks not being sent on yet
1421 <           * lazylink leafs/leafs always send their nicks up to hub,
1422 <           * hence must always propagate nick changes.
1423 <           * hubs might not propagate a nick change, if the leaf
1424 <           * does not know about that client yet.
1425 <           */
1419 >
1420 >    /*
1421 >     * Only hubs care about lazy link nicks not being sent on yet
1422 >     * lazylink leafs/leafs always send their nicks up to hub,
1423 >     * hence must always propagate nick changes.
1424 >     * hubs might not propagate a nick change, if the leaf
1425 >     * does not know about that client yet.
1426 >     */
1427      sendto_server(client_p, source_p, NULL, CAP_TS6, NOCAPS, NOFLAGS,
1428                    ":%s NICK %s :%lu",
1429                    ID(source_p), nick, (unsigned long)source_p->tsinfo);
# Line 1438 | Line 1446 | change_local_nick(struct Client *client_
1446    strcpy(source_p->name, nick);
1447    hash_add_client(source_p);
1448  
1441  /* Make sure everyone that has this client on its accept list
1442   * loses that reference.
1443   */
1444  del_all_their_accepts(source_p);
1445
1449    /* fd_desc is long enough */
1450    fd_note(&client_p->localClient->fd, "Nick: %s", nick);
1451   }

Diff Legend

Removed lines
+ Added lines
< Changed lines (old)
> Changed lines (new)