Commit Graph

75 Commits

Author SHA1 Message Date
John Birrell
844b78330c Generate code that doesn't fail gcc 4.2's strict aliasing test. 2007-11-20 01:46:12 +00:00
Xin LI
f7504c33c4 Use POSIX mutex instead of Solaris ones. This makes generation
of threaded RPC servers to work out of the box.

Spotted by:	Changming Sun <changming at staff.sina.com.cn>
Sponsored by:	SINA Corporation
Approved by:	re (kensmith)
2007-08-23 09:39:40 +00:00
Xin LI
f87730d4b0 sysent.h is installed as sys/sysent.h, so reflect it.
Approved by:	re (kensmith)
Spotted by:	Changming Sun <changming at staff.sina.com.cn>
Sponsored by:	SINA Corporation
2007-08-23 09:38:26 +00:00
Stefan Eßer
03fec0bdbc Never define the generated rpc server main function with storage type
"static". The header file generated by "rpcgen -h" will always declare
it as extern, leading to a "static after extern" error being issued by
gcc-4.2. This caused only a warning in gcc-3.x, but it has been wrong
all the time.

This change does not modify the code generated by "rpcgen -m", it only
affects rpcgen used to generate server stubs with a local main function.

This is the minimal patch. It does not remove the now obsolete "storage"
parameter from write_program() and write_programs() in an attempt to keep
differences to other systems' versions of rpcgen as small as possible.
2007-06-16 14:39:25 +00:00
Robert Watson
99b671f5a1 In change 1.15, an arbitrary setting of the max RPC record size to
RPC_MAXDATASIZE was introduced.  This is believed to have been debugging
code committed accidentally, although I've been unable to reach the
committer to confirm this.  The effect was to limit the size of RPCs on
TCP and UDP to 9k, well below the default protocol limits in the libc
rpc code.  This change simply removes these introduced limits, falling
back on the libc definitions.

