)]}'
{
  "log": [
    {
      "commit": "4ddbcd5cc4f7a14473ebfc1dcdd1afb4edf96908",
      "tree": "37fd128fa5000bdc7d8cef1719d2c2f87b377f43",
      "parents": [
        "061d82ff161e69f2ce727ee0fa2accabeaaad2f7",
        "bbb9e0176540a3bd23fd013702ea08598e45b172"
      ],
      "author": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Wed Jan 28 12:10:31 2026 +0000"
      },
      "committer": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Wed Jan 28 12:10:31 2026 +0000"
      },
      "message": "Merge branch \u0027uefi-https\u0027 into \u0027master\u0027\n\nbootp: allow https for UEFI HTTP boot\n\nSee merge request slirp/libslirp!156"
    },
    {
      "commit": "bbb9e0176540a3bd23fd013702ea08598e45b172",
      "tree": "37fd128fa5000bdc7d8cef1719d2c2f87b377f43",
      "parents": [
        "061d82ff161e69f2ce727ee0fa2accabeaaad2f7"
      ],
      "author": {
        "name": "Gerd Hoffmann",
        "email": "kraxel@redhat.com",
        "time": "Wed Jan 28 12:29:50 2026 +0100"
      },
      "committer": {
        "name": "Gerd Hoffmann",
        "email": "kraxel@redhat.com",
        "time": "Wed Jan 28 12:29:50 2026 +0100"
      },
      "message": "bootp: allow https for UEFI HTTP boot\n\nSigned-off-by: Gerd Hoffmann \u003ckraxel@redhat.com\u003e\n"
    },
    {
      "commit": "061d82ff161e69f2ce727ee0fa2accabeaaad2f7",
      "tree": "ee40406e2b1a888ab02243e46ed6dfe8f04aa9ae",
      "parents": [
        "83ed48b87bab16f0eb35d08b351ecb8a3f13f0b6"
      ],
      "author": {
        "name": "Gary Beihl",
        "email": "garybeihl@microsoft.com",
        "time": "Mon Jan 05 19:18:40 2026 +0100"
      },
      "committer": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Mon Jan 05 19:19:08 2026 +0100"
      },
      "message": "ncsi: Document the Get Version ID (GVI) packet handler\n\nSigned-off-by: Gary Beihl \u003cgarybeihl@microsoft.com\u003e\n"
    },
    {
      "commit": "83ed48b87bab16f0eb35d08b351ecb8a3f13f0b6",
      "tree": "6088bf3b4aefc4abf7c44b2675323e75317f5ea3",
      "parents": [
        "281eb77348aa13a8e8c15df7fdaf31b080e67376"
      ],
      "author": {
        "name": "Gary Beihl",
        "email": "garybeihl@microsoft.com",
        "time": "Mon Jan 05 19:15:13 2026 +0100"
      },
      "committer": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Mon Jan 05 19:19:05 2026 +0100"
      },
      "message": "ncsi: Document why we fix memory alignment by adding 2-byte padding\n\nbefore the Ethernet header. This ensures the IP payload starts on a 4-byte\nboundary, which reduces packet processing errors by ~50% and resolves the\n\"NCSI: Handler for packet type 0x82 returned -19\" errors seen during channel\ninitialization on some architectures.\n\nSigned-off-by: Gary Beihl \u003cgarybeihl@microsoft.com\u003e\n"
    },
    {
      "commit": "281eb77348aa13a8e8c15df7fdaf31b080e67376",
      "tree": "3e92cf3ac57135d05fd7bef7a21a35b6b6ab1022",
      "parents": [
        "027a9abeba1ee97cff27c9002e71af0d4fc13607"
      ],
      "author": {
        "name": "Gary Beihl",
        "email": "garybeihl@microsoft.com",
        "time": "Mon Jan 05 19:14:11 2026 +0100"
      },
      "committer": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Mon Jan 05 19:19:01 2026 +0100"
      },
      "message": "ncsi: add documentation comments to the packet handler table for improved readability\n\nSigned-off-by: Gary Beihl \u003cgarybeihl@microsoft.com\u003e\n"
    },
    {
      "commit": "027a9abeba1ee97cff27c9002e71af0d4fc13607",
      "tree": "f714e602b17c557ab711edf2ce1726cd24b10352",
      "parents": [
        "1606c09a2feb5f19e5adaa4bb6694788e7a982b4"
      ],
      "author": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Thu Nov 06 01:45:41 2025 +0100"
      },
      "committer": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Thu Nov 06 01:45:41 2025 +0100"
      },
      "message": "Fix byte order\n\nwhich fixes port conflict\n\nReported-by: Steven Haber\n\nFixes #92\n"
    },
    {
      "commit": "1606c09a2feb5f19e5adaa4bb6694788e7a982b4",
      "tree": "1f64d2d3b6a0748cb81045171c60f7a2f4942dd9",
      "parents": [
        "6155c349156b3fd52434880dc73cedfd4e8395a9"
      ],
      "author": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Wed Oct 29 09:52:59 2025 +0100"
      },
      "committer": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Wed Oct 29 09:52:59 2025 +0100"
      },
      "message": "SO_ERROR: take the errno as error hint\n"
    },
    {
      "commit": "6155c349156b3fd52434880dc73cedfd4e8395a9",
      "tree": "7b026a4b5d9236838a154200d0bec2220f2328d8",
      "parents": [
        "f066d91dbbb06d75cd36a7a332038fd96f7e928d"
      ],
      "author": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Tue Oct 28 18:00:47 2025 +0100"
      },
      "committer": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Tue Oct 28 18:00:47 2025 +0100"
      },
      "message": "vmstate: pass on read/write errors for state\n"
    },
    {
      "commit": "f066d91dbbb06d75cd36a7a332038fd96f7e928d",
      "tree": "77c83a1633cb4fe0861e7a70881c5326ef3235f1",
      "parents": [
        "d6cfac6d060d57c0e38a9c61157eaf6962b6c257"
      ],
      "author": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Tue Oct 28 17:50:09 2025 +0100"
      },
      "committer": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Tue Oct 28 17:50:09 2025 +0100"
      },
      "message": "cope with SO_ERROR possibly failing\n"
    },
    {
      "commit": "d6cfac6d060d57c0e38a9c61157eaf6962b6c257",
      "tree": "d1ebab5a8c2cb6ce24616583f216f8481d131351",
      "parents": [
        "19b8f2645cf71fc58781fcf4f04046a546138872"
      ],
      "author": {
        "name": "Alex Bennée",
        "email": "alex.bennee@linaro.org",
        "time": "Mon Sep 08 13:33:48 2025 +0100"
      },
      "committer": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Mon Sep 08 19:32:32 2025 +0200"
      },
      "message": "Move the modified 3-Clause BSD text into LICENSE\n\nThis is to help the automated license detectors find the text without\ngetting confused by the surrounding verbiage. However the text has\nis lightly modified from the reference 3-clause text I checked on:\n\n  https://opensource.org/license/bsd-3-clause\n\nAs it adds:\n\n  \"All rights reserved\" on the copyright line\n  Mentions DANNY GASPAROVSKI in place of COPYRIGHT HOLDERS\n  Uses `` and \u0027\u0027 to wrap \"AS IS\"\n\nWhich results in the golang license detector only having 96%\nconfidence this is a BSD-3-Clause. Before this patch it was 89%\nconfident. However these seems enough to convince GitLab to properly\ncategorise the license of the project.\n\nSigned-off-by: Alex Bennée \u003calex.bennee@linaro.org\u003e\n"
    },
    {
      "commit": "19b8f2645cf71fc58781fcf4f04046a546138872",
      "tree": "73e6cb3b7959a37dd7b76e0cdef0dfcd3817bc6e",
      "parents": [
        "5e171598422f816555bee331f18a6adbe1291b1a",
        "baa4160b26431448b503d8d897db24fa0eb1386b"
      ],
      "author": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Sun Jul 06 21:27:56 2025 +0000"
      },
      "committer": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Sun Jul 06 21:27:56 2025 +0000"
      },
      "message": "Merge branch \u0027honor-dns-port\u0027 into \u0027master\u0027\n\nfix: honor dns server port number on macos\n\nSee merge request slirp/libslirp!153"
    },
    {
      "commit": "baa4160b26431448b503d8d897db24fa0eb1386b",
      "tree": "2f0f2ba7ba8a734dcbf2546c4c8f7a5ac855f865",
      "parents": [
        "735904142f95d0500c0eae6bf763e4ad24b6b9fd"
      ],
      "author": {
        "name": "Ihar Hrachyshka",
        "email": "ihar.hrachyshka@gmail.com",
        "time": "Thu Jun 12 13:35:04 2025 -0400"
      },
      "committer": {
        "name": "Ihar Hrachyshka",
        "email": "ihar.hrachyshka@gmail.com",
        "time": "Sat Jul 05 13:13:48 2025 -0400"
      },
      "message": "fix: honor dns server port number on macos\n\nSigned-off-by: Ihar Hrachyshka \u003cihar.hrachyshka@gmail.com\u003e\n"
    },
    {
      "commit": "5e171598422f816555bee331f18a6adbe1291b1a",
      "tree": "09b4772ada1a5c5e8215941fa9b3f3705d6ca83d",
      "parents": [
        "9c744e1e52aa0d9646ed91d789d588696292c21e"
      ],
      "author": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Fri Jun 06 13:14:15 2025 +0200"
      },
      "committer": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Fri Jun 06 13:14:15 2025 +0200"
      },
      "message": "Mention how to get debugging prints\n"
    },
    {
      "commit": "9c744e1e52aa0d9646ed91d789d588696292c21e",
      "tree": "081af03cd2388a88d2cc84ab982a2e5f088c1717",
      "parents": [
        "b9321c6ece41940466c24fbea7a0cf3b7cf04aba"
      ],
      "author": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Wed May 28 00:38:05 2025 +0200"
      },
      "committer": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Wed May 28 00:38:05 2025 +0200"
      },
      "message": "Release v4.9.1\n\nSigned-off-by: Samuel Thibault \u003csamuel.thibault@ens-lyon.org\u003e\n"
    },
    {
      "commit": "b9321c6ece41940466c24fbea7a0cf3b7cf04aba",
      "tree": "bf7e15c85ad74aed4d079c19be75879200ec0def",
      "parents": [
        "b04455b4d4680e41e1004dd7c147de156e00ec95"
      ],
      "author": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Thu Apr 24 00:27:25 2025 +0200"
      },
      "committer": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Mon May 26 11:11:11 2025 +0200"
      },
      "message": "tcp: Fix starting the linger2 timer on socket shutdown\n\nIf the socket is completely shut down just before we get our FIN ack-ed, the\nsocket state has SS_NOFDREF instead of SS_FCANTRCVMORE.\n\nIf the socket sees write() shut down (and we thus switch to FIN_WAIT_1), and\nwe get our FIN acked before seeing read() shut down, when we eventually see\nthat we need to start the linger2 timer.\n\nThis way, it\u0027s only if we still have a live Internet socket that we stay in\nthe TCPS_FIN_WAIT_2 state without a timer, and we let the host decide the\nlinger2 timer.\n\nFixes #86\n\n(hopefully)\n"
    },
    {
      "commit": "b04455b4d4680e41e1004dd7c147de156e00ec95",
      "tree": "35159cd4b37a68298c587c0125a88e0031e7b4c8",
      "parents": [
        "1fb1c4c89132f6bfc61b01228e786d852b9f276e"
      ],
      "author": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Wed Apr 23 23:56:47 2025 +0200"
      },
      "committer": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Mon May 26 11:06:41 2025 +0200"
      },
      "message": "tcp: Reduce linger time to two minutes\n\nBSD \u0026 Linux do this to avoid non-cooperative peers, as TCP protocols usually\ndon\u0027t stay idle for long after one peer shuts down its side. We could\notherwise be waiting for FIN from the guest indefinitely without keepalive.\n\nSuggested-by: Fabian Merki\n"
    },
    {
      "commit": "1fb1c4c89132f6bfc61b01228e786d852b9f276e",
      "tree": "f308172257b353bb2cfdc99fa8f19cb290f91612",
      "parents": [
        "b70d1a0c863413d60a4b2a76a051928869773069"
      ],
      "author": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Thu Apr 24 00:05:48 2025 +0200"
      },
      "committer": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Mon May 26 11:06:41 2025 +0200"
      },
      "message": "tcp: on input during init, reset TCPT_KEEP to TCPTV_KEEP_INIT\n\nrather than TCPTV_KEEP_IDLE: until it\u0027s established, we should be more\ndemanding.\n"
    },
    {
      "commit": "b70d1a0c863413d60a4b2a76a051928869773069",
      "tree": "a4a37f5b2734f5f7ccff595ce7b8a012957b5320",
      "parents": [
        "110d4f18a2f57358040e170fa7af5487cb2800dc"
      ],
      "author": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Wed Apr 23 23:47:34 2025 +0200"
      },
      "committer": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Mon May 26 11:06:41 2025 +0200"
      },
      "message": "tcp: on input, reset TCPT_KEEP to TCPTV_KEEP_IDLE rather than TCPTV_KEEPINTVL\n\nWhen receiving input, we should wait for 2h before trying to probe\nagain for keepalive. We do not need to wake again until that.\n"
    },
    {
      "commit": "110d4f18a2f57358040e170fa7af5487cb2800dc",
      "tree": "5830d50c4fe47c95f0a90105aa418cd8b7656b93",
      "parents": [
        "735904142f95d0500c0eae6bf763e4ad24b6b9fd",
        "566f4f9b8e896b4ef62e1db583556d7929bc204b"
      ],
      "author": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Fri May 23 06:59:03 2025 +0000"
      },
      "committer": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Fri May 23 06:59:03 2025 +0000"
      },
      "message": "Merge branch \u0027master\u0027 into \u0027master\u0027\n\nModified util.c to handle WSA function return values closer to specification....\n\nSee merge request slirp/libslirp!152"
    },
    {
      "commit": "566f4f9b8e896b4ef62e1db583556d7929bc204b",
      "tree": "5830d50c4fe47c95f0a90105aa418cd8b7656b93",
      "parents": [
        "735904142f95d0500c0eae6bf763e4ad24b6b9fd"
      ],
      "author": {
        "name": "Jack Doherty",
        "email": "jack.doherty@oracle.com",
        "time": "Thu May 22 22:21:40 2025 -0700"
      },
      "committer": {
        "name": "Jack Doherty",
        "email": "jack.doherty@oracle.com",
        "time": "Thu May 22 22:21:40 2025 -0700"
      },
      "message": "Modified util.c to handle WSA function return values closer to specification. Explicit checks for INVALID_SOCKET and SOCKET_ERROR are made.\n"
    },
    {
      "commit": "735904142f95d0500c0eae6bf763e4ad24b6b9fd",
      "tree": "6bc7f72d4092052800da6a91658f04feac60223e",
      "parents": [
        "a83fa4c7582e537980f0bed750890d9618230967"
      ],
      "author": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Wed Mar 26 08:42:35 2025 +0100"
      },
      "committer": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Wed Mar 26 08:45:44 2025 +0100"
      },
      "message": "apple: Fix getting IPv4 DNS server address when IPv4 and IPv4 are interleaved\n\nWhen getting an IPv4 DNS server address, if libresolv returns\n\nIPv4\nIPv6\nIPv4\nIPv6\n\n(or just IPv4 and IPv6)\n\nwe would still have found \u003d\u003d 1 on the second iteration and thus take the\nIPv6 even if it\u0027s not the proper af. We can as well just completely ignore\nthe non-matching af entries.\n\nFixes #85\n"
    },
    {
      "commit": "a83fa4c7582e537980f0bed750890d9618230967",
      "tree": "94328052d0b0c233af24e9b408946f5b330487f4",
      "parents": [
        "3aba012907471f886077a1a288f803bcd5a6e895",
        "2a4a61443e6b1fb0bb9c96c5dbe474699f9b3430"
      ],
      "author": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Sun Feb 16 09:43:50 2025 +0000"
      },
      "committer": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Sun Feb 16 09:43:50 2025 +0000"
      },
      "message": "Merge branch \u0027master\u0027 into \u0027master\u0027\n\nDo not link tests with libslirp.map\n\nCloses #84\n\nSee merge request slirp/libslirp!151"
    },
    {
      "commit": "2a4a61443e6b1fb0bb9c96c5dbe474699f9b3430",
      "tree": "a98fae086f2a7892833d982e135309552713b21e",
      "parents": [
        "c32a8a1ccaae8490142e67e078336a95c5ffc956"
      ],
      "author": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Sun Feb 16 10:17:33 2025 +0100"
      },
      "committer": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Sun Feb 16 10:17:33 2025 +0100"
      },
      "message": "Do not link tests with libslirp.map\n\nFixes #84\n"
    },
    {
      "commit": "3aba012907471f886077a1a288f803bcd5a6e895",
      "tree": "bd3b6bc29556a815037977c2f36d50f909352196",
      "parents": [
        "5ac3e5d7d9174f1411fc9c3001a08ac95af9808c",
        "fcedbc15fd37d5f65ca15eaf71f064ec7511d76d"
      ],
      "author": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Mon Feb 03 00:24:40 2025 +0000"
      },
      "committer": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Mon Feb 03 00:24:40 2025 +0000"
      },
      "message": "Merge branch \u0027override\u0027 into \u0027master\u0027\n\nmeson: add dependency override for libslirp\n\nSee merge request slirp/libslirp!150"
    },
    {
      "commit": "fcedbc15fd37d5f65ca15eaf71f064ec7511d76d",
      "tree": "bd3b6bc29556a815037977c2f36d50f909352196",
      "parents": [
        "5ac3e5d7d9174f1411fc9c3001a08ac95af9808c"
      ],
      "author": {
        "name": "Benjamin Gilbert",
        "email": "bgilbert@backtick.net",
        "time": "Sun Feb 02 15:50:11 2025 -0800"
      },
      "committer": {
        "name": "Benjamin Gilbert",
        "email": "bgilbert@backtick.net",
        "time": "Sun Feb 02 16:02:31 2025 -0800"
      },
      "message": "meson: add dependency override for libslirp\n\nIf libslirp is built as a Meson subproject, Meson needs to associate the\nsuperproject\u0027s dependency(\u0027slirp\u0027) call with our libslirp_libdep variable.\nThe slirp.wrap file shipped in Meson wrapdb accomplishes this with:\n\n    [provide]\n    slirp \u003d libslirp_libdep\n\nBut that requires wrapdb to know the name of our libslirp_libdep variable,\nwhich changed in 04612eb31674.\n\nExplicitly bind the pkg-config name \u0027slirp\u0027 to libslirp_libdep.  This will\nallow slirp.wrap to say:\n\n    [provide]\n    dependency_names \u003d slirp\n\nand avoid hardcoding the variable name.\n\n"
    },
    {
      "commit": "5ac3e5d7d9174f1411fc9c3001a08ac95af9808c",
      "tree": "35fe369a50b2a7250519f01f4cc7fd3a9b75e325",
      "parents": [
        "c32a8a1ccaae8490142e67e078336a95c5ffc956",
        "8d86fd7114f613955d1d8d082ae3add5618c6fc9"
      ],
      "author": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Sun Feb 02 23:53:57 2025 +0000"
      },
      "committer": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Sun Feb 02 23:53:57 2025 +0000"
      },
      "message": "Merge branch \u0027meson\u0027 into \u0027master\u0027\n\nFix Meson warnings\n\nSee merge request slirp/libslirp!149"
    },
    {
      "commit": "8d86fd7114f613955d1d8d082ae3add5618c6fc9",
      "tree": "35fe369a50b2a7250519f01f4cc7fd3a9b75e325",
      "parents": [
        "0202f3c7fb1b0e40f374adc5f8bf7de84f098cab"
      ],
      "author": {
        "name": "Benjamin Gilbert",
        "email": "bgilbert@backtick.net",
        "time": "Sun Feb 02 15:26:55 2025 -0800"
      },
      "committer": {
        "name": "Benjamin Gilbert",
        "email": "bgilbert@backtick.net",
        "time": "Sun Feb 02 15:26:55 2025 -0800"
      },
      "message": "meson: specify that C++ is only used for host binaries\n\nFix Meson warning:\n\n    meson.build:32: WARNING: add_languages is missing native:, assuming languages are wanted for both host and build.\n\n"
    },
    {
      "commit": "0202f3c7fb1b0e40f374adc5f8bf7de84f098cab",
      "tree": "19a4b84456ae66ecd7d876ac3922490c44e7ff98",
      "parents": [
        "c32a8a1ccaae8490142e67e078336a95c5ffc956"
      ],
      "author": {
        "name": "Benjamin Gilbert",
        "email": "bgilbert@backtick.net",
        "time": "Sun Feb 02 15:24:14 2025 -0800"
      },
      "committer": {
        "name": "Benjamin Gilbert",
        "email": "bgilbert@backtick.net",
        "time": "Sun Feb 02 15:24:14 2025 -0800"
      },
      "message": "meson: use boolean defaults for boolean options\n\nFix Meson warning:\n\n    NOTICE: Future-deprecated features used:\n     * 1.1.0: {\u0027\"boolean option\" keyword argument \"value\" of type str\u0027}\n\n"
    },
    {
      "commit": "c32a8a1ccaae8490142e67e078336a95c5ffc956",
      "tree": "99871c9acbc4587b32df815307f2c3329341d03a",
      "parents": [
        "04612eb31674698450b40b5d841e544acd9de4bb"
      ],
      "author": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Thu Jan 30 02:44:12 2025 +0100"
      },
      "committer": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Thu Jan 30 02:46:23 2025 +0100"
      },
      "message": "Release v4.9.0\n\nSigned-off-by: Samuel Thibault \u003csamuel.thibault@ens-lyon.org\u003e\n"
    },
    {
      "commit": "04612eb31674698450b40b5d841e544acd9de4bb",
      "tree": "a9ad2bd0450d17970135686f4fe22ecc7cc2a975",
      "parents": [
        "aad57fd45736f818d08f793f37a4cb67717c9122"
      ],
      "author": {
        "name": "B. Scott Michel",
        "email": "scooter.phd@gmail.com",
        "time": "Thu Jan 30 02:13:11 2025 +0100"
      },
      "committer": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Thu Jan 30 02:31:26 2025 +0100"
      },
      "message": "Windows target build fixes\n\nMeson (meson.build):\n\n- Add \"target_winver\" (default: \"\") option to support Windows versions\n  earlier Windows 7 (0x0601, the same as glib.) This sets a compiler\n  command-line define \"-DTARGET_WINVER\u003d${target_winver}\", which\n  unconditionally sets WINVER and _WIN32_WINNT to select the requested\n  target Windows API.\n\n  Ref: https://learn.microsoft.com/en-us/cpp/porting/modifying-winver-and-win32-winnt\n\n- Clean up building the static library.\n\n  - Build the static library when \"-Dstatic\u003dtrue\" is present on the\n    command line, not just when doing fuzz testing.\n\n  - Add the \"*_STATIC_COMPILATION\" defines to the compiler\u0027s command\n    line. For Windows, ensure that libiconv is an explicit dependency\n    since \"pkg-config --libs --static\" fails to add it as a dependency\n    library.\n"
    },
    {
      "commit": "aad57fd45736f818d08f793f37a4cb67717c9122",
      "tree": "8934d0636a2a0e4f1e5c6b9829a4911494f3fbee",
      "parents": [
        "073dec073fa2efc471a61644b08c4396c0bef330"
      ],
      "author": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Thu Jan 30 02:31:15 2025 +0100"
      },
      "committer": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Thu Jan 30 02:31:26 2025 +0100"
      },
      "message": "Fix assertion\n"
    },
    {
      "commit": "073dec073fa2efc471a61644b08c4396c0bef330",
      "tree": "241393b5ac7c409f3035683ad03fa701a36e2296",
      "parents": [
        "f032627c2569ca4e4b617906fb4d24e41eb86b54"
      ],
      "author": {
        "name": "B. Scott Michel",
        "email": "scooter.phd@gmail.com",
        "time": "Thu Jan 30 02:05:09 2025 +0100"
      },
      "committer": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Thu Jan 30 02:09:48 2025 +0100"
      },
      "message": "Provide stubs for inet_ntop() and inet_pton()\n\nfor Windows versions earlier than Windows 7.\n"
    },
    {
      "commit": "f032627c2569ca4e4b617906fb4d24e41eb86b54",
      "tree": "ae5f66c01f4da161e52fe25174e3faf712217ab3",
      "parents": [
        "58e749454d1fb0ab3eb3864e5d71fca552e4ed2b"
      ],
      "author": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Thu Jan 30 02:04:01 2025 +0100"
      },
      "committer": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Thu Jan 30 02:04:01 2025 +0100"
      },
      "message": "winver.h: Introduce header that forces defining WINVER and _WIN32_WINNT\n"
    },
    {
      "commit": "58e749454d1fb0ab3eb3864e5d71fca552e4ed2b",
      "tree": "7d9db7c74c029959c3ebc336a068277281c01196",
      "parents": [
        "f1533e1b6b27def2dfed955dcd678276e32887b0"
      ],
      "author": {
        "name": "B. Scott Michel",
        "email": "scooter.phd@gmail.com",
        "time": "Thu Jan 30 02:00:10 2025 +0100"
      },
      "committer": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Thu Jan 30 02:00:10 2025 +0100"
      },
      "message": "ensure that WINVER and _WIN32_WINNT are unconditionally set\n\nif TARGET_WINVER is defined.\n"
    },
    {
      "commit": "f1533e1b6b27def2dfed955dcd678276e32887b0",
      "tree": "845495b9b11842f2959fcb39a0a77824fc711d86",
      "parents": [
        "799a78cb9f034c482c7b61182a078810f2255121"
      ],
      "author": {
        "name": "B. Scott Michel",
        "email": "scooter.phd@gmail.com",
        "time": "Thu Jan 30 01:36:19 2025 +0100"
      },
      "committer": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Thu Jan 30 01:56:13 2025 +0100"
      },
      "message": "sbuf.c: Cleanups\n\n- sbcopy(): Make the code a little clearer to follow, with comments.\n- Type consistency\n    - Eliminate type slices (size_t -\u003e int)\n    - Use ssize_t when doing pointer arithmetic.\n    - Eliminate signed/unsigned comparisons.\n    - Add range checking assertions.\n"
    },
    {
      "commit": "799a78cb9f034c482c7b61182a078810f2255121",
      "tree": "eb369caf9535499b35bf24cbb9081d31bc0a5652",
      "parents": [
        "14739f508a82b66b76c82917c84777ac1672dba4",
        "e3e56c577faf5317c43404b8e23ac1e4ee6109b8"
      ],
      "author": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Wed Nov 27 00:07:32 2024 +0000"
      },
      "committer": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Wed Nov 27 00:07:32 2024 +0000"
      },
      "message": "Merge branch \u0027tcp_emu\u0027 into \u0027master\u0027\n\nfix for slirp ftp proxying putting slirp placeholder host ip in PORT commands\n\nCloses #82\n\nSee merge request slirp/libslirp!147"
    },
    {
      "commit": "e3e56c577faf5317c43404b8e23ac1e4ee6109b8",
      "tree": "eb369caf9535499b35bf24cbb9081d31bc0a5652",
      "parents": [
        "14739f508a82b66b76c82917c84777ac1672dba4"
      ],
      "author": {
        "name": "rakslice",
        "email": "rakslice@gmail.com",
        "time": "Tue Nov 26 00:46:43 2024 +0100"
      },
      "committer": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Tue Nov 26 00:47:22 2024 +0100"
      },
      "message": "fix for slirp ftp proxying putting slirp placeholder host ip in PORT commands\n\nFixes #82\n"
    },
    {
      "commit": "14739f508a82b66b76c82917c84777ac1672dba4",
      "tree": "849f6a8f864559b928a91275f9429003e62ebcaf",
      "parents": [
        "11d0ef193857975c82305ad0a08afb9228a87864",
        "3a4cb5a839d5b973a444ca2759497db354c8a29e"
      ],
      "author": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Tue Nov 19 01:42:07 2024 +0000"
      },
      "committer": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Tue Nov 19 01:42:07 2024 +0000"
      },
      "message": "Merge branch \u0027strerror-consistency\u0027 into \u0027master\u0027\n\nPrefer g_strerror() to strerror()\n\nSee merge request slirp/libslirp!146"
    },
    {
      "commit": "11d0ef193857975c82305ad0a08afb9228a87864",
      "tree": "32a282628e16c9a24fa7b5730d887872d348da04",
      "parents": [
        "4f27f209516d141cc5aecc39af0e8baa27326b5c",
        "480e4efd13ff06599be8201294a1757ca76cc74b"
      ],
      "author": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Tue Nov 19 01:41:19 2024 +0000"
      },
      "committer": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Tue Nov 19 01:41:19 2024 +0000"
      },
      "message": "Merge branch \u0027vmstate-typeof-fix\u0027 into \u0027master\u0027\n\nvmstate.h: Prefer __typeof__ vice typeof\n\nSee merge request slirp/libslirp!145"
    },
    {
      "commit": "3a4cb5a839d5b973a444ca2759497db354c8a29e",
      "tree": "300dca59c1b900c611a1a4f3a7c9599a9e7d9532",
      "parents": [
        "4f27f209516d141cc5aecc39af0e8baa27326b5c"
      ],
      "author": {
        "name": "B. Scott Michel",
        "email": "scooter.phd@gmail.com",
        "time": "Mon Nov 18 12:11:46 2024 -0800"
      },
      "committer": {
        "name": "B. Scott Michel",
        "email": "scooter.phd@gmail.com",
        "time": "Mon Nov 18 12:11:46 2024 -0800"
      },
      "message": "Prefer g_strerror() to strerror()\n\nUse g_strerror() for better cross platform compatibility: glib handles\nthe Windows \"deprecation\" (i.e., use strerror_s instead of strerror),\nfewer warnings at compile time.\n"
    },
    {
      "commit": "480e4efd13ff06599be8201294a1757ca76cc74b",
      "tree": "32a282628e16c9a24fa7b5730d887872d348da04",
      "parents": [
        "4f27f209516d141cc5aecc39af0e8baa27326b5c"
      ],
      "author": {
        "name": "B. Scott Michel",
        "email": "scooter.phd@gmail.com",
        "time": "Mon Nov 18 09:43:40 2024 -0800"
      },
      "committer": {
        "name": "B. Scott Michel",
        "email": "scooter.phd@gmail.com",
        "time": "Mon Nov 18 11:59:16 2024 -0800"
      },
      "message": "vmstate.h: Prefer __typeof__ vice typeof\n\nClang masquerading as gcc on macOS (i.e., \"gcc\") borks on typeof(), but\nhappily accepts __typeof__().\n\nN.B., __typeof__ has been accepted by GCC and Clang for a long time, and\nrecently MS decided to support it as well.\n"
    },
    {
      "commit": "4f27f209516d141cc5aecc39af0e8baa27326b5c",
      "tree": "6f5b023c49a2bd9bfd444dbadbf25a61393a7e58",
      "parents": [
        "4795b8c078840bf9c868ca41900698b37151e729",
        "8a0f8c59de7980f0a7cec5eb040e341669b63a05"
      ],
      "author": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Thu Nov 14 14:03:16 2024 +0000"
      },
      "committer": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Thu Nov 14 14:03:16 2024 +0000"
      },
      "message": "Merge branch \u0027cksum-netbsd-update\u0027 into \u0027master\u0027\n\ncksum: NetBSD-adapted cksum()\n\nSee merge request slirp/libslirp!144"
    },
    {
      "commit": "8a0f8c59de7980f0a7cec5eb040e341669b63a05",
      "tree": "6f5b023c49a2bd9bfd444dbadbf25a61393a7e58",
      "parents": [
        "c558d93a70c2ea6e92194977113ce78372f1bbc2"
      ],
      "author": {
        "name": "B. Scott Michel",
        "email": "scooter.phd@gmail.com",
        "time": "Wed Nov 13 10:42:55 2024 -0800"
      },
      "committer": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Thu Nov 14 14:45:52 2024 +0100"
      },
      "message": "Review comments.\n"
    },
    {
      "commit": "c558d93a70c2ea6e92194977113ce78372f1bbc2",
      "tree": "1437d0e8c19c7c8c2d930c88f5840327024597fe",
      "parents": [
        "4795b8c078840bf9c868ca41900698b37151e729"
      ],
      "author": {
        "name": "B. Scott Michel",
        "email": "scooter.phd@gmail.com",
        "time": "Tue Nov 05 13:37:28 2024 -0800"
      },
      "committer": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Thu Nov 14 14:45:52 2024 +0100"
      },
      "message": "cksum: NetBSD-adapted cksum()\n\nUpdate cksum() to use more recent NetBSD-based checksum implementation.\nThe updated implementation includes both a 64-bit and 32-bit (the\ndefault) implementations. The 64-bit implementation has a longer stride\nlength, which may be beneficial to overall performance.\n\nUpdate the return types for cksum() and ip6_cksum() to uint16_t, which\nis what the checksum algorithm computes.\n"
    },
    {
      "commit": "4795b8c078840bf9c868ca41900698b37151e729",
      "tree": "255c7bca98b3beb0887bd67cadcf89fa06fd8272",
      "parents": [
        "2581b174e61165f56f68b7c594197363cc31b9e4"
      ],
      "author": {
        "name": "B. Scott Michel",
        "email": "scooter.phd@gmail.com",
        "time": "Thu Nov 14 14:42:19 2024 +0100"
      },
      "committer": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Thu Nov 14 14:42:19 2024 +0100"
      },
      "message": "Introduce SLIRP_PRIsize/ssize_t\n"
    },
    {
      "commit": "2581b174e61165f56f68b7c594197363cc31b9e4",
      "tree": "c352346256175f97ad379c7206a13c20d65a4072",
      "parents": [
        "c706fd09076530da56e8a70022472e0636bcf1c9",
        "ad6efd0d1a3e72e0b24377cf6b4b69098dc91569"
      ],
      "author": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Mon Nov 11 14:41:13 2024 +0000"
      },
      "committer": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Mon Nov 11 14:41:13 2024 +0000"
      },
      "message": "Merge branch \u0027arp-c-cleanups\u0027 into \u0027master\u0027\n\narp_table: use size_t to index arrays.\n\nSee merge request slirp/libslirp!142"
    },
    {
      "commit": "ad6efd0d1a3e72e0b24377cf6b4b69098dc91569",
      "tree": "c352346256175f97ad379c7206a13c20d65a4072",
      "parents": [
        "c706fd09076530da56e8a70022472e0636bcf1c9"
      ],
      "author": {
        "name": "B. Scott Michel",
        "email": "scooter.phd@gmail.com",
        "time": "Sun Oct 20 14:42:25 2024 -0700"
      },
      "committer": {
        "name": "B. Scott Michel",
        "email": "scooter.phd@gmail.com",
        "time": "Sun Nov 10 22:56:29 2024 -0800"
      },
      "message": "arp_table: use size_t to index arrays.\n"
    },
    {
      "commit": "c706fd09076530da56e8a70022472e0636bcf1c9",
      "tree": "82aebcf6a77a20b02640a7a9e6e9724166cc1b65",
      "parents": [
        "cbb8cf81a8e095f0f5d5b3fd226d335c5c1a453f",
        "dc4ecb53d0b317bdae928ad9da26f4c046bf4dff"
      ],
      "author": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Fri Nov 01 21:44:08 2024 +0000"
      },
      "committer": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Fri Nov 01 21:44:08 2024 +0000"
      },
      "message": "Merge branch \u0027expose-debugging\u0027 into \u0027master\u0027\n\nDebugging API\n\nSee merge request slirp/libslirp!139"
    },
    {
      "commit": "dc4ecb53d0b317bdae928ad9da26f4c046bf4dff",
      "tree": "82aebcf6a77a20b02640a7a9e6e9724166cc1b65",
      "parents": [
        "cbb8cf81a8e095f0f5d5b3fd226d335c5c1a453f"
      ],
      "author": {
        "name": "Scott Michel",
        "email": "scott@ourdoodlehouse.org",
        "time": "Fri Nov 01 21:44:07 2024 +0000"
      },
      "committer": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Fri Nov 01 21:44:07 2024 +0000"
      },
      "message": "Debugging API\n"
    },
    {
      "commit": "cbb8cf81a8e095f0f5d5b3fd226d335c5c1a453f",
      "tree": "1928c8baafa32c3d32d184889f82b06e7f3158c1",
      "parents": [
        "c0916cf0710ae72fabf131c18a4a922f3cb19702",
        "21b8ba42ac0776a36eb158504bb09994f68be3da"
      ],
      "author": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Fri Nov 01 21:03:46 2024 +0000"
      },
      "committer": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Fri Nov 01 21:03:46 2024 +0000"
      },
      "message": "Merge branch \u0027void-no-return\u0027 into \u0027master\u0027\n\nslirp_(un)register_poll_socket: void returning value\n\nSee merge request slirp/libslirp!141"
    },
    {
      "commit": "21b8ba42ac0776a36eb158504bb09994f68be3da",
      "tree": "1928c8baafa32c3d32d184889f82b06e7f3158c1",
      "parents": [
        "c0916cf0710ae72fabf131c18a4a922f3cb19702"
      ],
      "author": {
        "name": "B. Scott Michel",
        "email": "scooter.phd@gmail.com",
        "time": "Thu Oct 31 15:37:50 2024 -0700"
      },
      "committer": {
        "name": "B. Scott Michel",
        "email": "scooter.phd@gmail.com",
        "time": "Fri Nov 01 12:20:02 2024 -0700"
      },
      "message": "slirp_(un)register_poll_socket: void returning value\n\nvoid functions don\u0027t return values.\n"
    },
    {
      "commit": "c0916cf0710ae72fabf131c18a4a922f3cb19702",
      "tree": "416dccdb5e6d9edcee8bd5d661701fe056aaf95c",
      "parents": [
        "6e493d93ff7fe28d5146c692d009367d4f34f75f"
      ],
      "author": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Wed Oct 09 00:18:23 2024 +0200"
      },
      "committer": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Wed Oct 09 00:52:24 2024 +0200"
      },
      "message": "Restore SlirpAddPollCb, {,un}register_poll_fd\n\nas they were before 72f85005a230 (\"socket abstraction: slirp_os_socket\"):\nthat broke the ABI. Better introduce SlirpAddPollCbSocket,\n{,un}register_poll_socket that people can use instead, and wrappers for\nthe old API, for a smooth API/ABI upgrade.\n"
    },
    {
      "commit": "6e493d93ff7fe28d5146c692d009367d4f34f75f",
      "tree": "30e71c6400915385ed4765449518cb43f3d9af74",
      "parents": [
        "8e9e1172d0d6a0d6f54bd67c11f7115277294bbc"
      ],
      "author": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Tue Oct 01 14:49:24 2024 +0200"
      },
      "committer": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Tue Oct 01 14:50:38 2024 +0200"
      },
      "message": "Fix calling slirp_bind_outbound on tcp_fconnect\n\nFixes 72f85005a230 (\"socket abstraction: slirp_os_socket\")\n"
    },
    {
      "commit": "8e9e1172d0d6a0d6f54bd67c11f7115277294bbc",
      "tree": "865cf563624ad0bc49e9eee73a8e69a29b2f4ace",
      "parents": [
        "72f85005a2307fd0961543e3cea861ad7a4d201e"
      ],
      "author": {
        "name": "Alexander Kuznetsov",
        "email": "kuznetsovam@altlinux.org",
        "time": "Tue Oct 01 14:00:50 2024 +0200"
      },
      "committer": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Tue Oct 01 14:02:24 2024 +0200"
      },
      "message": "fuzz: Fix memory leak inside fuzz-main\n\nFound by ALT Linux Team.\n\nSigned-off-by: Alexander Kuznetsov \u003ckuznetsovam@altlinux.org\u003e\n\nFixes #80\n"
    },
    {
      "commit": "72f85005a2307fd0961543e3cea861ad7a4d201e",
      "tree": "aaea4bf5c09fd87901712517113ff624f4cc44f4",
      "parents": [
        "5e97a93bf0599037de37d45c33d4cdb902a5264e"
      ],
      "author": {
        "name": "B. Scott Michel",
        "email": "scooter.phd@gmail.com",
        "time": "Mon Sep 16 09:14:32 2024 -0700"
      },
      "committer": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Thu Sep 26 03:04:25 2024 +0200"
      },
      "message": "socket abstraction: slirp_os_socket\n\nUse a typedef to abstract socket identifiers because Windows just has to\nbe different (SOCKET type.) Moreover, SOCKET on Win64 is 64-bits and\ngenerates copious type slicing warnings.\n\nOther related changes:\n\n- Explicitly cast curtime\u0027s assignment to unsigned int to tamp down on\n  type slicing warning.\n\n- Ensure that errno.h is always included. Important for Windows, which\n  would otherwise #define errno as WSAGetLastError(); errno.h #define-s\n  errno as a function, i.e., \"*errno()\".\n\n- Export slirp_inet_aton() utility function for Win32/64.\n\n- tcpx_listen()\n  - WSASetLastError() unnecessary.\n  - Use have_valid_socket() to check socket in error cleanup code\n    (vs. \"s \u003e\u003d 0\").\n"
    },
    {
      "commit": "5e97a93bf0599037de37d45c33d4cdb902a5264e",
      "tree": "4d252a6bbf0982180c68bcd899b64ca24accd7ca",
      "parents": [
        "e61dbd459c8c06607b3a84694489427e8ec60f17"
      ],
      "author": {
        "name": "B. Scott Michel",
        "email": "scooter.phd@gmail.com",
        "time": "Tue Sep 24 13:12:45 2024 -0700"
      },
      "committer": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Thu Sep 26 01:12:25 2024 +0200"
      },
      "message": "tcp_listen: Missing register_poll_fd\n\nBug fix: tcpx_listen() needs to invoke the socket\u0027s register_poll_fd()\ncallback so that platforms can add the socket to their collection of\nsockets-of-interest (primarily Windows, also platforms that use select()\nand not poll()).\n\nSame for udpx_listen(). Register the created socket!\n\nFor Windows, host forwarding \"now works gooder!\"\n\nThe socket is eventually unregistered via the two use cases in which\ntcpx_listen() is used:\n\n- slirp_add_hostfwd, slirp_add_hostxfwd: The corresponding \"remove\"\n  functions (slirp_remove_hostfwd, slirp_remove_hostxfwd) invoke\n  unregister_poll_fd().\n\n- TCP emulation (tcp_emu() in tcp_subr.c): All calls to tcp_listen() set\n  the SS_FACCEPTONCE flag, making the accept() a one-shot event. By\n  carefully examining tcp_subr.c, lines 523-531, one sees that\n  tcp_connect() unregisters the one-shot accept().\n\nQED.\n"
    },
    {
      "commit": "e61dbd459c8c06607b3a84694489427e8ec60f17",
      "tree": "6ffe6bf600947eba63388af5d99f2ff486f762b0",
      "parents": [
        "78106502773ae8407450ec16349f25214bbda099",
        "9b602f0c1c0a58e9e8fdb8e7106c0174e0a4a4f4"
      ],
      "author": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Sun Aug 04 22:35:36 2024 +0000"
      },
      "committer": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Sun Aug 04 22:35:36 2024 +0000"
      },
      "message": "Merge branch \u0027siaddr-rfc2131\u0027 into \u0027master\u0027\n\nbootp: Fill siaddr with tftp addr if supplied as per RFC2131\n\nSee merge request slirp/libslirp!135"
    },
    {
      "commit": "9b602f0c1c0a58e9e8fdb8e7106c0174e0a4a4f4",
      "tree": "6ffe6bf600947eba63388af5d99f2ff486f762b0",
      "parents": [
        "78106502773ae8407450ec16349f25214bbda099"
      ],
      "author": {
        "name": "Arusekk",
        "email": "arek_koz@o2.pl",
        "time": "Fri Jul 26 14:45:05 2024 +0200"
      },
      "committer": {
        "name": "Arusekk",
        "email": "arek_koz@o2.pl",
        "time": "Tue Jul 30 15:19:13 2024 +0200"
      },
      "message": "bootp: Fill siaddr with tftp addr as per RFC2131\n\nSigned-off-by: Arusekk \u003carek_koz@o2.pl\u003e\n"
    },
    {
      "commit": "78106502773ae8407450ec16349f25214bbda099",
      "tree": "47097417822eb7cc59c3ea48a126ceb38b30129e",
      "parents": [
        "6ea2c4f95922a64d21190d9ad163e3bbde37a836",
        "84361923047f867561efc0184a4af9c66c8ba852"
      ],
      "author": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Sun Jun 02 18:44:20 2024 +0000"
      },
      "committer": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Sun Jun 02 18:44:20 2024 +0000"
      },
      "message": "Merge branch \u0027win32-static-linking\u0027 into \u0027master\u0027\n\nwindows: allow static linking with LIBSLIRP_STATIC macro\n\nSee merge request slirp/libslirp!134"
    },
    {
      "commit": "84361923047f867561efc0184a4af9c66c8ba852",
      "tree": "47097417822eb7cc59c3ea48a126ceb38b30129e",
      "parents": [
        "6ea2c4f95922a64d21190d9ad163e3bbde37a836"
      ],
      "author": {
        "name": "Biswapriyo Nath",
        "email": "nathbappai@gmail.com",
        "time": "Sat Jun 01 14:25:28 2024 +0000"
      },
      "committer": {
        "name": "Biswapriyo Nath",
        "email": "nathbappai@gmail.com",
        "time": "Sat Jun 01 14:27:26 2024 +0000"
      },
      "message": "windows: allow static linking with LIBSLIRP_STATIC macro\n\nWhen the macro is defined it will help to link with libslirp statically.\nOtherwise, dllimport attribute is added with function symbols and linker\nerrors are shown as following for static linking.\n\nundefined reference to `__imp_slirp_input\u0027\nundefined reference to `__imp_slirp_cleanup\u0027\nundefined reference to `__imp_slirp_remove_hostfwd\u0027\netc.\n"
    },
    {
      "commit": "6ea2c4f95922a64d21190d9ad163e3bbde37a836",
      "tree": "dc6ee04eba89a85d271db33ec3d4ace2173ecf49",
      "parents": [
        "e174edf444e0e8d036b7a1e12711a751e2bb5fcd"
      ],
      "author": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Sun May 12 16:05:38 2024 +0200"
      },
      "committer": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Sun May 12 16:05:38 2024 +0200"
      },
      "message": "Fix actually linking the library\n"
    },
    {
      "commit": "e174edf444e0e8d036b7a1e12711a751e2bb5fcd",
      "tree": "0f5c6a2c24f2509c229504830b7aa3c125ac2f4e",
      "parents": [
        "ce314e39458223c2c42245fe536fbe1bcd94e9b1"
      ],
      "author": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Sun May 12 15:45:44 2024 +0200"
      },
      "committer": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Sun May 12 15:46:07 2024 +0200"
      },
      "message": "Use simpler test linker script for detectiong --version-script option\n\nOtherwise e.g. mold complains that it doesn\u0027t find all these slirp_*\nsymbols.\n\nFixes #77\n"
    },
    {
      "commit": "ce314e39458223c2c42245fe536fbe1bcd94e9b1",
      "tree": "c5bbd89914e06f277ca5ecbc0c78a149a698c3dc",
      "parents": [
        "629a69ce562c973d23543928bed07ff89f16a230"
      ],
      "author": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Thu May 09 21:38:22 2024 +0200"
      },
      "committer": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Thu May 09 21:38:35 2024 +0200"
      },
      "message": "Release v4.8.0\n\nSigned-off-by: Samuel Thibault \u003csamuel.thibault@ens-lyon.org\u003e\n"
    },
    {
      "commit": "629a69ce562c973d23543928bed07ff89f16a230",
      "tree": "4ca760b0d98d62f1bcd9a2c162977d7953ae1a31",
      "parents": [
        "bc0ccfd15bf0fc9c37973489abaadf64dcca12e2"
      ],
      "author": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Mon May 06 13:58:48 2024 +0200"
      },
      "committer": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Mon May 06 13:58:51 2024 +0200"
      },
      "message": "Explicit that -Dstatic\u003dTrue is not meant for distributing a static library\n\nFixes #76\n"
    },
    {
      "commit": "bc0ccfd15bf0fc9c37973489abaadf64dcca12e2",
      "tree": "d557d22a7db2a60d7b8df17bcf0370e216bfaf31",
      "parents": [
        "42694bf99a8937060944d94af7333e1cc006ad94"
      ],
      "author": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Fri Apr 26 02:45:09 2024 +0200"
      },
      "committer": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Fri Apr 26 03:06:23 2024 +0200"
      },
      "message": "icmp6: Add echo request forwarding support\n"
    },
    {
      "commit": "42694bf99a8937060944d94af7333e1cc006ad94",
      "tree": "e2c9273a8e9bc529511ade2f5ef367bac6fdcc11",
      "parents": [
        "9d171be3899e4e94e418a2975fdec41da194e986"
      ],
      "author": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Fri Apr 26 02:57:20 2024 +0200"
      },
      "committer": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Fri Apr 26 02:58:54 2024 +0200"
      },
      "message": "fuzz: Fix icmp6 matching and checksum computation\n"
    },
    {
      "commit": "9d171be3899e4e94e418a2975fdec41da194e986",
      "tree": "03505bd67467c6d0289935479512a833ab809eda",
      "parents": [
        "7f792810f14ee77a4826d192afa9ae7f7ee35f19"
      ],
      "author": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Fri Apr 26 02:58:50 2024 +0200"
      },
      "committer": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Fri Apr 26 02:58:54 2024 +0200"
      },
      "message": "fuzz: Drop debugging\n"
    },
    {
      "commit": "7f792810f14ee77a4826d192afa9ae7f7ee35f19",
      "tree": "578c8da40239dcbea23845024e25edc02ad82129",
      "parents": [
        "3a9992eb313c8f1ae12f7a4ab9242928e0963011"
      ],
      "author": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Fri Apr 26 02:52:22 2024 +0200"
      },
      "committer": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Fri Apr 26 02:56:45 2024 +0200"
      },
      "message": "fuzz: Drop debugging\n"
    },
    {
      "commit": "3a9992eb313c8f1ae12f7a4ab9242928e0963011",
      "tree": "7a8411f6e0a4662b5e3a392fb8008365c9d10824",
      "parents": [
        "ab0db890a9857e27acd894ce659e98e72d429ef4"
      ],
      "author": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Thu Apr 25 23:32:11 2024 +0200"
      },
      "committer": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Thu Apr 25 23:32:11 2024 +0200"
      },
      "message": "fuzz: Add ARP and NDP cases\n"
    },
    {
      "commit": "ab0db890a9857e27acd894ce659e98e72d429ef4",
      "tree": "fe8ed95d992391fef903bd9f49df3221e9c23734",
      "parents": [
        "0b3155e18fa3279cce841b9828cd4feab5e5b7a8"
      ],
      "author": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Thu Apr 25 20:24:15 2024 +0200"
      },
      "committer": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Thu Apr 25 20:34:55 2024 +0200"
      },
      "message": "fuzz: Add IPv6 cases\n"
    },
    {
      "commit": "0b3155e18fa3279cce841b9828cd4feab5e5b7a8",
      "tree": "64d52cd4787fae91eeb72140f8ad0a84a3d25916",
      "parents": [
        "afed1c10a5419d0acc44bc957448f72c0467c797"
      ],
      "author": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Thu Apr 25 20:25:56 2024 +0200"
      },
      "committer": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Thu Apr 25 20:26:22 2024 +0200"
      },
      "message": "mbuf: Do not reallocate when the requested size already fits exactly\n"
    },
    {
      "commit": "afed1c10a5419d0acc44bc957448f72c0467c797",
      "tree": "ee79280a51ff57c91c8489c7cc6fa55944258f84",
      "parents": [
        "ef3ee7396c0d9c96f2100ec6e1c83a6921f6b5be"
      ],
      "author": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Thu Apr 25 20:20:21 2024 +0200"
      },
      "committer": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Thu Apr 25 20:21:18 2024 +0200"
      },
      "message": "mbuf: Fix copying headers\n\nSince we increase m-\u003em_len by header_size, we mustn\u0027t add header_size\nagain when copying.\n\nn-\u003em_len also needs to be subtracted header_size, since we advance\nn-\u003em_data by header_size.\n\nThis only had effect for ipv6 trafic with debug builds\n"
    },
    {
      "commit": "ef3ee7396c0d9c96f2100ec6e1c83a6921f6b5be",
      "tree": "b06ab0bf242cfbd8446e19a6a5889e450ee99422",
      "parents": [
        "dcdfd78b0cc72547103157777a6e5a63a0852bc8"
      ],
      "author": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Thu Apr 25 20:10:57 2024 +0200"
      },
      "committer": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Thu Apr 25 20:10:57 2024 +0200"
      },
      "message": "oss-fuzz: Fix udp-h and tcp-h corpuses\n"
    },
    {
      "commit": "dcdfd78b0cc72547103157777a6e5a63a0852bc8",
      "tree": "91af3b26562f7e82af7791c8c31d08c0c6a8c1ac",
      "parents": [
        "95f4a84d904d3e0303b3b1a9f8dcd00b5e2eaffc"
      ],
      "author": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Thu Apr 25 20:08:12 2024 +0200"
      },
      "committer": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Thu Apr 25 20:08:12 2024 +0200"
      },
      "message": "fuzz: comment coherency\n"
    },
    {
      "commit": "95f4a84d904d3e0303b3b1a9f8dcd00b5e2eaffc",
      "tree": "e80c1e4ea1914a444cb8cd54086482a424251c27",
      "parents": [
        "af234819f727124e2afc6e6d0507545f61c8fb59"
      ],
      "author": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Thu Apr 25 19:56:39 2024 +0200"
      },
      "committer": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Thu Apr 25 19:56:39 2024 +0200"
      },
      "message": "fuzz: Simplify TCP checksum code\n"
    },
    {
      "commit": "af234819f727124e2afc6e6d0507545f61c8fb59",
      "tree": "c5cf5b752b6783589acb8261d4dff60f4de9fd9a",
      "parents": [
        "f619f9f467bc1b8cc3150d480b1d2e8c4e85e114"
      ],
      "author": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Thu Apr 25 17:04:41 2024 +0200"
      },
      "committer": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Thu Apr 25 17:04:41 2024 +0200"
      },
      "message": "Note changes that can probably be security issues\n"
    },
    {
      "commit": "f619f9f467bc1b8cc3150d480b1d2e8c4e85e114",
      "tree": "dfc0631a0261c6b31585f420b65a63b8bc332f43",
      "parents": [
        "9dee7f19ced61ad653335b8bd7ab70a02f84895e"
      ],
      "author": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Thu Apr 25 17:01:51 2024 +0200"
      },
      "committer": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Thu Apr 25 17:01:51 2024 +0200"
      },
      "message": "Add changelog for next release\n"
    },
    {
      "commit": "9dee7f19ced61ad653335b8bd7ab70a02f84895e",
      "tree": "2b0fb01543aff4a8b8ac5c7adb2811888d76e460",
      "parents": [
        "c76d880a2cb5460132dab20eaac6867f9196df98"
      ],
      "author": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Thu Apr 25 16:32:24 2024 +0200"
      },
      "committer": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Thu Apr 25 16:32:27 2024 +0200"
      },
      "message": "eth: pad ethernet frames to 60 bytes\n\nFixes #34\n"
    },
    {
      "commit": "c76d880a2cb5460132dab20eaac6867f9196df98",
      "tree": "76ff6f8482d17cdaf54da7242b172f16a364b198",
      "parents": [
        "ceb6fb6d75e15eb5f6c47db89332e4e8ae4e843b"
      ],
      "author": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Thu Apr 25 16:25:59 2024 +0200"
      },
      "committer": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Thu Apr 25 16:25:59 2024 +0200"
      },
      "message": "udp: Make cleanup loop clearer\n\n382bff02f21b (\"Fix possible infinite loops and use-after-free\") rewrote\nthe loop to make it cleaner that we go through items, but was always\ndetaching the first elements, which happens to be right, but less\nclear than detaching the element being processed.\n\nFixes #32\n\nReported-by: Peter Maydell\n"
    },
    {
      "commit": "ceb6fb6d75e15eb5f6c47db89332e4e8ae4e843b",
      "tree": "465f84d55f9325414e623488aeadcc0f02b25530",
      "parents": [
        "4de210bcb21d6ebbf38068a1d26088acf97a8010"
      ],
      "author": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Thu Apr 25 15:46:09 2024 +0200"
      },
      "committer": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Thu Apr 25 15:46:09 2024 +0200"
      },
      "message": "fuzz: Fix tftp fuzz actually receiving a file\n"
    },
    {
      "commit": "4de210bcb21d6ebbf38068a1d26088acf97a8010",
      "tree": "22cd126b7404b82a2486582a4ff1d3a7433bfab0",
      "parents": [
        "c29ec30a655504778e8724bdd401b9afec6820e5"
      ],
      "author": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Thu Apr 25 15:45:13 2024 +0200"
      },
      "committer": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Thu Apr 25 15:45:17 2024 +0200"
      },
      "message": "tftp: cleanup sessions remaining at slirp shutdown\n\nTo avoid leak reports.\n"
    },
    {
      "commit": "c29ec30a655504778e8724bdd401b9afec6820e5",
      "tree": "7286d4acb9804cdd380ea9a807a101d3a133592b",
      "parents": [
        "ea785a27a2571f2995bac7264755629e7bb9edef"
      ],
      "author": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Thu Apr 25 15:44:46 2024 +0200"
      },
      "committer": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Thu Apr 25 15:44:46 2024 +0200"
      },
      "message": "tftp: Fix use-after-free\n\nSpotted thanks to ASAN \u0026 fuzzing.\n"
    },
    {
      "commit": "ea785a27a2571f2995bac7264755629e7bb9edef",
      "tree": "41cb12ca6d39855579257ecccaac06a58379c323",
      "parents": [
        "6f28e96e13f00a3d43fc300949d527afdc345bca"
      ],
      "author": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Wed Apr 24 16:07:37 2024 +0200"
      },
      "committer": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Thu Apr 25 01:52:37 2024 +0200"
      },
      "message": "Add fuzzing CI\n"
    },
    {
      "commit": "6f28e96e13f00a3d43fc300949d527afdc345bca",
      "tree": "f1876bc29027e2d65279dc87c6f80a76ef2bfd2d",
      "parents": [
        "f045cdc9be609df412c0543c36b457d0b76ba95a"
      ],
      "author": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Wed Apr 24 16:50:13 2024 +0200"
      },
      "committer": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Thu Apr 25 01:52:37 2024 +0200"
      },
      "message": "fuzz: Add ip filtering\n\nIt\u0027s no use sending to the slirp stack the trace packets which are\nsupposed to be generated by the stack. Also no use fuzzing them, then.\n"
    },
    {
      "commit": "f045cdc9be609df412c0543c36b457d0b76ba95a",
      "tree": "97673235b3b1fec79080dc4e68ebd1a2f777e45c",
      "parents": [
        "884d39ee32509b49f25a74161ce5f6809ccfb422"
      ],
      "author": {
        "name": "Marc-André Lureau",
        "email": "marcandre.lureau@redhat.com",
        "time": "Wed Apr 03 00:52:21 2019 +0200"
      },
      "committer": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Thu Apr 25 01:23:00 2024 +0200"
      },
      "message": "tcp: hack syn/ack\n\nWe don\u0027t know in advance what the trace will have received as sequence\nnumber, so when fuzzing tcp, just align on what the trace says\n"
    },
    {
      "commit": "884d39ee32509b49f25a74161ce5f6809ccfb422",
      "tree": "af43050dff3f66e08370c832dc1df28afe1c4f57",
      "parents": [
        "0e9b0ad45b43e638f9334919cfc7a902a87663e0"
      ],
      "author": {
        "name": "Maelie CHAN PENG",
        "email": "maelie.chan-peng@u-bordeaux.fr",
        "time": "Wed Apr 24 03:03:48 2024 +0200"
      },
      "committer": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Thu Apr 25 01:23:00 2024 +0200"
      },
      "message": "fuzzing: Increase coverage\n\n- by adding trace examples\n- by separating fuzzing different headers / data\n- by adding an echo TCP server forward\n- also factorizing code along the way\n\nAlso-by: JC \u003cluffy33820@gmail.com\u003e\nAlso-by: Alisee Lafontaine \u003calisee.lafontaine@u-bordeaux.fr\u003e\n"
    },
    {
      "commit": "0e9b0ad45b43e638f9334919cfc7a902a87663e0",
      "tree": "f3c076b9373ced88fe52aa5b0d9b5d5d02abfa5a",
      "parents": [
        "b5f4b774b161bdfcc818bb49a91fb655a5a775f7"
      ],
      "author": {
        "name": "jeremy marchand",
        "email": "jeremy.marchand@etu.u-bordeaux.fr",
        "time": "Wed Apr 24 01:06:29 2024 +0200"
      },
      "committer": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Thu Apr 25 01:23:00 2024 +0200"
      },
      "message": "First attempt at fuzzing with libFuzzer based on @elmarco work\n\nThe slirp_fuzz_ip_header harness should be working and is a basic\nexample of a custom mutator focusing on part of the input.\nThe slirp_fuzz_udp harness needs a bit of work to calculate the checksum\nproperly.\nThe code can be built using `meson build` followed by `ninja -C build`,\nthe current meson.build file is not suitable with a general usage.\nTo run the fuzzing code just run `build/fuzzing/fuzz-ip-header\nfuzzing/IN -detect_leaks\u003d0`, crash will be sent to current folder and\nnew input will go directly in the `IN` folder.\nThe main point to focus on to improve the fuzzing should be generating\na better corpus.\n"
    },
    {
      "commit": "b5f4b774b161bdfcc818bb49a91fb655a5a775f7",
      "tree": "49fb432bc2b89dfb1db218a74c834efa81051264",
      "parents": [
        "bdba265ddf1124c4d5475264532254c728b7e78c"
      ],
      "author": {
        "name": "Marc-André Lureau",
        "email": "marcandre.lureau@redhat.com",
        "time": "Tue Mar 26 01:53:57 2019 +0100"
      },
      "committer": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Thu Apr 25 01:23:00 2024 +0200"
      },
      "message": "Start some fuzzing test\n\nYou can run the tests over the corpus with a \"regular\" build, then\n$ fuzzing/fuzz-input ../fuzzing/IN/*\n\nOr building with fuzzing enabled, and running:\n$ CFLAGS\u003d\"-fsanitize\u003dfuzzer\" CC\u003dclang CXX\u003dclang++ meson -Db_lundef\u003dfalse\n$ fuzzing/fuzz-input  ../fuzzing/IN\n\nI have an initial corpus which was generated by running fuzz-input for\na few hours starting with qemu.pkt, which is the first packet sent by\nqemu.  Sadly, it only covers 25%... I tried to increase the coverage\nmanually, see for example tftp-get-blah.pkt, but that\u0027s not so simple,\nas multiple packets may be required to setup a session etc.\n\nNeverthess, the fuzzing already found a few issues, so it might be\nworth to add it in this current form.\n\nfuzzing/oss-fuzz.sh is used by oss-fuzz, for Google fuzzing.\n(see documentation if you want to reproduce the build locally)\n\nSigned-off-by: Marc-André Lureau \u003cmarcandre.lureau@redhat.com\u003e\n"
    },
    {
      "commit": "bdba265ddf1124c4d5475264532254c728b7e78c",
      "tree": "5555747b1c6a20d04647bfd33e794afc2b9b5400",
      "parents": [
        "0ad461c225cfcc263ea1c2dd5cbb6093d146b093"
      ],
      "author": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Thu Apr 25 01:22:26 2024 +0200"
      },
      "committer": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Thu Apr 25 01:23:00 2024 +0200"
      },
      "message": "tcp: Fix testing for last fragment\n\nSpotted thanks to ASAN \u0026 fuzzing.\n"
    },
    {
      "commit": "0ad461c225cfcc263ea1c2dd5cbb6093d146b093",
      "tree": "01c614ab6d76aa99df1b3af192ef1d9b4084d0b1",
      "parents": [
        "b39edde03fdcd676a07c169ad845312dc5f54e28"
      ],
      "author": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Wed Apr 24 18:42:34 2024 +0200"
      },
      "committer": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Wed Apr 24 18:43:24 2024 +0200"
      },
      "message": "icmp: Fix msg duplication for debugging\n\nIn case of socket error, we are not consuming the package. So duplicate\nit after socket operations, once we are sure that we will consume the\npacket.\n"
    },
    {
      "commit": "b39edde03fdcd676a07c169ad845312dc5f54e28",
      "tree": "8a6b983716c79a231139e94d46a09e22e7674f08",
      "parents": [
        "41b92e2731933a820658fc6e9a69732bf30e6635"
      ],
      "author": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Wed Apr 24 03:28:46 2024 +0200"
      },
      "committer": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Wed Apr 24 03:33:29 2024 +0200"
      },
      "message": "tcp: Fix allocating room\n\nFor reassembly, tcpiphdr2qlink needs an additional struct qlink before the\ntcpiphdr\n"
    },
    {
      "commit": "41b92e2731933a820658fc6e9a69732bf30e6635",
      "tree": "bbd0c7f661f8c75d448de823631ca65104f47a55",
      "parents": [
        "c195d025b031f458acb2e603395afd49b19f0a2a"
      ],
      "author": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Wed Apr 24 02:39:25 2024 +0200"
      },
      "committer": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Wed Apr 24 02:39:40 2024 +0200"
      },
      "message": "mbuf: Be extra careful with freed pointer\n\nAs coverity reports, we are not supposed to do anything with a freed\npointer, not even assigning it to m. So break the loop before doing so.\n"
    },
    {
      "commit": "c195d025b031f458acb2e603395afd49b19f0a2a",
      "tree": "6be48233f148ae1d150c4b66ee6bbda6184ffa59",
      "parents": [
        "d3963e92499f3d71a213975480030e74ea73a774"
      ],
      "author": {
        "name": "Marc-André Lureau",
        "email": "marcandre.lureau@redhat.com",
        "time": "Wed Apr 24 02:15:19 2024 +0200"
      },
      "committer": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Wed Apr 24 02:15:39 2024 +0200"
      },
      "message": "mbuf: remove \u0027#define if*\u0027 member accessors\n\nMaking the code unnecessarily complicated.\n\nSigned-off-by: Marc-André Lureau \u003cmarcandre.lureau@redhat.com\u003e\n"
    },
    {
      "commit": "d3963e92499f3d71a213975480030e74ea73a774",
      "tree": "66865c6be1dc4f8a1ce5b359eebca7dfaad0311c",
      "parents": [
        "d0158bf4cab929d4143a78d4c992cf271bf264e0"
      ],
      "author": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Wed Apr 24 02:09:56 2024 +0200"
      },
      "committer": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Wed Apr 24 02:11:25 2024 +0200"
      },
      "message": "m_cleanup_list: Fix missing cleanup packets from the same session\n\nWhen several packets are queued for emission for the same socket session, we\nneed to clean them all.\n\nSpotted thanks to ASAN \u0026 fuzzing.\n\nSigned-off-by: Samuel Thibault \u003csamuel.thibault@ens-lyon.org\u003e\n"
    },
    {
      "commit": "d0158bf4cab929d4143a78d4c992cf271bf264e0",
      "tree": "b13724fc5676dc8fb7b07cc6823b080a13aa5a73",
      "parents": [
        "fd0e7c8e5534f99301539c8ef7e6afa37f846cc6"
      ],
      "author": {
        "name": "Marc-André Lureau",
        "email": "marcandre.lureau@redhat.com",
        "time": "Wed Apr 03 00:16:41 2019 +0200"
      },
      "committer": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Tue Apr 23 23:43:12 2024 +0200"
      },
      "message": "tcp-input: inline TCP_REASS\n\nThe macro just makes things more difficult to debug, inline it.\n\nSigned-off-by: Marc-André Lureau \u003cmarcandre.lureau@redhat.com\u003e\n"
    },
    {
      "commit": "fd0e7c8e5534f99301539c8ef7e6afa37f846cc6",
      "tree": "611d23a631cdbc6aa85ea25c4262d5a02dfdbee1",
      "parents": [
        "8399d506304927014c55cb11d088f48b39e2579e"
      ],
      "author": {
        "name": "Marc-André Lureau",
        "email": "marcandre.lureau@redhat.com",
        "time": "Tue Mar 26 16:01:53 2019 +0100"
      },
      "committer": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Tue Apr 23 23:35:31 2024 +0200"
      },
      "message": "ip: remove second argument from ip_stripoptions()\n\nIt\u0027s not being used.\n\nSigned-off-by: Marc-André Lureau \u003cmarcandre.lureau@redhat.com\u003e\n"
    },
    {
      "commit": "8399d506304927014c55cb11d088f48b39e2579e",
      "tree": "ff15649d8be6d253b7c05872d790c6f9add556e1",
      "parents": [
        "129077f9870426d1b7b3a8239d8b5a50bee017b4"
      ],
      "author": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Sun Oct 22 22:53:20 2023 +0200"
      },
      "committer": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Sun Oct 22 22:53:23 2023 +0200"
      },
      "message": "Document endianness of slirp_add_hostfwd parameters\n\nFixes #70\n"
    },
    {
      "commit": "129077f9870426d1b7b3a8239d8b5a50bee017b4",
      "tree": "43fdf79e4f3f133cad0708aaf56373f6bc1a7d36",
      "parents": [
        "44e7877ae8769df127426014c30672086328ddb9"
      ],
      "author": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Sun Aug 13 16:00:36 2023 +0200"
      },
      "committer": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Sun Aug 13 16:01:23 2023 +0200"
      },
      "message": "Avoid including \u003csys/param.h\u003e on windows\n\nFixes #72\n"
    },
    {
      "commit": "44e7877ae8769df127426014c30672086328ddb9",
      "tree": "d6e957e1d1a75158daa76e8af4443387a733db3d",
      "parents": [
        "2533bf21126a28f85e40fbfbbc9ba94fdb297530"
      ],
      "author": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Tue Jul 25 00:44:40 2023 +0200"
      },
      "committer": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Tue Jul 25 00:44:40 2023 +0200"
      },
      "message": "Document functions\n"
    },
    {
      "commit": "2533bf21126a28f85e40fbfbbc9ba94fdb297530",
      "tree": "2209a9e1338f055e1b1097ae82d2258afe4f56bc",
      "parents": [
        "26be815b86e8d49add8c9a8b320239b9594ff03d",
        "6fc8d28368b8de624c7d1e7e42db29bb4dceed96"
      ],
      "author": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Mon Jun 19 11:30:51 2023 +0000"
      },
      "committer": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Mon Jun 19 11:30:51 2023 +0000"
      },
      "message": "Merge branch \u0027strip-ip-header-from-icmp-packet-in-macos\u0027 into \u0027master\u0027\n\nicmp: Handle ICMP packets as IPPROTO_IP on BSD\n\nSee merge request slirp/libslirp!133"
    }
  ],
  "next": "6fc8d28368b8de624c7d1e7e42db29bb4dceed96"
}
