213 lines
6.0 KiB
Diff
213 lines
6.0 KiB
Diff
From 3d176ea1f0f45e0c715dd1d7ef545edb9b6abc19 Mon Sep 17 00:00:00 2001
|
|
From: Aaron Lipinski <aaron.lipinski@roboticsplus.co.nz>
|
|
Date: Sat, 3 Apr 2021 15:00:45 +1300
|
|
Subject: [PATCH 1/5] move net_send_batch call to its caller
|
|
|
|
---
|
|
ui/gtk.c | 1 +
|
|
ui/net.c | 1 -
|
|
2 files changed, 1 insertion(+), 1 deletion(-)
|
|
|
|
diff --git a/ui/gtk.c b/ui/gtk.c
|
|
index dd79efc..0fd8339 100644
|
|
--- a/ui/gtk.c
|
|
+++ b/ui/gtk.c
|
|
@@ -249,6 +249,7 @@ static gint Host_activate(
|
|
addr = dns_forward(gtk_entry_get_text(GTK_ENTRY(entry)));
|
|
if (addr) {
|
|
net_reopen(ctl, addr);
|
|
+ net_send_batch(ctl);
|
|
/* If we are "Paused" at this point it is usually because someone
|
|
entered a non-existing host. Therefore do the go-ahead... */
|
|
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(Pause_Button), 0);
|
|
diff --git a/ui/net.c b/ui/net.c
|
|
index e4752b7..3160195 100644
|
|
--- a/ui/net.c
|
|
+++ b/ui/net.c
|
|
@@ -785,7 +785,6 @@ void net_reopen(
|
|
memcpy(remoteaddress, addr->h_addr, sockaddr_addr_size(remotesockaddr));
|
|
memcpy(sockaddr_addr_offset(remotesockaddr), addr->h_addr, sockaddr_addr_size(remotesockaddr));
|
|
net_reset(ctl);
|
|
- net_send_batch(ctl);
|
|
}
|
|
|
|
|
|
--
|
|
2.27.0
|
|
|
|
|
|
From 69933c309082d2ef25815613c59a7a744a914b16 Mon Sep 17 00:00:00 2001
|
|
From: Aaron Lipinski <aaron.lipinski@roboticsplus.co.nz>
|
|
Date: Sat, 3 Apr 2021 15:05:01 +1300
|
|
Subject: [PATCH 2/5] addr -> hostent for consistency
|
|
|
|
---
|
|
ui/net.c | 8 ++++----
|
|
1 file changed, 4 insertions(+), 4 deletions(-)
|
|
|
|
diff --git a/ui/net.c b/ui/net.c
|
|
index 3160195..f7aa088 100644
|
|
--- a/ui/net.c
|
|
+++ b/ui/net.c
|
|
@@ -773,7 +773,7 @@ int net_open(
|
|
|
|
void net_reopen(
|
|
struct mtr_ctl *ctl,
|
|
- struct hostent *addr)
|
|
+ struct hostent *hostent)
|
|
{
|
|
int at;
|
|
|
|
@@ -781,9 +781,9 @@ void net_reopen(
|
|
memset(&host[at], 0, sizeof(host[at]));
|
|
}
|
|
|
|
- remotesockaddr->sa_family = addr->h_addrtype;
|
|
- memcpy(remoteaddress, addr->h_addr, sockaddr_addr_size(remotesockaddr));
|
|
- memcpy(sockaddr_addr_offset(remotesockaddr), addr->h_addr, sockaddr_addr_size(remotesockaddr));
|
|
+ remotesockaddr->sa_family = hostent->h_addrtype;
|
|
+ memcpy(remoteaddress, hostent->h_addr, sockaddr_addr_size(remotesockaddr));
|
|
+ memcpy(sockaddr_addr_offset(remotesockaddr), hostent->h_addr, sockaddr_addr_size(remotesockaddr));
|
|
net_reset(ctl);
|
|
}
|
|
|
|
--
|
|
2.27.0
|
|
|
|
|
|
From 6c3b1bd36624609f83c6ce3563c3bcfb98d824ae Mon Sep 17 00:00:00 2001
|
|
From: Aaron Lipinski <aaron.lipinski@roboticsplus.co.nz>
|
|
Date: Sat, 3 Apr 2021 15:07:17 +1300
|
|
Subject: [PATCH 3/5] re-init source too
|
|
|
|
---
|
|
ui/net.c | 35 ++++++++++++++++-------------------
|
|
1 file changed, 16 insertions(+), 19 deletions(-)
|
|
|
|
diff --git a/ui/net.c b/ui/net.c
|
|
index f7aa088..866879b 100644
|
|
--- a/ui/net.c
|
|
+++ b/ui/net.c
|
|
@@ -747,6 +747,22 @@ int net_open(
|
|
return err;
|
|
}
|
|
|
|
+ net_reopen(ctl, hostent);
|
|
+
|
|
+ return 0;
|
|
+}
|
|
+
|
|
+
|
|
+void net_reopen(
|
|
+ struct mtr_ctl *ctl,
|
|
+ struct hostent *hostent)
|
|
+{
|
|
+ int at;
|
|
+
|
|
+ for (at = 0; at < MaxHost; at++) {
|
|
+ memset(&host[at], 0, sizeof(host[at]));
|
|
+ }
|
|
+
|
|
net_reset(ctl);
|
|
|
|
remotesockaddr->sa_family = sourcesockaddr->sa_family = hostent->h_addrtype;
|
|
@@ -766,25 +782,6 @@ int net_open(
|
|
}
|
|
|
|
inet_ntop(remotesockaddr->sa_family, sockaddr_addr_offset(remotesockaddr), remoteaddr, sizeof(remoteaddr));
|
|
-
|
|
- return 0;
|
|
-}
|
|
-
|
|
-
|
|
-void net_reopen(
|
|
- struct mtr_ctl *ctl,
|
|
- struct hostent *hostent)
|
|
-{
|
|
- int at;
|
|
-
|
|
- for (at = 0; at < MaxHost; at++) {
|
|
- memset(&host[at], 0, sizeof(host[at]));
|
|
- }
|
|
-
|
|
- remotesockaddr->sa_family = hostent->h_addrtype;
|
|
- memcpy(remoteaddress, hostent->h_addr, sockaddr_addr_size(remotesockaddr));
|
|
- memcpy(sockaddr_addr_offset(remotesockaddr), hostent->h_addr, sockaddr_addr_size(remotesockaddr));
|
|
- net_reset(ctl);
|
|
}
|
|
|
|
|
|
--
|
|
2.27.0
|
|
|
|
|
|
From 54d91ea2f04966e1d4cdf6a080c6b80857ee7bd6 Mon Sep 17 00:00:00 2001
|
|
From: Aaron Lipinski <aaron.lipinski@roboticsplus.co.nz>
|
|
Date: Sat, 3 Apr 2021 15:25:09 +1300
|
|
Subject: [PATCH 4/5] additional call from net_reopen
|
|
|
|
---
|
|
ui/net.c | 1 +
|
|
1 file changed, 1 insertion(+)
|
|
|
|
diff --git a/ui/net.c b/ui/net.c
|
|
index 866879b..e47cbcf 100644
|
|
--- a/ui/net.c
|
|
+++ b/ui/net.c
|
|
@@ -770,6 +770,7 @@ void net_reopen(
|
|
|
|
sourceaddress = sockaddr_addr_offset(sourcesockaddr);
|
|
remoteaddress = sockaddr_addr_offset(remotesockaddr);
|
|
+ memcpy(remoteaddress, hostent->h_addr, sockaddr_addr_size(remotesockaddr));
|
|
|
|
if (ctl->InterfaceAddress) {
|
|
net_validate_interface_address(ctl->af, ctl->InterfaceAddress);
|
|
--
|
|
2.27.0
|
|
|
|
|
|
From e486335d7552c2a87b4a14bdf04394a590be3441 Mon Sep 17 00:00:00 2001
|
|
From: Aaron Lipinski <aaron.lipinski@roboticsplus.co.nz>
|
|
Date: Sat, 3 Apr 2021 15:34:31 +1300
|
|
Subject: [PATCH 5/5] refactor - group local, remote inits
|
|
|
|
---
|
|
ui/net.c | 9 ++++-----
|
|
1 file changed, 4 insertions(+), 5 deletions(-)
|
|
|
|
diff --git a/ui/net.c b/ui/net.c
|
|
index e47cbcf..a44a81e 100644
|
|
--- a/ui/net.c
|
|
+++ b/ui/net.c
|
|
@@ -766,23 +766,22 @@ void net_reopen(
|
|
net_reset(ctl);
|
|
|
|
remotesockaddr->sa_family = sourcesockaddr->sa_family = hostent->h_addrtype;
|
|
- memcpy(sockaddr_addr_offset(remotesockaddr), hostent->h_addr, sockaddr_addr_size(remotesockaddr));
|
|
-
|
|
- sourceaddress = sockaddr_addr_offset(sourcesockaddr);
|
|
remoteaddress = sockaddr_addr_offset(remotesockaddr);
|
|
memcpy(remoteaddress, hostent->h_addr, sockaddr_addr_size(remotesockaddr));
|
|
+ inet_ntop(remotesockaddr->sa_family, remoteaddress, remoteaddr, sizeof(remoteaddr));
|
|
+
|
|
+ sourceaddress = sockaddr_addr_offset(sourcesockaddr);
|
|
|
|
if (ctl->InterfaceAddress) {
|
|
net_validate_interface_address(ctl->af, ctl->InterfaceAddress);
|
|
} else if (ctl->InterfaceName) {
|
|
net_find_interface_address_from_name(
|
|
&sourcesockaddr_struct, ctl->af, ctl->InterfaceName);
|
|
- inet_ntop(sourcesockaddr->sa_family, sockaddr_addr_offset(sourcesockaddr), localaddr, sizeof(localaddr));
|
|
+ inet_ntop(sourcesockaddr->sa_family, sourceaddress, localaddr, sizeof(localaddr));
|
|
} else {
|
|
net_find_local_address();
|
|
}
|
|
|
|
- inet_ntop(remotesockaddr->sa_family, sockaddr_addr_offset(remotesockaddr), remoteaddr, sizeof(remoteaddr));
|
|
}
|
|
|
|
|
|
--
|
|
2.27.0
|
|
|