Commit Graph

33 Commits (master)

Author SHA1 Message Date
Ronnie Sahlberg 2772c70be6 New version 5.0.1
Fixes non-pthread build

Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
2022-02-01 03:31:37 +10:00
Ronnie Sahlberg a48f019e05 New version 5.0.0
Multithread support for Linux and Windows
Fix NFS4 behavior of chmod/chown/utimes
Add marshalling / unmarshalling of various NFSv4.1 structures (but not 4.1 support)
PS3 support
PS2 EE support
Support escaped characters in the URL
Fix MINGW build

Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
2022-01-28 10:50:38 +10:00
Ronnie Sahlberg 030814506e new version 4.0.0
Fix the versioning in makerpms.sh
Fix some compile issues in the test programs.
NFSv3: skip commit on close if the file has not been written to.
Add nfs_umount() to NFSv3
Add nfs_statvfs64()
Fix invalid shift of pid_t when generating rpc->xid
Compile fixes for Mac OSX
Fix for dup2() on Windows
NFSv4 fix for directory handling
Improvements to configure/bulding

Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
2019-02-13 07:38:04 +10:00
Ronnie Sahlberg f8b06ead8e use "git desribe --tags" in makerpms.sh
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
2019-02-13 06:15:44 +10:00
Ronnie Sahlberg 695ac3b77b New version: 3.0.0
NFSv4 support.
lockf() support (NFSv4 only).
fcntl() support for locking (NFSv4 only).
Add CMake support.
URL arguments to select NFS version.
URL argument to set nfsport. This allows NFSv4 to work for
 servers without portmapper support.
URL argument to set he mount port.
NFSv4: use getpwnam to map NFSv4 (Ganesha) when passing uid/gid
 as a user/group name insead of as a uid/gid.
Added nfs-fh: a simle utility to print the filehandle for a nfs file.
Win32 build fixes.
Add a new open2() function that takes a mode argument.
Add a testsuite for libnfs.

Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
2018-06-24 08:53:52 +10:00
Ronnie Sahlberg 46b035a51e RPM: minor fixes to the RPM build
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
2017-06-16 21:19:39 -07:00
Ronnie Sahlberg d3af23322a New version : 2.0.0
The main changes since 1.11.0:

BUGS
====
Fix NULL pointer crash in nfs_link().

Clamp read/write size for servers (Ganesha) that offer very large io sizes
instead of failing to connect to the export.

Tell the server to commit all data to stable storage when we close files.

Double free fix: don't call rpc_free_pdu() after rpc_queue_pdu() failure.

Fix for memory leak in rpc_allocate_*().

Fixes to build nfs-ls and nfs-cp on win32.

Abort the mount process correctly if MOUNT/MNT returns error or is cancelled.

Fix memory leak in error path in nfs_create_2_cb().

Fix leak of rpc->inbuf if we destroy the context while we still have PDUs
in flight.

FEATURES
========
Add O_NOFOLLOW support for nfs_open()

Add a new mkdir2 command that also takes a mode argument.

Add a new readlink2 command that avoids having to preallocate the buffer.

Add support for RPC timeouts for both the sync and async interfaces.

Build fixes for Mingw and Cygwin

Update README to document two new Windows builds

Use SOCK_CLOEXEC for the sockets

Make rpc_set{g|u}id() public

Performance optimization: socket: Batch pdu read in rpc_read_from_socket

Low level support for NFSv4 and some examples

Support for building RPC servers

Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
2017-06-16 12:48:10 -07:00
Ronnie Sahlberg 2edbd14779 New version 1.11.0
- Reduce the number of memory allocations in the ZDR layer.
 - Check both seconds and nanoseconds field when validating dir cache.
 - Invalidate the dir cache immediately if we do something that would cause
   it to become stale, such as adding/removing objects from the cache.
 - Add options to enable/disable dir caching.
 - Discard readahead cache on [p]write and truncate.
 - Android fixes
 - Windows fixes
 - Support timeouts for sync functions
 - Add an internal pagecache
 - Add nfs_rewinddir(), nfs_seekdir() and nfs_telldir()
 - Fix crash in nfs_truncate()
 - Fix segfault that can trigger if we rpc_disconnect() during the mount.
 - Add support to bind to a specific interface (linux only)

Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
2016-10-09 11:23:11 -07:00
Ronnie Sahlberg 04363a9274 New version 1.10.0
The biggest changes in this release are:
 - Fix a leak where we leaked one rdpe_cb_data structure on each open_dir()
 - Make building the utils optional
 - Android: the correct define is __ANDROID__ not ANDROID
 - Win32: Use _U_ instead of ATTRIBURE((unused))
 - Win32: Fix nfs_stat declaration for Win32
 - Various fixes for mingw builds
 - Make rpc->connect_cb a one shot callback and improve documentation
 - Remove the FUSE module. It now lives in its own repo
 - Fix POLLERR/POLLHUP handling to properly handle session failures and to
   try to auto-reconnect

Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
2016-01-31 16:06:44 -08:00
Ronnie Sahlberg 8f06fc9d92 New version 1.9.8
- Disable multithreading in fuse_nfs
- Add -Wall and -Werror compiler flags (and fix issues found by it)
- Add nfs-cat utility
- Switch to using nfs_[f]stat64 instead of the deprecated nfs_[f]stat call
  in all examples
- If the server does not return any atttributes for entries in READDIRPLUS
  then try to fetch them using lookup instead.
- Reconnection fixes
- Enforce the max pdu size and add sanity checks when reading PDUs from
  the socket.
- Stop using ioctl(FIONREAD) to find out how many bytes to read, and treat
  0 as an indication of a problem. Some applications call their POLLIN handlers
  spuriosly even when there is no data to read, which breaks this check in
  libnfs.
