delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2024/01/18/00:54:22

X-Recipient: archive-cygwin AT delorie DOT com
DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 625213858281
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cygwin.com;
s=default; t=1705557260;
bh=TSdXnM0XDSGdMUc6KifUUjpCrar9XRlX9kYOiEezQGQ=;
h=References:In-Reply-To:Date:Subject:To:List-Id:List-Unsubscribe:
List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:
From;
b=aUfal9HY5P5AxZD3os1pgYm3TYnoA0y2LaI/0B/7WdfroNJAhKj432V1sIuGm6J9S
H4V0xBcJj0JIx3mfn6cjuRsLtoH69IGtQ04MN07k4DHDm30+ulZJ1SbxTJ898x1NqS
85RQVWZc+vsXs0q/LIAUobBQnClKz4G+tnsXcZxI=
X-Original-To: cygwin AT cygwin DOT com
Delivered-To: cygwin AT cygwin DOT com
DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 4576C3858D33
ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 4576C3858D33
ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1705557204; cv=none;
b=bdSvKZYMg2lI2Q8Uc2A/+TlMnrbhhKVFM4BVdJVomR3ISDW83D/3szOoHpCV2Tn4Sk8Xhktni1OhW5AiVYKr3JvyDs44rlfrVk0wEAECiSerFhZjMuO9T/jDugeCgSBHHBSBjBJo6STteqAiyJGfLtjcVaL0TpuzvCNi2cjLqp4=
ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key;
t=1705557204; c=relaxed/simple;
bh=BCPmDFzZic695+zNSFcGCp00BTXhhDLnBmrlAY9GQKw=;
h=DKIM-Signature:MIME-Version:From:Date:Message-ID:Subject:To;
b=ZJLAaTm1R8YcKvqRLJr3nqfOG2vDqVvkRbmHe3XVi6mJVGkFtWMJ2A4o35uLpqjdhLLBTWPeULRBDFeX4oyyi8pN4nqEhe/aSZJOXM25VnvcoVYB4a8LZmyC+kl7je39O57kdr4G0rHySsb5fRsqsXklSCNj/Vl7Z8gL+8VAUDc=
ARC-Authentication-Results: i=1; server2.sourceware.org
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1705557198; x=1706161998;
h=to:subject:message-id:date:from:in-reply-to:references:mime-version
:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
bh=OM3nv+ceF/BlSF63CPzqOVO/y+N5im/hY0pn81sE8WA=;
b=fQfUvIRp39zQHe+9qm/RcBkBRskhW4qKzvxH9Av9/HRhytodPL8olTs0Bn/9YvNDaF
MGGnnPYuNCqkSbWDhzX+Ep0xHLOvU22sWYPkSubp1D9eBlue7PL9o4BAZhBWIDE0nWrU
HI725tYwtHC/F8xRFHpoVd+wuZmyGHIJt/FHPRGfPb/PI3xHhfDqPvYqEtIpFHPCd5UO
1tkyFOHMbm3krhwSv1ZtTp4SUFz/3FfHV9q8+mldRrznDNW4MFF8jLo6EfQRAm7HOibG
qTwnvioqpS6HmenHC1lcfNPM8AuNHjPg4ScttgxS1rfeHZ3CCXDIYSDD6R7YqHK4L4MT
xFUg==
X-Gm-Message-State: AOJu0YwciIxSXjGSwUTEZ2ZgCTyjjrmneJRpgAi6wtxmNmjRhrpgTbMy
kvlfo5r1YIltt6mOujsnYoS5WKpIxwb2b6chRMLrB1kVZMKJfLx5VYFrFyLXfU5AgJiEqWDVbKF
pUTsOuLDb0baK7Ra2Se5ucXoCRL/mAZVd
X-Google-Smtp-Source: AGHT+IHRa0PrQzFdVWFLit23DfmDoQofYQafFeiOWRZBk/eXRJLzZaBvGDyYz8D9Sc8i5bIP5MpDiljlSszh7Fcum4M=
X-Received: by 2002:a50:baa5:0:b0:558:3699:9919 with SMTP id
x34-20020a50baa5000000b0055836999919mr214247ede.39.1705557198478; Wed, 17 Jan
2024 21:53:18 -0800 (PST)
MIME-Version: 1.0
References: <CAKAoaQ=q6USo3CB6dmnmsPAhuaXQ1q2ZYK7+GA7gLBZ1yA968w AT mail DOT gmail DOT com>
In-Reply-To: <CAKAoaQ=q6USo3CB6dmnmsPAhuaXQ1q2ZYK7+GA7gLBZ1yA968w@mail.gmail.com>
Date: Thu, 18 Jan 2024 06:52:00 +0100
Message-ID: <CALXu0UceKSx8B4XMyZTo6mA8Yqu7w_f2oCGwAkasguc+Qa==_Q@mail.gmail.com>
Subject: Package request: ms-nfs41-client
To: cygwin AT cygwin DOT com
X-Spam-Status: No, score=-0.6 required=5.0 tests=BAYES_00, DKIM_SIGNED,
DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_FROM, RCVD_IN_DNSWL_NONE,
SPF_HELO_NONE, SPF_PASS, TXREP,
T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on
server2.sourceware.org
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: Cedric Blancher via Cygwin <cygwin AT cygwin DOT com>
Reply-To: Cedric Blancher <cedric DOT blancher AT gmail DOT com>
Sender: "Cygwin" <cygwin-bounces+archive-cygwin=delorie DOT com AT cygwin DOT com>

