delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2025/01/22/16:59:41

DMARC-Filter: OpenDMARC Filter v1.4.2 delorie.com 50MLxf193507640
Authentication-Results: delorie.com; dmarc=pass (p=none dis=none) header.from=cygwin.com
Authentication-Results: delorie.com; spf=pass smtp.mailfrom=cygwin.com
DKIM-Filter: OpenDKIM Filter v2.11.0 delorie.com 50MLxf193507640
Authentication-Results: delorie.com;
dkim=pass (1024-bit key, unprotected) header.d=cygwin.com header.i=@cygwin.com header.a=rsa-sha256 header.s=default header.b=oSrs2CcO
X-Recipient: archive-cygwin AT delorie DOT com
DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 637F43858280
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cygwin.com;
s=default; t=1737583179;
bh=bpuKXD8BCFqREf8RyvW4j94fDqazpRY8lN8CejERcDk=;
h=To:CC:Subject:Date:References:In-Reply-To:List-Id:
List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe:
From:Reply-To:From;
b=oSrs2CcOQMIgY/s4S03hBfFKT6FtDim2f2U53TsmJTmf1ZT0P+ZfWgXaz8OF2VcAg
bXhzCW3hGQDLWuWgVHSwiUqNVf6ZlHpiJwRVzYggpWxzuelfiHGPeDGnRrumFTkqHq
oCTfwdCeb+STtXnARjkdYb14zsco13dIf9/Zhw4M=
X-Original-To: cygwin AT cygwin DOT com
Delivered-To: cygwin AT cygwin DOT com
DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 246DE3858CDA
ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 246DE3858CDA
ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1737583149; cv=pass;
b=EYFgYr0pgblYn+VdMcYJrTNRXmSkiUnb+OeMXD1/CREk+vC5bLXDcWGhgZYrde2dfVqwLSEbD54bRkUvUNQADeZxtFFsTrmMnqiu5R4WMF2UmG+CCBQOBUl73D26up3jGJZxdAf9FXxSyB2/wq18yYbZJWdJQFszekth8isC+hI=
ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key;
t=1737583149; c=relaxed/simple;
bh=M77rOeq0QhG4jwAQ/zUU1n6Bi4sXCtqFS/3YW/KhFDU=;
h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version;
b=moNIzWaX75QsQBMwWcw7P2tsyilGee0sfc31bsq7GBY1w9eMGywaOqtDzAiPx5RGq/K/w+mlk4V0g529PsehXty3h+kFEeDjqncoyeBWA8uaRDWDcvOG0wlzdIJYgUnKXadb4ylBLJAiLQphUg2G1GsVCnM774CwskCB4JYNkYY=
ARC-Authentication-Results: i=2; server2.sourceware.org
DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 246DE3858CDA
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
b=u/s/+QRTMt+y/W6HaHqSpZ+5id+aqLn3jAiZ1/zkLoF0yEMZhi1wXjg4tBjUeScnkcAOEJU2D89rXOpxnKlOLnV6hQWRpfs9aLhiTs+6DlemmZW4EfO9zk3Gfnf1JPdMWbhOaGelSRYh/4Z0gpRuW7gIjBbA84VqwQ2c3bmrZdMTyoQm+p0sEqjUraaG94If4eoyylF71+bFyEQDjKUA9+k8KTrQ6OboNxaqBDPSdbsiFgjJmEZMEWicXJSQN1kBVplvr1pvC10ORw3J/Eslft4Q0Y0UYN7Q3R+lZ8lUyhg8SDG/UrgXQsS+Pq0YxchW/7YuThA51SGkjA062yhZTw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
s=arcselector10001;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
bh=D3JCtyO++1LyBo135D5fF8vPRth7Bi/B1eCch0lnuxY=;
b=Zyer85YQpgGzuTqNAC7fJiAAculMk5bFFVE9AcpZwduOkd9ieLpnhJEuv35TO0ohreR/SvXo2mSYUlgikykG4mX4JSFtM+8olV6wiafn6DZ9aa6+ojJ9rnrJUHCPhARvr0AltIvyokDVs/8grbpdY4H7OpgkVkrP9pwatEpA9bFhSb3q+Dz0qwHPkKc4IJnPPJx13lm3WogPAbTcvrvjBaEBed1ltcCYOfyhyFf+nGK1TnmhZS5moU1j4LNm9ZRCFs/aqB7Apl+URyfYN9KaNJ9MFfcLB7HJ8VFzb+z25M9TkMx1KOUXYOSMOp+IapKRpWoUuy0cPhhiurXjW9HDDQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
smtp.mailfrom=microsoft.com; dmarc=pass action=none
header.from=microsoft.com; dkim=pass header.d=microsoft.com; arc=none
To: "cygwin AT cygwin DOT com" <cygwin AT cygwin DOT com>
CC: Sebastian Hernandez <sebhernandez AT microsoft DOT com>,
Veronica Giaudrone
<Veronica DOT Giaudrone AT microsoft DOT com>
Subject: Re: [Bug check/report] UnDocumented call to
ntdll.dll!NtAssignProcessToJobObject in msys2.0.dll / cygwin - included in
mingit/Git for Windows
Thread-Topic: [Bug check/report] UnDocumented call to
ntdll.dll!NtAssignProcessToJobObject in msys2.0.dll / cygwin - included in
mingit/Git for Windows
Thread-Index: Adtjz7Dcw6j7xJUNQkiXzhJq8xXTeAJSGVQP
Date: Wed, 22 Jan 2025 21:59:05 +0000
Message-ID: <PH0PR21MB134382D4A79602A85A7FA363CBE12@PH0PR21MB1343.namprd21.prod.outlook.com>
References: <IA3PR21MB42696BB656E25C4E405BDB3E8C1D2 AT IA3PR21MB4269 DOT namprd21 DOT prod DOT outlook DOT com>
In-Reply-To: <IA3PR21MB42696BB656E25C4E405BDB3E8C1D2@IA3PR21MB4269.namprd21.prod.outlook.com>
Accept-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator:
msip_labels: MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Enabled=True;
MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_SiteId=72f988bf-86f1-41af-91ab-2d7cd011db47;
MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_SetDate=2025-01-22T21:59:05.681Z;
MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Name=General;
MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_ContentBits=0;
MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Method=Standard;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: PH0PR21MB1343:EE_|PH0PR21MB2063:EE_
x-ms-office365-filtering-correlation-id: 839160a4-80c0-4e15-8a05-08dd3b2ffd50
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
ARA:13230040|376014|1800799024|366016|10070799003|7053199007|13003099007|8096899003|38070700018;
x-microsoft-antispam-message-info: =?Windows-1252?Q?5hNoovgbbhpNKRaiYEQXlOUreRv6qmPNDUxv3q+2pKfWTCIZVv3gZXm/?=
=?Windows-1252?Q?qpyBY5kA6zHTrGv/8qYYcWE+RSFRqAxYyUvtEO8okOsSVI1kAwuYHzbl?=
=?Windows-1252?Q?qQX/RCbnQBtrLY5pFsql0rjS5KPToNRQFle3PH8THH8UoNisjxZsDvtI?=
=?Windows-1252?Q?yrLC1au/DKwR+Dtn1BKIQKRkWttbW4rLNfGW8EWq2irclbqwk8y1PcYM?=
=?Windows-1252?Q?IGVeHebUpi3ri266IglJk3cCUh7qVHmfQ1X3z1mFjU4RBDFO7EEbSlzr?=
=?Windows-1252?Q?YLBDcgZX/UoxrcGNZn5s79F+YmJZwSc6NXrEXzPb03MFoZe5TaOx9eOr?=
=?Windows-1252?Q?IJBT/PBAykdMW2eKdpec69Mty4zAtkWWmNlZGjMZ2ueHzzlhOo8FYS5+?=
=?Windows-1252?Q?V+hDqLdSkgKxrlhvurpF8TFkC4DSQxYnvdMy5/SxLPO87bMwm9CkySxY?=
=?Windows-1252?Q?uf3UBdRweqwd8bHDbg/ysKCyR4YOPbghgYq5md7PHxXgX1AZUbvN0DV9?=
=?Windows-1252?Q?RCp6gx20zlI79WR3t66bLtZGvVvk9J+KLm2S2Fppx1uSAZe1wWUEewm1?=
=?Windows-1252?Q?fsAc6nc0YzpWXoP0Mt8y35+TSbJcFyBCqylV2gzSivKhShRQdNwlTil5?=
=?Windows-1252?Q?jIC1A1BiAbT4/8l4cIa+6DZZizf5i1JI3bydnyChqVTdl+yPjUUbqBZb?=
=?Windows-1252?Q?vIm9J4LVZJpMIQOpYHpY5Lsk9oMzA/MufvbnvwaRLqHeot3AaQwciE1Q?=
=?Windows-1252?Q?agsRpoP5v53/nIO9Z44q5TXnDKhxU4BMylBBe9NJHHj99Alhs+kvSeMb?=
=?Windows-1252?Q?jjzTdT5jUN1DKHZVTS/N6XsczdBjGJWOdjIhHCrIo8Q2kBztQAPHg2rh?=
=?Windows-1252?Q?IhT7CaZLPNpf8KY/l6EbtXHhAeKXtFYTQMRsaEcJDIWYiRErcQHOvvM5?=
=?Windows-1252?Q?siCF20iJeHYS0ha7qCd76UdbTt8NBgllCsFlXCkLsyxRB5wl9WMpYkz9?=
=?Windows-1252?Q?YI0mQCndCL9a7M9ASgj2E8O/6mXgCTqllVrP7md6DsJrdO6MLnA78z2p?=
=?Windows-1252?Q?LLn2J2bFX6EKpK6eX6TyX/vCFBbIECto9qF0LqAAQcL8whlrafN4zCUw?=
=?Windows-1252?Q?izbAllzk9no08OOLApjFUYmkjKlMlq5fQI+cPBImkKQhUZvsiL3TkMiJ?=
=?Windows-1252?Q?6+g03R1NJzPwUeSk/rhkLZDVekWD2a1eM1B+JFUXmaJDmgpUAyfr3qat?=
=?Windows-1252?Q?y7Xs65ZihQ21euWzmc/Cn5QamolrqAV3oTuSDtR9IF2IyLeD00HpIXES?=
=?Windows-1252?Q?O78MgrgXJgw3KnXMIk8/9P3mdtdRX9LZgMUTwUG504caTo9osnD6DARn?=
=?Windows-1252?Q?pcRVbccMKR/sxNczLrxFthQW2i9Ur3L2rL3CZzCYlOiZQk0BY4gviSAR?=
=?Windows-1252?Q?zt7IwWeRCfTUBl81in68d/bZIZXZ3ng3nBohnxaqqOuXzFF2P/2JmVg9?=
=?Windows-1252?Q?C9+GhCvPvqETlqJx8BlR3fDlZPVeAg=3D=3D?=
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:;
IPV:NLI; SFV:NSPM; H:PH0PR21MB1343.namprd21.prod.outlook.com; PTR:; CAT:NONE;
SFS:(13230040)(376014)(1800799024)(366016)(10070799003)(7053199007)(13003099007)(8096899003)(38070700018);
DIR:OUT; SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?Windows-1252?Q?20xPjKIzVwFds0zxTFRH6M7QoZ36070boUGwXvWtkcXdDg1B7ne5h3Fz?=
=?Windows-1252?Q?/teSfRsqggGP7RUoRO/2o7oypuBUjd+8wrOce0Qf/YEZLC+LtAdnhHZy?=
=?Windows-1252?Q?FhbRFbrEKroRF4Xciuwr0eZm2cJLqCVQp9FUruixNc32TeU6H4Kd4mj/?=
=?Windows-1252?Q?8/K0UjHjMzSYzhU2GXqUrqQ8zE5Li/BocRQElK7WuuqRJbMp8tZoXK1w?=
=?Windows-1252?Q?t+U8S4hoBDJNpqELvrX6ngbPtIk+r4du8pNy/E9QKQ0v4XvBWWkPQKZh?=
=?Windows-1252?Q?JiMGSU1Hn2s2+72VCOhcgl7VBU0OjKKKLVw+6CJmJAkQ0zr0HhJ1/yHD?=
=?Windows-1252?Q?rkozdtAnDw+xzhKfJ0SEwVvkFOesL4fQDqg484HladDqUBVULtGtNPZF?=
=?Windows-1252?Q?8WqmpqsH2HBw5JSZ7SfXn92bAdCwodZ4aLpI5nyXKiuFdIQsaZ/+Mabv?=
=?Windows-1252?Q?9dBtYoVNw+H6yjgtGLX+2rS7z7HIZxAyAiEpoh/bN0hPGXJmXYI4wATw?=
=?Windows-1252?Q?QaKWLRgDOv1fzRQwAELTsQYuPJL3xNKzr2kMnavcfPT0KAMyLQtZTWsR?=
=?Windows-1252?Q?MSnm0sHuqursci7O0WmR+bZVBjObkysyoKHSEcGDY19vJ6OJhsMgXc0N?=
=?Windows-1252?Q?GCzqTD2RrqZXxnUF3zAYFI+fpj8NaMXZaEDMFXn5cij3VuBLJRiu+4rO?=
=?Windows-1252?Q?QOM9hqm7YkNf9CfChaW7FZzGO/EfMCL9FMQpT18xzEGWujOT5MiI3i9X?=
=?Windows-1252?Q?W9pUu/wT0kQNWosiGmGWvFCXTbrJFu1SqDcKGApI0aSp7i9YbyIEZIkX?=
=?Windows-1252?Q?5XwNxeJLtss30koX41Ad4mzeHVeMXt7P2i90WcZ+pyhipREW21gbOR0e?=
=?Windows-1252?Q?fGVdh68SRycnp7+gssVryyUOGcApE0aNZ7U5/CSZQmJgLBZBT2KAjGks?=
=?Windows-1252?Q?/ziNx0qTLnf05RS2wpnegEDv9VzemY7RJUp1vX6Rs4+xuLebeIaOXSmz?=
=?Windows-1252?Q?p/lc1hFrnJvzEn7PcZtbVZOXY/57VswydCsWf8HgF3d2SteJZkn/SJ58?=
=?Windows-1252?Q?ZXctphG8oNXNtwggQoOphhXC5Ik5tTbcywm7J36l/RAmDM+LGSrVf64l?=
=?Windows-1252?Q?0RaT9EdMGdPGQMRbiTWpBrx76NkKb99nDOboqhwK/KN14vCdiDDke9UZ?=
=?Windows-1252?Q?YxZzWXdngAdorIEEdb55Zd8L0XoL0qC1+Nt4rmhM8mwDzbNssL4TKUz4?=
=?Windows-1252?Q?G01BgN2KyIkhuH9jYphWgy4bQ+0L/CVQRkuTvLcpt0lC+GLJVoatpde/?=
=?Windows-1252?Q?In0FjBqMa8E6TADrLqSUUYXHNhS3b+W7BzYVGwY6lLhaKeLYxX9VIgcJ?=
=?Windows-1252?Q?mAqfJSvIUmSfojaYWgR6VsCI9GZ4EGCD4fmmwrjRLkkbH0MMFHXlX4oA?=
=?Windows-1252?Q?9OcJSnpVKkE25TohQncpo+CKws7ITziAKeaMVm0AeRl3zMuW0/d1+mtB?=
=?Windows-1252?Q?Ut9WXogl4YOV3PUCsDjQ2nImbBGJeCUV9GdzSZ2/vpPRx1sy5X7OzTk4?=
=?Windows-1252?Q?sKkbWa63CAsfTmN0VTDv+tnzuI0eshEnXd8rLQ6NfI7TpZhTUomsJ7Ko?=
=?Windows-1252?Q?8p4+EL6arC4l+XFCBZEW/cyri7DGFZA/ifJ5MCX+lMDU8vTIUFEGy06Q?=
=?Windows-1252?Q?TxBv9JpyoQGD0DI5tDzQ0fO2dtXJM3f4QVHfkZ38goJbmERslSmTNsvx?=
=?Windows-1252?Q?VdKzt4XKNhGVpj4HIKjD5aBgqazYgfEIva8kaq4h?=
MIME-Version: 1.0
X-OriginatorOrg: microsoft.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: PH0PR21MB1343.namprd21.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 839160a4-80c0-4e15-8a05-08dd3b2ffd50
X-MS-Exchange-CrossTenant-originalarrivaltime: 22 Jan 2025 21:59:05.5522 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 72f988bf-86f1-41af-91ab-2d7cd011db47
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: aOO7GoWJ08S3IpikTTb8XCcwFgJChfnA3wAI8akgkrCPMhnCiDPhOldPaQUN2plKwhLs1Pa21m4DuaPxMnq4eg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR21MB2063
X-Content-Filtered-By: Mailman/MimeDel 2.1.30
X-BeenThere: cygwin AT cygwin DOT com
X-Mailman-Version: 2.1.30
List-Id: General Cygwin discussions and problem reports <cygwin.cygwin.com>
List-Archive: <https://cygwin.com/pipermail/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-request AT cygwin DOT com?subject=help>
List-Subscribe: <https://cygwin.com/mailman/listinfo/cygwin>,
<mailto:cygwin-request AT cygwin DOT com?subject=subscribe>
From: Whitney Schmidt via Cygwin <cygwin AT cygwin DOT com>
Reply-To: Whitney Schmidt <whschm AT microsoft DOT com>
Sender: "Cygwin" <cygwin-bounces~archive-cygwin=delorie DOT com AT cygwin DOT com>

