pastebin - collaborative debugging tool
rovema.kpaste.net RSS


msnfs41client: Patches for docs, nfs://-URLs and misc, 2024-01-24
Posted by Anonymous on Wed 24th Jan 2024 17:21
raw | new post

  1. From 8385dafd78068c5eebe1ab9224557d6af7a1813e Mon Sep 17 00:00:00 2001
  2. From: Roland Mainz <roland.mainz@nrubsig.org>
  3. Date: Fri, 19 Jan 2024 16:29:00 +0100
  4. Subject: [PATCH 01/12] testing: Fix typo in tests/manual_testing.txt
  5.  
  6. Fix typo in tests/manual_testing.txt
  7.  
  8. Signed-off-by: Cedric Blancher <cedric.blancher@gmail.com>
  9. ---
  10. tests/manual_testing.txt | 1 -
  11.  1 file changed, 1 deletion(-)
  12.  
  13. diff --git a/tests/manual_testing.txt b/tests/manual_testing.txt
  14. index 761ea98..6de2508 100644
  15. --- a/tests/manual_testing.txt
  16. +++ b/tests/manual_testing.txt
  17. @@ -53,7 +53,6 @@ cd bash/
  18.  # (this is an automake/autoconf issue, they should trust Cygwin and not use
  19.  # ancient workarounds for issues which no longer exists)
  20.  (set -o xtrace ; sed -i "s/as_ln_s='cp -pR'/as_ln_s='ln -s'/g" $(find . -name configure) )
  21. -./configure
  22.  # workaround for $ cp -p # failing with "Function not implemented"
  23.  (set -o xtrace ; sed -i -r 's/(cp.*)([[:space:]]+-p[[:space:]]+)/\1\2--no-preserve=ownership /g' $(find . -name Makefile -o -name Makefile.in) )
  24.  # run configure
  25. --
  26. 2.43.0
  27.  
  28. From e9a3deb749cefa2873e07a1260c46f2d08c76d5a Mon Sep 17 00:00:00 2001
  29. From: Roland Mainz <roland.mainz@nrubsig.org>
  30. Date: Fri, 19 Jan 2024 16:50:36 +0100
  31. Subject: [PATCH 02/12] cygwin: Fix Cygwin build for $ cd cygwin; make build #
  32.  
  33. Fix Cygwin build for $ cd cygwin; make build # (instead of
  34. $ make -f cygwin/Makefile build #
  35.  
  36. Reported-by: Josh Hurst <joshhurst@gmail.com>
  37. Signed-off-by: Cedric Blancher <cedric.blancher@gmail.com>
  38. ---
  39. cygwin/Makefile | 2 +-
  40.  1 file changed, 1 insertion(+), 1 deletion(-)
  41.  
  42. diff --git a/cygwin/Makefile b/cygwin/Makefile
  43. index 4f62e85..73f8a37 100644
  44. --- a/cygwin/Makefile
  45. +++ b/cygwin/Makefile
  46. @@ -31,7 +31,7 @@ build:
  47.         which MSBuild.exe
  48.         MSBuild.exe '$(shell cygpath -w "$(PROJECT_BASEDIR_DIR)/build.vc19/nfs41-client.sln")' -t:Build  -p:Configuration=Release -p:Platform=x64
  49.         MSBuild.exe '$(shell cygpath -w "$(PROJECT_BASEDIR_DIR)/build.vc19/nfs41-client.sln")' -t:Build  -p:Configuration=Debug -p:Platform=x64
  50. -       (cd tests/winfsinfo1 && make all)
  51. +       (cd "$(PROJECT_BASEDIR_DIR)/tests/winfsinfo1" && make all)
  52.  
  53.  #
  54.  # clean target
  55. --
  56. 2.43.0
  57.  
  58. From 7c87336e7bb58cc8cdd493573d2aa98b21c4831d Mon Sep 17 00:00:00 2001
  59. From: Roland Mainz <roland.mainz@nrubsig.org>
  60. Date: Fri, 19 Jan 2024 17:06:29 +0100
  61. Subject: [PATCH 03/12] cygwin: Fix bintarball build for $ cd cygwin ; make
  62.  bintarball #
  63.  
  64. Fix bintarball build for $ cd cygwin ; make bintarball # (instead
  65. of $ make -f cygwin/Makefile bintarball #).
  66.  
  67. Signed-off-by: Cedric Blancher <cedric.blancher@gmail.com>
  68. ---
  69. cygwin/Makefile | 4 ++--
  70.  1 file changed, 2 insertions(+), 2 deletions(-)
  71.  
  72. diff --git a/cygwin/Makefile b/cygwin/Makefile
  73. index 73f8a37..0374429 100644
  74. --- a/cygwin/Makefile
  75. +++ b/cygwin/Makefile
  76. @@ -38,7 +38,7 @@ build:
  77.  #
  78.  clean:
  79.         rm -vRf $$(find "$(PROJECT_BASEDIR_DIR)/build.vc19" -name Debug -o -name Release)
  80. -       (cd tests/winfsinfo1 && make clean)
  81. +       (cd "$(PROJECT_BASEDIR_DIR)/tests/winfsinfo1" && make clean)
  82.  
  83.  # install in DESTDIR
  84.  installdest: $(VS_BUILD_DIR)/nfsd.exe \
  85. @@ -88,7 +88,7 @@ installdest: $(VS_BUILD_DIR)/nfsd.exe \
  86.         cp $(CYGWIN_MAKEFILE_DIR)/utils/sshnfs/sshnfs.ksh $(DESTDIR)/cygdrive/c/cygwin64/sbin/sshnfs
  87.         chmod a+x $(DESTDIR)/cygdrive/c/cygwin64/sbin/sshnfs
  88.         @ printf "# Package tests\n"
  89. -       cp tests/winfsinfo1/winfsinfo.exe $(DESTDIR)/cygdrive/c/cygwin64/bin/winfsinfo.exe
  90. +       cp "$(PROJECT_BASEDIR_DIR)/tests/winfsinfo1/winfsinfo.exe" $(DESTDIR)/cygdrive/c/cygwin64/bin/winfsinfo.exe
  91.         @ printf "# Package ksh93&co (if available) since Cygwin does not ship with it yet\n"
  92.         [[ -x /usr/bin/ksh93.exe ]] && cp /usr/bin/ksh93.exe $(DESTDIR)/cygdrive/c/cygwin64/bin/ksh93.exe
  93.         [[ -x /usr/bin/shcomp.exe ]] && cp /usr/bin/shcomp.exe $(DESTDIR)/cygdrive/c/cygwin64/bin/shcomp.exe
  94. --
  95. 2.43.0
  96.  
  97. From d35782e20a683a30a778aaf1b549b2f5f6d9571e Mon Sep 17 00:00:00 2001
  98. From: Roland Mainz <roland.mainz@nrubsig.org>
  99. Date: Fri, 19 Jan 2024 18:01:53 +0100
  100. Subject: [PATCH 04/12] cygwin: Fix typos in cygwin tarball readme
  101.  
  102. Fix typos in cygwin tarball readme
  103.  
  104. Signed-off-by: Cedric Blancher <cedric.blancher@gmail.com>
  105. ---
  106. cygwin/README.bintarball.txt | 16 ++++++++--------
  107.  1 file changed, 8 insertions(+), 8 deletions(-)
  108.  
  109. diff --git a/cygwin/README.bintarball.txt b/cygwin/README.bintarball.txt
  110. index f9d206b..a71cb05 100644
  111. --- a/cygwin/README.bintarball.txt
  112. +++ b/cygwin/README.bintarball.txt
  113. @@ -3,7 +3,7 @@
  114.  ###
  115.  
  116.  ##
  117. -## WARNING: ALPHA VERSION, ONLY SUITEABLE FOR BUG HUNTING!!
  118. +## WARNING: ALPHA VERSION, ONLY SUITABLE FOR BUG HUNTING!!
  119.  ##
  120.  
  121.  ##
  122. @@ -54,8 +54,8 @@ $ (set -x ; cd / && tar -tf ~/download/msnfs41client_cygwin_binaries_git148e927_
  123.  ##
  124.  
  125.  # Run the NFSv4 client daemon:
  126. -# - run this preferably as "Adminstrator", but this is not a requirement
  127. -# - requires seperate terminal
  128. +# - run this preferably as "Administrator", but this is not a requirement
  129. +# - requires separate terminal
  130.  $ /sbin/msnfs41client run_daemon
  131.  
  132.  # Mount a filesystem and use it
  133. @@ -108,7 +108,7 @@ $ net use N: /delete
  134.    $ cmd /c 'mklink /d c:\home\rmainz \\derfwpc5131_ipv6@2049\nfs4\export\home2\rmainz' #
  135.    and then $ cd /cygdrive/c/home/rmainz/ # should work
  136.  
  137. -- performace: All binaries are build without any optimisation, so
  138. +- performance: All binaries are build without any optimisation, so
  139.    the filesystem is much slower than it could be.
  140.  
  141.  - bad performance due to Windows Defender AntiVirus:
  142. @@ -118,12 +118,12 @@ $ net use N: /delete
  143.    powershell -Command 'Set-MpPreference -DisableRealtimeMonitoring 1'
  144.    Option 2:
  145.    Add "nfsd.exe", "nfsd_debug.exe", "ksh93.exe", "bash.exe", "git.exe"
  146. -  and other offending commands to process name whitelist.
  147. +  and other offending commands to the process name whitelist.
  148.  
  149.  - performance: Use vmxnet3 in VMware to improve performance
  150.  
  151.  - ACLs are supported via the normal Windows ACL tools, but on
  152. -  Linux require the nfs4_getfacl/nfs4_setfacl utilties to see the
  153. +  Linux require the nfs4_getfacl/nfs4_setfacl utilities to see the
  154.    data.
  155.    Example (assuming that Windows, Linux NFSv4 client and NFSv4
  156.    server have a user "siegfried_wulsch"):
  157. @@ -140,7 +140,7 @@ $ net use N: /delete
  158.  
  159.  - nfs_mount only works when the NFSv4 server allows connections from
  160.    ports >= 1024, as Windows does not allow the Windows NFSv4 client
  161. -  to use a "priviledged port" (i.e. TCP port number < 1024)).
  162. +  to use a "privileged port" (i.e. TCP port number < 1024)).
  163.    By default the NFSv4 server on Solaris, Illumos, Linux
  164.    etc. only accepts connections if the NFSv4 client uses a "privileged
  165.    (TCP) port", i.e. a port number < 1024.
  166. @@ -157,7 +157,7 @@ $ net use N: /delete
  167.  - If nfsd_debug.exe crashes or gets killed, the only safe way
  168.    to run it again requires a reboot
  169.  - LDAP support does not work yet
  170. -- Attribute caching is to agressiv, making $ tail -f ... # not seeing
  171. +- Attribute caching is too aggressive, making $ tail -f ... # not seeing
  172.    new data.
  173.    Workaround: Use GNU tail'S $ tail --follow=name ... #
  174.  - krb5p security with AES keys do not work against the linux server,
  175. --
  176. 2.43.0
  177.  
  178. From aca985b01a6a6a0c805f1513af4d422f7d84785f Mon Sep 17 00:00:00 2001
  179. From: Roland Mainz <roland.mainz@nrubsig.org>
  180. Date: Fri, 19 Jan 2024 18:34:55 +0100
  181. Subject: [PATCH 05/12] daemon, libtirpc: Use |WaitForSingleObjectEx()| for
  182.  threads+check return code
  183.  
  184. Use |WaitForSingleObjectEx(..., ..., FALSE)| innstead of
  185. |WaitForSingleObject()| to wait for threads and check the status
  186. return code.
  187.  
  188. Signed-off-by: Cedric Blancher <cedric.blancher@gmail.com>
  189. ---
  190. daemon/nfs41_rpc.c     | 4 ++--
  191.  daemon/nfs41_session.c | 5 ++++-
  192.  daemon/util.c          | 3 ++-
  193.  libtirpc/src/clnt_vc.c | 3 ++-
  194.  4 files changed, 10 insertions(+), 5 deletions(-)
  195.  
  196. diff --git a/daemon/nfs41_rpc.c b/daemon/nfs41_rpc.c
  197. index adbb9f1..3c11e9b 100644
  198. --- a/daemon/nfs41_rpc.c
  199. +++ b/daemon/nfs41_rpc.c
  200. @@ -368,9 +368,9 @@ int nfs41_send_compound(
  201.              if (rpc_should_retry(rpc, version))^M
  202.                  goto try_again;^M
  203.              while (rpc_renew_in_progress(rpc, NULL)) {^M
  204. -                status = WaitForSingleObject(rpc->cond, INFINITE);^M
  205. +                status = WaitForSingleObjectEx(rpc->cond, INFINITE, FALSE);^M
  206.                  if (status != WAIT_OBJECT_0) {^M
  207. -                    dprintf(1, "rpc_renew_in_progress: WaitForSingleObject failed\n");^M
  208. +                    dprintf(0, "rpc_renew_in_progress: WaitForSingleObjectEx() failed\n");^M
  209.                      print_condwait_status(1, status);^M
  210.                      status = ERROR_LOCK_VIOLATION;^M
  211.                      goto out;^M
  212. diff --git a/daemon/nfs41_session.c b/daemon/nfs41_session.c
  213. index 698b29f..6411de2 100644
  214. --- a/daemon/nfs41_session.c
  215. +++ b/daemon/nfs41_session.c
  216. @@ -370,14 +370,17 @@ static
  217.  void cancel_renew_thread(
  218.      IN nfs41_session *session)
  219.  {
  220. +    DWORD status;
  221. +
  222.      dprintf(1, "cancel_renew_thread(session=%p): "
  223.          "signal thread to exit\n", session);
  224.      (void)SetEvent(session->renew.cancel_event);
  225.  
  226.      dprintf(1, "cancel_renew_thread(session=%p): "
  227.          "waiting for thread to exit\n", session);
  228. -    (void)WaitForSingleObjectEx(session->renew.thread_handle,
  229. +    status = WaitForSingleObjectEx(session->renew.thread_handle,
  230.          INFINITE, FALSE);
  231. +    EASSERT(status == WAIT_OBJECT_0);
  232.  
  233.      dprintf(1, "cancel_renew_thread(session=%p): thread done\n",
  234.          session);
  235. diff --git a/daemon/util.c b/daemon/util.c
  236. index 4094889..95e0d7f 100644
  237. --- a/daemon/util.c
  238. +++ b/daemon/util.c
  239. @@ -556,7 +556,8 @@ int subcmd_pclose(subcmd_popen_context *pinfo)
  240.      /* Close the read handle to the pipe from the child process */
  241.      CloseHandle(pinfo->hReadPipe);
  242.  
  243. -    WaitForSingleObject(pinfo->pi.hProcess, INFINITE);
  244. +    status = WaitForSingleObjectEx(pinfo->pi.hProcess, INFINITE, FALSE);
  245. +    EASSERT(status == WAIT_OBJECT_0);
  246.  
  247.      if (!GetExitCodeProcess(pinfo->pi.hProcess, &status)) {
  248.          status = -1;
  249. diff --git a/libtirpc/src/clnt_vc.c b/libtirpc/src/clnt_vc.c
  250. index 3fdc1ef..843fd93 100644
  251. --- a/libtirpc/src/clnt_vc.c
  252. +++ b/libtirpc/src/clnt_vc.c
  253. @@ -927,7 +927,8 @@ clnt_vc_destroy(cl)
  254.          cl->shutdown = 1;
  255.          cond_signal(&vc_cv[ct_fd]);
  256.          mutex_unlock(&clnt_fd_lock);
  257. -        status = WaitForSingleObject(cl->cb_thread, INFINITE);
  258. +        status = WaitForSingleObjectEx(cl->cb_thread, INFINITE, FALSE);^M
  259. +        assert(status == WAIT_OBJECT_0);^M
  260.          fprintf(stdout, "%04lx: terminated callback thread\n", (long)GetCurrentThreadId());
  261.          mutex_lock(&clnt_fd_lock);
  262.          while (vc_fd_locks[ct_fd])
  263. --
  264. 2.43.0
  265.  
  266. From 6e417a1f7d520deac82121d1b5ef45fbdba37936 Mon Sep 17 00:00:00 2001
  267. From: Roland Mainz <roland.mainz@nrubsig.org>
  268. Date: Sat, 20 Jan 2024 10:23:26 +0100
  269. Subject: [PATCH 06/12] testing: Update ksh93 to 1.0.8
  270.  
  271. Update ksh93/shcomp from 1.0.7 to 1.0.8
  272.  
  273. Signed-off-by: Cedric Blancher <cedric.blancher@gmail.com>
  274. ---
  275. tests/manual_testing.txt | 2 +-
  276.  1 file changed, 1 insertion(+), 1 deletion(-)
  277.  
  278. diff --git a/tests/manual_testing.txt b/tests/manual_testing.txt
  279. index 6de2508..9d33d90 100644
  280. --- a/tests/manual_testing.txt
  281. +++ b/tests/manual_testing.txt
  282. @@ -24,7 +24,7 @@
  283.  #
  284.  # ksh93 (ast-ksh)
  285.  #
  286. -git clone -b 'v1.0.7' https://github.com/ksh93/ksh.git
  287. +git clone -b 'v1.0.8' https://github.com/ksh93/ksh.git
  288.  cd ksh
  289.  git config --global --add safe.directory "$PWD"
  290.  sed -i -r 's/mkfifo.+?(-m [[:digit:]]+)/mkfifo /g' ./src/cmd/INIT/package.sh ./bin/package
  291. --
  292. 2.43.0
  293.  
  294. From ca7d67b64bfc3a9c70ddcd05e5c5803af9f49643 Mon Sep 17 00:00:00 2001
  295. From: Roland Mainz <roland.mainz@nrubsig.org>
  296. Date: Sat, 20 Jan 2024 13:41:47 +0100
  297. Subject: [PATCH 07/12] cygwin: Update cygwin tarball readme with bugs and
  298.  troubleshooting info
  299.  
  300. Update Cygwin binary tarball readme with info about known bugs
  301. and add troubleshooting section.
  302.  
  303. Signed-off-by: Cedric Blancher <cedric.blancher@gmail.com>
  304. ---
  305. cygwin/README.bintarball.txt | 58 ++++++++++++++++++++++++++++++++++--
  306.  1 file changed, 56 insertions(+), 2 deletions(-)
  307.  
  308. diff --git a/cygwin/README.bintarball.txt b/cygwin/README.bintarball.txt
  309. index a71cb05..532fc48 100644
  310. --- a/cygwin/README.bintarball.txt
  311. +++ b/cygwin/README.bintarball.txt
  312. @@ -148,31 +148,85 @@ $ net use N: /delete
  313.    Linux /etc/exports, which allows connections from ports >= 1024,
  314.    and for Solaris/Illumos see nfs(5), option "resvport".
  315.  
  316. +
  317.  #
  318.  # Known issues:
  319.  #
  320.  - The kernel driver ("nfs41_driver.sys") does not have a cryptographic
  321.    signature for SecureBoot - which means it will only work if SecureBoot
  322.    is turned off (otherwise $ /sbin/msnfs41client install # will FAIL!)
  323. +
  324.  - If nfsd_debug.exe crashes or gets killed, the only safe way
  325.    to run it again requires a reboot
  326. +
  327.  - LDAP support does not work yet
  328. -- Attribute caching is too aggressive, making $ tail -f ... # not seeing
  329. -  new data.
  330. +
  331. +- Attribute caching is too aggressive
  332. +
  333. +- Caching in the kernel does not always work. For example
  334. +  $ tail -f ... # does not not see new data.
  335.    Workaround: Use GNU tail'S $ tail --follow=name ... #
  336. +  Working theory is that this is related to FCB caching, see
  337. +  |FCB_STATE_FILESIZECACHEING_ENABLED|, as the nfs41_driver.sys
  338. +  kernel module does not see the |stat()| syscalls. But $ tail -f ... #
  339. +  always works for a momemnt if something else opens the same file.
  340. +
  341. +- Unmounting and then mounting the same filesystem causes issues
  342. +  as the name cache in nfsd*.exe is not flushed on umount, including
  343. +  leftover delegations.
  344. +
  345.  - krb5p security with AES keys do not work against the linux server,
  346.    as it does not support gss krb5 v2 tokens with rotated data.
  347. +
  348.  - When recovering opens and locks outside of the server's grace period,
  349.    client does not check whether the file has been modified by another
  350.    client.
  351. +
  352.  - If nfsd.exe is restarted while a drive is mapped, that drive needs
  353.    to be remounted before further use.
  354. +
  355.  - Does not allow renaming a file on top of an existing open file.
  356.    Connectathon's special test op_ren has been commented out.
  357. +
  358.  - Extended attributes are supported with some limitations:
  359.    a) the server must support NFS Named Attributes,
  360.    b) the order of listings cannot be guaranteed by NFS, and
  361.    c) the EaSize field cannot be reported for directory queries of
  362.    FileBothDirInformation, FileFullDirInfo, or FileIdFullDirInfo.
  363.  
  364. +
  365. +#
  366. +# Notes for troubleshooting && finding bugs/debugging:
  367. +#
  368. +- nfsd_debug.exe has the -d option to set a level for debug
  369. +  output.
  370. +  Edit /sbin/msnfs41client to set the "-d" option.
  371. +
  372. +- The "msnfs41client" script has the option "watch_kernel_debuglog"
  373. +  to get the debug output of the kernel module.
  374. +
  375. +  Run as Admin: $ /sbin/msnfs41client watch_kernel_debuglog #
  376. +
  377. +  Currently requires DebugView
  378. +  (https://learn.microsoft.com/en-gb/sysinternals/downloads/debugview)
  379. +  to be installed.
  380. +
  381. +- Watching network traffic:
  382. +  WireShark has a command line tool called "tshark", which can be used
  383. +  to see NFSv4 traffic. As NFSv4 uses RPC you have to filter for RPC,
  384. +  and the RPC filter automatically identifies NFSv4 traffic on it's RPC
  385. +  id.
  386. +  Example for Windows:
  387. +  (for NFSv4 default TCP port "2049", replace "2049" with the
  388. +  desired port if you use a custom port ; use "ipconfig" to find the
  389. +  correct interface name, in this case "Ethernet0"):
  390. +  ---- snip ----
  391. +  $ nfsv4port=2049 ; /cygdrive/c/Program\ Files/Wireshark/tshark \
  392. +    -f "port $nfsv4port" -d "tcp.port==${nfsv4port},rpc" -i Ethernet0
  393. +  ---- snip ----
  394. +
  395. +  If you are running inside a VMware VM on a Linux host it
  396. +  might require $ chmod a+rw /dev/vmnet0 # on VMware host, so that
  397. +  the VM can use "Promiscuous Mode".
  398. +
  399.  # EOF.
  400. --
  401. 2.43.0
  402.  
  403. From 794c9df5d836a45af2d126ae5aa4242ee09a39d5 Mon Sep 17 00:00:00 2001
  404. From: Roland Mainz <roland.mainz@nrubsig.org>
  405. Date: Tue, 23 Jan 2024 12:47:48 +0100
  406. Subject: [PATCH 08/12] cygwin/devel/msnfs41client.bash: Update IP addresses in
  407.  demo code.
  408.  
  409. msnfs41client.bash: Update IPv6 addresses in demo code.
  410.  
  411. Signed-off-by: Cedric Blancher <cedric.blancher@gmail.com>
  412. ---
  413. cygwin/devel/msnfs41client.bash | 4 ++--
  414.  1 file changed, 2 insertions(+), 2 deletions(-)
  415.  
  416. diff --git a/cygwin/devel/msnfs41client.bash b/cygwin/devel/msnfs41client.bash
  417. index acfc80f..c6f135d 100644
  418. --- a/cygwin/devel/msnfs41client.bash
  419. +++ b/cygwin/devel/msnfs41client.bash
  420. @@ -314,7 +314,7 @@ function nfsclient_mount_homedir
  421.  
  422.         #nfs_mount -p -o sec=sys H 'derfwpc5131:/export/home2/rmainz'
  423.         #nfs_mount -p -o sec=sys H '[fe80::219:99ff:feae:73ce]:/export/home2/rmainz'
  424. -       nfs_mount -p -o sec=sys H 'derfwpc5131_ipv6:/export/home2/rmainz'
  425. +       nfs_mount -p -o sec=sys H 'derfwpc5131_ipv6linklocal:/export/home2/rmainz'
  426.         mkdir -p '/home/rmainz'
  427.         mount -o bind,posix=1 '/cygdrive/h' '/home/rmainz'
  428.         return $?
  429. @@ -331,7 +331,7 @@ function nfsclient_system_mount_homedir
  430.  
  431.         #su_system nfs_mount -p -o sec=sys H 'derfwpc5131:/export/home2/rmainz'
  432.         #su_system nfs_mount -p -o sec=sys H '[fe80::219:99ff:feae:73ce]:/export/home2/rmainz'
  433. -       su_system nfs_mount -p -o sec=sys H 'derfwpc5131_ipv6:/export/home2/rmainz'
  434. +       su_system nfs_mount -p -o sec=sys H 'derfwpc5131_ipv6linklocal:/export/home2/rmainz'
  435.  
  436.         return $?
  437.  }
  438. --
  439. 2.43.0
  440.  
  441. From fe484303a36f04bbaab3cd2d6f9b7cd930b068e7 Mon Sep 17 00:00:00 2001
  442. From: Roland Mainz <roland.mainz@nrubsig.org>
  443. Date: Tue, 23 Jan 2024 12:49:30 +0100
  444. Subject: [PATCH 09/12] cygwin/devel/msnfs41client.bash: Minor cleanup
  445.  
  446. cygwin/devel/msnfs41client.bash: Minor cleanup, move LongPathsEnabled
  447. status print to the correct line.
  448.  
  449. Signed-off-by: Cedric Blancher <cedric.blancher@gmail.com>
  450. ---
  451. cygwin/devel/msnfs41client.bash | 2 +-
  452.  1 file changed, 1 insertion(+), 1 deletion(-)
  453.  
  454. diff --git a/cygwin/devel/msnfs41client.bash b/cygwin/devel/msnfs41client.bash
  455. index c6f135d..07c1dd5 100644
  456. --- a/cygwin/devel/msnfs41client.bash
  457. +++ b/cygwin/devel/msnfs41client.bash
  458. @@ -92,6 +92,7 @@ function nfsclient_install
  459.         # enable Win32 long paths
  460.         # (see https://learn.microsoft.com/en-us/windows/win32/fileio/maximum-file-path-limitation)
  461.         regtool -i set '/HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/FileSystem/LongPathsEnabled' 1
  462. +       od -t x4 <'/proc/registry/HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/FileSystem/LongPathsEnabled'
  463.  
  464.         # use the Win10 "SegmentHeap" (see https://www.blackhat.com/docs/us-16/materials/us-16-Yason-Windows-10-Segment-Heap-Internals.pdf)
  465.         regtool add '/HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows NT/CurrentVersion/Image File Execution Options/nfsd_debug.exe'
  466. @@ -111,7 +112,6 @@ function nfsclient_install
  467.  
  468.         # set domain name
  469.         regtool -s set '/HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/Tcpip/Parameters/Domain' 'GLOBAL.LOC'
  470. -       od -t x4 <'/proc/registry/HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/FileSystem/LongPathsEnabled'
  471.  
  472.         # disable DFS
  473.         sc query Dfsc
  474. --
  475. 2.43.0
  476.  
  477. From 1abb26ef224d49333f11f04c00870d7465e186ce Mon Sep 17 00:00:00 2001
  478. From: Roland Mainz <roland.mainz@nrubsig.org>
  479. Date: Tue, 23 Jan 2024 13:12:25 +0100
  480. Subject: [PATCH 10/12] cygwin/README.bintarball.txt: Update readme with
  481.  WhatIsThis&Features sections
  482.  
  483. Update readme with WhatIsThis&Features sections
  484.  
  485. Signed-off-by: Cedric Blancher <cedric.blancher@gmail.com>
  486. ---
  487. cygwin/README.bintarball.txt | 108 ++++++++++++++++++++++++-----------
  488.  1 file changed, 76 insertions(+), 32 deletions(-)
  489.  
  490. diff --git a/cygwin/README.bintarball.txt b/cygwin/README.bintarball.txt
  491. index 532fc48..a35a123 100644
  492. --- a/cygwin/README.bintarball.txt
  493. +++ b/cygwin/README.bintarball.txt
  494. @@ -6,12 +6,47 @@
  495.  ## WARNING: ALPHA VERSION, ONLY SUITABLE FOR BUG HUNTING!!
  496.  ##
  497.  
  498. -##
  499. -## Installation/Deinstallation
  500. -##
  501.  
  502. -# 1. Requirements:
  503. -- Windows 10
  504. +#
  505. +# 1. What is this ?
  506. +#
  507. +NFSv4.1 client and filesystem driver for Windows 10/11
  508. +
  509. +
  510. +#
  511. +# 2. Features:
  512. +#
  513. +- Full NFSv4.1 protocol support
  514. +- idmapper (mapping usernames and uid/gid values between server and
  515. +    client)
  516. +- Support for custom ports (NFSv4 defaults to TCP port 2049, this
  517. +    client can use different ports per mount)
  518. +- Support ssh forwarding, e.g. mounting NFSv4 filesystems via ssh
  519. +    tunnel
  520. +- Support for long paths (up to 4096 bytes), no Windows MAXPATH limit
  521. +- Unicode support
  522. +- UNC paths
  523. +    - IPv6 support in UNC paths
  524. +
  525. +- IPv6 support
  526. +    - IPv6 address within '[', ']'
  527. +      (will be converted to *.ipv6-literal.net)
  528. +- Windows ACLs
  529. +- SFU/Cygwin support, including:
  530. +    - uid/gid
  531. +    - Cygwin symlinks
  532. +- Software compatibility:
  533. +    - Any NFSv4.1 server (Linux, Solaris, Illumos, FreeBSD, nfs4j,
  534. +        ...)
  535. +    - All tools from Cygwin/MinGW
  536. +    - Visual Studio
  537. +    - VMware Workstation (can use VMs hosted on NFSv4.1 filesystem)
  538. +
  539. +
  540. +#
  541. +# 3. Requirements:
  542. +#
  543. +- Windows 10 or Windows 11
  544.  - Cygwin 3.5.0
  545.      - Packages:
  546.          cygwin
  547. @@ -37,7 +72,9 @@
  548.          wget
  549.  
  550.  
  551. -# 2. Installation (as "Administrator"):
  552. +#
  553. +# 4. Installation (as "Administrator"):
  554. +#
  555.  $ mkdir -p ~/download
  556.  $ cd ~/download
  557.  $ wget 'http://www.nrubsig.org/people/gisburn/work/msnfs41client/releases/alpha/msnfs41client_cygwin_binaries_git148e927_20231214_12h31m.tar.bz2'
  558. @@ -45,13 +82,15 @@ $ (cd / && tar -xf ~/download/msnfs41client_cygwin_binaries_git148e927_20231214_
  559.  $ /sbin/msnfs41client install
  560.  
  561.  
  562. -# 3. Deinstallation:
  563. +#
  564. +# 5. Deinstallation:
  565. +#
  566.  $ (set -x ; cd / && tar -tf ~/download/msnfs41client_cygwin_binaries_git148e927_20231214_12h31m.tar.bz2 | while read i ; do [[ -f "$i" ]] && rm "$i" ; done)
  567.  
  568.  
  569. -##
  570. -## Usage
  571. -##
  572. +#
  573. +# 6. Usage:
  574. +#
  575.  
  576.  # Run the NFSv4 client daemon:
  577.  # - run this preferably as "Administrator", but this is not a requirement
  578. @@ -80,19 +119,22 @@ $ cd ~ && /sbin/nfs_mount -d N:
  579.  $ cd ~
  580.  $ net use N: /delete
  581.  
  582. +# List mounted NFSv4.1 filesystems:
  583. +$ /sbin/nfs_mount
  584. +
  585.  
  586.  #
  587. -# Notes:
  588. +# 7. Notes:
  589.  #
  590. -- Idmapping (including uid/gid mapping) between NFSv4 client and NFSv4
  591. -  server works via /lib/msnfs41client/cygwin_idmapper.ksh, which
  592. -  either uses builtin static data, or /usr/bin/getent passwd and
  593. -  /usr/bin/getent group.
  594. -  As getent uses the configured name services it should work with LDAP
  595. -  too.
  596. -  This is still work-in-progress, with the goal that both NFSv4 client
  597. -  and server can use different uid/gid numeric values for client and
  598. -  server side.
  599. +- Idmapping (including uid/gid mapping) between NFSv4 client and
  600. +  NFSv4 server works via /lib/msnfs41client/cygwin_idmapper.ksh,
  601. +  which either uses builtin static data, or /usr/bin/getent passwd
  602. +  and /usr/bin/getent group.
  603. +  As getent uses the configured name services it should work with
  604. +  LDAP too.
  605. +  This is still work-in-progress, with the goal that both NFSv4
  606. +  client and server can use different uid/gid numeric values for
  607. +  client and server side.
  608.  
  609.  - UNC paths are supported, after successful mounting /sbin/nfs_mount
  610.    will list the paths in Cygwin UNC format.
  611. @@ -117,8 +159,9 @@ $ net use N: /delete
  612.    # (requires Admin shell)
  613.    powershell -Command 'Set-MpPreference -DisableRealtimeMonitoring 1'
  614.    Option 2:
  615. -  Add "nfsd.exe", "nfsd_debug.exe", "ksh93.exe", "bash.exe", "git.exe"
  616. -  and other offending commands to the process name whitelist.
  617. +  Add "nfsd.exe", "nfsd_debug.exe", "ksh93.exe", "bash.exe",
  618. +  "git.exe" and other offending commands to the process name
  619. +  whitelist.
  620.  
  621.  - performance: Use vmxnet3 in VMware to improve performance
  622.  
  623. @@ -142,19 +185,20 @@ $ net use N: /delete
  624.    ports >= 1024, as Windows does not allow the Windows NFSv4 client
  625.    to use a "privileged port" (i.e. TCP port number < 1024)).
  626.    By default the NFSv4 server on Solaris, Illumos, Linux
  627. -  etc. only accepts connections if the NFSv4 client uses a "privileged
  628. -  (TCP) port", i.e. a port number < 1024.
  629. +  etc. only accepts connections if the NFSv4 client uses a
  630. +  "privileged (TCP) port", i.e. a port number < 1024.
  631.    This can be worked around by using the "insecure" export option in
  632.    Linux /etc/exports, which allows connections from ports >= 1024,
  633.    and for Solaris/Illumos see nfs(5), option "resvport".
  634.  
  635.  
  636.  #
  637. -# Known issues:
  638. +# 8. Known issues:
  639.  #
  640. -- The kernel driver ("nfs41_driver.sys") does not have a cryptographic
  641. -  signature for SecureBoot - which means it will only work if SecureBoot
  642. -  is turned off (otherwise $ /sbin/msnfs41client install # will FAIL!)
  643. +- The kernel driver ("nfs41_driver.sys") does not yet have a
  644. +  cryptographic signature for SecureBoot - which means it will only
  645. +  work if SecureBoot is turned off (otherwise
  646. +  $ /sbin/msnfs41client install # will FAIL!)
  647.  
  648.  - If nfsd_debug.exe crashes or gets killed, the only safe way
  649.    to run it again requires a reboot
  650. @@ -178,9 +222,9 @@ $ net use N: /delete
  651.  - krb5p security with AES keys do not work against the linux server,
  652.    as it does not support gss krb5 v2 tokens with rotated data.
  653.  
  654. -- When recovering opens and locks outside of the server's grace period,
  655. -  client does not check whether the file has been modified by another
  656. -  client.
  657. +- When recovering opens and locks outside of the server's grace
  658. +  period, client does not check whether the file has been modified
  659. +  by another client.
  660.  
  661.  - If nfsd.exe is restarted while a drive is mapped, that drive needs
  662.    to be remounted before further use.
  663. @@ -196,7 +240,7 @@ $ net use N: /delete
  664.  
  665.  
  666.  #
  667. -# Notes for troubleshooting && finding bugs/debugging:
  668. +# 9. Notes for troubleshooting && finding bugs/debugging:
  669.  #
  670.  - nfsd_debug.exe has the -d option to set a level for debug
  671.    output.
  672. --
  673. 2.43.0
  674.  
  675. From b31e61e609dc53b06b019e6a9208ba8b9817bc41 Mon Sep 17 00:00:00 2001
  676. From: Roland Mainz <roland.mainz@nrubsig.org>
  677. Date: Tue, 23 Jan 2024 15:10:49 +0100
  678. Subject: [PATCH 11/12] Remove Visual Studio 10 support, VC19 takes over
  679.  
  680. Remove Visual Studio 10 support, the compiler is no longer
  681. available/supported, and Visual Studio 19 can completely
  682. replace it.
  683.  
  684. Signed-off-by: Cedric Blancher <cedric.blancher@gmail.com>
  685. ---
  686. build.vc10/asio.vcxproj                 | 138 ---------
  687.  build.vc10/asio.vcxproj.filters         |  22 --
  688.  build.vc10/daemon.vcxproj               | 264 -----------------
  689.  build.vc10/daemon.vcxproj.filters       | 190 ------------
  690.  build.vc10/dll.vcxproj                  | 212 --------------
  691.  build.vc10/dll.vcxproj.filters          |  41 ---
  692.  build.vc10/env.props.example            |  20 --
  693.  build.vc10/libtirpc.vcxproj             | 313 --------------------
  694.  build.vc10/libtirpc.vcxproj.filters     | 367 ------------------------
  695.  build.vc10/mount.vcxproj                | 193 -------------
  696.  build.vc10/mount.vcxproj.filters        |  38 ---
  697.  build.vc10/ms-nfs41-client.sln          |  76 -----
  698.  build.vc10/nfs41_driver.vcxproj         | 148 ----------
  699.  build.vc10/nfs41_driver.vcxproj.filters |  55 ----
  700.  build.vc10/nfs_install.vcxproj          | 182 ------------
  701.  build.vc10/nfs_install.vcxproj.filters  |  35 ---
  702.  {build.vc10 => build.vc19}/.gitignore   |   0
  703.  17 files changed, 2294 deletions(-)
  704.  delete mode 100644 build.vc10/asio.vcxproj
  705.  delete mode 100644 build.vc10/asio.vcxproj.filters
  706.  delete mode 100644 build.vc10/daemon.vcxproj
  707.  delete mode 100644 build.vc10/daemon.vcxproj.filters
  708.  delete mode 100644 build.vc10/dll.vcxproj
  709.  delete mode 100644 build.vc10/dll.vcxproj.filters
  710.  delete mode 100644 build.vc10/env.props.example
  711.  delete mode 100644 build.vc10/libtirpc.vcxproj
  712.  delete mode 100644 build.vc10/libtirpc.vcxproj.filters
  713.  delete mode 100644 build.vc10/mount.vcxproj
  714.  delete mode 100644 build.vc10/mount.vcxproj.filters
  715.  delete mode 100644 build.vc10/ms-nfs41-client.sln
  716.  delete mode 100644 build.vc10/nfs41_driver.vcxproj
  717.  delete mode 100644 build.vc10/nfs41_driver.vcxproj.filters
  718.  delete mode 100644 build.vc10/nfs_install.vcxproj
  719.  delete mode 100644 build.vc10/nfs_install.vcxproj.filters
  720.  rename {build.vc10 => build.vc19}/.gitignore (100%)
  721.  
  722. diff --git a/build.vc10/asio.vcxproj b/build.vc10/asio.vcxproj
  723. deleted file mode 100644
  724. index 1541da8..0000000
  725. --- a/build.vc10/asio.vcxproj
  726. +++ /dev/null
  727. @@ -1,138 +0,0 @@
  728. -M-oM-;M-?<?xml version="1.0" encoding="utf-8"?>^M
  729. -<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">^M
  730. -  <ItemGroup Label="ProjectConfigurations">^M
  731. -    <ProjectConfiguration Include="Debug|Win32">^M
  732. -      <Configuration>Debug</Configuration>^M
  733. -      <Platform>Win32</Platform>^M
  734. -    </ProjectConfiguration>^M
  735. -    <ProjectConfiguration Include="Debug|x64">^M
  736. -      <Configuration>Debug</Configuration>^M
  737. -      <Platform>x64</Platform>^M
  738. -    </ProjectConfiguration>^M
  739. -    <ProjectConfiguration Include="Release|Win32">^M
  740. -      <Configuration>Release</Configuration>^M
  741. -      <Platform>Win32</Platform>^M
  742. -    </ProjectConfiguration>^M
  743. -    <ProjectConfiguration Include="Release|x64">^M
  744. -      <Configuration>Release</Configuration>^M
  745. -      <Platform>x64</Platform>^M
  746. -    </ProjectConfiguration>^M
  747. -  </ItemGroup>^M
  748. -  <PropertyGroup Label="Globals">^M
  749. -    <ProjectGuid>{F08DE7DF-7B11-4ECF-9E6E-DD8C7DB40B27}</ProjectGuid>^M
  750. -    <RootNamespace>asio</RootNamespace>^M
  751. -  </PropertyGroup>^M
  752. -  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />^M
  753. -  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">^M
  754. -    <ConfigurationType>Application</ConfigurationType>^M
  755. -    <UseDebugLibraries>true</UseDebugLibraries>^M
  756. -    <CharacterSet>MultiByte</CharacterSet>^M
  757. -  </PropertyGroup>^M
  758. -  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">^M
  759. -    <ConfigurationType>Application</ConfigurationType>^M
  760. -    <UseDebugLibraries>true</UseDebugLibraries>^M
  761. -    <CharacterSet>MultiByte</CharacterSet>^M
  762. -  </PropertyGroup>^M
  763. -  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">^M
  764. -    <ConfigurationType>Application</ConfigurationType>^M
  765. -    <UseDebugLibraries>false</UseDebugLibraries>^M
  766. -    <WholeProgramOptimization>true</WholeProgramOptimization>^M
  767. -    <CharacterSet>MultiByte</CharacterSet>^M
  768. -  </PropertyGroup>^M
  769. -  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">^M
  770. -    <ConfigurationType>Application</ConfigurationType>^M
  771. -    <UseDebugLibraries>false</UseDebugLibraries>^M
  772. -    <WholeProgramOptimization>true</WholeProgramOptimization>^M
  773. -    <CharacterSet>MultiByte</CharacterSet>^M
  774. -  </PropertyGroup>^M
  775. -  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />^M
  776. -  <ImportGroup Label="ExtensionSettings">^M
  777. -  </ImportGroup>^M
  778. -  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">^M
  779. -    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />^M
  780. -  </ImportGroup>^M
  781. -  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">^M
  782. -    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />^M
  783. -  </ImportGroup>^M
  784. -  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">^M
  785. -    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />^M
  786. -  </ImportGroup>^M
  787. -  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">^M
  788. -    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />^M
  789. -  </ImportGroup>^M
  790. -  <PropertyGroup Label="UserMacros" />^M
  791. -  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">^M
  792. -    <OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>^M
  793. -  </PropertyGroup>^M
  794. -  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">^M
  795. -    <IntDir>$(SolutionDir)$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>^M
  796. -  </PropertyGroup>^M
  797. -  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">^M
  798. -    <OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>^M
  799. -  </PropertyGroup>^M
  800. -  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">^M
  801. -    <IntDir>$(SolutionDir)$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>^M
  802. -  </PropertyGroup>^M
  803. -  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">^M
  804. -    <OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>^M
  805. -  </PropertyGroup>^M
  806. -  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">^M
  807. -    <IntDir>$(SolutionDir)$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>^M
  808. -  </PropertyGroup>^M
  809. -  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">^M
  810. -    <OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>^M
  811. -  </PropertyGroup>^M
  812. -  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">^M
  813. -    <IntDir>$(SolutionDir)$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>^M
  814. -  </PropertyGroup>^M
  815. -  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">^M
  816. -    <ClCompile>^M
  817. -      <WarningLevel>Level3</WarningLevel>^M
  818. -      <Optimization>Disabled</Optimization>^M
  819. -    </ClCompile>^M
  820. -    <Link>^M
  821. -      <GenerateDebugInformation>true</GenerateDebugInformation>^M
  822. -    </Link>^M
  823. -  </ItemDefinitionGroup>^M
  824. -  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">^M
  825. -    <ClCompile>^M
  826. -      <WarningLevel>Level3</WarningLevel>^M
  827. -      <Optimization>Disabled</Optimization>^M
  828. -    </ClCompile>^M
  829. -    <Link>^M
  830. -      <GenerateDebugInformation>true</GenerateDebugInformation>^M
  831. -    </Link>^M
  832. -  </ItemDefinitionGroup>^M
  833. -  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">^M
  834. -    <ClCompile>^M
  835. -      <WarningLevel>Level3</WarningLevel>^M
  836. -      <Optimization>MaxSpeed</Optimization>^M
  837. -      <FunctionLevelLinking>true</FunctionLevelLinking>^M
  838. -      <IntrinsicFunctions>true</IntrinsicFunctions>^M
  839. -    </ClCompile>^M
  840. -    <Link>^M
  841. -      <GenerateDebugInformation>true</GenerateDebugInformation>^M
  842. -      <EnableCOMDATFolding>true</EnableCOMDATFolding>^M
  843. -      <OptimizeReferences>true</OptimizeReferences>^M
  844. -    </Link>^M
  845. -  </ItemDefinitionGroup>^M
  846. -  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">^M
  847. -    <ClCompile>^M
  848. -      <WarningLevel>Level3</WarningLevel>^M
  849. -      <Optimization>MaxSpeed</Optimization>^M
  850. -      <FunctionLevelLinking>true</FunctionLevelLinking>^M
  851. -      <IntrinsicFunctions>true</IntrinsicFunctions>^M
  852. -    </ClCompile>^M
  853. -    <Link>^M
  854. -      <GenerateDebugInformation>true</GenerateDebugInformation>^M
  855. -      <EnableCOMDATFolding>true</EnableCOMDATFolding>^M
  856. -      <OptimizeReferences>true</OptimizeReferences>^M
  857. -    </Link>^M
  858. -  </ItemDefinitionGroup>^M
  859. -  <ItemGroup>^M
  860. -    <ClCompile Include="..\tests\asio\asio.c" />^M
  861. -  </ItemGroup>^M
  862. -  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />^M
  863. -  <ImportGroup Label="ExtensionTargets">^M
  864. -  </ImportGroup>^M
  865. -</Project>
  866. \ No newline at end of file
  867. diff --git a/build.vc10/asio.vcxproj.filters b/build.vc10/asio.vcxproj.filters
  868. deleted file mode 100644
  869. index 4d39551..0000000
  870. --- a/build.vc10/asio.vcxproj.filters
  871. +++ /dev/null
  872. @@ -1,22 +0,0 @@
  873. -M-oM-;M-?<?xml version="1.0" encoding="utf-8"?>^M
  874. -<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">^M
  875. -  <ItemGroup>^M
  876. -    <Filter Include="Source Files">^M
  877. -      <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>^M
  878. -      <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>^M
  879. -    </Filter>^M
  880. -    <Filter Include="Header Files">^M
  881. -      <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>^M
  882. -      <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>^M
  883. -    </Filter>^M
  884. -    <Filter Include="Resource Files">^M
  885. -      <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>^M
  886. -      <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>^M
  887. -    </Filter>^M
  888. -  </ItemGroup>^M
  889. -  <ItemGroup>^M
  890. -    <ClCompile Include="..\tests\asio\asio.c">^M
  891. -      <Filter>Source Files</Filter>^M
  892. -    </ClCompile>^M
  893. -  </ItemGroup>^M
  894. -</Project>
  895. \ No newline at end of file
  896. diff --git a/build.vc10/daemon.vcxproj b/build.vc10/daemon.vcxproj
  897. deleted file mode 100644
  898. index 7546afa..0000000
  899. --- a/build.vc10/daemon.vcxproj
  900. +++ /dev/null
  901. @@ -1,264 +0,0 @@
  902. -M-oM-;M-?<?xml version="1.0" encoding="utf-8"?>^M
  903. -<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">^M
  904. -  <ItemGroup Label="ProjectConfigurations">^M
  905. -    <ProjectConfiguration Include="Debug|Win32">^M
  906. -      <Configuration>Debug</Configuration>^M
  907. -      <Platform>Win32</Platform>^M
  908. -    </ProjectConfiguration>^M
  909. -    <ProjectConfiguration Include="Debug|x64">^M
  910. -      <Configuration>Debug</Configuration>^M
  911. -      <Platform>x64</Platform>^M
  912. -    </ProjectConfiguration>^M
  913. -    <ProjectConfiguration Include="Release|Win32">^M
  914. -      <Configuration>Release</Configuration>^M
  915. -      <Platform>Win32</Platform>^M
  916. -    </ProjectConfiguration>^M
  917. -    <ProjectConfiguration Include="Release|x64">^M
  918. -      <Configuration>Release</Configuration>^M
  919. -      <Platform>x64</Platform>^M
  920. -    </ProjectConfiguration>^M
  921. -  </ItemGroup>^M
  922. -  <PropertyGroup Label="Globals">^M
  923. -    <ProjectGuid>{D0D81A98-2946-4A16-A4A1-800387C3F3D1}</ProjectGuid>^M
  924. -    <RootNamespace>daemon</RootNamespace>^M
  925. -  </PropertyGroup>^M
  926. -  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />^M
  927. -  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">^M
  928. -    <ConfigurationType>Application</ConfigurationType>^M
  929. -    <CharacterSet>MultiByte</CharacterSet>^M
  930. -    <WholeProgramOptimization>true</WholeProgramOptimization>^M
  931. -  </PropertyGroup>^M
  932. -  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">^M
  933. -    <ConfigurationType>Application</ConfigurationType>^M
  934. -    <CharacterSet>MultiByte</CharacterSet>^M
  935. -  </PropertyGroup>^M
  936. -  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">^M
  937. -    <ConfigurationType>Application</ConfigurationType>^M
  938. -    <CharacterSet>MultiByte</CharacterSet>^M
  939. -    <WholeProgramOptimization>true</WholeProgramOptimization>^M
  940. -  </PropertyGroup>^M
  941. -  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">^M
  942. -    <ConfigurationType>Application</ConfigurationType>^M
  943. -    <CharacterSet>MultiByte</CharacterSet>^M
  944. -  </PropertyGroup>^M
  945. -  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />^M
  946. -  <ImportGroup Label="ExtensionSettings">^M
  947. -  </ImportGroup>^M
  948. -  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">^M
  949. -    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />^M
  950. -    <Import Project="env.props" />^M
  951. -  </ImportGroup>^M
  952. -  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">^M
  953. -    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />^M
  954. -    <Import Project="env.props" />^M
  955. -  </ImportGroup>^M
  956. -  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">^M
  957. -    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />^M
  958. -    <Import Project="env.props" />^M
  959. -  </ImportGroup>^M
  960. -  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">^M
  961. -    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />^M
  962. -    <Import Project="env.props" />^M
  963. -  </ImportGroup>^M
  964. -  <PropertyGroup Label="UserMacros" />^M
  965. -  <PropertyGroup>^M
  966. -    <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>^M
  967. -    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>^M
  968. -    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>^M
  969. -    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>^M
  970. -    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>^M
  971. -    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>^M
  972. -    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>^M
  973. -    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>^M
  974. -    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>^M
  975. -    <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>^M
  976. -    <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />^M
  977. -    <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />^M
  978. -    <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">AllRules.ruleset</CodeAnalysisRuleSet>^M
  979. -    <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />^M
  980. -    <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />^M
  981. -    <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>^M
  982. -    <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />^M
  983. -    <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />^M
  984. -    <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AllRules.ruleset</CodeAnalysisRuleSet>^M
  985. -    <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />^M
  986. -    <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />^M
  987. -    <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">nfsd</TargetName>^M
  988. -    <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">nfsd</TargetName>^M
  989. -    <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">nfsd</TargetName>^M
  990. -    <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">nfsd</TargetName>^M
  991. -  </PropertyGroup>^M
  992. -  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">^M
  993. -    <ClCompile>^M
  994. -      <AdditionalOptions>/Wall /wd4100 /wd4127 /wd4255 /wd4574 /wd4619 /wd4668 /wd4710 /wd4711 /wd4820 %(AdditionalOptions)</AdditionalOptions>^M
  995. -      <Optimization>Disabled</Optimization>^M
  996. -      <AdditionalIncludeDirectories>..\sys;..\xdr;..\dll;..\libtirpc\tirpc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>^M
  997. -      <PreprocessorDefinitions>WIN32_LEAN_AND_MEAN;STANDALONE_NFSD;NO_CB_4_KRB5P;%(PreprocessorDefinitions)</PreprocessorDefinitions>^M
  998. -      <MinimalRebuild>true</MinimalRebuild>^M
  999. -      <ExceptionHandling>^M
  1000. -      </ExceptionHandling>^M
  1001. -      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>^M
  1002. -      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>^M
  1003. -      <RuntimeTypeInfo>false</RuntimeTypeInfo>^M
  1004. -      <WarningLevel>EnableAllWarnings</WarningLevel>^M
  1005. -      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>^M
  1006. -      <CompileAs>CompileAsC</CompileAs>^M
  1007. -    </ClCompile>^M
  1008. -    <Link>^M
  1009. -      <AdditionalDependencies>ws2_32.lib;iphlpapi.lib;wldap32.lib;%(AdditionalDependencies)</AdditionalDependencies>^M
  1010. -      <OutputFile>$(OutDir)$(TargetName)$(TargetExt)</OutputFile>^M
  1011. -      <GenerateDebugInformation>true</GenerateDebugInformation>^M
  1012. -      <TargetMachine>MachineX86</TargetMachine>^M
  1013. -    </Link>^M
  1014. -  </ItemDefinitionGroup>^M
  1015. -  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">^M
  1016. -    <Midl>^M
  1017. -      <TargetEnvironment>X64</TargetEnvironment>^M
  1018. -    </Midl>^M
  1019. -    <ClCompile>^M
  1020. -      <AdditionalOptions>/Wall /wd4100 /wd4127 /wd4255 /wd4574 /wd4619 /wd4668 /wd4710 /wd4711 /wd4820 %(AdditionalOptions)</AdditionalOptions>^M
  1021. -      <Optimization>Disabled</Optimization>^M
  1022. -      <AdditionalIncludeDirectories>..\sys;..\xdr;..\dll;..\libtirpc\tirpc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>^M
  1023. -      <PreprocessorDefinitions>WIN32_LEAN_AND_MEAN;STANDALONE_NFSD;NO_CB_4_KRB5P;%(PreprocessorDefinitions)</PreprocessorDefinitions>^M
  1024. -      <MinimalRebuild>true</MinimalRebuild>^M
  1025. -      <ExceptionHandling>^M
  1026. -      </ExceptionHandling>^M
  1027. -      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>^M
  1028. -      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>^M
  1029. -      <RuntimeTypeInfo>false</RuntimeTypeInfo>^M
  1030. -      <WarningLevel>EnableAllWarnings</WarningLevel>^M
  1031. -      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>^M
  1032. -      <CompileAs>CompileAsC</CompileAs>^M
  1033. -    </ClCompile>^M
  1034. -    <Link>^M
  1035. -      <AdditionalDependencies>ws2_32.lib;iphlpapi.lib;wldap32.lib;kernel32.lib;advapi32.lib;shell32.lib;%(AdditionalDependencies)</AdditionalDependencies>^M
  1036. -      <OutputFile>$(OutDir)$(TargetName)$(TargetExt)</OutputFile>^M
  1037. -      <GenerateDebugInformation>true</GenerateDebugInformation>^M
  1038. -      <TargetMachine>MachineX64</TargetMachine>^M
  1039. -    </Link>^M
  1040. -  </ItemDefinitionGroup>^M
  1041. -  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">^M
  1042. -    <ClCompile>^M
  1043. -      <AdditionalOptions>/Wall /wd4100 /wd4127 /wd4255 /wd4574 /wd4619 /wd4668 /wd4710 /wd4711 /wd4820 %(AdditionalOptions)</AdditionalOptions>^M
  1044. -      <Optimization>MaxSpeed</Optimization>^M
  1045. -      <IntrinsicFunctions>true</IntrinsicFunctions>^M
  1046. -      <AdditionalIncludeDirectories>..\sys;..\xdr;..\dll;..\libtirpc\tirpc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>^M
  1047. -      <PreprocessorDefinitions>WIN32_LEAN_AND_MEAN;NO_CB_4_KRB5P;%(PreprocessorDefinitions)</PreprocessorDefinitions>^M
  1048. -      <ExceptionHandling>^M
  1049. -      </ExceptionHandling>^M
  1050. -      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>^M
  1051. -      <FunctionLevelLinking>true</FunctionLevelLinking>^M
  1052. -      <RuntimeTypeInfo>false</RuntimeTypeInfo>^M
  1053. -      <WarningLevel>EnableAllWarnings</WarningLevel>^M
  1054. -      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>^M
  1055. -      <CompileAs>CompileAsC</CompileAs>^M
  1056. -    </ClCompile>^M
  1057. -    <Link>^M
  1058. -      <AdditionalDependencies>ws2_32.lib;iphlpapi.lib;wldap32.lib;%(AdditionalDependencies)</AdditionalDependencies>^M
  1059. -      <OutputFile>$(OutDir)$(TargetName)$(TargetExt)</OutputFile>^M
  1060. -      <GenerateDebugInformation>true</GenerateDebugInformation>^M
  1061. -      <OptimizeReferences>true</OptimizeReferences>^M
  1062. -      <EnableCOMDATFolding>true</EnableCOMDATFolding>^M
  1063. -      <TargetMachine>MachineX86</TargetMachine>^M
  1064. -    </Link>^M
  1065. -  </ItemDefinitionGroup>^M
  1066. -  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">^M
  1067. -    <Midl>^M
  1068. -      <TargetEnvironment>X64</TargetEnvironment>^M
  1069. -    </Midl>^M
  1070. -    <ClCompile>^M
  1071. -      <AdditionalOptions>/Wall /wd4100 /wd4127 /wd4255 /wd4574 /wd4619 /wd4668 /wd4710 /wd4711 /wd4820 %(AdditionalOptions)</AdditionalOptions>^M
  1072. -      <Optimization>MaxSpeed</Optimization>^M
  1073. -      <IntrinsicFunctions>true</IntrinsicFunctions>^M
  1074. -      <AdditionalIncludeDirectories>..\sys;..\xdr;..\dll;..\libtirpc\tirpc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>^M
  1075. -      <PreprocessorDefinitions>WIN32_LEAN_AND_MEAN;NO_CB_4_KRB5P;%(PreprocessorDefinitions)</PreprocessorDefinitions>^M
  1076. -      <ExceptionHandling>^M
  1077. -      </ExceptionHandling>^M
  1078. -      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>^M
  1079. -      <FunctionLevelLinking>true</FunctionLevelLinking>^M
  1080. -      <RuntimeTypeInfo>false</RuntimeTypeInfo>^M
  1081. -      <WarningLevel>EnableAllWarnings</WarningLevel>^M
  1082. -      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>^M
  1083. -      <CompileAs>CompileAsC</CompileAs>^M
  1084. -    </ClCompile>^M
  1085. -    <Link>^M
  1086. -      <AdditionalDependencies>ws2_32.lib;iphlpapi.lib;wldap32.lib;%(AdditionalDependencies)</AdditionalDependencies>^M
  1087. -      <OutputFile>$(OutDir)$(TargetName)$(TargetExt)</OutputFile>^M
  1088. -      <GenerateDebugInformation>true</GenerateDebugInformation>^M
  1089. -      <OptimizeReferences>true</OptimizeReferences>^M
  1090. -      <EnableCOMDATFolding>true</EnableCOMDATFolding>^M
  1091. -      <TargetMachine>MachineX64</TargetMachine>^M
  1092. -    </Link>^M
  1093. -  </ItemDefinitionGroup>^M
  1094. -  <ItemGroup>^M
  1095. -    <ClCompile Include="..\daemon\acl.c" />^M
  1096. -    <ClCompile Include="..\daemon\callback_xdr.c" />^M
  1097. -    <ClCompile Include="..\daemon\callback_server.c" />^M
  1098. -    <ClCompile Include="..\daemon\daemon_debug.c" />^M
  1099. -    <ClCompile Include="..\daemon\delegation.c" />^M
  1100. -    <ClCompile Include="..\daemon\ea.c" />^M
  1101. -    <ClCompile Include="..\daemon\getattr.c" />^M
  1102. -    <ClCompile Include="..\daemon\idmap.c" />^M
  1103. -    <ClCompile Include="..\daemon\lock.c" />^M
  1104. -    <ClCompile Include="..\daemon\lookup.c" />^M
  1105. -    <ClCompile Include="..\daemon\mount.c" />^M
  1106. -    <ClCompile Include="..\daemon\namespace.c" />^M
  1107. -    <ClCompile Include="..\daemon\name_cache.c" />^M
  1108. -    <ClCompile Include="..\daemon\nfs41_client.c" />^M
  1109. -    <ClCompile Include="..\daemon\nfs41_compound.c" />^M
  1110. -    <ClCompile Include="..\daemon\nfs41_daemon.c" />^M
  1111. -    <ClCompile Include="..\daemon\nfs41_ops.c" />^M
  1112. -    <ClCompile Include="..\daemon\nfs41_rpc.c" />^M
  1113. -    <ClCompile Include="..\daemon\nfs41_server.c" />^M
  1114. -    <ClCompile Include="..\daemon\nfs41_session.c" />^M
  1115. -    <ClCompile Include="..\daemon\nfs41_superblock.c" />^M
  1116. -    <ClCompile Include="..\daemon\nfs41_xdr.c" />^M
  1117. -    <ClCompile Include="..\daemon\open.c" />^M
  1118. -    <ClCompile Include="..\daemon\pnfs_debug.c" />^M
  1119. -    <ClCompile Include="..\daemon\pnfs_device.c" />^M
  1120. -    <ClCompile Include="..\daemon\pnfs_io.c" />^M
  1121. -    <ClCompile Include="..\daemon\pnfs_layout.c" />^M
  1122. -    <ClCompile Include="..\daemon\readdir.c" />^M
  1123. -    <ClCompile Include="..\daemon\readwrite.c" />^M
  1124. -    <ClCompile Include="..\daemon\recovery.c" />^M
  1125. -    <ClCompile Include="..\daemon\service.c" />^M
  1126. -    <ClCompile Include="..\daemon\setattr.c" />^M
  1127. -    <ClCompile Include="..\daemon\symlink.c" />^M
  1128. -    <ClCompile Include="..\daemon\upcall.c" />^M
  1129. -    <ClCompile Include="..\daemon\util.c" />^M
  1130. -    <ClCompile Include="..\daemon\volume.c" />^M
  1131. -  </ItemGroup>^M
  1132. -  <ItemGroup>^M
  1133. -    <ClInclude Include="..\daemon\daemon_debug.h" />^M
  1134. -    <ClInclude Include="..\daemon\delegation.h" />^M
  1135. -    <ClInclude Include="..\daemon\from_kernel.h" />^M
  1136. -    <ClInclude Include="..\daemon\idmap.h" />^M
  1137. -    <ClInclude Include="..\daemon\list.h" />^M
  1138. -    <ClInclude Include="..\daemon\name_cache.h" />^M
  1139. -    <ClInclude Include="..\daemon\nfs41.h" />^M
  1140. -    <ClInclude Include="..\daemon\nfs41_callback.h" />^M
  1141. -    <ClInclude Include="..\daemon\nfs41_compound.h" />^M
  1142. -    <ClInclude Include="..\daemon\nfs41_const.h" />^M
  1143. -    <ClInclude Include="..\daemon\nfs41_ops.h" />^M
  1144. -    <ClInclude Include="..\daemon\nfs41_types.h" />^M
  1145. -    <ClInclude Include="..\daemon\nfs41_xdr.h" />^M
  1146. -    <ClInclude Include="..\daemon\pnfs.h" />^M
  1147. -    <ClInclude Include="..\daemon\recovery.h" />^M
  1148. -    <ClInclude Include="..\daemon\service.h" />^M
  1149. -    <ClInclude Include="..\daemon\tree.h" />^M
  1150. -    <ClInclude Include="..\daemon\upcall.h" />^M
  1151. -    <ClInclude Include="..\daemon\util.h" />^M
  1152. -  </ItemGroup>^M
  1153. -  <ItemGroup>^M
  1154. -    <None Include="..\daemon\sources" />^M
  1155. -  </ItemGroup>^M
  1156. -  <ItemGroup>^M
  1157. -    <ProjectReference Include="libtirpc.vcxproj">^M
  1158. -      <Project>{2d918a9b-de52-470a-93d5-78ea2c8113a1}</Project>^M
  1159. -      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>^M
  1160. -    </ProjectReference>^M
  1161. -  </ItemGroup>^M
  1162. -  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />^M
  1163. -  <ImportGroup Label="ExtensionTargets">^M
  1164. -  </ImportGroup>^M
  1165. -</Project>
  1166. \ No newline at end of file
  1167. diff --git a/build.vc10/daemon.vcxproj.filters b/build.vc10/daemon.vcxproj.filters
  1168. deleted file mode 100644
  1169. index 5feea9f..0000000
  1170. --- a/build.vc10/daemon.vcxproj.filters
  1171. +++ /dev/null
  1172. @@ -1,190 +0,0 @@
  1173. -M-oM-;M-?<?xml version="1.0" encoding="utf-8"?>^M
  1174. -<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">^M
  1175. -  <ItemGroup>^M
  1176. -    <Filter Include="Source Files">^M
  1177. -      <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>^M
  1178. -      <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>^M
  1179. -    </Filter>^M
  1180. -    <Filter Include="Header Files">^M
  1181. -      <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>^M
  1182. -      <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>^M
  1183. -    </Filter>^M
  1184. -    <Filter Include="Resource Files">^M
  1185. -      <UniqueIdentifier>{b39281cd-23c6-401e-844b-3d6c763da90b}</UniqueIdentifier>^M
  1186. -    </Filter>^M
  1187. -  </ItemGroup>^M
  1188. -  <ItemGroup>^M
  1189. -    <ClCompile Include="..\daemon\daemon_debug.c">^M
  1190. -      <Filter>Source Files</Filter>^M
  1191. -    </ClCompile>^M
  1192. -    <ClCompile Include="..\daemon\getattr.c">^M
  1193. -      <Filter>Source Files</Filter>^M
  1194. -    </ClCompile>^M
  1195. -    <ClCompile Include="..\daemon\lock.c">^M
  1196. -      <Filter>Source Files</Filter>^M
  1197. -    </ClCompile>^M
  1198. -    <ClCompile Include="..\daemon\mount.c">^M
  1199. -      <Filter>Source Files</Filter>^M
  1200. -    </ClCompile>^M
  1201. -    <ClCompile Include="..\daemon\nfs41_client.c">^M
  1202. -      <Filter>Source Files</Filter>^M
  1203. -    </ClCompile>^M
  1204. -    <ClCompile Include="..\daemon\nfs41_compound.c">^M
  1205. -      <Filter>Source Files</Filter>^M
  1206. -    </ClCompile>^M
  1207. -    <ClCompile Include="..\daemon\nfs41_daemon.c">^M
  1208. -      <Filter>Source Files</Filter>^M
  1209. -    </ClCompile>^M
  1210. -    <ClCompile Include="..\daemon\nfs41_ops.c">^M
  1211. -      <Filter>Source Files</Filter>^M
  1212. -    </ClCompile>^M
  1213. -    <ClCompile Include="..\daemon\nfs41_rpc.c">^M
  1214. -      <Filter>Source Files</Filter>^M
  1215. -    </ClCompile>^M
  1216. -    <ClCompile Include="..\daemon\nfs41_server.c">^M
  1217. -      <Filter>Source Files</Filter>^M
  1218. -    </ClCompile>^M
  1219. -    <ClCompile Include="..\daemon\nfs41_session.c">^M
  1220. -      <Filter>Source Files</Filter>^M
  1221. -    </ClCompile>^M
  1222. -    <ClCompile Include="..\daemon\nfs41_superblock.c">^M
  1223. -      <Filter>Source Files</Filter>^M
  1224. -    </ClCompile>^M
  1225. -    <ClCompile Include="..\daemon\nfs41_xdr.c">^M
  1226. -      <Filter>Source Files</Filter>^M
  1227. -    </ClCompile>^M
  1228. -    <ClCompile Include="..\daemon\open.c">^M
  1229. -      <Filter>Source Files</Filter>^M
  1230. -    </ClCompile>^M
  1231. -    <ClCompile Include="..\daemon\pnfs_debug.c">^M
  1232. -      <Filter>Source Files</Filter>^M
  1233. -    </ClCompile>^M
  1234. -    <ClCompile Include="..\daemon\pnfs_device.c">^M
  1235. -      <Filter>Source Files</Filter>^M
  1236. -    </ClCompile>^M
  1237. -    <ClCompile Include="..\daemon\pnfs_layout.c">^M
  1238. -      <Filter>Source Files</Filter>^M
  1239. -    </ClCompile>^M
  1240. -    <ClCompile Include="..\daemon\readdir.c">^M
  1241. -      <Filter>Source Files</Filter>^M
  1242. -    </ClCompile>^M
  1243. -    <ClCompile Include="..\daemon\readwrite.c">^M
  1244. -      <Filter>Source Files</Filter>^M
  1245. -    </ClCompile>^M
  1246. -    <ClCompile Include="..\daemon\setattr.c">^M
  1247. -      <Filter>Source Files</Filter>^M
  1248. -    </ClCompile>^M
  1249. -    <ClCompile Include="..\daemon\upcall.c">^M
  1250. -      <Filter>Source Files</Filter>^M
  1251. -    </ClCompile>^M
  1252. -    <ClCompile Include="..\daemon\util.c">^M
  1253. -      <Filter>Source Files</Filter>^M
  1254. -    </ClCompile>^M
  1255. -    <ClCompile Include="..\daemon\pnfs_io.c">^M
  1256. -      <Filter>Source Files</Filter>^M
  1257. -    </ClCompile>^M
  1258. -    <ClCompile Include="..\daemon\lookup.c">^M
  1259. -      <Filter>Source Files</Filter>^M
  1260. -    </ClCompile>^M
  1261. -    <ClCompile Include="..\daemon\name_cache.c">^M
  1262. -      <Filter>Source Files</Filter>^M
  1263. -    </ClCompile>^M
  1264. -    <ClCompile Include="..\daemon\namespace.c">^M
  1265. -      <Filter>Source Files</Filter>^M
  1266. -    </ClCompile>^M
  1267. -    <ClCompile Include="..\daemon\volume.c">^M
  1268. -      <Filter>Source Files</Filter>^M
  1269. -    </ClCompile>^M
  1270. -    <ClCompile Include="..\daemon\callback_server.c">^M
  1271. -      <Filter>Source Files</Filter>^M
  1272. -    </ClCompile>^M
  1273. -    <ClCompile Include="..\daemon\callback_xdr.c">^M
  1274. -      <Filter>Source Files</Filter>^M
  1275. -    </ClCompile>^M
  1276. -    <ClCompile Include="..\daemon\service.c">^M
  1277. -      <Filter>Source Files</Filter>^M
  1278. -    </ClCompile>^M
  1279. -    <ClCompile Include="..\daemon\symlink.c">^M
  1280. -      <Filter>Source Files</Filter>^M
  1281. -    </ClCompile>^M
  1282. -    <ClCompile Include="..\daemon\idmap.c">^M
  1283. -      <Filter>Source Files</Filter>^M
  1284. -    </ClCompile>^M
  1285. -    <ClCompile Include="..\daemon\acl.c">^M
  1286. -      <Filter>Source Files</Filter>^M
  1287. -    </ClCompile>^M
  1288. -    <ClCompile Include="..\daemon\delegation.c">^M
  1289. -      <Filter>Source Files</Filter>^M
  1290. -    </ClCompile>^M
  1291. -    <ClCompile Include="..\daemon\recovery.c">^M
  1292. -      <Filter>Source Files</Filter>^M
  1293. -    </ClCompile>^M
  1294. -    <ClCompile Include="..\daemon\ea.c">^M
  1295. -      <Filter>Source Files</Filter>^M
  1296. -    </ClCompile>^M
  1297. -  </ItemGroup>^M
  1298. -  <ItemGroup>^M
  1299. -    <ClInclude Include="..\daemon\daemon_debug.h">^M
  1300. -      <Filter>Header Files</Filter>^M
  1301. -    </ClInclude>^M
  1302. -    <ClInclude Include="..\daemon\from_kernel.h">^M
  1303. -      <Filter>Header Files</Filter>^M
  1304. -    </ClInclude>^M
  1305. -    <ClInclude Include="..\daemon\nfs41.h">^M
  1306. -      <Filter>Header Files</Filter>^M
  1307. -    </ClInclude>^M
  1308. -    <ClInclude Include="..\daemon\nfs41_compound.h">^M
  1309. -      <Filter>Header Files</Filter>^M
  1310. -    </ClInclude>^M
  1311. -    <ClInclude Include="..\daemon\nfs41_const.h">^M
  1312. -      <Filter>Header Files</Filter>^M
  1313. -    </ClInclude>^M
  1314. -    <ClInclude Include="..\daemon\nfs41_ops.h">^M
  1315. -      <Filter>Header Files</Filter>^M
  1316. -    </ClInclude>^M
  1317. -    <ClInclude Include="..\daemon\nfs41_types.h">^M
  1318. -      <Filter>Header Files</Filter>^M
  1319. -    </ClInclude>^M
  1320. -    <ClInclude Include="..\daemon\nfs41_xdr.h">^M
  1321. -      <Filter>Header Files</Filter>^M
  1322. -    </ClInclude>^M
  1323. -    <ClInclude Include="..\daemon\pnfs.h">^M
  1324. -      <Filter>Header Files</Filter>^M
  1325. -    </ClInclude>^M
  1326. -    <ClInclude Include="..\daemon\upcall.h">^M
  1327. -      <Filter>Header Files</Filter>^M
  1328. -    </ClInclude>^M
  1329. -    <ClInclude Include="..\daemon\util.h">^M
  1330. -      <Filter>Header Files</Filter>^M
  1331. -    </ClInclude>^M
  1332. -    <ClInclude Include="..\daemon\list.h">^M
  1333. -      <Filter>Header Files</Filter>^M
  1334. -    </ClInclude>^M
  1335. -    <ClInclude Include="..\daemon\name_cache.h">^M
  1336. -      <Filter>Header Files</Filter>^M
  1337. -    </ClInclude>^M
  1338. -    <ClInclude Include="..\daemon\nfs41_callback.h">^M
  1339. -      <Filter>Header Files</Filter>^M
  1340. -    </ClInclude>^M
  1341. -    <ClInclude Include="..\daemon\service.h">^M
  1342. -      <Filter>Header Files</Filter>^M
  1343. -    </ClInclude>^M
  1344. -    <ClInclude Include="..\daemon\idmap.h">^M
  1345. -      <Filter>Header Files</Filter>^M
  1346. -    </ClInclude>^M
  1347. -    <ClInclude Include="..\daemon\tree.h">^M
  1348. -      <Filter>Header Files</Filter>^M
  1349. -    </ClInclude>^M
  1350. -    <ClInclude Include="..\daemon\delegation.h">^M
  1351. -      <Filter>Header Files</Filter>^M
  1352. -    </ClInclude>^M
  1353. -    <ClInclude Include="..\daemon\recovery.h">^M
  1354. -      <Filter>Header Files</Filter>^M
  1355. -    </ClInclude>^M
  1356. -  </ItemGroup>^M
  1357. -  <ItemGroup>^M
  1358. -    <None Include="..\daemon\sources">^M
  1359. -      <Filter>Resource Files</Filter>^M
  1360. -    </None>^M
  1361. -  </ItemGroup>^M
  1362. -</Project>
  1363. \ No newline at end of file
  1364. diff --git a/build.vc10/dll.vcxproj b/build.vc10/dll.vcxproj
  1365. deleted file mode 100644
  1366. index 81083ad..0000000
  1367. --- a/build.vc10/dll.vcxproj
  1368. +++ /dev/null
  1369. @@ -1,212 +0,0 @@
  1370. -M-oM-;M-?<?xml version="1.0" encoding="utf-8"?>^M
  1371. -<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">^M
  1372. -  <ItemGroup Label="ProjectConfigurations">^M
  1373. -    <ProjectConfiguration Include="Debug|Win32">^M
  1374. -      <Configuration>Debug</Configuration>^M
  1375. -      <Platform>Win32</Platform>^M
  1376. -    </ProjectConfiguration>^M
  1377. -    <ProjectConfiguration Include="Debug|x64">^M
  1378. -      <Configuration>Debug</Configuration>^M
  1379. -      <Platform>x64</Platform>^M
  1380. -    </ProjectConfiguration>^M
  1381. -    <ProjectConfiguration Include="Release|Win32">^M
  1382. -      <Configuration>Release</Configuration>^M
  1383. -      <Platform>Win32</Platform>^M
  1384. -    </ProjectConfiguration>^M
  1385. -    <ProjectConfiguration Include="Release|x64">^M
  1386. -      <Configuration>Release</Configuration>^M
  1387. -      <Platform>x64</Platform>^M
  1388. -    </ProjectConfiguration>^M
  1389. -  </ItemGroup>^M
  1390. -  <PropertyGroup Label="Globals">^M
  1391. -    <ProjectGuid>{372D9D02-CDC5-43AE-BB0A-FB57CEFC639C}</ProjectGuid>^M
  1392. -    <RootNamespace>dll</RootNamespace>^M
  1393. -  </PropertyGroup>^M
  1394. -  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />^M
  1395. -  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">^M
  1396. -    <ConfigurationType>DynamicLibrary</ConfigurationType>^M
  1397. -    <CharacterSet>MultiByte</CharacterSet>^M
  1398. -    <WholeProgramOptimization>true</WholeProgramOptimization>^M
  1399. -  </PropertyGroup>^M
  1400. -  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">^M
  1401. -    <ConfigurationType>DynamicLibrary</ConfigurationType>^M
  1402. -    <CharacterSet>MultiByte</CharacterSet>^M
  1403. -  </PropertyGroup>^M
  1404. -  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">^M
  1405. -    <ConfigurationType>DynamicLibrary</ConfigurationType>^M
  1406. -    <CharacterSet>MultiByte</CharacterSet>^M
  1407. -    <WholeProgramOptimization>true</WholeProgramOptimization>^M
  1408. -  </PropertyGroup>^M
  1409. -  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">^M
  1410. -    <ConfigurationType>DynamicLibrary</ConfigurationType>^M
  1411. -    <CharacterSet>MultiByte</CharacterSet>^M
  1412. -  </PropertyGroup>^M
  1413. -  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />^M
  1414. -  <ImportGroup Label="ExtensionSettings">^M
  1415. -  </ImportGroup>^M
  1416. -  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">^M
  1417. -    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />^M
  1418. -    <Import Project="env.props" />^M
  1419. -  </ImportGroup>^M
  1420. -  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">^M
  1421. -    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />^M
  1422. -    <Import Project="env.props" />^M
  1423. -  </ImportGroup>^M
  1424. -  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">^M
  1425. -    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />^M
  1426. -    <Import Project="env.props" />^M
  1427. -  </ImportGroup>^M
  1428. -  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">^M
  1429. -    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />^M
  1430. -    <Import Project="env.props" />^M
  1431. -  </ImportGroup>^M
  1432. -  <PropertyGroup Label="UserMacros" />^M
  1433. -  <PropertyGroup>^M
  1434. -    <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>^M
  1435. -    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>^M
  1436. -    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>^M
  1437. -    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>^M
  1438. -    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>^M
  1439. -    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>^M
  1440. -    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>^M
  1441. -    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>^M
  1442. -    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>^M
  1443. -    <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>^M
  1444. -    <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />^M
  1445. -    <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />^M
  1446. -    <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">AllRules.ruleset</CodeAnalysisRuleSet>^M
  1447. -    <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />^M
  1448. -    <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />^M
  1449. -    <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>^M
  1450. -    <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />^M
  1451. -    <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />^M
  1452. -    <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AllRules.ruleset</CodeAnalysisRuleSet>^M
  1453. -    <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />^M
  1454. -    <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />^M
  1455. -    <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">nfs41_np</TargetName>^M
  1456. -    <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">nfs41_np</TargetName>^M
  1457. -    <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">nfs41_np</TargetName>^M
  1458. -    <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">nfs41_np</TargetName>^M
  1459. -  </PropertyGroup>^M
  1460. -  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">^M
  1461. -    <ClCompile>^M
  1462. -      <AdditionalOptions>/Wall /wd4100 /wd4255 /wd4619 /wd4668 /wd4710 /wd4711 /wd4820</AdditionalOptions>^M
  1463. -      <Optimization>Disabled</Optimization>^M
  1464. -      <AdditionalIncludeDirectories>..\sys;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>^M
  1465. -      <PreprocessorDefinitions>UNICODE;_UNICODE;%(PreprocessorDefinitions)</PreprocessorDefinitions>^M
  1466. -      <MinimalRebuild>true</MinimalRebuild>^M
  1467. -      <ExceptionHandling>^M
  1468. -      </ExceptionHandling>^M
  1469. -      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>^M
  1470. -      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>^M
  1471. -      <RuntimeTypeInfo>false</RuntimeTypeInfo>^M
  1472. -      <WarningLevel>Level4</WarningLevel>^M
  1473. -      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>^M
  1474. -      <CompileAs>CompileAsC</CompileAs>^M
  1475. -    </ClCompile>^M
  1476. -    <Link>^M
  1477. -      <OutputFile>$(OutDir)nfs41_np.dll</OutputFile>^M
  1478. -      <ModuleDefinitionFile>..\dll\nfs41_np.def</ModuleDefinitionFile>^M
  1479. -      <GenerateDebugInformation>true</GenerateDebugInformation>^M
  1480. -      <BaseAddress>0x1010000</BaseAddress>^M
  1481. -      <TargetMachine>MachineX86</TargetMachine>^M
  1482. -    </Link>^M
  1483. -  </ItemDefinitionGroup>^M
  1484. -  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">^M
  1485. -    <Midl>^M
  1486. -      <TargetEnvironment>X64</TargetEnvironment>^M
  1487. -    </Midl>^M
  1488. -    <ClCompile>^M
  1489. -      <AdditionalOptions>/Wall /wd4100 /wd4255 /wd4619 /wd4668 /wd4710 /wd4711 /wd4820</AdditionalOptions>^M
  1490. -      <Optimization>Disabled</Optimization>^M
  1491. -      <AdditionalIncludeDirectories>..\sys;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>^M
  1492. -      <PreprocessorDefinitions>UNICODE;_UNICODE;%(PreprocessorDefinitions)</PreprocessorDefinitions>^M
  1493. -      <MinimalRebuild>true</MinimalRebuild>^M
  1494. -      <ExceptionHandling>^M
  1495. -      </ExceptionHandling>^M
  1496. -      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>^M
  1497. -      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>^M
  1498. -      <RuntimeTypeInfo>false</RuntimeTypeInfo>^M
  1499. -      <WarningLevel>Level4</WarningLevel>^M
  1500. -      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>^M
  1501. -      <CompileAs>CompileAsC</CompileAs>^M
  1502. -    </ClCompile>^M
  1503. -    <Link>^M
  1504. -      <OutputFile>$(OutDir)nfs41_np.dll</OutputFile>^M
  1505. -      <ModuleDefinitionFile>..\dll\nfs41_np.def</ModuleDefinitionFile>^M
  1506. -      <GenerateDebugInformation>true</GenerateDebugInformation>^M
  1507. -      <BaseAddress>0x1010000</BaseAddress>^M
  1508. -      <TargetMachine>MachineX64</TargetMachine>^M
  1509. -    </Link>^M
  1510. -  </ItemDefinitionGroup>^M
  1511. -  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">^M
  1512. -    <ClCompile>^M
  1513. -      <AdditionalOptions>/Wall /wd4100 /wd4255 /wd4619 /wd4668 /wd4710 /wd4711 /wd4820</AdditionalOptions>^M
  1514. -      <Optimization>MaxSpeed</Optimization>^M
  1515. -      <IntrinsicFunctions>true</IntrinsicFunctions>^M
  1516. -      <AdditionalIncludeDirectories>..\sys;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>^M
  1517. -      <PreprocessorDefinitions>UNICODE;_UNICODE;%(PreprocessorDefinitions)</PreprocessorDefinitions>^M
  1518. -      <ExceptionHandling>^M
  1519. -      </ExceptionHandling>^M
  1520. -      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>^M
  1521. -      <FunctionLevelLinking>true</FunctionLevelLinking>^M
  1522. -      <RuntimeTypeInfo>false</RuntimeTypeInfo>^M
  1523. -      <WarningLevel>Level4</WarningLevel>^M
  1524. -      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>^M
  1525. -      <CompileAs>CompileAsC</CompileAs>^M
  1526. -    </ClCompile>^M
  1527. -    <Link>^M
  1528. -      <OutputFile>$(OutDir)nfs41_np.dll</OutputFile>^M
  1529. -      <ModuleDefinitionFile>..\dll\nfs41_np.def</ModuleDefinitionFile>^M
  1530. -      <GenerateDebugInformation>true</GenerateDebugInformation>^M
  1531. -      <OptimizeReferences>true</OptimizeReferences>^M
  1532. -      <EnableCOMDATFolding>true</EnableCOMDATFolding>^M
  1533. -      <BaseAddress>0x1010000</BaseAddress>^M
  1534. -      <TargetMachine>MachineX86</TargetMachine>^M
  1535. -    </Link>^M
  1536. -  </ItemDefinitionGroup>^M
  1537. -  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">^M
  1538. -    <Midl>^M
  1539. -      <TargetEnvironment>X64</TargetEnvironment>^M
  1540. -    </Midl>^M
  1541. -    <ClCompile>^M
  1542. -      <AdditionalOptions>/Wall /wd4100 /wd4255 /wd4619 /wd4668 /wd4710 /wd4711 /wd4820</AdditionalOptions>^M
  1543. -      <Optimization>MaxSpeed</Optimization>^M
  1544. -      <IntrinsicFunctions>true</IntrinsicFunctions>^M
  1545. -      <AdditionalIncludeDirectories>..\sys;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>^M
  1546. -      <PreprocessorDefinitions>UNICODE;_UNICODE;%(PreprocessorDefinitions)</PreprocessorDefinitions>^M
  1547. -      <ExceptionHandling>^M
  1548. -      </ExceptionHandling>^M
  1549. -      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>^M
  1550. -      <FunctionLevelLinking>true</FunctionLevelLinking>^M
  1551. -      <RuntimeTypeInfo>false</RuntimeTypeInfo>^M
  1552. -      <WarningLevel>Level4</WarningLevel>^M
  1553. -      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>^M
  1554. -      <CompileAs>CompileAsC</CompileAs>^M
  1555. -    </ClCompile>^M
  1556. -    <Link>^M
  1557. -      <OutputFile>$(OutDir)nfs41_np.dll</OutputFile>^M
  1558. -      <ModuleDefinitionFile>..\dll\nfs41_np.def</ModuleDefinitionFile>^M
  1559. -      <GenerateDebugInformation>true</GenerateDebugInformation>^M
  1560. -      <OptimizeReferences>true</OptimizeReferences>^M
  1561. -      <EnableCOMDATFolding>true</EnableCOMDATFolding>^M
  1562. -      <BaseAddress>0x1010000</BaseAddress>^M
  1563. -      <TargetMachine>MachineX64</TargetMachine>^M
  1564. -    </Link>^M
  1565. -  </ItemDefinitionGroup>^M
  1566. -  <ItemGroup>^M
  1567. -    <ClCompile Include="..\dll\dllmain.c" />^M
  1568. -    <ClCompile Include="..\dll\nfs41_np.c" />^M
  1569. -    <ClCompile Include="..\dll\options.c" />^M
  1570. -  </ItemGroup>^M
  1571. -  <ItemGroup>^M
  1572. -    <ClInclude Include="..\dll\nfs41_np.h" />^M
  1573. -  </ItemGroup>^M
  1574. -  <ItemGroup>^M
  1575. -    <None Include="..\dll\nfs41_np.def" />^M
  1576. -    <None Include="..\dll\sources" />^M
  1577. -  </ItemGroup>^M
  1578. -  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />^M
  1579. -  <ImportGroup Label="ExtensionTargets">^M
  1580. -  </ImportGroup>^M
  1581. -</Project>
  1582. \ No newline at end of file
  1583. diff --git a/build.vc10/dll.vcxproj.filters b/build.vc10/dll.vcxproj.filters
  1584. deleted file mode 100644
  1585. index 4936e2f..0000000
  1586. --- a/build.vc10/dll.vcxproj.filters
  1587. +++ /dev/null
  1588. @@ -1,41 +0,0 @@
  1589. -M-oM-;M-?<?xml version="1.0" encoding="utf-8"?>^M
  1590. -<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">^M
  1591. -  <ItemGroup>^M
  1592. -    <Filter Include="Source Files">^M
  1593. -      <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>^M
  1594. -      <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>^M
  1595. -    </Filter>^M
  1596. -    <Filter Include="Header Files">^M
  1597. -      <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>^M
  1598. -      <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>^M
  1599. -    </Filter>^M
  1600. -    <Filter Include="Resource Files">^M
  1601. -      <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>^M
  1602. -      <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions>^M
  1603. -    </Filter>^M
  1604. -  </ItemGroup>^M
  1605. -  <ItemGroup>^M
  1606. -    <ClCompile Include="..\dll\dllmain.c">^M
  1607. -      <Filter>Source Files</Filter>^M
  1608. -    </ClCompile>^M
  1609. -    <ClCompile Include="..\dll\nfs41_np.c">^M
  1610. -      <Filter>Source Files</Filter>^M
  1611. -    </ClCompile>^M
  1612. -    <ClCompile Include="..\dll\options.c">^M
  1613. -      <Filter>Source Files</Filter>^M
  1614. -    </ClCompile>^M
  1615. -  </ItemGroup>^M
  1616. -  <ItemGroup>^M
  1617. -    <ClInclude Include="..\dll\nfs41_np.h">^M
  1618. -      <Filter>Header Files</Filter>^M
  1619. -    </ClInclude>^M
  1620. -  </ItemGroup>^M
  1621. -  <ItemGroup>^M
  1622. -    <None Include="..\dll\nfs41_np.def">^M
  1623. -      <Filter>Resource Files</Filter>^M
  1624. -    </None>^M
  1625. -    <None Include="..\dll\sources">^M
  1626. -      <Filter>Resource Files</Filter>^M
  1627. -    </None>^M
  1628. -  </ItemGroup>^M
  1629. -</Project>
  1630. \ No newline at end of file
  1631. diff --git a/build.vc10/env.props.example b/build.vc10/env.props.example
  1632. deleted file mode 100644
  1633. index 54a10fd..0000000
  1634. --- a/build.vc10/env.props.example
  1635. +++ /dev/null
  1636. @@ -1,20 +0,0 @@
  1637. -M-oM-;M-?<?xml version="1.0" encoding="utf-8"?>^M
  1638. -<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">^M
  1639. -  <PropertyGroup Label="UserMacros">^M
  1640. -    <WDKPATH>C:\WinDDK\7600.16385.0</WDKPATH>^M
  1641. -  </PropertyGroup>^M
  1642. -  <PropertyGroup>^M
  1643. -    <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>^M
  1644. -    <_PropertySheetDisplayName>ddk_env</_PropertySheetDisplayName>^M
  1645. -  </PropertyGroup>^M
  1646. -  <ItemDefinitionGroup>^M
  1647. -    <ClCompile>^M
  1648. -      <AdditionalIncludeDirectories>$(WDKPATH)\inc\ddk;$(WDKPATH)\inc\api;$(WDKPATH)\inc\crt;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>^M
  1649. -    </ClCompile>^M
  1650. -  </ItemDefinitionGroup>^M
  1651. -  <ItemGroup>^M
  1652. -    <BuildMacro Include="WDKPATH">^M
  1653. -      <Value>$(WDKPATH)</Value>^M
  1654. -    </BuildMacro>^M
  1655. -  </ItemGroup>^M
  1656. -</Project>
  1657. \ No newline at end of file
  1658. diff --git a/build.vc10/libtirpc.vcxproj b/build.vc10/libtirpc.vcxproj
  1659. deleted file mode 100644
  1660. index a845f96..0000000
  1661. --- a/build.vc10/libtirpc.vcxproj
  1662. +++ /dev/null
  1663. @@ -1,313 +0,0 @@
  1664. -M-oM-;M-?<?xml version="1.0" encoding="utf-8"?>^M
  1665. -<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">^M
  1666. -  <ItemGroup Label="ProjectConfigurations">^M
  1667. -    <ProjectConfiguration Include="Debug|Win32">^M
  1668. -      <Configuration>Debug</Configuration>^M
  1669. -      <Platform>Win32</Platform>^M
  1670. -    </ProjectConfiguration>^M
  1671. -    <ProjectConfiguration Include="Debug|x64">^M
  1672. -      <Configuration>Debug</Configuration>^M
  1673. -      <Platform>x64</Platform>^M
  1674. -    </ProjectConfiguration>^M
  1675. -    <ProjectConfiguration Include="Release|Win32">^M
  1676. -      <Configuration>Release</Configuration>^M
  1677. -      <Platform>Win32</Platform>^M
  1678. -    </ProjectConfiguration>^M
  1679. -    <ProjectConfiguration Include="Release|x64">^M
  1680. -      <Configuration>Release</Configuration>^M
  1681. -      <Platform>x64</Platform>^M
  1682. -    </ProjectConfiguration>^M
  1683. -  </ItemGroup>^M
  1684. -  <PropertyGroup Label="Globals">^M
  1685. -    <ProjectGuid>{2D918A9B-DE52-470A-93D5-78EA2C8113A1}</ProjectGuid>^M
  1686. -    <RootNamespace>libtirpc</RootNamespace>^M
  1687. -    <Keyword>Win32Proj</Keyword>^M
  1688. -  </PropertyGroup>^M
  1689. -  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />^M
  1690. -  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">^M
  1691. -    <ConfigurationType>DynamicLibrary</ConfigurationType>^M
  1692. -    <CharacterSet>Unicode</CharacterSet>^M
  1693. -    <WholeProgramOptimization>true</WholeProgramOptimization>^M
  1694. -  </PropertyGroup>^M
  1695. -  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">^M
  1696. -    <ConfigurationType>DynamicLibrary</ConfigurationType>^M
  1697. -    <CharacterSet>Unicode</CharacterSet>^M
  1698. -  </PropertyGroup>^M
  1699. -  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">^M
  1700. -    <ConfigurationType>DynamicLibrary</ConfigurationType>^M
  1701. -    <CharacterSet>Unicode</CharacterSet>^M
  1702. -    <WholeProgramOptimization>true</WholeProgramOptimization>^M
  1703. -  </PropertyGroup>^M
  1704. -  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">^M
  1705. -    <ConfigurationType>DynamicLibrary</ConfigurationType>^M
  1706. -    <CharacterSet>Unicode</CharacterSet>^M
  1707. -  </PropertyGroup>^M
  1708. -  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />^M
  1709. -  <ImportGroup Label="ExtensionSettings">^M
  1710. -  </ImportGroup>^M
  1711. -  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">^M
  1712. -    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />^M
  1713. -  </ImportGroup>^M
  1714. -  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">^M
  1715. -    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />^M
  1716. -    <Import Project="env.props" />^M
  1717. -  </ImportGroup>^M
  1718. -  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">^M
  1719. -    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />^M
  1720. -  </ImportGroup>^M
  1721. -  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">^M
  1722. -    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />^M
  1723. -    <Import Project="env.props" />^M
  1724. -  </ImportGroup>^M
  1725. -  <PropertyGroup Label="UserMacros" />^M
  1726. -  <PropertyGroup>^M
  1727. -    <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>^M
  1728. -    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>^M
  1729. -    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>^M
  1730. -    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</LinkIncremental>^M
  1731. -    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>^M
  1732. -    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>^M
  1733. -    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</LinkIncremental>^M
  1734. -    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>^M
  1735. -    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>^M
  1736. -    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>^M
  1737. -    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>^M
  1738. -    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>^M
  1739. -    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>^M
  1740. -    <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>^M
  1741. -    <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />^M
  1742. -    <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />^M
  1743. -    <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">AllRules.ruleset</CodeAnalysisRuleSet>^M
  1744. -    <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />^M
  1745. -    <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />^M
  1746. -    <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>^M
  1747. -    <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />^M
  1748. -    <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />^M
  1749. -    <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AllRules.ruleset</CodeAnalysisRuleSet>^M
  1750. -    <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />^M
  1751. -    <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />^M
  1752. -  </PropertyGroup>^M
  1753. -  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">^M
  1754. -    <ClCompile>^M
  1755. -      <Optimization>Disabled</Optimization>^M
  1756. -      <AdditionalIncludeDirectories>..\libtirpc\tirpc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>^M
  1757. -      <PreprocessorDefinitions>INET6;FD_SETSIZE=128;PORTMAP;NO_CB_4_KRB5P;%(PreprocessorDefinitions)</PreprocessorDefinitions>^M
  1758. -      <MinimalRebuild>true</MinimalRebuild>^M
  1759. -      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>^M
  1760. -      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>^M
  1761. -      <PrecompiledHeader>^M
  1762. -      </PrecompiledHeader>^M
  1763. -      <WarningLevel>Level3</WarningLevel>^M
  1764. -      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>^M
  1765. -    </ClCompile>^M
  1766. -    <Link>^M
  1767. -      <AdditionalDependencies>ws2_32.lib;secur32.lib;%(AdditionalDependencies)</AdditionalDependencies>^M
  1768. -      <ModuleDefinitionFile>..\libtirpc\libtirpc\libtirpc.def</ModuleDefinitionFile>^M
  1769. -      <GenerateDebugInformation>true</GenerateDebugInformation>^M
  1770. -      <SubSystem>Windows</SubSystem>^M
  1771. -      <TargetMachine>MachineX86</TargetMachine>^M
  1772. -    </Link>^M
  1773. -  </ItemDefinitionGroup>^M
  1774. -  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">^M
  1775. -    <Midl>^M
  1776. -      <TargetEnvironment>X64</TargetEnvironment>^M
  1777. -    </Midl>^M
  1778. -    <ClCompile>^M
  1779. -      <Optimization>Disabled</Optimization>^M
  1780. -      <AdditionalIncludeDirectories>..\libtirpc\tirpc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>^M
  1781. -      <PreprocessorDefinitions>INET6;FD_SETSIZE=128;PORTMAP;NO_CB_4_KRB5P;%(PreprocessorDefinitions)</PreprocessorDefinitions>^M
  1782. -      <MinimalRebuild>true</MinimalRebuild>^M
  1783. -      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>^M
  1784. -      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>^M
  1785. -      <PrecompiledHeader>^M
  1786. -      </PrecompiledHeader>^M
  1787. -      <WarningLevel>Level3</WarningLevel>^M
  1788. -      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>^M
  1789. -    </ClCompile>^M
  1790. -    <Link>^M
  1791. -      <AdditionalDependencies>ws2_32.lib;secur32.lib;%(AdditionalDependencies)</AdditionalDependencies>^M
  1792. -      <ModuleDefinitionFile>..\libtirpc\libtirpc\libtirpc.def</ModuleDefinitionFile>^M
  1793. -      <GenerateDebugInformation>true</GenerateDebugInformation>^M
  1794. -      <SubSystem>Windows</SubSystem>^M
  1795. -      <EntryPointSymbol>^M
  1796. -      </EntryPointSymbol>^M
  1797. -      <TargetMachine>MachineX64</TargetMachine>^M
  1798. -    </Link>^M
  1799. -  </ItemDefinitionGroup>^M
  1800. -  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">^M
  1801. -    <ClCompile>^M
  1802. -      <Optimization>MaxSpeed</Optimization>^M
  1803. -      <IntrinsicFunctions>true</IntrinsicFunctions>^M
  1804. -      <AdditionalIncludeDirectories>..\libtirpc\tirpc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>^M
  1805. -      <PreprocessorDefinitions>INET6;FD_SETSIZE=128;PORTMAP;NO_CB_4_KRB5P;%(PreprocessorDefinitions)</PreprocessorDefinitions>^M
  1806. -      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>^M
  1807. -      <FunctionLevelLinking>true</FunctionLevelLinking>^M
  1808. -      <PrecompiledHeader>^M
  1809. -      </PrecompiledHeader>^M
  1810. -      <WarningLevel>Level3</WarningLevel>^M
  1811. -      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>^M
  1812. -    </ClCompile>^M
  1813. -    <Link>^M
  1814. -      <AdditionalDependencies>ws2_32.lib;secur32.lib;%(AdditionalDependencies)</AdditionalDependencies>^M
  1815. -      <ModuleDefinitionFile>..\libtirpc\libtirpc\libtirpc.def</ModuleDefinitionFile>^M
  1816. -      <GenerateDebugInformation>true</GenerateDebugInformation>^M
  1817. -      <SubSystem>Windows</SubSystem>^M
  1818. -      <OptimizeReferences>true</OptimizeReferences>^M
  1819. -      <EnableCOMDATFolding>true</EnableCOMDATFolding>^M
  1820. -      <TargetMachine>MachineX86</TargetMachine>^M
  1821. -    </Link>^M
  1822. -  </ItemDefinitionGroup>^M
  1823. -  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">^M
  1824. -    <Midl>^M
  1825. -      <TargetEnvironment>X64</TargetEnvironment>^M
  1826. -    </Midl>^M
  1827. -    <ClCompile>^M
  1828. -      <Optimization>MaxSpeed</Optimization>^M
  1829. -      <IntrinsicFunctions>true</IntrinsicFunctions>^M
  1830. -      <AdditionalIncludeDirectories>..\libtirpc\tirpc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>^M
  1831. -      <PreprocessorDefinitions>INET6;FD_SETSIZE=128;PORTMAP;NO_CB_4_KRB5P;%(PreprocessorDefinitions)</PreprocessorDefinitions>^M
  1832. -      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>^M
  1833. -      <FunctionLevelLinking>true</FunctionLevelLinking>^M
  1834. -      <PrecompiledHeader>^M
  1835. -      </PrecompiledHeader>^M
  1836. -      <WarningLevel>Level3</WarningLevel>^M
  1837. -      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>^M
  1838. -    </ClCompile>^M
  1839. -    <Link>^M
  1840. -      <AdditionalDependencies>ws2_32.lib;secur32.lib;%(AdditionalDependencies)</AdditionalDependencies>^M
  1841. -      <ModuleDefinitionFile>..\libtirpc\libtirpc\libtirpc.def</ModuleDefinitionFile>^M
  1842. -      <GenerateDebugInformation>true</GenerateDebugInformation>^M
  1843. -      <SubSystem>Windows</SubSystem>^M
  1844. -      <OptimizeReferences>true</OptimizeReferences>^M
  1845. -      <EnableCOMDATFolding>true</EnableCOMDATFolding>^M
  1846. -      <EntryPointSymbol>^M
  1847. -      </EntryPointSymbol>^M
  1848. -      <TargetMachine>MachineX64</TargetMachine>^M
  1849. -    </Link>^M
  1850. -  </ItemDefinitionGroup>^M
  1851. -  <ItemGroup>^M
  1852. -    <ClCompile Include="..\libtirpc\src\asprintf.c" />^M
  1853. -    <ClCompile Include="..\libtirpc\src\authsspi_prot.c" />^M
  1854. -    <ClCompile Include="..\libtirpc\src\auth_none.c" />^M
  1855. -    <ClCompile Include="..\libtirpc\src\auth_sspi.c" />^M
  1856. -    <ClCompile Include="..\libtirpc\src\auth_time.c" />^M
  1857. -    <ClCompile Include="..\libtirpc\src\auth_unix.c" />^M
  1858. -    <ClCompile Include="..\libtirpc\src\authunix_prot.c" />^M
  1859. -    <ClCompile Include="..\libtirpc\src\bindresvport.c" />^M
  1860. -    <ClCompile Include="..\libtirpc\src\clnt_bcast.c" />^M
  1861. -    <ClCompile Include="..\libtirpc\src\clnt_dg.c" />^M
  1862. -    <ClCompile Include="..\libtirpc\src\clnt_generic.c" />^M
  1863. -    <ClCompile Include="..\libtirpc\src\clnt_perror.c" />^M
  1864. -    <ClCompile Include="..\libtirpc\src\clnt_raw.c" />^M
  1865. -    <ClCompile Include="..\libtirpc\src\clnt_simple.c" />^M
  1866. -    <ClCompile Include="..\libtirpc\src\clnt_vc.c" />^M
  1867. -    <ClCompile Include="..\libtirpc\src\des_soft.c" />^M
  1868. -    <ClCompile Include="..\libtirpc\src\epoll_sub.c" />^M
  1869. -    <ClCompile Include="..\libtirpc\src\getnetconfig.c" />^M
  1870. -    <ClCompile Include="..\libtirpc\src\getnetpath.c" />^M
  1871. -    <ClCompile Include="..\libtirpc\src\getpeereid.c" />^M
  1872. -    <ClCompile Include="..\libtirpc\src\getpublickey.c" />^M
  1873. -    <ClCompile Include="..\libtirpc\src\getrpcent.c" />^M
  1874. -    <ClCompile Include="..\libtirpc\src\getrpcport.c" />^M
  1875. -    <ClCompile Include="..\libtirpc\src\gettimeofday.c" />^M
  1876. -    <ClCompile Include="..\libtirpc\src\key_call.c" />^M
  1877. -    <ClCompile Include="..\libtirpc\src\key_prot_xdr.c" />^M
  1878. -    <ClCompile Include="..\libtirpc\src\mt_misc.c" />^M
  1879. -    <ClCompile Include="..\libtirpc\src\netname.c" />^M
  1880. -    <ClCompile Include="..\libtirpc\src\netnamer.c" />^M
  1881. -    <ClCompile Include="..\libtirpc\src\pmap_clnt.c" />^M
  1882. -    <ClCompile Include="..\libtirpc\src\pmap_getmaps.c" />^M
  1883. -    <ClCompile Include="..\libtirpc\src\pmap_getport.c" />^M
  1884. -    <ClCompile Include="..\libtirpc\src\pmap_prot.c" />^M
  1885. -    <ClCompile Include="..\libtirpc\src\pmap_prot2.c" />^M
  1886. -    <ClCompile Include="..\libtirpc\src\pmap_rmt.c" />^M
  1887. -    <ClCompile Include="..\libtirpc\src\rpc_callmsg.c" />^M
  1888. -    <ClCompile Include="..\libtirpc\src\rpc_commondata.c" />^M
  1889. -    <ClCompile Include="..\libtirpc\src\rpc_dtablesize.c" />^M
  1890. -    <ClCompile Include="..\libtirpc\src\rpc_generic.c" />^M
  1891. -    <ClCompile Include="..\libtirpc\src\rpc_prot.c" />^M
  1892. -    <ClCompile Include="..\libtirpc\src\rpc_soc.c" />^M
  1893. -    <ClCompile Include="..\libtirpc\src\rpcb_clnt.c" />^M
  1894. -    <ClCompile Include="..\libtirpc\src\rpcb_prot.c" />^M
  1895. -    <ClCompile Include="..\libtirpc\src\rpcb_st_xdr.c" />^M
  1896. -    <ClCompile Include="..\libtirpc\src\rpcdname.c" />^M
  1897. -    <ClCompile Include="..\libtirpc\src\rtime.c" />^M
  1898. -    <ClCompile Include="..\libtirpc\src\svc.c" />^M
  1899. -    <ClCompile Include="..\libtirpc\src\svc_auth.c" />^M
  1900. -    <ClCompile Include="..\libtirpc\src\svc_auth_none.c" />^M
  1901. -    <ClCompile Include="..\libtirpc\src\svc_auth_unix.c" />^M
  1902. -    <ClCompile Include="..\libtirpc\src\svc_dg.c" />^M
  1903. -    <ClCompile Include="..\libtirpc\src\svc_generic.c" />^M
  1904. -    <ClCompile Include="..\libtirpc\src\svc_raw.c" />^M
  1905. -    <ClCompile Include="..\libtirpc\src\svc_run.c" />^M
  1906. -    <ClCompile Include="..\libtirpc\src\svc_simple.c" />^M
  1907. -    <ClCompile Include="..\libtirpc\src\svc_vc.c" />^M
  1908. -    <ClCompile Include="..\libtirpc\src\winstubs.c" />^M
  1909. -    <ClCompile Include="..\libtirpc\src\wintirpc.c" />^M
  1910. -    <ClCompile Include="..\libtirpc\src\xdr.c" />^M
  1911. -    <ClCompile Include="..\libtirpc\src\xdr_array.c" />^M
  1912. -    <ClCompile Include="..\libtirpc\src\xdr_float.c" />^M
  1913. -    <ClCompile Include="..\libtirpc\src\xdr_mem.c" />^M
  1914. -    <ClCompile Include="..\libtirpc\src\xdr_rec.c" />^M
  1915. -    <ClCompile Include="..\libtirpc\src\xdr_reference.c" />^M
  1916. -    <ClCompile Include="..\libtirpc\src\xdr_sizeof.c" />^M
  1917. -    <ClCompile Include="..\libtirpc\src\xdr_stdio.c" />^M
  1918. -  </ItemGroup>^M
  1919. -  <ItemGroup>^M
  1920. -    <ClInclude Include="..\libtirpc\src\rpc_com.h" />^M
  1921. -    <ClInclude Include="..\libtirpc\tirpc\rpc\auth.h" />^M
  1922. -    <ClInclude Include="..\libtirpc\tirpc\rpc\auth_des.h" />^M
  1923. -    <ClInclude Include="..\libtirpc\tirpc\rpc\auth_gss.h" />^M
  1924. -    <ClInclude Include="..\libtirpc\tirpc\rpc\auth_kerb.h" />^M
  1925. -    <ClInclude Include="..\libtirpc\tirpc\rpc\auth_sspi.h" />^M
  1926. -    <ClInclude Include="..\libtirpc\tirpc\rpc\auth_unix.h" />^M
  1927. -    <ClInclude Include="..\libtirpc\tirpc\rpc\clnt.h" />^M
  1928. -    <ClInclude Include="..\libtirpc\tirpc\rpc\clnt_soc.h" />^M
  1929. -    <ClInclude Include="..\libtirpc\tirpc\rpc\clnt_stat.h" />^M
  1930. -    <ClInclude Include="..\libtirpc\tirpc\rpcsvc\crypt.h" />^M
  1931. -    <ClInclude Include="..\libtirpc\tirpc\rpc\des.h" />^M
  1932. -    <ClInclude Include="..\libtirpc\tirpc\rpc\des_crypt.h" />^M
  1933. -    <ClInclude Include="..\libtirpc\tirpc\misc\event.h" />^M
  1934. -    <ClInclude Include="..\libtirpc\tirpc\fpmath.h" />^M
  1935. -    <ClInclude Include="..\libtirpc\tirpc\getpeereid.h" />^M
  1936. -    <ClInclude Include="..\libtirpc\tirpc\libc_private.h" />^M
  1937. -    <ClInclude Include="..\libtirpc\tirpc\namespace.h" />^M
  1938. -    <ClInclude Include="..\libtirpc\tirpc\netconfig.h" />^M
  1939. -    <ClInclude Include="..\libtirpc\tirpc\rpc\nettype.h" />^M
  1940. -    <ClInclude Include="..\libtirpc\tirpc\rpcsvc\nis.h" />^M
  1941. -    <ClInclude Include="..\libtirpc\tirpc\nss_tls.h" />^M
  1942. -    <ClInclude Include="..\libtirpc\tirpc\rpc\pmap_clnt.h" />^M
  1943. -    <ClInclude Include="..\libtirpc\tirpc\rpc\pmap_prot.h" />^M
  1944. -    <ClInclude Include="..\libtirpc\tirpc\rpc\pmap_rmt.h" />^M
  1945. -    <ClInclude Include="..\libtirpc\tirpc\sys\queue.h" />^M
  1946. -    <ClInclude Include="..\libtirpc\tirpc\misc\queue.h" />^M
  1947. -    <ClInclude Include="..\libtirpc\tirpc\rpc\raw.h" />^M
  1948. -    <ClInclude Include="..\libtirpc\tirpc\reentrant.h" />^M
  1949. -    <ClInclude Include="..\libtirpc\tirpc\rpc\rpc.h" />^M
  1950. -    <ClInclude Include="..\libtirpc\tirpc\rpc\rpc_com.h" />^M
  1951. -    <ClInclude Include="..\libtirpc\tirpc\rpc\rpc_msg.h" />^M
  1952. -    <ClInclude Include="..\libtirpc\tirpc\rpc\rpcb_clnt.h" />^M
  1953. -    <ClInclude Include="..\libtirpc\tirpc\rpc\rpcb_prot.h" />^M
  1954. -    <ClInclude Include="..\libtirpc\tirpc\rpc\rpcent.h" />^M
  1955. -    <ClInclude Include="..\libtirpc\tirpc\misc\socket.h" />^M
  1956. -    <ClInclude Include="..\libtirpc\tirpc\spinlock.h" />^M
  1957. -    <ClInclude Include="..\libtirpc\tirpc\rpc\svc.h" />^M
  1958. -    <ClInclude Include="..\libtirpc\tirpc\rpc\svc_auth.h" />^M
  1959. -    <ClInclude Include="..\libtirpc\tirpc\rpc\svc_dg.h" />^M
  1960. -    <ClInclude Include="..\libtirpc\tirpc\rpc\svc_soc.h" />^M
  1961. -    <ClInclude Include="..\libtirpc\tirpc\rpc\types.h" />^M
  1962. -    <ClInclude Include="..\libtirpc\tirpc\un-namespace.h" />^M
  1963. -    <ClInclude Include="..\libtirpc\tirpc\wintirpc.h" />^M
  1964. -    <ClInclude Include="..\libtirpc\tirpc\rpc\xdr.h" />^M
  1965. -  </ItemGroup>^M
  1966. -  <ItemGroup>^M
  1967. -    <ResourceCompile Include="..\libtirpc\libtirpc\libtirpc.rc" />^M
  1968. -  </ItemGroup>^M
  1969. -  <ItemGroup>^M
  1970. -    <None Include="..\libtirpc\libtirpc\libtirpc.def" />^M
  1971. -    <None Include="..\libtirpc\src\sources" />^M
  1972. -  </ItemGroup>^M
  1973. -  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />^M
  1974. -  <ImportGroup Label="ExtensionTargets">^M
  1975. -  </ImportGroup>^M
  1976. -</Project>
  1977. \ No newline at end of file
  1978. diff --git a/build.vc10/libtirpc.vcxproj.filters b/build.vc10/libtirpc.vcxproj.filters
  1979. deleted file mode 100644
  1980. index d297f09..0000000
  1981. --- a/build.vc10/libtirpc.vcxproj.filters
  1982. +++ /dev/null
  1983. @@ -1,367 +0,0 @@
  1984. -M-oM-;M-?<?xml version="1.0" encoding="utf-8"?>^M
  1985. -<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">^M
  1986. -  <ItemGroup>^M
  1987. -    <Filter Include="Source Files">^M
  1988. -      <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>^M
  1989. -      <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>^M
  1990. -    </Filter>^M
  1991. -    <Filter Include="Header Files">^M
  1992. -      <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>^M
  1993. -      <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>^M
  1994. -    </Filter>^M
  1995. -    <Filter Include="Resource Files">^M
  1996. -      <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>^M
  1997. -      <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions>^M
  1998. -    </Filter>^M
  1999. -  </ItemGroup>^M
  2000. -  <ItemGroup>^M
  2001. -    <ClCompile Include="..\libtirpc\src\asprintf.c">^M
  2002. -      <Filter>Source Files</Filter>^M
  2003. -    </ClCompile>^M
  2004. -    <ClCompile Include="..\libtirpc\src\auth_none.c">^M
  2005. -      <Filter>Source Files</Filter>^M
  2006. -    </ClCompile>^M
  2007. -    <ClCompile Include="..\libtirpc\src\auth_time.c">^M
  2008. -      <Filter>Source Files</Filter>^M
  2009. -    </ClCompile>^M
  2010. -    <ClCompile Include="..\libtirpc\src\auth_unix.c">^M
  2011. -      <Filter>Source Files</Filter>^M
  2012. -    </ClCompile>^M
  2013. -    <ClCompile Include="..\libtirpc\src\authunix_prot.c">^M
  2014. -      <Filter>Source Files</Filter>^M
  2015. -    </ClCompile>^M
  2016. -    <ClCompile Include="..\libtirpc\src\bindresvport.c">^M
  2017. -      <Filter>Source Files</Filter>^M
  2018. -    </ClCompile>^M
  2019. -    <ClCompile Include="..\libtirpc\src\clnt_bcast.c">^M
  2020. -      <Filter>Source Files</Filter>^M
  2021. -    </ClCompile>^M
  2022. -    <ClCompile Include="..\libtirpc\src\clnt_dg.c">^M
  2023. -      <Filter>Source Files</Filter>^M
  2024. -    </ClCompile>^M
  2025. -    <ClCompile Include="..\libtirpc\src\clnt_generic.c">^M
  2026. -      <Filter>Source Files</Filter>^M
  2027. -    </ClCompile>^M
  2028. -    <ClCompile Include="..\libtirpc\src\clnt_perror.c">^M
  2029. -      <Filter>Source Files</Filter>^M
  2030. -    </ClCompile>^M
  2031. -    <ClCompile Include="..\libtirpc\src\clnt_raw.c">^M
  2032. -      <Filter>Source Files</Filter>^M
  2033. -    </ClCompile>^M
  2034. -    <ClCompile Include="..\libtirpc\src\clnt_simple.c">^M
  2035. -      <Filter>Source Files</Filter>^M
  2036. -    </ClCompile>^M
  2037. -    <ClCompile Include="..\libtirpc\src\clnt_vc.c">^M
  2038. -      <Filter>Source Files</Filter>^M
  2039. -    </ClCompile>^M
  2040. -    <ClCompile Include="..\libtirpc\src\des_soft.c">^M
  2041. -      <Filter>Source Files</Filter>^M
  2042. -    </ClCompile>^M
  2043. -    <ClCompile Include="..\libtirpc\src\epoll_sub.c">^M
  2044. -      <Filter>Source Files</Filter>^M
  2045. -    </ClCompile>^M
  2046. -    <ClCompile Include="..\libtirpc\src\getnetconfig.c">^M
  2047. -      <Filter>Source Files</Filter>^M
  2048. -    </ClCompile>^M
  2049. -    <ClCompile Include="..\libtirpc\src\getnetpath.c">^M
  2050. -      <Filter>Source Files</Filter>^M
  2051. -    </ClCompile>^M
  2052. -    <ClCompile Include="..\libtirpc\src\getpeereid.c">^M
  2053. -      <Filter>Source Files</Filter>^M
  2054. -    </ClCompile>^M
  2055. -    <ClCompile Include="..\libtirpc\src\getpublickey.c">^M
  2056. -      <Filter>Source Files</Filter>^M
  2057. -    </ClCompile>^M
  2058. -    <ClCompile Include="..\libtirpc\src\getrpcent.c">^M
  2059. -      <Filter>Source Files</Filter>^M
  2060. -    </ClCompile>^M
  2061. -    <ClCompile Include="..\libtirpc\src\getrpcport.c">^M
  2062. -      <Filter>Source Files</Filter>^M
  2063. -    </ClCompile>^M
  2064. -    <ClCompile Include="..\libtirpc\src\gettimeofday.c">^M
  2065. -      <Filter>Source Files</Filter>^M
  2066. -    </ClCompile>^M
  2067. -    <ClCompile Include="..\libtirpc\src\key_call.c">^M
  2068. -      <Filter>Source Files</Filter>^M
  2069. -    </ClCompile>^M
  2070. -    <ClCompile Include="..\libtirpc\src\key_prot_xdr.c">^M
  2071. -      <Filter>Source Files</Filter>^M
  2072. -    </ClCompile>^M
  2073. -    <ClCompile Include="..\libtirpc\src\mt_misc.c">^M
  2074. -      <Filter>Source Files</Filter>^M
  2075. -    </ClCompile>^M
  2076. -    <ClCompile Include="..\libtirpc\src\netname.c">^M
  2077. -      <Filter>Source Files</Filter>^M
  2078. -    </ClCompile>^M
  2079. -    <ClCompile Include="..\libtirpc\src\netnamer.c">^M
  2080. -      <Filter>Source Files</Filter>^M
  2081. -    </ClCompile>^M
  2082. -    <ClCompile Include="..\libtirpc\src\pmap_clnt.c">^M
  2083. -      <Filter>Source Files</Filter>^M
  2084. -    </ClCompile>^M
  2085. -    <ClCompile Include="..\libtirpc\src\pmap_getmaps.c">^M
  2086. -      <Filter>Source Files</Filter>^M
  2087. -    </ClCompile>^M
  2088. -    <ClCompile Include="..\libtirpc\src\pmap_getport.c">^M
  2089. -      <Filter>Source Files</Filter>^M
  2090. -    </ClCompile>^M
  2091. -    <ClCompile Include="..\libtirpc\src\pmap_prot.c">^M
  2092. -      <Filter>Source Files</Filter>^M
  2093. -    </ClCompile>^M
  2094. -    <ClCompile Include="..\libtirpc\src\pmap_prot2.c">^M
  2095. -      <Filter>Source Files</Filter>^M
  2096. -    </ClCompile>^M
  2097. -    <ClCompile Include="..\libtirpc\src\pmap_rmt.c">^M
  2098. -      <Filter>Source Files</Filter>^M
  2099. -    </ClCompile>^M
  2100. -    <ClCompile Include="..\libtirpc\src\rpc_callmsg.c">^M
  2101. -      <Filter>Source Files</Filter>^M
  2102. -    </ClCompile>^M
  2103. -    <ClCompile Include="..\libtirpc\src\rpc_commondata.c">^M
  2104. -      <Filter>Source Files</Filter>^M
  2105. -    </ClCompile>^M
  2106. -    <ClCompile Include="..\libtirpc\src\rpc_dtablesize.c">^M
  2107. -      <Filter>Source Files</Filter>^M
  2108. -    </ClCompile>^M
  2109. -    <ClCompile Include="..\libtirpc\src\rpc_generic.c">^M
  2110. -      <Filter>Source Files</Filter>^M
  2111. -    </ClCompile>^M
  2112. -    <ClCompile Include="..\libtirpc\src\rpc_prot.c">^M
  2113. -      <Filter>Source Files</Filter>^M
  2114. -    </ClCompile>^M
  2115. -    <ClCompile Include="..\libtirpc\src\rpc_soc.c">^M
  2116. -      <Filter>Source Files</Filter>^M
  2117. -    </ClCompile>^M
  2118. -    <ClCompile Include="..\libtirpc\src\rpcb_clnt.c">^M
  2119. -      <Filter>Source Files</Filter>^M
  2120. -    </ClCompile>^M
  2121. -    <ClCompile Include="..\libtirpc\src\rpcb_prot.c">^M
  2122. -      <Filter>Source Files</Filter>^M
  2123. -    </ClCompile>^M
  2124. -    <ClCompile Include="..\libtirpc\src\rpcb_st_xdr.c">^M
  2125. -      <Filter>Source Files</Filter>^M
  2126. -    </ClCompile>^M
  2127. -    <ClCompile Include="..\libtirpc\src\rpcdname.c">^M
  2128. -      <Filter>Source Files</Filter>^M
  2129. -    </ClCompile>^M
  2130. -    <ClCompile Include="..\libtirpc\src\rtime.c">^M
  2131. -      <Filter>Source Files</Filter>^M
  2132. -    </ClCompile>^M
  2133. -    <ClCompile Include="..\libtirpc\src\svc.c">^M
  2134. -      <Filter>Source Files</Filter>^M
  2135. -    </ClCompile>^M
  2136. -    <ClCompile Include="..\libtirpc\src\svc_auth.c">^M
  2137. -      <Filter>Source Files</Filter>^M
  2138. -    </ClCompile>^M
  2139. -    <ClCompile Include="..\libtirpc\src\svc_auth_none.c">^M
  2140. -      <Filter>Source Files</Filter>^M
  2141. -    </ClCompile>^M
  2142. -    <ClCompile Include="..\libtirpc\src\svc_auth_unix.c">^M
  2143. -      <Filter>Source Files</Filter>^M
  2144. -    </ClCompile>^M
  2145. -    <ClCompile Include="..\libtirpc\src\svc_dg.c">^M
  2146. -      <Filter>Source Files</Filter>^M
  2147. -    </ClCompile>^M
  2148. -    <ClCompile Include="..\libtirpc\src\svc_generic.c">^M
  2149. -      <Filter>Source Files</Filter>^M
  2150. -    </ClCompile>^M
  2151. -    <ClCompile Include="..\libtirpc\src\svc_raw.c">^M
  2152. -      <Filter>Source Files</Filter>^M
  2153. -    </ClCompile>^M
  2154. -    <ClCompile Include="..\libtirpc\src\svc_run.c">^M
  2155. -      <Filter>Source Files</Filter>^M
  2156. -    </ClCompile>^M
  2157. -    <ClCompile Include="..\libtirpc\src\svc_simple.c">^M
  2158. -      <Filter>Source Files</Filter>^M
  2159. -    </ClCompile>^M
  2160. -    <ClCompile Include="..\libtirpc\src\svc_vc.c">^M
  2161. -      <Filter>Source Files</Filter>^M
  2162. -    </ClCompile>^M
  2163. -    <ClCompile Include="..\libtirpc\src\winstubs.c">^M
  2164. -      <Filter>Source Files</Filter>^M
  2165. -    </ClCompile>^M
  2166. -    <ClCompile Include="..\libtirpc\src\wintirpc.c">^M
  2167. -      <Filter>Source Files</Filter>^M
  2168. -    </ClCompile>^M
  2169. -    <ClCompile Include="..\libtirpc\src\xdr.c">^M
  2170. -      <Filter>Source Files</Filter>^M
  2171. -    </ClCompile>^M
  2172. -    <ClCompile Include="..\libtirpc\src\xdr_array.c">^M
  2173. -      <Filter>Source Files</Filter>^M
  2174. -    </ClCompile>^M
  2175. -    <ClCompile Include="..\libtirpc\src\xdr_float.c">^M
  2176. -      <Filter>Source Files</Filter>^M
  2177. -    </ClCompile>^M
  2178. -    <ClCompile Include="..\libtirpc\src\xdr_mem.c">^M
  2179. -      <Filter>Source Files</Filter>^M
  2180. -    </ClCompile>^M
  2181. -    <ClCompile Include="..\libtirpc\src\xdr_rec.c">^M
  2182. -      <Filter>Source Files</Filter>^M
  2183. -    </ClCompile>^M
  2184. -    <ClCompile Include="..\libtirpc\src\xdr_reference.c">^M
  2185. -      <Filter>Source Files</Filter>^M
  2186. -    </ClCompile>^M
  2187. -    <ClCompile Include="..\libtirpc\src\xdr_sizeof.c">^M
  2188. -      <Filter>Source Files</Filter>^M
  2189. -    </ClCompile>^M
  2190. -    <ClCompile Include="..\libtirpc\src\xdr_stdio.c">^M
  2191. -      <Filter>Source Files</Filter>^M
  2192. -    </ClCompile>^M
  2193. -    <ClCompile Include="..\libtirpc\src\auth_sspi.c">^M
  2194. -      <Filter>Source Files</Filter>^M
  2195. -    </ClCompile>^M
  2196. -    <ClCompile Include="..\libtirpc\src\authsspi_prot.c">^M
  2197. -      <Filter>Source Files</Filter>^M
  2198. -    </ClCompile>^M
  2199. -  </ItemGroup>^M
  2200. -  <ItemGroup>^M
  2201. -    <ClInclude Include="..\libtirpc\src\rpc_com.h">^M
  2202. -      <Filter>Source Files</Filter>^M
  2203. -    </ClInclude>^M
  2204. -    <ClInclude Include="..\libtirpc\tirpc\rpc\auth.h">^M
  2205. -      <Filter>Header Files</Filter>^M
  2206. -    </ClInclude>^M
  2207. -    <ClInclude Include="..\libtirpc\tirpc\rpc\auth_des.h">^M
  2208. -      <Filter>Header Files</Filter>^M
  2209. -    </ClInclude>^M
  2210. -    <ClInclude Include="..\libtirpc\tirpc\rpc\auth_gss.h">^M
  2211. -      <Filter>Header Files</Filter>^M
  2212. -    </ClInclude>^M
  2213. -    <ClInclude Include="..\libtirpc\tirpc\rpc\auth_kerb.h">^M
  2214. -      <Filter>Header Files</Filter>^M
  2215. -    </ClInclude>^M
  2216. -    <ClInclude Include="..\libtirpc\tirpc\rpc\auth_unix.h">^M
  2217. -      <Filter>Header Files</Filter>^M
  2218. -    </ClInclude>^M
  2219. -    <ClInclude Include="..\libtirpc\tirpc\rpc\clnt.h">^M
  2220. -      <Filter>Header Files</Filter>^M
  2221. -    </ClInclude>^M
  2222. -    <ClInclude Include="..\libtirpc\tirpc\rpc\clnt_soc.h">^M
  2223. -      <Filter>Header Files</Filter>^M
  2224. -    </ClInclude>^M
  2225. -    <ClInclude Include="..\libtirpc\tirpc\rpc\clnt_stat.h">^M
  2226. -      <Filter>Header Files</Filter>^M
  2227. -    </ClInclude>^M
  2228. -    <ClInclude Include="..\libtirpc\tirpc\rpcsvc\crypt.h">^M
  2229. -      <Filter>Header Files</Filter>^M
  2230. -    </ClInclude>^M
  2231. -    <ClInclude Include="..\libtirpc\tirpc\rpc\des.h">^M
  2232. -      <Filter>Header Files</Filter>^M
  2233. -    </ClInclude>^M
  2234. -    <ClInclude Include="..\libtirpc\tirpc\rpc\des_crypt.h">^M
  2235. -      <Filter>Header Files</Filter>^M
  2236. -    </ClInclude>^M
  2237. -    <ClInclude Include="..\libtirpc\tirpc\misc\event.h">^M
  2238. -      <Filter>Header Files</Filter>^M
  2239. -    </ClInclude>^M
  2240. -    <ClInclude Include="..\libtirpc\tirpc\fpmath.h">^M
  2241. -      <Filter>Header Files</Filter>^M
  2242. -    </ClInclude>^M
  2243. -    <ClInclude Include="..\libtirpc\tirpc\getpeereid.h">^M
  2244. -      <Filter>Header Files</Filter>^M
  2245. -    </ClInclude>^M
  2246. -    <ClInclude Include="..\libtirpc\tirpc\libc_private.h">^M
  2247. -      <Filter>Header Files</Filter>^M
  2248. -    </ClInclude>^M
  2249. -    <ClInclude Include="..\libtirpc\tirpc\namespace.h">^M
  2250. -      <Filter>Header Files</Filter>^M
  2251. -    </ClInclude>^M
  2252. -    <ClInclude Include="..\libtirpc\tirpc\netconfig.h">^M
  2253. -      <Filter>Header Files</Filter>^M
  2254. -    </ClInclude>^M
  2255. -    <ClInclude Include="..\libtirpc\tirpc\rpc\nettype.h">^M
  2256. -      <Filter>Header Files</Filter>^M
  2257. -    </ClInclude>^M
  2258. -    <ClInclude Include="..\libtirpc\tirpc\rpcsvc\nis.h">^M
  2259. -      <Filter>Header Files</Filter>^M
  2260. -    </ClInclude>^M
  2261. -    <ClInclude Include="..\libtirpc\tirpc\nss_tls.h">^M
  2262. -      <Filter>Header Files</Filter>^M
  2263. -    </ClInclude>^M
  2264. -    <ClInclude Include="..\libtirpc\tirpc\rpc\pmap_clnt.h">^M
  2265. -      <Filter>Header Files</Filter>^M
  2266. -    </ClInclude>^M
  2267. -    <ClInclude Include="..\libtirpc\tirpc\rpc\pmap_prot.h">^M
  2268. -      <Filter>Header Files</Filter>^M
  2269. -    </ClInclude>^M
  2270. -    <ClInclude Include="..\libtirpc\tirpc\rpc\pmap_rmt.h">^M
  2271. -      <Filter>Header Files</Filter>^M
  2272. -    </ClInclude>^M
  2273. -    <ClInclude Include="..\libtirpc\tirpc\sys\queue.h">^M
  2274. -      <Filter>Header Files</Filter>^M
  2275. -    </ClInclude>^M
  2276. -    <ClInclude Include="..\libtirpc\tirpc\misc\queue.h">^M
  2277. -      <Filter>Header Files</Filter>^M
  2278. -    </ClInclude>^M
  2279. -    <ClInclude Include="..\libtirpc\tirpc\rpc\raw.h">^M
  2280. -      <Filter>Header Files</Filter>^M
  2281. -    </ClInclude>^M
  2282. -    <ClInclude Include="..\libtirpc\tirpc\reentrant.h">^M
  2283. -      <Filter>Header Files</Filter>^M
  2284. -    </ClInclude>^M
  2285. -    <ClInclude Include="..\libtirpc\tirpc\rpc\rpc.h">^M
  2286. -      <Filter>Header Files</Filter>^M
  2287. -    </ClInclude>^M
  2288. -    <ClInclude Include="..\libtirpc\tirpc\rpc\rpc_com.h">^M
  2289. -      <Filter>Header Files</Filter>^M
  2290. -    </ClInclude>^M
  2291. -    <ClInclude Include="..\libtirpc\tirpc\rpc\rpc_msg.h">^M
  2292. -      <Filter>Header Files</Filter>^M
  2293. -    </ClInclude>^M
  2294. -    <ClInclude Include="..\libtirpc\tirpc\rpc\rpcb_clnt.h">^M
  2295. -      <Filter>Header Files</Filter>^M
  2296. -    </ClInclude>^M
  2297. -    <ClInclude Include="..\libtirpc\tirpc\rpc\rpcb_prot.h">^M
  2298. -      <Filter>Header Files</Filter>^M
  2299. -    </ClInclude>^M
  2300. -    <ClInclude Include="..\libtirpc\tirpc\rpc\rpcent.h">^M
  2301. -      <Filter>Header Files</Filter>^M
  2302. -    </ClInclude>^M
  2303. -    <ClInclude Include="..\libtirpc\tirpc\misc\socket.h">^M
  2304. -      <Filter>Header Files</Filter>^M
  2305. -    </ClInclude>^M
  2306. -    <ClInclude Include="..\libtirpc\tirpc\spinlock.h">^M
  2307. -      <Filter>Header Files</Filter>^M
  2308. -    </ClInclude>^M
  2309. -    <ClInclude Include="..\libtirpc\tirpc\rpc\svc.h">^M
  2310. -      <Filter>Header Files</Filter>^M
  2311. -    </ClInclude>^M
  2312. -    <ClInclude Include="..\libtirpc\tirpc\rpc\svc_auth.h">^M
  2313. -      <Filter>Header Files</Filter>^M
  2314. -    </ClInclude>^M
  2315. -    <ClInclude Include="..\libtirpc\tirpc\rpc\svc_dg.h">^M
  2316. -      <Filter>Header Files</Filter>^M
  2317. -    </ClInclude>^M
  2318. -    <ClInclude Include="..\libtirpc\tirpc\rpc\svc_soc.h">^M
  2319. -      <Filter>Header Files</Filter>^M
  2320. -    </ClInclude>^M
  2321. -    <ClInclude Include="..\libtirpc\tirpc\rpc\types.h">^M
  2322. -      <Filter>Header Files</Filter>^M
  2323. -    </ClInclude>^M
  2324. -    <ClInclude Include="..\libtirpc\tirpc\un-namespace.h">^M
  2325. -      <Filter>Header Files</Filter>^M
  2326. -    </ClInclude>^M
  2327. -    <ClInclude Include="..\libtirpc\tirpc\wintirpc.h">^M
  2328. -      <Filter>Header Files</Filter>^M
  2329. -    </ClInclude>^M
  2330. -    <ClInclude Include="..\libtirpc\tirpc\rpc\xdr.h">^M
  2331. -      <Filter>Header Files</Filter>^M
  2332. -    </ClInclude>^M
  2333. -    <ClInclude Include="..\libtirpc\tirpc\rpc\auth_sspi.h">^M
  2334. -      <Filter>Header Files</Filter>^M
  2335. -    </ClInclude>^M
  2336. -  </ItemGroup>^M
  2337. -  <ItemGroup>^M
  2338. -    <ResourceCompile Include="..\libtirpc\libtirpc\libtirpc.rc">^M
  2339. -      <Filter>Resource Files</Filter>^M
  2340. -    </ResourceCompile>^M
  2341. -  </ItemGroup>^M
  2342. -  <ItemGroup>^M
  2343. -    <None Include="..\libtirpc\src\sources">^M
  2344. -      <Filter>Resource Files</Filter>^M
  2345. -    </None>^M
  2346. -    <None Include="..\libtirpc\libtirpc\libtirpc.def">^M
  2347. -      <Filter>Resource Files</Filter>^M
  2348. -    </None>^M
  2349. -  </ItemGroup>^M
  2350. -</Project>
  2351. \ No newline at end of file
  2352. diff --git a/build.vc10/mount.vcxproj b/build.vc10/mount.vcxproj
  2353. deleted file mode 100644
  2354. index cc8e0fb..0000000
  2355. --- a/build.vc10/mount.vcxproj
  2356. +++ /dev/null
  2357. @@ -1,193 +0,0 @@
  2358. -M-oM-;M-?<?xml version="1.0" encoding="utf-8"?>^M
  2359. -<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">^M
  2360. -  <ItemGroup Label="ProjectConfigurations">^M
  2361. -    <ProjectConfiguration Include="Debug|Win32">^M
  2362. -      <Configuration>Debug</Configuration>^M
  2363. -      <Platform>Win32</Platform>^M
  2364. -    </ProjectConfiguration>^M
  2365. -    <ProjectConfiguration Include="Debug|x64">^M
  2366. -      <Configuration>Debug</Configuration>^M
  2367. -      <Platform>x64</Platform>^M
  2368. -    </ProjectConfiguration>^M
  2369. -    <ProjectConfiguration Include="Release|Win32">^M
  2370. -      <Configuration>Release</Configuration>^M
  2371. -      <Platform>Win32</Platform>^M
  2372. -    </ProjectConfiguration>^M
  2373. -    <ProjectConfiguration Include="Release|x64">^M
  2374. -      <Configuration>Release</Configuration>^M
  2375. -      <Platform>x64</Platform>^M
  2376. -    </ProjectConfiguration>^M
  2377. -  </ItemGroup>^M
  2378. -  <PropertyGroup Label="Globals">^M
  2379. -    <ProjectGuid>{5AEA3497-6852-471B-A252-ADA60B22A342}</ProjectGuid>^M
  2380. -    <RootNamespace>mount</RootNamespace>^M
  2381. -  </PropertyGroup>^M
  2382. -  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />^M
  2383. -  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">^M
  2384. -    <ConfigurationType>Application</ConfigurationType>^M
  2385. -    <CharacterSet>Unicode</CharacterSet>^M
  2386. -    <WholeProgramOptimization>true</WholeProgramOptimization>^M
  2387. -  </PropertyGroup>^M
  2388. -  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">^M
  2389. -    <ConfigurationType>Application</ConfigurationType>^M
  2390. -    <CharacterSet>Unicode</CharacterSet>^M
  2391. -  </PropertyGroup>^M
  2392. -  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">^M
  2393. -    <ConfigurationType>Application</ConfigurationType>^M
  2394. -    <CharacterSet>Unicode</CharacterSet>^M
  2395. -    <WholeProgramOptimization>true</WholeProgramOptimization>^M
  2396. -  </PropertyGroup>^M
  2397. -  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">^M
  2398. -    <ConfigurationType>Application</ConfigurationType>^M
  2399. -    <CharacterSet>Unicode</CharacterSet>^M
  2400. -  </PropertyGroup>^M
  2401. -  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />^M
  2402. -  <ImportGroup Label="ExtensionSettings">^M
  2403. -  </ImportGroup>^M
  2404. -  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">^M
  2405. -    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />^M
  2406. -  </ImportGroup>^M
  2407. -  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">^M
  2408. -    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />^M
  2409. -    <Import Project="env.props" />^M
  2410. -  </ImportGroup>^M
  2411. -  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">^M
  2412. -    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />^M
  2413. -  </ImportGroup>^M
  2414. -  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">^M
  2415. -    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />^M
  2416. -    <Import Project="env.props" />^M
  2417. -  </ImportGroup>^M
  2418. -  <PropertyGroup Label="UserMacros" />^M
  2419. -  <PropertyGroup>^M
  2420. -    <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>^M
  2421. -    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>^M
  2422. -    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>^M
  2423. -    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>^M
  2424. -    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>^M
  2425. -    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>^M
  2426. -    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>^M
  2427. -    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>^M
  2428. -    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>^M
  2429. -    <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>^M
  2430. -    <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />^M
  2431. -    <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />^M
  2432. -    <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">AllRules.ruleset</CodeAnalysisRuleSet>^M
  2433. -    <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />^M
  2434. -    <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />^M
  2435. -    <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>^M
  2436. -    <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />^M
  2437. -    <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />^M
  2438. -    <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AllRules.ruleset</CodeAnalysisRuleSet>^M
  2439. -    <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />^M
  2440. -    <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />^M
  2441. -    <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">nfs_mount</TargetName>^M
  2442. -    <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">nfs_mount</TargetName>^M
  2443. -    <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">nfs_mount</TargetName>^M
  2444. -    <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">nfs_mount</TargetName>^M
  2445. -  </PropertyGroup>^M
  2446. -  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">^M
  2447. -    <ClCompile>^M
  2448. -      <AdditionalOptions>/Wall /wd4255 /wd4668 /wd4710 /wd4711 /wd4820</AdditionalOptions>^M
  2449. -      <Optimization>Disabled</Optimization>^M
  2450. -      <AdditionalIncludeDirectories>..\sys;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>^M
  2451. -      <MinimalRebuild>true</MinimalRebuild>^M
  2452. -      <ExceptionHandling>^M
  2453. -      </ExceptionHandling>^M
  2454. -      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>^M
  2455. -      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>^M
  2456. -      <WarningLevel>Level4</WarningLevel>^M
  2457. -      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>^M
  2458. -      <CompileAs>CompileAsC</CompileAs>^M
  2459. -    </ClCompile>^M
  2460. -    <Link>^M
  2461. -      <AdditionalDependencies>mpr.lib;%(AdditionalDependencies)</AdditionalDependencies>^M
  2462. -      <GenerateDebugInformation>true</GenerateDebugInformation>^M
  2463. -      <TargetMachine>MachineX86</TargetMachine>^M
  2464. -    </Link>^M
  2465. -  </ItemDefinitionGroup>^M
  2466. -  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">^M
  2467. -    <ClCompile>^M
  2468. -      <AdditionalOptions>/Wall /wd4255 /wd4668 /wd4710 /wd4711 /wd4820</AdditionalOptions>^M
  2469. -      <Optimization>MaxSpeed</Optimization>^M
  2470. -      <IntrinsicFunctions>true</IntrinsicFunctions>^M
  2471. -      <AdditionalIncludeDirectories>..\sys;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>^M
  2472. -      <ExceptionHandling>^M
  2473. -      </ExceptionHandling>^M
  2474. -      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>^M
  2475. -      <FunctionLevelLinking>true</FunctionLevelLinking>^M
  2476. -      <WarningLevel>Level4</WarningLevel>^M
  2477. -      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>^M
  2478. -      <CompileAs>CompileAsC</CompileAs>^M
  2479. -    </ClCompile>^M
  2480. -    <Link>^M
  2481. -      <AdditionalDependencies>mpr.lib;%(AdditionalDependencies)</AdditionalDependencies>^M
  2482. -      <GenerateDebugInformation>true</GenerateDebugInformation>^M
  2483. -      <OptimizeReferences>true</OptimizeReferences>^M
  2484. -      <EnableCOMDATFolding>true</EnableCOMDATFolding>^M
  2485. -      <TargetMachine>MachineX86</TargetMachine>^M
  2486. -    </Link>^M
  2487. -  </ItemDefinitionGroup>^M
  2488. -  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">^M
  2489. -    <Midl>^M
  2490. -      <TargetEnvironment>X64</TargetEnvironment>^M
  2491. -    </Midl>^M
  2492. -    <ClCompile>^M
  2493. -      <AdditionalOptions>/Wall /wd4255 /wd4668 /wd4710 /wd4711 /wd4820</AdditionalOptions>^M
  2494. -      <Optimization>Disabled</Optimization>^M
  2495. -      <AdditionalIncludeDirectories>..\sys;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>^M
  2496. -      <MinimalRebuild>true</MinimalRebuild>^M
  2497. -      <ExceptionHandling>^M
  2498. -      </ExceptionHandling>^M
  2499. -      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>^M
  2500. -      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>^M
  2501. -      <WarningLevel>Level4</WarningLevel>^M
  2502. -      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>^M
  2503. -      <CompileAs>CompileAsC</CompileAs>^M
  2504. -    </ClCompile>^M
  2505. -    <Link>^M
  2506. -      <AdditionalDependencies>mpr.lib;%(AdditionalDependencies)</AdditionalDependencies>^M
  2507. -      <GenerateDebugInformation>true</GenerateDebugInformation>^M
  2508. -      <TargetMachine>MachineX64</TargetMachine>^M
  2509. -    </Link>^M
  2510. -  </ItemDefinitionGroup>^M
  2511. -  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">^M
  2512. -    <Midl>^M
  2513. -      <TargetEnvironment>X64</TargetEnvironment>^M
  2514. -    </Midl>^M
  2515. -    <ClCompile>^M
  2516. -      <AdditionalOptions>/Wall /wd4255 /wd4668 /wd4710 /wd4711 /wd4820</AdditionalOptions>^M
  2517. -      <Optimization>MaxSpeed</Optimization>^M
  2518. -      <IntrinsicFunctions>true</IntrinsicFunctions>^M
  2519. -      <AdditionalIncludeDirectories>..\sys;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>^M
  2520. -      <ExceptionHandling>^M
  2521. -      </ExceptionHandling>^M
  2522. -      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>^M
  2523. -      <FunctionLevelLinking>true</FunctionLevelLinking>^M
  2524. -      <WarningLevel>Level4</WarningLevel>^M
  2525. -      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>^M
  2526. -      <CompileAs>CompileAsC</CompileAs>^M
  2527. -    </ClCompile>^M
  2528. -    <Link>^M
  2529. -      <AdditionalDependencies>mpr.lib;%(AdditionalDependencies)</AdditionalDependencies>^M
  2530. -      <GenerateDebugInformation>true</GenerateDebugInformation>^M
  2531. -      <OptimizeReferences>true</OptimizeReferences>^M
  2532. -      <EnableCOMDATFolding>true</EnableCOMDATFolding>^M
  2533. -      <TargetMachine>MachineX64</TargetMachine>^M
  2534. -    </Link>^M
  2535. -  </ItemDefinitionGroup>^M
  2536. -  <ItemGroup>^M
  2537. -    <ClCompile Include="..\mount\enum.c" />^M
  2538. -    <ClCompile Include="..\mount\mount.c" />^M
  2539. -    <ClCompile Include="..\mount\options.c" />^M
  2540. -  </ItemGroup>^M
  2541. -  <ItemGroup>^M
  2542. -    <ClInclude Include="..\mount\options.h" />^M
  2543. -  </ItemGroup>^M
  2544. -  <ItemGroup>^M
  2545. -    <None Include="..\mount\sources" />^M
  2546. -  </ItemGroup>^M
  2547. -  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />^M
  2548. -  <ImportGroup Label="ExtensionTargets">^M
  2549. -  </ImportGroup>^M
  2550. -</Project>
  2551. \ No newline at end of file
  2552. diff --git a/build.vc10/mount.vcxproj.filters b/build.vc10/mount.vcxproj.filters
  2553. deleted file mode 100644
  2554. index b745a21..0000000
  2555. --- a/build.vc10/mount.vcxproj.filters
  2556. +++ /dev/null
  2557. @@ -1,38 +0,0 @@
  2558. -M-oM-;M-?<?xml version="1.0" encoding="utf-8"?>^M
  2559. -<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">^M
  2560. -  <ItemGroup>^M
  2561. -    <Filter Include="Source Files">^M
  2562. -      <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>^M
  2563. -      <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>^M
  2564. -    </Filter>^M
  2565. -    <Filter Include="Header Files">^M
  2566. -      <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>^M
  2567. -      <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>^M
  2568. -    </Filter>^M
  2569. -    <Filter Include="Resource Files">^M
  2570. -      <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>^M
  2571. -      <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions>^M
  2572. -    </Filter>^M
  2573. -  </ItemGroup>^M
  2574. -  <ItemGroup>^M
  2575. -    <ClCompile Include="..\mount\enum.c">^M
  2576. -      <Filter>Source Files</Filter>^M
  2577. -    </ClCompile>^M
  2578. -    <ClCompile Include="..\mount\mount.c">^M
  2579. -      <Filter>Source Files</Filter>^M
  2580. -    </ClCompile>^M
  2581. -    <ClCompile Include="..\mount\options.c">^M
  2582. -      <Filter>Source Files</Filter>^M
  2583. -    </ClCompile>^M
  2584. -  </ItemGroup>^M
  2585. -  <ItemGroup>^M
  2586. -    <ClInclude Include="..\mount\options.h">^M
  2587. -      <Filter>Header Files</Filter>^M
  2588. -    </ClInclude>^M
  2589. -  </ItemGroup>^M
  2590. -  <ItemGroup>^M
  2591. -    <None Include="..\mount\sources">^M
  2592. -      <Filter>Resource Files</Filter>^M
  2593. -    </None>^M
  2594. -  </ItemGroup>^M
  2595. -</Project>
  2596. \ No newline at end of file
  2597. diff --git a/build.vc10/ms-nfs41-client.sln b/build.vc10/ms-nfs41-client.sln
  2598. deleted file mode 100644
  2599. index e8cef65..0000000
  2600. --- a/build.vc10/ms-nfs41-client.sln
  2601. +++ /dev/null
  2602. @@ -1,76 +0,0 @@
  2603. -M-oM-;M-?^M
  2604. -Microsoft Visual Studio Solution File, Format Version 11.00^M
  2605. -# Visual Studio 2010^M
  2606. -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "daemon", "daemon.vcxproj", "{D0D81A98-2946-4A16-A4A1-800387C3F3D1}"^M
  2607. -EndProject^M
  2608. -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "dll", "dll.vcxproj", "{372D9D02-CDC5-43AE-BB0A-FB57CEFC639C}"^M
  2609. -EndProject^M
  2610. -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "nfs41_driver", "nfs41_driver.vcxproj", "{B64D3074-519F-476A-A3AA-DAD6554CBB68}"^M
  2611. -EndProject^M
  2612. -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mount", "mount.vcxproj", "{5AEA3497-6852-471B-A252-ADA60B22A342}"^M
  2613. -EndProject^M
  2614. -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libtirpc", "libtirpc.vcxproj", "{2D918A9B-DE52-470A-93D5-78EA2C8113A1}"^M
  2615. -EndProject^M
  2616. -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "nfs_install", "nfs_install.vcxproj", "{A453DC17-BE6B-4271-A020-66E054AB5908}"^M
  2617. -EndProject^M
  2618. -Global^M
  2619. -       GlobalSection(SolutionConfigurationPlatforms) = preSolution^M
  2620. -               Debug|Win32 = Debug|Win32^M
  2621. -               Debug|x64 = Debug|x64^M
  2622. -               Release|Win32 = Release|Win32^M
  2623. -               Release|x64 = Release|x64^M
  2624. -       EndGlobalSection^M
  2625. -       GlobalSection(ProjectConfigurationPlatforms) = postSolution^M
  2626. -               {D0D81A98-2946-4A16-A4A1-800387C3F3D1}.Debug|Win32.ActiveCfg = Debug|Win32^M
  2627. -               {D0D81A98-2946-4A16-A4A1-800387C3F3D1}.Debug|Win32.Build.0 = Debug|Win32^M
  2628. -               {D0D81A98-2946-4A16-A4A1-800387C3F3D1}.Debug|x64.ActiveCfg = Debug|x64^M
  2629. -               {D0D81A98-2946-4A16-A4A1-800387C3F3D1}.Debug|x64.Build.0 = Debug|x64^M
  2630. -               {D0D81A98-2946-4A16-A4A1-800387C3F3D1}.Release|Win32.ActiveCfg = Release|Win32^M
  2631. -               {D0D81A98-2946-4A16-A4A1-800387C3F3D1}.Release|Win32.Build.0 = Release|Win32^M
  2632. -               {D0D81A98-2946-4A16-A4A1-800387C3F3D1}.Release|x64.ActiveCfg = Release|x64^M
  2633. -               {D0D81A98-2946-4A16-A4A1-800387C3F3D1}.Release|x64.Build.0 = Release|x64^M
  2634. -               {372D9D02-CDC5-43AE-BB0A-FB57CEFC639C}.Debug|Win32.ActiveCfg = Debug|Win32^M
  2635. -               {372D9D02-CDC5-43AE-BB0A-FB57CEFC639C}.Debug|Win32.Build.0 = Debug|Win32^M
  2636. -               {372D9D02-CDC5-43AE-BB0A-FB57CEFC639C}.Debug|x64.ActiveCfg = Debug|x64^M
  2637. -               {372D9D02-CDC5-43AE-BB0A-FB57CEFC639C}.Debug|x64.Build.0 = Debug|x64^M
  2638. -               {372D9D02-CDC5-43AE-BB0A-FB57CEFC639C}.Release|Win32.ActiveCfg = Release|Win32^M
  2639. -               {372D9D02-CDC5-43AE-BB0A-FB57CEFC639C}.Release|Win32.Build.0 = Release|Win32^M
  2640. -               {372D9D02-CDC5-43AE-BB0A-FB57CEFC639C}.Release|x64.ActiveCfg = Release|x64^M
  2641. -               {372D9D02-CDC5-43AE-BB0A-FB57CEFC639C}.Release|x64.Build.0 = Release|x64^M
  2642. -               {B64D3074-519F-476A-A3AA-DAD6554CBB68}.Debug|Win32.ActiveCfg = Debug|Win32^M
  2643. -               {B64D3074-519F-476A-A3AA-DAD6554CBB68}.Debug|Win32.Build.0 = Debug|Win32^M
  2644. -               {B64D3074-519F-476A-A3AA-DAD6554CBB68}.Debug|x64.ActiveCfg = Debug|x64^M
  2645. -               {B64D3074-519F-476A-A3AA-DAD6554CBB68}.Debug|x64.Build.0 = Debug|x64^M
  2646. -               {B64D3074-519F-476A-A3AA-DAD6554CBB68}.Release|Win32.ActiveCfg = Release|Win32^M
  2647. -               {B64D3074-519F-476A-A3AA-DAD6554CBB68}.Release|Win32.Build.0 = Release|Win32^M
  2648. -               {B64D3074-519F-476A-A3AA-DAD6554CBB68}.Release|x64.ActiveCfg = Release|x64^M
  2649. -               {B64D3074-519F-476A-A3AA-DAD6554CBB68}.Release|x64.Build.0 = Release|x64^M
  2650. -               {5AEA3497-6852-471B-A252-ADA60B22A342}.Debug|Win32.ActiveCfg = Debug|Win32^M
  2651. -               {5AEA3497-6852-471B-A252-ADA60B22A342}.Debug|Win32.Build.0 = Debug|Win32^M
  2652. -               {5AEA3497-6852-471B-A252-ADA60B22A342}.Debug|x64.ActiveCfg = Debug|x64^M
  2653. -               {5AEA3497-6852-471B-A252-ADA60B22A342}.Debug|x64.Build.0 = Debug|x64^M
  2654. -               {5AEA3497-6852-471B-A252-ADA60B22A342}.Release|Win32.ActiveCfg = Release|Win32^M
  2655. -               {5AEA3497-6852-471B-A252-ADA60B22A342}.Release|Win32.Build.0 = Release|Win32^M
  2656. -               {5AEA3497-6852-471B-A252-ADA60B22A342}.Release|x64.ActiveCfg = Release|x64^M
  2657. -               {5AEA3497-6852-471B-A252-ADA60B22A342}.Release|x64.Build.0 = Release|x64^M
  2658. -               {2D918A9B-DE52-470A-93D5-78EA2C8113A1}.Debug|Win32.ActiveCfg = Debug|Win32^M
  2659. -               {2D918A9B-DE52-470A-93D5-78EA2C8113A1}.Debug|Win32.Build.0 = Debug|Win32^M
  2660. -               {2D918A9B-DE52-470A-93D5-78EA2C8113A1}.Debug|x64.ActiveCfg = Debug|x64^M
  2661. -               {2D918A9B-DE52-470A-93D5-78EA2C8113A1}.Debug|x64.Build.0 = Debug|x64^M
  2662. -               {2D918A9B-DE52-470A-93D5-78EA2C8113A1}.Release|Win32.ActiveCfg = Release|Win32^M
  2663. -               {2D918A9B-DE52-470A-93D5-78EA2C8113A1}.Release|Win32.Build.0 = Release|Win32^M
  2664. -               {2D918A9B-DE52-470A-93D5-78EA2C8113A1}.Release|x64.ActiveCfg = Release|x64^M
  2665. -               {2D918A9B-DE52-470A-93D5-78EA2C8113A1}.Release|x64.Build.0 = Release|x64^M
  2666. -               {A453DC17-BE6B-4271-A020-66E054AB5908}.Debug|Win32.ActiveCfg = Debug|Win32^M
  2667. -               {A453DC17-BE6B-4271-A020-66E054AB5908}.Debug|Win32.Build.0 = Debug|Win32^M
  2668. -               {A453DC17-BE6B-4271-A020-66E054AB5908}.Debug|x64.ActiveCfg = Debug|x64^M
  2669. -               {A453DC17-BE6B-4271-A020-66E054AB5908}.Debug|x64.Build.0 = Debug|x64^M
  2670. -               {A453DC17-BE6B-4271-A020-66E054AB5908}.Release|Win32.ActiveCfg = Release|Win32^M
  2671. -               {A453DC17-BE6B-4271-A020-66E054AB5908}.Release|Win32.Build.0 = Release|Win32^M
  2672. -               {A453DC17-BE6B-4271-A020-66E054AB5908}.Release|x64.ActiveCfg = Release|x64^M
  2673. -               {A453DC17-BE6B-4271-A020-66E054AB5908}.Release|x64.Build.0 = Release|x64^M
  2674. -       EndGlobalSection^M
  2675. -       GlobalSection(SolutionProperties) = preSolution^M
  2676. -               HideSolutionNode = FALSE^M
  2677. -       EndGlobalSection^M
  2678. -EndGlobal^M
  2679. diff --git a/build.vc10/nfs41_driver.vcxproj b/build.vc10/nfs41_driver.vcxproj
  2680. deleted file mode 100644
  2681. index 6b91eef..0000000
  2682. --- a/build.vc10/nfs41_driver.vcxproj
  2683. +++ /dev/null
  2684. @@ -1,148 +0,0 @@
  2685. -M-oM-;M-?<?xml version="1.0" encoding="utf-8"?>^M
  2686. -<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">^M
  2687. -  <ItemGroup Label="ProjectConfigurations">^M
  2688. -    <ProjectConfiguration Include="Debug|Win32">^M
  2689. -      <Configuration>Debug</Configuration>^M
  2690. -      <Platform>Win32</Platform>^M
  2691. -    </ProjectConfiguration>^M
  2692. -    <ProjectConfiguration Include="Debug|x64">^M
  2693. -      <Configuration>Debug</Configuration>^M
  2694. -      <Platform>x64</Platform>^M
  2695. -    </ProjectConfiguration>^M
  2696. -    <ProjectConfiguration Include="Release|Win32">^M
  2697. -      <Configuration>Release</Configuration>^M
  2698. -      <Platform>Win32</Platform>^M
  2699. -    </ProjectConfiguration>^M
  2700. -    <ProjectConfiguration Include="Release|x64">^M
  2701. -      <Configuration>Release</Configuration>^M
  2702. -      <Platform>x64</Platform>^M
  2703. -    </ProjectConfiguration>^M
  2704. -  </ItemGroup>^M
  2705. -  <PropertyGroup Label="Globals">^M
  2706. -    <ProjectGuid>{B64D3074-519F-476A-A3AA-DAD6554CBB68}</ProjectGuid>^M
  2707. -    <Keyword>MakeFileProj</Keyword>^M
  2708. -  </PropertyGroup>^M
  2709. -  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />^M
  2710. -  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">^M
  2711. -    <ConfigurationType>Makefile</ConfigurationType>^M
  2712. -  </PropertyGroup>^M
  2713. -  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">^M
  2714. -    <ConfigurationType>Makefile</ConfigurationType>^M
  2715. -  </PropertyGroup>^M
  2716. -  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">^M
  2717. -    <ConfigurationType>Makefile</ConfigurationType>^M
  2718. -  </PropertyGroup>^M
  2719. -  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">^M
  2720. -    <ConfigurationType>Makefile</ConfigurationType>^M
  2721. -  </PropertyGroup>^M
  2722. -  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />^M
  2723. -  <ImportGroup Label="ExtensionSettings">^M
  2724. -  </ImportGroup>^M
  2725. -  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">^M
  2726. -    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />^M
  2727. -    <Import Project="env.props" />^M
  2728. -  </ImportGroup>^M
  2729. -  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">^M
  2730. -    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />^M
  2731. -    <Import Project="env.props" />^M
  2732. -  </ImportGroup>^M
  2733. -  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">^M
  2734. -    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />^M
  2735. -    <Import Project="env.props" />^M
  2736. -  </ImportGroup>^M
  2737. -  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">^M
  2738. -    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />^M
  2739. -    <Import Project="env.props" />^M
  2740. -  </ImportGroup>^M
  2741. -  <PropertyGroup Label="UserMacros" />^M
  2742. -  <PropertyGroup>^M
  2743. -    <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>^M
  2744. -    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">C:\projects\ms-nfs41-client\sys\objchk_win7_x86\</OutDir>^M
  2745. -    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">C:\projects\ms-nfs41-client\sys\objchk_win7_x86\</IntDir>^M
  2746. -    <NMakeBuildCommandLine Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">call $(WDKPATH)\bin\setenv.bat $(WDKPATH) chk x86 win7^M
  2747. -cd /d C:\projects\ms-nfs41-client\sys^M
  2748. -build</NMakeBuildCommandLine>^M
  2749. -    <NMakeReBuildCommandLine Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">rmdir /s /q C:\projects\ms-nfs41-client\sys\objchk_win7_x86^M
  2750. -call $(WDKPATH)\bin\setenv.bat $(WDKPATH) chk x86 win7^M
  2751. -cd /d C:\projects\ms-nfs41-client\sys^M
  2752. -build</NMakeReBuildCommandLine>^M
  2753. -    <NMakeCleanCommandLine Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">rmdir /s /q C:\projects\ms-nfs41-client\sys\objchk_win7_x86</NMakeCleanCommandLine>^M
  2754. -    <NMakeOutput Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">C:\projects\ms-nfs41-client\sys\objchk_win7_x86\i386\nfs41_driver.sys</NMakeOutput>^M
  2755. -    <NMakePreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">WIN32;_CONSOLE;_X86_;_DDK_;_DEBUG;DBG=1;$(NMakePreprocessorDefinitions)</NMakePreprocessorDefinitions>^M
  2756. -    <NMakeIncludeSearchPath Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(WDKPATH)\inc\ddk;$(WDKPATH)\inc\api;$(WDKPATH)\inc\crt;$(NMakeIncludeSearchPath)</NMakeIncludeSearchPath>^M
  2757. -    <NMakeForcedIncludes Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(NMakeForcedIncludes)</NMakeForcedIncludes>^M
  2758. -    <NMakeAssemblySearchPath Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(NMakeAssemblySearchPath)</NMakeAssemblySearchPath>^M
  2759. -    <NMakeForcedUsingAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(NMakeForcedUsingAssemblies)</NMakeForcedUsingAssemblies>^M
  2760. -    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">C:\projects\ms-nfs41-client\sys\objchk_win7_amd64\</OutDir>^M
  2761. -    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">C:\projects\ms-nfs41-client\sys\objchk_win7_amd64\</IntDir>^M
  2762. -    <NMakeBuildCommandLine Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">call $(WDKPATH)\bin\setenv.bat $(WDKPATH) chk x64 win7^M
  2763. -cd /d C:\projects\ms-nfs41-client\sys^M
  2764. -build</NMakeBuildCommandLine>^M
  2765. -    <NMakeReBuildCommandLine Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">rmdir /s /q C:\projects\ms-nfs41-client\sys\objchk_win7_amd64^M
  2766. -call $(WDKPATH)\bin\setenv.bat $(WDKPATH) chk x64 win7^M
  2767. -cd /d C:\projects\ms-nfs41-client\sys^M
  2768. -build</NMakeReBuildCommandLine>^M
  2769. -    <NMakeCleanCommandLine Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">rmdir /s /q C:\projects\ms-nfs41-client\sys\objchk_win7_amd64</NMakeCleanCommandLine>^M
  2770. -    <NMakeOutput Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">C:\projects\ms-nfs41-client\sys\objchk_win7_amd64\amd64\nfs41_driver.sys</NMakeOutput>^M
  2771. -    <NMakePreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">WIN32;_CONSOLE;_AMD64_;_DDK_;_DEBUG;DBG=1;$(NMakePreprocessorDefinitions)</NMakePreprocessorDefinitions>^M
  2772. -    <NMakeIncludeSearchPath Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(WDKPATH)\inc\ddk;$(WDKPATH)\inc\api;$(WDKPATH)\inc\crt;$(NMakeIncludeSearchPath)</NMakeIncludeSearchPath>^M
  2773. -    <NMakeForcedIncludes Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(NMakeForcedIncludes)</NMakeForcedIncludes>^M
  2774. -    <NMakeAssemblySearchPath Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(NMakeAssemblySearchPath)</NMakeAssemblySearchPath>^M
  2775. -    <NMakeForcedUsingAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(NMakeForcedUsingAssemblies)</NMakeForcedUsingAssemblies>^M
  2776. -    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">C:\projects\ms-nfs41-client\sys\objfre_win7_x86\</OutDir>^M
  2777. -    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">C:\projects\ms-nfs41-client\sys\objfre_win7_x86\</IntDir>^M
  2778. -    <NMakeBuildCommandLine Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">call $(WDKPATH)\bin\setenv.bat $(WDKPATH) fre x86 win7^M
  2779. -cd /d C:\projects\ms-nfs41-client\sys^M
  2780. -build</NMakeBuildCommandLine>^M
  2781. -    <NMakeReBuildCommandLine Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">rmdir /s /q C:\projects\ms-nfs41-client\sys\objfre_win7_x86^M
  2782. -call $(WDKPATH)\bin\setenv.bat $(WDKPATH) fre x86 win7^M
  2783. -cd /d C:\projects\ms-nfs41-client\sys^M
  2784. -build</NMakeReBuildCommandLine>^M
  2785. -    <NMakeCleanCommandLine Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">rmdir /s /q C:\projects\ms-nfs41-client\sys\objfre_win7_x86</NMakeCleanCommandLine>^M
  2786. -    <NMakeOutput Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">C:\projects\ms-nfs41-client\sys\objfre_win7_x86\i386\nfs41_driver.sys</NMakeOutput>^M
  2787. -    <NMakePreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">WIN32;_CONSOLE;_X86_;_DDK_;_NDEBUG;DBG=0;$(NMakePreprocessorDefinitions)</NMakePreprocessorDefinitions>^M
  2788. -    <NMakeIncludeSearchPath Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(WDKPATH)\inc\ddk;$(WDKPATH)\inc\api;$(WDKPATH)\inc\crt;$(NMakeIncludeSearchPath)</NMakeIncludeSearchPath>^M
  2789. -    <NMakeForcedIncludes Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(NMakeForcedIncludes)</NMakeForcedIncludes>^M
  2790. -    <NMakeAssemblySearchPath Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(NMakeAssemblySearchPath)</NMakeAssemblySearchPath>^M
  2791. -    <NMakeForcedUsingAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(NMakeForcedUsingAssemblies)</NMakeForcedUsingAssemblies>^M
  2792. -    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">C:\projects\ms-nfs41-client\sys\objfre_win7_amd64\</OutDir>^M
  2793. -    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">C:\projects\ms-nfs41-client\sys\objfre_win7_amd64\</IntDir>^M
  2794. -    <NMakeBuildCommandLine Condition="'$(Configuration)|$(Platform)'=='Release|x64'">call $(WDKPATH)\bin\setenv.bat $(WDKPATH) fre x64 win7^M
  2795. -cd /d C:\projects\ms-nfs41-client\sys^M
  2796. -build</NMakeBuildCommandLine>^M
  2797. -    <NMakeReBuildCommandLine Condition="'$(Configuration)|$(Platform)'=='Release|x64'">rmdir /s /q C:\projects\ms-nfs41-client\sys\objfre_win7_amd64^M
  2798. -call $(WDKPATH)\bin\setenv.bat $(WDKPATH) fre x64 win7^M
  2799. -cd /d C:\projects\ms-nfs41-client\sys^M
  2800. -build</NMakeReBuildCommandLine>^M
  2801. -    <NMakeCleanCommandLine Condition="'$(Configuration)|$(Platform)'=='Release|x64'">rmdir /s /q C:\projects\ms-nfs41-client\sys\objfre_win7_amd64</NMakeCleanCommandLine>^M
  2802. -    <NMakeOutput Condition="'$(Configuration)|$(Platform)'=='Release|x64'">C:\projects\ms-nfs41-client\sys\objfre_win7_amd64\amd64\nfs41_driver.sys</NMakeOutput>^M
  2803. -    <NMakePreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">WIN32;_CONSOLE;_AMD64_;_DDK_;_NDEBUG;DBG=0;$(NMakePreprocessorDefinitions)</NMakePreprocessorDefinitions>^M
  2804. -    <NMakeIncludeSearchPath Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(WDKPATH)\inc\ddk;$(WDKPATH)\inc\api;$(WDKPATH)\inc\crt;$(NMakeIncludeSearchPath)</NMakeIncludeSearchPath>^M
  2805. -    <NMakeForcedIncludes Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(NMakeForcedIncludes)</NMakeForcedIncludes>^M
  2806. -    <NMakeAssemblySearchPath Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(NMakeAssemblySearchPath)</NMakeAssemblySearchPath>^M
  2807. -    <NMakeForcedUsingAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(NMakeForcedUsingAssemblies)</NMakeForcedUsingAssemblies>^M
  2808. -  </PropertyGroup>^M
  2809. -  <ItemDefinitionGroup>^M
  2810. -  </ItemDefinitionGroup>^M
  2811. -  <ItemGroup>^M
  2812. -    <ClCompile Include="..\sys\nfs41_debug.c" />^M
  2813. -    <ClCompile Include="..\sys\nfs41_driver.c" />^M
  2814. -    <ClCompile Include="..\sys\wmlkm.c" />^M
  2815. -  </ItemGroup>^M
  2816. -  <ItemGroup>^M
  2817. -    <None Include="..\sys\makefile" />^M
  2818. -    <None Include="..\sys\nfs41_driver.ini" />^M
  2819. -    <None Include="..\sys\sources" />^M
  2820. -  </ItemGroup>^M
  2821. -  <ItemGroup>^M
  2822. -    <ResourceCompile Include="..\sys\nfs41_driver.rc" />^M
  2823. -  </ItemGroup>^M
  2824. -  <ItemGroup>^M
  2825. -    <ClInclude Include="..\sys\nfs41_debug.h" />^M
  2826. -    <ClInclude Include="..\sys\nfs41_driver.h" />^M
  2827. -    <ClInclude Include="..\sys\wmlkm.h" />^M
  2828. -  </ItemGroup>^M
  2829. -  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />^M
  2830. -  <ImportGroup Label="ExtensionTargets">^M
  2831. -  </ImportGroup>^M
  2832. -</Project>
  2833. \ No newline at end of file
  2834. diff --git a/build.vc10/nfs41_driver.vcxproj.filters b/build.vc10/nfs41_driver.vcxproj.filters
  2835. deleted file mode 100644
  2836. index fc181db..0000000
  2837. --- a/build.vc10/nfs41_driver.vcxproj.filters
  2838. +++ /dev/null
  2839. @@ -1,55 +0,0 @@
  2840. -M-oM-;M-?<?xml version="1.0" encoding="utf-8"?>^M
  2841. -<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">^M
  2842. -  <ItemGroup>^M
  2843. -    <Filter Include="Source files">^M
  2844. -      <UniqueIdentifier>{5cb3db05-7cb6-47df-835b-1f900bc6588b}</UniqueIdentifier>^M
  2845. -      <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>^M
  2846. -    </Filter>^M
  2847. -    <Filter Include="Resource files">^M
  2848. -      <UniqueIdentifier>{3eaffb55-1a2a-45b8-9ab0-1ae04813d050}</UniqueIdentifier>^M
  2849. -      <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions>^M
  2850. -    </Filter>^M
  2851. -    <Filter Include="Header files">^M
  2852. -      <UniqueIdentifier>{b673e717-daca-4c21-8935-bee66da864fb}</UniqueIdentifier>^M
  2853. -      <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>^M
  2854. -    </Filter>^M
  2855. -  </ItemGroup>^M
  2856. -  <ItemGroup>^M
  2857. -    <ClCompile Include="..\sys\nfs41_debug.c">^M
  2858. -      <Filter>Source files</Filter>^M
  2859. -    </ClCompile>^M
  2860. -    <ClCompile Include="..\sys\nfs41_driver.c">^M
  2861. -      <Filter>Source files</Filter>^M
  2862. -    </ClCompile>^M
  2863. -    <ClCompile Include="..\sys\wmlkm.c">^M
  2864. -      <Filter>Source files</Filter>^M
  2865. -    </ClCompile>^M
  2866. -  </ItemGroup>^M
  2867. -  <ItemGroup>^M
  2868. -    <None Include="..\sys\makefile">^M
  2869. -      <Filter>Resource files</Filter>^M
  2870. -    </None>^M
  2871. -    <None Include="..\sys\nfs41_driver.ini">^M
  2872. -      <Filter>Resource files</Filter>^M
  2873. -    </None>^M
  2874. -    <None Include="..\sys\sources">^M
  2875. -      <Filter>Resource files</Filter>^M
  2876. -    </None>^M
  2877. -  </ItemGroup>^M
  2878. -  <ItemGroup>^M
  2879. -    <ResourceCompile Include="..\sys\nfs41_driver.rc">^M
  2880. -      <Filter>Resource files</Filter>^M
  2881. -    </ResourceCompile>^M
  2882. -  </ItemGroup>^M
  2883. -  <ItemGroup>^M
  2884. -    <ClInclude Include="..\sys\nfs41_debug.h">^M
  2885. -      <Filter>Header files</Filter>^M
  2886. -    </ClInclude>^M
  2887. -    <ClInclude Include="..\sys\nfs41_driver.h">^M
  2888. -      <Filter>Header files</Filter>^M
  2889. -    </ClInclude>^M
  2890. -    <ClInclude Include="..\sys\wmlkm.h">^M
  2891. -      <Filter>Header files</Filter>^M
  2892. -    </ClInclude>^M
  2893. -  </ItemGroup>^M
  2894. -</Project>
  2895. \ No newline at end of file
  2896. diff --git a/build.vc10/nfs_install.vcxproj b/build.vc10/nfs_install.vcxproj
  2897. deleted file mode 100644
  2898. index 145ea2d..0000000
  2899. --- a/build.vc10/nfs_install.vcxproj
  2900. +++ /dev/null
  2901. @@ -1,182 +0,0 @@
  2902. -M-oM-;M-?<?xml version="1.0" encoding="utf-8"?>^M
  2903. -<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">^M
  2904. -  <ItemGroup Label="ProjectConfigurations">^M
  2905. -    <ProjectConfiguration Include="Debug|Win32">^M
  2906. -      <Configuration>Debug</Configuration>^M
  2907. -      <Platform>Win32</Platform>^M
  2908. -    </ProjectConfiguration>^M
  2909. -    <ProjectConfiguration Include="Debug|x64">^M
  2910. -      <Configuration>Debug</Configuration>^M
  2911. -      <Platform>x64</Platform>^M
  2912. -    </ProjectConfiguration>^M
  2913. -    <ProjectConfiguration Include="Release|Win32">^M
  2914. -      <Configuration>Release</Configuration>^M
  2915. -      <Platform>Win32</Platform>^M
  2916. -    </ProjectConfiguration>^M
  2917. -    <ProjectConfiguration Include="Release|x64">^M
  2918. -      <Configuration>Release</Configuration>^M
  2919. -      <Platform>x64</Platform>^M
  2920. -    </ProjectConfiguration>^M
  2921. -  </ItemGroup>^M
  2922. -  <PropertyGroup Label="Globals">^M
  2923. -    <ProjectGuid>{A453DC17-BE6B-4271-A020-66E054AB5908}</ProjectGuid>^M
  2924. -    <RootNamespace>nfs_install</RootNamespace>^M
  2925. -  </PropertyGroup>^M
  2926. -  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />^M
  2927. -  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">^M
  2928. -    <ConfigurationType>Application</ConfigurationType>^M
  2929. -    <CharacterSet>MultiByte</CharacterSet>^M
  2930. -    <WholeProgramOptimization>true</WholeProgramOptimization>^M
  2931. -  </PropertyGroup>^M
  2932. -  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">^M
  2933. -    <ConfigurationType>Application</ConfigurationType>^M
  2934. -    <CharacterSet>MultiByte</CharacterSet>^M
  2935. -  </PropertyGroup>^M
  2936. -  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">^M
  2937. -    <ConfigurationType>Application</ConfigurationType>^M
  2938. -    <CharacterSet>MultiByte</CharacterSet>^M
  2939. -    <WholeProgramOptimization>true</WholeProgramOptimization>^M
  2940. -  </PropertyGroup>^M
  2941. -  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">^M
  2942. -    <ConfigurationType>Application</ConfigurationType>^M
  2943. -    <CharacterSet>MultiByte</CharacterSet>^M
  2944. -  </PropertyGroup>^M
  2945. -  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />^M
  2946. -  <ImportGroup Label="ExtensionSettings">^M
  2947. -  </ImportGroup>^M
  2948. -  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">^M
  2949. -    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />^M
  2950. -  </ImportGroup>^M
  2951. -  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">^M
  2952. -    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />^M
  2953. -  </ImportGroup>^M
  2954. -  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">^M
  2955. -    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />^M
  2956. -  </ImportGroup>^M
  2957. -  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">^M
  2958. -    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />^M
  2959. -  </ImportGroup>^M
  2960. -  <PropertyGroup Label="UserMacros" />^M
  2961. -  <PropertyGroup>^M
  2962. -    <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>^M
  2963. -    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>^M
  2964. -    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>^M
  2965. -    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>^M
  2966. -    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>^M
  2967. -    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>^M
  2968. -    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>^M
  2969. -    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>^M
  2970. -    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>^M
  2971. -    <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>^M
  2972. -    <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />^M
  2973. -    <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />^M
  2974. -    <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">AllRules.ruleset</CodeAnalysisRuleSet>^M
  2975. -    <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />^M
  2976. -    <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />^M
  2977. -    <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>^M
  2978. -    <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />^M
  2979. -    <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />^M
  2980. -    <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AllRules.ruleset</CodeAnalysisRuleSet>^M
  2981. -    <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />^M
  2982. -    <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />^M
  2983. -  </PropertyGroup>^M
  2984. -  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">^M
  2985. -    <ClCompile>^M
  2986. -      <AdditionalOptions>/Wall /wd4255 /wd4668 /wd4710 /wd4711 /wd4820</AdditionalOptions>^M
  2987. -      <Optimization>Disabled</Optimization>^M
  2988. -      <AdditionalIncludeDirectories>..\sys;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>^M
  2989. -      <MinimalRebuild>true</MinimalRebuild>^M
  2990. -      <ExceptionHandling>^M
  2991. -      </ExceptionHandling>^M
  2992. -      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>^M
  2993. -      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>^M
  2994. -      <WarningLevel>Level3</WarningLevel>^M
  2995. -      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>^M
  2996. -      <CompileAs>CompileAsC</CompileAs>^M
  2997. -    </ClCompile>^M
  2998. -    <Link>^M
  2999. -      <GenerateDebugInformation>true</GenerateDebugInformation>^M
  3000. -      <TargetMachine>MachineX86</TargetMachine>^M
  3001. -    </Link>^M
  3002. -  </ItemDefinitionGroup>^M
  3003. -  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">^M
  3004. -    <ClCompile>^M
  3005. -      <AdditionalOptions>/Wall /wd4255 /wd4668 /wd4710 /wd4711 /wd4820</AdditionalOptions>^M
  3006. -      <Optimization>MaxSpeed</Optimization>^M
  3007. -      <IntrinsicFunctions>true</IntrinsicFunctions>^M
  3008. -      <AdditionalIncludeDirectories>..\sys;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>^M
  3009. -      <ExceptionHandling>^M
  3010. -      </ExceptionHandling>^M
  3011. -      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>^M
  3012. -      <FunctionLevelLinking>true</FunctionLevelLinking>^M
  3013. -      <WarningLevel>Level3</WarningLevel>^M
  3014. -      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>^M
  3015. -      <CompileAs>CompileAsC</CompileAs>^M
  3016. -    </ClCompile>^M
  3017. -    <Link>^M
  3018. -      <GenerateDebugInformation>true</GenerateDebugInformation>^M
  3019. -      <OptimizeReferences>true</OptimizeReferences>^M
  3020. -      <EnableCOMDATFolding>true</EnableCOMDATFolding>^M
  3021. -      <TargetMachine>MachineX86</TargetMachine>^M
  3022. -    </Link>^M
  3023. -  </ItemDefinitionGroup>^M
  3024. -  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">^M
  3025. -    <Midl>^M
  3026. -      <TargetEnvironment>X64</TargetEnvironment>^M
  3027. -    </Midl>^M
  3028. -    <ClCompile>^M
  3029. -      <AdditionalOptions>/Wall /wd4255 /wd4668 /wd4710 /wd4711 /wd4820</AdditionalOptions>^M
  3030. -      <Optimization>Disabled</Optimization>^M
  3031. -      <AdditionalIncludeDirectories>..\sys;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>^M
  3032. -      <MinimalRebuild>true</MinimalRebuild>^M
  3033. -      <ExceptionHandling>^M
  3034. -      </ExceptionHandling>^M
  3035. -      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>^M
  3036. -      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>^M
  3037. -      <WarningLevel>Level3</WarningLevel>^M
  3038. -      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>^M
  3039. -      <CompileAs>CompileAsC</CompileAs>^M
  3040. -    </ClCompile>^M
  3041. -    <Link>^M
  3042. -      <GenerateDebugInformation>true</GenerateDebugInformation>^M
  3043. -      <TargetMachine>MachineX64</TargetMachine>^M
  3044. -    </Link>^M
  3045. -  </ItemDefinitionGroup>^M
  3046. -  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">^M
  3047. -    <Midl>^M
  3048. -      <TargetEnvironment>X64</TargetEnvironment>^M
  3049. -    </Midl>^M
  3050. -    <ClCompile>^M
  3051. -      <AdditionalOptions>/Wall /wd4255 /wd4668 /wd4710 /wd4711 /wd4820</AdditionalOptions>^M
  3052. -      <Optimization>MaxSpeed</Optimization>^M
  3053. -      <IntrinsicFunctions>true</IntrinsicFunctions>^M
  3054. -      <AdditionalIncludeDirectories>..\sys;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>^M
  3055. -      <ExceptionHandling>^M
  3056. -      </ExceptionHandling>^M
  3057. -      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>^M
  3058. -      <FunctionLevelLinking>true</FunctionLevelLinking>^M
  3059. -      <WarningLevel>Level3</WarningLevel>^M
  3060. -      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>^M
  3061. -      <CompileAs>CompileAsC</CompileAs>^M
  3062. -    </ClCompile>^M
  3063. -    <Link>^M
  3064. -      <GenerateDebugInformation>true</GenerateDebugInformation>^M
  3065. -      <OptimizeReferences>true</OptimizeReferences>^M
  3066. -      <EnableCOMDATFolding>true</EnableCOMDATFolding>^M
  3067. -      <TargetMachine>MachineX64</TargetMachine>^M
  3068. -    </Link>^M
  3069. -  </ItemDefinitionGroup>^M
  3070. -  <ItemGroup>^M
  3071. -    <ClCompile Include="..\install\nfs_install.c" />^M
  3072. -    <ClCompile Include="..\install\nfsreginst.c" />^M
  3073. -  </ItemGroup>^M
  3074. -  <ItemGroup>^M
  3075. -    <ClInclude Include="..\install\nfsreginst.h" />^M
  3076. -  </ItemGroup>^M
  3077. -  <ItemGroup>^M
  3078. -    <None Include="..\install\sources" />^M
  3079. -  </ItemGroup>^M
  3080. -  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />^M
  3081. -  <ImportGroup Label="ExtensionTargets">^M
  3082. -  </ImportGroup>^M
  3083. -</Project>
  3084. \ No newline at end of file
  3085. diff --git a/build.vc10/nfs_install.vcxproj.filters b/build.vc10/nfs_install.vcxproj.filters
  3086. deleted file mode 100644
  3087. index e54eb5d..0000000
  3088. --- a/build.vc10/nfs_install.vcxproj.filters
  3089. +++ /dev/null
  3090. @@ -1,35 +0,0 @@
  3091. -M-oM-;M-?<?xml version="1.0" encoding="utf-8"?>^M
  3092. -<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">^M
  3093. -  <ItemGroup>^M
  3094. -    <Filter Include="Source Files">^M
  3095. -      <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>^M
  3096. -      <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>^M
  3097. -    </Filter>^M
  3098. -    <Filter Include="Header Files">^M
  3099. -      <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>^M
  3100. -      <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>^M
  3101. -    </Filter>^M
  3102. -    <Filter Include="Resource Files">^M
  3103. -      <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>^M
  3104. -      <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions>^M
  3105. -    </Filter>^M
  3106. -  </ItemGroup>^M
  3107. -  <ItemGroup>^M
  3108. -    <ClCompile Include="..\install\nfs_install.c">^M
  3109. -      <Filter>Source Files</Filter>^M
  3110. -    </ClCompile>^M
  3111. -    <ClCompile Include="..\install\nfsreginst.c">^M
  3112. -      <Filter>Source Files</Filter>^M
  3113. -    </ClCompile>^M
  3114. -  </ItemGroup>^M
  3115. -  <ItemGroup>^M
  3116. -    <ClInclude Include="..\install\nfsreginst.h">^M
  3117. -      <Filter>Header Files</Filter>^M
  3118. -    </ClInclude>^M
  3119. -  </ItemGroup>^M
  3120. -  <ItemGroup>^M
  3121. -    <None Include="..\install\sources">^M
  3122. -      <Filter>Resource Files</Filter>^M
  3123. -    </None>^M
  3124. -  </ItemGroup>^M
  3125. -</Project>
  3126. \ No newline at end of file
  3127. diff --git a/build.vc10/.gitignore b/build.vc19/.gitignore
  3128. similarity index 100%
  3129. rename from build.vc10/.gitignore
  3130. rename to build.vc19/.gitignore
  3131. --
  3132. 2.43.0
  3133.  
  3134. From 6ac7f53344b861f36aac0c8721395c5fa8d342cc Mon Sep 17 00:00:00 2001
  3135. From: Roland Mainz <roland.mainz@nrubsig.org>
  3136. Date: Wed, 24 Jan 2024 18:06:19 +0100
  3137. Subject: [PATCH 12/12] mount: Add support for nfs://-URLs
  3138.  
  3139. Add support for nfs://-URLS per RFC 2224 ("NFS URL SCHEME", see
  3140. https://www.rfc-editor.org/rfc/rfc2224.html) to nfs_mount.exe
  3141.  
  3142. This supports includes custom TCP port numbers and raw IPv6
  3143. addresses.
  3144.  
  3145. Signed-off-by: Cedric Blancher <cedric.blancher@gmail.com>
  3146. ---
  3147. build.vc19/nfs_mount/nfs_mount.vcxproj        |   2 +
  3148.  .../nfs_mount/nfs_mount.vcxproj.filters       |   6 +
  3149.  cygwin/README.bintarball.txt                  |  11 +
  3150.  mount/mount.c                                 | 150 +++++++++----
  3151.  mount/urlparser1.c                            | 206 ++++++++++++++++++
  3152.  mount/urlparser1.h                            |  46 ++++
  3153.  6 files changed, 384 insertions(+), 37 deletions(-)
  3154.  create mode 100644 mount/urlparser1.c
  3155.  create mode 100644 mount/urlparser1.h
  3156.  
  3157. diff --git a/build.vc19/nfs_mount/nfs_mount.vcxproj b/build.vc19/nfs_mount/nfs_mount.vcxproj
  3158. index 7ab83e0..2f91ab2 100644
  3159. --- a/build.vc19/nfs_mount/nfs_mount.vcxproj
  3160. +++ b/build.vc19/nfs_mount/nfs_mount.vcxproj
  3161. @@ -161,9 +161,11 @@
  3162.      <ClCompile Include="..\..\mount\enum.c" />^M
  3163.      <ClCompile Include="..\..\mount\mount.c" />^M
  3164.      <ClCompile Include="..\..\mount\options.c" />^M
  3165. +    <ClCompile Include="..\..\mount\urlparser1.c" />^M
  3166.    </ItemGroup>^M
  3167.    <ItemGroup>^M
  3168.      <ClInclude Include="..\..\mount\options.h" />^M
  3169. +    <ClInclude Include="..\..\mount\urlparser1.h" />^M
  3170.    </ItemGroup>^M
  3171.    <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />^M
  3172.    <ImportGroup Label="ExtensionTargets">^M
  3173. diff --git a/build.vc19/nfs_mount/nfs_mount.vcxproj.filters b/build.vc19/nfs_mount/nfs_mount.vcxproj.filters
  3174. index de8db60..623fa7d 100644
  3175. --- a/build.vc19/nfs_mount/nfs_mount.vcxproj.filters
  3176. +++ b/build.vc19/nfs_mount/nfs_mount.vcxproj.filters
  3177. @@ -24,10 +24,16 @@
  3178.      <ClCompile Include="..\..\mount\options.c">^M
  3179.        <Filter>Source Files</Filter>^M
  3180.      </ClCompile>^M
  3181. +    <ClCompile Include="..\..\mount\urlparser1.c">^M
  3182. +      <Filter>Source Files</Filter>^M
  3183. +    </ClCompile>^M
  3184.    </ItemGroup>^M
  3185.    <ItemGroup>^M
  3186.      <ClInclude Include="..\..\mount\options.h">^M
  3187.        <Filter>Header Files</Filter>^M
  3188.      </ClInclude>^M
  3189. +    <ClInclude Include="..\..\mount\urlparser1.h">^M
  3190. +      <Filter>Header Files</Filter>^M
  3191. +    </ClInclude>^M
  3192.    </ItemGroup>^M
  3193.  </Project>
  3194. \ No newline at end of file
  3195. diff --git a/cygwin/README.bintarball.txt b/cygwin/README.bintarball.txt
  3196. index a35a123..4e65279 100644
  3197. --- a/cygwin/README.bintarball.txt
  3198. +++ b/cygwin/README.bintarball.txt
  3199. @@ -17,24 +17,35 @@ NFSv4.1 client and filesystem driver for Windows 10/11
  3200.  # 2. Features:
  3201.  #
  3202.  - Full NFSv4.1 protocol support
  3203. +
  3204.  - idmapper (mapping usernames and uid/gid values between server and
  3205.      client)
  3206. +
  3207.  - Support for custom ports (NFSv4 defaults to TCP port 2049, this
  3208.      client can use different ports per mount)
  3209. +
  3210. +- Support for nfs://-URL, including custom ports and raw IPv6
  3211. +    addresses
  3212. +
  3213.  - Support ssh forwarding, e.g. mounting NFSv4 filesystems via ssh
  3214.      tunnel
  3215.  - Support for long paths (up to 4096 bytes), no Windows MAXPATH limit
  3216. +
  3217.  - Unicode support
  3218. +
  3219.  - UNC paths
  3220.      - IPv6 support in UNC paths
  3221.  
  3222.  - IPv6 support
  3223.      - IPv6 address within '[', ']'
  3224.        (will be converted to *.ipv6-literal.net)
  3225. +
  3226.  - Windows ACLs
  3227. +
  3228.  - SFU/Cygwin support, including:
  3229.      - uid/gid
  3230.      - Cygwin symlinks
  3231. +
  3232.  - Software compatibility:
  3233.      - Any NFSv4.1 server (Linux, Solaris, Illumos, FreeBSD, nfs4j,
  3234.          ...)
  3235. diff --git a/mount/mount.c b/mount/mount.c
  3236. index 2e229ca..37349ac 100644
  3237. --- a/mount/mount.c
  3238. +++ b/mount/mount.c
  3239. @@ -34,7 +34,16 @@
  3240.  ^M
  3241.  #include "nfs41_driver.h" /* NFS41_PROVIDER_NAME_A */^M
  3242.  #include "options.h"^M
  3243. +#include "urlparser1.h"^M
  3244.  ^M
  3245. +
  3246. +/*
  3247. + * Disable "warning C4996: 'wcscpy': This function or variable may be
  3248. + * unsafe." because in this case the buffers are properly sized,
  3249. + * making this function safe
  3250. + */
  3251. +#pragma warning (disable : 4996)
  3252. +
  3253.  #define MOUNT_CONFIG_NFS_PORT_DEFAULT   2049^M
  3254.  ^M
  3255.  DWORD EnumMounts(^M
  3256. @@ -59,9 +68,11 @@ void PrintErrorMessage(
  3257.  ^M
  3258.  static VOID PrintUsage(LPTSTR pProcess)^M
  3259.  {^M
  3260. -    _tprintf(TEXT("Usage: %s [options] <drive letter|*> <hostname>:<path>\n")^M
  3261. +    (void)_tprintf(
  3262. +        TEXT("Usage: %s [options] <drive letter|*> <hostname>:<path>\n")
  3263.          TEXT("* Options:\n")^M
  3264.          TEXT("\t-h\thelp\n")^M
  3265. +        TEXT("\t/?\thelp\n")
  3266.          TEXT("\t-d\tunmount\n")^M
  3267.          TEXT("\t-f\tforce unmount if the drive is in use\n")^M
  3268.          TEXT("\t-F <type>\tFilesystem type to use (only 'nfs' supported)"^M
  3269. @@ -86,7 +97,17 @@ static VOID PrintUsage(LPTSTR pProcess)
  3270.          TEXT("\tDNS name, or hostname in domain\n")
  3271.          TEXT("\tentry in C:\\Windows\\System32\\drivers\\etc\\hosts\n")
  3272.          TEXT("\tIPv4 address\n")
  3273. -        TEXT("\tIPv6 address within '[', ']' (will be converted to *.ipv6-literal.net)\n"),
  3274. +        TEXT("\tIPv6 address within '[', ']' "
  3275. +            "(will be converted to *.ipv6-literal.net)\n")
  3276. +        TEXT("* Examples:\n")
  3277. +        TEXT("\tnfs_mount.exe -p -o rw 'H' derfwpc5131_ipv4:/export/home2/rmainz\n")
  3278. +        TEXT("\tnfs_mount.exe -o rw '*' bigramhost:/tmp\n")
  3279. +        TEXT("\tnfs_mount.exe -o rw,sec=sys,port=30000 T grendel:/net_tmpfs2\n")
  3280. +        TEXT("\tnfs_mount.exe -o sec=sys,rw S nfs://myhost1/net_tmpfs2/test2\n")
  3281. +        TEXT("\tnfs_mount.exe -o sec=sys,rw S nfs://myhost1:1234/net_tmpfs2/test2\n")
  3282. +        TEXT("\tnfs_mount.exe -o sec=sys,rw,port=1234 S nfs://myhost1/net_tmpfs2/test2\n")
  3283. +        TEXT("\tnfs_mount.exe -o sec=sys,rw '*' [fe80::21b:1bff:fec3:7713]:/net_tmpfs2/test2\n")
  3284. +        TEXT("\tnfs_mount.exe -o sec=sys,rw '*' nfs://[fe80::21b:1bff:fec3:7713]/net_tmpfs2/test2\n"),
  3285.          pProcess);
  3286.  }
  3287.  
  3288. @@ -277,63 +298,101 @@ static DWORD ParseRemoteName(
  3289.  {
  3290.      DWORD result = NO_ERROR;^M
  3291.      LPTSTR pEnd;
  3292. -    int port = 0;
  3293. +    int port = MOUNT_CONFIG_NFS_PORT_DEFAULT;
  3294.      PFILE_FULL_EA_INFORMATION port_option_val;
  3295.      wchar_t remotename[NFS41_SYS_MAX_PATH_LEN];
  3296.      wchar_t *premotename = remotename;
  3297.      wchar_t srvname[NFS41_SYS_MAX_PATH_LEN+1+32]; /* sizeof(hostname+'@'+integer) */
  3298. +    url_parser_context *uctx = NULL;
  3299.  
  3300.      result = StringCchCopy(premotename, NFS41_SYS_MAX_PATH_LEN, pRemoteName);
  3301.  
  3302.      /*
  3303. -     * gisburn: Fixme: Implement nfs://-URLS per RFC 2224 ("NFS URL
  3304. +     * Support nfs://-URLS per RFC 2224 ("NFS URL
  3305.       * SCHEME", see https://www.rfc-editor.org/rfc/rfc2224.html),
  3306.       * including port support (nfs://hostname@port/path/...)
  3307.       */
  3308.      if (!wcsncmp(premotename, TEXT("nfs://"), 6)) {
  3309. -        _ftprintf(stderr, TEXT("nfs://-URLs not supported yet.\n"));
  3310. -        result = ERROR_NOT_SUPPORTED;
  3311. -        goto out;
  3312. -    }
  3313. +        uctx = url_parser_create_context(premotename, 0);
  3314. +        if (!uctx) {
  3315. +            result = ERROR_NOT_ENOUGH_MEMORY;
  3316. +            goto out;
  3317. +        }
  3318.  
  3319. -    ConvertUnixSlashes(premotename);
  3320. +        if (url_parser_parse(uctx) < 0) {
  3321. +            result = ERROR_BAD_ARGUMENTS;
  3322. +            (void)_ftprintf(stderr, TEXT("Error parsing nfs://-URL.\n"));
  3323. +            goto out;
  3324. +        }
  3325.  
  3326. -    /*
  3327. -     * Remote hostname should not contain a '@' since we use this
  3328. -     * to communicate the NFSv4 port number below
  3329. -     * Use $ nfs_mount.exe -o port=portnumber ... # instead
  3330. -     */
  3331. -    if (_tcsrchr(premotename, TEXT('@'))) {
  3332. -        _ftprintf(stderr, TEXT("Remote path should not contain '@', ")
  3333. -           TEXT("use -o port=tcpportnum.\n"));
  3334. -        result = ERROR_BAD_ARGUMENTS;
  3335. -        goto out;^M
  3336. -    }^M
  3337. +        if (uctx->login.username || uctx->login.passwd) {
  3338. +            result = ERROR_BAD_ARGUMENTS;
  3339. +            (void)_ftprintf(stderr, TEXT("Username/Password are not defined for nfs://-URL.\n"));
  3340. +            goto out;
  3341. +        }
  3342. +
  3343. +        (void)_sntprintf(premotename, NFS41_SYS_MAX_PATH_LEN, TEXT("%s"),
  3344. +            uctx->hostport.hostname);
  3345.  ^M
  3346. -    if (FindOptionByName(TEXT("port"), pOptions, &port_option_val)) {^M
  3347. -        wchar_t *port_value_wstr = (PTCH)(port_option_val->EaName + port_option_val->EaNameLength + sizeof(TCHAR));^M
  3348. +        if (uctx->hostport.port != -1)
  3349. +            port = uctx->hostport.port;
  3350. +        else
  3351. +            port = MOUNT_CONFIG_NFS_PORT_DEFAULT;
  3352.  ^M
  3353. -       port = _wtoi(port_value_wstr);^M
  3354. -       if ((port < 1) || (port > 65535)) {^M
  3355. -            result = ERROR_BAD_ARGUMENTS;^M
  3356. -            goto out;^M
  3357. -       }^M
  3358. +        ConvertUnixSlashes(premotename);
  3359. +        pEnd = uctx->path;
  3360. +        ConvertUnixSlashes(pEnd);
  3361.      }^M
  3362.      else^M
  3363.      {^M
  3364. -        port = MOUNT_CONFIG_NFS_PORT_DEFAULT;^M
  3365. +        ConvertUnixSlashes(premotename);
  3366. +
  3367. +        /*
  3368. +         * Remote hostname should not contain a '@' since we use this
  3369. +         * to communicate the NFSv4 port number below
  3370. +         * Use $ nfs_mount.exe -o port=portnumber ... # instead.
  3371. +         *
  3372. +         * We have this limitation to avoid confusion for Windows
  3373. +         * users, but we explicitly allow the nfs://-URLs to have a
  3374. +         * port number, and -o port=<num> to override that.
  3375. +         */
  3376. +        if (_tcsrchr(premotename, TEXT('@'))) {
  3377. +            (void)_ftprintf(stderr,
  3378. +                TEXT("Remote path should not contain '@', ")
  3379. +                TEXT("use -o port=tcpportnum.\n"));
  3380. +            result = ERROR_BAD_ARGUMENTS;
  3381. +            goto out;
  3382. +        }
  3383. +
  3384. +        /* fail if the server name doesn't end with :\ */
  3385. +        pEnd = _tcsrchr(premotename, TEXT(':'));
  3386. +        if (pEnd == NULL || pEnd[1] != TEXT('\\')) {
  3387. +            (void)_ftprintf(stderr, TEXT("Failed to parse the remote path. ")
  3388. +                TEXT("Expected 'hostname:\\path'.\n"));
  3389. +            result = ERROR_BAD_ARGUMENTS;
  3390. +            goto out;
  3391. +        }
  3392. +        *pEnd++ = TEXT('\0');
  3393.      }
  3394.  
  3395. -    /* fail if the server name doesn't end with :\ */
  3396. -    pEnd = _tcsrchr(premotename, TEXT(':'));
  3397. -    if (pEnd == NULL || pEnd[1] != TEXT('\\')) {
  3398. -        _ftprintf(stderr, TEXT("Failed to parse the remote path. ")
  3399. -            TEXT("Expected 'hostname:\\path'.\n"));
  3400. -        result = ERROR_BAD_ARGUMENTS;^M
  3401. -        goto out;^M
  3402. +    /*
  3403. +     * Override the NFSv4 TCP port with the -o port=<num> option,
  3404. +     * inclding for nfs://-URLs with port numbers
  3405. +     */
  3406. +    if (FindOptionByName(TEXT("port"), pOptions,
  3407. +        &port_option_val)) {
  3408. +        wchar_t *port_value_wstr =
  3409. +            (PTCH)(port_option_val->EaName +
  3410. +                port_option_val->EaNameLength + sizeof(TCHAR));
  3411. +
  3412. +        port = _wtoi(port_value_wstr);
  3413. +    }
  3414. +
  3415. +    if ((port < 1) || (port > 65535)) {
  3416. +        (void)_ftprintf(stderr, TEXT("NFSv4 TCP port number out of range.\n"));
  3417. +        result = ERROR_BAD_ARGUMENTS;
  3418. +        goto out;
  3419.      }^M
  3420. -    *pEnd = TEXT('\0');^M
  3421. -    ++pEnd;
  3422.  
  3423.      /*
  3424.       * Make sure that we do not pass raw IPv6 addresses to the kernel.
  3425. @@ -415,6 +474,13 @@ static DWORD ParseRemoteName(
  3426.          goto out;
  3427.      }
  3428.  
  3429. +#ifdef DEBUG_MOUNT
  3430. +    (void)_ftprintf(stderr,
  3431. +        TEXT("srvname='%s', mntpt='%s'\n"),
  3432. +        srvname,
  3433. +        pEnd);
  3434. +#endif
  3435. +
  3436.      if (!InsertOption(TEXT("srvname"), srvname, pOptions) ||
  3437.          !InsertOption(TEXT("mntpt"), *pEnd ? pEnd : TEXT("\\"), pOptions)) {
  3438.          result = ERROR_BAD_ARGUMENTS;^M
  3439. @@ -446,7 +512,17 @@ static DWORD ParseRemoteName(
  3440.  
  3441.      result = StringCchCopy(pParsedRemoteName, cchConnectionLen, srvname);
  3442.  
  3443. +#ifdef DEBUG_MOUNT
  3444. +    (void)_ftprintf(stderr,
  3445. +        TEXT("pConnectionName='%s', pParsedRemoteName='%s'\n"),
  3446. +        pConnectionName,
  3447. +        pParsedRemoteName);
  3448. +#endif
  3449. +
  3450.  out:
  3451. +    if (uctx) {
  3452. +        url_parser_free_context(uctx);
  3453. +    }
  3454.      return result;
  3455.  }
  3456.  ^M
  3457. diff --git a/mount/urlparser1.c b/mount/urlparser1.c
  3458. new file mode 100644
  3459. index 0000000..66b8b56
  3460. --- /dev/null
  3461. +++ b/mount/urlparser1.c
  3462. @@ -0,0 +1,206 @@
  3463. +/* NFSv4.1 client for Windows
  3464. + * Copyright (c) 2024 Roland Mainz <roland.mainz@nrubsig.org>
  3465. + *
  3466. + * This library is free software; you can redistribute it and/or modify it
  3467. + * under the terms of the GNU Lesser General Public License as published by
  3468. + * the Free Software Foundation; either version 2.1 of the License, or (at
  3469. + * your option) any later version.
  3470. + *
  3471. + * This library is distributed in the hope that it will be useful, but
  3472. + * without any warranty; without even the implied warranty of merchantability
  3473. + * or fitness for a particular purpose.  See the GNU Lesser General Public
  3474. + * License for more details.
  3475. + *
  3476. + * You should have received a copy of the GNU Lesser General Public License
  3477. + * along with this library; if not, write to the Free Software Foundation,
  3478. + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA
  3479. + */
  3480. +
  3481. +
  3482. +/* urlparser1.c - simple URL parser */
  3483. +
  3484. +#if ((__STDC_VERSION__-0) < 201710L)
  3485. +#error Code requires ISO C17
  3486. +#endif
  3487. +
  3488. +
  3489. +#include <crtdbg.h>
  3490. +#include <Windows.h>
  3491. +#include <stdlib.h>
  3492. +
  3493. +#include "urlparser1.h"
  3494. +
  3495. +/*
  3496. + * Disable "warning C4996: 'wcscpy': This function or variable may be
  3497. + * unsafe." because in this case the buffers are properly sized,
  3498. + * making this function safe
  3499. + */
  3500. +#pragma warning (disable : 4996)
  3501. +
  3502. +/*
  3503. + * Original extended regular expression:
  3504. + *
  3505. + * "^"
  3506. + * "(.+?)"                      // scheme
  3507. + * "://"                        // '://'
  3508. + * "("                          // login
  3509. + *      "(?:"
  3510. + *              "(.+?)"         // user (optional)
  3511. + *              "(?::(.+))?"    // password (optional)
  3512. + *              "@"
  3513. + *      ")?"
  3514. + *      "("                     // hostport
  3515. + *              "(.+?)"         // host
  3516. + *              "(?::([[:digit:]]+))?" // port (optional)
  3517. + *      ")"
  3518. + * ")"
  3519. + * "(?:/(.*?))?"                // path (optional)
  3520. + * "$"
  3521. + */
  3522. +
  3523. +#define DBGNULLSTR(s) (((s)!=NULL)?(s):TEXT("<NULL>"))
  3524. +#if 0
  3525. +#define D(x) x
  3526. +#else
  3527. +#define D(x)
  3528. +#endif
  3529. +
  3530. +url_parser_context *url_parser_create_context(const TCHAR *in_url, unsigned int flags)
  3531. +{
  3532. +       url_parser_context *uctx;
  3533. +       TCHAR *s;
  3534. +       size_t in_url_len;
  3535. +       size_t context_len;
  3536. +
  3537. +       if (!in_url)
  3538. +               return NULL;
  3539. +
  3540. +       in_url_len = _tcsclen(in_url);
  3541. +
  3542. +       context_len = sizeof(url_parser_context) +
  3543. +               (((in_url_len+1)*5L*sizeof(TCHAR)));
  3544. +       uctx = malloc(context_len);
  3545. +       if (!uctx)
  3546. +               return NULL;
  3547. +
  3548. +       s = (void *)(uctx+1);
  3549. +       uctx->in_url = s;               s+= in_url_len+1;
  3550. +       (void)_tcscpy(uctx->in_url, in_url);
  3551. +       uctx->scheme = s;               s+= in_url_len+1;
  3552. +       uctx->login.username = s;       s+= in_url_len+1;
  3553. +       uctx->hostport.hostname = s;    s+= in_url_len+1;
  3554. +       uctx->path = s;                 s+= in_url_len+1;
  3555. +       uctx->hostport.port = -1;
  3556. +
  3557. +       return uctx;
  3558. +}
  3559. +
  3560. +int url_parser_parse(url_parser_context *uctx)
  3561. +{
  3562. +       D((void)_tprintf(TEXT("## parser in_url='%s'\n"), uctx->in_url));
  3563. +
  3564. +       TCHAR *s;
  3565. +       const TCHAR *urlstr = uctx->in_url;
  3566. +       size_t slen;
  3567. +
  3568. +       s = _tcsstr(urlstr, TEXT("://"));
  3569. +       if (!s) {
  3570. +               D((void)_tprintf(TEXT("url_parser: Not an URL\n")));
  3571. +               return -1;
  3572. +       }
  3573. +
  3574. +       slen = s-urlstr;
  3575. +       (void)memcpy(uctx->scheme, urlstr, slen*sizeof(TCHAR));
  3576. +       uctx->scheme[slen] = TEXT('\0');
  3577. +       urlstr += slen + 3;
  3578. +
  3579. +       D((void)_tprintf(TEXT("scheme='%s', rest='%s'\n"), uctx->scheme, urlstr));
  3580. +
  3581. +       s = _tcsstr(urlstr, TEXT("@"));
  3582. +       if (s) {
  3583. +               /* URL has user/password */
  3584. +               slen = s-urlstr;
  3585. +               (void)memcpy(uctx->login.username, urlstr, slen*sizeof(TCHAR));
  3586. +               uctx->login.username[slen] = TEXT('\0');
  3587. +               urlstr += slen + 1;
  3588. +
  3589. +               s = _tcsstr(uctx->login.username, TEXT(":"));
  3590. +               if (s) {
  3591. +                       /* found passwd */
  3592. +                       uctx->login.passwd = s+1;
  3593. +                       *s = TEXT('\0');
  3594. +               }
  3595. +               else
  3596. +               {
  3597. +                       uctx->login.passwd = NULL;
  3598. +               }
  3599. +
  3600. +               /* catch password-only URLs */
  3601. +               if (uctx->login.username[0] == TEXT('\0'))
  3602. +                       uctx->login.username = NULL;
  3603. +       }
  3604. +       else
  3605. +       {
  3606. +               uctx->login.username = NULL;
  3607. +               uctx->login.passwd = NULL;
  3608. +       }
  3609. +
  3610. +       D((void)_tprintf(TEXT("login='%s', passwd='%s', rest='%s'\n"),
  3611. +               DBGNULLSTR(uctx->login.username),
  3612. +               DBGNULLSTR(uctx->login.passwd),
  3613. +               DBGNULLSTR(urlstr)));
  3614. +
  3615. +       s = _tcsstr(urlstr, TEXT("/"));
  3616. +       if (s) {
  3617. +               /* URL has hostport */
  3618. +               slen = s-urlstr;
  3619. +               (void)memcpy(uctx->hostport.hostname, urlstr, slen*sizeof(TCHAR));
  3620. +               uctx->hostport.hostname[slen] = TEXT('\0');
  3621. +               urlstr += slen;
  3622. +
  3623. +               /*
  3624. +                * check for addresses within '[' and ']', like
  3625. +                * IPv6 addresses
  3626. +                */
  3627. +               s = uctx->hostport.hostname;
  3628. +               if (s[0] == TEXT('['))
  3629. +                       s = _tcsstr(s, TEXT("]"));
  3630. +
  3631. +               if (s == NULL) {
  3632. +                       D((void)_tprintf(TEXT("url_parser: Unmatched '[' in hostname\n")));
  3633. +                       return -1;
  3634. +               }
  3635. +
  3636. +               s = _tcsstr(s, TEXT(":"));
  3637. +               if (s) {
  3638. +                       /* found port number */
  3639. +                       uctx->hostport.port = _tstoi(s+1);
  3640. +                       *s = TEXT('\0');
  3641. +               }
  3642. +       }
  3643. +       else
  3644. +       {
  3645. +               (void)_tcscpy(uctx->hostport.hostname, urlstr);
  3646. +               uctx->path = NULL;
  3647. +               urlstr = NULL;
  3648. +       }
  3649. +
  3650. +       D((void)_tprintf(TEXT("hostport='%s', port=%d, rest='%s'\n"),
  3651. +               DBGNULLSTR(uctx->hostport.hostname),
  3652. +               uctx->hostport.port,
  3653. +               DBGNULLSTR(urlstr)));
  3654. +
  3655. +       if (!urlstr) {
  3656. +               return 0;
  3657. +       }
  3658. +
  3659. +       (void)_tcscpy(uctx->path, urlstr);
  3660. +       D((void)_tprintf(TEXT("path='%s'\n"), uctx->path));
  3661. +
  3662. +       return 0;
  3663. +}
  3664. +
  3665. +void url_parser_free_context(url_parser_context *c)
  3666. +{
  3667. +       free(c);
  3668. +}
  3669. diff --git a/mount/urlparser1.h b/mount/urlparser1.h
  3670. new file mode 100644
  3671. index 0000000..ea715d2
  3672. --- /dev/null
  3673. +++ b/mount/urlparser1.h
  3674. @@ -0,0 +1,46 @@
  3675. +/* NFSv4.1 client for Windows
  3676. + * Copyright (c) 2024 Roland Mainz <roland.mainz@nrubsig.org>
  3677. + *
  3678. + * This library is free software; you can redistribute it and/or modify it
  3679. + * under the terms of the GNU Lesser General Public License as published by
  3680. + * the Free Software Foundation; either version 2.1 of the License, or (at
  3681. + * your option) any later version.
  3682. + *
  3683. + * This library is distributed in the hope that it will be useful, but
  3684. + * without any warranty; without even the implied warranty of merchantability
  3685. + * or fitness for a particular purpose.  See the GNU Lesser General Public
  3686. + * License for more details.
  3687. + *
  3688. + * You should have received a copy of the GNU Lesser General Public License
  3689. + * along with this library; if not, write to the Free Software Foundation,
  3690. + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA
  3691. + */
  3692. +
  3693. +#ifndef __URLPARSER1_H__
  3694. +#define __URLPARSER1_H__
  3695. +
  3696. +#include <tchar.h>
  3697. +
  3698. +typedef
  3699. +struct _url_parser_context {
  3700. +       TCHAR *in_url;
  3701. +
  3702. +       TCHAR *scheme;
  3703. +       struct {
  3704. +               TCHAR *username;
  3705. +               TCHAR *passwd;
  3706. +       } login;
  3707. +       struct {
  3708. +               TCHAR *hostname;
  3709. +               signed int port;
  3710. +       } hostport;
  3711. +       TCHAR *path;
  3712. +} url_parser_context;
  3713. +
  3714. +
  3715. +/* Prototypes */
  3716. +url_parser_context *url_parser_create_context(const TCHAR *in_url, unsigned int flags);
  3717. +int url_parser_parse(url_parser_context *uctx);
  3718. +void url_parser_free_context(url_parser_context *c);
  3719. +
  3720. +#endif /* !__URLPARSER1_H__ */
  3721. --
  3722. 2.43.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