This file is indexed.

/usr/share/avfs/extfs/a is in avfs 1.0.1-2.

This file is owned by root:root, with mode 0o755.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
#! /usr/bin/perl -w
#
# External filesystem for mc, using mtools
# Written Ludek Brukner <lubr@barco.cz>, 1997
# Much improved by Tom Perkins <968794022@noid.net>, 2000
#
# WARNING - This software is ALPHA - Absolutely NO WARRANTY
# 

# These mtools components must be in PATH for this to work

sub quote {
    $_ = shift(@_);
    s/([^\w\/.+-])/\\$1/g;
    return($_);
}

$mmd = "mmd";
$mrd = "mrd";
$mdel = "mdel";
$mdir = "mdir -a";
$mcopy = "mcopy -noQ";

$0 =~ s|.*/||;
$qdisk = quote($0);

$ENV{MTOOLS_DATE_STRING} = "mm-dd-yyyy";
$ENV{MTOOLS_TWENTY_FOUR_HOUR_CLOCK} = "1";

SWITCH: for ( $ARGV[0] ) {
  /list/ && do {
    @dirs = get_dirs("");
    while ($dir = shift(@dirs)) {
      push @dirs, get_dirs("$dir/");
    } exit 0; };
  /mkdir/ && do {
    shift; shift;
    exit 1 if scalar(@ARGV) != 1;
    $qname = quote($ARGV[0]);
    system("$mmd $qdisk:/$qname >/dev/null");
    exit 0; };
  /rmdir/ && do {
    shift; shift;
    exit 1 if scalar(@ARGV) != 1;
    $qname = quote($ARGV[0]);
    system("$mrd $qdisk:/$qname >/dev/null");
    exit 0; };
  /rm/ && do {
    shift; shift;
    exit 1 if scalar(@ARGV) != 1;
    $qname = quote($ARGV[0]);
    system("$mdel $qdisk:/$qname >/dev/null");
    exit 0; };
  /copyout/ && do {
    shift; shift;
    exit 1 if scalar(@ARGV) != 2;
    ( $qsrc, $qdest ) = @ARGV;
    $qsrc = quote($qsrc);
    $qdest = quote($qdest);
    system("$mcopy $qdisk:/$qsrc $qdest >/dev/null");
    exit 0; };
  /copyin/ && do {
    shift; shift;
    exit 1 if scalar(@ARGV) != 2;
    ( $qdest, $qsrc ) = @ARGV;
    $qsrc = quote($qsrc);
    $qdest = quote($qdest);
    system("$mcopy $qsrc $qdisk:/$qdest >/dev/null");
    exit 0; };
  /.*/ && do {                               # an unfamiliar command
    exit 1; };
}

sub get_dirs {
  my ($path, $name, $size, $date, $time, $longname, @lst, @rv);
  $path = shift(@_);
  my $qpath = quote($path);
  @rv = ();

  open(FILE,"$mdir $qdisk:/$qpath |");
  while ( <FILE> ) {
    chomp();
    /^ / && next;                            # ignore `non-file' lines
    m{^Directory for $0:/}i && next;         # ignore `non-file' lines
    /^$/ && next;                            # ignore empty lines
    /^\.\.?/ && next;                        # ignore `.' and `..'

    $name = substr($_,0,12);
    $name =~ s/^([^ ]*) +([^ ]+)[ \t]*$/$1.$2/;
    $name =~ s/[ .]+$//;

    $_ = substr($_,12);
    s/^[ ]+//;

    ($size,$date,$time,$longname) = split(/[ \t]+/, $_, 4);

    defined $time || next;

    # process "am" and "pm".  Should not be needed if
    # MTOOLS_TWENTY_FOUR_HOUR_CLOCK is respected.
    @lst = split(/([:ap])/, $time);
    $lst[0] += 12 if (defined $lst[3] && $lst[3] eq "p");

    $time = sprintf("%02d:%02d", $lst[0], $lst[2]);
    @lst = split(/-/, $date);
    $lst[2] %= 100 if ($lst[2] > 100);
    $date = sprintf ("%02d-%02d-%02d", @lst);

    $name = $path . lc(($longname) ? $longname : $name);

    if ($size =~ /DIR/) {
      printf("drwxr-xr-x   1 %-8d %-8d %8d %s %s %s\n",
        0, 0, 0, $date, $time, $name);
      push @rv, $name;
    } else {
      printf("-rw-r--r--   1 %-8d %-8d %8d %s %s %s\n",
        0, 0, $size, $date, $time, $name);
    }
  }
  close(FILE);
  return @rv;
}

1;