- Add basic support to do logging.

Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
2015-08-02 10:18:25 -07:00
Ronnie Sahlberg 08ea9a3138 UTILS: move nfs-cp from examples to utils
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
2015-05-24 07:50:43 -07:00
Ronnie Sahlberg 4b1de15bb5 UTILS: add nfs-cat utility
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
2015-05-24 07:05:20 -07:00
Ronnie Sahlberg e775160243 new version 1.9.7
- Auto-traverse mounts. With this option (default to on) libnfs will
   autodiscover and handle any nested submounts.
 - Remove nfs_get_current_offset. Applications should use seek instead of this function.
 - Add umask() support.
 - Change set_tcp_sockopt() to be static.
 - Android fix for nfs-ls
 - Make S_IFLNK available on windows.
 - Fix a use after free.
 - Fix a bug where truncate() treated offset as 32bit.

Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
2015-02-09 19:16:56 -08:00
Ronnie Sahlberg 080d231129 New version 1.9.6
- Add O_TRUNC support for nfs_create
 - Handle OOM during create
 - Return more stats fields as part of readdir since we get these for "free"
   when we use READDIRPLUS
 - Follow symlinks during path resolution
 - Add lchown, lstat and lutimes
 - Replace all [u_]quad types with [u]int types in our RPC layer
 - Solaris build fixes

Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
2014-11-25 06:47:55 -08:00
Ronnie Sahlberg b9e5039f49 New version 1.9.5
This version removes old ONC-RPC symbols and automatically includes the
RPC/ZDR layer include from the raw low level headers.

Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
2014-07-19 15:47:35 -07:00
Ronnie Sahlberg 2c0f57fa33 RPM: Fix the specfile 2014-03-23 09:54:21 -07:00
Ronnie Sahlberg 7440522d8a SPECFILE: Fix syntax error in the spec file 2014-03-23 09:18:13 -07:00
Ronnie Sahlberg 7058971155 New version: 1.9.3
Wed Mar 19 2014: Version 1.9.3
 - Add O_TRUNC support to nfs_open()
 - Add a simple but incomplete LD_PRELOAD tool
 - Fixes for some memory leaks and C++ compile support
 - Make ANDROID default uid/gid to 65534
 - Allow the READDIRPLUS emulation to still work if some objects
   in the direcotry can not be lookedup (NFSv4 ACL denying READ-ATTRIBUTES)
 - Have libnfs retry any read/write operations where the server responds
   with a short read/write. Some servers do this when they are overloaded?
2014-03-19 18:12:45 -07:00
Ronnie Sahlberg 0a63cc7258 Remove chdir changes for now. Needs more testing. 2014-01-30 18:30:25 -08:00
Ronnie Sahlberg 1d95217b2f New version 1.9.1
Add back the libnfs-raw-*.h headers to make install
2014-01-28 06:41:31 -08:00
Ronnie Sahlberg 5392b1cfbc New version : 1.9.0
- Use _stat64 on windows so file sizes become 64bit always.
 - Increase default marshalling buffer so we can marshall large PDUs.
 - RPC layer support for NFSv2
 - Win32 updates and fixes
 - Add URL parsing functions and URL argument support.
 - New utility: nfs-io
 - nfs-ls enhancements
 - RPC layer support for NSM
 - Add example FUSE filesystem.
 - Minor fixes.
2014-01-27 20:47:24 -08:00
Asgeir Storesund Nilsen 9304ad516e Fixed SPEC file to work with Red Hat 6.3 x64. 2014-01-16 10:03:14 +00:00
Ronnie Sahlberg 558aefc736 New version 1.8
Fix nasty memory leak
2013-10-30 18:17:49 -07:00
Ronnie Sahlberg 31820d2727 New version 1.7
- Allow nested eventloops so that a sync function can be called from a callback.
 - Fix a bug in unmarshalling a uint64.
 - Add PATHCONF support.
 - WIN32/64 updates
 - AROS updates
2013-10-20 16:31:32 -07:00
Ronnie Sahlberg a60caa0945 New version 1.6
Add AROS/Amiga support
Chose initial XID value better to reduce probability for collissions
Fix bug in the initial default credentials and use getgid() instead of -1
2013-05-27 21:35:26 -07:00
Ronnie Sahlberg 8afcdc959f New version 1.5
- Switch to our own builtin RPC/XDR replacement
- Android support
2012-12-03 06:38:18 -08:00
Ronnie Sahlberg db0c9f4212 Install libnfs-zdr.h 2012-11-28 06:36:06 -08:00
Ronnie Sahlberg dedc4675ba New version 1.4
- Add trackig of freed context and assert on using a context after it has been
  freed.
- Windows x64 support and fixes.
- Switch to using our own version of xdr_int64() since the one in libtirpc
  crashes on some platforms.
- Fix memory leak in an error path for addrinfo.
- Fix bug dereferencing a null pointer in the mount callback on error.
2012-11-25 07:57:40 -08:00
Ronnie Sahlberg 47e5a2c740 new version 1.3 2012-03-03 19:04:58 +11:00
Ronnie Sahlberg 345422a2e3 New version 1.2 2011-12-06 18:02:34 +11:00
Ronnie Sahlberg 86ef491004 New version 1.1 2011-11-27 11:20:57 +11:00
Stephan Raue ea545df912 add support to create a pkgconfig file 'libnfs.pc' on build, and install this with 'make install'
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2011-09-16 08:23:23 +02:00
Ronnie Sahlberg 9f89cfcd15 Add packaging directory and script and specfile to build RPM packages 2011-07-31 18:29:28 +10:00