Subject: Re: Frame Maker & our portmap
To: None <hubert.feyrer@informatik.fh-regensburg.de>
From: Matthias Drochner <M.Drochner@fz-juelich.de>
List: current-users
Date: 12/17/1999 15:13:00
feyrer@rfhs8012.fh-regensburg.de said:
> Yes, but it's not saying something like "request not accepted due to
> insecure port" or similar. 

So ok, can you try the appended patch?

best regards
Matthias


Warning: Remote host denied X11 forwarding, perhaps xauth program could not be 
run on the server side.
Index: portmap.c
===================================================================
RCS file: /cvsroot/basesrc/usr.sbin/portmap/portmap.c,v
retrieving revision 1.21
diff -c -r1.21 portmap.c
*** portmap.c	1999/06/06 03:29:14	1.21
--- portmap.c	1999/12/17 14:11:26
***************
*** 338,351 ****
  		if (!svc_getargs(xprt, xdr_pmap, (caddr_t)&reg))
  			svcerr_decode(xprt);
  		else {
- 			if (verboselog)
- 				logit(log_severity, svc_getcaller(xprt),
- 				      rqstp->rq_proc, reg.pm_prog, "");
  			if (!insecure && !is_loopback(svc_getcaller(xprt))) {
  				ans = 0;
  				goto done;
  			}
  
  			/*
  			 * check to see if already used
  			 * find_service returns a hit even if
--- 338,356 ----
  		if (!svc_getargs(xprt, xdr_pmap, (caddr_t)&reg))
  			svcerr_decode(xprt);
  		else {
  			if (!insecure && !is_loopback(svc_getcaller(xprt))) {
+ 				if (verboselog)
+ 					logit(log_severity, svc_getcaller(xprt),
+ 					      rqstp->rq_proc, reg.pm_prog,
+ 					      "declined (non-loopback sender)");
  				ans = 0;
  				goto done;
  			}
  
+ 			if (verboselog)
+ 				logit(log_severity, svc_getcaller(xprt),
+ 				      rqstp->rq_proc, reg.pm_prog, "");
+ 
  			/*
  			 * check to see if already used
  			 * find_service returns a hit even if
***************
*** 396,407 ****
  			svcerr_decode(xprt);
  		else {
  			ans = 0;
- 			if (verboselog)
- 				logit(log_severity, svc_getcaller(xprt),
- 				      rqstp->rq_proc, reg.pm_prog, "");
  			if (!insecure && !is_loopback(svc_getcaller(xprt))) {
  				goto done;
  			}
  
  			for (prevpml = NULL, pml = pmaplist; pml != NULL; ) {
  				if ((pml->pml_map.pm_prog != reg.pm_prog) ||
--- 401,417 ----
  			svcerr_decode(xprt);
  		else {
  			ans = 0;
  			if (!insecure && !is_loopback(svc_getcaller(xprt))) {
+ 				if (verboselog)
+ 					logit(log_severity, svc_getcaller(xprt),
+ 					      rqstp->rq_proc, reg.pm_prog,
+ 					      "declined (non-loopback sender)");
  				goto done;
  			}
+ 
+ 			if (verboselog)
+ 				logit(log_severity, svc_getcaller(xprt),
+ 				      rqstp->rq_proc, reg.pm_prog, "");
  
  			for (prevpml = NULL, pml = pmaplist; pml != NULL; ) {
  				if ((pml->pml_map.pm_prog != reg.pm_prog) ||