diff -up logwatch-7.3.6/scripts/services/openvpn.pom logwatch-7.3.6/scripts/services/openvpn --- logwatch-7.3.6/scripts/services/openvpn.pom 2006-11-12 22:11:21.000000000 +0100 +++ logwatch-7.3.6/scripts/services/openvpn 2008-01-21 11:59:28.000000000 +0100 @@ -51,6 +51,7 @@ while (defined($ThisLine = <STDIN>)) { ($ThisLine =~ /^MULTI: multi_create_instance called/) or ($ThisLine =~ /^MULTI: primary virtual IP for/) or ($ThisLine =~ /^MULTI: TCP INIT maxclients=\d+ maxevents=\d+/) or + ($ThisLine =~ /^MULTI: bad source address from client .*, packet dropped/) or ($ThisLine =~ /^Need IPv6 code in mroute_extract_addr_from_packet/) or ($ThisLine =~ /^NOTE: UID\/GID downgrade will be delayed because of --client, --pull, or --up-delay/) or ($ThisLine =~ /^OPTIONS IMPORT/) or @@ -69,6 +70,9 @@ while (defined($ThisLine = <STDIN>)) { ($ThisLine =~ /^TLS: Initial packet from/) or ($ThisLine =~ /^TLS: soft reset/) or ($ThisLine =~ /^TLS: tls_process: killed expiring key$/) or + ($ThisLine =~ /^TLS: move_session: dest=.* src=.* reinit_src=[0-9]*/) or + ($ThisLine =~ /^TLS: tls_multi_process: untrusted session promoted to trusted/) or + ($ThisLine =~ /^TLS: new session incoming connection from .*/) or ($ThisLine =~ /^TUN\/TAP device \w+ opened/) or ($ThisLine =~ /^UDPv4 link /) or ($ThisLine =~ /^UID set to/) or @@ -102,6 +106,8 @@ while (defined($ThisLine = <STDIN>)) { $ConnErrors{$error}{"$proto $host:$port"}++; } elsif (($proto, $error) = ($ThisLine =~ /^read (\w+)_SERVER \[\]: (.*)/)) { $ConnErrors{$error}{"$proto"}++; + } elsif (($name) = ($ThisLine =~ /MULTI: new connection by client '(.*)' will cause previous active sessions by this client to be dropped. Remember to use the --duplicate-cn option if you want multiple clients using the same certificate or username to concurrently connect./)) { + $ConnectCauseDrop{$name}++; } else { # Report any unmatched entries... # remove PID from named messages @@ -186,6 +192,13 @@ if (keys %VersionInfo) { } } +if (keys %ConnectCauseDrop) { + print "\n Previous active sessions of the same client dropped upon new connection:\n"; + foreach $name (sort keys %ConnectCauseDrop) { + print " client $name: $ConnectCauseDrop{$name} Time(s)\n" + } +} + if (keys %OtherList) { print "\n**Unmatched Entries**\n"; foreach $line (sort {$a cmp $b} keys %OtherList) {