fix: address critical security issues discovered during code review
All checks were successful
CI / build (pull_request) Successful in 1m16s

This commit is contained in:
eddy 2026-08-04 21:56:05 +02:00
commit 671da31605
7 changed files with 417 additions and 0 deletions

View file

@ -0,0 +1,48 @@
<h2>Ontwerpkeuzes BLE OTA voor de Client</h2>
<p class="subtitle">Hoe krijgt de Client (ESP32) de nieuwe firmware?</p>
<div class="options">
<div class="option" data-choice="android-direct" onclick="toggleSelect(this)">
<div class="letter">A</div>
<div class="content">
<h3>Android App Direct</h3>
<p>De Client ESP32 start een tijdelijke BLE Server (OTA Service). De Android app verbindt direct met de Client om de firmware te pushen.</p>
<div class="label">Voordeel: Simpel, hergebruikt Android OTA code.</div>
<div class="label">Nadeel: Handmatige actie nodig op Client (bijv. knop indrukken).</div>
</div>
</div>
<div class="option" data-choice="server-proxy" onclick="toggleSelect(this)">
<div class="letter">B</div>
<div class="content">
<h3>Server Proxy / Relay</h3>
<p>De Android app stuurt de firmware naar de SylDa_Server. De Server stuurt het door naar de Client via de bestaande BLE verbinding.</p>
<div class="label">Voordeel: Geen directe verbinding Android-Client nodig.</div>
<div class="label">Nadeel: Complexer, Server moet grote buffers hebben of flow control.</div>
</div>
</div>
<div class="option" data-choice="client-pull" onclick="toggleSelect(this)">
<div class="letter">C</div>
<div class="content">
<h3>Client Pull (via Server)</h3>
<p>De Server kondigt een update aan. De Client haalt de firmware "chunks" op bij de Server via een nieuwe OTA service op de Server.</p>
<div class="label">Voordeel: Client heeft controle over tempo.</div>
<div class="label">Nadeel: Server moet de firmware ergens opslaan (Flash/NVS/SPIFFS?) voordat hij het kan doorgeven.</div>
</div>
</div>
</div>
<div class="section">
<h3>Huidige Situatie</h3>
<div class="mockup">
<div class="mockup-header">Architectuur</div>
<div class="mockup-body">
<pre>
[Android App] --(BLE OTA)--> [SylDa_Server (ESP32)]
|
? --(BLE OTA?)--> [SylDa_Client (ESP32)]
</pre>
</div>
</div>
</div>