This file is indexed.

/usr/share/perl5/Apache/Ocsinventory/Server/Capacities/Registry.pm is in ocsinventory-server 2.0.5-1.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
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
###############################################################################
## OCSINVENTORY-NG
## Copyleft Pascal DANEK 2005
## Web : http://www.ocsinventory-ng.org
##
## This code is open source and may be copied and modified as long as the source
## code is always made freely available.
## Please refer to the General Public Licence http://www.gnu.org/ or Licence.txt
################################################################################
package Apache::Ocsinventory::Server::Capacities::Registry;

use strict;

BEGIN{
  if($ENV{'OCS_MODPERL_VERSION'} == 1){
    require Apache::Ocsinventory::Server::Modperl1;
    Apache::Ocsinventory::Server::Modperl1->import();
  }elsif($ENV{'OCS_MODPERL_VERSION'} == 2){
    require Apache::Ocsinventory::Server::Modperl2;
    Apache::Ocsinventory::Server::Modperl2->import();
  }
}

use Apache::Ocsinventory::Server::System;
use Apache::Ocsinventory::Server::Communication;
use Apache::Ocsinventory::Server::Constants;
use Apache::Ocsinventory::Map;

# Initialize option
push @{$Apache::Ocsinventory::OPTIONS_STRUCTURE},{
  'NAME' => 'REGISTRY',
  'HANDLER_PROLOG_READ' => undef,
  'HANDLER_PROLOG_RESP' => \&_registry_prolog_resp,
  'HANDLER_PRE_INVENTORY' => undef,
  'HANDLER_POST_INVENTORY' => undef,
  'REQUEST_NAME' => undef,
  'HANDLER_REQUEST' => undef,
  'HANDLER_DUPLICATE' => undef,
  'TYPE' => OPTION_TYPE_SYNC,
  'XML_PARSER_OPT' => {
      'ForceArray' => ['REGISTRY']
  }
};

sub _registry_prolog_resp{

  return unless $ENV{'OCS_OPT_REGISTRY'};
  
  my $current_context = shift;
  my $resp = shift;
  
  my $dbh = $current_context->{'DBI_HANDLE'};

  # Sync option
  return if $resp->{'RESPONSE'} eq 'STOP';

  my $request;
  my $row;
  #################################
  #REGISTRY
  #########
  # Ask computer to retrieve the requested registry keys
  my @registry;
  $request=$dbh->prepare('SELECT * FROM regconfig');
  $request->execute;
  while($row = $request->fetchrow_hashref){
    push @registry,
      {
        'REGTREE' =>  $row->{'REGTREE'} ,
        'REGKEY'  =>  $row->{'REGKEY'} ,
        'NAME'    =>  $row->{'NAME'} ,
        'content' =>  $row->{'REGVALUE'}
      };
  }

  if(@registry){
    push @{ $resp->{'OPTION'} }, {
          'NAME'  => [ 'REGISTRY' ],
          'PARAM'  => \@registry
        };
    return 1;
  }else{
    return 0;
  }
}
1;