Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Fix bug with VPN user creds (ArchLinux with NM) #1422

Open
wants to merge 4 commits into
base: main
Choose a base branch
from

Conversation

DMoscicki
Copy link

@DMoscicki DMoscicki commented May 1, 2024

Pull Request

Description

Please read these instructions and remove unnecessary text.

  • Try to include a summary of the changes and which issue is fixed.
  • Also include relevant motivation and context (if applicable).
  • List any dependencies that are required for this change. (e.g., packages or other PRs)
  • Provide a link if there is an issue related to this pull request. e.g., Fixes # (issue)
  • Please add Reviewers, Assignees, Labels, Projects, and Milestones to the PR. (if applicable)

Type of change

Please put an x in the boxes that apply:

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Documentation update (non-breaking change; modified files are limited to the documentations)
  • Technical debt (a code change that does not fix a bug or add a feature but makes something clearer for devs)
  • Other (provide details below)

Checklist

Please put an x in the boxes that apply:

  • I have read the CONTRIBUTING document.
  • My code follows the code style of this project.
  • My commit message follows the commit guidelines.
  • My change requires a change to the documentation.
  • I have updated the documentation accordingly.
  • I have added a changelog entry.
  • I have added necessary comments/documentation to my code.
  • I have added tests to cover my changes.
  • I have tested my code locally and it works as expected.
  • All new and existing tests passed.

Screenshots

(if appropriate)

Additional context

Add lib gcr in SYSTEM installation path, cause /usr/lib/nm-(user VPN driver)-auth-dialog doesnt ask user credentials if it need and VPN connection is crashed on start.
Unfortunately, today if you use ArchLinux with non-KDE-GNOME DE with NetworkManager this package need to install for storing VPN user creds.

d.mastitskiy and others added 2 commits May 1, 2024 21:42
@prasanthrangan
Copy link
Owner

prasanthrangan commented May 3, 2024

Hi @DMoscicki , thanks for your contribution...

Looks like gcr-4 is already installed as a dep for libnma-common which is the common library for NetworkManager -

pacman -Qi gcr-4
Name            : gcr-4
Version         : 4.2.1-2
Description     : A library for bits of crypto UI and parsing
Architecture    : x86_64
URL             : https://gitlab.gnome.org/GNOME/gcr
Licenses        : LGPL-2.1-or-later
Groups          : None
Provides        : libgck-2.so=2-64  libgcr-4.so=4-64
Depends On      : glib2  libgcrypt  libsecret  openssh  p11-kit  systemd
Optional Deps   : gtk4: gcr-viewer-gtk4 [installed]
Required By     : gvfs  libnma-common
Optional For    : None
Conflicts With  : None
Replaces        : None
Installed Size  : 2.86 MiB
Packager        : Jan Alexander Steffens (heftig) <heftig@archlinux.org>
Build Date      : Mon 11 Mar 2024 09:41:14 AM IST
Install Date    : Wed 24 Apr 2024 03:50:42 AM IST
Install Reason  : Installed as a dependency for another package
Install Script  : No

Im not sure whats the difference between gcr and gcr-4. So is it really required?

@DMoscicki
Copy link
Author

DMoscicki commented May 4, 2024

@prasanthrangan Thanks for answering...
I think that's problem is globally, if you use Cisco AnyConnect(Openconnect) VPN driver...
Example below...
These logs of ArchLinux without DE which installed on my Virtual Machine (cause i solved this problem on my PC and it is not reproducible)
In your build webkit2gtk-4.1 is installed by some dependency, you can skip that...
Also, you can try to reproduce that on the VM...

/usr/lib/nm-openconnect-auth-dialog
/usr/lib/nm-openconnect-auth-dialog: error while loading shared libraries: libwebkit2gtk-4.1.so.0: cannot open shared object 
sudo pacman -Syu webkit2gtk-4.1

:: Synchronizing package databases...
 core is up to date
 extra is up to date
 alarm is up to date
 aur is up to date
:: Starting full system upgrade...
resolving dependencies...
looking for conflicting packages...

Package (19)                New Version       Net Change  Download Size

