Merge branch 'master' of https://code.grnet.gr/git/pithos-ms-client
authorpkanavos <pkanavos@gmail.com>
Thu, 29 Mar 2012 22:05:10 +0000 (01:05 +0300)
committerpkanavos <pkanavos@gmail.com>
Thu, 29 Mar 2012 22:06:02 +0000 (01:06 +0300)
Conflicts:
trunk/Pithos.Client.WPF/Properties/AssemblyInfo.cs
trunk/Pithos.Network/RestClient.cs

Replaced v 1.0.66 of SQLite with v. 1.0.79 specific for .NET 4.0

24 files changed:
trunk/Libraries/32/System.Data.SQLite.dll [deleted file]
trunk/Libraries/64/System.Data.SQLite.dll [deleted file]
trunk/Pithos.Client.WPF/Pithos.Client.WPF.csproj
trunk/Pithos.Client.WPF/Properties/AssemblyInfo.cs
trunk/Pithos.Client.WPF/app.config
trunk/Pithos.Client.WPF/packages.config
trunk/Pithos.Core/Agents/BlockExtensions.cs
trunk/Pithos.Core/Pithos.Core.csproj
trunk/Pithos.Core/packages.config
trunk/Pithos.Network/CloudFilesClient.cs
trunk/Pithos.Network/Pithos.Network.csproj
trunk/Pithos.Network/RestClient.cs
trunk/Pithos.Network/Signature.cs
trunk/Pithos.Network/WebExtensions.cs [new file with mode: 0644]
trunk/packages/System.Data.SQLite.1.0.66.1/System.Data.SQLite.1.0.66.1.nupkg [deleted file]
trunk/packages/System.Data.SQLite.1.0.66.1/content/app.config.transform [deleted file]
trunk/packages/System.Data.SQLite.1.0.66.1/content/web.config.transform [deleted file]
trunk/packages/System.Data.SQLite.1.0.66.1/lib/System.Data.SQLite.DLL [deleted file]
trunk/packages/System.Data.SQLite.1.0.66.1/tools/readme.txt [deleted file]
trunk/packages/System.Data.SQLite.1.0.79.0/System.Data.SQLite.1.0.79.0.nupkg [new file with mode: 0644]
trunk/packages/System.Data.SQLite.1.0.79.0/lib/net20/System.Data.SQLite.Linq.dll [moved from trunk/Libraries/64/System.Data.SQLite.Linq.dll with 70% similarity]
trunk/packages/System.Data.SQLite.1.0.79.0/lib/net20/System.Data.SQLite.dll [new file with mode: 0644]
trunk/packages/System.Data.SQLite.1.0.79.0/lib/net40/System.Data.SQLite.Linq.dll [moved from trunk/Libraries/32/System.Data.SQLite.Linq.dll with 90% similarity]
trunk/packages/System.Data.SQLite.1.0.79.0/lib/net40/System.Data.SQLite.dll [new file with mode: 0644]

diff --git a/trunk/Libraries/32/System.Data.SQLite.dll b/trunk/Libraries/32/System.Data.SQLite.dll
deleted file mode 100644 (file)
index 040fe87..0000000
Binary files a/trunk/Libraries/32/System.Data.SQLite.dll and /dev/null differ
diff --git a/trunk/Libraries/64/System.Data.SQLite.dll b/trunk/Libraries/64/System.Data.SQLite.dll
deleted file mode 100644 (file)
index 9a2a83d..0000000
Binary files a/trunk/Libraries/64/System.Data.SQLite.dll and /dev/null differ
index eff8abe..97cfe2a 100644 (file)
     <Reference Include="System.ComponentModel.Composition" />
     <Reference Include="System.Configuration.Install" />
     <Reference Include="System.Data" />
+    <Reference Include="System.Data.SQLite, Version=1.0.79.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=x86">
+      <HintPath>..\packages\System.Data.SQLite.1.0.79.0\lib\net40\System.Data.SQLite.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Data.SQLite.Linq">
+      <HintPath>..\packages\System.Data.SQLite.1.0.79.0\lib\net40\System.Data.SQLite.Linq.dll</HintPath>
+    </Reference>
     <Reference Include="System.Drawing" />
     <Reference Include="System.Runtime.Serialization" />
     <Reference Include="System.ServiceModel" />
     <Resource Include="Images\pithos_logo-title-80height.png" />
   </ItemGroup>
   <ItemGroup>
-    <Resource Include="Images\Bitmap1.bmp" />
-  </ItemGroup>
-  <ItemGroup>
     <Resource Include="Images\pithos_logo-title-margin-splash-600-whitebg.png" />
   </ItemGroup>
   <ItemGroup>
