CINXE.COM

Diff: draft-ietf-mimi-arch-00.txt - draft-ietf-mimi-arch-01.txt

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <!-- Generated by rfcdiff 1.45: rfcdiff --> <!-- <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional" > --> <!-- System: Linux at-author-tools-7f894857c4-vjnzq 6.1.0-25-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.106-3 (2024-08-26) x86_64 x86_64 x86_64 GNU/Linux --> <!-- Using awk: /usr/bin/gawk: GNU Awk 5.1.0, API: 3.0 (GNU MPFR 4.1.0, GNU MP 6.2.1) --> <!-- Using diff: /usr/bin/diff: diff (GNU diffutils) 3.8 --> <!-- Using wdiff: /usr/bin/wdiff: wdiff (GNU wdiff) 1.2.2 --> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <meta http-equiv="Content-Style-Type" content="text/css" /> <title>Diff: draft-ietf-mimi-arch-00.txt - draft-ietf-mimi-arch-01.txt</title> <style type="text/css"> body { margin: 0.4ex; margin-right: auto; } tr { } td { white-space: pre; font-family: monospace; vertical-align: top; font-size: 0.86em;} th { font-size: 0.86em; } .small { font-size: 0.6em; font-style: italic; font-family: Verdana, Helvetica, sans-serif; } .left { background-color: #EEE; } .right { background-color: #FFF; } .diff { background-color: #CCF; } .lblock { background-color: #BFB; } .rblock { background-color: #FF8; } .insert { background-color: #8FF; } .delete { background-color: #ACF; } .void { background-color: #FFB; } .cont { background-color: #EEE; } .linebr { background-color: #AAA; } .lineno { color: red; background-color: #FFF; font-size: 0.7em; text-align: right; padding: 0 2px; } .elipsis{ background-color: #AAA; } .left .cont { background-color: #DDD; } .right .cont { background-color: #EEE; } .lblock .cont { background-color: #9D9; } .rblock .cont { background-color: #DD6; } .insert .cont { background-color: #0DD; } .delete .cont { background-color: #8AD; } .stats, .stats td, .stats th { background-color: #EEE; padding: 2px 0; } span.hide { display: none; color: #aaa;} a:hover span { display: inline; } tr.change { background-color: gray; } tr.change a { text-decoration: none; color: black } </style> <script> var chunk_index = 0; var old_chunk = null; function format_chunk(index) { var prefix = "diff"; var str = index.toString(); for (x=0; x<(4-str.length); ++x) { prefix+='0'; } return prefix + str; } function find_chunk(n){ return document.querySelector('tr[id$="' + n + '"]'); } function change_chunk(offset) { var index = chunk_index + offset; var new_str; var new_chunk; new_str = format_chunk(index); new_chunk = find_chunk(new_str); if (!new_chunk) { return; } if (old_chunk) { old_chunk.style.outline = ""; } old_chunk = new_chunk; old_chunk.style.outline = "1px solid red"; window.location.hash = "#" + new_str; window.scrollBy(0,-100); chunk_index = index; } document.onkeydown = function(e) { switch (e.keyCode) { case 78: change_chunk(1); break; case 80: change_chunk(-1); break; } }; </script> </head> <body > <table border="0" cellpadding="0" cellspacing="0"> <tr id="part-1" bgcolor="orange"><th></th><th>&nbsp;draft-ietf-mimi-arch-00.txt&nbsp;</th><th> </th><th>&nbsp;draft-ietf-mimi-arch-01.txt&nbsp;</th><th></th></tr> <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left">More Instant Messaging Interoperability R. L. Barnes</td><td> </td><td class="right">More Instant Messaging Interoperability R. L. Barnes</td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left">Internet-Draft Cisco</td><td> </td><td class="right">Internet-Draft Cisco</td><td class="lineno"></td></tr> <tr id="diff0001"><td></td></tr> <tr><td class="lineno"></td><td class="lblock">Intended status: Informational <span class="delete">2 April</span> 2024</td><td> </td><td class="rblock">Intended status: Informational <span class="insert">21 November</span> 2024</td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="lblock">Expires: <span class="delete">4 October 2024</span></td><td> </td><td class="rblock">Expires: <span class="insert">25 May 2025</span></td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left"> An Architecture for More Instant Messaging Interoperability (MIMI)</td><td> </td><td class="right"> An Architecture for More Instant Messaging Interoperability (MIMI)</td><td class="lineno"></td></tr> <tr id="diff0002"><td></td></tr> <tr><td class="lineno"></td><td class="lblock"> draft-ietf-mimi-arch-0<span class="delete">0</span></td><td> </td><td class="rblock"> draft-ietf-mimi-arch-0<span class="insert">1</span></td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left">Abstract</td><td> </td><td class="right">Abstract</td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left"> The More Instant Messaging Interoperability (MIMI) working group is</td><td> </td><td class="right"> The More Instant Messaging Interoperability (MIMI) working group is</td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left"> defining a suite of protocols that allow messaging providers to</td><td> </td><td class="right"> defining a suite of protocols that allow messaging providers to</td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left"> interoperate with one another. This document lays out an overall</td><td> </td><td class="right"> interoperate with one another. This document lays out an overall</td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left"> architecture enumerating the MIMI protocols and how they work</td><td> </td><td class="right"> architecture enumerating the MIMI protocols and how they work</td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left"> together to enable an overall messaging experience.</td><td> </td><td class="right"> together to enable an overall messaging experience.</td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left">About This Document</td><td> </td><td class="right">About This Document</td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr> <tr id="part-2" class="change" ><td></td><th><small>skipping to change at</small><a href="#part-2"><em> page 1, line 49<span class="hide"> &para;</span></em></a></th><th> </th><th><small>skipping to change at</small><a href="#part-2"><em> page 1, line 49<span class="hide"> &para;</span></em></a></th><td></td></tr> <tr><td class="lineno"></td><td class="left"> Internet-Drafts are working documents of the Internet Engineering</td><td> </td><td class="right"> Internet-Drafts are working documents of the Internet Engineering</td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left"> Task Force (IETF). Note that other groups may also distribute</td><td> </td><td class="right"> Task Force (IETF). Note that other groups may also distribute</td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left"> working documents as Internet-Drafts. The list of current Internet-</td><td> </td><td class="right"> working documents as Internet-Drafts. The list of current Internet-</td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left"> Drafts is at https://datatracker.ietf.org/drafts/current/.</td><td> </td><td class="right"> Drafts is at https://datatracker.ietf.org/drafts/current/.</td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left"> Internet-Drafts are draft documents valid for a maximum of six months</td><td> </td><td class="right"> Internet-Drafts are draft documents valid for a maximum of six months</td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left"> and may be updated, replaced, or obsoleted by other documents at any</td><td> </td><td class="right"> and may be updated, replaced, or obsoleted by other documents at any</td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left"> time. It is inappropriate to use Internet-Drafts as reference</td><td> </td><td class="right"> time. It is inappropriate to use Internet-Drafts as reference</td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left"> material or to cite them other than as "work in progress."</td><td> </td><td class="right"> material or to cite them other than as "work in progress."</td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr> <tr id="diff0003"><td></td></tr> <tr><td class="lineno"></td><td class="lblock"> This Internet-Draft will expire on <span class="delete">4 October 2024</span>.</td><td> </td><td class="rblock"> This Internet-Draft will expire on <span class="insert">25 May 2025</span>.</td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left">Copyright Notice</td><td> </td><td class="right">Copyright Notice</td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left"> Copyright (c) 2024 IETF Trust and the persons identified as the</td><td> </td><td class="right"> Copyright (c) 2024 IETF Trust and the persons identified as the</td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left"> document authors. All rights reserved.</td><td> </td><td class="right"> document authors. All rights reserved.</td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left"> This document is subject to BCP 78 and the IETF Trust's Legal</td><td> </td><td class="right"> This document is subject to BCP 78 and the IETF Trust's Legal</td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left"> Provisions Relating to IETF Documents (https://trustee.ietf.org/</td><td> </td><td class="right"> Provisions Relating to IETF Documents (https://trustee.ietf.org/</td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left"> license-info) in effect on the date of publication of this document.</td><td> </td><td class="right"> license-info) in effect on the date of publication of this document.</td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left"> Please review these documents carefully, as they describe your rights</td><td> </td><td class="right"> Please review these documents carefully, as they describe your rights</td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr> <tr id="part-3" class="change" ><td></td><th><small>skipping to change at</small><a href="#part-3"><em> page 3, line 44<span class="hide"> &para;</span></em></a></th><th> </th><th><small>skipping to change at</small><a href="#part-3"><em> page 3, line 44<span class="hide"> &para;</span></em></a></th><td></td></tr> <tr><td class="lineno"></td><td class="left"> distinct _User ID_ to canonically identify them.</td><td> </td><td class="right"> distinct _User ID_ to canonically identify them.</td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left"> _Client_: A user interface for messaging, performing encryption as</td><td> </td><td class="right"> _Client_: A user interface for messaging, performing encryption as</td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left"> needed. Presents chats to the user to interact with. Synonymous</td><td> </td><td class="right"> needed. Presents chats to the user to interact with. Synonymous</td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left"> with _MLS Client_. Clients have a _Client ID_ to canonically</td><td> </td><td class="right"> with _MLS Client_. Clients have a _Client ID_ to canonically</td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left"> represent them among the user's other clients. Clients MAY also be</td><td> </td><td class="right"> represent them among the user's other clients. Clients MAY also be</td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left"> called _Devices_ to differentiate them from a named application.</td><td> </td><td class="right"> called _Devices_ to differentiate them from a named application.</td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left"> _Server_: A logical location operated by a messaging provider which</td><td> </td><td class="right"> _Server_: A logical location operated by a messaging provider which</td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left"> ensures message and information delivery. A server may be realized</td><td> </td><td class="right"> ensures message and information delivery. A server may be realized</td><td class="lineno"></td></tr> <tr id="diff0004"><td></td></tr> <tr><td class="lineno"></td><td class="lblock"> by multiple physical computers. <span class="delete">Servers own users which belong to</span></td><td> </td><td class="rblock"> by multiple physical computers. <span class="insert">Users have accounts on a specific</span></td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="lblock"><span class="delete"> them.</span> Servers are considered to be "participating" in a room if they</td><td> </td><td class="rblock"><span class="insert"> server.</span> Servers are considered to be "participating" in a room if</td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="lblock"> have at least one joined user participant.</td><td> </td><td class="rblock"> they have at least one joined user participant.</td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left"> _Hub_: The specific server in a room with operational responsibility</td><td> </td><td class="right"> _Hub_: The specific server in a room with operational responsibility</td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left"> for delivery between all servers in the room. This includes messages</td><td> </td><td class="right"> for delivery between all servers in the room. This includes messages</td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left"> and, where applicable, information about the room or underlying</td><td> </td><td class="right"> and, where applicable, information about the room or underlying</td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left"> cryptographic state.</td><td> </td><td class="right"> cryptographic state.</td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left"> _Follower_: All non-hub servers in a room. Followers are required to</td><td> </td><td class="right"> _Follower_: All non-hub servers in a room. Followers are required to</td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left"> interact with the hub server to send messages, and are responsible</td><td> </td><td class="right"> interact with the hub server to send messages, and are responsible</td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left"> for "last mile" delivery of a message to its local users.</td><td> </td><td class="right"> for "last mile" delivery of a message to its local users.</td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr> <tr id="part-4" class="change" ><td></td><th><small>skipping to change at</small><a href="#part-4"><em> page 7, line 36<span class="hide"> &para;</span></em></a></th><th> </th><th><small>skipping to change at</small><a href="#part-4"><em> page 7, line 36<span class="hide"> &para;</span></em></a></th><td></td></tr> <tr><td class="lineno"></td><td class="left"> | | | | | |</td><td> </td><td class="right"> | | | | | |</td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left"> | .------------. | | .-----------------. | | .---------. |</td><td> </td><td class="right"> | .------------. | | .-----------------. | | .---------. |</td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left"> | | User 2 Capas +-------+ User 2 (active) +---+---+ Client 2a | |</td><td> </td><td class="right"> | | User 2 Capas +-------+ User 2 (active) +---+---+ Client 2a | |</td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left"> | '------------' | | '-----------------' | | | '---------' |</td><td> </td><td class="right"> | '------------' | | '-----------------' | | | '---------' |</td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left"> | | | | | | |</td><td> </td><td class="right"> | | | | | | |</td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left"> | | | | | | .---------. |</td><td> </td><td class="right"> | | | | | | .---------. |</td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left"> | | | | +---+ Client 2b | |</td><td> </td><td class="right"> | | | | +---+ Client 2b | |</td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left"> | | | | | '---------' |</td><td> </td><td class="right"> | | | | | '---------' |</td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left"> | | | | | |</td><td> </td><td class="right"> | | | | | |</td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left"> | .------------. | | .-----------------. | | |</td><td> </td><td class="right"> | .------------. | | .-----------------. | | |</td><td class="lineno"></td></tr> <tr id="diff0005"><td></td></tr> <tr><td class="lineno"></td><td class="lblock"> | | User <span class="delete">2 Capas +-------+ User 2</span> (inactive) | | | |</td><td> </td><td class="rblock"> | | User <span class="insert">3 Capas +-------+ User 3</span> (inactive) | | | |</td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left"> | '------------' | | '-----------------' | | |</td><td> </td><td class="right"> | '------------' | | '-----------------' | | |</td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left"> | | | | | |</td><td> </td><td class="right"> | | | | | |</td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left"> +------------------+ +-----------------------+ +---------------+</td><td> </td><td class="right"> +------------------+ +-----------------------+ +---------------+</td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left"> Figure 2: Elements of the Room State</td><td> </td><td class="right"> Figure 2: Elements of the Room State</td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left">4.1. End-to-End Security State</td><td> </td><td class="right">4.1. End-to-End Security State</td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left"> Messages sent within a room are protected by an end-to-end security</td><td> </td><td class="right"> Messages sent within a room are protected by an end-to-end security</td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left"> protocol to ensure that the servers handling messages cannot inspect</td><td> </td><td class="right"> protocol to ensure that the servers handling messages cannot inspect</td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr> <tr id="part-5" class="change" ><td></td><th><small>skipping to change at</small><a href="#part-5"><em> page 9, line 40<span class="hide"> &para;</span></em></a></th><th> </th><th><small>skipping to change at</small><a href="#part-5"><em> page 9, line 40<span class="hide"> &para;</span></em></a></th><td></td></tr> <tr><td class="lineno"></td><td class="left"> - Grant or deny capabilities to other users?</td><td> </td><td class="right"> - Grant or deny capabilities to other users?</td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left"> * Capabilities per server: Is a given server participating in the</td><td> </td><td class="right"> * Capabilities per server: Is a given server participating in the</td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left"> room allowed to...</td><td> </td><td class="right"> room allowed to...</td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left"> - Add or remove users?</td><td> </td><td class="right"> - Add or remove users?</td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left"> - Grant or deny capabilities to users?</td><td> </td><td class="right"> - Grant or deny capabilities to users?</td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left"> The hub server for a room defines the _policy envelope_ for the room,</td><td> </td><td class="right"> The hub server for a room defines the _policy envelope_ for the room,</td><td class="lineno"></td></tr> <tr id="diff0006"><td></td></tr> <tr><td class="lineno"></td><td class="lblock"> the set of <span class="delete">of</span> acceptable policies for the room. The hub also sets</td><td> </td><td class="rblock"> the set of acceptable policies for the room. The hub also sets the</td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="lblock"> the initial policy for the room when it is created. Pursuant to that</td><td> </td><td class="rblock"> initial policy for the room when it is created. Pursuant to that</td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left"> initial policy, the clients and servers participating in the room may</td><td> </td><td class="right"> initial policy, the clients and servers participating in the room may</td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left"> then make further changes to the policy.</td><td> </td><td class="right"> then make further changes to the policy.</td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left"> At any given time, all of the clients and servers have the same view</td><td> </td><td class="right"> At any given time, all of the clients and servers have the same view</td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left"> of the room's policy. A client or server that receives an event that</td><td> </td><td class="right"> of the room's policy. A client or server that receives an event that</td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left"> is not compliant with the room's policy may thus safely discard it,</td><td> </td><td class="right"> is not compliant with the room's policy may thus safely discard it,</td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left"> since all of the other participating clients/servers should also</td><td> </td><td class="right"> since all of the other participating clients/servers should also</td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left"> reject the event.</td><td> </td><td class="right"> reject the event.</td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left">5. Protocol Interactions</td><td> </td><td class="right">5. Protocol Interactions</td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr> <tr id="part-6" class="change" ><td></td><th><small>skipping to change at</small><a href="#part-6"><em> page 13, line 14<span class="hide"> &para;</span></em></a></th><th> </th><th><small>skipping to change at</small><a href="#part-6"><em> page 13, line 14<span class="hide"> &para;</span></em></a></th><td></td></tr> <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left"> As discussed above, the *end-to-end security control protocol*</td><td> </td><td class="right"> As discussed above, the *end-to-end security control protocol*</td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left"> manages the end-to-end security state of the room. This protocol</td><td> </td><td class="right"> manages the end-to-end security state of the room. This protocol</td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left"> also allows servers to distribute cryptographic information that</td><td> </td><td class="right"> also allows servers to distribute cryptographic information that</td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left"> clients have pre-registered, which allows clients to be</td><td> </td><td class="right"> clients have pre-registered, which allows clients to be</td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left"> asynchronously added to rooms.</td><td> </td><td class="right"> asynchronously added to rooms.</td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left">5.4. Messages</td><td> </td><td class="right">5.4. Messages</td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left"> Mesage events are end-to-end secure objects that carry application</td><td> </td><td class="right"> Mesage events are end-to-end secure objects that carry application</td><td class="lineno"></td></tr> <tr id="diff0007"><td></td></tr> <tr><td class="lineno"></td><td class="lblock"> messages in the standard MIMI content format. The end-to-end</td><td> </td><td class="rblock"> messages<span class="insert">, often</span> in the standard MIMI content format. The end-to-end</td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left"> encapsuation ensures that the message content is only accessible to</td><td> </td><td class="right"> encapsuation ensures that the message content is only accessible to</td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left"> the clients participating in the room, not the servers that help to</td><td> </td><td class="right"> the clients participating in the room, not the servers that help to</td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left"> distribute it.</td><td> </td><td class="right"> distribute it.</td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left"> The MIMI message format [I-D.ietf-mimi-content] defines how clients</td><td> </td><td class="right"> The MIMI message format [I-D.ietf-mimi-content] defines how clients</td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left"> achieve the various features of a messaging application, for example:</td><td> </td><td class="right"> achieve the various features of a messaging application, for example:</td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left"> * Text messaging</td><td> </td><td class="right"> * Text messaging</td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left"> * File attachements</td><td> </td><td class="right"> * File attachements</td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr> <tr id="part-7" class="change" ><td></td><th><small>skipping to change at</small><a href="#part-7"><em> page 16, line 4<span class="hide"> &para;</span></em></a></th><th> </th><th><small>skipping to change at</small><a href="#part-7"><em> page 16, line 4<span class="hide"> &para;</span></em></a></th><td></td></tr> <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left"> [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC</td><td> </td><td class="right"> [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC</td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left"> 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,</td><td> </td><td class="right"> 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,</td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left"> May 2017, &lt;https://www.rfc-editor.org/rfc/rfc8174&gt;.</td><td> </td><td class="right"> May 2017, &lt;https://www.rfc-editor.org/rfc/rfc8174&gt;.</td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left">9.2. Informative References</td><td> </td><td class="right">9.2. Informative References</td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left"> [I-D.ietf-mimi-content]</td><td> </td><td class="right"> [I-D.ietf-mimi-content]</td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left"> Mahy, R., "More Instant Messaging Interoperability (MIMI)</td><td> </td><td class="right"> Mahy, R., "More Instant Messaging Interoperability (MIMI)</td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left"> message content", Work in Progress, Internet-Draft, draft-</td><td> </td><td class="right"> message content", Work in Progress, Internet-Draft, draft-</td><td class="lineno"></td></tr> <tr id="diff0008"><td></td></tr> <tr><td class="lineno"></td><td class="lblock"> ietf-mimi-content-0<span class="delete">2, 4 March</span> 2024,</td><td> </td><td class="rblock"> ietf-mimi-content-0<span class="insert">4, 10 June</span> 2024,</td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left"> &lt;https://datatracker.ietf.org/doc/html/draft-ietf-mimi-</td><td> </td><td class="right"> &lt;https://datatracker.ietf.org/doc/html/draft-ietf-mimi-</td><td class="lineno"></td></tr> <tr id="diff0009"><td></td></tr> <tr><td class="lineno"></td><td class="lblock"> content-0<span class="delete">2</span>&gt;.</td><td> </td><td class="rblock"> content-0<span class="insert">4</span>&gt;.</td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left"> [I-D.mahy-mimi-identity]</td><td> </td><td class="right"> [I-D.mahy-mimi-identity]</td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left"> Mahy, R., "More Instant Messaging Interoperability (MIMI)</td><td> </td><td class="right"> Mahy, R., "More Instant Messaging Interoperability (MIMI)</td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left"> Identity Concepts", Work in Progress, Internet-Draft,</td><td> </td><td class="right"> Identity Concepts", Work in Progress, Internet-Draft,</td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left"> draft-mahy-mimi-identity-02, 10 July 2023,</td><td> </td><td class="right"> draft-mahy-mimi-identity-02, 10 July 2023,</td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left"> &lt;https://datatracker.ietf.org/doc/html/draft-mahy-mimi-</td><td> </td><td class="right"> &lt;https://datatracker.ietf.org/doc/html/draft-mahy-mimi-</td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left"> identity-02&gt;.</td><td> </td><td class="right"> identity-02&gt;.</td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left">Acknowledgments</td><td> </td><td class="right">Acknowledgments</td><td class="lineno"></td></tr> <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr> <tr><td></td><td class="left"></td><td> </td><td class="right"></td><td></td></tr> <tr id="end" bgcolor="gray"><th colspan="5" align="center">&nbsp;End of changes. 9 change blocks.&nbsp;</th></tr> <tr class="stats"><td></td><th><i>13 lines changed or deleted</i></th><th><i> </i></th><th><i>13 lines changed or added</i></th><td></td></tr> <tr><td colspan="5" align="center" class="small"><br/>This html diff was produced by rfcdiff 1.45. The latest version is available from <a href="http://www.tools.ietf.org/tools/rfcdiff/" >http://tools.ietf.org/tools/rfcdiff/</a> </td></tr> </table> <script>(function(){function c(){var b=a.contentDocument||a.contentWindow.document;if(b){var d=b.createElement('script');d.innerHTML="window.__CF$cv$params={r:'8e75014e8f828962',t:'MTczMjQwNTIzNi4wMDAwMDA='};var a=document.createElement('script');a.nonce='';a.src='/cdn-cgi/challenge-platform/scripts/jsd/main.js';document.getElementsByTagName('head')[0].appendChild(a);";b.getElementsByTagName('head')[0].appendChild(d)}}if(document.body){var a=document.createElement('iframe');a.height=1;a.width=1;a.style.position='absolute';a.style.top=0;a.style.left=0;a.style.border='none';a.style.visibility='hidden';document.body.appendChild(a);if('loading'!==document.readyState)c();else if(window.addEventListener)document.addEventListener('DOMContentLoaded',c);else{var e=document.onreadystatechange||function(){};document.onreadystatechange=function(b){e(b);'loading'!==document.readyState&&(document.onreadystatechange=e,c())}}}})();</script></body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10