From daf8fcb61744ffccabfd508ae51afc3dbca86a5a Mon Sep 17 00:00:00 2001 From: Erwan Croze Date: Wed, 8 Aug 2018 16:43:18 +0200 Subject: [PATCH] Add security alert --- chiffrement/chiffrement.java | 3 -- res/raw/linphonerc_factory | 1 + res/raw/rootca.pem | 35 ------------------- res/values/strings.xml | 2 ++ .../org/linphone/chat/ChatEventsAdapter.java | 13 +++++-- .../org/linphone/chat/GroupChatFragment.java | 5 +++ .../org/linphone/chat/GroupInfoFragment.java | 5 +++ submodules/lime | 2 +- submodules/linphone | 2 +- 9 files changed, 26 insertions(+), 42 deletions(-) diff --git a/chiffrement/chiffrement.java b/chiffrement/chiffrement.java index caf847f64..0afa6ad8f 100644 --- a/chiffrement/chiffrement.java +++ b/chiffrement/chiffrement.java @@ -59,9 +59,6 @@ public class chiffrement { BigInteger saltHex = new BigInteger(saltString, 16); BigInteger ivHex = new BigInteger(ivString, 16); - System.out.println("salut: iv " + ivString + " " + ivHex); - System.out.println("salut: salt " + saltString + " " + saltHex); - byte[] saltByte = removeUselessByte(saltHex.toByteArray(), 8); byte[] ivByte = removeUselessByte(ivHex.toByteArray(), 16); diff --git a/res/raw/linphonerc_factory b/res/raw/linphonerc_factory index 154be7251..2bfcbe3d5 100644 --- a/res/raw/linphonerc_factory +++ b/res/raw/linphonerc_factory @@ -50,6 +50,7 @@ activation_code_length=4 prefer_basic_chat_room=0 show_login_view=1 debug_popup_magic=#1234 +debug=1 server_url=http://85.233.205.218:443/xmlrpc [in-app-purchase] diff --git a/res/raw/rootca.pem b/res/raw/rootca.pem index ecbe0cf1d..f0534869c 100644 --- a/res/raw/rootca.pem +++ b/res/raw/rootca.pem @@ -1,39 +1,4 @@ -----BEGIN CERTIFICATE----- -MIIGCzCCA/OgAwIBAgIJAOjhE26c44vQMA0GCSqGSIb3DQEBCwUAMIGbMQswCQYD -VQQGEwJGUjEOMAwGA1UECAwFSXNlcmUxIjAgBgNVBAoMGUJlbGxlZG9ubmUgQ29t -bXVuaWNhdGlvbnMxJTAjBgNVBAMMHEJlbGxlZG9ubmUgQ29tbXVuaWNhdGlvbnMg -Q0ExMTAvBgkqhkiG9w0BCQEWImluZm9AYmVsbGVkb25uZS1jb21tdW5pY2F0aW9u -cy5jb20wHhcNMTYwMjA5MTMyNzIyWhcNMjEwMjA3MTMyNzIyWjCBmzELMAkGA1UE -BhMCRlIxDjAMBgNVBAgMBUlzZXJlMSIwIAYDVQQKDBlCZWxsZWRvbm5lIENvbW11 -bmljYXRpb25zMSUwIwYDVQQDDBxCZWxsZWRvbm5lIENvbW11bmljYXRpb25zIENB -MTEwLwYJKoZIhvcNAQkBFiJpbmZvQGJlbGxlZG9ubmUtY29tbXVuaWNhdGlvbnMu -Y29tMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAwRV4AVvnhd0DC/Lq -XBdCKB2yO7t0+mGt8I5KysvC0YDLtPG8JAJaMYHsv4uEgs59mQTh2nquCjhgfwTE -OTuM9jFA7oLIDA64TGcDKrLR2HZn2IMWqwSO6UKhpxo2sJdMrahdXdrj8mkirAx2 -46RQypZO3tdNKz1KF7qtYwBjuHfBh56Kbpb7OxXuq/7rr4SiN5mF3AGjMvItUSud -nCFOyQhpXrjxTihdHfK3utsmBeQIf/Je/qs4WuWsEbd/MswWJ/susOCTwDeTbbBs -ada8qOZJBLMowb3/WWZQQg6QyiC+OdOztTB0uRm288ofE9w8a6pbebgWE5ldK0CU -fgr2mmiXwhld0g/N4uVKWWfBSh6YkTX0pI3rWqZU/rQmxWIbsgHZwt2Nm0DEkqfL -+V/isR6IPSuHm+qC0nRKfpzK4F3uPW8HQHC74jYO6W4MqlChBEAp0fVSjzTaq+2p -Xq1jgKFwfDM/JRFoN9MrcUm0IJKaurIYCt/ehgeUC7CVk2gisZCOCCSalrQQrG/4 -ahiiicQ16NF7vU1wh87QE7JaU+PpKB+m2r/zPf0t20sWccUReJXMBiY5U5R53468 -uex0/pUomRh9+Wk1HX7+4jglj480yVpF4JUYAJKSv5pPOr41ALQhGmZYNNSi1jlx -+DsHyin9WtgTqsQsM55j7dp9ynECAwEAAaNQME4wHQYDVR0OBBYEFJVsMl0INe0b -oPqh80KyBoQD3EFCMB8GA1UdIwQYMBaAFJVsMl0INe0boPqh80KyBoQD3EFCMAwG -A1UdEwQFMAMBAf8wDQYJKoZIhvcNAQELBQADggIBAFFe1CEciCuVEJtgqc86SL79 -QTdj04Fre1y3X6d8JSDXDUixSrcALtYKYRaQ8V9iN3OQsxcdFg0rZZpwe6fC7dUM -dZGu2LIVFG8foGHmN+H8lX5AS6XXhLuC6BAoF3aBSiXNArB/3UFKwpzbtWK0ddNS -vg4fqcUua+nzTCv/MKQgJmcgIrYyPKEgLBinhvyERfrzCKfKnifS2dWEAQQPauKq -nwLavdrF6BCXBDygnz5QbaWJyVSfAL6gdbrzGXTDfeM/sAC8cUrpVcQJPFrJWBJ0 -29Yie86yZ2Ngr5P/zyuJxkTRTpM95LkjrXiAOfnIqfdpkD/xTxeHvj5AvKO1Ypzv -tihroRoAv4xlCLo795rjryMVCJPw877nUW4m4Vk6+droJOMz0cixs6Hak96/wRJL -3IRxDplk+ZQA9mp6AW/1B1PTv5SvjvhjNIi3s8xjF2eszJ4miucSds9RhsSHg1hN -nxAxhUXBHgNrWdaCf/lassYmIDCkk+yeUwZKBesmoHFBGJtLHT7AtyVVBWzZJ3yH -GaMnP7s9WuhmFEFVK1lrQ/VRDacfQUh8KfV3goRdLb69FA/lrNCn2+1aNVBOCeGQ -n1N2bAvaw595UOLcVhRyuVXnlSgX9gtYuxYz+3SUXIU4eORXb4xhIUEMK8PS2C2f -iYY5TczBWGgvDQuxUXZy ------END CERTIFICATE----- ------BEGIN CERTIFICATE----- MIIF6TCCA9GgAwIBAgIJANLYkr+mc5rUMA0GCSqGSIb3DQEBCwUAMIGKMQswCQYD VQQGEwJGUjEOMAwGA1UECAwFUGFyaXMxDjAMBgNVBAcMBVBhcmlzMQ8wDQYDVQQK DAZPcmFuZ2UxDzANBgNVBAsMBk9yYW5nZTEVMBMGA1UEAwwMbXNpb3JhbmdlX2Nh diff --git a/res/values/strings.xml b/res/values/strings.xml index b28a0569d..718a6d331 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -214,6 +214,8 @@ %s has left new device for %s device for %s removed + Security of chatroom have been compromised by %s + Security of chatroom have been compromised new subject: %s %s is admin %s is no longer admin diff --git a/src/android/org/linphone/chat/ChatEventsAdapter.java b/src/android/org/linphone/chat/ChatEventsAdapter.java index 2fb5e44dd..c3e64a7cd 100644 --- a/src/android/org/linphone/chat/ChatEventsAdapter.java +++ b/src/android/org/linphone/chat/ChatEventsAdapter.java @@ -409,8 +409,8 @@ public class ChatEventsAdapter extends ListSelectionAdapter { } } - switch (event.getType()) { - case ConferenceCreated: + switch (event.getType()) { + case ConferenceCreated: holder.eventMessage.setText(mContext.getString(R.string.conference_created)); break; case ConferenceTerminated: @@ -437,6 +437,15 @@ public class ChatEventsAdapter extends ListSelectionAdapter { case ConferenceParticipantDeviceRemoved: holder.eventMessage.setText(mContext.getString(R.string.device_removed).replace("%s", displayName)); break; + case ConferenceSecurityAlert: + String message; + if (event.getSecurityAlertFaultyDevice() != null) { + message = mContext.getString(R.string.security_alert_address).replace("%s", event.getSecurityAlertFaultyDevice().asStringUriOnly()); + } else { + message = mContext.getString(R.string.security_alert); + } + holder.eventMessage.setText(message); + break; case None: default: //TODO diff --git a/src/android/org/linphone/chat/GroupChatFragment.java b/src/android/org/linphone/chat/GroupChatFragment.java index 5d32cbe07..9239ddb1e 100644 --- a/src/android/org/linphone/chat/GroupChatFragment.java +++ b/src/android/org/linphone/chat/GroupChatFragment.java @@ -927,6 +927,11 @@ public class GroupChatFragment extends Fragment implements ChatRoomListener, Con } } + @Override + public void onSecurityAlert(ChatRoom cr, EventLog event) { + mEventsAdapter.addToHistory(event); + } + @Override public void onParticipantAdded(ChatRoom cr, EventLog event) { getContactsForParticipants(); diff --git a/src/android/org/linphone/chat/GroupInfoFragment.java b/src/android/org/linphone/chat/GroupInfoFragment.java index 0447e4e61..d1460e9a6 100644 --- a/src/android/org/linphone/chat/GroupInfoFragment.java +++ b/src/android/org/linphone/chat/GroupInfoFragment.java @@ -501,6 +501,11 @@ public class GroupInfoFragment extends Fragment implements ChatRoomListener { } + @Override + public void onSecurityAlert(ChatRoom cr, EventLog eventLog) { + + } + @Override public void onParticipantDeviceFetchRequested(ChatRoom cr, Address addr) { diff --git a/submodules/lime b/submodules/lime index 47a4f5d0c..e3746d4b8 160000 --- a/submodules/lime +++ b/submodules/lime @@ -1 +1 @@ -Subproject commit 47a4f5d0c6ab73616c4ba43a02e1dc0bdd2a9e66 +Subproject commit e3746d4b80d1a18e4b9f2e76890d6b4b2daad4e3 diff --git a/submodules/linphone b/submodules/linphone index 386fd751b..5c01b8868 160000 --- a/submodules/linphone +++ b/submodules/linphone @@ -1 +1 @@ -Subproject commit 386fd751b5797faa712c838187183ed833e7efb9 +Subproject commit 5c01b88682ce3bd483ba071424cd9384839e9c13