Pascal wrote:
hi Jean-Pierre,

if it is not too complicated to implement, what changes should be made to the source code of ntfs-3g so that these pseudo files systematically appear as broken links rather than regular files ?

Well, the complexity lies in the fact that the needed information
is not in the directory which is being listed. You have to open
the files referenced in the directory and delegate the identification
of their type to the plugin which knows about it.

I have uploaded to
https://jp-andre.pagesperso-orange.fr/ntfs-3g_ntfsprogs-2017.3.23AA.0.tgz
the alpha version of an upgraded ntfs-3g doing that, for
you to test.

You may also want to test a plugin variant which try to
locate the executable designated by the execlink. This
obviously implies dropping the arguments, so the plugin
is as useless as the previous one.

See :
https://jp-andre.pagesperso-orange.fr/execlink110.zip

Note : this plugin can only be used with the proposed alpha
version of ntfs-3g.

Jean-Pierre


regards, Pascal.

Le ven. 28 févr. 2020 à 12:08, Pascal <patate...@gmail.com <mailto:patate...@gmail.com>> a écrit :

     > (the object is returned as a normal file because there is no way
    to say it has an unknown type)

    I suppose that in both cases (ls and find) the informations are
    returned by ntfs-3g : is that right ?
    from what I understand, these pseudo files are more like links
    (broken links to the cloud) than regular files : if you agree with
    this point of view, wouldn't it be more relevant to announce them as
    such ?

    Pascal

    Le jeu. 27 févr. 2020 à 16:40, Jean-Pierre André
    <jean-pierre.an...@wanadoo.fr
    <mailto:jean-pierre.an...@wanadoo.fr>> a écrit :

        Pascal wrote:
         > I have a little question about these special files...
         >
         > the ls command report MicrosoftEdge and python as (broken)
        links :
         >
         > # ls -l /test/AppData/Local/Microsoft/WindowsApps/
         > total 0
         > drwxrwxrwx 1 root root   0 27 févr. 07:34 Backup
         > drwxrwxrwx 1 root root   0 27 févr. 07:39
         > Microsoft.DesktopAppInstaller_8wekyb3d8bbwe
         > drwxrwxrwx 1 root root   0 27 févr. 07:34
         > Microsoft.MicrosoftEdge_8wekyb3d8bbwe
         > *l*rwxrwxrwx 2 root root 132 27 févr. 07:34 MicrosoftEdge.exe ->
         >
        
'C:\Windows\system32\SystemUWPLauncher.exe(Microsoft.MicrosoftEdge_8wekyb3d8bbwe,Microsoft.MicrosoftEdge_8wekyb3d8bbwe!MicrosoftEdge)'
         > *l*rwxrwxrwx 1 root root 228 27 févr. 07:39 python.exe ->
        'C:\Program
         >
        
Files\WindowsApps\Microsoft.DesktopAppInstaller_1.0.30251.0_x64__8wekyb3d8bbwe\AppInstallerPythonRedirector.exe(Microsoft.DesktopAppInstaller_8wekyb3d8bbwe,Microsoft.DesktopAppInstaller_8wekyb3d8bbwe!PythonRedirector)'
         > *l*rwxrwxrwx 2 root root 228 27 févr. 07:39 python3.7.exe ->
        'C:\Program
         >
        
Files\WindowsApps\Microsoft.DesktopAppInstaller_1.0.30251.0_x64__8wekyb3d8bbwe\AppInstallerPythonRedirector.exe(Microsoft.DesktopAppInstaller_8wekyb3d8bbwe,Microsoft.DesktopAppInstaller_8wekyb3d8bbwe!PythonRedirector)'
         > *l*rwxrwxrwx 1 root root 228 27 févr. 07:39 python3.exe ->
        'C:\Program
         >
        
