README revision 8db30ca8
18db30ca8Sthorpej# README: Notes about X11-based passphrase dialog for OpenSSH
28db30ca8Sthorpej# created 1999-Nov-21 jmk
38db30ca8Sthorpej# autodate: 2000-Jan-07 04:53
48db30ca8Sthorpej
58db30ca8Sthorpej+-------------+
68db30ca8Sthorpej| Description |
78db30ca8Sthorpej+-------------+
88db30ca8Sthorpej
98db30ca8SthorpejThis is an X11-based passphrase dialog for use with OpenSSH.  It is
108db30ca8Sthorpejintended to replace the Perl/Tk-based ssh-askpass dialog and
118db30ca8SthorpejGNOME-based ssh-askpass dialog which accompany OpenSSH-1.2.  These
128db30ca8Sthorpejdialogs are intended to be called from the ssh-add program and not
138db30ca8Sthorpejinvoked directly.
148db30ca8Sthorpej
158db30ca8SthorpejThe features of x11-ssh-askpass are as follows:
168db30ca8Sthorpej
178db30ca8Sthorpej  - Configurable via the standard X resource mechanism
188db30ca8Sthorpej    (/usr/lib/X11/app-defaults, ~/.Xdefaults, xrdb, etc.).
198db30ca8Sthorpej    
208db30ca8Sthorpej  - Require only stock X11 libraries (libXt, libX11, libSM, libICE).
218db30ca8Sthorpej  
228db30ca8Sthorpej  - Can be configured to grab the keyboard and/or pointer (grabs the
238db30ca8Sthorpej    keyboard by default, not the pointer).
248db30ca8Sthorpej
258db30ca8SthorpejThe user interface is somewhat different than most password/passphrase
268db30ca8Sthorpejdialogs and more similar to the X11-based passphrase dialog that
278db30ca8Sthorpejaccompanies the regular SSH distribution.  Instead of a text field that
288db30ca8Sthorpejfills with asterisks or some other character as the user enters the
298db30ca8Sthorpejpassphrase, a series of LED-like areas light up one-by-one with each
308db30ca8Sthorpejpassphrase character entered, beginning from the lefthand edge of the
318db30ca8Sthorpejdialog. When they reach the righthand edge, they go dark one-by-one
328db30ca8Sthorpejagain, and so on.  This gives the user feedback that passphrase
338db30ca8Sthorpejcharacters have been entered, but does not provide onlookers with a cue
348db30ca8Sthorpejas to the length of the passphrase.
358db30ca8Sthorpej
368db30ca8SthorpejPressing the `OK' button accepts the passphrase (even if it is empty),
378db30ca8Sthorpejwhich is printed on the standard output, and the dialog exits with a
388db30ca8Sthorpejstatus of zero (success).  Pressing the `Cancel' button discards the
398db30ca8Sthorpejpassphrase, and the dialog exits with non-zero status.
408db30ca8Sthorpej
418db30ca8SthorpejThe following keystrokes work as expected:
428db30ca8Sthorpej
438db30ca8Sthorpej  [Backspace] or [Delete]               Erase previous character
448db30ca8Sthorpej  [Control+U] or [Control+X]            Erase entire passphrase
458db30ca8Sthorpej  [Enter], [Control+M], or [Control+J]  Accept passphrase (OK)
468db30ca8Sthorpej  [Escape]                              Discard passphrase (Cancel)
478db30ca8Sthorpej
488db30ca8Sthorpej+------------+
498db30ca8Sthorpej| Installing |
508db30ca8Sthorpej+------------+
518db30ca8Sthorpej
528db30ca8Sthorpejx11-ssh-askpass currently uses imake and xmkmf to build.  Here's the
538db30ca8Sthorpejprocedure:
548db30ca8Sthorpej
558db30ca8Sthorpej  xmkmf
568db30ca8Sthorpej  make includes
578db30ca8Sthorpej  make
588db30ca8Sthorpej  make install
598db30ca8Sthorpej
608db30ca8Sthorpejx11-ssh-askpass installs by default in /usr/local/libexec/ssh/.  To
618db30ca8Sthorpejinstall it somewhere else (for example, /usr/libexec/ssh/) use:
628db30ca8Sthorpej
638db30ca8Sthorpej  make install BINDIR=/usr/libexec/ssh
648db30ca8Sthorpej
658db30ca8SthorpejSeveral different app-defaults files accompany x11-ssh-askpass:
668db30ca8Sthorpej
678db30ca8Sthorpej  SshAskpass-1337.ad    - small, dark, and gray
688db30ca8Sthorpej  SshAskpass-NeXTish.ad - a look mildly similar to that of NEXTstep
698db30ca8Sthorpej  SshAskpass-default.ad - the default look
708db30ca8Sthorpej  SshAskpass-green.ad   - somewhat green
718db30ca8Sthorpej  SshAskpass-motif.ad   - a bit like the look of the Motif toolkit
728db30ca8Sthorpej
738db30ca8SthorpejIf you wish a look other than the default, perform the following
748db30ca8Sthorpejcommands before building (for example):
758db30ca8Sthorpej
768db30ca8Sthorpej  rm -f SshAskpass_ad.h
778db30ca8Sthorpej  make includes APP_DEFAULTS=SshAskpass-NeXTish.ad
788db30ca8Sthorpej
798db30ca8Sthorpej+-----------------+
808db30ca8Sthorpej| Where To Get It |
818db30ca8Sthorpej+-----------------+
828db30ca8Sthorpej
838db30ca8Sthorpejx11-ssh-askpass is available at:
848db30ca8Sthorpej
858db30ca8Sthorpej  http://www.pobox.com/~jmknoble/software/x11-ssh-askpass/
868db30ca8Sthorpej
878db30ca8Sthorpej+--------------------------+
888db30ca8Sthorpej| Copyright, License, Etc. |
898db30ca8Sthorpej+--------------------------+
908db30ca8Sthorpej
918db30ca8SthorpejSome portions of x11-ssh-askpass are derived directly or indirectly
928db30ca8Sthorpejfrom portions of xscreensaver by Jamie Zawinski <jwz@jwz.org>, while
938db30ca8Sthorpejothers are original works.
948db30ca8Sthorpej
958db30ca8SthorpejThe contents of the following files is taken directly, in whole or in
968db30ca8Sthorpejpart, from xscreensaver:
978db30ca8Sthorpej
988db30ca8Sthorpej  drawing.c
998db30ca8Sthorpej  drawing.h
1008db30ca8Sthorpej  resources.c
1018db30ca8Sthorpej  resources.h
1028db30ca8Sthorpej
1038db30ca8SthorpejThe contents of the following files contains a limited amount of code
1048db30ca8Sthorpej(less than approximately 25%) which is derived from portions of
1058db30ca8Sthorpejxscreensaver:
1068db30ca8Sthorpej
1078db30ca8Sthorpej  x11-ssh-askpass.c
1088db30ca8Sthorpej
1098db30ca8SthorpejThe remainder of the code is an original work, including the following
1108db30ca8Sthorpejfiles:
1118db30ca8Sthorpej
1128db30ca8Sthorpej  dynlist.c
1138db30ca8Sthorpej  dynlist.h
1148db30ca8Sthorpej  x11-ssh-askpass.h
1158db30ca8Sthorpej  *.ad
1168db30ca8Sthorpej
1178db30ca8SthorpejThe portions derived from xscreensaver require the following notice:
1188db30ca8Sthorpej
1198db30ca8Sthorpej  xscreensaver, Copyright (c) 1991-1999 Jamie Zawinski <jwz@jwz.org>
1208db30ca8Sthorpej
1218db30ca8Sthorpej  Permission to use, copy, modify, distribute, and sell this software
1228db30ca8Sthorpej  and its documentation for any purpose is hereby granted without fee,
1238db30ca8Sthorpej  provided that the above copyright notice appear in all copies and
1248db30ca8Sthorpej  that both that copyright notice and this permission notice appear in
1258db30ca8Sthorpej  supporting documentation.  No representations are made about the
1268db30ca8Sthorpej  suitability of this software for any purpose.  It is provided "as is"
1278db30ca8Sthorpej  without express or implied warranty.
1288db30ca8Sthorpej
1298db30ca8SthorpejThe remaining portions fall under the following copyright and license:
1308db30ca8Sthorpej
1318db30ca8Sthorpej  by Jim Knoble <jmknoble@pobox.com>
1328db30ca8Sthorpej  Copyright � 1999 Jim Knoble
1338db30ca8Sthorpej  
1348db30ca8Sthorpej  Permission to use, copy, modify, distribute, and sell this software
1358db30ca8Sthorpej  and its documentation for any purpose is hereby granted without fee,
1368db30ca8Sthorpej  provided that the above copyright notice appear in all copies and
1378db30ca8Sthorpej  that both that copyright notice and this permission notice appear in
1388db30ca8Sthorpej  supporting documentation.
1398db30ca8Sthorpej
1408db30ca8Sthorpej+------------+
1418db30ca8Sthorpej| Disclaimer |
1428db30ca8Sthorpej+------------+
1438db30ca8Sthorpej
1448db30ca8Sthorpej  The software is provided "as is", without warranty of any kind,
1458db30ca8Sthorpej  express or implied, including but not limited to the warranties of
1468db30ca8Sthorpej  merchantability, fitness for a particular purpose and
1478db30ca8Sthorpej  noninfringement. In no event shall the author(s) be liable for any
1488db30ca8Sthorpej  claim, damages or other liability, whether in an action of contract,
1498db30ca8Sthorpej  tort or otherwise, arising from, out of or in connection with the
1508db30ca8Sthorpej  software or the use or other dealings in the software.
1518db30ca8Sthorpej
1528db30ca8Sthorpej-------- End of file --------
153