Merge branch 'insp3' into master.

This commit is contained in:
Sadie Powell 2021-05-22 06:39:47 +01:00
commit b08e70f0bf
4 changed files with 33 additions and 15 deletions

View File

@ -1,6 +1,6 @@
DOXYFILE_ENCODING = UTF-8
PROJECT_NAME = InspIRCd
PROJECT_NUMBER = 3.0
PROJECT_NUMBER = 4.0
PROJECT_BRIEF =
PROJECT_LOGO =
OUTPUT_DIRECTORY = docs/doxygen
@ -21,11 +21,11 @@ JAVADOC_AUTOBRIEF = NO
JAVADOC_BANNER = NO
QT_AUTOBRIEF = NO
MULTILINE_CPP_IS_BRIEF = NO
PYTHON_DOCSTRING = YES
INHERIT_DOCS = YES
SEPARATE_MEMBER_PAGES = NO
TAB_SIZE = 8
ALIASES =
TCL_SUBST =
OPTIMIZE_OUTPUT_FOR_C = NO
OPTIMIZE_OUTPUT_JAVA = NO
OPTIMIZE_FOR_FORTRAN = NO
@ -46,6 +46,7 @@ INLINE_GROUPED_CLASSES = NO
INLINE_SIMPLE_STRUCTS = NO
TYPEDEF_HIDES_STRUCT = NO
LOOKUP_CACHE_SIZE = 0
NUM_PROC_THREADS = 0
EXTRACT_ALL = NO
EXTRACT_PRIVATE = NO
EXTRACT_PRIV_VIRTUAL = NO
@ -54,6 +55,7 @@ EXTRACT_STATIC = NO
EXTRACT_LOCAL_CLASSES = YES
EXTRACT_LOCAL_METHODS = NO
EXTRACT_ANON_NSPACES = NO
RESOLVE_UNNAMED_PARAMS = YES
HIDE_UNDOC_MEMBERS = NO
HIDE_UNDOC_CLASSES = NO
HIDE_FRIEND_COMPOUNDS = NO
@ -122,8 +124,11 @@ REFERENCES_LINK_SOURCE = YES
SOURCE_TOOLTIPS = YES
USE_HTAGS = NO
VERBATIM_HEADERS = YES
CLANG_ASSISTED_PARSING = NO
CLANG_ADD_INC_PATHS = YES
CLANG_OPTIONS =
CLANG_DATABASE_PATH =
ALPHABETICAL_INDEX = YES
COLS_IN_ALPHA_INDEX = 5
IGNORE_PREFIX =
GENERATE_HTML = YES
HTML_OUTPUT = html
@ -140,7 +145,7 @@ HTML_TIMESTAMP = NO
HTML_DYNAMIC_MENUS = YES
HTML_DYNAMIC_SECTIONS = NO
HTML_INDEX_NUM_ENTRIES = 100
GENERATE_DOCSET = YES
GENERATE_DOCSET = NO
DOCSET_FEEDNAME = "Doxygen generated documentation"
DOCSET_BUNDLE_ID = org.doxygen.Project
DOCSET_PUBLISHER_ID = org.doxygen.Publisher
@ -167,8 +172,10 @@ GENERATE_TREEVIEW = NO
ENUM_VALUES_PER_LINE = 4
TREEVIEW_WIDTH = 250
EXT_LINKS_IN_WINDOW = NO
HTML_FORMULA_FORMAT = png
FORMULA_FONTSIZE = 10
FORMULA_TRANSPARENT = YES
FORMULA_MACROFILE =
USE_MATHJAX = NO
MATHJAX_FORMAT = HTML-CSS
MATHJAX_RELPATH = http://cdn.mathjax.org/mathjax/latest
@ -213,7 +220,7 @@ MAN_OUTPUT = man
MAN_EXTENSION = .3
MAN_SUBDIR =
MAN_LINKS = NO
GENERATE_XML = NO
GENERATE_XML = YES
XML_OUTPUT = xml
XML_PROGRAMLISTING = YES
XML_NS_MEMB_FILE_SCOPE = NO
@ -253,6 +260,8 @@ COLLABORATION_GRAPH = YES
GROUP_GRAPHS = YES
UML_LOOK = NO
UML_LIMIT_NUM_FIELDS = 10
DOT_UML_DETAILS = NO
DOT_WRAP_THRESHOLD = 17
TEMPLATE_RELATIONS = NO
INCLUDE_GRAPH = YES
INCLUDED_BY_GRAPH = YES

