Timeline


and

21/09/08:

14:14 Changeset in swish [8181a86] by alamaison

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 alamaison
(diff)
13:08 WikiStart edited by alamaison
Updated to reflect state of 0.2.1.8 release (diff)
12:17 Changeset in swish [137942a] by alamaison
masterburn-bootstrappercmakede_atl_foldersdevelopfeature/vs2015feature_keyboard_interactivefeature_readfeature_writefix/sync_ui_attemptolder_sdksrelease/0.8.0reorg_divide_and_conquervista_compatwip_vs_2015

Branching trunk to work on keyboard-interactive authentication

10:36 Changeset in swish [7dba386] by alamaison
masterburn-bootstrappercmakede_atl_foldersdevelopfeature/vs2015feature_keyboard_interactivefeature_readfeature_writefix/sync_ui_attemptolder_sdksrelease/0.8.0reorg_divide_and_conquervista_compatwip_vs_2015

Incremented version numbers.

10:35 Changeset in swish [2416cf7] by alamaison
masterburn-bootstrappercmakede_atl_foldersdevelopfeature/vs2015feature_keyboard_interactivefeature_readfeature_writefix/sync_ui_attemptolder_sdksrelease/0.8.0reorg_divide_and_conquervista_compatwip_vs_2015

Updated CHANGELOG.

09:08 Changeset in swish [288e882] by alamaison
masterburn-bootstrappercmakede_atl_foldersdevelopfeature/vs2015feature_keyboard_interactivefeature_readfeature_writefix/sync_ui_attemptolder_sdksrelease/0.8.0reorg_divide_and_conquervista_compatwip_vs_2015

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 alamaison
masterburn-bootstrappercmakede_atl_foldersdevelopfeature/vs2015feature_keyboard_interactivefeature_readfeature_writefix/sync_ui_attemptolder_sdksrelease/0.8.0reorg_divide_and_conquervista_compatwip_vs_2015

Incremented version numbers.

07:16 Changeset in swish [bd95525] by alamaison
masterburn-bootstrappercmakede_atl_foldersdevelopfeature/vs2015feature_keyboard_interactivefeature_readfeature_writefix/sync_ui_attemptolder_sdksrelease/0.8.0reorg_divide_and_conquervista_compatwip_vs_2015

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 alamaison
Add UI to specify public-key authentication.
07:10 Ticket #17 (Support keyboard-interactive authentication) created by alamaison
Some SFTP servers (e.g. on FreeBSD) do not allow simple password …
06:35 Ticket #16 (Shouldn't asserts if _Fetch() fails) closed by alamaison
fixed: Fixed in r119.
06:32 Changeset in swish [c10fddc] by alamaison
masterburn-bootstrappercmakede_atl_foldersdevelopfeature/vs2015feature_keyboard_interactivefeature_readfeature_writefix/sync_ui_attemptolder_sdksrelease/0.8.0reorg_divide_and_conquervista_compatwip_vs_2015

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 alamaison
masterburn-bootstrappercmakede_atl_foldersdevelopfeature/vs2015feature_keyboard_interactivefeature_readfeature_writefix/sync_ui_attemptolder_sdksrelease/0.8.0reorg_divide_and_conquervista_compatwip_vs_2015

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 alamaison
masterburn-bootstrappercmakede_atl_foldersdevelopfeature/vs2015feature_keyboard_interactivefeature_readfeature_writefix/sync_ui_attemptolder_sdksrelease/0.8.0reorg_divide_and_conquervista_compatwip_vs_2015

Reintegrated feature_rename branch into trunk at revision r116.

18:07 Changeset in swish [490924c] by alamaison
masterburn-bootstrappercmakede_atl_foldersdevelopfeature/vs2015feature_keyboard_interactivefeature_readfeature_renamefeature_writefix/sync_ui_attemptolder_sdksrelease/0.8.0reorg_divide_and_conquervista_compatwip_vs_2015

Synchronised with feature_delete branch at revision r100.

16:43 Changeset in swish [153d351] by alamaison
masterburn-bootstrappercmakede_atl_foldersdevelopfeature/vs2015feature_keyboard_interactivefeature_readfeature_writefix/sync_ui_attemptolder_sdksrelease/0.8.0reorg_divide_and_conquervista_compatwip_vs_2015

Incremented version numbers to 0.2.1.6 marking completion of file and folder delete feature.

16:40 Changeset in swish [a90d309] by alamaison
masterburn-bootstrappercmakede_atl_foldersdevelopfeature/vs2015feature_keyboard_interactivefeature_readfeature_writefix/sync_ui_attemptolder_sdksrelease/0.8.0reorg_divide_and_conquervista_compatwip_vs_2015