Files\WindowsApps\Microsoft.DesktopAppInstaller_1.0.30251.0_x64__8wekyb3d8bbwe\AppInstallerPythonRedirector.exe(Microsoft.DesktopAppInstaller_8wekyb3d8bbwe,Microsoft.DesktopAppInstaller_8wekyb3d8bbwe!PythonRedirector)'
         >
         > but find command report them as regular files :
         >
         > # find /test/AppData/Local/Microsoft/WindowsApps/ -type l
         > /(nothing is returned)/
         > # find /test/AppData/Local/Microsoft/WindowsApps/ -maxdepth 1
        -type f
         > /test/AppData/Local/Microsoft/WindowsApps/MicrosoftEdge.exe
         > /test/AppData/Local/Microsoft/WindowsApps/python.exe
         > /test/AppData/Local/Microsoft/WindowsApps/python3.7.exe
         > /test/AppData/Local/Microsoft/WindowsApps/python3.exe


        This is because "ls" and "find" do not rely on the same data.
        "ls" relies on the object attributes returned by stat(), and
        "find" relies on the data stored in directories returned by
        readdir().

        In this situation you are accessing a normal directory which
        contains unexpected data (the object is returned as a normal
        file because there is no way to say it has an unknown type).

        This can be fixed by analyzing deeper, but I am not keen on
        doing so until some useful meaning (which could be different
        from a symlink) can be assigned in Linux to such object.

        Jean-Pierre

         >
         > which normally should not be the case :
         >
         > # ls -l /tmp/test/
         > total 0
         > *l*rwxrwxrwx 1 root root 1 27 févr. 10:36 broken.link -> x
         > -rw-r--r-- 1 root root 0 27 févr. 10:35 file
         > *l*rwxrwxrwx 1 root root 4 27 févr. 10:36 link -> file
         > # find /tmp/test/ -type f
         > /tmp/test/file
         > # find /tmp/test/ -type l
         > /tmp/test/broken.link
         > /tmp/test/link
         >
         > Le jeu. 27 févr. 2020 à 09:56, Pascal
         > <patate...@gmail.com
        <mailto:patate...@gmail.com>
         > <mailto:patate...@gmail.com
        <mailto:patate...@gmail.com>>> a
        écrit :
         >
         >     hi Jean-Pierre,
         >
         >     the plugin also works perfectly with Archlinux x64.
         >
         >     thanks again, regards, Pascal.
         >
         >     Le mer. 26 févr. 2020 à 18:08, Pascal
        <patate...@gmail.com
        <mailto:patate...@gmail.com>
         >     <mailto:patatetom-re5jqeeqqe8avxtiumw...@public.gmane.org
        <mailto:patate...@gmail.com>>> a
        écrit :
         >
         >         hi Jean-Pierre,
         >
         >         the plugin works perfectly with Pop_OS (Debian Ubuntu
        like) x64
         >         : error I/Os no longer occur and files simply appear
        as broken
         >         links.
         >         I'll be testing shortly with Archlinux...
         >
         >         regards, Pascal.
         >
         >         Le mar. 25 févr. 2020 à 13:58, Pascal
         >         <patatetom-re5jqeeqqe8avxtiumw...@public.gmane.org
        <mailto:patate...@gmail.com>
>  <mailto:patatetom-re5jqeeqqe8avxtiumw...@public.gmane.org
        <mailto:patate...@gmail.com>>> a
         >         écrit :
         >
         >             I haven't tested the suggested plugin yet, but,
        considering
         >             the results displayed, I'll be sure to look into
        it :-)
         >
         >             thanks for everything and especially for ntfs-3g
         >
         >             Le mar. 25 févr. 2020 à 13:46, Jean-Pierre André
>  <jean-pierre.andre-39zsbgiqgt5gwvitb5q...@public.gmane.org
        <mailto:jean-pierre.andre-39zsbgiqgt5gwvitb5q...@public.gmane.org>
>  <mailto:jean-pierre.andre-39zsbgiqgt5gwvitb5qawa-xmd5yjdbdmrexy1tmh2...@public.gmane.org <mailto:jean-pierre.andre-39zsbgiqgt5gwvitb5q...@public.gmane.org>>>
         >             a écrit :
         >
         >                 Pascal wrote:
         >                  > this is more of a "cosmetic" problem : the
         >                 input/output errors displayed
         >                  > are confusing and may not be displayed.
         >                  >
         >                  > # ll
>  /mnt/sdb2/Users/Test/AppData/Local/Microsoft/WindowsApps/
         >                  > ls: impossible d'accéder à
         >                  >
>  '/mnt/sdb2/Users/Test/AppData/Local/Microsoft/WindowsApps/MicrosoftEdge.exe':
         >
         >                  > Erreur d'entrée/sortie
         >                  > ls: impossible d'accéder à
         >                  >
