Commit Graph

50 Commits

Author SHA1 Message Date
christos
ceaa3a4f21 - pass lint (not completely)
- KNF
- ansify
- use %m instead of "%s, strerror(errno)" in syslog messages
2007-11-04 23:12:50 +00:00
tron
e6cd63ecaf Fix off-by-one error accessing "clnt_cache_addr" array which causes heap
corruption. This will hopefully fix PR bin/37236.
2007-11-04 19:59:54 +00:00
christos
5f2b082001 PR/37236: Matthias Scheler: Mac OS X NFS client frequently crashes rpc.lockd(8)
on NetBSD. Use calloc to allocate the lock as suggested in the PR.
2007-10-27 18:41:54 +00:00
tls
4147a3c54a Add new Makefile knob, USE_FORT, which extends USE_SSP by turning on the
FORTIFY_SOURCE feature of libssp, thus checking the size of arguments to
various string and memory copy and set functions (as well as a few system
calls and other miscellany) where known at function entry.  RedHat has
evidently built all "core system packages" with this option for some time.

This option should be used at the top of Makefiles (or Makefile.inc where
this is used for subdirectories) but after any setting of LIB.

This is only useful for userland code, and cannot be used in libc or in
any code which includes the libc internals, because it overrides certain
libc functions with macros.  Some effort has been made to make USE_FORT=yes
work correctly for a full-system build by having the bsd.sys.mk logic
disable the feature where it should not be used (libc, libssp iteself,
the kernel) but no attempt has been made to build the entire system with
USE_FORT and doing so will doubtless expose numerous bugs and misfeatures.

Adjust the system build so that all programs and libraries that are setuid,
directly handle network data (including serial comm data), perform
authentication, or appear likely to have (or have a history of having)
data-driven bugs (e.g. file(1)) are built with USE_FORT=yes by default,
with the exception of libc, which cannot use USE_FORT and thus uses
only USE_SSP by default.  Tested on i386 with no ill results; USE_FORT=no
per-directory or in a system build will disable if desired.
2007-05-28 12:06:17 +00:00
martin
e06a3327c9 Typo 2006-08-09 14:12:47 +00:00
yamt
a52757bf4c deal with variable sized file handles. 2006-08-08 13:10:05 +00:00
martin
b4cb63a646 Make filehandles opaque to userland 2006-07-31 16:34:42 +00:00
martin
a3b5baed42 Fix alignement problems for fhandle_t, exposed by gcc4.1.
While touching all vptofh/fhtovp functions, get rid of VFS_MAXFIDSIZ,
version the getfh(2) syscall and explicitly pass the size available in
the filehandle from userland.

Discussed on tech-kern, with lots of help from yamt (thanks!).
2006-07-13 12:00:24 +00:00
christos
c4ee9f6d2e 64 bit inode changes 2005-08-19 02:07:18 +00:00
lukem
677504d9ca Test the correct pointer 'rfl' rather than an uninitialized 'fl' when
determining whether the lock was a LOCK_V4 or not.
Detected with gcc -Wuninitialized.
2005-06-02 09:30:27 +00:00
bouyer
7b066791c8 Remove references to University of California from my copyright notices. 2003-10-05 17:48:49 +00:00
bouyer
d6242d4312 We can't keep a reference to the value returned by svc_getrpccaller().
Instead malloc() some memory and copy the sockaddr returned there.
Fix a bug where after a blocked lock gets granted, the grant message would
be sent to the wrong machine (or possibly to a completely bogus address).