--_004_PH0PR21MB134382D4A79602A85A7FA363CBE12PH0PR21MB1343namp_
Content-Type: text/plain; charset="Windows-1252"
Content-Transfer-Encoding: quoted-printable

Hi Cygwin list,

Replying to this email to let you know that we've sent updated information =
on the proposed changes to cygwin-developers, including a patch, which we'v=
e also sent to cygwin-patches.
The patch replaces the following undocumented API calls with the correspond=
ing documented APIs:

  *   NtOpenJobObject - OpenJobObjectA<https://learn.microsoft.com/en-us/wi=
ndows/win32/api/winbase/nf-winbase-openjobobjecta>
  *   NtCreateJobObject - CreateJobObjectA<https://learn.microsoft.com/en-u=
s/windows/win32/api/winbase/nf-winbase-createjobobjecta>
  *   NtQueryInformationJobObject - QueryInformationJobObject<https://learn=
.microsoft.com/en-us/windows/win32/api/jobapi2/nf-jobapi2-queryinformationj=
obobject>
  *   NtSetInformationJobObject - SetInformationJobObject<https://learn.mic=
rosoft.com/en-us/windows/win32/api/jobapi2/nf-jobapi2-setinformationjobobje=
ct>
  *
NTAssignProcessToJobObject - AssignProcessToJobObject<https://learn.microso=
ft.com/en-us/windows/win32/api/jobapi2/nf-jobapi2-assignprocesstojobobject>


