[BACK]Return to OX-RFC-103.oxw CVS log [TXT][DIR] Up to [local] / OpenXM / doc / OpenXM-specs

Annotation of OpenXM/doc/OpenXM-specs/OX-RFC-103.oxw, Revision 1.8

1.8     ! takayama    1: % $OpenXM: OpenXM/doc/OpenXM-specs/OX-RFC-103.oxw,v 1.7 2006/02/04 10:44:22 takayama Exp $
1.5       takayama    2: /*&C
                      3:
                      4: OX-RFC: 103                                   OpenXM committers
                      5:
                      6:                                               December 9, 2003,
                      7:                                               September 19, 2004
1.7       takayama    8:                                               February 4, 2006
1.5       takayama    9:
                     10: */
                     11: //&en  Supplement to OX-RFC-100
                     12: //&en     --- Broadcasting in process trees and engine authentication
1.6       takayama   13: //&en     --- Structure of error packets.
1.5       takayama   14: //&ja  OX-RFC-100 $B$X$NDI2C5!G=(B
                     15: //&ja     ---  $B%W%m%;%9LZ9=B$$G$NF1Js$H%(%s%8%sG'>Z(B
1.6       takayama   16: //&ja     --- $B%(%i!<%Q%1%C%H$N9=B$(B.
1.5       takayama   17:
                     18: /*&C
                     19:
                     20: Status of this memo
                     21:   This is an experimental specification.
                     22:   Distribution of this memo is unlimited.
                     23:
                     24: Copyright Notice
1.6       takayama   25:   OpenXM.org, 2003, 2004, 2006
1.5       takayama   26:
                     27: */
1.1       takayama   28:
                     29:
                     30: /*&ja
1.5       takayama   31:
                     32: @@$BMWLs(B
1.1       takayama   33:  $B$3$N(B RFC $B$O(B OpenXM RFC 100 ($B$*$h$S(B 101) $B$N<BAu$K$h$jL@$i$+$K$J$C$?<o!9$NLdBjE@$r$b$H$K(B
                     34:  RFC 100 $B%W%m%H%3%k$X$N4v$D$+$NDI2C$rDs0F$9$k(B.
1.5       takayama   35:
1.1       takayama   36: */
                     37:
1.5       takayama   38: //&ja @@$BCfCG$*$h$SJQ?t$NEAGE(B
                     39: //&en @@Propagation of an interruption and a value of a variable
1.3       takayama   40:
1.5       takayama   41: //&ja @@@$BCfCG(B
                     42: //&en @@@Interruption
1.1       takayama   43:
1.2       takayama   44: /*&ja
1.5       takayama   45:
1.2       takayama   46: OX RFC 103 $B$G$O(B,
                     47: $B%(%s%8%s$O(B OX RFC 100 $B$KDj5A$5$l$?CfCG=hM}$r40N;$7$?$N$A(B,
1.5       takayama   48: $B$5$i$K<!$N=hM}$r$*$3$J$o$J$$$H$$$1$J$$(B.
1.2       takayama   49: $B>e0U2<C#$NCfCG=hM}(B:
1.5       takayama   50: 1. $B<+J,$N;R6!%W%m%;%9$r$9$Y$F%j%9%H$9$k(B
                     51:   ($B$?$H$($P(B asir $B$N>l9g$O(B ox_get_serverinfo())
                     52: 2. $B;R6!%W%m%;%9$K=gHV$K(B OpenXM-RFC 100 $B$NCfCG%a%C%;!<%8$rAw$k(B.
                     53:
1.2       takayama   54: */
                     55:
                     56: /*&en
1.5       takayama   57:
1.2       takayama   58: Engines complient to OX RFC 103 must execute the following
                     59: procedures after finishing the interruption exception
                     60: defined by OX RFC 100.
1.5       takayama   61:
                     62: 1. List all the child processes.
                     63:   (For example, use the function ox_get_serverinfo() in case of asir).
                     64: 2. Send all the child processes the interruption message defined
1.2       takayama   65:    OX RFC 100.
1.5       takayama   66:
1.2       takayama   67: */
1.1       takayama   68:
1.5       takayama   69: //&ja @@@$B%5!<%PLZ$NBg0hJQ?t(B
                     70: //&en @@@Global variable of the tree of the servers
