| 41 |
|
#include "sprintf_irc.h" |
| 42 |
|
#include "memory.h" |
| 43 |
|
#include "modules.h" |
| 44 |
< |
#include "s_serv.h" /* for CAP_LL / IsCapable */ |
| 44 |
> |
#include "s_serv.h" |
| 45 |
|
#include "hostmask.h" |
| 46 |
|
#include "send.h" |
| 47 |
|
#include "listener.h" |
| 229 |
|
%token KLINE_WITH_REASON |
| 230 |
|
%token KNOCK_DELAY |
| 231 |
|
%token KNOCK_DELAY_CHANNEL |
| 232 |
– |
%token LAZYLINK |
| 232 |
|
%token LEAF_MASK |
| 233 |
|
%token LINKS_DELAY |
| 234 |
|
%token LISTEN |
| 748 |
|
{ |
| 749 |
|
if (yylval.number) |
| 750 |
|
{ |
| 751 |
< |
/* Don't become a hub if we have a lazylink active. */ |
| 752 |
< |
if (!ServerInfo.hub && uplink && IsCapable(uplink, CAP_LL)) |
| 753 |
< |
{ |
| 755 |
< |
sendto_realops_flags(UMODE_ALL, L_ALL, |
| 756 |
< |
"Ignoring config file line hub=yes; " |
| 757 |
< |
"due to active LazyLink (%s)", uplink->name); |
| 758 |
< |
} |
| 759 |
< |
else |
| 760 |
< |
{ |
| 761 |
< |
ServerInfo.hub = 1; |
| 762 |
< |
uplink = NULL; |
| 763 |
< |
delete_capability("HUB"); |
| 764 |
< |
add_capability("HUB", CAP_HUB, 1); |
| 765 |
< |
} |
| 751 |
> |
ServerInfo.hub = 1; |
| 752 |
> |
delete_capability("HUB"); |
| 753 |
> |
add_capability("HUB", CAP_HUB, 1); |
| 754 |
|
} |
| 755 |
|
else if (ServerInfo.hub) |
| 756 |
|
{ |
| 769 |
– |
dlink_node *ptr = NULL; |
| 757 |
|
|
| 758 |
|
ServerInfo.hub = 0; |
| 759 |
|
delete_capability("HUB"); |
| 773 |
– |
|
| 774 |
– |
/* Don't become a leaf if we have a lazylink active. */ |
| 775 |
– |
DLINK_FOREACH(ptr, serv_list.head) |
| 776 |
– |
{ |
| 777 |
– |
const struct Client *acptr = ptr->data; |
| 778 |
– |
if (MyConnect(acptr) && IsCapable(acptr, CAP_LL)) |
| 779 |
– |
{ |
| 780 |
– |
sendto_realops_flags(UMODE_ALL, L_ALL, |
| 781 |
– |
"Ignoring config file line hub=no; " |
| 782 |
– |
"due to active LazyLink (%s)", |
| 783 |
– |
acptr->name); |
| 784 |
– |
add_capability("HUB", CAP_HUB, 1); |
| 785 |
– |
ServerInfo.hub = 1; |
| 786 |
– |
break; |
| 787 |
– |
} |
| 788 |
– |
} |
| 760 |
|
} |
| 761 |
|
} |
| 762 |
|
}; |
| 2664 |
|
connect_flags_item: NOT { not_atom = 1; } connect_flags_item_atom |
| 2665 |
|
| { not_atom = 0; } connect_flags_item_atom; |
| 2666 |
|
|
| 2667 |
< |
connect_flags_item_atom: LAZYLINK |
| 2697 |
< |
{ |
| 2698 |
< |
if (ypass == 2) |
| 2699 |
< |
{ |
| 2700 |
< |
if (not_atom)ClearConfLazyLink(yy_aconf); |
| 2701 |
< |
else SetConfLazyLink(yy_aconf); |
| 2702 |
< |
} |
| 2703 |
< |
} | COMPRESSED |
| 2667 |
> |
connect_flags_item_atom: COMPRESSED |
| 2668 |
|
{ |
| 2669 |
|
if (ypass == 2) |
| 2670 |
|
#ifndef HAVE_LIBZ |