index 9f6513f..3115c50 100644 (file)
@@ -93,5 +93,5 @@ using System.Windows;
 // You can specify all the values or you can default the Build and Revision Numbers 
 // by using the '*' as shown below:
 // [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("0.7.20318.0")]
-[assembly: AssemblyFileVersionAttribute("0.7.20318.0")]
+[assembly: AssemblyVersion("0.7.20319.0")]
+[assembly: AssemblyFileVersionAttribute("0.7.20319.0")]
index d47391e..b56069f 100644 (file)
@@ -1,31 +1,31 @@
 <?xml version="1.0" encoding="utf-8"?>
 <configuration>
-       <configSections>
-               <sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-                       <section name="Pithos.Client.WPF.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
-               </sectionGroup>
-               <sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-                       <section name="Pithos.Client.WPF.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
-               </sectionGroup>
-               <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
-       </configSections>
-       <runtime>
-               <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
-                       <dependentAssembly>
-                               <assemblyIdentity name="Caliburn.Micro" publicKeyToken="8e5891231f2ed21f" culture="neutral" />
-                               <bindingRedirect oldVersion="0.0.0.0-1.2.0.0" newVersion="1.2.0.0" />
-                       </dependentAssembly>
-                       <dependentAssembly>
-                               <assemblyIdentity name="NHibernate" publicKeyToken="aa95f207798dfdb4" culture="neutral" />
-                               <bindingRedirect oldVersion="0.0.0.0-3.1.0.4000" newVersion="3.1.0.4000" />
-                       </dependentAssembly>
-                       <dependentAssembly>
-                               <assemblyIdentity name="NHibernate.ByteCode.Castle" publicKeyToken="aa95f207798dfdb4" culture="neutral" />
-                               <bindingRedirect oldVersion="0.0.0.0-3.1.0.4000" newVersion="3.1.0.4000" />
-                       </dependentAssembly>
-               </assemblyBinding>
-       </runtime>
-       <!--<appSettings>
+  <configSections>
+    <sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+      <section name="Pithos.Client.WPF.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
+    </sectionGroup>
+    <sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+      <section name="Pithos.Client.WPF.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
+    </sectionGroup>
+    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
+  </configSections>
+  <runtime>
+    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+      <dependentAssembly>
+        <assemblyIdentity name="Caliburn.Micro" publicKeyToken="8e5891231f2ed21f" culture="neutral" />
+        <bindingRedirect oldVersion="0.0.0.0-1.2.0.0" newVersion="1.2.0.0" />
+      </dependentAssembly>
+      <dependentAssembly>
+        <assemblyIdentity name="NHibernate" publicKeyToken="aa95f207798dfdb4" culture="neutral" />
+        <bindingRedirect oldVersion="0.0.0.0-3.1.0.4000" newVersion="3.1.0.4000" />
+      </dependentAssembly>
+      <dependentAssembly>
+        <assemblyIdentity name="NHibernate.ByteCode.Castle" publicKeyToken="aa95f207798dfdb4" culture="neutral" />
+        <bindingRedirect oldVersion="0.0.0.0-3.1.0.4000" newVersion="3.1.0.4000" />
+      </dependentAssembly>
+    </assemblyBinding>
+  </runtime>
+  <!--<appSettings>
                <add key="log4net.Internal.Debug" value="true" />
        </appSettings>
        <system.diagnostics>
                        </listeners>
                </trace>
        </system.diagnostics>-->