View File

@ -58,6 +58,7 @@ EXAPATH = "$(DESTDIR)@EXAMPLE_DIR@"
LOGPATH = "$(DESTDIR)@LOG_DIR@"
MANPATH = "$(DESTDIR)@MANUAL_DIR@"
MODPATH = "$(DESTDIR)@MODULE_DIR@"
RUNPATH = "$(DESTDIR)@RUNTIME_DIR@"
SCRPATH = "$(DESTDIR)@SCRIPT_DIR@"
INSTALL ?= install
@ -231,6 +232,7 @@ install: target
@-$(INSTALL) -d -g @GID@ -o @UID@ -m $(INSTMODE_DIR) $(LOGPATH)
@-$(INSTALL) -d -g @GID@ -o @UID@ -m $(INSTMODE_DIR) $(MANPATH)
@-$(INSTALL) -d -g @GID@ -o @UID@ -m $(INSTMODE_DIR) $(MODPATH)
@-$(INSTALL) -d -g @GID@ -o @UID@ -m $(INSTMODE_DIR) $(RUNPATH)
@-$(INSTALL) -d -g @GID@ -o @UID@ -m $(INSTMODE_DIR) $(SCRPATH)
-$(INSTALL) -g @GID@ -o @UID@ -m $(INSTMODE_BIN) "$(BUILDPATH)/bin/inspircd" $(BINPATH)
-$(INSTALL) -g @GID@ -o @UID@ -m $(INSTMODE_BIN) "$(BUILDPATH)/modules/"*.$(DLLEXT) $(MODPATH)

View File

@ -72,7 +72,7 @@ void LogManager::OpenFileLogs()
for (const auto& [_, tag] : ServerInstance->Config->ConfTags("log"))
{
std::string method = tag->getString("method");
const std::string method = tag->getString("method", "file", 1);
if (!stdalgo::string::equalsci(method, "file"))
{
continue;

View File

@ -26,17 +26,20 @@
#include "inspircd.h"
#include "modules/ctctags.h"
#include "modules/ircv3_servertime.h"
#include "modules/names.h"
class DelayJoinMode : public ModeHandler
{
private:
BoolExtItem& unjoined;
IntExtItem& unjoined;
IRCv3::ServerTime::API servertime;
public:
DelayJoinMode(Module* Parent, BoolExtItem& ext)
DelayJoinMode(Module* Parent, IntExtItem& ext)
: ModeHandler(Parent, "delayjoin", 'D', PARAM_NONE, MODETYPE_CHANNEL)
, unjoined(ext)
, servertime(Parent)
{
ranktoset = ranktounset = OP_VALUE;
}
@ -57,10 +60,10 @@ namespace
class JoinHook : public ClientProtocol::EventHook
{
private:
const BoolExtItem& unjoined;
const IntExtItem& unjoined;
public:
JoinHook(Module* mod, const BoolExtItem& unjoinedref)
JoinHook(Module* mod, const IntExtItem& unjoinedref)
: ClientProtocol::EventHook(mod, "JOIN", 10)
, unjoined(unjoinedref)
{
@ -85,7 +88,7 @@ class ModuleDelayJoin
, public Names::EventListener
{
public:
BoolExtItem unjoined;
IntExtItem unjoined;
JoinHook joinhook;
DelayJoinMode djm;
@ -155,7 +158,7 @@ static void populate(CUList& except, Membership* memb)
void ModuleDelayJoin::OnUserJoin(Membership* memb, bool sync, bool created, CUList& except)
{
if (memb->chan->IsModeSet(djm))
unjoined.Set(memb);
unjoined.Set(memb, ServerInstance->Time());
}
void ModuleDelayJoin::OnUserPart(Membership* memb, std::string &partmessage, CUList& except)
@ -209,16 +212,20 @@ void ModuleDelayJoin::OnUserMessage(User* user, const MessageTarget& target, con
void DelayJoinMode::RevealUser(User* user, Channel* chan)
{
Membership* memb = chan->GetUser(user);
if (!memb || !unjoined.Get(memb))
{
if (!memb)
return;
time_t jointime = unjoined.Get(memb);
if (!jointime)
return;
}
/* Display the join to everyone else (the user who joined got it earlier) */
unjoined.Unset(memb);
CUList except_list;
except_list.insert(user);
ClientProtocol::Events::Join joinevent(memb);
if (servertime)
servertime->Set(joinevent, jointime);
chan->Write(joinevent, 0, except_list);
}