CVS log for epic5/source/flood.c

Epicsol.org
(back) Up to [Epic CVS] / epic5 / source

Request diff between arbitrary revisions


Default branch: MAIN
Bookmark a link to: HEAD / (download)

Revision 1.27 / (view) - annotate - [select for diffs] , Fri Oct 13 20:58:02 2006 UTC (23 months, 4 weeks ago) by jnelson
Branch: MAIN
CVS Tags: epic5-0_3_9, epic5-0_3_8, epic5-0_3_7, epic5-0_3_6, epic5-0_3_5, epic5-0_3_4, epic5-0_3_3, epic5-0_3_2, HEAD
Changes since 1.26: +4 -4 lines
Diff to previous 1.26
This is the start of a major project to normalize the behavior of word
handling in built in functions.  The project involves stipulating that every
place that handles a "word list" define what a "word" is and use it
consistenly, and to output the same type of "words" that it accepts as
input.  This leverages /xdebug dword to control optional support for dwords
in many built in functions.

Revision 1.26 / (view) - annotate - [select for diffs] , Sun Oct 30 22:41:19 2005 UTC (2 years, 11 months ago) by jnelson
Branch: MAIN
CVS Tags: epic5-0_3_1, epic5-0_2_0, epic5-0_0_8
Changes since 1.25: +2 -2 lines
Diff to previous 1.25
* Switch users of LEVEL_CRAP to LEVEL_OTHER. yay!
* Whack some unused functions and decls, make *toa() funcs return const.
* Roll get_window_by_name() into get_window_by_desc(), it's only user.

Revision 1.25 / (view) - annotate - [select for diffs] , Thu Mar 3 02:22:11 2005 UTC (3 years, 7 months ago) by jnelson
Branch: MAIN
CVS Tags: epic5-0_0_7, epic5-0_0_6, epic5-0_0_5, epic5-0_0_4
Changes since 1.24: +2 -2 lines
Diff to previous 1.24
Fix more compiler warnings.

Revision 1.24 / (view) - annotate - [select for diffs] , Sun Jan 23 21:41:28 2005 UTC (3 years, 8 months ago) by jnelson
Branch: MAIN
CVS Tags: epic5-0_0_3
Changes since 1.23: +9 -6 lines
Diff to previous 1.23
* Hide ArgListT in alias.h to only those who need it, to save numbers.c
* Fix up a lot of compile warnings all over the place.
* Some changes to $hookctl() might need feedback from howl...
* Fix vhost support so we can do inbound sockets again.

Revision 1.23 / (view) - annotate - [select for diffs] , Tue Aug 17 15:09:46 2004 UTC (4 years, 1 month ago) by crazyed
Branch: MAIN
Changes since 1.22: +65 -10 lines
Diff to previous 1.22
* Numerous new and changed features as per UPDATES.
* Better handling of damaged /who x,y responses.

Revision 1.22 / (view) - annotate - [select for diffs] , Tue Jun 29 06:50:54 2004 UTC (4 years, 3 months ago) by crazyed
Branch: MAIN
Changes since 1.21: +2 -2 lines
Diff to previous 1.21
* Fixed a flood bug noticed by HSOC which causes the whole system to screw up.

Revision 1.21 / (view) - annotate - [select for diffs] , Mon Apr 12 23:19:48 2004 UTC (4 years, 6 months ago) by jnelson
Branch: MAIN
Changes since 1.20: +2 -1 lines
Diff to previous 1.20
* Move some defines from comands.h to where they belong
* Add and remove func decls in header files as necessary.
* Add /wait =<fd> which returns when a nonblocking dcc connection finishes
* Make all keybinding funcs/decls use the BUILT_IN_KEYBINDING macro.
* Make the BUILT_IN_KEYBINDING macro use unsigned chars.
* Hide (struct Key) inside keys.c, and use (void *) to hold state.
* Make the input line use (unsigned char), not (char), huzzah!
* Make the "othername" ($3 in /on dcc_raw "E") the port number.
* Avoid a NULL deref with "parse_command" keybinding.

Revision 1.20 / (view) - annotate - [select for diffs] , Mon Mar 15 03:24:51 2004 UTC (4 years, 6 months ago) by jnelson
Branch: MAIN
CVS Tags: epic5-0_0_2
Changes since 1.19: +2 -2 lines
Diff to previous 1.19
Well, at least it compiles again, but I think i still need at least one
or two sweeps of the code to make sure I got everything proper.