Reintegrated feature_delete branch r79:113.

13:52 Changeset in swish [2d0eb1f] by alamaison
masterburn-bootstrappercmakede_atl_foldersdevelopfeature/vs2015feature_deletefeature_keyboard_interactivefeature_readfeature_renamefeature_writefix/sync_ui_attemptolder_sdksrelease/0.8.0reorg_divide_and_conquervista_compatwip_vs_2015

Synchronised the feature_delete branch with the trunk. r103:112

13:30 Ticket #16 (Shouldn't asserts if _Fetch() fails) created by alamaison
If the call to _Fetch() in GetEnum?() fails, which can happen if the user …
11:34 Ticket #15 (Reuse existing SFTP sessions) closed by alamaison
fixed: Done now ([log:@104:112 log]). Developed in …
11:14 Changeset in swish [922e1ab] by alamaison
masterburn-bootstrappercmakede_atl_foldersdevelopfeature/vs2015feature_deletefeature_keyboard_interactivefeature_readfeature_renamefeature_writefix/sync_ui_attemptolder_sdksrelease/0.8.0reorg_divide_and_conquervista_compatwip_vs_2015

Incremented version numbers to 0.2.1.5 marking completion of connection pooling feature.

10:31 Changeset in swish [d724a8a] by alamaison
masterburn-bootstrappercmakede_atl_foldersdevelopfeature/vs2015feature_deletefeature_keyboard_interactivefeature_readfeature_renamefeature_writefix/sync_ui_attemptolder_sdksrelease/0.8.0reorg_divide_and_conquervista_compatwip_vs_2015

Documented CPool::GetSession?().

10:07 Changeset in swish [d9e1d15] by alamaison
masterburn-bootstrappercmakede_atl_foldersdevelopfeature/vs2015feature_deletefeature_keyboard_interactivefeature_readfeature_renamefeature_writefix/sync_ui_attemptolder_sdksrelease/0.8.0reorg_divide_and_conquervista_compatwip_vs_2015

Reintegrated feature_connection_pool branch, r104:109.