extra/aom                   3.9.0-1             8.06 MiB       2.54 MiB
extra/bubblewrap            0.9.0-1             0.09 MiB       0.03 MiB
extra/enchant               2.6.5-1             0.21 MiB       0.05 MiB
extra/gssdp                 1.6.3-1             0.25 MiB       0.05 MiB
extra/gst-plugins-bad-libs  1.24.1-2           11.86 MiB       2.34 MiB
extra/gupnp                 1:1.6.6-1           0.72 MiB       0.12 MiB
extra/gupnp-igd             1.6.0-1             0.11 MiB       0.03 MiB
extra/harfbuzz-icu          8.4.0-1             0.01 MiB       0.01 MiB
extra/hyphen                2.8.8-5             0.03 MiB       0.01 MiB
extra/libavif               1.0.4-3             0.42 MiB       0.13 MiB
extra/libmanette            0.2.7-1             0.39 MiB       0.05 MiB
extra/libnice               0.1.22-1            1.89 MiB       0.29 MiB
extra/libwpe                1.16.0-1.1          0.30 MiB       0.05 MiB
extra/libyuv                r2426+464c51a0-1    1.26 MiB       0.16 MiB
extra/rav1e                 0.7.1-1             5.23 MiB       1.08 MiB
extra/woff2                 1.0.2-4             0.17 MiB       0.05 MiB
extra/wpebackend-fdo        1.14.2-1            0.14 MiB       0.04 MiB
extra/xdg-dbus-proxy        0.1.5-1             0.06 MiB       0.02 MiB
extra/webkit2gtk-4.1        2.44.1-1          124.95 MiB      28.86 MiB

Total Download Size:    35.91 MiB
Total Installed Size:  156.15 MiB

:: Proceed with installation? [Y/n] y
:: Retrieving packages...
 libnice-0.1.22-1...   292.9 KiB   174 KiB/s 00:02 [----------------------] 100%
 rav1e-0.7.1-1-aa...  1107.4 KiB   563 KiB/s 00:02 [----------------------] 100%
 aom-3.9.0-1-aarch64     2.5 MiB   995 KiB/s 00:03 [----------------------] 100%
 gst-plugins-bad-...     2.3 MiB   902 KiB/s 00:03 [----------------------] 100%
 libyuv-r2426+464...   165.5 KiB   170 KiB/s 00:01 [----------------------] 100%
 libavif-1.0.4-3-...   132.1 KiB   160 KiB/s 00:01 [----------------------] 100%
 gupnp-1:1.6.6-1-...   118.9 KiB   320 KiB/s 00:00 [----------------------] 100%
 enchant-2.6.5-1-...    53.6 KiB   151 KiB/s 00:00 [----------------------] 100%
 woff2-1.0.2-4-aa...    51.9 KiB   156 KiB/s 00:00 [----------------------] 100%
 libmanette-0.2.7...    50.5 KiB   143 KiB/s 00:00 [----------------------] 100%
 gssdp-1.6.3-1-aa...    52.5 KiB  79.1 KiB/s 00:01 [----------------------] 100%
 wpebackend-fdo-1...    35.8 KiB   112 KiB/s 00:00 [----------------------] 100%
 libwpe-1.16.0-1....    48.0 KiB  70.9 KiB/s 00:01 [----------------------] 100%
 bubblewrap-0.9.0...    34.4 KiB  97.8 KiB/s 00:00 [----------------------] 100%
 gupnp-igd-1.6.0-...    27.2 KiB  88.4 KiB/s 00:00 [----------------------] 100%
 xdg-dbus-proxy-0...    23.7 KiB  66.3 KiB/s 00:00 [----------------------] 100%
 hyphen-2.8.8-5-a...    15.2 KiB  49.4 KiB/s 00:00 [----------------------] 100%
 harfbuzz-icu-8.4...     7.4 KiB  24.3 KiB/s 00:00 [----------------------] 100%
 webkit2gtk-4.1-2...    28.9 MiB  4.67 MiB/s 00:06 [----------------------] 100%
 Total (19/19)          35.9 MiB  5.62 MiB/s 00:06 [----------------------] 100%
