Mark Wooding [Thu, 11 Jan 2007 00:06:46 +0000 (00:06 +0000)]
server: Fix some bad warning messages.
Oops, the arguments to some calls to a_warn are malformed and can cause
crashes. Fix them.
Mark Wooding [Thu, 11 Jan 2007 00:04:39 +0000 (00:04 +0000)]
server: Correct handling of interface names in tun interface.
Now that interface names can be changed, we need to let the tunnel
driver know of changes so that it can produce the right messages when
things go weird. It's better to let the peer edifice handle interface
names, so
* let `create' return the interface name rather than have p_ifname ask
the tunnel explicitly, and
* replace the `ifname' query with an optional `setifname'
notification, which is currently used only by the SLIP driver to
maintain the correct name for its persistent interfaces.
Mark Wooding [Sun, 7 Jan 2007 19:05:23 +0000 (19:05 +0000)]
configure.in: Reformat --with-logfile help text.
Mark Wooding [Sun, 7 Jan 2007 19:02:15 +0000 (19:02 +0000)]
Useful functions (u_daemon and versioncmp) moved to mLib.
Remove the code here, and use the mLib versions.
Mark Wooding [Sun, 7 Jan 2007 19:01:22 +0000 (19:01 +0000)]
debian: Still making tripe-ethereal, so ignore directory
Mark Wooding [Thu, 4 Jan 2007 11:27:03 +0000 (11:27 +0000)]
New environment variable TRIPESOCK.
Provides a handy default for the `--admin-socket' option. Added
documentation.
Also fixed paths in documentation to reflect the configuration choices;
in particular, they were wrong in the Debian build.
Mark Wooding [Wed, 3 Jan 2007 18:44:09 +0000 (18:44 +0000)]
client/tripectl: Flush output after each line.
Otherwise script users can be left hanging for long periods of time.
Mark Wooding [Wed, 3 Jan 2007 18:43:20 +0000 (18:43 +0000)]
server/admin: Fix core dump if ADD wasn't given enough arguments.
Just a stupid off-the-end-of-the-array error.
Mark Wooding [Mon, 1 Jan 2007 15:46:36 +0000 (15:46 +0000)]
tripectl: Quotify the arguments rather than hoping for the best.
To make this work, move quotify from admin to the shared utilities.
Mark Wooding [Mon, 1 Jan 2007 15:30:39 +0000 (15:30 +0000)]
Merge branches 'cleanup' and 'services'
* cleanup:
server/admin: Fix tokenization of statistics output.
Fix typos in messages.
doc: Various small cleanups to tripe-admin.5.
cleanup: Various simple whitespace changes.
cleanup: Rename a few badly-chosen variables.
* services:
doc: Document the services messages.
admin: Implement the main job commands.
admin: Implement job table infrastructure.
admin: Service ownership infrastructure and commands.
servutil: Implement version number comparison.
admin: New ?TOKENS formatting directive.
admin: Rename the unknown-service error.
admin: Improve handling of background jobs.
admin: Option parser macros.
admin: Put all command options at the start of the command-line.
admin: Fix premature close in a_bgrelease.
admin: Remove locking; new safe client destruction.
Conflicts:
server/admin.c
Mark Wooding [Mon, 1 Jan 2007 12:52:33 +0000 (12:52 +0000)]
doc: Document the services messages.
Mark Wooding [Mon, 1 Jan 2007 12:52:33 +0000 (12:52 +0000)]
admin: Implement the main job commands.
That's SVCSUBMIT to submit new jobs, and SVCINFO, SVCOK and SVCFAIL for
responding to them.
Mark Wooding [Mon, 1 Jan 2007 12:52:33 +0000 (12:52 +0000)]
admin: Implement job table infrastructure.
We'll want this to keep track of which jobs a service provider has
outstanding.
Mark Wooding [Mon, 1 Jan 2007 12:52:33 +0000 (12:52 +0000)]
admin: Service ownership infrastructure and commands.
* Implement a table of named and versioned services.
* Allow clients to claim and release services, and find out about
claimed services.
* Notify clients when services are claimed and released.
* Notify a service provider when another client provides a later
version.
Mark Wooding [Mon, 1 Jan 2007 12:52:33 +0000 (12:52 +0000)]
servutil: Implement version number comparison.
We use an extended version of the dpkg version comparison algorithm.
See the code for a description.
Mark Wooding [Mon, 1 Jan 2007 12:52:33 +0000 (12:52 +0000)]
admin: New ?TOKENS formatting directive.
Format a vector of pretokenized strings. This obviates the need for
a complicated @alertcmd@ and suchlike. It also means we can, at last,
resurrect @a_alert@.
Mark Wooding [Mon, 1 Jan 2007 12:52:32 +0000 (12:52 +0000)]
admin: Rename the unknown-service error.
We'll want that when we report errors about client-provided services.
Renamed to unknown-port.
Mark Wooding [Mon, 1 Jan 2007 12:52:32 +0000 (12:52 +0000)]
admin: Improve handling of background jobs.
New commands BGCANCEL (cancel an outstanding job) and JOBS (list
outstanding jobs).
Mark Wooding [Mon, 1 Jan 2007 12:52:32 +0000 (12:52 +0000)]
admin: Option parser macros.
There's too much clone and hack in options parsing. Cover up the
repeated code with macros.
Also, sneak in a little fix: complain if there are too many arguments to
a PING or EPING command.
Mark Wooding [Mon, 1 Jan 2007 12:52:32 +0000 (12:52 +0000)]
admin: Put all command options at the start of the command-line.
This makes life much easier for client libraries, which can (for
example) put `-background TAG' in a standard place to obtain
background operation.
Mark Wooding [Mon, 1 Jan 2007 12:52:32 +0000 (12:52 +0000)]
admin: Fix premature close in a_bgrelease.
The function incorrectly destroys the connection at the release of the
first background job after close; it should wait until they've all
finished.
Mark Wooding [Mon, 1 Jan 2007 12:52:32 +0000 (12:52 +0000)]
admin: Remove locking; new safe client destruction.
The locking stuff is fiddly, and prevents cleanup of pending background
operations during destruction. Instead, we add `destroyed' clients to a
list which we clean up just before going back to select. This ensures
that they get cleaned up at a safe place, when there aren't functions
threaded on the stack which will be upset by the admin block vanishing
under their feet.
Mark Wooding [Mon, 1 Jan 2007 12:52:10 +0000 (12:52 +0000)]
server/admin: Fix tokenization of statistics output.
Mark Wooding [Mon, 1 Jan 2007 12:52:10 +0000 (12:52 +0000)]
Fix typos in messages.
tripe-init: `want do die'.
Mark Wooding [Mon, 1 Jan 2007 12:52:09 +0000 (12:52 +0000)]
doc: Various small cleanups to tripe-admin.5.
* Duplicate the timespec description for PING.
* Put BGDETACH in the summary of responses.
* Tag EPING as a command to include in the summary.
* Fix the description of the INET address family now that we have
background commands.
Mark Wooding [Mon, 1 Jan 2007 12:52:09 +0000 (12:52 +0000)]
cleanup: Various simple whitespace changes.
Mark Wooding [Mon, 1 Jan 2007 12:52:09 +0000 (12:52 +0000)]
cleanup: Rename a few badly-chosen variables.
* admin: A few old `tag' arguments renamed to `status'.
Mark Wooding [Mon, 1 Jan 2007 12:44:59 +0000 (12:44 +0000)]
admin: New command SETIFNAME to change an interface's recorded name.
Also the machinery in peer.c to make it work, and documentation for the
new command and matching notification.
Mark Wooding [Sat, 30 Dec 2006 22:43:42 +0000 (22:43 +0000)]
Great reorganization.
Split all the sources into subdirectories. This will look rather more
sensible when we add the Python support stuff.
Mark Wooding [Sat, 30 Dec 2006 22:57:32 +0000 (22:57 +0000)]
build: Distribute make-summary to fix distcheck.
I've been concentrating too much on Debian packaging and the standard
autoconf install has rotted a bit. Oops.
Mark Wooding [Thu, 21 Dec 2006 14:50:15 +0000 (14:50 +0000)]
gitignore: Track rename of Ethereal => Wireshark in debian subdirectory.
Mark Wooding [Wed, 20 Dec 2006 16:35:50 +0000 (16:35 +0000)]
configure: Fix formatting.
Mark Wooding [Mon, 11 Dec 2006 13:15:02 +0000 (13:15 +0000)]
Rename ethereal -> wireshark.
Also make the plugin actually work. Probably. Involves messing with
the Debian packaging and search-and-replace on the build system mainly.
Mark Wooding [Wed, 1 Nov 2006 15:10:50 +0000 (15:10 +0000)]
keyexch: Simplify key-exchange protocol.
Remove pointless cookie message. Only allocate challenge blocks on
receipt of a full challenge.
Also fix bugs introduced in previous changes.
Mark Wooding [Fri, 27 Oct 2006 16:55:27 +0000 (17:55 +0100)]
keyexch, keymgmt: Include the peer's public key in the check hash.
This turns out to be necessary for security: otherwise an adversary can
cross over two sessions, which is probably undesirable. This also
requires that we know our own public key, which was previously
unnecessary.
Except for session-ids (we don't care if two `sessions' with the same
peer get crossed over, because we don't distinguish them anyway), the
protocol now matches the one described and proved secure in the crypto
paper.
Mark Wooding [Tue, 19 Sep 2006 20:47:33 +0000 (21:47 +0100)]
keyexch: Group element encodings must have constant length.
SECURITY FIX. COMPATIBILITY BREAK.
Using the `buf' encodings of group elements leaks length information.
Use the `raw' encoding instead. I suspect that this really is a bad
security property to have; certainly the security proof for the key
exchange protocol depends on all encodings having the same length.
Mark Wooding [Wed, 22 Feb 2006 02:54:00 +0000 (02:54 +0000)]
tripe-admin manpage: Generate a command and message summary.
There's such a big pile of information it seems nice to provide a quick
index at the end. An unpleasant awk script seems to do the job nicely.
Mark Wooding [Tue, 21 Feb 2006 15:23:21 +0000 (15:23 +0000)]
admin, resolve ops bugfix: initialize tag in resop early.
We can call the completion function before detachment, and it might try
to trace its job tag. This initialization just makes sure that it
doesn't do something stupid here.
Mark Wooding [Mon, 20 Feb 2006 12:44:53 +0000 (12:44 +0000)]
admin: Initialize reference counter for client blocks.
Good ol' Valgrind!
Mark Wooding [Tue, 21 Feb 2006 23:57:35 +0000 (23:57 +0000)]
Merge branch 'tokens'
* tokens:
Correctly tokenize output to admin clients.
Mark Wooding [Sun, 19 Feb 2006 15:03:19 +0000 (15:03 +0000)]
Correctly tokenize output to admin clients.
This is a wide ranging change, and there may well be bugs in some of the
message reporting code.
Mark Wooding [Sun, 19 Feb 2006 14:33:17 +0000 (14:33 +0000)]
tripe-keys: Use curl instead of wget.
It's generally much better, and in particular, it can cope with file:
URLs, which wget chokes on, which is a nuisance for testing.
Mark Wooding [Wed, 8 Feb 2006 19:00:33 +0000 (19:00 +0000)]
infra: Clean up project setup
Mark Wooding [Sat, 28 Jan 2006 12:32:52 +0000 (12:32 +0000)]
Extract Subversion ignore data.
mdw [Fri, 7 Oct 2005 14:41:54 +0000 (14:41 +0000)]
Greetings and challenges.
mdw [Wed, 5 Oct 2005 09:59:00 +0000 (09:59 +0000)]
Packet loss percentages.
mdw [Tue, 4 Oct 2005 22:23:32 +0000 (22:23 +0000)]
Stupid bug.
mdw [Tue, 4 Oct 2005 22:22:24 +0000 (22:22 +0000)]
Various little fixes.
mdw [Tue, 4 Oct 2005 19:30:46 +0000 (19:30 +0000)]
Weird. tripe-keys got backdates somewhere.
mdw [Tue, 4 Oct 2005 18:34:32 +0000 (18:34 +0000)]
One that got away.
mdw [Tue, 4 Oct 2005 18:25:28 +0000 (18:25 +0000)]
More support scripts and other cool stuff.
mdw [Fri, 30 Sep 2005 14:41:12 +0000 (14:41 +0000)]
Backgrounded commands and RELOAD.
mdw [Thu, 29 Sep 2005 13:40:14 +0000 (13:40 +0000)]
Fix uninitialized variable in p_create.
mdw [Thu, 29 Sep 2005 13:34:06 +0000 (13:34 +0000)]
Various fixes.
mdw [Thu, 29 Sep 2005 13:33:26 +0000 (13:33 +0000)]
Fix for new key-data interface.
mdw [Fri, 16 Sep 2005 13:18:13 +0000 (13:18 +0000)]
Stupid labelling bug.
mdw [Fri, 16 Sep 2005 13:08:42 +0000 (13:08 +0000)]
Keepalives and pings.
mdw [Thu, 15 Sep 2005 15:27:55 +0000 (15:27 +0000)]
Fix segfault on failure to add peer specified by IP address.
mdw [Thu, 15 Sep 2005 14:26:38 +0000 (14:26 +0000)]
Don't build ethereal plugin if no ethereal headers found.
mdw [Mon, 12 Sep 2005 14:00:00 +0000 (14:00 +0000)]
General overhaul of tunnelling: allow multiple tunnel drivers in one daemon,
running at the same time.
mdw [Mon, 12 Sep 2005 01:25:47 +0000 (01:25 +0000)]
Improve the SLIP driver: allow dynamic creation of SLIP interfaces.
mdw [Sat, 3 Sep 2005 23:54:27 +0000 (23:54 +0000)]
Version bump; new email address.
mdw [Sat, 3 Sep 2005 23:52:20 +0000 (23:52 +0000)]
Support SLIP encapsulation as a tunnelling mechanism.
mdw [Sat, 30 Apr 2005 19:12:44 +0000 (19:12 +0000)]
Final docs tweaks.
mdw [Sat, 30 Apr 2005 19:06:32 +0000 (19:06 +0000)]
Issue ADD and KXSTART notifications in the right order!
mdw [Sat, 30 Apr 2005 19:02:17 +0000 (19:02 +0000)]
Fix stupid typo.
mdw [Sat, 30 Apr 2005 19:01:12 +0000 (19:01 +0000)]
Allow admin clients to filter out async messages. Send notifications
about interesting events. Rewrite all the messages to be more easily
machine-readable and document them all. Fix the Ethereal dissector for
the new Ethereal, and fix the build system for the new autotools.
mdw [Sat, 2 Oct 2004 09:44:52 +0000 (09:44 +0000)]
Mention that I wrote mallory's help message in the manpage.
mdw [Sat, 2 Oct 2004 09:38:48 +0000 (09:38 +0000)]
Use standard GNU uppercase for metavariables in usage strings. Some manpage
fixing. Write mallory's help message.
mdw [Sun, 12 Sep 2004 10:42:22 +0000 (10:42 +0000)]
Expunge CVS cruft.
mdw [Mon, 19 Apr 2004 08:49:40 +0000 (08:49 +0000)]
Ooops. Stupid bugs.
mdw [Mon, 19 Apr 2004 07:44:16 +0000 (07:44 +0000)]
Debianization stuff.
mdw [Sun, 18 Apr 2004 18:08:11 +0000 (18:08 +0000)]
Allow user-specified symmetric crypto algorithms.
mdw [Thu, 8 Apr 2004 01:36:29 +0000 (01:36 +0000)]
Expunge revision histories in files.
mdw [Sat, 3 Apr 2004 13:19:57 +0000 (13:19 +0000)]
Fix logrotate script.
mdw [Sat, 3 Apr 2004 12:35:13 +0000 (12:35 +0000)]
Support elliptic curve key exchange.
mdw [Sat, 3 Apr 2004 10:22:10 +0000 (10:22 +0000)]
Don't warn about boring errors from @accept@.
mdw [Sat, 29 Nov 2003 23:49:32 +0000 (23:49 +0000)]
Debianization.
mdw [Wed, 15 Oct 2003 09:31:24 +0000 (09:31 +0000)]
Remove buf, and add Ethereal analysis.
mdw [Wed, 15 Oct 2003 09:31:06 +0000 (09:31 +0000)]
Make forking work properly.
mdw [Wed, 15 Oct 2003 09:30:53 +0000 (09:30 +0000)]
Add support for Ethereal protocol analysis.
mdw [Wed, 15 Oct 2003 09:30:29 +0000 (09:30 +0000)]
Document the evil proxy.
mdw [Wed, 15 Oct 2003 09:29:38 +0000 (09:29 +0000)]
Cosmetic fix to changelog comment.
mdw [Wed, 15 Oct 2003 09:29:01 +0000 (09:29 +0000)]
Move buf stuff to Catacomb library.
mdw [Sun, 13 Jul 2003 11:54:40 +0000 (11:54 +0000)]
Version bump.
mdw [Sun, 13 Jul 2003 11:53:14 +0000 (11:53 +0000)]
Add protocol commentary.
mdw [Sun, 13 Jul 2003 11:44:24 +0000 (11:44 +0000)]
More docs updates.
mdw [Sun, 13 Jul 2003 11:38:39 +0000 (11:38 +0000)]
Fix formatting.
mdw [Sun, 13 Jul 2003 11:19:49 +0000 (11:19 +0000)]
Incopatible protocol fix! Include message type code under MAC tag to prevent
cut-and-paste from key-exchange messages to general packet transport.
mdw [Sun, 13 Jul 2003 11:18:10 +0000 (11:18 +0000)]
Fix init script a bit.
mdw [Sun, 13 Jul 2003 11:16:27 +0000 (11:16 +0000)]
Much documentation progress.
mdw [Sat, 17 May 2003 11:32:01 +0000 (11:32 +0000)]
Mention MTU.
mdw [Sat, 17 May 2003 11:27:42 +0000 (11:27 +0000)]
Fix runlevel.
mdw [Sat, 17 May 2003 11:13:52 +0000 (11:13 +0000)]
Don't try to run bogus startup scripts.
mdw [Sat, 17 May 2003 11:09:43 +0000 (11:09 +0000)]
Ignore Emacs backup files.
mdw [Sat, 17 May 2003 11:04:38 +0000 (11:04 +0000)]
Ship new configuration and startup kit.
mdw [Sat, 17 May 2003 11:02:12 +0000 (11:02 +0000)]
Document the new `-b' option.
mdw [Sat, 17 May 2003 11:01:28 +0000 (11:01 +0000)]
Handle flags on challenge timers correctly to prevent confusing the event
list.
mdw [Sat, 17 May 2003 11:00:47 +0000 (11:00 +0000)]
Don't make scary messages just because one key didn't work on a message:
only be frightened if they all fail. Set initial keyset refcount
correctly.
mdw [Sat, 17 May 2003 10:59:19 +0000 (10:59 +0000)]
Put a newline in the pidfile.