-Whitney

She/Her/Hers

________________________________
From: Veronica Giaudrone <Veronica DOT Giaudrone AT microsoft DOT com>
Sent: Friday, January 10, 2025 9:25 PM
To: cygwin AT cygwin DOT com <cygwin AT cygwin DOT com>
Cc: Whitney Schmidt <whschm AT microsoft DOT com>; Sebastian Hernandez <sebhernand=
ez AT microsoft DOT com>
Subject: [Bug check/report] UnDocumented call to ntdll.dll!NtAssignProcessT=
oJobObject in msys2.0.dll / cygwin - included in mingit/Git for Windows


Hello Cygwin list,

I=92m part of the Visual Studio team at Microsoft which includes mingit/Git=
 for Windows in our product for Git tooling integration (I=92m copying a co=
uple of folks from my team in this email too). One of our API scanning tool=
s has identified msys2.0.dll calling undocumented Windows APIs like ntdll.d=
ll!NtAssignProcessToJobObject:

  *   In cygwin - https://github.com/search?q=3Drepo%3Acygwin%2Fcygwin+NtAs=
signProcessToJobObject&type=3Dcode with a caller: cygwin/winsup/cygwin/reso=
urce.cc at 21a2c9db6952954608cdf92638b411b15e7606c6 =B7 cygwin/cygwin<https=
://github.com/cygwin/cygwin/blob/21a2c9db6952954608cdf92638b411b15e7606c6/w=
insup/cygwin/resource.cc#L246>
     *   Looks like it was introduced ~3 years ago: https://github.com/cygw=
