This file is indexed.

/usr/share/dynalogin-client-php/dynalogin.php is in dynalogin-client-php 1.0.0-3ubuntu1.

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
<?php



function dynalogin_read($fp) {
    if(!feof($fp)) {
        while($line = fgets($fp, 512)) {
#        echo "<p>".$line."</p>";
            if(!preg_match("/^(\d\d\d)([- ])(.*)\$/", $line, $elements)) {
                echo "bad data line\n";
                return FALSE;
            }
            $code = $elements[1];
            $last_line = ($elements[2] == " ");
            $msg = $elements[3];
            if($last_line) {
                return $code;
            }
        }
    }
    return FALSE;
}

function dynalogin_write($fp, $msg) {
    fwrite($fp, $msg);
}

function dynalogin_try_command($server, $port, $use_tls, $command, $ca_file = "") {
    if($use_tls) {
        if ($ca_file !== null && $ca_file != "") {
            $sslopts = array();
            $sslopts['cafile'] = $ca_file;
            $sslopts['verify_peer'] = TRUE;
            $sslopts['verify_depth'] = 10;
        }
        $opts = array('tls' => $sslopts, 'ssl' => $sslopts);
        $ctx = stream_context_create($opts);
        $timeout = 60;
        $flags = STREAM_CLIENT_CONNECT;
        $fp = stream_socket_client("tls://".$server.':'.$port, $errno, $errstr, $timeout, $flags, $ctx);
    } else {  
        $fp = stream_socket_client("tcp://".$server.':'.$port, $errno, $errstr);
    }
    if(!$fp)
        return 0;

    // read greeting
    $greeting_code = dynalogin_read($fp);

    if($greeting_code == 220) {
    // send auth request
    dynalogin_write($fp, $command."\n");

    // check response
    $response_code = dynalogin_read($fp);
    if($response_code == 250)
        $logged_in = 1;
    else
        $logged_in = 0;
    } else {
        // bad greeting
        syslog(LOG_ERR, "dynalogin: bad greeting");
    }

    dynalogin_write($fp, "QUIT\n");
    fclose($fp);

    if($logged_in == 0)
        syslog(LOG_WARNING, "dynalogin: login failure"); 
    return $logged_in;
}

function dynalogin_auth($user, $code, $server, $port, $scheme = "HOTP", $use_tls = false, $ca_file = "") {
    $request = "UDATA $scheme $user $code";
    return dynalogin_try_command($server, $port, $use_tls, $request, $ca_file);
}

function dynalogin_auth_digest($user, $realm, $response, $digest_suffix,
    $server, $port, $scheme = "HOTP", $use_tls = false, $ca_file = "") {
    $request = "UDATA ".$scheme."-DIGEST $user $realm $response $digest_suffix";
    return dynalogin_try_command($server, $port, $use_tls, $request, $ca_file);
}

?>