Module Name: src
Committed By: kefren
Date: Fri Dec 31 11:29:34 UTC 2010
Modified Files:
src/usr.sbin/ldpd: ldp_command.c
Log Message:
show in neighbour information if peer is MD5 authenticated
To generate a diff of this commit:
cvs rdiff -u -r1.3 -r1.4 src/usr.sbin/ldpd/ldp_command.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/usr.sbin/ldpd/ldp_command.c
diff -u src/usr.sbin/ldpd/ldp_command.c:1.3 src/usr.sbin/ldpd/ldp_command.c:1.4
--- src/usr.sbin/ldpd/ldp_command.c:1.3 Thu Dec 30 11:29:21 2010
+++ src/usr.sbin/ldpd/ldp_command.c Fri Dec 31 11:29:33 2010
@@ -1,4 +1,4 @@
-/* $NetBSD: ldp_command.c,v 1.3 2010/12/30 11:29:21 kefren Exp $ */
+/* $NetBSD: ldp_command.c,v 1.4 2010/12/31 11:29:33 kefren Exp $ */
/*-
* Copyright (c) 2010 The NetBSD Foundation, Inc.
@@ -32,6 +32,7 @@
#include <arpa/inet.h>
#include <netinet/in.h>
+#include <netinet/tcp.h>
#include <sys/socket.h>
#include <sys/queue.h>
@@ -380,6 +381,8 @@
struct ldp_peer_address *wp;
struct sockaddr_in ssin;
socklen_t sin_len = sizeof(struct sockaddr_in);
+ int enc;
+ socklen_t enclen = sizeof(enc);
SLIST_FOREACH(p, &ldp_peer_head, peers) {
snprintf(sendspace, MAXSEND, "LDP peer: %s\n",
@@ -410,6 +413,15 @@
if (getsockname(p->socket,(struct sockaddr *) &ssin,
&sin_len))
break;
+
+ if (getsockopt(p->socket, IPPROTO_TCP, TCP_MD5SIG,
+ &enc, &enclen) == 0) {
+ snprintf(sendspace, MAXSEND,
+ "Authenticated: %s\n",
+ enc != 0 ? "YES" : "NO");
+ writestr(s, sendspace);
+ }
+
snprintf(sendspace, MAXSEND,"Socket: %d\nLocal %s:%d\n",
p->socket, inet_ntoa(ssin.sin_addr),
ntohs(ssin.sin_port));