(19/19) checking keys in keyring                   [----------------------] 100%
(19/19) checking package integrity                 [----------------------] 100%
(19/19) loading package files                      [----------------------] 100%
(19/19) checking for file conflicts                [----------------------] 100%
(19/19) checking available disk space              [----------------------] 100%
:: Processing package changes...
( 1/19) installing bubblewrap                      [----------------------] 100%
( 2/19) installing enchant                         [----------------------] 100%
Optional dependencies for enchant
    aspell: for aspell based spell checking support
    hunspell: for hunspell based spell checking support
    libvoikko: for libvoikko based spell checking support
    hspell: for hspell based spell checking support
    nuspell: for nuspell based spell checking support
( 3/19) installing gssdp                           [----------------------] 100%
Optional dependencies for gssdp
    gtk4: gssdp-device-sniffer
( 4/19) installing gupnp                           [----------------------] 100%
Optional dependencies for gupnp
    python: gupnp-binding-tool [installed]
( 5/19) installing gupnp-igd                       [----------------------] 100%
( 6/19) installing libnice                         [----------------------] 100%
Optional dependencies for libnice
    gstreamer: "nice" GStreamer plugin [installed]
( 7/19) installing gst-plugins-bad-libs            [----------------------] 100%
( 8/19) installing harfbuzz-icu                    [----------------------] 100%
( 9/19) installing hyphen                          [----------------------] 100%
(10/19) installing aom                             [----------------------] 100%
(11/19) installing rav1e                           [----------------------] 100%
(12/19) installing libyuv                          [----------------------] 100%
(13/19) installing libavif                         [----------------------] 100%
(14/19) installing libmanette                      [----------------------] 100%
(15/19) installing libwpe                          [----------------------] 100%
(16/19) installing woff2                           [----------------------] 100%
(17/19) installing wpebackend-fdo                  [----------------------] 100%
(18/19) installing xdg-dbus-proxy                  [----------------------] 100%
(19/19) installing webkit2gtk-4.1                  [----------------------] 100%
Optional dependencies for webkit2gtk-4.1
    geoclue: Geolocation support [installed]
    gst-libav: nonfree media decoding
    gst-plugins-bad: media decoding
    gst-plugins-good: media decoding
:: Running post-transaction hooks...
(1/2) Arming ConditionNeedsUpdate...
(2/2) Probing GDK-Pixbuf loader modules...

/usr/lib/nm-openconnect-auth-dialog
/usr/lib/nm-openconnect-auth-dialog: error while loading shared libraries: libgcr-ui-3.so.1: cannot open shared object file: No such file or directory

sudo pacman -Syu gcr
:: Synchronizing package databases...
 core is up to date
 extra is up to date
 alarm is up to date
 aur is up to date
:: Starting full system upgrade...
resolving dependencies...
looking for conflicting packages...

Package (1)  New Version  Net Change  Download Size

extra/gcr    3.41.2-1       4.17 MiB       0.67 MiB

Total Download Size:   0.67 MiB
Total Installed Size:  4.17 MiB

:: Proceed with installation? [Y/n] y
:: Retrieving packages...
 gcr-3.41.2-1-aarch64  683.1 KiB   383 KiB/s 00:02 [----------------------] 100%
(1/1) checking keys in keyring                     [----------------------] 100%
(1/1) checking package integrity                   [----------------------] 100%
(1/1) loading package files                        [----------------------] 100%
(1/1) checking for file conflicts                  [----------------------] 100%
(1/1) checking available disk space                [----------------------] 100%
:: Processing package changes...
(1/1) installing gcr                               [----------------------] 100%
:: Running post-transaction hooks...
(1/5) Arming ConditionNeedsUpdate...
(2/5) Updating the MIME type database...
(3/5) Compiling GSettings XML schema files...
(4/5) Updating icon theme caches...
(5/5) Updating the desktop file MIME type cache...

/usr/lib/nm-openconnect-auth-dialog
Have to supply UUID, name, and service

My prev DE was XFCE, and i had the same problem and solution.
I think if we will check the official gcr link https://archlinux.org/packages/extra/x86_64/gcr/ and column Required By we will see that gcr is required for more packages than gcr-4.

@T-Crypt
Copy link
Collaborator

T-Crypt commented Dec 12, 2024

@DMoscicki Im not sure this is completely necessary as a change for all users. This seems to be niche and a case by case basis.

Ill do more review and see if Im going to merge.

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants