Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
CryptoAlgo Inc daad8a087a Add source files 4 years ago
..
about.htm Add source files 4 years ago
account.cpp Add source files 4 years ago
account.h Add source files 4 years ago
closed.bmp Add source files 4 years ago
cobjsafe.cpp Add source files 4 years ago
cobjsafe.h Add source files 4 years ago
codepage.h Add source files 4 years ago
cookie.cpp Add source files 4 years ago
cookie.h Add source files 4 years ago
cowsite.cpp Add source files 4 years ago
cowsite.h Add source files 4 years ago
debug.cpp Add source files 4 years ago
delfile.ico Add source files 4 years ago
delfld.ico Add source files 4 years ago
delmul.ico Add source files 4 years ago
desktop.ini Add source files 4 years ago
dialogs.cpp Add source files 4 years ago
dialogs.h Add source files 4 years ago
dirnoxst.htm Add source files 4 years ago
dllload.cpp Add source files 4 years ago
dllload.h Add source files 4 years ago
dllreg.cpp Add source files 4 years ago
download.avi Add source files 4 years ago
dspsprt.cpp Add source files 4 years ago
dspsprt.h Add source files 4 years ago
encoding.cpp Add source files 4 years ago
encoding.h Add source files 4 years ago
folder.ico Add source files 4 years ago
ftp.cpp Add source files 4 years ago
ftp.htt Add source files 4 years ago
ftpapi.cpp Add source files 4 years ago
ftpapi.h Add source files 4 years ago
ftpcf.cpp Add source files 4 years ago
ftpcm.cpp Add source files 4 years ago
ftpcm.h Add source files 4 years ago
ftpdel.avi Add source files 4 years ago
ftpdhlp.cpp Add source files 4 years ago
ftpdhlp.h Add source files 4 years ago
ftpdir.cpp Add source files 4 years ago
ftpdir.h Add source files 4 years ago
ftpdlg.cpp Add source files 4 years ago
ftpdrop.cpp Add source files 4 years ago
ftpdrop.h Add source files 4 years ago
ftpefe.cpp Add source files 4 years ago
ftpefe.h Add source files 4 years ago
ftpeidl.cpp Add source files 4 years ago
ftpeidl.h Add source files 4 years ago
ftpfld.def Add source files 4 years ago
ftpfoldr.cpp Add source files 4 years ago
ftpfoldr.h Add source files 4 years ago
ftpglob.cpp Add source files 4 years ago
ftpglob.h Add source files 4 years ago
ftpgto.cpp Add source files 4 years ago
ftpicon.cpp Add source files 4 years ago
ftpicon.h Add source files 4 years ago
ftpinet.cpp Add source files 4 years ago
ftpinet.h Add source files 4 years ago
ftplist.cpp Add source files 4 years ago
ftplist.h Add source files 4 years ago
ftpmi.cpp Add source files 4 years ago
ftpmi.h Add source files 4 years ago
ftpobj.cpp Add source files 4 years ago
ftpobj.h Add source files 4 years ago
ftppf.cpp Add source files 4 years ago
ftppidl.cpp Add source files 4 years ago
ftppidl.h Add source files 4 years ago
ftppl.cpp Add source files 4 years ago
ftppl.h Add source files 4 years ago
ftpprop.cpp Add source files 4 years ago
ftpprop.h Add source files 4 years ago
ftpresp.cpp Add source files 4 years ago
ftpsite.cpp Add source files 4 years ago
ftpsite.h Add source files 4 years ago
ftpstm.cpp Add source files 4 years ago
ftpstm.h Add source files 4 years ago
ftpurl.cpp Add source files 4 years ago
ftpurl.h Add source files 4 years ago
ftpwebvw.cpp Add source files 4 years ago
ftpwebvw.h Add source files 4 years ago
ftpwith.cpp Add source files 4 years ago
ie.gif Add source files 4 years ago
ie256.gif Add source files 4 years ago
ietext.bmp Add source files 4 years ago
ietxt256.bmp Add source files 4 years ago
isf.cpp Add source files 4 years ago
isf.h Add source files 4 years ago
isfvcb.cpp Add source files 4 years ago
isfvcb.h Add source files 4 years ago
key.ico Add source files 4 years ago
lines.bmp Add source files 4 years ago
lines256.bmp Add source files 4 years ago
loginfal.htm Add source files 4 years ago
makecab.sed Add source files 4 years ago
makeexe.sed Add source files 4 years ago
makefile Add source files 4 years ago
makesetp.bat Add source files 4 years ago
msieftp.inf Add source files 4 years ago
multidoc.ico Add source files 4 years ago
netfoldr.ico Add source files 4 years ago
newmenu.cpp Add source files 4 years ago
newmenu.h Add source files 4 years ago
noread.ico Add source files 4 years ago
notes.txt Add source files 4 years ago
nowrite.ico Add source files 4 years ago
nuke.ico Add source files 4 years ago
offline.cpp Add source files 4 years ago
offline.h Add source files 4 years ago
ofolder.ico Add source files 4 years ago
open.bmp Add source files 4 years ago
passwordapi.cpp Add source files 4 years ago
passwordapi.h Add source files 4 years ago
priv.h Add source files 4 years ago
proxycache.cpp Add source files 4 years ago
proxycache.h Add source files 4 years ago
read.ico Add source files 4 years ago
readme.txt Add source files 4 years ago
replace.ico Add source files 4 years ago
resource.h Add source files 4 years ago
resource.rc Add source files 4 years ago
resource.rcv Add source files 4 years ago
security.cpp Add source files 4 years ago
security.h Add source files 4 years ago
selfreg_msieftp.inf Add source files 4 years ago
server.ico Add source files 4 years ago
sources Add source files 4 years ago
statusbr.cpp Add source files 4 years ago
statusbr.h Add source files 4 years ago
testarea.txt Add source files 4 years ago
todo.txt Add source files 4 years ago
unithunk.h Add source files 4 years ago
upload.avi Add source files 4 years ago
util.cpp Add source files 4 years ago
util.h Add source files 4 years ago
view.cpp Add source files 4 years ago
view.h Add source files 4 years ago
warning.ico Add source files 4 years ago
windowsshell.manifest Add source files 4 years ago
world.bmp Add source files 4 years ago
world256.gif Add source files 4 years ago
write.ico Add source files 4 years ago

readme.txt

FTP Folders
Dev: Bryan Starbuck (BryanSt)
PM: Bryan Starbuck (BryanSt)
UI Tester: Jefferson Fletcher (JFletch)/Hunter Hudson (HunterH)
API UI: Hunter Hudson (HunterH)

Here is the status of the FTP Folders project.

RFCs: (Internet Specs)
FTP: RFC 959: File Transfer Protocol (http://www.freesoft.org/CIE/RFC/Orig/rfc959.txt)
FTP International: Draft-ietf-ftpext-intl-ftp-06: Internationalization of the File Transfer Protocol (http://www.ietf.org/internet-drafts/draft-ietf-ftpext-intl-ftp-06.txt)
FTP Security: RFC 2228: Security Extensions (http://www.cis.ohio-state.edu/htbin/rfc/rfc2228.html)
FTP Firewalls: RFC 1579: Firewall-Friendly FTP (http://www.cis.ohio-state.edu/htbin/rfc/rfc1579.html)
URLs: RFC 1738: Uniform Resource Locators (http://www.cis.ohio-state.edu/htbin/rfc/rfc1738.html)
WebDAV: HTTP Extensions for Distributed Authoring (http://www.ics.uci.edu/pub/ietf/webdav/protocol/draft-ietf-webdav-protocol-09.txt)
WebDAV: RFC 2291 (http://www.ics.uci.edu/pub/ietf/webdav/requirements/rfc2291.txt)

FTP Folders Features:
Login As dialog. Previously the username and password needed to be encoded in the URL.
Drag & Drop for upload and download.
Delete files and folders.
Rename files and folders
Shell Folder UI
UTF8 support so unicode filenames work on supported servers.
Password saving in a secure cache. 
Open files from FTP servers via the File.Open dialog.

Internationalization:
a-bechen is the test owner for the international aspects of FTP Folders. She will triage bugs that come in to determine if they are real bugs or reports of mis-matched code pages.

Because the File Transfer Protocol didn't specify the meaning of the high bit being set in ANSI, the high bit has been used for DBCS encoded strings. This has the limitation that only ANSI characters can be used across FTP unless they are in DBCS and the code page of the filename chars and the default code page of both the client and server match. See RFC 959: (http://www.freesoft.org/CIE/RFC/Orig/rfc959.txt)

FTP Folders implements UTF8 filenames if it is also supported by the server. This is negociated using the FEAT command with the UTF8 option. See Draft-ietf-ftpext-intl-ftp-06: Internationalization of the File Transfer Protocol (href="http://www.ietf.org/internet-drafts/draft-ietf-ftpext-intl-ftp-06.txt) There are no production servers that support this that I know of. ftp://hunterh1:21000/ is our in house test server. This will support anything that is supported over UTF8 with very few limitations.


Web Proxies:
Web Proxies must have been designed by in hell because it will explicitly kill pretty much every protocol except for HTTP. This has caused an increadible about of pain for admins trying to use any kind of rich client. This include FTP, H.323 (NetMeeting), BuddyList, SNTP (Time Server), NNTP (NewsGroups), POP3 & SMTP (Mail), internet radio, and many many more.
If the admin want the features of FTP Folders (upload, rename, delete, good UI, recursive operations, etc.) to work, they need to either:
Explicitely turn on port 21 & 20 in their web proxy,
Install Microsoft Remote WinSock, if they use MS Proxy,
Setup a FTP Gateway (like ftp-gw), or
use Socks. I think wininet will do FTP thru socks.

If they don't need the FTP Folder features, then they can disable FTP Folders using "Use Web Based FTP".
NT #406423: IE 5.5 has a fix to one problem that caused a timeout in some network configurations. If pre-IE 5.5 users have a problem, you can tell them to unregister the DLL. It's an optional component so they can just remove that package when they use the IEAK to customize the installer for their corp.
IE #91172: We found another bug in wininet where if the internal DNS server returns IP addresses for external server names, wininet would time out. Sometimes it would navigate correctly after the time out and sometimes it wouldn't. The wininet guys couldn't fix that issue so the corp needs to work around it.

By Design Areas:
International Filenames: FTP in general only supports non-ansi filename characters if the server's default codepage matches the clients default codepage and that matches the codepage used in the filename characters. Unless the server supports the FTP OPTS UTF8 command, in which case, full unicode is supported. No current servers except for an internal test FTP server exist that support this. RFC is on http://www.ietf.org/internet-drafts/draft-ietf-ftpext-intl-ftp-06.txt. (NT #315357, 352306)
Security: FTP is not a secure protocol since passwords are sent in plaintext over the wire. The browser has never offered any kind of password hiding so passwords have always been visible in the history, addressbar, MRU, statusbar, in the browser's URL, and other places. FTP Folders will hide the password if the user entered the password into our dialog. URLMON and the browser decided to not support this functionality so there are times when the use will see the password hidden when in FTP Folders but the password will start to appear in the browser when URLMON and the browser are used. The most common scenario for this is to login into a server using FTP Folders, after navigating directories double click on a file to have URLMON open it. URLMON will then put the full URL (including password) in the statusbar. Since FTP isn't secure, the goal is to hide the password from people sitting over the sholder of the user. Currently, we only support that functionality in FTP Folders which solves the most common case. (NT #386165, IE #84543)
Virtual Roots: The path section of the URL is relative to the user's Virtual Root, which is complient with RFC 1738 Section 3.2.2 (ftp://ftp.isi.edu/in-notes/rfc1738.txt), which was tracked as NT #294141. Not being able to escape the '/' to force the paths to be relative to the root is not supported. See NT #370810.
SaveAs: FTP Folders doesn't support File.SaveAs. (NT #353720)
Drag & Drop FTP to FTP: FTP Folders does not support being both the Source and the Dest. (NT 177263)
We don't use the path if we need to redirect because the user needs to change the username or password during navigation. (NT #345900, 353883, 345792, 336863, )
UNIX softlinks: are ignored during Drag & Drop in order to break cycles. (NT #305593)
File.CreateShortcut doesn't work: We don't support this feature but we can't turn off the File Menu item because we need to support SFGAO_CANLINK for other reasons. See NT #342110.

one yyyyyyy two

1
2
3
4
5
6