diff options
| author | Warner Losh <imp@FreeBSD.org> | 1999-09-07 23:07:03 +0000 |
|---|---|---|
| committer | Warner Losh <imp@FreeBSD.org> | 1999-09-07 23:07:03 +0000 |
| commit | 91ecf7f98fab7652bb998eb6faaa14db0c913a22 (patch) | |
| tree | d21efe91603f2f78d6a0db8f27923e75351294df | |
| parent | 5a5fccc8e792522375133484f4cebc9f7da2c7d3 (diff) | |
Notes
| -rw-r--r-- | contrib/amd/amd/amq_subr.c | 21 |
1 files changed, 17 insertions, 4 deletions
diff --git a/contrib/amd/amd/amq_subr.c b/contrib/amd/amd/amq_subr.c index d6f9f8938f1e..69869fbf6168 100644 --- a/contrib/amd/amd/amq_subr.c +++ b/contrib/amd/amd/amq_subr.c @@ -38,7 +38,7 @@ * * %W% (Berkeley) %G% * - * $Id: amq_subr.c,v 1.2 1998/09/04 04:42:28 obrien Exp $ + * $Id: amq_subr.c,v 1.3 1999/01/13 20:03:54 obrien Exp $ * */ /* @@ -204,11 +204,24 @@ ok_security(struct svc_req *rqstp) int * amqproc_mount_1_svc(voidp argp, struct svc_req *rqstp) { - static int rc; - char *s = *(amq_string *) argp; + static int rc = EINVAL; + char s[AMQ_STRLEN]; char *cp; + char dq[20]; + struct sockaddr_in *sin; + + if ((sin = amu_svc_getcaller(rqstp->rq_xprt)) == NULL) { + plog(XLOG_ERROR, "amu_svc_getcaller returned NULL"); + return &rc; + } + + strncpy(s, *(amq_string *) argp, AMQ_STRLEN-1); + s[AMQ_STRLEN-1] = '\0'; /* null terminate, to be sure */ + plog(XLOG_ERROR, + "amq requested mount of %s from %s.%d", + s, inet_dquad(dq, sin->sin_addr.s_addr), + ntohs(sin->sin_port)); - plog(XLOG_INFO, "amq requested mount of %s", s); /* * Minimalist security check. */ |
