private void lbMainMessages_ScrollBar_MouseUp(object sender, RoutedEventArgs e) { if (channel != "" && stopUpdating == false && lbMainMessages.Items.Count >= 50) { Border border = (Border)VisualTreeHelper.GetChild(lbMainMessages, 0); ScrollViewer scrollViewer = (ScrollViewer)VisualTreeHelper.GetChild(border, 0); scrollViewer.ReleaseMouseCapture(); if (scrollViewer.VerticalOffset == 0) { screenMain.timesUpdated += 1; Dictionary <string, object> message = new Dictionary <string, object>(); message.Add("username", ""); message.Add("channel", channel); message.Add("content", timesUpdated); message.Add("messagetype", "messageReq"); List <object> encryptedMessage = EMAES.Encrypt(JsonConvert.SerializeObject(message)); string jsonMessage = JsonConvert.SerializeObject(encryptedMessage); NM.SendMessage(jsonMessage); } } }
private void lbMainChannels_SelectionChanged(object sender, SelectionChangedEventArgs e) { object lbi = this.lbMainChannels.SelectedItem; if (lbi == null) { } else { stopUpdating = false; string channelName = lbi.ToString(); channel = channelName; Dictionary <string, object> message = new Dictionary <string, object>(); message.Add("username", username); message.Add("channel", ""); message.Add("content", channelName); message.Add("messagetype", "changedChannel"); List <object> encryptedMessage = EMAES.Encrypt(JsonConvert.SerializeObject(message)); string jsonMessage = JsonConvert.SerializeObject(encryptedMessage); NM.SendMessage(jsonMessage); } }
private void ChannelMembers_Context_Ban(object sender, RoutedEventArgs e) { if (lbMainChannelMembers.SelectedItem == null) { } else { string target = lbMainChannelMembers.SelectedItem.ToString(); if (target.Substring((target.Length - 2), 2) == " \u2606") { Dictionary <string, object> message = new Dictionary <string, object>(); message.Add("username", username); message.Add("channel", channel); message.Add("content", "/ban " + target.Substring(0, target.Length - 2)); message.Add("messagetype", "inboundMessage"); List <object> encryptedMessage = EMAES.Encrypt(JsonConvert.SerializeObject(message)); string jsonMessage = JsonConvert.SerializeObject(encryptedMessage); NM.SendMessage(jsonMessage); } else { Dictionary <string, object> message = new Dictionary <string, object>(); message.Add("username", username); message.Add("channel", channel); message.Add("content", "/ban " + target); message.Add("messagetype", "inboundMessage"); List <object> encryptedMessage = EMAES.Encrypt(JsonConvert.SerializeObject(message)); string jsonMessage = JsonConvert.SerializeObject(encryptedMessage); NM.SendMessage(jsonMessage); } } }
private void btnMainSendMsg_Click(object sender, RoutedEventArgs e) { if (channel != "" && this.tbMainMessageEntry.Text != "") { Dictionary <string, object> message = new Dictionary <string, object>(); message.Add("username", username); message.Add("channel", channel); message.Add("content", this.tbMainMessageEntry.Text); message.Add("messagetype", "inboundMessage"); List <object> encryptedMessage = EMAES.Encrypt(JsonConvert.SerializeObject(message)); string jsonMessage = JsonConvert.SerializeObject(encryptedMessage); NM.SendMessage(jsonMessage); } this.tbMainMessageEntry.Text = ""; }
private void viewAllUsers_Kick(object sender, RoutedEventArgs e) { if (lbMainChannelMembers.SelectedItem == null) { } else { string target = lbMainChannelMembers.SelectedItem.ToString(); Dictionary <string, object> message = new Dictionary <string, object>(); message.Add("username", username); message.Add("channel", channel); message.Add("content", "/kick " + target); message.Add("messagetype", "inboundMessage"); List <object> encryptedMessage = EMAES.Encrypt(JsonConvert.SerializeObject(message)); string jsonMessage = JsonConvert.SerializeObject(encryptedMessage); } }
private void viewAllUsers_Click(object sender, RoutedEventArgs e) { if (true) { Dictionary <string, object> message = new Dictionary <string, object> { { "username", "" }, { "channel", "" }, { "content", "" }, { "messagetype", "userReq" } }; List <object> encryptedMessage = EMAES.Encrypt(JsonConvert.SerializeObject(message)); string jsonMessage = JsonConvert.SerializeObject(encryptedMessage); NM.SendMessage(jsonMessage); } else { //MessageBox.Show("something else"); } }
private void lbMainMessages_SelectionChanged(object sender, SelectionChangedEventArgs e) { Message messageContent = (Message)this.lbMainMessages.SelectedItem; if (messageContent == null) { } else if (messageContent.Content == "[Load more messages]") { screenMain.timesUpdated += 1; Dictionary <string, object> message = new Dictionary <string, object>(); message.Add("username", ""); message.Add("channel", channel); message.Add("content", timesUpdated); message.Add("messagetype", "messageReq"); List <object> encryptedMessage = EMAES.Encrypt(JsonConvert.SerializeObject(message)); string jsonMessage = JsonConvert.SerializeObject(encryptedMessage); NM.SendMessage(jsonMessage); } }
private void bStartupConn_Click(object sender, RoutedEventArgs e) { if (config[0] == "true") { CFM.UpdateSetting("username", Regex.Replace(tbStartupUsername.Text, @" ", "")); } if (this.lbStartupServers.SelectedItem == null) { MessageBox.Show("Error - Please select a server"); } else if (this.tbStartupUsername.Text == "") { MessageBox.Show("Please enter a username"); } else { ListBoxItem lbi = this.lbStartupServers.SelectedItem as ListBoxItem; string servName = lbi.Content.ToString(); List <List <string> > data = DBM.SQLRaw("SELECT * FROM servers WHERE name='" + servName + "'", "servers"); string servIP = data[0][2]; int servPort = Convert.ToInt16(data[0][3]); bool connected = NM.Connect(servIP, servPort); if (connected == true) { KeyGenerator.SecretKey = KeyGenerator.GetUniqueKey(16); Debug.WriteLine(KeyGenerator.SecretKey); Dictionary <string, object> message = new Dictionary <string, object> { { "username", "" }, { "channel", "" }, { "content", "" }, { "messagetype", "keyRequest" } }; string jsonMessage = JsonConvert.SerializeObject(message); NM.SendMessage(jsonMessage); byte[] bytes = new byte[20480]; int bytesRec = NM.sender.Receive(bytes); // Receieve "publicKey" string jsonData = Encoding.UTF8.GetString(bytes, 0, bytesRec); message = JsonConvert.DeserializeObject <Dictionary <string, object> >(jsonData); string publicKey = (string)message["content"]; string ciphertext = EMRSA.Encrypt(KeyGenerator.SecretKey, publicKey); message = new Dictionary <string, object> { { "username", "" }, { "channel", "" }, { "content", ciphertext }, { "messagetype", "secretKey" } }; jsonMessage = JsonConvert.SerializeObject(message); NM.SendMessage(jsonMessage); bytes = new byte[20480]; bytesRec = NM.sender.Receive(bytes); // Recieve "confirmed" jsonData = Encoding.UTF8.GetString(bytes, 0, bytesRec); message = JsonConvert.DeserializeObject <Dictionary <string, object> >(jsonData); NM.RecieveMessage(); string username = tbStartupUsername.Text; username = Regex.Replace(username, @" ", ""); List <string> connRequest = new List <string> { username, this.tbStartupPassword.Password }; message = new Dictionary <string, object> { { "username", "" }, { "channel", "" }, { "content", connRequest }, { "messagetype", "connRequest" } }; List <object> encryptedMessage = EMAES.Encrypt(JsonConvert.SerializeObject(message)); jsonMessage = JsonConvert.SerializeObject(encryptedMessage); NM.SendMessage(jsonMessage); } } }