tUse hostname over IP for ssh/rsync - synk - synchronize files between hosts
(DIR) Log
(DIR) Files
(DIR) Refs
(DIR) README
(DIR) LICENSE
---
(DIR) commit d0b15bb852ef0841e4d4542a91d45f0cc0fd02ab
(DIR) parent 9e7246ff44e8e5a2bd5813d37683bc5640f6f8d7
(HTM) Author: Willy <willyatmailoodotorg>
Date: Sat, 3 Sep 2016 22:58:46 +0200
Use hostname over IP for ssh/rsync
Diffstat:
M synk.c | 18 ++++++------------
1 file changed, 6 insertions(+), 12 deletions(-)
---
(DIR) diff --git a/synk.c b/synk.c
t@@ -320,7 +320,7 @@ addpeer(struct peers_t *plist, char *hostname, in_port_t port)
host = resolve(hostname);
entry->peer.sin_family = AF_INET;
- entry->peer.sin_addr.s_addr = htonl(host->s_addr);
+ entry->peer.sin_addr.s_addr = host->s_addr;
entry->peer.sin_port = htons(port);
SLIST_INSERT_HEAD(plist, entry, entries);
t@@ -451,14 +451,10 @@ dosync(struct peer_t *master, struct peer_t *slave)
if (IS_LOOPBACK(slave)) {
snprintf(destination, _POSIX_ARG_MAX, "%s", master->meta.path);
- snprintf(source, _POSIX_ARG_MAX, "%s:%s",
- inet_ntoa(master->peer.sin_addr),
- slave->meta.path);
+ snprintf(source, _POSIX_ARG_MAX, "%s:%s", master->host, slave->meta.path);
} else {
snprintf(source, _POSIX_ARG_MAX, "%s", master->meta.path);
- snprintf(destination, _POSIX_ARG_MAX, "%s:%s",
- inet_ntoa(slave->peer.sin_addr),
- slave->meta.path);
+ snprintf(destination, _POSIX_ARG_MAX, "%s:%s", slave->host, slave->meta.path);
}
args[0] = source;
t@@ -468,7 +464,7 @@ dosync(struct peer_t *master, struct peer_t *slave)
if (!IS_LOOPBACK(master) && !IS_LOOPBACK(slave)) {
cmd = concat(2, ssh_cmd, (char *[]){
- inet_ntoa(master->peer.sin_addr),echo(cmd), NULL });
+ master->host, echo(cmd), NULL });
}
puts(echo(cmd));
t@@ -495,10 +491,8 @@ syncfile(struct peers_t *plist, const char *fn)
return -1;
SLIST_FOREACH(tmp, plist, entries) {
- if (getpeermeta(tmp, local) != 0) {
- printf("%s: couldn't retrieve metadata\n", inet_ntoa(tmp->peer.sin_addr));
+ if (getpeermeta(tmp, local) != 0)
return -1;
- }
}
addpeer(plist, "localhost", 0);
t@@ -527,7 +521,7 @@ spawnremote(struct peers_t *plist)
SLIST_FOREACH(tmp, plist, entries) {
snprintf(synk_cmd, _POSIX_ARG_MAX, "/usr/local/bin/synk -s -h %s",
inet_ntoa(tmp->peer.sin_addr));
- cmd = concat(2, ssh_cmd, (char *[]){ inet_ntoa(tmp->peer.sin_addr), synk_cmd, NULL });
+ cmd = concat(2, ssh_cmd, (char *[]){ tmp->host, synk_cmd, NULL });
if (!fork()) {
puts(echo(cmd));
execvp(cmd[0], cmd);