DMARC-Filter: OpenDMARC Filter v1.4.2 delorie.com 55CJfTv5707360 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 55CJfTv5707360 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=MGja380t X-Recipient: archive-cygwin AT delorie DOT com DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 374BA38844D4 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cygwin.com; s=default; t=1749757287; bh=tiNgcbxXB9S42SDmxDwrllZ6PugP+2hGTx/CGU8HAsw=; h=Date:Subject:To:References:In-Reply-To:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=MGja380tAsPTucp9NUYjvmDe39uYOZkrx9sUKInx/jYV5LWgPr8kYf5dF9cGym1+f Da+23fyQzW5Fw93ff96YBz008bGIGo7I8XOzvXKNiE9DG8sQuDRcpkMyrKRn2/WbQs Loay41ZWZv3uKomGKou2ZtR3l/2lLibKx0yy6TG4= X-Original-To: cygwin AT cygwin DOT com Delivered-To: cygwin AT cygwin DOT com DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 72B7B386B7D7 ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 72B7B386B7D7 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1749757260; cv=none; b=F8AyY3mLbl6o3OPiUHkmGDK3PVLyxlcXnZ1GEil0weMvMbf7HK7DlgG1fTLEnLyV2MJie82zHyWf8Rk+V008oF28H6JGwuzV+XpWrURC+4kUcpkMhXv07qMU0HAkVBD2ovU7ntqfI3FeDnbO0vWSoTJEvgGtgxaSDxpk5vM7CoA= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1749757260; c=relaxed/simple; bh=yRTvsqhKiyj+nGQQ5Cy0mTmQcd03CbPI6lqAYD0N4BI=; h=Message-ID:Date:MIME-Version:From:Subject:To:DKIM-Signature; b=sra2pyEMJM69g2/AjZm1s1p+YAOSy9sK4vWuNK5StOVdLGrv2IZuOkU5IF9B4AYTOcHRSB0k7c/DER64/Gh/SB8onRtOrl73jUAvj/fIB4WBLNtPA4bVvDjzdRQLEQYTMQB4LgLfjCPiHlwuCZo/tCVdqmudS2xt4G8pmBJG7XY= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 72B7B386B7D7 Message-ID: <02a15f0d-233e-44e2-840c-023877457d69@SystematicSW.ab.ca> Date: Thu, 12 Jun 2025 13:40:10 -0600 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: Path prefix //./ in Cygwin To: cygwin AT cygwin DOT com References: <93fd79f3-bb39-79c2-8e78-57c4af356e54 AT jdrake DOT com> <2fcf0555-2ea5-41d1-bd42-68fab89a189a AT gmx DOT com> Content-Language: en-CA Organization: Systematic Software In-Reply-To: X-Rspamd-Queue-Id: CC8438000E X-Stat-Signature: pfrh3yc6bn9on7ezxee85j9pbo8ntte8 X-Rspamd-Server: rspamout07 X-Session-Marker: 427269616E2E496E676C69734053797374656D6174696353572E61622E6361 X-Session-ID: U2FsdGVkX18leReg5X1kjOBvjlADjLyjbVBcMvQ0hmE= X-HE-Tag: 1749757211-849137 X-HE-Meta: U2FsdGVkX1+EYtp6zqcjE7enzHAR3pEJosyEKKegcJV1mBUWP0SK7rGtbu1dX2A16pol02pdCpoIEJ+AsZ2CuaajEhukf5J250lxH9frs2S/RsW4DiQR05scFnvIQLGElX4F0aLTXfvMALFmx9dUO5XI/cE+I2kpqq1VMqpf/AG/7u+WaUeD23gEiMUDTu0faYQ9prN+VmkoGwxM0+t5lkGRRDQxzVHJFsW91dLoIpXs9RZm8tcUx+hoPxolXQu4gS8OHfH0qXFdzVKhRxLfEAoleHiWovlSphLmb46Uverlb7Z2HotsmsHKwpXVJVGXKHVL9rUGxctqqt/TR8KacG+4ucXQD0Kc X-BeenThere: cygwin AT cygwin DOT com X-Mailman-Version: 2.1.30 Precedence: list List-Id: General Cygwin discussions and problem reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , From: Brian Inglis via Cygwin Reply-To: cygwin AT cygwin DOT com Cc: Brian Inglis Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: cygwin-bounces~archive-cygwin=delorie DOT com AT cygwin DOT com Sender: "Cygwin" Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from base64 to 8bit by delorie.com id 55CJfTv5707360 On 2025-06-11 18:57, Jeremy Drake via Cygwin wrote: > On Thu, 12 Jun 2025, Sam Edge via Cygwin wrote: > >> I would think that if you're building something against Cygwin, it's probably >> best to assume it's POSIX where only forward-slash is special and not try to >> second-guess. > > This is unsafe, and actually where the rust PR started out. If you only > treat '/' as special, a program may be tricked into allowing path > traversal with file/directory names like '..\..' or 'C:\Windows' which > are not path traversing or absolute paths in POSIX. Depending on their repetition or handling, these could either be treated as quoted single character backslashes \. or backslash special characters mapped into the Unicode BMP (Basic Multilingual Plane) PUA (Private Use Area) U+0E000+ as \u005c -> \U0E05c. -- Take care. Thanks, Brian Inglis Calgary, Alberta, Canada La perfection est atteinte Perfection is achieved non pas lorsqu'il n'y a plus rien à ajouter not when there is no more to add mais lorsqu'il n'y a plus rien à retrancher but when there is no more to cut -- Antoine de Saint-Exupéry -- 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