646 Commits

Author SHA1 Message Date
brain
0a7f4a545c Improvements
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3614 e03df62e-2008-0410-955e-edbf42e46eb7
2006-03-10 00:25:34 +00:00
om
98ebe62da8 More const references, this is nearly it apart from the module API..
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3608 e03df62e-2008-0410-955e-edbf42e46eb7
2006-03-09 23:04:01 +00:00
om
4ac0ccc06c Convert more by-values to const references, optimise ConfigReader a bit
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3606 e03df62e-2008-0410-955e-edbf42e46eb7
2006-03-09 21:58:54 +00:00
om
4fa0251cfb Changing by-value parameters to const references
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3605 e03df62e-2008-0410-955e-edbf42e46eb7
2006-03-09 21:11:50 +00:00
brain
0cf08426b2 Speedups
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3602 e03df62e-2008-0410-955e-edbf42e46eb7
2006-03-09 20:16:43 +00:00
brain
7a3d08f06c Tidyup to pass some stuff by reference (much faster, no copy involved)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3601 e03df62e-2008-0410-955e-edbf42e46eb7
2006-03-09 20:11:07 +00:00
brain
23101be0f2 UM_WALLOPS had value 3 which was a combination of UM_SERVERNOTICE and UM_INVISIBLE :/
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3591 e03df62e-2008-0410-955e-edbf42e46eb7
2006-03-09 14:18:33 +00:00
brain
c330b24501 Added userrec::modebits - fast way of checking if user has +swi rather than an icky strchr
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3588 e03df62e-2008-0410-955e-edbf42e46eb7
2006-03-09 13:21:35 +00:00
brain
c2a5839bcb Probably wont compile yet - purge_empty_channels refactor
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3579 e03df62e-2008-0410-955e-edbf42e46eb7
2006-03-09 11:24:30 +00:00
brain
33df390bff Removed deprecated Server::IsOnChannel (was a C++-ish wrapper to the C-ish has_channel, no longer needed)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3562 e03df62e-2008-0410-955e-edbf42e46eb7
2006-03-08 23:26:30 +00:00
brain
798a7139ab Fixed externs
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3561 e03df62e-2008-0410-955e-edbf42e46eb7
2006-03-08 23:21:59 +00:00
brain
aaf5226111 Removed has_channel(userrec*,chanrec*), the new preferred way of doing it is channel->HasUser(userrec)
Yeah its the other way around to the old way, but somehow, seems less backwards to me (its also faster)


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3560 e03df62e-2008-0410-955e-edbf42e46eb7
2006-03-08 23:16:18 +00:00
brain
ec97c162f8 Removed declarations of ancient and misspelled functions :/
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3559 e03df62e-2008-0410-955e-edbf42e46eb7
2006-03-08 21:34:11 +00:00
brain
6b2c5f92c4 cmode was declared here too - declaration removed.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3558 e03df62e-2008-0410-955e-edbf42e46eb7
2006-03-08 21:17:38 +00:00
brain
689c27adfd cmode now returns const char* as it returns a pointer to a literal string and shouldnt be messed with
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3557 e03df62e-2008-0410-955e-edbf42e46eb7
2006-03-08 21:16:05 +00:00
brain
21cf60233c Got rid of all that ugly char* cast crap (todo: change docs to reflect change)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3556 e03df62e-2008-0410-955e-edbf42e46eb7
2006-03-08 18:59:55 +00:00
brain
b2f5fc1e32 Fixed #defines to be enums (tidier)
Removed UCMODE_PROTECT/UCMODE_FOUNDER


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3555 e03df62e-2008-0410-955e-edbf42e46eb7
2006-03-08 18:25:51 +00:00
brain
bd155d5308 Actually, 64.
(256-64-128) = 64 chars printable alphabet (roughly)


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3552 e03df62e-2008-0410-955e-edbf42e46eb7
2006-03-08 13:06:07 +00:00
brain
76174ede1d chanrec::custom_modes only needs 96 values not 190
(256 - 32 - 128)


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3551 e03df62e-2008-0410-955e-edbf42e46eb7
2006-03-08 13:05:07 +00:00
brain
9ea4af047d *TEST* Server::DumpText - Dump a *stringstream* to a user with a std::string prefix, splitting at 512 boundaries.
Much more useful than cannibalizing a specialized function


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3535 e03df62e-2008-0410-955e-edbf42e46eb7
2006-03-07 23:07:47 +00:00
brain
4f1945d30b Made split_chlist available for external use from commands.h
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3533 e03df62e-2008-0410-955e-edbf42e46eb7
2006-03-07 22:25:34 +00:00
brain
003fa072fc Safety checking (a really really clever trick btw) in CullList, to make sure that the user we're removing IS the user that was marked for deletion X seconds ago, even if the user has since quit, to be replaced by another unfortunate wretch who was given the same pointer address (eeep)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3529 e03df62e-2008-0410-955e-edbf42e46eb7
2006-03-07 20:21:54 +00:00
brain
1e639377cb Whowas refactor - probably wont compile yet
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3523 e03df62e-2008-0410-955e-edbf42e46eb7
2006-03-07 19:11:50 +00:00
brain
85f9d57f0f Tweaks to socket engine, faster buffer flush and hopefully more stable
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3521 e03df62e-2008-0410-955e-edbf42e46eb7
2006-03-07 18:00:45 +00:00
brain
53f280ed2e Check for write errors in inspsocket (this is probably causing excessive cpu use when we have a large buffer to flush but a write error has occured (which we missed))
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3518 e03df62e-2008-0410-955e-edbf42e46eb7
2006-03-07 17:32:55 +00:00
brain
6fef928da8 *TEST CODE* Faster custom mode set/unset
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3508 e03df62e-2008-0410-955e-edbf42e46eb7
2006-03-07 10:58:56 +00:00
brain
0d6245e271 No need to be inline in the include
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3502 e03df62e-2008-0410-955e-edbf42e46eb7
2006-03-07 01:21:16 +00:00
brain
480be29a95 Tidied GetMaxBans to leave the ConfigReader subsystem alone
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3491 e03df62e-2008-0410-955e-edbf42e46eb7
2006-03-06 10:44:42 +00:00
brain
02359de340 Tidied up give/take methods
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3482 e03df62e-2008-0410-955e-edbf42e46eb7
2006-03-06 01:51:11 +00:00
brain
eb067467de Mode-code rewrite. Might act weird, needs proper testing (that is what svn builds are for, after all)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3474 e03df62e-2008-0410-955e-edbf42e46eb7
2006-03-06 00:29:02 +00:00
brain
aa223a7d91 Sped up introduction of nicks using vector::resize() rather than the craq++ loop (wtf was i thinking doing it that way?)
Removed 'client connecting notices dont show locally during burst' -- this is silly as it doesnt work remotely and is pretty much pointless


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3460 e03df62e-2008-0410-955e-edbf42e46eb7
2006-03-05 00:08:48 +00:00
brain
c3b861b250 Added IS_SINGLE, see comment in include/inspircd.h
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3438 e03df62e-2008-0410-955e-edbf42e46eb7
2006-03-02 19:34:57 +00:00
brain
4927edc5fb *UNTESTED* speeding up HasPermission by factor of hundreds, avoid using EnumConf and ConfValue outside of rehash *AT ALL*
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3430 e03df62e-2008-0410-955e-edbf42e46eb7
2006-03-02 17:19:49 +00:00
brain
17ca73f1f2 is_uline was an inefficient piece of crap - fixed.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3428 e03df62e-2008-0410-955e-edbf42e46eb7
2006-03-02 16:48:00 +00:00
brain
af0f219afc Made host fields more correct 64 in length with 63 copies
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3425 e03df62e-2008-0410-955e-edbf42e46eb7
2006-03-02 13:34:04 +00:00
brain
4c6fb8032b Made extensive use of charlcat to cut down on strlcat usage
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3417 e03df62e-2008-0410-955e-edbf42e46eb7
2006-03-02 12:00:57 +00:00
brain
99f6009b2d Added charlcat which appends a single char to a char* string (range checked)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3416 e03df62e-2008-0410-955e-edbf42e46eb7
2006-03-02 11:45:38 +00:00
brain
18c757067c Changed definition of CallHandler and CallCommandHandler for the ability to return false on bad command.
This allows us to terminate server links that send commands we dont know (e.g. admin loads module A after linking, we dont have module A, when it sends module A's command, abort)


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3414 e03df62e-2008-0410-955e-edbf42e46eb7
2006-03-02 09:57:48 +00:00
brain
c215eff073 BanHiding
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3384 e03df62e-2008-0410-955e-edbf42e46eb7
2006-02-28 19:33:42 +00:00
brain
b477cc1c34 Made it safe to quits and nickchanges
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3379 e03df62e-2008-0410-955e-edbf42e46eb7
2006-02-28 12:07:03 +00:00
om
7e918919b0 Add comment stressing the importance of certain elements of this file
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3377 e03df62e-2008-0410-955e-edbf42e46eb7
2006-02-27 17:29:04 +00:00
brain
080a9f5d24 Test two
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3362 e03df62e-2008-0410-955e-edbf42e46eb7
2006-02-27 10:22:10 +00:00
brain
747ae4b7a5 Constant eating 20% cpu since last nights commit - test fix
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3361 e03df62e-2008-0410-955e-edbf42e46eb7
2006-02-27 10:13:22 +00:00
brain
65d0d4fb36 Moved the contents of the mainloop into a function called InspIRCd::DoOneIteration().
We can then use this to 'yield' if incoming server text is taking too long to process


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3342 e03df62e-2008-0410-955e-edbf42e46eb7
2006-02-26 19:53:25 +00:00
om
a168cf04da Nothing to see here, nothing, at all.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3316 e03df62e-2008-0410-955e-edbf42e46eb7
2006-02-24 01:02:27 +00:00
brain
991bc1d3cf Look-behind for missed timers up to 2 minutes (if your ircd has hung for 2 minutes, or your clock drift is > 2 mins, you have bigger fish to fry, like dead network or TS split)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3310 e03df62e-2008-0410-955e-edbf42e46eb7
2006-02-23 20:35:52 +00:00
brain
8c2bd7cc63 Moved timer stuff from OnBackgroundTimer to InspTimer derivative
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3305 e03df62e-2008-0410-955e-edbf42e46eb7
2006-02-23 20:00:02 +00:00
brain
aca9acf422 Fixed to work
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3302 e03df62e-2008-0410-955e-edbf42e46eb7
2006-02-23 19:46:43 +00:00
brain
7907a1f1cc Incorporating InspTimer into safelist as a test
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3301 e03df62e-2008-0410-955e-edbf42e46eb7
2006-02-23 19:39:38 +00:00
brain
6279a01bf5 Fixes
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3300 e03df62e-2008-0410-955e-edbf42e46eb7
2006-02-23 19:13:30 +00:00