Ronnie Sahlberg
aab6538bbd
Implement 'rejected_reply' and switch to RFC5531 definitions
...
Switch to using fields and names from RFC5531. that is the standard
for RPC.
2012-11-26 19:42:10 -08:00
Ronnie Sahlberg
f3a7507806
Add an assert to track if we try to use an rpc_context after it has been destroyed
2012-11-24 08:18:54 -08:00
Ronnie Sahlberg
442b829a05
Dont just cast *enum_t to *uint32_t
...
go via a temporary variable in case these scalars are different size
2012-07-05 21:13:04 +10:00
Ronnie Sahlberg
67ba2239cb
Get rid of AUTH completely and replace all uses with 'struct AUTH'
2012-07-05 10:23:19 +10:00
Ronnie Sahlberg
45670bd0d6
fix compiler warnings
2012-07-05 07:37:37 +10:00
Ronnie Sahlberg
d14e28387f
squelch compiler warnings in socket.c about integer sizes
2012-07-05 07:21:48 +10:00
Ronnie Sahlberg
763cd6e3e2
ZDR: New builtin replacement for RPC/XDR called ZDR
...
This patch switches libnfs over to use precompiled rpcgen files
and using ZDR. ZDR is a trivial reimplementation of XDR that is built in
into libnfs.
This removes the dependencies of rpc/xdr completely and allow us to build on any
system, even systems where rpcgen and librpc/libxdr are not generally available.
2012-07-04 16:53:12 +10:00
Ronnie Sahlberg
a171d4dada
NLM add helper functions to send async calls for the NLM functions
2012-03-10 22:50:10 +11:00
Ronnie Sahlberg
e01ed6a239
NLM add TEST procedure
2012-03-10 21:38:29 +11:00
Ronnie Sahlberg
6916a66546
NLM: initial support for NLM
2012-03-10 20:46:03 +11:00
Ronnie Sahlberg
0118a5f0de
GETACL: change the signature for the raw getacl3 function to take GETACL3args pointer instead of a discrete arguments
2012-03-08 22:52:20 +11:00
Ronnie Sahlberg
fa3c25beee
NFSACL: Add support for SETACL3
2012-03-08 21:25:21 +11:00
Ronnie Sahlberg
8e25581668
change rpc_nfs_symlink_async to take a full SYMLINK3args as parameter
2012-01-14 08:18:19 +11:00
Ronnie Sahlberg
16104b27bd
make low level readlink_async function take READLINK3args as argument
2012-01-14 08:11:09 +11:00
Ronnie Sahlberg
7edc9026db
make mkdir_async take a full MKDIR3args argument
2012-01-12 16:02:32 +11:00
Ronnie Sahlberg
c985c015f2
change crate_async low level function to take a full RATE3args structure as argument instead of just name and mode
2012-01-12 15:31:49 +11:00
Ronnie Sahlberg
b426ef0404
read returns a READ3res, not a ACCESS3res
2012-01-12 15:19:45 +11:00
Ronnie Sahlberg
8724c83390
Add function to get root filehandle from a nfs context
2012-01-11 07:04:01 +11:00
Ronnie Sahlberg
1fbe408023
PORTMAPPER: Add set/unset functions
2011-12-31 15:01:38 +11:00
Ronnie Sahlberg
5c6b1176c2
PMAP: allow to ask for tcp/udp port, dont assume users only ever want the tcp port
2011-12-31 14:24:20 +11:00
Ronnie Sahlberg
183451cff5
Remove all [s]size_t / off_t and replace with [u]int64_t making libnfs 64-bit pure
2011-11-27 14:49:08 +11:00
Ronnie Sahlberg
1ec6b50aef
Add MKNOD command support
...
Add support for raw nfs3 mknod and sync and async posixlike api
2011-11-27 14:08:24 +11:00
Ronnie Sahlberg
8704724f83
Change remaining "struct AUTH *" to "AUTH *"
2011-10-09 15:22:05 +11:00
Memphiz
fa33813ed4
[fix] - fix improper definition of struct AUTH from osx (caution - API change - not clear if typedef is there on all plattforms...)
2011-10-08 18:10:06 +02:00
Ronnie Sahlberg
d678b73e4d
Fragment reassembly. Add reassembly of fragmented RPC PDUs
2011-10-04 12:31:56 +11:00
Ronnie Sahlberg
1744ef9011
Autoreconnect: autoreconnect was completely broken. Reimplement it so that it reconnects properly on session failure.
2011-10-04 11:25:10 +11:00
Ronnie Sahlberg
762621fa3d
Donr declate AUTH as a struct in libnfs.h
...
make it include rpc/auth.h properly instead
2011-09-19 20:23:45 +10:00
Ronnie Sahlberg
83aa785d92
Add a call to find the queue-length so we can see how many I/O we have in flight from the application layer.
2011-09-11 21:32:48 +10:00
Ronnie Sahlberg
41d82d7d82
Merge branch 'win32' into win32-3
2011-09-03 10:57:42 +10:00
Ronnie Sahlberg
0804e67d7a
using READDIRPLUS3 we get some extra fields for the direentry structure for free, such as type, mode, size, timestamps
2011-09-02 20:45:30 +10:00
Ronnie Sahlberg
f390f18157
nfs_opendir() switch to using READDIRPLUS3 instead of READDIR3 when reading directories.
2011-09-02 20:27:01 +10:00
Ronnie Sahlberg
66ad6d8438
Win32: make the sympols public in a dll
2011-08-30 15:56:53 +10:00
Ronnie Sahlberg
dd8fc17555
win32 oncrpc environment needx xdr.h before including auth.h
2011-08-28 19:46:12 +10:00
Ronnie Sahlberg
eecdc4f3cd
Win32 changes, include files we need when compiling under win32
...
and some socket ops are slightly different
2011-08-28 19:24:18 +10:00
Ronnie Sahlberg
b84208a613
Dont install slist.h or libnfs-private.h
2011-07-31 18:29:10 +10:00
Ronnie Sahlberg
b077fdeb65
Add automatic reconnect after TCP session failure for the sync interface.
...
Once a NFS TCP connection has been idle for a very long time, say
10-15 minutes, it is common that NFS servers will tear down the TCP connection.
So add code to re-connect to the NFS server and re-issue any i/o that might have been in flight (unlikely unless the server has hung)
While it is sufficient to just reconnect to tcp port 2049, it was much simplet to just utilize the nfs_mount() function.
This means that instead of just reconnecting TCP port 2049, we do a full blown
nfs mount via portmapper and mountd protocols.
2011-07-31 10:49:47 +10:00
Memphiz
4431432424
[fix] - install the raw headers ...
2011-07-19 20:12:31 +02:00
Ronnie Sahlberg
3847f8f6ae
add support got NFSACL protocol and NULL and GETACL procedures.
...
add example of raw interface for NFSACL
2011-07-03 15:30:18 +10:00
Ronnie Sahlberg
2e4db0d145
Merge remote branch 't-nelson/automake'
2011-07-02 11:10:36 +10:00
Ronnie Sahlberg
9c4212bf55
document the find_all_servers function
2011-07-02 10:33:19 +10:00
Ronnie Sahlberg
552c766578
add example for sync interface to probe for all local servers
2011-07-02 10:30:16 +10:00
Trent Nelson
6c437065d3
Rewrite build system using automake
...
Initial commit, only linux tested so far.
2011-06-29 14:15:16 -04:00
Ronnie Sahlberg
fd59fd0da3
add a function for portmap/callit
...
for the low level raw interface
2011-06-26 18:52:03 +10:00
Ronnie Sahlberg
c481da67f2
add function to extract the sockaddr from which we received the current rpc pdu
...
(useful when parsing replies from broadcast rpc calls)
2011-06-26 18:45:38 +10:00
Ronnie Sahlberg
5bf60dc601
add function to set the target for UDP rpc calls.
...
including doing broadcast calls
2011-06-26 18:42:53 +10:00
Ronnie Sahlberg
485bc9b9a7
add function to bind a udp rpc context to a local port/address
2011-06-26 18:40:00 +10:00
Ronnie Sahlberg
2d0c44ced1
add a sockaddr_storage so we can store the socket UPD packets came in from
2011-06-26 18:29:49 +10:00
Ronnie Sahlberg
a9b241622f
add a sockaddr_storage to the rpc context so we can store the socket a upd packet came in from
2011-06-26 18:22:45 +10:00
Ronnie Sahlberg
2ae460667b
add a 'is broadcast' flag to the rpc context structure
...
this is used for broadcast udp rpc calls (==pormatp/callit)
2011-06-26 18:18:59 +10:00
Ronnie Sahlberg
9e00b8c663
add function to request a UDP context
...
(private use only since we dont want applications to use UDP)
2011-06-26 17:27:40 +10:00
Ronnie Sahlberg
d16a3ca4bb
add rpc_context field to track if a UDP connection was requested
2011-06-26 17:17:59 +10:00
Ronnie Sahlberg
cdb19ec164
Redo the buffer handling for input buffers and make sure we only read one PDU at a time
2011-06-20 00:56:47 +10:00
Ronnie Sahlberg
e210bd2af8
remove the need for an explicit rpc context for the highlevel function mount_getexports()
2011-06-19 23:20:35 +10:00
Ronnie Sahlberg
df5af25fd2
add a sync function to get the export list from a server and add an example of how to use this functio n to nfsclient-sync
2011-06-19 22:31:34 +10:00
Ronnie Sahlberg
7f0242ca9a
Add a high-level async function to read the export list
2011-06-19 14:54:17 +10:00
Ronnie Sahlberg
1896d37bfa
get rid of all remaining printfs from the library
...
add a helper function nfs_set_error() to use instead of the printfs
2011-06-19 09:38:20 +10:00
Ronnie Sahlberg
e2ba5764d4
Remove the _sync postfix for the synchronous functions
2011-06-18 15:07:53 +10:00
Ronnie Sahlberg
77c23b46c0
Add support for version 2 of the rquota protocol
2011-06-02 22:16:42 +10:00
Ronnie Sahlberg
19e74f5a32
Add RQUOTA1/GETACTIVEQUOTA call to the raw low level API
2011-06-02 22:06:25 +10:00
Memphis
d6ced294d8
- refactored parametername from reserved keyword "export" to "exportname"
2011-06-01 18:05:18 +02:00
Ronnie Sahlberg
05a777d98a
Initial support for RQUOTA protocol
2011-06-01 20:55:27 +10:00
Ronnie Sahlberg
17ef62fad7
Read the max read/write sizes supported when connecting to NFS
...
and store in the nfs context.
Privide accessor functions to read the max sizes.
2011-06-01 00:08:29 +10:00
Ronnie Sahlberg
1058201ef0
Add support for async version of NFS/FSINFO3 call
2011-05-31 23:50:18 +10:00
Ronnie Sahlberg
84004dbf9b
initial libnfs checkin
2011-02-06 15:45:09 +11:00