commit - ab55c7815e8e749e775d95c26f0e217744949285
commit + 37df23d183de23b74f8a026977b8210dc22701a6
blob - 0f4694d8ec30754c30d85231eaff7c0d12fe2cb8
blob + f45d9b2ce431ea1f1af8f847a89e3f8d7bfb9a05
--- ge.c
+++ ge.c
{
char hbuf[NI_MAXHOST], sbuf[NI_MAXSERV], b[GEMINI_URL_LEN];
const char *t;
- size_t len;
int ec;
- len = sizeof(c->addr);
- ec = getnameinfo((struct sockaddr*)&c->addr, len,
+ ec = getnameinfo((struct sockaddr*)&c->raddr, c->raddrlen,
hbuf, sizeof(hbuf),
sbuf, sizeof(sbuf),
NI_NUMERICHOST | NI_NUMERICSERV);
blob - 22d82b9e19bbe84b979bd5b6c6039b00d23c9158
blob + d3e4cb2d0d3f0d855fa6f743a4e11b55ac7a9ea3
--- gmid.c
+++ gmid.c
char hbuf[NI_MAXHOST], sbuf[NI_MAXSERV], b[GEMINI_URL_LEN];
char *fmted;
const char *t;
- size_t len;
int ec;
- len = sizeof(c->addr);
- ec = getnameinfo((struct sockaddr*)&c->addr, len,
+ ec = getnameinfo((struct sockaddr*)&c->raddr, c->raddrlen,
hbuf, sizeof(hbuf),
sbuf, sizeof(sbuf),
NI_NUMERICHOST | NI_NUMERICSERV);
blob - 9a4f1f1d1698ad8b4c6f8798101bc94f60338f63
blob + 644788bcdf6c52441e6cb6ed9a768ff3187332b1
--- gmid.h
+++ gmid.h
char sbuf[1029];
ssize_t len, off;
- struct sockaddr_storage addr;
+ struct sockaddr_storage raddr;
+ socklen_t raddrlen;
+
struct vhost *host; /* host they're talking to */
size_t loc; /* location matched */
blob - acf77034dc98e86c92242eed876d37aa6b8b10d3
blob + 05c1d4bf94ed0e278f6b0013480346ad54dd4094
--- server.c
+++ server.c
{
struct conf *conf = d;
struct client *c;
- struct sockaddr_storage addr;
- struct sockaddr *saddr;
+ struct sockaddr_storage raddr;
+ struct sockaddr *sraddr;
socklen_t len;
int fd;
- saddr = (struct sockaddr*)&addr;
- len = sizeof(addr);
- if ((fd = accept(sock, saddr, &len)) == -1) {
+ sraddr = (struct sockaddr *)&raddr;
+ len = sizeof(raddr);
+ if ((fd = accept(sock, sraddr, &len)) == -1) {
if (errno == EWOULDBLOCK || errno == EAGAIN ||
errno == ECONNABORTED)
return;
c->id = ++server_client_id;
c->fd = fd;
c->pfd = -1;
- c->addr = addr;
+ memcpy(&c->raddr, &raddr, sizeof(raddr));
+ c->raddrlen = len;
if (tls_accept_socket(ctx, &c->ctx, fd) == -1) {
log_warnx("failed to accept socket: %s", tls_error(c->ctx));