Revision 1.19 / (view) - annotate - [select for diffs] , Sat Mar 13 17:57:01 2004 UTC (4 years, 7 months ago) by jnelson
Branch: MAIN
Changes since 1.18: +9 -9 lines
Diff to previous 1.18
DOES NOT EVEN COMPILE DO NOT USE DOES NOT EVEN COMPILE DO NOT USE
DOES NOT EVEN COMPILE DO NOT USE DOES NOT EVEN COMPILE DO NOT USE
	More work in progress
DOES NOT EVEN COMPILE DO NOT USE DOES NOT EVEN COMPILE DO NOT USE
DOES NOT EVEN COMPILE DO NOT USE DOES NOT EVEN COMPILE DO NOT USE

Revision 1.18 / (view) - annotate - [select for diffs] , Fri Mar 12 22:22:00 2004 UTC (4 years, 7 months ago) by jnelson
Branch: MAIN
Changes since 1.17: +12 -12 lines
Diff to previous 1.17
*********** DONT RUN THIS -- IT'S WORK IN PROGRESS -- DONT RUN THIS ***********
* Import epic4 commits 674 through 692, inclusive.
* Import epic4 commits 693 through 710, inclusive (epic4-2.0 final)
* Change _X and _Y macros to LEVEL and LEVELMASK for linux (sigh)
* Add a searchbuf() 8 bit clean byte-finder for future use.
* Convert flood checking, ignore checking, lastlog, logfiles to int masks.
* Convert message_from to int masks.
*********** DONT RUN THIS -- IT'S WORK IN PROGRESS -- DONT RUN THIS ***********

Revision 1.17 / (view) - annotate - [select for diffs] , Tue Dec 16 23:25:45 2003 UTC (4 years, 9 months ago) by jnelson
Branch: MAIN
CVS Tags: epic5-0_0_1
Changes since 1.16: +10 -26 lines
Diff to previous 1.16
EPIC5-0.0.1!  Huzzah!

Revision 1.16 / (view) - annotate - [select for diffs] , Mon Dec 15 05:41:02 2003 UTC (4 years, 9 months ago) by jnelson
Branch: MAIN
Changes since 1.15: +4 -3 lines
Diff to previous 1.15
Make message_from() work off of a stack; use panics to guard against
unmatched message_from()s, and other wackiness.

Revision 1.15 / (view) - annotate - [select for diffs] , Tue Sep 23 20:49:47 2003 UTC (5 years ago) by jnelson
Branch: MAIN
CVS Tags: epic4-1_2_5, epic4-1_2_4, epic4-1_2_3, epic4-1_2_2, epic4-1_2_1, epic4-1_2_0, epic4-1_1_17, epic4-1_1_16, epic4-1_1_15, epic4-1_1_14, epic4-1_1_13
Changes since 1.14: +2 -2 lines
Diff to previous 1.14
* Revert all uses of LOG_CURRENT to LOG_CRAP
* Change all uses of message_to(0) to message_to(-1)
* Fix show_help() to not change to_window, it doesn't need to care about that.
* Fix help_put_it() to not change message_from, doesn't need to care about it.
* Fix /lastlog to use message_to(0) to send all output to current window.
* Don't make output of /log go to current window -- no point to that.
* Teach add_to_screen() to honor from_server's current window for LOG_CURRENT
* And for /set current_window_level as well
* Fix message_from() not to save/restore lastlog level, doesn't need to care.
* All of this pretty much nukes LOG_CURRENT except for /window, HUZZAH!

Revision 1.14 / (view) - annotate - [select for diffs] , Fri Sep 12 00:42:47 2003 UTC (5 years, 1 month ago) by jnelson
Branch: MAIN
Changes since 1.13: +2 -2 lines
Diff to previous 1.13
Commit 581
* Fix /dcc chat nick -p 4444
* Return empty string if you do $aliasctl(pmatch <bogus> <whatever>)
* Update some copyright notices.