>  '/mnt/sdb2/Users/Test/AppData/Local/Microsoft/WindowsApps/python.exe':
         >
         >                  > Erreur d'entrée/sortie
         >                  > ls: impossible d'accéder à
         >                  >
>  '/mnt/sdb2/Users/Test/AppData/Local/Microsoft/WindowsApps/python3.7.exe':
         >                 Erreur
         >                  > d'entrée/sortie
         >                  > ls: impossible d'accéder à
         >                  >
>  '/mnt/sdb2/Users/Test/AppData/Local/Microsoft/WindowsApps/python3.exe':
         >
         >                  > Erreur d'entrée/sortie
         >                  > total 0
         >                  > drwxrwxrwx 1 root root 0 10 sept. 14:00 Backup
         >                  > drwxrwxrwx 1 root root 0 10 sept. 14:03
         >                  > Microsoft.DesktopAppInstaller_8wekyb3d8bbwe
         >                  > drwxrwxrwx 1 root root 0 10 sept. 14:00
         >                  > Microsoft.MicrosoftEdge_8wekyb3d8bbwe
         >                  > -????????? ? ? ? ? ? MicrosoftEdge.exe
         >                  > -????????? ? ? ? ? ? python.exe
         >                  > -????????? ? ? ? ? ? python3.7.exe
         >                  > -????????? ? ? ? ? ? python3.exe
         >                  >
         >                  > are the unsupported reparse point dates
        displayed by
         >                 the ll command
         >                  > correct when the missing module is created
        symbolically ?
         >
         >                 Did you install the plugin I suggested ?
         >
         >                 This is what you should get (well
        approximately, please
         >                 ignore
         >                 the reformatting by the mailer), and
        obviously the links
         >                 lead
         >                 to no usable files (as ntfs-3g cannot start a
        remote Windows
         >                 executable).
         >
         >                 If you do not get this, please post the
        output of the
         >                 script from :
         > https://jp-andre.pagesperso-orange.fr/junctions.html#other
         >
         >
         >                 $ ls -l
>  /win10/Users/Jean-Pierre/AppData/Local/Microsoft/WindowsApps
         >                 total 0
         >                 drwx------ 1 linux linux   0 Jun 14  2019 Backup
         >                 lrwxrwxrwx 2 linux linux 198 Jan  4 13:37
         >                 GameBarElevatedFT_Alias.exe ->
         >                 'C:\Program
>  Files\WindowsApps\Microsoft.XboxGamingOverlay_3.36.6003.0_x64__8wekyb3d8bbwe\GameBarElevatedFT.exe(Microsoft.XboxGamingOverlay_8wekyb3d8bbwe,Microsoft.XboxGamingOverlay_8wekyb3d8bbwe!App)'
         >                 drwx------ 1 linux linux   0 Jan  4 13:35
         >                 Microsoft.DesktopAppInstaller_8wekyb3d8bbwe
         >                 lrwxrwxrwx 2 linux root  132 Nov  1 11:11
         >                 MicrosoftEdge.exe ->
>  'C:\WINDOWS\system32\SystemUWPLauncher.exe(Microsoft.MicrosoftEdge_8wekyb3d8bbwe,Microsoft.MicrosoftEdge_8wekyb3d8bbwe!MicrosoftEdge)'
         >                 drwx------ 1 linux linux   0 Nov  1 11:11
         >                 Microsoft.MicrosoftEdge_8wekyb3d8bbwe
         >                 drwx------ 1 linux linux   0 Jan  4 13:37
         >                 Microsoft.XboxGamingOverlay_8wekyb3d8bbwe
         >                 lrwxrwxrwx 1 linux linux 228 Jan  4 13:35
        python3.exe ->
         >                 'C:\Program
>  Files\WindowsApps\Microsoft.DesktopAppInstaller_1.0.32912.0_x64__8wekyb3d8bbwe\AppInstallerPythonRedirector.exe(Microsoft.DesktopAppInstaller_8wekyb3d8bbwe,Microsoft.DesktopAppInstaller_8wekyb3d8bbwe!PythonRedirector)'
         >                 lrwxrwxrwx 1 linux linux 228 Jan  4 13:35
        python.exe ->
         >                 'C:\Program
