#!/bin/sh
#
# mew-pinentry:: a simple pinentry
#
# Author:  Kazu Yamamoto <Kazu@Mew.org>
# Author:  Tadaaki Nagao <nagao@iij.ad.jp>
# Created: Jul 24, 2006
# Revised: May 15, 2007

PROMPT="Enter passphrase:"
TTY=`tty`

echo "OK"
while read cmd arg; do
	case $cmd in
	"OPTION")
		key=${arg%%=*}
		val=${arg#*=}
		if [ "X$key" = "Xttyname" ]; then
			TTY=$val
		fi
		;;
#	"SETPROMPT")
#		PROMPT=$arg
#		;;
	"GETPIN")
		echo @ECHO_N@ "$PROMPT @ECHO_C@" > $TTY
		stty -echo  < $TTY
		read passwd < $TTY
		stty  echo  < $TTY
		echo "" > $TTY
		echo "D $passwd"
		;;
	"BYE")
#		echo "OK"
		exit 0
		;;
	"SETERROR")
		echo $arg > $TTY
		;;
	esac
	echo "OK"
done
exit 0

# Copyright (C) 2006-2007 Mew developing team.
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
# 
# 1. Redistributions of source code must retain the above copyright
#    notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright
#    notice, this list of conditions and the following disclaimer in the
#    documentation and/or other materials provided with the distribution.
# 3. Neither the name of the team nor the names of its contributors
#    may be used to endorse or promote products derived from this software
#    without specific prior written permission.
# 
# THIS SOFTWARE IS PROVIDED BY THE TEAM AND CONTRIBUTORS ``AS IS'' AND
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
# PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE TEAM OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
# BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
# IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
