Thread: [srvx-commits] CVS: services/src chanserv.c,1.279,1.280
Brought to you by:
entrope
|
From: Entrope <en...@us...> - 2002-09-08 04:26:30
|
Update of /cvsroot/srvx/services/src
In directory usw-pr-cvs1:/tmp/cvs-serv17300/src
Modified Files:
chanserv.c
Log Message:
make !noregister search correctly (remove separate, undocumented, !noregisters command)
Index: chanserv.c
===================================================================
RCS file: /cvsroot/srvx/services/src/chanserv.c,v
retrieving revision 1.279
retrieving revision 1.280
diff -C2 -r1.279 -r1.280
*** chanserv.c 5 Sep 2002 17:55:05 -0000 1.279
--- chanserv.c 8 Sep 2002 04:26:27 -0000 1.280
***************
*** 1608,1687 ****
static CHANSERV_FUNC(cmd_noregister)
{
! const char *target = NULL, *reason;
! unsigned int arg = 1;
!
! if(IsCSChannelName(argv[1]) || (*argv[1] == '*'))
! {
! REQUIRE_PARAMS(3);
!
! target = argv[1];
! arg = 2;
! }
! else if(channel)
! {
! target = channel->name;
! }
! else
! {
! chanserv_notice(user, CSMSG_NOT_DNR, argv[1]);
! return 0;
! }
!
! reason = unsplit_string(argv + arg, argc - arg, NULL);
! if((*target == '*') && !get_handle_info(target + 1))
! {
! chanserv_notice(user, MSG_HANDLE_UNKNOWN, target + 1);
! return 0;
! }
!
! chanserv_add_dnr(target, user->handle_info->handle, reason);
! chanserv_notice(user, CSMSG_NOREGISTER_CHANNEL, target);
!
! return 1;
! }
!
! static CHANSERV_FUNC(cmd_noregisters)
! {
struct do_not_register *dnr;
- (void)argc;
! if((dnr = chanserv_is_dnr(argv[1], 0)))
! {
! chanserv_notice(user, CSMSG_DNR_INFO, dnr->chan_name, dnr->setter, dnr->reason);
! }
! else
{
- unsigned int matches = 0;
dict_iterator_t it;
! chanserv_notice(user, MSG_SEARCH_RESULTS, "do-not-registers");
! for (it = dict_first(handle_dnrs); it; it = iter_next(it))
{
- if(!match_ircglob(iter_key(it), argv[1]))
- {
- continue;
- }
dnr = iter_data(it);
! chanserv_notice(user, CSMSG_DNR_INFO, dnr->chan_name, dnr->setter, dnr->reason);
matches++;
}
! for (it = dict_first(plain_dnrs); it; it = iter_next(it))
{
- if(!match_ircglob(iter_key(it), argv[1]))
- {
- continue;
- }
dnr = iter_data(it);
! chanserv_notice(user, CSMSG_DNR_INFO, dnr->chan_name, dnr->setter, dnr->reason);
matches++;
}
! for (it = dict_first(mask_dnrs); it; it = iter_next(it))
{
- if(!match_ircglobs(argv[1], iter_key(it)))
- {
- continue;
- }
dnr = iter_data(it);
! chanserv_notice(user, CSMSG_DNR_INFO, dnr->chan_name, dnr->setter, dnr->reason);
matches++;
}
--- 1608,1636 ----
static CHANSERV_FUNC(cmd_noregister)
{
! const char *target;
struct do_not_register *dnr;
! if(argc < 2)
{
dict_iterator_t it;
+ unsigned int matches = 0;
! reply(MSG_SEARCH_RESULTS, "do-not-registers");
! for(it = dict_first(handle_dnrs); it; it = iter_next(it))
{
dnr = iter_data(it);
! reply(CSMSG_DNR_INFO, dnr->chan_name, dnr->setter, dnr->reason);
matches++;
}
! for(it = dict_first(plain_dnrs); it; it = iter_next(it))
{
dnr = iter_data(it);
! reply(CSMSG_DNR_INFO, dnr->chan_name, dnr->setter, dnr->reason);
matches++;
}
! for(it = dict_first(mask_dnrs); it; it = iter_next(it))
{
dnr = iter_data(it);
! reply(CSMSG_DNR_INFO, dnr->chan_name, dnr->setter, dnr->reason);
matches++;
}
***************
*** 1689,1701 ****
if(matches)
{
! chanserv_notice(user, MSG_MATCH_COUNT, matches);
}
else
{
! chanserv_notice(user, MSG_NO_MATCHES);
}
}
! return 1;
}
--- 1638,1681 ----
if(matches)
{
! reply(MSG_MATCH_COUNT, matches);
}
else
{
! reply(MSG_NO_MATCHES);
}
+ return 0;
}
! if(IsCSChannelName(argv[1]) || (*argv[1] == '*'))
! {
! target = argv[1];
!
! if (argc > 2)
! {
! const char *reason = unsplit_string(argv + 2, argc - 2, NULL);
! if((*target == '*') && !get_handle_info(target + 1))
! {
! reply(MSG_HANDLE_UNKNOWN, target + 1);
! return 0;
! }
! chanserv_add_dnr(target, user->handle_info->handle, reason);
! reply(CSMSG_NOREGISTER_CHANNEL, target);
! return 1;
! }
!
! if((dnr = chanserv_is_dnr(target, NULL)))
! {
! reply(CSMSG_DNR_INFO, dnr->chan_name, dnr->setter, dnr->reason);
! }
! else
! {
! reply(MSG_SEARCH_RESULTS, "do-not-registers");
! reply(MSG_NO_MATCHES);
! }
! return 0;
! }
!
! reply(CSMSG_NOT_DNR, argv[1]);
! return 0;
}
***************
*** 6565,6568 ****
--- 6545,6553 ----
{
cNode = AddChannel(key, now, NULL, NULL, 0, NULL);
+ if(!cNode)
+ {
+ log(CS_LOG, LOG_ERROR, "Unable to create registered channel %s.\n", key);
+ return 0;
+ }
AddChannelUser(chanserv, cNode);
AddChannelOp(1, &chanserv, cNode, chanserv, 0);
***************
*** 6926,6931 ****
chanserv_module = module_register("ChanServ", CS_LOG, "chanserv.help", chanserv_expand_variable);
DEFINE_COMMAND(register, 1, MODCMD_REQUIRE_AUTHED, "account_flags", "+g", "flags", "+acceptchan", NULL);
! DEFINE_COMMAND(noregister, 2, MODCMD_REQUIRE_AUTHED, "account_flags", "+g", NULL);
! DEFINE_COMMAND(noregisters, 2, MODCMD_REQUIRE_AUTHED, "template", "noregister", NULL);
DEFINE_COMMAND(allowregister, 2, 0, "template", "noregister", NULL);
DEFINE_COMMAND(move, 2, MODCMD_REQUIRE_AUTHED|MODCMD_REQUIRE_REGCHAN, "template", "register", NULL);
--- 6911,6915 ----
chanserv_module = module_register("ChanServ", CS_LOG, "chanserv.help", chanserv_expand_variable);
DEFINE_COMMAND(register, 1, MODCMD_REQUIRE_AUTHED, "account_flags", "+g", "flags", "+acceptchan", NULL);
! DEFINE_COMMAND(noregister, 1, MODCMD_REQUIRE_AUTHED, "account_flags", "+g", NULL);
DEFINE_COMMAND(allowregister, 2, 0, "template", "noregister", NULL);
DEFINE_COMMAND(move, 2, MODCMD_REQUIRE_AUTHED|MODCMD_REQUIRE_REGCHAN, "template", "register", NULL);
|