This file is indexed.

/usr/lib/x86_64-linux-gnu/fis-gtm/V6.3-000A_x86_64/PINENTRY.m is in fis-gtm-6.3-000a 6.3-000A-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
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;								;
; Copyright (c) 2010-2015 Fidelity National Information 	;
; Services, Inc. and/or its subsidiaries. All rights reserved.	;
;								;
;	This source code contains the intellectual property	;
;	of its copyright holder(s), and is made available	;
;	under a license.  If you do not know the terms of	;
;	the license, please stop and do not read further.	;
;								;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

pinentry; Custom pinentry that returns an unobfuscated password if $gtm_passwd is defined in the environment
	;
	; See the following link for non-authoritative information on the pinentry protocol:
	; http://info2html.sourceforge.net/cgi-bin/info2html-demo/info2html/info2html?%28pinentry%29Protocol
	;
	set $etrap="do error",$zinterrupt=$etrap
	; gtm_passwd is validated as non-null by pinentry-gtm.sh
	set obfpwd=$zconvert($ztrnlnm("gtm_passwd"),"U"),obfpwdlen=$zlength(obfpwd)
	; Avoid NOBADCHAR on $PRINCIPAL - must use [io]chset on the OPEN and not USE
	open $principal:(ichset="M":ochset="M")
	; Unmask the password ahead of initiating the pinentry protocol. If the external call is not
	; available, the error handler is invoked
	set binobfpwd=""
	for i=1:2:$zlength(obfpwd) do
	. set msb=$zfind("0123456789ABCDEF",$zextract(obfpwd,i))-2
	. set lsb=$zfind("0123456789ABCDEF",$zextract(obfpwd,i+1))-2
	. set binobfpwd=binobfpwd_$zchar(16*msb+lsb)
	; If unmasking fails, exit
	do:$&gpgagent.unmaskpwd(binobfpwd,.clrpwds) error
	use $principal:(exception="goto error")
	write "OK Your orders please",!
	for  read in quit:'$zlength(in)  do
	. if "GETPIN"=$zconvert($zpiece(in," ",1),"U") write "D ",clrpwds,!,"OK",! zhalt 0
	. else  write "OK",!
	; Since this routine only responds to GETPIN, issue an error if it did not receive that command,
	; letting pinentry-gtm.sh execute the default pinentry
	zhalt 1

	; The error handler's primary function is to exit with error status so that the calling pinentry-gtm.sh
	; can execute the default pinentry program. If $gtm_pinentry_log is defined, the routine will dump all
	; status. Note that the locals are all killed prior to dumping status
error	kill
	set pinlog=$ztrnlnm("gtm_pinentry_log")
	new $etrap set $etrap="zhalt +$zstatus"
	if $zlength(pinlog) do
	. open pinlog:(append:chset="M")
	. use pinlog
	. write !,"PINENTRY-F-FAILED ",$zdate($horolog,"YYYY/MM/DD 24:60:SS"),!
	. zwrite $zversion,$ecode,$job,$zchset,$zdirectory,$zroutines,$zstatus
	. write "Stack trace:",! zshow "S"
	. write "Loaded external calls:",! zshow "C"
	. close pinlog
	zhalt +$zstatus
	quit