CVS log for epic5/source/crypt.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.35 / (view) - annotate - [select for diffs] , Sat Jun 2 00:19:13 2007 UTC (16 months, 1 week 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, HEAD
Changes since 1.34: +3 -3 lines
Diff to previous 1.34
* Fix happykey().  Sometimes, I just don't pay enough attention.
* Don't trim 1 too many chars on incoming encrypted messages. Important!
* Fix buffer sizes being too small to hold buffer for enc/dec short strings.
* Add $xform() handlers for blowfish and cast5
* Whip the $xform() callback functions into usable shape.
* Fix base64 encoding both via $xform() and $b64encode().
* Rewrite $xform(), see UPDATES.  Strong crypto now supported! YAY!

Revision 1.34 / (view) - annotate - [select for diffs] , Thu Apr 12 02:24:14 2007 UTC (18 months ago) by jnelson
Branch: MAIN
CVS Tags: epic5-0_3_3
Changes since 1.33: +2 -2 lines
Diff to previous 1.33
* Add arg to panic() controlling whether panic is sent via QUIT (rb black)

Revision 1.33 / (view) - annotate - [select for diffs] , Tue Oct 10 19:43:38 2006 UTC (2 years ago) by jnelson
Branch: MAIN
CVS Tags: epic5-0_3_2
Changes since 1.32: +9 -2 lines
Diff to previous 1.32
* Fix cross-matching of ctcp-over-dcc with queries. YAY! (nullie)
* Fix crash when you received ssl-encrypted msgs and you don't have ssl.

Revision 1.32 / (view) - annotate - [select for diffs] , Sun Oct 8 13:00:08 2006 UTC (2 years ago) by jnelson
Branch: MAIN
Changes since 1.31: +3 -2 lines
Diff to previous 1.31
Fix some bugs with /window query that kreca found.

Revision 1.31 / (view) - annotate - [select for diffs] , Fri Sep 22 11:24:53 2006 UTC (2 years ago) by jnelson
Branch: MAIN
Changes since 1.30: +4 -8 lines
Diff to previous 1.30
Don't call happykey() on a plain text password.

Revision 1.30 / (view) - annotate - [select for diffs] , Fri Jul 7 04:53:00 2006 UTC (2 years, 3 months ago) by jnelson
Branch: MAIN
CVS Tags: epic5-0_3_1
Changes since 1.29: +3 -2 lines
Diff to previous 1.29
Fix external crypto script support.

Revision 1.29 / (view) - annotate - [select for diffs] , Wed Jul 5 23:00:34 2006 UTC (2 years, 3 months ago) by jnelson
Branch: MAIN
Changes since 1.28: +1 -2 lines
Diff to previous 1.28
<nullie> it's the last time, i promise! :-)

Revision 1.28 / (view) - annotate - [select for diffs] , Wed Jul 5 22:51:25 2006 UTC (2 years, 3 months ago) by jnelson
Branch: MAIN
Changes since 1.27: +3 -4 lines
Diff to previous 1.27
Yet more bugs! argh!

Revision 1.27 / (view) - annotate - [select for diffs] , Wed Jul 5 22:40:14 2006 UTC (2 years, 3 months ago) by jnelson
Branch: MAIN
Changes since 1.26: +27 -4 lines
Diff to previous 1.26
Fix panic, make sha keys happy looking.

Revision 1.26 / (view) - annotate - [select for diffs] , Wed Jul 5 22:15:09 2006 UTC (2 years, 3 months ago) by jnelson
Branch: MAIN
Changes since 1.25: +2 -2 lines
Diff to previous 1.25
Argh. don't ask.

Revision 1.25 / (view) - annotate - [select for diffs] , Wed Jul 5 22:04:40 2006 UTC (2 years, 3 months ago) by jnelson
Branch: MAIN
Changes since 1.24: +50 -29 lines
Diff to previous 1.24
Fix bug with removing a crypto with a server desc
Add /encrypt -clear for debugging purposes.

Revision 1.24 / (view) - annotate - [select for diffs] , Sun Jul 2 02:20:31 2006 UTC (2 years, 3 months ago) by jnelson
Branch: MAIN
Changes since 1.23: +13 -7 lines
Diff to previous 1.23
* Fix bugs with /crypt
*** I think this is the last commit of the strong crypto project ***
Kev will particularly celebrate the end of the commit storm.
Thanks for everybody's patience.  Enjoy!

Revision 1.23 / (view) - annotate - [select for diffs] , Sun Jul 2 02:12:13 2006 UTC (2 years, 3 months ago) by jnelson
Branch: MAIN
Changes since 1.22: +116 -119 lines
Diff to previous 1.22
* Bust do_crypt back into its callers [de]crypt_msg().
* Make lookups between /encrypt flag<->cipher flag<->ctcp table-driven.

Revision 1.22 / (view) - annotate - [select for diffs] , Sat Jul 1 03:17:12 2006 UTC (2 years, 3 months ago) by jnelson
Branch: MAIN
Changes since 1.21: +162 -49 lines
Diff to previous 1.21
* Add SEDSHA cipher type, which is better than SED, and always available.
* Add my_sleep|isreadable|iswritable() funcs to phase out rogue selects()h
* Add support for multiple concurrent servers to /encrypt. yay!
* Store the length of the Crypt key within the key itself.
* This moves us closer to being able to decrypt arbitrary data.
* Test all of the cipher types, incl. compat of CAST with ircII.  All set!

Revision 1.21 / (view) - annotate - [select for diffs] , Thu Jun 29 00:13:53 2006 UTC (2 years, 3 months ago) by jnelson
Branch: MAIN
Changes since 1.20: +202 -226 lines
Diff to previous 1.20
___ WARNING ___ This stuff is all wildly un(der)tested.
I will get to that soon!  But I'm too excited about this to sit on it.

* Add AESSHA256 support (AES256 using the SHA256 digest of your passkey)
* Rename "EXTCRYPT" to "PROGCRYPT"
* Migrate SED support from crypt.c to crypto.c
* Integrate SED and extprog support into the mainline [de]cipher_message()
* Refactor [de]cipher_message() to be less lame.
* Support "anycrypt" support (AESSHA, AES, BLOWFISH, CAST5, SED, PROG)
* Include sha256 implementation from Karll.  Thanks Karll!
* Unify the ctcp handling of all crypto ctcps
* Add $sha256() function to test sha support (digest)
* Make funcs in crypto.c static and just expose [de]crypt_msg().
* This finishes the divide between crypt.c (front end) and crypto.c (back end)
* Fix a gazillion compiler warnings and sort out const/unsigned char issues.

Revision 1.20 / (view) - annotate - [select for diffs] , Tue Jun 27 01:51:22 2006 UTC (2 years, 3 months ago) by jnelson
Branch: MAIN
Changes since 1.19: +23 -5 lines
Diff to previous 1.19
AES support!

Revision 1.19 / (view) - annotate - [select for diffs] , Tue Jun 27 00:42:35 2006 UTC (2 years, 3 months ago) by jnelson
Branch: MAIN
Changes since 1.18: +67 -29 lines
Diff to previous 1.18
* Support cast5/blowfish encryption a la ircII.
* Fix build for non-ssl users.

Revision 1.18 / (view) - annotate - [select for diffs] , Sat Jun 24 14:54:25 2006 UTC (2 years, 3 months ago) by jnelson
Branch: MAIN
Changes since 1.17: +19 -2 lines
Diff to previous 1.17
* Add /set mail_type (MBOX or MAILDIR) to control what we check for mail.
* Make rebuild-scrollback a toggle flag instead of an operation.
* Teach update_all_windows() how to rebuild scrollback
* Write some preliminary code for the unified lastlog

Revision 1.17 / (view) - annotate - [select for diffs] , Fri Oct 31 08:19:24 2003 UTC (4 years, 11 months ago) by crazyed
Branch: MAIN
CVS Tags: epic5-0_2_0, epic5-0_0_8, epic5-0_0_7, epic5-0_0_6, epic5-0_0_5, epic5-0_0_4, epic5-0_0_3, epic5-0_0_2, epic5-0_0_1, 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
Changes since 1.16: +2 -2 lines
Diff to previous 1.16
* Numerous updates/changes/fixes to DCC, functions, scripts, /EXEC, the
  new math parser, as per UPDATES and KNOWNBUGS.

One potential incompatibility is in the change to $open(). (as per UPDATES)

Revision 1.16 / (view) - annotate - [select for diffs] , Thu Jul 10 22:56:01 2003 UTC (5 years, 3 months ago) by jnelson
Branch: MAIN
CVS Tags: epic4-1_1_13
Changes since 1.15: +2 -1 lines
Diff to previous 1.15
Commit 551 -- second to last commit for this project -- the big one!
* Roll in the new universal_next_arg_count() and attendant macros.
* Comment out some deprecated function decls in ircaux.h
* Do another round of make depends.
* Modify alias arglist code to use the new universal_next_arg_count() stuff
* Convert dequote() to dequoter().
* Convert new_new_next_arg() into new_new_next_arg_count().
* Comment out deprecated functions in ircaux.c -- will be deleted later.

Revision 1.15 / (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.14: +2 -2 lines
Diff to previous 1.14
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.14 / (view) - annotate - [select for diffs] , Wed Jul 9 20:10:24 2003 UTC (5 years, 3 months ago) by jnelson
Branch: MAIN
Changes since 1.13: +4 -4 lines
Diff to previous 1.13
Convert m_strdup() to malloc_strdup().

Revision 1.13 / (view) - annotate - [select for diffs] , Sat May 17 17:30:21 2003 UTC (5 years, 4 months ago) by crazyed
Branch: MAIN
CVS Tags: epic4-1_1_12
Changes since 1.12: +2 -2 lines
Diff to previous 1.12
* Misc bugfixes as per KNOWNBUGS.
* This patch involves renaming crypt.h to sedcrypt.h.

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
Changes since 1.11: +13 -7 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.11 / (view) - annotate - [select for diffs] , Thu Apr 24 20:49:25 2003 UTC (5 years, 5 months ago) by jnelson
Branch: MAIN
Changes since 1.10: +9 -9 lines
Diff to previous 1.10
Nominally remove all uses of "unsafe" functions: (Commit 506)
* Convert all uses of strcpy() to strlcpy()
* Convert all uses of strcat() to strlcat()
* Convert all uses of strmcpy() to strlcpy()
* Convert all uses of strmcat() to strlcat()
* Convert all uses of sprintf() to snprintf()
* As much as possible, use 'sizeof var' in snprintf/strlcpy/strlcat.
* Qualify the size of some global vars so we can sizeof() them.
* Nuke strmcpy(), strmcat(), strmcat_ue(), strmccat(),
* Change strmopencat() to strlopencat().
* Change strmpcat() to strlpcat().
* Fix switch_hostname so it doesn't return a (const) string.
* Fix TimerTimeout so it doesn't return a (const) Timeval.
* Change things like (ret) to do ret while (0); for when "ret" is "{}".
* Fix initialization for load_level
* Stop passing in static strings into io(), so we can modify them.
* Make messages passed to io() more informative to the user.
* Fix CTCP FINGER handler not to assume (struct pw) strings can be overwritten.
* Use (socklen_t) and not an (int) for socket sizes.
* Don't return a value in a void function...
* Don't use return value of process_dcc_chat_ctcps() for assignment.
* Don't put semicolons after function bodies
* Fix $getopt() to save 'input_size' so we can use it with strl*().
* Convert all uses of stpcpy() to strlcat() and strlopencat().
* Nix checks for stpcpy() in configure -- regen configure.

Revision 1.8.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.8.2.1: +0 -0 lines
Diff to previous 1.8.2.1 to branch point 1.8 to next main 1.9
Another merge.

Revision 1.8.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.8: +4 -4 lines
Diff to previous 1.8
Yikes.  Merged to become consistent with HEAD.  Sorry for all the commits,
I'll be quiet again soon. :)
-wd

Revision 1.10 / (view) - annotate - [select for diffs] , Sun Jan 26 03:25:38 2003 UTC (5 years, 8 months ago) by jnelson
Branch: MAIN
CVS Tags: epic4-1_1_11
Changes since 1.9: +2 -2 lines
Diff to previous 1.9
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.9 / (view) - annotate - [select for diffs] , Wed Dec 11 19:20:23 2002 UTC (5 years, 10 months ago) by crazyed
Branch: MAIN
CVS Tags: epic4-1_1_9, epic4-1_1_8, epic4-1_1_10
Changes since 1.8: +3 -3 lines
Diff to previous 1.8
* 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.8 / (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.7: +2 -2 lines
Diff to previous 1.7
Update copyright notices and copyright dates.

Revision 1.7 / (view) - annotate - [select for diffs] , Sat Jul 6 02:50:10 2002 UTC (6 years, 3 months ago) by jnelson
Branch: MAIN
Changes since 1.6: +29 -7 lines
Diff to previous 1.6
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.6 / (view) - annotate - [select for diffs] , Mon Feb 18 06:59:13 2002 UTC (6 years, 7 months ago) by crazyed
Branch: MAIN
CVS Tags: epic4-1_1_5, epic4-1_1_4, epic4-1_1_3
Changes since 1.5: +3 -3 lines
Diff to previous 1.5
* Fixed two compiler warnings that apparently occur under macos X.
* Altered "/ignore #channel crap" to work for quit messages.  The rationale
  behind this is that "/ignore #channel nick" works, and the code for both
  are very similar.  This may conceivably alter the exact behaviour of
  channel_signoff, but I have made efforts to keep it working as is.

Revision 1.5 / (view) - annotate - [select for diffs] , Thu Nov 29 02:05:24 2001 UTC (6 years, 10 months ago) by crazyed
Branch: MAIN
Changes since 1.4: +2 -2 lines
Diff to previous 1.4
Tuned the wildcard matching for names in /encrypt.

Revision 1.4 / (view) - annotate - [select for diffs] , Wed Nov 28 15:07:25 2001 UTC (6 years, 10 months ago) by crazyed
Branch: MAIN
Changes since 1.3: +9 -4 lines
Diff to previous 1.3
Minor cosmetic changes to /encrypt with program.
* If the program execution fails or otherwise returns an empty message,
  a warning is printed.

commit_id incremented.

Revision 1.3 / (view) - annotate - [select for diffs] , Tue Nov 27 00:09:28 2001 UTC (6 years, 10 months ago) by crazyed
Branch: MAIN
Changes since 1.2: +3 -1 lines
Diff to previous 1.2
* Fixed a buffer overflow in the new /encrypt program mechanism.
* Minor cosmetic update for encrypted messages for which the encryption
  program returns nothing.

Revision 1.2 / (view) - annotate - [select for diffs] , Mon Nov 26 18:35:36 2001 UTC (6 years, 10 months ago) by crazyed
Branch: MAIN
Changes since 1.1: +49 -31 lines
Diff to previous 1.1
This extends /encrypt to add a new argument, which will be treated as a
program with which to filter messages through to be encrypted/decrypted.

The protocol so far is:  One line in text mode, with the key as the first
word.  Followed (starting on the second line and ending at EOF), by the
encrypted message in binary.  Binary messages returned are automatically
quoted and unquoted for transmission over the wire.  Ascii Armoring
if performed by the program will "bypass" the quoting features.

This patch also alters the way floating point numbers are returned.
Before, canon_number was passed over the textual value.  Now, ftoa()
reads the correct way to do it from FLOATING_POINT_MATH.

Revision 1.1.1.1 / (view) - annotate - [select for diffs] (vendor branch) , Tue Dec 5 00:11:56 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:56 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