All of lore.kernel.org
 help / color / mirror / Atom feed
From: Chuck Lever <chuck.lever@oracle.com>
To: neilb@suse.de
Cc: nfs@lists.sourceforge.net
Subject: [PATCH 11/13] SUNRPC: Support IPv6 addresses in svc_tcp_accept
Date: Thu, 18 Jan 2007 18:50:58 -0500	[thread overview]
Message-ID: <20070118235058.24266.18237.stgit@localhost.localdomain> (raw)
In-Reply-To: <20070118234855.24266.37463.stgit@localhost.localdomain>

Modify svc_tcp_accept to support connecting on IPv6 sockets.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Cc: Aurelien Charbon <aurelien.charbon@ext.bull.net>
---

 net/sunrpc/svcsock.c |   11 +++++------
 1 files changed, 5 insertions(+), 6 deletions(-)

diff --git a/net/sunrpc/svcsock.c b/net/sunrpc/svcsock.c
index ddf4773..b3efa23 100644
--- a/net/sunrpc/svcsock.c
+++ b/net/sunrpc/svcsock.c
@@ -947,7 +947,8 @@ #endif
 static void
 svc_tcp_accept(struct svc_sock *svsk)
 {
-	struct sockaddr_in sin;
+	struct sockaddr_storage addr;
+	struct sockaddr	*sin = (struct sockaddr *) &addr;
 	struct svc_serv	*serv = svsk->sk_server;
 	struct socket	*sock = svsk->sk_sock;
 	struct socket	*newsock;
@@ -974,8 +975,7 @@ svc_tcp_accept(struct svc_sock *svsk)
 	set_bit(SK_CONN, &svsk->sk_flags);
 	svc_sock_enqueue(svsk);
 
-	slen = sizeof(sin);
-	err = kernel_getpeername(newsock, (struct sockaddr *) &sin, &slen);
+	err = kernel_getpeername(newsock, sin, &slen);
 	if (err < 0) {
 		if (net_ratelimit())
 			printk(KERN_WARNING "%s: peername failed (err %d)!\n",
@@ -987,12 +987,11 @@ svc_tcp_accept(struct svc_sock *svsk)
 	 * hosts here, but when we get encryption, the IP of the host won't
 	 * tell us anything.  For now just warn about unpriv connections.
 	 */
-	if (!svc_port_is_privileged((struct sockaddr *) &sin)) {
+	if (!svc_port_is_privileged(sin)) {
 		dprintk(KERN_WARNING
 			"%s: connect from unprivileged port: %s\n",
 			serv->sv_name,
-			__svc_print_addr((struct sockaddr *) &sin, buf,
-								sizeof(buf)));
+			__svc_print_addr(sin, buf, sizeof(buf)));
 	}
 	dprintk("%s: connect from %s\n", serv->sv_name, buf);
 

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
NFS maillist  -  NFS@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nfs

  parent reply	other threads:[~2007-01-18 23:51 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-01-18 23:48 [PATCH 00/13] RPC server pre-requisites for IPv6 Chuck Lever
2007-01-18 23:50 ` [PATCH 01/13] SUNRPC: update internal API: separate pmap register and temp sockets Chuck Lever
2007-01-18 23:50 ` [PATCH 02/13] SUNRPC: allow creating an RPC service without registering with portmapper Chuck Lever
2007-01-18 23:50 ` [PATCH 03/13] SUNRPC: Cache remote peer's address in svc_sock Chuck Lever
2007-01-18 23:50 ` [PATCH 04/13] SUNRPC: Don't set msg_name and msg_namelen when calling sock_recvmsg Chuck Lever
2007-01-18 23:50 ` [PATCH 05/13] SUNRPC: Add a function to format the address in an svc_rqst for printing Chuck Lever
2007-01-18 23:50 ` [PATCH 06/13] SUNRPC: Use sockaddr_storage to store address in svc_deferred_req Chuck Lever
2007-01-18 23:50 ` [PATCH 07/13] SUNRPC: Provide room in svc_rqst for larger addresses Chuck Lever
2007-01-18 23:50 ` [PATCH 08/13] SUNRPC: Make rq_daddr field address-version independent Chuck Lever
2007-01-18 23:50 ` [PATCH 09/13] SUNRPC: teach svc_sendto() to deal with IPv6 addresses Chuck Lever
2007-01-18 23:50 ` [PATCH 10/13] SUNRPC: add a "generic" function to see if the peer uses a secure port Chuck Lever
2007-01-18 23:50 ` Chuck Lever [this message]
2007-01-18 23:51 ` [PATCH 12/13] SUNRPC: support IPv6 addresses in RPC server's UDP receive path Chuck Lever
2007-01-18 23:51 ` [PATCH 13/13] SUNRPC: fix up svc_create_socket() to take a sockaddr struct + length Chuck Lever
2007-01-30  5:24 ` [PATCH 00/13] RPC server pre-requisites for IPv6 Neil Brown
  -- strict thread matches above, loose matches on Subject: below --
2006-11-13 12:56 [PATCH 00/13] repost RPC server patches for IPv6 support Chuck Lever
2006-11-13 12:58 ` [PATCH 11/13] SUNRPC: Support IPv6 addresses in svc_tcp_accept Chuck Lever

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20070118235058.24266.18237.stgit@localhost.localdomain \
    --to=chuck.lever@oracle.com \
    --cc=neilb@suse.de \
    --cc=nfs@lists.sourceforge.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.