Commit Graph

210 Commits

Author SHA1 Message Date
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