Revision 1.13 / (view) - annotate - [select for diffs] , Thu Jul 10 12:08:56 2003 UTC (5 years, 3 months ago) by jnelson
Branch: MAIN
Changes since 1.12: +9 -9 lines
Diff to previous 1.12
Overhaul of malloced string handling functions:
* Convert m_[s]c3cat[_s]() to malloc_strcat_wordlist_c()
* Nix m_e3cat(), m_s3cat(), m_s3cat_s(), m_3cat()
* Nix m_ec3cat(), m_sc3cat(), m_sc3cat_s(), m_c3cat().
* Convert m_dupchar() to malloc_dupchar().
* Convert m_strndup() to malloc_strndup().
* Make malloc_strcpy/malloc_strcat/malloc_strcat2/malloc_strcat_wordlist macros
* Convert m_2dup() to malloc_strdup2().
* Convert m_3cat() to malloc_strcat2[_c]().
* Convert m_3dup() to malloc_strdup3().
* Convert m_ec3cat() to malloc_strcat2_c()
* Use strlcat_c() in $repeat() instead of strlcpy(). whee!
* Sanity check first arg to $regcomp(), to avoid crashes.
* Don't pass NULL to bsearch(), even if 'nmem' is 0 [$remws()]
* Nix the original malloc_strcpy (supplanted by malloc_strcpy_c)
* Comment out all the deprecated functions

Revision 1.12 / (view) - annotate - [select for diffs] , Fri May 9 03:29:52 2003 UTC (5 years, 5 months ago) by jnelson
Branch: MAIN
CVS Tags: epic4-1_1_12
Changes since 1.11: +3 -3 lines
Diff to previous 1.11
* Rename 'dcc()' to 'dcc_cmd()' so we can use dcc as variable
* Garbage collect unused 'irc_path' global variable.
* Add --with-warns to configure to do FreeBSD "WARNS" like compiler checks
* Many hundreds of changes to improve the "quality of code" in epic, including:
* - Treat all literal strings as (const char *) and fix const correctness.
* - Mopping up all remaining const-correctness issues
* - Do not "launder" a (const char *) to a (char *) in string searches, (ala
    strchr) but rather return a ssize_t offset value.
* - Particular, MatchingBracket() returns (ssize_t) and not (char *).
* - Eliminate all "shadow" variable names by changing them to something else.
* - Eliminate most function decls that do not include a prototype list.
* - Add prototypes for all extern functions that are missing them.
* - Ensure most function pointers include a prototype list.
* - In term.c, most of those (char *)'s are really (const char *)'s.
* - Explicitly specify 'static' functions as 'static'
* - Ensure every function is either 'static' or has a prototype.
* - Eliminate (unsigned) < (signed) type comparisons.
* Hopefully you should not notice any changes!

Revision 1.4.2.2 / (view) - annotate - [select for diffs] , Mon Mar 24 17:53:00 2003 UTC (5 years, 6 months ago) by wd
Branch: wd-devel
Changes since 1.4.2.1: +5 -1 lines
Diff to previous 1.4.2.1 to branch point 1.4 to next main 1.5
Another merge.

Revision 1.11 / (view) - annotate - [select for diffs] , Fri Mar 21 07:46:58 2003 UTC (5 years, 6 months ago) by jnelson
Branch: MAIN
CVS Tags: epic4-1_1_11
Changes since 1.10: +2 -1 lines
Diff to previous 1.10
* Add extra slop for logically attributed denormalized display strings
* Const-ify a few Timevals, just for good measure.
* Don't hardcode use of AF_INET in dcc.c, rather use a global variable for it.
* Use "global_family" var to pass hint what socket fam to use.  AF_INET for now.
* Add extra sanity check just in case window->screen goes NULL in status redraw
* Fix several benign compile-time issues.
* Reword a few previous entries to fit onto one line.

Revision 1.10 / (view) - annotate - [select for diffs] , Mon Mar 17 19:39:39 2003 UTC (5 years, 6 months ago) by crazyed
Branch: MAIN
Changes since 1.9: +4 -1 lines
Diff to previous 1.9
* $dccctl() changes as per UPDATES.
* Misc bug fixes as per KNOWNBUGS.

Revision 1.4.2.1 / (view) - annotate - [select for diffs] , Thu Feb 27 15:29:55 2003 UTC (5 years, 7 months ago) by wd
Branch: wd-devel
Changes since 1.4: +113 -52 lines
Diff to previous 1.4
Yikes.  Merged to become consistent with HEAD.  Sorry for all the commits,
I'll be quiet again soon. :)
-wd

Revision 1.9 / (view) - annotate - [select for diffs] , Mon Feb 17 23:48:48 2003 UTC (5 years, 7 months ago) by crazyed
Branch: MAIN
Changes since 1.8: +6 -3 lines
Diff to previous 1.8
* "Word Philosophy" alterations, /alias leak, flood checking, $glob(),
  tabkey.ce, regression tests, autoget, /fe, /fec, safe_new_next_arg, as
  per KNOWNBUGS.
