pastebin - collaborative debugging tool
rovema.kpaste.net RSS


msnfs41client: Patches for Windows 32bit-only build fixes, Windows Server 2025 support+misc, 2025-11-17
Posted by Anonymous on Mon 17th Nov 2025 20:22
raw | new post

  1. From d25580289199a8e9c6aa4bf3ceadf1b50a393c7e Mon Sep 17 00:00:00 2001
  2. From: Cedric Blancher <cedric.blancher@gmail.com>
  3. Date: Mon, 17 Nov 2025 17:51:52 +0100
  4. Subject: [PATCH 1/4] tests: signtool.exe can be in either '/cygdrive/c/Program
  5.  Files/' or '/cygdrive/c/Program Files (x86)/'
  6.  
  7. Handle two options where signtool.exe can be located - either in
  8. '/cygdrive/c/Program Files/' or in '/cygdrive/c/Program Files (x86)/'.
  9.  
  10. Signed-off-by: Roland Mainz <roland.mainz@nrubsig.org>
  11. ---
  12. tests/ea/Makefile                 |  8 ++++----
  13.  tests/filemmaptests/Makefile      |  8 ++++----
  14.  tests/lockincfile1/Makefile       |  8 ++++----
  15.  tests/lssparse/Makefile           |  8 ++++----
  16.  tests/winclonefile/Makefile       |  8 ++++----
  17.  tests/winfsinfo1/Makefile         |  8 ++++----
  18.  tests/winoffloadcopyfile/Makefile |  8 ++++----
  19.  tests/winrunassystem/Makefile     | 12 ++++++------
  20.  tests/winsg/Makefile              |  8 ++++----
  21.  9 files changed, 38 insertions(+), 38 deletions(-)
  22.  
  23. diff --git a/tests/ea/Makefile b/tests/ea/Makefile
  24. index e647cb6..fb6674e 100644
  25. --- a/tests/ea/Makefile
  26. +++ b/tests/ea/Makefile
  27. @@ -2,18 +2,18 @@
  28.  # Makefile for nfs_ea
  29.  #
  30.  
  31. -# POSIX Makefile
  32. -SIGNTOOL="/cygdrive/c/Program Files (x86)/Microsoft SDKs/ClickOnce/SignTool/signtool.exe"
  33. +# signtool.exe can be in either '/cygdrive/c/Program Files/' or '/cygdrive/c/Program Files (x86)/'
  34. +SIGNTOOL := $(shell ls -1 '/cygdrive/c/Program Files'*'/Microsoft SDKs/ClickOnce/SignTool/signtool.exe' | head -n 1)
  35.  
  36.  all: nfs_ea.i686.exe nfs_ea.x86_64.exe nfs_ea.exe
  37.  
  38.  nfs_ea.i686.exe: main.c
  39.         clang -target i686-pc-windows-gnu -std=gnu17 -municode -Wall -Wextra -DSTRSAFE_NO_DEPRECATE=1 -D_CRT_STDIO_ISO_WIDE_SPECIFIERS=1 -DUNICODE=1 -D_UNICODE=1 -isystem /usr/include/w32api/ddk -I../../include -g main.c -lntdll -o $@
  40. -       bash -x -c '$(SIGNTOOL) sign /ph /fd "sha256" /sha1 "$${CERTIFICATE_THUMBPRINT%$$(printf "\r")}" $@'
  41. +       bash -x -c '"$(SIGNTOOL)" sign /ph /fd "sha256" /sha1 "$${CERTIFICATE_THUMBPRINT%$$(printf "\r")}" $@'
  42.  
  43.  nfs_ea.x86_64.exe: main.c
  44.         clang -target x86_64-pc-windows-gnu -std=gnu17 -municode -Wall -Wextra -DSTRSAFE_NO_DEPRECATE=1 -D_CRT_STDIO_ISO_WIDE_SPECIFIERS=1 -DUNICODE=1 -D_UNICODE=1 -isystem /usr/include/w32api/ddk -I../../include -g main.c -lntdll -o $@
  45. -       bash -x -c '$(SIGNTOOL) sign /ph /fd "sha256" /sha1 "$${CERTIFICATE_THUMBPRINT%$$(printf "\r")}" $@'
  46. +       bash -x -c '"$(SIGNTOOL)" sign /ph /fd "sha256" /sha1 "$${CERTIFICATE_THUMBPRINT%$$(printf "\r")}" $@'
  47.  
  48.  nfs_ea.exe: nfs_ea.x86_64.exe
  49.         rm -f nfs_ea.exe
  50. diff --git a/tests/filemmaptests/Makefile b/tests/filemmaptests/Makefile
  51. index 3b2a9e53..679f2f8 100644
  52. --- a/tests/filemmaptests/Makefile
  53. +++ b/tests/filemmaptests/Makefile
  54. @@ -2,8 +2,8 @@
  55.  # Makefile for qsortonmmapedfile1
  56.  #
  57.  
  58. -# POSIX Makefile
  59. -SIGNTOOL="/cygdrive/c/Program Files (x86)/Microsoft SDKs/ClickOnce/SignTool/signtool.exe"
  60. +# signtool.exe can be in either '/cygdrive/c/Program Files/' or '/cygdrive/c/Program Files (x86)/'
  61. +SIGNTOOL := $(shell ls -1 '/cygdrive/c/Program Files'*'/Microsoft SDKs/ClickOnce/SignTool/signtool.exe' | head -n 1)
  62.  
  63.  all: \
  64.         qsortonmmapedfile1.i686.exe \
  65. @@ -12,11 +12,11 @@ all: \
  66.  
  67.  qsortonmmapedfile1.i686.exe: qsortonmmapedfile1.c
  68.         clang -target i686-pc-windows-gnu -std=gnu17 -Wall -Wextra -DUNICODE=1 -D_UNICODE=1 -g -O qsortonmmapedfile1.c -o $@
  69. -       bash -x -c '$(SIGNTOOL) sign /ph /fd "sha256" /sha1 "$${CERTIFICATE_THUMBPRINT%$$(printf "\r")}" $@'
  70. +       bash -x -c '"$(SIGNTOOL)" sign /ph /fd "sha256" /sha1 "$${CERTIFICATE_THUMBPRINT%$$(printf "\r")}" $@'
  71.  
  72.  qsortonmmapedfile1.x86_64.exe: qsortonmmapedfile1.c
  73.         clang -target x86_64-pc-windows-gnu -std=gnu17 -Wall -Wextra -DUNICODE=1 -D_UNICODE=1 -g -O qsortonmmapedfile1.c -o $@
  74. -       bash -x -c '$(SIGNTOOL) sign /ph /fd "sha256" /sha1 "$${CERTIFICATE_THUMBPRINT%$$(printf "\r")}" $@'
  75. +       bash -x -c '"$(SIGNTOOL)" sign /ph /fd "sha256" /sha1 "$${CERTIFICATE_THUMBPRINT%$$(printf "\r")}" $@'
  76.  
  77.  qsortonmmapedfile1.exe: qsortonmmapedfile1.x86_64.exe
  78.         ln -s qsortonmmapedfile1.x86_64.exe qsortonmmapedfile1.exe
  79. diff --git a/tests/lockincfile1/Makefile b/tests/lockincfile1/Makefile
  80. index ab539dc..2ce0f92 100644
  81. --- a/tests/lockincfile1/Makefile
  82. +++ b/tests/lockincfile1/Makefile
  83. @@ -2,8 +2,8 @@
  84.  # Makefile for lockincfile1
  85.  #
  86.  
  87. -# POSIX Makefile
  88. -SIGNTOOL="/cygdrive/c/Program Files (x86)/Microsoft SDKs/ClickOnce/SignTool/signtool.exe"
  89. +# signtool.exe can be in either '/cygdrive/c/Program Files/' or '/cygdrive/c/Program Files (x86)/'
  90. +SIGNTOOL := $(shell ls -1 '/cygdrive/c/Program Files'*'/Microsoft SDKs/ClickOnce/SignTool/signtool.exe' | head -n 1)
  91.  
  92.  all: \
  93.         lockincfile1.i686.exe \
  94. @@ -12,11 +12,11 @@ all: \
  95.  
  96.  lockincfile1.i686.exe: lockincfile1.c
  97.         clang -target i686-pc-windows-gnu -std=gnu17 -Wall -Wextra -DUNICODE=1 -D_UNICODE=1 -g -O lockincfile1.c -o $@
  98. -       bash -x -c '$(SIGNTOOL) sign /ph /fd "sha256" /sha1 "$${CERTIFICATE_THUMBPRINT%$$(printf "\r")}" $@'
  99. +       bash -x -c '"$(SIGNTOOL)" sign /ph /fd "sha256" /sha1 "$${CERTIFICATE_THUMBPRINT%$$(printf "\r")}" $@'
  100.  
  101.  lockincfile1.x86_64.exe: lockincfile1.c
  102.         clang -target x86_64-pc-windows-gnu -std=gnu17 -Wall -Wextra -DUNICODE=1 -D_UNICODE=1 -g -O lockincfile1.c -o $@
  103. -       bash -x -c '$(SIGNTOOL) sign /ph /fd "sha256" /sha1 "$${CERTIFICATE_THUMBPRINT%$$(printf "\r")}" $@'
  104. +       bash -x -c '"$(SIGNTOOL)" sign /ph /fd "sha256" /sha1 "$${CERTIFICATE_THUMBPRINT%$$(printf "\r")}" $@'
  105.  
  106.  lockincfile1.exe: lockincfile1.x86_64.exe
  107.         ln -s lockincfile1.x86_64.exe lockincfile1.exe
  108. diff --git a/tests/lssparse/Makefile b/tests/lssparse/Makefile
  109. index 0f2a11d..d87d40c 100644
  110. --- a/tests/lssparse/Makefile
  111. +++ b/tests/lssparse/Makefile
  112. @@ -2,19 +2,19 @@
  113.  # Makefile for lssparse
  114.  #
  115.  
  116. -# POSIX Makefile
  117. -SIGNTOOL="/cygdrive/c/Program Files (x86)/Microsoft SDKs/ClickOnce/SignTool/signtool.exe"
  118. +# signtool.exe can be in either '/cygdrive/c/Program Files/' or '/cygdrive/c/Program Files (x86)/'
  119. +SIGNTOOL := $(shell ls -1 '/cygdrive/c/Program Files'*'/Microsoft SDKs/ClickOnce/SignTool/signtool.exe' | head -n 1)
  120.  
  121.  all: lssparse.x86_64.exe lssparse.exe
  122.  
  123.  # Cygwin 3.6 does not support 32bit builds anymore
  124.  #lssparse.i686.exe: lssparse.c
  125.  #      gcc -std=gnu17 -Wall -Wextra -DUNICODE=1 -D_UNICODE=1 -I../../include -g lssparse.c -lntdll -o $@
  126. -#      bash -x -c '$(SIGNTOOL) sign /ph /fd "sha256" /sha1 "$${CERTIFICATE_THUMBPRINT%$$(printf "\r")}" $@'
  127. +#      bash -x -c '"$(SIGNTOOL)" sign /ph /fd "sha256" /sha1 "$${CERTIFICATE_THUMBPRINT%$$(printf "\r")}" $@'
  128.  
  129.  lssparse.x86_64.exe: lssparse.c
  130.         gcc -std=gnu17 -Wall -Wextra -DUNICODE=1 -D_UNICODE=1 -I../../include -g lssparse.c -lntdll -o $@
  131. -       bash -x -c '$(SIGNTOOL) sign /ph /fd "sha256" /sha1 "$${CERTIFICATE_THUMBPRINT%$$(printf "\r")}" $@'
  132. +       bash -x -c '"$(SIGNTOOL)" sign /ph /fd "sha256" /sha1 "$${CERTIFICATE_THUMBPRINT%$$(printf "\r")}" $@'
  133.  
  134.  lssparse.exe: lssparse.x86_64.exe
  135.         ln -s lssparse.x86_64.exe lssparse.exe
  136. diff --git a/tests/winclonefile/Makefile b/tests/winclonefile/Makefile
  137. index 4c00b53..c196f24 100644
  138. --- a/tests/winclonefile/Makefile
  139. +++ b/tests/winclonefile/Makefile
  140. @@ -2,18 +2,18 @@
  141.  # Makefile for winclonefile
  142.  #
  143.  
  144. -# POSIX Makefile
  145. -SIGNTOOL="/cygdrive/c/Program Files (x86)/Microsoft SDKs/ClickOnce/SignTool/signtool.exe"
  146. +# signtool.exe can be in either '/cygdrive/c/Program Files/' or '/cygdrive/c/Program Files (x86)/'
  147. +SIGNTOOL := $(shell ls -1 '/cygdrive/c/Program Files'*'/Microsoft SDKs/ClickOnce/SignTool/signtool.exe' | head -n 1)
  148.  
  149.  all: winclonefile.i686.exe winclonefile.x86_64.exe winclonefile.exe
  150.  
  151.  winclonefile.i686.exe: winclonefile.c
  152.         clang -target i686-pc-windows-gnu -std=gnu17 -Wall -Wextra -DUNICODE=1 -D_UNICODE=1 -I../../include -g winclonefile.c -lntdll -o $@
  153. -       bash -x -c '$(SIGNTOOL) sign /ph /fd "sha256" /sha1 "$${CERTIFICATE_THUMBPRINT%$$(printf "\r")}" $@'
  154. +       bash -x -c '"$(SIGNTOOL)" sign /ph /fd "sha256" /sha1 "$${CERTIFICATE_THUMBPRINT%$$(printf "\r")}" $@'
  155.  
  156.  winclonefile.x86_64.exe: winclonefile.c
  157.         clang -target x86_64-pc-windows-gnu -std=gnu17 -Wall -Wextra -DUNICODE=1 -D_UNICODE=1 -I../../include -g winclonefile.c -lntdll -o $@
  158. -       bash -x -c '$(SIGNTOOL) sign /ph /fd "sha256" /sha1 "$${CERTIFICATE_THUMBPRINT%$$(printf "\r")}" $@'
  159. +       bash -x -c '"$(SIGNTOOL)" sign /ph /fd "sha256" /sha1 "$${CERTIFICATE_THUMBPRINT%$$(printf "\r")}" $@'
  160.  
  161.  winclonefile.exe: winclonefile.x86_64.exe
  162.         ln -s winclonefile.x86_64.exe winclonefile.exe
  163. diff --git a/tests/winfsinfo1/Makefile b/tests/winfsinfo1/Makefile
  164. index 262a93f..1099aa4 100644
  165. --- a/tests/winfsinfo1/Makefile
  166. +++ b/tests/winfsinfo1/Makefile
  167. @@ -2,18 +2,18 @@
  168.  # Makefile for winfsinfo
  169.  #
  170.  
  171. -# POSIX Makefile
  172. -SIGNTOOL="/cygdrive/c/Program Files (x86)/Microsoft SDKs/ClickOnce/SignTool/signtool.exe"
  173. +# signtool.exe can be in either '/cygdrive/c/Program Files/' or '/cygdrive/c/Program Files (x86)/'
  174. +SIGNTOOL := $(shell ls -1 '/cygdrive/c/Program Files'*'/Microsoft SDKs/ClickOnce/SignTool/signtool.exe' | head -n 1)
  175.  
  176.  all: winfsinfo.i686.exe winfsinfo.x86_64.exe winfsinfo.exe
  177.  
  178.  winfsinfo.i686.exe: winfsinfo.c
  179.         clang -target i686-pc-windows-gnu -std=gnu17 -Wall -Wextra -DUNICODE=1 -D_UNICODE=1 -I../../include -g winfsinfo.c -lmpr -lntdll -o $@
  180. -       bash -x -c '$(SIGNTOOL) sign /ph /fd "sha256" /sha1 "$${CERTIFICATE_THUMBPRINT%$$(printf "\r")}" $@'
  181. +       bash -x -c '"$(SIGNTOOL)" sign /ph /fd "sha256" /sha1 "$${CERTIFICATE_THUMBPRINT%$$(printf "\r")}" $@'
  182.  
  183.  winfsinfo.x86_64.exe: winfsinfo.c
  184.         clang -target x86_64-pc-windows-gnu -std=gnu17 -Wall -Wextra -DUNICODE=1 -D_UNICODE=1 -I../../include -g winfsinfo.c -lmpr -lntdll -o $@
  185. -       bash -x -c '$(SIGNTOOL) sign /ph /fd "sha256" /sha1 "$${CERTIFICATE_THUMBPRINT%$$(printf "\r")}" $@'
  186. +       bash -x -c '"$(SIGNTOOL)" sign /ph /fd "sha256" /sha1 "$${CERTIFICATE_THUMBPRINT%$$(printf "\r")}" $@'
  187.  
  188.  winfsinfo.exe: winfsinfo.x86_64.exe
  189.         ln -s winfsinfo.x86_64.exe winfsinfo.exe
  190. diff --git a/tests/winoffloadcopyfile/Makefile b/tests/winoffloadcopyfile/Makefile
  191. index 5330d4f..e415e15 100644
  192. --- a/tests/winoffloadcopyfile/Makefile
  193. +++ b/tests/winoffloadcopyfile/Makefile
  194. @@ -2,18 +2,18 @@
  195.  # Makefile for winoffloadcopyfile
  196.  #
  197.  
  198. -# POSIX Makefile
  199. -SIGNTOOL="/cygdrive/c/Program Files (x86)/Microsoft SDKs/ClickOnce/SignTool/signtool.exe"
  200. +# signtool.exe can be in either '/cygdrive/c/Program Files/' or '/cygdrive/c/Program Files (x86)/'
  201. +SIGNTOOL := $(shell ls -1 '/cygdrive/c/Program Files'*'/Microsoft SDKs/ClickOnce/SignTool/signtool.exe' | head -n 1)
  202.  
  203.  all: winoffloadcopyfile.i686.exe winoffloadcopyfile.x86_64.exe winoffloadcopyfile.exe
  204.  
  205.  winoffloadcopyfile.i686.exe: winoffloadcopyfile.c
  206.         clang -target i686-pc-windows-gnu -std=gnu17 -Wall -Wextra -DUNICODE=1 -D_UNICODE=1 -I../../include -g winoffloadcopyfile.c -lntdll -o $@
  207. -       bash -x -c '$(SIGNTOOL) sign /ph /fd "sha256" /sha1 "$${CERTIFICATE_THUMBPRINT%$$(printf "\r")}" $@'
  208. +       bash -x -c '"$(SIGNTOOL)" sign /ph /fd "sha256" /sha1 "$${CERTIFICATE_THUMBPRINT%$$(printf "\r")}" $@'
  209.  
  210.  winoffloadcopyfile.x86_64.exe: winoffloadcopyfile.c
  211.         clang -target x86_64-pc-windows-gnu -std=gnu17 -Wall -Wextra -DUNICODE=1 -D_UNICODE=1 -I../../include -g winoffloadcopyfile.c -lntdll -o $@
  212. -       bash -x -c '$(SIGNTOOL) sign /ph /fd "sha256" /sha1 "$${CERTIFICATE_THUMBPRINT%$$(printf "\r")}" $@'
  213. +       bash -x -c '"$(SIGNTOOL)" sign /ph /fd "sha256" /sha1 "$${CERTIFICATE_THUMBPRINT%$$(printf "\r")}" $@'
  214.  
  215.  winoffloadcopyfile.exe: winoffloadcopyfile.x86_64.exe
  216.         ln -s winoffloadcopyfile.x86_64.exe winoffloadcopyfile.exe
  217. diff --git a/tests/winrunassystem/Makefile b/tests/winrunassystem/Makefile
  218. index 881396d..773b72e 100644
  219. --- a/tests/winrunassystem/Makefile
  220. +++ b/tests/winrunassystem/Makefile
  221. @@ -2,8 +2,8 @@
  222.  # Makefile for winrunassystem
  223.  #
  224.  
  225. -# POSIX Makefile
  226. -SIGNTOOL="/cygdrive/c/Program Files (x86)/Microsoft SDKs/ClickOnce/SignTool/signtool.exe"
  227. +# signtool.exe can be in either '/cygdrive/c/Program Files/' or '/cygdrive/c/Program Files (x86)/'
  228. +SIGNTOOL := $(shell ls -1 '/cygdrive/c/Program Files'*'/Microsoft SDKs/ClickOnce/SignTool/signtool.exe' | head -n 1)
  229.  
  230.  all: \
  231.         winrunassystem.i686.exe \
  232. @@ -18,11 +18,11 @@ all: \
  233.  #
  234.  winrunassystem.i686.exe: winrunassystem.c
  235.         clang -target i686-pc-windows-gnu -std=gnu17 -municode -Wall -Wextra -DBUILD_WINRUNASSYSTEM=1 -DUNICODE=1 -D_UNICODE=1 -g winrunassystem.c -lWtsapi32 -o $@
  236. -       bash -x -c '$(SIGNTOOL) sign /ph /fd "sha256" /sha1 "$${CERTIFICATE_THUMBPRINT%$$(printf "\r")}" $@'
  237. +       bash -x -c '"$(SIGNTOOL)" sign /ph /fd "sha256" /sha1 "$${CERTIFICATE_THUMBPRINT%$$(printf "\r")}" $@'
  238.  
  239.  winrunassystem.x86_64.exe: winrunassystem.c
  240.         clang -target x86_64-pc-windows-gnu -std=gnu17 -municode -Wall -Wextra -DBUILD_WINRUNASSYSTEM=1 -DUNICODE=1 -D_UNICODE=1 -g winrunassystem.c -lWtsapi32 -o $@
  241. -       bash -x -c '$(SIGNTOOL) sign /ph /fd "sha256" /sha1 "$${CERTIFICATE_THUMBPRINT%$$(printf "\r")}" $@'
  242. +       bash -x -c '"$(SIGNTOOL)" sign /ph /fd "sha256" /sha1 "$${CERTIFICATE_THUMBPRINT%$$(printf "\r")}" $@'
  243.  
  244.  winrunassystem.exe: winrunassystem.x86_64.exe
  245.         ln -s winrunassystem.x86_64.exe $@
  246. @@ -36,11 +36,11 @@ winrunassystem.exe: winrunassystem.x86_64.exe
  247.  #
  248.  nfs_globalmount.i686.exe: winrunassystem.c
  249.         clang -target i686-pc-windows-gnu -std=gnu17 -municode -Wall -Wextra -DBUILD_NFS_GLOBALMOUNT=1 -DUNICODE=1 -D_UNICODE=1 -g winrunassystem.c -lWtsapi32 -o $@
  250. -       bash -x -c '$(SIGNTOOL) sign /ph /fd "sha256" /sha1 "$${CERTIFICATE_THUMBPRINT%$$(printf "\r")}" $@'
  251. +       bash -x -c '"$(SIGNTOOL)" sign /ph /fd "sha256" /sha1 "$${CERTIFICATE_THUMBPRINT%$$(printf "\r")}" $@'
  252.  
  253.  nfs_globalmount.x86_64.exe: winrunassystem.c
  254.         clang -target x86_64-pc-windows-gnu -std=gnu17 -municode -Wall -Wextra -DBUILD_NFS_GLOBALMOUNT=1 -DUNICODE=1 -D_UNICODE=1 -g winrunassystem.c -lWtsapi32 -o $@
  255. -       bash -x -c '$(SIGNTOOL) sign /ph /fd "sha256" /sha1 "$${CERTIFICATE_THUMBPRINT%$$(printf "\r")}" $@'
  256. +       bash -x -c '"$(SIGNTOOL)" sign /ph /fd "sha256" /sha1 "$${CERTIFICATE_THUMBPRINT%$$(printf "\r")}" $@'
  257.  
  258.  nfs_globalmount.exe: nfs_globalmount.x86_64.exe
  259.         ln -s nfs_globalmount.x86_64.exe $@
  260. diff --git a/tests/winsg/Makefile b/tests/winsg/Makefile
  261. index 345151d..28f0335 100644
  262. --- a/tests/winsg/Makefile
  263. +++ b/tests/winsg/Makefile
  264. @@ -2,18 +2,18 @@
  265.  # Makefile for winsg
  266.  #
  267.  
  268. -# POSIX Makefile
  269. -SIGNTOOL="/cygdrive/c/Program Files (x86)/Microsoft SDKs/ClickOnce/SignTool/signtool.exe"
  270. +# signtool.exe can be in either '/cygdrive/c/Program Files/' or '/cygdrive/c/Program Files (x86)/'
  271. +SIGNTOOL := $(shell ls -1 '/cygdrive/c/Program Files'*'/Microsoft SDKs/ClickOnce/SignTool/signtool.exe' | head -n 1)
  272.  
  273.  all: winsg.i686.exe winsg.x86_64.exe winsg.exe
  274.  
  275.  winsg.i686.exe: winsg.c
  276.         clang -target i686-pc-windows-gnu -std=gnu17 -municode -Wall -Wextra -DUNICODE=1 -D_UNICODE=1 -g winsg.c -o $@
  277. -       bash -x -c '$(SIGNTOOL) sign /ph /fd "sha256" /sha1 "$${CERTIFICATE_THUMBPRINT%$$(printf "\r")}" $@'
  278. +       bash -x -c '"$(SIGNTOOL)" sign /ph /fd "sha256" /sha1 "$${CERTIFICATE_THUMBPRINT%$$(printf "\r")}" $@'
  279.  
  280.  winsg.x86_64.exe: winsg.c
  281.         clang -target x86_64-pc-windows-gnu -std=gnu17 -municode -Wall -Wextra -DUNICODE=1 -D_UNICODE=1 -g winsg.c -o $@
  282. -       bash -x -c '$(SIGNTOOL) sign /ph /fd "sha256" /sha1 "$${CERTIFICATE_THUMBPRINT%$$(printf "\r")}" $@'
  283. +       bash -x -c '"$(SIGNTOOL)" sign /ph /fd "sha256" /sha1 "$${CERTIFICATE_THUMBPRINT%$$(printf "\r")}" $@'
  284.  
  285.  winsg.exe: winsg.x86_64.exe
  286.         ln -s winsg.x86_64.exe winsg.exe
  287. --
  288. 2.51.0
  289.  
  290. From 056c1fe61bb7980fced6dfc632e99e04b69cd70d Mon Sep 17 00:00:00 2001
  291. From: Cedric Blancher <cedric.blancher@gmail.com>
  292. Date: Mon, 17 Nov 2025 18:12:10 +0100
  293. Subject: [PATCH 2/4] tests: Fix Windows 32bit-only build failures on Windows
  294.  10/Cygwin 3.3
  295.  
  296. Fix Windows 32bit-only build failures on Windows 10/Cygwin 3.3.
  297.  
  298. Signed-off-by: Roland Mainz <roland.mainz@nrubsig.org>
  299. ---
  300. tests/winclonefile/winclonefile.c             | 5 +++++
  301.  tests/winoffloadcopyfile/winoffloadcopyfile.c | 9 +++++++++
  302.  tests/winrunassystem/winrunassystem.c         | 1 +
  303.  3 files changed, 15 insertions(+)
  304.  
  305. diff --git a/tests/winclonefile/winclonefile.c b/tests/winclonefile/winclonefile.c
  306. index 80bf35a..e1e2303 100644
  307. --- a/tests/winclonefile/winclonefile.c
  308. +++ b/tests/winclonefile/winclonefile.c
  309. @@ -37,6 +37,11 @@
  310.  
  311.  #define EXIT_USAGE (2) /* Traditional UNIX exit code for usage */
  312.  
  313. +#ifndef FSCTL_DUPLICATE_EXTENTS_TO_FILE
  314. +#define FSCTL_DUPLICATE_EXTENTS_TO_FILE \
  315. +    CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 209, METHOD_BUFFERED, FILE_WRITE_DATA)
  316. +#endif /* !FSCTL_DUPLICATE_EXTENTS_TO_FILE */
  317. +
  318.  #ifdef DUPLICATE_EXTENTS_DATA_EX_SOURCE_ATOMIC
  319.  /*
  320.   * MinGW commit
  321. diff --git a/tests/winoffloadcopyfile/winoffloadcopyfile.c b/tests/winoffloadcopyfile/winoffloadcopyfile.c
  322. index 05ccf6a..c6cbcd3 100644
  323. --- a/tests/winoffloadcopyfile/winoffloadcopyfile.c
  324. +++ b/tests/winoffloadcopyfile/winoffloadcopyfile.c
  325. @@ -37,6 +37,15 @@
  326.  
  327.  #define EXIT_USAGE (2) /* Traditional UNIX exit code for usage */
  328.  
  329. +#ifndef FSCTL_OFFLOAD_READ
  330. +#define FSCTL_OFFLOAD_READ  \
  331. +    CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 153, METHOD_BUFFERED, FILE_READ_ACCESS)
  332. +#endif /* !FSCTL_OFFLOAD_READ */
  333. +#ifndef FSCTL_OFFLOAD_WRITE
  334. +#define FSCTL_OFFLOAD_WRITE \
  335. +    CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 154, METHOD_BUFFERED, FILE_WRITE_ACCESS)
  336. +#endif /* !FSCTL_OFFLOAD_WRITE */
  337. +
  338.  /* MinGW headers are currently missing these defines and types */
  339.  #ifndef OFFLOAD_READ_FLAG_ALL_ZERO_BEYOND_CURRENT_RANGE
  340.  typedef struct _FSCTL_OFFLOAD_READ_INPUT {
  341. diff --git a/tests/winrunassystem/winrunassystem.c b/tests/winrunassystem/winrunassystem.c
  342. index 68b2e30..aa1486c 100644
  343. --- a/tests/winrunassystem/winrunassystem.c
  344. +++ b/tests/winrunassystem/winrunassystem.c
  345. @@ -36,6 +36,7 @@
  346.   */
  347.  
  348.  #define WIN32_LEAN_AND_MEAN 1
  349. +#define STRSAFE_NO_DEPRECATE 1
  350.  
  351.  #include <windows.h>
  352.  #include <strsafe.h>
  353. --
  354. 2.51.0
  355.  
  356. From e5d4395f1860d6775e8592d39c66b6e3b16130c0 Mon Sep 17 00:00:00 2001
  357. From: Cedric Blancher <cedric.blancher@gmail.com>
  358. Date: Mon, 17 Nov 2025 18:37:02 +0100
  359. Subject: [PATCH 3/4] cygwin: Windows Kit 10 can be in either
  360.  '/cygdrive/c/Program Files/' or in '/cygdrive/c/Program Files (x86)/'
  361.  
  362. make installdest should handle that Windows Kit 10 is either in
  363. '/cygdrive/c/Program Files/' or '/cygdrive/c/Program Files (x86)/'.
  364.  
  365. Signed-off-by: Roland Mainz <roland.mainz@nrubsig.org>
  366. ---
  367. cygwin/Makefile.install | 13 +++++++++----
  368.  1 file changed, 9 insertions(+), 4 deletions(-)
  369.  
  370. diff --git a/cygwin/Makefile.install b/cygwin/Makefile.install
  371. index fa391ee..129366f 100644
  372. --- a/cygwin/Makefile.install
  373. +++ b/cygwin/Makefile.install
  374. @@ -13,6 +13,11 @@ PROJECT_BASEDIR_DIR := $(shell dirname $(realpath $(CYGWIN_MAKEFILE_DIR)/))
  375.  
  376.  DESTDIR := $(PROJECT_BASEDIR_DIR)/destdir
  377.  
  378. +# Windows Kit 10 bins can be either in
  379. +# '/cygdrive/c/Program Files/Windows Kits/10/bin/' or in
  380. +# '/cygdrive/c/Program Files (x86)/Windows Kits/10/bin/'
  381. +WINDOWS_KITS_10_BIN_DIR := $(shell ls -1d '/cygdrive/c/Program Files'*'/Windows Kits/10/bin/' | head -n 1)
  382. +
  383.  # install in DESTDIR
  384.  installdest:
  385.         #
  386. @@ -96,7 +101,7 @@ installdest:
  387.                 [[ -f "$(DESTDIR)/lib/msnfs41client/$${infdir}/nfs41_driver.sys" ]] || continue ; \
  388.                 ( \
  389.                         cp "$(PROJECT_BASEDIR_DIR)/nfs41rdr.inf" "$(DESTDIR)/lib/msnfs41client/$${infdir}/." && \
  390. -                       inf2catbin="$$(find '/cygdrive/c/Program Files (x86)/Windows Kits/10/bin' -iname inf2cat.exe | head -n 1)" && \
  391. +                       inf2catbin="$$(find '$(WINDOWS_KITS_10_BIN_DIR)' -iname inf2cat.exe | head -n 1)" && \
  392.                         cd "$(DESTDIR)/lib/msnfs41client/$${infdir}/." && \
  393.                         if [[ "$$(/usr/lib/csih/getVolInfo . | awk '/FILE_CASE_SENSITIVE_SEARCH/ { print $$3 }')" == "TRUE" ]] ; then \
  394.                                 printf "# case-sensitive filesystem, resetting TMP TMPDIR TEMP to /tmp\n" ; \
  395. @@ -188,18 +193,18 @@ installdest:
  396.         cp \
  397.                 "$$(find "$${vsbasepath}/$${vssubdir}" -ipath '*/x86/*/VCRUNTIME140D.dll' | sort -n -r | head -n 1)" \
  398.                 "$(DESTDIR)/lib/msnfs41client/i686/." ; \
  399. -       cp '/cygdrive/c/Program Files (x86)/Windows Kits/10/bin/x86/ucrt/ucrtbased.dll' "$(DESTDIR)/lib/msnfs41client/i686/." ; \
  400. +       cp '$(WINDOWS_KITS_10_BIN_DIR)/x86/ucrt/ucrtbased.dll' "$(DESTDIR)/lib/msnfs41client/i686/." ; \
  401.         if [[ "$(VS_BUILD_DIR_X64)" != '' ]] ; then \
  402.                 cp \
  403.                         "$$(find "$${vsbasepath}/$${vssubdir}" -ipath '*/x64/*/VCRUNTIME140D.dll' | sort -n -r | head -n 1)" \
  404.                         "$(DESTDIR)/lib/msnfs41client/x64/." ; \
  405. -               cp '/cygdrive/c/Program Files (x86)/Windows Kits/10/bin/x64/ucrt/ucrtbased.dll' "$(DESTDIR)/lib/msnfs41client/x64/." ; \
  406. +               cp '$(WINDOWS_KITS_10_BIN_DIR)/x64/ucrt/ucrtbased.dll' "$(DESTDIR)/lib/msnfs41client/x64/." ; \
  407.         fi ; \
  408.         if [[ "$(VS_BUILD_DIR_ARM64)" != '' ]] ; then \
  409.                 cp \
  410.                         "$$(find "$${vsbasepath}/$${vssubdir}" -ipath '*/arm64/*/VCRUNTIME140D.dll' | sort -n -r | head -n 1)" \
  411.                         "$(DESTDIR)/lib/msnfs41client/arm64/." ; \
  412. -               cp '/cygdrive/c/Program Files (x86)/Windows Kits/10/bin/arm64/ucrt/ucrtbased.dll' "$(DESTDIR)/lib/msnfs41client/arm64/." ; \
  413. +               cp '$(WINDOWS_KITS_10_BIN_DIR)/arm64/ucrt/ucrtbased.dll' "$(DESTDIR)/lib/msnfs41client/arm64/." ; \
  414.         fi
  415.         @ printf "# Set file flags\n"
  416.         (cd $(DESTDIR)/bin/ && chmod a+rx *.exe)
  417. --
  418. 2.51.0
  419.  
  420. From 1fe470aa6e78732f318402abe372f2d1e11d4409 Mon Sep 17 00:00:00 2001
  421. From: Roland Mainz <roland.mainz@nrubsig.org>
  422. Date: Mon, 17 Nov 2025 20:07:03 +0100
  423. Subject: [PATCH 4/4] README.md,docs,tests: Document Windows Server 2025 as
  424.  supported platform
  425.  
  426. Document Windows Server 2025 as supported platform (NFS server and
  427. running ms-nfs41-client on Windows Server 2025).
  428.  
  429. Signed-off-by: Cedric Blancher <cedric.blancher@gmail.com>
  430. ---
  431. README.md                  | 5 +++--
  432.  docs/README.xml            | 4 ++--
  433.  tests/nfs_server_setup.txt | 5 +++--
  434.  3 files changed, 8 insertions(+), 6 deletions(-)
  435.  
  436. diff --git a/README.md b/README.md
  437. index 8da6e80..df8c22b 100644
  438. --- a/README.md
  439. +++ b/README.md
  440. @@ -40,7 +40,7 @@ title: Windows NFS 4.2 FileSystem Client Instructions
  441.  # What is this ?
  442.  
  443.  NFSv4.2/NFSv4.1 filesystem driver for Windows 10/11 & Windows Server
  444. -2019+2022
  445. +2019+2022+2025
  446.  
  447.  # Features
  448.  
  449. @@ -260,7 +260,8 @@ NFSv4.2/NFSv4.1 filesystem driver for Windows 10/11 & Windows Server
  450.  
  451.  # Requirements
  452.  
  453. -- Windows 10 (32bit or 64bit), Windows 11 or Windows Server 2019+2022
  454. +- Windows 10 (32bit or 64bit), Windows 11 or Windows Server
  455. +  2019+2022+2025
  456.  
  457.  - Cygwin:
  458.  
  459. diff --git a/docs/README.xml b/docs/README.xml
  460. index 161ac5d..5c0d941 100644
  461. --- a/docs/README.xml
  462. +++ b/docs/README.xml
  463. @@ -10,7 +10,7 @@
  464.  
  465.    <section xml:id="what-is-this">
  466.      <title>What is this ?</title>
  467. -    <para>NFSv4.2/NFSv4.1 filesystem driver for Windows 10/11 &amp; Windows Server 2019+2022</para>
  468. +    <para>NFSv4.2/NFSv4.1 filesystem driver for Windows 10/11 &amp; Windows Server 2019+2022+2025</para>
  469.    </section>
  470.  
  471.    <section xml:id="features">
  472. @@ -301,7 +301,7 @@
  473.      <title>Requirements</title>
  474.      <itemizedlist>
  475.        <listitem>
  476. -        <para>Windows 10 (32bit or 64bit), Windows 11 or Windows Server 2019+2022</para>
  477. +        <para>Windows 10 (32bit or 64bit), Windows 11 or Windows Server 2019+2022+2025</para>
  478.        </listitem>
  479.        <listitem>
  480.          <para>Cygwin:
  481. diff --git a/tests/nfs_server_setup.txt b/tests/nfs_server_setup.txt
  482. index 594f04f..d945ec7 100644
  483. --- a/tests/nfs_server_setup.txt
  484. +++ b/tests/nfs_server_setup.txt
  485. @@ -78,10 +78,10 @@ service nfs-server restart
  486.  
  487.  
  488.  #
  489. -# Windows Server 2019 NFSv4.1 server setup
  490. +# Windows Server 2019/2022/2025 NFSv4.1 server setup
  491.  #
  492.  
  493. -# Install Windows Server 2019, then run these commands in an
  494. +# Install Windows Server 2019, 2022 or 2025, then run these commands in an
  495.  # Adminstrator PowerShell
  496.  Install-WindowsFeature -name Telnet-Client
  497.  
  498. @@ -97,6 +97,7 @@ New-NfsShare -Name nfs1 -Path C:\shares\nfsfolder
  499.  Set-NfsShare -Name nfs1 -Permission readwrite -Authentication "sys" -EnableUnmappedAccess $True -AllowRootAccess $True
  500.  Set-NfsServerConfiguration -HideFilesBeginningInDot $True
  501.  
  502. +# grant machines "192.168.209.129" and "localhost" (="127.0.0.1") access
  503.  Grant-NfsSharePermission -Name nfs1 -ClientName "192.168.209.129" -ClientType "host" -AllowRootAccess $True -Permission readwrite
  504.  Grant-NfsSharePermission -Name nfs1 -ClientName "127.0.0.1" -ClientType "host" -AllowRootAccess $True -Permission readwrite
  505.  
  506. --
  507. 2.51.0

Submit a correction or amendment below (click here to make a fresh posting)
After submitting an amendment, you'll be able to view the differences between the old and new posts easily.

Syntax highlighting:

To highlight particular lines, prefix each line with {%HIGHLIGHT}




All content is user-submitted.
The administrators of this site (kpaste.net) are not responsible for their content.
Abuse reports should be emailed to us at