This file is indexed.

/usr/share/kbanking/qml/chipTan/chipTan.js is in kmymoney-common 5.0.1-2.

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
/*
 * A tan input dialog for optical chipTan used in online banking
 * Copyright 2014  Christian David <c.david@christian-david.de>
 *
 * This program is free software; you can redistribute it and/or
 * modify it under the terms of the GNU General Public License as
 * published by the Free Software Foundation; either version 2 of
 * the License or (at your option) version 3 or any later version
 * accepted by the membership of KDE e.V. (or its successor approved
 * by the membership of KDE e.V.), which shall act as a proxy
 * defined in Section 14 of version 3 of the license.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 *
 */

/**
 * @brief Code to transmit
 * Array of int's each int is a half-byte, they are reorderd for transmission
 */
var transmitCode = []

/** @brief currently shown half-byte of transmitCode */
var currentIndex = 0
/**
 * @brief Indicates if first or second half of clock is displayed
 * First bar (showing clock) is on if this is true, off otherwise.
 */
var currentIntervalStarted = true

function timerStarted( data, parentItem )
{
  // Startcode
  transmitCode = [ 0x0, 0xF, 0xF ]

  // Set Code (half-bytes are switched)
  for (var i = 0; i < data.length; i+=2) {
      transmitCode.push(parseInt(data[i+1], 16))
      transmitCode.push(parseInt(data[i], 16))
  }
}

/**
 * @brief Shows next clock of transmitCode
 */
function timerTriggered( parentItem )
{
  if (currentIntervalStarted == true) {
      parentItem.children[0].bitState = false
      currentIntervalStarted = false;
      return
  }

  parentItem.children[0].bitState = true
  parentItem.children[1].bitState = transmitCode[currentIndex] & 1
  parentItem.children[2].bitState = transmitCode[currentIndex] & 2
  parentItem.children[3].bitState = transmitCode[currentIndex] & 4
  parentItem.children[4].bitState = transmitCode[currentIndex] & 8

  ++currentIndex
  currentIntervalStarted = true
  if (currentIndex >= transmitCode.length)
      currentIndex = 0
}