1
0
Fork 0
mirror of https://gitlab.gnome.org/GNOME/calls.git synced 2024-11-14 04:15:37 +00:00
Commit graph

89 commits

Author SHA1 Message Date
Guido Günther
43ce0e9ba0 sip: Don't crash when handles never got set up
Still need to figure out how we can end up there, see #580

(cherry picked from commit 13ebabfadb)

Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/736>
2024-06-28 20:57:22 +00:00
Guido Günther
8e6f5a1e8e mm-origin: Handle missing SIM case more gracefully
This avoids warnings like

    gnome-calls[57992]: mm_sim_get_imsi: assertion 'MM_IS_SIM (self)' failed
    gnome-calls[57992]: mm_sim_dup_emergency_numbers: assertion 'MM_IS_SIM (self)' failed

in the logs

(cherry picked from commit 93e0c72d9f)

Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/736>
2024-06-28 20:57:22 +00:00
Guido Günther
672d523931 mm-origin: Don't crash when Modem has no location services
When no locationservice is available the API can return `NULL` without
setting an error.

Closes: https://gitlab.gnome.org/GNOME/calls/-/issues/641
(cherry picked from commit 34b68ec082)

Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/736>
2024-06-28 20:57:22 +00:00
Guido Günther
6aa356590b mm-origin: Notify emergency number change when we get a location
Technically the emergency numbers exported by the origin doesn't change
but it's enough to trigger the DBus signal so clients see the updated
numbers.
2024-02-10 17:09:37 +01:00
Guido Günther
fd4b796742 mm-origin: Get 3gpp network country code when available
We currently don't enable location gathering explicitly so we rely
on other services (like geoclue) to do so. Use

    mmcli -m 0 --location-enable-3gpp

We could enable for a short time when there's an explicit emergency
number request.
2024-02-10 17:09:19 +01:00
Eugenio Paolantonio (g7)
c9c6ca05d8 ofono: Implement empty emergency call property
See 75cbc30dc0.

Signed-off-by: Eugenio Paolantonio (g7) <me@medesimo.eu>
2023-10-17 14:08:46 +00:00
Evangelos Ribeiro Tzaras
0b0dc68000 build: Install .plugin files
Without them we cannot load plugins from the installed location.

Closes: #585

Fixes: 42b456f03a
2023-06-13 18:56:03 +02:00
Evangelos Ribeiro Tzaras
daf2981d19 dummy: Reword plugin information 2023-05-15 09:56:28 +02:00
Evangelos Ribeiro Tzaras
3a7b5f0c95 mm: Reword plugin information 2023-05-15 09:56:28 +02:00
Evangelos Ribeiro Tzaras
18c186b732 ofono: Reword plugin information 2023-05-15 09:56:28 +02:00
Evangelos Ribeiro Tzaras
c2375a0c37 sip: Reword plugin information 2023-05-15 09:56:28 +02:00
Evangelos Ribeiro Tzaras
42b456f03a po: Add plugin desktop files
Calls preferences will show the name and description of a plugin,
so they should be translatable.
2023-05-15 09:56:28 +02:00
Evangelos Ribeiro Tzaras
9c5d7a58a1 sip-provider: Add debugging to password lookup 2023-05-12 18:06:34 +02:00
Evangelos Ribeiro Tzaras
3e699275a4 mm-origin: Don't unref origin in call_deleted_cb
Fixes: 72a85d62fa
Closes: #573
2023-05-10 18:00:42 +00:00
Дилян Палаузов
378da62ccb srtp-utils: Add skeleton code to ease adding crypto suites
With this in place enabling an additional crypto suite
would only require two changes:
- Adding GStreamer capability mapping
- Add case in calls_srtp_parse_sdp_crypto_attribute()
2023-05-09 13:23:43 +00:00
Дилян Палаузов
267eecf049 srtp-utils: Add support for AES 256 bit crypto suites
As specified by RFC 6188.
2023-05-09 13:23:43 +00:00
Дилян Палаузов
8ca3597646 sdp-crypto: Include "ICM" in crypto suite enums
This indicates integer counter mode being used and
helps disambiguate additional crypto suites in the future.

Renamed CALLS_SRTP_SUITE_AES_128_SHA1_80 → CALLS_SRTP_SUITE_AES_128_ICM_SHA1_80
and CALLS_SRTP_SUITE_AES_128_SHA1_32 → CALLS_SRTP_SUITE_AES_128_ICM_SHA1_32
2023-05-09 13:23:43 +00:00
Дилян Палаузов
e6bfa6d933 srtp-utils: Reuse existing function to get expected key length
This avoids unnecessary and potentially error-prone duplication.
2023-05-09 13:23:43 +00:00
Дилян Палаузов
3db2c5dbb9 srtp-utils: Add implicit padding characters explicitly
Otherwise base64 decoding will give us a wrong key.
2023-05-09 13:23:43 +00:00
Дилян Палаузов
cfd371d72e srtp-utils: Strip padding characters in crypto attribute lines
https://www.rfc-editor.org/rfc/rfc4568.html#section-6.1 says:
 When base64 decoding the key and salt, padding characters (i.e.,
 one or two "=" at the end of the base64-encoded data) are discarded
 (see [RFC3548] for details).

https://www.rfc-editor.org/rfc/rfc3548#section-2.2 says:
 In some circumstances, the use of padding ("=") in base encoded data
 is not required nor used.  In the general case, when assumptions on
 size of transported data cannot be made, padding is required to yield
 correct decoded data.
