summaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* c-e: expand GtkTreeView "tree_peers" when resizing windowth/c-e-wireguard-expand-widgetThomas Haller2021-02-111-0/+2
| | | | | Otherwise, if you resize the nm-c-e window, the widget stays small.
* editor: only update widget if correct permission changedmatthias-prangl2021-02-111-3/+4
| | | | | | | Make sure widgets created with ce-polkit are only updated if the specified permission changes. https://gitlab.gnome.org/GNOME/network-manager-applet/-/merge_requests/94
* applet: hide unmanaged interfacesLuis Pabon2021-02-026-9/+20
| | | | | | | | | | | | | This patch removes any unmanaged ethernet interfaces from the drop down list. Specifically, virtualbox and docker virtual networks will no longer be shown. Author: Campbell Vertesi <campbell@vertesi.com> Bug-Ubuntu: https://bugs.launchpad.net/bugs/1458322 [thaller@redhat.com: squashed commits] https://gitlab.gnome.org/GNOME/network-manager-applet/-/merge_requests/93
* all: add compat defines for NMU_SEC_SAE,NMU_SEC_OWEThomas Haller2021-02-022-21/+1
| | | | https://gitlab.gnome.org/GNOME/network-manager-applet/-/merge_requests/91
* applet: Work around appindicator "show"/"hide" signals quirkAndrew Zaborowski2020-11-182-0/+44
| | | | | | | | | | | | | | | | The ubuntu version of libappindicator (also available on some other distros like arch) doesn't emit the "show" and "hide" signals as the code expects. This results in issue #4. Use one of the workarounds documented in https://bugs.launchpad.net/ubuntu/+source/libappindicator/+bug/522152 to at least get a signal when the menu pops up and request a single Wi-Fi scan to make up for the missing periodic scans. This commit includes a fix by @thaller ([1]). [1] https://gitlab.gnome.org/GNOME/network-manager-applet/-/merge_requests/89#note_964843 https://gitlab.gnome.org/GNOME/network-manager-applet/-/merge_requests/89
* editor: Print nm_remote_connection_commit_changes errorsAndrew Zaborowski2020-11-181-2/+3
|
* all: Remove most of wireless-securityAndrew Zaborowski2020-11-1847-6987/+8
| | | | | Since only two utilities are now used from wireless-security, go ahead and remove everything else.
* applet: Use NMAWs classes instead of WirelessSecurityAndrew Zaborowski2020-11-181-40/+19
| | | | | | | | Convert the ethernet dialog to use the NMAWs8021x class and remove the dependency on wireless-security to work around issue #92. Take advantage of libnma having a pure 8021x ui (without the WPA-EAP assumptions) meaning that the hack that adds the wireless setting is no longer needed. Unfotunately this change is not tested.
* 8021x-security: Use NMAWs classes instead of WirelessSecurityAndrew Zaborowski2020-11-181-54/+21
| | | | | | | | | | | | | | | | Convert the ethernet 8021x-security page to use the NMAWs8021x class and remove the dependency on wireless-security to work around issue #92. Take advantage of libnma having a pure 8021x ui (without the WPA-EAP assumptions) meaning that the hack that adds the wireless setting is no longer needed. For some reason after fill_connection an empty WIRELESS_SECURITY setting is still being added. This dialog is leaking memory as much as it was before. Also there's a seemingly unwanted "Private Key Passphrase" text field added for methods like MD5, EAP-TTLS+MD5.. sometimes -- looks like it doesn't get added when the MD5 method is selected for the first time and the username/password are still empty.
* wifi-security: Use NMAWs classes instead of WirelessSecurityAndrew Zaborowski2020-11-181-49/+56
| | | | | | | | | This is an almost mechanical conversion to use the NMAWs classes and remove the dependency on wireless-security to work around issue #92. There may be things in the libnma version that are not taken advantage of in this patch, it's just the conversion. This is still leaking memory as much as it was before.
* editor: remove tx-power and rate properties from wifi pagebg/editor-miscBeniamino Galvani2020-11-181-36/+0
| | | | | | | | The widgets for tx-power and rate were already hidden. Remove them for good. Displaying those properties doesn't seem useful for the majority of users and they would complicate the UI.
* editor: show() the 8021x-security page, not its childrenBeniamino Galvani2020-11-181-1/+1
| | | | | | | | | During the construction of the security widget, some child widgets are set as hidden because they should never appear (for example, the private key passphrase entry for EAP-MD5). gtk_widget_show_all() wrongly displays them again. Use gtk_widget_show() instead. Fixes: 9b5c5eed6aa6 ("Revert '8021x-security: don't show_all() the widgets'")
* editor: add 'default' item to the ip6-privacy combo boxbg/ip6-privacy-defaultBeniamino Galvani2020-09-142-4/+15
| | | | | | | | Add missing 'default' item to the ip6-privacy combo box in the IPv6 page. The enum value is called 'unknown' in NetworkManager, but 'default' seems more clear. https://gitlab.gnome.org/GNOME/network-manager-applet/-/issues/111
* applet-agent: another fix for reference count for secret request resultChih-Hsuan Yen2020-08-311-1/+1
| | | | https://gitlab.gnome.org/GNOME/network-manager-applet/-/issues/112
* c-e: fix initializing drop-down list for connection.secondariesThomas Haller2020-06-221-19/+32
| | | | | | | | | | | | | | | It seems that the initialization of the drop-down list did not work properly. I think that is due to the elements being sorted, and using gtk_combo_box_set_active() to set the index. But then the insertion index no longer corresponds to the sorted index that is shown in the list. Avoid that by using gtk_combo_box_set_active_iter(). Also, the connection.secondaries is a list of UUIDs. It doesn't guarantee that the UUID actually exists. If no suitable profile can be found (to populate the drop-down list), add the UUID directly. https://gitlab.gnome.org/GNOME/network-manager-applet/-/issues/103
* ap-menu-item: add OWE as supported security typeDavid Bauer2020-05-271-0/+3
|
* connection-editor: add OWE supportDavid Bauer2020-05-271-0/+19
| | | | | This adds support for Enhanced Open support as a selectable wireless security method.
* editor: add wireguard supportBeniamino Galvani2020-04-227-0/+1384
|
* editor: rework assignment of text values to spin buttonsBeniamino Galvani2020-04-222-57/+43
| | | | | | | Remove duplicate code and use a common function to set the mapping between a numeric value and a text one. I think we should not encourage the use of arbitrary text but instead allow the most common ones. Therefore, add also 'off'.
* applet: fix crash in VPN secret dialog handlingBeniamino Galvani2020-04-061-2/+21
| | | | | | | | | | | If the VPN connection gets deactivated when the dialog is displayed, the SecretsRequest is no longer valid. Accessing it in the dialog callback causes a segmentation fault. To fix this, disconnect the dialog handler when the secret request is cancelled and install a new handler that just destroys the dialog. https://bugzilla.redhat.com/show_bug.cgi?id=1775278
* applet/vpn-request: fix GtkDialog leakBeniamino Galvani2020-04-061-0/+1
|
* applet: merge VPN request free functionsBeniamino Galvani2020-04-061-58/+53
|
* applet/vpn-request: minor cleanupsBeniamino Galvani2020-04-061-5/+1
| | | | | | | | | g_spawn_close_pid() is not necessary on Linux. It is not necessary to check the validity of pid and then send the signal; just send the signal. Remove unnecessary comments.
* build: drop unused libnma version macrosThomas Haller2020-03-061-5/+0
| | | | These macros belong to libnma and no longer to applet.
* mobile: ignore deprecation warning of nm_setting_gsm_get_number()Thomas Haller2020-03-051-0/+4
| | | | | This probably should be fixed by somebody giving love to "page-mobile.c". For now, just ignore the deprecation warning.
* applet: avoid compiler warning about uninitialized variable in ↵Thomas Haller2020-03-051-2/+1
| | | | | | | | | | | | | | info_dialog_add_page() It's a false positive. Avoid it. ../src/applet-dialogs.c: In function applet_info_dialog_show: ../src/applet-dialogs.c:709:21: warning: ip6_config may be used uninitialized in this function [-Wmaybe-uninitialized] 709 | dns6 = def6_addr ? nm_ip_config_get_nameservers (ip6_config) : NULL; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/applet-dialogs.c:481:14: note: ip6_config was declared here 481 | NMIPConfig *ip6_config; | ^~~~~~~~~~
* applet: fix reference count for secret request resultBeniamino Galvani2020-03-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | Don't pass a floating variant to the callback function but convert it into a full one so that we can guarantee that the callback function will not assume ownership. (nm-applet:691510): GLib-CRITICAL **: 18:02:29.581: g_atomic_ref_count_dec: assertion 'g_atomic_int_get (arc) > 0' failed _g_log_abort () at /lib64/libglib-2.0.so.0 g_logv () at /lib64/libglib-2.0.so.0 g_log () at /lib64/libglib-2.0.so.0 g_atomic_ref_count_dec () at /lib64/libglib-2.0.so.0 g_variant_unref () at /lib64/libglib-2.0.so.0 gs_local_variant_unref (v=<synthetic pointer>) at ./shared/nm-utils/gsystem-local-alloc.h:73 complete_request (info=info@entry=0xaaf340) at src/applet-vpn-request.c:273 external_ui_from_child_response (error=0x7fffffffd380, info=<optimized out>) at src/applet-vpn-request.c:261 process_child_response (info=<optimized out>) at src/applet-vpn-request.c:298 g_child_watch_dispatch () at /lib64/libglib-2.0.so.0 g_main_context_dispatch () at /lib64/libglib-2.0.so.0 ... https://gitlab.gnome.org/GNOME/network-manager-applet/-/merge_requests/77
* all: drop some more libnm-glib vestigesLubomir Rintel2020-02-147-88/+2
| | | | | | | [thaller@redhat.com: cherry-picked this patch from a larger merge request and trivial conflict resolution] https://gitlab.gnome.org/GNOME/network-manager-applet/merge_requests/73
* c-e: fix ce-ppp-auth-methods.ui as wellnightsky302020-02-141-4/+4
| | | | | | | | Fix ce-ppp-auth-methods.ui as well per Mikhail's comment https://gitlab.gnome.org/GNOME/network-manager-applet/merge_requests/75#note_685501 Fixes: 5fbf69f2e21c ('glade: get rid of GtkContainer.border-width')
* c-e: fixes transparent border on ipv4/ipv6 route and new connection dialogsnightsky302020-02-142-16/+8
| | | | | | | | | | | | | | | | | | | This fixes a transparent border issue that appears to have been introduced with commit 5fbf69f2: With commit 5fbf69f2, ipv4/ipv6 route and new connection dialog boxes were modified to use margin properties due to the deprecation of border properties. Margin properties were placed under GtkDialog instead of the immediate child GtkBox. Margin properties were also placed under another GtkBox further below. This seemed to have the effect of margins not being recognized on the top or left of the dialogs, but also creating a transparent margin on the bottom and right. This was visible on the ipv4/ipv6 route dialogs, but somehow also affected the new connection dialog despite that file not having margin properties listed under GtkDialog. Fixing properties in ce-ip4-routes.ui and ce-ip6-routes.ui also fixed the new connection dialog. Fixes: 5fbf69f2e21c ('glade: get rid of GtkContainer.border-width')
* applet/menu-item: replace WITH_APPINDICATOR ifdefs with INDICATOR_ENABLED()Thomas Haller2020-02-142-23/+17
| | | | | | It looks more C-like and does does not compile code conditionally (while the compiler still sees when compiled without appindicator support and can strip the unreachable code).
* applet: move INDICATOR_ENABLED() macro to applet.h headerThomas Haller2020-02-142-6/+6
|
* menu-item: Render network icons as cairo surfacesVictor Kareh2020-02-142-5/+39
| | | | | | | This converts menu items from GdkPixbuf to a correctly scaled cairo_surface_t so that it can render properly on HiDPI displays. This change only applies to the GtkStatusIcon version of nm-applet, since appindicator icon-data is currently set to handle GdkPixbuf.
* applet: fix widget assertion failure when running as indicatorVictor Kareh2020-02-141-1/+1
| | | | | | Fixes: dc9ee4e1129c ('applet: scale icons for HiDPI displays') https://gitlab.gnome.org/GNOME/network-manager-applet/merge_requests/74
* applet: scale icons for HiDPI displaysVictor Kareh2019-11-191-1/+4
| | | | https://gitlab.gnome.org/GNOME/network-manager-applet/merge_requests/71
* libnma: droplr/libnmicideLubomir Rintel2019-11-0451-14028/+3
|
* wireless-security: remove GTK4 API useLubomir Rintel2019-11-0412-96/+71
| | | | This partly reverts commit 94518cf90edd05c550202ed0dc583e0fd211fdea.
* all: lay libnm-gtk to restlr/libnm-gtkicideLubomir Rintel2019-11-0427-8100/+0
| | | | | | It's about time. https://gitlab.gnome.org/GNOME/network-manager-applet/merge_requests/68
* editor: add SAE supportlr/saeLubomir Rintel2019-10-091-0/+19
|
* applet: add SAE support to the Wi-Fi secrets dialogLubomir Rintel2019-10-093-2/+25
|
* wireless-security: add SAE supportLubomir Rintel2019-10-097-1/+321
| | | | | This is used by WPA3 Personal and secured Meshes (which we don't support in the applet).
* wireless-security: translate "Unknown" auth methodLubomir Rintel2019-10-091-1/+1
|
* editor: sort the secondary VPN listLubomir Rintel2019-10-041-0/+2
| | | | | https://gitlab.gnome.org/GNOME/network-manager-applet/issues/67 https://gitlab.gnome.org/GNOME/network-manager-applet/merge_requests/63
* applet: drop a X11-ismLubomir Rintel2019-10-042-8/+3
| | | | | | | | The time stamp from the X server is not better than GDK_CURRENT_TIME anyway. https://gitlab.gnome.org/GNOME/network-manager-applet/issues/64 https://gitlab.gnome.org/GNOME/network-manager-applet/merge_requests/64
* libnma: focus first empty field in the VPN dialogBeniamino Galvani2019-10-031-10/+9
| | | | | Previously the secondary field would be focused even if the first was empty.
* applet/vpn-request: fix external UI modeBeniamino Galvani2019-10-031-95/+134
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When a connection is opened for editing in nm-c-e, secrets are asked to NM. NM in turn asks them to registered agents, including the applet if available; the applet now supports an external-ui-mode in which it spawns a VPN-specific authentication dialog binary that doesn't have a graphical component and contains the knowledge about which secrets are missing, how to retrieve them from keyrings and how to ask them to users; the binary then returns through stdout a keyfile that describes the known secrets, their values returned from keyrings and the labels to present to users. The applet uses this information to show a GTK dialog (only when necessary) and returns the secrets to NM. Currently when using the external-ui-mode and the auth-dialog binary returns secrets with the ShouldAsk key set to false, the applet doesn't show a GTK dialog and returns an empty response. This breaks when the auth-dialog returns secrets from keyrings as they are dropped. This commit changes the handling of secrets in external-ui-mode: now we first build a list of known secrets and, if necessary, populate the dialog with the ones that must be asked. After the dialog quits we update the secret values in the list from the dialog and return all secrets, including ones not asked. https://gitlab.gnome.org/GNOME/network-manager-applet/issues/59 https://gitlab.freedesktop.org/NetworkManager/NetworkManager/issues/193 Fixes: bce8d0a75c1d ("applet/vpn-request: add external UI mode")
* meson: add missing header filesBeniamino Galvani2019-09-271-0/+2
| | | | https://gitlab.gnome.org/GNOME/network-manager-applet/issues/71
* applet: fix gtk warning about label markupBeniamino Galvani2019-09-271-2/+3
| | | | | | | | | | | | | | Fix the following warning: "Failed to set text 'ab&cd' from markup due to error parsing markup: Error on line 1: Entity did not end with a semicolon; most likely you used an ampersand character without intending to start an entity — escape ampersand as &amp;" Don't first enable markup (with the old label) and then set the text; do both with one call to gtk_label_set_markup(). https://gitlab.freedesktop.org/NetworkManager/NetworkManager/issues/244
* libnma: fix password flags menuBeniamino Galvani2019-09-231-1/+2
| | | | | | | Without gtk_widget_show_all() the popup menu for password flags is displayed empty when using GTK3. Fixes: 2ded57d949db ("utils: support GTK4")
* meson: drop 'install' argument from configure_file()Beniamino Galvani2019-09-201-1/+0
| | | | | | | | It was added in meson 0.50 while we require 0.46. Furthermore it defaults to true when a install directory is specified and so it can be omitted. https://gitlab.gnome.org/GNOME/network-manager-applet/issues/70