)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":1000030,"name":"MaxF","email":"max@max-fillinger.net","username":"MaxF"},"change_message_id":"74d9c84e717a9963cc0788f7a3c2f1841ed5042c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"057997fa_b08a2965","updated":"2024-12-28 00:37:01.000000000","message":"I\u0027m unsure if we should use the 2^36 limit for Chacha-poly, but for AES-GCM it should be ok.","commit_id":"c92fd59871b9bbe030b23897dd638ed072ab9058"}],"src/openvpn/crypto.c":[{"author":{"_account_id":1000030,"name":"MaxF","email":"max@max-fillinger.net","username":"MaxF"},"change_message_id":"74d9c84e717a9963cc0788f7a3c2f1841ed5042c","unresolved":true,"context_lines":[{"line_number":423,"context_line":"    ASSERT(ctx-\u003ecipher);"},{"line_number":424,"context_line":""},{"line_number":425,"context_line":""},{"line_number":426,"context_line":""},{"line_number":427,"context_line":"    dmsg(D_PACKET_CONTENT, \"DECRYPT FROM: %s\","},{"line_number":428,"context_line":"         format_hex(BPTR(buf), BLEN(buf), 80, \u0026gc));"},{"line_number":429,"context_line":""}],"source_content_type":"text/x-csrc","patch_set":2,"id":"62ea554d_ed6bec9a","line":426,"updated":"2024-12-28 00:37:01.000000000","message":"Extra whitespace","commit_id":"c92fd59871b9bbe030b23897dd638ed072ab9058"},{"author":{"_account_id":1000003,"name":"plaisthos","display_name":"Arne Schwabe","email":"arne-openvpn@rfc2549.org","username":"plaisthos"},"change_message_id":"bf5ee2fe6c9bb7bf5eedaf0cfa62dc712907fc6a","unresolved":false,"context_lines":[{"line_number":423,"context_line":"    ASSERT(ctx-\u003ecipher);"},{"line_number":424,"context_line":""},{"line_number":425,"context_line":""},{"line_number":426,"context_line":""},{"line_number":427,"context_line":"    dmsg(D_PACKET_CONTENT, \"DECRYPT FROM: %s\","},{"line_number":428,"context_line":"         format_hex(BPTR(buf), BLEN(buf), 80, \u0026gc));"},{"line_number":429,"context_line":""}],"source_content_type":"text/x-csrc","patch_set":2,"id":"33de160f_e3170849","line":426,"in_reply_to":"62ea554d_ed6bec9a","updated":"2025-01-04 22:44:21.000000000","message":"Acknowledged","commit_id":"c92fd59871b9bbe030b23897dd638ed072ab9058"}],"src/openvpn/crypto.h":[{"author":{"_account_id":1000030,"name":"MaxF","email":"max@max-fillinger.net","username":"MaxF"},"change_message_id":"74d9c84e717a9963cc0788f7a3c2f1841ed5042c","unresolved":true,"context_lines":[{"line_number":664,"context_line":""},{"line_number":665,"context_line":"/**"},{"line_number":666,"context_line":" * Check if the number of failed decryption is over the acceptable limit."},{"line_number":667,"context_line":" * We"},{"line_number":668,"context_line":" */"},{"line_number":669,"context_line":"static inline bool"},{"line_number":670,"context_line":"cipher_decrypt_verify_fail_exceeded(const struct key_ctx *ctx)"}],"source_content_type":"text/x-csrc","patch_set":2,"id":"39d7c228_ac4d76f3","line":667,"range":{"start_line":667,"start_character":2,"end_line":667,"end_character":5},"updated":"2024-12-28 00:37:01.000000000","message":"Incomplete","commit_id":"c92fd59871b9bbe030b23897dd638ed072ab9058"},{"author":{"_account_id":1000003,"name":"plaisthos","display_name":"Arne Schwabe","email":"arne-openvpn@rfc2549.org","username":"plaisthos"},"change_message_id":"bf5ee2fe6c9bb7bf5eedaf0cfa62dc712907fc6a","unresolved":false,"context_lines":[{"line_number":664,"context_line":""},{"line_number":665,"context_line":"/**"},{"line_number":666,"context_line":" * Check if the number of failed decryption is over the acceptable limit."},{"line_number":667,"context_line":" * We"},{"line_number":668,"context_line":" */"},{"line_number":669,"context_line":"static inline bool"},{"line_number":670,"context_line":"cipher_decrypt_verify_fail_exceeded(const struct key_ctx *ctx)"}],"source_content_type":"text/x-csrc","patch_set":2,"id":"6408b1af_041def26","line":667,"range":{"start_line":667,"start_character":2,"end_line":667,"end_character":5},"in_reply_to":"39d7c228_ac4d76f3","updated":"2025-01-04 22:44:21.000000000","message":"Acknowledged","commit_id":"c92fd59871b9bbe030b23897dd638ed072ab9058"},{"author":{"_account_id":1000030,"name":"MaxF","email":"max@max-fillinger.net","username":"MaxF"},"change_message_id":"74d9c84e717a9963cc0788f7a3c2f1841ed5042c","unresolved":true,"context_lines":[{"line_number":669,"context_line":"static inline bool"},{"line_number":670,"context_line":"cipher_decrypt_verify_fail_exceeded(const struct key_ctx *ctx)"},{"line_number":671,"context_line":"{"},{"line_number":672,"context_line":"    /* Use 2**36, same as TLS 1.3 */"},{"line_number":673,"context_line":"    return ctx-\u003efailed_verifications \u003e  (1ull \u003c\u003c 36);"},{"line_number":674,"context_line":"}"},{"line_number":675,"context_line":""}],"source_content_type":"text/x-csrc","patch_set":2,"id":"96fbdeb5_8ce34e21","line":672,"range":{"start_line":672,"start_character":11,"end_line":672,"end_character":16},"updated":"2024-12-28 00:37:01.000000000","message":"I\u0027ve been looking at the integrity bounds in the AEAD limits RFC again and I\u0027m not sure if 2^36 is right for us. The number of decryption failures that we can tolerate depends on the maximum message length that we\u0027re willing to receive (L in the formulas).\n\nThe DTLS RFC assumes L \u003c\u003d 2^10, but for us it can be larger. I don\u0027t think this matters for AES-GCM, the 2^36 limit leaves lots of room to spare. But for Chacha-poly, it\u0027s pretty tight.\n\nIf we tolerate p \u003d 2^-57 and we have L \u003d 2^14, then we can only have 2^32 decryption failures.","commit_id":"c92fd59871b9bbe030b23897dd638ed072ab9058"},{"author":{"_account_id":1000030,"name":"MaxF","email":"max@max-fillinger.net","username":"MaxF"},"change_message_id":"74d9c84e717a9963cc0788f7a3c2f1841ed5042c","unresolved":true,"context_lines":[{"line_number":669,"context_line":"static inline bool"},{"line_number":670,"context_line":"cipher_decrypt_verify_fail_exceeded(const struct key_ctx *ctx)"},{"line_number":671,"context_line":"{"},{"line_number":672,"context_line":"    /* Use 2**36, same as TLS 1.3 */"},{"line_number":673,"context_line":"    return ctx-\u003efailed_verifications \u003e  (1ull \u003c\u003c 36);"},{"line_number":674,"context_line":"}"},{"line_number":675,"context_line":""}],"source_content_type":"text/x-csrc","patch_set":2,"id":"e2534d46_534f661c","line":672,"range":{"start_line":672,"start_character":26,"end_line":672,"end_character":33},"updated":"2024-12-28 00:37:01.000000000","message":"Should be DTLS","commit_id":"c92fd59871b9bbe030b23897dd638ed072ab9058"},{"author":{"_account_id":1000003,"name":"plaisthos","display_name":"Arne Schwabe","email":"arne-openvpn@rfc2549.org","username":"plaisthos"},"change_message_id":"bf5ee2fe6c9bb7bf5eedaf0cfa62dc712907fc6a","unresolved":false,"context_lines":[{"line_number":669,"context_line":"static inline bool"},{"line_number":670,"context_line":"cipher_decrypt_verify_fail_exceeded(const struct key_ctx *ctx)"},{"line_number":671,"context_line":"{"},{"line_number":672,"context_line":"    /* Use 2**36, same as TLS 1.3 */"},{"line_number":673,"context_line":"    return ctx-\u003efailed_verifications \u003e  (1ull \u003c\u003c 36);"},{"line_number":674,"context_line":"}"},{"line_number":675,"context_line":""}],"source_content_type":"text/x-csrc","patch_set":2,"id":"a39b0e44_3b6d137a","line":672,"range":{"start_line":672,"start_character":11,"end_line":672,"end_character":16},"in_reply_to":"06c9974a_c8419cbb","updated":"2025-01-04 22:44:21.000000000","message":"I commented that we accept this since chacha with \u003e 16k is probably super rare.","commit_id":"c92fd59871b9bbe030b23897dd638ed072ab9058"},{"author":{"_account_id":1000030,"name":"MaxF","email":"max@max-fillinger.net","username":"MaxF"},"change_message_id":"a0f678c70e7082d1271e0873ab9d714f2099aa06","unresolved":true,"context_lines":[{"line_number":669,"context_line":"static inline bool"},{"line_number":670,"context_line":"cipher_decrypt_verify_fail_exceeded(const struct key_ctx *ctx)"},{"line_number":671,"context_line":"{"},{"line_number":672,"context_line":"    /* Use 2**36, same as TLS 1.3 */"},{"line_number":673,"context_line":"    return ctx-\u003efailed_verifications \u003e  (1ull \u003c\u003c 36);"},{"line_number":674,"context_line":"}"},{"line_number":675,"context_line":""}],"source_content_type":"text/x-csrc","patch_set":2,"id":"06c9974a_c8419cbb","line":672,"range":{"start_line":672,"start_character":11,"end_line":672,"end_character":16},"in_reply_to":"8731b0c0_7b4731b8","updated":"2024-12-28 01:25:12.000000000","message":"I don\u0027t know. I thought you did consider larger packets in the OpenVPN RFC.","commit_id":"c92fd59871b9bbe030b23897dd638ed072ab9058"},{"author":{"_account_id":1000003,"name":"plaisthos","display_name":"Arne Schwabe","email":"arne-openvpn@rfc2549.org","username":"plaisthos"},"change_message_id":"036909c92d96e68a7496cdfc54befa2af03df69f","unresolved":true,"context_lines":[{"line_number":669,"context_line":"static inline bool"},{"line_number":670,"context_line":"cipher_decrypt_verify_fail_exceeded(const struct key_ctx *ctx)"},{"line_number":671,"context_line":"{"},{"line_number":672,"context_line":"    /* Use 2**36, same as TLS 1.3 */"},{"line_number":673,"context_line":"    return ctx-\u003efailed_verifications \u003e  (1ull \u003c\u003c 36);"},{"line_number":674,"context_line":"}"},{"line_number":675,"context_line":""}],"source_content_type":"text/x-csrc","patch_set":2,"id":"8731b0c0_7b4731b8","line":672,"range":{"start_line":672,"start_character":11,"end_line":672,"end_character":16},"in_reply_to":"96fbdeb5_8ce34e21","updated":"2024-12-28 01:21:41.000000000","message":"IP and Ethernet packets greater than 2**10 * 16 \u003d 16k are pretty rare. Should we design for 65k packets instead?","commit_id":"c92fd59871b9bbe030b23897dd638ed072ab9058"},{"author":{"_account_id":1000003,"name":"plaisthos","display_name":"Arne Schwabe","email":"arne-openvpn@rfc2549.org","username":"plaisthos"},"change_message_id":"bf5ee2fe6c9bb7bf5eedaf0cfa62dc712907fc6a","unresolved":false,"context_lines":[{"line_number":669,"context_line":"static inline bool"},{"line_number":670,"context_line":"cipher_decrypt_verify_fail_exceeded(const struct key_ctx *ctx)"},{"line_number":671,"context_line":"{"},{"line_number":672,"context_line":"    /* Use 2**36, same as TLS 1.3 */"},{"line_number":673,"context_line":"    return ctx-\u003efailed_verifications \u003e  (1ull \u003c\u003c 36);"},{"line_number":674,"context_line":"}"},{"line_number":675,"context_line":""}],"source_content_type":"text/x-csrc","patch_set":2,"id":"21fe7587_f0d0de4b","line":672,"range":{"start_line":672,"start_character":26,"end_line":672,"end_character":33},"in_reply_to":"e2534d46_534f661c","updated":"2025-01-04 22:44:21.000000000","message":"Acknowledged","commit_id":"c92fd59871b9bbe030b23897dd638ed072ab9058"}]}
