[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[SCM] GNU Inetutils branch, master, updated. inetutils-1_9_1-164-g43b1d
From: |
Mats Erik Andersson |
Subject: |
[SCM] GNU Inetutils branch, master, updated. inetutils-1_9_1-164-g43b1d34 |
Date: |
Fri, 07 Sep 2012 19:18:52 +0000 |
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU Inetutils ".
The branch, master has been updated
via 43b1d34579512f4257dcb1230d3edf59a25749c0 (commit)
from 8042e80fa1e4c76a883a7148ffa6a3041cfbb400 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://git.savannah.gnu.org/cgit/inetutils.git/commit/?id=43b1d34579512f4257dcb1230d3edf59a25749c0
commit 43b1d34579512f4257dcb1230d3edf59a25749c0
Author: Mats Erik Andersson <address@hidden>
Date: Fri Sep 7 21:15:59 2012 +0200
talk, talkd: Portability issue.
BSD systems need richer address structures,
which must be augmented from message data.
diff --git a/ChangeLog b/ChangeLog
index dc999f1..ebb85ce 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,15 @@
2012-09-07 Mats Erik Andersson <address@hidden>
+ talk, talkd: Portability issue.
+
+ * talk/look_up.c (check_local): New variable ADDR.
+ Call connect() with ADDR, built from `rp->addr'.
+
+ * talkd/talkd.c (talkd_run): New variable CTL_ADDR.
+ Call sendto() with CTL_ADDR, built from `msg.ctl_addr'.
+
+2012-09-07 Mats Erik Andersson <address@hidden>
+
traceroute: Support IDN named hosts.
* configure.ac: Check traceroute_BUILD and LIBIDN in
diff --git a/talk/look_up.c b/talk/look_up.c
index 3a0baab..22ac311 100644
--- a/talk/look_up.c
+++ b/talk/look_up.c
@@ -107,11 +107,18 @@ check_local (void)
current_state = "Waiting to connect with caller";
do
{
+ struct sockaddr addr;
+
if (rp->addr.sa_family != AF_INET)
p_error ("Response uses invalid network address");
errno = 0;
- if (connect (sockt,
- (struct sockaddr *) &rp->addr, sizeof (rp->addr)) != -1)
+ addr.sa_family = rp->addr.sa_family;
+#ifdef HAVE_STRUCT_SOCKADDR_SA_LEN
+ addr.sa_len = sizeof (struct sockaddr_in);
+#endif
+ memcpy (&addr.sa_data, &rp->addr.sa_data, sizeof (addr.sa_data));
+
+ if (connect (sockt, &addr, sizeof (addr)) != -1)
return (1);
}
while (errno == EINTR);
diff --git a/talkd/talkd.c b/talkd/talkd.c
index 1a7f12e..2c43736 100644
--- a/talkd/talkd.c
+++ b/talkd/talkd.c
@@ -151,6 +151,8 @@ alarm_handler (int err _GL_UNUSED_PARAMETER)
void
talkd_run (int fd)
{
+ struct sockaddr ctl_addr;
+
signal (SIGALRM, alarm_handler);
alarm (timeout);
while (1)
@@ -173,9 +175,14 @@ talkd_run (int fd)
last_msg_time = time (NULL);
if (process_request (&msg, &sa_in, &resp) == 0)
{
+ ctl_addr.sa_family = msg.ctl_addr.sa_family;
+#ifdef HAVE_STRUCT_SOCKADDR_SA_LEN
+ ctl_addr.sa_len = sizeof (struct sockaddr_in);
+#endif
+ memcpy (&ctl_addr.sa_data, &msg.ctl_addr.sa_data,
+ sizeof (ctl_addr.sa_data));
rc = sendto (fd, &resp, sizeof resp, 0,
- (struct sockaddr *) &msg.ctl_addr,
- sizeof (msg.ctl_addr));
+ &ctl_addr, sizeof (ctl_addr));
if (rc != sizeof resp && (logging || debug))
syslog (LOG_NOTICE, "sendto: %m");
}
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 10 ++++++++++
talk/look_up.c | 11 +++++++++--
talkd/talkd.c | 11 +++++++++--
3 files changed, 28 insertions(+), 4 deletions(-)
hooks/post-receive
--
GNU Inetutils
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [SCM] GNU Inetutils branch, master, updated. inetutils-1_9_1-164-g43b1d34,
Mats Erik Andersson <=