Commit Graph

40 Commits

Author SHA1 Message Date
bouyer
3cce18ce83 We can't call db->put() with key or data pointing back to db(3)'s memory
space, or the database will be corrupted (noticed when the database is
updated in reset_host()). Change change_host() to copy hostname and HostInfo
to local storage before calling db->put().
Change notify_one() to use change_host() instead of calling db->put()
directly.
2005-11-27 16:03:20 +00:00
bouyer
58ce78eeda When forking, we keep a reference to the status db file, and if the
memory copy of the file is dirty, is will be synced when the child exists.
But the parent may have done changes to the database in the meantime, resulting
in a db corruption.
Fix this by calling sync_file() just before the fork. The child will still have
a reference to the db, but won't try to write it on exit.
2005-11-03 19:36:42 +00:00
christos
9f17a05ff3 PR/31502: John: rpc.statd doesn't save failed notifies in the database.
Tested by Martti Kuparinen.
2005-10-20 12:53:42 +00:00
yamt
45717cbc50 init_file: copy status_info from static storage so that
statd doesn't always use the same "status" number.
2004-01-14 10:29:46 +00:00
yamt
65c4e197a1 reset_host: reset actual host infos rather than reset copies of them. 2004-01-14 10:28:17 +00:00
wiz
334bfb30b4 More e.g. cleanup. Igor Sobrado, PR 19692. 2003-04-07 07:04:49 +00:00
sommerfeld
8f6f405641 Use <bsd.rpc.mk> 2003-01-05 19:24:06 +00:00
wiz
db8b42a060 hardware with a d, from Adrian Mrva. 2002-12-21 12:47:21 +00:00
fvdl
d4f83aa2bb Use a non-blocking SVC for TCP connections. 2002-11-08 00:14:50 +00:00
wiz
146392e159 Sort sections. 2002-02-02 01:42:45 +00:00
tv
6f9b615f48 Make sure DESTDIR is defined before attempting to use it in a dependency. 2002-01-31 15:21:09 +00:00
wiz
a2d753e3ef Whitespace nits. 2002-01-19 11:44:57 +00:00
christos
607b156b2d Use SA_NOCLDWAIT to avoid zombies. 2001-11-23 17:10:29 +00:00
tron
59d12b63b8 Add a handler for SIGCHLD which collects dead childs via wait3(2) so that
"rpc.statd" won't leave zombies arround.
2001-11-22 12:23:15 +00:00
cgd
25bdbb661e convert to use getprogname() 2001-02-19 23:22:40 +00:00
cgd
4bf5f7086b ${RPCGEN}, not hard-coded rpcgen 2000-07-25 06:29:44 +00:00
mycroft
45d698dd33 Make the rpcsvc dependencies work a bit better. 2000-06-12 01:57:25 +00:00
fvdl
7704425071 Convert to tirpc interface, and to be af-independent. 2000-06-09 14:00:52 +00:00
bouyer
491268e2d5 Always copy pointer returned by db->get or db->seq before using, to avoid
alignements issues.
While doing this I found a bug in reset_host(), notifyReqd was set to
the wrong pointer.
2000-06-09 09:57:29 +00:00
bouyer
ff01cf4808 Solaris hosts with multiple names (e.g. short & fqdn) sends notification
with both names. So log the "Unsolicited notification" with LOG_DEBUG
instead of LOG_ERR.
Don't return failure if we received a notification for which the host is
unknown, or we don't have outstanding requests. The remote host will retry
forever otherwise.
2000-06-06 18:19:56 +00:00
bouyer
e85966b43e db->seq() returns 0 for success and 1 for failure, not the opposite.
walk_db() was silently failing because of this.
2000-06-06 18:17:07 +00:00
scottr
b2f847943a Tweak the usage output a bit, and exit after printing it. 1999-06-10 05:53:51 +00:00
thorpej
56c5efa335 Use pidfile(3). 1999-06-06 02:52:16 +00:00
mrg
32f519716b - use an array MAXHOSTNAMELEN+1 size to hold hostnames
- ensure hostname from gethostname() is nul-terminated in all cases
- minor KNF
- use MAXHOSTNAMELEN over various other values/defines
- be safe will buffers that hold hostnames
1998-07-06 06:56:06 +00:00
tron
00d198478f Fix broken call to dbopen(), fixes PR bin/5637 by Azuma Okamoto. 1998-06-22 20:40:01 +00:00
lukem
0a94f4f077 use CPPFLAGS instead of CFLAGS 1997-10-25 06:57:53 +00:00
thorpej
bab116cf5f To print a size_t, cast to u_long and use %lu printf format so that
this works on the Alpha.
1997-10-25 01:29:30 +00:00
christos
1175f55b11 Use a db(3) hash database instead of shared memory. Don't fork() to service
requests in the database when restarting.
1997-10-21 20:38:03 +00:00
is
3b81cd07b7 Only map 16MBytes of file, enough for some 16000 hosts on the LAN.
Stopgap fix for PR 4225 by Matthias Scheler (rpc.statd doesn't run on m68k).

XXX This should be done in a different way. XXX

Matthias proposes to use a PMAP capable of mapping more than 256 MB
per user process (You can do this by changing your vm_param constants
even now).

However, statd could use saner data structure to save on address space
easily. E.g., most host names will be much smaller than the allocated
1024(+1 for trailing zero) bytes. Using variable length names would
allow, depending on environment, a factor of 30 more hosts per address
space.

Btw, if anybody really needs more than 16k hosts handled by statd, the
data structure is unsuable anyway; currently, the array of entries is
linearly searched. Something like a DB_BTREE should be used.
1997-10-21 13:33:23 +00:00
drochner
01a642fa68 The third argument to msync() got lost - bring it back. 1997-10-18 14:11:43 +00:00
lukem
021be7fd11 WARNSify; generate ansi c code with rpcgen, cleanup manpage, add rcsids 1997-10-17 16:12:48 +00:00
lukem
90a9b36a70 WARNSify; generate ansi c code with rpcgen, cleanup manpage, add rcsids 1997-10-17 16:02:51 +00:00
lukem
aa5b34a6f5 call msync() correctly 1997-10-17 13:21:06 +00:00
christos
c36a502364 msync needs a third argument. 1997-10-16 23:32:27 +00:00
cjs
7a66732d34 Back out BUILDDIR and NOINSTALL changes. 1997-05-31 21:21:13 +00:00
cjs
5fd7ce7066 These updates to the build allow building against include files
and libs in the object tree, if you use a separate object tree,
while maintaining backward compatability with other build methods.
See the notes in src/share/mk/bsd.README for full details. Note
that the `make includes' target now only installs the include files
in the build directory (if you use one--otherwise they go in DESTDIR
just like before); `make install' will install include files in
DESTDIR.
1997-05-26 03:55:19 +00:00
christos
f0fe357c91 eliminate struct sigcontext 1997-05-17 15:52:52 +00:00
perry
729632280d transations -> transactions per pr 3333 from SAITOH Masanobu 1997-03-14 23:24:23 +00:00
scottr
6a8f5a85fd RCS Id police 1997-03-11 04:13:02 +00:00
scottr
24ce527b89 Status monitor daemon by A.R. Gordon, ported from FreeBSD. While the
functionality was not significantly altered, the code was KNFed and
the build process cleaned up considerably.
1997-03-10 06:28:29 +00:00