summaryrefslogtreecommitdiff
path: root/src/modules/m_permchannels.cpp
AgeCommit message (Collapse)Author
2014-05-08Fix m_permchannels and m_xline_db on WindowsAdam
The call to remove() can fail if the database doesn't already exist. Just ignore the error, which effectively makes the rename() call below work as it does on nix
2013-09-15Work around STB_GNU_UNIQUE symbols not allowing module unmapattilamolnar
2013-08-28m_permchannels Fix empty topic setbyattilamolnar
2013-08-27m_permchannels Add the ability to save listmodesattilamolnar
2013-08-27m_permchannels Save channel TS, topic set time and set by informationattilamolnar
When loading, ignore and log channels with a name longer than Limits.MaxChan
2013-08-27m_permchannels Construct the final line that will be saved in a std::string ↵attilamolnar
in WriteDatabase()
2013-04-21m_permchannels Workaround for alphabetical module initialization orderattilamolnar
Read database after all modules have been inited Add exception logging Fixes #485 reported by @gholms
2013-03-20m_permchannels Load channels from the config only at module load time and ↵attilamolnar
only when there are no linked servers to avoid desync
2012-12-02Dynamically determine the size of the eventlist[] passed to Attach()attilamolnar
m_sqlauth was attached to I_OnUserDisconnect but didn't provide a handler for it, remove
2012-10-27Issue #346 - fix m_permchannels.cpp and m_xline_db.cpp saving their ↵Adam
databases on Windows due to rename() failing if the destination file exists
2012-04-19Replace copyright headers with headers granting specific authors copyrightRobby-
2010-02-28Fix misspellingdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12572 e03df62e-2008-0410-955e-edbf42e46eb7
2010-02-23Add a short message at the top of permchannel DB, and ensure config format ↵danieldg
is compat git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12544 e03df62e-2008-0410-955e-edbf42e46eb7
2010-02-16Delete 0-user permanent channels that are being set -Pdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12475 e03df62e-2008-0410-955e-edbf42e46eb7
2010-02-12Fix compilationdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12447 e03df62e-2008-0410-955e-edbf42e46eb7
2010-02-12Write out the permchannels database on a timer, not on every mode changedanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12446 e03df62e-2008-0410-955e-edbf42e46eb7
2010-02-01Mark +P mode as oper-only now that it no longer requires an explicit ↵danieldg
permission string git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12343 e03df62e-2008-0410-955e-edbf42e46eb7
2010-01-31Remove duplicated permisison check for setting mode +P (it is already ↵danieldg
restricted in allowed chanmodes) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12338 e03df62e-2008-0410-955e-edbf42e46eb7
2010-01-19Clean up some slow iterationsdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12300 e03df62e-2008-0410-955e-edbf42e46eb7
2010-01-15Remove VF_COMMON from mode-provider modules (no longer needed due to better ↵danieldg
CAPAB checking) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12263 e03df62e-2008-0410-955e-edbf42e46eb7
2010-01-11...because every now and again, i have to do a massive commit.brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12248 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-25Fixes from vtable cross-checkdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11977 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-20Fix interaction of m_permchannels post-cull and channel empty-by-quit that ↵danieldg
causes leaked channels git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11933 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-19Valgrind now runs completely clean.danieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11916 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-17Remove dummy API_VERSION from Version constructordanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11887 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-08Add names for all modes (part 1 of named channel mode list)danieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11809 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-05Run DelMode and DelModeWatcher in RemoveModuledanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11799 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-26Change IS_FAKE and CheckTimeStamp to IS_SERVER and ResolveModeConflict to ↵danieldg
clarify their use git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11765 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-26Remove InspIRCd* parameters and fieldsdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11763 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-22Describe module purpose in /MODULES outputdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11757 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-15Fix quoting in permchannels DB, discovered by jackmcbarn (could result in ↵danieldg
command execution) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11726 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-14Introduce "X" snomask for remote *:line messages [patch by jackmcbarn]danieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11721 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-13Remove redundant ServerInstance* fieldsdanieldg
It has been impossible to have more than one InspIRCd* object in the same address space for some time now, and this feature was never used. This formalizes class InspIRCd as a singleton object. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11703 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-13Simplify ModeHandler constructordanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11701 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-05Utilise OnRawMode and OnPostTopicChange hooks to write a dynamic conf of ↵w00t
permchannels tags to a configurable location, so it's just a matter of <include file="../bin/permchannels.conf"> or something. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11679 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-02ModResult conversion: Change return type of all module functionsdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11634 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-02Remove "servermode" parameter, replace with IS_FAKE() which is more reliabledanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11633 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-02Add Module* creator to Command and ModeHandlerdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11631 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-02Remove empty permanent channels when m_permchannels is unloadeddanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11624 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-02Change allocation of commands/modesdanieldg
API change: Commands passed to AddCommand are no longer deleted automatically This removes lots of needless heap allocation and fixes a few memory leaks by allocating commands and modes as part of the Module rather than creating them separately in the module constructor. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11592 e03df62e-2008-0410-955e-edbf42e46eb7
2009-05-24OnRehash changes: split to multiple hooks to clarify use and prevent ↵danieldg
explosion of rehashes on a /REHASH * git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11388 e03df62e-2008-0410-955e-edbf42e46eb7
2009-04-09If you're going to add magical number hacks, please comment them ↵w00t
appropriately to reduce future maintenence burden. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11297 e03df62e-2008-0410-955e-edbf42e46eb7
2009-04-08Set topic timestamp on newly created channels to a dummy value to work ↵danieldg
around bug #739 without protocol changes git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11292 e03df62e-2008-0410-955e-edbf42e46eb7
2009-03-15Update all wiki links to point to the new wiki. This was done automatically ↵psychon
with the following command, only .Makefile.inc got some indent fixups by hand. for file in $(find -type f -and -not -path '*/.svn/*' -and -not -name '*.so') ; do sed -e 's#http://www.inspircd.org/wiki#http://wiki.inspircd.org#' -e 's#http://wiki.inspircd.org/index.php/#http://wiki.inspircd.org/#' -i $file ; done git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11223 e03df62e-2008-0410-955e-edbf42e46eb7
2009-01-02Update copyrights for 2009.w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10932 e03df62e-2008-0410-955e-edbf42e46eb7
2008-12-24Return ERR_NOPRIVILEGES for +P without channels/set-permanent priv.w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10908 e03df62e-2008-0410-955e-edbf42e46eb7
2008-12-20Readd check for +P setting to channels/set-permanent priv, thanks Johannes13 ↵w00t
- naughty Namegduf for patching this out :) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10901 e03df62e-2008-0410-955e-edbf42e46eb7
2008-10-23Revert earlier time() -> SI->Time() diff for now, this causes problems with ↵w00t
dns.cpp in mysterious ways.. seemingly a bad pointer there somehow..? git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10695 e03df62e-2008-0410-955e-edbf42e46eb7
2008-10-23Add/document channels/set-permanent priv, and tie setting of +P to it.w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10692 e03df62e-2008-0410-955e-edbf42e46eb7
2008-09-29Make topic optional for permanent channels tags.w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10610 e03df62e-2008-0410-955e-edbf42e46eb7