)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":31664,"name":"Omer Schwartz","email":"oschwart@redhat.com","username":"oschwart"},"change_message_id":"e3d94f789166f50d032208c7952108a993c3ef52","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"123d803f_e77120fb","updated":"2026-04-08 12:49:06.000000000","message":"Hello Mikhail, thank you for your contributions. I will review your patches as soon as I have capacity, hopefully soon","commit_id":"0fab379ea20dc3d2733c910fd3cfaec54fe7d47d"},{"author":{"_account_id":31664,"name":"Omer Schwartz","email":"oschwart@redhat.com","username":"oschwart"},"change_message_id":"0cdf85e2c6c0805b572ce37b42c1454dcb9f53ac","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"b7417422_ca123168","updated":"2026-05-07 09:02:23.000000000","message":"Thank you Mikhail for working on this feature. I added some comments inline","commit_id":"df2112053541174b07ae94f2a631ae320b467866"},{"author":{"_account_id":33685,"name":"Mikhail","display_name":"Mikhail Samoylov","email":"mikhailsamoiloff@gmail.com","username":"mikhails"},"change_message_id":"a431474b4db86687aa9d47cc1296456bd586e882","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"1dd55f23_47597c68","updated":"2026-05-07 14:26:33.000000000","message":"recheck","commit_id":"fbafd37e76122d92a62b23174dcd5f80dba12d1a"}],"designate/api/versions.py":[{"author":{"_account_id":31664,"name":"Omer Schwartz","email":"oschwart@redhat.com","username":"oschwart"},"change_message_id":"0cdf85e2c6c0805b572ce37b42c1454dcb9f53ac","unresolved":true,"context_lines":[{"line_number":56,"context_line":"                       \u00272023-01-25T00:00:00Z\u0027)"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"        # 2.2 SVCB and HTTPS record types"},{"line_number":59,"context_line":"        _add_a_version(versions, \u0027v2.2\u0027, api_url, constants.CURRENT,"},{"line_number":60,"context_line":"                       \u00272025-08-25T00:00:00Z\u0027)"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"        # 2.3 TLSA record type"}],"source_content_type":"text/x-python","patch_set":3,"id":"0c2bf64e_911a480d","line":59,"range":{"start_line":59,"start_character":60,"end_line":59,"end_character":67},"updated":"2026-05-07 09:02:23.000000000","message":"Please change it to SUPPORTED","commit_id":"df2112053541174b07ae94f2a631ae320b467866"},{"author":{"_account_id":33685,"name":"Mikhail","display_name":"Mikhail Samoylov","email":"mikhailsamoiloff@gmail.com","username":"mikhails"},"change_message_id":"29e59f88bb7c2c3472cf56537d62b1162869c7b4","unresolved":true,"context_lines":[{"line_number":56,"context_line":"                       \u00272023-01-25T00:00:00Z\u0027)"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"        # 2.2 SVCB and HTTPS record types"},{"line_number":59,"context_line":"        _add_a_version(versions, \u0027v2.2\u0027, api_url, constants.CURRENT,"},{"line_number":60,"context_line":"                       \u00272025-08-25T00:00:00Z\u0027)"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"        # 2.3 TLSA record type"}],"source_content_type":"text/x-python","patch_set":3,"id":"6387617c_d24653b4","line":59,"range":{"start_line":59,"start_character":60,"end_line":59,"end_character":67},"in_reply_to":"0c2bf64e_911a480d","updated":"2026-05-07 13:03:46.000000000","message":"Fixed","commit_id":"df2112053541174b07ae94f2a631ae320b467866"}],"designate/objects/__init__.py":[{"author":{"_account_id":31664,"name":"Omer Schwartz","email":"oschwart@redhat.com","username":"oschwart"},"change_message_id":"0cdf85e2c6c0805b572ce37b42c1454dcb9f53ac","unresolved":true,"context_lines":[{"line_number":63,"context_line":"from designate.objects.rrdata_sshfp import SSHFP, SSHFPList  # noqa"},{"line_number":64,"context_line":"from designate.objects.rrdata_svcb import SVCB, SVCBList  # noqa"},{"line_number":65,"context_line":"from designate.objects.rrdata_txt import TXT, TXTList  # noqa"},{"line_number":66,"context_line":"from designate.objects.rrdata_tlsa import TLSA, TLSAList  # noqa"}],"source_content_type":"text/x-python","patch_set":3,"id":"8a93b82f_ce8013ca","line":66,"updated":"2026-05-07 09:02:23.000000000","message":"Nit: we might want to move that line one line above, as the record types ordering is still sorted in an alphabetic way. I know the other sections are not well sorted anymore.","commit_id":"df2112053541174b07ae94f2a631ae320b467866"},{"author":{"_account_id":33685,"name":"Mikhail","display_name":"Mikhail Samoylov","email":"mikhailsamoiloff@gmail.com","username":"mikhails"},"change_message_id":"29e59f88bb7c2c3472cf56537d62b1162869c7b4","unresolved":true,"context_lines":[{"line_number":63,"context_line":"from designate.objects.rrdata_sshfp import SSHFP, SSHFPList  # noqa"},{"line_number":64,"context_line":"from designate.objects.rrdata_svcb import SVCB, SVCBList  # noqa"},{"line_number":65,"context_line":"from designate.objects.rrdata_txt import TXT, TXTList  # noqa"},{"line_number":66,"context_line":"from designate.objects.rrdata_tlsa import TLSA, TLSAList  # noqa"}],"source_content_type":"text/x-python","patch_set":3,"id":"22f0d53e_99a970ce","line":66,"in_reply_to":"8a93b82f_ce8013ca","updated":"2026-05-07 13:03:46.000000000","message":"Done","commit_id":"df2112053541174b07ae94f2a631ae320b467866"}],"designate/objects/rrdata_tlsa.py":[{"author":{"_account_id":22623,"name":"Erik Olof Gunnar Andersson","email":"eandersson@blizzard.com","username":"eoandersson"},"change_message_id":"99647af2a90a20869c64223303290623f973bf95","unresolved":true,"context_lines":[{"line_number":54,"context_line":"        certificate \u003d \"\".join(certificate.split())"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"        if not certificate:"},{"line_number":57,"context_line":"            raise ValueError(\"Certificate association data cannot be empty\")"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"        if len(certificate) % 2 !\u003d 0:"},{"line_number":60,"context_line":"            raise ValueError(\"Certificate hex data must have even length\")"}],"source_content_type":"text/x-python","patch_set":2,"id":"d1f9bac5_448be302","line":57,"updated":"2026-04-23 09:06:36.000000000","message":"nit: Could you add a unit test just to cover this unlikely scenario.","commit_id":"0fab379ea20dc3d2733c910fd3cfaec54fe7d47d"},{"author":{"_account_id":31664,"name":"Omer Schwartz","email":"oschwart@redhat.com","username":"oschwart"},"change_message_id":"0cdf85e2c6c0805b572ce37b42c1454dcb9f53ac","unresolved":false,"context_lines":[{"line_number":54,"context_line":"        certificate \u003d \"\".join(certificate.split())"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"        if not certificate:"},{"line_number":57,"context_line":"            raise ValueError(\"Certificate association data cannot be empty\")"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"        if len(certificate) % 2 !\u003d 0:"},{"line_number":60,"context_line":"            raise ValueError(\"Certificate hex data must have even length\")"}],"source_content_type":"text/x-python","patch_set":2,"id":"9303aa0b_83c248b4","line":57,"in_reply_to":"bda97d63_1bd3fc56","updated":"2026-05-07 09:02:23.000000000","message":"Done","commit_id":"0fab379ea20dc3d2733c910fd3cfaec54fe7d47d"},{"author":{"_account_id":33685,"name":"Mikhail","display_name":"Mikhail Samoylov","email":"mikhailsamoiloff@gmail.com","username":"mikhails"},"change_message_id":"fa768ebad8c62e518cce1fb8dcbd71610bb1caa6","unresolved":true,"context_lines":[{"line_number":54,"context_line":"        certificate \u003d \"\".join(certificate.split())"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"        if not certificate:"},{"line_number":57,"context_line":"            raise ValueError(\"Certificate association data cannot be empty\")"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"        if len(certificate) % 2 !\u003d 0:"},{"line_number":60,"context_line":"            raise ValueError(\"Certificate hex data must have even length\")"}],"source_content_type":"text/x-python","patch_set":2,"id":"bda97d63_1bd3fc56","line":57,"in_reply_to":"d1f9bac5_448be302","updated":"2026-04-23 13:38:23.000000000","message":"Thanks! This case isn’t actually reachable with the current parsing logic (split() catches it earlier). I’ve removed this dead code.","commit_id":"0fab379ea20dc3d2733c910fd3cfaec54fe7d47d"},{"author":{"_account_id":31664,"name":"Omer Schwartz","email":"oschwart@redhat.com","username":"oschwart"},"change_message_id":"0cdf85e2c6c0805b572ce37b42c1454dcb9f53ac","unresolved":true,"context_lines":[{"line_number":21,"context_line":"from designate.objects.record import RecordList"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"def validate_certificate_data(value):"},{"line_number":25,"context_line":"    try:"},{"line_number":26,"context_line":"        binascii.unhexlify(value)"},{"line_number":27,"context_line":"    except Exception:"}],"source_content_type":"text/x-python","patch_set":3,"id":"0b0d2b42_fef223ff","line":24,"range":{"start_line":24,"start_character":0,"end_line":24,"end_character":37},"updated":"2026-05-07 09:02:23.000000000","message":"Should we make it a @staticmethod?","commit_id":"df2112053541174b07ae94f2a631ae320b467866"},{"author":{"_account_id":33685,"name":"Mikhail","display_name":"Mikhail Samoylov","email":"mikhailsamoiloff@gmail.com","username":"mikhails"},"change_message_id":"29e59f88bb7c2c3472cf56537d62b1162869c7b4","unresolved":true,"context_lines":[{"line_number":21,"context_line":"from designate.objects.record import RecordList"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"def validate_certificate_data(value):"},{"line_number":25,"context_line":"    try:"},{"line_number":26,"context_line":"        binascii.unhexlify(value)"},{"line_number":27,"context_line":"    except Exception:"}],"source_content_type":"text/x-python","patch_set":3,"id":"ad776cba_f7b7c009","line":24,"range":{"start_line":24,"start_character":0,"end_line":24,"end_character":37},"in_reply_to":"0b0d2b42_fef223ff","updated":"2026-05-07 13:03:46.000000000","message":"Done","commit_id":"df2112053541174b07ae94f2a631ae320b467866"},{"author":{"_account_id":31664,"name":"Omer Schwartz","email":"oschwart@redhat.com","username":"oschwart"},"change_message_id":"0cdf85e2c6c0805b572ce37b42c1454dcb9f53ac","unresolved":true,"context_lines":[{"line_number":42,"context_line":"        \u0027certificate\u0027: fields.StringFields(maxLength\u003d65535, nullable\u003dFalse),"},{"line_number":43,"context_line":"    }"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"    def from_string(self, value):"},{"line_number":46,"context_line":"        value \u003d value.replace(\"(\", \"\").replace(\")\", \"\")"},{"line_number":47,"context_line":"        values \u003d value.split()"},{"line_number":48,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"eabbac09_9a4470d6","line":45,"updated":"2026-05-07 09:02:23.000000000","message":"Per RFC 6698 Section 3, TLSA records must be placed at a name encoding the port and protocol: _port._protocol.domain (e.g., _443._tcp.example.com.). A TLSA record at a bare domain like example.com. is meaningless — no DANE client would look it up there. Worth considering whether to validate the recordset name format, either here or at the API layer.\n\nFor reference:\nhttps://datatracker.ietf.org/doc/html/rfc6698#section-3","commit_id":"df2112053541174b07ae94f2a631ae320b467866"},{"author":{"_account_id":33685,"name":"Mikhail","display_name":"Mikhail Samoylov","email":"mikhailsamoiloff@gmail.com","username":"mikhails"},"change_message_id":"29e59f88bb7c2c3472cf56537d62b1162869c7b4","unresolved":true,"context_lines":[{"line_number":42,"context_line":"        \u0027certificate\u0027: fields.StringFields(maxLength\u003d65535, nullable\u003dFalse),"},{"line_number":43,"context_line":"    }"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"    def from_string(self, value):"},{"line_number":46,"context_line":"        value \u003d value.replace(\"(\", \"\").replace(\")\", \"\")"},{"line_number":47,"context_line":"        values \u003d value.split()"},{"line_number":48,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"99dd9ac3_252ebcdf","line":45,"in_reply_to":"eabbac09_9a4470d6","updated":"2026-05-07 13:03:46.000000000","message":"Fixed, I add check for TLSA record name on API level, because here it\u0027s a recordset not a record name, designate/api/v2/controllers/zones/recordsets.py","commit_id":"df2112053541174b07ae94f2a631ae320b467866"},{"author":{"_account_id":31664,"name":"Omer Schwartz","email":"oschwart@redhat.com","username":"oschwart"},"change_message_id":"0cdf85e2c6c0805b572ce37b42c1454dcb9f53ac","unresolved":true,"context_lines":[{"line_number":51,"context_line":""},{"line_number":52,"context_line":"        usage, selector, matching_type \u003d values[:3]"},{"line_number":53,"context_line":"        certificate \u003d \"\".join(values[3:])"},{"line_number":54,"context_line":"        certificate \u003d \"\".join(certificate.split())"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"        if len(certificate) % 2 !\u003d 0:"},{"line_number":57,"context_line":"            raise ValueError(\"Certificate hex data must have even length\")"}],"source_content_type":"text/x-python","patch_set":3,"id":"0862cf0f_50cc60b9","line":54,"range":{"start_line":54,"start_character":8,"end_line":54,"end_character":50},"updated":"2026-05-07 09:02:23.000000000","message":"I think this line is no-op, it\u0027s already whitespace-free as it was just produced by \"\".join(values[3:]) where each element came from .split()","commit_id":"df2112053541174b07ae94f2a631ae320b467866"},{"author":{"_account_id":33685,"name":"Mikhail","display_name":"Mikhail Samoylov","email":"mikhailsamoiloff@gmail.com","username":"mikhails"},"change_message_id":"29e59f88bb7c2c3472cf56537d62b1162869c7b4","unresolved":true,"context_lines":[{"line_number":51,"context_line":""},{"line_number":52,"context_line":"        usage, selector, matching_type \u003d values[:3]"},{"line_number":53,"context_line":"        certificate \u003d \"\".join(values[3:])"},{"line_number":54,"context_line":"        certificate \u003d \"\".join(certificate.split())"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"        if len(certificate) % 2 !\u003d 0:"},{"line_number":57,"context_line":"            raise ValueError(\"Certificate hex data must have even length\")"}],"source_content_type":"text/x-python","patch_set":3,"id":"da86c006_f226c8fa","line":54,"range":{"start_line":54,"start_character":8,"end_line":54,"end_character":50},"in_reply_to":"0862cf0f_50cc60b9","updated":"2026-05-07 13:03:46.000000000","message":"Fixed","commit_id":"df2112053541174b07ae94f2a631ae320b467866"},{"author":{"_account_id":31664,"name":"Omer Schwartz","email":"oschwart@redhat.com","username":"oschwart"},"change_message_id":"0cdf85e2c6c0805b572ce37b42c1454dcb9f53ac","unresolved":true,"context_lines":[{"line_number":55,"context_line":""},{"line_number":56,"context_line":"        if len(certificate) % 2 !\u003d 0:"},{"line_number":57,"context_line":"            raise ValueError(\"Certificate hex data must have even length\")"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"        validate_certificate_data(certificate)"},{"line_number":60,"context_line":"        try:"},{"line_number":61,"context_line":"            self.usage \u003d int(usage)"}],"source_content_type":"text/x-python","patch_set":3,"id":"0a3d56da_3cdfabdb","line":58,"updated":"2026-05-07 09:02:23.000000000","message":"The certificate data length should be validated against the declared matching type. Per the RFC and IANA DANE parameters registry, matching type 1 (SHA-256) must produce exactly 64 hex characters (32 bytes) and matching type 2 (SHA-512) must produce exactly 128 hex characters (64 bytes). Currently `3 1 1 aabb` passes validation despite aabb being an impossible SHA-256 hash. The record would be stored and served but no DANE client could use it.\n\nFor reference: \nhttps://www.iana.org/assignments/dane-parameters/dane-parameters.xhtml\nhttps://datatracker.ietf.org/doc/html/rfc6698#section-2.1.3","commit_id":"df2112053541174b07ae94f2a631ae320b467866"},{"author":{"_account_id":33685,"name":"Mikhail","display_name":"Mikhail Samoylov","email":"mikhailsamoiloff@gmail.com","username":"mikhails"},"change_message_id":"29e59f88bb7c2c3472cf56537d62b1162869c7b4","unresolved":true,"context_lines":[{"line_number":55,"context_line":""},{"line_number":56,"context_line":"        if len(certificate) % 2 !\u003d 0:"},{"line_number":57,"context_line":"            raise ValueError(\"Certificate hex data must have even length\")"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"        validate_certificate_data(certificate)"},{"line_number":60,"context_line":"        try:"},{"line_number":61,"context_line":"            self.usage \u003d int(usage)"}],"source_content_type":"text/x-python","patch_set":3,"id":"e44ebfa8_a6ae0d6d","line":58,"in_reply_to":"0a3d56da_3cdfabdb","updated":"2026-05-07 13:03:46.000000000","message":"Fixed","commit_id":"df2112053541174b07ae94f2a631ae320b467866"}],"designate/storage/sqlalchemy/alembic/versions/b57384b28335_add_tlsa_record_type.py":[{"author":{"_account_id":31664,"name":"Omer Schwartz","email":"oschwart@redhat.com","username":"oschwart"},"change_message_id":"0cdf85e2c6c0805b572ce37b42c1454dcb9f53ac","unresolved":true,"context_lines":[{"line_number":28,"context_line":"depends_on \u003d None"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"def upgrade():"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"    RECORD_TYPES \u003d [\u0027A\u0027, \u0027AAAA\u0027, \u0027CNAME\u0027, \u0027MX\u0027, \u0027SRV\u0027, \u0027TXT\u0027, \u0027SPF\u0027, \u0027NS\u0027,"},{"line_number":34,"context_line":"                    \u0027PTR\u0027, \u0027SSHFP\u0027, \u0027SOA\u0027, \u0027NAPTR\u0027, \u0027CAA\u0027, \u0027CERT\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"499ae4df_7afd7333","line":31,"range":{"start_line":31,"start_character":0,"end_line":31,"end_character":14},"updated":"2026-05-07 09:02:23.000000000","message":"Missing -\u003e None return type annotation — all other 19 migrations have it","commit_id":"df2112053541174b07ae94f2a631ae320b467866"},{"author":{"_account_id":33685,"name":"Mikhail","display_name":"Mikhail Samoylov","email":"mikhailsamoiloff@gmail.com","username":"mikhails"},"change_message_id":"29e59f88bb7c2c3472cf56537d62b1162869c7b4","unresolved":true,"context_lines":[{"line_number":28,"context_line":"depends_on \u003d None"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"def upgrade():"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"    RECORD_TYPES \u003d [\u0027A\u0027, \u0027AAAA\u0027, \u0027CNAME\u0027, \u0027MX\u0027, \u0027SRV\u0027, \u0027TXT\u0027, \u0027SPF\u0027, \u0027NS\u0027,"},{"line_number":34,"context_line":"                    \u0027PTR\u0027, \u0027SSHFP\u0027, \u0027SOA\u0027, \u0027NAPTR\u0027, \u0027CAA\u0027, \u0027CERT\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"fddefd8d_72f23738","line":31,"range":{"start_line":31,"start_character":0,"end_line":31,"end_character":14},"in_reply_to":"499ae4df_7afd7333","updated":"2026-05-07 13:03:46.000000000","message":"Fixed","commit_id":"df2112053541174b07ae94f2a631ae320b467866"}],"designate/tests/functional/central/test_service.py":[{"author":{"_account_id":31664,"name":"Omer Schwartz","email":"oschwart@redhat.com","username":"oschwart"},"change_message_id":"0cdf85e2c6c0805b572ce37b42c1454dcb9f53ac","unresolved":true,"context_lines":[{"line_number":2151,"context_line":"    def test_update_recordset_immutable_type(self):"},{"line_number":2152,"context_line":"        zone \u003d self.create_zone()"},{"line_number":2153,"context_line":"        # [\u0027A\u0027, \u0027AAAA\u0027, \u0027CNAME\u0027, \u0027MX\u0027, \u0027SRV\u0027, \u0027TXT\u0027, \u0027SPF\u0027, \u0027NS\u0027, \u0027PTR\u0027,"},{"line_number":2154,"context_line":"        #  \u0027SSHFP\u0027, \u0027SOA\u0027, \u0027NAPTR\u0027, \u0027CAA\u0027, \u0027CERT\u0027, \u0027HTTPS\u0027, \u0027SVCB\u0027, \u0027TLSA]"},{"line_number":2155,"context_line":"        # Create a recordset"},{"line_number":2156,"context_line":"        recordset \u003d self.create_recordset(zone)"},{"line_number":2157,"context_line":"        cname_recordset \u003d self.create_recordset(zone, recordset_type\u003d\u0027CNAME\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"951ecfff_075a487c","line":2154,"range":{"start_line":2154,"start_character":68,"end_line":2154,"end_character":73},"updated":"2026-05-07 09:02:23.000000000","message":"Nit: I know it is a comment, but still, it is missing the last \u0027","commit_id":"df2112053541174b07ae94f2a631ae320b467866"},{"author":{"_account_id":33685,"name":"Mikhail","display_name":"Mikhail Samoylov","email":"mikhailsamoiloff@gmail.com","username":"mikhails"},"change_message_id":"29e59f88bb7c2c3472cf56537d62b1162869c7b4","unresolved":true,"context_lines":[{"line_number":2151,"context_line":"    def test_update_recordset_immutable_type(self):"},{"line_number":2152,"context_line":"        zone \u003d self.create_zone()"},{"line_number":2153,"context_line":"        # [\u0027A\u0027, \u0027AAAA\u0027, \u0027CNAME\u0027, \u0027MX\u0027, \u0027SRV\u0027, \u0027TXT\u0027, \u0027SPF\u0027, \u0027NS\u0027, \u0027PTR\u0027,"},{"line_number":2154,"context_line":"        #  \u0027SSHFP\u0027, \u0027SOA\u0027, \u0027NAPTR\u0027, \u0027CAA\u0027, \u0027CERT\u0027, \u0027HTTPS\u0027, \u0027SVCB\u0027, \u0027TLSA]"},{"line_number":2155,"context_line":"        # Create a recordset"},{"line_number":2156,"context_line":"        recordset \u003d self.create_recordset(zone)"},{"line_number":2157,"context_line":"        cname_recordset \u003d self.create_recordset(zone, recordset_type\u003d\u0027CNAME\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"a1473456_67540370","line":2154,"range":{"start_line":2154,"start_character":68,"end_line":2154,"end_character":73},"in_reply_to":"951ecfff_075a487c","updated":"2026-05-07 13:03:46.000000000","message":"Fixed","commit_id":"df2112053541174b07ae94f2a631ae320b467866"}]}
