2 * invex_regonly.c Allow invite exemptions to bypass registered-only (+r)
11 static void h_can_join(void *);
13 mapi_hfn_list_av1 invex_regonly_hfnlist
[] = {
14 { "can_join", h_can_join
},
18 DECLARE_MODULE_AV1(invex_regonly
, NULL
, NULL
, NULL
, NULL
, invex_regonly_hfnlist
, "$Revision$");
21 h_can_join(void *data_
)
23 hook_data_channel
*data
= data_
;
24 struct Client
*source_p
= data
->client
;
25 struct Channel
*chptr
= data
->chptr
;
26 struct Ban
*invex
= NULL
;
30 if(data
->approved
!= ERR_NEEDREGGEDNICK
)
32 if(!ConfigChannel
.use_invex
)
35 matchset_for_client(source_p
, &ms
);
37 RB_DLINK_FOREACH(ptr
, chptr
->invexlist
.head
)
40 if (matches_mask(&ms
, invex
->banstr
) ||
41 match_extban(invex
->banstr
, source_p
, chptr
, CHFL_INVEX
))