Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add granular access control for nix store #9287

Draft
wants to merge 61 commits into
base: master
Choose a base branch
from
Draft

Commits on Nov 1, 2023

  1. Configuration menu
    Copy the full SHA
    20e574e View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    337a127 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    5024921 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    552e4e5 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    61a3cea View commit details
    Browse the repository at this point in the history

Commits on Nov 2, 2023

  1. Configuration menu
    Copy the full SHA
    0be3e5d View commit details
    Browse the repository at this point in the history

Commits on Nov 14, 2023

  1. Add tests/acls.sh

    This commit also enables acls in tests/init.sh which is common for all the tests. Maybe there is a way to only enable it for acls tests.
    
    Co-Authored-By: Alexander Bantyev <[email protected]>
    ylecornec and balsoft committed Nov 14, 2023
    Configuration menu
    Copy the full SHA
    bd56e3e View commit details
    Browse the repository at this point in the history

Commits on Nov 15, 2023

  1. acls grant/revoke: Error if group or user does not exists

    The User (resp Group) constructor will check the return value of getpwnam (resp getgrnam) and fail with an error message in case of error.
    ylecornec committed Nov 15, 2023
    Configuration menu
    Copy the full SHA
    db3a522 View commit details
    Browse the repository at this point in the history

Commits on Nov 16, 2023

  1. Configuration menu
    Copy the full SHA
    aba3181 View commit details
    Browse the repository at this point in the history

Commits on Nov 21, 2023

  1. Configuration menu
    Copy the full SHA
    8dbea38 View commit details
    Browse the repository at this point in the history

Commits on Nov 22, 2023

  1. Configuration menu
    Copy the full SHA
    14e474c View commit details
    Browse the repository at this point in the history

Commits on Nov 23, 2023

  1. Acls: Refactor integration tests

    - comment out failing tests
    - split the test script in multiple strings
    - add a test that should fail if a permission is missing from a direct runtime dependency
    ylecornec committed Nov 23, 2023
    Configuration menu
    Copy the full SHA
    afd828b View commit details
    Browse the repository at this point in the history
  2. Acls: disable non integration tests for now

    These require enabling `acls` for all the tests (even non acls ones). Which fails at the moment (but should not).
    ylecornec committed Nov 23, 2023
    Configuration menu
    Copy the full SHA
    5d97559 View commit details
    Browse the repository at this point in the history

Commits on Nov 30, 2023

  1. Add json() to AccessStatus

    balsoft committed Nov 30, 2023
    Configuration menu
    Copy the full SHA
    65fe86f View commit details
    Browse the repository at this point in the history
  2. Add protectByDefault setting

    balsoft committed Nov 30, 2023
    Configuration menu
    Copy the full SHA
    db20d22 View commit details
    Browse the repository at this point in the history
  3. Add runtime closure invariant

    balsoft committed Nov 30, 2023
    Configuration menu
    Copy the full SHA
    1102fdd View commit details
    Browse the repository at this point in the history
  4. Run acls.sh test properly

    balsoft committed Nov 30, 2023
    Configuration menu
    Copy the full SHA
    6293167 View commit details
    Browse the repository at this point in the history

Commits on Dec 5, 2023

  1. Configuration menu
    Copy the full SHA
    9d6c011 View commit details
    Browse the repository at this point in the history
  2. Acls: explicitely access future or current permissions

    Before this, the getAccessStatus/setAccessStatus functions were testing the presence of the path to decide whether to access the current or future permissions. This can be incorrect if the path is already present at the start of the build. So we now decide at call site which set of permission to use.
    ylecornec committed Dec 5, 2023
    Configuration menu
    Copy the full SHA
    1ed4965 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    f9e2c4b View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    0c625b0 View commit details
    Browse the repository at this point in the history
  5. Acls: Add ShouldSync path status

    If a path was already present at the beginning of the build, it does not need to be added to the store so its permissions may not be updated.
    We add a check to compate future and current permissions and repair the paths if needed to synchronize the permission.
    ylecornec committed Dec 5, 2023
    Configuration menu
    Copy the full SHA
    7ea4b05 View commit details
    Browse the repository at this point in the history

Commits on Dec 6, 2023

  1. Configuration menu
    Copy the full SHA
    a3d3b71 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    5f8eef5 View commit details
    Browse the repository at this point in the history

