Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 17 additions & 2 deletions Makefile.in
Original file line number Diff line number Diff line change
Expand Up @@ -601,8 +601,8 @@ am__libcservice_la_SOURCES_DIST = mod.cservice/banMatcher.cc \
mod.cservice/SUSPENDMECommand.cc mod.cservice/TOPICCommand.cc \
mod.cservice/UNBANCommand.cc mod.cservice/UNFORCECommand.cc \
mod.cservice/UNSUSPENDCommand.cc mod.cservice/VERIFYCommand.cc \
mod.cservice/VOICECommand.cc mod.cservice/WHITELISTCommand.cc \
mod.cservice/MODECommand.cc
mod.cservice/VOICECommand.cc mod.cservice/WCommand.cc \
mod.cservice/WHITELISTCommand.cc mod.cservice/MODECommand.cc
@COND_MODCSERVICE_TRUE@am_libcservice_la_OBJECTS = mod.cservice/libcservice_la-banMatcher.lo \
@COND_MODCSERVICE_TRUE@ mod.cservice/libcservice_la-cservice.lo \
@COND_MODCSERVICE_TRUE@ mod.cservice/libcservice_la-cservice_crypt.lo \
Expand Down Expand Up @@ -670,6 +670,7 @@ am__libcservice_la_SOURCES_DIST = mod.cservice/banMatcher.cc \
@COND_MODCSERVICE_TRUE@ mod.cservice/libcservice_la-UNSUSPENDCommand.lo \
@COND_MODCSERVICE_TRUE@ mod.cservice/libcservice_la-VERIFYCommand.lo \
@COND_MODCSERVICE_TRUE@ mod.cservice/libcservice_la-VOICECommand.lo \
@COND_MODCSERVICE_TRUE@ mod.cservice/libcservice_la-WCommand.lo \
@COND_MODCSERVICE_TRUE@ mod.cservice/libcservice_la-WHITELISTCommand.lo \
@COND_MODCSERVICE_TRUE@ mod.cservice/libcservice_la-MODECommand.lo
libcservice_la_OBJECTS = $(am_libcservice_la_OBJECTS)
Expand Down Expand Up @@ -1180,6 +1181,7 @@ am__depfiles_remade = db/$(DEPDIR)/libgnuworldDB_la-gnuworldDB.Plo \
mod.cservice/$(DEPDIR)/libcservice_la-UNSUSPENDCommand.Plo \
mod.cservice/$(DEPDIR)/libcservice_la-VERIFYCommand.Plo \
mod.cservice/$(DEPDIR)/libcservice_la-VOICECommand.Plo \
mod.cservice/$(DEPDIR)/libcservice_la-WCommand.Plo \
mod.cservice/$(DEPDIR)/libcservice_la-WHITELISTCommand.Plo \
mod.cservice/$(DEPDIR)/libcservice_la-banMatcher.Plo \
mod.cservice/$(DEPDIR)/libcservice_la-csGline.Plo \
Expand Down Expand Up @@ -2060,6 +2062,7 @@ gnuworld_LDADD = libgnuworld.la libgnuworldcore.la $(LIBLTDL)
@COND_MODCSERVICE_TRUE@ mod.cservice/UNSUSPENDCommand.cc \
@COND_MODCSERVICE_TRUE@ mod.cservice/VERIFYCommand.cc \
@COND_MODCSERVICE_TRUE@ mod.cservice/VOICECommand.cc \
@COND_MODCSERVICE_TRUE@ mod.cservice/WCommand.cc \
@COND_MODCSERVICE_TRUE@ mod.cservice/WHITELISTCommand.cc \
@COND_MODCSERVICE_TRUE@ mod.cservice/MODECommand.cc

Expand Down Expand Up @@ -2956,6 +2959,8 @@ mod.cservice/libcservice_la-VERIFYCommand.lo: \
mod.cservice/libcservice_la-VOICECommand.lo: \
mod.cservice/$(am__dirstamp) \
mod.cservice/$(DEPDIR)/$(am__dirstamp)
mod.cservice/libcservice_la-WCommand.lo: mod.cservice/$(am__dirstamp) \
mod.cservice/$(DEPDIR)/$(am__dirstamp)
mod.cservice/libcservice_la-WHITELISTCommand.lo: \
mod.cservice/$(am__dirstamp) \
mod.cservice/$(DEPDIR)/$(am__dirstamp)
Expand Down Expand Up @@ -3665,6 +3670,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@mod.cservice/$(DEPDIR)/libcservice_la-UNSUSPENDCommand.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@mod.cservice/$(DEPDIR)/libcservice_la-VERIFYCommand.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@mod.cservice/$(DEPDIR)/libcservice_la-VOICECommand.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@mod.cservice/$(DEPDIR)/libcservice_la-WCommand.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@mod.cservice/$(DEPDIR)/libcservice_la-WHITELISTCommand.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@mod.cservice/$(DEPDIR)/libcservice_la-banMatcher.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@mod.cservice/$(DEPDIR)/libcservice_la-csGline.Plo@am__quote@ # am--include-marker
Expand Down Expand Up @@ -5197,6 +5203,13 @@ mod.cservice/libcservice_la-VOICECommand.lo: mod.cservice/VOICECommand.cc
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcservice_la_CXXFLAGS) $(CXXFLAGS) -c -o mod.cservice/libcservice_la-VOICECommand.lo `test -f 'mod.cservice/VOICECommand.cc' || echo '$(srcdir)/'`mod.cservice/VOICECommand.cc

