Skip to content
Snippets Groups Projects
  • Matt Harbison's avatar
    dfb38c48
    lfs: add an experimental knob to disable blob serving · dfb38c48
    Matt Harbison authored
    The use case here is the server admin may want to store the blobs elsewhere.  As
    it stands now, the `lfs.url` config on the client side is all that enforces this
    (the web.allow-* permissions aren't able to block LFS blobs without also
    blocking normal hg traffic).  The real solution to this is to implement the
    'verify' action on the client and server, but that's not a near term goal.
    Whether this is useful in its own right, and should be promoted out of
    experimental at some point is TBD.
    
    Since the other two tests that deal with LFS and `hg serve` are already complex
    and have #testcases, this seems like a good time to start a new test dedicated
    to access checks against the server.  Instead of conditionally wrapping the
    wire protocol handler, I put this in the handler because I'd still like to bring
    the annotations in from the evolve extension in order to set up the wrapping.
    The 400 status probably isn't great, but that's what it would be for existing
    `hg serve` instances without support for serving blobs.
    dfb38c48
    History
    lfs: add an experimental knob to disable blob serving
    Matt Harbison authored
    The use case here is the server admin may want to store the blobs elsewhere.  As
    it stands now, the `lfs.url` config on the client side is all that enforces this
    (the web.allow-* permissions aren't able to block LFS blobs without also
    blocking normal hg traffic).  The real solution to this is to implement the
    'verify' action on the client and server, but that's not a near term goal.
    Whether this is useful in its own right, and should be promoted out of
    experimental at some point is TBD.
    
    Since the other two tests that deal with LFS and `hg serve` are already complex
    and have #testcases, this seems like a good time to start a new test dedicated
    to access checks against the server.  Instead of conditionally wrapping the
    wire protocol handler, I put this in the handler because I'd still like to bring
    the annotations in from the evolve extension in order to set up the wrapping.
    The 400 status probably isn't great, but that's what it would be for existing
    `hg serve` instances without support for serving blobs.