!sgXEFOWtqDlGqUMWAl:matrix.org

Drogue IoT

104 Members
Rust based firmware for the device & IoT friendly APIs for the cloud8 Servers

Load older messages


SenderMessageTime
29 Feb 2024
@lulf_:matrix.orglulfHmm, maybe there is some rand_core version differences between your hal and embedded-tls. Check the cargo dependencies for both and compare.09:28:33
@greengenie:matrix.orgAdam HottLooks like my tree shows all rand_core at the same version.09:32:24
@greengenie:matrix.orgAdam Hott esp32c3-robot-wifi-mqtt v0.1.0 (/Users/adamh/Dev/esp32c3-robot-wifi-mqtt-tls)
├── asn1 v0.16.0
│ └── asn1_derive v0.16.0 (proc-macro)
│ ├── proc-macro2 v1.0.78 default,proc-macro
│ │ └── unicode-ident v1.0.12
│ ├── quote v1.0.35 default,proc-macro
│ │ └── proc-macro2 v1.0.78 default,proc-macro ()
│ └── syn v2.0.51 clone-impls,default,derive,extra-traits,full,parsing,printing,proc-macro,quote
│ ├── proc-macro2 v1.0.78 default,proc-macro (
)
│ ├── quote v1.0.35 default,proc-macro ()
│ └── unicode-ident v1.0.12
├── embassy-executor v0.5.0 integrated-timers,nightly
│ ├── critical-section v1.1.2 restore-state-u8
│ ├── document-features v0.2.8 (proc-macro) default
│ │ └── litrs v0.4.1 default,proc-macro2
│ │ └── proc-macro2 v1.0.78 default,proc-macro (
)
│ ├── embassy-executor-macros v0.4.1 (proc-macro) nightly
│ │ ├── darling v0.20.8 default,suggestions
│ │ │ ├── darling_core v0.20.8 strsim,suggestions
│ │ │ │ ├── fnv v1.0.7 default,std
│ │ │ │ ├── ident_case v1.0.1
│ │ │ │ ├── proc-macro2 v1.0.78 default,proc-macro ()
│ │ │ │ ├── quote v1.0.35 default,proc-macro (
)
│ │ │ │ ├── strsim v0.10.0
│ │ │ │ └── syn v2.0.51 clone-impls,default,derive,extra-traits,full,parsing,printing,proc-macro,quote ()
│ │ │ └── darling_macro v0.20.8 (proc-macro)
│ │ │ ├── darling_core v0.20.8 strsim,suggestions (
)
│ │ │ ├── quote v1.0.35 default,proc-macro ()
│ │ │ └── syn v2.0.51 clone-impls,default,derive,extra-traits,full,parsing,printing,proc-macro,quote (
)
│ │ ├── proc-macro2 v1.0.78 default,proc-macro ()
│ │ ├── quote v1.0.35 default,proc-macro (
)
│ │ └── syn v2.0.51 clone-impls,default,derive,extra-traits,full,parsing,printing,proc-macro,quote ()
│ ├── embassy-time-driver v0.1.0
│ │ └── document-features v0.2.8 (proc-macro) default (
)
│ └── embassy-time-queue-driver v0.1.0
├── embassy-net v0.4.0 default,dhcpv4,dns,log,medium-ethernet,proto-ipv4,proto-ipv6,tcp,udp
│ ├── as-slice v0.2.1
│ │ └── stable_deref_trait v1.2.0
│ ├── atomic-pool v1.0.1
│ │ ├── as-slice v0.1.5
│ │ │ ├── generic-array v0.12.4
│ │ │ │ └── typenum v1.17.0
│ │ │ ├── generic-array v0.13.3
│ │ │ │ └── typenum v1.17.0
│ │ │ ├── generic-array v0.14.7 more_lengths,zeroize
│ │ │ │ ├── typenum v1.17.0
│ │ │ │ └── zeroize v1.7.0
│ │ │ │ [build-dependencies]
│ │ │ │ └── version_check v0.9.4
│ │ │ └── stable_deref_trait v1.2.0
│ │ ├── as-slice v0.2.1 ()
│ │ ├── atomic-polyfill v1.0.3
│ │ │ └── critical-section v1.1.2 restore-state-u8
│ │ └── stable_deref_trait v1.2.0
│ ├── document-features v0.2.8 (proc-macro) default (
)
│ ├── embassy-net-driver v0.2.0
│ ├── embassy-sync v0.5.0
│ │ ├── cfg-if v1.0.0
│ │ ├── critical-section v1.1.2 restore-state-u8
│ │ ├── embedded-io-async v0.6.1
│ │ │ └── embedded-io v0.6.1
│ │ ├── futures-util v0.3.30 async-await,async-await-macro,futures-macro,futures-sink,portable-atomic,sink
│ │ │ ├── futures-core v0.3.30 portable-atomic
│ │ │ │ └── portable-atomic v1.6.0 default,fallback,require-cas,unsafe-assume-single-core
│ │ │ ├── futures-macro v0.3.30 (proc-macro)
│ │ │ │ ├── proc-macro2 v1.0.78 default,proc-macro ()
│ │ │ │ ├── quote v1.0.35 default,proc-macro (
)
│ │ │ │ └── syn v2.0.51 clone-impls,default,derive,extra-traits,full,parsing,printing,proc-macro,quote ()
│ │ │ ├── futures-sink v0.3.30
│ │ │ ├── futures-task v0.3.30
│ │ │ ├── pin-project-lite v0.2.13
│ │ │ └── pin-utils v0.1.0
│ │ └── heapless v0.8.0 portable-atomic
│ │ ├── hash32 v0.3.1
│ │ │ └── byteorder v1.5.0
│ │ ├── portable-atomic v1.6.0 default,fallback,require-cas,unsafe-assume-single-core
│ │ └── stable_deref_trait v1.2.0
│ ├── embassy-time v0.3.0
│ │ ├── cfg-if v1.0.0
│ │ ├── critical-section v1.1.2 restore-state-u8
│ │ ├── document-features v0.2.8 (proc-macro) default (
)
│ │ ├── embassy-time-driver v0.1.0 ()
│ │ ├── embassy-time-queue-driver v0.1.0
│ │ ├── embedded-hal v0.2.7 unproven
│ │ │ ├── nb v0.1.3 unstable
│ │ │ │ └── nb v1.1.0
│ │ │ └── void v1.0.2
│ │ ├── embedded-hal v1.0.0
│ │ ├── embedded-hal-async v1.0.0
│ │ │ └── embedded-hal v1.0.0
│ │ ├── futures-util v0.3.30 async-await,async-await-macro,futures-macro,futures-sink,portable-atomic,sink (
)
│ │ └── heapless v0.8.0 portable-atomic ()
│ ├── embedded-io-async v0.6.1 (
)
│ ├── embedded-nal-async v0.7.1
│ │ ├── embedded-io-async v0.6.1 ()
│ │ ├── embedded-nal v0.8.0 default,no-std-net
│ │ │ ├── nb v1.1.0
│ │ │ └── no-std-net v0.6.0
│ │ └── no-std-net v0.6.0
│ ├── futures v0.3.30 async-await
│ │ ├── futures-channel v0.3.30 futures-sink,sink
│ │ │ ├── futures-core v0.3.30 portable-atomic (
)
│ │ │ └── futures-sink v0.3.30
│ │ ├── futures-core v0.3.30 portable-atomic ()
│ │ ├── futures-io v0.3.30
│ │ ├── futures-sink v0.3.30
│ │ ├── futures-task v0.3.30
│ │ └── futures-util v0.3.30 async-await,async-await-macro,futures-macro,futures-sink,portable-atomic,sink (
)
│ ├── generic-array v0.14.7 more_lengths,zeroize ()
│ ├── heapless v0.8.0 portable-atomic (
)
│ ├── log v0.4.20
│ ├── managed v0.8.0 map
│ ├── smoltcp v0.11.0 async,medium-ethernet,proto-dhcpv4,proto-dns,proto-igmp,proto-ipv4,proto-ipv6,socket,socket-dhcpv4,socket-dns,socket-icmp,socket-raw,socket-tcp,socket-udp
│ │ ├── bitflags v1.3.2
│ │ ├── byteorder v1.5.0
│ │ ├── cfg-if v1.0.0
│ │ ├── heapless v0.8.0 portable-atomic ()
│ │ └── managed v0.8.0 map
│ └── stable_deref_trait v1.2.0
├── embassy-time v0.3.0 (
)
├── embedded-can v0.4.1
│ └── nb v1.1.0
├── embedded-hal v1.0.0
├── embedded-hal-async v1.0.0 ()
├── embedded-hal-nb v1.0.0
│ ├── embedded-hal v1.0.0
│ └── nb v1.1.0
├── embedded-io v0.6.1
├── embedded-svc v0.27.1
│ ├── embedded-io v0.6.1
│ ├── embedded-io-async v0.6.1 (
)
│ ├── enumset v1.1.3
│ │ └── enumset_derive v0.8.1 (proc-macro)
│ │ ├── darling v0.20.8 default,suggestions ()
│ │ ├── proc-macro2 v1.0.78 default,proc-macro (
)
│ │ ├── quote v1.0.35 default,proc-macro ()
│ │ └── syn v2.0.51 clone-impls,default,derive,extra-traits,full,parsing,printing,proc-macro,quote (
)
│ ├── heapless v0.8.0 portable-atomic ()
│ └── no-std-net v0.5.0
├── embedded-tls v0.17.0
│ ├── aes-gcm v0.10.3 aes
│ │ ├── aead v0.5.2
│ │ │ ├── crypto-common v0.1.6
│ │ │ │ ├── generic-array v0.14.7 more_lengths,zeroize (
)
│ │ │ │ └── typenum v1.17.0
│ │ │ └── generic-array v0.14.7 more_lengths,zeroize ()
│ │ ├── aes v0.8.4
│ │ │ ├── cfg-if v1.0.0
│ │ │ └── cipher v0.4.4
│ │ │ ├── crypto-common v0.1.6 (
)
│ │ │ └── inout v0.1.3
│ │ │ └── generic-array v0.14.7 more_lengths,zeroize ()
│ │ ├── cipher v0.4.4 (
)
│ │ ├── ctr v0.9.2
│ │ │ └── cipher v0.4.4 ()
│ │ ├── ghash v0.5.0
│ │ │ ├── opaque-debug v0.3.0
│ │ │ └── polyval v0.6.1
│ │ │ ├── cfg-if v1.0.0
│ │ │ ├── opaque-debug v0.3.0
│ │ │ └── universal-hash v0.5.1
│ │ │ ├── crypto-common v0.1.6 (
)
│ │ │ └── subtle v2.5.0 i128
│ │ └── subtle v2.5.0 i128
│ ├── atomic-polyfill v1.0.3 ()
│ ├── digest v0.10.7 block-buffer,core-api,default,mac,subtle
│ │ ├── block-buffer v0.10.4
│ │ │ └── generic-array v0.14.7 more_lengths,zeroize (
)
│ │ ├── crypto-common v0.1.6 ()
│ │ └── subtle v2.5.0 i128
│ ├── embedded-io v0.6.1
│ ├── embedded-io-async v0.6.1 (
)
│ ├── generic-array v0.14.7 more_lengths,zeroize ()
│ ├── heapless v0.6.1
│ │ ├── as-slice v0.1.5 (
)
│ │ ├── generic-array v0.14.7 more_lengths,zeroize ()
│ │ ├── hash32 v0.1.1
│ │ │ └── byteorder v1.5.0
│ │ └── stable_deref_trait v1.2.0
│ ├── heapless v0.8.0 portable-atomic (
)
│ ├── hkdf v0.12.4
│ │ └── hmac v0.12.1
│ │ └── digest v0.10.7 block-buffer,core-api,default,mac,subtle ()
│ ├── hmac v0.12.1 (
)
│ ├── p256 v0.13.2 arithmetic,ecdh
│ │ ├── elliptic-curve v0.13.8 arithmetic,digest,ecdh,ff,group,hazmat,sec1
│ │ │ ├── base16ct v0.2.0
│ │ │ ├── crypto-bigint v0.5.5 generic-array,rand_core,zeroize
│ │ │ │ ├── generic-array v0.14.7 more_lengths,zeroize ()
│ │ │ │ ├── rand_core v0.6.4
│ │ │ │ ├── subtle v2.5.0 i128
│ │ │ │ └── zeroize v1.7.0
│ │ │ ├── digest v0.10.7 block-buffer,core-api,default,mac,subtle (
)
│ │ │ ├── ff v0.13.0
│ │ │ │ ├── rand_core v0.6.4
│ │ │ │ └── subtle v2.5.0 i128
│ │ │ ├── generic-array v0.14.7 more_lengths,zeroize ()
│ │ │ ├── group v0.13.0
│ │ │ │ ├── ff v0.13.0 (
)
│ │ │ │ ├── rand_core v0.6.4
│ │ │ │ └── subtle v2.5.0 i128
│ │ │ ├── hkdf v0.12.4 ()
│ │ │ ├── rand_core v0.6.4
│ │ │ ├── sec1 v0.7.3 default,der,point,subtle,zeroize
│ │ │ │ ├── base16ct v0.2.0
│ │ │ │ ├── der v0.7.8 oid,zeroize
│ │ │ │ │ ├── const-oid v0.9.6
│ │ │ │ │ └── zeroize v1.7.0
│ │ │ │ ├── generic-array v0.14.7 more_lengths,zeroize (
)
│ │ │ │ ├── subtle v2.5.0 i128
│ │ │ │ └── zeroize v1.7.0
│ │ │ ├── subtle v2.5.0 i128
│ │ │ └── zeroize v1.7.0
│ │ └── primeorder v0.13.6
│ │ └── elliptic-curve v0.13.8 arithmetic,digest,ecdh,ff,group,hazmat,sec1 ()
│ ├── rand_core v0.6.4
│ ├── sha2 v0.10.8
│ │ ├── cfg-if v1.0.0
│ │ └── digest v0.10.7 block-buffer,core-api,default,mac,subtle (
)
│ └── typenum v1.17.0
├── esp-alloc v0.3.0
│ ├── critical-section v1.1.2 restore-state-u8
│ └── linked_list_allocator v0.10.5 const_mut_refs
├── esp-backtrace v0.11.0 colors,default,esp32c3,exception-handler,panic-handler,println
│ └── esp-println v0.9.0 colors,critical-section,default,esp32c3,log,uart
│ ├── critical-section v1.1.2 restore-state-u8
│ └── log v0.4.20
├── esp-println v0.9.0 colors,critical-section,default,esp32c3,log,uart ()
├── esp-wifi v0.3.0 async,ble,coex,default,dhcpv4,dns,dump-packets,embassy-net,esp-now,esp32c3,esp32c3-hal,icmp,igmp,ipv4,ipv6,log,phy-enable-usb,ps-max-modem,ps-min-modem,smoltcp,tcp,udp,utils,wifi,wifi-default,wifi-logs
│ ├── atomic-waker v1.1.2 portable-atomic
│ │ └── portable-atomic v1.6.0 default,fallback,require-cas,unsafe-assume-single-core
│ ├── cfg-if v1.0.0
│ ├── critical-section v1.1.2 restore-state-u8
│ ├── embassy-futures v0.1.1
│ ├── embassy-net-driver v0.2.0
│ ├── embassy-sync v0.5.0 (
)
│ ├── embedded-io v0.6.1
│ ├── embedded-io-async v0.6.1 ()
│ ├── embedded-svc v0.27.1 (
)
│ ├── enumset v1.1.3 ()
│ ├── esp-wifi-sys v0.3.0 default,esp32c3
│ │ [build-dependencies]
│ │ └── anyhow v1.0.80 default,std
│ ├── esp32c3-hal v0.15.0 async,default,embassy,embassy-executor-thread,embassy-integrated-timers,embassy-time-timg0,log,rt,vectored,zero-rtc-bss
│ │ └── esp-hal-common v0.15.0 async,eh1,embassy,embassy-executor,embassy-executor-thread,embassy-futures,embassy-integrated-timers,embassy-sync,embassy-time-driver,embassy-time-timg0,embedded-can,embedded-hal-1,embedded-hal-async,embedded-hal-nb,embedded-io,embedded-io-async,esp-riscv-rt,esp32c3,log,riscv,rt-riscv,rv-zero-rtc-bss,vectored
│ │ ├── bitfield v0.14.0
│ │ ├── bitflags v2.4.2
│ │ ├── cfg-if v1.0.0
│ │ ├── critical-section v1.1.2 restore-state-u8
│ │ ├── embassy-executor v0.5.0 integrated-timers,nightly (
)
│ │ ├── embassy-futures v0.1.1
│ │ ├── embassy-sync v0.5.0 ()
│ │ ├── embassy-time-driver v0.1.0 (
)
│ │ ├── embedded-can v0.4.1 ()
│ │ ├── embedded-dma v0.2.0
│ │ │ └── stable_deref_trait v1.2.0
│ │ ├── embedded-hal v0.2.7 unproven (
)
│ │ ├── embedded-hal v1.0.0
│ │ ├── embedded-hal-async v1.0.0 ()
│ │ ├── embedded-hal-nb v1.0.0 (
)
│ │ ├── embedded-io v0.6.1
│ │ ├── embedded-io-async v0.6.1 ()
│ │ ├── enumset v1.1.3 (
)
│ │ ├── esp-hal-procmacros v0.8.0 (proc-macro) embassy,enum-dispatch,esp32c3,interrupt,ram
│ │ │ ├── darling v0.20.8 default,suggestions ()
│ │ │ ├── litrs v0.4.1 default,proc-macro2 (
)
│ │ │ ├── proc-macro-crate v2.0.2
│ │ │ │ ├── toml_datetime v0.6.3
│ │ │ │ └── toml_edit v0.20.2 default
│ │ │ │ ├── indexmap v2.2.3 default,std
│ │ │ │ │ ├── equivalent v1.0.1
│ │ │ │ │ └── hashbrown v0.14.3 raw
│ │ │ │ ├── toml_datetime v0.6.3
│ │ │ │ └── winnow v0.5.40 alloc,default,std
│ │ │ ├── proc-macro-error v1.0.4 default,syn,syn-error
│ │ │ │ ├── proc-macro-error-attr v1.0.4 (proc-macro)
│ │ │ │ │ ├── proc-macro2 v1.0.78 default,proc-macro ()
│ │ │ │ │ └── quote v1.0.35 default,proc-macro (
)
│ │ │ │ │ [build-dependencies]
│ │ │ │ │ └── version_check v0.9.4
│ │ │ │ ├── proc-macro2 v1.0.78 default,proc-macro ()
│ │ │ │ ├── quote v1.0.35 default,proc-macro (
)
│ │ │ │ └── syn v1.0.109 clone-impls,default,derive,extra-traits,full,parsing,printing,proc-macro,quote
│ │ │ │ ├── proc-macro2 v1.0.78 default,proc-macro ()
│ │ │ │ ├── quote v1.0.35 default,proc-macro (
)
│ │ │ │ └── unicode-ident v1.0.12
│ │ │ │ [build-dependencies]
│ │ │ │ └── version_check v0.9.4
│ │ │ ├── proc-macro2 v1.0.78 default,proc-macro ()
│ │ │ ├── quote v1.0.35 default,proc-macro (
)
│ │ │ └── syn v2.0.51 clone-impls,default,derive,extra-traits,full,parsing,printing,proc-macro,quote ()
│ │ ├── esp-riscv-rt v0.6.1 zero-bss,zero-rtc-fast-bss
│ │ │ ├── riscv v0.11.1
│ │ │ │ ├── critical-section v1.1.2 restore-state-u8
│ │ │ │ └── embedded-hal v1.0.0
│ │ │ └── riscv-rt-macros v0.2.1 (proc-macro)
│ │ │ ├── proc-macro2 v1.0.78 default,proc-macro (
)
│ │ │ ├── quote v1.0.35 default,proc-macro ()
│ │ │ └── syn v1.0.109 clone-impls,default,derive,extra-traits,full,parsing,printing,proc-macro,quote (
)
│ │ ├── esp32c3 v0.20.0 critical-section,default,rt
│ │ │ ├── critical-section v1.1.2 restore-state-u8
│ │ │ └── vcell v0.1.3
│ │ ├── fugit v0.3.7
│ │ │ └── gcd v2.3.0
│ │ ├── heapless v0.8.0 portable-atomic ()
│ │ ├── log v0.4.20
│ │ ├── nb v1.1.0
│ │ ├── paste v1.0.14 (proc-macro)
│ │ ├── portable-atomic v1.6.0 default,fallback,require-cas,unsafe-assume-single-core
│ │ ├── riscv v0.11.1 (
)
│ │ ├── strum v0.25.0 derive,strum_macros
│ │ │ └── strum_macros v0.25.3 (proc-macro)
│ │ │ ├── heck v0.4.1 default
│ │ │ ├── proc-macro2 v1.0.78 default,proc-macro ()
│ │ │ ├── quote v1.0.35 default,proc-macro (
)
│ │ │ ├── rustversion v1.0.14 (proc-macro)
│ │ │ └── syn v2.0.51 clone-impls,default,derive,extra-traits,full,parsing,printing,proc-macro,quote ()
│ │ └── void v1.0.2
│ │ [build-dependencies]
│ │ ├── basic-toml v0.1.8
│ │ │ └── serde v1.0.197 default,derive,serde_derive,std
│ │ │ └── serde_derive v1.0.197 (proc-macro) default
│ │ │ ├── proc-macro2 v1.0.78 default,proc-macro (
)
│ │ │ ├── quote v1.0.35 default,proc-macro ()
│ │ │ └── syn v2.0.51 clone-impls,default,derive,extra-traits,full,parsing,printing,proc-macro,quote (
)
│ │ └── serde v1.0.197 default,derive,serde_derive,std ()
│ ├── fugit v0.3.7 (
)
│ ├── futures-util v0.3.30 async-await,async-await-macro,futures-macro,futures-sink,portable-atomic,sink ()
│ ├── heapless v0.8.0 portable-atomic (
)
│ ├── libm v0.2.8 default
│ ├── linked_list_allocator v0.10.5 const_mut_refs
│ ├── log v0.4.20
│ ├── num-derive v0.4.2 (proc-macro)
│ │ ├── proc-macro2 v1.0.78 default,proc-macro ()
│ │ ├── quote v1.0.35 default,proc-macro (
)
│ │ └── syn v2.0.51 clone-impls,default,derive,extra-traits,full,parsing,printing,proc-macro,quote ()
│ ├── num-traits v0.2.18
│ │ [build-dependencies]
│ │ └── autocfg v1.1.0
│ ├── portable-atomic v1.6.0 default,fallback,require-cas,unsafe-assume-single-core
│ ├── portable_atomic_enum v0.3.0 portable-atomic
│ │ ├── portable-atomic v1.6.0 default,fallback,require-cas,unsafe-assume-single-core
│ │ └── portable_atomic_enum_macros v0.2.0 (proc-macro)
│ │ ├── proc-macro2 v1.0.78 default,proc-macro (
)
│ │ ├── quote v1.0.35 default,proc-macro ()
│ │ └── syn v2.0.51 clone-impls,default,derive,extra-traits,full,parsing,printing,proc-macro,quote (
)
│ ├── smoltcp v0.11.0 async,medium-ethernet,proto-dhcpv4,proto-dns,proto-igmp,proto-ipv4,proto-ipv6,socket,socket-dhcpv4,socket-dns,socket-icmp,socket-raw,socket-tcp,socket-udp ()
│ └── toml-cfg v0.1.3 (proc-macro)
│ ├── heck v0.4.1 default
│ ├── proc-macro2 v1.0.78 default,proc-macro (
)
│ ├── quote v1.0.35 default,proc-macro ()
│ ├── serde v1.0.197 default,derive,serde_derive,std (
)
│ ├── syn v1.0.109 clone-impls,default,derive,extra-traits,full,parsing,printing,proc-macro,quote ()
│ └── toml v0.5.11 default
│ └── serde v1.0.197 default,derive,serde_derive,std (
)
│ [build-dependencies]
│ └── toml-cfg v0.1.3 (proc-macro) ()
├── esp32c3-hal v0.15.0 async,default,embassy,embassy-executor-thread,embassy-integrated-timers,embassy-time-timg0,log,rt,vectored,zero-rtc-bss (
)
├── heapless v0.8.0 portable-atomic ()
├── log v0.4.20
├── nb v1.1.0
├── rand_core v0.6.4
├── rust-mqtt v0.3.0
│ ├── embedded-io v0.6.1
│ ├── embedded-io-async v0.6.1 (
)
│ ├── heapless v0.8.0 portable-atomic (*)
│ └── rand_core v0.6.4
└── static_cell v2.0.0 nightly
└── portable-atomic v1.6.0 default,fallback,require-cas,unsafe-assume-single-core
09:32:32
@lulf_:matrix.orglulfI'm not sure what it could be then, is that the only error you get?09:40:07
@greengenie:matrix.orgAdam Hottomg, I was trying to write my own hardware rng. I just needed this: let mut rng = OsRng;09:40:40
@greengenie:matrix.orgAdam Hottwait that doesn't work either09:41:22
@greengenie:matrix.orgAdam Hott