2023-05-09 13:23:43 +00:00
Evangelos Ribeiro Tzaras
037d2c55f6 srtp-utils: Pass MKI length into error message
Fixes: 4937723541
2023-05-09 09:23:39 +00:00
Evangelos Ribeiro Tzaras
e80abf713a tests: Use g_test_init instead of gtk_test_init
gtk_test_init() ends up calling gtk_init() which tries opening
the default display. CI jobs sometimes seem to trip over this
even when run through xvfb-run. Therefore we use g_test_init()
instead.
2023-05-09 07:44:09 +00:00
Дилян Палаузов
8eb46de6f9 srtp-utils: Remove unused variable srtp_crypto_suites 2023-05-03 17:05:58 +02:00
Florian Weimer
4fa542751b test-sip: Use su_random() (not su_random64())
su_random64() is not exposed in the freeswitch fork of sofia-sip.
2023-05-03 14:40:22 +00:00
Evangelos Ribeiro Tzaras
61b81a285c mm-provider: Don't warn about cancelled mm_manager_new()
It is cancelled when disposing and does not warrant a warning.
2023-05-01 09:35:10 +02:00
Evangelos Ribeiro Tzaras
4576547c20 sip-origin: Prefer named constant over magic numbers 2023-04-18 08:34:39 +00:00
Evangelos Ribeiro Tzaras
5362d1c975 sip-origin: Don't leak address 2023-04-18 08:34:39 +00:00
Evangelos Ribeiro Tzaras
0e753816c9 sip-origin: Include SIP address in debugging
This makes it easier to see if all accounts are being disposed
2023-04-18 08:34:39 +00:00
Evangelos Ribeiro Tzaras
f7745f50bd sip-origin: Keep sofia running to allow unregistering on dispose
sofia-sip needs to keep iterating its' main loop in order to
unregister as well as process the response from the server.

Closes: #554
2023-04-18 08:34:39 +00:00
Evangelos Ribeiro Tzaras
8b3eccd1b7 sip-origin: Use g_clear_pointer() instead of emulating it 2023-04-18 08:34:39 +00:00
Evangelos Ribeiro Tzaras
94cfbd83b2 sip-provider: Chain up to constructed early 2023-04-12 09:17:40 +00:00
Evangelos Ribeiro Tzaras
243753d064 sip-provider: Improve debugging of account loading
This should help diagnosing why the flatpak sometimes fails to add SIP accounts.
2023-04-12 09:17:40 +00:00
Evangelos Ribeiro Tzaras
208438236c sip-provider: Don't leak keyfile
The reference taken in new_origin_from_keyfile_secret() was never
released in the async callback.
2023-04-12 09:17:40 +00:00
Evangelos Ribeiro Tzaras
c84f2a2bd9 sip-provider: Remove unused variables 2023-04-12 09:17:40 +00:00
Guido Günther
47afc70552 mm-provider: Don't exit early when country code matches
This makes sure we fetch emergency numbers in any case (and also
further things should they be added later).
2023-04-09 15:38:01 +00:00
Guido Günther
b880ddf1d7 mm-provider: Implement get_country_code 2023-04-06 16:37:59 +00:00
Guido Günther
69250ac121 mm-provider: Fetch emergency numbers from sim 2023-04-06 16:37:59 +00:00
Guido Günther
6cdae3fd40 origin: Allow to fetch country code
This is an optional method as not all origins might support this
(e.g. SIP).
2023-04-06 16:37:59 +00:00
Guido Günther
d598acd96b mm-provider: Initialize parent class first 2023-04-06 16:37:59 +00:00
Дилян Палаузов
242efcc06a SIP:calls_sdp_crypto_context_generate_answer() accept the first supporetd a=crypto: line 2023-02-12 12:06:06 +00:00
Evangelos Ribeiro Tzaras
d790e35bc3 sip-provider: Remove duplicated check
init() already checked if CALLS_SIP_TEST was set,
no need to do it again in constructed()
2023-02-12 10:26:46 +01:00
Evangelos Ribeiro Tzaras
4d402d2f79 sip-provider: Use STR_IS_NULL_OR_EMPTY macro 2023-02-12 10:26:46 +01:00
Guido Günther
8a4a7c6131 mm: Implement empty emegency call property
This allows the tests to pass.
2023-02-12 08:00:56 +00:00
Guido Günther
75cbc30dc0 sip: Implement empty emegency call property
This allows the tests to pass.
2023-02-12 08:00:56 +00:00
Guido Günther
9af09a0db9 dummy: Support getting emergency call numbers 2023-02-12 08:00:56 +00:00
Evangelos Ribeiro Tzaras
205f691570 mm-origin: Disable call waiting
As Calls cannot deal with call waiting we should disable it entirely.
This works around issues where call audio get's completely broken once
the waiting call is disconnected on the BM818 modem shipped with the
Librem 5.

See https://source.puri.sm/Librem5/OS-issues/-/issues/311
2023-01-31 08:55:38 +00:00
Evangelos Ribeiro Tzaras
72a85d62fa mm-origin: Ensure objects stay alive during async operations 2023-01-31 08:55:38 +00:00
Evangelos Ribeiro Tzaras
0f9a89aa3b mm-origin: Remove unnecessary cast
g_signal_connect takes a gpointer, so the instance parameter does not
need to be cast explicitly.
2023-01-31 08:55:38 +00:00
Evangelos Ribeiro Tzaras
3dcb1881bf mm-origin: Don't leak ID 2023-01-31 08:55:38 +00:00
Evangelos Ribeiro Tzaras
5379907cf8 mm-origin: Don't leak MMModem
mm_object_get_modem() is transfer full,
so we need to unref it when we're done.
2023-01-31 08:55:38 +00:00