X-Recipient: archive-cygwin AT delorie DOT com DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 271EE3891C1B DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cygwin.com; s=default; t=1641806883; bh=kDF3eoYiUEg02DdrXnh/Nn2dKGMmyi+LcRsqJtQHtKk=; h=Date:From:To:Subject:References:In-Reply-To:List-Id: List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe: Reply-To:From; b=lDY5lvFeUr5SUhimXrLkJV285WQ2KLxGdbkObm+EdoPJ1pBx/YH7xgl9EeENCwkjU h92nocPKqduj/E6pqmURvNvZajGUNRzyq5Xt0r67nyhdhKNxO98PkrlKw9A3djPWH1 CFywWdIup/h+tBrs8dZ0Ryxi+L0jSjFeEG1PSMWM= X-Original-To: cygwin AT cygwin DOT com Delivered-To: cygwin AT cygwin DOT com DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 1657A3858C2C Authentication-Results: sourceware.org; dmarc=fail (p=none dis=none) header.from=cygwin.com Authentication-Results: sourceware.org; spf=fail smtp.mailfrom=cygwin.com Date: Mon, 10 Jan 2022 10:27:30 +0100 From: Corinna Vinschen To: cygwin AT cygwin DOT com Subject: Re: Support for ADS (Alternate Data Streams) Message-ID: Mail-Followup-To: cygwin AT cygwin DOT com References: <25042 DOT 4135 DOT 663145 DOT 551881 AT consult DOT pretender> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-Provags-ID: V03:K1:ekQnwgvCGQ6ZE9KLTYwJ8ReQxRcYF+FmEVuXkxswmWFmdghNG95 OoigB0mchtXmBN8HGyl4xhQir7Ak5PBWkKgtiwXB0TeGa0dX3gX3R2HBVkPwIup0MNuumNM 30RGYMRmjv5gRkwnlPpMPZHhV+QyaaSSjw4QZQqnmMi/cSd/C0vY45xCgg4p8pFXcFF1KMJ AgQRh4uzro0g3Q4eQxbkw== X-UI-Out-Filterresults: notjunk:1;V03:K0:Yn6pMOUPg5w=:r0M9j1cl7AGcAgF9NIYhhs m0GVWPIKEtmXFRnov1bOUWo7qKlFk428TpbgU8jkNvMtYiY6RiWvfCeM1J5e7xYMD3VYLUqsy Oln433LMzA7+W38FvIxIgE3JK/pSQBgtKTfwh5InxTICUY8EG3pBPLEPJquJ0QejQb78Acyd3 oIsM2Sq1OnIdAxToTKDRQzOeyR6RQknc6pXXFqMYZJdqJ22UeozzRAfkqE4jUSvhw6pHlmAoD pd+ikFOlz67q9i8MtWSDne/I2DFERmWDWO5o2CSPWEjbCe+pVNWsVTTkEynAwUB3kU0GbQUqP vUiAtOCCFlhFPjtn2nGZZ4kAAllw6O34Cayxy/flepJy9fZFUAeXfY1/QJhHWbvhY5ubVHBRm NQukWsJy1bQSEemjw7Xrnl9tHWKANM7bq8VXz/7kpuo4hvgbdHNFZAWggRaU44NfGX6qsJVny q/k6xr2IburU812rvlhc+HKw7BtFX/aPya61bG+mVNRogK/NJLlaluQZmCpftSD4DtIYrY8p9 63gQhqSf/SSeKx3mtrdswWPTcwZNS87K59SwNIaKC0ew8jVPWD8m6uPufLBjZU0vf6/dTRwH2 3mD7PpFG3AHgbtoGSSzaF9EqjoGi7ggHXUqz8WPRtroyHj8iXOnFaqnyalH82icE1qp5iCHvh jmNT80jVkptGr66qx2JA8VCjFvpzZHHV/ivemtJdAVQLV4883vNP0ek5S6wMjK+Fh9yaITmCH vQAx3t71HvZh2paT X-Spam-Status: No, score=-88.5 required=5.0 tests=BAYES_00, GOOD_FROM_CORINNA_CYGWIN, KAM_DMARC_NONE, KAM_DMARC_STATUS, RCVD_IN_MSPIKE_H2, SPF_FAIL, SPF_HELO_NONE, TXREP autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: cygwin AT cygwin DOT com X-Mailman-Version: 2.1.29 Precedence: list List-Id: General Cygwin discussions and problem reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: cygwin AT cygwin DOT com Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: cygwin-bounces+archive-cygwin=delorie DOT com AT cygwin DOT com Sender: "Cygwin" On Jan 8 04:14, NightStrike wrote: > On Wed, Jan 5, 2022, 05:08 Corinna Vinschen > wrote: > > > On Jan 3 22:40, NightStrike wrote: > > > On Sun, Jan 2, 2022, 15:51 wrote: > > > > > > > While I recognize that ADS is not supported by POSIX, I was wondering > > > > what if any support for ADS might exist within Cygwin. > > > > > > > > The last time I looked into this was probably more than a decade ago > > > > but I am seeing (unfortunately) more usage of ADS in the Windows > > > > world, so I was wondering if there has been any effort to support in > > > > Cygwin? > > > > > > > > -- > > > > 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 > > > > > > > > > FWIW, ntfs-3g under Linux maps these to extended attributes > > > > Using the EA API as ntfs-3g with the streams_interface=xattr option > > seems like a nice way to allow reading and writing ADS on Cygwin as > > well. > > > > Do you know how ntfs-3g performs the mapping? For instance, I guess > > that ADS are stored in the user.* namespace? Does listxattr list ADS or > > does it skip them? Stuff like that. > > > > The ntfs.streams.list attribute contains the stream names, and there's a > shortcut to access them by name with a colon. So if you have a stream named > str and a file named f.txt, you could do 'cat f.txt:str'. Hmm, that's not quite what I expected. We could support an EA like ntfs.streams.list, but we can't use the colon syntax. We could map streams to EAs so they are read with getxattr and written with setxattr. Or we would have to invent a different way. Corinna -- 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