Removed unwanted packages and dllsConverted Pithos.Client.WPF to AnyCPU
Packaging the proper 32/64 bit OpenSSL versions. Still crashes though. Strangely, copying the proper dlls over the installed ones fixes the problem
ManagedOpenSSL is now AnyCPU. The proper 32bit or 64 bit OpenSSL libraries are selected when building the 32 or 64 bit version
Fix for wrong shared object uris
Fix to library locations
Various
Added FileBlockContent.cs to post file blocks that are read directly from a file instead of posting entire 4MB blocks
Changes to speed up processing a large number of of newly added files:- File events are queued for asynchronous processing instead of raising tasks.- Hashes for multiple files are calculated in parallel if there are more than 20 files that need hashing
Added cloning of HttpRequestMessage to allow retries using the messages themselvesVarious async modifications to overcome blocking during network faults
Wrong log tags
Missing Extension file
Some timeout issues
More fixes and changes to DateTimeOffset dates
Fix to execute SchemaUpdate on existing databases
Removed commented code
Various storage and progress changes
Added retry for 502 error
Merge branch 'Polling' of https://code.grnet.gr/git/pithos-ms-client into Polling
Replaced RestClient with HttpClient in PostBlock
Conflicts: trunk/Pithos.Client.WPF/Preferences/PreferencesView.xaml
Signed-off-by: George Pantazis <gpant@noc.grnet.gr>
ISS FixesUpdated StatusFixed GUI IssuesDelete Container dataFixed issue with net.http in 2008 server
Fixed blocking issue
Fix for erroneous storage of Hashes and Checksum
Backed off in PutBlock. Discovered problems in PollAgent.UpdateHashes. It updates the stored file checksum while polling. Remnant of the removal of LastMD5
Several CloudFilesClient.cs methods converted to use HttpClient
Created transactional block update method
Created separate methods for block updating for XP/FAT and Vista+ with NTFS
Conflicts: trunk/Pithos.Core/Agents/StatusAgent.csAlso switched from SQLite, ActiveRecord to pure NHibernate and SQL Server Compact
Replaced SQLite package with SQL Compact. Still need to update or remove direct statements
Removed MD5 Calculations for Old and New FileStateChange DB Scheme (on create, update)removed the md5 hash creation on merkle hash.Removed all MD5BlockCalculator.cs functions
DB NEEDS TO BE REMOVED before updating the client. <<< "Hint update Inno"
Commit before switching to sql compact
Nuked Short Hashing, always returns null
Convert all url usages to use the Uri class instead of raw strings.Local paths and names are always escaped when converted to Uris, but only then.Uris converted to local file paths are always unescaped and only then.Deserialization of Json object list escapes the paths because the server returns the urls unescaped
Fixed off-by-1 buffer error
Both debug and release switched to x86
Switch to x86
Compile Fixesopenssl Libraries
Replaced .NET hashing with OpenSSL
Changed ETag calculation to SHA256ETag not posted on directory uploads, to avoid 422 errorsEtag posted in other cases, even if the server ignores itMerkle block hashes are now stored in the databaseHash calculations first check the state database for existing valid hashes, to avoid recalculating the Merkle hash for unchanged files
Changes to hash calculation.SyncSingleItem not yet tested
Fix for object names with '%20' and ' ' inside
Upgradec Caliburn.Micro, SQLite
Move to 2012 and the Async Targeting pack
Added FileState table creation in StatusAgent.UpgradeDatabaseModified CloudFilesClient.cs to create a _baseClient when retrieving account policiesAdded code to delete existing records without an ObjectID when storing state
Modified code for server moves, to check that the target parent directory exists and create it if it doesn't
Added database upgrade code to force COLLATE NOCASE
Switched to CreateQuery from CreateSQLQuery for all bulk updates to the DB.
Note: COLATE NOCASE must be set in SQL Creation to avoid case issues.
Fix for multiple processing of deep hierarchies
Changes to allow upload of new folders that are stored in selected folders
Added local move to server MOVE only for unchanged files.
Created separate version files for the client and libraries. The libraries have a version number starting with 1, while the client has a version number starting with 0.
Added initial parallelism value equal to Total cores/2Now using the parallelism setting in all hash calculations that accept a parallelism setting.
Added fix to process the child items of new root
Added cancellation to hashing
Fixed current operation cancellation
Added check for nonexistent file before updating checksum
Added isDirectory parameter to DeleteObjectCreated separate AssemblyVersion file used by all Pithos projects to hold common version number
Activated missing parents detection
Renamed root folders are added to the list of selective folders, as long as their container is also selected
Fixed invalid transaction management
Added check for missing parents on shared folders, disabled for now
Modified StoreInfoDirect to use only NHibernate
Update through NH used in more places
Modified UpdateStatusDirect to use NHibernate's session instead of a separate ADO.NET connection. If successful, all direct commands should be changed in the same way
Reduced buffer size while hashing to 16K
Attempt to fix multiple preferences windows
Added check for stale states
Fix for possible NULL S
Wrapped troublesome updates at StoreInfoDirect in a transaction
Added checks for hashing of cache filesModified StoreInfoDirect to avoid multiple checks when trying to update or insert
Added restrained capacity to MD5 Block calculator, to prevent reading too many blocks if the CPU can't process them fast enough
Added check for last MD5 modification, to avoid redundant recalculation of MD5
Added ShortHashDate to FileState.cs
Added file event filtering due to downloads through network gate.Added missing network gates in PollAgentSimplified file event processing, as we no longer need the file events themselves during polling
Updated registration for restart manager to push null for app params (c++ dll import needs update for win8)Updated inno installer configuration for RM handling to include gpant commits.Added logging for RM registration (fails silently on anything before VISTA)...
Replaced Merkle hash with MD5 for change checkingRemoved initial file indexingAdded hash progress feedbackChanges to Selective Tree check behavior
Added upload/download/delete/hashing notificationsFixed cases where execution would switch to the UI thread due to SynchronizationContext capturingMini Status now opens when left clicking on the tray icon
Added indexing notifications
Added special handling of IfModifiedSince if a new shared container is detected
Restored IfModifiedSince functionality and server snapshots
Support for very large files
Modified hash to use long block counters
Restored batchingNow handling renames in batchingFixed blocking issues
Fix for incorrect ordering of Selective Sync load, Stale state sync
Changed timeout for server response to 30sec
Notification before hash starts
Disabled batch filtering
Fix for NH/LINQ conflict with IsAtOrBelow
Selective filtering modifications to allow uploading of new root foldersStates under unselected folders are removed during startup
Modified the progress notifications to display for all progress eventsFixes to Selective synchronization
Added synchronization of newly added selective paths instead of polling all files
Added processing of batch files
MOdified upload/download to prevent duplicate hash calculations
Fixes for stale states, case insensitive movesDisabled leftover NetworkAgent functionality
Fix for leftover IfModifiedChange
Added server move detection when hashes match or downloading
Using MD5 to quickly check for local modifications before calculating the expensive Merkle hashFixed bug that didn't upload the contents of new unselected root folders
Change to Polling agent