summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ReadFile.cmake1
-rw-r--r--docs/Changes3
-rw-r--r--docs/Changes.conf4
-rw-r--r--docs/Changes.lang4
-rw-r--r--docs/TODO76
-rw-r--r--include/configreader.h14
-rw-r--r--include/services.h2
-rw-r--r--src/config.c5
-rw-r--r--src/core/cs_access.c3
-rw-r--r--src/hostserv.c6
-rw-r--r--src/modes.cpp5
-rw-r--r--src/users.c14
-rw-r--r--version.log4
13 files changed, 63 insertions, 78 deletions
diff --git a/ReadFile.cmake b/ReadFile.cmake
index 205764d01..be60f1fa7 100644
--- a/ReadFile.cmake
+++ b/ReadFile.cmake
@@ -3,4 +3,3 @@
file(READ "${FILE}" RESULT)
message("${RESULT}")
-
diff --git a/docs/Changes b/docs/Changes
index 17b91ebd6..0e9cca93d 100644
--- a/docs/Changes
+++ b/docs/Changes
@@ -1,3 +1,6 @@
+Anope Version 1.9.3
+--------------------
+
Anope Version 1.9.2
--------------------
A K alias to chanserv kick command
diff --git a/docs/Changes.conf b/docs/Changes.conf
index de91d3808..5420f66fd 100644
--- a/docs/Changes.conf
+++ b/docs/Changes.conf
@@ -1,3 +1,7 @@
+Anope Version 1.9.3
+-------------------
+
+
Anope Version 1.9.2
--------------------
** ADDED CONFIGURATION DIRECTIVES **
diff --git a/docs/Changes.lang b/docs/Changes.lang
index 65240fa6a..ea711a609 100644
--- a/docs/Changes.lang
+++ b/docs/Changes.lang
@@ -1,3 +1,7 @@
+Anope Version 1.9.3
+-------------------
+
+
Anope Version 1.9.2
--------------------
*** New Strings:
diff --git a/docs/TODO b/docs/TODO
index 8fb8a8b3a..d7d461bbf 100644
--- a/docs/TODO
+++ b/docs/TODO
@@ -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
+ [ ] 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
------
-[ ] 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?)
-[ ] 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.
[?] 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)
diff --git a/include/configreader.h b/include/configreader.h
index c6dbbefb8..7015eab99 100644
--- a/include/configreader.h
+++ b/include/configreader.h
@@ -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
diff --git a/include/services.h b/include/services.h
index a38c8a207..2741e0178 100644
--- a/include/services.h
+++ b/include/services.h
@@ -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
**/
diff --git a/src/config.c b/src/config.c
index 6216a6afc..1846edfe5 100644
--- a/src/config.c
+++ b/src/config.c
@@ -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;
diff --git a/src/core/cs_access.c b/src/core/cs_access.c
index fdca01dfd..bc68c8c58 100644
--- a/src/core/cs_access.c
+++ b/src/core/cs_access.c
@@ -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);
}
diff --git a/src/hostserv.c b/src/hostserv.c
index 262bf30b0..53ccd57da 100644
--- a/src/hostserv.c
+++ b/src/hostserv.c
@@ -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());
diff --git a/src/modes.cpp b/src/modes.cpp
index 4f5879846..5350fcce0 100644
--- a/src/modes.cpp
+++ b/src/modes.cpp
@@ -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;
}
diff --git a/src/users.c b/src/users.c
index 4ff223ee6..8614a6beb 100644
--- a/src/users.c
+++ b/src/users.c
@@ -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;
diff --git a/version.log b/version.log
index 63d59f885..9b131cefa 100644
--- a/version.log
+++ b/version.log
@@ -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"