A cross-platform desktop app, written in Mono that would download (all or selected) photos from your photostream in their selected size along with their description, title and tags.
Fresh install of version 1.0.4-1 on Ubuntu 14.10 x64
After authenticating on Flickr, the app crashes with the following in the console:
Unhandled Exception:
DotNetOpenAuth.Messaging.ProtocolException: Web request to 'https://api.flickr.com/services/rest' failed. ---> System.Net.WebException: Error getting response stream (Write: The authentication or decryption has failed.): SendFailure ---> System.IO.IOException: The authentication or decryption has failed. ---> Mono.Security.Protocol.Tls.TlsException: Invalid certificate received from server. Error code: 0xffffffff800b010a
at Mono.Security.Protocol.Tls.Handshake.Client.TlsServerCertificate.RemoteValidation (Mono.Security.Protocol.Tls.ClientContext context, AlertDescription description) [0x00000] in :0
at Mono.Security.Protocol.Tls.Handshake.Client.TlsServerCertificate.validateCertificates (Mono.Security.X509.X509CertificateCollection certificates) [0x00000] in :0
at Mono.Security.Protocol.Tls.Handshake.Client.TlsServerCertificate.ProcessAsTls1 () [0x00000] in :0
at Mono.Security.Protocol.Tls.Handshake.HandshakeMessage.Process () [0x00000] in :0
at (wrapper remoting-invoke-with-check) Mono.Security.Protocol.Tls.Handshake.HandshakeMessage:Process ()
at Mono.Security.Protocol.Tls.ClientRecordProtocol.ProcessHandshakeMessage (Mono.Security.Protocol.Tls.TlsStream handMsg) [0x00000] in :0
at Mono.Security.Protocol.Tls.RecordProtocol.InternalReceiveRecordCallback (IAsyncResult asyncResult) [0x00000] in :0
--- End of inner exception stack trace ---
at Mono.Security.Protocol.Tls.SslStreamBase.AsyncHandshakeCallback (IAsyncResult asyncResult) [0x00000] in :0
--- End of inner exception stack trace ---
at System.Net.HttpWebRequest.EndGetRequestStream (IAsyncResult asyncResult) [0x00000] in :0
at System.Net.HttpWebRequest.GetRequestStream () [0x00000] in :0
at DotNetOpenAuth.Messaging.StandardWebRequestHandler.GetRequestStreamCore (System.Net.HttpWebRequest request) [0x00000] in :0
--- End of inner exception stack trace ---
at DotNetOpenAuth.Messaging.StandardWebRequestHandler.GetRequestStreamCore (System.Net.HttpWebRequest request) [0x00000] in :0
at DotNetOpenAuth.Messaging.StandardWebRequestHandler.GetRequestStream (System.Net.HttpWebRequest request, DirectWebRequestOptions options) [0x00000] in :0
at DotNetOpenAuth.Messaging.StandardWebRequestHandler.GetRequestStream (System.Net.HttpWebRequest request) [0x00000] in :0
at DotNetOpenAuth.Messaging.Channel.SendParametersInEntity (System.Net.HttpWebRequest httpRequest, IDictionary2 fields) [0x00000] in <filename unknown>:0 at DotNetOpenAuth.Messaging.Channel.InitializeRequestAsPost (IDirectedProtocolMessage requestMessage) [0x00000] in <filename unknown>:0 at DotNetOpenAuth.OAuth.ChannelElements.OAuthChannel.CreateHttpRequest (IDirectedProtocolMessage request) [0x00000] in <filename unknown>:0 at DotNetOpenAuth.OAuth.ChannelElements.OAuthChannel.InitializeRequest (IDirectedProtocolMessage request) [0x00000] in <filename unknown>:0 at DotNetOpenAuth.OAuth.ConsumerBase.PrepareAuthorizedRequest (DotNetOpenAuth.Messaging.MessageReceivingEndpoint endpoint, System.String accessToken, IDictionary2 extraData) [0x00000] in :0
at FloydPink.Flickr.Downloadr.OAuth.OAuthManager.PrepareAuthorizedRequest (IDictionary2 parameters) [0x00000] in <filename unknown>:0 at FloydPink.Flickr.Downloadr.OAuth.OAuthManager+<MakeAuthenticatedRequestAsync>c__async0.MoveNext () [0x00000] in <filename unknown>:0 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x00000] in <filename unknown>:0 at System.Runtime.CompilerServices.TaskAwaiter1[System.Object].GetResult () [0x00000] in :0
at FloydPink.Flickr.Downloadr.Logic.UserInfoLogic+casync0.MoveNext () [0x00000] in :0
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x00000] in :0
at System.Runtime.CompilerServices.TaskAwaiter`1[FloydPink.Flickr.Downloadr.Model.User].GetResult () [0x00000] in :0
at FloydPink.Flickr.Downloadr.Logic.LoginLogic+casync0.MoveNext () [0x00000] in :0
The app will then crash immediately when trying to start it again.
Fresh install of version 1.0.4-1 on Ubuntu 14.10 x64
After authenticating on Flickr, the app crashes with the following in the console: Unhandled Exception: DotNetOpenAuth.Messaging.ProtocolException: Web request to 'https://api.flickr.com/services/rest' failed. ---> System.Net.WebException: Error getting response stream (Write: The authentication or decryption has failed.): SendFailure ---> System.IO.IOException: The authentication or decryption has failed. ---> Mono.Security.Protocol.Tls.TlsException: Invalid certificate received from server. Error code: 0xffffffff800b010a at Mono.Security.Protocol.Tls.Handshake.Client.TlsServerCertificate.RemoteValidation (Mono.Security.Protocol.Tls.ClientContext context, AlertDescription description) [0x00000] in:0
at Mono.Security.Protocol.Tls.Handshake.Client.TlsServerCertificate.validateCertificates (Mono.Security.X509.X509CertificateCollection certificates) [0x00000] in :0
at Mono.Security.Protocol.Tls.Handshake.Client.TlsServerCertificate.ProcessAsTls1 () [0x00000] in :0
at Mono.Security.Protocol.Tls.Handshake.HandshakeMessage.Process () [0x00000] in :0
at (wrapper remoting-invoke-with-check) Mono.Security.Protocol.Tls.Handshake.HandshakeMessage:Process ()
at Mono.Security.Protocol.Tls.ClientRecordProtocol.ProcessHandshakeMessage (Mono.Security.Protocol.Tls.TlsStream handMsg) [0x00000] in :0
at Mono.Security.Protocol.Tls.RecordProtocol.InternalReceiveRecordCallback (IAsyncResult asyncResult) [0x00000] in :0
--- End of inner exception stack trace ---
at Mono.Security.Protocol.Tls.SslStreamBase.AsyncHandshakeCallback (IAsyncResult asyncResult) [0x00000] in :0
--- End of inner exception stack trace ---
at System.Net.HttpWebRequest.EndGetRequestStream (IAsyncResult asyncResult) [0x00000] in :0
at System.Net.HttpWebRequest.GetRequestStream () [0x00000] in :0
at DotNetOpenAuth.Messaging.StandardWebRequestHandler.GetRequestStreamCore (System.Net.HttpWebRequest request) [0x00000] in :0
--- End of inner exception stack trace ---
at DotNetOpenAuth.Messaging.StandardWebRequestHandler.GetRequestStreamCore (System.Net.HttpWebRequest request) [0x00000] in :0
at DotNetOpenAuth.Messaging.StandardWebRequestHandler.GetRequestStream (System.Net.HttpWebRequest request, DirectWebRequestOptions options) [0x00000] in :0
at DotNetOpenAuth.Messaging.StandardWebRequestHandler.GetRequestStream (System.Net.HttpWebRequest request) [0x00000] in :0
at DotNetOpenAuth.Messaging.Channel.SendParametersInEntity (System.Net.HttpWebRequest httpRequest, IDictionary:0
at FloydPink.Flickr.Downloadr.OAuth.OAuthManager.PrepareAuthorizedRequest (IDictionary:0
at FloydPink.Flickr.Downloadr.Logic.UserInfoLogic+casync0.MoveNext () [0x00000] in :0
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x00000] in :0
at System.Runtime.CompilerServices.TaskAwaiter`1[FloydPink.Flickr.Downloadr.Model.User].GetResult () [0x00000] in :0
at FloydPink.Flickr.Downloadr.Logic.LoginLogic+c async0.MoveNext () [0x00000] in :0
2 fields) [0x00000] in <filename unknown>:0 at DotNetOpenAuth.Messaging.Channel.InitializeRequestAsPost (IDirectedProtocolMessage requestMessage) [0x00000] in <filename unknown>:0 at DotNetOpenAuth.OAuth.ChannelElements.OAuthChannel.CreateHttpRequest (IDirectedProtocolMessage request) [0x00000] in <filename unknown>:0 at DotNetOpenAuth.OAuth.ChannelElements.OAuthChannel.InitializeRequest (IDirectedProtocolMessage request) [0x00000] in <filename unknown>:0 at DotNetOpenAuth.OAuth.ConsumerBase.PrepareAuthorizedRequest (DotNetOpenAuth.Messaging.MessageReceivingEndpoint endpoint, System.String accessToken, IDictionary
2 extraData) [0x00000] in2 parameters) [0x00000] in <filename unknown>:0 at FloydPink.Flickr.Downloadr.OAuth.OAuthManager+<MakeAuthenticatedRequestAsync>c__async0.MoveNext () [0x00000] in <filename unknown>:0 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x00000] in <filename unknown>:0 at System.Runtime.CompilerServices.TaskAwaiter
1[System.Object].GetResult () [0x00000] inThe app will then crash immediately when trying to start it again.