2 * +W snomask: Displays if a local user has done a WHOIS request on you.
3 * derived from spy_whois_notice.c.
5 * If #define OPERONLY is removed, then any user can use this snomask
6 * (you need to put ~servnotice in oper_only_umodes for this to work).
16 /* undefine this to allow anyone to receive whois notifications */
19 static const char sno_desc
[] =
20 "Adds server notice mask +W that allows "
26 " to receive notices for when a WHOIS has been done on them";
28 void show_whois(hook_data_client
*);
30 mapi_hfn_list_av1 whois_hfnlist
[] = {
31 {"doing_whois", (hookfn
) show_whois
},
32 {"doing_whois_global", (hookfn
) show_whois
},
39 snomask_modes
['W'] = find_snomask_slot();
47 snomask_modes
['W'] = 0;
50 DECLARE_MODULE_AV2(sno_whois
, init
, fini
, NULL
, NULL
, whois_hfnlist
, NULL
, NULL
, sno_desc
);
53 show_whois(hook_data_client
*data
)
55 struct Client
*source_p
= data
->client
;
56 struct Client
*target_p
= data
->target
;
58 if(MyClient(target_p
) &&
62 (source_p
!= target_p
) &&
63 (target_p
->snomask
& snomask_modes
['W']))
65 sendto_one_notice(target_p
,
66 ":*** Notice -- %s (%s@%s) is doing a whois on you [%s]",
68 source_p
->username
, source_p
->host
,
69 source_p
->servptr
->name
);