* $findws(), functions (script), ${i}finditems(), $dccctl(), as per
  UPDATES.

Revision 1.8 / (view) - annotate - [select for diffs] , Sun Jan 26 03:25:38 2003 UTC (5 years, 8 months ago) by jnelson
Branch: MAIN
Changes since 1.7: +11 -10 lines
Diff to previous 1.7
Commit 436
This commit is deceptive because it is huge in scope but can be explained
pretty simply.

* Const correctness improvements.
* Invert the meaning of 'new_check_flooding' to return TRUE if flooding.
* Revamp funny.c, /list, /names, /mode reply handling.
* Remove unused joined_nick, public_nick
* Change got_initial_version_28() arguments singly and not an array
* Change signature of protocol handling to take "command" as an argument
* The above change cascades to a lot of other changes.
* Allow the /msg'ing of @W<refnum> to msg a window's refnum.
* First round of larnification (Protection against unexpected server data)
* This involved substantial rewrites of parse.c, and numbers.c
* Now "fake" stuff goes through /on odd_server_stuff.
* Fix /on invite so it takes 3 arguments, not 2.

Revision 1.7 / (view) - annotate - [select for diffs] , Thu Jan 9 01:10:56 2003 UTC (5 years, 9 months ago) by crazyed
Branch: MAIN
Changes since 1.6: +11 -5 lines
Diff to previous 1.6
* Altered the default FLOATING_POINT_PRECISION from 6 to 16 which fixes a
  math bug.
* Melded a count argument into next_args and new_next args to cause a
  specific number of words to be returned.
* Rewrote the /alias xxx (args) form of /alias to avoid using extractw and
  to use *next_args_count instead.
* Tuned the call.xtrace alias in debug.irc.
* Extended $is_on() in guh to allow and return multiple arguments.
* Added $is_off() as a compliment to $is_on().
* Made a minor philosophical change to the way flood detection works:  A
  message is not counted as a flood if it is the first message in a flood.
  The most important impact of this is that rate calculations are more
  accurate.

Revision 1.6 / (view) - annotate - [select for diffs] , Thu Dec 19 03:22:58 2002 UTC (5 years, 9 months ago) by jnelson
Branch: MAIN
CVS Tags: epic4-1_1_9, epic4-1_1_8, epic4-1_1_10
Changes since 1.5: +6 -6 lines
Diff to previous 1.5
* Use server_list_size() and not number_of_servers outside of server.c
* Use NOSERV and not -1 for "no server"
* Use (Timeval) and not (struct timeval)
* Fix (get|set)_server_sent_*() et al to take server refnum.
* Use parse_server_index() and not my_atol() to parse server refnums
* re-indent quotecmd
* Rename is_server_connected() to is_server_registered
* Make /quote work as long as server is open (not registered)
* Use send_to_aserver() when it can avoid setting from_server unecessarily
* Change sent_to_server and clear_sent_to_server to (set|get)server_sent().
* Change doing_* to get_server_doing_*.
* Use (unsigned short) and not (u_short)
* Use (unsigned long) and not (u_long)
* Make output_reject_ctcp() take a refnum
* Lock a dcc while we are connecting it, just in case. ;-)
* Fix /dcc send -p <port>
* Store protocol enforcements as (get|set)_server_protocol_state().
* Use (Stat) and not (struct stat)
* Rewrite $timerctl() so it works like $logctl()
* Rename is_server_connected() to is_server_registered()
* Fix an off-by-one error with /FOR ... IN ...
* Keep track of both readable and writable fd's with newio stuff.
* Convert server_list to an array of pointers
* When user /server -delete's, leave a gap, don't change refnums around.
* Nix code that handles deleting server refnums.
* New function, new_open_for_writing(), for when we do nonblocking connects.
* Change new_open() to deregister fd as "writable"
* Renovate the notify stuff to take refnums and not just use from_server.
* Renovate /WHO, /ISON, /USERHOST to take refnums and not just use from_server.
* Make everything that uses server_list[] use get_server() instead.
* Make everything capable of dealing with "gaps" in server_list[].
* Use a bunch of macros, to handle with getting and setting server attrs.
* Make as much as possible use refnums as params and not from_server.
* And a lot of other stuff...

Revision 1.5 / (view) - annotate - [select for diffs] , Wed Dec 11 19:20:23 2002 UTC (5 years, 10 months ago) by crazyed
Branch: MAIN
Changes since 1.4: +93 -42 lines
Diff to previous 1.4
* Added functions $asciiq() $chrq() $exec() $timerctl() $tcl() $winline()
  and $floodinfo().