While there, add a NULL check for the return value of another malloc().
2003-06-19 11:13:06 +00:00
yamt
f9cc84c69d getlock: detect duplicated locks slightly correctly.
XXX how should we do for byte range lock?
2003-03-16 09:05:56 +00:00
yamt
acc9d6c0f9 for lock/unlock requests, log svid as well as client name. 2003-03-16 06:55:47 +00:00
yamt
3f4a2b19c2 fix a typo in the previous. 2003-03-14 14:10:00 +00:00
yamt
c5c265a7aa use strlcpy instead of strncpy. 2003-03-14 14:08:44 +00:00
yamt
f947a8c4c1 use LIST_FOREACH macro. 2003-03-14 14:03:00 +00:00
yamt
44f53bece1 for fork'ed children, use _exit instead of exit. 2003-03-14 13:53:08 +00:00
yamt
3337a32246 - protect from pid reusing.
- fix a null dereference on the error.
2003-03-14 13:46:23 +00:00
simonb
276fd1665c The Double-Semi-Colon Police. 2003-01-20 05:29:53 +00:00
sommerfeld
8f6f405641 Use <bsd.rpc.mk> 2003-01-05 19:24:06 +00:00
fvdl
d4f83aa2bb Use a non-blocking SVC for TCP connections. 2002-11-08 00:14:50 +00:00
wiz
5db23d2c5d enouth -> enough. 2002-07-26 01:00:39 +00:00
grant
eda9e509bb sweep of errx/warnx, remove unnecessary trailing \n 2002-07-20 08:40:16 +00:00
wiz
4b20971f01 Spell acquire with a 'c'. 2002-07-10 23:16:32 +00:00
wiz
146392e159 Sort sections. 2002-02-02 01:42:45 +00:00
oster
4a785b3509 Fix a memory leak: when unlocking make sure we release the memory associated
with the lock begin removed!

Reviewed by thorpej.
2001-10-23 19:54:53 +00:00
wiz
0a600be867 receive, not recieve 2001-06-12 15:17:10 +00:00
wiz
14dbdf5518 Negative exit code cleanup: Replace exit(-x) with exit(x).
As seen on tech-userlevel.
2001-04-06 11:13:45 +00:00
enami
6bc7e18094 Don't try to deallocate an object pointed by NULL pointer. Instead,
deallocate the right one.
2000-11-21 03:47:41 +00:00
is
d8302e2d73 More format string cleanups by sommerfeld. 2000-10-11 20:23:46 +00:00
thorpej
8521dd166a Clean up some include paths. 2000-08-12 18:08:43 +00:00
thorpej
d7018d707f Fix slight error in last. 2000-08-07 16:23:31 +00:00
thorpej
5535e3de10 Simplify. 2000-08-07 16:16:23 +00:00
cgd
4bf5f7086b ${RPCGEN}, not hard-coded rpcgen 2000-07-25 06:29:44 +00:00
itojun
4941865cd4 setproctitle fix. from openbsd 2000-07-05 22:21:15 +00:00
mycroft
45d698dd33 Make the rpcsvc dependencies work a bit better. 2000-06-12 01:57:25 +00:00
cgd
82990223e4 typo 2000-06-09 18:51:47 +00:00
fvdl
7704425071 Convert to tirpc interface, and to be af-independent. 2000-06-09 14:00:52 +00:00
bouyer
227ed98327 Implement file locking in lockd. All the stuff is done in userland, using
fhopen() and flock(). This means that if you kill lockd, all locks will
be relased (but you're supposed to kill statd at the same time, so
remote hosts will know it and re-establish the lock).
Tested against solaris 2.7 and linux 2.2.14 clients.
Shared lock are not handled efficiently, they're serialised in lockd when they
could be granted.
2000-06-07 14:34:40 +00:00
bouyer
a3bc666f44 Supports nlm version 4 (for use with nfsv3). 2000-02-02 18:17:42 +00:00
thorpej
56c5efa335 Use pidfile(3). 1999-06-06 02:52:16 +00:00
perry
34a98169f0 macroize BSD, NetBSD, FreeBSD and misc cleanup 1998-02-06 05:54:12 +00:00
lukem
0a94f4f077 use CPPFLAGS instead of CFLAGS 1997-10-25 06:57:53 +00:00
lukem
1b31876813 WARNSify 1997-10-18 04:01:10 +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
perry
2b46e80f93 transations -> transactions per pr 3333 from SAITOH Masanobu 1997-03-14 23:23:24 +00:00
scottr
6a8f5a85fd RCS Id police 1997-03-11 04:13:02 +00:00
scottr
a6fdc939ab NFS locking 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:26:19 +00:00