<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 01:32:37 UTC 2024

It is possible to restrict the fields that are returned in this document by specifying the 'field' parameter in your request.
For example, to request only the issue key and summary append 'field=key&field=summary' to the URL of your request.
-->
<rss version="0.92" >
<channel>
    <title>Whamcloud Community JIRA</title>
    <link>https://jira.whamcloud.com</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-us</language>    <build-info>
        <version>9.4.14</version>
        <build-number>940014</build-number>
        <build-date>05-12-2023</build-date>
    </build-info>


<item>
            <title>[LU-3290] disallow ptlrpc RPCs with old client XIDs</title>
                <link>https://jira.whamcloud.com/browse/LU-3290</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;In order to avoid malicious clients to replay RPCs that were previously sent and correctly signed, the server should reject RPCs that have XIDs that are &quot;too old&quot;.&lt;/p&gt;

&lt;p&gt;As for what constitutes &quot;too old&quot;, the ideal implementation would reject any RPC XID that had been completed, but this will likely impose an undue burden of complexity on the server to track every XID from the client, and determine that the client had received the RPC reply.  Since the client XID stream for any particular server is sparse, it would be difficult to know exactly when the server can assume that a particular XID will no longer be sent.&lt;/p&gt;

&lt;p&gt;There is the added complexity that in the face of a server crash, the client will need to replay and resend a number of RPC XIDs in order to fix up any server state that was not committed to disk.  Also important to note is that the current client code will replay open RPCs during recovery, and these may have an arbitrarily old XID value.&lt;/p&gt;

&lt;p&gt;Instead, I would propose a somewhat relaxed XID tracking mechanism that expires RPC XIDs older than &quot;X&quot; after some interval.  RPCs that are not marked &lt;tt&gt;MSG_REPLAY&lt;/tt&gt; or &lt;tt&gt;MSG_RESEND&lt;/tt&gt; with XID &amp;lt; X should be rejected.&lt;/p&gt;

&lt;p&gt;For open requests, we&apos;ve previously discussed for the &quot;Simplified Interoperability&quot; project to avoid using the ptlrpc replay mechanism for re-opening files, since this forces the client to replay open RPCs against a server that might be using a new protocol.  It doesn&apos;t make sense to keep these RPCs for replay after their corresponding &quot;create&quot; transaction has been committed.  Until that is implemented, the open replay RPCs with old XIDs would need to be allowed, or the client could update the XIDs in the replayed RPCs to be &quot;new enough&quot; so that they are accepted.&lt;/p&gt;</description>
                <environment></environment>
        <key id="18739">LU-3290</key>
            <summary>disallow ptlrpc RPCs with old client XIDs</summary>
                <type id="1" iconUrl="https://jira.whamcloud.com/secure/viewavatar?size=xsmall&amp;avatarId=11303&amp;avatarType=issuetype">Bug</type>
                                            <priority id="4" iconUrl="https://jira.whamcloud.com/images/icons/priorities/minor.svg">Minor</priority>
                        <status id="1" iconUrl="https://jira.whamcloud.com/images/icons/statuses/open.png" description="The issue is open and ready for the assignee to start work on it.">Open</status>
                    <statusCategory id="2" key="new" colorName="default"/>
                                    <resolution id="-1">Unresolved</resolution>
                                        <assignee username="wc-triage">WC Triage</assignee>
                                    <reporter username="adilger">Andreas Dilger</reporter>
                        <labels>
                            <label>SSK</label>
                    </labels>
                <created>Tue, 7 May 2013 19:54:19 +0000</created>
                <updated>Thu, 18 Nov 2021 22:33:30 +0000</updated>
                                                                                <due></due>
                            <votes>0</votes>
                                    <watches>3</watches>
                                                                            <comments>
                            <comment id="154300" author="adilger" created="Wed, 1 Jun 2016 18:18:24 +0000"  >&lt;p&gt;The Simplified Interoperability project is discussed at &lt;a href=&quot;http://wiki.lustre.org/Simplified_Interoperability&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://wiki.lustre.org/Simplified_Interoperability&lt;/a&gt;&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Related</name>
                                            <outwardlinks description="is related to ">
                                        <issuelink>
            <issuekey id="26823">LU-5703</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="18738">LU-3289</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="67241">LU-15250</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                                                                                                                                            <customfield id="customfield_10890" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_10390" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hzvqd3:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10090" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>8148</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_10060" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>Severity</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10022"><![CDATA[3]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                        </customfields>
    </item>
</channel>
</rss>