mirror of
https://github.com/inspircd/inspircd.git
synced 2025-03-09 18:49:03 -04:00
Merge branch 'insp3' into master.
This commit is contained in:
commit
0194f799b9
@ -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.">
|
||||
|
@ -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);
|
||||
|
||||
|
@ -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);
|
||||
|
||||
|
@ -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.
|
||||
*/
|
||||
|
@ -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.
|
||||
|
@ -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) { }
|
||||
|
||||
|
@ -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)
|
||||
{
|
||||
|
@ -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;
|
||||
};
|
||||
|
@ -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();
|
||||
|
||||
|
@ -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)
|
||||
|
@ -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 = "");
|
||||
|
||||
|
@ -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);
|
||||
|
@ -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"))
|
||||
{
|
||||
|
@ -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)
|
||||
|
Loading…
x
Reference in New Issue
Block a user