Good morning!

Could Cygwin package the ms-nfs41-client (NFSv4 client with Cygwin
support), please?

Ced

---------- Forwarded message ---------
From: Roland Mainz <roland DOT mainz AT nrubsig DOT org>
Date: Mon, 1 Jan 2024 at 22:47
Subject: [Ms-nfs41-client-devel] ANN: NFSv4.1 Windows driver binaries
for Windows 10/11 for testing, 2024-01-01 ...
To: <ms-nfs41-client-devel AT lists DOT sourceforge DOT net>


Hi!

----

I've created a set of test binaries for the NFSv4.1 filesystem driver
for Windows 10/11, based on
https://github.com/kofemann/ms-nfs41-client (commit id
#43852f547ce80b3b33bb05c2e993e322d2264dfa + patches which should fix
the VC runtime issues, git bundle in tarball), for testing and
feedback (download URL below).

Please send comments, bugs, test reports, complaints etc. to the
MailMan mailing list at
https://sourceforge.net/projects/ms-nfs41-client/lists/ms-nfs41-client-devel

# 1. Requirements:
- Windows 10
- Cygwin 3.5.0
    - Packages:
        cygwin
        cygwin-devel
        cygrunsrv
        cygutils
        cygutils-extra
        bash
        bzip2
        coreutils
        getent
        gdb
        grep
        hostname
        less
        pax
        pbzip2
        procps-ng
        sed
        tar
        time
        util-linux
        wget


# 2. Installation (as "Administrator"):
$ mkdir -p ~/download
$ cd ~/download
$ wget 'http://www.nrubsig.org/people/gisburn/work/msnfs41client/releases/testing/msnfs41client_cygwin_binaries_20240101_22h08m_git683af48.tar.bz2'
$ (cd / && tar -xf
~/download/msnfs41client_cygwin_binaries_20240101_22h08m_git683af48.tar.bz2
)
$ /sbin/msnfs41client install


# 3. Deinstallation:
$ (set -x ; cd / && tar -tf
~/download/msnfs41client_cygwin_binaries_20240101_22h08m_git683af48.tar.bz2
| while read i ; do [[ -f "$i" ]] && rm "$i" ; done)


##
## Usage
##

# Run the NFSv4 client daemon:
# - run this preferably as "Administrator", but this is not a requirement
# - requires separate terminal
$ /sbin/msnfs41client run_daemon

# Mount a filesystem and use it
# - requires that NFSv4 server accepts connections from a TCP port
# number > 1024, which can be archived on Linux with the "insecure"
# export option in /etc/exports, or "resvport" on Solaris/Illumos
# (see nfs(5))
$ /sbin/nfs_mount -o rw N 10.49.20.110:/net_tmpfs2
Successfully mounted '10 DOT 49 DOT 20 DOT 110 AT 2049' to drive 'N:'
$ cd /cygdrive/n/
$ ls -la
total 4
drwxrwxrwt 5 Unix_User+0      Unix_Group+0      100 Dec  7 14:17 .
dr-xr-xr-x 1 roland_mainz     Kein                0 Dec 14 13:48 ..
drwxr-xr-x 3 Unix_User+197608 Unix_Group+197121  80 Dec 12 16:24 10492030
drwxr-xr-x 3 Unix_User+197608 Unix_Group+197121  60 Dec 13 17:58 directory_t
drwxr-xr-x 3 Unix_User+197608 Unix_Group+197121  60 Dec  7 11:01 test2

# Unmount filesystem:
$ cd ~ && /sbin/nfs_mount -d N:
# OR
$ cd ~
$ net use N: /delete


#
# Notes:
#
- Idmapping (including uid/gid mapping) between NFSv4 client and NFSv4
  server works via /lib/msnfs41client/cygwin_idmapper.ksh, which
  either uses builtin static data, or /usr/bin/getent passwd and
  /usr/bin/getent group.
  As getent uses the configured name services it should work with LDAP
  too.
  This is still work-in-progress, with the goal that both NFSv4 client
  and server can use different uid/gid numeric values for client and
  server side.

