[arch-general] Making pacman check multiple repos
Nathan Wayde
kumyco at konnichi.com
Sun Dec 13 08:09:42 EST 2009
On 13/12/09 12:02, Xavier wrote:
> On Sun, Dec 13, 2009 at 12:49 PM, Heiko Baums<lists at baums-on-web.de> wrote:
>> Am Sun, 13 Dec 2009 09:02:16 +0000
>> schrieb Nathan Wayde<kumyco at konnichi.com>:
>>
>>> Of-course this also raises the question of 'what happens when the
>>> master goes down?'.
>>
>> Or gets hacked?
>>
>
> The changes you talked about don't really make that problem any worse
> than it already is.
> If master goes down or gets hacked, all mirrors are syncing from it
> anyway (directly or indirectly) so you are fucked.
>
> If you worry about it going down, then you provide other masters (you
> can give money or hardware or hosting)
> If you worry about getting hacked, you use signatures (you can give
> money or code)
>
Then i propose another spin on it, layer the extra checksums on top of
what is there now.
Store a copy of the db file as e.g [checksum].db, this goes on a set of
master servers, when the user syncs with their mirror a checksum is
generated based on the db file that was downloaded, this checksum is
then used to get a the [checksum].db from a master server and this new
[checksum].db file is used to do the sync update.
The issue of a master going down is gone, if you really cannot download
from a master then let the user decides what they want to do - you have
a copy of a proper .db file so you could use it if the user decides they
want to.
In the event that that a corresponding [checksum].db does not exist on a
master then you know something has gone wrong. I can't imagine a master
would be out of date compared to another mirror (remember this is about
storage of the db files, not packages the idea is that [checksum].db
would be uploaded first) but in case it was then you could just add a
timestamp inside the .db (.lastupdate?) for extra verification.
That on on top signing sounds almost perfect to me.
More information about the arch-general
mailing list