<html>
 <body>
  <div style="font-family: Verdana, Arial, Helvetica, Sans-Serif;">
   <table bgcolor="#f9f3c9" width="100%" cellpadding="8" style="border: 1px #c9c399 solid;">
    <tr>
     <td>
      This is an automatically generated e-mail. To reply, visit:
      <a href="http://svn.reviewboard.kde.org/r/4927/">http://svn.reviewboard.kde.org/r/4927/</a>
     </td>
    </tr>
   </table>
   <br />





 <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Regarding the Secret Storage spec and a possible migration to ksecretservice later-on the storage format should be alright. However, I'd suggest changing it a little bit for further benefit:

I'd mangle the domain name and the cookie name into the entry key, eg. "reviewboard.kde.org|rbsessionid", and store each single cookie as an entry. Like this you could avoid saving cookie.name() as map entry keys over and over again. Further development could then easily include loading and storing cookies "on-the-fly", ie. you could load single cookies without having to load the whole domain. For the current use-case there shouldn't be a lot of overhead if you do it like this either.

As I don't know too much about cookies I don't know if it's "the right way" though, it just looks cleaner. Maybe someone with more experience could take a look and comment if that would make sense.</pre>
 <br />





<div>




<table width="100%" border="0" bgcolor="white" style="border: 1px solid #C0C0C0; border-collapse: collapse; margin: 2px padding: 2px;">
 <thead>
  <tr>
   <th colspan="4" bgcolor="#F0F0F0" style="border-bottom: 1px solid #C0C0C0; font-size: 9pt; padding: 4px 8px; text-align: left;">
    <a href="/r/4927/diff/3/?file=35844#file35844line1339" style="color: black; font-weight: bold; text-decoration: underline;">/trunk/KDE/kdelibs/kioslave/http/kcookiejar/kcookiejar.cpp</a>
    <span style="font-weight: normal;">

     (Diff revision 3)

    </span>
   </th>
  </tr>
 </thead>

 <tbody style="background-color: #e4d9cb; padding: 4px 8px; text-align: center;">
  <tr>

   <td colspan="2"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>
   <td colspan="2"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">bool KCookieJar::saveCookies(KWallet::Wallet* wallet)</pre></td>

  </tr>
 </tbody>




 
 



 <tbody>

  <tr>
    <th bgcolor="#b1ebb0" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2"></font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>
    <th bgcolor="#b1ebb0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">1339</font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">                <span class="n">mapEntry</span><span class="p">[</span><span class="n">cookie</span><span class="p">.</span><span class="n">name</span><span class="p">()</span><span class="o">+</span><span class="s">"_isSegure"</span><span class="p">]</span> <span class="o">=</span> <span class="n">QString</span><span class="o">::</span><span class="n">number</span><span class="p">(</span><span class="n">cookie</span><span class="p">.</span><span class="n">isSecure</span><span class="p">());</span></pre></td>
  </tr>

 </tbody>

</table>

<pre style="margin-left: 2em; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">This should be "_isSecure"</pre>
</div>
<br />



<p>- Michael</p>


<br />
<p>On September 14th, 2010, 6:45 p.m., José Millán Soto wrote:</p>






<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="8" style="background-image: url('http://svn.reviewboard.kde.orgrb/images/review_request_box_top_bg.png'); background-position: left top; background-repeat: repeat-x; border: 1px black solid;">
 <tr>
  <td>

<div>Review request for kdelibs.</div>
<div>By José Millán Soto.</div>


<p style="color: grey;"><i>Updated 2010-09-14 18:45:54</i></p>




<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Description </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
 <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Currently cookies are stored in a plain text file. This patch allows KCookieJar to store the cookies securely using KWallet.

The main problem I had writing this patch was that when a web page is requested, KIO ask for the cookies to kded using dbus. In the first implementations that I wrote, if the user took too long to open the wallet, KIO received a dbus timeout.

To prevent this, if it takes more than 10 seconds to open the wallet, the web page will be requested without sending the cookies (or sending the available cookies if there's still the plain text cookie file). If the wallet is opened after that, the cookies stored in the wallet will be available since then.

Because of this, the feature is disabled by default.</pre>
  </td>
 </tr>
</table>





<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Diffs</b> </h1>
<ul style="margin-left: 3em; padding-left: 0;">

 <li>/trunk/KDE/kdebase/apps/konqueror/settings/kio/kcookiespolicies.cpp <span style="color: grey">(1175181)</span></li>

 <li>/trunk/KDE/kdebase/apps/konqueror/settings/kio/kcookiespoliciesdlg.ui <span style="color: grey">(1175181)</span></li>

 <li>/trunk/KDE/kdelibs/kioslave/http/kcookiejar/kcookiejar.h <span style="color: grey">(1175181)</span></li>

 <li>/trunk/KDE/kdelibs/kioslave/http/kcookiejar/kcookiejar.cpp <span style="color: grey">(1175181)</span></li>

 <li>/trunk/KDE/kdelibs/kioslave/http/kcookiejar/kcookieserver.h <span style="color: grey">(1175181)</span></li>

 <li>/trunk/KDE/kdelibs/kioslave/http/kcookiejar/kcookieserver.cpp <span style="color: grey">(1175181)</span></li>

</ul>

<p><a href="http://svn.reviewboard.kde.org/r/4927/diff/" style="margin-left: 3em;">View Diff</a></p>




  </td>
 </tr>
</table>








  </div>
 </body>
</html>