Commit graph

20 commits

Author SHA1 Message Date
U-fast\aglo
c24c79f3cc handling rpc_autherr
instead of trying to restablish the rpc client and auth_client for
autherr, instead just create a new auth_client.
2011-06-20 12:15:25 -04:00
Olga Kornievskaia
bb8de9c266 [libtirpc] catching network errors
if during recv we received an error, then propagate that to the caller.
otherwise, do time out check. also do timeout check if the thread's xid
didn't match received xid (making sure we'll timeout if we have a starving
thread that will never receive a reply)
2011-05-27 10:38:59 -04:00
Olga Kornievskaia
ee955a10b2 saving uid/gid in rpc client 2011-05-19 12:05:39 -04:00
Olga Kornievskaia
d6967ea9ef reestablishing gss context on rpc_reconnect
if we receive an rpc_autherr, just recreate a new rpc client as well
as the rpc auth structure. as it ties into the recovery and handles
that only one thread recovers and reestablishes the rpc auth context.

in theory, reestablishing rpc client does not necessitate new rpc auth
context. we really need to restablish one only if we get rpc autherr. however,
it simplifies the code not to introduce a different synchronization
mechanism for rpc auth in addition to the rpc one.
2011-05-16 18:32:56 -04:00
Olga Kornievskaia
b6beb6f2a9 [libtircp] adding timeout on async recv
once libtirpc blocking recv was changed to a polling receive,
we no longer had a timeout mechanims on waiting for a reply.

solution: save a timestamp before the recv call, on each async recv return
check if the time lapsed does not exceed the timeout value. when timeout
is reach, return TIMEDOUT rpc error.
2011-05-16 15:46:45 -04:00
Olga Kornievskaia
21a4fdd563 ignoring errors from BIND_CONN_TO_SESSION 2011-03-10 11:35:58 -05:00
Olga Kornievskaia
741e8bf0bf non-blocking rpc receive
we already drop the lock between sending and receiving the rpc packets. now making it so that receive doesn't block for too long (ie 100ms) before unlocking the socket. this is needed for the callback. original rpc is sent and it triggers a callback from the server. we fork another thread to handle it, ie it needs to send a deleg_return rpc. if original rpc gets control and blocks on trying to receive its reply, it'll timeout and original rpc will return an error. instead we need to not block for long and allow the deleg_return to go thru so that the server can reply successfully to the original rpc.
2011-03-08 11:04:44 -05:00
Olga Kornievskaia
e0fc4cf985 check for null client session before BIND_CONN 2011-03-08 11:04:42 -05:00
Olga Kornievskaia
47b0ccda9c turning callback off for krb5p
sspi requires strict ordering of messages. we can't have more than 1 outstanding rpc thus, hold the lock over send and receive and turn off callbacks.
2011-02-03 13:13:10 -05:00
Olga Kornievskaia
b6120b41fd setting error status in rpc_reconnect if send_null fails
we were checking for error result of send_null but not setting
status, then going to "out_unlock" and since status is NO_ERROR
trying to send bind_conn_to_session
2011-01-17 11:55:36 -05:00
Casey Bodley
089a52906b rpc: don't malloc server_name for getnameinfo()
Signed-off-by: Casey Bodley <cbodley@citi.umich.edu>
2011-01-12 12:40:40 -05:00
Casey Bodley
9c960aa409 rpc: rebind back channel on reconnect
after reestablishing an rpc connection, send BIND_CONN_TO_SESSION if we need a back channel

Signed-off-by: Casey Bodley <cbodley@citi.umich.edu>
2011-01-12 12:40:40 -05:00
unknown
21ee8ccaad fix for nfs41_rpc_clnt_create 2010-12-10 12:54:17 -05:00
unknown
a645f7030c fixing memory leaks in rpc client 2010-12-09 18:36:05 -05:00
Olga Kornievskaia
dd3701932f fixing memory leak in get_client_for_netaddr 2010-12-02 14:22:07 -05:00
Olga Kornievskaia
3b9f37d5a1 adding sec flavor to upcall 2010-12-02 14:22:05 -05:00
Olga Kornievskaia
b9494c3ccc first stab at SSPI leaving gss calls in 2010-12-02 14:22:04 -05:00
Olga Kornievskaia
24c28df19d doing mount with non-fake uid gid 2010-11-08 12:54:42 -05:00
Casey Bodley
d1169b1f6b daemon: logging to files 2010-10-12 10:36:04 -04:00
Casey Bodley
0ad4db4fad fresh git tree for public release
we regretfully had to remove our git history for licensing reasons

Signed-off-by: Casey Bodley <cbodley@citi.umich.edu>
2010-10-12 10:15:48 -04:00