-       <userSettings>
-               <Pithos.Client.WPF.Properties.Settings>
-   <setting name="PithosPath" serializeAs="String">
-    <value>e:\Pithos</value>
-   </setting>
-   <setting name="IconPath" serializeAs="String">
-    <value>C:\Program Files\Common Files\TortoiseOverlays\icons\XPStyle</value>
-   </setting>
-   <setting name="ProxyServer" serializeAs="String">
-    <value />
-   </setting>
-   <setting name="ProxyPort" serializeAs="String">
-    <value>8080</value>
-   </setting>
-   <setting name="ProxyUsername" serializeAs="String">
-    <value />
-   </setting>
-   <setting name="ProxyPassword" serializeAs="String">
-    <value />
-   </setting>
-   <setting name="ProxyAuthentication" serializeAs="String">
-    <value>True</value>
-   </setting>
-   <setting name="ExtensionsActivated" serializeAs="String">
-    <value>True</value>
-   </setting>
-   <setting name="UserName" serializeAs="String">
-    <value>pkanavos</value>
-   </setting>
-   <setting name="ApiKey" serializeAs="String">
-    <value>9d3cb7b231e96f72ebe96af1c6cd5112</value>
-   </setting>
-   <setting name="ShowDesktopNotifications" serializeAs="String">
-    <value>True</value>
-   </setting>
-   <setting name="StartOnSystemStartup" serializeAs="String">
-    <value>True</value>
-   </setting>
-   <setting name="UseNoProxy" serializeAs="String">
-    <value>False</value>
-   </setting>
-   <setting name="UseDefaultProxy" serializeAs="String">
-    <value>True</value>
-   </setting>
-   <setting name="UseManualProxy" serializeAs="String">
-    <value>False</value>
-   </setting>
-   <setting name="MustUpgrade" serializeAs="String">
-    <value>True</value>
-   </setting>
-   <setting name="PollingInterval" serializeAs="String">
-    <value>10</value>
-   </setting>
-   <setting name="ProxyDomain" serializeAs="String">
-    <value />
-   </setting>
-   <setting name="HashingParallelism" serializeAs="String">
-    <value>1</value>
-   </setting>
-   <setting name="StartupDelay" serializeAs="String">
-    <value>00:01:00</value>
-   </setting>
-   <setting name="UpdateDiagnostics" serializeAs="String">
-    <value>False</value>
-   </setting>
-   <setting name="UpdateCheckInterval" serializeAs="String">
-    <value>24.00:00:00</value>
-   </setting>
-   <setting name="DebugLoggingEnabled" serializeAs="String">
-    <value>False</value>
-   </setting>
-  </Pithos.Client.WPF.Properties.Settings>
-       </userSettings>
-       <connectionStrings>
-               <add name="Sqlite_InMemory" providerName="System.Data.SQLite" connectionString="Data Source=:memory:;Version=3;New=True" />
-       </connectionStrings>
-       <system.data>
-               <DbProviderFactories>
-                       <remove invariant="System.Data.SQLite" />
-                       <add name="SQLite Data Provider" invariant="System.Data.SQLite" description=".Net Framework Data Provider for SQLite" type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite" />
-               </DbProviderFactories>
-       </system.data>
-
-       <startup useLegacyV2RuntimeActivationPolicy="true">
-               <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0,Profile=Client" />
-       </startup>
-       <applicationSettings>
-               <Pithos.Client.WPF.Properties.Settings>
-   <setting name="CloudfilesAuthenticationUrl" serializeAs="String">
-    <value>https://auth.api.rackspacecloud.com</value>
-   </setting>
-   <setting name="FeedbackUri" serializeAs="String">
-    <value>https://pithos.dev.grnet.gr/im/feedback</value>
-   </setting>
-   <setting name="ProductionServer" serializeAs="String">
-    <value>https://pithos.okeanos.grnet.gr</value>
-   </setting>
-   <setting name="DevelopmentServer" serializeAs="String">
-    <value>https://pithos.dev.grnet.gr</value>
-   </setting>
-   <setting name="UpdateUrl" serializeAs="String">
-    <value>https://code.grnet.gr/projects/pithos-ms-client/repository/revisions/master/raw/trunk/Pithos.Installer/versioninfo.xml</value>
-   </setting>
-   <setting name="FileIdleTimeout" serializeAs="String">
-    <value>00:00:10</value>
-   </setting>
-   <setting name="UpdateForceCheck" serializeAs="String">
-    <value>True</value>
-   </setting>
-  </Pithos.Client.WPF.Properties.Settings>
-       </applicationSettings>
-       <log4net>
-               <appender name="TraceAppender" type="log4net.Appender.TraceAppender" >
-                       <layout type="log4net.Layout.PatternLayout">
-                               <conversionPattern value="%logger (%property{CloudFile}) [%level]- %message%newline" />
-                       </layout>
-                       <filter type="log4net.Filter.LoggerMatchFilter">
-                               <loggerToMatch value="NHibernate" />
-                               <acceptOnMatch value="false" />
-                       </filter>
-                       <filter type="log4net.Filter.LoggerMatchFilter">
-                               <loggerToMatch value="Caliburn" />
-                               <acceptOnMatch value="false" />
-                       </filter>
-               </appender>
-
-               <appender name="DumpFileAppender" type="log4net.Appender.RollingFileAppender">
-                       <file value="errorlog.xml" />
-                       <appendToFile value="false" />
-                       <rollingStyle value="Size" />
-                       <maxSizeRollBackups value="10" />
-                       <maximumFileSize value="100KB" />
-                       <staticLogFileName value="true" />
-                       <layout type="log4net.Layout.XMLLayout"/>
-               </appender>
-
-               <appender name="DebugFileAppender" type="log4net.Appender.RollingFileAppender">
-                       <file value="debuglog.xml" />
-                       <appendToFile value="true" />
-                       <rollingStyle value="Size" />
-                       <maxSizeRollBackups value="10" />
-                       <maximumFileSize value="2MB" />
-                       <staticLogFileName value="true" />
-                       <layout type="log4net.Layout.XMLLayout"/>
-               </appender>
-
-               <appender name="OutputDebugStringAppender" type="log4net.Appender.OutputDebugStringAppender" >
-                       <layout type="log4net.Layout.PatternLayout">
-                               <conversionPattern value="%logger (%property{Operation}) [%level]- %message%newline" />
-                       </layout>
-               </appender>
-
-               <appender name="LossyFileAppender" type="log4net.Appender.BufferingForwardingAppender">
-                       <filter type="log4net.Filter.LevelRangeFilter">
-                               <levelMin value="DEBUG" />
-                               <levelMax value="FATAL" />
-                       </filter>
-                       <bufferSize value="30" />
-                       <lossy value="true"/>
-                       <evaluator type="log4net.Core.LevelEvaluator">
-                               <threshold value="ERROR" />
-                       </evaluator>
-                       <appender-ref ref="DumpFileAppender" />
-               </appender>
-               
-<!--
+  <userSettings>
+    <Pithos.Client.WPF.Properties.Settings>
+      <setting name="PithosPath" serializeAs="String">
+        <value>e:\Pithos</value>
+      </setting>
+      <setting name="IconPath" serializeAs="String">
+        <value>C:\Program Files\Common Files\TortoiseOverlays\icons\XPStyle</value>
+      </setting>
+      <setting name="ProxyServer" serializeAs="String">
+        <value />
+      </setting>
+      <setting name="ProxyPort" serializeAs="String">
+        <value>8080</value>
+      </setting>
+      <setting name="ProxyUsername" serializeAs="String">
+        <value />
+      </setting>
+      <setting name="ProxyPassword" serializeAs="String">
+        <value />
+      </setting>
+      <setting name="ProxyAuthentication" serializeAs="String">
+        <value>True</value>
+      </setting>
+      <setting name="ExtensionsActivated" serializeAs="String">
+        <value>True</value>
+      </setting>
+      <setting name="UserName" serializeAs="String">
+        <value>pkanavos</value>
+      </setting>
+      <setting name="ApiKey" serializeAs="String">
+        <value>9d3cb7b231e96f72ebe96af1c6cd5112</value>
+      </setting>
+      <setting name="ShowDesktopNotifications" serializeAs="String">
+        <value>True</value>
+      </setting>
+      <setting name="StartOnSystemStartup" serializeAs="String">
+        <value>True</value>
+      </setting>
+      <setting name="UseNoProxy" serializeAs="String">
+        <value>False</value>
+      </setting>
+      <setting name="UseDefaultProxy" serializeAs="String">
+        <value>True</value>
+      </setting>
+      <setting name="UseManualProxy" serializeAs="String">
+        <value>False</value>
+      </setting>
+      <setting name="MustUpgrade" serializeAs="String">
+        <value>True</value>
+      </setting>
+      <setting name="PollingInterval" serializeAs="String">
+        <value>10</value>
+      </setting>
+      <setting name="ProxyDomain" serializeAs="String">
+        <value />
+      </setting>
+      <setting name="HashingParallelism" serializeAs="String">
+        <value>1</value>
+      </setting>
+      <setting name="StartupDelay" serializeAs="String">
+        <value>00:01:00</value>
+      </setting>
+      <setting name="UpdateDiagnostics" serializeAs="String">
+        <value>False</value>
+      </setting>
+      <setting name="UpdateCheckInterval" serializeAs="String">
+        <value>24.00:00:00</value>
+      </setting>
+      <setting name="DebugLoggingEnabled" serializeAs="String">
+        <value>False</value>
+      </setting>
+    </Pithos.Client.WPF.Properties.Settings>
+  </userSettings>
+  <startup>
+    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0,Profile=Client" />
+  </startup>
+  <applicationSettings>
+    <Pithos.Client.WPF.Properties.Settings>
+      <setting name="CloudfilesAuthenticationUrl" serializeAs="String">
+        <value>https://auth.api.rackspacecloud.com</value>
+      </setting>
+      <setting name="FeedbackUri" serializeAs="String">
+        <value>https://pithos.dev.grnet.gr/im/feedback</value>
+      </setting>
+      <setting name="ProductionServer" serializeAs="String">
+        <value>https://pithos.okeanos.grnet.gr</value>
+      </setting>
+      <setting name="DevelopmentServer" serializeAs="String">
+        <value>https://pithos.dev.grnet.gr</value>
+      </setting>
+      <setting name="UpdateUrl" serializeAs="String">
+        <value>https://code.grnet.gr/projects/pithos-ms-client/repository/revisions/master/raw/trunk/Pithos.Installer/versioninfo.xml</value>
+      </setting>
+      <setting name="FileIdleTimeout" serializeAs="String">
+        <value>00:00:10</value>
+      </setting>
+      <setting name="UpdateForceCheck" serializeAs="String">
+        <value>True</value>
+      </setting>
+    </Pithos.Client.WPF.Properties.Settings>
+  </applicationSettings>
+  <log4net>
+    <appender name="TraceAppender" type="log4net.Appender.TraceAppender">
+      <layout type="log4net.Layout.PatternLayout">
+        <conversionPattern value="%logger (%property{CloudFile}) [%level]- %message%newline" />
+      </layout>
+      <filter type="log4net.Filter.LoggerMatchFilter">
+        <loggerToMatch value="NHibernate" />
+        <acceptOnMatch value="false" />
+      </filter>
+      <filter type="log4net.Filter.LoggerMatchFilter">
+        <loggerToMatch value="Caliburn" />
+        <acceptOnMatch value="false" />
+      </filter>
+    </appender>
+    <appender name="DumpFileAppender" type="log4net.Appender.RollingFileAppender">
+      <file value="errorlog.xml" />
+      <appendToFile value="false" />
+      <rollingStyle value="Size" />
+      <maxSizeRollBackups value="10" />
+      <maximumFileSize value="100KB" />
+      <staticLogFileName value="true" />
+      <layout type="log4net.Layout.XMLLayout" />
+    </appender>
+    <appender name="DebugFileAppender" type="log4net.Appender.RollingFileAppender">
+      <file value="debuglog.xml" />
+      <appendToFile value="true" />
+      <rollingStyle value="Size" />
+      <maxSizeRollBackups value="10" />
+      <maximumFileSize value="2MB" />
+      <staticLogFileName value="true" />
+      <layout type="log4net.Layout.XMLLayout" />
+    </appender>
+    <appender name="OutputDebugStringAppender" type="log4net.Appender.OutputDebugStringAppender">
+      <layout type="log4net.Layout.PatternLayout">
+        <conversionPattern value="%logger (%property{Operation}) [%level]- %message%newline" />
+      </layout>
+    </appender>
+    <appender name="LossyFileAppender" type="log4net.Appender.BufferingForwardingAppender">
+      <filter type="log4net.Filter.LevelRangeFilter">
+        <levelMin value="DEBUG" />
+        <levelMax value="FATAL" />
+      </filter>
+      <bufferSize value="30" />
+      <lossy value="true" />
+      <evaluator type="log4net.Core.LevelEvaluator">
+        <threshold value="ERROR" />
+      </evaluator>
+      <appender-ref ref="DumpFileAppender" />
+    </appender>
+    <!--
                <appender name="MemoryAppender" type="log4net.Appender.MemoryAppender" >
                        
                        <threshold value="All" />
                </appender>
 -->
