source: scripts/patches/portmap-5beta-compilation_fixes-3.patch @ a7d67ca

clfs-1.2clfs-2.1clfs-3.0.0-systemdclfs-3.0.0-sysvinitsystemdsysvinit
Last change on this file since a7d67ca was 7f65c0e, checked in by Jim Gifford <clfs@…>, 18 years ago

r625@server (orig r623): jim | 2005-10-31 12:43:24 -0800
Final Move

  • Property mode set to 100644
File size: 20.0 KB
RevLine 
[617118d]1Submitted By: Kevin P. Fleming <kpfleming at linuxfromscratch dot org>
2Date: 2004-05-02
3Initial Package Version: 5beta
4Origin: http://archives.linuxfromscratch.org/mail-archives/blfs-dev/2003-January/001960.html
5Description: The patch was created from the portmap modified package by Mark Heerdink.
6This patch provides the following improvements:
7    * Link against dynamic tcp_wrappers.
8    * Create an install target for portmap.
9    * Compilation and security fixes.
10    * Documentation fixes.
11
12Originally created by Tushar Teredesai, updated by kpfleming to ensure
13portmap will compile without tcp_wrappers installed.
14
15$LastChangedBy: randy $
16$Date: 2004-08-15 10:47:20 -0600 (Sun, 15 Aug 2004) $
17
18diff -Naur portmap_5beta/BLURB portmap_5beta.gimli/BLURB
19--- portmap_5beta/BLURB 1996-07-06 16:09:46.000000000 -0500
20+++ portmap_5beta.gimli/BLURB   2002-01-07 09:13:58.000000000 -0600
21@@ -1,3 +1,6 @@
22+
23+###############################################################################
24+
25 @(#) BLURB 1.5 96/07/06 23:09:45
26 
27 This is the fifth replacement portmapper release.
28diff -Naur portmap_5beta/Makefile portmap_5beta.gimli/Makefile
29--- portmap_5beta/Makefile      1996-07-06 16:06:19.000000000 -0500
30+++ portmap_5beta.gimli/Makefile        2002-07-15 16:00:07.000000000 -0500
31@@ -8,7 +8,7 @@
32 # if you disagree. See `man 3 syslog' for examples. Some syslog versions
33 # do not provide this flexibility.
34 #
35-FACILITY=LOG_MAIL
36+FACILITY=LOG_DAEMON
37 
38 # To disable tcp-wrapper style access control, comment out the following
39 # macro definitions.  Access control can also be turned off by providing
40@@ -16,7 +16,8 @@
41 # daemon, is always treated as an authorized host.
42 
43 HOSTS_ACCESS= -DHOSTS_ACCESS
44-WRAP_LIB = $(WRAP_DIR)/libwrap.a
45+#WRAP_LIB = $(WRAP_DIR)/libwrap.a
46+WRAP_LIB = -lwrap
47 
48 # Comment out if your RPC library does not allocate privileged ports for
49 # requests from processes with root privilege, or the new portmap will
50@@ -71,7 +72,7 @@
51 # With verbose logging on, HP-UX 9.x and AIX 4.1 leave zombies behind when
52 # SIGCHLD is not ignored. Enable next macro for a fix.
53 #
54-# ZOMBIES = -DIGNORE_SIGCHLD   # AIX 4.x, HP-UX 9.x
55+ZOMBIES = -DIGNORE_SIGCHLD     # AIX 4.x, HP-UX 9.x
56 
57 # Uncomment the following macro if your system does not have u_long.
58 #
59@@ -81,7 +82,7 @@
60 # libwrap.a object library. WRAP_DIR should specify the directory with
61 # that library.
62 
63-WRAP_DIR= ../tcp_wrappers
64+WRAP_DIR= $(TCPD_DIR)
65 
66 # Auxiliary object files that may be missing from your C library.
67 #
68@@ -99,22 +100,31 @@
69 
70 # Comment out if your compiler talks ANSI and understands const
71 #
72-CONST   = -Dconst=
73+#CONST   = -Dconst=
74 
75 ### End of configurable stuff.
76 ##############################
77 
78+GLIBC=$(shell grep -s -c __GLIBC__ /usr/include/features.h)
79+
80+ifeq ($(GLIBC),0)
81+LIBS   += # -lbsd
82+else
83+LIBS   += -lnsl
84+endif
85+
86+
87 SHELL  = /bin/sh
88 
89-COPT   = $(CONST) -Dperror=xperror $(HOSTS_ACCESS) $(CHECK_PORT) \
90+COPT   = $(CONST) $(HOSTS_ACCESS) $(CHECK_PORT) \
91        $(SYS) -DFACILITY=$(FACILITY) $(ULONG) $(ZOMBIES) $(SA_LEN) \
92        $(LOOPBACK) $(SETPGRP)
93-CFLAGS = $(COPT) -O $(NSARCHS)
94+CFLAGS = -Wall $(COPT) -O2 $(NSARCHS)
95 OBJECTS        = portmap.o pmap_check.o from_local.o $(AUX)
96 
97 all:   portmap pmap_dump pmap_set
98 
99-portmap: $(OBJECTS) $(WRAP_DIR)/libwrap.a
100+portmap: $(OBJECTS) # $(WRAP_DIR)/libwrap.a
101        $(CC) $(CFLAGS) -o $@ $(OBJECTS) $(WRAP_LIB) $(LIBS)
102 
103 pmap_dump: pmap_dump.c
104@@ -129,6 +139,17 @@
105 get_myaddress: get_myaddress.c
106        cc $(CFLAGS) -DTEST -o $@ get_myaddress.c $(LIBS)
107 
108+install: all
109+       install -o root -g root -m 0755 -s portmap ${BASEDIR}/sbin
110+       install -o root -g root -m 0755 -s pmap_dump ${BASEDIR}/usr/sbin
111+       install -o root -g root -m 0755 -s pmap_set ${BASEDIR}/usr/sbin
112+       install -o root -g root -m 0644 portmap.8 ${BASEDIR}/usr/share/man/man8
113+       install -o root -g root -m 0644 pmap_dump.8 ${BASEDIR}/usr/share/man/man8
114+       install -o root -g root -m 0644 pmap_set.8 ${BASEDIR}/usr/share/man/man8
115+#      cat README BLURB >${BASEDIR}/usr/share/doc/portmap/portmapper.txt
116+#      gzip -9f ${BASEDIR}/usr/share/doc/portmap/portmapper.txt
117+
118+
119 lint: 
120        lint $(COPT) $(OBJECTS:%.o=%.c)
121 
122diff -Naur portmap_5beta/daemon.c portmap_5beta.gimli/daemon.c
123--- portmap_5beta/daemon.c      1992-06-11 15:53:12.000000000 -0500
124+++ portmap_5beta.gimli/daemon.c        2002-01-07 09:22:24.000000000 -0600
125@@ -36,16 +36,13 @@
126 #endif /* LIBC_SCCS and not lint */
127 
128 #include <fcntl.h>
129-
130-/* From unistd.h */
131-#define STDIN_FILENO   0
132-#define STDOUT_FILENO  1
133-#define STDERR_FILENO  2
134+#include <unistd.h>
135+#include <sys/types.h>
136 
137 /* From paths.h */
138 #define _PATH_DEVNULL  "/dev/null"
139 
140-daemon(nochdir, noclose)
141+int daemon(nochdir, noclose)
142        int nochdir, noclose;
143 {
144        int cpid;
145diff -Naur portmap_5beta/from_local.c portmap_5beta.gimli/from_local.c
146--- portmap_5beta/from_local.c  1996-05-31 08:52:58.000000000 -0500
147+++ portmap_5beta.gimli/from_local.c    2002-01-07 09:25:49.000000000 -0600
148@@ -35,7 +35,7 @@
149  * Mountain View, California  94043
150  */
151 
152-#ifndef lint
153+#ifdef lint
154 static char sccsid[] = "@(#) from_local.c 1.3 96/05/31 15:52:57";
155 #endif
156 
157@@ -51,6 +51,9 @@
158 #include <net/if.h>
159 #include <sys/ioctl.h>
160 #include <syslog.h>
161+#include <stdlib.h>
162+#include <string.h>
163+#include <unistd.h>
164 
165 #ifndef TRUE
166 #define        TRUE    1
167@@ -96,7 +99,7 @@
168 
169 /* find_local - find all IP addresses for this host */
170 
171-find_local()
172+int find_local()
173 {
174     struct ifconf ifc;
175     struct ifreq ifreq;
176@@ -154,7 +157,7 @@
177 
178 /* from_local - determine whether request comes from the local system */
179 
180-from_local(addr)
181+int from_local(addr)
182 struct sockaddr_in *addr;
183 {
184     int     i;
185diff -Naur portmap_5beta/pmap_check.c portmap_5beta.gimli/pmap_check.c
186--- portmap_5beta/pmap_check.c  1996-07-07 03:49:10.000000000 -0500
187+++ portmap_5beta.gimli/pmap_check.c    2002-01-07 09:37:58.000000000 -0600
188@@ -32,7 +32,7 @@
189   * Computing Science, Eindhoven University of Technology, The Netherlands.
190   */
191 
192-#ifndef lint
193+#ifdef lint
194 static char sccsid[] = "@(#) pmap_check.c 1.8 96/07/07 10:49:10";
195 #endif
196 
197@@ -45,6 +45,11 @@
198 #include <netinet/in.h>
199 #include <rpc/rpcent.h>
200 #endif
201+#include <sys/types.h>
202+#include <unistd.h>
203+#ifdef HOSTS_ACCESS
204+#include <tcpd.h>
205+#endif
206 
207 extern char *inet_ntoa();
208 
209@@ -110,7 +113,7 @@
210 
211 /* check_default - additional checks for NULL, DUMP, GETPORT and unknown */
212 
213-check_default(addr, proc, prog)
214+int check_default(addr, proc, prog)
215 struct sockaddr_in *addr;
216 u_long  proc;
217 u_long  prog;
218@@ -128,7 +131,7 @@
219 
220 /* check_privileged_port - additional checks for privileged-port updates */
221 
222-check_privileged_port(addr, proc, prog, port)
223+int check_privileged_port(addr, proc, prog, port)
224 struct sockaddr_in *addr;
225 u_long  proc;
226 u_long  prog;
227@@ -173,7 +176,7 @@
228 
229 #else
230 
231-check_setunset(addr, proc, prog, port)
232+int check_setunset(addr, proc, prog, port)
233 struct sockaddr_in *addr;
234 u_long  proc;
235 u_long  prog;
236@@ -197,7 +200,7 @@
237 
238 /* check_callit - additional checks for forwarded requests */
239 
240-check_callit(addr, proc, prog, aproc)
241+int check_callit(addr, proc, prog, aproc)
242 struct sockaddr_in *addr;
243 u_long  proc;
244 u_long  prog;
245@@ -249,13 +252,13 @@
246     };
247     struct proc_map *procp;
248     static struct proc_map procmap[] = {
249-       PMAPPROC_CALLIT, "callit",
250-       PMAPPROC_DUMP, "dump",
251-       PMAPPROC_GETPORT, "getport",
252-       PMAPPROC_NULL, "null",
253-       PMAPPROC_SET, "set",
254-       PMAPPROC_UNSET, "unset",
255-       0, 0,
256+       { PMAPPROC_CALLIT, "callit" },
257+       { PMAPPROC_DUMP, "dump" },
258+       { PMAPPROC_GETPORT, "getport" },
259+       { PMAPPROC_NULL, "null" },
260+       { PMAPPROC_SET, "set" },
261+       { PMAPPROC_UNSET, "unset" },
262+       { 0, 0 }
263     };
264 
265     /*
266@@ -269,7 +272,7 @@
267 
268        if (prognum == 0) {
269            progname = "";
270-       } else if (rpc = getrpcbynumber((int) prognum)) {
271+       } else if ((rpc = getrpcbynumber((int) prognum)) != NULL) {
272            progname = rpc->r_name;
273        } else {
274            sprintf(progname = progbuf, "%lu", prognum);
275diff -Naur portmap_5beta/pmap_dump.8 portmap_5beta.gimli/pmap_dump.8
276--- portmap_5beta/pmap_dump.8   1969-12-31 18:00:00.000000000 -0600
277+++ portmap_5beta.gimli/pmap_dump.8     2002-01-07 09:13:58.000000000 -0600
278@@ -0,0 +1,24 @@
279+.TH PMAP_DUMP 8 "21th June 1997" Linux "Linux Programmer's Manual"
280+.SH NAME
281+pmap_dump \- print a list of all registered RPC programs
282+.SH SYNOPSIS
283+.B pmap_dump
284+.SH DESCRIPTION
285+The
286+.B pmap_dump
287+command can be used to restart a running portmapper or to print
288+a list of all registered RPC programs on the local host. If you
289+want to use the program to restart the portmapper you have to
290+redirect the output of
291+.B pmap_dump
292+to a file. After this you can restart the portmapper and restore
293+the list of the registered RPC programs by feeding the output
294+of
295+.B pmap_dump
296+to the
297+.B pmap_set
298+command.
299+.SH SEE ALSO
300+.BR pmap_set (8),
301+.BR rpc.portmap (8)
302+
303diff -Naur portmap_5beta/pmap_dump.c portmap_5beta.gimli/pmap_dump.c
304--- portmap_5beta/pmap_dump.c   1992-06-11 15:53:16.000000000 -0500
305+++ portmap_5beta.gimli/pmap_dump.c     2002-01-07 09:20:19.000000000 -0600
306@@ -5,7 +5,7 @@
307   * Computing Science, Eindhoven University of Technology, The Netherlands.
308   */
309 
310-#ifndef lint
311+#ifdef lint
312 static char sccsid[] = "@(#) pmap_dump.c 1.1 92/06/11 22:53:15";
313 #endif
314 
315@@ -23,7 +23,20 @@
316 
317 static char *protoname();
318 
319-main(argc, argv)
320+#ifndef INADDR_LOOPBACK
321+#define INADDR_LOOPBACK ntohl(inet_addr("127.0.0.1"))
322+#endif
323+
324+static void    get_myloopaddress(addrp)
325+struct sockaddr_in *addrp;
326+{
327+    memset((char *) addrp, 0, sizeof(*addrp));
328+    addrp->sin_family = AF_INET;
329+    addrp->sin_port = htons(PMAPPORT);
330+    addrp->sin_addr.s_addr = htonl(INADDR_LOOPBACK);
331+}
332+
333+int main(argc, argv)
334 int     argc;
335 char  **argv;
336 {
337@@ -31,7 +44,7 @@
338     register struct pmaplist *list;
339     register struct rpcent *rpc;
340 
341-    get_myaddress(&addr);
342+    get_myloopaddress(&addr);
343 
344     for (list = pmap_getmaps(&addr); list; list = list->pml_next) {
345        rpc = getrpcbynumber((int) list->pml_map.pm_prog);
346diff -Naur portmap_5beta/pmap_set.8 portmap_5beta.gimli/pmap_set.8
347--- portmap_5beta/pmap_set.8    1969-12-31 18:00:00.000000000 -0600
348+++ portmap_5beta.gimli/pmap_set.8      2002-01-07 09:13:58.000000000 -0600
349@@ -0,0 +1,24 @@
350+.TH PMAP_SET 8 "21th June 1997" Linux "Linux Programmer's Manual"
351+.SH NAME
352+pmap_set \- set the list of registered RPC programs
353+.SH SYNOPSIS
354+.B pmap_set
355+.SH DESCRIPTION
356+The
357+.B pmap_set
358+command can be used to restart a running portmapper or to set
359+the list of registered RPC programs on the local host. If you
360+want to use the program to restart the portmapper you have to
361+redirect the output of
362+.B pmap_dump
363+to a file. After this you can restart the portmapper and restore
364+the list of the registered RPC programs by feeding the output
365+of
366+.B pmap_dump
367+to the
368+.B pmap_set
369+command.
370+.SH SEE ALSO
371+.BR pmap_dump (8),
372+.BR rpc.portmap (8)
373+
374diff -Naur portmap_5beta/pmap_set.c portmap_5beta.gimli/pmap_set.c
375--- portmap_5beta/pmap_set.c    1996-07-06 16:06:23.000000000 -0500
376+++ portmap_5beta.gimli/pmap_set.c      2002-01-07 09:22:10.000000000 -0600
377@@ -5,7 +5,7 @@
378   * Computing Science, Eindhoven University of Technology, The Netherlands.
379   */
380 
381-#ifndef lint
382+#ifdef lint
383 static char sccsid[] = "@(#) pmap_set.c 1.2 96/07/06 23:06:23";
384 #endif
385 
386@@ -17,7 +17,9 @@
387 #include <rpc/rpc.h>
388 #include <rpc/pmap_clnt.h>
389 
390-main(argc, argv)
391+int parse_line(char *buf, u_long *prog, u_long *vers, int *prot, unsigned *port);
392+
393+int main(argc, argv)
394 int     argc;
395 char  **argv;
396 {
397@@ -40,16 +42,16 @@
398 
399 /* parse_line - convert line to numbers */
400 
401-parse_line(buf, prog, vers, prot, port)
402+int parse_line(buf, prog, vers, prot, port)
403 char   *buf;
404 u_long *prog;
405 u_long *vers;
406 int    *prot;
407 unsigned *port;
408 {
409-    char    proto_name[BUFSIZ];
410+    char    proto_name[256];
411 
412-    if (sscanf(buf, "%lu %lu %s %u", prog, vers, proto_name, port) != 4) {
413+    if (sscanf(buf, "%lu %lu %255s %u", prog, vers, proto_name, port) != 4) {
414        return (0);
415     }
416     if (strcmp(proto_name, "tcp") == 0) {
417diff -Naur portmap_5beta/portmap.8 portmap_5beta.gimli/portmap.8
418--- portmap_5beta/portmap.8     1969-12-31 18:00:00.000000000 -0600
419+++ portmap_5beta.gimli/portmap.8       2002-01-07 09:13:58.000000000 -0600
420@@ -0,0 +1,146 @@
421+.\" Copyright (c) 1987 Sun Microsystems
422+.\" Copyright (c) 1990, 1991 The Regents of the University of California.
423+.\" All rights reserved.
424+.\"
425+.\" Redistribution and use in source and binary forms, with or without
426+.\" modification, are permitted provided that the following conditions
427+.\" are met:
428+.\" 1. Redistributions of source code must retain the above copyright
429+.\"    notice, this list of conditions and the following disclaimer.
430+.\" 2. Redistributions in binary form must reproduce the above copyright
431+.\"    notice, this list of conditions and the following disclaimer in the
432+.\"    documentation and/or other materials provided with the distribution.
433+.\" 3. All advertising materials mentioning features or use of this software
434+.\"    must display the following acknowledgement:
435+.\"    This product includes software developed by the University of
436+.\"    California, Berkeley and its contributors.
437+.\" 4. Neither the name of the University nor the names of its contributors
438+.\"    may be used to endorse or promote products derived from this software
439+.\"    without specific prior written permission.
440+.\"
441+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
442+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
443+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
444+.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
445+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
446+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
447+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
448+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
449+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
450+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
451+.\" SUCH DAMAGE.
452+.\"
453+.\"     from: @(#)portmap.8    5.3 (Berkeley) 3/16/91
454+.\"    $Id: portmap-5beta-compilation_fixes-3.patch,v 1.1 2004/06/08 04:53:09 jim Exp $
455+.\"
456+.Dd March 16, 1991
457+.Dt PORTMAP 8
458+.Os BSD 4.3
459+.Sh NAME
460+.Nm portmap
461+.Nd
462+.Tn DARPA
463+port to
464+.Tn RPC
465+program number mapper
466+.Sh SYNOPSIS
467+.Nm portmap
468+.Op Fl d
469+.Op Fl v
470+.Sh DESCRIPTION
471+.Nm Portmap
472+is a server that converts
473+.Tn RPC
474+program numbers into
475+.Tn DARPA
476+protocol port numbers.
477+It must be running in order to make
478+.Tn RPC
479+calls.
480+.Pp
481+When an
482+.Tn RPC
483+server is started, it will tell
484+.Nm portmap
485+what port number it is listening to, and what
486+.Tn RPC
487+program numbers it is prepared to serve.
488+When a client wishes to make an
489+.Tn RPC
490+call to a given program number,
491+it will first contact
492+.Nm portmap
493+on the server machine to determine
494+the port number where
495+.Tn RPC
496+packets should be sent.
497+.Pp
498+.Nm Portmap
499+must be started before any
500+.Tn RPC
501+servers are invoked.
502+.Pp
503+Normally
504+.Nm portmap
505+forks and dissociates itself from the terminal
506+like any other daemon.
507+.Nm Portmap
508+then logs errors using
509+.Xr syslog 3 .
510+.Pp
511+Option available:
512+.Bl -tag -width Ds
513+.It Fl d
514+(debug) prevents
515+.Nm portmap
516+from running as a daemon,
517+and causes errors and debugging information
518+to be printed to the standard error output.
519+.It Fl v
520+(verbose) run
521+.Nm portmap
522+in verbose mode.
523+.El
524+
525+This
526+.Nm portmap
527+version is protected by the
528+.Nm tcp_wrapper
529+library. You have to give the clients access to
530+.Nm portmap
531+if they should be allowed to use it. To allow connects from clients of
532+the .bar.com domain you could use the following line in /etc/hosts.allow:
533+
534+portmap: .bar.com
535+
536+You have to use the daemon name
537+.Nm portmap
538+for the daemon name (even if the binary has a different name). For the
539+client names you can only use the keyword ALL or IP addresses (NOT
540+host or domain names).
541+
542+For further information please have a look at the
543+.Xr tcpd 8 ,
544+.Xr hosts_allow 5
545+and
546+.Xr hosts_access 5
547+manual pages.
548+
549+.Sh SEE ALSO
550+.Xr inetd.conf 5 ,
551+.Xr rpcinfo 8 ,
552+.Xr pmap_set 8 ,
553+.Xr pmap_dump 8 ,
554+.Xr inetd 8
555+.Xr tcpd 8
556+.Xr hosts_access 5
557+.Xr hosts_options 5
558+.Sh BUGS
559+If
560+.Nm portmap
561+crashes, all servers must be restarted.
562+.Sh HISTORY
563+The
564+.Nm
565+command appeared in
566+.Bx 4.3
567diff -Naur portmap_5beta/portmap.c portmap_5beta.gimli/portmap.c
568--- portmap_5beta/portmap.c     1996-07-06 16:06:24.000000000 -0500
569+++ portmap_5beta.gimli/portmap.c       2002-01-07 09:26:41.000000000 -0600
570@@ -37,7 +37,7 @@
571  All rights reserved.\n";
572 #endif /* not lint */
573 
574-#ifndef lint
575+#ifdef lint
576 static char sccsid[] = "@(#) portmap.c 1.6 96/07/06 23:06:23";
577 #endif /* not lint */
578 
579@@ -80,6 +80,9 @@
580  * Mountain View, California  94043
581  */
582 
583+#if defined(__GLIBC__)
584+#include <rpc/xdr.h>
585+#endif /* __GLIBC__ */
586 #include <rpc/rpc.h>
587 #include <rpc/pmap_prot.h>
588 #include <stdio.h>
589@@ -94,6 +97,8 @@
590 #ifdef SYSV40
591 #include <netinet/in.h>
592 #endif
593+#include <sys/types.h>
594+#include <unistd.h>
595 
596 extern char *strerror();
597 #include <stdlib.h>
598@@ -148,7 +153,7 @@
599 #endif
600 #endif
601 
602-main(argc, argv)
603+int main(argc, argv)
604        int argc;
605        char **argv;
606 {
607@@ -350,7 +355,7 @@
608                 */
609                /* remote host authorization check */
610                check_default(svc_getcaller(xprt), rqstp->rq_proc, (u_long) 0);
611-               if (!svc_sendreply(xprt, xdr_void, (caddr_t)0) && debugging) {
612+               if (!svc_sendreply(xprt, (xdrproc_t) xdr_void, (caddr_t)0) && debugging) {
613                        abort();
614                }
615                break;
616@@ -359,7 +364,7 @@
617                /*
618                 * Set a program,version to port mapping
619                 */
620-               if (!svc_getargs(xprt, xdr_pmap, &reg))
621+               if (!svc_getargs(xprt, (xdrproc_t) xdr_pmap, (caddr_t) &reg))
622                        svcerr_decode(xprt);
623                else {
624                        /* reject non-local requests, protect priv. ports */
625@@ -401,7 +406,7 @@
626                                ans = 1;
627                        }
628                done:
629-                       if ((!svc_sendreply(xprt, xdr_int, (caddr_t)&ans)) &&
630+                       if ((!svc_sendreply(xprt, (xdrproc_t) xdr_int, (caddr_t)&ans)) &&
631                            debugging) {
632                                (void) fprintf(stderr, "svc_sendreply\n");
633                                abort();
634@@ -413,7 +418,7 @@
635                /*
636                 * Remove a program,version to port mapping.
637                 */
638-               if (!svc_getargs(xprt, xdr_pmap, &reg))
639+               if (!svc_getargs(xprt, (xdrproc_t) xdr_pmap, (caddr_t) &reg))
640                        svcerr_decode(xprt);
641                else {
642                        ans = 0;
643@@ -447,7 +452,7 @@
644                                        prevpml->pml_next = pml;
645                                free(t);
646                        }
647-                       if ((!svc_sendreply(xprt, xdr_int, (caddr_t)&ans)) &&
648+                       if ((!svc_sendreply(xprt, (xdrproc_t) xdr_int, (caddr_t)&ans)) &&
649                            debugging) {
650                                (void) fprintf(stderr, "svc_sendreply\n");
651                                abort();
652@@ -459,7 +464,7 @@
653                /*
654                 * Lookup the mapping for a program,version and return its port
655                 */
656-               if (!svc_getargs(xprt, xdr_pmap, &reg))
657+               if (!svc_getargs(xprt, (xdrproc_t) xdr_pmap, (caddr_t) &reg))
658                        svcerr_decode(xprt);
659                else {
660                        /* remote host authorization check */
661@@ -474,7 +479,7 @@
662                                port = fnd->pml_map.pm_port;
663                        else
664                                port = 0;
665-                       if ((!svc_sendreply(xprt, xdr_int, (caddr_t)&port)) &&
666+                       if ((!svc_sendreply(xprt, (xdrproc_t) xdr_int, (caddr_t)&port)) &&
667                            debugging) {
668                                (void) fprintf(stderr, "svc_sendreply\n");
669                                abort();
670@@ -486,7 +491,7 @@
671                /*
672                 * Return the current set of mapped program,version
673                 */
674-               if (!svc_getargs(xprt, xdr_void, NULL))
675+               if (!svc_getargs(xprt, (xdrproc_t) xdr_void, (caddr_t) NULL))
676                        svcerr_decode(xprt);
677                else {
678                        /* remote host authorization check */
679@@ -497,7 +502,7 @@
680                        } else {
681                                p = pmaplist;
682                        }
683-                       if ((!svc_sendreply(xprt, xdr_pmaplist,
684+                       if ((!svc_sendreply(xprt, (xdrproc_t) xdr_pmaplist,
685                            (caddr_t)&p)) && debugging) {
686                                (void) fprintf(stderr, "svc_sendreply\n");
687                                abort();
688@@ -645,7 +650,7 @@
689        timeout.tv_sec = 5;
690        timeout.tv_usec = 0;
691        a.rmt_args.args = buf;
692-       if (!svc_getargs(xprt, xdr_rmtcall_args, &a))
693+       if (!svc_getargs(xprt, (xdrproc_t) xdr_rmtcall_args, (caddr_t) &a))
694                return;
695        /* host and service access control */
696        if (!check_callit(svc_getcaller(xprt),
697@@ -674,9 +679,9 @@
698                           au->aup_uid, au->aup_gid, au->aup_len, au->aup_gids);
699                }
700                a.rmt_port = (u_long)port;
701-               if (clnt_call(client, a.rmt_proc, xdr_opaque_parms, &a,
702-                   xdr_len_opaque_parms, &a, timeout) == RPC_SUCCESS) {
703-                       svc_sendreply(xprt, xdr_rmtcall_result, (caddr_t)&a);
704+               if (clnt_call(client, a.rmt_proc, (xdrproc_t) xdr_opaque_parms, (char*) &a,
705+                   (xdrproc_t) xdr_len_opaque_parms, (char*) &a, timeout) == RPC_SUCCESS) {
706+                       svc_sendreply(xprt, (xdrproc_t) xdr_rmtcall_result, (caddr_t)&a);
707                }
708                AUTH_DESTROY(client->cl_auth);
709                clnt_destroy(client);
Note: See TracBrowser for help on using the repository browser.