- UNC paths are supported, after successful mounting /sbin/nfs_mount
  will list the paths in Cygwin UNC format.

- SIDs work, users with valid Windows accounts (see Cygwin idmapping
  above get their SIDs, unknown users with valid uid/gid values get
  Unix_User+id/Unix_Group+id SIDs, and all others are mapped
  to nobody/nogroup SIDs.

- Cygwin symlinks are supported, but might require
  $ fsutil behavior set SymlinkEvaluation L2L:1 R2R:1 L2R:1 R2L:1 #.
  This includes symlinks to UNC paths, e.g. as Admin
  $ cmd /c 'mklink /d c:\home\rmainz
\\derfwpc5131_ipv6 AT 2049\nfs4\export\home2\rmainz' #
  and then $ cd /cygdrive/c/home/rmainz/ # should work

- performance: All binaries are build without any optimisation, so
  the filesystem is much slower than it could be.

- bad performance due to Windows Defender AntiVirus:
  Option 1:
  # disable Windows defender realtime monitoring
  # (requires Admin shell)
  powershell -Command 'Set-MpPreference -DisableRealtimeMonitoring 1'
  Option 2:
  Add "nfsd.exe", "nfsd_debug.exe", "ksh93.exe", "bash.exe", "git.exe"
  and other offending commands to the process name whitelist.

- performance: Use vmxnet3 in VMware to improve performance

- ACLs are supported via the normal Windows ACL tools, but on
  Linux require the nfs4_getfacl/nfs4_setfacl utilities to see the
  data.
  Example (assuming that Windows, Linux NFSv4 client and NFSv4
  server have a user "siegfried_wulsch"):
  - On Windows on a NFSv4 filesystem, :
  $ icacls myhorribledata.txt /grant "siegfried_wulsch:WD" #
  - On Linux NFSv4 clients you will then see this:
  ---- snip ----
  $ nfs4_getfacl myhorribledata.txt
  A::OWNER@:rwatTcCy
  A::siegfried_wulsch AT global DOT loc:rwatcy
  A::GROUP@:rtcy
  A::EVERYONE@:rtcy
  ---- snip ----

- nfs_mount only works when the NFSv4 server allows connections from
  ports >= 1024, as Windows does not allow the Windows NFSv4 client
  to use a "privileged port" (i.e. TCP port number < 1024)).
  By default the NFSv4 server on Solaris, Illumos, Linux
  etc. only accepts connections if the NFSv4 client uses a "privileged
  (TCP) port", i.e. a port number < 1024.
  This can be worked around by using the "insecure" export option in
  Linux /etc/exports, which allows connections from ports >= 1024,
  and for Solaris/Illumos see nfs(5), option "resvport".

#
# Known issues:
#
- The kernel driver ("nfs41_driver.sys") does not have a cryptographic
  signature for SecureBoot - which means it will only work if SecureBoot
  is turned off (otherwise $ /sbin/msnfs41client install # will FAIL!)
- If nfsd_debug.exe crashes or gets killed, the only safe way
  to run it again requires a reboot
- LDAP support does not work yet
- Attribute caching is to aggressive, making $ tail -f ... # not seeing
  new data.
  Workaround: Use GNU tail'S $ tail --follow=name ... #
- krb5p security with AES keys do not work against the linux server,
  as it does not support gss krb5 v2 tokens with rotated data.
- When recovering opens and locks outside of the server's grace period,
  client does not check whether the file has been modified by another
  client.
- If nfsd.exe is restarted while a drive is mapped, that drive needs
  to be remounted before further use.
- Does not allow renaming a file on top of an existing open file.
  Connectathon's special test op_ren has been commented out.
- Extended attributes are supported with some limitations:
  a) the server must support NFS Named Attributes,
  b) the order of listings cannot be guaranteed by NFS, and
  c) the EaSize field cannot be reported for directory queries of
  FileBothDirInformation, FileFullDirInfo, or FileIdFullDirInfo.

# EOF.

----

Bye,
Roland
--
  __ .  . __
 (o.\ \/ /.o) roland DOT mainz AT nrubsig DOT org
  \__\/\/__/  MPEG specialist, C&&JAVA&&Sun&&Unix programmer
  /O /==\ O\  TEL +49 641 3992797
 (;O/ \/ \O;)


_______________________________________________
Ms-nfs41-client-devel mailing list
Ms-nfs41-client-devel AT lists DOT sourceforge DOT net
https://lists.sourceforge.net/lists/listinfo/ms-nfs41-client-devel


-- 
Cedric Blancher <cedric DOT blancher AT gmail DOT com>
[https://plus.google.com/u/0/+CedricBlancher/]
Institute Pasteur

-- 
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

- Raw text -


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