[BACK]Return to ox-rfc-104.oxw CVS log [TXT][DIR] Up to [local] / OpenXM / doc / OpenXM-specs

Annotation of OpenXM/doc/OpenXM-specs/ox-rfc-104.oxw, Revision 1.2

1.2     ! takayama    1: $OpenXM: OpenXM/doc/OpenXM-specs/ox-rfc-104.oxw,v 1.1 2004/09/18 11:40:16 takayama Exp $
1.1       takayama    2: /*&C
1.2     ! takayama    3:
1.1       takayama    4: OX-RFC: 104                                    Nobuki Takayama
                      5:                                                September 18, 2004
                      6:
                      7: */
                      8:
1.2     ! takayama    9: //&en  OX-RFC100  over HTTP protocol
        !            10: //&ja  HTTP protocol $B$GJq$`$3$H$K$h$k(B OX-RFC 100 $B7A<0$NDL?.J}K!(B
1.1       takayama   11:
                     12: /*&C
                     13:
                     14: Status of this memo
                     15:   This is an experimental specification of sending OpenXM 100 packets
1.2     ! takayama   16:   over http (GET) and https.
1.1       takayama   17:   Distribution of this memo is unlimited.
                     18:
                     19: Copyright Notice
                     20:   OpenXM.org, 2004
                     21:
                     22: */
                     23:
1.2     ! takayama   24: //&ja @@$BMWLs(B
        !            25: //&en @@Abstract
1.1       takayama   26: /*&ja
                     27:
1.2     ! takayama   28:   OpenXM 100 $B7A<0$NDL?.$r(B HTTP GET ($B$^$?$O(B POST) $B$G(B wrap $B$9$kJ}K!$rDj5A(B
        !            29:   $B$9$k(B.  $B$3$N(B wrapping $B$K$h$j(B, $B<!$N$3$H$r<B8=$9$k$3$H$rL\I8$H$9$k(B.
        !            30:   1. OpenXM 100 $BBP1~$N%5!<%P$rMF0W$K(B CGI $B%5!<%S%92=$9$k(B.
        !            31:   2. OpenXM $B$N%5!<%S%9$r(B http $B$r4pK\$K%0%j%C%I2=$9$k(B.
        !            32:
        !            33:   OpenXM 100 $B$G$O%5!<%P$rN)$A>e$2$k$K$O(B "login" $B$9$k$3$H$,0lHL$KI,MW$G$"$k(B.
        !            34:   OpenXM-100 over HTTP GET  ($B0J2<(B OoHG  $B$HN,5-(B) $B$O<!$N$h$&$K(B login$BITMW(B,
        !            35:   login$BI,MW$NFs$D$NF0:n%b!<%I$r$b$D(B.
        !            36:   1. $BITFCDj?M$,0lEY$N$_$N7W;;MxMQ$r$9$k$h$&$J>l9g$K(B login $BITMW$GF0:n$9$k(B.
        !            37:   2. OpenXM 100 $B$HF1MM$K(B login $B$7$F(B session $B$r0];}$9$k$3$H$b2DG=$G$"$k(B.
1.1       takayama   38:
1.2     ! takayama   39:   $B$3$N%a%b$G$O(B HTTP GET (POST) $B$H(B HTTPS $B$7$+4{B85;=Q$OMxMQ$7$F$$$J$$(B.
1.1       takayama   40:   Web $B5;=Q$K4X$7$F8=:_8&5fCf$d<BMQ2==i4|CJ3,$N$5$^$6$^$J%W%m%H%3%k$r3hMQ$7$F(B
                     41:   $B$3$N%a%b$HF1Ey$+$=$l0J>e$N$3$H$r<B8=$9$k$3$H$O2DG=$G$"$m$&(B.
                     42:   $B2f!9$OC1=c$GI,MW==J,$J;EMM$rM?$($?$$$H;W$C$F$$$k(B.
                     43:   $B$=$N>r7o$K9gCW$9$k8B$j(B Web $B5;=Q$K4X$7$F8=:_8&5fCf$d<BMQ2==i4|CJ3,$N(B
                     44:   $B$5$^$6$^$J%W%m%H%3%k$r3hMQ$9$k$3$H$rH]Dj$9$k$b$N$G$O$J$$(B.
                     45:   $BJL$N%"%W%m!<%A$b;n$_$h$j$h$$%W%m%H%3%k$r:n$C$F$$$-$?$$(B.
                     46:
                     47: */
                     48:
1.2     ! takayama   49:
        !            50: //&ja @@OX-RFC-100 (OpenXM 100) $B7A<0$NDL?.$NI|=,(B
        !            51: //&en @@Review of OX-RFC-100 for this memo.
1.1       takayama   52: /*&ja
                     53:
                     54: OpenXM 100 $B$*$h$S$=$NGI@87A<0$NDL?.$O0J2<$N$h$&$J;EAH$_$G9T$o$l$k(B.
                     55:
                     56:  client                                            server
                     57:
                     58:      ---------------- step 1 ----------------------->
                     59:      ssh $B$K$h$k(B server $B$X$N(B login.
                     60:      localhost $B$G$O(B ox100start/ox $B$J$I$N(B launcher $B$,D>@\5/F0$5$l$k(B.
                     61:      controle server, engine server $B$H$N@\B3$r3NN)$9$k$?$a$N(B
                     62:      $B%]!<%HHV9f$*$h$S(B      -control= ... , -data=...
                     63:      $BG'>ZJ}K!$*$h$S(B        -authtype=NONE | <<oneTimePassword>>
                     64:      $BG'>Z%Q%9%o!<%I(B        -passControl=... , -passData=...
                     65:      $B$bAw?.$5$l$k(B.
                     66:      $BG'>Z%Q%9%o!<%I$N0E9f(B  -authEncoding=<<NONE>> | file | RSA
                     67:      $B2=J}K!$N;XDj(B.
                     68:      << >> $B$O(B src/kxx/ox $B$NI8=`CM(B
                     69:
                     70:
                     71:     <----------------  step 2 -------------------------->
                     72:        -reverse $B$N>l9g$O(B <--- $B$N8~$-$K(B TCP/IP $B@\B3$,3NN)$5$l$k(B.
                     73:        $B$=$&$G$J$$$H$-$O(B ---> $B$N8~$-$K(B TCP/IP $B@\B3$,3NN)$5$l$k(B.
                     74:
                     75:     <----------------  step 3 -------------------------->
                     76:        -authtype=oneTimePassword $B$N;~(B.
                     77:        connect $B$7$?B&$,(B accept $B$7$?B&$X(B oneTimePassword $B$rAw$k(B.
                     78:
                     79:     $B0J2<(B launcher $B$N;E;v$O=*N;$7$F(B, engine $B$H(B control $B$K@)8f$,0\$k(B.
                     80:     <----------------  step 4 -------------------------->
                     81:        engine $B$N(B byte order $B$r@_Dj(B.
                     82:
                     83:     <---------------------------------------------------->
                     84:        OpenXM $B$N%Q%1%C%H8r49(B
                     85:
                     86:     $B>\$7$/$O(B OX-RFC-100, OX-RFC 103 (OX-RFC 100 $BJd0d(B) $B$r8+$h(B.
                     87:
                     88: */
                     89:
1.2     ! takayama   90: //&en @@Data structure of OoHG
        !            91: //&ja @@OoHG $B$N%G!<%?7A<0(B.
        !            92:
1.1       takayama   93: /*&ja
                     94:
1.2     ! takayama   95: OoHG $B$G$NDL?.$OAw?.(B, $B<u?.$GHsBP>N$G$"$k(B.
1.1       takayama   96: GET $B$rMxMQ$9$k$?$a%G!<%?$N7A<0$O(B RFC 2396 $B$G;XDj$5$l$F$$$k(B
                     97: $B$$$o$f$k(B URL $B%(%s%3!<%G%#%s%0J}K!$rMQ$$$k(B.
                     98: GET $B$NMxMQ$NBe$o$j$K(B POST method $B$rMxMQ$7$F$b$h$$(B.
1.2     ! takayama   99: $BAw?.%G!<%?$O(B
1.1       takayama  100:     $B%-!<%o!<%I(B = $BCM(B
                    101: $B$r(B & $B$G6h@Z$C$?$b$N$G$"$k(B. $B%-!<%o!<%I$O1Q?t;z$H(B _ $B$r$b$A$$$k$b$N$H$9$k(B.
                    102: $B%-!<%o!<%I$HCM$NAH$OF~$l;R9=B$$H$J$C$F$b$h$$(B.
                    103:
1.2     ! takayama  104: $B<u?.%G!<%?$O<!$N7A<0$GAw?.$9$k(B.
        !           105:
        !           106:  OX100-OVER-HTTP-GET0-$B$K2<$N%-!<%o!<%I$r$D$J$$$@$b$N(B : URL $B%(%s%3!<%I$5$l$?CM(B
        !           107:
1.1       takayama  108: $B0J2<%-!<%o!<%I$rNs5s$9$k(B.
                    109:
                    110: oxMessageBody:       OpenXM $B$N%Q%1%C%H(B. $BJ#?t$N(B OX $B%Q%1%C%H$r0lEY$KAw$C$F$h$$(B.
                    111:
                    112: oxMessageEncoding:   OpenXM $B$N%Q%1%C%H$N(B encoding $BJ}K!$N;XDj(B.
                    113:                     <<text_executeString_popString>> $B$,>JN,;~$NCM(B.
                    114:                      $BJ}K!$O0J2<$N$H$*$j(B.
                    115:                      1. xml_ox100  (OX-RFC100 $B$KDj5A$5$l$?(B XML $BI=8=(B)
                    116:                      2. lisplike_ox100 (OX-RFC100 $B$KDj5A$5$l$?(B Lisp$BIwI=8=(B)
                    117:                      3. binary_ox100 (OX-RFC100 $B$KDj5A$5$l$?(B binary $BI=8=(B)
                    118:                      4. text_executeString_popString
                    119:                           $B$3$l$O0lEY$N$_$N<B9T$rA[Dj$7$F$$$k(B.
                    120:                           executeString $B$KM?$($k0z?t$r(B text $B7A<0$GM?$($k(B.
1.2     ! takayama  121:                      $BJd=uE*$JCM$H$7$F<!$N$b$N$,$"$k(B.
        !           122:                      a. 3DES   Body $B$r(B 3DES $B$G0E9f2=$9$k(B.
        !           123:                      b. RSA    Body $B$r(B RSA $B$G0E9f2=$9$k(B.
        !           124:                      $B$J$*(B oxMessageEncoding $B%-!<%o!<%I$NCM$OFs$D0J>eB8:_$7$F(B
        !           125:                      $B$h$$(B.  $B$3$N>l9g(B and $B$H$7$F07$o$l$k(B. $B$?$H$($P(B
        !           126:                      oxMessageEncoding=xml_ox100,3DES
        !           127:                      $B$N>l9g(B xml_ox100 $B7A<0$N>pJs$,(B 3DES $B$G0E9f2=$5$l$F(B
        !           128:                      $BAw$i$l$k(B. ("," $B$O(B URL encoding $B$5$l$k(B.)
1.1       takayama  129:
                    130: dataChannelId:      data $B%]!<%H$NHV9f$KAjEv(B.
                    131: controlChannelId:   control $B%]!<%H$NHV9f$KAjEv(B.
1.2     ! takayama  132: sessionKeyFor3Des:  64 bit x 3  3Des $BMQ$N(B Des Key.  $B%5!<%PB&$,@8@.$7(B,
1.1       takayama  133:                     RSA $B$G0E9f2=$5$l%5!<%P$h$jAw?.$5$l$k(B.
                    134: channelKey:         $B%5!<%P$h$j0l$DA0$N(B HTTP $B%H%i%s%:%"%/%7%g%s$GM?$($i$l$k(B
                    135:                     $B%-!<(B. $BBh#3<T$,(B session $B$K3d$j9~$`$N$r6X;_$9$k$?$a(B.
                    136:                     10 $B7e0J>e$N?t;z$GM?$($k(B.
                    137:                     $B%5!<%P$,M?$($k%-!<$O(B nextChannelKey (Cookie $B$KAjEv(B).
                    138:                   ($B%M%C%H%o!<%/$,EpD0$5$l$F$$$k$H$-$O(B, $B$3$NJ}K!$OL5NO$G$"$k(B.
                    139:                    https $B$+(B $B<!$N(B channelKeyIn3Des, nextChannelKeyIn3Des
                    140:                    $B$rMQ$$$k$Y$-$G$"$k(B.)
                    141:
                    142: channelKeyIn3Des:     3Des $B$G0E9f2=$5$l$?(B channelKey.
                    143: nextChannelKeyIn3Des: 3Des $B$G0E9f2=$5$l$?(B nextChannelKey.
                    144:
                    145: responseEncoding:   $B%5!<%P$NJVEz$N(B encoding $BJ}K!(B.
                    146:                     $B>JN,;~$K$O(B oxMessageEncoding $B$KBP1~$7$?J}K!$G(B
                    147:                     $BK\BNItJ,$OAw$i$l$k(B.
                    148:                     nextChannelKey $BEy$N>pJs$OFC$K;XDj$7$J$$>l9g(B
                    149:                     OX100-OVER-HTTP-GET-nextChannelKey: $B$K$h$k(B
                    150:                     header $B$rMQ$$$?JVEz$r9T$&(B.
                    151:                     text_execute_popString $B$N;~$O(B text $B7A<0$GAw?.$5$l$k(B.
                    152:                     $B>\:Y8e=R(B.
                    153:                     $B$=$NB>(B.
                    154:                     1. presentation_html
                    155:
1.2     ! takayama  156: loginRSA:           RSA $BG'>Z$K$h$k(B login. challenge , challenge-response $B$O(B
        !           157:                     $B$*8_$$$N(B public key $B$rMQ$$$FAw?.$5$l$k(B. $B2<$NNc;2>H(B.
        !           158:                     RSA $B$K$D$$$F$O(B OX-RFC-103 $B$r8+$h(B.
1.1       takayama  159: logout:             logout
                    160:
                    161:
                    162: sessionTimeOut:
                    163:
                    164: controlChannelKey:
                    165: nextControlChannelKey:
                    166: challenge:
                    167: challenge-response:
                    168:
1.2     ! takayama  169: $B0J2<$N%-!<%o!<%I$K$D$$$F$O8e=R(B.
        !           170: doSignature:
        !           171: response-doSignature:
        !           172: getMathCap2:
        !           173: grepDirectoryInfo:
        !           174: sendPublicKey:
        !           175:
1.1       takayama  176: */
                    177:
