Index: squid/src/ftp.c diff -c squid/src/ftp.c:1.316.2.16 squid/src/ftp.c:1.316.2.17 *** squid/src/ftp.c:1.316.2.16 Fri Jan 21 04:52:01 2005 --- squid/src/ftp.c Sat Feb 5 17:53:29 2005 *************** *** 327,335 **** if ((s = strchr(ftpState->user, ':'))) { *s = 0; xstrncpy(ftpState->password, s + 1, MAX_URL); ! if (escaped) rfc1738_unescape(ftpState->password); ! ftpState->password_url = 1; } else { xstrncpy(ftpState->password, null_string, MAX_URL); } --- 327,336 ---- if ((s = strchr(ftpState->user, ':'))) { *s = 0; xstrncpy(ftpState->password, s + 1, MAX_URL); ! if (escaped) { rfc1738_unescape(ftpState->password); ! ftpState->password_url = 1; ! } } else { xstrncpy(ftpState->password, null_string, MAX_URL); } *************** *** 2443,2449 **** case SENT_USER: case SENT_PASS: if (ftpState->ctrl.replycode> 500) ! err = errorCon(ERR_FTP_FORBIDDEN, HTTP_FORBIDDEN); else if (ftpState->ctrl.replycode == 421) err = errorCon(ERR_FTP_UNAVAILABLE, HTTP_SERVICE_UNAVAILABLE); break; --- 2444,2453 ---- case SENT_USER: case SENT_PASS: if (ftpState->ctrl.replycode> 500) ! if (ftpState->password_url) ! err = errorCon(ERR_FTP_FORBIDDEN, HTTP_FORBIDDEN); ! else ! err = errorCon(ERR_FTP_FORBIDDEN, HTTP_UNAUTHORIZED); else if (ftpState->ctrl.replycode == 421) err = errorCon(ERR_FTP_UNAVAILABLE, HTTP_SERVICE_UNAVAILABLE); break;

AltStyle によって変換されたページ (->オリジナル) /