David Dworken
cb16984f77
Pipe ctx into the slsa code to avoid context.TODO()
2022-09-21 20:22:34 -07:00
David Dworken
d226fab7ec
Pipe ctx into the Update function
2022-09-21 20:20:43 -07:00
David Dworken
8002c5e942
Add homedir to context
2022-09-21 20:19:11 -07:00
David Dworken
569e2f3e61
Add tests for offline behavior
2022-09-21 20:09:49 -07:00
David Dworken
4fceaa3110
Run tests without CGO since that is how prod is built + fix broken tests from previous commit
2022-09-21 19:58:10 -07:00
David Dworken
fb401dab88
Resume using the modernc.org sqlite driver so it works with CGO_ENABLED=0
2022-09-21 19:49:24 -07:00
David Dworken
486feb3fea
Add missing new lines
2022-09-21 19:13:53 -07:00
David Dworken
1abd2a5376
Fix table format tests
2022-09-20 23:46:17 -07:00
David Dworken
ceb1becfa6
Fix ctx wiring so installs work properly
2022-09-20 23:30:57 -07:00
David Dworken
694c2e2679
Untested: ctx wired through
2022-09-20 22:28:40 -07:00
David Dworken
e47bcfc993
Part way through migrating to context
2022-09-20 22:03:15 -07:00
David Dworken
42c6f95eb4
Remove time.Sleep that was working around an old already fixed bug
2022-09-20 21:38:04 -07:00
David Dworken
5391ecd220
First version of working redaction with passing integration tests
2022-09-19 22:49:48 -07:00
David Dworken
1bf510ff8a
Better offline handling, implemented the local portion of delete, and maybe fixed the bug when running tests on github actions
2022-09-18 09:42:24 -07:00
David Dworken
a445118e91
Remove outdated TODO
2022-09-17 23:05:50 -07:00
David Dworken
af0d20952f
Remove the last bit of GITHUB_ACTION dependent code
2022-09-17 22:50:01 -07:00
David Dworken
55f0f97d29
Fix tests for importing so they pass on github actions
2022-09-17 21:56:39 -07:00
David Dworken
d4302501eb
Improve table matching for tests and attempt to fix the tests that fail only on github actions
2022-09-17 12:49:27 -07:00
David Dworken
5b1c9140b3
Support runtimes that contain a period
2022-09-17 12:37:02 -07:00
David Dworken
0b3ccb63a5
Skip reading history files if they don't exist
2022-09-17 12:22:29 -07:00
David Dworken
6093d06110
Remove outdated TODO + fix TODO to add tests for the table output
2022-09-17 12:19:29 -07:00
David Dworken
bad123a3dd
Add tests for history importing and add output showing the number of imported entries
2022-09-17 11:49:31 -07:00
David Dworken
23315a7e75
Fix code signing bug and add the implementation for initial importing of existing history files
2022-09-17 11:21:42 -07:00
David Dworken
de1a6f3da8
Add info on bypassing SLSA to the error message
2022-09-16 23:02:52 -07:00
David Dworken
5a38a4a754
Treat EOF error as an offline error
2022-09-10 18:07:45 -07:00
David Dworken
e22dd10c18
More format specifiers
2022-09-07 23:32:25 -07:00
David Dworken
d54bece705
Add HomeDirectory to HistoryEntry so we can query with or without ~/ in the cwd atom
2022-09-07 23:20:31 -07:00
David Dworken
e063f34997
Improve datetime parsing for the after: and before: search atoms
2022-09-07 22:53:48 -07:00
David Dworken
aef13b16d0
Offline first! Now if a devide is offline it will detect this and upload the entries later
2022-09-04 18:37:46 -07:00
David Dworken
74ed49dd1a
Revert "Add completely broken support for an incrementing id"
...
This reverts commit da624cf8aa
. This commit was just added for history purposes.
2022-09-04 15:40:30 -07:00
David Dworken
da624cf8aa
Add completely broken support for an incrementing id
2022-09-04 15:40:18 -07:00
David Dworken
83a0beff43
Bump go version, remove the vendored slsa library, and depend on a newer copy with a different API. Updates now work.
2022-09-02 00:15:58 -07:00
David Dworken
b63cc313fd
Better timestamp stripping
2022-09-01 23:22:53 -07:00
David Dworken
e8f001c78b
Add basic support for stripping out HISTTIMEFORMAT prefixes
2022-06-12 21:28:19 -07:00
David Dworken
3f32891469
Revert "Half implement querying based on relative and non-relative paths"
...
This reverts commit af05d823fe
. I will pick up work on this later.
2022-06-12 20:28:40 -07:00
David Dworken
af05d823fe
Half implement querying based on relative and non-relative paths
2022-06-12 20:28:33 -07:00
David Dworken
ad7e412855
Add help command
2022-06-05 18:26:02 -07:00
David Dworken
5e44e7ef36
Support queries as part of the export command + more info sent to the banner endpoint
2022-06-05 18:05:06 -07:00
David Dworken
b471eea2ee
Enable 'strict' mode for zsh
2022-06-04 23:11:26 -07:00
David Dworken
0fac3b7286
Make query params required rather than having weird undefined behavior
2022-06-04 23:03:05 -07:00
David Dworken
84182ba5c3
Delete TODO for a test that I don't think is needed
2022-06-04 22:30:20 -07:00
David Dworken
de606c52a7
Improve error message instead of panic
2022-06-04 22:29:07 -07:00
David Dworken
00f6bed62c
Add a test for the install.py script
2022-06-04 22:27:04 -07:00
David Dworken
30ee41a6ea
Automatic retries when the DB is busy
2022-06-04 22:06:50 -07:00
David Dworken
c918c5042e
Fix test on incorrect update output + prevent downgrades
2022-06-04 21:42:40 -07:00
David Dworken
de15305fb5
Patch vendored slsa verifier and fix updates
2022-06-04 21:31:16 -07:00
David Dworken
e638b9795b
Manually vendor the slsa_verifier lib so we can make tweaks to it
2022-06-04 21:21:49 -07:00
David Dworken
dd4e2e9278
Add TODO + better error messages
2022-06-04 20:35:47 -07:00
David Dworken
05c67895c8
Fix bug with newly opened terminals where user hits control-c immediately in new terminal
2022-05-27 23:05:28 -07:00
David Dworken
0a31e8a787
Skip flaky test in github actions
2022-05-27 23:00:10 -07:00
David Dworken
e7de3d9d42
Bump allowable size difference (+ fix linter errors)
2022-05-27 22:41:52 -07:00
David Dworken
1da703e9c2
Working update code for macos
2022-05-26 23:45:08 -07:00
David Dworken
677b596d49
Debugging code signing, added error checking for my xattr code and discovered that arm xattrs aren't being persisted
2022-05-22 20:08:30 -07:00
David Dworken
47d13a9c27
Passing the basic dump testss
2022-05-22 19:45:46 -07:00
David Dworken
feaa8b2bd1
Add a DB dump test that passes on zsh (is failing for an unknown reason on bash currently) + fix backup and restore for WAL files + better offline support
2022-05-01 22:37:26 -04:00
David Dworken
46d7e9e013
Tests passing when being run offline, still not integrated with the new API endpoints yet
2022-04-28 11:26:55 -07:00
David Dworken
0499010981
Remove the 'e' prefix from api endpoints + implement backend APIs for clean loading of all data from other instances
2022-04-28 10:56:59 -07:00
David Dworken
87c8c961e9
Delete already done todo
2022-04-28 10:01:58 -07:00
David Dworken
4cb5773632
Add hex parsing for xattr setting + log rather than error when offline
2022-04-28 09:51:01 -07:00
David Dworken
93e59f37ec
Fix downloading the xattr file
2022-04-25 22:21:17 -07:00
David Dworken
c79a510b9c
Maybe working xattr support for code signing
2022-04-25 22:03:31 -07:00
David Dworken
74caf87eda
Add basic xattr implementation (commiting to save it, about to delete most of it)
2022-04-25 21:42:28 -07:00
David Dworken
ff419e71f9
More debugging info for failing to install the update
2022-04-21 22:52:38 -07:00
David Dworken
980d299543
Run the command in the background for zsh
2022-04-21 22:25:24 -07:00
David Dworken
fe93be79f4
Support a host: atom as an alias for the hostname: atom
2022-04-21 21:10:25 -07:00
David Dworken
6a18504755
Enable WAL for increased concurrency, and add additional expectedOutput option for testDisplayTable
2022-04-20 22:13:10 -07:00
David Dworken
edfbf7769e
Fix updating on m1 darwin
...
For some reason, calling unlink() on the binary causes all future spawned processes to die with a "signal: killed" error. I have no idea why this happens, but it doesn't seem to be necessary to call
unlink on darwin, so I'm just tweaking this to not call unlink on darwin. Also remove tidy from the pre-commit since macos ships with a truly ancient version of tidy
2022-04-20 21:57:37 -07:00
David Dworken
94c88c76fe
Skip testUpdate when running on linux/arm64 since that isn't a supported platform
2022-04-20 20:56:01 -07:00
David Dworken
89fd59a132
Disabe CGO since it is incompatible with cross-compiling for darwin and swap to a non-cgo sqlite library
2022-04-20 17:28:19 -07:00
David Dworken
10ee085d4c
Remove unnecessary set -m calls, speed up the local make acttest command, embed ReleaseVersion into the test server to fix the test failures on macos, and update install to be resistant to bashrc and zshrc not existing
2022-04-19 21:05:54 -07:00
David Dworken
0c0943fc79
Fix failing test + fix syntax error in workflow
2022-04-19 19:21:39 -07:00
David Dworken
62c29dc68c
Enable some previously disabled tests that I think should now pass on macos
2022-04-18 23:07:39 -07:00
David Dworken
77f9ee707c
Fix date in both places :)
2022-04-18 22:50:26 -07:00
David Dworken
d6a142dfe7
Fix failing lib_test + add test for displaying the correct cwd in the table
2022-04-18 22:45:07 -07:00
David Dworken
76f12ab64a
Swap to getting date in seconds since BSD date doesn't support nanos
2022-04-18 22:36:57 -07:00
David Dworken
ca1987a9ab
Fix OBO that removed first character from recorded commands
2022-04-18 22:19:51 -07:00
David Dworken
ce0a0742b7
Maybe fix for macos recording hidden commands with bash
2022-04-18 22:08:48 -07:00
David Dworken
38b91f933c
Add a timestamp test that I believe will fail for macos
2022-04-18 22:07:10 -07:00
David Dworken
3553897101
Attempt to fix failing test on macos for bash
2022-04-18 21:41:49 -07:00
David Dworken
1cc36fa0ef
Add todo, extra debugging output for failing mac test, and a check on resp.StatusCode
2022-04-18 21:28:41 -07:00
David Dworken
97f5368954
Remove set -m from test that breaks it for zsh
2022-04-17 23:31:08 -07:00
David Dworken
720fd7ee68
Re-enable update tests
2022-04-17 23:23:47 -07:00
David Dworken
16d41de4ad
Another attempt at making zsh pass on github actions
2022-04-17 23:06:01 -07:00
David Dworken
16055f982e
Skip commands prefixed with a space for zsh + update tests + touch ~/.zshrc so tests can run on actions
2022-04-17 21:04:44 -07:00
David Dworken
aae18d44b9
Working basic zsh integration (with lots of failing tests that are currently getting skipped)
2022-04-17 19:54:17 -07:00
David Dworken
65bbb40732
Disable SLSA verification of the branch to fix update flow
2022-04-17 12:53:06 -07:00
David Dworken
be6ccbbcc6
Add untested update operation that works with the new releases
2022-04-17 12:30:46 -07:00
David Dworken
5d9950d0a9
Fix goarch for m1 + fix boolean conditions
2022-04-17 11:51:29 -07:00
David Dworken
cf54d4b416
Skip failing test on macos actions
2022-04-17 11:37:23 -07:00
David Dworken
824c1853c1
Fix tests failing on Github actions
2022-04-17 11:24:55 -07:00
David Dworken
8259fc4e45
For some reason macos includes N at the end of ints, fix this
2022-04-17 11:09:30 -07:00
David Dworken
cf55805578
Verify the version tag in SLSA too
2022-04-17 10:29:48 -07:00
David Dworken
31288fb361
Better tests for the update flow
2022-04-16 23:00:04 -07:00
David Dworken
8aa44e5e26
Add missing return
2022-04-16 21:54:34 -07:00
David Dworken
339b115542
Fix version comparison logic
2022-04-16 21:39:40 -07:00
David Dworken
158f08f5c6
Improved update flow
...
Using the previously added new API endpoint, the update flow can now skip updates if the latest version is already installed. This also improves the output by making it so update can print the version. Also improved the error handling.
2022-04-16 20:50:02 -07:00
David Dworken
3d7af0cd4b
Add SLSA verification of updated binary
...
Currently the SLSA verifier is meant to be used a standalone binary. I copied a bit of code from their main (and imported the rest of their code as a library) in order to support embedding it as a library. This ensures that the updated hishtory passes SLSA L3.
2022-04-16 16:02:07 -07:00
David Dworken
def83d6b0e
Add verbose flag for the status subcommand
2022-04-16 10:46:57 -07:00
David Dworken
62a83b76b1
Add a test for displaying a table
2022-04-16 01:09:25 -07:00
David Dworken
a9af51f5b2
Improved tests
2022-04-16 00:56:08 -07:00