1.2     ! takayama  178: //&ja @@$B;O$a$F$NNc(B
        !           179: //&en @@The first example
1.1       takayama  180: /*&ja
                    181:
                    182: $BNc(B1.
                    183: fctr(x^2-1); $B$r(B fctr.cgi $B$XAw?.$9$k(B.
1.2     ! takayama  184: */
1.1       takayama  185:
1.2     ! takayama  186: //&C     http://fctr.openxm.org/fctr.cgi?oxMessageBody=fctr(x%5E2-1)%3B
1.1       takayama  187:
1.2     ! takayama  188: /*&ja
1.1       takayama  189: oxMessageBody $B0J30$NA4$F$N%-!<%o!<%I$,>JN,$5$l$F$$$k$N$G(B,
                    190: anonymous, 1 $B2s$N$_$N<B9T(B, executeString & popString, $BJVEz$O(B text $B7A<0(B
                    191: $B$H$J$j(B
1.2     ! takayama  192: */
        !           193: //&C    [[1,1],[x-1],[x+2]]
        !           194: /*&ja
1.1       takayama  195: $B$,La$k(B.
1.2     ! takayama  196: */
1.1       takayama  197:
1.2     ! takayama  198: /*&ja
1.1       takayama  199: $BNc(B2.
                    200: $BF1$8LdBj$r(B session $B$r3NN)$7$F$+$i<B9T$9$k(B. URL encoding $BItJ,$O(B " ... " $B$G5-=R(B.
                    201: RSA $B0E9f2=$5$l$F$kItJ,$O(B ' ... '$B$G5-=R(B.
1.2     ! takayama  202: */
        !           203: /*&C
1.1       takayama  204:    --->
                    205:      http://fctr.openxm.org/fctr.cgi?loginRSA="takayama@hoge.org"
                    206:    <---
                    207:      OX100-OVER-HTTP-GET-controlChannelId: 4010
                    208:      OX100-OVER-HTTP-GET-dataChannelId: 4011
                    209:      OX100-OVER-HTTP-GET-challenge: '.............'
                    210:    --->
1.2     ! takayama  211:      http://fctr.openxm.org/fctr.cgi?chanllenge-response='..........'
1.1       takayama  212:    <---
                    213:      OX100-OVER-HTTP-GET-nextChannelKey: 143245
                    214:      OX100-OVER-HTTP-GET-nextControlChannelKey: 534256
                    215:    --->
                    216:      http://fctr.openxm.org/fctr.cgi?dataChannelId=4011&
                    217:                                      channelKey=143245&
                    218:                                      oxMessageEncoding="lisplike_ox100"&
                    219:                                      responseEncoding="text"
                    220:             oxMessageBody="(OX_DATA,(CMO_STRING,\"fctr(x^2-1);\"))
                    221:                            (OX_COMMAND,(SM_executeString))
                    222:                            (OX_COMMAND,(SM_popString))"
                    223:   <---
                    224:      Content-Type: text/plain
                    225:      OX100-OVER-HTTP-GET-nextChannelKey: 345137
                    226:
                    227:      [[1,1],[x-1],[x+2]]
                    228:   --->
                    229:      http://fctr.openxm.org/fctr.cgi?dataChannelId=4011&
                    230:                                      channelKey=345137&
                    231:                                      logout&
                    232: */
                    233:
                    234:
