Hi,
I’m getting a bunch of errors when trying to dump certificates from my new and untouched firmware of a ESP32 toniebox.
- reading the firmware was successfully done via webgui
- teddycloud is running in a docker container via the “official” docker compose yml (unchanged, expect port mapping 4040:80)
First issue (missing config files):
to me this seems like some mismatched path. within my docker there’s not path like:
/teddycloud/data/firmware/config/
The missing files sitting in the following path:
/teddycloud/config/
there’s nothing in firmware folder execpt the firmware bin file
Second issue: “File does not exist or is too small ‘data/firmware/ESP32_xyz.bin’”
the firmware dump is 8MB in size, is this correct?
Complete Error message after running
teddycloud --esp32-extract data/firmware/ESP32_<mac>.bin --destination certs/client
TeddyCloud v0.5.2 (454631f) - 2024-05-13 12:12:26 +0000 ubuntu linux-x86_64(64)
[options] specified ‘esp32_extract’ as ‘data/firmware/ESP32_xyz.bin’
[options] specified ‘destination’ as ‘certs/client’
INFO |settings.c:0770:settings_load_ovl()| Load settings from /teddycloud/data/firmware/config/config.overlay.ini
WARN |settings.c:0778:settings_load_ovl()| Config file does not exist, creating it…
INFO |settings.c:0670:settings_save_ovl()| Save settings to /teddycloud/data/firmware/config/config.overlay.ini
ERROR|settings.c:0674:settings_save_ovl()| Failed to open config file for writing
INFO |settings.c:0770:settings_load_ovl()| Load settings from /teddycloud/data/firmware/config/config.ini
WARN |settings.c:0778:settings_load_ovl()| Config file does not exist, creating it…
INFO |settings.c:0670:settings_save_ovl()| Save settings to /teddycloud/data/firmware/config/config.ini
ERROR|settings.c:0674:settings_save_ovl()| Failed to open config file for writing
INFO |settings.c:0770:settings_load_ovl()| Load settings from /etc/teddycloud/config/config.overlay.ini
INFO |settings.c:0770:settings_load_ovl()| Load settings from /etc/teddycloud/config/config.ini
INFO |settings.c:0770:settings_load_ovl()| Load settings from /etc/teddycloud/config/config.overlay.ini
ERROR|esp32.c:0765:esp32_fat_extract()| File does not exist or is too small ‘data/firmware/ESP32_xyz.bin’=================================================================
==88==ERROR: LeakSanitizer: detected memory leaksDirect leak of 448 byte(s) in 58 object(s) allocated from:
#0 0x5582de3b0a67 in strdup (/usr/local/bin/teddycloud+0x5f7a67)
#1 0x5582de515591 in settings_init_opt src/settings.c:596
#2 0x5582de523c2c in settings_init src/settings.c:622
#3 0x5582de4e1d76 in main_init_settings src/main.c:159
#4 0x5582de36fe74 in main src/main.c:337
#5 0x7f0228828d8f (/lib/x86_64-linux-gnu/libc.so.6+0x29d8f)Direct leak of 256 byte(s) in 1 object(s) allocated from:
#0 0x5582de409927 in __interceptor_malloc (/usr/local/bin/teddycloud+0x650927)
#1 0x5582de519558 in settings_generate_internal_dirs src/settings.c:460
#2 0x5582de520b29 in settings_changed_id src/settings.c:492
#3 0x5582de523e38 in settings_changed src/settings.c:484
#4 0x5582de523e38 in settings_init src/settings.c:646
#5 0x5582de4e1d76 in main_init_settings src/main.c:159
#6 0x5582de36fe74 in main src/main.c:337
#7 0x7f0228828d8f (/lib/x86_64-linux-gnu/libc.so.6+0x29d8f)Direct leak of 256 byte(s) in 1 object(s) allocated from:
#0 0x5582de409927 in __interceptor_malloc (/usr/local/bin/teddycloud+0x650927)
#1 0x5582de519430 in settings_generate_internal_dirs src/settings.c:454
#2 0x5582de520b29 in settings_changed_id src/settings.c:492
#3 0x5582de523e38 in settings_changed src/settings.c:484
#4 0x5582de523e38 in settings_init src/settings.c:646
#5 0x5582de4e1d76 in main_init_settings src/main.c:159
#6 0x5582de36fe74 in main src/main.c:337
#7 0x7f0228828d8f (/lib/x86_64-linux-gnu/libc.so.6+0x29d8f)Direct leak of 256 byte(s) in 1 object(s) allocated from:
#0 0x5582de409927 in __interceptor_malloc (/usr/local/bin/teddycloud+0x650927)
#1 0x5582de519402 in settings_generate_internal_dirs src/settings.c:453
#2 0x5582de520b29 in settings_changed_id src/settings.c:492
#3 0x5582de523e38 in settings_changed src/settings.c:484
#4 0x5582de523e38 in settings_init src/settings.c:646
#5 0x5582de4e1d76 in main_init_settings src/main.c:159
#6 0x5582de36fe74 in main src/main.c:337
#7 0x7f0228828d8f (/lib/x86_64-linux-gnu/libc.so.6+0x29d8f)Direct leak of 256 byte(s) in 1 object(s) allocated from:
#0 0x5582de409927 in __interceptor_malloc (/usr/local/bin/teddycloud+0x650927)
#1 0x5582de5194c6 in settings_generate_internal_dirs src/settings.c:457
#2 0x5582de520b29 in settings_changed_id src/settings.c:492
#3 0x5582de523e38 in settings_changed src/settings.c:484
#4 0x5582de523e38 in settings_init src/settings.c:646
#5 0x5582de4e1d76 in main_init_settings src/main.c:159
#6 0x5582de36fe74 in main src/main.c:337
#7 0x7f0228828d8f (/lib/x86_64-linux-gnu/libc.so.6+0x29d8f)Direct leak of 256 byte(s) in 1 object(s) allocated from:
#0 0x5582de409927 in __interceptor_malloc (/usr/local/bin/teddycloud+0x650927)
#1 0x5582de5194f8 in settings_generate_internal_dirs src/settings.c:458
#2 0x5582de520b29 in settings_changed_id src/settings.c:492
#3 0x5582de523e38 in settings_changed src/settings.c:484
#4 0x5582de523e38 in settings_init src/settings.c:646
#5 0x5582de4e1d76 in main_init_settings src/main.c:159
#6 0x5582de36fe74 in main src/main.c:337
#7 0x7f0228828d8f (/lib/x86_64-linux-gnu/libc.so.6+0x29d8f)Direct leak of 256 byte(s) in 1 object(s) allocated from:
#0 0x5582de409927 in __interceptor_malloc (/usr/local/bin/teddycloud+0x650927)
#1 0x5582de5193d0 in settings_generate_internal_dirs src/settings.c:452
#2 0x5582de520b29 in settings_changed_id src/settings.c:492
#3 0x5582de523e38 in settings_changed src/settings.c:484
#4 0x5582de523e38 in settings_init src/settings.c:646
#5 0x5582de4e1d76 in main_init_settings src/main.c:159
#6 0x5582de36fe74 in main src/main.c:337
#7 0x7f0228828d8f (/lib/x86_64-linux-gnu/libc.so.6+0x29d8f)Direct leak of 256 byte(s) in 1 object(s) allocated from:
#0 0x5582de409927 in __interceptor_malloc (/usr/local/bin/teddycloud+0x650927)
#1 0x5582de519462 in settings_generate_internal_dirs src/settings.c:455
#2 0x5582de520b29 in settings_changed_id src/settings.c:492
#3 0x5582de523e38 in settings_changed src/settings.c:484
#4 0x5582de523e38 in settings_init src/settings.c:646
#5 0x5582de4e1d76 in main_init_settings src/main.c:159
#6 0x5582de36fe74 in main src/main.c:337
#7 0x7f0228828d8f (/lib/x86_64-linux-gnu/libc.so.6+0x29d8f)Direct leak of 256 byte(s) in 1 object(s) allocated from:
#0 0x5582de409927 in __interceptor_malloc (/usr/local/bin/teddycloud+0x650927)
#1 0x5582de519526 in settings_generate_internal_dirs src/settings.c:459
#2 0x5582de520b29 in settings_changed_id src/settings.c:492
#3 0x5582de523e38 in settings_changed src/settings.c:484
#4 0x5582de523e38 in settings_init src/settings.c:646
#5 0x5582de4e1d76 in main_init_settings src/main.c:159
#6 0x5582de36fe74 in main src/main.c:337
#7 0x7f0228828d8f (/lib/x86_64-linux-gnu/libc.so.6+0x29d8f)Direct leak of 256 byte(s) in 1 object(s) allocated from:
#0 0x5582de409927 in __interceptor_malloc (/usr/local/bin/teddycloud+0x650927)
#1 0x5582de519494 in settings_generate_internal_dirs src/settings.c:456
#2 0x5582de520b29 in settings_changed_id src/settings.c:492
#3 0x5582de523e38 in settings_changed src/settings.c:484
#4 0x5582de523e38 in settings_init src/settings.c:646
#5 0x5582de4e1d76 in main_init_settings src/main.c:159
#6 0x5582de36fe74 in main src/main.c:337
#7 0x7f0228828d8f (/lib/x86_64-linux-gnu/libc.so.6+0x29d8f)Direct leak of 114 byte(s) in 1 object(s) allocated from:
#0 0x5582de3b0a67 in strdup (/usr/local/bin/teddycloud+0x5f7a67)
#1 0x5582de5224cf in settings_set_string_id src/settings.c:1320
#2 0x5582de523dfc in settings_set_string_id src/settings.c:1306
#3 0x5582de523dfc in settings_set_string src/settings.c:1298
#4 0x5582de523dfc in settings_init src/settings.c:638
#5 0x5582de4e1d76 in main_init_settings src/main.c:159
#6 0x5582de36fe74 in main src/main.c:337
#7 0x7f0228828d8f (/lib/x86_64-linux-gnu/libc.so.6+0x29d8f)Direct leak of 80 byte(s) in 1 object(s) allocated from:
#0 0x5582de3b0a67 in strdup (/usr/local/bin/teddycloud+0x5f7a67)
#1 0x5582de5224cf in settings_set_string_id src/settings.c:1320
#2 0x5582de523de7 in settings_set_string_id src/settings.c:1306
#3 0x5582de523de7 in settings_set_string src/settings.c:1298
#4 0x5582de523de7 in settings_init src/settings.c:637
#5 0x5582de4e1d76 in main_init_settings src/main.c:159
#6 0x5582de36fe74 in main src/main.c:337
#7 0x7f0228828d8f (/lib/x86_64-linux-gnu/libc.so.6+0x29d8f)Direct leak of 41 byte(s) in 1 object(s) allocated from:
#0 0x5582de3b0a67 in strdup (/usr/local/bin/teddycloud+0x5f7a67)
#1 0x5582de5224cf in settings_set_string_id src/settings.c:1320
#2 0x5582de523d5d in settings_set_string_id src/settings.c:1306
#3 0x5582de523d5d in settings_set_string src/settings.c:1298
#4 0x5582de523d5d in settings_init src/settings.c:630
#5 0x5582de4e1d76 in main_init_settings src/main.c:159
#6 0x5582de36fe74 in main src/main.c:337
#7 0x7f0228828d8f (/lib/x86_64-linux-gnu/libc.so.6+0x29d8f)Direct leak of 26 byte(s) in 1 object(s) allocated from:
#0 0x5582de3b0a67 in strdup (/usr/local/bin/teddycloud+0x5f7a67)
#1 0x5582de5224cf in settings_set_string_id src/settings.c:1320
#2 0x5582de523d7e in settings_set_string_id src/settings.c:1306
#3 0x5582de523d7e in settings_set_string src/settings.c:1298
#4 0x5582de523d7e in settings_init src/settings.c:632
#5 0x5582de4e1d76 in main_init_settings src/main.c:159
#6 0x5582de36fe74 in main src/main.c:337
#7 0x7f0228828d8f (/lib/x86_64-linux-gnu/libc.so.6+0x29d8f)Direct leak of 26 byte(s) in 1 object(s) allocated from:
#0 0x5582de3b0a67 in strdup (/usr/local/bin/teddycloud+0x5f7a67)
#1 0x5582de5224cf in settings_set_string_id src/settings.c:1320
#2 0x5582de523d05 in settings_set_string_id src/settings.c:1306
#3 0x5582de523d05 in settings_set_string src/settings.c:1298
#4 0x5582de523d05 in settings_init src/settings.c:625
#5 0x5582de4e1d76 in main_init_settings src/main.c:159
#6 0x5582de36fe74 in main src/main.c:337
#7 0x7f0228828d8f (/lib/x86_64-linux-gnu/libc.so.6+0x29d8f)Direct leak of 18 byte(s) in 1 object(s) allocated from:
#0 0x5582de3b0a67 in strdup (/usr/local/bin/teddycloud+0x5f7a67)
#1 0x5582de5224cf in settings_set_string_id src/settings.c:1320
#2 0x5582de523dd2 in settings_set_string_id src/settings.c:1306
#3 0x5582de523dd2 in settings_set_string src/settings.c:1298
#4 0x5582de523dd2 in settings_init src/settings.c:636
#5 0x5582de4e1d76 in main_init_settings src/main.c:159
#6 0x5582de36fe74 in main src/main.c:337
#7 0x7f0228828d8f (/lib/x86_64-linux-gnu/libc.so.6+0x29d8f)Direct leak of 8 byte(s) in 1 object(s) allocated from:
#0 0x5582de3b0a67 in strdup (/usr/local/bin/teddycloud+0x5f7a67)
#1 0x5582de5224cf in settings_set_string_id src/settings.c:1320
#2 0x5582de523d48 in settings_set_string_id src/settings.c:1306
#3 0x5582de523d48 in settings_set_string src/settings.c:1298
#4 0x5582de523d48 in settings_init src/settings.c:629
#5 0x5582de4e1d76 in main_init_settings src/main.c:159
#6 0x5582de36fe74 in main src/main.c:337
#7 0x7f0228828d8f (/lib/x86_64-linux-gnu/libc.so.6+0x29d8f)Direct leak of 7 byte(s) in 1 object(s) allocated from:
#0 0x5582de3b0a67 in strdup (/usr/local/bin/teddycloud+0x5f7a67)
#1 0x5582de5224cf in settings_set_string_id src/settings.c:1320
#2 0x5582de523dbd in settings_set_string_id src/settings.c:1306
#3 0x5582de523dbd in settings_set_string src/settings.c:1298
#4 0x5582de523dbd in settings_init src/settings.c:635
#5 0x5582de4e1d76 in main_init_settings src/main.c:159
#6 0x5582de36fe74 in main src/main.c:337
#7 0x7f0228828d8f (/lib/x86_64-linux-gnu/libc.so.6+0x29d8f)Direct leak of 7 byte(s) in 1 object(s) allocated from:
#0 0x5582de3b0a67 in strdup (/usr/local/bin/teddycloud+0x5f7a67)
#1 0x5582de5224cf in settings_set_string_id src/settings.c:1320
#2 0x5582de523d33 in settings_set_string_id src/settings.c:1306
#3 0x5582de523d33 in settings_set_string src/settings.c:1298
#4 0x5582de523d33 in settings_init src/settings.c:628
#5 0x5582de4e1d76 in main_init_settings src/main.c:159
#6 0x5582de36fe74 in main src/main.c:337
#7 0x7f0228828d8f (/lib/x86_64-linux-gnu/libc.so.6+0x29d8f)Direct leak of 6 byte(s) in 1 object(s) allocated from:
#0 0x5582de3b0a67 in strdup (/usr/local/bin/teddycloud+0x5f7a67)
#1 0x5582de5224cf in settings_set_string_id src/settings.c:1320
#2 0x5582de523d93 in settings_set_string_id src/settings.c:1306
#3 0x5582de523d93 in settings_set_string src/settings.c:1298
#4 0x5582de523d93 in settings_init src/settings.c:633
#5 0x5582de4e1d76 in main_init_settings src/main.c:159
#6 0x5582de36fe74 in main src/main.c:337
#7 0x7f0228828d8f (/lib/x86_64-linux-gnu/libc.so.6+0x29d8f)Direct leak of 1 byte(s) in 1 object(s) allocated from:
#0 0x5582de3b0a67 in strdup (/usr/local/bin/teddycloud+0x5f7a67)
#1 0x5582de5224cf in settings_set_string_id src/settings.c:1320
#2 0x5582de523da8 in settings_set_string_id src/settings.c:1306
#3 0x5582de523da8 in settings_set_string src/settings.c:1298
#4 0x5582de523da8 in settings_init src/settings.c:634
#5 0x5582de4e1d76 in main_init_settings src/main.c:159
#6 0x5582de36fe74 in main src/main.c:337
#7 0x7f0228828d8f (/lib/x86_64-linux-gnu/libc.so.6+0x29d8f)Direct leak of 1 byte(s) in 1 object(s) allocated from:
#0 0x5582de3b0a67 in strdup (/usr/local/bin/teddycloud+0x5f7a67)
#1 0x5582de5224cf in settings_set_string_id src/settings.c:1320
#2 0x5582de523d1b in settings_set_string_id src/settings.c:1306
#3 0x5582de523d1b in settings_set_string src/settings.c:1298
#4 0x5582de523d1b in settings_init src/settings.c:626
#5 0x5582de4e1d76 in main_init_settings src/main.c:159
#6 0x5582de36fe74 in main src/main.c:337
#7 0x7f0228828d8f (/lib/x86_64-linux-gnu/libc.so.6+0x29d8f)SUMMARY: AddressSanitizer: 3087 byte(s) leaked in 79 allocation(s).