1.3       takayama   71:
                     72: //&ja OX RFC 103 $BBP1~$N%(%s%8%s$O%(%s%8%s4X?t(B
                     73: /*&en
                     74: The engines complient to OX RFC 103 implement the engine function
                     75: */
                     76: /*&C
1.5       takayama   77:    ox103_set_shared_variable(CMO string Name, CMO object value)
1.3       takayama   78: */
                     79: /*&ja
                     80: $B$r<BAu$7$F$$$k(B.
1.5       takayama   81: $B$3$N4X?t$,8F$P$l$k$H(B, $B%(%s%8%s%9%?%C%/%^%7%s$NJQ?t(B Name $B$KCM(B value
                     82: $B$,@_Dj$5$l(B, $B$5$i$K;R$I$b$N%W%m%;%9$9$Y$F$N%(%s%8%s4X?t(B
                     83:       ox103_set_shared_variable
1.3       takayama   84: $B$r$h$V(B.
                     85: */
                     86: /*&en
                     87: When this function is called,
1.5       takayama   88: the value value is assigned to
                     89: the variable Name of the engine stackmachine
1.3       takayama   90: and the engine calls the function
1.5       takayama   91:        ox103_set_shared_variable
1.3       takayama   92: of all the child processes with the same arguments.
                     93: */
                     94:
                     95: /*&ja
                     96: $B$?$H$($P(B,
1.5       takayama   97: $B$3$N5!G=$O(B asir-contrib $B$K$*$$$FJQ?t(B  Xm_noX (ox server $BMQ$N(B debug
1.3       takayama   98: window $B$rI=<($9$k$+$7$J$$$+$N%U%i%0(B) $B$NCM$rF1Js$9$k$N$KMQ$$$F$$$k(B.
                     99: */
                    100: /*&en
                    101: For example,
                    102: this protocol is used in the asir-contrib
1.5       takayama  103: to broad cast the value of the variable  Xm\_noX,
1.3       takayama  104: which is the flag of hiding the debug window of an ox server.
                    105: */
                    106:
                    107:
1.5       takayama  108: //&ja @@$B?7$7$$(B CMO
                    109: //&en @@New CMO
1.1       takayama  110:
1.5       takayama  111: //&ja @@$B%U%!%$%k$X$NFI$_=q$-(B
                    112: //&en @@File IO
1.1       takayama  113:
1.5       takayama  114: //&ja @@$B%(%s%8%sG'>Z<jB3$-(B
                    115: //&en @@Engine authentication
