iio: Use defines instead of constants - sacc - sacc(omys), simple console gopher client Err bitreich.org 70 hgit clone git://bitreich.org/sacc/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/sacc/ URL:git://bitreich.org/sacc/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/sacc/ bitreich.org 70 1Log /scm/sacc/log.gph bitreich.org 70 1Files /scm/sacc/files.gph bitreich.org 70 1Refs /scm/sacc/refs.gph bitreich.org 70 1Tags /scm/sacc/tag bitreich.org 70 1LICENSE /scm/sacc/file/LICENSE.gph bitreich.org 70 i--- Err bitreich.org 70 1commit 392dcb24732c88f500266b923bafdda8eb631220 /scm/sacc/commit/392dcb24732c88f500266b923bafdda8eb631220.gph bitreich.org 70 1parent e8930420e7c31a3cea0484314bd38aba5197fa39 /scm/sacc/commit/e8930420e7c31a3cea0484314bd38aba5197fa39.gph bitreich.org 70 hAuthor: Quentin Rameau URL:mailto:quinq@fifth.space bitreich.org 70 iDate: Tue, 20 Sep 2022 23:30:55 +0200 Err bitreich.org 70 i Err bitreich.org 70 iio: Use defines instead of constants Err bitreich.org 70 i Err bitreich.org 70 iDiffstat: Err bitreich.org 70 i M io.h | 5 +++++ Err bitreich.org 70 i M io_tls.c | 39 +++++++++++++++++-------------- Err bitreich.org 70 i M sacc.c | 5 ++--- Err bitreich.org 70 i M ui_ti.c | 4 ++-- Err bitreich.org 70 i Err bitreich.org 70 i4 files changed, 31 insertions(+), 22 deletions(-) Err bitreich.org 70 i--- Err bitreich.org 70 1diff --git a/io.h b/io.h /scm/sacc/file/io.h.gph bitreich.org 70 i@@ -1,5 +1,10 @@ Err bitreich.org 70 i #include Err bitreich.org 70 i Err bitreich.org 70 i+#define CONN_VALID 0 Err bitreich.org 70 i+#define CONN_ERROR -1 Err bitreich.org 70 i+#define CONN_RETRY -2 Err bitreich.org 70 i+#define CONN_ABORT -3 Err bitreich.org 70 i+ Err bitreich.org 70 i struct cnx { Err bitreich.org 70 i #ifdef USE_TLS Err bitreich.org 70 i struct tls *tls; Err bitreich.org 70 1diff --git a/io_tls.c b/io_tls.c /scm/sacc/file/io_tls.c.gph bitreich.org 70 i@@ -12,6 +12,10 @@ Err bitreich.org 70 i #include "common.h" Err bitreich.org 70 i #include "io.h" Err bitreich.org 70 i Err bitreich.org 70 i+#define TLS_OFF 0 Err bitreich.org 70 i+#define TLS_ON 1 Err bitreich.org 70 i+#define TLS_PEM 2 Err bitreich.org 70 i+ Err bitreich.org 70 i int tls; Err bitreich.org 70 i Err bitreich.org 70 i static int Err bitreich.org 70 i@@ -19,7 +23,7 @@ close_tls(struct cnx *c) Err bitreich.org 70 i { Err bitreich.org 70 i int r; Err bitreich.org 70 i Err bitreich.org 70 i- if (tls && c->tls) { Err bitreich.org 70 i+ if (tls != TLS_OFF && c->tls) { Err bitreich.org 70 i do { Err bitreich.org 70 i r = tls_close(c->tls); Err bitreich.org 70 i } while (r == TLS_WANT_POLLIN || r == TLS_WANT_POLLOUT); Err bitreich.org 70 i@@ -71,9 +75,10 @@ connect_tls(struct cnx *c, struct addrinfo *ai, const char *host) Err bitreich.org 70 i if ((t = tls_client()) == NULL) Err bitreich.org 70 i return -1; Err bitreich.org 70 i Err bitreich.org 70 i+/* XXX: construct path from getuid home path */ Err bitreich.org 70 i snprintf(pempath, sizeof(pempath), "/home/quinq/share/sacc/%s.pem", host); Err bitreich.org 70 i switch (tls) { Err bitreich.org 70 i- case 1: Err bitreich.org 70 i+ case TLS_ON: Err bitreich.org 70 i /* check if there is a local certificate for target */ Err bitreich.org 70 i if (access(pempath, R_OK) == 0) { Err bitreich.org 70 i if ((tc = tls_config_new()) == NULL) Err bitreich.org 70 i@@ -84,7 +89,7 @@ connect_tls(struct cnx *c, struct addrinfo *ai, const char *host) Err bitreich.org 70 i goto end; Err bitreich.org 70 i } Err bitreich.org 70 i break; Err bitreich.org 70 i- case 2: Err bitreich.org 70 i+ case TLS_PEM: Err bitreich.org 70 i /* save target certificate to file */ Err bitreich.org 70 i if ((tc = tls_config_new()) == NULL) Err bitreich.org 70 i goto end; Err bitreich.org 70 i@@ -103,12 +108,12 @@ connect_tls(struct cnx *c, struct addrinfo *ai, const char *host) Err bitreich.org 70 i Err bitreich.org 70 i if (r == 0) { Err bitreich.org 70 i switch (tls) { Err bitreich.org 70 i- case 1: Err bitreich.org 70 i+ case TLS_ON: Err bitreich.org 70 i c->tls = t; Err bitreich.org 70 i break; Err bitreich.org 70 i- case 2: Err bitreich.org 70 i- r = savepem(t, pempath) == 0 ? -2 : -1; Err bitreich.org 70 i- tls = 1; Err bitreich.org 70 i+ case TLS_PEM: Err bitreich.org 70 i+ r = savepem(t, pempath) == 0 ? CONN_RETRY : CONN_ERROR; Err bitreich.org 70 i+ tls = TLS_ON; Err bitreich.org 70 i break; Err bitreich.org 70 i } Err bitreich.org 70 i } else { Err bitreich.org 70 i@@ -119,8 +124,8 @@ connect_tls(struct cnx *c, struct addrinfo *ai, const char *host) Err bitreich.org 70 i switch (*s) { Err bitreich.org 70 i case 'Y': Err bitreich.org 70 i case 'y': Err bitreich.org 70 i- tls = 2; Err bitreich.org 70 i- r = -2; Err bitreich.org 70 i+ tls = TLS_PEM; Err bitreich.org 70 i+ r = CONN_RETRY; Err bitreich.org 70 i goto end; Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i@@ -129,17 +134,17 @@ connect_tls(struct cnx *c, struct addrinfo *ai, const char *host) Err bitreich.org 70 i case 'Y': Err bitreich.org 70 i case 'y': Err bitreich.org 70 i case '\0': Err bitreich.org 70 i- tls = 0; Err bitreich.org 70 i- r = -2; Err bitreich.org 70 i+ tls = TLS_OFF; Err bitreich.org 70 i+ r = CONN_RETRY; Err bitreich.org 70 i break; Err bitreich.org 70 i default: Err bitreich.org 70 i- r = -3; Err bitreich.org 70 i+ r = CONN_ABORT; Err bitreich.org 70 i } Err bitreich.org 70 i } Err bitreich.org 70 i end: Err bitreich.org 70 i free(s); Err bitreich.org 70 i tls_config_free(tc); Err bitreich.org 70 i- if (r != 0) Err bitreich.org 70 i+ if (r != CONN_VALID) Err bitreich.org 70 i tls_free(t); Err bitreich.org 70 i Err bitreich.org 70 i return r; Err bitreich.org 70 i@@ -151,7 +156,7 @@ connerr_tls(struct cnx *c, const char *host, const char *port, int err) Err bitreich.org 70 i if (c->sock == -1) { Err bitreich.org 70 i diag("Can't open socket: %s", strerror(err)); Err bitreich.org 70 i } else { Err bitreich.org 70 i- if (tls && c->tls) { Err bitreich.org 70 i+ if (tls != TLS_OFF && c->tls) { Err bitreich.org 70 i diag("Can't establish TLS with \"%s\": %s", Err bitreich.org 70 i host, tls_error(c->tls)); Err bitreich.org 70 i } else { Err bitreich.org 70 i@@ -170,9 +175,9 @@ parseurl_tls(char *url) Err bitreich.org 70 i if (!strncmp(url, "gopher", p - url)) { Err bitreich.org 70 i if (tls) Err bitreich.org 70 i diag("Switching from gophers to gopher"); Err bitreich.org 70 i- tls = 0; Err bitreich.org 70 i+ tls = TLS_OFF; Err bitreich.org 70 i } else if (!strncmp(url, "gophers", p - url)) { Err bitreich.org 70 i- tls = 1; Err bitreich.org 70 i+ tls = TLS_ON; Err bitreich.org 70 i } else { Err bitreich.org 70 i die("Protocol not supported: %.*s", p - url, url); Err bitreich.org 70 i } Err bitreich.org 70 i@@ -187,7 +192,7 @@ read_tls(struct cnx *c, void *buf, size_t bs) Err bitreich.org 70 i { Err bitreich.org 70 i ssize_t n; Err bitreich.org 70 i Err bitreich.org 70 i- if (tls && c->tls) { Err bitreich.org 70 i+ if (tls != TLS_OFF && c->tls) { Err bitreich.org 70 i do { Err bitreich.org 70 i n = tls_read(c->tls, buf, bs); Err bitreich.org 70 i } while (n == TLS_WANT_POLLIN || n == TLS_WANT_POLLOUT); Err bitreich.org 70 1diff --git a/sacc.c b/sacc.c /scm/sacc/file/sacc.c.gph bitreich.org 70 i@@ -581,13 +581,12 @@ connectto(const char *host, const char *port, struct cnx *c) Err bitreich.org 70 i err = errno; Err bitreich.org 70 i ioclose(c); Err bitreich.org 70 i } Err bitreich.org 70 i- /* retry */ Err bitreich.org 70 i- } while (r == -2); Err bitreich.org 70 i+ } while (r == CONN_RETRY); Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i freeaddrinfo(addrs); Err bitreich.org 70 i Err bitreich.org 70 i- if (r == -1) Err bitreich.org 70 i+ if (r == CONN_ERROR) Err bitreich.org 70 i ioconnerr(c, host, port, err); Err bitreich.org 70 i err: Err bitreich.org 70 i sigprocmask(SIG_SETMASK, &oset, NULL); Err bitreich.org 70 1diff --git a/ui_ti.c b/ui_ti.c /scm/sacc/file/ui_ti.c.gph bitreich.org 70 i@@ -501,7 +501,7 @@ uiselectitem(Item *entry) Err bitreich.org 70 i continue; Err bitreich.org 70 i case _key_end: Err bitreich.org 70 i end: Err bitreich.org 70 i- jumptoline(entry, dir->nitems, 0); Err bitreich.org 70 i+ jumptoline(entry, dir->nitems, 1); Err bitreich.org 70 i continue; Err bitreich.org 70 i case _key_lnup: Err bitreich.org 70 i lnup: Err bitreich.org 70 i@@ -516,7 +516,7 @@ uiselectitem(Item *entry) Err bitreich.org 70 i continue; Err bitreich.org 70 i case _key_home: Err bitreich.org 70 i home: Err bitreich.org 70 i- jumptoline(entry, 0, 0); Err bitreich.org 70 i+ jumptoline(entry, 0, 1); Err bitreich.org 70 i continue; Err bitreich.org 70 i case _key_search: Err bitreich.org 70 i free(searchstr); Err bitreich.org 70 .