-<!--
+    <!--
                <appender name="LossySmtpAppender" type="log4net.Appender.SmtpAppender">
                        <to value="pkanavos@gmail.com" />
                        <from value="pkpithos@gmail.com" />
                        </layout>
                </appender>
 -->
-
-               <logger name="NHibernate" additivity="true">
-                       <level value="WARN"/>
-                       <appender-ref ref="TraceAppender"/>
-               </logger>
-
-
-               <logger name="Caliburn" additivity="false">
-                       <level value="WARN"/>
-                       <appender-ref ref="TraceAppender"/>
-               </logger>
-
-               <logger name="Pithos" additivity="true">
-                       <level value="ALL"/>
-                       <appender-ref ref="TraceAppender"/>
-               </logger>
-
-               <root>
-                       <level value="ALL" />
-                       <appender-ref ref="DebugFileAppender" />
-                       <appender-ref ref="LossyFileAppender" />
-                       <!--
+    <logger name="NHibernate" additivity="true">
+      <level value="WARN" />
+      <appender-ref ref="TraceAppender" />
+    </logger>
+    <logger name="Caliburn" additivity="false">
+      <level value="WARN" />
+      <appender-ref ref="TraceAppender" />
+    </logger>
+    <logger name="Pithos" additivity="true">
+      <level value="ALL" />
+      <appender-ref ref="TraceAppender" />
+    </logger>
+    <root>
+      <level value="ALL" />
+      <appender-ref ref="DebugFileAppender" />
+      <appender-ref ref="LossyFileAppender" />
+      <!--
                        <appender-ref ref="LossySmtpAppender" />
 -->
