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 |