Commit graph

366 commits

Author SHA1 Message Date
bunnie
5fb368ae05 partial progress on porting to ring-0.17 2024-02-09 17:18:41 +08:00
bunnie
711f0eeee2 cleanup some rand dependencies that were lagging/inconsistent 2024-02-08 14:22:26 +08:00
bunnie
65fd32e181 update chrono pins
This is the weirdest damn thing. All the crates say 0.4.19 as
the chrono version, but the actual version in the lockfile
is 0.4.33. And there isn't an error about it?

Anyways, this update the pins to reflect what's in the lockfile.
2024-02-08 13:51:30 +08:00
bunnie
fb68eb9dd2 cleanup datetime API deprecation warnings 2024-02-08 13:46:24 +08:00
bunnie
699004e7b0 bump xous pins 2024-02-06 14:49:10 +08:00
bunnie
92e501ec01 harmonize around a single xous-usb-hid spec
otherwise we get weird conflicts on builds
2024-02-01 13:41:49 +08:00
bunnie
40423f9448 fix hosted and renode modes 2024-02-01 01:42:18 +08:00
bunnie
995d5398da upgrade vault API to use latest hash/hkdf 2024-01-31 04:02:36 +08:00
bunnie
55d88587a9 upgrade all the subordinate Cargo.toml files to match the patch
looks like about 9 crates will be affected by this. Point them
all to the latest version of the API, and specify the
"precursor" feature (which activates our patch)
2024-01-30 01:43:09 +08:00
bunnie
c411ee881a vaultbackup-rs is not part of workspace but still needs formatting... 2024-01-15 01:03:45 +08:00
bunnie
01fe4700d2 another difference between --check and fmt runs 2024-01-15 01:02:20 +08:00
bunnie
e274fa8873 relate perlib to the libs/ directory
perflib was made before we had libs, so put it into its new, proper
home.
2024-01-15 00:52:43 +08:00
bunnie
0267a56989 format Cargo.tomls
because apparently cargo fmt doesn't format Cargo.toml files???
2024-01-15 00:14:39 +08:00
bunnie
9f5a5d0ada rustfmt vs rustc linter: FIGHT
rustfmt shortened some blocks to be one-liners.
the blocks ensure the contents have Drop called on them.
the linter hates the braces, saying they are unused.

Perhaps, in fact, the contents don't need Drop called
on them exactly at that time because there isn't a conflicting
statement elsewhere in the block that uses it. It *might*
be right.

But then, later on, when you write some code that assumes
that implicit Drop happened, guess what. You'll spend hours
scratching your head as to what went wrong.

