123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338 |
- diff -urN portmap_4/daemon.c portmap_4.new/daemon.c
- --- portmap_4/daemon.c Thu Jun 11 13:53:12 1992
- +++ portmap_4.new/daemon.c Mon Nov 29 18:37:28 1999
- @@ -35,7 +35,9 @@
- static char sccsid[] = "@(#)daemon.c 5.3 (Berkeley) 12/28/90";
- #endif /* LIBC_SCCS and not lint */
-
- +#include <sys/types.h>
- #include <fcntl.h>
- +#include <unistd.h>
-
- /* From unistd.h */
- #define STDIN_FILENO 0
- @@ -44,7 +46,7 @@
-
- /* From paths.h */
- #define _PATH_DEVNULL "/dev/null"
- -
- +int
- daemon(nochdir, noclose)
- int nochdir, noclose;
- {
- diff -urN portmap_4/from_local.c portmap_4.new/from_local.c
- --- portmap_4/from_local.c Fri May 31 06:52:58 1996
- +++ portmap_4.new/from_local.c Tue Nov 30 01:21:27 1999
- @@ -46,12 +46,14 @@
- #include <sys/types.h>
- #include <sys/socket.h>
- #include <stdio.h>
- -#include <stdlib.h>
- +#include <unistd.h>
- #include <netdb.h>
- #include <netinet/in.h>
- #include <net/if.h>
- #include <sys/ioctl.h>
- #include <syslog.h>
- +#include <stdlib.h>
- +#include <string.h>
-
- #ifndef TRUE
- #define TRUE 1
- @@ -95,7 +98,7 @@
- }
-
- /* find_local - find all IP addresses for this host */
- -
- +int
- find_local()
- {
- struct ifconf ifc;
- @@ -153,7 +156,7 @@
- }
-
- /* from_local - determine whether request comes from the local system */
- -
- +int
- from_local(addr)
- struct sockaddr_in *addr;
- {
- diff -urN portmap_4/pmap_check.c portmap_4.new/pmap_check.c
- --- portmap_4/pmap_check.c Sun Nov 21 11:59:01 1993
- +++ portmap_4.new/pmap_check.c Tue Nov 30 01:19:37 1999
- @@ -34,7 +34,7 @@
- #ifndef lint
- static char sccsid[] = "@(#) pmap_check.c 1.6 93/11/21 20:58:59";
- #endif
- -
- +#include <unistd.h>
- #include <rpc/rpc.h>
- #include <rpc/pmap_prot.h>
- #include <syslog.h>
- @@ -66,6 +66,9 @@
-
- /* A handful of macros for "readability". */
-
- +/* coming from libwrap.a (tcp_wrappers) */
- +extern int hosts_ctl(char *daemon, char *name, char *addr, char *user);
- +
- #define good_client(a) hosts_ctl("portmap", "", inet_ntoa(a->sin_addr), "")
-
- #define legal_port(a,p) \
- @@ -104,6 +107,7 @@
-
- /* check_default - additional checks for NULL, DUMP, GETPORT and unknown */
-
- +int
- check_default(addr, proc, prog)
- struct sockaddr_in *addr;
- u_long proc;
- @@ -121,7 +125,7 @@
- }
-
- /* check_privileged_port - additional checks for privileged-port updates */
- -
- +int
- check_privileged_port(addr, proc, prog, port)
- struct sockaddr_in *addr;
- u_long proc;
- @@ -147,6 +147,6 @@
-
- #ifdef LOOPBACK_SETUNSET
- -
- +int
- check_setunset(xprt, ludp_xprt, ltcp_xprt, proc, prog, port)
- SVCXPRT *xprt;
- SVCXPRT *ludp_xprt;
- @@ -173,6 +174,6 @@
-
- #else
- -
- +int
- check_setunset(addr, proc, prog, port)
- struct sockaddr_in *addr;
- u_long proc;
- @@ -160,7 +164,7 @@
- }
-
- /* check_callit - additional checks for forwarded requests */
- -
- +int
- check_callit(addr, proc, prog, aproc)
- struct sockaddr_in *addr;
- u_long proc;
- @@ -213,13 +217,13 @@
- };
- struct proc_map *procp;
- static struct proc_map procmap[] = {
- - PMAPPROC_CALLIT, "callit",
- - PMAPPROC_DUMP, "dump",
- - PMAPPROC_GETPORT, "getport",
- - PMAPPROC_NULL, "null",
- - PMAPPROC_SET, "set",
- - PMAPPROC_UNSET, "unset",
- - 0, 0,
- + { PMAPPROC_CALLIT, "callit"},
- + { PMAPPROC_DUMP, "dump"},
- + { PMAPPROC_GETPORT, "getport"},
- + { PMAPPROC_NULL, "null"},
- + { PMAPPROC_SET, "set"},
- + { PMAPPROC_UNSET, "unset"},
- + { 0, 0},
- };
-
- /*
- @@ -233,7 +237,7 @@
-
- if (prognum == 0) {
- progname = "";
- - } else if (rpc = getrpcbynumber((int) prognum)) {
- + } else if ((rpc = getrpcbynumber((int) prognum))) {
- progname = rpc->r_name;
- } else {
- sprintf(progname = progbuf, "%lu", prognum);
- diff -urN portmap_4/pmap_dump.c portmap_4.new/pmap_dump.c
- --- portmap_4/pmap_dump.c Thu Jun 11 13:53:16 1992
- +++ portmap_4.new/pmap_dump.c Tue Nov 30 01:22:07 1999
- @@ -22,7 +22,7 @@
- #include <rpc/pmap_prot.h>
-
- static char *protoname();
- -
- +int
- main(argc, argv)
- int argc;
- char **argv;
- diff -urN portmap_4/pmap_set.c portmap_4.new/pmap_set.c
- --- portmap_4/pmap_set.c Thu Jun 11 13:53:17 1992
- +++ portmap_4.new/pmap_set.c Tue Nov 30 01:23:49 1999
- @@ -17,6 +17,9 @@
- #include <rpc/rpc.h>
- #include <rpc/pmap_clnt.h>
-
- +int parse_line(char *buf, u_long *, u_long *, int *, unsigned *);
- +
- +int
- main(argc, argv)
- int argc;
- char **argv;
- @@ -42,7 +45,7 @@
- }
-
- /* parse_line - convert line to numbers */
- -
- +int
- parse_line(buf, prog, vers, prot, port)
- char *buf;
- u_long *prog;
- diff -urN portmap_4/portmap.c portmap_4.new/portmap.c
- --- portmap_4/portmap.c Fri May 31 06:52:59 1996
- +++ portmap_4.new/portmap.c Tue Nov 30 01:01:32 1999
- @@ -83,6 +83,7 @@
- #include <rpc/rpc.h>
- #include <rpc/pmap_prot.h>
- #include <stdio.h>
- +#include <unistd.h>
- #include <syslog.h>
- #include <netdb.h>
- #include <sys/socket.h>
- @@ -128,6 +129,7 @@
-
- #include "pmap_check.h"
-
- +int
- main(argc, argv)
- int argc;
- char **argv;
- @@ -229,6 +231,7 @@
- svc_run();
- syslog(LOG_ERR, "run_svc returned unexpectedly");
- abort();
- + /* never reached */
- }
-
- #ifndef lint
- @@ -290,7 +293,7 @@
- */
- /* remote host authorization check */
- check_default(svc_getcaller(xprt), rqstp->rq_proc, (u_long) 0);
- - if (!svc_sendreply(xprt, xdr_void, (caddr_t)0) && debugging) {
- + if (!svc_sendreply(xprt, (xdrproc_t)xdr_void, (caddr_t)0) && debugging) {
- abort();
- }
- break;
- @@ -299,7 +302,7 @@
- /*
- * Set a program,version to port mapping
- */
- - if (!svc_getargs(xprt, xdr_pmap, ®))
- + if (!svc_getargs(xprt, (xdrproc_t)xdr_pmap, (caddr_t)®))
- svcerr_decode(xprt);
- else {
- /* reject non-local requests, protect priv. ports */
- @@ -341,7 +344,7 @@
- ans = 1;
- }
- done:
- - if ((!svc_sendreply(xprt, xdr_int, (caddr_t)&ans)) &&
- + if ((!svc_sendreply(xprt, (xdrproc_t)xdr_int, (caddr_t)&ans)) &&
- debugging) {
- (void) fprintf(stderr, "svc_sendreply\n");
- abort();
- @@ -353,7 +356,7 @@
- /*
- * Remove a program,version to port mapping.
- */
- - if (!svc_getargs(xprt, xdr_pmap, ®))
- + if (!svc_getargs(xprt, (xdrproc_t)xdr_pmap, (caddr_t)®))
- svcerr_decode(xprt);
- else {
- ans = 0;
- @@ -387,7 +390,7 @@
- prevpml->pml_next = pml;
- free(t);
- }
- - if ((!svc_sendreply(xprt, xdr_int, (caddr_t)&ans)) &&
- + if ((!svc_sendreply(xprt, (xdrproc_t)xdr_int, (caddr_t)&ans)) &&
- debugging) {
- (void) fprintf(stderr, "svc_sendreply\n");
- abort();
- @@ -399,7 +402,7 @@
- /*
- * Lookup the mapping for a program,version and return its port
- */
- - if (!svc_getargs(xprt, xdr_pmap, ®))
- + if (!svc_getargs(xprt, (xdrproc_t)xdr_pmap, (caddr_t)®))
- svcerr_decode(xprt);
- else {
- /* remote host authorization check */
- @@ -414,7 +417,7 @@
- port = fnd->pml_map.pm_port;
- else
- port = 0;
- - if ((!svc_sendreply(xprt, xdr_int, (caddr_t)&port)) &&
- + if ((!svc_sendreply(xprt, (xdrproc_t)xdr_int, (caddr_t)&port)) &&
- debugging) {
- (void) fprintf(stderr, "svc_sendreply\n");
- abort();
- @@ -426,7 +429,7 @@
- /*
- * Return the current set of mapped program,version
- */
- - if (!svc_getargs(xprt, xdr_void, NULL))
- + if (!svc_getargs(xprt, (xdrproc_t)xdr_void, NULL))
- svcerr_decode(xprt);
- else {
- /* remote host authorization check */
- @@ -437,7 +440,7 @@
- } else {
- p = pmaplist;
- }
- - if ((!svc_sendreply(xprt, xdr_pmaplist,
- + if ((!svc_sendreply(xprt, (xdrproc_t)xdr_pmaplist,
- (caddr_t)&p)) && debugging) {
- (void) fprintf(stderr, "svc_sendreply\n");
- abort();
- @@ -481,7 +484,7 @@
- struct encap_parms *epp;
- {
-
- - return (xdr_bytes(xdrs, &(epp->args), &(epp->arglen), ARGSIZE));
- + return (xdr_bytes(xdrs, &(epp->args), (u_int *)&(epp->arglen), ARGSIZE));
- }
-
- struct rmtcallargs {
- @@ -585,7 +588,7 @@
- timeout.tv_sec = 5;
- timeout.tv_usec = 0;
- a.rmt_args.args = buf;
- - if (!svc_getargs(xprt, xdr_rmtcall_args, &a))
- + if (!svc_getargs(xprt, (xdrproc_t)xdr_rmtcall_args, (caddr_t)&a))
- return;
- /* host and service access control */
- if (!check_callit(svc_getcaller(xprt),
- @@ -614,9 +617,9 @@
- au->aup_uid, au->aup_gid, au->aup_len, au->aup_gids);
- }
- a.rmt_port = (u_long)port;
- - if (clnt_call(client, a.rmt_proc, xdr_opaque_parms, &a,
- - xdr_len_opaque_parms, &a, timeout) == RPC_SUCCESS) {
- - svc_sendreply(xprt, xdr_rmtcall_result, (caddr_t)&a);
- + if (clnt_call(client, a.rmt_proc, (xdrproc_t)xdr_opaque_parms, (caddr_t)&a,
- + (xdrproc_t)xdr_len_opaque_parms, (caddr_t)&a, timeout) == RPC_SUCCESS) {
- + svc_sendreply(xprt, (xdrproc_t)xdr_rmtcall_result, (caddr_t)&a);
- }
- AUTH_DESTROY(client->cl_auth);
- clnt_destroy(client);
- +--------------------------------------------------------------------+
- | Ste'phane ERANIAN | Email eranian@hpl.hp.com |
- | Hewlett-Packard Laboratories | |
- | 1501, Page Mill Road MS 1U-15 | |
- | Palo Alto, CA 94303-096 | |
- | USA | |
- | Tel : (650) 857-7174 | |
- | Fax : (650) 857-5548 | |
- +--------------------------------------------------------------------+
|