Merge branch 'test'

Conflicts:
	SparkleShare/SparkleSetupController.cs
This commit is contained in:
Hylke Bons 2012-07-27 20:37:17 +02:00
commit 2667218550
5 changed files with 44 additions and 36 deletions

View file

@ -133,10 +133,10 @@ namespace SparkleLib {
if (RequiredFingerprint != null) { if (RequiredFingerprint != null) {
string host_fingerprint = GetFingerprint (host_key); string host_fingerprint = GetFingerprint (host_key);
if (host_fingerprint == null || if (host_fingerprint == null || !RequiredFingerprint.Equals (host_fingerprint)) {
!RequiredFingerprint.Equals (host_fingerprint)) {
SparkleHelpers.DebugInfo ("Auth", "Fingerprint doesn't match"); SparkleHelpers.DebugInfo ("Auth", "Fingerprint doesn't match");
this.errors.Add ("error: Host fingerprint doesn't match");
Failed (); Failed ();
return; return;

View file

@ -451,7 +451,7 @@ namespace SparkleShare {
if (type == PageType.Syncing) { if (type == PageType.Syncing) {
Header = "Adding project " + Controller.SyncingFolder + "’…"; Header = "Adding project " + Controller.SyncingFolder + "’…";
Description = "This may take a while on big projects. Isn't it coffee-o'clock?"; Description = "This may take a while on big projects.\nIsn't it coffee-o'clock?";
ProgressIndicator = new NSProgressIndicator () { ProgressIndicator = new NSProgressIndicator () {
@ -491,7 +491,7 @@ namespace SparkleShare {
Buttons.Add (FinishButton); Buttons.Add (FinishButton);
Buttons.Add (CancelButton); Buttons.Add (CancelButton);
} }
if (type == PageType.Error) { if (type == PageType.Error) {
Header = "Oops! Something went wrong…"; Header = "Oops! Something went wrong…";
Description = "Please check the following:"; Description = "Please check the following:";

View file

@ -195,17 +195,21 @@ namespace SparkleShare {
if (file_name.EndsWith (".key")) { if (file_name.EndsWith (".key")) {
key_file_path = Path.Combine (keys_path, file_name); key_file_path = Path.Combine (keys_path, file_name);
SparkleKeys.ImportPrivateKey (key_file_path); SparkleKeys.ImportPrivateKey (key_file_path);
break;
} }
} }
if (!string.IsNullOrEmpty (key_file_path)) { if (!string.IsNullOrEmpty (key_file_path)) {
string pubkey_file_path = key_file_path + ".pub"; string public_key_file_path = key_file_path + ".pub";
string link_code_file_path = Path.Combine (FoldersPath, CurrentUser.Name + "'s link code.txt"); string link_code_file_path = Path.Combine (FoldersPath, CurrentUser.Name + "'s link code.txt");
// Create an easily accessible copy of the public // Create an easily accessible copy of the public
// key in the user's SparkleShare folder // key in the user's SparkleShare folder
if (File.Exists (pubkey_file_path) && !File.Exists (link_code_file_path)) if (File.Exists (public_key_file_path) && !File.Exists (link_code_file_path))
File.Copy (pubkey_file_path, link_code_file_path, true /* Overwriting allowed */ ); File.Copy (public_key_file_path, link_code_file_path, true);
CurrentUser.PublicKey = File.ReadAllText (public_key_file_path);
} }
SparkleKeys.ListPrivateKeys (); SparkleKeys.ListPrivateKeys ();

View file

@ -79,40 +79,42 @@ namespace SparkleShare {
} }
public bool Accept () public bool Accept (string public_key)
{ {
if (string.IsNullOrEmpty (AcceptUrl)) if (string.IsNullOrEmpty (AcceptUrl))
return true; return true;
string post_data = "public_key=" + public_key;
byte [] post_bytes = Encoding.UTF8.GetBytes (post_data);
WebRequest request = WebRequest.Create (AcceptUrl);
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
request.ContentLength = post_bytes.Length;
Stream data_stream = request.GetRequestStream ();
data_stream.Write (post_bytes, 0, post_bytes.Length);
data_stream.Close ();
HttpWebResponse response = null;
try { try {
WebRequest request = WebRequest.Create (AcceptUrl); response = (HttpWebResponse) request.GetResponse ();
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
string post_data = "pubkey=" + SparkleConfig.DefaultConfig.User.PublicKey;
byte [] post_bytes = Encoding.UTF8.GetBytes (post_data);
request.ContentLength = post_bytes.Length;
Stream data_stream = request.GetRequestStream ();
data_stream.Write (post_bytes, 0, post_bytes.Length);
data_stream.Close ();
WebResponse response = request.GetResponse ();
response.Close (); response.Close ();
if ((response as HttpWebResponse).StatusCode == HttpStatusCode.OK) {
SparkleHelpers.DebugInfo ("Invite", "Uploaded public key to " + AcceptUrl);
return true;
} else {
SparkleHelpers.DebugInfo ("Invite", "Failed uploading public key to " + AcceptUrl);
return false;
}
} catch (WebException e) { } catch (WebException e) {
SparkleHelpers.DebugInfo ("Invite", "Failed uploading public key to " + AcceptUrl + ": " + e.Message); SparkleHelpers.DebugInfo ("Invite", "Failed uploading public key to " + AcceptUrl + ": " + e.Message);
return false; return false;
} }
if (response != null && response.StatusCode == HttpStatusCode.OK) {
SparkleHelpers.DebugInfo ("Invite", "Uploaded public key to " + AcceptUrl);
return true;
} else {
return false;
}
} }

View file

@ -382,8 +382,7 @@ namespace SparkleShare {
try { try {
string address = remote_url.Replace (uri.AbsolutePath, ""); string address = remote_url.Replace (uri.AbsolutePath, "");
new_plugin = SparklePlugin.Create ( new_plugin = SparklePlugin.Create (uri.Host, address, address, "", "", "/path/to/project");
uri.Host, address, address, "", "", "/path/to/project");
if (new_plugin != null) { if (new_plugin != null) {
Plugins.Insert (1, new_plugin); Plugins.Insert (1, new_plugin);
@ -430,8 +429,11 @@ namespace SparkleShare {
ChangePageEvent (PageType.Syncing, null); ChangePageEvent (PageType.Syncing, null);
new Thread (() => { new Thread (() => {
if (!PendingInvite.Accept ()) { if (!PendingInvite.Accept (Program.Controller.CurrentUser.PublicKey)) {
ChangePageEvent (PageType.Error, null); PreviousUrl = PendingInvite.Address +
PendingInvite.RemotePath.TrimStart ("/".ToCharArray ());
ChangePageEvent (PageType.Error, new string [] { "error: Failed to upload the public key" });
return; return;
} }