)]}'
{
  "commit": "97f7bf113eb50fcdaf0c73aa2ee01e5355abc073",
  "tree": "2efc788f71855eae6b5aebf68ead7e0a36c2cfcf",
  "parents": [
    "57941c9c86357a6a642f9ee3279d881df4043b6d"
  ],
  "author": {
    "name": "Daniel P. Berrangé",
    "email": "berrange@redhat.com",
    "time": "Fri Mar 15 14:29:11 2024 +0000"
  },
  "committer": {
    "name": "Daniel P. Berrangé",
    "email": "berrange@redhat.com",
    "time": "Wed Jul 24 10:39:10 2024 +0100"
  },
  "message": "crypto: propagate errors from TLS session I/O callbacks\n\nGNUTLS doesn\u0027t know how to perform I/O on anything other than plain\nFDs, so the TLS session provides it with some I/O callbacks. The\nGNUTLS API design requires these callbacks to return a unix errno\nvalue, which means we\u0027re currently loosing the useful QEMU \"Error\"\nobject.\n\nThis changes the I/O callbacks in QEMU to stash the \"Error\" object\nin the QCryptoTLSSession class, and fetch it when seeing an I/O\nerror returned from GNUTLS, thus preserving useful error messages.\n\nReviewed-by: Philippe Mathieu-Daudé \u003cphilmd@linaro.org\u003e\nSigned-off-by: Daniel P. Berrangé \u003cberrange@redhat.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "926f19c115090975ea77b06962ced02e628eec05",
      "old_mode": 33188,
      "old_path": "crypto/tlssession.c",
      "new_id": "77286e23f4698be82996472febdf2d849f6bfacc",
      "new_mode": 33188,
      "new_path": "crypto/tlssession.c"
    },
    {
      "type": "modify",
      "old_id": "291e6025403d16bd5250d6732c7cd7d50fc4b975",
      "old_mode": 33188,
      "old_path": "include/crypto/tlssession.h",
      "new_id": "f694a5c3c55798ce8b1cd4daaf6187e53f364f46",
      "new_mode": 33188,
      "new_path": "include/crypto/tlssession.h"
    },
    {
      "type": "modify",
      "old_id": "9d8bb158d19fd1601c16297bfb9c9d1fbdfd77ba",
      "old_mode": 33188,
      "old_path": "io/channel-tls.c",
      "new_id": "aab630e5ae32aa0e3187b93342e5b81cbfc876eb",
      "new_mode": 33188,
      "new_path": "io/channel-tls.c"
    },
    {
      "type": "modify",
      "old_id": "b12e7b6879270e6ad30434b5b7a2301d2b9a2220",
      "old_mode": 33188,
      "old_path": "tests/unit/test-crypto-tlssession.c",
      "new_id": "3395f73560fb91c7e641435d07e2bd1398556a89",
      "new_mode": 33188,
      "new_path": "tests/unit/test-crypto-tlssession.c"
    }
  ]
}
