X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=include%2Fconfigreader.h;h=5a775a016eb1f6c4ba386495ad0cc29083b881ed;hb=6fcbfc072387752ec345d7589e986b9959f350fc;hp=511bedbee2618ecfb42977844d4455aed4096939;hpb=87b1461e2a4710a38b32186c2582da9fe9bb3804;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/include/configreader.h b/include/configreader.h index 511bedbee..5a775a016 100644 --- a/include/configreader.h +++ b/include/configreader.h @@ -1,11 +1,17 @@ /* * InspIRCd -- Internet Relay Chat Daemon * - * Copyright (C) 2009 Daniel De Graaf - * Copyright (C) 2007, 2009 Dennis Friis - * Copyright (C) 2006-2008 Craig Edwards - * Copyright (C) 2006-2008 Robin Burchell - * Copyright (C) 2006 Oliver Lupton + * Copyright (C) 2019 Matt Schatz + * Copyright (C) 2018 Chris Novakovic + * Copyright (C) 2013-2014, 2016 Attila Molnar + * Copyright (C) 2013 Daniel Vassdal + * Copyright (C) 2012-2014, 2016-2019 Sadie Powell + * Copyright (C) 2012, 2019 Robby + * Copyright (C) 2009-2010 Daniel De Graaf + * Copyright (C) 2008 Thomas Stagner + * Copyright (C) 2007-2008 Robin Burchell + * Copyright (C) 2007-2008 Craig Edwards + * Copyright (C) 2007 Dennis Friis * * This file is part of InspIRCd. InspIRCd is free software: you can * redistribute it and/or modify it under the terms of the GNU General Public @@ -160,12 +166,13 @@ struct CommandLineConf */ bool writepid; - /** Saved argc from startup - */ + /* Whether the --runasroot option was specified at boot. */ + bool runasroot; + + /** Saved argc from startup. */ int argc; - /** Saved argv from startup - */ + /** Saved argv from startup. */ char** argv; }; @@ -181,6 +188,9 @@ class CoreExport OperInfo : public refcountbase /** Allowed channel modes from oper classes. */ std::bitset<64> AllowedChanModes; + /** Allowed snomasks from oper classes. */ + std::bitset<64> AllowedSnomasks; + /** \ block used for this oper-up. May be NULL. */ reference oper_block; /** \ block used for this oper-up. Valid for local users, may be NULL on remote */ @@ -490,13 +500,23 @@ class CoreExport ConfigReaderThread : public Thread bool IsDone() { return done; } }; +/** Represents the status of a config load. */ class CoreExport ConfigStatus { public: + /** Whether this is the initial config load. */ + bool const initial; + + /** The user who initiated the config load or NULL if not initiated by a user. */ User* const srcuser; - ConfigStatus(User* user = NULL) - : srcuser(user) + /** Initializes a new instance of the ConfigStatus class. + * @param user The user who initiated the config load or NULL if not initiated by a user. + * @param isinitial Whether this is the initial config load. + */ + ConfigStatus(User* user = NULL, bool isinitial = false) + : initial(isinitial) + , srcuser(user) { } };