1
0
mirror of https://github.com/anope/anope.git synced 2026-07-04 07:23:13 +02:00

Merge svn with git

This commit is contained in:
Charles
2010-06-18 21:04:30 +01:00
13 changed files with 70 additions and 85 deletions
-1
View File
@@ -3,4 +3,3 @@
file(READ "${FILE}" RESULT)
message("${RESULT}")
+3
View File
@@ -1,3 +1,6 @@
Anope Version 1.9.3
--------------------
Anope Version 1.9.2
--------------------
A K alias to chanserv kick command
+4
View File
@@ -1,3 +1,7 @@
Anope Version 1.9.3
-------------------
Anope Version 1.9.2
--------------------
** ADDED CONFIGURATION DIRECTIVES **
+4
View File
@@ -1,3 +1,7 @@
Anope Version 1.9.3
-------------------
Anope Version 1.9.2
--------------------
*** New Strings:
+33 -57
View File
@@ -3,68 +3,45 @@ Legend:
? = unsure
+ = in progress
1.9.2
1.9.3
-----
[x] Redo database insanity.
[x] Move database load/save to a module
[x] realtime SQL/whatever module using events (possibly ongoing)
[x] flatfile save on a periodic timer
[x] SANE password encryption - prefix password with the method it was encrypted with, allowing for *seamless* upgrading to different methods
[x] Salted SHA256 (contact Special for this)
[x] New database format (text, not binary - works very well for merging and so on)
[x] generic database routines modules can use to create their own database
[?] IRCd capability support: don't rely on CAPAB, provide an interface to turn capabilities on specifically
[x] Socket subsystem needs some serious loving
[x] Multiple sockets
[x] Asynchronous, using select() (multiple engines? not really needed..)
[x] Callbacks, event style, see also inspircd
[x] generic way to check which modes a user has set (u->HasUmode(UMODE_OPER))
[x] way for one module to depend on another... not like 2 MOD_HEADs and it being unpredictable which is loaded first..
the MOD_HEAD MOD_TAIL allows for too few combinations (interface code of insp, hooks code of insp?)
[x] Last used time on AKICK/access entries
[x] Channel passwords seem to be of limited use, think of a more appropriate way to handle this
[+] General options block, ability to turn LOGCHAN on from the config file..
[x] Docs directory cleanup
[x] Fix permanent channels support properly
[x] CS SET INHABIT to keep pseudoclient in a channel after it empties to maintain banlists and such
[x] Set forbidden channels +s
[x] SendAkill should just take a pointer to the Akill class instead of millions of fields (same for some other stuff)
[x] burn do_sjoin with fire
[x] Channel access additions
[x] Setter
[x] Last used
Future
------
[ ] Asynchronous DNS
[ ] CIDR Akills, session exceptions, etc
[ ] Hashing system for storing just about everything needs to die
[ ] Move a (lot) of stuff to class members as a defined interface rather than copypasta everywhere (ns_set, ns_saset!)
[?] Remote identification (1.9.1? will this break stuff?)
[ ] Language charset stuff, including collation (1.9.1? phoenix?)
[ ] Add support for +k, +q, etc type umodes
[ ] fantasy: allow replies/notifications to fantasy commands to go to the channel via notice
[?] a way for a module to queue itself (or even another module) for unloading
[ ] Language system is disgusting, it must die.
[ ] Modules should also have a way to add strings programatically
[ ] Should be able to add many strings by dropping a file in a set location.
[ ] I forsee this working via a function rather than defines, as it seems to do now: e.g. _("NS_NICK_IS_REGISTERED").
[?] Update help to reflect the fact /msg memoserv set notify mail - works just fine ;)
[ ] Useful/common "third party" modules to core distro
[ ] NS AJOIN
[+] Method to store listmodes (more generically than AKICK, too) for e.g. +beI and extbans, etc.
[ ] Channel access additions
[ ] Time added
[ ] Time modified
[ ] Expiry (useful?)
[ ] Add in a subcommand system, ns_set, cs_set, etc.
[ ] Threading
[ ] Mail sending needs to be threaded
[ ] process_numlist needs to die
[ ] SList needs to die
[ ] SSL
[ ] Command handling system needs to die, strtok() needs to die more
[ ] Asynchronous DNS
[ ] CIDR Akills, session exceptions, etc
[ ] Hashing system for storing just about everything needs to die
[ ] Add support for +k, +q, etc type umodes
[ ] Language system is disgusting, it must die.
[ ] Modules should also have a way to add strings programatically
[ ] Should be able to add many strings by dropping a file in a set location.
[+] Method to store listmodes (more generically than AKICK, too) for e.g. +beI and extbans, etc.
[ ] Config bailing on /os reload needs to be non fatal
[ ] AutoID needs to be able to live through /os restart, current system is just annoying.
[ ] SQL tables need to changed to have references etc
[ ] MS IGNORE. Make it take nick (accounts) or n!u@h masks. Fake success of memo send still, but send to opers?
[ ] NS IDENTIFY changes
[?] Last failed identify? Maybe more useful for sopers only, so users don't get unnecessarily worried
[?] Last successful login time/ip? perhaps both of these should be a new nick setting
[ ] NS INFO: seperate field for last seen realhost, shown to SRA only
[ ] NS SUSPEND: show suspender and reason, probably to sopers only (see CS SUSPEND)
[ ] Merge NS INFO blah ALL with NS INFO blah, if you're requesting info, you really want the info anyway.
Future
------
[ ] Move a (lot) of stuff to class members as a defined interface rather than copypasta everywhere (ns_set, ns_saset!)
[?] Remote identification (1.9.1? will this break stuff?)
[ ] Language charset stuff, including collation (1.9.1? phoenix?)
[ ] fantasy: allow replies/notifications to fantasy commands to go to the channel via notice
[?] a way for a module to queue itself (or even another module) for unloading
[ ] Useful/common "third party" modules to core distro
[ ] NS AJOIN
[?] Don't allow soper accounts to expire
[?] Reason for CS SET RESTRICTED
[ ] NS IDENTIFY changes
[?] Last failed identify? Maybe more useful for sopers only, so users don't get unnecessarily worried
[?] Last successful login time/ip? perhaps both of these should be a new nick setting
[x] AKILL/SGLINE/etc..
[x] Setter
[x] Time added
@@ -74,7 +51,6 @@ Future
[ ] Unique IDs on each AKILL/blah so that networks may use them as ticket IDs
[ ] HS ACTIVATE -ALL (rob sez this all needs reviewing)
[?] NS MARK, CS MARK. Allow multiple marks. Combine into OS MARK? (AKA os_info)
[?] MS IGNORE. Make it take nick (accounts) or n!u@h masks. Fake success of memo send still, but send to opers?
[?] More "friendly" date displays of some things like registration time ("November 7th 2006 (2 years, 0 months, 0 days ago)")
[?] OS INJECT
[?] Drop CS SET ENTRYMSG, replace with a 'news' type system? (limited to a configured number of items, default 3)
+7 -7
View File
@@ -453,7 +453,7 @@ class ServerConfig
bool StrictPasswords;
/* How many times you're allowed to give a bad password before being killed */
unsigned BadPassLimit;
/* How long before bad passwords are forgotten */
/* How long before bad passwords are forgotten */
time_t BadPassTimeout;
/* Delay between automatic database updates */
time_t UpdateTimeout;
@@ -510,7 +510,7 @@ class ServerConfig
char *NSGuestNickPrefix;
/* Allow users to set kill immed on */
bool NSAllowKillImmed;
/* Don't allow nicks to use /ns group to regroup nicks */
/* Don't allow nicks to use /ns group to regroup nicks */
bool NSNoGroupChange;
/* Default flags for newly registered nicks */
Flags<NickCoreFlag> NSDefFlags;
@@ -579,9 +579,9 @@ class ServerConfig
unsigned MSMaxMemos;
/* Time you must wait between sending memos */
time_t MSSendDelay;
/* Notify all of the aliases of the core the memo was sent to */
/* Notify all of the aliases of the core the memo was sent to */
bool MSNotifyAll;
/* Who can use memos reciepts */
/* Who can use memos reciepts */
unsigned MSMemoReceipt;
/* Defai;t BotServ flags */
@@ -686,13 +686,13 @@ class ServerConfig
unsigned DefSessionLimit;
/* How long before exceptions expire */
time_t ExceptionExpiry;
/* How many times to kill before adding an KILL */
/* How many times to kill before adding an KILL */
int MaxSessionKill;
/* Max limit that can be used for exceptions */
unsigned MaxSessionLimit;
/* How long session akills should last */
time_t SessionAutoKillExpiry;
/* Reason to use for session kills */
/* Reason to use for session kills */
char *SessionLimitExceeded;
/* Optional second reason */
char *SessionLimitDetailsLoc;
@@ -776,7 +776,7 @@ class ConfigException : public CoreException
* Actually no, it does nothing. Never mind.
* @throws Nothing!
*/
virtual ~ConfigException() throw() { };
virtual ~ConfigException() throw() { }
};
#define CONF_NO_ERROR 0x000000
+1 -1
View File
@@ -456,7 +456,7 @@ class CoreExport HostInfo
* @param creator Who created the vhost
* @param time When the vhost was craated
*/
void SetVhost(const std::string &ident, const std::string &host, const std::string &creator, time_t time = time(NULL));
void SetVhost(const std::string &ident, const std::string &host, const std::string &creator, time_t created = time(NULL));
/** Remove a users vhost
**/
+3 -2
View File
@@ -1701,9 +1701,10 @@ int read_config(int reload)
/**
* Check all DEFCON dependiencies...
**/
if (Config.DefConLevel) {
if (Config.DefConLevel)
{
/* Build DefCon's */
DefCon.reserve(6);
DefCon.resize(6);
DefCon[5].reset();
for (unsigned int level = 1; level < 5; ++level) {
DefCon[level] = 0;
+2 -1
View File
@@ -88,7 +88,7 @@ static int access_view(User *u, int index, ChannelInfo *ci, int *sent_header)
if (!access || !access->in_use)
return 0;
if (!*sent_header)
{
notice_lang(Config.s_ChanServ, u, CHAN_ACCESS_LIST_HEADER, ci->name.c_str());
@@ -121,6 +121,7 @@ static int access_view_callback(User *u, int num, va_list args)
{
ChannelInfo *ci = va_arg(args, ChannelInfo *);
int *sent_header = va_arg(args, int *);
if (num < 1 || num > ci->GetAccessCount())
return 0;
return access_view(u, num - 1, ci, sent_header);
}
+3 -3
View File
@@ -111,12 +111,12 @@ void hostserv(User * u, char *buf)
* @param creator Who created the vhost
* @param time When the vhost was craated
*/
void HostInfo::SetVhost(const std::string &ident, const std::string &host, const std::string &creator, time_t time)
void HostInfo::SetVhost(const std::string &ident, const std::string &host, const std::string &creator, time_t created)
{
Ident = ident;
Host = host;
Creator = creator;
Time = time;
Time = created;
}
/** Remove a users vhost
@@ -197,7 +197,7 @@ void do_on_id(User *u)
NickAlias *na = findnick(u->nick);
if (!na || !na->hostinfo.HasVhost())
return;
if (!u->vhost || u->vhost != na->hostinfo.GetHost() || (!na->hostinfo.GetIdent().empty() && u->GetVIdent() != na->hostinfo.GetIdent()))
{
ircdproto->SendVhost(u, na->hostinfo.GetIdent(), na->hostinfo.GetHost());
+1 -4
View File
@@ -487,9 +487,6 @@ StackerInfo *ModeManager::GetInfo(void *Item)
return PItem.second;
}
tackerInfo *s = new StackerInfo;
StackerObjects.push_back(std::make_pair(Item, s));
return s;
}
/** Build a list of mode strings to send to the IRCd from the mode stacker
@@ -565,7 +562,7 @@ std::list<std::string> ModeManager::BuildModeStrings(StackerInfo *info)
if (!buf.empty())
ret.push_back(buf + parambuf);
return ret;
}
+7 -7
View File
@@ -243,12 +243,12 @@ User::~User()
if (is_oper(this))
opcnt--;
while (!this->chans.empty())
{
this->chans.front()->chan->DeleteUser(this);
}
if (this->prev)
this->prev->next = this->next;
else
@@ -460,7 +460,7 @@ void User::Logout()
{
if (!this->nc)
return;
std::list<User *>::iterator it = std::find(this->nc->Users.begin(), this->nc->Users.end(), this);
if (it != this->nc->Users.end())
{
@@ -492,7 +492,7 @@ const bool User::IsIdentified(bool CheckNick) const
{
return true;
}
return false;
}
@@ -955,7 +955,7 @@ User *do_nick(const char *source, const char *nick, const char *username, const
{
const char *logrealname = normalizeBuffer(user->realname);
Alog() << "LOGUSERS: " << user->nick << " (" << user->GetIdent() << "@" << user->host
<< (ircd->vhost ? " => " : "") << (ircd->vhost ? user->GetDisplayedHost() : "") << ") ("
<< (ircd->vhost ? " => " : "") << (ircd->vhost ? user->GetDisplayedHost() : "") << ") ("
<< logrealname << ") " << "changed nick to " << nick << " (" << user->server->name << ").";
if (logrealname)
delete [] logrealname;
@@ -1082,7 +1082,7 @@ void do_kill(const std::string &nick, const std::string &msg)
return;
}
Alog(LOG_DEBUG) << nick << " killed";
if ((na = findnick(user->nick)) && !na->HasFlag(NS_FORBIDDEN) && !na->nc->HasFlag(NI_SUSPENDED) && (user->IsRecognized() || user->IsIdentified(true)))
if ((na = findnick(user->nick)) && !na->HasFlag(NS_FORBIDDEN) && !na->nc->HasFlag(NI_SUSPENDED) && (user->IsRecognized() || user->IsIdentified(true)))
{
na->last_seen = time(NULL);
if (na->last_quit)
@@ -1267,7 +1267,7 @@ void UserSetInternalModes(User *user, int ac, const char **av)
Alog(LOG_DEBUG) << "Changing user modes for " << user->nick << " to " << merge_args(ac, av);
for (; *modes; *modes++)
for (; *modes; modes++)
{
UserMode *um;
+2 -2
View File
@@ -7,8 +7,8 @@
VERSION_MAJOR="1"
VERSION_MINOR="9"
VERSION_PATCH="2"
VERSION_EXTRA="-eats-children"
VERSION_PATCH="3"
VERSION_EXTRA="-tastes-good-on-toast"
VERSION_BUILD="0"