1.1       takayama  116:
1.2       takayama  117: /*&ja
1.5       takayama  118:
1.2       takayama  119: $B%P%$%H%*!<%@!<$r7h$a$k$?$a$N>pJs8r49(B (OX-RFC 100 $B;2>H(B) $B$NA0$K(B
                    120: $B%(%s%8%sG'>Z<jB3$-$r$*$3$J$&(B.
1.4       takayama  121:
                    122: $BG'>Z%W%m%H%3%k$K$O2<$N?^$N(B step 1, step 2, step 3 $B$G$"$k(B.
                    123:
                    124:
                    125:  client                                            server
                    126:
                    127:      ---------------- step 1 ----------------------->
                    128:      ssh $B$K$h$k(B server $B$X$N(B login.
                    129:      controle server, engine server $B$H$N@\B3$r3NN)$9$k$?$a$N(B
                    130:      $B%]!<%HHV9f$*$h$S(B      -control= ... , -data=...
                    131:      $BG'>ZJ}K!$*$h$S(B        -authtype=NONE | <<oneTimePassword>>
                    132:      $BG'>Z%Q%9%o!<%I(B        -passControl=... , -passData=...
                    133:      $B$bAw?.$5$l$k(B.
                    134:      $BG'>Z%Q%9%o!<%I$N0E9f(B  -authEncoding=<<NONE>> | file | RSA
                    135:      $B2=J}K!$N;XDj(B.
                    136:      << >> $B$O(B src/kxx/ox $B$NI8=`CM(B
                    137:
                    138:
                    139:     <----------------  step 2 -------------------------->
                    140:        -reverse $B$N>l9g$O(B <--- $B$N8~$-$K(B TCP/IP $B@\B3$,3NN)$5$l$k(B.
                    141:        $B$=$&$G$J$$$H$-$O(B ---> $B$N8~$-$K(B TCP/IP $B@\B3$,3NN)$5$l$k(B.
                    142:
                    143:     <----------------  step 3 -------------------------->
                    144:        -authtype=oneTimePassword $B$N;~(B.
                    145:        connect $B$7$?B&$,(B accept $B$7$?B&$X(B oneTimePassword $B$rAw$k(B.
                    146:        $BKvHx$N(B 0 $B$rAw?.$9$k(B.
                    147:
                    148:     $B0J2<(B launcher $B$N;E;v$O=*N;$7$F(B, engine $B$H(B control $B$K@)8f$,0\$k(B.
                    149:     <----------------  step 4 -------------------------->
                    150:        engine $B$N(B byte order $B$r@_Dj(B.
                    151:
                    152:     <---------------------------------------------------->
                    153:        OpenXM $B$N%Q%1%C%H8r49(B
                    154:
1.5       takayama  155:
1.4       takayama  156: */
                    157:
                    158: /*&ja
                    159:
                    160:  authtype $B$O(B NONE $B$+(B oneTimePassword $B$G$"$k(B.
                    161:  oneTimePassword $B$O1Q?t;z$G9=@.$5$l$?Ns$G$"$k(B.
                    162:  oneTimePassword $B$O>o$K%/%i%$%"%s%H$G@8@.$5$l$F(B, $B$J$s$i$+$NJ}K!$G%5!<%P$K(B
                    163:  $BG[Aw$5$l$k(B.  connect $BB&$,(B oneTimePassword $B$rJ?J8$G(B accept $BB&$KAw?.$7$F(B
                    164:  $BG'>Z$,=*N;$9$k(B.
                    165:
                    166:  authEncoding $B$G(B oneTimePassword $B$NG[AwJ}K!$r5,Dj$9$k(B.
                    167:  authEncoding $B$O(B NONE $B$+(B file $B$+(B RSA $B$G$"$k(B.
                    168:
                    169:  authEncoding=NONE $B$,A*Br$5$l$?>l9g(B oneTimePassword $B$NG[Aw$KFCJL$JJ}K!$rMxMQ(B
                    170:  $B$7$J$$(B.
                    171:  NONE $B$rA*Br$7$?>l9g(B, $B8=:_$N(B ox launcher $B$N<BAu$G$O$?$H$($P(B -passControl
                    172:  $B$N$"$H$K(B oneTimePassword $B$,@8$N7A$G8=$l$k$3$H$H$J$k(B.
                    173:  Unix $B$N>l9g$3$l$O(B command $B$N0z?t$G$"$j(B client $B$H(B server $B$NDL?.O)$,(B
                    174:  ssh $BEy$G0E9f2=$5$l$F$$$?$H$9$k$H%M%C%H%o!<%/%f!<%6$OGA$-$_$k$3$H$O$G$-$J$$$,(B,
                    175:  $BF10l5!$N%f!<%6$O8+$k$3$H$,2DG=$G$"$k(B.
                    176:  $B$7$?$,$C$F(B NONE $B$NA*Br$,2DG=$G$"$k$N$O(B client $B$*$h$S(B server $B$,==J,?.Mj(B
                    177:  $B$G$-$k$H$-$K8B$k(B.
                    178:
                    179: */
                    180:
                    181: /*&ja
                    182:
1.5       takayama  183: @@@authEncoding=file $B$N>l9g(B.
1.4       takayama  184:
                    185:  authEncoding=file $B$rA*Br$7$?>l9g$O(B oneTimePassword $B$OJL$KMQ0U$5$l$?0BA4$J(B
                    186:  $BDL?.7PO)(B($B$?$H$($P(B scp) $B$rMQ$$$F(B file $B$H$7$FG[Aw$5$l$k(B.
                    187:  oneTimePassword $B$,3JG<$5$l$?(B file $BL>$r(B -passControl, -passData $B0z?t$GEO$9(B.
                    188:  file $BL>$O(B $HOME/.openxm/tmp.otp/ $B$+$i$NAjBP%Q%9L>$G$"$k(B.
                    189:  $B%Q%9$N6h@Z$jJ8;z$O(B windows $B$G$b(B / $B$rMQ$$$k(B.
                    190:  $B%/%i%$%"%s%H$O<!$N5,B'$G%U%!%$%kL>$r@8@.$9$k(B.
                    191:  $B%U%!%$%kL>$K$O1Q?t;z$H(B . -  _ $B$NMxMQ$7$+$f$k$5$l$J$$(B. $B%U%!%$%kL>$O<!$N7A<0(B
                    192:  $B$G$"$k(B.
                    193:
                    194:     clientname-servernameUidPidSerial-time.pass
                    195:
                    196:  $B$3$3$G(B time $B$O(B time(2) $B$NLa$jCM$r?t;zJ8;zNs$KJQ49$7$?7A<0$G$"$k(B.
                    197:  oneTimePassword $B$N@8@.;~9o$r@Z$j>e$2$F(B 10 $BJ,Kh$N@5;~$KJQ49$7$?$b$N$H$9$k(B.
                    198:  servernameUidPidSerial $B$O(B client $B$,(B oneTimePassword $B$r@8@.$7$F$+$i(B
                    199:  10 $BJ,4V(B, $B%/%i%$%"%s%H%7%9%F%`$G9b$$3NN($G0l0UE*$G$"$k$3$H$,J]>Z$5$l$F$$$k(B
                    200:  $BJ8;zNs$J$i$J$s$G$b$h$$(B.
                    201:
                    202:  $BNc(B
                    203:       client                                            server
                    204:
                    205:      oneTimePassword 1342546 $B$r3JG<$7$?%U%!%$%k(B
                    206:      yama.openxm.org-00001-2312123123.pass   $B$r@8@.(B
                    207:
                    208:      oneTimePassword 89123888 $B$r3JG<$7$?%U%!%$%k(B
                    209:      yama.openxm.org-00002-2312123124.pass   $B$r@8@.(B
                    210:      ----------------------------------------------------->
                    211:         $B>e$NFs$D$N%U%!%$%k$r0BA4$JDL?.O)$rMQ$$$FG[Aw$9$k(B.
                    212:        ($B$?$H$($P(B scp )
                    213:
                    214:      ----------------------------------------------------->
                    215:           ox -authtype oneTimePassword
                    216:              -authEncoding file
                    217:              -passControl yama.openxm.org-00001-2312123123.pass
                    218:              -passData yama.openxm.org-00002-2312123124.pass
                    219:
                    220:
                    221:     <----------------  step 2 -------------------------->
                    222:        -reverse $B$N>l9g$O(B <--- $B$N8~$-$K(B TCP/IP $B@\B3$,3NN)$5$l$k(B.
                    223:        $B$=$&$G$J$$$H$-$O(B ---> $B$N8~$-$K(B TCP/IP $B@\B3$,3NN)$5$l$k(B.
                    224:
                    225:     <----------------  step 3 -------------------------->
                    226:        connect $B$7$?B&$,(B accept $B$7$?B&$X(B oneTimePassword $B$rJ?J8$G$*$/$k(B.
                    227:
                    228:
                    229:
                    230:      oneTimePassword 1342546 $B$r3JG<$7$?%U%!%$%k(B
                    231:      yama.openxm.org-00001-2312123123.pass   $B$r(B server $B$K@8@.$9$k$?$a$K(B
                    232:     $B$?$H$($P(B sendStringAsAfile(char *servername, char *serveruser,
                    233:                   char *filename, char *otp);
                    234:     $B$N$h$&$J(B API $B$rMQ0U$7$F$*$/$H$h$$$G$"$m$&(B.
                    235:
                    236: */
                    237:
                    238: /*&ja
                    239:
1.5       takayama  240: @@@authEncoding=RSA $B$N>l9g(B.
1.4       takayama  241:
                    242: RSA $B$NHkL)80(B, $B8x3+80$r3JG<$9$k%U%!%$%kL>$O0J2<$N$H$*$j(B.
                    243: $HOME/.openxm/rsa/ox103-rsa0-identity       ($BHkL)80$r$J$i$Y$?$b$N(B)
                    244: $HOME/.openxm/rsa/ox103-rsa0-identity.pub   ($B8x3+80(B: $B$3$N7A<0$G$OMxMQ$5$l$:(B)
                    245: $HOME/.openxm/rsa/ox103-rsa0-authorizedkeys ($B8x3+80$r$J$i$Y$?$b$N(B)
                    246:
                    247: $B80%U%!%$%k$O<!$N%G!<%?$r6uGr$G6h@Z$C$FJB$Y$?$b$N$G$"$k(B.
                    248:   user$B<1JL;R(B    $B80(B($B#1#0?J?t;zNs(B)    RSA$B%U%)!<%^%C%H<1JL;R(B(optional)
                    249: $B%3%a%s%H9T$O(B # $B$G;O$^$k(B.
1.5       takayama  250: $B3F%G!<%?$N6h@Z$j$O(B 0xd $B$^$?$O(B 0xa $B$^$?$O(B $BN>J}$G$"$k(B.
1.4       takayama  251:
1.5       takayama  252: $B%U%)!<%^%C%H<1JL;R$,(B 0 $B$N>l9g$O8x3+800E9f2=(B
                    253: x --> x^65537 mod n $B$rMQ$$(B, 128 byte (1024 bit) $B$E$D%G!<%?$r6h@Z$C$F=hM}$9$k(B.
                    254: $BHkL)800E9f2=$O(B  x --> x^d mod n $B$rMQ$$$k(B.
                    255: $B%U%)!<%^%C%H<1JL;R(B 0 $B$O<B83MQ$N0UL#(B.
                    256: $BHkL)80$O(B n,d ,  $B8x3+80$O(B n $B$N7A<0$G(B n $B$H(B d $B$O(B , $B$G6h@Z$k(B.
                    257: $BJ8;zNs$rAw?.$9$k$H$-$O(B 0 $B$,J8;zNs=*$j$N%^!<%/$H$J$j(B,
                    258: 0 $B$G$N$3$jItJ,$rKd$a$k(B. $B%P%$%HNs$rAw$k$H$-$O%G!<%?$ND9$5$OJLAw$9$k(B.
1.4       takayama  259:
                    260: Todo: $B80$N3JG<J}K!(B, $B%G!<%?6h@Z$j$NJ}K!$J$I2DG=$J8B$j(B
                    261: RFC3447 $B$K=`5r$9$k$h$&$KJQ99$;$h(B.  $B=`5r$,40N;$7$?$i(B -rsa0- $B$r(B
                    262: -rsa- $B$HJQ99$9$k(B.
                    263:
                    264: $BNc(B:
                    265:
                    266: client  $BB&(B
                    267:
                    268:   ox103-rsa0-identity
                    269:      # client $BB&$,;H$&HkL)80(B
                    270:      takayama@client.math.kobe-u.ac.jp  1234523....
                    271:
                    272:
                    273:   ox103-rsa0-authorizedkeys
                    274:      @ server $BB&$,;H$&HkL)80$KBP1~$9$k8x3+80(B
                    275:      takayama@server.math.kobe-u.ac.jp  8989898....
                    276:
                    277: server $BB&(B
                    278:   ox103-rsa0-identity
                    279:      # server $BB&$,;H$&HkL)80(B
                    280:      takayama@server.math.kobe-u.ac.jp  8781234....
                    281:
                    282:   ox103-rsa0-authorizedkeys
                    283:      @ client $BB&$,;H$&HkL)80$KBP1~$9$k8x3+80(B
                    284:      takayama@client.math.kobe-u.ac.jp  89891....
                    285:
                    286: authEncoding=RSA $B$rMxMQ$9$k>l9g$O$3$l$i$N80$rE,@Z$K(B .openxm/rsa $B$N2<$K(B
                    287: $BCV$+$J$$$H$$$1$J$$(B.  .openxm/rsa $B$N(B permission $B$O(B rwx------ $B$G$"$k$3$H(B.
                    288:
                    289: $BCm0U(B: $BHkL)80$r@8$G3JG<$7$J$$>l9g%U%!%$%kL>$r(B ox103-rsa2-* $BEy$HJQ99$9$k(B
1.5       takayama  290: $BM=Dj(B.  RSA encoding $BJ}K!$O?t;zL5$7(B, $B?t;z$NBg$-$$$b$N$+$i80%U%!%$%k$r(B
                    291: $B=gHV$K%5!<%A$7$F(B RSA $B$N%U%)!<%^%C%H$r7hDj$9$k(B.
1.4       takayama  292:
                    293: authEncoding=RSA $B$N>l9g(B -passData $B$*$h$S(B -passControl $B$O(B
                    294: oneTimePassword ($BJ8;zNs(B) $B$r(B bit data $B$H$_$F(B rsa $B$G0E9f2=$7$?$b$N$r(B
                    295: URL encoding $B$7$?7A$GAw$k(B.
                    296:
                    297: oneTimePassword $B$N<~4|$O==J,Bg$-$/$J$$$H$$$1$J$$(B.
                    298: $B0lG/$O(B 31536000 $BIC$G$"$k(B. 100 $BG/$O(B 3153600000 $BIC(B (10 $B7e(B) $B$G$"$k(B.
1.5       takayama  299: oneTimePassword $B$O?t;z$N>l9g(B 10 $B7e0J>e$G$"$k$3$H$,I,?\$G$"$j(B,
                    300: 20 $B7e0J>e$G$"$k$3$H$,K>$^$7$$(B.
                    301:
                    302: */
                    303:
                    304: /*&ja
                    305:
                    306: @@@Step 1 $B$,<:GT$7$?>l9g$K$D$$$F(B.
                    307:
                    308: Step 1  $B$N<:GT$N860x$K$O<!$N$h$&$J2DG=@-$,$"$k(B.
                    309: 1. ssh $B$K$h$k(B remote login $B$N<:GT(B.
                    310: 2. Remote server $B$N%Q%9$K(B ox100start/ox $BEy$N%m!<%s%A%c$,B8:_$7$J$$(B.
                    311: 3. Remote server $B$K(B xterm $B$,B8:_$7$J$$$+(B, $BB8:_$7$F$b(B X $B%5!<%P$N@\B3$K<:GT$9$k(B.
                    312: 4. Remote server $B$K%(%s%8%s$,B8:_$7$J$$(B.
                    313: 5. Remote server $B$H(B client $B$N(B TCP/IP $B@\B3$,$J$s$i$+$N860x$G<:GT$9$k(B.
                    314:
                    315: $B<:GT$N>l9g$KBP1~$9$k$?$a(B,
                    316: TCP/IP $B@\B3$G$N(B Accept $BB&$O%?%$%`%"%&%HF0:n$r$9$k$3$H(B.
                    317:
                    318:
                    319: $B<:GT$N860x$rCN$i$;$k%W%m%H%3%k$O$-$a$i$l$F$$$J$$$,(B,
                    320: $B<BAu>e$NBP:v$H$7$F0J2<$N$b$N$,$"$k(B.
                    321: 1. $B%(%i!<%a%C%;!<%8$r=PNO$7$F(B sleep(10); $B$9$k(B.
                    322: 2. $B%(%i!<%a%C%;!<%8$r%U%!%$%kEy$K=PNO$9$k(B.
                    323:
                    324: $B$J$*(B OX-RFC-101 $B$G$O(B Step 1 $B$,J,N%$7$F$$$k$?$a(B, $B%(%i!<$NDLCN$,$h$j4JC1$G$"$k(B.
1.4       takayama  325:
1.2       takayama  326: */
                    327:
1.5       takayama  328:
                    329: //&ja @@$B9W8%<T$*$h$S;n83<BAu(B
                    330: //&en @@Contributors and sample implementations
1.2       takayama  331:
                    332: /*&ja
1.5       takayama  333: $BCfCG$*$h$SJQ?t$NEAGE$K$D$$$F$O9b;3$,@_7W(B, asir $B$*$h$S(B kan/sm1 $B$X$N(B
                    334: $B<BAu(B, $BI>2A$r$*$3$J$C$?(B.
                    335: (OpenXM/src/asir-contrib/packages/src/oxrfc103.rr,
                    336:  OpenXM/src/kan96xx/Doc/oxrfc103.sm1
1.2       takayama  337:  $B$r$_$h(B).
1.5       takayama  338:
                    339: $B%(%s%8%sG'>Z<jB3$-$N(B file encoding $BK!$OLnO$$H9b;3$N5DO@$+$i@8$^$l$?(B.
                    340: $B%(%s%8%sG'>Z<jB3$-$O(B   ox100start, ox $B$KItJ,<BAu$5$l$F$$$k(B.
                    341:   OpenXM/src/kxx/
                    342: $B$N%U%!%$%k72$*$h$S(B
                    343:   OpenXM/src/kan96xx/Doc/ox.sm1
                    344: $B$r$_$h(B.
                    345: $BNc(B:  sm1$B$r5/F08e(B,   (ox.sm1) run  asirconnectr
1.3       takayama  346: */
                    347:
                    348: /*&ja
                    349: $B9TNs(B, $B%Y%/%H%k$N(B CMO $B$O(B NTL $B$N%5!<%P2=$r%F%9%H%1!<%9$H$7$F(B
                    350: $B4d:,$,@_7W(B, $B<BAu(B, $BI>2A$r9T$C$?(B.
1.5       takayama  351: RSA $B$N%-!<@8@.(B, DES $BEy$N(B OpenXM crypt $B%i%$%V%i%j$N<BAu$O4d:,$,$*$3$J$C$F$$$k(B.
                    352: OpenXM/src/ox_ntl/crypt $B$r$_$h(B.
1.6       takayama  353: */
                    354:
                    355: //&ja @@$B%(%i!<%Q%1%C%H$N9=B$(B.
                    356: //&en @@Structure of error packets
                    357:
                    358: /*&en
                    359:   English translation has not been done.
                    360: */
                    361:
                    362: /*&ja
                    363: Error packet $B$O(B CMO_ARRAY $B$r(B body $BItJ,$H$9$k(B CMO $B$G$"$k$,(B,
                    364: $B$3$3$G$O$=$N(B body $BItJ,$N(B array $B$N9=B$$rDj5A$9$k(B.
1.7       takayama  365: 0 $BHVL\$N@.J,$O(B CMO_INT32 $B$G$"$k(B.  $B%(%i!<H/@8$N860x$H$J$C$?%Q%1%C%HHV9f(B.
                    366:                                   $B$o$+$i$J$$$H$-$O(B -1.
                    367: 1 $BHVL\$N@.J,$O(B CMO_INT32 $B$G$"$k(B.  CMO_ERROR2 $B6&DL%(%i!<HV9f(B.
                    368:                                   $B$o$+$i$J$$$H$-$O(B -1.
1.6       takayama  369: 2 $BHVL\$N@.J,$O(B CMO_STRING $B$G$"$j%(%i!<%a%C%;!<%8$r3JG<$9$k(B.
                    370: 3 $BHVL\$N@.J,(B(optional) $B$,(B ox-rfc-103 $B$G?7$7$/Dj5A$9$kItJ,$G$"$k(B.
                    371: 3 $BHVL\$N@.J,$N%G!<%?7?$O(B CMO_ARRAY $B$G$"$k(B.
                    372: Array $B$N3FMWAG$O$^$?D9$5(B 2 $B$N(B CMO_ARRAY $B$G$"$j(B,
                    373: $BBh0l@.J,$,(B CMO_STRING, $BBh(B2$B@.J,$O(B CMO $B%*%V%8%'%/%H$G$"$k(B.
                    374: $BBh0l@.J,$O%-!<%o!<%I$,3JG<$5$l(B, $BBh(B2$B@.J,$O$=$NCM$G$"$k(B.
                    375: $B%-!<%o!<%I$H$7$F8=:_<!$N$b$N$r(B ox-rfc-103 $B$H$7$FDs0F$7$F$$$k(B.
                    376: $B$J$*%5!<%P$OA4$F$N%-!<%o!<%I$NCM$rLa$9I,MW$O$J$$(B.
1.8     ! takayama  377: $B%(%i!<>pJs$O8@8l$N;EMM$K0MB8$9$k$?$a(B asir_where $B$NMQ$K(B asir $B8@8l$K0MB8$7$?(B
        !           378: $B7A<0$N%(%i!<>pJs$N$o$?$7$+$?$b$"$k(B. $B:#8e2?DL$j$+$NJ}K!$K<}B+$7$F$$$/$HM=A[$7$F$$$k(B.
        !           379:
1.6       takayama  380:   reason_of_error,  (CMO_STRING)$B<B9T;~%(%i!<$NM}M3(B
                    381:   where,   (CMO_ARRAY) $B<B9T;~%(%i!<$N>l=j$r$"$i$o$9(B CMO_STRING $B$N(Barray.
                    382:   lines,    (CMO_ARRAY) $B<B9T;~%(%i!<$r5/$3$7$?9THV9f(B(CMO_INT32) $B$N(Barray.
                    383:                         -1 $B$OITL@$rI=$9(B.
                    384:   locals,  (CMO_ARRAY) $B<B9T;~%(%i!<$N;~$N6I=jJQ?t$NL>A0$HCM$N(B
                    385:                        pair($BD9$5(B2$B$N(Barray) $B$N(B array
                    386:   parse_error_at,      (CMO_INT32) parse $B%(%i!<$r$*$3$7$?9THV9f(B.
                    387:   reason_of_parse_error,  (CMO_STRING) parse $B%(%i!<$NM}M3(B.
1.8     ! takayama  388:   asir_where, (CMO_ARRAY) asir$B7A<0$N%(%i!<0LCV>pJs(B.
        !           389:        [$B>l=j(B,$B4X?tL>(B,$B9THV9f(B] $B$^$?$O(B [$B>l=j(B,$B9THV9f(B] $B$N%j%9%H(B.
        !           390:        $BIi$N9THV9f$O0UL#$N$J$$>pJs$G$"$j%/%i%$%"%s%H$OL5;k$9$Y$-$G$"$k(B.
1.6       takayama  391: */
                    392:
                    393: /*&C
                    394:
                    395: Example 1.
                    396:   [["parse_error_at", 3 ],
                    397:    ["reason_of_parse_error","parse error after (x-)"],
                    398:   ]
                    399:
                    400: Example 2.
                    401:   [["reason_of_error", "invalid argument"],
                    402:    ["where",["shell","length"]],
                    403:    ["lines", [15,-1]]
                    404:   ]
1.8     ! takayama  405:
        !           406: Example 3.
        !           407:  ["asir_where"
        !           408:   [["toplevel", 10],
        !           409:    ["string","foo",3],          // string $B$O(B execute_string $B$GEO$5$l$?(B string $BFb$r0UL#$9$k(B.
        !           410:    ["/usr/local/lib/OpenXM/asir/lib/afo.rr","abc",4]
        !           411:   ]
        !           412:  ]
1.6       takayama  413:
                    414: */
                    415:
                    416: /*&ja
                    417: $BNc(B2$B$NJdB-(B.
                    418:    ["where",["shell","length"]],
                    419:    ["lines", [15,-1]]
                    420: $B$N(B lines $B$N0UL#$O2r@b$rMW$9$k$G$"$m$&(B.
                    421: [15,-1] $B$N(B 15 $B$O(B executeString $B$KM?$($i$l$?J8;zNs$N(B 15 $B9TL\$K=P8=$7$F$$$k(B
                    422: $B4X?t(B shell $B$G%(%i!<$,5/$3$C$?$3$H$r0UL#$7$F$$$k(B.
                    423: $B4X?t(B shell $B$NCf$+$i8F$P$l$F$$$k(B length $B4X?t$G%(%i!<$,5/$-$F$$$k$N$G$"$k$,(B,
                    424: -1 $B$O$=$N9T(B(shell $B4X?t$NDj5ACf$G$NAjBPE*$J9THV9f(B)$B$OITL@$G$"$k$H$$$&$3$H$r(B
                    425: $B0UL#$7$F$$$k(B.
1.2       takayama  426: */
1.1       takayama  427:
1.5       takayama  428: //&ja @@$B;29MJ88%(B
                    429: //&en @@Bibliography
                    430:
                    431: /*&C
                    432:
                    433: [OpenXM-RFC-100]  Design and Implementation of OpenXM Client-Server Model
                    434:                  and Common Mathematical Object Format.  M.Noro, N.Takayama
                    435:
                    436: [OpenXM-RFC-101] Protocol to Start Engines.  K.Ohara
                    437:
                    438:
                    439: [RFC3447]  Public-Key Cryptography Standards (PKCS) #1: RSA Cryptography
                    440:      Specifications Version 2.1. J. Jonsson, B. Kaliski. February 2003.
                    441:      (Format: TXT=143173 bytes) (Obsoletes RFC2437) (Status:
                    442:      INFORMATIONAL)
                    443:
                    444: */

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