<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=big5">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:Wingdings;
        panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
        {font-family:SimSun;
        panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:"\@SimSun";
        panose-1:2 1 6 0 3 1 1 1 1 1;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        font-size:12.0pt;
        font-family:SimSun;
        mso-fareast-language:ZH-CN;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
span.contentpasted3
        {mso-style-name:contentpasted3;}
span.contentpasted0
        {mso-style-name:contentpasted0;}
span.contentpasted1
        {mso-style-name:contentpasted1;}
span.contentpasted2
        {mso-style-name:contentpasted2;}
span.EmailStyle24
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="blue" vlink="purple" style="word-wrap:break-word">
<div class="WordSection1">
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;mso-fareast-language:EN-US">Please reply only in plain text format.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;mso-fareast-language:EN-US">All the values are added in the array but are jumbled up.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;mso-fareast-language:EN-US">But still it will point to correct position in the array as we are using enum value.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;mso-fareast-language:EN-US">Eg. RTE_CRYPTO_CIPHER_NULL = 1,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;mso-fareast-language:EN-US">And in the array it is there as highlighted below.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;mso-fareast-language:EN-US">Hence there is no hole present in the array.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;mso-fareast-language:EN-US">static const char *<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;mso-fareast-language:EN-US">crypto_cipher_algorithm_strings[] = {<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;mso-fareast-language:EN-US">        [RTE_CRYPTO_CIPHER_3DES_CBC]    = "3des-cbc",<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;mso-fareast-language:EN-US">        [RTE_CRYPTO_CIPHER_3DES_ECB]    = "3des-ecb",<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;mso-fareast-language:EN-US">        [RTE_CRYPTO_CIPHER_3DES_CTR]    = "3des-ctr",<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;mso-fareast-language:EN-US">        [RTE_CRYPTO_CIPHER_AES_CBC]     = "aes-cbc",<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;mso-fareast-language:EN-US">        [RTE_CRYPTO_CIPHER_AES_CTR]     = "aes-ctr",<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;mso-fareast-language:EN-US">        [RTE_CRYPTO_CIPHER_AES_DOCSISBPI]       = "aes-docsisbpi",<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;mso-fareast-language:EN-US">        [RTE_CRYPTO_CIPHER_AES_ECB]     = "aes-ecb",<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;mso-fareast-language:EN-US">        [RTE_CRYPTO_CIPHER_AES_F8]      = "aes-f8",<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;mso-fareast-language:EN-US">        [RTE_CRYPTO_CIPHER_AES_XTS]     = "aes-xts",<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;mso-fareast-language:EN-US">        [RTE_CRYPTO_CIPHER_ARC4]        = "arc4",<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;mso-fareast-language:EN-US">        [RTE_CRYPTO_CIPHER_DES_CBC]     = "des-cbc",<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;mso-fareast-language:EN-US">        [RTE_CRYPTO_CIPHER_DES_DOCSISBPI]       = "des-docsisbpi",<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;mso-fareast-language:EN-US">        [RTE_CRYPTO_CIPHER_NULL]        = "null",             ---------------------------------------</span><span style="font-size:11.0pt;font-family:Wingdings;mso-fareast-language:EN-US">à</span><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;mso-fareast-language:EN-US"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;mso-fareast-language:EN-US">        [RTE_CRYPTO_CIPHER_KASUMI_F8]   = "kasumi-f8",<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;mso-fareast-language:EN-US">        [RTE_CRYPTO_CIPHER_SNOW3G_UEA2] = "snow3g-uea2",<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;mso-fareast-language:EN-US">        [RTE_CRYPTO_CIPHER_ZUC_EEA3]    = "zuc-eea3",<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;mso-fareast-language:EN-US">        [RTE_CRYPTO_CIPHER_SM4_ECB]     = "sm4-ecb",<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;mso-fareast-language:EN-US">        [RTE_CRYPTO_CIPHER_SM4_CBC]     = "sm4-cbc",<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;mso-fareast-language:EN-US">        [RTE_CRYPTO_CIPHER_SM4_CTR]     = "sm4-ctr",<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;mso-fareast-language:EN-US">        [RTE_CRYPTO_CIPHER_SM4_CFB]     = "sm4-cfb",<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;mso-fareast-language:EN-US">        [RTE_CRYPTO_CIPHER_SM4_OFB]     = "sm4-ofb"<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;mso-fareast-language:EN-US">};<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<div style="border:none;border-left:solid blue 1.5pt;padding:0in 0in 0in 4.0pt">
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">From:</span></b><span style="font-size:11.0pt;font-family:"Calibri",sans-serif"> liu xixin <liuxixin2020@outlook.com>
<br>
<b>Sent:</b> Friday, June 9, 2023 1:45 PM<br>
<b>To:</b> Akhil Goyal <gakhil@marvell.com>; dev@dpdk.org<br>
<b>Subject:</b> </span><span lang="ZH-CN" style="font-size:11.0pt">¦^Î`</span><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">: [EXT] [PATCH v2] cryptodev: avoid algorithm strings null pointers<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<p class="MsoNormal"><span style="font-family:"Calibri",sans-serif;color:black">> -----Original Message-----<o:p></o:p></span></p>
</div>
<div>
<div>
<p class="MsoNormal"><span style="font-size:11.0pt">> From: liu xixin <<a href="mailto:liuxixin2020@outlook.com">liuxixin2020@outlook.com</a>><br>
> Sent: Friday, June 9, 2023 12:31 PM<br>
> To: Akhil Goyal <<a href="mailto:gakhil@marvell.com">gakhil@marvell.com</a>>; <a href="mailto:dev@dpdk.org">
dev@dpdk.org</a><br>
> Subject: <span lang="ZH-CN">µªÎ`</span>: [EXT] [PATCH v2] cryptodev: avoid algorithm strings null pointers<br>
> <br>
> > Subject: [EXT] [PATCH v2] cryptodev: avoid algorithm strings null<br>
> > pointers<br>
> ><br>
> > The crypto algorithm strings identifiers that are Continuous may be<br>
> > null, so there is needed to add null judgment.<br>
> > When testing with dpdk-test-crypto-perf and passing in the parameter<br>
> > --auth-algo sm3-hmac, The program caused a segfault due to a null<br>
> > pointer passed in by strcmp.<br>
> > Adding this patch can solve the segfault problem.<br>
> <br>
> I believe this is a fix and you should add fixes tag for this and need to be<br>
> backported.<br>
> <br>
> ><br>
> > Signed-off-by: xixin.liu <<a href="mailto:liuxixin2020@outlook.com">liuxixin2020@outlook.com</a>><br>
> <br>
> Signoff format is not correct.<br>
> Please follow <a href="https://urldefense.proofpoint.com/v2/url?u=https-">https://urldefense.proofpoint.com/v2/url?u=https-</a><br>
> 3A__doc.dpdk.org_guides_contributing_patches.html&d=DwIGoQ&c=nKjWec2b<br>
> 6R0mOyPaz7xtfQ&r=DnL7Si2wl_PRwpZ9TWey3eu68gBzn7DkPwuqhd6WNyo&m<br>
> =6mzvm07Go5-<br>
> S_2jVk9KRF1mOl0Juay2Sa2WI2XiNgTbg6ZhMcm75GNceSVhe0Doj&s=tvqhxvElc<br>
> m_8h3e7YIBym6IAHk6BxUAFx2RKmjJ6Ibw&e=<br>
> <br>
> <br>
> > ---<br>
> >  lib/cryptodev/rte_cryptodev.c | 8 ++++++++<br>
> >  1 file changed, 8 insertions(+)<br>
> ><br>
> > diff --git a/lib/cryptodev/rte_cryptodev.c<br>
> > b/lib/cryptodev/rte_cryptodev.c index a96114b2da..41c23fc596 100644<br>
> > --- a/lib/cryptodev/rte_cryptodev.c<br>
> > +++ b/lib/cryptodev/rte_cryptodev.c<br>
> > @@ -346,6 +346,8 @@ rte_cryptodev_get_cipher_algo_enum(enum<br>
> > rte_crypto_cipher_algorithm *algo_enum,<br>
> >      int ret = -1;   /* Invalid string */<br>
> ><br>
> >      for (i = 1; i < RTE_DIM(crypto_cipher_algorithm_strings); i++) {<br>
> > +           if (crypto_cipher_algorithm_strings[i] == NULL)<br>
> > +                   continue;<br>
> <br>
> crypto_cipher_algorithm_strings is a fixed size array with all non-NULL known<br>
> values and the for loop is iterating over it. So, this check does not make sense to<br>
> me.<br>
> ----> Not every element of the array is defined, eg. it is NULL that the first<br>
> element [1],  if not check "strcmp(algo_string,<br>
> crypto_cipher_algorithm_strings[i]" will fail<br>
<br>
The loop starts from 1 so 0th element = NULL will not matter.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:11.0pt"><br>
And for all other values it is not null. If something is missing,<br>
then it can be added.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:11.0pt">But this check is not needed.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:11.0pt">---> </span><span class="contentpasted3"><span style="font-size:9.0pt;font-family:"Calibri",sans-serif;color:black">[0] is no need to check
</span></span><span class="contentpasted3"><span lang="ZH-CN" style="font-size:9.0pt;color:black">¡C</span></span><span style="font-size:11.0pt">However, the values of all subsequent elements are checked to be null<o:p></o:p></span></p>
</div>
<div>
<div>
<p class="MsoNormal" style="line-height:14.25pt;background:#1F1F1F"><span class="contentpasted0"><span style="font-size:10.5pt;font-family:"Courier New";color:#569CD6">static</span></span><span class="contentpasted0"><span style="font-size:10.5pt;font-family:"Courier New";color:#CCCCCC"> </span></span><span class="contentpasted0"><span style="font-size:10.5pt;font-family:"Courier New";color:#569CD6">const</span></span><span class="contentpasted0"><span style="font-size:10.5pt;font-family:"Courier New";color:#CCCCCC"> </span></span><span class="contentpasted0"><span style="font-size:10.5pt;font-family:"Courier New";color:#569CD6">char</span></span><span class="contentpasted0"><span style="font-size:10.5pt;font-family:"Courier New";color:#CCCCCC"> </span></span><span class="contentpasted0"><span style="font-size:10.5pt;font-family:"Courier New";color:#D4D4D4">*</span></span><span style="font-size:10.5pt;font-family:"Courier New";color:#CCCCCC">
<o:p></o:p></span></p>
<div>
<p class="MsoNormal" style="line-height:14.25pt;background:#1F1F1F"><span class="contentpasted0"><span style="font-size:10.5pt;font-family:"Courier New";color:#9CDCFE">crypto_cipher_algorithm_strings</span></span><span class="contentpasted0"><span style="font-size:10.5pt;font-family:"Courier New";color:#569CD6">[]</span></span><span class="contentpasted0"><span style="font-size:10.5pt;font-family:"Courier New";color:#CCCCCC"> </span></span><span class="contentpasted0"><span style="font-size:10.5pt;font-family:"Courier New";color:#D4D4D4">=</span></span><span class="contentpasted0"><span style="font-size:10.5pt;font-family:"Courier New";color:#CCCCCC"> {</span></span><span style="font-size:10.5pt;font-family:"Courier New";color:#CCCCCC"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="line-height:14.25pt;background:#1F1F1F"><span class="contentpasted0"><span style="font-size:10.5pt;font-family:"Courier New";color:#CCCCCC">    [</span></span><span class="contentpasted0"><span style="font-size:10.5pt;font-family:"Courier New";color:#4FC1FF">RTE_CRYPTO_CIPHER_3DES_CBC</span></span><span class="contentpasted0"><span style="font-size:10.5pt;font-family:"Courier New";color:#CCCCCC">]
    </span></span><span class="contentpasted0"><span style="font-size:10.5pt;font-family:"Courier New";color:#D4D4D4">=</span></span><span class="contentpasted0"><span style="font-size:10.5pt;font-family:"Courier New";color:#CCCCCC"> </span></span><span class="contentpasted0"><span style="font-size:10.5pt;font-family:"Courier New";color:#CE9178">"3des-cbc"</span></span><span class="contentpasted0"><span style="font-size:10.5pt;font-family:"Courier New";color:#CCCCCC">, 
 //this </span></span><span class="contentpasted1"><span style="font-size:10.5pt;font-family:"Courier New";color:#4FC1FF;background:#1F1F1F">RTE_CRYPTO_CIPHER_3DES_CBC == 2</span></span><span class="contentpasted1"><span lang="ZH-CN" style="font-size:10.5pt;color:#4FC1FF;background:#1F1F1F">¡A</span></span><span class="contentpasted1"><span style="font-size:10.5pt;font-family:"Courier New";color:#4FC1FF;background:#1F1F1F">so
</span></span><span class="contentpasted1"><span lang="ZH-CN" style="font-size:10.5pt;color:#4FC1FF;background:#1F1F1F">¡i</span></span><span class="contentpasted1"><span style="font-size:10.5pt;font-family:"Courier New";color:#4FC1FF;background:#1F1F1F">1</span></span><span class="contentpasted1"><span lang="ZH-CN" style="font-size:10.5pt;color:#4FC1FF;background:#1F1F1F">¡j</span></span><span class="contentpasted1"><span style="font-size:10.5pt;font-family:"Courier New";color:#4FC1FF;background:#1F1F1F">already
 is NULL</span></span><span style="font-size:10.5pt;font-family:"Courier New";color:#CCCCCC"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="line-height:14.25pt;background:#1F1F1F"><span class="contentpasted0"><span style="font-size:10.5pt;font-family:"Courier New";color:#CCCCCC">    [</span></span><span class="contentpasted0"><span style="font-size:10.5pt;font-family:"Courier New";color:#4FC1FF">RTE_CRYPTO_CIPHER_3DES_ECB</span></span><span class="contentpasted0"><span style="font-size:10.5pt;font-family:"Courier New";color:#CCCCCC">]
    </span></span><span class="contentpasted0"><span style="font-size:10.5pt;font-family:"Courier New";color:#D4D4D4">=</span></span><span class="contentpasted0"><span style="font-size:10.5pt;font-family:"Courier New";color:#CCCCCC"> </span></span><span class="contentpasted0"><span style="font-size:10.5pt;font-family:"Courier New";color:#CE9178">"3des-ecb"</span></span><span class="contentpasted0"><span style="font-size:10.5pt;font-family:"Courier New";color:#CCCCCC">,
 // same as </span></span><span class="contentpasted2"><span style="font-size:10.5pt;font-family:"Courier New";color:#4FC1FF;background:#1F1F1F">RTE_CRYPTO_CIPHER_3DES_ECB == 4
</span></span><span class="contentpasted2"><span lang="ZH-CN" style="font-size:10.5pt;color:#4FC1FF;background:#1F1F1F">¡A</span></span><span class="contentpasted2"><span style="font-size:10.5pt;font-family:"Courier New";color:#4FC1FF;background:#1F1F1F">and
 now </span></span><span class="contentpasted2"><span lang="ZH-CN" style="font-size:10.5pt;color:#4FC1FF;background:#1F1F1F">¡i</span></span><span class="contentpasted2"><span style="font-size:10.5pt;font-family:"Courier New";color:#4FC1FF;background:#1F1F1F">1</span></span><span class="contentpasted2"><span lang="ZH-CN" style="font-size:10.5pt;color:#4FC1FF;background:#1F1F1F">¡j¡i</span></span><span class="contentpasted2"><span style="font-size:10.5pt;font-family:"Courier New";color:#4FC1FF;background:#1F1F1F">3</span></span><span class="contentpasted2"><span lang="ZH-CN" style="font-size:10.5pt;color:#4FC1FF;background:#1F1F1F">¡j</span></span><span class="contentpasted2"><span style="font-size:10.5pt;font-family:"Courier New";color:#4FC1FF;background:#1F1F1F">are
 all NULL</span></span><span style="font-size:10.5pt;font-family:"Courier New";color:#CCCCCC"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="line-height:14.25pt;background:#1F1F1F"><span class="contentpasted0"><span style="font-size:10.5pt;font-family:"Courier New";color:#CCCCCC">    [</span></span><span class="contentpasted0"><span style="font-size:10.5pt;font-family:"Courier New";color:#4FC1FF">RTE_CRYPTO_CIPHER_3DES_CTR</span></span><span class="contentpasted0"><span style="font-size:10.5pt;font-family:"Courier New";color:#CCCCCC">]
    </span></span><span class="contentpasted0"><span style="font-size:10.5pt;font-family:"Courier New";color:#D4D4D4">=</span></span><span class="contentpasted0"><span style="font-size:10.5pt;font-family:"Courier New";color:#CCCCCC"> </span></span><span class="contentpasted0"><span style="font-size:10.5pt;font-family:"Courier New";color:#CE9178">"3des-ctr"</span></span><span class="contentpasted0"><span style="font-size:10.5pt;font-family:"Courier New";color:#CCCCCC">, 
 // and so on</span></span><span style="font-size:10.5pt;font-family:"Courier New";color:#CCCCCC"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="line-height:14.25pt;background:#1F1F1F"><span style="font-size:10.5pt;font-family:"Courier New";color:#CCCCCC">...<o:p></o:p></span></p>
</div>
<p class="MsoNormal" style="line-height:14.25pt;background:#1F1F1F"><span class="contentpasted0"><span style="font-size:10.5pt;font-family:"Courier New";color:#CCCCCC">};</span></span><span style="font-size:10.5pt;font-family:"Courier New";color:#CCCCCC"><o:p></o:p></span></p>
</div>
</div>
</div>
</div>
</div>
</body>
</html>