File: pinentry.m

package info (click to toggle)
fis-gtm 6.2-000-1
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 30,784 kB
  • ctags: 42,554
  • sloc: ansic: 358,483; asm: 4,847; csh: 4,574; sh: 2,261; awk: 200; makefile: 86; sed: 13
file content (31 lines) | stat: -rw-r--r-- 1,269 bytes parent folder | download
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
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;								;
;	Copyright 2010, 2014 Fidelity Information Services, Inc	;
;								;
;	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	; Substitute pinentry that returns an unobfuscated password
		; if $gtm_passwd is defined in the environment.  If the command
		; received is not GETPIN, this runs /usr/bin/pinentry
		;
	set $etrap="write $zstatus,!,$stack($stack,""MCODE""),! halt"
	set obfpwd=$ztrnlnm("gtm_passwd"),obfpwdlen=$length(obfpwd)
	set obfpwd=$zconvert(obfpwd,"U")
	write "OK Your orders please",!
	set done=0
	for  quit:done  read in quit:'$length(in)  do
	. if "GETPIN"=$zconvert($piece(in," ",1),"U") do
	. . set obfpwds=""
	. . for i=1:2:$length(obfpwd) do
	. . . set msb=$find("0123456789ABCDEF",$extract(obfpwd,i))-2
	. . . set lsb=$find("0123456789ABCDEF",$extract(obfpwd,i+1))-2
	. . . set obfpwds=obfpwds_$zchar(16*msb+lsb)
	. . write:'$&gpgagent.unmaskpwd(obfpwds,.clrpwds) "D ",clrpwds,!
	. . set done=1
	. write "OK",!
	quit