)]}'
{
  "log": [
    {
      "commit": "4b8e3002bddbe11bab4e240cfa13efe66a50d8d5",
      "tree": "9960348037013b62c900961398957841d5cb7fbb",
      "parents": [
        "9ed91ab595f17441900755bf21cccd4f430914b2"
      ],
      "author": {
        "name": "Tommy Webb",
        "email": "tommy@calyxinstitute.org",
        "time": "Thu Sep 12 21:34:17 2024 +0000"
      },
      "committer": {
        "name": "Michael Bestas",
        "email": "mkbestas@lineageos.org",
        "time": "Sun Jun 15 20:03:21 2025 +0300"
      },
      "message": "VPN-covered DNS traffic may not fall through\n\nThe VPN fallthrough rule allows unmatched VPN traffic to use the\nunderlying network instead. This has been the main culprit behind\nmultiple DNS leak issues. We now skip this for all DNS traffic.\n\nIssue: calyxos#2555\nIssue: calyxos#2660\nIssue: calyxos#2680\nCo-authored-by: Oliver Scott \u003colivercscott@gmail.com\u003e\nSquashed-Requires: I1b89587a54c3178dcbf0a78927392bb8fb36294f\nUnsquashed-Requires: I9975b5ab1306ee86863979d1fe73203799cce648\nUnsquashed-Requires: Icd64aa530e8d202abb97d8325160a5d4c0b4c490\nChange-Id: Ic2e1df35de1fe06a8ad54bc896c2d761e9e9e910\n"
    },
    {
      "commit": "9ed91ab595f17441900755bf21cccd4f430914b2",
      "tree": "0df8c700eb3585e6d9e098d3d4335a0ecfbcb138",
      "parents": [
        "eb3335da50c8afe85da02cec4124d189d7635c04"
      ],
      "author": {
        "name": "Tommy Webb",
        "email": "tommy@calyxinstitute.org",
        "time": "Tue Feb 28 10:46:05 2023 -0500"
      },
      "committer": {
        "name": "Michael Bestas",
        "email": "mkbestas@lineageos.org",
        "time": "Sun Jun 15 20:03:21 2025 +0300"
      },
      "message": "Firewall: Transport-based toggle support (2/3)\n\nNeeds corresponding fw/b and Connectivity changes.\n\nSquash of:\n\nAuthor: Tommy Webb \u003ctommy@calyxinstitute.org\u003e\nDate:   Tue Feb 28 10:46:05 2023 -0500\n\n    Do not add VPN local exclusion rules\n\n    Prevent UIDs on a VPN from accessing the private IP ranges of networks\n    that they are not allowed to access. Without this, when connected to a\n    VPN, apps that are disallowed from accessing a Wi-Fi network will\n    become able to access the Wi-Fi network\u0027s LAN despite not being able\n    to access the Wi-Fi network whatsoever before connecting to a VPN.\n\n    Stop adding the local exclusion rule that makes this bypass possible.\n\n    Change-Id: I9975b5ab1306ee86863979d1fe73203799cce648\n\nAuthor: Tommy Webb \u003ctommy@calyxinstitute.org\u003e\nDate:   Thu Apr 27 18:01:41 2023 -0400\n\n    Stop setting netId for bypassable VPNs\n\n    Code comments claim that a socket\u0027s netId needs to be specified for\n    bypassable VPNs in order for them to have any traffic at all, but this\n    does not appear to reflect reality today -- at least with our firewall\n    changes -- as a simple test will show that such VPNs are still usable\n    even when we don\u0027t set the netId to that of the bypassable VPN.\n    (The comments and code were added in 2014 and may be out-of-date.)\n\n    This change resolves an issue resulting from recent firewall changes\n    that prevents UIDs of bypassable VPNs from accessing other networks,\n    even when they are allowed to do so.\n\n    Issue: calyxos#1650\n    Change-Id: I18edc8659750044534c9bea5ed49eddbcea89378\n\nAuthor: Tommy Webb \u003ctommy@calyxinstitute.org\u003e\nDate:   Thu Apr 27 15:57:54 2023 -0400\n\n    Adjust IP rules to accommodate UID-based firewall\n\n    * No default implicit network rule. We have UID-based implicit rules.\n    * Can only use VPN fallthrough with system permission. It is not\n      UID-based, and other rules fulfill our needs.\n    * Binding to output interfaces arbitrarily requires system permission.\n      Other rules cover this where it should be allowed for UIDs.\n\n    The behavior resulting from these changes is *almost* identical to\n    the recently-changed firewall behavior, but it resolves the issue of\n    default network rules being unusable without system-level permission.\n\n    Also includes squashed change:\n\n    Author: Tommy Webb \u003ctommy@calyxinstitute.org\u003e\n    Date:   Mon Jul 10 12:27:01 2023 -0400\n\n        fixup! Adjust IP rules to accommodate UID-based firewall\n\n        * Require system permission for RULE_PRIORITY_DEFAULT_NETWORK rule.\n          Default network access is already allowed for UIDs permitted on the\n          network via RULE_PRIORITY_UID_DEFAULT_NETWORK rules.\n\n        Change-Id: I8771b012fc90263b2aa7c68fdf3ccebde6670b79\n\n    Change-Id: Icd64aa530e8d202abb97d8325160a5d4c0b4c490\n\nChange-Id: I1b89587a54c3178dcbf0a78927392bb8fb36294f\n"
    },
    {
      "commit": "dfdff27ca4b902f01903ea4c8ecd1da0074d1d67",
      "tree": "37ff0b7bc652f2bae4d417d43394bca2f8f2e280",
      "parents": [
        "293b0894d1aa851f1ee30f5ab44ffa804f2cdf08",
        "0add992c894d019ce832914a2dce39c452f6abd4"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Tue Mar 18 17:10:11 2025 -0700"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 18 17:10:11 2025 -0700"
      },
      "message": "Merge \"Remove obsolete call to /system/bin/oem-iptables-init.sh\" into main"
    },
    {
      "commit": "0add992c894d019ce832914a2dce39c452f6abd4",
      "tree": "4fc4e97762060f8bc144b961915e140dd04233fb",
      "parents": [
        "7737a12573b9961a551e0f6e6017fe29bc98c402"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Mon Mar 17 01:30:04 2025 -0700"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Tue Mar 18 12:36:01 2025 -0700"
      },
      "message": "Remove obsolete call to /system/bin/oem-iptables-init.sh\n\nTest: TreeHugger\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\nChange-Id: I412fec0db87897641166bb33d2c1042c89a78b36\n"
    },
    {
      "commit": "293b0894d1aa851f1ee30f5ab44ffa804f2cdf08",
      "tree": "0238d8a260edcb03a88b46b410be60e904e6827f",
      "parents": [
        "7737a12573b9961a551e0f6e6017fe29bc98c402",
        "15e7fdebcdeddeeca4f0c472d841b9e50b7f8c6c"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Tue Mar 18 00:50:13 2025 -0700"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 18 00:50:13 2025 -0700"
      },
      "message": "Merge \"Accept new OEM VPN types in netd.\" into main"
    },
    {
      "commit": "15e7fdebcdeddeeca4f0c472d841b9e50b7f8c6c",
      "tree": "33253593d05a229cb1c411e834d643ae5b8b021c",
      "parents": [
        "abf780bd0e4f586ec5f5b3a72f2504a61a7847f2"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Fri Mar 14 21:17:39 2025 +0900"
      },
      "committer": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Fri Mar 14 21:17:39 2025 +0900"
      },
      "message": "Accept new OEM VPN types in netd.\n\nBug: 389829981\nTest: new tests in other CL in topic\nChange-Id: I6f9a704d8216cbe671841e12ed4b2516e29b1161\n"
    },
    {
      "commit": "93379d59f0bb1c7f5915e26b9dbfaad227dc3cc7",
      "tree": "6c8ad7426e2b0d4fd0eaee8e8547df68857b3f2b",
      "parents": [
        "128d30b970c6eef5bc45a779629a730fe19acef1"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Thu Mar 06 14:32:57 2025 -0800"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Thu Mar 06 17:00:31 2025 -0800"
      },
      "message": "Add support for new oem_in hook.\n\nturns out it is already there on pixel just from \u0027oem\u0027...\n\nTest: TreeHugger, atest netd_unit_test netd_integration_test\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\nChange-Id: I0c352175e78d6daaf65e18295486048e4d83375b\n"
    },
    {
      "commit": "f82c2bc08014f61ce3d5423a2d1c3f602dce6337",
      "tree": "6ddeb20baafab85173fe0e5ddc53705045fb43a1",
      "parents": [
        "7adbfffd53508c648b71b23f0c485e1ea201b6f6"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Tue Feb 11 14:29:11 2025 -0800"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Tue Feb 11 14:29:36 2025 -0800"
      },
      "message": "netd: remove unnecessary logs\n\nTest: TreeHugger\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\nChange-Id: Ie52f050206904f978ca9bd793241fa3332114665\n"
    },
    {
      "commit": "7adbfffd53508c648b71b23f0c485e1ea201b6f6",
      "tree": "2da134aff8c541633f3ae5794faf2cda4518f8b6",
      "parents": [
        "cc0aab9441369bfb8e0a1bf7509ed464e48dcacd"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Fri Feb 07 11:56:19 2025 -0800"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Fri Feb 07 11:57:07 2025 -0800"
      },
      "message": "netd: fail if RouteController or XfrmController fails to initialize.\n\nTest: TreeHugger\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\nChange-Id: I37b69cde7982e8863880f63f50ef91b8811e34f3\n"
    },
    {
      "commit": "cc0aab9441369bfb8e0a1bf7509ed464e48dcacd",
      "tree": "388bbc7a346fb896d8a89de3d884a560636998ec",
      "parents": [
        "334b52a9bc54e7e8260b3ca46530f5781c5b1baf"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Thu Feb 06 13:07:28 2025 -0800"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Thu Feb 06 13:07:53 2025 -0800"
      },
      "message": "Remove uncalled, unnecessary conversion function.\n\nTest: TreeHugger\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\nChange-Id: I3a9f7f63155a26905737ca54af31a849ae2374a4\n"
    },
    {
      "commit": "334b52a9bc54e7e8260b3ca46530f5781c5b1baf",
      "tree": "cd12dafe417b543a47f1bd9590da4bc72995f6f2",
      "parents": [
        "345877f26c960af6fc2da0788ce350a7f3ef1171"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Wed Feb 05 15:42:30 2025 -0800"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Wed Feb 05 16:12:32 2025 -0800"
      },
      "message": "netd.rc: add 1GB memlock limit\n\ncopied from:\n  //packages/modules/Connectivity/bpf/loader/netbpfload.35rc\n\nVague memory recalls that there is some CAP_IPC_LOCK doesn\u0027t work\nissue on *some* kernel versions, and this *might* be needed.\n\nThis is a temporary hack, if this fixes:\n  v2/android-gsi/boot_test_udc_pixel8\n  v2/android-gsi/boot_test_udc_pixel7\n  v2/android-gsi/boot_test_tm_pixel7\nboot issues, we should find an alternative that works on V too...\n\nTest: TreeHugger\nBug: 393521308\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\nChange-Id: I8fd309c0e719bcb4c8e586f139b4671e527a802b\n"
    },
    {
      "commit": "e367bd85e38c31a8e1b19bcd62ac1294ad8e4059",
      "tree": "184031e6fa68e7a2e0642b0417ca095ba8dd7ac0",
      "parents": [
        "98fabb58487e10744f55d1d9a9dc5bd69e9f3485"
      ],
      "author": {
        "name": "Sewook Seo",
        "email": "sewookseo@google.com",
        "time": "Mon Dec 23 03:07:33 2024 +0000"
      },
      "committer": {
        "name": "Sewook Seo",
        "email": "sewookseo@google.com",
        "time": "Mon Dec 23 03:07:33 2024 +0000"
      },
      "message": "Deprecate netd API \u0027socketDestroy\u0027 for UID range\n\nSince this is done in Connectivity from Android U, deprecate it from\nNetd.\n\nBug: 373280981\nTest: system build, device test\nChange-Id: I73912817e28a53327c6e66120793351ee16537e3\n"
    },
    {
      "commit": "99b0ad35f29a049b3239b1606d8c1105315836b6",
      "tree": "0e8a96f55d215a0ba4ff0072e1f33b9701e7946b",
      "parents": [
        "f7e3fead60c62a628a55989e8a493ab37fa5938f",
        "77e5d6022159217c81328ecbd68f92eb6c9033ad"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Sat Oct 12 10:25:15 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Oct 12 10:25:15 2024 +0000"
      },
      "message": "Merge \"Convert vintf_fragments into vintf_fragment module(s)\" into main"
    },
    {
      "commit": "77e5d6022159217c81328ecbd68f92eb6c9033ad",
      "tree": "838225c287998258091f072dfc6d1354cdd5d40f",
      "parents": [
        "462b4398d360fbd91c8331cea18757c2e3471cc1"
      ],
      "author": {
        "name": "Kiyoung Kim",
        "email": "kiyoungkim@google.com",
        "time": "Fri Oct 11 17:07:30 2024 +0900"
      },
      "committer": {
        "name": "Kiyoung Kim",
        "email": "kiyoungkim@google.com",
        "time": "Fri Oct 11 17:07:30 2024 +0900"
      },
      "message": "Convert vintf_fragments into vintf_fragment module(s)\n\nConvert vintf_fragments into vintf_fragment module(s) so those manifests\ncan be handled in the same way between KATI defined system image and\nSoong defined system image.\n\nBug: 322089980\nTest: aosp_cf_x86_64_phone build succeeded\nChange-Id: I6c0570fe9c9c0ca39373d0a71b4a71dd51d6daf3\n"
    },
    {
      "commit": "f7e3fead60c62a628a55989e8a493ab37fa5938f",
      "tree": "cd90b5eccef2fe014f6fbd86e74032eadbc52f86",
      "parents": [
        "462b4398d360fbd91c8331cea18757c2e3471cc1"
      ],
      "author": {
        "name": "Yan Yan",
        "email": "evitayan@google.com",
        "time": "Thu Oct 10 16:12:40 2024 -0700"
      },
      "committer": {
        "name": "Yan Yan",
        "email": "evitayan@google.com",
        "time": "Thu Oct 10 17:57:51 2024 -0700"
      },
      "message": "Include if_id in the xfrm_migrate netlink message\n\nWithout this fix, migration will fail when there are multiple tunnels\nor when the new upstream kernel patches in net-next-6.12 are applied.\n\nBug: 367633876\nTest: atest IpSecManagerTunnelTest#testMigrateWhenMultipleTunnelsExist\nTest: atest IpSecManagerTunnelTest with kernel patches reapplied\nFlag: EXEMPT low risk bug fix\nChange-Id: I4ede0bb51766d9adebd2a70bda7264c3b8676651\n"
    },
    {
      "commit": "9eb66876e3a7b02b19ef6eaa14ed86bfd3986974",
      "tree": "d8c9d28e99609f05c2f339a7a8cb9c6f97c15077",
      "parents": [
        "62b9020c4ef1c68c5d9bc3c46307595636daf3e8",
        "47e7ec44f6eb263f8411ba3618a48448297cf2c0"
      ],
      "author": {
        "name": "Pawan Wagh",
        "email": "waghpawan@google.com",
        "time": "Thu Aug 29 22:20:57 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Aug 29 22:20:57 2024 +0000"
      },
      "message": "Merge \"Fuzzer seed corpus for netd\" into main"
    },
    {
      "commit": "47e7ec44f6eb263f8411ba3618a48448297cf2c0",
      "tree": "44c2ed615d298596af313b22c1418d14150aa85b",
      "parents": [
        "612146503c7af3837b62543cee99708a93479efa"
      ],
      "author": {
        "name": "Pawan Wagh",
        "email": "waghpawan@google.com",
        "time": "Thu Aug 29 19:48:26 2024 +0000"
      },
      "committer": {
        "name": "Pawan Wagh",
        "email": "waghpawan@google.com",
        "time": "Thu Aug 29 19:48:26 2024 +0000"
      },
      "message": "Fuzzer seed corpus for netd\n\nBug: 295220956\nTest: TH\nFlag: TEST_ONLY\nChange-Id: I61cab8621d78fe99cc476b6d93cdc76450716cbf\n"
    },
    {
      "commit": "62b9020c4ef1c68c5d9bc3c46307595636daf3e8",
      "tree": "dd9f03959dd4769a256eedec931340e9805ac5a9",
      "parents": [
        "997e3b3fcf256913d6620dc582e73bedec4f8d15"
      ],
      "author": {
        "name": "Patrick Rohr",
        "email": "prohr@google.com",
        "time": "Wed Aug 28 21:28:48 2024 +0000"
      },
      "committer": {
        "name": "Patrick Rohr",
        "email": "prohr@google.com",
        "time": "Wed Aug 28 21:29:26 2024 +0000"
      },
      "message": "Set POSIX_SPAWN_CLOEXEC_DEFAULT when spawning dnsmasq\n\nThis flag ensures that dnsmasq does not inherit any file descriptors\nfrom the parent process. This will get rid of the \"Closing inherited\nfile descriptor\" log spam.\n\nChange-Id: Icaa4cdaf014c38a13f8975cf5a193ca693f35339\n"
    },
    {
      "commit": "612146503c7af3837b62543cee99708a93479efa",
      "tree": "f9b8fa347aa2b7025275d329ddc88d6d046ee318",
      "parents": [
        "564f96ba7baba8bf1321c984962150c5d5ad2972"
      ],
      "author": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Thu Jun 27 23:11:42 2024 -0700"
      },
      "committer": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Thu Jun 27 23:11:42 2024 -0700"
      },
      "message": "libnetd_server: avoid vector\u003cconst T\u003e\n\nA container of const T uses std::allocator\u003cconst T\u003e, which was an\nundocumented libc++ extension that has been removed.\n\nSee https://github.com/llvm/llvm-project/pull/96319.\n\nBug: 349681543\nTest: m libnetd_server\nChange-Id: I1e97b0685fd94dc11f1c58c7fa05e1dd140d8172\n"
    },
    {
      "commit": "6f5f8216e84646ab5301457d3c6509076a79800f",
      "tree": "305570f352de3fc3d2b9f91b701b5aba67f41596",
      "parents": [
        "b28ece79aca06d20e075f2bb0eca85513686869d"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Sat Jun 22 16:30:07 2024 +0000"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Sat Jun 22 16:30:07 2024 +0000"
      },
      "message": "Remove PppController from Android.\n\nThis class is not used anywhere in Android.\n\nChange-Id: Ib9b4b139b85b5263fb6dcf52174359d9b673d233\n"
    },
    {
      "commit": "93573d743ef8cd284cb2c65c45291c29da071371",
      "tree": "d2faecc62906844a20a959c40fa4ce6cfb8e98b9",
      "parents": [
        "9da72b0afc236f4ef86eb2435c7571bb3e92af25"
      ],
      "author": {
        "name": "Akhilesh Sanikop",
        "email": "akhilesh.sanikop@ittiam.com",
        "time": "Fri Jun 07 17:56:52 2024 +0530"
      },
      "committer": {
        "name": "Akshata Kadam",
        "email": "akshata.jadhav@ittiam.com",
        "time": "Fri Jun 14 15:24:58 2024 +0530"
      },
      "message": "netd_native_service_fuzzer: Add signal() to handle SIGPIPE\n\nSince the netd service handles SIGPIPE,\nadding signal handler to avoid abort() due to\nbroken pipe.\n\nTest: ./netd_native_service_fuzzer\nBug: 300081809\n\nChange-Id: Icea362cc848f27ea5101e418483725fa61f8f747\n"
    },
    {
      "commit": "5f30a0c93606809044a4a629840c8d8755ccb3aa",
      "tree": "fdc577fd63271cb5b0b88de875c7be1bfee197d9",
      "parents": [
        "ce53978dd7166aaf3dd025b6c78cb132ce9f5aed",
        "0a47ca4f15f5e66f3271fd214ecdd87fef4ae27a"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Thu May 30 19:11:20 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu May 30 19:11:20 2024 +0000"
      },
      "message": "Merge \"do not clear ingress_cpu_wakeup\" into main"
    },
    {
      "commit": "0a47ca4f15f5e66f3271fd214ecdd87fef4ae27a",
      "tree": "2998a7d0fbe8f97599d3057ca7d33a833672d589",
      "parents": [
        "606d04f5492353b36ab6f4b698e49d4f9549b3b8"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Wed Nov 15 08:00:03 2023 +0000"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Thu May 30 17:34:53 2024 +0000"
      },
      "message": "do not clear ingress_cpu_wakeup\n\n(so that nettrace can see it)\n\nBug: 311120074\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\nChange-Id: Ibcc1009d93b87c0b204209903a9ddc0d18235f5e\n"
    },
    {
      "commit": "259df13caccd8943c7397d14ab5042bece3f6bb6",
      "tree": "d59137033686926a97fd53f7420cc9d5766d992f",
      "parents": [
        "a50e905dc3758e807bde8b991c4dc9b0cfb92eb6",
        "becb94c78ada47840a001545f38d2dbb9bb19a0a"
      ],
      "author": {
        "name": "Patrick Rohr",
        "email": "prohr@google.com",
        "time": "Thu May 23 02:31:32 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu May 23 02:31:32 2024 +0000"
      },
      "message": "Merge \"Add binder API to allow UID bypass VPN on specific network\" into main"
    },
    {
      "commit": "c31e277ad481a9336a89c6514870839c483b5719",
      "tree": "9215e8a951b6325c9f19189551c30e81f878cec3",
      "parents": [
        "088276b2909799751129e2f4a3b00adb1dbaa32b"
      ],
      "author": {
        "name": "Patrick Rohr",
        "email": "prohr@google.com",
        "time": "Wed May 15 21:31:09 2024 +0000"
      },
      "committer": {
        "name": "Patrick Rohr",
        "email": "prohr@google.com",
        "time": "Thu May 16 16:18:51 2024 -0700"
      },
      "message": "Do not clear top bits of connmark when saving fwmark\n\nThis change gets rid of the string formatting to make the command more readable and reverses\nthe old parameter of --ctmask. Previously, we set --ctmask to ~0x000FFFFF, though as was\ncorrectly pointed out to us, --ctmask defines which bits to *clear*. This means that until now,\nthis rule would have cleared the strict mode flags that are in the top-byte of the connmark.\n\nPer man iptables-extensions:\n\n--save-mark [--nfmask nfmask] [--ctmask ctmask]\nCopy the packet mark (nfmark) to the connection mark (ctmark) using the given masks. The new\nnfmark value is determined as follows:\nctmark \u003d (ctmark \u0026 ~ctmask) ^ (nfmark \u0026 nfmask)\ni.e. ctmask defines what bits to clear and nfmask what bits of the nfmark to XOR into the\nctmark. ctmask and nfmask default to 0xFFFFFFFF.\n\n$ adb shell nc 8.8.8.8 12\n$ adb shell cat /proc/net/nf_conntrack\nipv4     2 tcp      6 108 SYN_SENT src\u003d192.168.99.55 dst\u003d8.8.8.8 sport\u003d33060 dport\u003d12 [UNREPLIED] src\u003d8.8.8.8 dst\u003d192.168.99.55 sport\u003d12 dport\u003d33060 mark\u003d786533 secctx\u003du:object_r:unlabeled:s0 use\u003d2\n[..]\n$ adb shell dumpsys connectivity\nActive default network: 101\n[..]\n\nmark\u003d786533 \u003d\u003e 0xC0065 (0x0065 \u003d\u003d 101)\n\nBug: 340775174\nTest: verified manually\nChange-Id: I4d0dc86c6604ff11aa37426f91c73c2bb2982c66\n"
    },
    {
      "commit": "becb94c78ada47840a001545f38d2dbb9bb19a0a",
      "tree": "13eafe46aa50fe0b5dd746d17a66b85a021faa09",
      "parents": [
        "088276b2909799751129e2f4a3b00adb1dbaa32b"
      ],
      "author": {
        "name": "Patrick Rohr",
        "email": "prohr@google.com",
        "time": "Fri Apr 26 11:17:22 2024 -0700"
      },
      "committer": {
        "name": "Patrick Rohr",
        "email": "prohr@google.com",
        "time": "Wed May 15 16:31:02 2024 -0700"
      },
      "message": "Add binder API to allow UID bypass VPN on specific network\n\nAdds a netd binder API to allow a UID to bypass a VPN on a specific (and\nexplicitly selected) network.\nThis API will be used to temporarily allow browsers that provide custom\ntab implementations to protect themselves from VPN in favor of the\ncaptive portal network.\n\nTest: binder test in next CL\nChange-Id: Iba06a5ed32952e5d951e3739117f2e2023f7fdca\n"
    },
    {
      "commit": "4fafa6f6918cd8004357acd33ebe66523fc9f9fb",
      "tree": "5de8dbfaead419456f0a1d7393d16ebf4fabc513",
      "parents": [
        "418de29604ba353365f8108f13ca4afe4310ff94"
      ],
      "author": {
        "name": "Patrick Rohr",
        "email": "prohr@google.com",
        "time": "Tue Apr 23 11:36:21 2024 -0700"
      },
      "committer": {
        "name": "Patrick Rohr",
        "email": "prohr@google.com",
        "time": "Wed Apr 24 10:01:35 2024 -0700"
      },
      "message": "Support allowing a UID to bypass VPNs only on a specific network\n\nUntil now, allowProtect() protected the UID from a VPN no matter the\nnetwork. In this scenario, in order to support CCT for CaptivePortal,\nChrome would have to be granted the ability to protect itself from VPN\nno matter the network it is currently using.\n\nThis change adds a netId to mProtectableUsers, so allowProtect() can\neither apply globally (using NETID_UNSET), a specific network, or both.\nUIDs that can protect their sockets on specific networks cannot protect\ntheir sockets from VPNs in general. They can only bypass VPNs when\nexplicitly binding sockets to the specified network.\n\nTest: TH\nChange-Id: Ide7c3e76f28ce89a45673667c05b46f1e61d3f74\n"
    },
    {
      "commit": "418de29604ba353365f8108f13ca4afe4310ff94",
      "tree": "3799e29699a1d7f5c7af302b3234bb0b7af7f0c1",
      "parents": [
        "606d04f5492353b36ab6f4b698e49d4f9549b3b8"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Sat Apr 20 07:34:25 2024 +0000"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Sat Apr 20 07:34:43 2024 +0000"
      },
      "message": "remove dead isFirewallEnabled()\n\nTest: TreeHugger\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\nChange-Id: Idd49b3c4b37f82e314edfdbcf4365c1ffac2fc60\n"
    },
    {
      "commit": "606d04f5492353b36ab6f4b698e49d4f9549b3b8",
      "tree": "d332f25e3151e6c872a4bab246fedbd4f2ebcd5e",
      "parents": [
        "be4fc0cc9c50bea1869132db2d6cb02bbf5788f1",
        "b1327e0f769e4fe6a684d855725e950fe4205384"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Mon Apr 15 18:40:11 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Apr 15 18:40:11 2024 +0000"
      },
      "message": "Merge \"Delete disableBandwidthControl since it is never called\" into main"
    },
    {
      "commit": "b1327e0f769e4fe6a684d855725e950fe4205384",
      "tree": "c03bee037103417198f3a519f488d668544a7e85",
      "parents": [
        "c558faea1e192636842dd2155e4092a3653d3283"
      ],
      "author": {
        "name": "Patrick Rohr",
        "email": "prohr@google.com",
        "time": "Fri Apr 12 14:51:49 2024 -0700"
      },
      "committer": {
        "name": "Patrick Rohr",
        "email": "prohr@google.com",
        "time": "Fri Apr 12 14:51:49 2024 -0700"
      },
      "message": "Delete disableBandwidthControl since it is never called\n\nTest: TH\nChange-Id: Iaf33fb8e615effe9742089ab0c4ae0259e342227\n"
    },
    {
      "commit": "be4fc0cc9c50bea1869132db2d6cb02bbf5788f1",
      "tree": "94681c979132ef7a81bdb1fc1df9f1e626a77aa4",
      "parents": [
        "c558faea1e192636842dd2155e4092a3653d3283"
      ],
      "author": {
        "name": "Patrick Rohr",
        "email": "prohr@google.com",
        "time": "Fri Apr 12 13:13:30 2024 -0700"
      },
      "committer": {
        "name": "Patrick Rohr",
        "email": "prohr@google.com",
        "time": "Fri Apr 12 14:25:07 2024 -0700"
      },
      "message": "Remove support for setSharedAlert / removeSharedAlert\n\nThis functionality is not called anywhere, so delete it.\n\nTest: TH\nChange-Id: I6c489bab6df7d7428ddab8a077e7e83e4a740d6f\n"
    },
    {
      "commit": "c558faea1e192636842dd2155e4092a3653d3283",
      "tree": "2f25350e05c31bbb5e5243f0d24bc9e3b06b4190",
      "parents": [
        "7e61274013d02934d11342903d517c5714904e75"
      ],
      "author": {
        "name": "Patrick Rohr",
        "email": "prohr@google.com",
        "time": "Wed Apr 10 21:18:05 2024 +0000"
      },
      "committer": {
        "name": "Patrick Rohr",
        "email": "prohr@google.com",
        "time": "Wed Apr 10 21:30:16 2024 +0000"
      },
      "message": "Correct comment in IptablesRestoreController\n\nChange-Id: I7967da755659e941ad714bcaf56d1ee82b886704\nTest: none\n"
    },
    {
      "commit": "70323e8b1f9da2c10cfeda058ef47cc3e5f55043",
      "tree": "317bc56e5bc6dc1f06f0b3dd5aca403f906fc9bf",
      "parents": [
        "40722a77f8fec020fa6e0b3595c9a10c309577a4"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Mar 15 19:10:40 2024 +0000"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Mar 15 19:10:40 2024 +0000"
      },
      "message": "Stop using dead __STDC_FORMAT_MACROS macro.\n\nNone of our libcs need this any more.\n\nChange-Id: I7b3f5cb911fffe25dc47520570451ecf95a0a696\n"
    },
    {
      "commit": "993adf4e9e97b4f1887f48007351588dcbe5584f",
      "tree": "1942030115a9c35f32da774b5d05f36965746333",
      "parents": [
        "b75cc34c0c83f05ca8aed91e17732a0a06afaf34"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Fri Feb 23 20:28:02 2024 -0800"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Wed Feb 28 18:21:30 2024 -0800"
      },
      "message": "netd: switch to requiring \u0027mainline_tethering_platform_components\u0027\n\nTest: TreeHugger, manually on mokey-next-userdebug\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\nChange-Id: I1ddc3bafa9840b2588fc96254395a04b862cb442\n"
    },
    {
      "commit": "4a09f65b86c6520195403b7fb52f5b6d255f6227",
      "tree": "95199c2cb5290fc5b3924ebd9bb62ef6cc717e48",
      "parents": [
        "995728e1519408ad8f44183f389ec7e97535e580"
      ],
      "author": {
        "name": "Samuel Holland",
        "email": "samuel.holland@sifive.com",
        "time": "Tue Oct 03 12:22:13 2023 -0700"
      },
      "committer": {
        "name": "Samuel Holland",
        "email": "samuel.holland@sifive.com",
        "time": "Mon Feb 12 21:17:12 2024 +0000"
      },
      "message": "Respect HwTimeoutMultiplier in IptablesRestoreController\n\nOn slow hardware, iptables calls may take longer than 5 seconds.\nProvide a way to increase the timeout in these scenarios.\n\nChange-Id: I759f6de705fa81ccaa910738869f69875d88b4ca\n"
    },
    {
      "commit": "901e5025b285146db2e03e67cc2de86aff7f7ec9",
      "tree": "7873f68a36f15fb356db936e2b3512cc530c3c50",
      "parents": [
        "f7e2afb662a5eaca4f53adc100232597407743ba",
        "f23c8385c82217ebf73c3dc0256baf07c866c0ab"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Tue Feb 06 06:44:00 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Feb 06 06:44:00 2024 +0000"
      },
      "message": "Merge \"Revert \"Delete mdns from netd\"\" into main"
    },
    {
      "commit": "f23c8385c82217ebf73c3dc0256baf07c866c0ab",
      "tree": "c09018bf590f02ff20d5c47dc3f65132de0cbcb7",
      "parents": [
        "351a46234247778a3ba31b7fd3a242cc501efbc3"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Tue Feb 06 02:57:52 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Feb 06 02:57:52 2024 +0000"
      },
      "message": "Revert \"Delete mdns from netd\"\n\nThis reverts commit 351a46234247778a3ba31b7fd3a242cc501efbc3.\n\nReason for revert: main is still used for U QPR, but this should be only removed in V\n\nBug: 322305340\nBug: 322519244\nBug: 322519244\nChange-Id: I0f1bd54e97b43a7eb7c366ae494cb4207d713888\n"
    },
    {
      "commit": "f7e2afb662a5eaca4f53adc100232597407743ba",
      "tree": "dc945dc867982ae6f4a93da497f8b158ed7b7348",
      "parents": [
        "62fff444640e3c43239b276233b6506b54cac507"
      ],
      "author": {
        "name": "Aditya Choudhary",
        "email": "caditya@google.com",
        "time": "Tue Jan 30 13:47:16 2024 +0000"
      },
      "committer": {
        "name": "Aditya Choudhary",
        "email": "caditya@google.com",
        "time": "Tue Jan 30 13:47:16 2024 +0000"
      },
      "message": "[DON\u0027T BLOCK] Test ownership migration rules\n\nThis CL is created as a best effort to migrate test targets\nto the new android ownership model. If you find incorrect or unnecessary\nattribution in this CL, please create a separate CL to fix that.\n\nFor more details please refer to the link below,\n\u003cadd g3 doc link\u003e\n\nBug: 304529413\nTest: N/A\nChange-Id: Ic35f74aa264f8361bbe824d239e5d902f530ce6a\n"
    },
    {
      "commit": "62fff444640e3c43239b276233b6506b54cac507",
      "tree": "9c71abc91311cc7c9518b6006d2809689106da2c",
      "parents": [
        "d4c1d7dacf9f45e1149e9dbd7865f0ddd926532d",
        "351a46234247778a3ba31b7fd3a242cc501efbc3"
      ],
      "author": {
        "name": "Ken Chen",
        "email": "cken@google.com",
        "time": "Tue Jan 23 08:13:52 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jan 23 08:13:52 2024 +0000"
      },
      "message": "Merge \"Delete mdns from netd\" into main"
    },
    {
      "commit": "351a46234247778a3ba31b7fd3a242cc501efbc3",
      "tree": "b71cb30fe86a4a2353e8a26d4a210df34dc377e5",
      "parents": [
        "681ef1d9c36499b869ead0b13ff2d4f6fa0f3678"
      ],
      "author": {
        "name": "Ken Chen",
        "email": "cken@google.com",
        "time": "Wed Nov 15 17:25:44 2023 +0800"
      },
      "committer": {
        "name": "Ken Chen",
        "email": "cken@google.com",
        "time": "Tue Jan 23 11:13:15 2024 +0800"
      },
      "message": "Delete mdns from netd\n\n1. Stop starting MDnsService in netd.\n2. Completely remove mdns code from netd.\n\nBug: 298594687\nTest: m \u0026\u0026 boot \u0026\u0026 presubmit\nChange-Id: I56c6cb57844cb954e687a5001edc1c86eb82b1b0\n"
    },
    {
      "commit": "d4c1d7dacf9f45e1149e9dbd7865f0ddd926532d",
      "tree": "7d6f9b86c35d60a9044eecac1f210571b55d2e21",
      "parents": [
        "681ef1d9c36499b869ead0b13ff2d4f6fa0f3678"
      ],
      "author": {
        "name": "Tomasz Wasilczyk",
        "email": "twasilczyk@google.com",
        "time": "Tue Jan 09 11:42:58 2024 -0800"
      },
      "committer": {
        "name": "Tomasz Wasilczyk",
        "email": "twasilczyk@google.com",
        "time": "Tue Jan 09 11:42:58 2024 -0800"
      },
      "message": "Add missing libc++ includes\n\nBug: 175635923\nTest: m MODULES-IN-system-netd\nChange-Id: Ic4345e7e9fe19f5d9b737559c9c2b338ad664dca\n"
    },
    {
      "commit": "681ef1d9c36499b869ead0b13ff2d4f6fa0f3678",
      "tree": "c09018bf590f02ff20d5c47dc3f65132de0cbcb7",
      "parents": [
        "570c65e41e35ec331b66d2b8e350974eace0d4e0",
        "40c47da2001fcc0c22b59dff28d222d19ae609b0"
      ],
      "author": {
        "name": "Yuyang Huang",
        "email": "yuyanghuang@google.com",
        "time": "Thu Jan 04 13:10:00 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jan 04 13:10:00 2024 +0000"
      },
      "message": "Merge \"Fix IPV4/6 privacy leak\" into main"
    },
    {
      "commit": "40c47da2001fcc0c22b59dff28d222d19ae609b0",
      "tree": "0f75b8a158f4671615c0467c102c9f6152eea8bf",
      "parents": [
        "b1e5977ca64bc8a916709bc36c1b547639bf4509"
      ],
      "author": {
        "name": "Zhatab Saifi",
        "email": "zsaifi@amazon.com",
        "time": "Tue Dec 19 14:33:58 2023 +0530"
      },
      "committer": {
        "name": "Zhatab Saifi",
        "email": "zsaifi@amazon.com",
        "time": "Thu Jan 04 11:56:20 2024 +0000"
      },
      "message": "Fix IPV4/6 privacy leak\n\nSockDiag is emitting IPV4/6 address in log lines. Android Privacy Best\nPractices are to not log any PII information in the logs. Remove the\nIPV4/6 address on user build.\n\nChange-Id: I8b82af73a60813be230a73002cee01831320884b\n"
    },
    {
      "commit": "570c65e41e35ec331b66d2b8e350974eace0d4e0",
      "tree": "a130ef69e45df19a49db8b74adeaf54b260c8254",
      "parents": [
        "b1e5977ca64bc8a916709bc36c1b547639bf4509"
      ],
      "author": {
        "name": "Ken Chen",
        "email": "cken@google.com",
        "time": "Thu Dec 28 11:50:40 2023 +0800"
      },
      "committer": {
        "name": "Ken Chen",
        "email": "cken@google.com",
        "time": "Thu Dec 28 06:22:48 2023 +0000"
      },
      "message": "Return EX_SERVICE_SPECIFIC from MDnsService::startDaemon\n\nThe function should return EX_SERVICE_SPECIFIC when mdnsresponder is in\nrunning state. The EX_SERVICE_SPECIFIC is caught by MDnsManager.\n\nBug: 317342400\nBug: 298594687\nTest: atest CtsNetTestCasesMaxTargetSdk30 -- --abi x86_64 on\n      aosp_cf_x86_64_phone-trunk_staging-userdebug\nChange-Id: Iab5991e9ae4d0ca32f7d7640f5d2256c03870a14\n"
    },
    {
      "commit": "b1e5977ca64bc8a916709bc36c1b547639bf4509",
      "tree": "5e2b708165bf93d6436a558cc58ee3e71e0dfbc6",
      "parents": [
        "44b29f6b9db396d601fa1001cb2a5095205adc21"
      ],
      "author": {
        "name": "Ken Chen",
        "email": "cken@google.com",
        "time": "Mon Dec 11 16:37:31 2023 +0800"
      },
      "committer": {
        "name": "Ken Chen",
        "email": "cken@google.com",
        "time": "Tue Dec 12 10:22:13 2023 +0800"
      },
      "message": "Add startDaemon and stopDaemon back in MDnsService\n\nApplications can talk to mdnsresponder via mdnsd socket directly. The\nmdnsd native service and mdnsd socket need to be there.\n\nBug: 313842265\nTest: atest CtsNetTestCasesMaxTargetSdk30\nChange-Id: I8b5a7edbb920150b3c266ea50de7bfaf00cccd38\n"
    },
    {
      "commit": "4dfee3b0bb5a790c37a7f6287acd6190a1daf1bf",
      "tree": "f969f357e2e1c5bccb7e1ad7f83b4ba02a3d83fa",
      "parents": [
        "acc152b004c761c1a5362a60fa20a94c1b9853b9"
      ],
      "author": {
        "name": "Ken Chen",
        "email": "cken@google.com",
        "time": "Mon Nov 27 13:35:14 2023 +0800"
      },
      "committer": {
        "name": "Ken Chen",
        "email": "cken@google.com",
        "time": "Mon Nov 27 07:54:00 2023 +0000"
      },
      "message": "Return ServiceSpecificException from Netd mdns service\n\nUnsupportedOperationException is not caught in MDnsManager.java. It\nwill throw the exception and cause a fatal exception on system_server.\nThe exception will be caught by MDnsManager in 2024-02 module release.\nBut the latest droidfood image uses a legacy mainline prebuilt with\nthe latest platform code. Returning an exception that the MDnsManager\ncan catch is required.\n\nBug: 312092770\nBug: 312932263\nBug: 298594687\nTest: atest CtsNetTestCasesMaxTargetSdk30, no fatal exception\nChange-Id: Ib61c0fe35e14378e002d4568590175617a06838f\n"
    },
    {
      "commit": "acc152b004c761c1a5362a60fa20a94c1b9853b9",
      "tree": "bbd293c7a99dba255b1e503e694f8fe71b43c7ef",
      "parents": [
        "064d545a8e1f8921085b0bff16b42852957dbbd8"
      ],
      "author": {
        "name": "Ken Chen",
        "email": "cken@google.com",
        "time": "Wed Nov 15 22:51:31 2023 +0800"
      },
      "committer": {
        "name": "Ken Chen",
        "email": "cken@google.com",
        "time": "Tue Nov 21 01:35:18 2023 +0000"
      },
      "message": "Delete MDnsEventReporter .cpp and .h\n\nNetd no longer supports the mdns service starting with Android V.\n\nBug: 298594687\nTest: Build\nChange-Id: I07d6cdaa9575ef1667628c17c02b2d20ca212371\n"
    },
    {
      "commit": "064d545a8e1f8921085b0bff16b42852957dbbd8",
      "tree": "38c2cf15cd432b1e02eee0e6fe816bc18ce84d68",
      "parents": [
        "fdafc43a3f85c99cc193285ae8fa1b860bf721de"
      ],
      "author": {
        "name": "Ken Chen",
        "email": "cken@google.com",
        "time": "Mon Nov 20 14:31:12 2023 +0800"
      },
      "committer": {
        "name": "Ken Chen",
        "email": "cken@google.com",
        "time": "Mon Nov 20 19:15:02 2023 +0800"
      },
      "message": "Delete MDnsSdListener.h\n\nBug: 298594687\nTest: Build. Presubmit.\nChange-Id: I7488aa6791283e9b7f1c30c35133d66cf976e8d1\n"
    },
    {
      "commit": "fdafc43a3f85c99cc193285ae8fa1b860bf721de",
      "tree": "3b3bd0f79bf7507bbd66d87e0133d23429e0cef2",
      "parents": [
        "0ced7d5b52b551ef9de68e878b4807f0b9b47422"
      ],
      "author": {
        "name": "Ken Chen",
        "email": "cken@google.com",
        "time": "Sat Nov 11 19:39:31 2023 +0800"
      },
      "committer": {
        "name": "Ken Chen",
        "email": "cken@google.com",
        "time": "Mon Nov 20 14:21:10 2023 +0800"
      },
      "message": "Delete MDnsSdListener.cpp\n\nNsdService switched from Netd native solution to Java solution from\nAndroid U.\n\nBug: 298594687\nTest: Build. Presubmit.\nChange-Id: Ia5da01a32b4a03e80ca662642f5e424dbb3eaeae\n"
    },
    {
      "commit": "bed0f7bf3e4a6150da280ba7550813ac4e6c8b1c",
      "tree": "0cc9da4e31440b347c1e0b5a15efddf32dfbb751",
      "parents": [
        "49a0b28ce83efe9cce400de926d797749bee9d83"
      ],
      "author": {
        "name": "Ken Chen",
        "email": "cken@google.com",
        "time": "Tue Nov 14 12:40:29 2023 +0800"
      },
      "committer": {
        "name": "Ken Chen",
        "email": "cken@google.com",
        "time": "Tue Nov 14 13:12:59 2023 +0800"
      },
      "message": "Add 1 line log to sync MDnsSdListener.cpp code\n\nMDnsSdListener.cpp does not sync between some branchs. Add the missing\npart back so that automerger won\u0027t conflict on this file on followed\nchanges.\n\nThe reason why it is not synchronized is because ag/24341630 and\nag/24366176 differ by one log line.\n\nBug: 298594687\nTest: Build. Presubmit.\nMerged-In: I5bc85451b4e6539bad45ceb672924a37952cc138\nChange-Id: Ic60210f0e25041bbfd3ccaecf8950ae9ac330572\n"
    },
    {
      "commit": "49a0b28ce83efe9cce400de926d797749bee9d83",
      "tree": "91ae02f34b6b4e26e29cda5e801151b2882a66f5",
      "parents": [
        "8b195ff0cb71ad4fcbadfbbfb3552f08258218e7"
      ],
      "author": {
        "name": "Ken Chen",
        "email": "cken@google.com",
        "time": "Mon Nov 13 17:30:00 2023 +0800"
      },
      "committer": {
        "name": "Ken Chen",
        "email": "cken@google.com",
        "time": "Mon Nov 13 18:07:08 2023 +0800"
      },
      "message": "Delete mdns_service_fuzzer\n\nNsdService switched from Netd native solution to Java solution from\nAndroid U. Netd no longer support MDNS service.\n\nBug: 298594687\nTest: Build. Presubmit.\nChange-Id: If27c8c00ecea971a4083b7d5a8ac8dcec6a62d59\n"
    },
    {
      "commit": "8b195ff0cb71ad4fcbadfbbfb3552f08258218e7",
      "tree": "0c2f714e88134207c61332276f9e5315bd7a154d",
      "parents": [
        "cf8f5d045531ac941beeb8ef9814450635cfb53d"
      ],
      "author": {
        "name": "Ken Chen",
        "email": "cken@google.com",
        "time": "Sat Nov 11 16:13:00 2023 +0800"
      },
      "committer": {
        "name": "Ken Chen",
        "email": "cken@google.com",
        "time": "Mon Nov 13 17:11:00 2023 +0800"
      },
      "message": "Stop supporting MDNS netd binder service.\n\nNsdService switched from Netd native solution to Java solution from\nAndroid U.\n\nBug: 298594687\nTest: Build. Presubmit.\nChange-Id: I5e816b7a351fc9f02431b8ecc1f4571a81bf101c\n"
    },
    {
      "commit": "cf8f5d045531ac941beeb8ef9814450635cfb53d",
      "tree": "644b6efe49cf1ef39784eb4f9e18d7e6315dbfdc",
      "parents": [
        "517eb16702290ebc057cc213f466cae6f83fa369"
      ],
      "author": {
        "name": "Ken Chen",
        "email": "cken@google.com",
        "time": "Sat Nov 11 19:15:57 2023 +0800"
      },
      "committer": {
        "name": "Ken Chen",
        "email": "cken@google.com",
        "time": "Mon Nov 13 16:39:22 2023 +0800"
      },
      "message": "Delete spurious MDNS code\n\nSocket \"mdns\" was removed by Iab666563116da030931ca42b499a028fe676eb91.\n\nBug: 298594687\nTest: m\nChange-Id: I51849bd4a7a03f17eb205612137332c6ed0bdbf1\n"
    },
    {
      "commit": "fec885e4c73fca0b4108fdffb6af98f827ceaee6",
      "tree": "a51c9b7c8f7e7cf1f40bc4871fdd22c586ec8edb",
      "parents": [
        "e4dbe78f0e2ffbd28c2377f8590066d1f1b76267",
        "2703a0e0a9d76a34626acea0a550c7c46f2ae4a3"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Sun Nov 12 18:37:52 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sun Nov 12 18:37:52 2023 +0000"
      },
      "message": "Merge \"Delete @deprecated annotation related TODOs\" into main"
    },
    {
      "commit": "e4dbe78f0e2ffbd28c2377f8590066d1f1b76267",
      "tree": "2713a2a4b25bf704c23ae5589d668411e6f0d04b",
      "parents": [
        "f20b74119087ba5137c3af7187b51a9f588c2273",
        "107f0163d0fd7a13d8636056e1d2d7d4f8f15317"
      ],
      "author": {
        "name": "Ken Chen",
        "email": "cken@google.com",
        "time": "Sun Nov 12 18:32:27 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sun Nov 12 18:32:27 2023 +0000"
      },
      "message": "Merge \"fix DUTs local network table name display incorrectly\" into main"
    },
    {
      "commit": "2703a0e0a9d76a34626acea0a550c7c46f2ae4a3",
      "tree": "cd4b5a3cab140cb631dfc1d3314c97b4ed08688d",
      "parents": [
        "f20b74119087ba5137c3af7187b51a9f588c2273"
      ],
      "author": {
        "name": "Ken Chen",
        "email": "cken@google.com",
        "time": "Sun Nov 12 01:22:25 2023 +0800"
      },
      "committer": {
        "name": "Ken Chen",
        "email": "cken@google.com",
        "time": "Sun Nov 12 15:41:04 2023 +0000"
      },
      "message": "Delete @deprecated annotation related TODOs\n\nThe TODO items have been resolved.\n\nTest: m\nChange-Id: I4b79919291c32d9d262cd56e36d693736576a028\n"
    },
    {
      "commit": "107f0163d0fd7a13d8636056e1d2d7d4f8f15317",
      "tree": "d560c4b0f20af1f41c5bd2e26afb69f5909ac0a9",
      "parents": [
        "2ef5f2dee6dc4499aa3a7441767e63e2762d835d"
      ],
      "author": {
        "name": "dongziqi",
        "email": "dongziqi1@xiaomi.corp-partner.google.com",
        "time": "Tue Oct 31 16:17:42 2023 +0800"
      },
      "committer": {
        "name": "dongziqi",
        "email": "dongziqi1@xiaomi.corp-partner.google.com",
        "time": "Fri Nov 10 13:52:45 2023 +0800"
      },
      "message": "fix DUTs local network table name display incorrectly\n\nBug:308535522\n\nWhen connected to a wifi AP. enable softap and then wlan2 interface will\nadd LocalNetwork.In this case turn on the data network.then netd\nupdateTableNamesFile hence the local network route table will be renamed\nto wlan2\n\nChange-Id: Id788cd5eed4860942cdd71372552a918a23142a4\nSigned-off-by: dongziqi \u003cdongziqi1@xiaomi.corp-partner.google.com\u003e\n"
    },
    {
      "commit": "f20b74119087ba5137c3af7187b51a9f588c2273",
      "tree": "6733941124063d7fa7fea4207488cdd6ef83aaec",
      "parents": [
        "73f039bfdad7b06b06b693220dbfc3a90db9c23e"
      ],
      "author": {
        "name": "T.J. Mercier",
        "email": "tjmercier@google.com",
        "time": "Fri Oct 27 17:31:10 2023 +0000"
      },
      "committer": {
        "name": "T.J. Mercier",
        "email": "tjmercier@google.com",
        "time": "Fri Oct 27 18:12:15 2023 +0000"
      },
      "message": "Use correct language for cgroups\n\nRefer to cgroups and the cgroup hierarchy by their correct names.\n\nBug: 301871933\nChange-Id: Ib59785f956e4465e250dbec811b3007228baa62c\n"
    },
    {
      "commit": "73f039bfdad7b06b06b693220dbfc3a90db9c23e",
      "tree": "e7731ab434325bddfdd2bfd30c52ea2fc5c22dd1",
      "parents": [
        "392f6d7415a7f51db6e48e7573adb974b9df1564"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Tue Oct 24 02:16:47 2023 -0700"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Tue Oct 24 02:16:47 2023 -0700"
      },
      "message": "networking actually requires netbpfload not bpfloader\n\nTest: TreeHugger\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\nChange-Id: I82099f79d44f02a49da3901c68048e95463f8a1d\n"
    },
    {
      "commit": "392f6d7415a7f51db6e48e7573adb974b9df1564",
      "tree": "557e4fac4c165abe20ed327a4585fffd2a75fcd8",
      "parents": [
        "861bef8feecda53f98750c0b510bce68d4c826d9"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Sat Oct 21 21:06:56 2023 -0700"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Sun Oct 22 22:18:42 2023 -0700"
      },
      "message": "adjust for iptables v1.8.9 use of \u0027--\u0027 for IPv6 \u0027fragments\u0027 to match IPv4\n\nThis adjusts for:\n  https://git.netfilter.org/iptables/commit/?id\u003d6e41c2d8747b25ed08dff41bbb9f77fb35bc1851\n  \"iptables: xshared: Ouptut \u0027--\u0027 in the opt field in ipv6\u0027s fake mode\"\n\nBased on output of:\n  git grep \u0027all    \u0027\n\nWe get lucky - the comment about using the \u0027--\u0027 vs \u0027  \u0027 as an IPv4 vs IPv6\nsignal was apparently no longer true - so we delete it.\n\nTest: TreeHugger\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\nChange-Id: I743a4fa85a00add063afc60ca0ed270482d34af1\n"
    },
    {
      "commit": "20a625f46ef5d85428078b58c0977e9232308abd",
      "tree": "da755ff326d95023bd9aa674adce28e240d9df09",
      "parents": [
        "f9a1b33454c4e9e5da8873bed09342a9f5a83c10"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Fri Oct 20 14:50:17 2023 -0700"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Fri Oct 20 14:50:51 2023 -0700"
      },
      "message": "move ethtool_symlink target from //external/ethtool\n\nIt turns out that soong in udc-mainline-prod does not yet support this,\n//external/ethtool automerges into that branch, while //system/netd does not.\n\nBug: 306731874\nTest: TreeHugger\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\nChange-Id: Iff20012d4c394542533aa5e3938bd6515f51935f\n"
    },
    {
      "commit": "f9a1b33454c4e9e5da8873bed09342a9f5a83c10",
      "tree": "4975aaa55c6f79e83440d88c286f9ca4152777cc",
      "parents": [
        "a657ec122fa056fe7a9c1dfb97bcc40422ec5b93"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Fri Oct 20 10:30:11 2023 -0700"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Fri Oct 20 12:23:21 2023 -0700"
      },
      "message": "netd: add a dependency on ethtool_symlink\n\nTest: TreeHugger\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\nChange-Id: I3b9fb29910172874206163ebda3399aa715a6b08\n"
    },
    {
      "commit": "acd426bc700df09735664621d648214d9935e1e3",
      "tree": "6302fc0f51a229c351f00a8717300408f0b378fb",
      "parents": [
        "ed656a1e9b06b617e287409b2fec48e5306c2644",
        "d8a146be4514e63c568efa89b65110694530e42a"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Mon Oct 16 19:22:08 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Oct 16 19:22:08 2023 +0000"
      },
      "message": "Merge \"FwMarkServer: include space for scope\" into main"
    },
    {
      "commit": "ed656a1e9b06b617e287409b2fec48e5306c2644",
      "tree": "7834c0db58e8626780d02490bd1274c2ecfc7f2a",
      "parents": [
        "7681bf607147844648381879044a97ceb300e899"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Sun Oct 15 17:22:33 2023 +0000"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Mon Oct 16 17:36:31 2023 +0000"
      },
      "message": "FwMarkServer - remove mempcy\n\nTest: TreeHugger\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\nChange-Id: I606db5806334472a7373e5cd10cdbb67d460a238\n"
    },
    {
      "commit": "d8a146be4514e63c568efa89b65110694530e42a",
      "tree": "bfd64ca7cfcfcb0da3799e0c38e8a4fd4c82264a",
      "parents": [
        "7681bf607147844648381879044a97ceb300e899"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Sun Oct 15 17:50:36 2023 +0000"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Mon Oct 16 17:30:59 2023 +0000"
      },
      "message": "FwMarkServer: include space for scope\n\nbionic/libc/dns/net/getnameinfo.c does return scope...\n\nExample IPv6 addresses (IPv4 is comparatively short of course)\n\n1111:2222:3333:4444:5555:6666:7777:8888\\0 \u003c\u003d 8*5 \u003d 40\n1111:2222:3333:4444:5555:6666:123.123.123.123\\0 \u003c\u003d 6*5 + 4*4 \u003d 46\nfe80:2222:3333:4444:5555:6666:7777:8888%DEV...\\0 \u003c\u003d 8*5 + 16 \u003d 56\n\nit\u0027s not clear whether 46 + 16 \u003d\u003d 62 case can happen as well...\n\nping6 fe80:1111:2222:3333:4444:5555:123.123.123.123%enx00112233445566\ndoes work (as in parse the address),\n\n[even though more normal is fe80::1122:33ff:fe44:5566%rmnet0]\n\nnote: scope u32 can be numeric too, but that\u0027s only 10 characters\n\nFYI we have:\n// actually too short (ie. no space for scope for link local ips)\nINET6_ADDRSTRLEN \u003d\u003d 46\n// Max Linux interface name is 15 char + null\nIFNAMSIZ \u003d\u003d 16\n\nTest: TreeHugger\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\nChange-Id: I6af19305e9ca13b2a633b8be4fb5533cd67d19ea\n"
    },
    {
      "commit": "7681bf607147844648381879044a97ceb300e899",
      "tree": "3cb3a90c316a13dc5562a425ca4d67f6179fae58",
      "parents": [
        "c61c87566a95b21f155fbd30b6278f74baefc05d",
        "2b68554368d6e7d6c79bb2c6c004c3ca8bc169a1"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Mon Oct 16 17:13:57 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Oct 16 17:13:57 2023 +0000"
      },
      "message": "Merge \"FwMarkServer - remove dead code isSystemServer()\" into main"
    },
    {
      "commit": "2b68554368d6e7d6c79bb2c6c004c3ca8bc169a1",
      "tree": "f8def9b0d5b0d810a34d6dd722eefe15649c6706",
      "parents": [
        "ddd5ff98ea659d25adfc0748a343b7da2405c835"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Sun Oct 15 17:17:19 2023 +0000"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Sun Oct 15 17:17:32 2023 +0000"
      },
      "message": "FwMarkServer - remove dead code isSystemServer()\n\nBased on cs/ p:aosp-master -file:[.]java$ case:yes isSystemServer[(]\n\nTest: TreeHugger\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\nChange-Id: I1484b6e4dadd39e20e5bee4230baf97f6b736eaf\n"
    },
    {
      "commit": "fdd2282bd34e940e67f7999f1a9ab16655cb82eb",
      "tree": "c7b9c75d6d7b99566d79bf2a4f3da360281f586b",
      "parents": [
        "ddd5ff98ea659d25adfc0748a343b7da2405c835"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Sun Oct 15 17:11:44 2023 +0000"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Sun Oct 15 17:12:13 2023 +0000"
      },
      "message": "FwMarkServer - remove cast\n\nTest: TreeHugger\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\nChange-Id: Ia77380d82ab5d979072bb9f7f284f1f0ba4b204d\n"
    },
    {
      "commit": "ddd5ff98ea659d25adfc0748a343b7da2405c835",
      "tree": "65b1e329a453be21f02bbc050d7d3bda5b5a578f",
      "parents": [
        "fb97cb549ff1f3174d32d75148164ccdb5a1b23a"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Sep 27 12:19:25 2023 -0700"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Mon Oct 09 23:08:16 2023 +0000"
      },
      "message": "MDnsSdListener.cpp: switch to libbase properties functions.\n\nIt\u0027s less code, it\u0027s clearer code, and it removes the sleeps while\nwaiting for a property to change (turning it into a wait on a futex) for\nbetter responsiveness too.\n\nBug: http://b/302208409\nTest: treehugger\nChange-Id: I1d01ce639ad474ace5864a76d17e548c0f3b249c\n"
    },
    {
      "commit": "fb97cb549ff1f3174d32d75148164ccdb5a1b23a",
      "tree": "14f504818dc34450dfe5ac2c80bf05f7e94b4c23",
      "parents": [
        "5d48e1c9c8dc2873052b22fbaab93babb438d8cc"
      ],
      "author": {
        "name": "Lin Lee",
        "email": "linlee@google.com",
        "time": "Mon Oct 09 21:15:47 2023 +0000"
      },
      "committer": {
        "name": "Android Build Cherrypicker Worker",
        "email": "android-build-cherrypicker-worker@google.com",
        "time": "Mon Oct 09 21:15:47 2023 +0000"
      },
      "message": "Fix Heap-use-after-free in MDnsSdListener::Monitor::run\n\nUse thread join to avoid thread exiting after instance\nrecycled.\n\nTest: m, fuzzing\nBug: 272382770\nIgnore-AOSP-First: Security Issue\n(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:9c0c15f80cffb98b36284dd169a2e62e059dbbe3)\nMerged-In: I5bc85451b4e6539bad45ceb672924a37952cc138\nChange-Id: I5bc85451b4e6539bad45ceb672924a37952cc138\n"
    },
    {
      "commit": "8f30419c5934c19defd0dc0bd71aee8f1e8a92d3",
      "tree": "3cca5cf95c2097331324afb64d760361bff350c2",
      "parents": [
        "6a050d20259d56d96c52e63c0e1b057a9d702412"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Tue Oct 03 22:12:44 2023 +0000"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Tue Oct 03 22:13:05 2023 +0000"
      },
      "message": "allowProtect/denyProtect only get called with a 1-elem vector\n\nTest: TreeHugger\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\nChange-Id: Id180765c6f924e4b13f72312c757360b0434b185\n"
    },
    {
      "commit": "56dd7f83acf54c8b58a9adbad4556003bed88ff9",
      "tree": "20f8fd8eb6bf38093fd9940eaacb784e09c15ab4",
      "parents": [
        "869105692afe9718642043196d92fb49d11a98b0",
        "2b45e03f1314b687d767926dca8c6ec91ac36349"
      ],
      "author": {
        "name": "Ken Chen",
        "email": "cken@google.com",
        "time": "Mon Sep 25 07:59:45 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Sep 25 07:59:45 2023 +0000"
      },
      "message": "Merge \"Fix netd fd leak when netlink sock connect fail\" into main"
    },
    {
      "commit": "2b45e03f1314b687d767926dca8c6ec91ac36349",
      "tree": "61f9a4e95759224813610bb6fd649b9992badb85",
      "parents": [
        "2ef5f2dee6dc4499aa3a7441767e63e2762d835d"
      ],
      "author": {
        "name": "dongziqi1",
        "email": "dongziqi1@xiaomi.com",
        "time": "Thu Sep 21 09:54:56 2023 +0800"
      },
      "committer": {
        "name": "ZiQi Dong",
        "email": "dongziqi1@xiaomi.corp-partner.google.com",
        "time": "Mon Sep 25 06:43:39 2023 +0000"
      },
      "message": "Fix netd fd leak when netlink sock connect fail\n\nBug: 301335710\n\nWhen the netlink sock connection fails, an error message\nis returned and the open sock needs to be closed\n\nChange-Id: Ie56243320f664e326b9965eca227c7bb4a6a41b3\nSigned-off-by: dongziqi \u003cdongziqi1@xiaomi.corp-partner.google.com\u003e\n"
    },
    {
      "commit": "1a1e43f2c47250293ce5db813718b4fea993cf77",
      "tree": "73779f52d3a7ebbb25f46c0328054a0275e9b9e6",
      "parents": [
        "bdb543afca55212f2f362ca4e7bcc9b8c57ee1a3"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Wed Sep 06 09:48:26 2023 +0000"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Wed Sep 06 16:17:38 2023 +0000"
      },
      "message": "eliminate all support for netd vs libnetdclient desync\n\nThese were recently added to support libnetdclient and netd\nto be built at different points in time, but this is not\nsomething we want to support.\n\nThe sysprop is a mechanism for OEMs to configure which syscalls\nare shimmed, but that no longer affects the operation of\nfirewall mark server itself, since the size of the inbound\nrequest no longer changes depending on it.\n\nAs such the server no longer checks the ro.vendor.redirect_socket_calls sysprop: it always expects the destination address for ON_CONNECT, ON_CONNECT_COMPLETE, ON_SENDMSG, ON_SENDMMSG, ON_SENDTO.\n\nThe client is simply expected to not send any of the latter 3\nif the sysprop is false.\n\nIn practice - when compared to U - this is really only a change\nin behaviour for ON_CONNECT - previously it only had a dstaddr\nspecified if the sysprop was true, now that\u0027s unconditional.\n\nNote: ON_CONNECT_COMPLETE has always required dst addr.\n\nNote2: ON_SEND{MSG,MMSG,TO} have always passed in dst addr,\nbut would simply not happen if the sysprop was false.\nThe server would expect them to have dst addr if the sysprop\nwas true.  In effect there was a harmless disconnect here,\nwhen the sysprop was false in what the server expected\nand what the client would do *if* it was changed to actually\nissue these...\n\nTest: TreeHugger\nBug: 150126287\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\nChange-Id: I4dd4440825e6ef3243663970721d829d48028e0d\n"
    },
    {
      "commit": "d81356cd0f24c2f8b42fe1a9666130f65ae33af1",
      "tree": "ed26373da9989ccbbde57fd71c32d67aadc238c3",
      "parents": [
        "edc647f2daf72dbca7a9edfd599ae3efbc0a1f6b"
      ],
      "author": {
        "name": "Ken Chen",
        "email": "cken@google.com",
        "time": "Thu Aug 24 18:39:26 2023 +0800"
      },
      "committer": {
        "name": "Ken Chen",
        "email": "cken@google.com",
        "time": "Fri Sep 01 07:26:31 2023 +0800"
      },
      "message": "Mark V6 link-local sockets correctly\n\nThe fwmark.netId of the link-local sockets is wrong. FwmarkServer\nuses the current default network on connect() if no network is\nspecified, which can be mobile data or wifi. Netd would incorrectly\ndestroy link-local sockets when the default network\u0027s permission is\nchanged, since the socket destroy relies on the fwmark.netId.\n\nThis change remarks the V6 link-local sockets on connect() based on the\nscope id of the destination address.\n\nBug: 291128241\nTest: atest netd_integration_test:NetdBinderTest#V6LinkLocalFwmark\nTest: Manually test backup and restore with following steps on the\nsource devie.\n      1. Run backup and restore with mobile data + wifi.\n      2. B\u0026R will disconnect device from wifi AP to get full speed.\n      3. Plays videos on Youtube when data is copying.\n      4. Screen off for a while.\n      5. Screen on, the wifi is automatically connected.\n      6. Wait 30s and the mobile data permission will be changed.\n      7. Wait for the data copy to completed.\n\nChange-Id: Ia461c669bdbfaebd5a1ae2e84e23c0c6cea75297\n"
    },
    {
      "commit": "edc647f2daf72dbca7a9edfd599ae3efbc0a1f6b",
      "tree": "73864b3cf99ad112caec4d332c2c3084a49ff99e",
      "parents": [
        "23806a153e1261a918c13c1787feed59677661ba"
      ],
      "author": {
        "name": "Ken Chen",
        "email": "cken@google.com",
        "time": "Thu Aug 31 17:33:15 2023 +0800"
      },
      "committer": {
        "name": "Ken Chen",
        "email": "cken@google.com",
        "time": "Thu Aug 31 18:20:33 2023 +0800"
      },
      "message": "Add NetworkController::getNetworkForInterface taking an IF index\n\nBug: 291128241\nTest: presubmit\nChange-Id: Ia9ce659a7c1c5b9869820b007e81dff6adbe9402\n"
    },
    {
      "commit": "bf7c9da179c9e871a63213c807f944a5babbb0f3",
      "tree": "196acc7f926c3f926ccc7e23ebdf8b491f5e44c2",
      "parents": [
        "83d22acb3687f17c192d84a19ac8a19c77bfadcb"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Wed Aug 30 15:32:48 2023 +0000"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Wed Aug 30 16:06:26 2023 +0000"
      },
      "message": "add a fwmark server version command\n\nBug: 150126287\nTest: TreeHugger\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\nChange-Id: I7780bbab9bc354d72f45dfd272dedfef7230d957\n"
    },
    {
      "commit": "492cc71e9ed18d7a769a631a2bb823d69c8aeaad",
      "tree": "7707c364bd8efa669b537aed69ed425052743c68",
      "parents": [
        "8f268aee4f1b90cdacd85a99c1b82fde92a2e832"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Tue Aug 29 14:05:04 2023 +0000"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Tue Aug 29 14:38:55 2023 +0000"
      },
      "message": "FwMarkServer - add ON_CONNECT_WITH_DADDR\n\nThis is a way to unconditionally pass destination address\nin ON_CONNECT event while maintaining compatibility with\nolder vendor netdclient which is free to still use the\nold ON_CONNECT event without it.\n\nTest: TreeHugger\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\nChange-Id: Iafe0aace8151ee5d9f012ddb8b9eb380e100a368\n"
    },
    {
      "commit": "8f268aee4f1b90cdacd85a99c1b82fde92a2e832",
      "tree": "95ba502a94f3139db5e30568f37a49efffaffcd1",
      "parents": [
        "5e33015b9b981cb6442a8583753a5a6de91cb2ff"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Tue Aug 29 13:59:27 2023 +0000"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Tue Aug 29 14:03:17 2023 +0000"
      },
      "message": "FwmarkServer - simplify switch statement.\n\nThis is a no-op because we never hook and thus never issue\nthese 3 commands if redirectSocketCalls is false.\n\nSee system/netd/client/NetdClient.cpp lines 426+\n(functions netdClientInitSend{mmsg,msg,to}).\n\nTest: TreeHugger\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\nChange-Id: Id074c28545301ab6bbdfdc32c17cb631fa48766d\n"
    },
    {
      "commit": "5e33015b9b981cb6442a8583753a5a6de91cb2ff",
      "tree": "f9f9ef6152a1e5b3982c5535d313b4e10de3edb9",
      "parents": [
        "2ef5f2dee6dc4499aa3a7441767e63e2762d835d"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Tue Aug 29 13:56:41 2023 +0000"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Tue Aug 29 13:57:00 2023 +0000"
      },
      "message": "FwmarkServer - use a case statement\n\nThis is a no-op.\n\nTest: TreeHugger\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\nChange-Id: Ibba09f903ad84de1a09ff4a918eec60741ba4ab5\n"
    },
    {
      "commit": "434060c12a6e5ea5fd02a2e863bfc4f60946b0b1",
      "tree": "44449f8c2a7aafba167ab484e578afa860255a6c",
      "parents": [
        "863804de3f7ea0e16d7203729361ca85dd837039"
      ],
      "author": {
        "name": "Tomasz Wasilczyk",
        "email": "twasilczyk@google.com",
        "time": "Fri Aug 11 16:10:13 2023 +0000"
      },
      "committer": {
        "name": "Tomasz Wasilczyk",
        "email": "twasilczyk@google.com",
        "time": "Fri Aug 11 16:10:13 2023 +0000"
      },
      "message": "Use String8/16 c_str\n\nBug: 295394788\nTest: make checkbuild\nChange-Id: Iea1477ef63926daad68a8aba5ebae8648554663b\n"
    },
    {
      "commit": "594ed1a4afd0f3611374067801145196188ba994",
      "tree": "852899eb8c4aa0881df96a9c41ead31492dd1be9",
      "parents": [
        "8d9b65f447d41c610a8e38bf50dc14a6873ada70"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Wed Jul 26 06:00:36 2023 +0000"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Wed Jul 26 07:09:07 2023 +0000"
      },
      "message": "mark iptables memory leak test as out of SLO\n\nWe don\u0027t really care about this test enough to care about\nputting even more effort into the debugging it.\n\nObserved flakes:\n\nsystem/netd/server/IptablesRestoreControllerTest.cpp:382: Failure\nExpected: (38) \u003e\u003d (getRssPages(pid6) - pages6), actual: 38 vs 39\nip6tables-restore leaked too many pages\n\nsystem/netd/server/IptablesRestoreControllerTest.cpp:381: Failure\nExpected: (38) \u003e\u003d (getRssPages(pid4) - pages4), actual: 38 vs 219\niptables-restore leaked too many pages\n\nsystem/netd/server/IptablesRestoreControllerTest.cpp:381: Failure\nExpected: (38) \u003e\u003d (getRssPages(pid4) - pages4), actual: 38 vs 216\niptables-restore leaked too many pages\n\nTest: TreeHugger\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\nChange-Id: I74ed94b6623e870c5a83a76015c1fe965a9b4800\n"
    },
    {
      "commit": "73fb3b371612955e0ea6a25cfd6b57a364d26a7e",
      "tree": "871482570662052be0bf93e9f535870744b9a80c",
      "parents": [
        "b4ed54c61b7cd9562c41eb621ad192cdf24feb75"
      ],
      "author": {
        "name": "Ken Chen",
        "email": "cken@google.com",
        "time": "Thu Jul 06 16:46:10 2023 +0800"
      },
      "committer": {
        "name": "Ken Chen",
        "email": "cken@google.com",
        "time": "Thu Jul 06 16:59:06 2023 +0800"
      },
      "message": "Rename LOG_EVENT_FUNC to NOTIFY_AND_LOG\n\nThe macro not only log event, but also notify clients.\n\nBug: 290143100\nTest: m\nChange-Id: I797acd3ece9593bc13816f491eabd2e6960fedd2\n"
    },
    {
      "commit": "b4ed54c61b7cd9562c41eb621ad192cdf24feb75",
      "tree": "96426be99e2a4b8ae80de8cbb39767c5b739d24f",
      "parents": [
        "04ebae5726703c3fc2ad0177055098cad8477391"
      ],
      "author": {
        "name": "Ken Chen",
        "email": "cken@google.com",
        "time": "Thu Jul 06 11:43:16 2023 +0800"
      },
      "committer": {
        "name": "Ken Chen",
        "email": "cken@google.com",
        "time": "Thu Jul 06 12:12:50 2023 +0800"
      },
      "message": "Log once for each netlink unsolicited event\n\nFor a single unsolicited event, Netd prints 7 lines of trace (1 line for\neach client), which causes the circular buffer to be overwritten\nquickly. The content of each line trace is identical. This commit\nsimplified it to print only one trace on each unsolicited event,\nregardless of the number of clients.\n\nBug: 290143100\nTest: $ adb shell dumpsys netd\nChange-Id: I8d83eade416b3acdb45e499d3d0d1772fd05d12c\n"
    },
    {
      "commit": "04ebae5726703c3fc2ad0177055098cad8477391",
      "tree": "c3a5716ee5242a6ed0ec1cc0c6e9d24bccb6ec5f",
      "parents": [
        "ef041045043a87373208aafbe8d97fc9579f2164"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Tue Jun 27 07:27:44 2023 +0000"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Tue Jun 27 07:41:03 2023 +0000"
      },
      "message": "bump leak detection threshold\n\nThe current 100kB seems to be a little too low on\nhwasan builds in particular.\n\nThe new limit of ~150kB isn\u0027t enough to cover all flakes,\nbut it should *significantly* help.\n\nhttps://android-build.corp.google.com/test_investigate/?testResultId\u003dTR43228744257701388\u0026invocationId\u003dI35700010172015397\n\nsystem/netd/server/IptablesRestoreControllerTest.cpp:382: Failure\nExpected: (25) \u003e\u003d (getRssPages(pid6) - pages6), actual: 25 vs 27\nip6tables-restore leaked too many pages\n\nhttps://android-build.corp.google.com/test_investigate/?invocationId\u003dI17700010171650335\u0026testResultId\u003dTR14428741644215352\n\nsystem/netd/server/IptablesRestoreControllerTest.cpp:382: Failure\nExpected: (25) \u003e\u003d (getRssPages(pid6) - pages6), actual: 25 vs 38\nip6tables-restore leaked too many pages\n\nhttps://android-build.corp.google.com/test_investigate/?invocationId\u003dI66300010170902895\u0026testResultId\u003dTR28628736268420042\n\nsystem/netd/server/IptablesRestoreControllerTest.cpp:382: Failure\nExpected: (25) \u003e\u003d (getRssPages(pid6) - pages6), actual: 25 vs 29\nip6tables-restore leaked too many pages\n\nhttps://android-build.corp.google.com/test_investigate/?invocationId\u003dI14600010171417122\u0026testResultId\u003dTR63128739909089879\n\nsystem/netd/server/IptablesRestoreControllerTest.cpp:381: Failure\nExpected: (25) \u003e\u003d (getRssPages(pid4) - pages4), actual: 25 vs 34\niptables-restore leaked too many pages\n\nhttps://android-build.corp.google.com/test_investigate/?invocationId\u003dI69600010170248479\u0026testResultId\u003dTR86128731899097712\n\nsystem/netd/server/IptablesRestoreControllerTest.cpp:381: Failure\nExpected: (25) \u003e\u003d (getRssPages(pid4) - pages4), actual: 25 vs 32\niptables-restore leaked too many pages\n\nhttps://android-build.corp.google.com/test_investigate/?invocationId\u003dI48000010170292934\u0026testResultId\u003dTR62028732178580043\n\nsystem/netd/server/IptablesRestoreControllerTest.cpp:382: Failure\nExpected: (25) \u003e\u003d (getRssPages(pid6) - pages6), actual: 25 vs 30\nip6tables-restore leaked too many pages\n\nhttps://android-build.corp.google.com/test_investigate/?invocationId\u003dI59900010170042218\u0026testResultId\u003dTR31128730663615629\n\nsystem/netd/server/IptablesRestoreControllerTest.cpp:382: Failure\nExpected: (25) \u003e\u003d (getRssPages(pid6) - pages6), actual: 25 vs 31\nip6tables-restore leaked too many pages\n\nhttps://android-build.corp.google.com/test_investigate/?invocationId\u003dI13700010171663475\u0026testResultId\u003dTR40528741734051511\n\nsystem/netd/server/IptablesRestoreControllerTest.cpp:382: Failure\nExpected: (25) \u003e\u003d (getRssPages(pid6) - pages6), actual: 25 vs 48\nip6tables-restore leaked too many pages\n\nhttps://android-build.corp.google.com/test_investigate/?invocationId\u003dI02300010169659337\u0026testResultId\u003dTR52528728157869928\n\nsystem/netd/server/IptablesRestoreControllerTest.cpp:382: Failure\nExpected: (25) \u003e\u003d (getRssPages(pid6) - pages6), actual: 25 vs 29\nip6tables-restore leaked too many pages\n\nhttps://android-build.corp.google.com/test_investigate/?invocationId\u003dI44800010169266823\u0026testResultId\u003dTR18928725559835457\n\nsystem/netd/server/IptablesRestoreControllerTest.cpp:382: Failure\nExpected: (25) \u003e\u003d (getRssPages(pid6) - pages6), actual: 25 vs 27\nip6tables-restore leaked too many pages\n\nBug: 288352803\nTest: TreeHugger\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\nChange-Id: I269c91e5341cf62044ca21849b7bee4fdf3e502c\n"
    },
    {
      "commit": "e2addcd80b2122958141e9ee9f2251bf96739671",
      "tree": "d314a085cfde00ae0e427f05378e4cb4bfce2eb5",
      "parents": [
        "3580399c0d4284f62318f5fbb702df85e307f748"
      ],
      "author": {
        "name": "Benedict Wong",
        "email": "benedictwong@google.com",
        "time": "Thu Jun 15 20:18:43 2023 +0000"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Fri Jun 16 04:09:10 2023 +0000"
      },
      "message": "Use BMP mode with max window size of 4096\n\nThis change increases the window size to the maximum allowed by the\nkernel, allowing out-of-order packets to be accepted beyond the current\nlimit of 32. At 1Gbps, this will allow for packets to be delayed by up\nto 40ms without dropping.\n\nIn-order delivery of packets is generally still expected, but this\nallows for packets that traverse different paths (e.g. due to different\nIPv6 flow labels that are copied from inner IPv6 packets) to not get\nspuriously dropped based on other network traffic\n\nBug: 287164181\nTest: atest XfrmControllerTest XfrmControllerParameterizedTest\nTest: atest NetdBinderTest\nChange-Id: If784a440d416eeb126dcdf4d1a8f4e029ecc3142\n"
    },
    {
      "commit": "3580399c0d4284f62318f5fbb702df85e307f748",
      "tree": "5313d71d623dfc6a36c8e749fce624d63a21dfb7",
      "parents": [
        "6acc2bf9dc7beb4a8123143c093cf43889bf3486"
      ],
      "author": {
        "name": "Evgenii Stepanov",
        "email": "eugenis@google.com",
        "time": "Wed Jun 07 14:57:36 2023 -0700"
      },
      "committer": {
        "name": "Evgenii Stepanov",
        "email": "eugenis@google.com",
        "time": "Mon Jun 12 17:03:45 2023 -0700"
      },
      "message": "[NFC] Move MTE mode settings to a product variable.\n\nThe default list of memtag targets found in\n  build/make/target/product/memtag-common.mk\n\nBug: 280343521\nTest: no functional change\nChange-Id: I32ffbeefd393c39904424b19d24ab0dd26284f15\n"
    },
    {
      "commit": "6acc2bf9dc7beb4a8123143c093cf43889bf3486",
      "tree": "f80ed172ca9086fc806e014b9b91bdbb3f29189a",
      "parents": [
        "06f2b43ccc3bb3f2c6e47670c72c3d01b5f98666"
      ],
      "author": {
        "name": "Ken Chen",
        "email": "cken@google.com",
        "time": "Sat Jun 10 18:23:33 2023 +0800"
      },
      "committer": {
        "name": "Ken Chen",
        "email": "cken@google.com",
        "time": "Sat Jun 10 19:24:55 2023 +0800"
      },
      "message": "Add debug trace\n\n1. Prints uids that can exempt from VPN.\n2. Prints error trace so we can tell where the EPERM returned from.\n\nBug: 276650029\nTest: adb shell dumpsys netd --short\n  NetworkController\n  ...\n    Protectable users: 1000, 1016\n\n  XfrmController\n    XFRM-I support: 1 ...\n\nChange-Id: I46501d611a58d4f421ff634de540d75f5db8b7e3\n"
    },
    {
      "commit": "96b13855791af0f0edf5c9aeeda0a771391550cf",
      "tree": "980f6bac8f223eb4ea4071bbcc0dcac1072a68b4",
      "parents": [
        "b3e4daeb5036bba9dbdd76335ef724c5c484ecf6"
      ],
      "author": {
        "name": "zijunzhao",
        "email": "zijunzhao@google.com",
        "time": "Wed May 10 01:01:00 2023 +0000"
      },
      "committer": {
        "name": "Zijun Zhao",
        "email": "zijunzhao@google.com",
        "time": "Thu May 11 17:16:03 2023 +0000"
      },
      "message": "Fix -Wnullable-to-nonnull-conversion errors\n\nFix the build errors like https://android-build.googleplex.com/builds/pending/P56284860/aosp_arm64-userdebug/latest/view/logs/build.log?legacy\n\nBug: None\nTest: mm\nChange-Id: Ib49e72e456bbf4d0405dcf227881579df149cdfd\n"
    },
    {
      "commit": "b3e4daeb5036bba9dbdd76335ef724c5c484ecf6",
      "tree": "d81228286e43cd6ba75df195945ab08f77e9cde3",
      "parents": [
        "a65f36d99a974bf4fa042949061c845e18491a8c",
        "90c67f9cf9efe7c3b3d9352431b3c0c6265851f1"
      ],
      "author": {
        "name": "Patrick Rohr",
        "email": "prohr@google.com",
        "time": "Tue May 09 20:31:40 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue May 09 20:31:40 2023 +0000"
      },
      "message": "Merge \"netd: Mark variable as const\""
    },
    {
      "commit": "a65f36d99a974bf4fa042949061c845e18491a8c",
      "tree": "437fdea5f1f641149c9697598bcfc982793d090a",
      "parents": [
        "27538c8f84a8e038d8deb79706dc2a63995905e8",
        "2dbbb4bb91313d47d96c6ccb6e88926fb178e6dd"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Tue May 09 18:22:33 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue May 09 18:22:33 2023 +0000"
      },
      "message": "Merge changes I55978198,I2cde146f,I3e1af10d,Ibfbacc76\n\n* changes:\n  netd: Save partial fwmark in connmark\n  netd: add CONNMARK_FWMARK_MASK to be used in iptables rule\n  netd: convert ConnmarkFlags to enum class\n  netd: Add mangle OUTPUT chain and connmark specific child chains\n"
    },
    {
      "commit": "90c67f9cf9efe7c3b3d9352431b3c0c6265851f1",
      "tree": "3ab820bccc1a12d1e958704411377c9cf93e4572",
      "parents": [
        "2dbbb4bb91313d47d96c6ccb6e88926fb178e6dd"
      ],
      "author": {
        "name": "Patrick Rohr",
        "email": "prohr@google.com",
        "time": "Tue May 09 10:01:21 2023 -0700"
      },
      "committer": {
        "name": "Patrick Rohr",
        "email": "prohr@google.com",
        "time": "Tue May 09 10:01:21 2023 -0700"
      },
      "message": "netd: Mark variable as const\n\nTo make the linter happy.\n\nTest: TH\nChange-Id: I9e0a68736a0308ec3b37f042860ad52ef920073c\n"
    },
    {
      "commit": "2dbbb4bb91313d47d96c6ccb6e88926fb178e6dd",
      "tree": "477dc455caed7017dc2108597005883ca45cee9e",
      "parents": [
        "8d89240611e341b3fd59e01071390886a9149011"
      ],
      "author": {
        "name": "Patrick Rohr",
        "email": "prohr@google.com",
        "time": "Mon May 08 14:47:45 2023 -0700"
      },
      "committer": {
        "name": "Patrick Rohr",
        "email": "prohr@google.com",
        "time": "Tue May 09 09:40:05 2023 -0700"
      },
      "message": "netd: Save partial fwmark in connmark\n\nSave the useful pieces of fwmark in connmark, namely:\n\nunsigned netId          : 16;\nbool explicitlySelected :  1;\nbool protectedFromVpn   :  1;\nPermission permission   :  2;\n\nTest: manual verification that mark is set\nBug: 270905383\nBug: 259000745\nChange-Id: I55978198330114360181a5b81ce5030646c51b0d\n"
    },
    {
      "commit": "8d89240611e341b3fd59e01071390886a9149011",
      "tree": "b757762201e75e9369af4600ef2f4b976336333b",
      "parents": [
        "2cf58874b097d82373801e92cb27b569f1eff8f5"
      ],
      "author": {
        "name": "Patrick Rohr",
        "email": "prohr@google.com",
        "time": "Mon May 08 16:38:25 2023 -0700"
      },
      "committer": {
        "name": "Patrick Rohr",
        "email": "prohr@google.com",
        "time": "Mon May 08 16:38:25 2023 -0700"
      },
      "message": "netd: add CONNMARK_FWMARK_MASK to be used in iptables rule\n\nTest: TH\nChange-Id: I2cde146f28f7f7d46177ecacdd77badf30eec542\n"
    },
    {
      "commit": "2cf58874b097d82373801e92cb27b569f1eff8f5",
      "tree": "06d3e9decc9b7e2da283e1713ac802aa669200d3",
      "parents": [
        "282d8accd432e29dd6e81904380b9dea8a22a237"
      ],
      "author": {
        "name": "Patrick Rohr",
        "email": "prohr@google.com",
        "time": "Mon May 08 16:29:19 2023 -0700"
      },
      "committer": {
        "name": "Patrick Rohr",
        "email": "prohr@google.com",
        "time": "Mon May 08 16:29:19 2023 -0700"
      },
      "message": "netd: convert ConnmarkFlags to enum class\n\nTest: mm\nChange-Id: I3e1af10d03cac4b7a8b9aeff09b85f20fd4153f6\n"
    },
    {
      "commit": "282d8accd432e29dd6e81904380b9dea8a22a237",
      "tree": "52d2db2a7d37b448bda22c5e5c6b5d3c28726896",
      "parents": [
        "8c18fcafeeaec82c81339e27952e54cf16146995"
      ],
      "author": {
        "name": "Patrick Rohr",
        "email": "prohr@google.com",
        "time": "Mon May 08 12:00:46 2023 -0700"
      },
      "committer": {
        "name": "Patrick Rohr",
        "email": "prohr@google.com",
        "time": "Mon May 08 16:26:50 2023 -0700"
      },
      "message": "netd: Add mangle OUTPUT chain and connmark specific child chains\n\nThe CONNMARK_MANGLE_INPUT and CONNMARK_MANGLE_OUTPUT chains will be used\nto attach a rule that saves the netid from the fwmark into the connmark,\nso conntrack events become more useful.\n\nTest: builds\nBug: 270905383\nBug: 259000745\nChange-Id: Ibfbacc7660ae476f01f157b5030cfe745690d841\n"
    },
    {
      "commit": "fba73009d586072fc7776caee6d7aed6ceb9d451",
      "tree": "f1290dd7f2131874578d18be12b7c2176ec42ceb",
      "parents": [
        "8c18fcafeeaec82c81339e27952e54cf16146995"
      ],
      "author": {
        "name": "Pawan Wagh",
        "email": "waghpawan@google.com",
        "time": "Fri May 05 21:56:19 2023 +0000"
      },
      "committer": {
        "name": "Pawan Wagh",
        "email": "waghpawan@google.com",
        "time": "Mon May 08 18:02:36 2023 +0000"
      },
      "message": "Disable leak detection netd fuzzers\n\n-Disabling leak detection for netd fuzzers\n-Adding triage assignee\n\nBug: 277233092\nTest: m netd_native_service_fuzzer\nChange-Id: I659efd5e26530bf5e34f56b4786e907372b49920\n"
    },
    {
      "commit": "a2089e57167685322b59c73d7d157fac15c3e93c",
      "tree": "0b3f6052a5413e94df1d01c063f013f592e6d612",
      "parents": [
        "78879f5dd897fca5aa403ab93dd2b210fccb0c06",
        "a13a183ff9d2e3d436a9e0aad3940f652b6bbf7f"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Mon Apr 17 17:25:12 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Apr 17 17:25:12 2023 +0000"
      },
      "message": "Merge \"WakeupController - improve iptables command legibility\""
    },
    {
      "commit": "78879f5dd897fca5aa403ab93dd2b210fccb0c06",
      "tree": "fac6bc0a13068bdd61216e3f41a0f4a49c4c6cc2",
      "parents": [
        "a93de1250ad8d192adaf3c938d0644352b1ff9fe"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Fri Apr 14 22:47:48 2023 +0000"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Fri Apr 14 22:50:15 2023 +0000"
      },
      "message": "RouteControllerTest: use proper flags for delete operation\n\nNote that per:\n  cs/ p:aosp-master file:system/netd RTM_DELROUTE\n*only* the tests actually get it wrong,\nso this is making the tests match the implementation.\n\n6.1 fails the unit test due to the wrong flags being used.\n\nIt now newly rejects the NLM_F_BULK flag for RTM_DELROUTE.\nHowever NLM_F_BULK \u003d\u003d NLM_F_EXCL which is applicable to \u0027RTM_NEWROUTE\u0027\n\nTest: TreeHugger\nBug: 277710523\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\nChange-Id: Ie46ac36f81267368177e89c28681e8f195908430\n"
    },
    {
      "commit": "a13a183ff9d2e3d436a9e0aad3940f652b6bbf7f",
      "tree": "a8422bb20c0b47acb2972f5f4c29bf0d508f4baf",
      "parents": [
        "a93de1250ad8d192adaf3c938d0644352b1ff9fe"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Wed Apr 12 01:31:04 2023 -0700"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Wed Apr 12 10:26:37 2023 +0000"
      },
      "message": "WakeupController - improve iptables command legibility\n\n(this is a noop)\n\niptables matches are procesed before the target,\nalso more reasonable line splitting.\n\nTest: TreeHugger, atest netd_unit_test\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\nChange-Id: I68ec4e8d540beedc9206580c856c774fe70bfd27\n"
    }
  ],
  "next": "a93de1250ad8d192adaf3c938d0644352b1ff9fe"
}