I just stuck a comment in the block to keep rustfmt from
thinking it should format that block.
2024-01-14 23:34:07 +08:00
bunnie
454ecac95a fix rustfmt::skip warning
turns out, stackoverflow has out of date info. woohoo!
2024-01-14 23:12:52 +08:00
bunnie
70340eb7bf format apps/vault
just our own code is formatted, vendored in files are skipped.
2024-01-14 19:09:53 +08:00
bunnie
3d1f5b032f skip formatting of vendored files
this will help make merges/patches easier against OpenSK
2024-01-14 19:09:19 +08:00
bunnie
fda782663a bump version pins for xous change 2023-12-26 00:13:10 +08:00
bunnie
fa3f349a0a bump pins as xous-rs has changed 2023-12-01 21:20:01 +08:00
bunnie
367ede62b1 convert usbd-human-interface-device to xous-usb-hid 2023-11-16 17:27:00 +08:00
bunnie
4d949d153b Add option to generat number-only passwords (#446)
This commit adds explicit selection knobs for all possible
types of characters and symbols.

A side effect is there is also now an error loop to handle the
case that none of the knobs are selected. The user cannot
proceed with generation until at least one type is selected.

When no alphabetic characters are selected, "exclude similar" is
now false, which allows all of the numbers to be picked from.
Normally, 1, 0, etc. are avoided to make it easier for humans
to read/copy the passwords without ambiguity. This does reduce
the total entropy slightly, but ideally you are using the
password generator with a long setting (20 or so characters)
so you're well beyond the worry of losing entropy due to dropping
the few similar characters.
2023-11-15 19:14:08 +08:00
bunnie
419e547641 bump usbd-hid-device crate to latest
API changes to see if we want to absorb this prior to forking.
2023-11-12 00:02:07 +08:00
bunnie
6ab88117f6 bump xous-api-log version & fix version pins 2023-10-31 20:07:28 +08:00
bunnie
d63b5912b1 absorb new xous-rs version 2023-10-10 16:50:00 +08:00
bunnie
83256257e1 bump xous-rs crate to absorb Send derives on Messages
this is necessary for the smoltcp port
2023-10-03 20:54:14 +08:00
bunnie
000d6606ce helps to actually have the line uncommented for the fix to work... 2023-09-19 01:59:38 +08:00
bunnie
43b0beecd4 add work-around to keep ct_eq from being optimized out
See #416 for details
2023-09-19 00:58:50 +08:00
bunnie
bdf70ab0e4 refactor API to upgrade subtle API in attempt to fix ct_eq problem
this didn't work, but, it's probably worth leaving the change in
place because this might fix other stuff we don't know about.
2023-09-18 23:55:33 +08:00
bunnie
478a612c02 commit version bump 2023-09-12 16:25:10 +08:00
bunnie
a40663bd63 refresh item cache after leaving host readout mode 2023-08-14 14:21:53 +08:00
bunnie
53469a68d0 publish package updates, sync to release tag 2023-08-08 14:35:49 +08:00
bunnie
93a2dc0515 add option to type usernames as well as passwords
passwords is the "quick default", you have to pop down by
one on the menu to type a username.

This should address #401.
2023-08-08 01:19:51 +08:00
spoelstraethan
338cbea495
Add backup tips and caveats 2023-08-06 22:51:11 -05:00
bunnie
b127cd093f bump version pins for change to xous-rs 2023-08-03 13:29:39 +08:00
bunnie
51278451a0 update version pins to pull in cramium target 2023-07-19 21:07:56 +08:00
bunnie
9932d971c4 clean up the warnings that are deemed safe to clean up
one warning remains, will address this in a future PR.
2023-07-16 17:55:28 +08:00
bunnie
cae402fad0 fix case where an idle font selection menu can crash the system while in TOTP mode
when the font menu is raised while in TOTP mode, the "pump"
thread continues to prompt for redraws, which can eventually lead to
an overflow of the server queue on the main thread that leads to
deadlock and eventually a crash.

This patch does two things:

- splits the allow_host variable and the allow_totp_rendering variable
so that the two flags have distinct meanings

- use the allow_totp_rendering variable to control when the
totp thread is allowed to pump the main thread to animate the
timer bar.

Previously the allow_host variable was introduced to control access
to sensitive data, and it incidentally was also used to control
TOTP rendering because when host readout is activated this can
freeze the UI for extended periods of time.

By splitting the flag we can now control both independently of
each other. Rendering still stops when host readout is enabled,
but it also stops when any other blocking dialog boxes are popped up,
hopefully preventing future crashes if a user is distracted in
the middle of a UX flow that can block the main loop.
2023-07-06 16:36:10 +08:00
bunnie
2f54ae39d4 Merge branch 'fonts' into main 2023-07-05 13:47:26 +08:00
bunnie
dfffa48715 move default system font to gam/src/lib.rs SYSTEM_STYLE
default system font can be statically changed by modifying
the SYSTEM_STYLE constant.

This of course will lead to a request for a dynamically
configurable preference for font size. However, early
on it was decided this is a bad idea. Here's why.

We don't provide for dynamic system-wide font selection
because this adds a lot of complexity to what would otherwise
be static code: this is a deliberate choice to improve code
density and performance. If the system font were dynamically
adjustable, then every character rendered we would potentially
have to query the PDDB for the current system font setting.

The impact of this could be mitigated by caching values but
then what happens when you actually change the font? now
you need a registry to fire messages off to all dependent
crates with cached values to flush their caches and redraw
(or you punt and force a reboot if you change font sizes,
but still, you're creating a dependency on a lot of plumbing
for even the simplest crates).

Plus, with a static font selection, the compiler can take constants
like the font height and compose them with other fitting
parameters into optimized load/stores of borders and spacings
for the static case; if you make it dynamic, all those multiplies,
adds and divides now get pulled into the main rendering loop
and are recomputed all the time. For example, if you have a static
const list of items that need to be rendered, even if the code to
compute the height of the list is written as a for loop, the compiler
will know the list is constant, and the font height is constant,
and it can condense that all into a single number at compile time,
eliminating all the code for the for loop.

If you leave the option open to change that, that entire piece
of code has to be generated and executed even though in practice
nobody changes the parameter.
2023-07-05 13:39:11 +08:00
bunnie
4ac979f0ab update pins, again 2023-07-04 11:20:12 +08:00
bunnie
c9f8f2681b update version pins 2023-07-04 11:09:13 +08:00
bunnie
952ba18fba commit vesrion pin bumps 2023-06-16 01:30:18 +08:00
Jean-Pierre De Jesus DIAZ
2af737b57e
xous-rs: move LANG variable to locales
This change is made with the intention of making the xous-rs crate a bit
more freestanding without depending on the xtask build system.

Signed-off-by: Jean-Pierre De Jesus DIAZ <me@jeandudey.tech>
2023-06-15 18:23:12 +02:00
bunnie
08aac2c285 limit loading screen to password transitions
it interferes with the ctap2 tests
2023-06-07 01:41:14 +08:00
bunnie
5f5d926462 comment out the filter performance profiling
it's fast enough now that probably the performance profiling
accounts for a non-trivial portion of the runtime
2023-06-06 20:13:45 +08:00
bunnie
93d07e3cb8 cleanup debug crumbs 2023-06-06 20:07:47 +08:00
bunnie
63299c7ca6 bump release notes and comments 2023-06-06 19:52:45 +08:00
bunnie
6bb5569c9f add a screen to indicate when databases are reloading
since the operation can take quite a while
2023-06-06 19:31:26 +08:00
bunnie
567d9db2cd optimize the ui cache routines
rely more on the cache retaining consistency with the disk
versus always reloading from the disk to speed up performance.

might be useful to make a routine that can also check coherency
periodically, because with the new format the cache could
co-exist along side the database for a very long time without
any checking.
2023-06-06 19:17:24 +08:00
bunnie
4c180810a5 fixup sorting so that it only goes by lowercase values 2023-06-06 16:54:08 +08:00