X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=include%2Fusers.h;h=8045d57050c5d56ff670e27f7aae466ebec11146;hb=952ee5cc603a5231348b8cfab18ee85a097f5394;hp=b3afed688296004c0026da1841c1a85caad4ce84;hpb=3ed1cc27b13fc8790b99f97c49cf8167236afe03;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/include/users.h b/include/users.h index b3afed688..8045d5705 100644 --- a/include/users.h +++ b/include/users.h @@ -1,21 +1,22 @@ /* * InspIRCd -- Internet Relay Chat Daemon * + * Copyright (C) 2019-2020 Matt Schatz * Copyright (C) 2019 linuxdaemon - * Copyright (C) 2019 Matt Schatz * Copyright (C) 2013 Daniel Vassdal * Copyright (C) 2012-2016, 2018 Attila Molnar - * Copyright (C) 2012-2013, 2016-2019 Sadie Powell - * Copyright (C) 2012, 2018-2019 Robby + * Copyright (C) 2012-2013, 2016-2020 Sadie Powell + * Copyright (C) 2012, 2019 Robby * Copyright (C) 2012 DjSlash * Copyright (C) 2012 ChrisTX + * Copyright (C) 2011 jackmcbarn * Copyright (C) 2009-2010 Daniel De Graaf * Copyright (C) 2009 Uli Schlachter * Copyright (C) 2008 Thomas Stagner * Copyright (C) 2008 John Brooks - * Copyright (C) 2007-2009 Robin Burchell * Copyright (C) 2007, 2009 Dennis Friis - * Copyright (C) 2006-2008 Craig Edwards + * Copyright (C) 2006-2009 Robin Burchell + * Copyright (C) 2003-2008 Craig Edwards * * 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 @@ -70,7 +71,7 @@ enum UserType { USERTYPE_SERVER = 3 }; -/** Holds information relevent to <connect allow> and <connect deny> tags in the config file. +/** Holds information relevant to <connect allow> and <connect deny> tags in the config file. */ struct CoreExport ConnectClass : public refcountbase { @@ -90,10 +91,12 @@ struct CoreExport ConnectClass : public refcountbase */ unsigned int registration_timeout; - /** Host mask for this line - */ + /** Hosts that this user can connect from as a string. */ std::string host; + /** Hosts that this user can connect from as a vector. */ + std::vector hosts; + /** Number of seconds between pings for this line */ unsigned int pingtime; @@ -165,8 +168,9 @@ struct CoreExport ConnectClass : public refcountbase /** Update the settings in this block to match the given block */ void Update(const ConnectClass* newSettings); - const std::string& GetName() { return name; } - const std::string& GetHost() { return host; } + const std::string& GetName() const { return name; } + const std::string& GetHost() const { return host; } + const std::vector& GetHosts() const { return hosts; } /** Returns the registration timeout */ @@ -239,19 +243,19 @@ struct CoreExport ConnectClass : public refcountbase class CoreExport User : public Extensible { private: - /** Cached nick!ident@dhost value using the displayed hostname + /** Cached nick!ident\@dhost value using the displayed hostname */ std::string cached_fullhost; - /** Cached ident@ip value using the real IP address + /** Cached ident\@ip value using the real IP address */ std::string cached_hostip; - /** Cached ident@realhost value using the real hostname + /** Cached ident\@realhost value using the real hostname */ std::string cached_makehost; - /** Cached nick!ident@realhost value using the real hostname + /** Cached nick!ident\@realhost value using the real hostname */ std::string cached_fullrealhost; @@ -361,7 +365,7 @@ class CoreExport User : public Extensible /** If this is set to true, then all socket operations for the user * are dropped into the bit-bucket. - * This value is set by QuitUser, and is not needed seperately from that call. + * This value is set by QuitUser, and is not needed separately from that call. * Please note that setting this value alone will NOT cause the user to quit. */ unsigned int quitting:1; @@ -846,7 +850,6 @@ class CoreExport LocalUser : public User, public insp::intrusive_list_node tags from the configuration file. - * @return A reference to this user's current connect class. */ void SetClass(const std::string &explicit_name = "");