in/cygwin/commit/1c7384f9d1b692c8b58af4db8c81d2ce0b10ad06#diff-bc84d57ac999=
58a694cb56b977bac1360e35040f9aa421972702219e11055ae8R290
     *   The code indicates to have come from oneTBB/test/tbbmalloc/test_ma=
lloc_compliance.cpp at bd291eb0d1c7f802ca5081a8755562ab786db2a2 =B7 uxlfoun=
dation/oneTBB<https://github.com/uxlfoundation/oneTBB/blob/bd291eb0d1c7f802=
ca5081a8755562ab786db2a2/test/tbbmalloc/test_malloc_compliance.cpp#L56-L78>=
, though in that case the usage is of the documented API instead.



We believe the above call should get replaced by the following documented A=
PI - AssignProcessToJobObject function (jobapi2.h) - Win32 apps | Microsoft=
 Learn<https://learn.microsoft.com/en-us/windows/win32/api/jobapi2/nf-jobap=
i2-assignprocesstojobobject>



Are you aware of this undocumented API call or a reason to not attempt upda=
ting them to documented ones?



The scan identified a few others like:

  *   NtOpenJobObject
  *   NtCreateJobObject
  *   NtOpenMutant =96 we=92re not sure yet of the documented call for this=
 one.
  *   NtQueryInformationJobObject
  *   NtSetInformationJobObject

We need to further investigate as the documented calls may not be identical=
.



I would appreciate any thoughts/feedback or pointing us on the right direct=
ion. My team would be looking into proposing a change if the above sounds r=
easonable to this list.

Thanks,

Veronica



--_004_PH0PR21MB134382D4A79602A85A7FA363CBE12PH0PR21MB1343namp_
Content-Type: application/octet-stream;
	name="0001-replace-undocumented-Nt-calls-with-documented-win32- 1.patch"
Content-Description: 0001-replace-undocumented-Nt-calls-with-documented-win32-
 1.patch
Content-Disposition: attachment;
	filename="0001-replace-undocumented-Nt-calls-with-documented-win32- 1.patch";
	size=7663; creation-date="Wed, 22 Jan 2025 21:55:38 GMT";
	modification-date="Wed, 22 Jan 2025 21:56:02 GMT"
Content-Transfer-Encoding: base64

