{
"bomFormat": "CycloneDX",
"specVersion": "1.3",
"version": 1,
"serialNumber": "urn:uuid:89439e4a-694d-4363-8d28-1b72a55dad5e",
"metadata": {
"timestamp": "2026-06-17T16:40:50.729430547Z",
"tools": [
{
"vendor": "CycloneDX",
"name": "cargo-cyclonedx",
"version": "0.5.9"
}
],
"authors": [
{
"name": "Step Function I/O LLC <info@stepfunc.io>>"
}
],
"component": {
"type": "library",
"bom-ref": "path+file:///home/jadamcrain/code/rodbus/rodbus#1.5.0",
"author": "Step Function I/O LLC <info@stepfunc.io>>",
"name": "rodbus",
"version": "1.5.0",
"description": "A high-performance async implementation of the Modbus protocol using tokio",
"scope": "required",
"licenses": [
{
"license": {
"name": "Unknown",
"text": {
"encoding": "base64",
"content": "77u/TElDRU5TRSBBR1JFRU1FTlQKCkJZIERPV05MT0FESU5HIFRIRSBMSUNFTlNFRCBTT0ZUV0FSRSBGUk9NIFRIRSBERVZFTE9QTUVOVCBQTEFURk9STSwgREVWRUxPUEVSIElTIEFHUkVFSU5HIFRPIEJFIEJPVU5EIEJZIFRIRSBURVJNUyBPRiAKVEhJUyBMSUNFTlNFIEFHUkVFTUVOVCAoVEhJUyDigJxBR1JFRU1FTlTigJ0pLiBUSEVSRUZPUkUsIElUIElTIElNUE9SVEFOVCBUSEFUIFlPVSBSRUFEIFRISVMgQUdSRUVNRU5UIEJFRk9SRSBET1dOTE9BRElORyAKVEhFIFNPRlRXQVJFLiBJRiBERVZFTE9QRVIgRE9FUyBOT1QgQUdSRUUgVE8gVEhFIFRFUk1TIE9GIFRISVMgQUdSRUVNRU5ULCBUSEVOIERFVkVMT1BFUiBNQVkgTk9UIERPV05MT0FEIE9SIFVTRSBUSEUgCkxJQ0VOU0VEIFNPRlRXQVJFLiBJRiBZT1UgQVJFIERPV05MT0FESU5HIFRISVMgTElDRU5TRUQgU09GVFdBUkUgT04gQkVIQUxGIE9GIEFOIEVOVElUWSBPUiBPVEhFUiBQRVJTT04sIFRIRU4gWU9VIApSRVBSRVNFTlQgVEhBVCBZT1UgQVJFIEFVVEhPUklaRUQgVE8gQklORCBTVUNIIEVOVElUWSBPUiBPVEhFUiBQRVJTT04gVE8gVEhFIFRFUk1TIE9GIFRISVMgQUdSRUVNRU5ULgoKVGhpcyBBZ3JlZW1lbnQgc2V0cyBmb3J0aCB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMgdW5kZXIgd2hpY2ggdGhlIHBhcnRpZXMgYWdyZWUgdGhhdCBEZXZlbG9wZXIgbWF5IHVzZSB0aGUgTGljZW5zZWQgClNvZnR3YXJlIGZvciB0aGUgbm9uLWNvbW1lcmNpYWwgYW5kIG5vbi1wcm9kdWN0aW9uIFB1cnBvc2UgZGVmaW5lZCBpbiB0aGlzIEFncmVlbWVudC4gCgpOT1csIFRIRVJFRk9SRSwgaW4gY29uc2lkZXJhdGlvbiBvZiB0aGUgcHJlbWlzZXMgYW5kIG9ibGlnYXRpb25zIGNvbnRhaW5lZCBoZXJlaW4sIGl0IGlzIGFncmVlZCBhcyBmb2xsb3dzOgoKMS4gREVGSU5JVElPTlMKCjEuMS4g4oCcRGV2ZWxvcGVyIEFwcGxpY2F0aW9u4oCdIHNoYWxsIG1lYW4gRGV2ZWxvcGVy4oCZcyBhY3R1YWwgb3IgcG90ZW50aWFsIHNvZnR3YXJlIG9yIGhhcmR3YXJlIGFuZCByZWxhdGVkIGRvY3VtZW50YXRpb24gCndpdGggd2hpY2ggdGhlIERldmVsb3BlciBpcyBjb25zaWRlcmluZyBpbnRlZ3JhdGluZyB3aXRoIHRoZSBMaWNlbnNlZCBTb2Z0d2FyZS4KCjEuMi4g4oCcRGV2ZWxvcGVy4oCdIHNoYWxsIG1lYW4gdGhlIHBlcnNvbiBvciBlbnRpdHkgZG93bmxvYWRpbmcgdGhlIExpY2Vuc2VkIFNvZnR3YXJlIG9yIG9uIHdob3NlIGJlaGFsZiB0aGUgTGljZW5zZWQgClNvZnR3YXJlIGlzIGRvd25sb2FkZWQuCgoxLjMuIOKAnERldmVsb3BtZW50IFBsYXRmb3Jt4oCdIHNoYWxsIG1lYW4gR2l0SHViIChnaXRodWIuY29tKSBvciBvdGhlciBzb2Z0d2FyZSBkZXZlbG9wbWVudCBwbGF0Zm9ybSBpZGVudGlmaWVkIGJ5IENvbXBhbnkKd2hlcmUgdGhlIExpY2Vuc2VkIFNvZnR3YXJlIGNhbiBiZSBkb3dubG9hZGVkLgoKMS40LiDigJxFZmZlY3RpdmUgRGF0ZeKAnSBzaGFsbCBtZWFuIHRoZSBkYXRlIHRoYXQgdGhlIExpY2Vuc2VkIFNvZnR3YXJlIGlzIGRvd25sb2FkZWQgZnJvbSB0aGUgRGV2ZWxvcG1lbnQgUGxhdGZvcm0uCgoxLjUuIOKAnExpY2Vuc2VkIFNvZnR3YXJl4oCdIHNoYWxsIG1lYW4gdGhlIENvbXBhbnkgcHJvcHJpZXRhcnkgc29mdHdhcmUgcHJvZHVjdCwgaW4gYm90aCBzb3VyY2UgYW5kIG9iamVjdCBjb2RlLCB0aGF0CkRldmVsb3BlciBkb3dubG9hZHMgZnJvbSB0aGUgRGV2ZWxvcG1lbnQgUGxhdGZvcm0gdGhhdCBwZXJmb3JtcyBhIGNvbW11bmljYXRpb24gZnVuY3Rpb24uCgoxLjYuIOKAnFB1cnBvc2XigJ0gc2hhbGwgbWVhbiB0aGUgZWZmb3J0IHRvIGludGVncmF0ZSB0aGUgTGljZW5zZWQgU29mdHdhcmUgd2l0aCB0aGUgRGV2ZWxvcGVyIEFwcGxpY2F0aW9uKHMpIGZvcgpub24tY29tbWVyY2lhbCBhbmQgbm9uLXByb2R1Y3Rpb24gcHVycG9zZXMsIGluY2x1ZGluZywgd2l0aG91dCBsaW1pdGF0aW9uLCBldmFsdWF0aW9uLCByZXNlYXJjaCwgdGVhY2hpbmcgYW5kIHRyYWluaW5nLgoKMS43LiBTdGVwIEZ1bmN0aW9uIEkvTyBMTEMgKOKAnENvbXBhbnnigJ0pIGlzIHRoZSBkZXZlbG9wZXIgb2YgdGhlIExpY2Vuc2VkIFNvZnR3YXJlLgoKMi4gTElDRU5TRQoKMi4xLiBEZWxpdmVyeSBvZiBMaWNlbnNlZCBTb2Z0d2FyZQoKVGhlIExpY2Vuc2VkIFNvZnR3YXJlIGlzIGRvd25sb2FkZWQgZnJvbSB0aGUgRGV2ZWxvcG1lbnQgUGxhdGZvcm0uCgoyLjIuIExpY2Vuc2UgR3JhbnQKCkNvbXBhbnkgZ3JhbnRzIERldmVsb3BlciBhIHBlcnNvbmFsLCBwZXJwZXR1YWwsIHJldm9jYWJsZSwgbGltaXRlZCwgbm9uLWV4Y2x1c2l2ZSwgbm9uLXN1YmxpY2Vuc2FibGUsCm5vbi10cmFuc2ZlcmFibGUgbGljZW5zZSB0byBhY2Nlc3MsIHVzZSwgZG93bmxvYWQgYW5kL29yIGluc3RhbGwgdGhlIExpY2Vuc2VkIFNvZnR3YXJlIG9ubHkgZm9yIHVzZSBpbiBhY2NvcmRhbmNlIHdpdGgKdGhlIFB1cnBvc2UsIGFuZCBzdWJqZWN0IHRvIGFsbCB0aGUgdGVybXMgb2YgdGhpcyBBZ3JlZW1lbnQuIENvbXBhbnkgcmVzZXJ2ZXMgdGhlIHJpZ2h0IGF0IGFueSB0aW1lIHRvIGFsdGVyIGZlYXR1cmVzCm9yIG90aGVyIGNoYXJhY3RlcmlzdGljcyBvZiBhbnkgdmVyc2lvbiBvZiB0aGUgTGljZW5zZWQgU29mdHdhcmUuIFVubGVzcyBhbmQgdW50aWwgdGhlIHBhcnRpZXMgZW50ZXIgaW50byBhIHN1YnNlcXVlbnQKYWdyZWVtZW50IHVuZGVyIFNlY3Rpb24g4oCOMi40IHRoYXQgcHJvdmlkZXMgdG8gdGhlIGNvbnRyYXJ5LCBEZXZlbG9wZXIgc2hhbGwgbm90IGRpc3RyaWJ1dGUgb3Igc3VibGljZW5zZSBhbnkgcG9ydGlvbiBvZgp0aGUgTGljZW5zZWQgU29mdHdhcmUuIERldmVsb3BlciBtYXkgbm90IHB1Ymxpc2ggb3IgZGlzc2VtaW5hdGUgYW55IGJlbmNobWFya2luZyByZXN1bHRzIG9mIExpY2Vuc2VkIFNvZnR3YXJlCnBlcmZvcm1hbmNlLgoKMi4zLiBOb24tQ29tbWVyY2lhbCBhbmQgTm9uLVByb2R1Y3Rpb24gVXNlCgpGb3IgY2xhcml0eSwgdGhlIFB1cnBvc2UgZXhjbHVkZXMgY29tbWVyY2lhbCB1c2UgYW5kIHVzZSBpbiBwcm9kdWN0aW9uLgpBY2NvcmRpbmdseSwgRGV2ZWxvcGVyIG1heSBub3QgdXNlIHRoZSBMaWNlbnNlZCBTb2Z0d2FyZSBpbiBhbnkgbWFubmVyIHRoYXQsIGRpcmVjdGx5IG9yIGluZGlyZWN0bHksIGdlbmVyYXRlcyByZXZlbnVlCm9yIGFueSBvdGhlciBmb3JtIG9mIGNvbXBlbnNhdGlvbiBvciBjb25zaWRlcmF0aW9uLiBBZGRpdGlvbmFsbHksIHRoZSBMaWNlbnNlZCBTb2Z0d2FyZSBtYXkgbm90IGJlIHVzZWQgaW4gYSBwcm9kdWN0aW9uCmVudmlyb25tZW50IGFuZCBtYXkgb25seSBiZSB1c2VkIGluIG5vbi1wcm9kdWN0aW9uIGVudmlyb25tZW50cyBzdWNoIGFzIHRlc3RpbmcsIHRlYWNoaW5nLCB0cmFpbmluZyBhbmQgcmVzZWFyY2gvZGV2ZWxvcG1lbnQKZW52aXJvbm1lbnRzLiBBIHByb2R1Y3Rpb24gZW52aXJvbm1lbnQgd291bGQgYmUgd2hlcmUgdGhlIExpY2Vuc2VkIFNvZnR3YXJlIGlzIG9wZXJhdGVkIGJ5IGVuZCB1c2VycyBhbmQgcmVsaWVkIHVwb24gZm9yCm9yZ2FuaXphdGlvbiBvciBjb21tZXJjaWFsIG9wZXJhdGlvbnMuIElmIERldmVsb3BlciB3b3VsZCBsaWtlIHRvIHVzZSB0aGUgTGljZW5zZWQgU29mdHdhcmUgZm9yIGNvbW1lcmNpYWwgYW5kIHByb2R1Y3Rpb24KcHVycG9zZXMsIHRoZW4gRGV2ZWxvcGVyIG1heSBvcmRlciBzdWNoIGEgbGljZW5zZSBmcm9tIENvbXBhbnkgaW4gYWNjb3JkYW5jZSBTZWN0aW9uIOKAjjIuNC4KCjIuNC4gQ29tbWVyY2lhbCBMaWNlbnNlCgpJZiBEZXZlbG9wZXIgd2FudHMgdG8gdXNlIHRoZSBMaWNlbnNlZCBTb2Z0d2FyZSBmb3IgY29tbWVyY2lhbCBhbmQgcHJvZHVjdGlvbiBwdXJwb3NlcywgdGhlbiBEZXZlbG9wZXIgbmVlZHMgdG8gY29udGFjdApDb21wYW55IGFzIHByb3ZpZGVkIGJlbG93LiBDb21wYW55IGhhcyBubyBvYmxpZ2F0aW9uIHRvIGVudGVyIGludG8gYSBjb21tZXJjaWFsIGFuZCBwcm9kdWN0aW9uIGFncmVlbWVudCB3aXRoIGFueSBEZXZlbG9wZXIuCgppbmZvQHN0ZXBmdW5jLmlvCgpPUgoKaHR0cHM6Ly9zdGVwZnVuYy5pby9jb250YWN0CgoyLjUuIENvbXBhbnkgU3VwcG9ydAoKVGhpcyBsaWNlbnNlIGRvZXMgbm90IGVudGl0bGUgRGV2ZWxvcGVyIHRvIHJlY2VpdmUgZnJvbSBDb21wYW55IHN1cHBvcnQsIHRlbGVwaG9uZSBhc3Npc3RhbmNlLCBvcgplbmhhbmNlbWVudHMgb3IgdXBkYXRlcyB0byB0aGUgTGljZW5zZWQgU29mdHdhcmUsIHdoaWNoIENvbXBhbnkgbWF5IHByb3ZpZGUgaW4gaXRzIGRpc2NyZXRpb24uIERldmVsb3BlciBtYXkgc3VibWl0CnRpY2tldHMgYW5kIGZlZWRiYWNrIHZpYSB0aGUgRGV2ZWxvcG1lbnQgUGxhdGZvcm0uIENvbXBhbnkgd2lsbCBtYWtlIHJlYXNvbmFibGUgZWZmb3J0cyB0byByZXNwb25kIHRvIHN1Y2ggdGlja2V0cyBhbmQKZmVlZGJhY2ssIGJ1dCBoYXMgbm8gb2JsaWdhdGlvbiB0byBkbyBzbywgYW5kIG1heSBjYW5jZWwgc3VjaCBzdXBwb3J0IGF0IGFueSB0aW1lLgoKMy4gT1dORVJTSElQCgozLjEuIENvbXBhbnkgUmV0YWlucyBUaXRsZSB0byBMaWNlbnNlZCBTb2Z0d2FyZQoKRXhjZXB0IGZvciB0aGUgbGljZW5zZSBncmFudGVkIGhlcmVpbiwgRGV2ZWxvcGVyIGlzIG5vdCBncmFudGVkIGFueQpyaWdodHMgdG8gcGF0ZW50cywgY29weXJpZ2h0cywgdHJhZGUgc2VjcmV0cywgdHJhZGUgbmFtZXMsIHRyYWRlbWFya3MgKHdoZXRoZXIgcmVnaXN0ZXJlZCBvciB1bnJlZ2lzdGVyZWQpIG9yIGFueSBvdGhlcgpyaWdodHMgb3IgbGljZW5zZXMgKHRoZSDigJxJbnRlbGxlY3R1YWwgUHJvcGVydHkgUmlnaHRz4oCdKSB3aXRoIHJlc3BlY3QgdG8gdGhlIExpY2Vuc2VkIFNvZnR3YXJlLiBDb21wYW55IHJldGFpbnMgYWxsIHJpZ2h0LAp0aXRsZSBhbmQgb3duZXJzaGlwIGludGVyZXN0cyBpbiB0aGUgTGljZW5zZWQgU29mdHdhcmUsIGluY2x1ZGluZywgd2l0aG91dCBsaW1pdGF0aW9uLCBhbGwgSW50ZWxsZWN0dWFsIFByb3BlcnR5IFJpZ2h0cyB0aGVyZWluLgogCjMuMi4gRmVlZGJhY2sKCkFueSBmZWVkYmFjayBwcm92aWRlZCBieSBEZXZlbG9wZXIgcGVydGFpbmluZyB0byB0aGUgTGljZW5zZWQgU29mdHdhcmUgc2hhbGwgYmUgbm9uLWNvbmZpZGVudGlhbCBhbmQgQ29tcGFueSBtYXkgdXNlIGFuZApleHBsb2l0IHN1Y2ggZmVlZGJhY2sgZnJlZWx5LCB3aXRob3V0IGFueSBvYmxpZ2F0aW9uIG9mIG5vdGljZSBvciBjb21wZW5zYXRpb24gdG8gRGV2ZWxvcGVyLgoKNC4gVEVSTSBBTkQgVEVSTUlOQVRJT04KCjQuMS4gVGVybSBhbmQgVGVybWluYXRpb24gb2YgQWdyZWVtZW50CgpUaGlzIEFncmVlbWVudCBjb21tZW5jZXMgb24gaXRzIEVmZmVjdGl2ZSBEYXRlIGFuZCBlbmRzIGlmIHRlcm1pbmF0ZWQgYXMgaGVyZWluYWZ0ZXIgcHJvdmlkZWQuIFRoaXMgQWdyZWVtZW50IHdpbGwKYXV0b21hdGljYWxseSB0ZXJtaW5hdGUgaWYgRGV2ZWxvcGVyIG1hdGVyaWFsbHkgYnJlYWNoZXMgdGhpcyBBZ3JlZW1lbnQsIGluY2x1ZGluZywgd2l0aG91dCBsaW1pdGF0aW9uLCBieSBhIHZpb2xhdGlvbgpvZiB0aGUgbm9uLWNvbW1lcmNpYWwgYW5kIG5vbi1wcm9kdWN0aW9uIHVzZSByZXN0cmljdGlvbnMgaW4gU2VjdGlvbiDigI4yLjMuCgo0LjIuIE9ibGlnYXRpb25zIG9uIFRlcm1pbmF0aW9uCgpBbGwgcmlnaHRzIGFuZCBsaWNlbnNlcyBncmFudGVkIHVuZGVyIHRoaXMgQWdyZWVtZW50IHRvIERldmVsb3BlciBzaGFsbCB0ZXJtaW5hdGUgdXBvbgp0ZXJtaW5hdGlvbiBvZiB0aGlzIEFncmVlbWVudC4gRGV2ZWxvcGVyIHNoYWxsIGNlYXNlIG1ha2luZyBhbnkgdXNlIG9mIHRoZSBhcHBsaWNhYmxlIExpY2Vuc2VkIFNvZnR3YXJlIG9yIG90aGVyIG1hdGVyaWFsCnByb3ZpZGVkIGJ5IENvbXBhbnkgaW4gY29ubmVjdGlvbiB0aGVyZXdpdGggYW5kIGRlc3Ryb3kgdGhlbSBhbmQgYWxsIGNvcGllcyBhbmQgbW9kaWZpY2F0aW9ucyB0aGVyZW9mLCBhbmQgYWxzbyBpbmNsdWRpbmcKYW55IGNvcGllcyBvZiBjb2RlIGVtYmVkZGVkIGluIHRoZSBEZXZlbG9wZXIgQXBwbGljYXRpb24sIGFuZCBhbnkgcmVsYXRlZCBtYXRlcmlhbHMgaW4gaXRzIHBvc3Nlc3Npb24uIERldmVsb3BlciBzaGFsbApjZXJ0aWZ5IGluIHdyaXRpbmcgdG8gQ29tcGFueSB0aGF0IG5vIGZ1cnRoZXIgdXNlIG9mIHN1Y2ggTGljZW5zZWQgU29mdHdhcmUgb3IgYW55IGNvcGllcywgbW9kaWZpY2F0aW9ucyBvciBvdGhlcgpkZXJpdmF0aXZlIHdvcmtzIG9mIGFueSBhbmQgYWxsIHBvcnRpb25zIHRoZXJlb2YgaXMgYmVpbmcgbWFkZSBieSBEZXZlbG9wZXIuCgo0LjMuIFN1cnZpdmFsCgpBbnkgcHJvdmlzaW9ucyBvZiB0aGlzIEFncmVlbWVudCB0aGF0LCBpbiBvcmRlciB0byBmdWxmaWxsIHRoZSBwdXJwb3NlcyBvZiBzdWNoIHByb3Zpc2lvbnMsIG5lZWQgdG8gc3Vydml2ZSB0aGUgdGVybWluYXRpb24Kb3IgZXhwaXJhdGlvbiBvZiB0aGlzIEFncmVlbWVudCwgc2hhbGwgYmUgZGVlbWVkIHRvIHN1cnZpdmUgZm9yIGFzIGxvbmcgYXMgbmVjZXNzYXJ5IHRvIGZ1bGZpbGwgc3VjaCBwdXJwb3Nlcy4KCjUuIFdBUlJBTlRZIERJU0NMQUlNRVIKClRIRSBMSUNFTlNFRCBTT0ZUV0FSRSBJUyBQUk9WSURFRCBPTkxZIE9OIEFOIOKAnEFTIElT4oCdIEJBU0lTLiBDT01QQU5ZIE1BS0VTIE5PIE9USEVSIEVYUFJFU1MgV0FSUkFOVElFUywgV1JJVFRFTiBPUiBPUkFMLApBTkQgQUxMIE9USEVSIFdBUlJBTlRJRVMgQVJFIFNQRUNJRklDQUxMWSBFWENMVURFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgSU1QTElFRCBXQVJSQU5UWSBPRiBNRVJDSEFOVEFCSUxJVFksCkZJVE5FU1MgRk9SIFBBUlRJQ1VMQVIgUFVSUE9TRSwgT1IgTk9OSU5GUklOR0VNRU5ULCBBTkQgQU5ZIE9USEVSIFdBUlJBTlRZIEFSSVNJTkcgQlkgU1RBVFVURSwgT1BFUkFUSU9OIE9GIExBVywgQ09VUlNFCk9GIERFQUxJTkcgT1IgUEVSRk9STUFOQ0UgT1IgVVNBR0UgT0YgVFJBREUuCgo2LiBMSU1JVEFUSU9OUyBPRiBMSUFCSUxJVFkgQU5EIElOREVNTklUSUVTCgo2LjEuIExpbWl0cyBvZiBMaWFiaWxpdHkKCkNPTVBBTlkgU0hBTEwgSEFWRSBOTyBMSUFCSUxJVFkgVE8gREVWRUxPUEVSIEZPUiBBTlkgU1BFQ0lBTCwgQ09OU0VRVUVOVElBTCwgRVhFTVBMQVJZLCBJTkNJREVOVEFMIE9SIElORElSRUNUIERBTUFHRVMKKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBMT1NTIE9GIFBST0ZJVFMsIFJFVkVOVUVTLCBEQVRBIEFORC9PUiBVU0UpIEFSSVNJTkcgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gSEVSRVdJVEggT1IKVEhFIFVTRSBPUiBQRVJGT1JNQU5DRSBPRiBUSEUgTElDRU5TRUQgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgVEhFUkVPRi4gVEhFIEFHR1JFR0FURSBMSUFCSUxJVFkgT0YKQ09NUEFOWSBVTkRFUiBUSElTIEFHUkVFTUVOVCBTSEFMTCBOT1QgRVhDRUVEICQxMC4gREVWRUxPUEVSIFNIQUxMIE5PVCBCUklORyBBTlkgQ0xBSU0gQVJJU0lORyBIRVJFVU5ERVIgTU9SRSBUSEFOClRXRUxWRSAoMTIpIE1PTlRIUyBBRlRFUiBTVUNIIENMQUlNIEhBUyBBQ0NSVUVELgoKNi4yLiBEZXZlbG9wZXIgSW5kZW1uaXR5CgpEZXZlbG9wZXIgc2hhbGwgaW5kZW1uaWZ5LCBkZWZlbmQgYW5kIGhvbGQgQ29tcGFueSBoYXJtbGVzcyBmcm9tIGFsbCBsb3NzZXMsIGNvc3RzLCBsaWFiaWxpdGllcwphbmQgZXhwZW5zZXMgaW5jdXJyZWQgYnkgQ29tcGFueSB3aGljaCBhcmlzZSBvdXQgb2YgYW55IGNsYWltIChleGNlcHQgY2xhaW1zIHRoYXQgdGhlIExpY2Vuc2VkIFNvZnR3YXJlIGluZnJpbmdlcyB0aGUKaW50ZWxsZWN0dWFsIHByb3BlcnR5IG9mIGEgdGhpcmQgcGFydHkpIHRoYXQgYXJpc2Ugb3V0IG9mIERldmVsb3BlcuKAmXMgYWN0cyBvciBvbWlzc2lvbnMgcHJvdmlkZWQgKGkpwqBDb21wYW55IGhhcyBub3RpZmllZApEZXZlbG9wZXIgcHJvbXB0bHkgaW4gd3JpdGluZyBvZiBhbnkgc3VjaCBjbGFpbXMgKHByb3ZpZGVkIHRoYXQgYW55IGRlbGF5IHNoYWxsIG5vdCByZWR1Y2UgRGV2ZWxvcGVy4oCZcyBpbmRlbW5pdHkgb2JsaWdhdGlvbnMKZXhjZXB0IHRvIHRoZSBleHRlbnQgdGhhdCB0aGUgZGVsYXkgcHJlanVkaWNlcyBEZXZlbG9wZXLigJlzIGFiaWxpdHkgdG8gZGVmZW5kIHRoZSBjbGFpbSk7IChpaSnCoERldmVsb3BlciBzaGFsbCBoYXZlIHNvbGUKY29udHJvbCBvZiB0aGUgZGVmZW5zZSBvZiBzdWNoIGNsYWltcyBhbmQgYWxsIG5lZ290aWF0aW9ucyBmb3IgdGhlaXIgc2V0dGxlbWVudCBhbmQgY29tcHJvbWlzZTsgYW5kIChpaWkpwqBDb21wYW55IHNoYWxsCnJlYXNvbmFibHkgY29vcGVyYXRlIHdpdGggRGV2ZWxvcGVyIGluIHRoZSBkZWZlbnNlIG9yIHNldHRsZW1lbnQgb2Ygc3VjaCBjbGFpbXMsIGF0IERldmVsb3BlcuKAmXMgZXhwZW5zZS4KCjcuIEdFTkVSQUwKCjcuMS4gRW50aXJlIEFncmVlbWVudAoKVGhlIHRlcm1zIGNvbnRhaW5lZCBoZXJlaW4gY29uc3RpdHV0ZSB0aGUgZW50aXJlIGFncmVlbWVudCBiZXR3ZWVuIHRoZSBwYXJ0aWVzIHdpdGggcmVzcGVjdCB0byB0aGUgc3ViamVjdCBtYXR0ZXIgaGVyZW9mCmFuZCBzaGFsbCBzdXBlcnNlZGUgYWxsIHByaW9yIGNvbW11bmljYXRpb25zIGFuZCBhZ3JlZW1lbnRzLCBlaXRoZXIgb3JhbCBvciB3cml0dGVuLgogCjcuMi4gRXF1aXRhYmxlIFJlbGllZgoKQ29tcGFueSBtYXksIHdpdGhvdXQgbGltaXRpbmcgaXRzIG90aGVyIHJpZ2h0cyBhbmQgcmVtZWRpZXMsIGJlIGVudGl0bGVkIHRvIGVxdWl0YWJsZSByZWxpZWYsIGluY2x1ZGluZyBidXQgbm90IGxpbWl0ZWQKdG8gaW5qdW5jdGl2ZSByZWxpZWYgZm9yIGEgYnJlYWNoIG9yIGFudGljaXBhdGVkIGJyZWFjaCBvZiB0aGlzIEFncmVlbWVudC4KCjcuMy4gQ29tcGxpYW5jZSB3aXRoIExhd3MKCkRldmVsb3BlciBzaGFsbCBjb21wbHkgd2l0aCBhbGwgYXBwbGljYWJsZSBsYXcgYW5kIHdpbGwgb2J0YWluIGFsbCBhdXRob3JpemF0aW9ucyByZXF1aXJlZApieSBVLlMuIGV4cG9ydCBjb250cm9sIGxhd3MgYW5kIGFsbCByZWxhdGVkIHJlZ3VsYXRpb25zIGlmIGFwcGxpY2FibGUuCgo3LjQuIEdvdmVybmluZyBMYXc7IEp1cmlzZGljdGlvbgoKVGhpcyBBZ3JlZW1lbnQgc2hhbGwgYmUgZ292ZXJuZWQgYnkgdGhlIGxhd3Mgb2YgdGhlIFN0YXRlIG9mIE9yZWdvbiwgZXhjbHVkaW5nIGl0cwpjb25mbGljdCBvZiBsYXcgcnVsZXMuIFRoZSBwYXJ0aWVzIHdpbGwgc3VibWl0IGFsbCBkaXNwdXRlcyB3aGljaCBhcmlzZSB1bmRlciB0aGlzIEFncmVlbWVudCB0byBzdGF0ZSBvciBmZWRlcmFsIGNvdXJ0cwpsb2NhdGVkIGluIMKgRGVzY2h1dGVzIENvdW50eSwgT3JlZ29uLiAgVGhlIHBhcnRpZXMgYWNrbm93bGVkZ2UgdGhhdCB0aGUgYWZvcmVzYWlkIGNvdXJ0cyB3aWxsIGhhdmUgZXhjbHVzaXZlIGp1cmlzZGljdGlvbgpvdmVyIHRoaXMgQWdyZWVtZW50IGFuZCBzcGVjaWZpY2FsbHkgd2FpdmUgYW55IGNsYWltcyB0aGV5IG1heSBoYXZlIHdoaWNoIGludm9sdmUganVyaXNkaWN0aW9uIG9yIHZlbnVlLCBpbmNsdWRpbmcsIGJ1dApub3QgbGltaXRlZCB0bywgbGFjayBvZiBwZXJzb25hbCBqdXJpc2RpY3Rpb24gb3IgZm9ydW0gbm9uIGNvbnZlbmllbnMuCgo3LjUuIE5vdGljZXMKCk5vdGljZXMgc2hhbGwgYmUgZGVlbWVkIHRvIGhhdmUgYmVlbiByZWNlaXZlZCB1cG9uIHZlcmlmaWVkIHJlY2VpcHQuCgo3LjYuIE5vIFdhaXZlcgoKTm8gbW9kaWZpY2F0aW9uIG9yIGFtZW5kbWVudCBoZXJldG8sIG5vciBhbnkgd2FpdmVyIG9mIGFueSByaWdodHMsIHNoYWxsIGJlIGVmZmVjdGl2ZSB1bmxlc3MgYXNzZW50ZWQgdG8gaW4gd3JpdGluZyBieQp0aGUgcGFydHkgdG8gYmUgY2hhcmdlZC4gVGhlIHdhaXZlciBvZiBhbnkgYnJlYWNoIG9yIGRlZmF1bHQgd2lsbCBub3QgY29uc3RpdHV0ZSBhIHdhaXZlciBvZiAoaSnCoGFueSBvdGhlciByaWdodCBvciByZW1lZHkKaGVyZXVuZGVyLCBvciAoaWkpwqBhbnkgc3Vic2VxdWVudCBicmVhY2ggb3IgZGVmYXVsdC4KCjcuNy4gSW5kZXBlbmRlbnQgQ29udHJhY3RvcnMKClRoZSBwYXJ0aWVzIHNoYWxsIGFjdCBhcyBpbmRlcGVuZGVudCBjb250cmFjdG9ycyBmb3IgYWxsIHB1cnBvc2VzIGhlcmV1bmRlci4KCjcuOC4gU2VwYXJhYmlsaXR5CgpJZiBhbnkgcHJvdmlzaW9uIGhlcmVvZiBzaGFsbCBiZSBoZWxkIGlsbGVnYWwgb3IgdW5lbmZvcmNlYWJsZSwgc3VjaCBwcm92aXNpb24gc2hhbGwgYmUgZGVlbWVkIHNlcGFyYWJsZSBmcm9tIHRoZQpyZW1haW5pbmcgcHJvdmlzaW9ucyBhbmQgc2hhbGwgaW4gbm8gd2F5IGFmZmVjdCBvciBpbXBhaXIgdGhlIHZhbGlkaXR5IG9yIGVuZm9yY2VhYmlsaXR5IG9mIHRoZSByZW1haW5pbmcgcHJvdmlzaW9ucy4KCjcuOS4gQXNzaWdubWVudAoKRGV2ZWxvcGVyIHNoYWxsIG5vdCBhc3NpZ24gdGhpcyBBZ3JlZW1lbnQsIG9yIGFueSByaWdodCwgb3IgZGVsZWdhdGUgYW55IHBlcmZvcm1hbmNlIGhlcmV1bmRlciB3aXRob3V0IENvbXBhbnnigJlzIHByaW9yCndyaXR0ZW4gY29uc2VudCwgYW5kIGFueSBzdWNoIGFjdGlvbiBpbiB2aW9sYXRpb24gb2YgdGhlIGZvcmVnb2luZyBzaGFsbCBiZSB2b2lkLiBDb21wYW55IG1heSBmcmVlbHkgYXNzaWduIHRoaXMgQWdyZWVtZW50LgoKCg=="
}
}
}
],
"purl": "pkg:cargo/rodbus@1.5.0?download_url=file://.",
"externalReferences": [
{
"type": "website",
"url": "https://stepfunc.io/products/libraries/modbus/"
},
{
"type": "vcs",
"url": "https://github.com/stepfunc/rodbus"
}
],
"components": [
{
"type": "library",
"bom-ref": "path+file:///home/jadamcrain/code/rodbus/rodbus#1.5.0 bin-target-0",
"name": "rodbus",
"version": "1.5.0",
"purl": "pkg:cargo/rodbus@1.5.0?download_url=file://.#src/lib.rs"
}
]
},
"properties": [
{
"name": "cdx:rustc:sbom:target:triple",
"value": "x86_64-unknown-linux-gnu"
}
]
},
"components": [
{
"type": "library",
"bom-ref": "registry+https://github.com/rust-lang/crates.io-index#aes@0.8.4",
"author": "RustCrypto Developers",
"name": "aes",
"version": "0.8.4",
"description": "Pure Rust implementation of the Advanced Encryption Standard (a.k.a. Rijndael)",
"scope": "required",
"hashes": [
{
"alg": "SHA-256",
"content": "b169f7a6d4742236a0a00c541b845991d0ac43e546831af1249753ab4c3aa3a0"
}
],
"licenses": [
{
"expression": "MIT OR Apache-2.0"
}
],
"purl": "pkg:cargo/aes@0.8.4",
"externalReferences": [
{
"type": "documentation",
"url": "https://docs.rs/aes"
},
{
"type": "vcs",
"url": "https://github.com/RustCrypto/block-ciphers"
}
]
},
{
"type": "library",
"bom-ref": "registry+https://github.com/rust-lang/crates.io-index#base64@0.22.1",
"author": "Marshall Pierce <marshall@mpierce.org>",
"name": "base64",
"version": "0.22.1",
"description": "encodes and decodes base64 as bytes or utf8",
"scope": "required",
"hashes": [
{
"alg": "SHA-256",
"content": "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6"
}
],
"licenses": [
{
"expression": "MIT OR Apache-2.0"
}
],
"purl": "pkg:cargo/base64@0.22.1",
"externalReferences": [
{
"type": "documentation",
"url": "https://docs.rs/base64"
},
{
"type": "vcs",
"url": "https://github.com/marshallpierce/rust-base64"
}
]
},
{
"type": "library",
"bom-ref": "registry+https://github.com/rust-lang/crates.io-index#base64ct@1.8.3",
"author": "RustCrypto Developers",
"name": "base64ct",
"version": "1.8.3",
"description": "Pure Rust implementation of Base64 (RFC 4648) which avoids any usages of data-dependent branches/LUTs and thereby provides portable \"best effort\" constant-time operation and embedded-friendly no_std support ",
"scope": "required",
"hashes": [
{
"alg": "SHA-256",
"content": "2af50177e190e07a26ab74f8b1efbfe2ef87da2116221318cb1c2e82baf7de06"
}
],
"licenses": [
{
"expression": "Apache-2.0 OR MIT"
}
],
"purl": "pkg:cargo/base64ct@1.8.3",
"externalReferences": [
{
"type": "documentation",
"url": "https://docs.rs/base64ct"
},
{
"type": "website",
"url": "https://github.com/RustCrypto/formats/tree/master/base64ct"
},
{
"type": "vcs",
"url": "https://github.com/RustCrypto/formats"
}
]
},
{
"type": "library",
"bom-ref": "registry+https://github.com/rust-lang/crates.io-index#bitflags@1.3.2",
"author": "The Rust Project Developers",
"name": "bitflags",
"version": "1.3.2",
"description": "A macro to generate structures which behave like bitflags. ",
"scope": "required",
"hashes": [
{
"alg": "SHA-256",
"content": "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
}
],
"licenses": [
{
"expression": "MIT OR Apache-2.0"
}
],
"purl": "pkg:cargo/bitflags@1.3.2",
"externalReferences": [
{
"type": "documentation",
"url": "https://docs.rs/bitflags"
},
{
"type": "website",
"url": "https://github.com/bitflags/bitflags"
},
{
"type": "vcs",
"url": "https://github.com/bitflags/bitflags"
}
]
},
{
"type": "library",
"bom-ref": "registry+https://github.com/rust-lang/crates.io-index#bitflags@2.13.0",
"author": "The Rust Project Developers",
"name": "bitflags",
"version": "2.13.0",
"description": "A macro to generate structures which behave like bitflags. ",
"scope": "required",
"hashes": [
{
"alg": "SHA-256",
"content": "b4388bee8683e3d04af747c73422af53102d2bd24d9eadb6cbc100baef4b43f8"
}
],
"licenses": [
{
"expression": "MIT OR Apache-2.0"
}
],
"purl": "pkg:cargo/bitflags@2.13.0",
"externalReferences": [
{
"type": "documentation",
"url": "https://docs.rs/bitflags"
},
{
"type": "website",
"url": "https://github.com/bitflags/bitflags"
},
{
"type": "vcs",
"url": "https://github.com/bitflags/bitflags"
}
]
},
{
"type": "library",
"bom-ref": "registry+https://github.com/rust-lang/crates.io-index#block-buffer@0.10.4",
"author": "RustCrypto Developers",
"name": "block-buffer",
"version": "0.10.4",
"description": "Buffer type for block processing of data",
"scope": "required",
"hashes": [
{
"alg": "SHA-256",
"content": "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71"
}
],
"licenses": [
{
"expression": "MIT OR Apache-2.0"
}
],
"purl": "pkg:cargo/block-buffer@0.10.4",
"externalReferences": [
{
"type": "documentation",
"url": "https://docs.rs/block-buffer"
},
{
"type": "vcs",
"url": "https://github.com/RustCrypto/utils"
}
]
},
{
"type": "library",
"bom-ref": "registry+https://github.com/rust-lang/crates.io-index#block-padding@0.3.3",
"author": "RustCrypto Developers",
"name": "block-padding",
"version": "0.3.3",
"description": "Padding and unpadding of messages divided into blocks.",
"scope": "required",
"hashes": [
{
"alg": "SHA-256",
"content": "a8894febbff9f758034a5b8e12d87918f56dfc64a8e1fe757d65e29041538d93"
}
],
"licenses": [
{
"expression": "MIT OR Apache-2.0"
}
],
"purl": "pkg:cargo/block-padding@0.3.3",
"externalReferences": [
{
"type": "documentation",
"url": "https://docs.rs/block-padding"
},
{
"type": "vcs",
"url": "https://github.com/RustCrypto/utils"
}
]
},
{
"type": "library",
"bom-ref": "registry+https://github.com/rust-lang/crates.io-index#bytes@1.11.1",
"author": "Carl Lerche <me@carllerche.com>, Sean McArthur <sean@seanmonstar.com>",
"name": "bytes",
"version": "1.11.1",
"description": "Types and traits for working with bytes",
"scope": "required",
"hashes": [
{
"alg": "SHA-256",
"content": "1e748733b7cbc798e1434b6ac524f0c1ff2ab456fe201501e6497c8417a4fc33"
}
],
"licenses": [
{
"expression": "MIT"
}
],
"purl": "pkg:cargo/bytes@1.11.1",
"externalReferences": [
{
"type": "vcs",
"url": "https://github.com/tokio-rs/bytes"
}
]
},
{
"type": "library",
"bom-ref": "registry+https://github.com/rust-lang/crates.io-index#cbc@0.1.2",
"author": "RustCrypto Developers",
"name": "cbc",
"version": "0.1.2",
"description": "Cipher Block Chaining (CBC) block cipher mode of operation",
"scope": "required",
"hashes": [
{
"alg": "SHA-256",
"content": "26b52a9543ae338f279b96b0b9fed9c8093744685043739079ce85cd58f289a6"
}
],
"licenses": [
{
"expression": "MIT OR Apache-2.0"
}
],
"purl": "pkg:cargo/cbc@0.1.2",
"externalReferences": [
{
"type": "documentation",
"url": "https://docs.rs/cbc"
},
{
"type": "vcs",
"url": "https://github.com/RustCrypto/block-modes"
}
]
},
{
"type": "library",
"bom-ref": "registry+https://github.com/rust-lang/crates.io-index#cc@1.2.64",
"author": "Alex Crichton <alex@alexcrichton.com>",
"name": "cc",
"version": "1.2.64",
"description": "A build-time dependency for Cargo build scripts to assist in invoking the native C compiler to compile native C code into a static archive to be linked into Rust code. ",
"scope": "excluded",
"hashes": [
{
"alg": "SHA-256",
"content": "dad887fd958be91b5098c0248def011f4523ab786cd411be668777e55063501f"
}
],
"licenses": [
{
"expression": "MIT OR Apache-2.0"
}
],
"purl": "pkg:cargo/cc@1.2.64",
"externalReferences": [
{
"type": "documentation",
"url": "https://docs.rs/cc"
},
{
"type": "website",
"url": "https://github.com/rust-lang/cc-rs"
},
{
"type": "vcs",
"url": "https://github.com/rust-lang/cc-rs"
}
]
},
{
"type": "library",
"bom-ref": "registry+https://github.com/rust-lang/crates.io-index#cfg-if@1.0.4",
"author": "Alex Crichton <alex@alexcrichton.com>",
"name": "cfg-if",
"version": "1.0.4",
"description": "A macro to ergonomically define an item depending on a large number of #[cfg] parameters. Structured like an if-else chain, the first matching branch is the item that gets emitted. ",
"scope": "required",
"hashes": [
{
"alg": "SHA-256",
"content": "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801"
}
],
"licenses": [
{
"expression": "MIT OR Apache-2.0"
}
],
"purl": "pkg:cargo/cfg-if@1.0.4",
"externalReferences": [
{
"type": "vcs",
"url": "https://github.com/rust-lang/cfg-if"
}
]
},
{
"type": "library",
"bom-ref": "registry+https://github.com/rust-lang/crates.io-index#cfg_aliases@0.2.1",
"author": "Zicklag <zicklag@katharostech.com>",
"name": "cfg_aliases",
"version": "0.2.1",
"description": "A tiny utility to help save you a lot of effort with long winded `#[cfg()]` checks.",
"scope": "excluded",
"hashes": [
{
"alg": "SHA-256",
"content": "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724"
}
],
"licenses": [
{
"expression": "MIT"
}
],
"purl": "pkg:cargo/cfg_aliases@0.2.1",
"externalReferences": [
{
"type": "documentation",
"url": "https://docs.rs/cfg_aliases"
},
{
"type": "website",
"url": "https://github.com/katharostech/cfg_aliases"
},
{
"type": "vcs",
"url": "https://github.com/katharostech/cfg_aliases"
}
]
},
{
"type": "library",
"bom-ref": "registry+https://github.com/rust-lang/crates.io-index#cipher@0.4.4",
"author": "RustCrypto Developers",
"name": "cipher",
"version": "0.4.4",
"description": "Traits for describing block ciphers and stream ciphers",
"scope": "required",
"hashes": [
{
"alg": "SHA-256",
"content": "773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad"
}
],
"licenses": [
{
"expression": "MIT OR Apache-2.0"
}
],
"purl": "pkg:cargo/cipher@0.4.4",
"externalReferences": [
{
"type": "documentation",
"url": "https://docs.rs/cipher"
},
{
"type": "vcs",
"url": "https://github.com/RustCrypto/traits"
}
]
},
{
"type": "library",
"bom-ref": "registry+https://github.com/rust-lang/crates.io-index#const-oid@0.9.6",
"author": "RustCrypto Developers",
"name": "const-oid",
"version": "0.9.6",
"description": "Const-friendly implementation of the ISO/IEC Object Identifier (OID) standard as defined in ITU X.660, with support for BER/DER encoding/decoding as well as heapless no_std (i.e. embedded) support ",
"scope": "required",
"hashes": [
{
"alg": "SHA-256",
"content": "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8"
}
],
"licenses": [
{
"expression": "Apache-2.0 OR MIT"
}
],
"purl": "pkg:cargo/const-oid@0.9.6",
"externalReferences": [
{
"type": "documentation",
"url": "https://docs.rs/const-oid"
},
{
"type": "vcs",
"url": "https://github.com/RustCrypto/formats/tree/master/const-oid"
}
]
},
{
"type": "library",
"bom-ref": "registry+https://github.com/rust-lang/crates.io-index#cpufeatures@0.2.17",
"author": "RustCrypto Developers",
"name": "cpufeatures",
"version": "0.2.17",
"description": "Lightweight runtime CPU feature detection for aarch64, loongarch64, and x86/x86_64 targets, with no_std support and support for mobile targets including Android and iOS ",
"scope": "required",
"hashes": [
{
"alg": "SHA-256",
"content": "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280"
}
],
"licenses": [
{
"expression": "MIT OR Apache-2.0"
}
],
"purl": "pkg:cargo/cpufeatures@0.2.17",
"externalReferences": [
{
"type": "documentation",
"url": "https://docs.rs/cpufeatures"
},
{
"type": "vcs",
"url": "https://github.com/RustCrypto/utils"
}
]
},
{
"type": "library",
"bom-ref": "registry+https://github.com/rust-lang/crates.io-index#crc-catalog@2.5.0",
"author": "Akhil Velagapudi <akhilvelagapudi@gmail.com>",
"name": "crc-catalog",
"version": "2.5.0",
"description": "Catalog of CRC algorithms (generated from http://reveng.sourceforge.net/crc-catalogue) expressed as simple Rust structs.",
"scope": "required",
"hashes": [
{
"alg": "SHA-256",
"content": "217698eaf96b4a3f0bc4f3662aaa55bdf913cd54d7204591faa790070c6d0853"
}
],
"licenses": [
{
"expression": "MIT OR Apache-2.0"
}
],
"purl": "pkg:cargo/crc-catalog@2.5.0",
"externalReferences": [
{
"type": "vcs",
"url": "https://github.com/akhilles/crc-catalog.git"
}
]
},
{
"type": "library",
"bom-ref": "registry+https://github.com/rust-lang/crates.io-index#crc@3.4.0",
"author": "Rui Hu <code@mrhooray.com>, Akhil Velagapudi <4@4khil.com>",
"name": "crc",
"version": "3.4.0",
"description": "Rust implementation of CRC with support of various standards",
"scope": "required",
"hashes": [
{
"alg": "SHA-256",
"content": "5eb8a2a1cd12ab0d987a5d5e825195d372001a4094a0376319d5a0ad71c1ba0d"
}
],
"licenses": [
{
"expression": "MIT OR Apache-2.0"
}
],
"purl": "pkg:cargo/crc@3.4.0",
"externalReferences": [
{
"type": "documentation",
"url": "https://docs.rs/crc"
},
{
"type": "vcs",
"url": "https://github.com/mrhooray/crc-rs.git"
}
]
},
{
"type": "library",
"bom-ref": "registry+https://github.com/rust-lang/crates.io-index#crypto-common@0.1.7",
"author": "RustCrypto Developers",
"name": "crypto-common",
"version": "0.1.7",
"description": "Common cryptographic traits",
"scope": "required",
"hashes": [
{
"alg": "SHA-256",
"content": "78c8292055d1c1df0cce5d180393dc8cce0abec0a7102adb6c7b1eef6016d60a"
}
],
"licenses": [
{
"expression": "MIT OR Apache-2.0"
}
],
"purl": "pkg:cargo/crypto-common@0.1.7",
"externalReferences": [
{
"type": "documentation",
"url": "https://docs.rs/crypto-common"
},
{
"type": "vcs",
"url": "https://github.com/RustCrypto/traits"
}
]
},
{
"type": "library",
"bom-ref": "registry+https://github.com/rust-lang/crates.io-index#der@0.7.10",
"author": "RustCrypto Developers",
"name": "der",
"version": "0.7.10",
"description": "Pure Rust embedded-friendly implementation of the Distinguished Encoding Rules (DER) for Abstract Syntax Notation One (ASN.1) as described in ITU X.690 with full support for heapless no_std targets ",
"scope": "required",
"hashes": [
{
"alg": "SHA-256",
"content": "e7c1832837b905bbfb5101e07cc24c8deddf52f93225eee6ead5f4d63d53ddcb"
}
],
"licenses": [
{
"expression": "Apache-2.0 OR MIT"
}
],
"purl": "pkg:cargo/der@0.7.10",
"externalReferences": [
{
"type": "vcs",
"url": "https://github.com/RustCrypto/formats/tree/master/der"
}
]
},
{
"type": "library",
"bom-ref": "registry+https://github.com/rust-lang/crates.io-index#digest@0.10.7",
"author": "RustCrypto Developers",
"name": "digest",
"version": "0.10.7",
"description": "Traits for cryptographic hash functions and message authentication codes",
"scope": "required",
"hashes": [
{
"alg": "SHA-256",
"content": "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292"
}
],
"licenses": [
{
"expression": "MIT OR Apache-2.0"
}
],
"purl": "pkg:cargo/digest@0.10.7",
"externalReferences": [
{
"type": "documentation",
"url": "https://docs.rs/digest"
},
{
"type": "vcs",
"url": "https://github.com/RustCrypto/traits"
}
]
},
{
"type": "library",
"bom-ref": "registry+https://github.com/rust-lang/crates.io-index#find-msvc-tools@0.1.9",
"name": "find-msvc-tools",
"version": "0.1.9",
"description": "Find windows-specific tools, read MSVC versions from the registry and from COM interfaces",
"scope": "excluded",
"hashes": [
{
"alg": "SHA-256",
"content": "5baebc0774151f905a1a2cc41989300b1e6fbb29aff0ceffa1064fdd3088d582"
}
],
"licenses": [
{
"expression": "MIT OR Apache-2.0"
}
],
"purl": "pkg:cargo/find-msvc-tools@0.1.9",
"externalReferences": [
{
"type": "documentation",
"url": "https://docs.rs/find-msvc-tools"
},
{
"type": "vcs",
"url": "https://github.com/rust-lang/cc-rs"
}
]
},
{
"type": "library",
"bom-ref": "registry+https://github.com/rust-lang/crates.io-index#futures-core@0.3.32",
"name": "futures-core",
"version": "0.3.32",
"description": "The core traits and types in for the `futures` library. ",
"scope": "required",
"hashes": [
{
"alg": "SHA-256",
"content": "7e3450815272ef58cec6d564423f6e755e25379b217b0bc688e295ba24df6b1d"
}
],
"licenses": [
{
"expression": "MIT OR Apache-2.0"
}
],
"purl": "pkg:cargo/futures-core@0.3.32",
"externalReferences": [
{
"type": "website",
"url": "https://rust-lang.github.io/futures-rs"
},
{
"type": "vcs",
"url": "https://github.com/rust-lang/futures-rs"
}
]
},
{
"type": "library",
"bom-ref": "registry+https://github.com/rust-lang/crates.io-index#futures-sink@0.3.32",
"name": "futures-sink",
"version": "0.3.32",
"description": "The asynchronous `Sink` trait for the futures-rs library. ",
"scope": "required",
"hashes": [
{
"alg": "SHA-256",
"content": "c39754e157331b013978ec91992bde1ac089843443c49cbc7f46150b0fad0893"
}
],
"licenses": [
{
"expression": "MIT OR Apache-2.0"
}
],
"purl": "pkg:cargo/futures-sink@0.3.32",
"externalReferences": [
{
"type": "website",
"url": "https://rust-lang.github.io/futures-rs"
},
{
"type": "vcs",
"url": "https://github.com/rust-lang/futures-rs"
}
]
},
{
"type": "library",
"bom-ref": "registry+https://github.com/rust-lang/crates.io-index#generic-array@0.14.7",
"author": "Bartłomiej Kamiński <fizyk20@gmail.com>, Aaron Trent <novacrazy@gmail.com>",
"name": "generic-array",
"version": "0.14.7",
"description": "Generic types implementing functionality of arrays",
"scope": "required",
"hashes": [
{
"alg": "SHA-256",
"content": "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a"
}
],
"licenses": [
{
"expression": "MIT"
}
],
"purl": "pkg:cargo/generic-array@0.14.7",
"externalReferences": [
{
"type": "documentation",
"url": "http://fizyk20.github.io/generic-array/generic_array/"
},
{
"type": "vcs",
"url": "https://github.com/fizyk20/generic-array.git"
}
]
},
{
"type": "library",
"bom-ref": "registry+https://github.com/rust-lang/crates.io-index#getrandom@0.2.17",
"author": "The Rand Project Developers",
"name": "getrandom",
"version": "0.2.17",
"description": "A small cross-platform library for retrieving random data from system source",
"scope": "required",
"hashes": [
{
"alg": "SHA-256",
"content": "ff2abc00be7fca6ebc474524697ae276ad847ad0a6b3faa4bcb027e9a4614ad0"
}
],
"licenses": [
{
"expression": "MIT OR Apache-2.0"
}
],
"purl": "pkg:cargo/getrandom@0.2.17",
"externalReferences": [
{
"type": "documentation",
"url": "https://docs.rs/getrandom"
},
{
"type": "vcs",
"url": "https://github.com/rust-random/getrandom"
}
]
},
{
"type": "library",
"bom-ref": "registry+https://github.com/rust-lang/crates.io-index#hmac@0.12.1",
"author": "RustCrypto Developers",
"name": "hmac",
"version": "0.12.1",
"description": "Generic implementation of Hash-based Message Authentication Code (HMAC)",
"scope": "required",
"hashes": [
{
"alg": "SHA-256",
"content": "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e"
}
],
"licenses": [
{
"expression": "MIT OR Apache-2.0"
}
],
"purl": "pkg:cargo/hmac@0.12.1",
"externalReferences": [
{
"type": "documentation",
"url": "https://docs.rs/hmac"
},
{
"type": "vcs",
"url": "https://github.com/RustCrypto/MACs"
}
]
},
{
"type": "library",
"bom-ref": "registry+https://github.com/rust-lang/crates.io-index#inout@0.1.4",
"author": "RustCrypto Developers",
"name": "inout",
"version": "0.1.4",
"description": "Custom reference types for code generic over in-place and buffer-to-buffer modes of operation.",
"scope": "required",
"hashes": [
{
"alg": "SHA-256",
"content": "879f10e63c20629ecabbb64a8010319738c66a5cd0c29b02d63d272b03751d01"
}
],
"licenses": [
{
"expression": "MIT OR Apache-2.0"
}
],
"purl": "pkg:cargo/inout@0.1.4",
"externalReferences": [
{
"type": "documentation",
"url": "https://docs.rs/inout"
},
{
"type": "vcs",
"url": "https://github.com/RustCrypto/utils"
}
]
},
{
"type": "library",
"bom-ref": "registry+https://github.com/rust-lang/crates.io-index#libc@0.2.186",
"author": "The Rust Project Developers",
"name": "libc",
"version": "0.2.186",
"description": "Raw FFI bindings to platform libraries like libc.",
"scope": "required",
"hashes": [
{
"alg": "SHA-256",
"content": "68ab91017fe16c622486840e4c83c9a37afeff978bd239b5293d61ece587de66"
}
],
"licenses": [
{
"expression": "MIT OR Apache-2.0"
}
],
"purl": "pkg:cargo/libc@0.2.186",
"externalReferences": [
{
"type": "vcs",
"url": "https://github.com/rust-lang/libc"
}
]
},
{
"type": "library",
"bom-ref": "registry+https://github.com/rust-lang/crates.io-index#log@0.4.32",
"author": "The Rust Project Developers",
"name": "log",
"version": "0.4.32",
"description": "A lightweight logging facade for Rust ",
"scope": "required",
"hashes": [
{
"alg": "SHA-256",
"content": "953f07c43838f8e6f9758cab68bf5bed85465e7587ebe0b823f1bcd81978ad3a"
}
],
"licenses": [
{
"expression": "MIT OR Apache-2.0"
}
],
"purl": "pkg:cargo/log@0.4.32",
"externalReferences": [
{
"type": "documentation",
"url": "https://docs.rs/log"
},
{
"type": "vcs",
"url": "https://github.com/rust-lang/log"
}
]
},
{
"type": "library",
"bom-ref": "registry+https://github.com/rust-lang/crates.io-index#mio-serial@5.0.7",
"author": "Zac Berkowitz <zac.berkowitz@gmail.com>",
"name": "mio-serial",
"version": "5.0.7",
"description": "A serial port implementation for mio",
"scope": "required",
"hashes": [
{
"alg": "SHA-256",
"content": "6d4ba3f20276f21b7cad3f1b54c97489cf096a3894fd627cc6951cb3abdd4c60"
}
],
"licenses": [
{
"expression": "MIT"
}
],
"purl": "pkg:cargo/mio-serial@5.0.7",
"externalReferences": [
{
"type": "documentation",
"url": "https://docs.rs/mio-serial"
},
{
"type": "website",
"url": "https://github.com/berkowski/mio-serial"
},
{
"type": "vcs",
"url": "https://github.com/berkowski/mio-serial"
}
]
},
{
"type": "library",
"bom-ref": "registry+https://github.com/rust-lang/crates.io-index#mio@1.2.1",
"author": "Carl Lerche <me@carllerche.com>, Thomas de Zeeuw <thomasdezeeuw@gmail.com>, Tokio Contributors <team@tokio.rs>",
"name": "mio",
"version": "1.2.1",
"description": "Lightweight non-blocking I/O.",
"scope": "required",
"hashes": [
{
"alg": "SHA-256",
"content": "02bd0af71c67b473010cbbc60715ee815645a4dc942899111f494b4b737d6fda"
}
],
"licenses": [
{
"expression": "MIT"
}
],
"purl": "pkg:cargo/mio@1.2.1",
"externalReferences": [
{
"type": "website",
"url": "https://github.com/tokio-rs/mio"
},
{
"type": "vcs",
"url": "https://github.com/tokio-rs/mio"
}
]
},
{
"type": "library",
"bom-ref": "registry+https://github.com/rust-lang/crates.io-index#nix@0.26.4",
"author": "The nix-rust Project Developers",
"name": "nix",
"version": "0.26.4",
"description": "Rust friendly bindings to *nix APIs",
"scope": "required",
"hashes": [
{
"alg": "SHA-256",
"content": "598beaf3cc6fdd9a5dfb1630c2800c7acd31df7aaf0f565796fba2b53ca1af1b"
}
],
"licenses": [
{
"expression": "MIT"
}
],
"purl": "pkg:cargo/nix@0.26.4",
"externalReferences": [
{
"type": "vcs",
"url": "https://github.com/nix-rust/nix"
}
]
},
{
"type": "library",
"bom-ref": "registry+https://github.com/rust-lang/crates.io-index#nix@0.31.3",
"name": "nix",
"version": "0.31.3",
"description": "Rust friendly bindings to *nix APIs",
"scope": "required",
"hashes": [
{
"alg": "SHA-256",
"content": "cf20d2fde8ff38632c426f1165ed7436270b44f199fc55284c38276f9db47c3d"
}
],
"licenses": [
{
"expression": "MIT"
}
],
"purl": "pkg:cargo/nix@0.31.3",
"externalReferences": [
{
"type": "vcs",
"url": "https://github.com/nix-rust/nix"
}
]
},
{
"type": "library",
"bom-ref": "registry+https://github.com/rust-lang/crates.io-index#once_cell@1.21.4",
"author": "Aleksey Kladov <aleksey.kladov@gmail.com>",
"name": "once_cell",
"version": "1.21.4",
"description": "Single assignment cells and lazy values.",
"scope": "required",
"hashes": [
{
"alg": "SHA-256",
"content": "9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50"
}
],
"licenses": [
{
"expression": "MIT OR Apache-2.0"
}
],
"purl": "pkg:cargo/once_cell@1.21.4",
"externalReferences": [
{
"type": "documentation",
"url": "https://docs.rs/once_cell"
},
{
"type": "vcs",
"url": "https://github.com/matklad/once_cell"
}
]
},
{
"type": "library",
"bom-ref": "registry+https://github.com/rust-lang/crates.io-index#pbkdf2@0.12.2",
"author": "RustCrypto Developers",
"name": "pbkdf2",
"version": "0.12.2",
"description": "Generic implementation of PBKDF2",
"scope": "required",
"hashes": [
{
"alg": "SHA-256",
"content": "f8ed6a7761f76e3b9f92dfb0a60a6a6477c61024b775147ff0973a02653abaf2"
}
],
"licenses": [
{
"expression": "MIT OR Apache-2.0"
}
],
"purl": "pkg:cargo/pbkdf2@0.12.2",
"externalReferences": [
{
"type": "documentation",
"url": "https://docs.rs/pbkdf2"
},
{
"type": "vcs",
"url": "https://github.com/RustCrypto/password-hashes/tree/master/pbkdf2"
}
]
},
{
"type": "library",
"bom-ref": "registry+https://github.com/rust-lang/crates.io-index#pem-rfc7468@0.7.0",
"author": "RustCrypto Developers",
"name": "pem-rfc7468",
"version": "0.7.0",
"description": "PEM Encoding (RFC 7468) for PKIX, PKCS, and CMS Structures, implementing a strict subset of the original Privacy-Enhanced Mail encoding intended specifically for use with cryptographic keys, certificates, and other messages. Provides a no_std-friendly, constant-time implementation suitable for use with cryptographic private keys. ",
"scope": "required",
"hashes": [
{
"alg": "SHA-256",
"content": "88b39c9bfcfc231068454382784bb460aae594343fb030d46e9f50a645418412"
}
],
"licenses": [
{
"expression": "Apache-2.0 OR MIT"
}
],
"purl": "pkg:cargo/pem-rfc7468@0.7.0",
"externalReferences": [
{
"type": "vcs",
"url": "https://github.com/RustCrypto/formats/tree/master/pem-rfc7468"
}
]
},
{
"type": "library",
"bom-ref": "registry+https://github.com/rust-lang/crates.io-index#pem@3.0.6",
"author": "Jonathan Creekmore <jonathan@thecreekmores.org>",
"name": "pem",
"version": "3.0.6",
"description": "Parse and encode PEM-encoded data.",
"scope": "required",
"hashes": [
{
"alg": "SHA-256",
"content": "1d30c53c26bc5b31a98cd02d20f25a7c8567146caf63ed593a9d87b2775291be"
}
],
"licenses": [
{
"expression": "MIT"
}
],
"purl": "pkg:cargo/pem@3.0.6",
"externalReferences": [
{
"type": "documentation",
"url": "https://docs.rs/pem/"
},
{
"type": "website",
"url": "https://github.com/jcreekmore/pem-rs.git"
},
{
"type": "vcs",
"url": "https://github.com/jcreekmore/pem-rs.git"
}
]
},
{
"type": "library",
"bom-ref": "registry+https://github.com/rust-lang/crates.io-index#pin-project-lite@0.2.17",
"name": "pin-project-lite",
"version": "0.2.17",
"description": "A lightweight version of pin-project written with declarative macros. ",
"scope": "required",
"hashes": [
{
"alg": "SHA-256",
"content": "a89322df9ebe1c1578d689c92318e070967d1042b512afbe49518723f4e6d5cd"
}
],
"licenses": [
{
"expression": "Apache-2.0 OR MIT"
}
],
"purl": "pkg:cargo/pin-project-lite@0.2.17",
"externalReferences": [
{
"type": "vcs",
"url": "https://github.com/taiki-e/pin-project-lite"
}
]
},
{
"type": "library",
"bom-ref": "registry+https://github.com/rust-lang/crates.io-index#pkcs5@0.7.1",
"author": "RustCrypto Developers",
"name": "pkcs5",
"version": "0.7.1",
"description": "Pure Rust implementation of Public-Key Cryptography Standards (PKCS) #5: Password-Based Cryptography Specification Version 2.1 (RFC 8018) ",
"scope": "required",
"hashes": [
{
"alg": "SHA-256",
"content": "e847e2c91a18bfa887dd028ec33f2fe6f25db77db3619024764914affe8b69a6"
}
],
"licenses": [
{
"expression": "Apache-2.0 OR MIT"
}
],
"purl": "pkg:cargo/pkcs5@0.7.1",
"externalReferences": [
{
"type": "vcs",
"url": "https://github.com/RustCrypto/formats/tree/master/pkcs5"
}
]
},
{
"type": "library",
"bom-ref": "registry+https://github.com/rust-lang/crates.io-index#pkcs8@0.10.2",
"author": "RustCrypto Developers",
"name": "pkcs8",
"version": "0.10.2",
"description": "Pure Rust implementation of Public-Key Cryptography Standards (PKCS) #8: Private-Key Information Syntax Specification (RFC 5208), with additional support for PKCS#8v2 asymmetric key packages (RFC 5958) ",
"scope": "required",
"hashes": [
{
"alg": "SHA-256",
"content": "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7"
}
],
"licenses": [
{
"expression": "Apache-2.0 OR MIT"
}
],
"purl": "pkg:cargo/pkcs8@0.10.2",
"externalReferences": [
{
"type": "vcs",
"url": "https://github.com/RustCrypto/formats/tree/master/pkcs8"
}
]
},
{
"type": "library",
"bom-ref": "registry+https://github.com/rust-lang/crates.io-index#proc-macro2@1.0.106",
"author": "David Tolnay <dtolnay@gmail.com>, Alex Crichton <alex@alexcrichton.com>",
"name": "proc-macro2",
"version": "1.0.106",
"description": "A substitute implementation of the compiler's `proc_macro` API to decouple token-based libraries from the procedural macro use case.",
"scope": "required",
"hashes": [
{
"alg": "SHA-256",
"content": "8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934"
}
],
"licenses": [
{
"expression": "MIT OR Apache-2.0"
}
],
"purl": "pkg:cargo/proc-macro2@1.0.106",
"externalReferences": [
{
"type": "documentation",
"url": "https://docs.rs/proc-macro2"
},
{
"type": "vcs",
"url": "https://github.com/dtolnay/proc-macro2"
}
]
},
{
"type": "library",
"bom-ref": "registry+https://github.com/rust-lang/crates.io-index#quote@1.0.45",
"author": "David Tolnay <dtolnay@gmail.com>",
"name": "quote",
"version": "1.0.45",
"description": "Quasi-quoting macro quote!(...)",
"scope": "required",
"hashes": [
{
"alg": "SHA-256",
"content": "41f2619966050689382d2b44f664f4bc593e129785a36d6ee376ddf37259b924"
}
],
"licenses": [
{
"expression": "MIT OR Apache-2.0"
}
],
"purl": "pkg:cargo/quote@1.0.45",
"externalReferences": [
{
"type": "documentation",
"url": "https://docs.rs/quote/"
},
{
"type": "vcs",
"url": "https://github.com/dtolnay/quote"
}
]
},
{
"type": "library",
"bom-ref": "registry+https://github.com/rust-lang/crates.io-index#rand_core@0.6.4",
"author": "The Rand Project Developers, The Rust Project Developers",
"name": "rand_core",
"version": "0.6.4",
"description": "Core random number generator traits and tools for implementation. ",
"scope": "required",
"hashes": [
{
"alg": "SHA-256",
"content": "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
}
],
"licenses": [
{
"expression": "MIT OR Apache-2.0"
}
],
"purl": "pkg:cargo/rand_core@0.6.4",
"externalReferences": [
{
"type": "documentation",
"url": "https://docs.rs/rand_core"
},
{
"type": "website",
"url": "https://rust-random.github.io/book"
},
{
"type": "vcs",
"url": "https://github.com/rust-random/rand"
}
]
},
{
"type": "library",
"bom-ref": "registry+https://github.com/rust-lang/crates.io-index#ring@0.17.14",
"name": "ring",
"version": "0.17.14",
"description": "An experiment.",
"scope": "required",
"hashes": [
{
"alg": "SHA-256",
"content": "a4689e6c2294d81e88dc6261c768b63bc4fcdb852be6d1352498b114f61383b7"
}
],
"licenses": [
{
"expression": "Apache-2.0 AND ISC"
}
],
"purl": "pkg:cargo/ring@0.17.14",
"externalReferences": [
{
"type": "other",
"url": "ring_core_0_17_14_"
},
{
"type": "vcs",
"url": "https://github.com/briansmith/ring"
}
]
},
{
"type": "library",
"bom-ref": "registry+https://github.com/rust-lang/crates.io-index#rustls-pki-types@1.14.1",
"name": "rustls-pki-types",
"version": "1.14.1",
"description": "Shared types for the rustls PKI ecosystem",
"scope": "required",
"hashes": [
{
"alg": "SHA-256",
"content": "30a7197ae7eb376e574fe940d068c30fe0462554a3ddbe4eca7838e049c937a9"
}
],
"licenses": [
{
"expression": "MIT OR Apache-2.0"
}
],
"purl": "pkg:cargo/rustls-pki-types@1.14.1",
"externalReferences": [
{
"type": "documentation",
"url": "https://docs.rs/rustls-pki-types"
},
{
"type": "website",
"url": "https://github.com/rustls/pki-types"
},
{
"type": "vcs",
"url": "https://github.com/rustls/pki-types"
}
]
},
{
"type": "library",
"bom-ref": "registry+https://github.com/rust-lang/crates.io-index#rustls-webpki@0.103.13",
"name": "rustls-webpki",
"version": "0.103.13",
"description": "Web PKI X.509 Certificate Verification.",
"scope": "required",
"hashes": [
{
"alg": "SHA-256",
"content": "61c429a8649f110dddef65e2a5ad240f747e85f7758a6bccc7e5777bd33f756e"
}
],
"licenses": [
{
"expression": "ISC"
}
],
"purl": "pkg:cargo/rustls-webpki@0.103.13",
"externalReferences": [
{
"type": "vcs",
"url": "https://github.com/rustls/webpki"
}
]
},
{
"type": "library",
"bom-ref": "registry+https://github.com/rust-lang/crates.io-index#rustls@0.23.40",
"name": "rustls",
"version": "0.23.40",
"description": "Rustls is a modern TLS library written in Rust.",
"scope": "required",
"hashes": [
{
"alg": "SHA-256",
"content": "ef86cd5876211988985292b91c96a8f2d298df24e75989a43a3c73f2d4d8168b"
}
],
"licenses": [
{
"expression": "Apache-2.0 OR ISC OR MIT"
}
],
"purl": "pkg:cargo/rustls@0.23.40",
"externalReferences": [
{
"type": "website",
"url": "https://github.com/rustls/rustls"
},
{
"type": "vcs",
"url": "https://github.com/rustls/rustls"
}
]
},
{
"type": "library",
"bom-ref": "registry+https://github.com/rust-lang/crates.io-index#rx509@0.2.1",
"author": "Step Function I/O <info@stepfunc.io>",
"name": "rx509",
"version": "0.2.1",
"description": "zero dependency X.509 decoder",
"scope": "required",
"hashes": [
{
"alg": "SHA-256",
"content": "d3b4a7d26e4a603b3cedff6a968d356e445c10dbc3e4cf6bd414fd5428437e73"
}
],
"licenses": [
{
"expression": "MIT OR Apache-2.0"
}
],
"purl": "pkg:cargo/rx509@0.2.1",
"externalReferences": [
{
"type": "website",
"url": "https://github.com/stepfunc/rasn/"
}
]
},
{
"type": "library",
"bom-ref": "registry+https://github.com/rust-lang/crates.io-index#salsa20@0.10.2",
"author": "RustCrypto Developers",
"name": "salsa20",
"version": "0.10.2",
"description": "Salsa20 Stream Cipher",
"scope": "required",
"hashes": [
{
"alg": "SHA-256",
"content": "97a22f5af31f73a954c10289c93e8a50cc23d971e80ee446f1f6f7137a088213"
}
],
"licenses": [
{
"expression": "MIT OR Apache-2.0"
}
],
"purl": "pkg:cargo/salsa20@0.10.2",
"externalReferences": [
{
"type": "documentation",
"url": "https://docs.rs/salsa20"
},
{
"type": "vcs",
"url": "https://github.com/RustCrypto/stream-ciphers"
}
]
},
{
"type": "library",
"bom-ref": "registry+https://github.com/rust-lang/crates.io-index#scopeguard@1.2.0",
"author": "bluss",
"name": "scopeguard",
"version": "1.2.0",
"description": "A RAII scope guard that will run a given closure when it goes out of scope, even if the code between panics (assuming unwinding panic). Defines the macros `defer!`, `defer_on_unwind!`, `defer_on_success!` as shorthands for guards with one of the implemented strategies. ",
"scope": "required",
"hashes": [
{
"alg": "SHA-256",
"content": "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
}
],
"licenses": [
{
"expression": "MIT OR Apache-2.0"
}
],
"purl": "pkg:cargo/scopeguard@1.2.0",
"externalReferences": [
{
"type": "documentation",
"url": "https://docs.rs/scopeguard/"
},
{
"type": "vcs",
"url": "https://github.com/bluss/scopeguard"
}
]
},
{
"type": "library",
"bom-ref": "registry+https://github.com/rust-lang/crates.io-index#scrypt@0.11.0",
"author": "RustCrypto Developers",
"name": "scrypt",
"version": "0.11.0",
"description": "Scrypt password-based key derivation function",
"scope": "required",
"hashes": [
{
"alg": "SHA-256",
"content": "0516a385866c09368f0b5bcd1caff3366aace790fcd46e2bb032697bb172fd1f"
}
],
"licenses": [
{
"expression": "MIT OR Apache-2.0"
}
],
"purl": "pkg:cargo/scrypt@0.11.0",
"externalReferences": [
{
"type": "documentation",
"url": "https://docs.rs/scrypt"
},
{
"type": "vcs",
"url": "https://github.com/RustCrypto/password-hashes/tree/master/scrypt"
}
]
},
{
"type": "library",
"bom-ref": "registry+https://github.com/rust-lang/crates.io-index#scursor@0.5.0",
"name": "scursor",
"version": "0.5.0",
"description": "Secure cursor library with support for read and write transactions",
"scope": "required",
"hashes": [
{
"alg": "SHA-256",
"content": "44cc835e9c5bfc9833d698556fc56bfeb8f6c672d96f1a02319b68c8e9be9d50"
}
],
"licenses": [
{
"expression": "MIT OR Apache-2.0"
}
],
"purl": "pkg:cargo/scursor@0.5.0",
"externalReferences": [
{
"type": "vcs",
"url": "https://github.com/stepfunc/scursor"
}
]
},
{
"type": "library",
"bom-ref": "registry+https://github.com/rust-lang/crates.io-index#serde_core@1.0.228",
"author": "Erick Tryzelaar <erick.tryzelaar@gmail.com>, David Tolnay <dtolnay@gmail.com>",
"name": "serde_core",
"version": "1.0.228",
"description": "Serde traits only, with no support for derive -- use the `serde` crate instead",
"scope": "required",
"hashes": [
{
"alg": "SHA-256",
"content": "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad"
}
],
"licenses": [
{
"expression": "MIT OR Apache-2.0"
}
],
"purl": "pkg:cargo/serde_core@1.0.228",
"externalReferences": [
{
"type": "documentation",
"url": "https://docs.rs/serde_core"
},
{
"type": "website",
"url": "https://serde.rs"
},
{
"type": "vcs",
"url": "https://github.com/serde-rs/serde"
}
]
},
{
"type": "library",
"bom-ref": "registry+https://github.com/rust-lang/crates.io-index#serialport@4.9.0",
"author": "Bryant Mairs <bryant@mai.rs>, Jesse Braham <jesse@beta7.io>",
"name": "serialport",
"version": "4.9.0",
"description": "A cross-platform low-level serial port library.",
"scope": "required",
"hashes": [
{
"alg": "SHA-256",
"content": "a4d91116f97173694f1642263b2ff837f80d933aa837e2314969f6728f661df3"
}
],
"licenses": [
{
"expression": "MPL-2.0"
}
],
"purl": "pkg:cargo/serialport@4.9.0",
"externalReferences": [
{
"type": "documentation",
"url": "https://docs.rs/serialport"
},
{
"type": "vcs",
"url": "https://github.com/serialport/serialport-rs"
}
]
},
{
"type": "library",
"bom-ref": "registry+https://github.com/rust-lang/crates.io-index#sfio-rustls-config@0.4.0",
"author": "Step Function I/O LLC <info@stepfunc.io>",
"name": "sfio-rustls-config",
"version": "0.4.0",
"description": "Configuration routines for Rustls used in libraries from Step Function I/O",
"scope": "required",
"hashes": [
{
"alg": "SHA-256",
"content": "9897a16c2c2da20771fc042228f1484b8166889df83a675704f2926c8fe21778"
}
],
"licenses": [
{
"expression": "MIT OR Apache-2.0"
}
],
"purl": "pkg:cargo/sfio-rustls-config@0.4.0",
"externalReferences": [
{
"type": "vcs",
"url": "https://github.com/stepfunc/rustls-config"
}
]
},
{
"type": "library",
"bom-ref": "registry+https://github.com/rust-lang/crates.io-index#sha2@0.10.9",
"author": "RustCrypto Developers",
"name": "sha2",
"version": "0.10.9",
"description": "Pure Rust implementation of the SHA-2 hash function family including SHA-224, SHA-256, SHA-384, and SHA-512. ",
"scope": "required",
"hashes": [
{
"alg": "SHA-256",
"content": "a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283"
}
],
"licenses": [
{
"expression": "MIT OR Apache-2.0"
}
],
"purl": "pkg:cargo/sha2@0.10.9",
"externalReferences": [
{
"type": "documentation",
"url": "https://docs.rs/sha2"
},
{
"type": "vcs",
"url": "https://github.com/RustCrypto/hashes"
}
]
},
{
"type": "library",
"bom-ref": "registry+https://github.com/rust-lang/crates.io-index#shlex@2.0.1",
"author": "comex <comexk@gmail.com>, Fenhl <fenhl@fenhl.net>, Adrian Taylor <adetaylor@chromium.org>, Alex Touchet <alextouchet@outlook.com>, Daniel Parks <dp+git@oxidized.org>, Garrett Berg <googberg@gmail.com>",
"name": "shlex",
"version": "2.0.1",
"description": "Split a string into shell words, like Python's shlex.",
"scope": "excluded",
"hashes": [
{
"alg": "SHA-256",
"content": "f8fadd59c855ef2080decdef8ff161eb6661b86933c9d82e5ba29dc602a55aba"
}
],
"licenses": [
{
"expression": "MIT OR Apache-2.0"
}
],
"purl": "pkg:cargo/shlex@2.0.1",
"externalReferences": [
{
"type": "vcs",
"url": "https://github.com/comex/rust-shlex"
}
]
},
{
"type": "library",
"bom-ref": "registry+https://github.com/rust-lang/crates.io-index#socket2@0.6.4",
"author": "Alex Crichton <alex@alexcrichton.com>, Thomas de Zeeuw <thomasdezeeuw@gmail.com>",
"name": "socket2",
"version": "0.6.4",
"description": "Utilities for handling networking sockets with a maximal amount of configuration possible intended. ",
"scope": "required",
"hashes": [
{
"alg": "SHA-256",
"content": "52d1cfed4120b4d927bf7c0f86d2087a4a7d6027c906d9f9d525a80573b9be51"
}
],
"licenses": [
{
"expression": "MIT OR Apache-2.0"
}
],
"purl": "pkg:cargo/socket2@0.6.4",
"externalReferences": [
{
"type": "documentation",
"url": "https://docs.rs/socket2"
},
{
"type": "website",
"url": "https://github.com/rust-lang/socket2"
},
{
"type": "vcs",
"url": "https://github.com/rust-lang/socket2"
}
]
},
{
"type": "library",
"bom-ref": "registry+https://github.com/rust-lang/crates.io-index#spki@0.7.3",
"author": "RustCrypto Developers",
"name": "spki",
"version": "0.7.3",
"description": "X.509 Subject Public Key Info (RFC5280) describing public keys as well as their associated AlgorithmIdentifiers (i.e. OIDs) ",
"scope": "required",
"hashes": [
{
"alg": "SHA-256",
"content": "d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d"
}
],
"licenses": [
{
"expression": "Apache-2.0 OR MIT"
}
],
"purl": "pkg:cargo/spki@0.7.3",
"externalReferences": [
{
"type": "vcs",
"url": "https://github.com/RustCrypto/formats/tree/master/spki"
}
]
},
{
"type": "library",
"bom-ref": "registry+https://github.com/rust-lang/crates.io-index#subtle@2.6.1",
"author": "Isis Lovecruft <isis@patternsinthevoid.net>, Henry de Valence <hdevalence@hdevalence.ca>",
"name": "subtle",
"version": "2.6.1",
"description": "Pure-Rust traits and utilities for constant-time cryptographic implementations.",
"scope": "required",
"hashes": [
{
"alg": "SHA-256",
"content": "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292"
}
],
"licenses": [
{
"expression": "BSD-3-Clause"
}
],
"purl": "pkg:cargo/subtle@2.6.1",
"externalReferences": [
{
"type": "documentation",
"url": "https://docs.rs/subtle"
},
{
"type": "website",
"url": "https://dalek.rs/"
},
{
"type": "vcs",
"url": "https://github.com/dalek-cryptography/subtle"
}
]
},
{
"type": "library",
"bom-ref": "registry+https://github.com/rust-lang/crates.io-index#syn@2.0.118",
"author": "David Tolnay <dtolnay@gmail.com>",
"name": "syn",
"version": "2.0.118",
"description": "Parser for Rust source code",
"scope": "required",
"hashes": [
{
"alg": "SHA-256",
"content": "1b9ae57f904213ebb649ce6895b8a66c66f0203b9319718f69a5612a065b1422"
}
],
"licenses": [
{
"expression": "MIT OR Apache-2.0"
}
],
"purl": "pkg:cargo/syn@2.0.118",
"externalReferences": [
{
"type": "documentation",
"url": "https://docs.rs/syn"
},
{
"type": "vcs",
"url": "https://github.com/dtolnay/syn"
}
]
},
{
"type": "library",
"bom-ref": "registry+https://github.com/rust-lang/crates.io-index#thiserror-impl@2.0.18",
"author": "David Tolnay <dtolnay@gmail.com>",
"name": "thiserror-impl",
"version": "2.0.18",
"description": "Implementation detail of the `thiserror` crate",
"scope": "required",
"hashes": [
{
"alg": "SHA-256",
"content": "ebc4ee7f67670e9b64d05fa4253e753e016c6c95ff35b89b7941d6b856dec1d5"
}
],
"licenses": [
{
"expression": "MIT OR Apache-2.0"
}
],
"purl": "pkg:cargo/thiserror-impl@2.0.18",
"externalReferences": [
{
"type": "vcs",
"url": "https://github.com/dtolnay/thiserror"
}
]
},
{
"type": "library",
"bom-ref": "registry+https://github.com/rust-lang/crates.io-index#thiserror@2.0.18",
"author": "David Tolnay <dtolnay@gmail.com>",
"name": "thiserror",
"version": "2.0.18",
"description": "derive(Error)",
"scope": "required",
"hashes": [
{
"alg": "SHA-256",
"content": "4288b5bcbc7920c07a1149a35cf9590a2aa808e0bc1eafaade0b80947865fbc4"
}
],
"licenses": [
{
"expression": "MIT OR Apache-2.0"
}
],
"purl": "pkg:cargo/thiserror@2.0.18",
"externalReferences": [
{
"type": "documentation",
"url": "https://docs.rs/thiserror"
},
{
"type": "vcs",
"url": "https://github.com/dtolnay/thiserror"
}
]
},
{
"type": "library",
"bom-ref": "registry+https://github.com/rust-lang/crates.io-index#tokio-macros@2.7.0",
"author": "Tokio Contributors <team@tokio.rs>",
"name": "tokio-macros",
"version": "2.7.0",
"description": "Tokio's proc macros. ",
"scope": "required",
"hashes": [
{
"alg": "SHA-256",
"content": "385a6cb71ab9ab790c5fe8d67f1645e6c450a7ce006a33de03daa956cf70a496"
}
],
"licenses": [
{
"expression": "MIT"
}
],
"purl": "pkg:cargo/tokio-macros@2.7.0",
"externalReferences": [
{
"type": "website",
"url": "https://tokio.rs"
},
{
"type": "vcs",
"url": "https://github.com/tokio-rs/tokio"
}
]
},
{
"type": "library",
"bom-ref": "registry+https://github.com/rust-lang/crates.io-index#tokio-rustls@0.26.4",
"name": "tokio-rustls",
"version": "0.26.4",
"description": "Asynchronous TLS/SSL streams for Tokio using Rustls.",
"scope": "required",
"hashes": [
{
"alg": "SHA-256",
"content": "1729aa945f29d91ba541258c8df89027d5792d85a8841fb65e8bf0f4ede4ef61"
}
],
"licenses": [
{
"expression": "MIT OR Apache-2.0"
}
],
"purl": "pkg:cargo/tokio-rustls@0.26.4",
"externalReferences": [
{
"type": "documentation",
"url": "https://docs.rs/tokio-rustls"
},
{
"type": "website",
"url": "https://github.com/rustls/tokio-rustls"
},
{
"type": "vcs",
"url": "https://github.com/rustls/tokio-rustls"
}
]
},
{
"type": "library",
"bom-ref": "registry+https://github.com/rust-lang/crates.io-index#tokio-serial@5.5.0",
"author": "Zac Berkowitz <zac.berkowitz@gmail.com>",
"name": "tokio-serial",
"version": "5.5.0",
"description": "A serial port implementation for tokio",
"scope": "required",
"hashes": [
{
"alg": "SHA-256",
"content": "dd00f5f8b1e01c3e5afccd9e42ed80c2ad2df6d007877f29f8592c62e69cd116"
}
],
"licenses": [
{
"expression": "MIT"
}
],
"purl": "pkg:cargo/tokio-serial@5.5.0",
"externalReferences": [
{
"type": "documentation",
"url": "http://docs.rs/tokio-serial"
},
{
"type": "website",
"url": "https://github.com/berkowski/tokio-serial"
},
{
"type": "vcs",
"url": "https://github.com/berkowski/tokio-serial"
}
]
},
{
"type": "library",
"bom-ref": "registry+https://github.com/rust-lang/crates.io-index#tokio@1.52.3",
"author": "Tokio Contributors <team@tokio.rs>",
"name": "tokio",
"version": "1.52.3",
"description": "An event-driven, non-blocking I/O platform for writing asynchronous I/O backed applications. ",
"scope": "required",
"hashes": [
{
"alg": "SHA-256",
"content": "8fc7f01b389ac15039e4dc9531aa973a135d7a4135281b12d7c1bc79fd57fffe"
}
],
"licenses": [
{
"expression": "MIT"
}
],
"purl": "pkg:cargo/tokio@1.52.3",
"externalReferences": [
{
"type": "website",
"url": "https://tokio.rs"
},
{
"type": "vcs",
"url": "https://github.com/tokio-rs/tokio"
}
]
},
{
"type": "library",
"bom-ref": "registry+https://github.com/rust-lang/crates.io-index#tracing-attributes@0.1.31",
"author": "Tokio Contributors <team@tokio.rs>, Eliza Weisman <eliza@buoyant.io>, David Barsky <dbarsky@amazon.com>",
"name": "tracing-attributes",
"version": "0.1.31",
"description": "Procedural macro attributes for automatically instrumenting functions. ",
"scope": "required",
"hashes": [
{
"alg": "SHA-256",
"content": "7490cfa5ec963746568740651ac6781f701c9c5ea257c58e057f3ba8cf69e8da"
}
],
"licenses": [
{
"expression": "MIT"
}
],
"purl": "pkg:cargo/tracing-attributes@0.1.31",
"externalReferences": [
{
"type": "website",
"url": "https://tokio.rs"
},
{
"type": "vcs",
"url": "https://github.com/tokio-rs/tracing"
}
]
},
{
"type": "library",
"bom-ref": "registry+https://github.com/rust-lang/crates.io-index#tracing-core@0.1.36",
"author": "Tokio Contributors <team@tokio.rs>",
"name": "tracing-core",
"version": "0.1.36",
"description": "Core primitives for application-level tracing. ",
"scope": "required",
"hashes": [
{
"alg": "SHA-256",
"content": "db97caf9d906fbde555dd62fa95ddba9eecfd14cb388e4f491a66d74cd5fb79a"
}
],
"licenses": [
{
"expression": "MIT"
}
],
"purl": "pkg:cargo/tracing-core@0.1.36",
"externalReferences": [
{
"type": "website",
"url": "https://tokio.rs"
},
{
"type": "vcs",
"url": "https://github.com/tokio-rs/tracing"
}
]
},
{
"type": "library",
"bom-ref": "registry+https://github.com/rust-lang/crates.io-index#tracing@0.1.44",
"author": "Eliza Weisman <eliza@buoyant.io>, Tokio Contributors <team@tokio.rs>",
"name": "tracing",
"version": "0.1.44",
"description": "Application-level tracing for Rust. ",
"scope": "required",
"hashes": [
{
"alg": "SHA-256",
"content": "63e71662fa4b2a2c3a26f570f037eb95bb1f85397f3cd8076caed2f026a6d100"
}
],
"licenses": [
{
"expression": "MIT"
}
],
"purl": "pkg:cargo/tracing@0.1.44",
"externalReferences": [
{
"type": "website",
"url": "https://tokio.rs"
},
{
"type": "vcs",
"url": "https://github.com/tokio-rs/tracing"
}
]
},
{
"type": "library",
"bom-ref": "registry+https://github.com/rust-lang/crates.io-index#typenum@1.20.1",
"name": "typenum",
"version": "1.20.1",
"description": "Typenum is a Rust library for type-level numbers evaluated at compile time. It currently supports bits, unsigned integers, and signed integers. It also provides a type-level array of type-level numbers, but its implementation is incomplete.",
"scope": "required",
"hashes": [
{
"alg": "SHA-256",
"content": "b6f5e870be6c3b371b77fe0ee0bafb859fa4964b4404c27de1d380043c4dda20"
}
],
"licenses": [
{
"expression": "MIT OR Apache-2.0"
}
],
"purl": "pkg:cargo/typenum@1.20.1",
"externalReferences": [
{
"type": "documentation",
"url": "https://docs.rs/typenum"
},
{
"type": "vcs",
"url": "https://github.com/paholg/typenum"
}
]
},
{
"type": "library",
"bom-ref": "registry+https://github.com/rust-lang/crates.io-index#unescaper@0.1.8",
"author": "Hack Ink <hi@hack.ink>, Xavier Lau <x@acg.box>",
"name": "unescaper",
"version": "0.1.8",
"description": "Unescape strings with escape sequences written out as literal characters.",
"scope": "required",
"hashes": [
{
"alg": "SHA-256",
"content": "4064ed685c487dbc25bd3f0e9548f2e34bab9d18cefc700f9ec2dba74ba1138e"
}
],
"licenses": [
{
"expression": "GPL-3.0 OR MIT"
}
],
"purl": "pkg:cargo/unescaper@0.1.8",
"externalReferences": [
{
"type": "website",
"url": "https://hack.ink/unescaper"
},
{
"type": "vcs",
"url": "https://github.com/hack-ink/unescaper"
}
]
},
{
"type": "library",
"bom-ref": "registry+https://github.com/rust-lang/crates.io-index#unicode-ident@1.0.24",
"author": "David Tolnay <dtolnay@gmail.com>",
"name": "unicode-ident",
"version": "1.0.24",
"description": "Determine whether characters have the XID_Start or XID_Continue properties according to Unicode Standard Annex #31",
"scope": "required",
"hashes": [
{
"alg": "SHA-256",
"content": "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75"
}
],
"licenses": [
{
"expression": "(MIT OR Apache-2.0) AND Unicode-3.0"
}
],
"purl": "pkg:cargo/unicode-ident@1.0.24",
"externalReferences": [
{
"type": "documentation",
"url": "https://docs.rs/unicode-ident"
},
{
"type": "vcs",
"url": "https://github.com/dtolnay/unicode-ident"
}
]
},
{
"type": "library",
"bom-ref": "registry+https://github.com/rust-lang/crates.io-index#untrusted@0.9.0",
"author": "Brian Smith <brian@briansmith.org>",
"name": "untrusted",
"version": "0.9.0",
"description": "Safe, fast, zero-panic, zero-crashing, zero-allocation parsing of untrusted inputs in Rust.",
"scope": "required",
"hashes": [
{
"alg": "SHA-256",
"content": "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1"
}
],
"licenses": [
{
"expression": "ISC"
}
],
"purl": "pkg:cargo/untrusted@0.9.0",
"externalReferences": [
{
"type": "documentation",
"url": "https://briansmith.org/rustdoc/untrusted/"
},
{
"type": "vcs",
"url": "https://github.com/briansmith/untrusted"
}
]
},
{
"type": "library",
"bom-ref": "registry+https://github.com/rust-lang/crates.io-index#version_check@0.9.5",
"author": "Sergio Benitez <sb@sergio.bz>",
"name": "version_check",
"version": "0.9.5",
"description": "Tiny crate to check the version of the installed/running rustc.",
"scope": "excluded",
"hashes": [
{
"alg": "SHA-256",
"content": "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a"
}
],
"licenses": [
{
"expression": "MIT OR Apache-2.0"
}
],
"purl": "pkg:cargo/version_check@0.9.5",
"externalReferences": [
{
"type": "documentation",
"url": "https://docs.rs/version_check/"
},
{
"type": "vcs",
"url": "https://github.com/SergioBenitez/version_check"
}
]
},
{
"type": "library",
"bom-ref": "registry+https://github.com/rust-lang/crates.io-index#zeroize@1.9.0",
"author": "The RustCrypto Project Developers",
"name": "zeroize",
"version": "1.9.0",
"description": "Securely clear secrets from memory with a simple trait built on stable Rust primitives which guarantee memory is zeroed using an operation will not be 'optimized away' by the compiler. Uses a portable pure Rust implementation that works everywhere, even WASM! ",
"scope": "required",
"hashes": [
{
"alg": "SHA-256",
"content": "e13c156562582aa81c60cb29407084cdb54c4164760106ab78e6c5b0858cf64e"
}
],
"licenses": [
{
"expression": "Apache-2.0 OR MIT"
}
],
"purl": "pkg:cargo/zeroize@1.9.0",
"externalReferences": [
{
"type": "documentation",
"url": "https://docs.rs/zeroize"
},
{
"type": "vcs",
"url": "https://github.com/RustCrypto/utils"
}
]
}
],
"dependencies": [
{
"ref": "path+file:///home/jadamcrain/code/rodbus/rodbus#1.5.0",
"dependsOn": [
"registry+https://github.com/rust-lang/crates.io-index#crc@3.4.0",
"registry+https://github.com/rust-lang/crates.io-index#rx509@0.2.1",
"registry+https://github.com/rust-lang/crates.io-index#scursor@0.5.0",
"registry+https://github.com/rust-lang/crates.io-index#sfio-rustls-config@0.4.0",
"registry+https://github.com/rust-lang/crates.io-index#tokio@1.52.3",
"registry+https://github.com/rust-lang/crates.io-index#tokio-rustls@0.26.4",
"registry+https://github.com/rust-lang/crates.io-index#tokio-serial@5.5.0",
"registry+https://github.com/rust-lang/crates.io-index#tracing@0.1.44"
]
},
{
"ref": "registry+https://github.com/rust-lang/crates.io-index#aes@0.8.4",
"dependsOn": [
"registry+https://github.com/rust-lang/crates.io-index#cfg-if@1.0.4",
"registry+https://github.com/rust-lang/crates.io-index#cipher@0.4.4",
"registry+https://github.com/rust-lang/crates.io-index#cpufeatures@0.2.17"
]
},
{
"ref": "registry+https://github.com/rust-lang/crates.io-index#base64@0.22.1"
},
{
"ref": "registry+https://github.com/rust-lang/crates.io-index#base64ct@1.8.3"
},
{
"ref": "registry+https://github.com/rust-lang/crates.io-index#bitflags@1.3.2"
},
{
"ref": "registry+https://github.com/rust-lang/crates.io-index#bitflags@2.13.0"
},
{
"ref": "registry+https://github.com/rust-lang/crates.io-index#block-buffer@0.10.4",
"dependsOn": [
"registry+https://github.com/rust-lang/crates.io-index#generic-array@0.14.7"
]
},
{
"ref": "registry+https://github.com/rust-lang/crates.io-index#block-padding@0.3.3",
"dependsOn": [
"registry+https://github.com/rust-lang/crates.io-index#generic-array@0.14.7"
]
},
{
"ref": "registry+https://github.com/rust-lang/crates.io-index#bytes@1.11.1"
},
{
"ref": "registry+https://github.com/rust-lang/crates.io-index#cbc@0.1.2",
"dependsOn": [
"registry+https://github.com/rust-lang/crates.io-index#cipher@0.4.4"
]
},
{
"ref": "registry+https://github.com/rust-lang/crates.io-index#cc@1.2.64",
"dependsOn": [
"registry+https://github.com/rust-lang/crates.io-index#find-msvc-tools@0.1.9",
"registry+https://github.com/rust-lang/crates.io-index#shlex@2.0.1"
]
},
{
"ref": "registry+https://github.com/rust-lang/crates.io-index#cfg-if@1.0.4"
},
{
"ref": "registry+https://github.com/rust-lang/crates.io-index#cfg_aliases@0.2.1"
},
{
"ref": "registry+https://github.com/rust-lang/crates.io-index#cipher@0.4.4",
"dependsOn": [
"registry+https://github.com/rust-lang/crates.io-index#crypto-common@0.1.7",
"registry+https://github.com/rust-lang/crates.io-index#inout@0.1.4"
]
},
{
"ref": "registry+https://github.com/rust-lang/crates.io-index#const-oid@0.9.6"
},
{
"ref": "registry+https://github.com/rust-lang/crates.io-index#cpufeatures@0.2.17"
},
{
"ref": "registry+https://github.com/rust-lang/crates.io-index#crc-catalog@2.5.0"
},
{
"ref": "registry+https://github.com/rust-lang/crates.io-index#crc@3.4.0",
"dependsOn": [
"registry+https://github.com/rust-lang/crates.io-index#crc-catalog@2.5.0"
]
},
{
"ref": "registry+https://github.com/rust-lang/crates.io-index#crypto-common@0.1.7",
"dependsOn": [
"registry+https://github.com/rust-lang/crates.io-index#generic-array@0.14.7",
"registry+https://github.com/rust-lang/crates.io-index#typenum@1.20.1"
]
},
{
"ref": "registry+https://github.com/rust-lang/crates.io-index#der@0.7.10",
"dependsOn": [
"registry+https://github.com/rust-lang/crates.io-index#const-oid@0.9.6",
"registry+https://github.com/rust-lang/crates.io-index#pem-rfc7468@0.7.0",
"registry+https://github.com/rust-lang/crates.io-index#zeroize@1.9.0"
]
},
{
"ref": "registry+https://github.com/rust-lang/crates.io-index#digest@0.10.7",
"dependsOn": [
"registry+https://github.com/rust-lang/crates.io-index#block-buffer@0.10.4",
"registry+https://github.com/rust-lang/crates.io-index#crypto-common@0.1.7",
"registry+https://github.com/rust-lang/crates.io-index#subtle@2.6.1"
]
},
{
"ref": "registry+https://github.com/rust-lang/crates.io-index#find-msvc-tools@0.1.9"
},
{
"ref": "registry+https://github.com/rust-lang/crates.io-index#futures-core@0.3.32"
},
{
"ref": "registry+https://github.com/rust-lang/crates.io-index#futures-sink@0.3.32"
},
{
"ref": "registry+https://github.com/rust-lang/crates.io-index#generic-array@0.14.7",
"dependsOn": [
"registry+https://github.com/rust-lang/crates.io-index#typenum@1.20.1",
"registry+https://github.com/rust-lang/crates.io-index#version_check@0.9.5"
]
},
{
"ref": "registry+https://github.com/rust-lang/crates.io-index#getrandom@0.2.17",
"dependsOn": [
"registry+https://github.com/rust-lang/crates.io-index#cfg-if@1.0.4",
"registry+https://github.com/rust-lang/crates.io-index#libc@0.2.186"
]
},
{
"ref": "registry+https://github.com/rust-lang/crates.io-index#hmac@0.12.1",
"dependsOn": [
"registry+https://github.com/rust-lang/crates.io-index#digest@0.10.7"
]
},
{
"ref": "registry+https://github.com/rust-lang/crates.io-index#inout@0.1.4",
"dependsOn": [
"registry+https://github.com/rust-lang/crates.io-index#block-padding@0.3.3",
"registry+https://github.com/rust-lang/crates.io-index#generic-array@0.14.7"
]
},
{
"ref": "registry+https://github.com/rust-lang/crates.io-index#libc@0.2.186"
},
{
"ref": "registry+https://github.com/rust-lang/crates.io-index#log@0.4.32"
},
{
"ref": "registry+https://github.com/rust-lang/crates.io-index#mio-serial@5.0.7",
"dependsOn": [
"registry+https://github.com/rust-lang/crates.io-index#log@0.4.32",
"registry+https://github.com/rust-lang/crates.io-index#mio@1.2.1",
"registry+https://github.com/rust-lang/crates.io-index#nix@0.31.3",
"registry+https://github.com/rust-lang/crates.io-index#serialport@4.9.0"
]
},
{
"ref": "registry+https://github.com/rust-lang/crates.io-index#mio@1.2.1",
"dependsOn": [
"registry+https://github.com/rust-lang/crates.io-index#libc@0.2.186",
"registry+https://github.com/rust-lang/crates.io-index#log@0.4.32"
]
},
{
"ref": "registry+https://github.com/rust-lang/crates.io-index#nix@0.26.4",
"dependsOn": [
"registry+https://github.com/rust-lang/crates.io-index#bitflags@1.3.2",
"registry+https://github.com/rust-lang/crates.io-index#cfg-if@1.0.4",
"registry+https://github.com/rust-lang/crates.io-index#libc@0.2.186"
]
},
{
"ref": "registry+https://github.com/rust-lang/crates.io-index#nix@0.31.3",
"dependsOn": [
"registry+https://github.com/rust-lang/crates.io-index#bitflags@2.13.0",
"registry+https://github.com/rust-lang/crates.io-index#cfg-if@1.0.4",
"registry+https://github.com/rust-lang/crates.io-index#cfg_aliases@0.2.1",
"registry+https://github.com/rust-lang/crates.io-index#libc@0.2.186"
]
},
{
"ref": "registry+https://github.com/rust-lang/crates.io-index#once_cell@1.21.4"
},
{
"ref": "registry+https://github.com/rust-lang/crates.io-index#pbkdf2@0.12.2",
"dependsOn": [
"registry+https://github.com/rust-lang/crates.io-index#digest@0.10.7",
"registry+https://github.com/rust-lang/crates.io-index#hmac@0.12.1"
]
},
{
"ref": "registry+https://github.com/rust-lang/crates.io-index#pem-rfc7468@0.7.0",
"dependsOn": [
"registry+https://github.com/rust-lang/crates.io-index#base64ct@1.8.3"
]
},
{
"ref": "registry+https://github.com/rust-lang/crates.io-index#pem@3.0.6",
"dependsOn": [
"registry+https://github.com/rust-lang/crates.io-index#base64@0.22.1",
"registry+https://github.com/rust-lang/crates.io-index#serde_core@1.0.228"
]
},
{
"ref": "registry+https://github.com/rust-lang/crates.io-index#pin-project-lite@0.2.17"
},
{
"ref": "registry+https://github.com/rust-lang/crates.io-index#pkcs5@0.7.1",
"dependsOn": [
"registry+https://github.com/rust-lang/crates.io-index#aes@0.8.4",
"registry+https://github.com/rust-lang/crates.io-index#cbc@0.1.2",
"registry+https://github.com/rust-lang/crates.io-index#der@0.7.10",
"registry+https://github.com/rust-lang/crates.io-index#pbkdf2@0.12.2",
"registry+https://github.com/rust-lang/crates.io-index#scrypt@0.11.0",
"registry+https://github.com/rust-lang/crates.io-index#sha2@0.10.9",
"registry+https://github.com/rust-lang/crates.io-index#spki@0.7.3"
]
},
{
"ref": "registry+https://github.com/rust-lang/crates.io-index#pkcs8@0.10.2",
"dependsOn": [
"registry+https://github.com/rust-lang/crates.io-index#der@0.7.10",
"registry+https://github.com/rust-lang/crates.io-index#pkcs5@0.7.1",
"registry+https://github.com/rust-lang/crates.io-index#rand_core@0.6.4",
"registry+https://github.com/rust-lang/crates.io-index#spki@0.7.3"
]
},
{
"ref": "registry+https://github.com/rust-lang/crates.io-index#proc-macro2@1.0.106",
"dependsOn": [
"registry+https://github.com/rust-lang/crates.io-index#unicode-ident@1.0.24"
]
},
{
"ref": "registry+https://github.com/rust-lang/crates.io-index#quote@1.0.45",
"dependsOn": [
"registry+https://github.com/rust-lang/crates.io-index#proc-macro2@1.0.106"
]
},
{
"ref": "registry+https://github.com/rust-lang/crates.io-index#rand_core@0.6.4"
},
{
"ref": "registry+https://github.com/rust-lang/crates.io-index#ring@0.17.14",
"dependsOn": [
"registry+https://github.com/rust-lang/crates.io-index#cc@1.2.64",
"registry+https://github.com/rust-lang/crates.io-index#cfg-if@1.0.4",
"registry+https://github.com/rust-lang/crates.io-index#getrandom@0.2.17",
"registry+https://github.com/rust-lang/crates.io-index#untrusted@0.9.0"
]
},
{
"ref": "registry+https://github.com/rust-lang/crates.io-index#rustls-pki-types@1.14.1",
"dependsOn": [
"registry+https://github.com/rust-lang/crates.io-index#zeroize@1.9.0"
]
},
{
"ref": "registry+https://github.com/rust-lang/crates.io-index#rustls-webpki@0.103.13",
"dependsOn": [
"registry+https://github.com/rust-lang/crates.io-index#ring@0.17.14",
"registry+https://github.com/rust-lang/crates.io-index#rustls-pki-types@1.14.1",
"registry+https://github.com/rust-lang/crates.io-index#untrusted@0.9.0"
]
},
{
"ref": "registry+https://github.com/rust-lang/crates.io-index#rustls@0.23.40",
"dependsOn": [
"registry+https://github.com/rust-lang/crates.io-index#log@0.4.32",
"registry+https://github.com/rust-lang/crates.io-index#once_cell@1.21.4",
"registry+https://github.com/rust-lang/crates.io-index#ring@0.17.14",
"registry+https://github.com/rust-lang/crates.io-index#rustls-pki-types@1.14.1",
"registry+https://github.com/rust-lang/crates.io-index#rustls-webpki@0.103.13",
"registry+https://github.com/rust-lang/crates.io-index#subtle@2.6.1",
"registry+https://github.com/rust-lang/crates.io-index#zeroize@1.9.0"
]
},
{
"ref": "registry+https://github.com/rust-lang/crates.io-index#rx509@0.2.1"
},
{
"ref": "registry+https://github.com/rust-lang/crates.io-index#salsa20@0.10.2",
"dependsOn": [
"registry+https://github.com/rust-lang/crates.io-index#cipher@0.4.4"
]
},
{
"ref": "registry+https://github.com/rust-lang/crates.io-index#scopeguard@1.2.0"
},
{
"ref": "registry+https://github.com/rust-lang/crates.io-index#scrypt@0.11.0",
"dependsOn": [
"registry+https://github.com/rust-lang/crates.io-index#pbkdf2@0.12.2",
"registry+https://github.com/rust-lang/crates.io-index#salsa20@0.10.2",
"registry+https://github.com/rust-lang/crates.io-index#sha2@0.10.9"
]
},
{
"ref": "registry+https://github.com/rust-lang/crates.io-index#scursor@0.5.0"
},
{
"ref": "registry+https://github.com/rust-lang/crates.io-index#serde_core@1.0.228"
},
{
"ref": "registry+https://github.com/rust-lang/crates.io-index#serialport@4.9.0",
"dependsOn": [
"registry+https://github.com/rust-lang/crates.io-index#bitflags@2.13.0",
"registry+https://github.com/rust-lang/crates.io-index#cfg-if@1.0.4",
"registry+https://github.com/rust-lang/crates.io-index#nix@0.26.4",
"registry+https://github.com/rust-lang/crates.io-index#scopeguard@1.2.0",
"registry+https://github.com/rust-lang/crates.io-index#unescaper@0.1.8"
]
},
{
"ref": "registry+https://github.com/rust-lang/crates.io-index#sfio-rustls-config@0.4.0",
"dependsOn": [
"registry+https://github.com/rust-lang/crates.io-index#pem@3.0.6",
"registry+https://github.com/rust-lang/crates.io-index#pkcs8@0.10.2",
"registry+https://github.com/rust-lang/crates.io-index#rustls@0.23.40",
"registry+https://github.com/rust-lang/crates.io-index#rustls-pki-types@1.14.1",
"registry+https://github.com/rust-lang/crates.io-index#rustls-webpki@0.103.13",
"registry+https://github.com/rust-lang/crates.io-index#rx509@0.2.1"
]
},
{
"ref": "registry+https://github.com/rust-lang/crates.io-index#sha2@0.10.9",
"dependsOn": [
"registry+https://github.com/rust-lang/crates.io-index#cfg-if@1.0.4",
"registry+https://github.com/rust-lang/crates.io-index#cpufeatures@0.2.17",
"registry+https://github.com/rust-lang/crates.io-index#digest@0.10.7"
]
},
{
"ref": "registry+https://github.com/rust-lang/crates.io-index#shlex@2.0.1"
},
{
"ref": "registry+https://github.com/rust-lang/crates.io-index#socket2@0.6.4",
"dependsOn": [
"registry+https://github.com/rust-lang/crates.io-index#libc@0.2.186"
]
},
{
"ref": "registry+https://github.com/rust-lang/crates.io-index#spki@0.7.3",
"dependsOn": [
"registry+https://github.com/rust-lang/crates.io-index#base64ct@1.8.3",
"registry+https://github.com/rust-lang/crates.io-index#der@0.7.10"
]
},
{
"ref": "registry+https://github.com/rust-lang/crates.io-index#subtle@2.6.1"
},
{
"ref": "registry+https://github.com/rust-lang/crates.io-index#syn@2.0.118",
"dependsOn": [
"registry+https://github.com/rust-lang/crates.io-index#proc-macro2@1.0.106",
"registry+https://github.com/rust-lang/crates.io-index#quote@1.0.45",
"registry+https://github.com/rust-lang/crates.io-index#unicode-ident@1.0.24"
]
},
{
"ref": "registry+https://github.com/rust-lang/crates.io-index#thiserror-impl@2.0.18",
"dependsOn": [
"registry+https://github.com/rust-lang/crates.io-index#proc-macro2@1.0.106",
"registry+https://github.com/rust-lang/crates.io-index#quote@1.0.45",
"registry+https://github.com/rust-lang/crates.io-index#syn@2.0.118"
]
},
{
"ref": "registry+https://github.com/rust-lang/crates.io-index#thiserror@2.0.18",
"dependsOn": [
"registry+https://github.com/rust-lang/crates.io-index#thiserror-impl@2.0.18"
]
},
{
"ref": "registry+https://github.com/rust-lang/crates.io-index#tokio-macros@2.7.0",
"dependsOn": [
"registry+https://github.com/rust-lang/crates.io-index#proc-macro2@1.0.106",
"registry+https://github.com/rust-lang/crates.io-index#quote@1.0.45",
"registry+https://github.com/rust-lang/crates.io-index#syn@2.0.118"
]
},
{
"ref": "registry+https://github.com/rust-lang/crates.io-index#tokio-rustls@0.26.4",
"dependsOn": [
"registry+https://github.com/rust-lang/crates.io-index#rustls@0.23.40",
"registry+https://github.com/rust-lang/crates.io-index#tokio@1.52.3"
]
},
{
"ref": "registry+https://github.com/rust-lang/crates.io-index#tokio-serial@5.5.0",
"dependsOn": [
"registry+https://github.com/rust-lang/crates.io-index#cfg-if@1.0.4",
"registry+https://github.com/rust-lang/crates.io-index#futures-core@0.3.32",
"registry+https://github.com/rust-lang/crates.io-index#futures-sink@0.3.32",
"registry+https://github.com/rust-lang/crates.io-index#log@0.4.32",
"registry+https://github.com/rust-lang/crates.io-index#mio-serial@5.0.7",
"registry+https://github.com/rust-lang/crates.io-index#serialport@4.9.0",
"registry+https://github.com/rust-lang/crates.io-index#tokio@1.52.3"
]
},
{
"ref": "registry+https://github.com/rust-lang/crates.io-index#tokio@1.52.3",
"dependsOn": [
"registry+https://github.com/rust-lang/crates.io-index#bytes@1.11.1",
"registry+https://github.com/rust-lang/crates.io-index#libc@0.2.186",
"registry+https://github.com/rust-lang/crates.io-index#mio@1.2.1",
"registry+https://github.com/rust-lang/crates.io-index#pin-project-lite@0.2.17",
"registry+https://github.com/rust-lang/crates.io-index#socket2@0.6.4",
"registry+https://github.com/rust-lang/crates.io-index#tokio-macros@2.7.0"
]
},
{
"ref": "registry+https://github.com/rust-lang/crates.io-index#tracing-attributes@0.1.31",
"dependsOn": [
"registry+https://github.com/rust-lang/crates.io-index#proc-macro2@1.0.106",
"registry+https://github.com/rust-lang/crates.io-index#quote@1.0.45",
"registry+https://github.com/rust-lang/crates.io-index#syn@2.0.118"
]
},
{
"ref": "registry+https://github.com/rust-lang/crates.io-index#tracing-core@0.1.36",
"dependsOn": [
"registry+https://github.com/rust-lang/crates.io-index#once_cell@1.21.4"
]
},
{
"ref": "registry+https://github.com/rust-lang/crates.io-index#tracing@0.1.44",
"dependsOn": [
"registry+https://github.com/rust-lang/crates.io-index#pin-project-lite@0.2.17",
"registry+https://github.com/rust-lang/crates.io-index#tracing-attributes@0.1.31",
"registry+https://github.com/rust-lang/crates.io-index#tracing-core@0.1.36"
]
},
{
"ref": "registry+https://github.com/rust-lang/crates.io-index#typenum@1.20.1"
},
{
"ref": "registry+https://github.com/rust-lang/crates.io-index#unescaper@0.1.8",
"dependsOn": [
"registry+https://github.com/rust-lang/crates.io-index#thiserror@2.0.18"
]
},
{
"ref": "registry+https://github.com/rust-lang/crates.io-index#unicode-ident@1.0.24"
},
{
"ref": "registry+https://github.com/rust-lang/crates.io-index#untrusted@0.9.0"
},
{
"ref": "registry+https://github.com/rust-lang/crates.io-index#version_check@0.9.5"
},
{
"ref": "registry+https://github.com/rust-lang/crates.io-index#zeroize@1.9.0"
}
]
}