PR:		88856
Reported by:	Keith Bostic <bostic at sleepycat dot com>
Testing by:	Susan LoVerso <sue at loverso dot southborough dot ma dot us>
Reveiwed by:	cel, rees
Review timeout:	alfred, mbr
MFC after:	2 weeks
2006-05-17 23:18:17 +00:00
Craig Rodrigues
8cb6926e16 Eliminate coredump problem introduced by last commit.
Noticed by:	Guido van Rooij <guido at gvr dot org>
2005-11-14 13:35:08 +00:00
Craig Rodrigues
075775c9e4 Eliminate build breakage due to warnings about const. 2005-11-14 03:11:25 +00:00
David Malone
e390e3af7c Use ANSI definitions.
Avoid using extern by declaring shared functions in header files.
Const poision.
2005-11-13 21:17:24 +00:00
Stefan Farfeleder
848b3d0fd7 In version 1.8 I botched findval()'s type, fix. 2005-09-02 21:51:18 +00:00
Stefan Farfeleder
1e72f11f56 Use socklen_t variables when passing sizes to getsockname() and
getsockopt().
2005-09-02 19:33:50 +00:00
Stefan Farfeleder
b702f91df9 The appropriate argument is -K -1, not -k -1. 2005-09-02 18:37:34 +00:00
Stefan Farfeleder
adcd73865c Fix a syntax error in the generated code when invoked with -P. Note that
the generated code still doesn't compile as we lack tinfo, t_getinfo and
friends.
2005-09-02 18:20:47 +00:00
Stefan Farfeleder
896cdc310c Stop generating the `register' keyword. 2005-09-02 10:32:05 +00:00
Stefan Farfeleder
15df5e2d43 Don't generate K&R C code. The -C flag is kept for backwards compatibility.
Also remove the SIG_PF macro, there is no need to cast closedown.
2005-09-02 10:23:26 +00:00
Stefan Farfeleder
ec06b5e868 Only write the dispatch table function prototypes to the header if the -h
flag was specified.  If all files are generated at once, those functions are
static and shouldn't appear in the header.

PR:		84450
Reviewed by:	alfred
2005-09-01 19:16:25 +00:00
Stefan Farfeleder
d0cc804bba - Use prototypes in headers.
- Include rpc_scan.h before rpc_util.h for the tok_kind enum.
- Nuke unused declarations.
2005-08-31 20:45:15 +00:00
Stefan Farfeleder
122562cd2b Rename the variable inline' to inline_size'. 2005-08-31 19:44:40 +00:00
Stefan Farfeleder
63f1737128 Move #ident into #if 0. 2005-05-31 20:00:29 +00:00
Alfred Perlstein
ed5769e305 back out 1.7 changes, unneeded and possibly wrong. 2005-02-10 10:44:29 +00:00
Stefan Farfeleder
4f83fd1962 Let the generated code include <string.h> instead of <memory.h>. 2005-02-10 08:12:38 +00:00
Alfred Perlstein
7fe4c24002 Modify rpcgen -t output to something that's a lot more useful in
today's modern "no sir, not today" compilers.

Basically, when building the table:

 use NULL instead of 0,
 use braces around array initializers,
 case the function pointers to xdrproc_t,
 don't cast function pointers that do not need casting.

MFC After: 1 week
2005-02-02 22:14:10 +00:00
Ruslan Ermilov
6bf2021116 Markup nit. 2005-01-15 11:20:51 +00:00
Ruslan Ermilov
6a3e8b0adc Mechanically kill hard sentence breaks. 2004-07-02 22:22:35 +00:00
Sean Kelly
080f4020a3 - style(9) improvements courtesy of bde.
- Revise the former commit to behave nicer on filenames containing
  multiple '.' characters.
- Prevent the generation of macros starting with "__".
2004-05-02 07:07:54 +00:00
Sean Kelly
10c546c43f Teach rpcgen to generate .h files properly when the input filename contains
characters that can't be used in preprocessor macros.

PR:		bin/66156
Submitted by:	K S Braunsdorf <rpc@ksb.npcguild.org>
2004-05-02 01:55:23 +00:00
Martin Blapp
c5455e6d6a Fix broken -a functionality.
Reviewed by:	phk
Submitted by:	Martin Kammerhofer <mkamm@gmx.net>
PR:		53451

MFC:		1 week
2003-06-19 09:19:51 +00:00
Martin Blapp
bcb53b1606 Implement nonblocking tpc-connections. rpcgen -m does still
produce backcompatible code.

Reviewed by:	rwatson
Obtained from:	NetBSD
MFC after:	1 day
2003-01-16 07:27:30 +00:00
Ruslan Ermilov
06e482e60a mdoc(7) police: markup polishing.
Approved by:	re
2002-11-26 17:33:37 +00:00
Philippe Charnier
75863a6dbb Removal of spaces at EOL. Add __FBSDID. New function xmalloc, xrealloc,
xstrdup. There is a crash() function that do cleaning before exiting the
program. The new functions are wrappers that make use of crash() in case
of allocation failure. warn, exit -> err.

Reviewed by:	alfred
2002-07-21 12:55:04 +00:00
Alfred Perlstein
651feb6587 WARNS=2 2002-07-14 17:55:35 +00:00
Alfred Perlstein
40ad88851b - TI-RPC is now the default again for code generation.
- As before, inetd support support is turned of per default.
  Code for inetd can be made with -I.

- Support for ``transport monitors'' and the NLSPROVIDER env
  variable is still there , even if their use is not clear in
  non TLI stream based systems like Free-/NetBSD. It can be activated
  with -P.

- There are a few corrections in rpcgen.1 and usage function to conform
  to the code. Added and documented -P

- I removed the #ifdefs checks for Free-/NetBSD since we are the only
  ones who use this code. MaxOS X may have the same limitations as
  we have, so this code will correctly build for them.

- Generate correct cflags.

Submitted by: mbr, Jean-Luc Richier <Jean-Luc.Richier@imag.fr>
PR: bin/29175, misc/27816
2002-07-14 17:54:00 +00:00
Dag-Erling Smørgrav
7dac28cfc3 Back out part of previous commit - K&R doesn't have const. 2002-05-09 11:24:58 +00:00
Dag-Erling Smørgrav
0081eff379 Make _msgout take a const char * rather than a char *.
Sponsored by:	DARPA, NAI Labs
2002-05-08 14:50:28 +00:00
Philippe Charnier
e8937ba009 Use `The .Nm utility' 2002-04-20 12:18:28 +00:00
Warner Losh
d3cb5ded92 remove __P 2002-03-22 01:33:25 +00:00
Alfred Perlstein
7e440a74e8 Have rpcgen output the prototypes for the dispatch tables 2001-11-13 11:08:29 +00:00
Kris Kennaway
a0b13740e8 Don't overflow a buffer from command line arguments.
MFC after:	2 weeks
2001-08-20 09:43:04 +00:00
Kris Kennaway
c0e30a2b1f Embed $FreeBSD$ as an rcsid[] 2001-07-19 01:39:12 +00:00
Dima Dorfman
f247324df7 Remove whitespace at EOL. 2001-07-15 08:06:20 +00:00
Kris Kennaway
69c828c6bc Don't generate syslog() statements which have format string vulnerabilities.
MFC after:	1 week
2001-07-05 08:17:41 +00:00
Alfred Perlstein
f0cad56fd7 Turn -b (BSD socket compat mode) back on by default, as we don't have TLI/XTI 2001-04-13 23:20:16 +00:00
Ruslan Ermilov
dc12be5258 MAN[1-9] -> MAN. 2001-03-27 10:52:19 +00:00
Alfred Perlstein
8360efbd6c Bring in a hybrid of SunSoft's transport-independent RPC (TI-RPC) and
associated changes that had to happen to make this possible as well as
bugs fixed along the way.

  Bring in required TLI library routines to support this.

  Since we don't support TLI we've essentially copied what NetBSD
  has done, adding a thin layer to emulate direct the TLI calls
  into BSD socket calls.

  This is mostly from Sun's tirpc release that was made in 1994,
  however some fixes were backported from the 1999 release (supposedly
  only made available after this porting effort was underway).

  The submitter has agreed to continue on and bring us up to the
  1999 release.

  Several key features are introduced with this update:
    Client calls are thread safe. (1999 code has server side thread
    safe)
    Updated, a more modern interface.

  Many userland updates were done to bring the code up to par with
  the recent RPC API.

  There is an update to the pthreads library, a function
  pthread_main_np() was added to emulate a function of Sun's threads
  library.

  While we're at it, bring in NetBSD's lockd, it's been far too
  long of a wait.

  New rpcbind(8) replaces portmap(8) (supporting communication over
  an authenticated Unix-domain socket, and by default only allowing
  set and unset requests over that channel). It's much more secure
  than the old portmapper.

  Umount(8), mountd(8), mount_nfs(8), nfsd(8) have also been upgraded
  to support TI-RPC and to support IPV6.

  Umount(8) is also fixed to unmount pathnames longer than 80 chars,
  which are currently truncated by the Kernel statfs structure.

