commit c44f19f80d5f25f052f62dcefc6137df8b86aad7
parent e7476006e1e753fc4f3e496d9b099b494ed51562
Author: parazyd <parazyd@dyne.org>
Date: Thu, 1 Mar 2018 01:38:09 +0100
Use defined net format in net.c
Diffstat:
2 files changed, 12 insertions(+), 4 deletions(-)
diff --git a/bin/rpsend b/bin/rpsend
@@ -53,7 +53,7 @@ if ! [ -f "$profile/smtp-fingerprint" ]; then
fi
known="$(cat $profile/smtp-fingerprint)"
-served="$(rpnet -f $imap1host 587)"
+served="$(rpnet -f "tcps!$imap1host!imaps")"
einfo "known fingerprint: $known"
einfo "served fingerprint: $served"
diff --git a/net.c b/net.c
@@ -48,14 +48,22 @@ int net_gettype(char *str) {
return -1;
}
-net_t *net_new(char *type, char *addr, char *port) {
+net_t *net_new(char *desc) {
net_t *ret;
+ char *type, *addr, *service;;
+
+ type = strtok(desc, "!");
+ addr = strtok(NULL, "!");
+ service = strtok(NULL, "!");
+
+ if ((!type) || (!addr) || (!service))
+ die("invalid line fed to net_new\n");
ret = malloc(sizeof(net_t));
ret->type = net_gettype(type);
ret->addr = addr;
- ret->service = port;
+ ret->service = service;
return ret;
}
@@ -152,7 +160,7 @@ int netmain(int argc, char *argv[]) {
net_t *net;
- net = net_new("tcps", argv[1], argv[2]);
+ net = net_new(argv[1]);
if (sslfpr(net))
return 1;