1.2     ! takayama  235: //&ja @@$B%(%i!<%3!<%I0lMw(B.
        !           236:
        !           237: /*&ja
        !           238:
        !           239: HTTP $B=`5r$N%(%i!<$NB>(B, CMO $B%(%i!<(B object $B$r(B responseEncoding $B$K=>$$(B
        !           240: $BAw$k(B.
        !           241:
        !           242: << $B0J2<$^$@8!F$$7$F$J$$(B >>
        !           243:
        !           244: */
        !           245:
        !           246: //&ja @@$B%3%s%H%m!<%k%W%m%;%9$H$NDL?.(B
        !           247:
        !           248: /*&ja
        !           249:
        !           250: $B@\B3Cf$N(B connection $B$,@ZCG$5$l$?>l9g(B, $B%(%s%8%s(B, $B%3%s%H%m!<%k%5!<%P$H$b$K(B
        !           251: $B=*N;$9$k(B.
        !           252: $B%3%s%H%m!<%k%5!<%P$KCfCG%a%C%;!<%8$rAw$C$?>l9g(B, OX-RFC-103 $B$NCfCGF0:n(B
        !           253: $B$r$*$3$J$&(B.
        !           254: << $B0J2<$^$@=q$$$F$J$$(B >>
        !           255:
        !           256: */
        !           257:
        !           258: //&ja @@$B%[%9%H$N$J$j$9$^$7$NKI;_(B
        !           259:
        !           260: /*&ja
        !           261:  https $B$rMxMQ$9$k>l9g$O%5!<%P$,56J*$G$J$$$3$H$N>ZL@$O(B https $B$N5!G=$rMQ$$$F(B
        !           262:  $B<B8=$5$l$k(B.  http $B$N>l9g$K$O(B RSA public $B%-!<$rMQ$$$F%5!<%P$,56J*$G$J$$(B
        !           263:  $B$3$H$r>ZL@$9$k$3$H$,2DG=$G$"$k(B.  $B$3$N$?$a$N%-!<%o!<%I$,(B doSignature
        !           264:  $B$G$"$k(B.
        !           265: */
        !           266: //&C doSignature=anonymous@fctr.openxm.org,'challenge words encrypted'
        !           267:
        !           268: /*&ja
        !           269:  'challenge words encrypted' $B$O(B anonymous@fctr.openxm.org $B$N(B public key
        !           270:  $B$rMQ$$$F(B RSA  $B0E9f2=$5$l$k(B. $B%5!<%P$O(B response-DoSignature
        !           271:  $B%-!<%o!<%I$rMQ$$$FAw$i$l$?(B words $B$r%/%i%$%"%s%H$KLa$9(B.
        !           272:
        !           273: */
        !           274:
        !           275: //&ja @@OpenXM grid $B$N%5!<%S%90lMwDs6!J}K!(B.
        !           276: //&en @@Directory service for OpenXM grid.
        !           277:
        !           278: //&C @@@mathCap2
        !           279:
