)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":1000053,"name":"razvanc","display_name":"Razvan Cojocaru","email":"razvanc@mailbox.org","username":"razvanc"},"change_message_id":"2d0a58805f539fc267ee3aeff555f571e148cac0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"9c473bd2_ee4ee782","updated":"2026-08-16 12:20:06.000000000","message":"There seems to be an include guard copy-paste issue here.","commit_id":"929f70e5dd6518319e1348cbcc6cadd719bac374"}],"src/openvpn/options.c":[{"author":{"_account_id":1000053,"name":"razvanc","display_name":"Razvan Cojocaru","email":"razvanc@mailbox.org","username":"razvanc"},"change_message_id":"d11bb516d7fdcc80c89d108d4393eb2a0f8e49f4","unresolved":true,"context_lines":[{"line_number":3736,"context_line":" *               the other end of the connection]"},{"line_number":3737,"context_line":" * --tls-server [matched with --tls-client on"},{"line_number":3738,"context_line":" *               the other end of the connection]"},{"line_number":3739,"context_line":" */"},{"line_number":3740,"context_line":"char *"},{"line_number":3741,"context_line":"options_string(const struct options *o, const struct frame *frame, struct tuntap *tt,"},{"line_number":3742,"context_line":"               openvpn_net_ctx_t *ctx, bool remote, struct gc_arena *gc)"}],"source_content_type":"text/x-csrc","patch_set":4,"id":"1e030744_23dbf499","side":"PARENT","line":3739,"updated":"2026-08-17 18:28:46.000000000","message":"Should such Doxygen go to the header instead?","commit_id":"f2165dfdf57e6037d5a43a8b6226c98d088b5b4e"},{"author":{"_account_id":1000001,"name":"flichtenheld","display_name":"Frank Lichtenheld","email":"frank@lichtenheld.com","username":"flichtenheld","status":"OpenVPN Inc."},"change_message_id":"85b9fe2fcd71a0f3df7d175438d25b266cddf8a4","unresolved":false,"context_lines":[{"line_number":3736,"context_line":" *               the other end of the connection]"},{"line_number":3737,"context_line":" * --tls-server [matched with --tls-client on"},{"line_number":3738,"context_line":" *               the other end of the connection]"},{"line_number":3739,"context_line":" */"},{"line_number":3740,"context_line":"char *"},{"line_number":3741,"context_line":"options_string(const struct options *o, const struct frame *frame, struct tuntap *tt,"},{"line_number":3742,"context_line":"               openvpn_net_ctx_t *ctx, bool remote, struct gc_arena *gc)"}],"source_content_type":"text/x-csrc","patch_set":4,"id":"e13ecad9_b30ebd18","side":"PARENT","line":3739,"in_reply_to":"1e030744_23dbf499","updated":"2026-08-19 15:39:52.000000000","message":"Done","commit_id":"f2165dfdf57e6037d5a43a8b6226c98d088b5b4e"},{"author":{"_account_id":1000053,"name":"razvanc","display_name":"Razvan Cojocaru","email":"razvanc@mailbox.org","username":"razvanc"},"change_message_id":"d11bb516d7fdcc80c89d108d4393eb2a0f8e49f4","unresolved":true,"context_lines":[{"line_number":3929,"context_line":" * If the first two chars of the strings differ, it means that"},{"line_number":3930,"context_line":" * we are looking at different versions of the options string,"},{"line_number":3931,"context_line":" * therefore don\u0027t compare them and return true."},{"line_number":3932,"context_line":" */"},{"line_number":3933,"context_line":""},{"line_number":3934,"context_line":"bool"},{"line_number":3935,"context_line":"options_cmp_equal(char *actual, const char *expected)"}],"source_content_type":"text/x-csrc","patch_set":4,"id":"e0501fb3_9668768f","side":"PARENT","line":3932,"updated":"2026-08-17 18:28:46.000000000","message":"I _think_ the newline between this and the function below orphans the comment.","commit_id":"f2165dfdf57e6037d5a43a8b6226c98d088b5b4e"},{"author":{"_account_id":1000001,"name":"flichtenheld","display_name":"Frank Lichtenheld","email":"frank@lichtenheld.com","username":"flichtenheld","status":"OpenVPN Inc."},"change_message_id":"85b9fe2fcd71a0f3df7d175438d25b266cddf8a4","unresolved":false,"context_lines":[{"line_number":3929,"context_line":" * If the first two chars of the strings differ, it means that"},{"line_number":3930,"context_line":" * we are looking at different versions of the options string,"},{"line_number":3931,"context_line":" * therefore don\u0027t compare them and return true."},{"line_number":3932,"context_line":" */"},{"line_number":3933,"context_line":""},{"line_number":3934,"context_line":"bool"},{"line_number":3935,"context_line":"options_cmp_equal(char *actual, const char *expected)"}],"source_content_type":"text/x-csrc","patch_set":4,"id":"f7b1d321_92aceeed","side":"PARENT","line":3932,"in_reply_to":"e0501fb3_9668768f","updated":"2026-08-19 15:39:52.000000000","message":"Done","commit_id":"f2165dfdf57e6037d5a43a8b6226c98d088b5b4e"}],"src/openvpn/options_string.h":[{"author":{"_account_id":1000053,"name":"razvanc","display_name":"Razvan Cojocaru","email":"razvanc@mailbox.org","username":"razvanc"},"change_message_id":"2d0a58805f539fc267ee3aeff555f571e148cac0","unresolved":true,"context_lines":[{"line_number":21,"context_line":" */"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"#ifndef OPTIONS_SHOW_H"},{"line_number":24,"context_line":"#define OPTIONS_SHOW_H"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"#include \"buffer.h\""},{"line_number":27,"context_line":"#include \"options.h\""}],"source_content_type":"text/x-csrc","patch_set":2,"id":"0dbef915_b41ba38a","line":24,"updated":"2026-08-16 12:20:06.000000000","message":"This looks wrong. A previous patch in this series already uses this include guard name in the options_show.h header, which now makes including both headers in the same compilation unit problematic.","commit_id":"929f70e5dd6518319e1348cbcc6cadd719bac374"},{"author":{"_account_id":1000001,"name":"flichtenheld","display_name":"Frank Lichtenheld","email":"frank@lichtenheld.com","username":"flichtenheld","status":"OpenVPN Inc."},"change_message_id":"237ab6a3b16f2a573bcd1aca0fd90d1066a7a552","unresolved":true,"context_lines":[{"line_number":21,"context_line":" */"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"#ifndef OPTIONS_SHOW_H"},{"line_number":24,"context_line":"#define OPTIONS_SHOW_H"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"#include \"buffer.h\""},{"line_number":27,"context_line":"#include \"options.h\""}],"source_content_type":"text/x-csrc","patch_set":2,"id":"dca28b61_5f2f174d","line":24,"in_reply_to":"0dbef915_b41ba38a","updated":"2026-08-17 10:44:16.000000000","message":"Thanks for catching that. It didn\u0027t cause any compiler errors since options_show.h is only included in openvpn.c which doesn\u0027t include options_string.h","commit_id":"929f70e5dd6518319e1348cbcc6cadd719bac374"},{"author":{"_account_id":1000001,"name":"flichtenheld","display_name":"Frank Lichtenheld","email":"frank@lichtenheld.com","username":"flichtenheld","status":"OpenVPN Inc."},"change_message_id":"10f405ba108e84a69825ed13faf20ad8616959c1","unresolved":false,"context_lines":[{"line_number":21,"context_line":" */"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"#ifndef OPTIONS_SHOW_H"},{"line_number":24,"context_line":"#define OPTIONS_SHOW_H"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"#include \"buffer.h\""},{"line_number":27,"context_line":"#include \"options.h\""}],"source_content_type":"text/x-csrc","patch_set":2,"id":"b3626000_3dbf7c3d","line":24,"in_reply_to":"dca28b61_5f2f174d","updated":"2026-08-17 12:09:45.000000000","message":"Done","commit_id":"929f70e5dd6518319e1348cbcc6cadd719bac374"}]}
