<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://git.reviewboard.kde.org/r/100873/">http://git.reviewboard.kde.org/r/100873/</a>
     </td>
    </tr>
   </table>
   <br />





<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
 <p style="margin-top: 0;">On April 12th, 2011, 9:22 a.m., <b>David Faure</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Thanks, looks good to me. I do think that if I have a stored login/password for an ftp site, then I don't want to get an anonymous login when I go back there again, typically one can access more stuff with authenticated login. This raises the question of how to test anonymous login on a site with cached auth though -- well, there's always the option of renaming stuff in kwalletmanager ;)</pre>
 </blockquote>







</blockquote>

<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Actually the "corrected patch" I posted does not correctly deal with the problem if there is username in the typed-in ftp url. As such, the check for cached authentication should be done before everything else to ensure that stored credentials are used regardless of the presence or absence of username in the ftp url.

Of course this patch does not solve the larger issue you raised above. I personally the best way to address almost all of the ills in kio_ftp's login procedures is to simplify its behavior along the following lines:

#1. When no username is present in the ftp url and the anonymous login fails, instead of prompting the user, simply fail and send an error message telling the user why the login failed and how it can be rectified.

#2. When a username is present in the ftp url, then attempt to login in with cached info if available. If not, prompt the user.

#3. When a username is present in the ftp url, but it is incorrect due to a typo or other issues, the follow the steps in #2. If the user then corrects the username, request a redirection in order to notify the client of the username change in the ftp url.

This would fix the issue you raised above by explicitly requiring the user to type a username if he/she wants to login into a given ftp site with own credentials. Otherwise, kio_ftp will always login anonymously and return error when such attempt fails. Simple and to the point. If the harshness of #1 is not acceptable, then the same approach as #3 can be used when anonymous login fails. Ask for the login credentials, login and send a redirection request to update the client's url.
</pre>
<br />








<p>- Dawit</p>


<br />
<p>On March 19th, 2011, 4:37 a.m., Dawit Alemayehu wrote:</p>






<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="8" style="background-image: url('http://git.reviewboard.kde.org/media/rb/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 Dawit Alemayehu.</div>


<p style="color: grey;"><i>Updated March 19, 2011, 4:37 a.m.</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;">The attached patch forces kio_ftp to first look up for cached password before showing the user a prompt to enter password information. This addresses the issue mentioned in 143488 and makes kio_ftp's behavior consistent with the other ioslaves.</pre>
  </td>
 </tr>
</table>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Testing </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;">Login to an ftp site, save the password and visit the same site again. No prompt.

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



<div style="margin-top: 1.5em;">
 <b style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Bugs: </b>


 <a href="http://bugs.kde.org/show_bug.cgi?id=124675">124675</a>, 

 <a href="http://bugs.kde.org/show_bug.cgi?id=143488">143488</a>


</div>


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

 <li>kioslave/ftp/ftp.cpp <span style="color: grey">(95c4450)</span></li>

</ul>

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




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








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