monotone-devel
[Top][All Lists]
Advanced

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

[Monotone-devel] I'm sorry, I fscked up.


From: Richard Levitte - VMS Whacker
Subject: [Monotone-devel] I'm sorry, I fscked up.
Date: Tue, 19 Apr 2005 23:39:23 +0200 (CEST)

Hello,

I have to appologise to everyone involved with the development of
monotone.  I've effectively stopped you from making any further
updates, you are now locked to revision
e018e6f9690d07166a0eecef6627493445db12ad as soon as it is in your
database unless you do what I will describe below.

The cause of the commotion is that I played around with the testresult
cert on revision e018e6f9690d07166a0eecef6627493445db12ad, basically
stating that it tested OK on my system.  I completely missed the
documentation specifically stating that once there is a true
testresult in a line of development, 'monotone update' would only
update to newer revisions where the same testresult cert (with the
same signer, i.e. me!) is set to true.

So, this was a really efficient way to DoS development with monotone
in it's standard setup...  *sigh*

OK, the quick fix for the problem is to insert the following
definition of accept_testresult_change in your monotonerc.  Whether
you make that $HOME/.monotonerc (deprecated),
$HOME/.monotone/monotonerc or MT/monotonerc is up to you:

  function accept_testresult_change(old_results, new_results)
     for test,res in pairs(old_results)
     do
        if test == "address@hidden"
        then
           return true
        end
        if res == true and new_results[test] ~= true
        then
           return false
        end
     end
     return true
  end

Of course, I realise that it only accepts testresult certs signed by
me.  Anyone else can do the exact same thing I did and cause the exact
same havoc.  On the other hand, testresults are quite nifty.  A
sloppier version is, of course, the following.  It's up to you if you
really want that:

  function accept_testresult_change(old_results, new_results)
     return true
  end


Again, my profoundest appologies for messing things up like this.

Since the documentation on this was confusing to me, I'll do penance
and see if I can write something better.  I will probably need some
help with proffreading.

Cheers,
Richard

-----
Please consider sponsoring my work on free software.
See http://www.free.lp.se/sponsoring.html for details.

-- 
Richard Levitte                         address@hidden
                                        http://richard.levitte.org/

"When I became a man I put away childish things, including
 the fear of childishness and the desire to be very grown up."
                                                -- C.S. Lewis




reply via email to

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