Submitted by: Martin Blapp <mb@imp.ch>
Manpage review: ru
Secure RPC implemented by: wpaul
2001-03-19 12:50:13 +00:00
David E. O'Brien
f29126734d Have rpcgen actually tell us what cpp it is looking for (as it would if we
were SVR%).
2001-01-10 19:12:47 +00:00
David E. O'Brien
89ea5c2a49 Use /usr/bin/cpp as on NetBSD, not /usr/libexec/cpp. 2001-01-09 17:14:04 +00:00
Ruslan Ermilov
8fe908ef0c mdoc(7) police: use the new features of the Nm macro. 2000-11-20 19:21:22 +00:00
Brian Somers
bff9e230c6 Include sys/types.h 2000-10-16 08:22:42 +00:00
Sheldon Hearn
87faa07bec Remove single-space hard sentence breaks. These degrade the quality
of the typeset output, tend to make diffs harder to read and provide
bad examples for new-comers to mdoc.
2000-03-01 12:20:22 +00:00
Chris Costello
c139298856 Reduce the number of args to .%T to an acceptable number by
removing the `Nm' command from the line.  This means that %T
will actually work.
2000-02-14 01:21:13 +00:00
Mike Pritchard
f3c2973db7 Fxi various man pages to stop abusing the .Bx macro to generate
the string "FreeBSD".  Use the .Fx macro instead.  Also did some
minor re-wording/formatting to work around a deficiency with
the .Fx macro when it comes to puncuation characters other than
periods and commas.
2000-01-23 01:48:16 +00:00