>  Files\WindowsApps\Microsoft.DesktopAppInstaller_1.0.32912.0_x64__8wekyb3d8bbwe\AppInstallerPythonRedirector.exe(Microsoft.DesktopAppInstaller_8wekyb3d8bbwe,Microsoft.DesktopAppInstaller_8wekyb3d8bbwe!PythonRedirector)'
         >
         >
         >                  >
         >                  > # ll
>  /mnt/sdb2/Users/Test/AppData/Local/Microsoft/WindowsApps/
         >                  > total 0
         >                  > drwxrwxrwx 1 root root 0 10 sept. 14:00 Backup
         >                  > drwxrwxrwx 1 root root 0 10 sept. 14:03
         >                  > Microsoft.DesktopAppInstaller_8wekyb3d8bbwe
         >                  > drwxrwxrwx 1 root root 0 10 sept. 14:00
         >                  > Microsoft.MicrosoftEdge_8wekyb3d8bbwe
         >                  > lrwxrwxrwx 2 root root 25 10 sept. 14:00
         >                 MicrosoftEdge.exe ->
         >                  > 'unsupported reparse point'
         >                  > lrwxrwxrwx 1 root root 25 10 sept. 14:03
        python.exe
         >                 -> 'unsupported
         >                  > reparse point'
         >                  > lrwxrwxrwx 2 root root 25 10 sept. 14:03
         >                 python3.7.exe -> 'unsupported
         >                  > reparse point'
         >                  > lrwxrwxrwx 1 root root 25 10 sept. 14:03
        python3.exe
         >                 -> 'unsupported
         >                  > reparse point'
         >                  >
         >                  > Pascal
         >                  >
         >                  > Le mar. 25 févr. 2020 à 10:55, Jean-Pierre
        André
         >                  >
>  <jean-pierre.andre-39zsbgiqgt5gwvitb5qawa-xmd5yjdbdmrexy1tmh2...@public.gmane.org <mailto:jean-pierre.andre-39zsbgiqgt5gwvitb5q...@public.gmane.org> >  <mailto:jean-pierre.andre-39zsbgiqgt5gwvitb5qawa-xmd5yjdbdmtouj55ttl...@public.gmane.org.org <mailto:jean-pierre.andre-39zsbgiqgt5gwvitb5q...@public.gmane.org>>
         >
         >                  >
>  <mailto:jean-pierre.andre-39zsbgiqgt5gwvitb5qawa-xmd5yjdbdmtouj55ttl...@public.gmane.org.org <mailto:jean-pierre.andre-39zsbgiqgt5gwvitb5q...@public.gmane.org> >  <mailto:jean-pierre.andre-39zsbgiqgt5gwvitb5qawa-xmd5yjdbdmtouj55ttl...@public.gmane.org.org <mailto:jean-pierre.andre-39zsbgiqgt5gwvitb5q...@public.gmane.org>>>>
         >                 a écrit :
         >                  >
         >                  >     Pascal wrote:
         >                  >      > hi everyone,
         >                  >      >
         >                  >      > as suggested by the package
        maintainer, I'm
         >                 transferring to you
         >                  >     an open
         >                  >      > ticket on Archlinux bug tracker :
         >                  > https://bugs.archlinux.org/task/63737
         >                  >      >
         >                  >      > regards.
         >                  >
         >                  >     The reparse point this ticket is
        referring to is
         >                 a link for
         >                  >     executing some cloud Windows
        application (this is
         >                 at least how
         >                  >     I understand it) and this leads to an
         >                 "unsupported reparse point"
         >                  >     error, because I do not know what kind of
         >                 meaningful support I
         >                  >     could provide.
         >                  >
         >                  >     Why would you access this reparse
        point in the
         >                 first place ?
         >                  >
         >                  >     Anyway I have uploaded a minimal plugin to
         >                  >
        https://jp-andre.pagesperso-orange.fr/execlink.zip
         >                  >     This will show the parameters
        available in the
         >                 reparse data,
         >                  >     and might give some information for
        somebody to
         >                 describe
         >                  >     what useful support might be expected.
         >                  >
         >                  >     Jean-Pierre
         >
         >




_______________________________________________
ntfs-3g-devel mailing list
ntfs-3g-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ntfs-3g-devel

Reply via email to