PB173 - Tématický vývoj aplikací v C/C++ Domain specific development in C/C++ (Fall 2014) Skupina: Aplikovaná kryptografie a bezpečné programování https://is.muni.cz/auth/el/1433/podzim2013/PB173/index.qwarp?fakulta=14 33;obdobi=5983;predmet=734514;prejit=2957738; Petr Švenda svenda@fi.muni.cz Konzultace: A406, Pondělí 15-15:50 Practical assignment • List of connected clients on server – At least 5 clients in parallel – List with client info kept by server (ID, IP, port…) – Client can request list of other connected clients • Communication between client and client – Connect to another client based on the information from server – Transfer encrypted data packet with variable length (code from 2. seminar) • Create (automatic) unit tests – List clients (0, 1, N+1…) – Test multiple clients connections to server (load test) – Connection to client available / not available – Encrypted data transferred from client to client (and back) – … 2 PB173 | Architecture security review Automate! • Automate build – Just Makefile without IDE • Start server and multiple clients with script – Port parameterization via cmd line? • Execute all unit tests by single command – Prepare your project for Continuous Integration (CI) 3 PB173 | Architecture security review Make strong tests • Packet repeater instead of isConnected() – Test generated packet with content R – Test uses client to send packet with R – Server transform R into R’ (reverse bytes, append string…) – Client receives R’ and return to Test – Test verifies R’ • Test on localhost as well as separate machines • Log data used during test • Test with multiple clients, not just one 4 PB173 | Architecture security review