these are all my errors:

error[E0432]: unresolved import rand_core::OsRng
--> bin/robotwifi.rs:47:26
|
47 | use rand_core::{RngCore, OsRng};
| ^^^^^ no OsRng in the root
|
note: found an item that was configured out
--> /Users/adamh/.cargo/registry/src/index.crates.io-6f17d22bba15001f/rand_core-0.6.4/src/lib.rs:49:43
|
49 | #[cfg(feature = "getrandom")] pub use os::OsRng;
| ^^^^^
= note: the item is gated behind the getrandom feature

error: no global memory allocator found but one is required; link to std or add #[global_allocator] to a static item that implements the GlobalAlloc trait

warning: unused import: _fugit_RateExtU32
--> bin/robotwifi.rs:8:107
|
8 | clock::{ClockControl, CpuClock}, embassy, interrupt, peripherals::{Interrupt, Peripherals}, prelude::{_fugit_RateExtU32, *}, systimer::S...
| ^^^^^^^^^^^^^^^^^
|
= note: #[warn(unused_imports)] on by default

warning: unused import: embedded_tls::NoVerify
--> bin/robotwifi.rs:46:5
|
46 | use embedded_tls::NoVerify;
| ^^^^^^^^^^^^^^^^^^^^^^

warning: unused import: RngCore
--> bin/robotwifi.rs:47:17
|
47 | use rand_core::{RngCore, OsRng};
| ^^^^^^^