1.1       takayama  280: /*&ja
1.2     ! takayama  281:   mathCap2 $B$O(B
        !           282:       $B%-!<%o!<%I(B = $BCM(B
        !           283:   $B7A<0$GI=8=$5$l$?(B mathCap $B$G$"$k(B.  $B%-!<%o!<%I$O0J2<$N$H$*$j(B.
        !           284:
        !           285:   systemName
        !           286:   systemVersion
        !           287:   acceptOXtags
        !           288:   acceptSMtags
        !           289:   acceptCMOtags
        !           290:
        !           291:   exportedCommands
        !           292:      $B<B9T2DG=$J4X?tL>(B
        !           293:      [$BL>A0(B,$B0z?t$N?t(B] $B$N%j%9%H$G$"$k(B. $B0z?t$N?t$,(B -1 $B$N>l9g0z?t$OITDj(B.
1.1       takayama  294:
1.2     ! takayama  295:   resourceLimit
        !           296:      [time,$BCM(B], [memory,$BCM(B] $BEy$N(B $B%j%9%H(B
1.1       takayama  297:
1.2     ! takayama  298: */
1.1       takayama  299:
1.2     ! takayama  300: //&C @@@SM_getMathCap2
        !           301: /*&ja
        !           302: SM_printMathCap2 $B$O$=$N%5!<%P$N(B mathCap2 $B$r(B CMO $B%G!<%?$H$7$FLa$9(B
        !           303: $B?7$7$$%9%?%C%/%^%7%s%3%^%s%I$G$"$k(B.
        !           304: $B2?$i$+$N%5!<%S%9$rDs6!$9$k%5!<%P$O(B
1.1       takayama  305: */
1.2     ! takayama  306: //&C (OX_COMMAND,(SM_getMathCap2)) (OX_COMMAND,(SM_popCMO))
        !           307: /*&ja
        !           308: $B$,<B9T2DG=$G$"$k$Y$-$G$"$k(B.   $B$3$N%3%^%s%I$O(B anonymous $B$K<B9T$r5v$9>l9g(B
        !           309: $B$b$"$k$N$G(B,  (OX_COMMAND,(SM_getMathCap2)) (OX_COMMAND,(SM_popCMO))
        !           310: $B$N>JN,7A<0$,(B OoHG $B$N%-!<%o!<%I(B
        !           311:              getMathCap2=1
        !           312: $B$H$7$FMQ0U$5$l$F$$$k(B.
        !           313: */
        !           314:
        !           315: //&C Example: http://fctr.openxm.org/fctr.cgi?getMathCap2=1
1.1       takayama  316:
1.2     ! takayama  317: //&C @@@$B%G%#%l%/%H%j%5!<%S%9(B
1.1       takayama  318: /*&ja
1.2     ! takayama  319: OpenXM grid $B$N%G%#%l%/%H%j%5!<%S%9$O3F%5!<%P$N(B mathCap2 $B$N>pJs$r$b$H$K(B
        !           320: $B$7$F$$$k(B.  $B?.MQ$N$*$1$k%G%#%l%/%H%j%5!<%S%9$r<B8=$9$k$?$a$K$O(B
        !           321: $B%5!<%P$N(B RSA public key $B$,I,?\$G$"$k(B.  $B$3$N%-!<$,$"$k$H(B doSignature
        !           322: $B$r$b$H$K%G%#%8%?%k=pL>$5$l$?(B mathCap2 $B>pJs$rF@$k$3$H$,2DG=$H$J$k(B.
        !           323:
        !           324: OpenXM grid $B$N%G%#%l%/%H%j>pJs$O(B
        !           325:      $B%-!<%o!<%I(B=$BCM(B
        !           326: $B$N=89gBN$G$"$k(B.
        !           327: $B$3$N>pJs$O<!$N$$$:$l$+$NJ}K!$rMQ$$$FI=8=$9$k(B.
        !           328: 1. $B%-!<%o!<%I$rMWAG$H$9$k(B XML $B$H$7$FI=8=(B.
        !           329:    XML $B$N:,MWAG$O(B OpenXMnode.  OpenXMnode $B$N=8$^$j$O(B OpenXMnodes.
        !           330: 2. CMO $B$N%j%9%H$H$7$F(B $B%-!<%o!<%I(B, $BCM(B $B$N%Z%"$H$7$FI=8=$9$k(B.
        !           331:
        !           332: $BI,?\$N%-!<%o!<%I(B
        !           333:    OpenXMnodeURL,  mathCap2,  listOfAnonymousPublicKeys
        !           334:
        !           335: OpenXM directory $B%5!<%P$O$3$l$i$N>pJs$r8!:w$7$FJVEz$9$k(B.
        !           336: Directory $B%5!<%P$b$^$?(B OpenXM $B%(%s%8%s$G$"$k(B.
        !           337: grep $B8!:w$O0J2<$N$H$*$j(B.
        !           338:    (OX_DATA,(CMO_STRING,"key words"))
        !           339:    (OX_DATA,(CMO_INT32,1))
        !           340:    (OX_DATA,(CMO_STRING,"ox104_grepDirectoryInfo"))
        !           341:    (OX_COMMAND,(SM_execute))
        !           342:    (XO_COMMAND,(SM_popCMO))
        !           343: $BF1Ey$J5!G=$r<B8=$9$k(B OoHG $BMQ$N%-!<%o!<%I$H$7$F(B
1.1       takayama  344:
1.2     ! takayama  345:      grepDirectoryInfo="key words"
1.1       takayama  346:
1.2     ! takayama  347: $B$,$"$k(B.
1.1       takayama  348:
                    349: */
                    350:
