summaryrefslogtreecommitdiff
path: root/localshowuserfromip
diff options
context:
space:
mode:
authorJonas Smedegaard <dr@jones.dk>2008-02-03 22:09:07 +0000
committerJonas Smedegaard <dr@jones.dk>2008-02-03 22:09:07 +0000
commit31a2f897cfd72618879f348b9c6c63b6f317d2c5 (patch)
tree7af6d11513adb3907b1af052adce88268469ad24 /localshowuserfromip
parent21f80eb17189a95f90f02af1cca52acb5bc31df5 (diff)
Rewrite to use common localshowlogentries.
Diffstat (limited to 'localshowuserfromip')
-rwxr-xr-xlocalshowuserfromip54
1 files changed, 11 insertions, 43 deletions
diff --git a/localshowuserfromip b/localshowuserfromip
index 69e9122..cfd5d05 100755
--- a/localshowuserfromip
+++ b/localshowuserfromip
@@ -1,53 +1,21 @@
#!/bin/sh
#
# /usr/local/sbin/localshowuserfromip
-# Copyright 2007 Jonas Smedegaard <dr@jones.dk>
+# Copyright 2007-2008 Jonas Smedegaard <dr@jones.dk>
#
-# $Id: localshowuserfromip,v 1.3 2007-11-14 13:31:37 jonas Exp $
+# $Id: localshowuserfromip,v 1.4 2008-02-03 22:09:07 jonas Exp $
#
# List recent identifiable users from some IP address
#
-input="${input:-user}"
-output="${output:-shortline}"
-logfilecount="${logfilecount:-1}"
-pattern="${pattern:-user_dovecot}"
+set -e
-sed_longline='s/^\(.\{15\}\) [^:]*: /\1 /'
-sed_time='s/^\(.\{15\}\) .*$/\1 /'
+localshowlogentries "$1" \
+ 'dovecot: .*: Login: .*, rip=(' \
+ '), lip=' \
+ 's/^\(.\{15\}\) [^:]*: \([^-]*\)-login: Login: user=</\1 (\2) /;s/>, .*$//' \
+ '' \
+ '' \
+ 's/^.* user=<//;s/>, .*$//'
-case $pattern in
- user_dovecot)
- # Dovecot "deliver"
- egrep_before='dovecot: .*: Login: .*, rip=('
- egrep_after='), lip='
- sed_shortline='s/^\(.\{15\}\) [^:]*: \([^-]*\)-login: Login: user=</\1 (\2) /;s/>, .*$//'
- sed_username='s/^.* user=<//;s/>, .*$//'
- ;;
- *)
- echo >&2 "ERROR: unknwon pattern \"$pattern\""
- exit 1
- ;;
-esac
-
-case $output in
- shortline)
- sedstring="$sed_shortline"
- ;;
- longline)
- sedstring="$sed_longline"
- ;;
- username)
- sedstring="$sed_msgid"
- ;;
- *)
- echo >&2 "ERROR: unknwon output \"$output\""
- exit 1
- ;;
-esac
-
-ip="$1"
-
-find /var/log -name 'syslog*' | sort -nr -t. -k3 | tail -n "$logfilecount" | xargs zcat -f \
- | egrep -- "$egrep_before$ip$egrep_after" \
- | sed "$sedstring"
+exit 0