error[E0277]: the trait bound Rng: CryptoRng is not satisfied
--> bin/robotwifi.rs:290:56
|
290 | let tls_context = TlsContext::new(&tls_config, &mut rng);
| --------------- ^^^^^^^^ the trait CryptoRng is not implemented for Rng
| |
| required by a bound introduced by this call
|
= help: the following other types implement trait CryptoRng:
BlockRng<R>
&'a mut R
note: required by a bound in TlsContext::<'a, CipherSuite, RNG>::new
--> /Users/adamh/.cargo/registry/src/index.crates.io-6f17d22bba15001f/embedded-tls-0.17.0/src/config.rs:165:10
|
165 | RNG: CryptoRng + RngCore + 'a,
| ^^^^^^^^^ required by this bound in TlsContext::<'a, CipherSuite, RNG>::new
...
168 | pub fn new(config: &'a TlsConfig<'a, CipherSuite>, rng: &'a mut RNG) -> Self {
| --- required by a bound in this associated function

error[E0277]: the trait bound Rng: RngCore is not satisfied
--> bin/robotwifi.rs:290:56
|
290 | let tls_context = TlsContext::new(&tls_config, &mut rng);
| --------------- ^^^^^^^^ the trait RngCore is not implemented for Rng
| |
| required by a bound introduced by this call
|
= help: the following other types implement trait RngCore:
BlockRng<R>
BlockRng64<R>
CountingRng
&'a mut R
note: required by a bound in TlsContext::<'a, CipherSuite, RNG>::new
--> /Users/adamh/.cargo/registry/src/index.crates.io-6f17d22bba15001f/embedded-tls-0.17.0/src/config.rs:165:22
|
165 | RNG: CryptoRng + RngCore + 'a,
| ^^^^^^^ required by this bound in TlsContext::<'a, CipherSuite, RNG>::new
...
168 | pub fn new(config: &'a TlsConfig<'a, CipherSuite>, rng: &'a mut RNG) -> Self {
| --- required by a bound in this associated function

error[E0277]: the trait bound Rng: CryptoRng is not satisfied
--> bin/robotwifi.rs:290:27
|
290 | let tls_context = TlsContext::new(&tls_config, &mut rng);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait CryptoRng is not implemented for Rng
|
= help: the following other types implement trait CryptoRng:
BlockRng<R>
&'a mut R
note: required by a bound in TlsContext
--> /Users/adamh/.cargo/registry/src/index.crates.io-6f17d22bba15001f/embedded-tls-0.17.0/src/config.rs:156:10
|
153 | pub struct TlsContext<'a, CipherSuite, RNG>
| ---------- required by a bound in this struct
...
156 | RNG: CryptoRng + RngCore + 'a,
| ^^^^^^^^^ required by this bound in TlsContext

error[E0277]: the trait bound Rng: RngCore is not satisfied
--> bin/robotwifi.rs:290:27
|
290 | let tls_context = TlsContext::new(&tls_config, &mut rng);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait RngCore is not implemented for Rng
|
= help: the following other types implement trait RngCore:
BlockRng<R>
BlockRng64<R>
CountingRng
&'a mut R
note: required by a bound in TlsContext
--> /Users/adamh/.cargo/registry/src/index.crates.io-6f17d22bba15001f/embedded-tls-0.17.0/src/config.rs:156:22
|
153 | pub struct TlsContext<'a, CipherSuite, RNG>
| ---------- required by a bound in this struct
...
156 | RNG: CryptoRng + RngCore + 'a,
| ^^^^^^^ required by this bound in TlsContext

error[E0277]: the trait bound Rng: CryptoRng is not satisfied
--> bin/robotwifi.rs:293:29
|
293 | match tls_conn.open(tls_context).await {
| ---- ^^^^^^^^^^^ the trait CryptoRng is not implemented for Rng
| |
| required by a bound introduced by this call
|
= help: the following other types implement trait CryptoRng:
BlockRng<R>
&'a mut R
note: required by a bound in embedded_tls::TlsConnection::<'a, Socket, CipherSuite>::open
--> /Users/adamh/.cargo/registry/src/index.crates.io-6f17d22bba15001f/embedded-tls-0.17.0/src/asynch.rs:79:14
|
74 | pub async fn open<'v, RNG, Verifier>(
| ---- required by a bound in this associated function
...
79 | RNG: CryptoRng + RngCore,
| ^^^^^^^^^ required by this bound in TlsConnection::<'a, Socket, CipherSuite>::open

error[E0277]: the trait bound Rng: RngCore is not satisfied
--> bin/robotwifi.rs:293:29
|
293 | match tls_conn.open(tls_context).await {
| ---- ^^^^^^^^^^^ the trait RngCore is not implemented for Rng
| |
| required by a bound introduced by this call
|
= help: the following other types implement trait RngCore:
BlockRng<R>
BlockRng64<R>
CountingRng
&'a mut R
note: required by a bound in embedded_tls::TlsConnection::<'a, Socket, CipherSuite>::open
--> /Users/adamh/.cargo/registry/src/index.crates.io-6f17d22bba15001f/embedded-tls-0.17.0/src/asynch.rs:79:26
|
74 | pub async fn open<'v, RNG, Verifier>(
| ---- required by a bound in this associated function
...
79 | RNG: CryptoRng + RngCore,
| ^^^^^^^ required by this bound in TlsConnection::<'a, Socket, CipherSuite>::open

error[E0599]: no method named connect found for struct embedded_tls::TlsConnection in the current scope
--> bin/robotwifi.rs:318:35
|
318 | let connection = tls_conn.connect(remote_endpoint).await;
| ^^^^^^^ method not found in TlsConnection<'_, TcpSocket<'_>, _>

Some errors have detailed explanations: E0277, E0432, E0599.

09:44:05
@greengenie:matrix.orgAdam Hottmy target isn't supported for the "getrandom" feature of randcore, do you know if there is another way to get an easier Rng?09:53:43
@greengenie:matrix.orgAdam HottI went ahead and threw it in the Rust Embedded chat10:08:22
@greengenie:matrix.orgAdam HottPer my ChatGPTing: Given the absence of a direct mechanism to specify a TlsVerifier like NoVerify in the TlsConfig or TlsContext, the handling of certificate verification is presumably abstracted within the library's internal implementation.16:44:30
@greengenie:matrix.orgAdam Hott

This is what I've got:

    // TLS Handshake
    let cert_der = include_bytes!("../isrgrootx1.der");

    let cert = Certificate::X509(cert_der);
    let tls_config: TlsConfig<Aes128GcmSha256> = TlsConfig::new().with_ca(cert);

    let tls_context = TlsContext::new(&tls_config, &mut csrng);

    let mut tls_rx_buffer: [u8; 4096] = [0; 4096];
    let mut tls_tx_buffer: [u8; 4096] = [0; 4096];

    let mut tls_conn = TlsConnection::new(&mut socket, &mut tls_rx_buffer, &mut tls_tx_buffer);

    match tls_conn.open(tls_context).await {
        Ok(_) => continue,
        Err(e) => println!("TLS handshake failed, Error: {:?}", e),
    }
16:45:11
@bobmcwhirter:matrix.orgBob McWhirter
In reply to @greengenie:matrix.org
my target isn't supported for the "getrandom" feature of randcore, do you know if there is another way to get an easier Rng?
Does your board have an RNG onboard?
16:45:20
@greengenie:matrix.orgAdam HottI'm not sure, it's an esp32c3. I think I may have solved the RNG issue16:45:48
@greengenie:matrix.orgAdam Hottthe open method is giving me problems at the moment16:46:07
@greengenie:matrix.orgAdam Hott type annotations needed
cannot satisfy _: TlsVerifier<'_, Aes128GcmSha256>
the trait TlsVerifier<'a, CipherSuite> is implemented for `NoVerify
16:46:28
@greengenie:matrix.orgAdam HottBut I can't specify it in the TlsConfig or TlsContext16:47:00
@greengenie:matrix.orgAdam HottHere is the repo: https://github.com/CodingInGreen/esp32c3-robot-wifi-mqtt-tls/blob/master/bin/robotwifi.rs16:49:01
@greengenie:matrix.orgAdam HottI'm not concerned about security16:49:23
@greengenie:matrix.orgAdam HottI require a TLS connection to connect to an MQTT broker's cloud platform16:50:55
@greengenie:matrix.orgAdam HottIt boils down to: how to use NoVerify with the open method.17:06:49
@greengenie:matrix.orgAdam HottI'm gonna throw this in the Rust Embedded chat to see if anybody would want to work with me to fork this and add TlsConfig support for NoVerify17:10:18
@lulf_:matrix.orglulf

Did you see the example in the embedded-tls repo Adam Hott ?

https://github.com/drogue-iot/embedded-tls/blob/main/examples/embassy/src/main.rs#L89-L94

17:16:44
@greengenie:matrix.orgAdam HottNo, that's interesting!17:17:41
@greengenie:matrix.orgAdam HottThis is exactly what I needed.17:18:46
@greengenie:matrix.orgAdam HottI don't know if adding TlsConfig support for NoVerify would even be secure, or handy. But this example should help me solve it!17:19:55
@greengenie:matrix.orgAdam HottThank you I owe you a coffee!17:20:25
@lulf_:matrix.orglulfI'm not sure what you mean by that, NoVerify is already supported. 17:20:29
@lulf_:matrix.orglulfWhat is not supported is actual verification :)17:20:44
@greengenie:matrix.orgAdam HottIt's me not understanding17:20:46
@greengenie:matrix.orgAdam HottDo you mean embedded-tls doesn't fully verify?17:21:04

Show newer messages


Back to Room ListRoom Version: 5