07:54 Changeset in swish [86e9628] by alamaison
masterburn-bootstrappercmakede_atl_foldersdevelopfeature/vs2015feature_connection_poolfeature_deletefeature_keyboard_interactivefeature_readfeature_renamefeature_writefix/sync_ui_attemptolder_sdksrelease/0.8.0reorg_divide_and_conquervista_compatwip_vs_2015

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 alamaison
masterburn-bootstrappercmakede_atl_foldersdevelopfeature/vs2015feature_connection_poolfeature_deletefeature_keyboard_interactivefeature_readfeature_renamefeature_writefix/sync_ui_attemptolder_sdksrelease/0.8.0reorg_divide_and_conquervista_compatwip_vs_2015

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 alamaison
masterburn-bootstrappercmakede_atl_foldersdevelopfeature/vs2015feature_connection_poolfeature_deletefeature_keyboard_interactivefeature_readfeature_renamefeature_writefix/sync_ui_attemptolder_sdksrelease/0.8.0reorg_divide_and_conquervista_compatwip_vs_2015

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 alamaison
masterburn-bootstrappercmakede_atl_foldersdevelopfeature/vs2015feature_connection_poolfeature_deletefeature_keyboard_interactivefeature_readfeature_renamefeature_writefix/sync_ui_attemptolder_sdksrelease/0.8.0reorg_divide_and_conquervista_compatwip_vs_2015

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 alamaison
masterburn-bootstrappercmakede_atl_foldersdevelopfeature/vs2015feature_connection_poolfeature_deletefeature_keyboard_interactivefeature_readfeature_renamefeature_writefix/sync_ui_attemptolder_sdksrelease/0.8.0reorg_divide_and_conquervista_compatwip_vs_2015

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 alamaison
At the moment Swish creates a new SFTP session (i.e. you have to re-enter …

17/09/08:

15:13 Renaming created by alamaison
Created explanation of Swish renaming
14:56 WikiStart edited by alamaison
Added working on features list (diff)
14:35 Changeset in swish [d2314f6] by alamaison
masterburn-bootstrappercmakede_atl_foldersdevelopfeature/vs2015feature_connection_poolfeature_deletefeature_keyboard_interactivefeature_readfeature_renamefeature_writefix/sync_ui_attemptolder_sdksrelease/0.8.0reorg_divide_and_conquervista_compatwip_vs_2015

Branching trunk to feature_connection_pool to work on reusing existing connections for successive operations.

13:54 Changeset in swish [1ff432f] by alamaison
masterburn-bootstrappercmakede_atl_foldersdevelopfeature/vs2015feature_deletefeature_keyboard_interactivefeature_readfeature_renamefeature_writefix/sync_ui_attemptolder_sdksrelease/0.8.0reorg_divide_and_conquervista_compatwip_vs_2015

Fixed comments and other minor.

13:53 Changeset in swish [2abe6ee] by alamaison
masterburn-bootstrappercmakede_atl_foldersdevelopfeature/vs2015feature_deletefeature_keyboard_interactivefeature_readfeature_renamefeature_writefix/sync_ui_attemptolder_sdksrelease/0.8.0reorg_divide_and_conquervista_compatwip_vs_2015

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 alamaison
masterburn-bootstrappercmakede_atl_foldersdevelopfeature/vs2015feature_deletefeature_keyboard_interactivefeature_readfeature_renamefeature_writefix/sync_ui_attemptolder_sdksrelease/0.8.0reorg_divide_and_conquervista_compatwip_vs_2015

Fixed copy assignment/copy constructor.

07:19 Changeset in swish [fa8cec1] by alamaison
masterburn-bootstrappercmakede_atl_foldersdevelopfeature/vs2015feature_deletefeature_keyboard_interactivefeature_readfeature_renamefeature_writefix/sync_ui_attemptolder_sdksrelease/0.8.0reorg_divide_and_conquervista_compatwip_vs_2015

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 alamaison
masterburn-bootstrappercmakede_atl_foldersdevelopfeature/vs2015feature_deletefeature_keyboard_interactivefeature_readfeature_renamefeature_writefix/sync_ui_attemptolder_sdksrelease/0.8.0reorg_divide_and_conquervista_compatwip_vs_2015

Added missing licence block.

16:25 Changeset in swish [e0a43e1] by alamaison
masterburn-bootstrappercmakede_atl_foldersdevelopfeature/vs2015feature_deletefeature_keyboard_interactivefeature_readfeature_renamefeature_writefix/sync_ui_attemptolder_sdksrelease/0.8.0reorg_divide_and_conquervista_compatwip_vs_2015

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 alamaison
masterburn-bootstrappercmakede_atl_foldersdevelopfeature/vs2015feature_deletefeature_keyboard_interactivefeature_readfeature_renamefeature_writefix/sync_ui_attemptolder_sdksrelease/0.8.0reorg_divide_and_conquervista_compatwip_vs_2015

Added file/directory deletion to CSftpDirectory.

Renamed CComSTLContainerCopy to CComSTLCopyContainer (more sensible name).

11:23 Changeset in swish [8b49dd9] by alamaison
masterburn-bootstrappercmakede_atl_foldersdevelopfeature/vs2015feature_deletefeature_keyboard_interactivefeature_readfeature_renamefeature_writefix/sync_ui_attemptolder_sdksrelease/0.8.0reorg_divide_and_conquervista_compatwip_vs_2015

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 alamaison
masterburn-bootstrappercmakede_atl_foldersdevelopfeature/vs2015feature_deletefeature_keyboard_interactivefeature_readfeature_renamefeature_writefix/sync_ui_attemptolder_sdksrelease/0.8.0reorg_divide_and_conquervista_compatwip_vs_2015

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 alamaison
masterburn-bootstrappercmakede_atl_foldersdevelopfeature/vs2015feature_keyboard_interactivefeature_readfeature_renamefeature_writefix/sync_ui_attemptolder_sdksrelease/0.8.0reorg_divide_and_conquervista_compatwip_vs_2015

Documented renaming-related functions.
Miscellaneous Doxygen fixes.

18:04 Changeset in swish [2fa4080] by alamaison
masterburn-bootstrappercmakede_atl_foldersdevelopfeature/vs2015feature_keyboard_interactivefeature_readfeature_renamefeature_writefix/sync_ui_attemptolder_sdksrelease/0.8.0reorg_divide_and_conquervista_compatwip_vs_2015

Improved variable naming.

16:00 Changeset in swish [bd3a842] by alamaison
masterburn-bootstrappercmakede_atl_foldersdevelopfeature/vs2015feature_keyboard_interactivefeature_readfeature_renamefeature_writefix/sync_ui_attemptolder_sdksrelease/0.8.0reorg_divide_and_conquervista_compatwip_vs_2015

Backporting changes from r90:91 of feature_delete branch.

12/09/08:

14:26 Changeset in swish [28161f1] by alamaison
masterburn-bootstrappercmakede_atl_foldersdevelopfeature/vs2015feature_deletefeature_keyboard_interactivefeature_readfeature_renamefeature_writefix/sync_ui_attemptolder_sdksrelease/0.8.0reorg_divide_and_conquervista_compatwip_vs_2015

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 alamaison
masterburn-bootstrappercmakede_atl_foldersdevelopfeature/vs2015feature_deletefeature_keyboard_interactivefeature_readfeature_renamefeature_writefix/sync_ui_attemptolder_sdksrelease/0.8.0reorg_divide_and_conquervista_compatwip_vs_2015

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 alamaison
masterburn-bootstrappercmakede_atl_foldersdevelopfeature/vs2015feature_deletefeature_keyboard_interactivefeature_readfeature_renamefeature_writefix/sync_ui_attemptolder_sdksrelease/0.8.0reorg_divide_and_conquervista_compatwip_vs_2015

Branching feature_rename to feature_delete to continue parallel development.

17:17 Changeset in swish [5a20e27] by alamaison
masterburn-bootstrappercmakede_atl_foldersdevelopfeature/vs2015feature_deletefeature_keyboard_interactivefeature_readfeature_renamefeature_writefix/sync_ui_attemptolder_sdksrelease/0.8.0reorg_divide_and_conquervista_compatwip_vs_2015

Added tests for SftpDirectory? subfolder renaming.

11:31 Changeset in swish [2be0ee4] by alamaison
masterburn-bootstrappercmakede_atl_foldersdevelopfeature/vs2015feature_deletefeature_keyboard_interactivefeature_readfeature_renamefeature_writefix/sync_ui_attemptolder_sdksrelease/0.8.0reorg_divide_and_conquervista_compatwip_vs_2015

Refactored directory path cleanup into constructor.

11:12 Changeset in swish [ddd6871] by alamaison
masterburn-bootstrappercmakede_atl_foldersdevelopfeature/vs2015feature_deletefeature_keyboard_interactivefeature_readfeature_renamefeature_writefix/sync_ui_attemptolder_sdksrelease/0.8.0reorg_divide_and_conquervista_compatwip_vs_2015

Removed dead code.

11:08 Changeset in swish [4dce0f7] by alamaison
masterburn-bootstrappercmakede_atl_foldersdevelopfeature/vs2015feature_deletefeature_keyboard_interactivefeature_readfeature_renamefeature_writefix/sync_ui_attemptolder_sdksrelease/0.8.0reorg_divide_and_conquervista_compatwip_vs_2015

Fixed renaming so that it works in subfolders.

09:11 Changeset in swish [f3c5853] by alamaison
masterburn-bootstrappercmakede_atl_foldersdevelopfeature/vs2015feature_deletefeature_keyboard_interactivefeature_readfeature_renamefeature_writefix/sync_ui_attemptolder_sdksrelease/0.8.0reorg_divide_and_conquervista_compatwip_vs_2015

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 alamaison
masterburn-bootstrappercmakede_atl_foldersdevelopfeature/vs2015feature_deletefeature_keyboard_interactivefeature_readfeature_renamefeature_writefix/sync_ui_attemptolder_sdksrelease/0.8.0reorg_divide_and_conquervista_compatwip_vs_2015

Fix _CheckFileExists() to handle subfolders.

04/09/08:

20:05 Changeset in swish [84d3897] by alamaison
masterburn-bootstrappercmakede_atl_foldersdevelopfeature/vs2015feature_deletefeature_keyboard_interactivefeature_readfeature_renamefeature_writefix/sync_ui_attemptolder_sdksrelease/0.8.0reorg_divide_and_conquervista_compatwip_vs_2015

Test for subfolder case. Eventually all tests should be in a subfolder.

Some refactoring.

19:32 Changeset in swish [f5a77fe] by alamaison
masterburn-bootstrappercmakede_atl_foldersdevelopfeature/vs2015feature_deletefeature_keyboard_interactivefeature_readfeature_renamefeature_writefix/sync_ui_attemptolder_sdksrelease/0.8.0reorg_divide_and_conquervista_compatwip_vs_2015

Combined Libssh2Provider_test declaration and implementation into .cpp file: Libssh2Provider_test.cpp

16:51 Changeset in swish [26bea18] by alamaison
masterburn-bootstrappercmakede_atl_foldersdevelopfeature/vs2015feature_deletefeature_keyboard_interactivefeature_readfeature_renamefeature_writefix/sync_ui_attemptolder_sdksrelease/0.8.0reorg_divide_and_conquervista_compatwip_vs_2015

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 alamaison
The IShellFolder::EnumObjects?() function passes an HWND to be used for UI, …
Note: See TracTimeline for information about the timeline view.