[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 2/2] scripts: Add 'publish' command.
From: |
Mark H Weaver |
Subject: |
Re: [PATCH 2/2] scripts: Add 'publish' command. |
Date: |
Sun, 29 Mar 2015 13:02:12 -0400 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux) |
address@hidden (Ludovic Courtès) writes:
> David Thompson <address@hidden> skribis:
>
>> +(define (render-nar request store-item)
>> + "Render archive of the store path corresponding to STORE-ITEM."
>> + (let ((store-path (string-append %store-directory "/" store-item)))
>> + ;; The ISO-8859-1 charset *must* be used otherwise HTTP clients will
>> + ;; interpret the byte stream as UTF-8 and arbitrarily change invalid
>> byte
>> + ;; sequences.
>> + (if (file-exists? store-path)
>> + (values '((content-type . (application/x-nix-archive
>> + (charset . "ISO-8859-1"))))
>> + (lambda (port)
>> + (write-file store-path port)))
>> + (not-found request))))
>
> This is OK for now, but I just realized that this will be blocking the
> server for the duration of the whole transfer. Someone could DoS you by
> substituting TeX Live. ;-)
>
> We’ll need a solution but it seems that it’ll be hard to avoid threads.
>
> Thoughts?
I haven't looked closely, but how about using subprocesses instead of
threads?
Mark
Re: [PATCH 0/2] Add 'guix publish' command, David Thompson, 2015/03/17