monotone-commits-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Monotone-commits-diffs] Revision af41b4f1a97ee0d48c95009461bf233b4743b4


From: monotone
Subject: [Monotone-commits-diffs] Revision af41b4f1a97ee0d48c95009461bf233b4743b440
Date: Mon, 10 Nov 2008 04:52:20 +0100

-----------------------------------------------------------------
Revision: af41b4f1a97ee0d48c95009461bf233b4743b440
Ancestor: 66ff7f4640593afacdb056fefc069349e7d9ed9e
Author: Timothy Brownawell  <address@hidden>
Date: 2008-11-10T03:48:49
Branch: net.venge.monotone

Modified files:
        basic_io.hh cert.cc cert.hh database.cc netio.hh netsync.cc
        revision.cc revision.hh sanity.hh transforms.hh vocab.cc
        vocab.hh vocab_macros.hh

ChangeLog: 

Allow for origin-aware sanity checks, so garbage from the network can later
be made to result in bad_decode instead of informative_failure.

The sanity macros now look at a value 'made_from_t made_from', which can be
made_from_local or made_from_network. There is a global constant by this
name set to made_from_local, giving the expected behavior. If you hide this
with a made_from which happens to be set to made_from_network, all three
sanity macros will throw bad_decode instead of their ordinary behavior.
ATOMIC and ENCODING vocab types inherit origin_aware to get a public
made_from, and have a new constructor that takes (string, made_from_t).

This uses a variable you can redefine instead of functions you can
redefine/inherit because foo.E() syntax can't work due to not wanting to
evaluate the format argument if the condition is OK.

Attachment: txtKWbIZ5pjeU.txt
Description: Diff [66ff7f4640593afacdb056fefc069349e7d9ed9e] -> [af41b4f1a97ee0d48c95009461bf233b4743b440]


reply via email to

[Prev in Thread] Current Thread [Next in Thread]