mod.cservice/libcservice_la-WCommand.lo: mod.cservice/WCommand.cc
@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcservice_la_CXXFLAGS) $(CXXFLAGS) -MT mod.cservice/libcservice_la-WCommand.lo -MD -MP -MF mod.cservice/$(DEPDIR)/libcservice_la-WCommand.Tpo -c -o mod.cservice/libcservice_la-WCommand.lo `test -f 'mod.cservice/WCommand.cc' || echo '$(srcdir)/'`mod.cservice/WCommand.cc
@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) mod.cservice/$(DEPDIR)/libcservice_la-WCommand.Tpo mod.cservice/$(DEPDIR)/libcservice_la-WCommand.Plo
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='mod.cservice/WCommand.cc' object='mod.cservice/libcservice_la-WCommand.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcservice_la_CXXFLAGS) $(CXXFLAGS) -c -o mod.cservice/libcservice_la-WCommand.lo `test -f 'mod.cservice/WCommand.cc' || echo '$(srcdir)/'`mod.cservice/WCommand.cc

mod.cservice/libcservice_la-WHITELISTCommand.lo: mod.cservice/WHITELISTCommand.cc
@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcservice_la_CXXFLAGS) $(CXXFLAGS) -MT mod.cservice/libcservice_la-WHITELISTCommand.lo -MD -MP -MF mod.cservice/$(DEPDIR)/libcservice_la-WHITELISTCommand.Tpo -c -o mod.cservice/libcservice_la-WHITELISTCommand.lo `test -f 'mod.cservice/WHITELISTCommand.cc' || echo '$(srcdir)/'`mod.cservice/WHITELISTCommand.cc
@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) mod.cservice/$(DEPDIR)/libcservice_la-WHITELISTCommand.Tpo mod.cservice/$(DEPDIR)/libcservice_la-WHITELISTCommand.Plo
Expand Down Expand Up @@ -6853,6 +6866,7 @@ distclean: distclean-recursive
-rm -f mod.cservice/$(DEPDIR)/libcservice_la-UNSUSPENDCommand.Plo
-rm -f mod.cservice/$(DEPDIR)/libcservice_la-VERIFYCommand.Plo
-rm -f mod.cservice/$(DEPDIR)/libcservice_la-VOICECommand.Plo
-rm -f mod.cservice/$(DEPDIR)/libcservice_la-WCommand.Plo
-rm -f mod.cservice/$(DEPDIR)/libcservice_la-WHITELISTCommand.Plo
-rm -f mod.cservice/$(DEPDIR)/libcservice_la-banMatcher.Plo
-rm -f mod.cservice/$(DEPDIR)/libcservice_la-csGline.Plo
Expand Down Expand Up @@ -7230,6 +7244,7 @@ maintainer-clean: maintainer-clean-recursive
-rm -f mod.cservice/$(DEPDIR)/libcservice_la-UNSUSPENDCommand.Plo
-rm -f mod.cservice/$(DEPDIR)/libcservice_la-VERIFYCommand.Plo
-rm -f mod.cservice/$(DEPDIR)/libcservice_la-VOICECommand.Plo
-rm -f mod.cservice/$(DEPDIR)/libcservice_la-WCommand.Plo
-rm -f mod.cservice/$(DEPDIR)/libcservice_la-WHITELISTCommand.Plo
-rm -f mod.cservice/$(DEPDIR)/libcservice_la-banMatcher.Plo
-rm -f mod.cservice/$(DEPDIR)/libcservice_la-csGline.Plo
Expand Down
10 changes: 9 additions & 1 deletion bin/cservice.example.conf
Original file line number Diff line number Diff line change
Expand Up @@ -400,6 +400,14 @@ max_fingerprints = 10
# Timeout for a SASL authentication session (in seconds)
sasl_timeout = 30

