Browse Source

Improved escapeing stability

pull/1/head
root 12 years ago
parent
commit
2c121f4904
3 changed files with 29 additions and 19 deletions
  1. +12
    -1
      helpers/auditshell
  2. +0
    -14
      helpers/auditshell_aclocal.patch
  3. +17
    -4
      helpers/auditshell_create_sessionfiles

+ 12
- 1
helpers/auditshell View File

@ -2,6 +2,12 @@
IDENT="`date --date="today" "+%Y-%m-%d_%H-%M-%S"`.`whoami`.$$"
# This is a file transfer, no audit shell neccessary
if (echo "$@"|egrep -q ".*scp.*");then
exec /bin/sh "$@"
fi
TYPESCRIPT="auditshell.typescript.${IDENT}"
TIMING="auditshell.timing.${IDENT}"
@ -16,6 +22,11 @@ cat <<EOF
NOTE: This shell session will be recorded
AUDIT KEY: $IDENT
EOF
exec /usr/local/bin/script -d -e -f -q -t 5 5> >(logger -t $TYPESCRIPT) 2> >(logger -t $TIMING)
exec /usr/local/bin/script -d -e -f -q -t 5 \
5> >(base64|logger -t $TYPESCRIPT) \
2> >(base64|logger -t $TIMING)

+ 0
- 14
helpers/auditshell_aclocal.patch View File

@ -1,14 +0,0 @@
diff --git a/configure.ac b/configure.ac
index d24ed8f..19f79e7 100644
--- a/configure.ac
+++ b/configure.ac
@@ -10,7 +10,7 @@ AC_CONFIG_MACRO_DIR([m4])
dnl AC_USE_SYSTEM_EXTENSIONS must be called before any macros that run
dnl the compiler (like AC_PROG_LIBTOOL) to avoid autoconf errors.
AC_USE_SYSTEM_EXTENSIONS
-AM_INIT_AUTOMAKE([-Wall foreign 1.10 tar-pax dist-bzip2 no-dist-gzip dist-xz -Wno-portability subdir-objects])
+AM_INIT_AUTOMAKE([-Wall foreign 1.10 tar-pax dist-bzip2 no-dist-gzip -Wno-portability subdir-objects])
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])],
[AC_SUBST([AM_DEFAULT_VERBOSITY], [1])])

+ 17
- 4
helpers/auditshell_create_sessionfiles View File

@ -12,6 +12,13 @@ if ( (!defined $file) || (!defined $file) ){
exit(1);
}
chdir($dir);
unless(chdir($dir))
{
die "Error: Can't change directory!: $!";
}
open( INFILE, "<$file" ) || die "input-file '$file' could not be opened";
my $fdcache = {};
@ -25,10 +32,10 @@ while (my $zeile = <INFILE>) {
if ( !exists $fdcache->{$ident}){
$fdcache->{$ident} = {};
print "Open $ident.typescript\n";
$fdcache->{$ident}->{typescript} = FileHandle->new("> $ident.typescript");
print "Open $ident.timing\n";
$fdcache->{$ident}->{timing} = FileHandle->new("> $ident.timing");
print "Create $ident.typescript.base64\n";
$fdcache->{$ident}->{typescript} = FileHandle->new("> $ident.typescript.base64");
print "Create $ident.timing.base64\n";
$fdcache->{$ident}->{timing} = FileHandle->new("> $ident.timing.base64");
}
my $fd = $fdcache->{$ident}->{$type};
@ -41,4 +48,10 @@ close(INFILE);
foreach my $ident(keys %{$fdcache}){
close $fdcache->{$ident}->{typescript};
close $fdcache->{$ident}->{timing};
system("base64 -d $ident.typescript.base64 |gzip -c > $ident.typescript.gz");
system("base64 -d $ident.timing.base64 |gzip -c > $ident.timing.gz");
unlink("$ident.timing.base64");
unlink("$ident.typescript.base64");
print "removed $ident.typescript.base64, created $ident.typescript.gz\n";
print "removed $ident.timing.base64, created $ident.timing.gz\n";
}

Loading…
Cancel
Save