Timeline
21/09/08:
- 14:14 Changeset in swish [8181a86] by
-
Tagging as swish-0.2.1.8 after releasing package on SourceForge? ( http://sourceforge.net/project/showfiles.php?group_id=183121&package_id=212534&release_id=627764).
- 13:10 SupportedOperatingSystems edited by
- (diff)
- 13:08 WikiStart edited by
- Updated to reflect state of 0.2.1.8 release (diff)
- 12:17 Changeset in swish [137942a] by
-
masterburn-bootstrapperdevelopdrop_target_zip_bugfeature_keyboard_interactivefeature_propertiesfeature_readfeature_symlinkfeature_writeolder_sdksreorg_divide_and_conquervista_compat
Branching trunk to work on keyboard-interactive authentication
- 10:36 Changeset in swish [7dba386] by
-
masterburn-bootstrapperdevelopdrop_target_zip_bugfeature_keyboard_interactivefeature_propertiesfeature_readfeature_symlinkfeature_writeolder_sdksreorg_divide_and_conquervista_compat
Incremented version numbers.
- 10:35 Changeset in swish [2416cf7] by
-
masterburn-bootstrapperdevelopdrop_target_zip_bugfeature_keyboard_interactivefeature_propertiesfeature_readfeature_symlinkfeature_writeolder_sdksreorg_divide_and_conquervista_compat
Updated CHANGELOG.
- 09:08 Changeset in swish [288e882] by
-
masterburn-bootstrapperdevelopdrop_target_zip_bugfeature_keyboard_interactivefeature_propertiesfeature_readfeature_symlinkfeature_writeolder_sdksreorg_divide_and_conquervista_compat
Fixed renaming a directory with an existing directory as obstruction. We were only deleting the renamed temporary as a file (libssh2_sftp_unlink()). If it happened to be a directory we failed to delete it and the temporary was left behind. I've fixed this by delegating the task to the type-agnostic _DeleteRecursive function which checks the type of the file first and deletes as appropriate.
Added unit-tests to catch this.
- 07:17 Changeset in swish [a03e088] by
-
masterburn-bootstrapperdevelopdrop_target_zip_bugfeature_keyboard_interactivefeature_propertiesfeature_readfeature_symlinkfeature_writeolder_sdksreorg_divide_and_conquervista_compat
Incremented version numbers.
- 07:16 Changeset in swish [bd95525] by
-
masterburn-bootstrapperdevelopdrop_target_zip_bugfeature_keyboard_interactivefeature_propertiesfeature_readfeature_symlinkfeature_writeolder_sdksreorg_divide_and_conquervista_compat
Fixed Release-build issues.
- cHardLinks not filled in Release build so test failed. Removed.
- Unit-test debugging was difficult as optimisations caused variables to show gibberish when stepping through. Turned of optimisation for unit-tests.
- Release-build was generating a type library from the IDL causing a nearly complete rebuild every time. Fixed.
- 07:11 Ticket #18 (Support public-key authentication) created by
- Add UI to specify public-key authentication.
- 07:10 Ticket #17 (Support keyboard-interactive authentication) created by
- Some SFTP servers (e.g. on FreeBSD) do not allow simple password …
- 06:35 Ticket #16 (Shouldn't asserts if _Fetch() fails) closed by
- fixed: Fixed in r119.
- 06:32 Changeset in swish [c10fddc] by
-
masterburn-bootstrapperdevelopdrop_target_zip_bugfeature_keyboard_interactivefeature_propertiesfeature_readfeature_symlinkfeature_writeolder_sdksreorg_divide_and_conquervista_compat
Ticket #16. Fixed assertion on failed _Fetch(). Now we just pass the failure up to the calling functions and on to Explorer.
20/09/08:
- 19:08 Changeset in swish [2011842] by
-
masterburn-bootstrapperdevelopdrop_target_zip_bugfeature_keyboard_interactivefeature_propertiesfeature_readfeature_symlinkfeature_writeolder_sdksreorg_divide_and_conquervista_compat
Updated CHANGELOG and README to reflect the latest state of the project.
- 19:00 Milestone 0.2.1.8 File management completed
- Renaming, deleting etc.
- 18:55 Changeset in swish [a360cbe] by
-
masterburn-bootstrapperdevelopdrop_target_zip_bugfeature_keyboard_interactivefeature_propertiesfeature_readfeature_symlinkfeature_writeolder_sdksreorg_divide_and_conquervista_compat
Reintegrated feature_rename branch into trunk at revision r116.
- 18:07 Changeset in swish [490924c] by
-
masterburn-bootstrapperdevelopdrop_target_zip_bugfeature_keyboard_interactivefeature_propertiesfeature_readfeature_renamefeature_symlinkfeature_writeolder_sdksreorg_divide_and_conquervista_compat
Synchronised with feature_delete branch at revision r100.
- 16:43 Changeset in swish [153d351] by
-
masterburn-bootstrapperdevelopdrop_target_zip_bugfeature_keyboard_interactivefeature_propertiesfeature_readfeature_symlinkfeature_writeolder_sdksreorg_divide_and_conquervista_compat
Incremented version numbers to 0.2.1.6 marking completion of file and folder delete feature.
- 16:40 Changeset in swish [a90d309] by
-
masterburn-bootstrapperdevelopdrop_target_zip_bugfeature_keyboard_interactivefeature_propertiesfeature_readfeature_symlinkfeature_writeolder_sdksreorg_divide_and_conquervista_compat
Reintegrated feature_delete branch r79:113.
- 13:52 Changeset in swish [2d0eb1f] by
-
masterburn-bootstrapperdevelopdrop_target_zip_bugfeature_deletefeature_keyboard_interactivefeature_propertiesfeature_readfeature_renamefeature_symlinkfeature_writeolder_sdksreorg_divide_and_conquervista_compat
Synchronised the feature_delete branch with the trunk. r103:112
- 13:30 Ticket #16 (Shouldn't asserts if _Fetch() fails) created by
- If the call to _Fetch() in GetEnum?() fails, which can happen if the user …
- 11:34 Ticket #15 (Reuse existing SFTP sessions) closed by
- fixed: Done now ([log:@104:112 log]). Developed in …
- 11:14 Changeset in swish [922e1ab] by
-
masterburn-bootstrapperdevelopdrop_target_zip_bugfeature_deletefeature_keyboard_interactivefeature_propertiesfeature_readfeature_renamefeature_symlinkfeature_writeolder_sdksreorg_divide_and_conquervista_compat
Incremented version numbers to 0.2.1.5 marking completion of connection pooling feature.
- 10:31 Changeset in swish [d724a8a] by
-
masterburn-bootstrapperdevelopdrop_target_zip_bugfeature_deletefeature_keyboard_interactivefeature_propertiesfeature_readfeature_renamefeature_symlinkfeature_writeolder_sdksreorg_divide_and_conquervista_compat
Documented CPool::GetSession?().
- 10:07 Changeset in swish [d9e1d15] by
-
masterburn-bootstrapperdevelopdrop_target_zip_bugfeature_deletefeature_keyboard_interactivefeature_propertiesfeature_readfeature_renamefeature_symlinkfeature_writeolder_sdksreorg_divide_and_conquervista_compat
Reintegrated feature_connection_pool branch, r104:109.
- 07:54 Changeset in swish [86e9628] by
-
masterburn-bootstrapperdevelopdrop_target_zip_bugfeature_connection_poolfeature_deletefeature_keyboard_interactivefeature_propertiesfeature_readfeature_renamefeature_symlinkfeature_writeolder_sdksreorg_divide_and_conquervista_compat
Fixed "hr 0x800706f4 A null reference pointer was passed to the stub." error message caused by a second Explorer window trying to access the enumerator of a connection created in the first Explorer window.
- 06:58 Changeset in swish [49c6c8b] by
-
masterburn-bootstrapperdevelopdrop_target_zip_bugfeature_connection_poolfeature_deletefeature_keyboard_interactivefeature_propertiesfeature_readfeature_renamefeature_symlinkfeature_writeolder_sdksreorg_divide_and_conquervista_compat
Changed the connection pool from a COM object into a standard C++ class.
Renamed CXPool to CPool and files as appropriate.
19/09/08:
- 20:31 Changeset in swish [e2d402a] by
-
masterburn-bootstrapperdevelopdrop_target_zip_bugfeature_connection_poolfeature_deletefeature_keyboard_interactivefeature_propertiesfeature_readfeature_renamefeature_symlinkfeature_writeolder_sdksreorg_divide_and_conquervista_compat
Partially backported changes from r90 of feature_delete branch. This fixed the GetEnum?() issues where it was appending to the same collection on every call. These fixes were needed in this branch as we are now reusing connections and now hit this problem all the time.
- 18:50 Changeset in swish [cf07407] by
-
masterburn-bootstrapperdevelopdrop_target_zip_bugfeature_connection_poolfeature_deletefeature_keyboard_interactivefeature_propertiesfeature_readfeature_renamefeature_symlinkfeature_writeolder_sdksreorg_divide_and_conquervista_compat
Removed the unnecessary passing of a pointer to the pool between IShellFolder instances. This was how we were trying to make it work before using the ROT and isn't needed any more.
Cleaned up CXPool class.
- 18:03 Changeset in swish [4cbf4e2] by
-
masterburn-bootstrapperdevelopdrop_target_zip_bugfeature_connection_poolfeature_deletefeature_keyboard_interactivefeature_propertiesfeature_readfeature_renamefeature_symlinkfeature_writeolder_sdksreorg_divide_and_conquervista_compat
We seem to have connection pooling! In fact it's too perfect.
The connections are being stored via monikers in the Running Object Table (ROT). Despite the fact that we never Release() their pointers or Revoke() their ROT tokens, all the DLLs unload cleanly when I close the Explorer window! I don't see how this can happen as the outstanding references to the connection COM objects should lock the server.
Either way, I'm not tempting fate so I'm committing the whole mess before I change something and break this unexpectedly nice behaviour. This code does lots of stuff I don't think it needs to but I'll clean it up later.
18/09/08:
- 06:07 Ticket #15 (Reuse existing SFTP sessions) created by
- At the moment Swish creates a new SFTP session (i.e. you have to re-enter …
17/09/08:
- 15:13 Renaming created by
- Created explanation of Swish renaming
- 14:56 WikiStart edited by
- Added working on features list (diff)
- 14:35 Changeset in swish [d2314f6] by
-
masterburn-bootstrapperdevelopdrop_target_zip_bugfeature_connection_poolfeature_deletefeature_keyboard_interactivefeature_propertiesfeature_readfeature_renamefeature_symlinkfeature_writeolder_sdksreorg_divide_and_conquervista_compat
Branching trunk to feature_connection_pool to work on reusing existing connections for successive operations.
- 13:54 Changeset in swish [1ff432f] by
-
masterburn-bootstrapperdevelopdrop_target_zip_bugfeature_deletefeature_keyboard_interactivefeature_propertiesfeature_readfeature_renamefeature_symlinkfeature_writeolder_sdksreorg_divide_and_conquervista_compat
Fixed comments and other minor.
- 13:53 Changeset in swish [2abe6ee] by
-
masterburn-bootstrapperdevelopdrop_target_zip_bugfeature_deletefeature_keyboard_interactivefeature_propertiesfeature_readfeature_renamefeature_symlinkfeature_writeolder_sdksreorg_divide_and_conquervista_compat
Greatly improved multiple file deletion:
- Single connection made to delete all files
- Single confirmation shown for all files
- Different confirmation message than single file delete
- 13:51 Changeset in swish [35d52b6] by
-
masterburn-bootstrapperdevelopdrop_target_zip_bugfeature_deletefeature_keyboard_interactivefeature_propertiesfeature_readfeature_renamefeature_symlinkfeature_writeolder_sdksreorg_divide_and_conquervista_compat
Fixed copy assignment/copy constructor.
- 07:19 Changeset in swish [fa8cec1] by
-
masterburn-bootstrapperdevelopdrop_target_zip_bugfeature_deletefeature_keyboard_interactivefeature_propertiesfeature_readfeature_renamefeature_symlinkfeature_writeolder_sdksreorg_divide_and_conquervista_compat
Added support for deleting more than one item at a time.
Refactored the DataObject? handling out into a separate class, CShellDataObject.
16/09/08:
- 16:33 Changeset in swish [846b957] by
-
masterburn-bootstrapperdevelopdrop_target_zip_bugfeature_deletefeature_keyboard_interactivefeature_propertiesfeature_readfeature_renamefeature_symlinkfeature_writeolder_sdksreorg_divide_and_conquervista_compat
Added missing licence block.
- 16:25 Changeset in swish [e0a43e1] by
-
masterburn-bootstrapperdevelopdrop_target_zip_bugfeature_deletefeature_keyboard_interactivefeature_propertiesfeature_readfeature_renamefeature_symlinkfeature_writeolder_sdksreorg_divide_and_conquervista_compat
Early implementation of file and folder deletion from the Explorer window. This is able to delete a single file or folder and update the shell accordingly.
- 11:26 Changeset in swish [d33c4ea] by
-
masterburn-bootstrapperdevelopdrop_target_zip_bugfeature_deletefeature_keyboard_interactivefeature_propertiesfeature_readfeature_renamefeature_symlinkfeature_writeolder_sdksreorg_divide_and_conquervista_compat
Added file/directory deletion to CSftpDirectory.
Renamed CComSTLContainerCopy to CComSTLCopyContainer (more sensible name).
- 11:23 Changeset in swish [8b49dd9] by
-
masterburn-bootstrapperdevelopdrop_target_zip_bugfeature_deletefeature_keyboard_interactivefeature_propertiesfeature_readfeature_renamefeature_symlinkfeature_writeolder_sdksreorg_divide_and_conquervista_compat
Created PIDL wrapper class for Remote ItemIDs. This is a subclass of CPidl and will eventually replace all the functionality in RemotePidlManager?.cpp.
- 11:11 Changeset in swish [f9207682] by
-
masterburn-bootstrapperdevelopdrop_target_zip_bugfeature_deletefeature_keyboard_interactivefeature_propertiesfeature_readfeature_renamefeature_symlinkfeature_writeolder_sdksreorg_divide_and_conquervista_compat
Fixed const-related problems with CPidl class. It was using 'const PidlType?' which was actually a const pointer to a non-const PIDL. It should have been using const *IdListType?. This has been corrected.
Added an operator which returns the PIDL as it's supertype. This is to allow assignments like 'CRemotePidl r = CChildPidl c' to work in just the same way as 'PIDLIST_RELATIVE r = PITEMID_CHILD' would.
Fixed throw() indications.
Added an Join() method to join another PIDL to the CPidl. In the case of joining to a CChildPidl this should really return a CRelativePidl but I'm not sure how to do this with templates. this is left for the future.
Added a GetNext?() method to return a const pointer to the next SHITEMID in the member PIDL. This doesn't make sense to use on a CChildPidl.
Added unit tests to cover the new cases.
15/09/08:
- 20:46 Changeset in swish [ec37ebf] by
-
masterburn-bootstrapperdevelopdrop_target_zip_bugfeature_keyboard_interactivefeature_propertiesfeature_readfeature_renamefeature_symlinkfeature_writeolder_sdksreorg_divide_and_conquervista_compat
Documented renaming-related functions.
Miscellaneous Doxygen fixes.
- 18:04 Changeset in swish [2fa4080] by
-
masterburn-bootstrapperdevelopdrop_target_zip_bugfeature_keyboard_interactivefeature_propertiesfeature_readfeature_renamefeature_symlinkfeature_writeolder_sdksreorg_divide_and_conquervista_compat
Improved variable naming.
- 16:00 Changeset in swish [bd3a842] by
-
masterburn-bootstrapperdevelopdrop_target_zip_bugfeature_keyboard_interactivefeature_propertiesfeature_readfeature_renamefeature_symlinkfeature_writeolder_sdksreorg_divide_and_conquervista_compat
Backporting changes from r90:91 of feature_delete branch.
12/09/08:
- 14:26 Changeset in swish [28161f1] by
-
masterburn-bootstrapperdevelopdrop_target_zip_bugfeature_deletefeature_keyboard_interactivefeature_propertiesfeature_readfeature_renamefeature_symlinkfeature_writeolder_sdksreorg_divide_and_conquervista_compat
Added file and folder creation functions to the backend. The latter is generally useful while the former is intended primarily for use by the unit tests in order to set up an environment before executing a test.
The GetListing?() function was broken and returned the contents of a single list of files which was forever appended to every time the listing was requested. It was also shared between all enumerators. This has been corrected by using a COM wrapper around a copied STL collection a la SftpDirectory?.
Added more unit tests for these scenarios.
Refactored common test setup out of the Libssh2Provider tests.
Improved Rename() unit tests by making use of new creation functions.
Disabled the ssize_t to unsigned int warning for the entire of Libssh2Provider.cpp. Eventually I would like to submit a patch to libssh2 to avoid this issue.
Inserted some omitted calls to libssh2_sftp_close_handle().
09/09/08:
- 19:17 Changeset in swish [2e1f0f2] by
-
masterburn-bootstrapperdevelopdrop_target_zip_bugfeature_deletefeature_keyboard_interactivefeature_propertiesfeature_readfeature_renamefeature_symlinkfeature_writeolder_sdksreorg_divide_and_conquervista_compat
Added file and directory deletion to backend. The directory deletion is recursive. Although this is a little clunky (lists every directory and deletes each item individually with a separate call across the network) we have no choice due to the limitations of SFTP.
06/09/08:
- 17:22 Changeset in swish [fee77eb] by
-
masterburn-bootstrapperdevelopdrop_target_zip_bugfeature_deletefeature_keyboard_interactivefeature_propertiesfeature_readfeature_renamefeature_symlinkfeature_writeolder_sdksreorg_divide_and_conquervista_compat
Branching feature_rename to feature_delete to continue parallel development.
- 17:17 Changeset in swish [5a20e27] by
-
masterburn-bootstrapperdevelopdrop_target_zip_bugfeature_deletefeature_keyboard_interactivefeature_propertiesfeature_readfeature_renamefeature_symlinkfeature_writeolder_sdksreorg_divide_and_conquervista_compat
Added tests for SftpDirectory? subfolder renaming.
- 11:31 Changeset in swish [2be0ee4] by
-
masterburn-bootstrapperdevelopdrop_target_zip_bugfeature_deletefeature_keyboard_interactivefeature_propertiesfeature_readfeature_renamefeature_symlinkfeature_writeolder_sdksreorg_divide_and_conquervista_compat
Refactored directory path cleanup into constructor.
- 11:12 Changeset in swish [ddd6871] by
-
masterburn-bootstrapperdevelopdrop_target_zip_bugfeature_deletefeature_keyboard_interactivefeature_propertiesfeature_readfeature_renamefeature_symlinkfeature_writeolder_sdksreorg_divide_and_conquervista_compat
Removed dead code.
- 11:08 Changeset in swish [4dce0f7] by
-
masterburn-bootstrapperdevelopdrop_target_zip_bugfeature_deletefeature_keyboard_interactivefeature_propertiesfeature_readfeature_renamefeature_symlinkfeature_writeolder_sdksreorg_divide_and_conquervista_compat
Fixed renaming so that it works in subfolders.
- 09:11 Changeset in swish [f3c5853] by
-
masterburn-bootstrapperdevelopdrop_target_zip_bugfeature_deletefeature_keyboard_interactivefeature_propertiesfeature_readfeature_renamefeature_symlinkfeature_writeolder_sdksreorg_divide_and_conquervista_compat
Added tests for renaming files outside of Home directory tree.
Moved one-off Libssh2Provider tests into constructor.
Added test that doesn't specify a directory to investigate what libssh2 defaults to.
- 07:45 Changeset in swish [8a98db4] by
-
masterburn-bootstrapperdevelopdrop_target_zip_bugfeature_deletefeature_keyboard_interactivefeature_propertiesfeature_readfeature_renamefeature_symlinkfeature_writeolder_sdksreorg_divide_and_conquervista_compat
Fix _CheckFileExists() to handle subfolders.
04/09/08:
- 20:05 Changeset in swish [84d3897] by
-
masterburn-bootstrapperdevelopdrop_target_zip_bugfeature_deletefeature_keyboard_interactivefeature_propertiesfeature_readfeature_renamefeature_symlinkfeature_writeolder_sdksreorg_divide_and_conquervista_compat
Test for subfolder case. Eventually all tests should be in a subfolder.
Some refactoring.
- 19:32 Changeset in swish [f5a77fe] by
-
masterburn-bootstrapperdevelopdrop_target_zip_bugfeature_deletefeature_keyboard_interactivefeature_propertiesfeature_readfeature_renamefeature_symlinkfeature_writeolder_sdksreorg_divide_and_conquervista_compat
Combined Libssh2Provider_test declaration and implementation into .cpp file: Libssh2Provider_test.cpp
- 16:51 Changeset in swish [26bea18] by
-
masterburn-bootstrapperdevelopdrop_target_zip_bugfeature_deletefeature_keyboard_interactivefeature_propertiesfeature_readfeature_renamefeature_symlinkfeature_writeolder_sdksreorg_divide_and_conquervista_compat
Extended Rename() to cope if the file already exists. This was tricky because SFTP servers < v4 (i.e. most) don't allow an overwrite in this case. We get around this by first trying the v5 method and if that fails trying a non-atomic delete-rename combination. This has the potential for race conditions but I think the benefits outweigh the risk. If this proves a problem I'll remove it and just make it report the failure.
Also, more than one operation could not be performed down a single connection. I have hacked in fix for this (m_fConnected) but eventually it should be handled by the connection pool that I want to make.
Was asserting if EnumObjects?() UI was forbidden (NULL HWND passed). Now we just throw an exception which gets caught as a simple failure.
Removed prompt strings from OnConfirmOverwrite? methods. This should really be up to the frontend not the SftpProvider?.
ComCatch? was not catching AtlExceptions?. Fixed.
Added unit tests for rename functionality.
Extended MockSftpConsumer? so that any behaviours which are not explicitly set throw and exception. This causes tests to fail if an unexpected callback is triggered.
- 09:38 Ticket #14 (EnumObjects failure when no UI allowed should be late as possible) created by
- The IShellFolder::EnumObjects?() function passes an HWND to be used for UI, …
