diff --git a/.gitignore b/.gitignore index d088f05..f4a325a 100644 --- a/.gitignore +++ b/.gitignore @@ -36,3 +36,11 @@ src/libtirpc_la-*.lo *~ # cscope database files cscope.* +# files generated by patches +*.patch +*.rej +*.orig +# files generated by debugging +.gdb_history +.gdbinit +core diff --git a/Makefile.am b/Makefile.am index 3e50d3c..7f5f37b 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,4 +1,4 @@ -SUBDIRS = src man +SUBDIRS = src man doc nobase_include_HEADERS = tirpc/netconfig.h \ tirpc/rpcsvc/crypt.x \ diff --git a/src/Makefile.am b/src/Makefile.am index f832baa..7b002da 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -6,7 +6,7 @@ ## anything like that. -INCLUDES = -I../tirpc -DPORTMAP -DINET6 -DVERSION="\"$(VERSION)\"" \ +INCLUDES = -I$(top_srcdir)/tirpc -DPORTMAP -DINET6 -DVERSION="\"$(VERSION)\"" \ -D_GNU_SOURCE -Wall -pipe lib_LTLIBRARIES = libtirpc.la diff --git a/src/clnt_dg.c b/src/clnt_dg.c index 2eeaada..2f870b1 100644 --- a/src/clnt_dg.c +++ b/src/clnt_dg.c @@ -381,6 +381,10 @@ call_again: } send_again: + if (total_time <= 0) { + cu->cu_error.re_status = RPC_TIMEDOUT; + goto out; + } nextsend_time = cu->cu_wait.tv_sec * 1000 + cu->cu_wait.tv_usec / 1000; if (sendto(cu->cu_fd, cu->cu_outbuf, outlen, 0, sa, salen) != outlen) { cu->cu_error.re_errno = errno; diff --git a/src/rpcb_clnt.c b/src/rpcb_clnt.c index 732c556..6494370 100644 --- a/src/rpcb_clnt.c +++ b/src/rpcb_clnt.c @@ -781,7 +781,7 @@ __rpcb_findaddr_timed(program, version, nconf, host, clpp, tp) if ((ua == NULL) || (ua[0] == 0)) { /* address unknown */ rpc_createerr.cf_stat = RPC_PROGNOTREGISTERED; - continue; /* try other versions */ + goto error; } address = uaddr2taddr(nconf, ua); #ifdef ND_DEBUG