Merge branch 'insp3' into master.

This commit is contained in:
Sadie Powell 2021-03-31 15:04:15 +01:00
commit 0194f799b9
14 changed files with 25 additions and 37 deletions

View File

@ -6,6 +6,7 @@
domain="torexit.dan.me.uk"
type="record"
records="100"
timeout="10s"
action="zline"
duration="7d"
reason="Tor exit nodes are not allowed on this network. See https://metrics.torproject.org/rs.html#search/%ip% for more information.">

View File

@ -165,7 +165,6 @@ class CoreExport Channel : public Extensible
/** Delete a user pointer to the internal reference list
* @param user The user to delete
* @return number of users left on the channel after deletion of the user
*/
void DelUser(User* user);

View File

@ -512,7 +512,6 @@ class CoreExport InspIRCd
/** Attempt to write the process id to a given file
* @param exitonfail If true and the PID fail cannot be written log to stdout and exit, otherwise only log on failure
* @return This function may bail if the file cannot be written
*/
void WritePID(bool exitonfail);

View File

@ -681,7 +681,7 @@ class CoreExport ModeParser
*
* host.name -> *!*\@host.name
*
* ident@host.name -> *!ident\@host.name
* ident\@host.name -> *!ident\@host.name
*
* This method can be used on both IPV4 and IPV6 user masks.
*/

View File

@ -51,7 +51,6 @@ class Away::EventListener
/** Called when a user wishes to mark themselves as back.
* @param user The user who is going away.
* @param message The away message that the user set.
* @return Either MOD_RES_ALLOW to allow the user to mark themself as back, MOD_RES_DENY to
* disallow the user to mark themself as back, or MOD_RES_PASSTHRU to let another module
* handle the event.

View File

@ -179,8 +179,8 @@ namespace DNS
/* Creator of this request */
Module* const creator;
Request(Manager* mgr, Module* mod, const std::string& addr, QueryType qt, bool usecache = true)
: Timer(ServerInstance->Config->ConfValue("dns")->getDuration("timeout", 5, 1))
Request(Manager* mgr, Module* mod, const std::string& addr, QueryType qt, bool usecache = true, unsigned int timeout = 0)
: Timer(timeout ? timeout : ServerInstance->Config->ConfValue("dns")->getDuration("timeout", 5, 1))
, manager(mgr)
, question(addr, qt)
, use_cache(usecache)
@ -194,12 +194,12 @@ namespace DNS
}
/** Called when this request succeeds
* @param r The query sent back from the nameserver
* @param req The query sent back from the nameserver
*/
virtual void OnLookupComplete(const Query* req) = 0;
/** Called when this request fails or times out.
* @param r The query sent back from the nameserver, check the error code.
* @param req The query sent back from the nameserver, check the error code.
*/
virtual void OnError(const Query* req) { }

View File

@ -186,17 +186,18 @@ class HTTPRequest
/** Initialize HTTPRequest.
* This constructor is called by m_httpd.so to initialize the class.
* @param request_type The request type, e.g. GET, POST, HEAD
* @param parsed_uri The URI which was requested by the client.
* @param hdr The headers sent with the request
* @param opaque An opaque pointer used internally by m_httpd, which you must pass back to the module in your reply.
* @param socket The server socket which this request came in via.
* @param ip The IP address making the web request.
* @param pdata The post data (content after headers) received with the request, up to Content-Length in size
*/
HTTPRequest(const std::string& request_type, const HTTPRequestURI& Parseduri,
HTTPHeaders* hdr, HttpServerSocket* socket, const std::string &ip, const std::string &pdata)
HTTPRequest(const std::string& request_type, const HTTPRequestURI& parsed_uri, HTTPHeaders* hdr,
HttpServerSocket* socket, const std::string& ip, const std::string& pdata)
: type(request_type)
, ipaddr(ip)
, postdata(pdata)
, parseduri(Parseduri)
, parseduri(parsed_uri)
, headers(hdr)
, sock(socket)
{

View File

@ -98,9 +98,9 @@ class SQL::Result : public Cullable
/**
* Check if there's a column with the specified name in the result
*
* @param the column name
* @param on success, this is the column index
* @returns true, or false if the column is not found
* @param column The column name.
* @param index The place to store the column index if it exists.
* @returns If the column exists then true; otherwise, false.
*/
virtual bool HasColumn(const std::string& column, size_t& index) = 0;
};

