diff options
author | Allan Stephens <allan.stephens@windriver.com> | 2006-06-26 08:44:57 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2006-06-26 08:44:57 +0200 |
commit | 3388007bc4d662e50c2c01a7fb1fa2c31cea98ad (patch) | |
tree | 9971f7cb08c6d20485db861a36604bdafe1019e2 /net | |
parent | [TIPC]: Fixed connect() to detect a dest address that is missing or too short. (diff) | |
download | linux-3388007bc4d662e50c2c01a7fb1fa2c31cea98ad.tar.xz linux-3388007bc4d662e50c2c01a7fb1fa2c31cea98ad.zip |
[TIPC]: Implied connect now saves dest name for retrieval as ancillary data.
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
Signed-off-by: Per Liden <per.liden@ericsson.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net')
-rw-r--r-- | net/tipc/socket.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/net/tipc/socket.c b/net/tipc/socket.c index 758b2d2d2f9c..98550b90a730 100644 --- a/net/tipc/socket.c +++ b/net/tipc/socket.c @@ -470,6 +470,10 @@ static int send_msg(struct kiocb *iocb, struct socket *sock, if ((tsock->p->published) || ((sock->type == SOCK_STREAM) && (total_len != 0))) return -EOPNOTSUPP; + if (dest->addrtype == TIPC_ADDR_NAME) { + tsock->p->conn_type = dest->addr.name.name.type; + tsock->p->conn_instance = dest->addr.name.name.instance; + } } if (down_interruptible(&tsock->sem)) @@ -1269,10 +1273,6 @@ static int connect(struct socket *sock, struct sockaddr *dest, int destlen, msg = buf_msg(buf); res = auto_connect(sock, tsock, msg); if (!res) { - if (dst->addrtype == TIPC_ADDR_NAME) { - tsock->p->conn_type = dst->addr.name.name.type; - tsock->p->conn_instance = dst->addr.name.name.instance; - } if (!msg_data_sz(msg)) advance_queue(tsock); } |