/[pkg-mixmaster]/trunk/Mix/Src/mix.c
ViewVC logotype

Log of /trunk/Mix/Src/mix.c

Parent Directory Parent Directory | Revision Log Revision Log


Links to HEAD: (view) (download) (annotate)
Sticky Revision:

Revision 916 - (view) (download) (annotate) - [select for diffs]
Modified Sat Aug 13 10:55:14 2005 UTC (7 years, 9 months ago) by rabbi
File length: 33831 byte(s)
Diff to previous 906 , to selected 37
Added new config directive MINLAT. Remailers will not be chosen in the path for dummy messages or random hops unless their latency is greater than or equal to the MINLAT value. (Default: 5 minutes.)

This is a precautionary measure against broken remailers. It does not affect currently operating remailers at this time.

Suggested by Zax. (Closes #1241903).

Revision 906 - (view) (download) (annotate) - [select for diffs]
Modified Tue Jun 15 18:22:17 2004 UTC (8 years, 11 months ago) by colin
File length: 33774 byte(s)
Diff to previous 900 , to selected 37
remove all refs to TYPE2LIST

Revision 900 - (view) (download) (annotate) - [select for diffs]
Modified Mon Jun 7 20:10:52 2004 UTC (8 years, 11 months ago) by colin
File length: 33868 byte(s)
Diff to previous 852 , to selected 37
Added auto stats update in daemon mode

Revision 852 - (view) (download) (annotate) - [select for diffs]
Modified Thu May 13 13:59:28 2004 UTC (9 years ago) by weasel
File length: 33165 byte(s)
Diff to previous 849 , to selected 37
Merge stats stuff from branch into trunk

Revision 849 - (view) (download) (annotate) - [select for diffs]
Modified Thu May 13 06:44:00 2004 UTC (9 years ago) by weasel
File length: 32773 byte(s)
Diff to previous 785 , to selected 37
Support nonpublished destination allow

Revision 785 - (view) (download) (annotate) - [select for diffs]
Modified Sat May 1 00:30:40 2004 UTC (9 years ago) by weasel
File length: 32673 byte(s)
Diff to previous 784 , to selected 37
Replace all Sleep() by sleep() and add a #define for Sleep.

Revision 784 - (view) (download) (annotate) - [select for diffs]
Modified Sat May 1 00:29:32 2004 UTC (9 years ago) by weasel
File length: 32680 byte(s)
Diff to previous 777 , to selected 37
Make mix.c under windows compile by adding an include

Revision 777 - (view) (download) (annotate) - [select for diffs]
Modified Fri Apr 30 21:24:16 2004 UTC (9 years ago) by weasel
File length: 32660 byte(s)
Diff to previous 710 , to selected 37
On Win32, default to Application Data/Mixmaster

Revision 710 - (view) (download) (annotate) - [select for diffs]
Modified Wed Jan 21 00:47:21 2004 UTC (9 years, 3 months ago) by rabbi
File length: 31846 byte(s)
Diff to previous 700 , to selected 37
Updated copyright dates, doc issues, misc fixes.

Revision 700 - (view) (download) (annotate) - [select for diffs]
Modified Sat Jan 17 01:33:38 2004 UTC (9 years, 4 months ago) by weasel
File length: 31825 byte(s)
Diff to previous 647 , to selected 37
Try to detect timeskews and refuse to run as a remailer if there is a problem
suspected.  Only applies to mixmaster in remailer mode.

Revision 647 - (view) (download) (annotate) - [select for diffs]
Modified Sat Oct 25 23:34:13 2003 UTC (9 years, 6 months ago) by weasel
File length: 30802 byte(s)
Diff to previous 589 , to selected 37
Set keyword expansion for Id on all files that already have $Id$ tags.

Revision 589 - (view) (download) (annotate) - [select for diffs]
Modified Tue Sep 23 19:03:48 2003 UTC (9 years, 7 months ago) by weaselp
File length: 30849 byte(s)
Diff to previous 548 , to selected 37
Remove last remains of conditional RSA use

Revision 548 - (view) (download) (annotate) - [select for diffs]
Modified Mon Jul 7 11:32:45 2003 UTC (9 years, 10 months ago) by weaselp
File length: 30901 byte(s)
Diff to previous 547 , to selected 37
Config option PRECEDENCE allows setting the Precedence: header on all outgoing
mail.  (Hauke Lampe)

Revision 547 - (view) (download) (annotate) - [select for diffs]
Modified Mon Jul 7 11:28:05 2003 UTC (9 years, 10 months ago) by weaselp
File length: 30766 byte(s)
Diff to previous 545 , to selected 37
Config option EXTFLAGS allows appending additional flags to the capabilities
string.  (Hauke Lampe)

Revision 545 - (view) (download) (annotate) - [select for diffs]
Modified Mon Jul 7 11:18:20 2003 UTC (9 years, 10 months ago) by weaselp
File length: 30659 byte(s)
Diff to previous 498 , to selected 37
The 'working on the train' commit:
Don't try to send a message if there are no recipients left.
Set default max-randhops from 20 to 4.
Remix-To chain is limited by max-randhops limit as well.
Messages to more than one remailer are dropped.

Revision 498 - (view) (download) (annotate) - [select for diffs]
Modified Sat May 3 01:56:08 2003 UTC (10 years ago) by weaselp
File length: 30586 byte(s)
Diff to previous 494 , to selected 37
In client mode (REMAIL n) the pool is flushed every time mixmaster is run
unless CLIENTAUTOFLUSH is set to n.  (closes: #676794: Rate implementation
doubled)

Revision 494 - (view) (download) (annotate) - [select for diffs]
Modified Wed Apr 9 10:36:34 2003 UTC (10 years, 1 month ago) by weaselp
File length: 30502 byte(s)
Diff to previous 477 , to selected 37
In order to serve help files in different languages we need a way to reply to
requests like remailer-help-it.  In order to not have to modify the code for
each and every new ressource, Mixmaster now sends the file
requests/remailer-<something> to remailer-<something> requests.
remailer-{help,key, stats,conf,adminkey} still are special cases tho.

Revision 477 - (view) (download) (annotate) - [select for diffs]
Modified Sat Feb 15 00:29:36 2003 UTC (10 years, 3 months ago) by weaselp
File length: 30401 byte(s)
Diff to previous 392 , to selected 37
Add max capability to Type I

Revision 392 - (view) (download) (annotate) - [select for diffs]
Modified Sun Dec 8 00:56:23 2002 UTC (10 years, 5 months ago) by weaselp
File length: 30283 byte(s)
Diff to previous 387 , to selected 37
Have stats on intermediate vs. final hop count (closes: #649900).

Revision 387 - (view) (download) (annotate) - [select for diffs]
Modified Thu Dec 5 04:26:24 2002 UTC (10 years, 5 months ago) by weaselp
File length: 30213 byte(s)
Diff to previous 378 , to selected 37
Applied Colin's star exclude patch

Revision 378 - (view) (download) (annotate) - [select for diffs]
Modified Fri Oct 18 20:42:35 2002 UTC (10 years, 7 months ago) by rabbi
File length: 30132 byte(s)
Diff to previous 375 , to selected 37
We've changed the client defaults to send messages immediately, rather
than pool messages. Also, I've removed some automatically generated files,
which never should have been in CVS in the first place.

Revision 375 - (view) (download) (annotate) - [select for diffs]
Modified Fri Oct 18 00:45:12 2002 UTC (10 years, 7 months ago) by rabbi
File length: 30125 byte(s)
Diff to previous 360 , to selected 37
Fixed some comments.

Revision 360 - (view) (download) (annotate) - [select for diffs]
Modified Fri Oct 11 01:18:00 2002 UTC (10 years, 7 months ago) by weaselp
File length: 30029 byte(s)
Diff to previous 351 , to selected 37
Make sure that the daemon does sleep at least 5 seconds between runs

Revision 351 - (view) (download) (annotate) - [select for diffs]
Modified Thu Oct 10 13:02:11 2002 UTC (10 years, 7 months ago) by weaselp
File length: 29848 byte(s)
Diff to previous 338 , to selected 37
Move Win32 Service termination handling a bit up

Revision 338 - (view) (download) (annotate) - [select for diffs]
Modified Wed Oct 9 21:40:03 2002 UTC (10 years, 7 months ago) by weaselp
File length: 29771 byte(s)
Diff to previous 332 , to selected 37
Rewriting the timing logic in mix_daemon() a little bit (optically at least)

Revision 332 - (view) (download) (annotate) - [select for diffs]
Modified Wed Oct 9 20:53:32 2002 UTC (10 years, 7 months ago) by weaselp
File length: 29788 byte(s)
Diff to previous 299 , to selected 37
Whitespace cleanup:
for i in *.c; do cp -a $i $i.orig; sed -e 's/^        /<TAB>/' $i.orig > $i; rm $i.orig; done
for i in *.c *.h; do cp -a $i $i.orig; sed -e 's/[ <TAB>]*$//' $i.orig > $i; rm $i.orig; done

Revision 299 - (view) (download) (annotate) - [select for diffs]
Modified Wed Oct 2 07:57:32 2002 UTC (10 years, 7 months ago) by weaselp
File length: 29850 byte(s)
Diff to previous 280 , to selected 37
Graceperiod smaller, default keylifetime upped to one year

Revision 280 - (view) (download) (annotate) - [select for diffs]
Modified Thu Sep 26 12:34:53 2002 UTC (10 years, 7 months ago) by disastry
File length: 29848 byte(s)
Diff to previous 269 , to selected 37
remove incorrect checks for Win NT Service,
these gave false posetives when used from QS

Revision 269 - (view) (download) (annotate) - [select for diffs]
Modified Wed Sep 25 23:02:44 2002 UTC (10 years, 7 months ago) by ulfm
File length: 30187 byte(s)
Diff to previous 265 , to selected 37
AUTH LOGIN support for SMTP.

Revision 265 - (view) (download) (annotate) - [select for diffs]
Modified Fri Sep 20 19:01:34 2002 UTC (10 years, 7 months ago) by disastry
File length: 30071 byte(s)
Diff to previous 262 , to selected 37
add commandline option --config=file
this allows to use alternate configuration file
(for example on encrypted partition)

also make pool directory configurable

Revision 262 - (view) (download) (annotate) - [select for diffs]
Modified Wed Sep 18 23:26:17 2002 UTC (10 years, 8 months ago) by rabbi
File length: 30041 byte(s)
Diff to previous 221 , to selected 37
Added closing comments for all #ifdef statements. All #endif's, as well as
nested braces, should be commented to reference their start.

We need to provide comments before every function as well.

Revision 221 - (view) (download) (annotate) - [select for diffs]
Modified Fri Sep 6 22:45:06 2002 UTC (10 years, 8 months ago) by rabbi
File length: 28969 byte(s)
Diff to previous 220 , to selected 37
Standardized commenting conventions.

Revision 220 - (view) (download) (annotate) - [select for diffs]
Modified Fri Sep 6 21:04:16 2002 UTC (10 years, 8 months ago) by rabbi
File length: 28954 byte(s)
Diff to previous 219 , to selected 37
Updated documentation for {IN,OUT}DUMMYP, and to reflect changes in
remailer defaults.

Mixmaster now has a sanity-check on the number of dummy messages
generated automatically.

Fixed typos in mix.1 and Install.

Install now prompts before using a previously generated Makefile.

Revision 219 - (view) (download) (annotate) - [select for diffs]
Modified Fri Sep 6 11:34:10 2002 UTC (10 years, 8 months ago) by weaselp
File length: 28680 byte(s)
Diff to previous 218 , to selected 37
Allow setting dummy parameters

Revision 218 - (view) (download) (annotate) - [select for diffs]
Modified Fri Sep 6 07:38:08 2002 UTC (10 years, 8 months ago) by rabbi
File length: 28596 byte(s)
Diff to previous 214 , to selected 37
We now generate dummy messages as mail enters and exits the pool.

Revision 214 - (view) (download) (annotate) - [select for diffs]
Modified Thu Sep 5 01:21:54 2002 UTC (10 years, 8 months ago) by weaselp
File length: 28259 byte(s)
Diff to previous 205 , to selected 37
Mixmaster keys now have creation and expiration date.
It is not secured by any crypto voodoo, it's only
informational for clients to decide which keys to
use should they have more.
- on the client side we do not show remailers (and
  therefore not use them) if their key is expired.
- the remailer refuses to decrypt messages to keys
  that expired one month ago or earlier.
- the remailer automatically creates new mixmaster
  keys if the current one are about to expire or
  already are expired.
- the latest key from secring.mix is written to
  key.txt. It used to be the first one. Since
  creation of new mix key appends the key, this
  seemed sensible.

Revision 205 - (view) (download) (annotate) - [select for diffs]
Modified Thu Aug 29 08:50:00 2002 UTC (10 years, 8 months ago) by weaselp
File length: 27815 byte(s)
Diff to previous 199 , to selected 37
When creating new OpenPGP keys, also set an expiry date. Key lifetime
defaults to 8 months but can be overriden by the KEYLIFETIME configuration
option.

We currently do not store the self signature and the keybinding (which hold
the expiry information in DSA keys) in the secret keyring. This is
unfortunate because we use the current KEYLIFETIME when recreating them
should the public keyring need to be rewritten. The solution is to store
them in the secret keyring (like GnuPG does) and not recreate them later
if we already have them.

Revision 199 - (view) (download) (annotate) - [select for diffs]
Modified Wed Aug 28 16:29:28 2002 UTC (10 years, 8 months ago) by weaselp
File length: 27406 byte(s)
Diff to previous 198 , to selected 37
new MSVC patch by Disastry

Revision 198 - (view) (download) (annotate) - [select for diffs]
Modified Wed Aug 28 15:18:35 2002 UTC (10 years, 8 months ago) by weaselp
File length: 27386 byte(s)
Diff to previous 197 , to selected 37
Disatry prefers it this way. C is broken

Revision 197 - (view) (download) (annotate) - [select for diffs]
Modified Wed Aug 28 09:35:25 2002 UTC (10 years, 8 months ago) by weaselp
File length: 27402 byte(s)
Diff to previous 189 , to selected 37
Write a pid file

Revision 189 - (view) (download) (annotate) - [select for diffs]
Modified Mon Aug 26 19:38:51 2002 UTC (10 years, 8 months ago) by weaselp
File length: 27302 byte(s)
Diff to previous 183 , to selected 37
Entered passphrase was overwritten with SIGHUP. It's now stored to a
second variable.

Revision 183 - (view) (download) (annotate) - [select for diffs]
Modified Mon Aug 26 18:08:05 2002 UTC (10 years, 8 months ago) by weaselp
File length: 27119 byte(s)
Diff to previous 177 , to selected 37
Previosly when we ran Mixmaster in daemon mode and injected mail either
via pop3 or the MAILIN method (reading a Maildir or an mbox), Mixmaster
only processed remailer-xxx requests at SENDPOOLTIME intervalls.

It might be in the interest of an operator to have a high SENDPOOLTIME -
like say an hour or two - to provide better security to their user.

However it is also important to answer remailer-xxx requests in a timely
manner.

This conflict of interests can be solved by adding yet another config
option: MAILINTIME.

MAILINTIME specifies the amount of time between reading MAILIN and
processing those mails (as well as those injected via POP3). Processing
here means to answer -xxx requests and to add remailer mails to the
pool.

This is also done implicitly whenever Mixmaster is about to process its
pool or just fetched mail via pop3.

Revision 177 - (view) (download) (annotate) - [select for diffs]
Modified Sun Aug 25 07:47:23 2002 UTC (10 years, 8 months ago) by weaselp
File length: 26509 byte(s)
Diff to previous 176 , to selected 37
Mixmaster in daemon mode will now reload its configuration upon receiving a
SIGHUP.

It was necessary to set the defaults in their own function rather than when
defining the variables.

It will also catch SIGTERM and SIGINT and exit in a sane way, first finishing
the current action.

New option --no-detach will prevent mixmaster in daemon mode from detaching
from the terminal.

Revision 176 - (view) (download) (annotate) - [select for diffs]
Modified Fri Aug 23 03:25:48 2002 UTC (10 years, 8 months ago) by weaselp
File length: 21863 byte(s)
Diff to previous 168 , to selected 37
Fix timings. Probably only interesting for Mixmaster in daemon mode.
If your computer was fast enough to do all the regular remailer stuff
within one second the next time mix_regular() was called it didn't
consider it time for yet another run. Now using >= rather than > for
those comparisons.

Revision 168 - (view) (download) (annotate) - [select for diffs]
Modified Thu Aug 22 05:18:26 2002 UTC (10 years, 8 months ago) by weaselp
File length: 21860 byte(s)
Diff to previous 166 , to selected 37
List known mixmasters in remailer-conf replies. How do I get a list of
the pgp keyring so I can also list type I remailers? Do we need to list
type I remailers?

Revision 166 - (view) (download) (annotate) - [select for diffs]
Modified Thu Aug 22 04:29:43 2002 UTC (10 years, 8 months ago) by weaselp
File length: 21748 byte(s)
Diff to previous 163 , to selected 37
Enable exit hop to add footers.

Revision 163 - (view) (download) (annotate) - [select for diffs]
Modified Wed Aug 21 19:28:04 2002 UTC (10 years, 8 months ago) by weaselp
File length: 21664 byte(s)
Diff to previous 137 , to selected 37
Make sure to deliver to the right directory with Maildir deliveries. Since
we do not chdir() to the Mixmaster base directory we need to take care of
this whenever we do file or directory operations. Fortunatly the function
mixfile() helps here. mixfile() was extended to handle paths starting
with "~/". '~' is replaced by the HOME environment variable if defined.

Implement MAILIN option: If set Mixmaster reads mails from either a mbox
or a Maildir mail folder when processing its queue (-M or daemon). After
reading the mail folder is emtpied. If MAILIN ends with / it is expected
to be a Maildir, mbox oterhwise.

I hope that I did not break anything with the change to mixfile(). Maildir
drop and reading from both Maildir and mbox has been tested a little. Seems
to work fine so far.

Revision 137 - (view) (download) (annotate) - [select for diffs]
Modified Mon Aug 19 19:55:58 2002 UTC (10 years, 9 months ago) by rabbi
File length: 21665 byte(s)
Diff to previous 114 , to selected 37
Mixmaster now defaults to not offering network services if the line
"REMAIL = Y" is not present in mix.cfg.

Revision 114 - (view) (download) (annotate) - [select for diffs]
Modified Mon Jul 29 12:42:56 2002 UTC (10 years, 9 months ago) by weaselp
File length: 21667 byte(s)
Diff to previous 105 , to selected 37
Fix unused variable warning on OpenBSD

Revision 105 - (view) (download) (annotate) - [select for diffs]
Modified Wed Jul 24 09:00:11 2002 UTC (10 years, 9 months ago) by weaselp
File length: 21639 byte(s)
Diff to previous 102 , to selected 37
Make all filenames configurable in mix.cfg.
Add global mix.cfg support (compile time option).

Revision 102 - (view) (download) (annotate) - [select for diffs]
Modified Wed Jul 24 07:48:50 2002 UTC (10 years, 9 months ago) by rabbi
File length: 18692 byte(s)
Diff to previous 96 , to selected 37
We have changed the compile-time option PASSPHRASE to be named
COMPILEDPASS. We have changed the configuration file option PASS_PHRASE to
be named PASSPHRASE. We have added documentation for the new configuration
file option and made changes in the man page to reflect the name change.

This was done to avoid confusion due to the similarity in names of the
options.

Revision 96 - (view) (download) (annotate) - [select for diffs]
Modified Sun Jul 21 16:28:14 2002 UTC (10 years, 10 months ago) by weaselp
File length: 18693 byte(s)
Diff to previous 91 , to selected 37
Fix a strncat() to undefined string variable (Closes: #584381)

Revision 91 - (view) (download) (annotate) - [select for diffs]
Modified Wed Jul 10 01:58:49 2002 UTC (10 years, 10 months ago) by rabbi
File length: 18663 byte(s)
Diff to previous 62 , to selected 37
Added the ability to store the key passphrase in the mix.cfg file instead of
having it compiled into the binary. This offers a number of advantages over the
compiled-in method and still allows for encrypted remote storage of keys.

In order to take advantage of the new changes, the Install script will need to
be modified. As this is being replaced with a proper autoconf system, we're
defering that until later.

The changes we're committing replace PASSPHRASE with PASS_PHRASE, which is read
from the config. If the compiled-in passphrase, PASSPHRASE, is set, that is
used instead. (This is how Mixmaster will function if you use the Install
script.)

Revision 62 - (view) (download) (annotate) - [select for diffs]
Modified Thu Jan 10 23:59:16 2002 UTC (11 years, 4 months ago) by rabbi
File length: 18531 byte(s)
Diff to previous 37
Patches to support the Encrypt-To directive (by Disastry).

Revision 37 - (view) (download) (annotate) - [selected]
Modified Wed Dec 12 18:50:09 2001 UTC (11 years, 5 months ago) by rabbi
File length: 18491 byte(s)
Diff to previous 30
Win32 service optimization, commandline args tweaked, help updated.

Revision 30 - (view) (download) (annotate) - [select for diffs]
Modified Tue Dec 11 20:59:26 2001 UTC (11 years, 5 months ago) by rabbi
File length: 18702 byte(s)
Diff to previous 11 , to selected 37
Changes for WIN32 Service support. service.c is totally re-written,
service.h is removed. main.c is now cleaner.

TODO: better solution to the Win32/Unix directory seperation issue. Sring
operations on every path is a lot of extra work. Why not fopen() ?

Revision 11 - (view) (download) (annotate) - [select for diffs]
Modified Tue Nov 6 23:41:58 2001 UTC (11 years, 6 months ago) by rabbi
File length: 17353 byte(s)
Diff to previous 1 , to selected 37
First round of changes adding support for Mixmaster as a service under
Windows NT.

Revision 1 - (view) (download) (annotate) - [select for diffs]
Added Wed Oct 31 08:19:51 2001 UTC (11 years, 6 months ago) by rabbi
File length: 16902 byte(s)
Diff to selected 37
Initial revision

This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, enter a numeric revision.

  Diffs between and
  Type of Diff should be a

  ViewVC Help
Powered by ViewVC 1.1.5