Skip to content
  • Lasse Collin's avatar
    dcd75134d26e
    xz: Add support for sandboxing with Capsicum (disabled by default). · dcd75134d26e
    Lasse Collin authored
    In the v5.2 branch this feature is considered experimental
    and thus disabled by default.
    
    The sandboxing is used conditionally as described in main.c.
    This isn't optimal but it was much easier to implement than
    a full sandboxing solution and it still covers the most common
    use cases where xz is writing to standard output. This should
    have practically no effect on performance even with small files
    as fork() isn't needed.
    
    C and locale libraries can open files as needed. This has been
    fine in the past, but it's a problem with things like Capsicum.
    io_sandbox_enter() tries to ensure that various locale-related
    files have been loaded before cap_enter() is called, but it's
    possible that there are other similar problems which haven't
    been seen yet.
    
    Currently Capsicum is available on FreeBSD 10 and later
    and there is a port to Linux too.
    
    Thanks to Loganaden Velvindron for help.
    dcd75134d26e
    xz: Add support for sandboxing with Capsicum (disabled by default).
    Lasse Collin authored
    In the v5.2 branch this feature is considered experimental
    and thus disabled by default.
    
    The sandboxing is used conditionally as described in main.c.
    This isn't optimal but it was much easier to implement than
    a full sandboxing solution and it still covers the most common
    use cases where xz is writing to standard output. This should
    have practically no effect on performance even with small files
    as fork() isn't needed.
    
    C and locale libraries can open files as needed. This has been
    fine in the past, but it's a problem with things like Capsicum.
    io_sandbox_enter() tries to ensure that various locale-related
    files have been loaded before cap_enter() is called, but it's
    possible that there are other similar problems which haven't
    been seen yet.
    
    Currently Capsicum is available on FreeBSD 10 and later
    and there is a port to Linux too.
    
    Thanks to Loganaden Velvindron for help.
Loading