Commits on Dec 7, 2023

  1. Configuration menu
    Copy the full SHA
    2c00ec5 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    228d8af View commit details
    Browse the repository at this point in the history

Commits on Dec 8, 2023

  1. ACL tests

    balsoft committed Dec 8, 2023
    Configuration menu
    Copy the full SHA
    fccba28 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    7653b07 View commit details
    Browse the repository at this point in the history

Commits on Dec 13, 2023

  1. Prevent segfault

    balsoft committed Dec 13, 2023
    Configuration menu
    Copy the full SHA
    3994ce1 View commit details
    Browse the repository at this point in the history
  2. Fix darwin build

    balsoft committed Dec 13, 2023
    Configuration menu
    Copy the full SHA
    3a4914d View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    cd72876 View commit details
    Browse the repository at this point in the history

Commits on Dec 14, 2023

  1. Fix perl/default.nix

    ylecornec committed Dec 14, 2023
    Configuration menu
    Copy the full SHA
    eff385d View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    4b66941 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    985fe93 View commit details
    Browse the repository at this point in the history
  4. Acls: AccessStatus setter/getter

    If a path already exists, set permissions right away instead of writing them to the future permissions map and synchronize latter.
    ylecornec committed Dec 14, 2023
    Configuration menu
    Copy the full SHA
    0b92adf View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    834219a View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    f9d3f55 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    96cb115 View commit details
    Browse the repository at this point in the history

Commits on Dec 15, 2023

  1. Acls: permission check when importing a folder with builtins.path

    If a folder was already imported to the store and we do not have permission to this store path, we may be able to edit the permissions if we have read access to all the files of this folder.
    ylecornec committed Dec 15, 2023
    Configuration menu
    Copy the full SHA
    2820eb4 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    c1912d8 View commit details
    Browse the repository at this point in the history

Commits on Dec 18, 2023

  1. Configuration menu
    Copy the full SHA
    9c75782 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    8ee4043 View commit details
    Browse the repository at this point in the history
  3. Fix perl bindings build

    balsoft committed Dec 18, 2023
    Configuration menu
    Copy the full SHA
    af84767 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    f967eb6 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    d167252 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    53c8eb5 View commit details
    Browse the repository at this point in the history

Commits on Dec 21, 2023

  1. Acls: reactivate ensureAccess and move the call to setAccessStatus

    This way we only call ensureAccess in cases where the permissions are updated. In particular, we do not want to call ensureAccess if you depend on an already built derivation you could not build yourself, but want to use its public outputs.
    ylecornec committed Dec 21, 2023
    Configuration menu
    Copy the full SHA
    8841d0d View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    9f63760 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    045f1e8 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    e90e479 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    df135f2 View commit details
    Browse the repository at this point in the history

Commits on Jan 12, 2024

  1. Configuration menu
    Copy the full SHA
    d14704c View commit details
    Browse the repository at this point in the history

Commits on Jan 16, 2024

  1. Configuration menu
    Copy the full SHA
    51419e5 View commit details
    Browse the repository at this point in the history

Commits on Feb 2, 2024

  1. Configuration menu
    Copy the full SHA
    5ef3f14 View commit details
    Browse the repository at this point in the history

Commits on Feb 7, 2024

  1. Configuration menu
    Copy the full SHA
    7a49064 View commit details
    Browse the repository at this point in the history
  2. Fix getUserName behavior

    balsoft committed Feb 7, 2024
    Configuration menu
    Copy the full SHA
    c5f8a40 View commit details
    Browse the repository at this point in the history

Commits on Feb 13, 2024

  1. Configuration menu
    Copy the full SHA
    5333b25 View commit details
    Browse the repository at this point in the history

Commits on Feb 20, 2024

  1. Configuration menu
    Copy the full SHA
    9ca2e82 View commit details
    Browse the repository at this point in the history

Commits on Mar 14, 2024

  1. Configuration menu
    Copy the full SHA
    a8ff15f View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    946f4f7 View commit details
    Browse the repository at this point in the history
  3. chmod if chown fails

    balsoft committed Mar 14, 2024
    Configuration menu
    Copy the full SHA
    5d5bbbc View commit details
    Browse the repository at this point in the history