1.2     ! takayama  351: //&ja @@@anonymous@host $B$N(B RSA public key $B$NF~<jJ}K!(B
1.1       takayama  352:
                    353: /*&ja
1.2     ! takayama  354:   anonymous@host $B$N(B RSA public key $B$OJL$N?.Mj$G$-$k>pJs8;$+$iF~<j$9$k$+(B,
        !           355:   "host" $B$K$?$$$7$F(B
        !           356:       sendPublicKey="anonymous@host"
        !           357:   $BMW5a$r=P$9$3$H$K$h$jF~<j$9$k(B.
        !           358: */
1.1       takayama  359:
1.2     ! takayama  360: /*&ja
1.1       takayama  361:
1.2     ! takayama  362: << $B0J2<(B, $B$^$@8!F$$7$F$J$$(B >>
1.1       takayama  363:
                    364: */
                    365:
1.2     ! takayama  366: //&ja @@$B6&DL4X?tL>(B
        !           367: //&en @@Common name of functions
        !           368:
        !           369: /*&ja
        !           370:
        !           371: $BL>A0(B                $B0z?t$N?t(B
        !           372: ox104_equal          2
        !           373: ox104_add            2
        !           374: ox104_sub            2
        !           375: ox104_times          2
        !           376: ox104_divide         2
        !           377: ox104_power          2
        !           378: ox104_inverse        1
        !           379: ox104_translate      2
        !           380:
        !           381: */
        !           382:
        !           383:
        !           384: //&ja @@$B4XO"$9$k5;=Q(B
        !           385: //&en @@Related technologies
        !           386:
        !           387: /*&ja
        !           388:
        !           389:   IAMC  (symbolicnet.org)
        !           390:
        !           391: */
        !           392:
        !           393: //&ja @@$B9W8%<T$*$h$S;n83<BAu(B
        !           394: //&en @@Contributors and sample implementations
        !           395:
        !           396:
        !           397: /*&ja
        !           398: $B$^$@%5%s%W%k<BAu$O$J$$(B.
        !           399: */
        !           400:
        !           401: //&ja @@$B;29MJ88%(B
        !           402: //&en @@Bibliography
        !           403:
        !           404: /*&C
        !           405:
        !           406: [OpenXM-RFC-100]  Design and Implementation of OpenXM Client-Server Model
        !           407:                  and Common Mathematical Object Format.  M.Noro, N.Takayama
        !           408:
        !           409: [OpenXM-RFC-101] Protocol to Start Engines.  K.Ohara
        !           410:
        !           411: [OpenXM-RFC-103] Supplement to OX-RFC-100
        !           412:      --- Broadcasting in process trees and engine authentication.
        !           413:                                               OpenXM committers.
        !           414:
        !           415: [RFC1945] Hypertext Transfer Protocol -- HTTP/1.0. T. Berners-Lee, R.
        !           416:      Fielding, H. Frystyk. May 1996. (Format: TXT=137582 bytes) (Status:
        !           417:      INFORMATIONAL)
        !           418:
        !           419: [RFC2660] The Secure HyperText Transfer Protocol. E. Rescorla, A.
        !           420:      Schiffman. August 1999. (Format: TXT=95645 bytes) (Status:
        !           421:      EXPERIMENTAL)
        !           422: */
        !           423:
        !           424:
        !           425: $Id: ox-rfc-104.oxw,v 1.12 2004/09/19 12:08:13 taka Exp $

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