This file is indexed.

/usr/share/doc/libconvert-asn1-perl/examples/ldap-search is in libconvert-asn1-perl 0.27-1.

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

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
# This is an example of a search PDU from the LDAP protocol

use Convert::ASN1;
use Data::Dumper;

my %scope = qw(base  0 one    1 single 1 sub    2 subtree 2);
my %deref = qw(never 0 search 1 find   2 always 3);

my $search_pdu = Convert::ASN1->new;
$search_pdu->prepare(q(
  SEQUENCE {
    mesgid INTEGER,
    [APPLICATION 3] SEQUENCE {
      base      STRING,
      scope     ENUM,
      deref     ENUM,
      sizeLimit INTEGER,
      timeLimit INTEGER,
      typesOnly BOOLEAN,
      filter    STRING, -- for test, should be ANY and the var should hold
			-- a pre-encoded filter
      attrs SEQUENCE OF STRING
    }
    control [0] SEQUENCE OF SEQUENCE { -- this should be optional but we cannot do that inline
      type     STRING,
      critical BOOLEAN,
      value    STRING OPTIONAL
    }
  }
)) or die $search_pdu->error;

$buf = $search_pdu->encode(
  mesgid => 3,
  base   => "cn=base",
  scope  => $scope{one},
  deref  => $deref{find},
  sizeLimit => 0,
  timeLimit => 0,
  typesOnly => 0,
  filter    => "A filter",
  attrs     => [qw(cn postalAddress)],
  control   => [
    {
      type => "1.2.3.4",
      critical => 1
    },
    {
      type => "9.8.7.6",
      critical => 0,
      value => "abc"
    }
  ]
);

$Data::Dumper::Indent = 1;
print Dumper( $search_pdu->decode($buf));

$h = unpack("H*",$buf);
$h =~ s/(..)/$1 /g;
$h =~ s/(.{47}\s)/$1\n/g;
print $h,"\n";