View File

@ -321,8 +321,6 @@ public:
* failure (for example, you try and enable
* epoll on a 2.4 linux kernel) then this
* function may bail back to the shell.
* @return void, but it is acceptable for this function to bail back to
* the shell or operating system on fatal error.
*/
static void Init();
@ -551,8 +549,6 @@ public:
* allows for the socket engine to re-create its handle
* after the daemon forks as the socket engine is created
* long BEFORE the daemon forks.
* @return void, but it is acceptable for this function to bail back to
* the shell or operating system on fatal error.
*/
static void RecoverFromFork();

View File

@ -28,10 +28,10 @@ namespace stdalgo
* Erase a single element from a vector by overwriting it with a copy of the last element,
* which is then removed. This, in contrast to vector::erase(), does not result in all
* elements after the erased element being moved.
* Returns nothing, but all iterators, references and pointers to the erased element and the
* last element are invalidated
* @param vect Vector to remove the element from
* @param it Iterator to the element to remove
* @return Nothing, but all iterators, references and pointers to the erased element and the
* last element are invalidated
*/
template <typename T>
inline void swaperase(typename std::vector<T>& vect, const typename std::vector<T>::iterator& it)

View File

@ -237,19 +237,19 @@ struct CoreExport ConnectClass
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;
@ -773,7 +773,6 @@ class CoreExport LocalUser : public User, public insp::intrusive_list_node<Local
/** Set the connect class to which this user belongs to.
* @param explicit_name Set this string to tie the user to a specific class name. Otherwise, the class is fitted by checking \<connect> tags from the configuration file.
* @return A reference to this user's current connect class.
*/
void SetClass(const std::string &explicit_name = "");

View File

@ -284,7 +284,7 @@ class DataKeeper
/** Restore all modes and extensions of all members on a channel
* @param chan Channel whose members are being restored
* @param memberdata Data to restore
* @param memberdatalist Data to restore
* @param modechange Mode change to populate with prefix modes
*/
void RestoreMemberData(Channel* chan, const std::vector<ChanData::MemberData>& memberdatalist, Modes::ChangeList& modechange);

View File

@ -42,12 +42,14 @@ class DNSBLConfEntry
EnumType type;
unsigned long duration;
unsigned int bitmask;
unsigned int timeout;
unsigned char records[256];
unsigned long stats_hits, stats_misses, stats_errors;
DNSBLConfEntry()
: type(A_BITMASK)
, duration(86400)
, bitmask(0)
, timeout(0)
, stats_hits(0)
, stats_misses(0)
, stats_errors(0)
@ -69,7 +71,7 @@ class DNSBLResolver : public DNS::Request
public:
DNSBLResolver(DNS::Manager *mgr, Module *me, StringExtItem& match, IntExtItem& ctr, const std::string &hostname, LocalUser* u, std::shared_ptr<DNSBLConfEntry> conf)
: DNS::Request(mgr, me, hostname, DNS::QUERY_A, true)
: DNS::Request(mgr, me, hostname, DNS::QUERY_A, true, conf->timeout)
, theirsa(u->client_sa)
, theiruid(u->uuid)
, nameExt(match)
@ -335,6 +337,7 @@ class ModuleDNSBL : public Module, public Stats::EventListener
e->host = tag->getString("host");
e->reason = tag->getString("reason", "Your IP has been blacklisted.", 1);
e->domain = tag->getString("domain");
e->timeout = tag->getDuration("timeout", 0);
if (stdalgo::string::equalsci(tag->getString("type"), "bitmask"))
{

View File

@ -37,15 +37,6 @@ static bool added_zline = false;
class RLine : public XLine
{
public:
/** Create a R-line.
* @param s_time The set time
* @param d The duration of the xline
* @param src The sender of the xline
* @param re The reason of the xline
* @param regex Pattern to match with
* @
*/
RLine(time_t s_time, unsigned long d, const std::string& src, const std::string& re, const std::string& regexs, Regex::EngineReference& rxfactory)
: XLine(s_time, d, src, re, "R")
, matchtext(regexs)