Hi,
        Over the WE I have been changing a few things on emu...
        Three goals here:
                1) Make the installation and update process MITM proof
                [1]
                2) Get rid of the current load-balancer (I wrote it in
                php and it sucks...) and limit the number of redirects
                to follow to download a file
                3) Gradually get rid of all the backward compatibility
                stuffs we keep server-side
        Hopefully that means less hits on emu and faster downloads.

        From now on all the files are downloaded from
        https://checksums.freenetproject.org/latest/
        ... And no, don't ask for it there is no directory listing... We
        need to be able to change the URL we use more easily than now;
        Hence I've simplified to the minimum the naming scheme: you ask
        for the filename and that's it; they are no subdirectories
        anymore and latest version of plugins can be accessed directly.

        Before I can finish up and move on they are three things which
        should be done:
                1) update.cmd needs to be updated; imho it could be
                rewritten from scratch, using update.sh as model. I can
                precisely describe why it sucks if needed. We want all
                the scripts to use the Sha1Test class
                2) The node should be updated to download plugins from
                the new URL and should check the checksums it provides
                3) users should be asked to double-check that they have
                an up to date updating script and that *it works*; It's
                probably something we want to talk about in the next
                release-announcement message.
        Once those are done I will get rid of two vhosts on emu
        (downloads.freenetproject.org and get.freenetproject.org) and
        simplify *a lot* the release-building scripts. I'll create a
        vhost dedicated to the 0.5 legacy code if someone want it
        (complain now or never)... but we can't reasonably keep the
        current file hierarchy.

        Would anyone object if I force the installer to be downloaded
        from emu and disable file-listing in the directory where it will
        be ? Lately I heard of weird bugs from some users... and it
        turns out they were using a 7 month old installer to set their
        nodes up... they used some download-directory (like zdnet.com)
        and got their old, deprecated installer from them! Needless to
        say there isn't much we can do against that... but checking
        referrers and disabling file-listing is something we can do
        reasonably easily.

        Are Zero3Cool or Juiceman still around and willing to tackle the
        update.cmd part or shall I add it to my todo?

        Does anyone want to do the plugins part? Bombe? dbkr?

NextGen$
[1] Here is the security model:
The certificate of checksums.freenetproject.org has been signed by a
real CA... We bundle it in the installer and verify the certificates
with it (It is valid 'till 2036); Arguably we should check some CRLs
too...

Files whose extensions are .sig and .sha1 are downloaded directly
from emu, other filetypes lead to a direct redirection to one of the
mirrors. We check the file we got from the mirror against the SHA1
checksum we downloaded securely from emu.

Everything is handled by apache through RewriteRules, no php vodoo is
involved anymore :)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
URL: 
<https://emu.freenetproject.org/pipermail/devl/attachments/20080601/fb5e13ad/attachment.pgp>

Reply via email to