)]}'
{
  "commit": "1fec0d22a805e86a3f6f99cd133bced79f4f04df",
  "tree": "90df3393779343cbe894cb814224593c7624dbc5",
  "parents": [
    "e4faf945816ae45bfe4548b0ab4b572d20b20b41"
  ],
  "author": {
    "name": "Boris Zbarsky",
    "email": "bzbarsky@apple.com",
    "time": "Wed Apr 05 12:59:37 2023 -0400"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Wed Apr 05 12:59:37 2023 -0400"
  },
  "message": "Make Darwin HostNameRegistrar safer to use. (#25983)\n\nThere are two main changes here:\r\n\r\n1) When we shut down the Matter stack, we should remove all our advertisements\r\nadn stop monitoring for network interface changes.  That\u0027s what the change to\r\nChipDnssdShutdown does.\r\n\r\n2) It\u0027s theoretically possible for the block HostNameRegistrar passes to\r\nnw_path_monitor_set_update_handler to run after the HostNameRegistrar is\r\ndestroyed.  Guard against that with a shared_ptr that keeps track of the\r\nliveness state of the HostNameRegistrar.\r\n\r\nThe changes to the member initialization of HostNameRegistrar are just for\r\nsafety\u0027s sake, in case its destructor ever gets called without Init() having\r\nbeen called first.  Right now that is not possible, but better to not rely on\r\nthat.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "fd360f66237c74b4d00b28f3dcdedddc4421b17f",
      "old_mode": 33188,
      "old_path": "src/platform/Darwin/DnssdHostNameRegistrar.cpp",
      "new_id": "572aa043043e4d4568d31a8358f73ead6373270d",
      "new_mode": 33188,
      "new_path": "src/platform/Darwin/DnssdHostNameRegistrar.cpp"
    },
    {
      "type": "modify",
      "old_id": "c3f44884767b14e935a84f07cbe6a8f70c306450",
      "old_mode": 33188,
      "old_path": "src/platform/Darwin/DnssdHostNameRegistrar.h",
      "new_id": "9bb5ce463cfdf673c2d2663d6808454257714cfe",
      "new_mode": 33188,
      "new_path": "src/platform/Darwin/DnssdHostNameRegistrar.h"
    },
    {
      "type": "modify",
      "old_id": "584b9b553d655c14310f2a954de37cf218f6c9a0",
      "old_mode": 33188,
      "old_path": "src/platform/Darwin/DnssdImpl.cpp",
      "new_id": "d859f2b8d1391dc5e412170c10058ea3781bbf64",
      "new_mode": 33188,
      "new_path": "src/platform/Darwin/DnssdImpl.cpp"
    },
    {
      "type": "modify",
      "old_id": "9ad52cb9840fee608a97bbfad1af8d063ca2539c",
      "old_mode": 33188,
      "old_path": "src/platform/Darwin/MdnsError.cpp",
      "new_id": "0664887ea9bbe018af9492ae35b999fed06ec925",
      "new_mode": 33188,
      "new_path": "src/platform/Darwin/MdnsError.cpp"
    }
  ]
}
