This file is indexed.

/usr/share/gosa/plugins/admin/systems/services/dhcp/class_dhcpOption.inc is in gosa-plugin-dhcp 2.7.4+reloaded2-13+deb9u1.

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
87
88
89
90
91
92
93
94
95
96
<?php

/* This class represents a set of dhcpOptions, which are used over several dhcp plugins.
 * E.g. 'dhcpHost' includes 'dhcpAdvanced', both use the same options. 
 * In other words, they use a references to an instance of this class.
 */
class dhcpOption{

    var $options = array();

    function getAll(){
        return($this->options);
    }

    function get($name){
        if(isset($this->options[$name])){
            if(count($this->options[$name]) == 0){
                return("");
            }elseif(count($this->options[$name]) == 1){
                return($this->options[$name][0]);
            }else{
                return($this->options[$name]);
            }
        } 
    }

    function removeAll($name){
        if(isset($this->options[$name])){
            unset($this->options[$name]);
        }
    }

    function remove($name,$entry = 0){
        if(!isset($this->options[$name])){
            return;
        }
        if(isset($this->options[$name][$entry])){
            unset($this->options[$name][$entry]);
        }
        if(count($this->options[$name]) == 0){
            unset($this->options[$name]);
        }else{
            $this->options[$name] = array_unique($this->options[$name]);
            $this->options[$name] = array_values($this->options[$name]);
        }
    }

    function set($name,$value = null){
        if($value == null){
            $value = trim(preg_replace("/^[^ ]*/",'',$name));
            $name  = trim(preg_replace("/ .*$/",'',$name));
        }

        if(!isset($this->options[$name])){
            $this->options[$name] = array();
        }

        $this->options[$name] = array($value);
    }

    function add($name,$value = null){
        if($value == null){
            $value = trim(preg_replace("/^[^ ]*/",'',$name));
            $name  = trim(preg_replace("/ .*$/",'',$name));
        }

        if(!isset($this->options[$name])){
            $this->options[$name] = array();
        }

        $this->options[$name][] = $value;
        $this->options[$name] = array_unique($this->options[$name]);
        $this->options[$name] = array_values($this->options[$name]);
    }

    function save(){
        $res = array();
        foreach($this->options as $key => $values){
            foreach($values as $value){
                $res[] = $key." ".$value;
            }
        }
        $res=array_unique($res);
        return($res);
    }

    function exists($name){
        if(isset($this->options[$name]) && count($this->options[$name]) == 0){
            return(false);
        }
        return(isset($this->options[$name]));
    }
}

// vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler:
?>