Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • privatestorage/tahoe-directory
1 result
Show changes
Commits on Source (10)
# Revision history for tahoe-directory # Revision history for tahoe-directory
## 0.1.0.0 -- YYYY-mm-dd ## 0.1.0.0 -- 2023-08-17
* First version. Released on an unsuspecting world. * First version. Released on an unsuspecting world.
* Support for parsing and serializing CHK and SDMF directory capability strings.
* Support for parsing and serializing directories
(lists of name, capability, metadata tuples).
Copyright (c) 2023, PrivateStorage.io Inc. Copyright 2023
Jean-Paul Calderone
Shae Erisson
All rights reserved. All rights reserved.
......
...@@ -12,7 +12,10 @@ However, its APIs are intended to be easy to integrate with such an implementati ...@@ -12,7 +12,10 @@ However, its APIs are intended to be easy to integrate with such an implementati
### What is the current state? ### What is the current state?
* All implementation tasks are pending. * Verify and read CHK directory capability strings can be parsed and serialized.
* Verify, read, and write SDMF directory capability strings can be parsed and serialized.
* Directories themselves can be parsed and serialized.
* However, capability strings and metadata in directory entries are left as byte strings.
## Why does it exist? ## Why does it exist?
......
...@@ -358,11 +358,11 @@ ...@@ -358,11 +358,11 @@
"pre-commit-hooks": "pre-commit-hooks" "pre-commit-hooks": "pre-commit-hooks"
}, },
"locked": { "locked": {
"lastModified": 1686149618, "lastModified": 1692187439,
"narHash": "sha256-/IHWacNutk3tklouWOgClp7FnOH+Yk6If13kKJMSEi8=", "narHash": "sha256-m7c4EPFWmB1OmV3dSYQk2qtXR53xOjZdLCjMtzHSK34=",
"ref": "main", "ref": "main",
"rev": "49696f704eb965f57d729871c6d450ac0aff2b68", "rev": "408f3deab2e2f6ae60349776dde02c44f71fb386",
"revCount": 12, "revCount": 16,
"type": "git", "type": "git",
"url": "https://whetstone.private.storage/jcalderone/hs-flake-utils.git" "url": "https://whetstone.private.storage/jcalderone/hs-flake-utils.git"
}, },
...@@ -819,15 +819,16 @@ ...@@ -819,15 +819,16 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1686164259, "lastModified": 1692123220,
"narHash": "sha256-T0U5B/DH+XDEXfBG7cHlTcMec4aUTDd+HH8Bsv0C71Y=", "narHash": "sha256-XRR4oGgBc6O4DMM0DyS5STMYZPR6xjEBKAQ+N+0DzZ4=",
"ref": "refs/heads/main", "ref": "refs/tags/0.1.0.0",
"rev": "f0a11218007f6c2fe0f6b5e09e0993fe253f6e23", "rev": "21c23b269e88fe77c116451167b0d2027fdca4b3",
"revCount": 9, "revCount": 22,
"type": "git", "type": "git",
"url": "https://whetstone.private.storage/PrivateStorage/tahoe-capabilities" "url": "https://whetstone.private.storage/PrivateStorage/tahoe-capabilities"
}, },
"original": { "original": {
"ref": "refs/tags/0.1.0.0",
"type": "git", "type": "git",
"url": "https://whetstone.private.storage/PrivateStorage/tahoe-capabilities" "url": "https://whetstone.private.storage/PrivateStorage/tahoe-capabilities"
} }
...@@ -894,17 +895,18 @@ ...@@ -894,17 +895,18 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1686166709, "lastModified": 1692193506,
"narHash": "sha256-z+QzmnfmLuqqNFWvlYAVZoS7jBHEj54OZest/sKgDqk=", "narHash": "sha256-0UDrh4ZcBHU+4yrLfVe+9wkYF4K1QJoecdOI083Gu5w=",
"ref": "refs/heads/main", "ref": "refs/tags/0.2.1.0",
"rev": "8f73a87054546c875c3b0284ee4d2f3e0483d963", "rev": "96941786b56e9fb949d62a14bacd5ed2c81cd7ab",
"revCount": 93, "revCount": 112,
"type": "git", "type": "git",
"url": "https://whetstone.private.storage/PrivateStorage/tahoe-ssk.git" "url": "https://whetstone.private.storage/PrivateStorage/tahoe-ssk"
}, },
"original": { "original": {
"ref": "refs/tags/0.2.1.0",
"type": "git", "type": "git",
"url": "https://whetstone.private.storage/PrivateStorage/tahoe-ssk.git" "url": "https://whetstone.private.storage/PrivateStorage/tahoe-ssk"
} }
} }
}, },
......
...@@ -11,12 +11,12 @@ ...@@ -11,12 +11,12 @@
inputs.nixpkgs.follows = "hs-flake-utils/nixpkgs"; inputs.nixpkgs.follows = "hs-flake-utils/nixpkgs";
}; };
tahoe-ssk = { tahoe-ssk = {
url = "git+https://whetstone.private.storage/PrivateStorage/tahoe-ssk.git"; url = "git+https://whetstone.private.storage/PrivateStorage/tahoe-ssk?ref=refs/tags/0.2.1.0";
inputs.nixpkgs.follows = "hs-flake-utils/nixpkgs"; inputs.nixpkgs.follows = "hs-flake-utils/nixpkgs";
inputs.tahoe-chk.follows = "tahoe-chk"; inputs.tahoe-chk.follows = "tahoe-chk";
}; };
tahoe-capabilities = { tahoe-capabilities = {
url = "git+https://whetstone.private.storage/PrivateStorage/tahoe-capabilities"; url = "git+https://whetstone.private.storage/PrivateStorage/tahoe-capabilities?ref=refs/tags/0.1.0.0";
inputs.nixpkgs.follows = "hs-flake-utils/nixpkgs"; inputs.nixpkgs.follows = "hs-flake-utils/nixpkgs";
}; };
}; };
...@@ -74,15 +74,6 @@ ...@@ -74,15 +74,6 @@
-- This file is auto-generated by the flake devShell's shellHook. Do -- This file is auto-generated by the flake devShell's shellHook. Do
-- not edit this file. Make changes in flake.nix. -- not edit this file. Make changes in flake.nix.
tests: true tests: true
packages:
-- These aren't released on hackage yet so we have to get them
-- another way. Here, we get them from the Nix store.
-- tahoe-chk
${tahoe-chk}
-- tahoe-ssk
${tahoe-ssk}
-- tahoe-capabilities
${tahoe-capabilities}
EOF EOF
''; '';
} }
...@@ -91,21 +82,12 @@ ...@@ -91,21 +82,12 @@
# Using the working directory of `nix run`, do a build with cabal and # Using the working directory of `nix run`, do a build with cabal and
# then run the test suite. # then run the test suite.
apps.cabal-test = { apps.cabal-test = hslib.apps.cabal-test {
type = "app"; preBuild = ''
program = "${ nix run .#generate-cabal-project
pkgs.writeShellApplication { '';
name = "cabal-build-and-test";
runtimeInputs = with pkgs; [pkg-config haskell.compiler.${ghcVersion} cabal-install];
text = ''
nix run .#generate-cabal-project
cabal update hackage.haskell.org
cabal build
cabal run tests
'';
}
}/bin/cabal-build-and-test";
}; };
apps.release = hslib.apps.release {};
}); });
} }
...@@ -18,9 +18,9 @@ name: tahoe-directory ...@@ -18,9 +18,9 @@ name: tahoe-directory
-- See the Haskell package versioning policy (PVP) for standards -- See the Haskell package versioning policy (PVP) for standards
-- guiding when and how versions should be incremented. -- guiding when and how versions should be incremented.
-- https://pvp.haskell.org -- https://pvp.haskell.org
-- PVP summary: +-+------- breaking API changes -- PVP summary: +-+------- breaking API changes
-- | | +----- non-breaking API additions -- | | +----- non-breaking API additions
-- | | | +--- code changes with no API change -- | | | +--- code changes with no API change
version: 0.1.0.0 version: 0.1.0.0
-- A short (one-line) description of the package. -- A short (one-line) description of the package.
...@@ -47,18 +47,20 @@ license: BSD-3-Clause ...@@ -47,18 +47,20 @@ license: BSD-3-Clause
license-file: LICENSE license-file: LICENSE
-- The package author(s). -- The package author(s).
author: Jean-Paul Calderone author: Jean-Paul Calderone and others
-- An email address to which users can send suggestions, bug reports, and patches. -- An email address to which users can send suggestions, bug reports, and patches.
maintainer: jean-paul@private.storage maintainer: exarkun@twistedmatrix.com
-- A copyright notice. -- A copyright notice.
-- copyright: copyright: 2023 The Authors
category: Cryptography,Library,Parsers,Security category: Cryptography,Library,Parsers,Security
build-type: Simple build-type: Simple
-- Extra doc files to be distributed with the package, such as a CHANGELOG or a README. -- Extra doc files to be distributed with the package, such as a CHANGELOG or a README.
extra-doc-files: CHANGELOG.md extra-doc-files:
CHANGELOG.md
README.md
-- Extra source files to be distributed with the package, such as examples, or -- Extra source files to be distributed with the package, such as examples, or
-- a tutorial module. In our case, test data. -- a tutorial module. In our case, test data.
...@@ -82,7 +84,7 @@ common language ...@@ -82,7 +84,7 @@ common language
source-repository head source-repository head
type: git type: git
location: location:
https://whetstone.private.storage/PrivateStorage/tahoe-directory https://whetstone.private.storage/PrivateStorage/tahoe-directory.git
library library
import: warnings import: warnings
...@@ -95,13 +97,13 @@ library ...@@ -95,13 +97,13 @@ library
Tahoe.Directory.Internal.Types Tahoe.Directory.Internal.Types
build-depends: build-depends:
, base >=4 && <5.0 , base >=4 && <5.0
, bytestring , bytestring >=0.10.8.2 && <0.11
, megaparsec , megaparsec >=8.0 && <9.3
, tahoe-capabilities , tahoe-capabilities >=0.1 && <0.2
, tahoe-chk , tahoe-chk >=0.1 && <0.2
, tahoe-ssk , tahoe-ssk >=0.2.1.0 && <0.3
, text , text >=1.2.3.1 && <1.3
test-suite tahoe-directory-test test-suite tahoe-directory-test
-- Import common warning flags. -- Import common warning flags.
...@@ -132,13 +134,13 @@ test-suite tahoe-directory-test ...@@ -132,13 +134,13 @@ test-suite tahoe-directory-test
-- Test dependencies. -- Test dependencies.
build-depends: build-depends:
, base , base >=4 && <5.0
, bytestring , bytestring >=0.10.8.2 && <0.11
, hedgehog , hedgehog >=1.0.3 && <1.1
, megaparsec , megaparsec >=8.0 && <9.3
, tahoe-capabilities , tahoe-capabilities >=0.1 && <0.2
, tahoe-directory , tahoe-directory
, tasty , tasty >=1.2.3 && <1.5
, tasty-hedgehog , tasty-hedgehog >=1.0.0.2 && <1.2
, tasty-hunit , tasty-hunit >=0.10.0.2 && <0.11
, text , text >=1.2.3.1 && <1.3