summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorgilles <gilles@openbsd.org>2011-03-09 20:59:22 +0000
committergilles <gilles@openbsd.org>2011-03-09 20:59:22 +0000
commit98331c89566cd5cb95b98aa040f45417dae8fb49 (patch)
tree0386814b635ecd6a7efbe99c9fdbfbbee908421c
parentMake reload and check consistent with start/stop. (diff)
downloadwireguard-openbsd-98331c89566cd5cb95b98aa040f45417dae8fb49.tar.xz
wireguard-openbsd-98331c89566cd5cb95b98aa040f45417dae8fb49.zip
smtpctl show stats displays inet4/inet6 repartition for incoming sessions
-rw-r--r--usr.sbin/smtpd/smtp.c9
-rw-r--r--usr.sbin/smtpd/smtpctl.c5
-rw-r--r--usr.sbin/smtpd/smtpd.h4
3 files changed, 15 insertions, 3 deletions
diff --git a/usr.sbin/smtpd/smtp.c b/usr.sbin/smtpd/smtp.c
index 2c4ec75b66e..c823e59589a 100644
--- a/usr.sbin/smtpd/smtp.c
+++ b/usr.sbin/smtpd/smtp.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: smtp.c,v 1.79 2010/11/28 14:35:58 gilles Exp $ */
+/* $OpenBSD: smtp.c,v 1.80 2011/03/09 20:59:22 gilles Exp $ */
/*
* Copyright (c) 2008 Gilles Chehade <gilles@openbsd.org>
@@ -509,6 +509,7 @@ smtp_accept(int fd, short event, void *p)
fatal("smtp_accept");
}
+
s->s_flags |= F_WRITEONLY;
dns_query_ptr(l->env, &s->s_ss, s->s_id);
}
@@ -541,6 +542,12 @@ smtp_new(struct listener *l)
env->stats->smtp.sessions++;
env->stats->smtp.sessions_active++;
+
+ if (s->s_l->ss.ss_family == AF_INET)
+ env->stats->smtp.sessions_inet4++;
+ if (s->s_l->ss.ss_family == AF_INET6)
+ env->stats->smtp.sessions_inet6++;
+
SET_IF_GREATER(env->stats->smtp.sessions_active,
env->stats->smtp.sessions_maxactive);
diff --git a/usr.sbin/smtpd/smtpctl.c b/usr.sbin/smtpd/smtpctl.c
index 41dc84d1b24..8431c8de574 100644
--- a/usr.sbin/smtpd/smtpctl.c
+++ b/usr.sbin/smtpd/smtpctl.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: smtpctl.c,v 1.55 2010/11/28 14:35:58 gilles Exp $ */
+/* $OpenBSD: smtpctl.c,v 1.56 2011/03/09 20:59:22 gilles Exp $ */
/*
* Copyright (c) 2006 Pierre-Yves Ritschard <pyr@openbsd.org>
@@ -307,6 +307,9 @@ show_stats_output(struct imsg *imsg)
printf("smtp.errors.write_system=%zd\n", stats->smtp.write_error);
printf("smtp.errors.write_timeout=%zd\n", stats->smtp.write_timeout);
+ printf("smtp.sessions.inet4=%zd\n", stats->smtp.sessions_inet4);
+ printf("smtp.sessions.inet6=%zd\n", stats->smtp.sessions_inet6);
+
printf("smtp.sessions=%zd\n", stats->smtp.sessions);
printf("smtp.sessions.aborted=%zd\n", stats->smtp.read_eof +
stats->smtp.read_error + stats->smtp.write_eof +
diff --git a/usr.sbin/smtpd/smtpd.h b/usr.sbin/smtpd/smtpd.h
index 68546616b91..dffecd947bb 100644
--- a/usr.sbin/smtpd/smtpd.h
+++ b/usr.sbin/smtpd/smtpd.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: smtpd.h,v 1.200 2010/11/29 15:25:56 gilles Exp $ */
+/* $OpenBSD: smtpd.h,v 1.201 2011/03/09 20:59:22 gilles Exp $ */
/*
* Copyright (c) 2008 Gilles Chehade <gilles@openbsd.org>
@@ -653,6 +653,8 @@ struct s_runner {
struct s_session {
size_t sessions;
+ size_t sessions_inet4;
+ size_t sessions_inet6;
size_t sessions_active;
size_t sessions_maxactive;