* Altered the two argument version of $read() to ctcp quote the strings it
  returns.
* Added sets FLOOD_RATE_PER and FLOOD_MASKUSER.
* Altered the "accept" mode of the dcc_raw and dcc_connect hooks to refer
  to the local port instead of the remote port.
* Added a "-closein %proc" switch to /exec.
* Altered the arg list mode of /alias to use extractw instead of next_arg.
* Added the documented "words" argument to the above.
* Tuned autoget, mudirc, tabkey.ce and commandqueues.
* Altered /pretend to not chop the string.
* Set about rewriting the flood detection and then decided that it's better
  off being a script.
* Moved the function macros to their own file (functions.h) and replaced
  all the copies that are strewn throughout the source with an #include.
  The exception is array.c which broke when I tried it.
* Moved the ctcp enquoting/dequoting functions to ircaux.c.
* Added some command/function ordering checks to funcs/regress, and a check
  for all the functions that are undocumented.
* Rewrote function chanmodetype() so that it doesn't have all those flakey
  buffering things.  Hopefully it's readable now.  The significant change
  is that if a mode character appears twice in CHANMODES, the first one is
  returned instead of the last.
* Added EPIC::call() in the perl routines and an equivalent under tcl.
  this is designed to call a $function() directly, but it isn't really that
  fast, so I might rip them out again.
* The /wait internals used to store a few other settings, which were taken
  out, so I put them back.
* Fixed a few problems with normalize_filename() around the place.
* Fixed a bug with /timer in which it would never show the timers after a
  callback.

Revision 1.4 / (view) - annotate - [select for diffs] , Wed Jul 17 21:52:52 2002 UTC (6 years, 2 months ago) by jnelson
Branch: MAIN
CVS Tags: epic4-1_1_7, epic4-1_1_6
Branch point for: wd-devel
Changes since 1.3: +2 -2 lines
Diff to previous 1.3
Update copyright notices and copyright dates.

Revision 1.3 / (view) - annotate - [select for diffs] , Sat Jul 6 02:50:11 2002 UTC (6 years, 3 months ago) by jnelson
Branch: MAIN
Changes since 1.2: +31 -3 lines
Diff to previous 1.2
I'm going to start sweeping the entire source, adding the official
copyright notice to each file (like ircII does already), and making
sure that the /* $EPIC$ */ thingee is at the top of the file.  This is
my first swath of files.

Revision 1.2 / (view) - annotate - [select for diffs] , Thu Jan 24 10:45:25 2002 UTC (6 years, 8 months ago) by crazyed
Branch: MAIN
CVS Tags: epic4-1_1_5, epic4-1_1_4, epic4-1_1_3
Changes since 1.1: +31 -23 lines
Diff to previous 1.1
* Enhanced flood checking to keep records based on userhost rather than
  nick.  Not designed to catch clones but to make it harder to avoid.
* Flood checking keeps its time in microseconds now, which _may_ make it
  a little hyperactive on occasions.
* Small re-arrangement to find_array_item() to make it slightly faster.
* Terminology fix in /alias /s.
* Added $regmatches() which works exactly like $regexec, but returns pairs
  of numbers which can be applied to $mid() to extract the matched strings
  and substrings from the original string.  It also takes a new second
  argument indicating the maximum number of subexpressions to return.
* New -file option to /lastlog.  If given, all output will be written to
  the file rather than the screen.  file_put_it() may be questionable.
* $channel() will return "h" in the op field if the user is a half-op.

Revision 1.1.1.1 / (view) - annotate - [select for diffs] (vendor branch) , Tue Dec 5 00:11:57 2000 UTC (7 years, 10 months ago) by jnelson
Branch: epicsol
CVS Tags: start, epic4_0_9_15, epic4-1_1_1, epic4-1_0_1, epic4-1_0, epic4-0_9_17, epic4-0_9_16, epic4-0_9_15, epic4-0_9_14, epic4-0_10_0, epic-test-tag2, epic-test-tag
Changes since 1.1: +0 -0 lines
Diff to previous 1.1
Initial import into CVS

Revision 1.1 / (view) - annotate - [select for diffs] , Tue Dec 5 00:11:57 2000 UTC (7 years, 10 months ago) by jnelson
Branch: MAIN
Initial revision

This form allows you to request diffs between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.

Diffs between and
Type of Diff should be a

View only Branch:
Sort log by:

CVS Admin
Powered by
ViewCVS 0.9.2