RnJvbSAyY2YyMTc2ZWU4ZGQzNWJjNGZjYThkNDIwNTMzZGZiMzg1MjQxZDI0IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiAiU2ViYXN0aWFuIEhlcm5hbmRleiAoZnJvbSBEZXYgQm94KSIg
PHNlYmhlcm5hbmRlekBtaWNyb3NvZnQuY29tPgpEYXRlOiBXZWQsIDIyIEphbiAyMDI1IDEwOjIw
OjU5IC0wODAwClN1YmplY3Q6IFtQQVRDSCAxLzFdIHJlcGxhY2UgdW5kb2N1bWVudGVkIE50KiBj
YWxscyB3aXRoIGRvY3VtZW50ZWQgd2luMzIgYXBpcwoKLS0tCiB3aW5zdXAvY3lnd2luL2xvY2Fs
X2luY2x1ZGVzL250ZGxsLmggfCAgNiAtLQogd2luc3VwL2N5Z3dpbi9yZXNvdXJjZS5jYyAgICAg
ICAgICAgIHwgOTMgKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLQogMiBmaWxlcyBjaGFuZ2Vk
LCA2MSBpbnNlcnRpb25zKCspLCAzOCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS93aW5zdXAv
Y3lnd2luL2xvY2FsX2luY2x1ZGVzL250ZGxsLmggYi93aW5zdXAvY3lnd2luL2xvY2FsX2luY2x1
ZGVzL250ZGxsLmgKaW5kZXggNDQ5N2ZlNTNmLi45ZjA3YjM3ZTQgMTAwNjQ0Ci0tLSBhL3dpbnN1
cC9jeWd3aW4vbG9jYWxfaW5jbHVkZXMvbnRkbGwuaAorKysgYi93aW5zdXAvY3lnd2luL2xvY2Fs
X2luY2x1ZGVzL250ZGxsLmgKQEAgLTE0NTEsNyArMTQ1MSw2IEBAIGV4dGVybiAiQyIKICAgTlRT
VEFUVVMgTnRBZGp1c3RQcml2aWxlZ2VzVG9rZW4gKEhBTkRMRSwgQk9PTEVBTiwgUFRPS0VOX1BS
SVZJTEVHRVMsIFVMT05HLAogCQkJCSAgICBQVE9LRU5fUFJJVklMRUdFUywgUFVMT05HKTsKICAg
TlRTVEFUVVMgTnRBbGxvY2F0ZUxvY2FsbHlVbmlxdWVJZCAoUExVSUQpOwotICBOVFNUQVRVUyBO
dEFzc2lnblByb2Nlc3NUb0pvYk9iamVjdCAoSEFORExFLCBIQU5ETEUpOwogICBOVFNUQVRVUyBO
dENhbmNlbFRpbWVyIChIQU5ETEUsIFBCT09MRUFOKTsKICAgTlRTVEFUVVMgTnRDbG9zZSAoSEFO
RExFKTsKICAgTlRTVEFUVVMgTnRDb21taXRUcmFuc2FjdGlvbiAoSEFORExFLCBCT09MRUFOKTsK
QEAgLTE0NjEsNyArMTQ2MCw2IEBAIGV4dGVybiAiQyIKICAgTlRTVEFUVVMgTnRDcmVhdGVGaWxl
IChQSEFORExFLCBBQ0NFU1NfTUFTSywgUE9CSkVDVF9BVFRSSUJVVEVTLAogCQkJIFBJT19TVEFU
VVNfQkxPQ0ssIFBMQVJHRV9JTlRFR0VSLCBVTE9ORywgVUxPTkcsIFVMT05HLAogCQkJIFVMT05H
LCBQVk9JRCwgVUxPTkcpOwotICBOVFNUQVRVUyBOdENyZWF0ZUpvYk9iamVjdCAoUEhBTkRMRSwg
QUNDRVNTX01BU0ssIFBPQkpFQ1RfQVRUUklCVVRFUyk7CiAgIE5UU1RBVFVTIE50Q3JlYXRlS2V5
IChQSEFORExFLCBBQ0NFU1NfTUFTSywgUE9CSkVDVF9BVFRSSUJVVEVTLCBVTE9ORywKIAkJCVBV
TklDT0RFX1NUUklORywgVUxPTkcsIFBVTE9ORyk7CiAgIE5UU1RBVFVTIE50Q3JlYXRlTXV0YW50
IChQSEFORExFLCBBQ0NFU1NfTUFTSywgUE9CSkVDVF9BVFRSSUJVVEVTLCBCT09MRUFOKTsKQEAg
LTE0OTgsNyArMTQ5Niw2IEBAIGV4dGVybiAiQyIKICAgTlRTVEFUVVMgTnRPcGVuRXZlbnQgKFBI
QU5ETEUsIEFDQ0VTU19NQVNLLCBQT0JKRUNUX0FUVFJJQlVURVMpOwogICBOVFNUQVRVUyBOdE9w
ZW5GaWxlIChQSEFORExFLCBBQ0NFU1NfTUFTSywgUE9CSkVDVF9BVFRSSUJVVEVTLAogCQkgICAg
ICAgUElPX1NUQVRVU19CTE9DSywgVUxPTkcsIFVMT05HKTsKLSAgTlRTVEFUVVMgTnRPcGVuSm9i
T2JqZWN0IChQSEFORExFLCBBQ0NFU1NfTUFTSywgUE9CSkVDVF9BVFRSSUJVVEVTKTsKICAgTlRT
VEFUVVMgTnRPcGVuS2V5IChQSEFORExFLCBBQ0NFU1NfTUFTSywgUE9CSkVDVF9BVFRSSUJVVEVT
KTsKICAgTlRTVEFUVVMgTnRPcGVuTXV0YW50IChQSEFORExFLCBBQ0NFU1NfTUFTSywgUE9CSkVD
VF9BVFRSSUJVVEVTKTsKICAgTlRTVEFUVVMgTnRPcGVuUHJvY2Vzc1Rva2VuIChIQU5ETEUsIEFD
Q0VTU19NQVNLLCBQSEFORExFKTsKQEAgLTE1MjAsOCArMTUxNyw2IEBAIGV4dGVybiAiQyIKICAg
TlRTVEFUVVMgTnRRdWVyeUV2ZW50IChIQU5ETEUsIEVWRU5UX0lORk9STUFUSU9OX0NMQVNTLCBQ
Vk9JRCwgVUxPTkcsIFBVTE9ORyk7CiAgIE5UU1RBVFVTIE50UXVlcnlJbmZvcm1hdGlvbkZpbGUg
KEhBTkRMRSwgUElPX1NUQVRVU19CTE9DSywgUFZPSUQsIFVMT05HLAogCQkJCSAgIEZJTEVfSU5G
T1JNQVRJT05fQ0xBU1MpOwotICBOVFNUQVRVUyBOdFF1ZXJ5SW5mb3JtYXRpb25Kb2JPYmplY3Qg
KEhBTkRMRSwgSk9CT0JKRUNUSU5GT0NMQVNTLCBQVk9JRCwKLQkJCQkJVUxPTkcsIFBVTE9ORyk7
CiAgIE5UU1RBVFVTIE50UXVlcnlJbmZvcm1hdGlvblByb2Nlc3MgKEhBTkRMRSwgUFJPQ0VTU0lO
Rk9DTEFTUywgUFZPSUQsIFVMT05HLAogCQkJCSAgICAgIFBVTE9ORyk7CiAgIE5UU1RBVFVTIE50
UXVlcnlJbmZvcm1hdGlvblRocmVhZCAoSEFORExFLCBUSFJFQURJTkZPQ0xBU1MsIFBWT0lELCBV
TE9ORywKQEAgLTE1NTUsNyArMTU1MCw2IEBAIGV4dGVybiAiQyIKICAgTlRTVEFUVVMgTnRTZXRF
dmVudCAoSEFORExFLCBQVUxPTkcpOwogICBOVFNUQVRVUyBOdFNldEluZm9ybWF0aW9uRmlsZSAo
SEFORExFLCBQSU9fU1RBVFVTX0JMT0NLLCBQVk9JRCwgVUxPTkcsCiAJCQkJIEZJTEVfSU5GT1JN
QVRJT05fQ0xBU1MpOwotICBOVFNUQVRVUyBOdFNldEluZm9ybWF0aW9uSm9iT2JqZWN0IChIQU5E
TEUsIEpPQk9CSkVDVElORk9DTEFTUywgUFZPSUQsIFVMT05HKTsKICAgTlRTVEFUVVMgTnRTZXRJ
bmZvcm1hdGlvblRocmVhZCAoSEFORExFLCBUSFJFQURJTkZPQ0xBU1MsIFBWT0lELCBVTE9ORyk7
CiAgIE5UU1RBVFVTIE50U2V0SW5mb3JtYXRpb25Ub2tlbiAoSEFORExFLCBUT0tFTl9JTkZPUk1B
VElPTl9DTEFTUywgUFZPSUQsCiAJCQkJICBVTE9ORyk7CmRpZmYgLS1naXQgYS93aW5zdXAvY3ln
d2luL3Jlc291cmNlLmNjIGIvd2luc3VwL2N5Z3dpbi9yZXNvdXJjZS5jYwppbmRleCA1ZWM0MzZj
MmMuLjY0YzI2YzE0ZCAxMDA2NDQKLS0tIGEvd2luc3VwL2N5Z3dpbi9yZXNvdXJjZS5jYworKysg
Yi93aW5zdXAvY3lnd2luL3Jlc291cmNlLmNjCkBAIC0xNzcsMjcgKzE3Nyw0MyBAQCBqb2Jfc2hh
cmVkX25hbWUgKFBXQ0hBUiBidWYsIExPTkcgbnVtKQogc3RhdGljIHZvaWQKIF9fZ2V0X3JsaW1p
dF9hcyAoc3RydWN0IHJsaW1pdCAqcmxwKQogewotICBVTklDT0RFX1NUUklORyB1bmFtZTsKICAg
V0NIQVIgam9ibmFtZVszMl07Ci0gIE9CSkVDVF9BVFRSSUJVVEVTIGF0dHI7CisgIGNoYXIgam9i
bmFtZUFbMzJdOwogICBIQU5ETEUgam9iID0gTlVMTDsKLSAgTlRTVEFUVVMgc3RhdHVzOworICBC
T09MIHJlc3VsdDsKKyAgRFdPUkQgd2luRXJyb3I7CiAgIEpPQk9CSkVDVF9FWFRFTkRFRF9MSU1J
VF9JTkZPUk1BVElPTiBqb2JpbmZvOwogCiAgIGlmIChjeWdoZWFwLT5ybGltX2FzX2lkKQogICAg
IHsKLSAgICAgIFJ0bEluaXRVbmljb2RlU3RyaW5nICgmdW5hbWUsCi0JCQkgICAgam9iX3NoYXJl
ZF9uYW1lIChqb2JuYW1lLAotCQkJCQkgICAgIGN5Z2hlYXAtPnJsaW1fYXNfaWQpKTsKLSAgICAg
IEluaXRpYWxpemVPYmplY3RBdHRyaWJ1dGVzICgmYXR0ciwgJnVuYW1lLCAwLAotCQkJCSAgZ2V0
X3Nlc3Npb25fcGFyZW50X2RpciAoKSwgTlVMTCk7CisgICAgICAvKiBHZXQgdGhlIHdpZGUtY2hh
cmFjdGVyIGpvYiBuYW1lIGZyb20gdGhlIGZ1bmN0aW9uICovCisgICAgICBqb2Jfc2hhcmVkX25h
bWUgKGpvYm5hbWUsIGN5Z2hlYXAtPnJsaW1fYXNfaWQpOworCisgICAgICAvKiBDb252ZXJ0IFdD
SEFSIGpvYiBuYW1lIHRvIEFOU0kgKi8KKyAgICAgIGlmIChXaWRlQ2hhclRvTXVsdGlCeXRlIChD
UF9BQ1AsIDAsIGpvYm5hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEsIGpv
Ym5hbWVBLCBzaXplb2Yoam9ibmFtZUEpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IE5VTEwsIE5VTEwpID09IDApCisgICAgICB7CisgICAgICAgICAgd2luRXJyb3IgPSBHZXRMYXN0
RXJyb3IoKTsKKyAgICAgICAgICBfX3NldGVycm5vX2Zyb21fd2luX2Vycm9yKHdpbkVycm9yKTsK
KyAgICAgICAgICByZXR1cm47CisgICAgICB9CisKICAgICAgIC8qIE1heSBmYWlsLCBqdXN0IGNo
ZWNrIE5VTEwgam9iIGluIHRoYXQgY2FzZS4gKi8KLSAgICAgIE50T3BlbkpvYk9iamVjdCAoJmpv
YiwgSk9CX09CSkVDVF9RVUVSWSwgJmF0dHIpOworICAgICAgam9iID0gT3BlbkpvYk9iamVjdEEg
KEpPQl9PQkpFQ1RfUVVFUlksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgRkFMU0UsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgam9ibmFtZUEpOworICAgICAgd2luRXJyb3IgPSBH
ZXRMYXN0RXJyb3IgKCk7CisgICAgICBpZiAoam9iID09IE5VTEwpCisgICAgICB7CisgICAgICAg
IF9fc2V0ZXJybm9fZnJvbV93aW5fZXJyb3IgKHdpbkVycm9yKTsKKyAgICAgICAgcmV0dXJuOwor
ICAgICAgfQogICAgIH0KLSAgc3RhdHVzID0gTnRRdWVyeUluZm9ybWF0aW9uSm9iT2JqZWN0IChq
b2IsCi0JCQkgICAgICBKb2JPYmplY3RFeHRlbmRlZExpbWl0SW5mb3JtYXRpb24sCi0JCQkgICAg
ICAmam9iaW5mbywgc2l6ZW9mIGpvYmluZm8sIE5VTEwpOwotICBpZiAoTlRfU1VDQ0VTUyAoc3Rh
dHVzKQorICByZXN1bHQgPSBRdWVyeUluZm9ybWF0aW9uSm9iT2JqZWN0IChqb2IsCisgICAgICAg
ICAgSm9iT2JqZWN0RXh0ZW5kZWRMaW1pdEluZm9ybWF0aW9uLAorICAgICAgICAgICZqb2JpbmZv
LCBzaXplb2Ygam9iaW5mbywgTlVMTCk7CisgIGlmIChyZXN1bHQKICAgICAgICYmIChqb2JpbmZv
LkJhc2ljTGltaXRJbmZvcm1hdGlvbi5MaW1pdEZsYWdzCiAJICAmIEpPQl9PQkpFQ1RfTElNSVRf
UFJPQ0VTU19NRU1PUlkpKQogICAgIHJscC0+cmxpbV9jdXIgPSBybHAtPnJsaW1fbWF4ID0gam9i
aW5mby5Qcm9jZXNzTWVtb3J5TGltaXQ7CkBAIC0yMDksMTEgKzIyNSwxMSBAQCBzdGF0aWMgaW50
CiBfX3NldF9ybGltaXRfYXMgKHVuc2lnbmVkIGxvbmcgbmV3X2FzX2xpbWl0KQogewogICBMT05H
IG5ld19hc19pZCA9IDA7Ci0gIFVOSUNPREVfU1RSSU5HIHVuYW1lOwogICBXQ0hBUiBqb2JuYW1l
WzMyXTsKLSAgT0JKRUNUX0FUVFJJQlVURVMgYXR0cjsKLSAgTlRTVEFUVVMgc3RhdHVzID0gU1RB
VFVTX1NVQ0NFU1M7CisgIGNoYXIgam9ibmFtZUFbMzJdOwogICBIQU5ETEUgam9iID0gTlVMTDsK
KyAgQk9PTCByZXN1bHQgPSAxOworICBEV09SRCB3aW5FcnJvciA9IDA7CiAgIEpPQk9CSkVDVF9F
WFRFTkRFRF9MSU1JVF9JTkZPUk1BVElPTiBqb2JpbmZvID0geyAwIH07CiAKICAgLyogSWYgd2Ug
YWxyZWFkeSBoYXZlIGEgbGltaXQsIHdlIG11c3Qgbm90IGNoYW5nZSBpdCBiZWNhdXNlIHRoYXQK
QEAgLTIyMSwzMyArMjM3LDQ2IEBAIF9fc2V0X3JsaW1pdF9hcyAodW5zaWduZWQgbG9uZyBuZXdf
YXNfbGltaXQpCiAgICAgIEp1c3QgdHJ5IHRvIGNyZWF0ZSBhbm90aGVyLCBuZXN0ZWQgam9iLiAq
LwogICB3aGlsZSAobmV3X2FzX2lkID09IDApCiAgICAgbmV3X2FzX2lkID0gSW50ZXJsb2NrZWRJ
bmNyZW1lbnQgKCZqb2Jfc2VyaWFsX251bWJlcik7Ci0gIFJ0bEluaXRVbmljb2RlU3RyaW5nICgm
dW5hbWUsCi0JCQlqb2Jfc2hhcmVkX25hbWUgKGpvYm5hbWUsIG5ld19hc19pZCkpOwotICBJbml0
aWFsaXplT2JqZWN0QXR0cmlidXRlcyAoJmF0dHIsICZ1bmFtZSwgMCwKLQkJCSAgICAgIGdldF9z
ZXNzaW9uX3BhcmVudF9kaXIgKCksIE5VTEwpOwotICBzdGF0dXMgPSBOdENyZWF0ZUpvYk9iamVj
dCAoJmpvYiwgSk9CX09CSkVDVF9BTExfQUNDRVNTLCAmYXR0cik7Ci0gIGlmICghTlRfU1VDQ0VT
UyAoc3RhdHVzKSkKLSAgICB7Ci0gICAgICBfX3NldGVycm5vX2Zyb21fbnRfc3RhdHVzIChzdGF0
dXMpOwotICAgICAgcmV0dXJuIC0xOwotICAgIH0KKyAgCisgIC8qIEdldCB0aGUgd2lkZS1jaGFy
YWN0ZXIgam9iIG5hbWUgZnJvbSB0aGUgZnVuY3Rpb24gKi8KKyAgam9iX3NoYXJlZF9uYW1lIChq
b2JuYW1lLCBjeWdoZWFwLT5ybGltX2FzX2lkKTsKKyAgaWYgKFdpZGVDaGFyVG9NdWx0aUJ5dGUg
KENQX0FDUCwgMCwgam9ibmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xLCBqb2Ju
YW1lQSwgc2l6ZW9mKGpvYm5hbWVBKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEws
IE5VTEwpID09IDApCisgIHsKKyAgICB3aW5FcnJvciA9IEdldExhc3RFcnJvciAoKTsKKyAgICBf
X3NldGVycm5vX2Zyb21fd2luX2Vycm9yICh3aW5FcnJvcik7CisgICAgcmV0dXJuIC0xOworICB9
CisKKyAgam9iID0gQ3JlYXRlSm9iT2JqZWN0QShOVUxMLCBqb2JuYW1lQSk7CisgIHdpbkVycm9y
ID0gR2V0TGFzdEVycm9yICgpOworICBpZiAoam9iID09IE5VTEwpCisgIHsKKyAgICBfX3NldGVy
cm5vX2Zyb21fd2luX2Vycm9yICh3aW5FcnJvcik7CisgICAgcmV0dXJuIC0xOworICB9CisKICAg
am9iaW5mby5CYXNpY0xpbWl0SW5mb3JtYXRpb24uTGltaXRGbGFncwogICAgID0gSk9CX09CSkVD
VF9MSU1JVF9QUk9DRVNTX01FTU9SWTsKICAgLyogUGVyIExpbnV4IG1hbiBwYWdlLCByb3VuZCBk
b3duIHRvIHN5c3RlbSBwYWdlc2l6ZS4gKi8KICAgam9iaW5mby5Qcm9jZXNzTWVtb3J5TGltaXQK
ICAgICA9IHJvdW5kZG93biAobmV3X2FzX2xpbWl0LCB3aW5jYXAuYWxsb2NhdGlvbl9ncmFudWxh
cml0eSAoKSk7Ci0gIHN0YXR1cyA9IE50U2V0SW5mb3JtYXRpb25Kb2JPYmplY3QgKGpvYiwKKyAg
cmVzdWx0ID0gU2V0SW5mb3JtYXRpb25Kb2JPYmplY3QgKGpvYiwKIAkJCQlKb2JPYmplY3RFeHRl
bmRlZExpbWl0SW5mb3JtYXRpb24sCiAJCQkJJmpvYmluZm8sIHNpemVvZiBqb2JpbmZvKTsKICAg
LyogSWYgY3JlYXRpbmcgdGhlIGpvYiBhbmQgc2V0dGluZyB1cCB0aGUgam9iIGxpbWl0cyBzdWNj
ZWVkZWQsCiAgICAgIHRyeSB0byBhZGQgdGhlIHByb2Nlc3MgdG8gdGhlIGpvYi4gIFRoaXMgbXVz
dCBiZSB0aGUgbGFzdCBzdGVwLAogICAgICBvdGhlcndpc2Ugd2UgY291bGRuJ3QgcmVtb3ZlIHRo
ZSBqb2IgaWYgYW55dGhpbmcgZmFpbGVkLiAqLwotICBpZiAoTlRfU1VDQ0VTUyAoc3RhdHVzKSkK
LSAgICBzdGF0dXMgPSBOdEFzc2lnblByb2Nlc3NUb0pvYk9iamVjdCAoam9iLCBOdEN1cnJlbnRQ
cm9jZXNzICgpKTsKKyAgaWYgKHJlc3VsdCkKKyAgICB7CisgICAgICByZXN1bHQgPSBBc3NpZ25Q
cm9jZXNzVG9Kb2JPYmplY3QgKGpvYiwgTnRDdXJyZW50UHJvY2VzcyAoKSk7CisgICAgICB3aW5F
cnJvciA9IEdldExhc3RFcnJvciAoKTsKKyAgICB9CiAgIE50Q2xvc2UgKGpvYik7Ci0gIGlmICgh
TlRfU1VDQ0VTUyAoc3RhdHVzKSkKKyAgaWYgKCFyZXN1bHQpCiAgICAgewotICAgICAgX19zZXRl
cnJub19mcm9tX250X3N0YXR1cyAoc3RhdHVzKTsKKyAgICAgIF9fc2V0ZXJybm9fZnJvbV93aW5f
ZXJyb3IgKHdpbkVycm9yKTsKICAgICAgIHJldHVybiAtMTsKICAgICB9CiAgIGN5Z2hlYXAtPnJs
aW1fYXNfaWQgPSBuZXdfYXNfaWQ7CkBAIC0zNDUsNCArMzc0LDQgQEAgc2V0cmxpbWl0IChpbnQg
cmVzb3VyY2UsIGNvbnN0IHN0cnVjdCBybGltaXQgKnJscCkKICAgX19leGNlcHQgKEVGQVVMVCkK
ICAgX19lbmR0cnkKICAgcmV0dXJuIC0xOwotfQorfQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKLS0gCjIuNDcuMS53aW5kb3dzLjIKCg==

--_004_PH0PR21MB134382D4A79602A85A7FA363CBE12PH0PR21MB1343namp_
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline


-- 
Problem reports:      https://cygwin.com/problems.html
FAQ:                  https://cygwin.com/faq/
Documentation:        https://cygwin.com/docs.html
Unsubscribe info:     https://cygwin.com/ml/#unsubscribe-simple

--_004_PH0PR21MB134382D4A79602A85A7FA363CBE12PH0PR21MB1343namp_--

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019