-                       <appender-ref ref="TraceAppender" />
-                       <appender-ref ref="MemoryAppender" />
-                       <appender-ref ref="OutputDebugStringAppender" />
-               </root>
-       </log4net>
+      <appender-ref ref="TraceAppender" />
+      <appender-ref ref="MemoryAppender" />
+      <appender-ref ref="OutputDebugStringAppender" />
+    </root>
+  </log4net>
 </configuration>
\ No newline at end of file
index ae97656..df6d018 100644 (file)
@@ -3,5 +3,5 @@
   <package id="Caliburn.Micro" version="1.2.0" />
   <package id="Caliburn.Micro.Logging" version="1.2" />
   <package id="Extended.Wpf.Toolkit" version="1.5.0" />
-  <package id="System.Data.SQLite" version="1.0.66.1" />
+  <package id="System.Data.SQLite" version="1.0.79.0" />
 </packages>
\ No newline at end of file
index 04b4996..3b5eea3 100644 (file)
@@ -43,18 +43,21 @@ using System;
 using System.Collections.Generic;
 using System.Diagnostics.Contracts;
 using System.Linq;
+using System.Reflection;
 using System.Security.Cryptography;
 using System.Text;
 using System.IO;
 using System.Text.RegularExpressions;
 using System.Threading.Tasks;
 using Pithos.Network;