#
# This is used if X/W (2002 edition) is linked to the network.
# This feature was brought during the 30th anniversary of CService in 2025.
# To enable this feature, define THERETURN_ENABLED in cservice_config.h
#
w_server = channels2.gnuworld.org
w_nick = W

#
# Optional settings to enable Pushover notifications.
# To use this, you need to create an application on Pushover
Expand All @@ -420,4 +428,4 @@ pushover_enable = no

prometheus_enable = no
# prometheus_ip = 127.0.0.1
# prometheus_port = 9091
# prometheus_port = 9091
2 changes: 1 addition & 1 deletion libgnuworld/match.cc
Original file line number Diff line number Diff line change
Expand Up @@ -1054,7 +1054,7 @@ int mmexec(const char* wcm, int wminlen, const char* rcm, int rminlen) {
// return 1;
//
// /* If passed, we deal only with the hostip part, and because match() handles cidr
//addresses too
// addresses too
// * our matching is complete.
// */
// if (match(extractHostIP(mask), extractHostIP(address)) == 0)
Expand Down
2 changes: 1 addition & 1 deletion mod.ccontrol/LIMITSCommand.cc
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ bool LIMITSCommand::Exec(iClient* theClient, const string& Message) {
"SYNTAX: ADDISP <name> <max connections> <clones cidr> [abuse email]");
// bot->Notice(theClient, "-f: forcecount - use it if you want limits to still be
// enforced even if the netblocks" " of this isp are not the closest match for a
//client"); bot->Notice(theClient, "-i: inactive - deactivates glines and does not
// client"); bot->Notice(theClient, "-i: inactive - deactivates glines and does not
// prevent new clients from connecting using iauth. It does reports only.");
return true;
}
Expand Down
3 changes: 2 additions & 1 deletion mod.ccontrol/ccontrol.cc
Original file line number Diff line number Diff line change
Expand Up @@ -909,7 +909,8 @@ void ccontrol::OnServerMessage(iServer* Server, const string& Message, bool) {
tmpServer->setLagTime(lagTime);
tmpServer->setLastLagRecv(::time(0));
// if ((lagTime > MAX_LAG_TIME) && ((::time(0) - tmpServer->getLastLagReport()) >
// LAG_REPORT_INTERVAL)) { tmpServer->setLastLagReport(::time(0)); MsgChanLag("[lag] %s is
// LAG_REPORT_INTERVAL)) { tmpServer->setLastLagReport(::time(0));
// MsgChanLag("[lag] %s is
//%ds lagged", Server->getName().c_str(), (int) (lagTime / 1000));
// }
}
Expand Down
1 change: 1 addition & 0 deletions mod.cservice/Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,7 @@ libcservice_la_SOURCES = \
mod.cservice/UNSUSPENDCommand.cc \
mod.cservice/VERIFYCommand.cc \
mod.cservice/VOICECommand.cc \
mod.cservice/WCommand.cc \
mod.cservice/WHITELISTCommand.cc \
mod.cservice/MODECommand.cc

Expand Down
9 changes: 9 additions & 0 deletions mod.cservice/PURGECommand.cc
Original file line number Diff line number Diff line change
Expand Up @@ -97,6 +97,15 @@ bool PURGECommand::Exec(iClient* theClient, const string& Message) {
return false;
}

#ifdef THERETURN_ENABLED
/* Don't purge a channel registered with W. */
if (theChan->hasW()) {
bot->Notice(theClient, "This channel is registered with %s. Use /msg X W PURGE %s first",
bot->getConfwNickName().c_str(), theChan->getName().c_str());
return false;
}
#endif

bool reop;
string reason;

Expand Down
13 changes: 13 additions & 0 deletions mod.cservice/STATUSCommand.cc
Original file line number Diff line number Diff line change
Expand Up @@ -129,6 +129,19 @@ bool STATUSCommand::Exec(iClient* theClient, const string& Message) {
bot->Notice(theClient, "I'm \002not\002 in this channel.");
}

#ifdef THERETURN_ENABLED
if (theChan->hasW()) {
bot->Notice(theClient, "The channel is also registered with %s.",
bot->getConfwNickName().c_str());
}

if (!theChan->hasW() && theChan->getWTS() > 0 && admLevel > 500) {
bot->Notice(theClient, "The channel was purged with %s on %s",
bot->getConfwNickName().c_str(),
prettyTime(theChan->getWTS()).c_str());
}
#endif

bot->Notice(theClient, "MassDeopPro: %i", theChan->getMassDeopPro());

string flagsSet;
Expand Down
Loading