Age | Commit message (Collapse) | Author | |
---|---|---|---|
2016-08-10 | Merge branch 'resource_management' | Paul Selkirk | |
2016-07-12 | Fix checking for multiple errors in one operation. | Paul Selkirk | |
err = hal_foo() || hal_bar() || hal_baz; maps all errors to 1 (HAL_ERROR_BAD_ARGUMENTS). | |||
2016-07-12 | Make probe_cores deal with an unconfigured FPGA (and come back later). | Paul Selkirk | |
See, reading from an unconfigured FPGA returns all-1, while reading from empty cores on a configured FPGA returns all-0. The consequence of this is that the HSM was probing the FPGA once on startup, filling its core table with 0xff, rendering the FPGA useless. Along the way, I put the FPGA core table in static memory, rather than malloc'ing it, because that's not so good in an embedded environment. But I kept the linked list, because that at least tells us what to do if HAL_STATIC_CORE_STATE_BLOCKS is 0. | |||
2016-07-08 | Merge branch 'master' of https://git.cryptech.is/sw/libhal.git | Rob Austein | |
2016-07-08 | Enable software hash cores on all platforms, for now, anyway. | Rob Austein | |
2016-07-08 | Don't reuse local variable in check() macro. | Paul Selkirk | |
2016-07-07 | Check and propagate XDR error codes, to detect bad request packets. | Paul Selkirk | |
2016-07-07 | Fix buffer overflow check. | Rob Austein | |
2016-07-07 | Drop RPC response message if the opcode doesn't match what we sent. | Rob Austein | |
2016-07-07 | Use environment variables rather than wired-in defaults in cryptech_rpcd. | Rob Austein | |
This change allows the RPC MUX daemon to use the same environment variable scheme to configure the RPC device and line speed as the stand-alone RPC client code does, the only difference being that the daemon, being an independent program, still allows one to override these settings from the command line. | |||
2016-07-07 | Change names of RPC client environment variables to something a bit less ↵ | Rob Austein | |
obscure. | |||
2016-07-06 | Previous "fix" to speed setting didn't compile on OSX. | Rob Austein | |
2016-07-06 | Use the second sha256 core, if available, for pbkdf2. | Paul Selkirk | |
This is a hopefully temporary stopgap, in lieu of proper resource management and/or sharing of cores between threads. | |||
2016-07-06 | Add a couple more tests | Paul Selkirk | |
2016-07-06 | Fix speed setting? | Paul Selkirk | |
2016-07-06 | Return an intelligent error from hal_ks_get_kek. | Paul Selkirk | |
2016-07-06 | Belatedly adjust hal_io_read/write to the new flat addressing architecture. | Paul Selkirk | |
2016-07-05 | Attempt to add resource management, for multiple cores of the same type. | Paul Selkirk | |
Find a suitable core, and mark it busy. Don't forget to release it as soon as you're done. This has a knock-on effect of un-const'ing core arguments and struct fields in a lot of places, and it moves some core checks around. | |||
2016-07-05 | export RPC_MODE for tests | Paul Selkirk | |
2016-07-01 | glibc "feature test" insanity bites again. | Rob Austein | |
2016-07-01 | Apparently the magic Mac OS X ioctl(IOSSIOSPEED) must come AFTER the ↵ | Rob Austein | |
tcsetattr(). With this change, we appear to have working libhal client code on Mac OS X. | |||
2016-07-01 | Use environment variables to specify serial device rather than hard-wiring it. | Rob Austein | |
2016-07-01 | Merge branch 'master' into macosx | Rob Austein | |
Too many recent tweaks to same few lines of this Makefile for a straight merge to work; fortunately, the obvious simplification should also work as a fix for the most recent problem. | |||
2016-07-01 | Don't want rpc_serial.c for server builds. | Rob Austein | |
2016-06-30 | Merge branch 'master' into macosx. | Rob Austein | |
2016-06-30 | RPC wire format now includes client handle in all requests, and opcode and | Paul Selkirk | |
client handle in all responses. This simplies the daemon a little, and means that the directly-connected serial client uses the same wire format as the daemon. The expense is some redundant code in rpc_client and rpc_server to process (and throw away) this extra stuff. | |||
2016-06-30 | Start work to support client code on Mac OS X. | Rob Austein | |
Includes preliminary support for the magic Mac-specific ioctl() to see line speed, but has not yet been tested, that's waiting for some supporting tweaks to the RPC code from Paul. Includes some general cleanup which isn't really specific to Mac OS X per se but which needed doing and which simplifies adding the Mac code. | |||
2016-06-30 | serial_internal.h is both unused and incorrect, so away with it. | Rob Austein | |
2016-06-26 | Merge branch 'master' of https://git.cryptech.is/sw/libhal.git. | Rob Austein | |
2016-06-26 | Update libhal makefiles to use new LIBxxx_SRC / LIBxxx_BLD scheme so libhal ↵ | Rob Austein | |
can find tfm.h again. | |||
2016-06-26 | Add hal_set_pin_default_iterations so the CLI can use hal_rpc_set_pin with ↵ | Paul Selkirk | |
control over iterations. | |||
2016-06-25 | Dial back the last-gasp iterations to something sane. | Paul Selkirk | |
I can't see protecting the well-known default password against a brute-force attack, and 100k iterations takes almost a minute, which makes a terrible first impression. | |||
2016-06-25 | Rename GNUmakefile to Makefile for consistency. | Paul Selkirk | |
2016-06-24 | Support VPATH builds. | Rob Austein | |
2016-06-24 | Merge branch 'master' of git.cryptech.is.:sw/libhal | Fredrik Thulin | |
2016-06-24 | Use hal_error_t as suggested by Rob. | Fredrik Thulin | |
2016-06-23 | ks_flash returns all-ones instead of all-zeros for "blank" memory, cope. | Rob Austein | |
This will need refactoring once we have a proper test for whether the HSM is initializing after receiving a fresh software load. | |||
2016-06-23 | Preserve externally supplied LDFLAGS value (Lintian whines otherwise). | Rob Austein | |
2016-06-23 | Implement master key for wrapping keys in the keystore. | Fredrik Thulin | |
The KEK (Key Encryption Key) is first fetched from the FPGA that gets it from the volatile Master Key Memory (that in theory has tamper*kek_len = len protection with wiping), and secondly from flash. The flash option is meant for development/evaluation use using an Alpha board where the Master Key Memory is not battery backed. For any serious use of an Alpha, an option is to enter the master key into the volatile MKM on each power-on as a way to unlock the keystore. | |||
2016-06-16 | Merge branch 'master' into ft-ks_flash | Fredrik Thulin | |
2016-06-14 | Doh, don't build RPC client transport code when we're building the | Rob Austein | |
server library, even if the old makefile (sometimes) did do that. | |||
2016-06-14 | test-mkmif was missing from .gitignore. | Rob Austein | |
2016-06-14 | Collapse RPC_CLIENT and RPC_SERVER makefile settings into a single RPC_MODE ↵ | Rob Austein | |
setting. | |||
2016-06-14 | Add support for ModExpA7 | Paul Selkirk | |
2016-06-13 | Allow NULL der_len parameter in hal-rsa_private_key_to_der(). | Rob Austein | |
2016-06-12 | Turn hardware modexp off again, as it has problems with some of the key ↵ | Rob Austein | |
sizes hsmbully tries. | |||
2016-06-10 | Allow host-side libhal build without access to secure hardware to | Rob Austein | |
store unencrypted public keys (we don't allow this for private keys). Yet another screwball feature to support PKCS #11, sigh. Anyway, with this change, mixed-mode builds should work again. | |||
2016-06-10 | Helps to get the makefile variable names right. | Rob Austein | |
2016-06-10 | Another attempt to clean up the libhal makefile hairball. | Rob Austein | |
2016-06-09 | Fix duplicate dispatch vectors when building for RPC_CLIENT_LOCAL. | Rob Austein | |