+using log4net;
 
 namespace Pithos.Core.Agents
 {
     static class BlockExtensions
     {
-        
+
+        private static readonly ILog Log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
 
         public static int Read(this FileInfo fileInfo,byte[] buffer,long offset,int count)
         {
@@ -106,10 +109,13 @@ namespace Pithos.Core.Agents
            if (!info.Exists)
                return String.Empty;
 
+           if (Log.IsDebugEnabled)
+                Log.DebugFormat("Short Hashing [{0}] ",info.FullName);
+
            using (var stream = info.Open(FileMode.Open, FileAccess.Read, FileShare.Read))
            {
                var hash = hasher.ComputeHash(stream);
-               var hashString = hash.ToHashString();
+                var hashString = hash.ToHashString();
                return hashString;
            }
        }
index 016ce3b..b7901c4 100644 (file)
     <Reference Include="System" />
     <Reference Include="System.ComponentModel.Composition" />
     <Reference Include="System.Core" />
+    <Reference Include="System.Data.SQLite">
+      <HintPath>..\packages\System.Data.SQLite.1.0.79.0\lib\net40\System.Data.SQLite.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Data.SQLite.Linq">
+      <HintPath>..\packages\System.Data.SQLite.1.0.79.0\lib\net40\System.Data.SQLite.Linq.dll</HintPath>
+    </Reference>
     <Reference Include="System.ServiceModel" />
     <Reference Include="System.Threading.Tasks.Dataflow">
       <HintPath>..\Libraries\System.Threading.Tasks.Dataflow.dll</HintPath>
     </Reference>
-    <Reference Include="System.Data.SQLite, Version=1.0.76.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=x86">
-      <SpecificVersion>True</SpecificVersion>
-      <HintPath>..\Libraries\32\System.Data.SQLite.dll</HintPath>
-    </Reference>
     <Reference Include="System.Xml.Linq" />
     <Reference Include="System.Data.DataSetExtensions" />
     <Reference Include="Microsoft.CSharp" />
index 8a13a2d..6808edd 100644 (file)
@@ -7,5 +7,6 @@
   <package id="NHibernate" version="3.1.0.4000" />
   <package id="NHibernate.Castle" version="3.1.0.4000" />
   <package id="ServiceStack.Text" version="2.27" />
+  <package id="System.Data.SQLite" version="1.0.79.0" />
   <package id="Windows7APICodePack" version="1.0.0.0" />
 </packages>
\ No newline at end of file
index eb4e615..d2993ce 100644 (file)
@@ -1035,7 +1035,8 @@ namespace Pithos.Network
             client.Headers[HttpRequestHeader.ContentType] = "application/octet-stream";
             var jsonHash = hash.ToJson();
             var uploadTask=client.UploadStringTask(uri, "PUT", jsonHash);
-            
+            if (Log.IsDebugEnabled)
+                Log.DebugFormat("Hashes:\r\n{0}", jsonHash);
             return uploadTask.ContinueWith(t =>
             {
 
@@ -1059,9 +1060,8 @@ namespace Pithos.Network
                     {
                         //In case of 409 the missing parts will be in the response content                        
                         using (var stream = response.GetResponseStream())
-                        using(var reader=new StreamReader(stream))
+                        using(var reader=stream.GetLoggedReader(Log))
                         {
-                            Debug.Assert(stream.Position == 0);
                             //We used to have to cleanup the content before returning it because it contains
                             //error content after the list of hashes
                             //
@@ -1069,12 +1069,13 @@ namespace Pithos.Network
                             //line by line
                             
                             var serializer = new JsonSerializer();                            
-                            var hashes=(List<string>)serializer.Deserialize(reader, typeof (List<string>));
-
+                            serializer.Error += (sender, args) => Log.ErrorFormat("Deserialization error at [{0}] [{1}]", args.ErrorContext.Error, args.ErrorContext.Member);
+                            var hashes = (List<string>)serializer.Deserialize(reader, typeof(List<string>));
                             return hashes;
                         }                        
                     }                    
                     //Any other status code is unexpected and the exception should be rethrown
+                    Log.LogError(response);
                     throw ex;
                     
                 }
@@ -1086,6 +1087,7 @@ namespace Pithos.Network
 
         }
 
+        
         public Task<byte[]> GetBlock(string account, string container, Uri relativeUrl, long start, long? end)
         {
             if (String.IsNullOrWhiteSpace(Token))
index 513e2db..02abe61 100644 (file)
     <Compile Include="Properties\AssemblyInfo.cs" />
     <Compile Include="Signature.cs" />
     <Compile Include="TreeHash.cs" />
+    <Compile Include="WebExtensions.cs" />
   </ItemGroup>
   <ItemGroup>
     <ProjectReference Include="..\Libraries\Json40r2\Source\Src\Newtonsoft.Json\Newtonsoft.Json.csproj">
index 827b76a..5566c12 100644 (file)
@@ -94,9 +94,10 @@ namespace Pithos.Network
             Contract.Invariant(Headers!=null);    
         }
 
-        public RestClient():base()\r
-        {\r
-            HttpWebRequest.DefaultMaximumErrorResponseLength = 67108864;\r
+        public RestClient():base()
+        {
+            //The maximum error response must be large because missing server hashes are return as a Conflivt (409) error response
+            HttpWebRequest.DefaultMaximumErrorResponseLength = 16*1024*1024;
         }
 
        
@@ -107,6 +108,8 @@ namespace Pithos.Network
                 throw new ArgumentNullException("other");
             Contract.EndContractBlock();
 
+            HttpWebRequest.DefaultMaximumErrorResponseLength = 16 * 1024 * 1024;
+
             CopyHeaders(other);
             Timeout = other.Timeout;
             Retries = other.Retries;
index 634fea5..c8faac8 100644 (file)
@@ -79,7 +79,7 @@ namespace Pithos.Network
 
             string hash;
             using (var hasher = MD5.Create())
-            using (var stream = new FileStream(path, FileMode.Open, FileAccess.Read, FileShare.Read, 4096, true))
+            using (var stream = new FileStream(path, FileMode.Open, FileAccess.Read, FileShare.Read, 65536, true))
             {
                 var hashBytes = hasher.ComputeHash(stream);
                 hash = hashBytes.ToHashString();
diff --git a/trunk/Pithos.Network/WebExtensions.cs b/trunk/Pithos.Network/WebExtensions.cs
new file mode 100644 (file)
index 0000000..7aed40b
--- /dev/null
@@ -0,0 +1,53 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Net;
+using System.IO;
+using log4net;
+
+namespace Pithos.Network
+{
+    public static class WebExtensions
+    {
+        public static string ReadToEnd(this HttpWebResponse response)
+        {
+            using (var stream = response.GetResponseStream())
+            {
+                if (stream == null)
+                    return null;
+                using (var reader = new StreamReader(stream))
+                {
+                    var body = reader.ReadToEnd();
+                    return body;
+                }
+            }
+        }
+    
+        public static void LogError(this ILog log,HttpWebResponse response)
+        {
+            if (log.IsDebugEnabled)
+            {
+                if (response != null)
+                {
+                    var body = response.ReadToEnd();
+                    log.ErrorFormat("Headers:\n{0}\nBody:{1}", response.Headers,body);
+                }
+            }
+        }
+
+        public static TextReader GetLoggedReader(this Stream stream,ILog log)
+        {
+            TextReader reader = new StreamReader(stream);
+            if (!log.IsDebugEnabled)
+                return reader;
+            
+            using (reader)
+            {
+                var body = reader.ReadToEnd();
+                log.DebugFormat("JSON response: {0}", body);
+                return new StringReader(body);
+            }
+        }
+    }
+}
diff --git a/trunk/packages/System.Data.SQLite.1.0.66.1/System.Data.SQLite.1.0.66.1.nupkg b/trunk/packages/System.Data.SQLite.1.0.66.1/System.Data.SQLite.1.0.66.1.nupkg
deleted file mode 100644 (file)
index 29f8d56..0000000
Binary files a/trunk/packages/System.Data.SQLite.1.0.66.1/System.Data.SQLite.1.0.66.1.nupkg and /dev/null differ
diff --git a/trunk/packages/System.Data.SQLite.1.0.66.1/content/app.config.transform b/trunk/packages/System.Data.SQLite.1.0.66.1/content/app.config.transform
deleted file mode 100644 (file)
index f8dee0f..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="utf-8" ?>
-<configuration>
-  <connectionStrings>
-    <add name="Sqlite_InMemory" providerName="System.Data.SQLite" 
-         connectionString="Data Source=:memory:;Version=3;New=True" />
-  </connectionStrings>
-  
-  <system.data>
-    <DbProviderFactories>
-      <remove invariant="System.Data.SQLite"/>
-      <add name="SQLite Data Provider" 
-          invariant="System.Data.SQLite" 
-          description=".Net Framework Data Provider for SQLite" 
-          type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite"/>
-    </DbProviderFactories>
-  </system.data>
-
-  <startup useLegacyV2RuntimeActivationPolicy="true">
-    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
-  </startup>
-</configuration>
\ No newline at end of file
diff --git a/trunk/packages/System.Data.SQLite.1.0.66.1/content/web.config.transform b/trunk/packages/System.Data.SQLite.1.0.66.1/content/web.config.transform
deleted file mode 100644 (file)
index f8dee0f..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="utf-8" ?>
-<configuration>
-  <connectionStrings>
-    <add name="Sqlite_InMemory" providerName="System.Data.SQLite" 
-         connectionString="Data Source=:memory:;Version=3;New=True" />
-  </connectionStrings>
-  
-  <system.data>
-    <DbProviderFactories>
-      <remove invariant="System.Data.SQLite"/>
-      <add name="SQLite Data Provider" 
-          invariant="System.Data.SQLite" 
-          description=".Net Framework Data Provider for SQLite" 
-          type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite"/>
-    </DbProviderFactories>
-  </system.data>
-
-  <startup useLegacyV2RuntimeActivationPolicy="true">
-    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
-  </startup>
-</configuration>
\ No newline at end of file
diff --git a/trunk/packages/System.Data.SQLite.1.0.66.1/lib/System.Data.SQLite.DLL b/trunk/packages/System.Data.SQLite.1.0.66.1/lib/System.Data.SQLite.DLL
deleted file mode 100644 (file)
index aa398bb..0000000
Binary files a/trunk/packages/System.Data.SQLite.1.0.66.1/lib/System.Data.SQLite.DLL and /dev/null differ
diff --git a/trunk/packages/System.Data.SQLite.1.0.66.1/tools/readme.txt b/trunk/packages/System.Data.SQLite.1.0.66.1/tools/readme.txt
deleted file mode 100644 (file)
index f9c8aef..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-If you face any SQLite related issues, check the official site:
-http://system.data.sqlite.org/
-
-If you have a problem running your application:
-- If you are running a website in IIS 7.x:
-   1- Open IIS
-   2- Go to Application Pools
-   3- Right click the app pool you use, 
-        choose "Advanced Options"
-   4- Make sure "Enable 32-bit Applications" is set to "True"
-
-For more information and screenshots about configuration visit:
-http://bit.ly/jm9TiY
\ No newline at end of file
diff --git a/trunk/packages/System.Data.SQLite.1.0.79.0/System.Data.SQLite.1.0.79.0.nupkg b/trunk/packages/System.Data.SQLite.1.0.79.0/System.Data.SQLite.1.0.79.0.nupkg
new file mode 100644 (file)
index 0000000..4e923e9
Binary files /dev/null and b/trunk/packages/System.Data.SQLite.1.0.79.0/System.Data.SQLite.1.0.79.0.nupkg differ
similarity index 70%
rename from trunk/Libraries/64/System.Data.SQLite.Linq.dll
rename to trunk/packages/System.Data.SQLite.1.0.79.0/lib/net20/System.Data.SQLite.Linq.dll
index ec0bf2e..78d6748 100644 (file)
Binary files a/trunk/Libraries/64/System.Data.SQLite.Linq.dll and b/trunk/packages/System.Data.SQLite.1.0.79.0/lib/net20/System.Data.SQLite.Linq.dll differ
diff --git a/trunk/packages/System.Data.SQLite.1.0.79.0/lib/net20/System.Data.SQLite.dll b/trunk/packages/System.Data.SQLite.1.0.79.0/lib/net20/System.Data.SQLite.dll
new file mode 100644 (file)
index 0000000..09e36bb
Binary files /dev/null and b/trunk/packages/System.Data.SQLite.1.0.79.0/lib/net20/System.Data.SQLite.dll differ
similarity index 90%
rename from trunk/Libraries/32/System.Data.SQLite.Linq.dll
rename to trunk/packages/System.Data.SQLite.1.0.79.0/lib/net40/System.Data.SQLite.Linq.dll
index ec0bf2e..aabf83d 100644 (file)
Binary files a/trunk/Libraries/32/System.Data.SQLite.Linq.dll and b/trunk/packages/System.Data.SQLite.1.0.79.0/lib/net40/System.Data.SQLite.Linq.dll differ
diff --git a/trunk/packages/System.Data.SQLite.1.0.79.0/lib/net40/System.Data.SQLite.dll b/trunk/packages/System.Data.SQLite.1.0.79.0/lib/net40/System.Data.SQLite.dll
new file mode 100644 (file)
index 0000000..a2d79d1
Binary files /dev/null and b/trunk/packages/System.Data.SQLite.1.0.79.0/lib/net40/System.Data.SQLite.dll differ