Network Working Group J. Schoenwaelder Request for Comments: 3179 TU Braunschweig Obsoletes: 2593 J. Quittek Category: Experimental NEC Europe Ltd. October 2001
Script MIB Extensibility Protocol Version 1.1
Status of this Memo
このメモの位置付け
This memo defines an Experimental Protocol for the Internet community. It does not specify an Internet standard of any kind. Discussion and suggestions for improvement are requested. Distribution of this memo is unlimited.
このメモはインターネットコミュニティのためにExperimentalプロトコルを定義します。それはどんな種類のインターネット標準を指定しません。改善のための議論や提案が要求されています。このメモの配布は無制限です。
Copyright Notice
著作権表示
Copyright (C) The Internet Society (2001). All Rights Reserved.
著作権(C)インターネット協会(2001)。全著作権所有。
Abstract
抽象
The Script MIB extensibility protocol (SMX) defined in this memo separates language specific runtime systems from language independent Script MIB implementations. The IETF Script MIB defines an interface for the delegation of management functions based on the Internet management framework. A management script is a set of instructions that are executed by a language specific runtime system.
このメモで定義されたスクリプトMIBの拡張プロトコル(SMX)は、言語に依存しないスクリプトMIB実装から言語固有のランタイムシステムを分離します。 IETFスクリプトMIBは、インターネット管理フレームワークに基づいた管理機能を委任するためのインタフェースを定義します。管理スクリプトは、特定の言語ランタイムシステムによって実行される命令のセットです。
Table of Contents
目次
1 Introduction ................................................. 2 2 Process Model and Communication Model ........................ 3 3 Security Profiles ............................................ 4 4 Start of Runtime Systems and Connection Establishment ........ 4 5 SMX Messages ................................................. 5 5.1 Common Definitions ......................................... 5 5.2 Commands ................................................... 7 5.3 Replies .................................................... 7 6 Elements of Procedure ........................................ 9 6.1 SMX Message Processing on the Runtime Systems .............. 9 6.1.1 Processing the `hello' Command ........................... 10 6.1.2 Processing the `start' Command ........................... 10 6.1.3 Processing the `suspend' Command ......................... 11 6.1.4 Processing the `resume' Command .......................... 12 6.1.5 Processing the `abort' Command ........................... 12 6.1.6 Processing the `status' Command .......................... 12 6.1.7 Generation of Asynchronous Notifications ................. 13
6.2 SMX Message Processing on the SNMP Agent ................... 13 6.2.1 Creating a Runtime System ................................ 14 6.2.2 Generating the `hello' Command ........................... 14 6.2.3 Generating the `start' Command ........................... 15 6.2.4 Generating the `suspend' Command ......................... 16 6.2.5 Generating the `resume' Command .......................... 16 6.2.6 Generating the `abort' Command ........................... 17 6.2.7 Generating the `status' Command .......................... 18 6.2.8 Processing Asynchronous Notifications .................... 19 7 Example SMX Message Flow ..................................... 20 8 Transport Mappings ........................................... 20 8.1 SMX over Bi-directional Pipes .............................. 21 8.2 SMX over TCP ............................................... 21 9 Security Considerations ...................................... 21 10 Changes from RFC 2593 ....................................... 22 11 Acknowledgments ............................................. 23 12 References .................................................. 23 13 Authors' Addresses .......................................... 24 14 Full Copyright Statement .................................... 25
The Script MIB [1] defines a standard interface for the delegation of management functions based on the Internet management framework. In particular, it provides the following capabilities:
スクリプトMIB [1]インターネット管理フレームワークに基づいて、管理機能を委任するための標準インタフェースを規定します。特に、次の機能を提供します。
2. Initiating, suspending, resuming and terminating management scripts.
2.、中断、再開および管理スクリプトを終了、開始。
A management script is a set of instructions executed by a language specific runtime system. The Script MIB does not prescribe a specific language. Instead, it allows to control scripts written in different languages that are executing concurrently.
管理スクリプトは、特定の言語ランタイムシステムによって実行される命令のセットです。スクリプトMIBは、特定の言語を規定していません。代わりに、それは同時に実行されている異なる言語で記述されたスクリプトを制御することができます。
The Script MIB Extensibility protocol (SMX) defined in this memo can be used to separate language specific runtime systems from the runtime system independent Script MIB implementations. The lightweight SMX protocol can be used to support different runtime systems without any changes to the language neutral part of a Script MIB implementation.
このメモで定義されたスクリプトMIB拡張プロトコル(SMX)は、ランタイムシステムに依存しないスクリプトMIB実装から別の言語固有のランタイムシステムに使用することができます。軽量SMXプロトコルは、スクリプトMIBの実装の言語中立一部を変更することなく異なるランタイムシステムをサポートするために使用することができます。
Examples of languages and runtime systems considered during the design of the SMX protocol are the Java virtual machine [2] and the Tool Command Language (Tcl) [3]. Other languages with comparable features should be easy to integrate as well.
SMXプロトコルの設計時に考慮の言語とランタイムシステムの例では、Java仮想マシンです[2]およびツール・コマンド言語(TCL)[3]。同等の機能を持つ他の言語にも統合が容易でなければなりません。
Figure 1 shows the process and communication model underlying the SMX protocol. The language and runtime system independent SNMP agent implementing the Script MIB communicates with one ore more runtime systems via the SMX protocol. A runtime system may be able to execute one or multiple scripts simultaneously (multi-threading). The SMX protocol supports multi-threading, but it does not require multi-threaded runtime systems.
図1は、SMXプロトコルの基礎となるプロセスと通信モデルを示します。スクリプトのMIBを実装言語とランタイムシステムの独立したSNMPエージェントは、SMXプロトコルを介して1つ以上のランタイムシステムと通信します。ランタイムシステムは、(マルチスレッド)が同時に一つまたは複数のスクリプトを実行することができるかもしれません。 SMXプロトコルは、マルチスレッドをサポートしていますが、マルチスレッドのランタイムシステムを必要としません。
The SMX protocol uses a local storage device (usually implemented on top of the local file system) to transfer scripts from the SNMP agent to the runtime systems. The SNMP agent has read and write access to the script storage device while the runtime systems only need read access. The SMX protocol passes the location of a script in the local storage device to the runtime engines. It is then the responsibility of the runtime engines to load the script from the specified location.
SMXプロトコルは、ランタイムシステムにSNMPエージェントからスクリプトを転送するためにローカル記憶装置(通常ローカルのファイルシステムの上に実装)を使用します。 SNMPエージェントが読み込まれ、ランタイムシステムは、読み取り専用アクセスを必要としながら、スクリプト・ストレージ・デバイスへの書き込みアクセスをしています。 SMXプロトコルは、ランタイムエンジンにローカルストレージデバイスにスクリプトの位置を通過します。その後、指定された場所からスクリプトをロードするためのランタイム・エンジンの責任です。
runtime 1 +--------------+ SMX +---------+ | |<-------------->| O O O |<-+ SNMP | Script MIB | +---------+ | <---------->| | | | SNMP Agent | runtime 2 | | | SMX +---------+ | | |<-------------->| O | | +--------------+ +---------+ | ^ ^ | | +---------+ | | | | script |----------+ | +------>| storage |------------------+ +---------+
Figure 1: SMX process and communication model
図1:SMXプロセスと通信モデル
Security profiles control what a running script is allowed to do. It is useful to distinguish two different classes of security profiles:
セキュリティプロファイルは、実行中のスクリプトが実行できる操作が制御します。セキュリティプロファイルの2つの異なるクラスを区別するために役立ちます。
- The operating system security profile specifies the set of operating system services that can be used by the operating system level process which executes a script. Under UNIX, this maps to the effective user and group identity for the running process. In addition, many UNIX versions allow to set other resource limits, such as the number of open files or the maximum stack sizes. Another mechanism in UNIX is the chroot() system call which changes the file system root for a process. The chroot() mechanism can be used to prevent runtime systems from accessing any system files. It is suggested to make use of all applicable operating system security mechanism in order to protect the operating system from malicious scripts or runtime systems.
- オペレーティングシステムのセキュリティプロファイルは、スクリプトを実行するオペレーティング・システム・レベルのプロセスで使用することができるオペレーティング・システム・サービスのセットを指定します。 UNIXでは、これは実行中のプロセスのための有効なユーザーおよびグループIDにマッピングします。加えて、多くのUNIXバージョンは、開いているファイルの数または最大スタックサイズなどの他のリソース制限を設定することを可能にします。 UNIXでの別のメカニズムは、プロセスのファイルシステムのルートを変更するにchroot()システムコールです。 chrootの()メカニズムは、任意のシステムファイルにアクセスするランタイムシステムを防止するために用いることができます。悪意のあるスクリプトやランタイムシステムからオペレーティングシステムを保護するために適用されるすべてのオペレーティングシステムのセキュリティメカニズムを利用することを提案しています。
- Secure runtime systems provide fine grained control over the set of services that can be used by a running script at a particular point during script execution. A runtime security profile specifying fine grained access control is runtime system dependent. For a Java virtual machine, the runtime security profile is interpreted by the SecurityManager and ClassLoader classes[4]. For Tcl, the runtime security profile maps to the interpreter's security profile [5].
- セキュアなランタイムシステムは、スクリプトの実行中に特定のポイントで実行中のスクリプトで利用できるサービスのセットに対するきめの細かい制御を提供します。ファイングレイン・アクセス・コントロールを指定して実行時のセキュリティプロファイルは、ランタイムシステムに依存します。 Java仮想マシンは、ランタイムセキュリティプロファイルは、セキュリティマネージャとのClassLoaderクラスによって解釈される[4]。 Tclのために、ランタイムセキュリティプロファイルは、インタプリタのセキュリティプロファイル[5]にマップされます。
The SMX protocol allows to execute scripts under different operating system profiles and runtime system profiles. Multiple operating system security profiles are realized by using multiple runtime systems which execute in operating system processes with different security profiles. Multiple runtime security profiles are supported by passing a security profile name to a runtime system during script invocation.
SMXプロトコルは、異なるオペレーティング・システム・プロファイルおよびランタイムシステム・プロファイルの下でスクリプトを実行することができます。複数のオペレーティングシステムのセキュリティプロファイルは、異なるセキュリティプロファイルを持つオペレーティング・システム・プロセスで実行される複数のランタイムシステムを用いて実現されます。複数のランタイムセキュリティプロファイルは、スクリプトの呼び出し中にランタイムシステムにセキュリティプロファイル名を渡すことによってサポートされています。
The Script MIB does not define how operating system or runtime system security profiles are identified. This memo suggests that the smLaunchOwner is mapped to an operating system security profile and a runtime system security profile when a script is started.
スクリプトMIBは、オペレーティングシステムやランタイムシステムセキュリティプロファイルが識別される方法を定義していません。このメモはsmLaunchOwnerは、オペレーティングシステムのセキュリティプロファイルとスクリプトが開始され、ランタイムシステムのセキュリティプロファイルにマッピングされていることを示唆しています。
The SNMP agent starts runtime systems based on the static properties of the runtime system (multi-threaded or single-threaded) and the operating system security profiles. Starting a new runtime system requires to create a process environment which matches the operating system security profile.
SNMPエージェントは、ランタイムシステム(マルチスレッドまたはシングルスレッド)およびオペレーティング・システムのセキュリティプロファイルの静的プロパティに基づいて、ランタイムシステムを開始します。新しいランタイムシステムを起動すると、オペレーティングシステムのセキュリティプロファイルに一致するプロセスの環境を作成する必要があります。
In order to prevent SMX communication from untrusted peers the SNMP agent has to choose a secure SMX transport. This memo defines two transports in Section 8: (a) a bi-directional pipe using standard input/output streams on the runtime engine side, and (b) a TCP connection where the SNMP agent acts as a listening server that accepts only connections from local runtime engines that authenticate themselves with a secret shared between the agent and the runtime engine.
信頼されていないピアからのSMX通信を防止するために、SNMPエージェントは、安全なSMXトランスポートを選択しなければなりません。ランタイムエンジン側の標準入力/出力ストリームを使用して、(a)は、双方向パイプ、およびSNMPエージェントからの接続のみを受け入れるリスニングサーバとして機能する(b)はTCP接続:このメモは、第8章の2つのトランスポートを定義しますエージェントとランタイム・エンジンの間で共有される秘密と自分自身を認証ローカルランタイム・エンジン。
The message formats described below are defined using the Augmented BNF (ABNF) defined in RFC 2234 [6]. The definitions for `ALPHA', `DIGIT', `HEXDIG', `WSP', `CRLF', `CR', `LF', `HTAB', `VCHAR' and `DQUOTE' are imported from appendix A of RFC 2234 and not repeated here.
以下に説明するメッセージフォーマットは、RFC 2234で定義された拡張BNF(ABNF)を使用して定義されている[6]。 `ALPHA '` DIGIT'、 `HEXDIG '` WSP'、 'CRLF ' 'CR'、 'LF ' `HTAB'、` VCHAR 'と `DQUOTE' の定義は、RFC 2234の付録Aからインポートされここでは繰り返しません。
The following ABNF definitions are used in subsequent sections to define the SMX protocol messages.
以下のABNF定義はSMXプロトコルメッセージを定義するために後続のセクションで使用されています。
Zero = %x30 ; the ASCII character '0'
ゼロ=%のX30。 ASCII文字「0」
ProfileChars = DIGIT / ALPHA / %x2D-2F / %x3A / %x5F ; digits, alphas, and the characters ; '-', '.', '/', ':', '_'
ProfileChars = DIGIT / ALPHA /%x2D-2F /%X3A /%x5F。数字、アルファ、および文字。 ' - '、 '/'、 '' ':'、 '_'
QuotedString = DQUOTE *(VCHAR / WSP) DQUOTE
QuotedString = dquotで*(VCHAR / WSP)dquotで
HexString = 1*(HEXDIG HEXDIG)
HexString = 1 *(HEXDIG HEXDIG)
Id = 1*DIGIT ; identifier for an SMX transaction
ID = 1 * DIGIT。 SMXトランザクションの識別子
Script = QuotedString ; script file name
スクリプト= QuotedString。スクリプトファイル名
RunId = 1*DIGIT ; globally unique identifier for a ; running script (note, smRunIndex ; is only unique for a smLaunchOwner, ; smLaunchName pair)
RUNID = 1 * DIGIT。グローバル一意識別子。実行中のスクリプト(ノート、smRunIndex; smLaunchOwnerに対してのみ一意である、; smLaunchNameペア)
Profile = 1*ProfileChars ; security profile name
プロフィール= 1 * ProfileChars。セキュリティプロファイル名
RunState = "1" ; smRunState `initializing' RunState =/ "2" ; smRunState `executing' RunState =/ "3" ; smRunState `suspending' RunState =/ "4" ; smRunState `suspended' RunState =/ "5" ; smRunState `resuming'
RunState = "1"; = / "2"「RunStateを初期化するsmRunState `; = / "3"「RunStateを実行smRunState `。 = / "4"「RunState懸濁smRunState `。 smRunState `懸濁」RunState = / "5"。 smRunState `レジューム」
RunState =/ "6" ; smRunState `aborting' RunState =/ "7" ; smRunState `terminated'
RunState = / "6"。 = / "7"「RunStateを中止smRunState `; smRunState `「終了
ExitCode = "1" ; smRunExitCode `noError' ExitCode =/ "2" ; smRunExitCode `halted' ExitCode =/ "3" ; smRunExitCode `lifeTimeExceeded' ExitCode =/ "4" ; smRunExitCode `noResourcesLeft' ExitCode =/ "5" ; smRunExitCode `languageError' ExitCode =/ "6" ; smRunExitCode `runtimeError' ExitCode =/ "7" ; smRunExitCode `invalidArgument' ExitCode =/ "8" ; smRunExitCode `securityViolation' ExitCode =/ "9" ; smRunExitCode `genericError'
終了コード= "1"; smRunExitCode `NOERROR」終了コード= / "2"; smRunExitCode `停止」終了コード= / "3"; smRunExitCode `lifeTimeExceeded」終了コード= / "4"。 smRunExitCode `noResourcesLeft」終了コード= / "5"。 smRunExitCode `languageError」終了コード= / "6"; smRunExitCode `RuntimeErrorが」終了コード= / "7"。 smRunExitCode `invalidArgument」終了コード= / "8"; smRunExitCode `セキュリティ違反」終了コード= / "9"; smRunExitCode `genericError」
Authenticator = HexString ; authentication cookie
オーセンティケータ= HexString。認証Cookie
Version = "SMX/1.1" ; current version of the SMX protocol
バージョン= "SMX / 1.1"; SMXプロトコルの現在のバージョン
Argument = HexString / QuotedString ; see smRunArgument
引数= HexString / QuotedString。 smRunArgumentを参照してください
Result = HexString / QuotedString ; see smRunResult
結果= HexString / QuotedString。 smRunResultを参照してください
ErrorMsg = HexString / QuotedString ; see smRunError
ERRORMSG = HexString / QuotedString。 smRunErrorを参照してください
The definition of QuotedString requires further explanation. A quoted string may contain special character sequences, all starting with the backslash character (%x5C). The interpretation of these sequences is as follows:
QuotedStringの定義は、さらなる説明を必要とします。引用符で囲まれた文字列は、すべてのバックスラッシュ文字(%のx5C)から始まる、特殊文字の配列を含むことができます。次のようにこれらの配列の解釈は次のとおりです。
`\\' backslash character (`%x5C') `\t' tab character (`HTAB') `\n' newline character (`LF') `\r' carriage-return character (`CR') `\"' quote character (`DQUOTE')
In all other cases not listed above, the backslash is dropped and the following character is treated as an ordinary character.
上記に記載されていない他のすべての場合において、バックスラッシュは破棄され、次の文字は通常の文字として扱われます。
`Argument' and `Result' is either a QuotedString or a HexString. The Script MIB defines script arguments and results as arbitrary octet strings. The SMX protocol supports a binary and a human readable representation since it is likely that printable argument and result strings will be used frequently. However, an implementation must be able to handle both formats in order to be compliant with the Script MIB.
`引数「と`結果は」QuotedStringかHexStringのいずれかです。スクリプトのMIBは任意のオクテット文字列としてスクリプトの引数と結果を定義します。印刷可能な引数と結果の文字列が頻繁に使用される可能性があるため、SMXプロトコルは、バイナリと人間が読める表現をサポートしています。しかし、実装は、スクリプトMIBに準拠するために、両方のフォーマットを扱うことができなければなりません。
The `Authenticator' is a HexString which does not carry any semantics other than being a random sequence of bytes. It is therefore not necessary to have a human readable representation.
`オーセンティケータは、」バイトのランダムな配列である以外の意味を運ばないHexStringです。人間が読める表現を有することが必要ではありません。
The following ABNF definitions define the set of SMX commands which can be sent from the SNMP agent to a runtime system.
以下のABNF定義は、ランタイムシステムにSNMPエージェントから送信することができますSMXコマンドのセットを定義します。
Command = "hello" WSP Id CRLF
コマンド= "hello" をWSP IdをCRLF
Command =/ "start" WSP Id WSP RunId WSP Script WSP Profile WSP Argument CRLF
コマンド= / "スタート" WSP WSP同上RUNIDスクリプトWSP WSP WSPは、引数CRLFプロファイル
Command =/ "suspend" WSP Id WSP RunId CRLF
コマンド= / "サスペンド" WSP同上WSP RUNID CRLF
Command =/ "resume" WSP Id WSP RunId CRLF
コマンド= / "再開" WSP同上WSP RUNID CRLF
Command =/ "abort" WSP Id WSP RunId CRLF
コマンド= / "中止" WSP WSP同上RUNID CRLF
Command =/ "status" WSP Id WSP RunId CRLF
コマンド= / "状態" WSP WSP同上RUNID CRLF
The `hello' command is always the first command sent over a SMX connection. It is used to identify and authenticate the runtime system. The `start' command starts the execution of a script. The `suspend', `resume' and `abort' commands can be used to change the status of a running script. The `status' command is used to retrieve status information for a running script.
`「ハローコマンドは常にSMX接続を介して送信される最初のコマンドです。ランタイムシステムを識別し、認証するために使用されます。 `スタート」コマンドは、スクリプトの実行を開始します。 `「`レジューム」サスペンドおよび `「コマンドは、実行中のスクリプトのステータスを変更するために使用することができ中止。 `状態コマンドは、実行中のスクリプトのステータス情報を取得するために使用されます。
There is no compile command. It is the responsibility of the SNMP agent to perform any compilation steps as needed before using the SMX `start' command. There is no SMX command to shutdown a runtime system. Closing the connection must be interpreted as a request to terminate all running scripts in that runtime system and to shutdown the runtime system.
何のコンパイルコマンドはありません。 SMX `開始」コマンドを使用する前に、必要に応じて任意のコンパイル手順を実行するには、SNMPエージェントの責任です。何SMXコマンドは、ランタイムシステムがシャットダウンにありません。接続を開閉ランタイムシステムそのランタイムシステムで、シャットダウンに実行中のすべてのスクリプトを終了する要求として解釈されなければなりません。
Every reply message starts with a three digit reply code and ends with `CRLF'. The three digits in a reply code have a special meaning. The first digit identifies the class of a reply message. The following classes exist:
すべての応答メッセージは、3桁の応答コードで始まり、 `CRLF」で終わります。応答コードで3桁の数字は特別な意味を持っています。最初の桁は、応答メッセージのクラスを識別する。次のクラスが存在します。
1yz transient positive response 2yz permanent positive response 3yz transient negative response 4yz permanent negative response 5yz asynchronous notification
非同期通知5yz恒久的否定応答4yz過渡否定応答3yz永久肯定応答2yz過渡肯定応答1yz
The classes 1yz and 3yz are currently not used by SMX version 1.1. They are defined only for future SMX extensions.
1yzと3yzクラスは現在、SMXバージョン1.1で使用されていません。彼らは唯一の将来のSMXの拡張のために定義されています。
The second digit encodes the specific category. The following categories exist:
2桁目が特定のカテゴリをコードしています。次のカテゴリが存在します。
x0z syntax errors that don't fit any other category x1z replies for commands targeted at the whole runtime system x2z replies for commands targeted at scripts x3z replies for commands targeted at running instances of scripts
スクリプトのインスタンスを実行してを対象のコマンドに対して返信x3zスクリプトを対象としたコマンドに対して返信x2z全体のランタイムシステムを対象としたコマンドに対して返信x1z他のカテゴリに適合しないx0z構文エラー
The third digit gives a finer gradation of meaning in each category specified by the second digit. Below is the ABNF definition of all reply messages and codes:
3桁目は、2桁目で指定された各カテゴリにおける意味の細かいグラデーションを与えます。以下は、すべての応答メッセージとコードのABNF定義は次のとおりです。
Reply = "211" WSP Id WSP Version *1(WSP Authenticator) CRLF ; identification of the ; runtime system
= "211" WSPイドWSP版* 1(WSP認証)CRLFを返信。の同定;ランタイムシステム
Reply =/ "231" WSP Id WSP RunState CRLF ; status of a running script
= / "231" WSPイドWSP RunState CRLFを返信。実行中のスクリプトの状況
Reply =/ "232" WSP Id CRLF ; abort of a running script
= / "232" WSPイドCRLFを返信。実行中のスクリプトの中止
Reply =/ "401" WSP Id CRLF ; syntax error in command
= / "401" WSPイドCRLFを返信。コマンドの構文エラー
Reply =/ "402" WSP Id CRLF ; unknown command
= / "402" WSPイドCRLFを返信。不明なコマンド
Reply =/ "421" WSP Id CRLF ; unknown or illegal Script
= / "421" WSPイドCRLFを返信。不明または不正なスクリプト
Reply =/ "431" WSP Id CRLF ; unknown or illegal RunId
= / "431" WSP同上CRLFを返信。不明または違法RUNID
Reply =/ "432" WSP Id CRLF ; unknown or illegal Profile
= / "432" WSP同上CRLFを返信。不明または不正なプロフィール
Reply =/ "433" WSP Id CRLF ; illegal Argument
= / "433" WSP同上CRLFを返信。不正な引数
Reply =/ "434" WSP Id CRLF ; unable to change the status of ; a running script
= / "434" WSP同上CRLFを返信。のステータスを変更することができません。実行中のスクリプト
Reply =/ "511" WSP Zero WSP QuotedString CRLF ; an arbitrary message send from ; the runtime system
= / "511" WSPゼロWSP QuotedString CRLFを返信。任意のメッセージから送信します。ランタイムシステム
Reply =/ "531" WSP Zero WSP RunId WSP RunState CRLF ; asynchronous running script ; status change
= / "531" WSPゼロWSP RUNID WSP RunState CRLFを返信。非同期実行中のスクリプト。ステータスの変更
Reply =/ "532" WSP Zero WSP RunId WSP RunState WSP Result CRLF ; intermediate script result
= / "532" WSPゼロWSP RUNID WSP RunState WSP結果CRLFを返信。中間スクリプト結果
Reply =/ "533" WSP Zero WSP RunId WSP RunState WSP Result CRLF ; intermediate script result that ; triggers an event report
= / "533" WSPゼロWSP RUNID WSP RunState WSP結果CRLFを返信。中間スクリプトはそれを引き起こします。イベントレポートをトリガー
Reply =/ "534" WSP Zero WSP RunId WSP Result CRLF ; normal script termination, ; deprecated
= / "534" WSPゼロWSP RUNID WSP結果CRLFを返信。通常のスクリプト終了、。非推奨
Reply =/ "535" WSP Zero WSP RunId WSP ExitCode WSP ErrorMsg CRLF ; abnormal script termination, ; deprecated
返信= / "535" WSPゼロWSP RUNID WSP EXITCODE WSP ERRORMSG CRLF。異常スクリプト終了、。非推奨
Reply =/ "536" WSP Zero WSP RunId WSP RunState WSP ErrorMsg CRLF ; script error
返信= / "536" WSPゼロWSP RUNID WSP RunState WSP ERRORMSG CRLF。スクリプトエラー
Reply =/ "537" WSP Zero WSP RunId WSP RunState WSP ErrorMsg CRLF ; script error that ; triggers an event report
返信= / "537" WSPゼロWSP RUNID WSP RunState WSP ERRORMSG CRLF。スクリプトエラーという。イベントレポートをトリガー
Reply =/ "538" WSP Zero WSP RunId WSP ExitCode CRLF ; script termination
= / "538" WSPゼロWSP RUNID WSP終了コードCRLFを返信。スクリプト終了
This section describes in detail the processing steps performed by the SNMP agent and the runtime system with regard to the SMX protocol.
このセクションでは、詳細にSMXプロトコルに関してSNMPエージェントとランタイムシステムによって実行される処理手順について説明します。
This section describes the processing of SMX command messages by a runtime engine and the conditions under which asynchronous notifications are generated.
このセクションでは、ランタイム・エンジンおよび非同期通知が生成される条件によってSMXコマンドメッセージの処理を説明します。
When the runtime system receives a message, it first tries to recognize a command consisting of the command string and the transaction identifier. If the runtime system is not able to extract both the command string and the transaction identifier, then the message is discarded. An asynchronous `511' reply may be generated in this case. Otherwise, the command string is checked to be valid, i.e. to be one of the strings `hello', `start', `suspend', `resume', `abort', or `status'. If the string is invalid, a `402' reply is sent and processing of the message stops. If a valid command has been detected, further processing of the message depends on the command as described below.
ランタイムシステムは、メッセージを受信すると、最初のコマンド文字列とトランザクション識別子からなるコマンドを認識しよう。ランタイムシステムは、コマンド文字列とトランザクション識別子の両方を抽出することができない場合、メッセージは破棄されます。非同期 `511' の応答は、この場合に生成されてもよいです。それ以外の場合は、コマンド文字列が有効であることが確認され、すなわち、文字列 `の一つであることがハロー「`開始」「 `レジューム」サスペンド`、 `アボート」、または`状態を。文字列が無効である場合は、 `402' 応答が送信されたメッセージの処理が停止しています。有効なコマンドが検出された場合、以下に記載されるように、メッセージのさらなる処理は、コマンドに依存します。
The command specific processing describes several possible syntax errors for which specific reply messages are generated. If the runtime engine detects any syntax error which is not explicitly mentioned or which cannot be identified uniquely, a generic `401' reply is sent indicating that the command cannot be executed.
コマンド固有の処理は、特定の応答メッセージが生成されるため、いくつかの可能な構文エラーを示します。ランタイムエンジンは、明示的に言及されていないか、または一意に識別することができない任意の構文エラーを検出した場合、一般的な `401' 応答は、コマンドが実行できないことを示す送信されます。
When the runtime system receives a `hello' command, it processes it as follows:
ランタイムシステムは、 `ハロー」コマンドを受信すると、以下のように、それを処理します。
1. The runtime system sends a `211' reply. If the runtime system has access to a shared secret, then the reply must contain the optional `Authenticator', which is a function of the shared secret.
1.ランタイムシステムは、 `211' 応答を送信します。ランタイムシステムが共有秘密にアクセスしている場合、その応答は、共有秘密の関数で、オプション `認証」を、含まれている必要があります。
When the runtime system receives a `start' command, it processes it as follows:
ランタイムシステムは `開始」コマンドを受信すると、以下のように、それを処理します。
1. The syntax of the arguments of the `start' command is checked. The following four checks must be made:
1. `開始」コマンドの引数の構文がチェックされます。次の4つのチェックがなされなければなりません。
(a) The syntax of the `RunId' parameter is checked and a `431' reply is sent if any syntax error is detected.
(a)は `RUNIDの構文」パラメータがチェックされて '431' 構文エラーが検出された場合、応答が送信されます。
(b) The syntax of the `Script' parameter is checked and a `421' reply is sent if any syntax error is detected.
(B) `スクリプトの構文」パラメータがチェックされて '421' 構文エラーが検出された場合、応答が送信されます。
(c) The syntax of the `Profile' parameter is checked and a `432' reply is sent if any syntax error is detected.
(C) `プロフィールの構文」パラメータがチェックされて '432' 構文エラーが検出された場合、応答が送信されます。
(d) If syntax of the `Argument' parameter is checked and a `433' reply is sent if any syntax error is detected.
(D) `引数の構文」パラメータがチェックされていると` 433' は、任意の構文エラーが検出された場合は返信が送信された場合。
2. The runtime system checks whether the new `RunId' is already in use. If yes, a `431' reply is sent and processing stops.
2.ランタイムシステムをチェックし、新しい `RUNIDは」既に使用されているかどうか。はい、 `431' 応答が送信された場合、処理が停止します。
3. The runtime system checks whether the `Script' parameter is the name of a file on the local storage device, that can be read. A `421' reply is sent and processing stops if the file does not exist or is not readable.
3. `スクリプト」パラメータは、ローカルストレージデバイス上のファイルの名前であるかどうかランタイムシステムチェックは、それを読み取ることができます。 `421' 応答が送信され、処理は、ファイルが存在しない場合に停止するか読めないです。
4. The runtime system checks whether the security profile is known and sends a `432' reply and stops processing if not.
4.セキュリティプロファイルが知られており、 `432' 応答を送信しない場合は処理を停止しているかどうかランタイムシステムをチェックします。
When the script has been started, a `231' reply is sent including the current run state.
スクリプトが開始された場合には、 `231' 応答は現在の実行状態を含む送信されます。
Processing of the `start' command stops, when the script reaches the state `running'. For each asynchronous state change of the running script, a `531' reply is sent. Processing of the `start' command is also stopped if an error occurs before the state `running' is reached. In this case, the run is aborted and a `538' reply is generated. An optional `536' reply can be send before the `538' reply to report an error message.
`スタートの処理「コマンドを停止し、スクリプトが状態に達したときに実行されています`」。実行中のスクリプトの各非同期状態変化のために、 `531' 応答が送信されます。到達した `スタートの処理「状態が`実行する前にエラーが発生した場合、コマンドは、停止しています」。この場合、実行は中止され、 `538' 応答が生成されます。オプションの `536' エラーメッセージを報告するために、返信返信が` 538' の前に送信することができます。
If an `abort' command or a `suspend' command for the running script is received before processing of the `start' command is complete, then the processing of the `start' command may be stopped before the state `running' is reached. In this case, the resulting status of the running script is given by the respective reply to the `abort' or `suspend' command, and no reply with the transaction identifier of the `start' command is generated.
`中止「コマンドまたは`中断」を実行するスクリプトのコマンドは `開始「コマンドは、その後、`起動の処理完了している」コマンドは状態の前に停止させることができる `「に到達する稼働の処理の前に受信された場合。この場合には、実行中のスクリプトの結果として生じる状態は `アボート「または`サスペンド」コマンド、および生成される `開始」コマンドのトランザクション識別子と応答なしにそれぞれの応答によって与えられます。
When the runtime system receives a `suspend' command, it processes it as follows:
ランタイムシステムは、 `中断」コマンドを受信すると、以下のように、それを処理します。
1. If there is a syntax error in the running script identifier or if there is no running script matching the identifier, a `431' reply is sent and processing of the command is stopped.
1.が構文エラーが実行中のスクリプト識別子であるかの識別子に一致する実行中のスクリプトが存在しない場合、 '431' 応答が送信され、コマンドの処理が停止している場合。
2. If the running script is already in the state `suspended', a `231' reply is sent and processing of the command is stopped.
2.実行中のスクリプトが `サスペンド状態に既にある場合は」、 '231' 応答が送信され、コマンドの処理が停止されます。
3. If the running script is in the state `running', it is suspended and a `231' reply is sent after suspending. If suspending fails, a `434' reply is sent and processing of the command is stopped.
実行中のスクリプトが `走行状態にある場合に3」は、それが中断され、 '231' 応答が懸濁後に送信されます。サスペンドに失敗した場合は、 `434' 応答が送信され、コマンドの処理が停止しています。
4. If the running script has not yet reached the state `running' (the `start' command still being processed), it may reach the state `suspended' without having been in the state `running'. After reaching the state `suspended', a `231' reply is sent.
4.実行中のスクリプトがまだ `「(`開始」コマンドは、まだ処理されている)を実行している状態に達していない場合、それは ``実行状態にされずに「一時停止状態に達する可能性があります。 `サスペンド状態に達した後に」、 '231' の応答が送信されます。
5. If the running script is in any other state, a `434' reply is sent.
5.実行中のスクリプトが他の状態にある場合は、 `434' 応答が送信されます。
When the runtime system receives a `resume' command, it processes it as follows:
ランタイムシステムは、 `レジューム」コマンドを受信すると、以下のように、それを処理します。
1. If there is a syntax error in the running script identifier or if there is no running script matching the identifier, a `431' reply is sent and processing of the command is stopped.
1.が構文エラーが実行中のスクリプト識別子であるかの識別子に一致する実行中のスクリプトが存在しない場合、 '431' 応答が送信され、コマンドの処理が停止している場合。
2. If the running script is already in the state `running', a `231' reply is sent and processing of the command is stopped.
2.実行中のスクリプトが `走行状態に既にある場合は」、 '231' 応答が送信され、コマンドの処理が停止されます。
3. If the running script is in the state `suspended', it is resumed and a `231' reply is sent after resuming. If resuming fails, a `434' reply is sent and processing of the command is stopped.
実行中のスクリプトが状態である場合3. '「、それが再開されると' 231' 懸濁応答が再開後に送信されます。再開に失敗した場合は、 `434' 応答が送信され、コマンドの処理が停止しています。
4. If the `start' command is still being processed for the script, a `231' reply is sent when the state `running' has been reached.
4. `開始「コマンドは、まだスクリプトのために処理されている、` 231' の場合状態 `」実行中に到達したときの応答が送信されます。
5. If the running script is in any other state, a `434' reply is sent.
5.実行中のスクリプトが他の状態にある場合は、 `434' 応答が送信されます。
When the runtime system receives an `abort' command, it processes it as follows:
ランタイムシステムは、 `アボート」コマンドを受信すると、以下のように、それを処理します。
1. If there is a syntax error in the running script identifier or if there is no running script matching the identifier, a `431' reply is sent and processing of the command is stopped.
1.が構文エラーが実行中のスクリプト識別子であるかの識別子に一致する実行中のスクリプトが存在しない場合、 '431' 応答が送信され、コマンドの処理が停止している場合。
2. If the running script is already aborted, a `232' reply is sent and processing of the command is stopped.
実行中のスクリプトがすでに中止された場合2.、 `232' 応答が送信され、コマンドの処理が停止しています。
3. The running script is aborted and a `232' reply is sent after aborting. If aborting fails, a `434' reply is sent and processing is stopped.
3.実行中のスクリプトが中止され、 `232' 応答が中止した後に送信されます。強制終了に失敗した場合は、 `434' 応答が送信され、処理が停止しています。
When the runtime system receives a `status' command, it processes it as follows:
ランタイムシステムは、 `状態コマンドを受信すると、以下のように、それを処理します。
1. If there is a syntax error in the running script identifier or if there is no running script matching the identifier, a `431' reply is sent and processing of the command is stopped.
1.が構文エラーが実行中のスクリプト識別子であるかの識別子に一致する実行中のスクリプトが存在しない場合、 '431' 応答が送信され、コマンドの処理が停止している場合。
The runtime system generates or may generate the following notifications:
ランタイムシステムは、生成したり、次の通知を生成することがあります。
1. If a change of the status of a running script is observed by the runtime system, a `531' reply is sent.
実行中のスクリプトの状態の変化はランタイムシステムによって観察されている場合は1を、 `531' 応答が送信されます。
2. A `534' reply is sent if a running script terminates normally. This reply is deprecated. You can emulate this reply with a combination of a `532' reply and a `538' reply.
実行中のスクリプトが正常に終了した場合2. `534' 応答が送信されます。この回答は推奨されていません。あなたは `532' 応答と` 538' 応答の組み合わせでこの応答をエミュレートすることができます。
3. A `535' reply is sent if a running script terminates abnormally. This reply is deprecated. You can emulate this reply with a combination of a `536' reply and a `538' reply.
実行中のスクリプトが異常終了した場合3. `535' 応答が送信されます。この回答は推奨されていません。あなたは `536' 応答と` 538' 応答の組み合わせでこの応答をエミュレートすることができます。
4. A `532' reply is sent if a script generates an intermediate result.
スクリプトは、中間結果を生成する場合4. '532' 応答が送信されます。
5. A `533' reply is sent if a script generates an intermediate result which causes the generation of a `smScriptResult' notification.
通知5 '533' スクリプトは `smScriptResultの発生の原因となる中間結果を生成する場合、応答が送信されます」。
6. A `536' reply is sent if a running script produces an error. If the error is fatal, the script execution will be terminated and a 538 reply will follow. Otherwise, if the error is non-fatal, the script continues execution.
実行中のスクリプトがエラーを生成する場合6. A `536' 応答が送信されます。エラーが致命的である場合は、スクリプトの実行が終了し、538応答が続きます。エラーが致命的である場合にはそうでない場合、スクリプトは実行を継続します。
7. A `537' reply is sent if a running script produces an error which should cause the generation of a `smScriptException' notification. If the error is fatal, the script execution will be terminated and a 538 reply will follow. Otherwise, if the error is non-fatal, the script continues execution.
通知7. `537' を実行するスクリプトは` smScriptExceptionの生成を引き起こすべきでエラーが発生した場合、返信が送信されます」。エラーが致命的である場合は、スクリプトの実行が終了し、538応答が続きます。エラーが致命的である場合にはそうでない場合、スクリプトは実行を継続します。
8. A `538' reply is sent if a running script terminates. The ExitCode is used to distinguish between normal termination (`noError') or abnormal termination.
実行中のスクリプトが終了した場合8. `538' 応答が送信されます。終了コードは、正常終了( `NOERROR ')または異常終了を区別するために使用されます。
9. Besides the notifications mentioned above, the runtime system may generate arbitrary `511' replies, which are logged or displayed by the SNMP agent.
9.上記の通知に加えて、ランタイムシステムがログまたはSNMPエージェントによって表示され、任意の `511' の応答を生成することができます。
This section describes the conditions under which an SNMP agent implementing the Script MIB generates SMX commands. It also describes how the SNMP agent processes replies to SMX commands.
このセクションでは、スクリプトのMIBを実装するSNMPエージェントは、SMXコマンドを生成する条件を説明します。また、SNMPエージェントは、SMXコマンドに応答を処理する方法について説明します。
New runtime systems are started by the SNMP agent while processing set requests for a `smLaunchStart' variable. The SNMP agent first searches for an already running runtime systems which matches the security profiles associated with the `smLaunchStart' variable. If no suitable runtime system is available, a new runtime system is started by either
`smLaunchStart」変数の設定要求を処理しながら、新しいランタイムシステムは、SNMPエージェントによって開始されています。 SNMPエージェントは、最初に `smLaunchStart」変数に関連付けられているセキュリティプロファイルと一致して、すでに実行しているランタイムシステムを検索します。もし適切なランタイムシステムが利用できない場合は、新しいランタイムシステムは、いずれかによって開始されました
(a) starting the executable for the runtime system in a new process which conforms to the operating system security profile, and establishing a bi-directional pipe to the runtime systems standard input/output streams to be used for SMX transport, or
(a)は、オペレーティング・システムのセキュリティ・プロファイルに準拠し、新しいプロセスにおけるランタイムシステムの実行を開始し、ランタイムシステムに標準入力/出力ストリームを、双方向パイプを確立するSMXの輸送に使用される、または
(b) preparing the environment for the new runtime system and starting the executable for the runtime system in a new process which conforms to the operating system security profile. The SNMP agent prepares to accept a connection from the new runtime system.
(b)は、新しいランタイム・システムのための環境を準備し、オペレーティング・システムのセキュリティ・プロファイルに準拠し、新しいプロセスにおけるランタイムシステムの実行を開始します。 SNMPエージェントは、新しいランタイムシステムからの接続を受け入れるように準備をします。
The `smRunState' of all scripts that should be executed in the new runtime system is set to `initializing'.
`smRunStateの新しいランタイムシステムで実行する必要があるすべてのスクリプトのは、`初期化 'に設定されます。
The `hello' command is generated once an SMX connection is established. The SNMP agent sends the `hello' command as defined in section 5.2. The SNMP agent then expects a reply from the runtime system within a reasonable timeout interval.
SMX接続が確立されると、 `「ハローコマンドが生成されます。セクション5.2で定義されているSNMPエージェントは、 `「ハローコマンドを送信します。 SNMPエージェントは、合理的なタイムアウト時間内にランタイムシステムからの応答を期待しています。
1. If the timeout expires before the SNMP agent received a reply, then the connection is closed and all data associated with it is deleted. Any scripts that should be running in this runtime system are aborted, the `smRunExitCode' is set to `genericError' and `smRunError' is modified to describe the error situation.
1. SNMPエージェントが応答を受信する前にタイムアウトが満了した場合、接続が閉じられ、それに関連するすべてのデータが削除されます。このランタイムシステムで実行されている必要があり、任意のスクリプトは、 `smRunExitCodeは、エラー状況を説明するように変更され、` smRunError」「`genericErrorに設定されている」中止にされています。
2. If the received message can not be analyzed because it does not have the required format, then the connection is closed and all data associated with it is deleted. Any scripts that should be running in this runtime system are aborted, the `smRunExitCode' is set to `genericError' and `smRunError' is modified to describe the error situation.
それが必要なフォーマットを持っていないため2.受信したメッセージを解析することができない場合、接続が閉じられ、それに関連付けられたすべてのデータが削除されます。このランタイムシステムで実行されている必要があり、任意のスクリプトは、 `smRunExitCodeは、エラー状況を説明するように変更され、` smRunError」「`genericErrorに設定されている」中止にされています。
3. If the received message is a `211' reply, then the `Id' is checked whether it matches the `Id' used in the `hello' command. If the `Id' matches, then the `Version' is checked. If the `Version' matches a supported SMX protocol version, then, if present, the `Authenticator' is checked. If any of the tests fails or if the
3.受信したメッセージが '211' である場合返信、その後 `Idが'、コマンド`ハローに使用 `IDと一致するか否かがチェックされます。 `Idは「にマッチし、その後、`バージョンは」の場合にチェックされます。 `バージョンは「サポートSMXプロトコルのバージョンと一致し、そして、存在する場合、`オーセンティケータは、」の場合にチェックされます。テストのいずれかが失敗した場合、または場合
SNMP agent requires an authenticator and it did not receive a matching `Authenticator' with the `211' reply, then the connection is closed and all data associated with this runtime system is deleted. Any scripts that should be running in this runtime system are aborted, the `smRunExitCode' is set to `genericError' and `smRunError' is modified to describe the error situation.
SNMPエージェントは、認証を必要とし、それは、接続が閉じられると、このランタイムシステムに関連するすべてのデータが削除され、返信「`211' でマッチング`認証を受けませんでした。このランタイムシステムで実行されている必要があり、任意のスクリプトは、 `smRunExitCodeは、エラー状況を説明するように変更され、` smRunError」「`genericErrorに設定されている」中止にされています。
4. Received messages are discarded if none of the previous rules applies.
以前のルールのいずれにも該当しない場合4.受信したメッセージは破棄されます。
The `start' command is generated while processing set-requests for a `smLaunchStart' variable. The `start' command assumes that the SNMP agent already determined a runtime system suitable to execute the script associated with the `smLaunchStart' variable. The SNMP agent sends the `start' command as defined in section 5.2 to the selected runtime system. The SNMP agent then expects a reply from the runtime system within a reasonable timeout interval.
`変数「` smLaunchStart用セット・リクエストの処理中にコマンドが生成されます」を起動します。 `スタート変数「コマンドは、SNMPエージェントがすでに` smLaunchStartに関連付けられたスクリプトを実行するための適切なランタイムシステムを決定することを前提とし」を。選択したランタイムシステムにセクション5.2で定義されているSNMPエージェントは `開始」コマンドを送信します。 SNMPエージェントは、合理的なタイムアウト時間内にランタイムシステムからの応答を期待しています。
1. If the timeout expires before the SNMP agent received a reply, then the SNMP agent sends an `abort' command to abort the running script and sets the `RunState' of the running script to `terminated', the `smRunExitCode' to `genericError' and `smRunError' is modified to describe the timeout situation.
1.タイムアウトは、SNMPエージェントが応答を受信する前に、その後、SNMPエージェントは `へ「` smRunExitCode、」 `中止「を実行するスクリプトを中止するためのコマンドと` RunState設定します」 `終了に実行中のスクリプトのを送り期限切れになった場合genericError「と `smRunErrorは」タイムアウト状況を説明するように修正されます。
2. If the received message can not be analyzed because it does not have the required format, then the message is ignored. The SNMP agent continues to wait for a valid reply message until the timeout expires.
2.それは必要な形式を持っていないため、受信したメッセージは、そのメッセージは無視され、分析することができない場合。 SNMPエージェントは、タイムアウトの期限が切れるまで有効な応答メッセージを待ち続けています。
3. If the received message is a `4yz' reply and the `Id' matches the `Id' of the `start' command, then the SNMP agent assumes that the script can not be started. The `smRunState' of the running script is set to `terminated', the `smRunExitCode' to `genericError' and the `smRunError' is modified to contain a message describing the error situation.
3.受信したメッセージが `4yz「返信と` Idが」あるコマンド「`開始の」` IDと一致する場合、SNMPエージェントは、スクリプトが起動できないことを前提としています。 `smRunState「を実行スクリプトが`終了に設定されている」、と `smRunError」「'genericErrorに」` smRunExitCodeは、エラー状況を説明するメッセージを含むように修飾されています。
4. If the received message is a `231' reply and the `Id' matches the `Id' of the `start' command, then the `smRunState' variable of the running script is updated.
受信したメッセージが、 `231' 応答と` ID「である場合4.コマンド」 `開始の「` Idを、そして `実行中のスクリプトのsmRunState」変数が更新されると一致しました。
5. Received messages are discarded if none of the previous rules applies.
以前のルールのいずれにも該当しない場合5.受信したメッセージは破棄されます。
The `suspend' command is generated while processing set-requests for the `smLaunchControl' and `smRunControl' variables which change the value to `suspend'. The SNMP agent sets the `smRunState' variable to `suspending' and sends the `suspend' command as defined in section 5.2. The SNMP agent then expects a reply from the runtime system within a reasonable timeout interval.
`と` smRunControl「`中断する値を変更し、変数」「` smLaunchControl用セット・リクエストの処理中にコマンドが生成されます」を一時停止します。 SNMPエージェントは `smRunState「`停止に変数」を設定し、セクション5.2で定義された `中断」コマンドを送信します。 SNMPエージェントは、合理的なタイムアウト時間内にランタイムシステムからの応答を期待しています。
1. If the timeout expires before the SNMP agent received a reply, then the SNMP agent sends an `abort' command to abort the running script and sets the `smRunState' of the running script to `terminated', the `smRunExitCode' to `genericError' and `smRunError' is modified to describe the timeout situation.
1.タイムアウトは、SNMPエージェントが応答を受信する前に、その後、SNMPエージェントは `へ「` smRunExitCode、」 `中止「を実行するスクリプトを中止するためのコマンドと` smRunState設定します」 `終端に、実行中のスクリプトのを送り期限切れになった場合genericError「と `smRunErrorは」タイムアウト状況を説明するように修正されます。
2. If the received message can not be analyzed because it does not have the required format, then the message is ignored. The SNMP agent continues to wait for a valid reply message until the timeout expires.
2.それは必要な形式を持っていないため、受信したメッセージは、そのメッセージは無視され、分析することができない場合。 SNMPエージェントは、タイムアウトの期限が切れるまで有効な応答メッセージを待ち続けています。
3. If the received message is a `401', `402' or a `431' reply and the `Id' matches the `Id' of the `suspend' command, then the runtime systems is assumed to not provide the suspend/resume capability and processing of the `suspend' command stops.
3.受信したメッセージが、 '401' 、' 402' または '431' 応答と `Idが'コマンド`サスペンドの `IDと一致である、ランタイムシステムは、/サスペンドを提供しないと仮定すると`中断」コマンドストップの能力と処理を再開。
4. If the received message is a `231' reply and the `Id' matches the `Id' of the `suspend' command, then the `smRunState' variable of the running script is updated.
受信したメッセージが、 `231' 応答と` ID「である場合4.コマンド」 `中断の「` Idを、そして `実行中のスクリプトのsmRunState」変数が更新されると一致しました。
5. Received messages are discarded if none of the previous rules applies.
以前のルールのいずれにも該当しない場合5.受信したメッセージは破棄されます。
The `resume' command is generated while processing set-requests for the `smLaunchControl' and `smRunControl' variables which change the value to `resume'. The SNMP agent sets the `smRunState' variable to `resuming' and sends the `resume' command as defined in section 5.2. The SNMP agent then expects a reply from the runtime system within a reasonable timeout interval.
`smRunControl「`履歴書に値を変更し、変数」 `レジューム「` smLaunchControl用セット・リクエストの処理中にコマンドが生成されます」。 SNMPエージェントは `smRunState「変数に`レジューム」を設定し、セクション5.2で定義された `履歴書」コマンドを送信します。 SNMPエージェントは、合理的なタイムアウト時間内にランタイムシステムからの応答を期待しています。
1. If the timeout expires before the SNMP agent received a reply, then the SNMP agent sends an `abort' command to abort the running script and sets the `smRunState' of the running script to `terminated', the `smRunExitCode' to `genericError' and `smRunError' is modified to describe the timeout situation.
1.タイムアウトは、SNMPエージェントが応答を受信する前に、その後、SNMPエージェントは `へ「` smRunExitCode、」 `中止「を実行するスクリプトを中止するためのコマンドと` smRunState設定します」 `終端に、実行中のスクリプトのを送り期限切れになった場合genericError「と `smRunErrorは」タイムアウト状況を説明するように修正されます。
2. If the received message can not be analyzed because it does not have the required format, then the message is ignored. The SNMP agent continues to wait for a valid reply message until the timeout expires.
2.それは必要な形式を持っていないため、受信したメッセージは、そのメッセージは無視され、分析することができない場合。 SNMPエージェントは、タイムアウトの期限が切れるまで有効な応答メッセージを待ち続けています。
3. If the received message is a `401', `402' or a `431' reply and the `Id' matches the `Id' of the `resume' command, then the runtime systems is assumed to not provide the suspend/resume capability and processing of the `resume' command stops.
3.受信したメッセージは '401' 、' 402' または '431' で応答と `ID」は、コマンド`レジュームの」 `IDは、次いで、ランタイムシステムは/サスペンドを提供しないと仮定される一致した場合`レジューム」コマンドストップの能力と処理を再開。
4. If the received message is a `231' reply and the `Id' matches the `Id' of the `resume' command, then the `smRunState' variable of the running script is updated.
4.受信したメッセージが、 `231' 応答と` ID「であるコマンド」 `履歴書の「`同上、その後、実行中のスクリプトの `smRunState」変数が更新されると一致した場合。
5. Received messages are discarded if none of the previous rules applies.
以前のルールのいずれにも該当しない場合5.受信したメッセージは破棄されます。
The `abort' command is generated while processing set-requests for the `smLaunchControl' and `smRunControl' variables which change the value to `abort'. In addition, the `abort' command is also generated if the `smRunLifeTime' variable reaches the value 0. The SNMP agent sends the `abort' command as defined in section 5.2. The SNMP agent then expects a reply from the runtime system within a reasonable timeout interval.
`と` smRunControl「'中止する値を変更する変数」「' smLaunchControl用セット要求の処理中にコマンドが生成される」を中止。また、 `変数セクション5.2で定義されるように0 SNMPエージェントは`中止」コマンドを送信する値に達し `smRunLifeTime場合、コマンドはまた、生成された「アボート。 SNMPエージェントは、合理的なタイムアウト時間内にランタイムシステムからの応答を期待しています。
1. If the timeout expires before the SNMP agent received a reply, then the SNMP agent sets the `smRunState' of the running script to `terminated', the `smRunExitCode' to `genericError' and `smRunError' is modified to describe the timeout situation.
SNMPエージェントが応答を受信する前にタイムアウトになる場合1.、その後、SNMPエージェントは、タイムアウトを記述するように変更された「genericError `へ」、` smRunExitCodeと `smRunError」「終了 'に実行するスクリプトの」` smRunStateを設定し、状況。
2. If the received message can not be analyzed because it does not have the required format, then the message is ignored. The SNMP agent continues to wait for a valid reply message until the timeout expires.
2.それは必要な形式を持っていないため、受信したメッセージは、そのメッセージは無視され、分析することができない場合。 SNMPエージェントは、タイムアウトの期限が切れるまで有効な応答メッセージを待ち続けています。
3. If the received message is a `4yz' reply and the `Id' matches the `Id' of the `abort' command, then the SNMP agent assumes that the script can not be aborted. The `smRunState' of the running script is set to `terminated', the `smRunExitCode' to `genericError' and the `smRunResult' is modified to describe the error situation.
3.受信したメッセージが `4yz「返信と` Idが」あるコマンド「`中止の」` IDと一致する場合、SNMPエージェントは、スクリプトを中止することはできませんことを前提としています。 `smRunState「を実行するスクリプトのは、`終了に設定されている」と `smRunResult」「` genericErrorに」 `smRunExitCodeは、エラー状況を説明するように修正されます。
4. If the received message is a `232' reply and the `Id' matches the `Id' of the `abort' command, then the `smRunExitCode' variable of the terminated script is changed to either `halted' (when processing a set-request for the `smLaunchControl' and `smRunControl' variables) or `lifeTimeExceeded' (if the `abort' command was generated because the `smRunLifeTime' variable reached the value 0). The `smRunState' variable is changed to the value `terminated'.
前記受信されたメッセージは '232' 応答と `Idは'で処理する場合、コマンドを`中止の「`IDは、次に` smRunExitCode(」末端スクリプトの変数は `停止のいずれかに変更された」と一致する場合`smLaunchControl「と` smRunControl」変数)または `lifeTimeExceededための要求を設定「(`中止場合」) `smRunLifeTime」変数が値0に達したため、コマンドが生成されました。 `smRunState「変数が終了値`」に変更され。
5. Received messages are discarded if none of the previous rules applies.
以前のルールのいずれにも該当しない場合5.受信したメッセージは破棄されます。
The `status' command is generated either periodically or on demand by the SNMP agent in order to retrieve status information from running scripts. The SNMP agent sends the `status' command as defined in 5.2. The SNMP agent then expects a reply from the runtime system within a reasonable timeout interval.
`状態コマンドを実行しているスクリプトからステータス情報を取得するために、定期的に、またはSNMPエージェントによってオンデマンドで生成されます。 SNMPエージェントは、5.2で定義された `状態コマンドを送信します。 SNMPエージェントは、合理的なタイムアウト時間内にランタイムシステムからの応答を期待しています。
1. If the timeout expires before the SNMP agent received a reply, then the SNMP agent sends an `abort' command to abort the running script and sets the `smRunState' of the running script to `terminated', the `smRunExitCode' to `genericError' and `smRunError' is modified to describe the timeout situation.
1.タイムアウトは、SNMPエージェントが応答を受信する前に、その後、SNMPエージェントは `へ「` smRunExitCode、」 `中止「を実行するスクリプトを中止するためのコマンドと` smRunState設定します」 `終端に、実行中のスクリプトのを送り期限切れになった場合genericError「と `smRunErrorは」タイムアウト状況を説明するように修正されます。
2. If the received message can not be analyzed because it does not have the required format, then the message is ignored. The SNMP agent continues to wait for a valid reply message until the timeout expires.
2.それは必要な形式を持っていないため、受信したメッセージは、そのメッセージは無視され、分析することができない場合。 SNMPエージェントは、タイムアウトの期限が切れるまで有効な応答メッセージを待ち続けています。
3. If the received message is a `4yz' reply and the `Id' matches the `Id' of the `status' command, then the SNMP agent assumes that the script status can not be read, which is a fatal error condition. The SNMP agent sends an `abort' command to abort the running script. The `smRunState' of the running script is set to `terminated', the `smRunExitCode' to `genericError' and the `smRunError' is modified to describe the error situation.
3.受信したメッセージが `4yz「返信と` Idが」あるコマンド「`状態の` IDと一致する場合、SNMPエージェントは致命的なエラー状態である、スクリプトの状態を読み取ることができないことを前提としています。 SNMPエージェントは、実行中のスクリプトを中止する `中止」コマンドを送信します。 `smRunState「を実行するスクリプトのは、`終了に設定されている」と `smRunError」「` genericErrorに」 `smRunExitCodeは、エラー状況を説明するように修正されます。
4. If the received message is a `231' reply and the `Id' matches the `Id' of the `status' command, then the `smRunState' variable of the running script is updated.
受信したメッセージが、 `231' 応答と` ID「である場合4.コマンド」 `状態の` Idを、そして `実行中のスクリプトのsmRunState」変数が更新されると一致しました。
5. Received messages are discarded if none of the previous rules applies.
以前のルールのいずれにも該当しない場合5.受信したメッセージは破棄されます。
The runtime system can send asynchronous status change notifications. These `5yz' replies are processed as described below.
ランタイムシステムは、非同期ステータス変更通知を送信することができます。これら `5yz」の回答は、以下のように処理されています。
1. If the received message is a `511' reply, then the message is displayed or logged appropriately and processing stops.
1.受信したメッセージが '511' 応答である場合、メッセージが表示されるか、または適切に記録され、処理が停止します。
2. If the received message is a `531' reply, then the SNMP agent checks whether a running script with the given `RunId' exists in the runtime system. Processing of the notification stops if there is no running script with the `RunId'. Otherwise, the `smRunState' is updated.
2.受信したメッセージが '531' である場合応答は、SNMPエージェントは `所与で実行スクリプトかどうかをチェックがRUNID」ランタイムシステムに存在します。 `RUNID」とは、実行中のスクリプトが存在しない場合は、通知の処理が停止します。それ以外の場合は、 `smRunState」を更新しています。
3. If the received message is a `532' reply, then the SNMP agent checks whether a running script with the given `RunId' exists in the runtime system. Processing of the notification stops if there is no running script with the `RunId'. Otherwise, `smRunState' and `smRunResult' are updated.
3.受信したメッセージが '532' である場合応答は、SNMPエージェントは `所与で実行スクリプトかどうかをチェックがRUNID」ランタイムシステムに存在します。 `RUNID」とは、実行中のスクリプトが存在しない場合は、通知の処理が停止します。それ以外の場合は、 `smRunState 'と` smRunResult' を更新しています。
4. If the received message is a `533' reply, then the SNMP agent checks whether a running script with the given `RunId' exists in the runtime system. Processing of the notification stops if there is no running script with the `RunId'. Otherwise, `smRunState' and `smRunResult' are updated and the `smScriptResult' notification is generated.
前記受信したメッセージが '533' である場合応答は、SNMPエージェントは `所与で実行スクリプトかどうかをチェックがRUNID」ランタイムシステムに存在します。 `RUNID」とは、実行中のスクリプトが存在しない場合は、通知の処理が停止します。それ以外の場合は、 `smRunState「と` smRunResult」を更新していると `smScriptResult」通知が生成されます。
5. If the received message is a `534' reply, then the SNMP agent checks whether a running script with the given `RunId' exists in the runtime system. Processing stops if there is no running script with the `RunId'. Otherwise, `smExitCode' is set to `noError', `smRunState' is set to `terminated' and `smRunResult' is updated.
前記受信したメッセージが '534' である場合応答は、SNMPエージェントは `所与で実行スクリプトかどうかをチェックがRUNID」ランタイムシステムに存在します。 `RUNID」とは、実行中のスクリプトが存在しない場合、処理は停止します。それ以外の場合は、 `smExitCodeが '` NOERRORに設定されている'、 `smRunStateはと` smRunResultが」更新された '`終了に設定されています'。
6. If the received message is a `535' reply, then the SNMP agent checks whether a running script with the given `RunId' exists in the runtime system. Processing stops if there is no running script with the `RunId'. Otherwise, `smRunState' is set to `terminated' and `smExitCode' and `smRunError' are updated.
前記受信したメッセージが '535' である場合応答は、SNMPエージェントは `所与で実行スクリプトかどうかをチェックがRUNID」ランタイムシステムに存在します。 `RUNID」とは、実行中のスクリプトが存在しない場合、処理は停止します。それ以外の場合は、 `smRunStateはと` smExitCode「と `smRunErrorが」更新された「`終了に設定されています」。
7. If the received message is a `536' reply, then the SNMP agent checks whether a running script with the given `RunId' exists in the runtime system. Processing of the notification stops if there is no running script with the `RunId'. Otherwise, `smRunState' and `smRunError' are updated.
7.受信したメッセージが '536' である場合応答は、SNMPエージェントは `所与で実行スクリプトかどうかをチェックがRUNID」ランタイムシステムに存在します。 `RUNID」とは、実行中のスクリプトが存在しない場合は、通知の処理が停止します。それ以外の場合は、 `smRunState 'と` smRunError' を更新しています。
8. If the received message is a `537' reply, then the SNMP agent checks whether a running script with the given `RunId' exists in the runtime system. Processing of the notification stops if there is no running script with the `RunId'. Otherwise, `smRunState' and `smRunError' are updated and the `smScriptException' notification is generated.
8.受信したメッセージが '537' である場合応答は、SNMPエージェントは `所与で実行スクリプトかどうかをチェックがRUNID」ランタイムシステムに存在します。 `RUNID」とは、実行中のスクリプトが存在しない場合は、通知の処理が停止します。それ以外の場合は、 `smRunState「と` smRunError」を更新していると `smScriptException」通知が生成されます。
9. If the received message is a `538' reply, then the SNMP agent checks whether a running script with the given `RunId' exists in the runtime system. Processing of the notification stops if there is no running script with the `RunId'. Otherwise, `smRunState' is set to `terminated' and the `smExitCode' is updated.
9.受信したメッセージが '538' である場合応答は、SNMPエージェントは `所与で実行スクリプトかどうかをチェックがRUNID」ランタイムシステムに存在します。 `RUNID」とは、実行中のスクリプトが存在しない場合は、通知の処理が停止します。それ以外の場合は、 `smRunStateは「`終了に設定されている」と `smExitCode」を更新しています。
Below is an example SMX message exchange. Messages sent from the SNMP agent are marked with `>' while replies sent from the runtime system are marked with `<'. Line terminators (`CRLF') are not shown in order to make the example more readable.
以下の例SMXメッセージ交換があります。 SNMPエージェントから送信されたメッセージは、 `>「ランタイムシステムから送信された応答が<`でマークされながら」でマークされています。行末( `CRLF ')は一例を読みやすくするために示されていません。
> hello 1 < 211 1 SMX/1.1 0AF0BAED6F877FBC > start 2 42 "/var/snmp/scripts/foo.jar" untrusted "" > start 5 44 "/var/snmp/scripts/bar.jar" trusted "www.ietf.org" < 231 2 2 > start 12 48 "/var/snmp/scripts/foo.jar" funny "" < 231 5 2 < 532 0 44 2 "waiting for response" > status 18 42 > status 19 44 < 432 12 < 231 19 2 < 231 18 2 > hello 578 < 211 578 SMX/1.1 0AF0BAED6F877FBC > suspend 581 42 < 231 581 4 < 532 0 44 7 "test completed" < 538 0 44 1 > abort 611 42 < 232 611
>ハロー1 <211 1 SMX / 1.1 0AF0BAED6F877FBC> 2 42 "信頼できない "/var/snmp/scripts/foo.jar" /var/snmp/scripts/bar.jar" 信頼できる「www.ietf "> 5 44開始" 開始.ORG」<231 2 2> 12 48開始 "" 面白い "/var/snmp/scripts/foo.jar" <231 5 2 <532 0 44 2 "応答待ち">ステータス18 42>ステータス19 44 <432 12 <231 19 2 <231 18 2>ハロー578 <211 578 SMX / 1.1 0AF0BAED6F877FBC> 581 42 <231 581 4 <532 0 44 7 "完了試験" <538 0 44 1> 611 42 <232 611を中止サスペンド
In order to prevent SMX communication from untrusted peers the SNMP agent has to choose a secure SMX transport. This memo defines two transports in Section 8: (a) a bi-directional pipe using standard input/output streams on the runtime engine side, and (b) a TCP connection where the SNMP agent acts as a listening server that accepts only connections from local runtime engines that authenticate themselves with a secret shared between the agent and the runtime engine.
信頼されていないピアからのSMX通信を防止するために、SNMPエージェントは、安全なSMXトランスポートを選択しなければなりません。ランタイムエンジン側の標準入力/出力ストリームを使用して、(a)は、双方向パイプ、およびSNMPエージェントからの接続のみを受け入れるリスニングサーバとして機能する(b)はTCP接続:このメモは、第8章の2つのトランスポートを定義しますエージェントとランタイム・エンジンの間で共有される秘密と自分自身を認証ローカルランタイム・エンジン。
For simplicity and security reasons the transport over bi-directional pipes is the preferred transport.
単純さとセキュリティの理由のために双方向パイプ上輸送が好ましい輸送です。
Further transports (e.g., UNIX domain sockets) are possible but not defined at this point in time. The reason for choosing pipes and TCP connections as the transport for SMX was that these IPC mechanisms are supported by most potential runtime systems, while other transports are not universally available.
さらに、トランスポート(例えば、UNIXドメインソケット)が可能であるが、この時点で定義されていません。 SMXのためのトランスポートとしてのパイプとTCPコネクションを選択した理由は、他のトランスポートは、普遍的に利用できない間、これらのIPCメカニズムは、最も可能性のあるランタイムシステムによってサポートされているということでした。
The SNMP agent first creates a bi-directional pipe. Then the agent creates the runtime system process with its standard input and standard output streams connected to the pipe. Further authentication mechanisms are not required.
SNMPエージェントは、最初に双方向パイプを作成します。エージェントはパイプに接続された標準入力と標準出力ストリームを伴うランタイムシステムプロセスを作成します。さらに、認証メカニズムが必要とされていません。
The SNMP agent first creates a listening TCP socket which accepts connections from runtime systems. Then the agent creates the runtime system process. It is then the responsibility of the runtime system to establish a connection to the agent's TCP socket once it has been started. The SNMP agent must ensure that only authorized runtime systems establish a connection to the listening TCP socket. The following rules are used for this purpose:
SNMPエージェントは、最初のランタイムシステムからの接続を受け入れリスニングTCPソケットを作成します。その後、エージェントは、ランタイムシステムプロセスを作成します。開始された後、エージェントのTCPソケットへの接続を確立するために、ランタイムシステムの責任です。 SNMPエージェントは、許可ランタイムシステムは、リスニングTCPソケットへの接続を確立することを確認する必要があります。以下のルールは、この目的のために使用されています。
- The TCP connection must originate from the local host.
- TCP接続がローカルホストから発信する必要があります。
- The SNMP agent must check the `Authenticator' in the `211' reply if authentication is required and it must close the TCP connection if no valid response is received within a given time interval.
- 認証が必要な場合は、SNMPエージェントが応答「`211' で`認証を確認する必要があり、有効な応答が所定の時間間隔内に受信されない場合には、TCP接続を閉じる必要があります。
The SMX protocol as specified in this memo runs over a bi-directional pipe or over a local TCP connection between the agent and the runtime system. Protocol messages never leave the local system. It is therefore not possible to attack the message exchanges if the underlying operating system protects bi-directional pipes and local TCP connections from other users on the same machine.
このメモで指定されSMXプロトコルは、双方向パイプ上又はエージェントとランタイムシステムとの間のローカルのTCP接続を介して実行されます。プロトコルメッセージは、ローカルシステムを離れることはありません。基礎となるオペレーティング・システムは、双方向パイプと同じマシン上の他のユーザーからローカルのTCP接続を保護した場合のメッセージ交換を攻撃することは不可能です。
The transport over a bi-directional pipe specifies that the pipe is created and connected to the standard input/output stream of the runtime engine by the agent before the runtime engine is started. It is therefore not possible that an unauthorized process can exchange SMX messages over the bi-directional pipe.
双方向パイプ経由の輸送は、パイプが作成され、ランタイムエンジンが開始される前に、エージェントがランタイムエンジンの標準入力/出力ストリームに接続されていることを指定します。不正なプロセスが双方向パイプの上にSMXメッセージを交換することができますことはできません。
In case of the TCP transport, the only critical situation is the connection establishment phase. The rules defined in section 8 ensure that only local connections are accepted and that a runtime system has to authenticate itself with an authenticator if the agent requires authentication. It is strongly suggested that agents require authentication, especially on multiuser systems.
TCPトランスポートの場合は、唯一の重要な状況では、接続確立フェーズです。セクション8で定義されたルールは、ローカル接続が受け入れられることを確認し、ランタイムシステムは、エージェントが認証を必要とする場合、オーセンティケータを用いて自身を認証しなければならないこと。強くエージェントは、特にマルチユーザのシステム上で、認証を必要とすることが示唆されます。
The SMX 1.0 specification in RFC 2593 suggested a scheme where the authenticator was passed to the runtime engines as part of the process environment. This scheme relies on the protection of process environments by the operating system against unauthorized access. Some operating systems allow users to read the process environment of arbitrary processes. Hence the scheme proposed in RFC 2593 is considered unsecure on these operating systems. This memo does not dictate the mechanism by which the runtime obtains the shares secret. It is the responsibility of implementors or administrators to select a mechanism which is secure on the target platforms.
RFC 2593でSMX 1.0仕様では、オーセンティケータは、プロセス環境の一部として、ランタイム・エンジンに渡されたスキームを提案しました。この方式は、不正アクセスから、オペレーティング・システムによって、プロセス環境の保護に依存しています。一部のオペレーティングシステムは、ユーザーが任意のプロセスのプロセス環境を読み込むことができます。したがって、RFC 2593で提案された方式は、これらのオペレーティングシステムで保護されていないと考えられています。このメモは、ランタイムが共有シークレットを取得するメカニズムを規定していません。ターゲットプラットフォーム上で安全であるメカニズムを選択するために、実装者や管理者の責任です。
The SMX protocol assumes a local script storage area which is used to pass script code from the SNMP agent to the runtime systems. The SMX protocol passes file names from the agent to the runtime engines. It is necessary that the script files in the local script storage area are properly protected so that only the SNMP agent has write access. Failure to properly protect write access to the local script storage area can allow attackers to execute arbitrary code in runtime systems that might have special privileges.
SMXプロトコルは、ランタイムシステムにSNMPエージェントからスクリプトコードを渡すために使用されるローカルスクリプト記憶領域を想定しています。 SMXプロトコルは、ランタイムエンジンにエージェントからファイル名を渡します。唯一のSNMPエージェントが書き込みアクセス権を持っているように、ローカルスクリプトの格納領域内のスクリプトファイルが適切に保護されていることが必要です。適切にローカルスクリプト格納領域への書き込みアクセスを保護するために失敗すると、攻撃者は、特別な権限を持っているかもしれないランタイムシステムで任意のコードを実行できるようにすることができます。
The SMX protocol allows to execute script under different operating system and runtime system security profiles. The memo suggests to map the smLaunchOwner value to an operating system and a runtime system security profile. The operating system security profile is enforced by the operating system by setting up a proper process environment. The runtime security profile is enforced by a secure runtime system (e.g., the Java virtual machine or a safe Tcl interpreter) [7].
SMXプロトコルは、異なるオペレーティングシステムとランタイムシステムセキュリティプロファイルの下でスクリプトを実行することができます。メモは、オペレーティングシステムとランタイムシステムのセキュリティプロファイルにsmLaunchOwner値をマッピングすることを示唆しています。オペレーティングシステムのセキュリティプロファイルは、適切なプロセス環境を設定することにより、オペレーティングシステムによって強制されます。ランタイムセキュリティプロファイルは、セキュアな実行システムによって実施される(例えば、Java仮想マシン、または安全なTclインタプリタ)[7]。
The following non-editorial changes have been made:
以下の非編集上の変更が行われています。
1. Added the `536' and `537' replies which may be generated asynchronously by runtime engines to report error conditions.
1.エラー状況を報告するために、ランタイムエンジンによって非同期に発生することができる `536' と` 537' の返信を追加しました。
2. Added the `538' reply which can be used to signal the (normal or abnormal) termination of a running script. This new reply replaces the `534' and `535' replies, which are now deprecated.
2.追加された '538' を実行スクリプトの(正常または異常)終了を知らせるために使用することができる返信。この新しい返信が廃止され、 `534' と` 535' の返信を、置き換えられます。
3. Relaxed the rules for ProfileChars to also include the characters ':' and '_', which are frequently used in namespaces and identifiers.
「:」3.また、文字を含めるProfileCharsのルールをリラックスし、「_」、頻繁に名前空間と識別子に使用されています。
5. Added a second (and preferred) transport over a bi-directional pipe due to security risks when a shared secret is passed through an operating system's environment variable.
共有秘密は、オペレーティングシステムの環境変数を通過するとき5.セキュリティ上のリスクに双方向パイプの上に第二(そして好ましい)トランスポートを追加しました。
The protocol described in this memo is the result of a joint project between the Technical University of Braunschweig and C&C Research Laboratories of NEC Europe Ltd. in Heidelberg. The authors like to thank Matthias Bolz, Cornelia Kappler, Andreas Kind, Sven Mertens, Jan Nicklisch, and Frank Strauss for their contributions to the design and the implementation of the protocol described in this memo. The authors also like to thank David Wallis for pointing out a security risk in SMX 1.0 with passing a cookie via an operating system environment variable.
このメモに記載されているプロトコルは、ブラウンシュヴァイク工科大学とハイデルベルクのNECヨーロッパ社のC&C研究所との共同プロジェクトの結果です。著者は、デザインとこのメモに記載されているプロトコルの実装への貢献のためにマティアスBolz著、コーネリアKappler、アンドレアス・カインド、スヴェン・メルテンス、ヤンNicklisch、そしてフランク・シュトラウスを感謝したいです。著者らはまた、オペレーティング・システム環境変数を経由してクッキーを渡すとSMX 1.0におけるセキュリティ上のリスクを指摘するためにデビッド・ウォリスに感謝したいです。
[1] Levi, D. and J. Schoenwaelder, "Definitions of Managed Objects for the Delegation of Management Scripts", RFC 3165, September 2001.
[1]レビとD.とJ. Schoenwaelder、 "管理スクリプトの委任のための管理オブジェクトの定義"、RFC 3165、2001年9月。
[2] Lindholm, T., and F. Yellin, "The Java Virtual Machine Specification", Addison Wesley, 1997.
[2]リンドホルム、T.、およびF.イェリン、 "Java仮想マシン仕様"、アディソンウェズリー、1997。
[3] J.K. Ousterhout, "Tcl and the Tk Toolkit", Addison Wesley, 1994.
[3] J.K. Ousterhout、 "TclとTkのツールキット"、アディソンウェズリー、1994。
[4] Fritzinger, J.S., and M. Mueller, "Java Security", White Paper, Sun Microsystems, Inc., 1996.
[4] Fritzinger、J.S.、およびM.ミューラー、 "Javaセキュリティ"、ホワイトペーパー、サン・マイクロシステムズ社、1996。
[5] Levy, J.Y., Demailly, L., Ousterhout, J.K., and B. Welch, "The Safe-Tcl Security Model", Proc. USENIX Annual Technical Conference, June 1998.
[5]レヴィ、J.Y.、Demailly、L.、Ousterhout、J.K.、およびB.ウェルチ、 "セーフTclのセキュリティモデル"、PROC。 USENIXの年次技術会議、1998年6月。
[6] Crocker, D. and P. Overell, "Augmented BNF for Syntax Specifications: ABNF", RFC 2234, November 1997.
[6]クロッカー、D.、およびP. Overell、 "構文仕様のための増大しているBNF:ABNF"、RFC 2234、1997年11月。
[7] Schoenwaelder, J., and J. Quittek, "Secure Internet Management by Delegation", Computer Networks 35(1), January 2001.
[7] Schoenwaelder、J.、およびJ. Quittek、 "委任により、セキュアなインターネットの管理"、コンピュータネットワーク35(1)、2001年1月。
Juergen Schoenwaelder TU Braunschweig Bueltenweg 74/75 38106 Braunschweig Germany
ユルゲンSchoenwaelder TUブラウンシュバイクBültenweg75分の74 38106ブラウンシュヴァイク、ドイツ
Phone: +49 531 391-3283 EMail: schoenw@ibr.cs.tu-bs.de
電話:+49 531 391-3283 Eメール:schoenw@ibr.cs.tu-bs.de
Juergen Quittek NEC Europe Ltd. C&C Research Laboratories Adenauerplatz 6 69115 Heidelberg Germany
ユルゲンQuittek NECヨーロッパ社C&C研究所アデナウアープラッツ6 69115ハイデルベルクドイツ
Phone: +49 6221 90511-15 EMail: quittek@ccrle.nec.de
電話:+49 6221 90511から15電子メール:quittek@ccrle.nec.de
Copyright (C) The Internet Society (2001). All Rights Reserved.
著作権(C)インターネット協会(2001)。全著作権所有。
This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the Internet Society or other Internet organizations, except as needed for the purpose of developing Internet standards in which case the procedures for copyrights defined in the Internet Standards process must be followed, or as required to translate it into languages other than English.
この文書とその翻訳は、コピーして他の人に提供し、それ以外についてはコメントまたは派生物は、いかなる種類の制限もなく、全体的にまたは部分的に、準備コピーし、公表して配布することができることを説明したり、その実装を支援することができます、上記の著作権表示とこの段落は、すべてのそのようなコピーや派生物に含まれていることを条件とします。しかし、この文書自体は著作権のための手順はで定義されている場合には、インターネット標準を開発するために必要なものを除き、インターネットソサエティもしくは他のインターネット関連団体に著作権情報や参照を取り除くなど、どのような方法で変更されないかもしれませんインターネット標準化プロセスが続く、または英語以外の言語に翻訳するために、必要に応じなければなりません。
The limited permissions granted above are perpetual and will not be revoked by the Internet Society or its successors or assigns.
上記の制限は永久で、インターネット学会やその後継者や譲渡者によって取り消されることはありません。
This document and the information contained herein is provided on an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
この文書とここに含まれている情報は、基礎とインターネットソサエティおよびインターネットエンジニアリングタスクフォースはすべての保証を否認し、明示または黙示、その情報の利用がない任意の保証を含むがこれらに限定されない「として、」上に設けられています特定の目的への権利または商品性または適合性の黙示の保証を侵害します。
Acknowledgement
謝辞
Funding for the RFC Editor function is currently provided by the Internet Society.
RFC Editor機能のための基金は現在、インターネット協会によって提供されます。