[BACK]Return to fetch_asir_key.sm1 CVS log [TXT][DIR] Up to [local] / OpenXM / rc

Annotation of OpenXM/rc/fetch_asir_key.sm1, Revision 1.3

1.3     ! takayama    1: % $OpenXM: OpenXM/rc/fetch_asir_key.sm1,v 1.2 2000/03/10 01:21:17 takayama Exp $
1.2       takayama    2: %% Usages:
                      3: % ../bin/sm1 -f fetch_asir_key.sm1
                      4: %    Set the asir key automatically.
                      5: %
                      6: % ../bin/sm1 -f fetch_asir_key.sm1 -s "/func (mail) def"
                      7: % ../bin/sm1 -f fetch_asir_key.sm1 -s "/func (set) def"
                      8: %   Step 1.  Only send a mail to get a key.
                      9: %   Step 2.  Wait for a reply and set the keys to asir_key
1.1       takayama   10:
                     11: /fetchSeed {
                     12:   [/in-fetchSeed /size] pushVariables
                     13:   [
                     14:    (/bin/rm -rf work) system
                     15:    (mkdir work) system
                     16:    (echo "quit;" >work/asir_key.in) system
                     17:    (../bin/asir <work/asir_key.in 2> work/asir_key.out0 ) system
                     18:    (grep ASIR work/asir_key.out0 >work/asir_key.out) system
                     19:    [(stat) (work/asir_key.out)] extension 1 get 0 get /size set
                     20:    /arg1 size def
                     21:   ] pop
                     22:   popVariables
                     23:   arg1
                     24: } def
                     25:
                     26: /sendMail {
                     27:   /MAILADDRESS ( risa@sec.flab.fujitsu.co.jp )def
                     28:   [(Sending a mail to ) MAILADDRESS ] cat message
                     29:   [(mail ) MAILADDRESS ( < ) (work/asir_key.out)] cat system
                     30: } def
                     31:
                     32: /waitReply {
1.3     ! takayama   33:   % Note that when you "su", $USER is not set to root, but set to your
        !            34:   % original login name.  The "From" field of your mail also seems to use
        !            35:   % $USER
1.1       takayama   36:   /MAIL [(/var/mail/) [(getenv) (USER)] extension ] cat def
1.2       takayama   37:   (/bin/rm -rf work/reply) system
1.1       takayama   38:   {
                     39:     [(Waiting a reply in ) MAIL] cat message
1.2       takayama   40:     [(    Type in   ctrl-Z   and   kill ) 37 (string) dc 37 (string) dc
                     41:      (   to stop this script.) ] cat message
1.1       takayama   42:     [(grep risa@sec.flab.fujitsu.co.jp ) MAIL (>work/reply)] cat system
                     43:     [(stat) (work/reply)] extension 1 get 0 get 0 eq not {
                     44:       exit
                     45:     }{  } ifelse
1.2       takayama   46:     (sleep 5) system
1.1       takayama   47:   } loop
                     48:   (Got a key) message
                     49: } def
                     50:
                     51: /setAsirKey {
                     52:   /MAIL [(/var/mail/) [(getenv) (USER)] extension ] cat def
                     53:   (/bin/rm -rf work/key) system
                     54:   [ (egrep '[0-9a-z][0-9a-z][0-9a-z][0-9a-z][0-9a-z][0-9a-z][0-9a-z][0-9a-z] [0-9a-z][0-9a-z][0-9a-z][0-9a-z][0-9a-z][0-9a-z][0-9a-z][0-9a-z] [0-9a-z][0-9a-z][0-9a-z][0-9a-z][0-9a-z][0-9a-z][0-9a-z][0-9a-z]' ) MAIL ( >work/key) ]
                     55:   cat system
                     56:   cat work/key >>../lib/asir/asir_key
                     57: } def
                     58:
1.2       takayama   59: /fetch_check {
1.1       takayama   60:   [(This script sets OpenXM/lib/asir/asir_key for your machine,)
                     61:    (if your system can receive a mail at /var/mail on this machine.)
                     62:   ] { message } map
                     63:   (  ) message
                     64:   (  ) message
                     65:   (Cheching if you have a correct asir_key.) message
                     66:   (   ) message
                     67:   (   ) message
                     68:   fetchSeed 0 eq {
                     69:     (  ) message
                     70:     (  ) message
                     71:     (You already have a correct asir_key.) message
                     72:     (  ) message
                     73:     quit
1.2       takayama   74:   }{ } ifelse
                     75: } def
                     76:
                     77: /fetch {
                     78:    fetch_check
1.1       takayama   79:    sendMail
                     80:    waitReply
                     81:    setAsirKey
                     82: } def
                     83:
1.2       takayama   84: /func load tag 0 eq {
                     85:   fetch
                     86:   quit
                     87: } { } ifelse
                     88:
                     89: func (mail) eq {
                     90:   ( ) message
                     91:   (Send a mail only) message
                     92:   fetch_check
                     93:   sendMail
                     94:   quit
                     95: } { } ifelse
                     96:
                     97: func (set) eq {
                     98:   ( ) message
                     99:   (Wait a reply and set the keys) message
                    100:   waitReply
                    101:   setAsirKey
                    102:   quit
                    103: } { } ifelse
1.1       takayama  104:
1.2       takayama  105: quit

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>