├── .clang-format ├── .gitignore ├── .gitlab-ci.yml ├── .triage-policies.yml ├── AUTHORS ├── CONTRIBUTING ├── COPYING ├── MAINTAINERS ├── Makefile.am ├── Makefile.glib ├── NEWS ├── README ├── autogen.sh ├── config.h.meson ├── configure.ac ├── icons ├── 16 │ ├── nm-device-wired.png │ ├── nm-no-connection.png │ └── nm-vpn-standalone-lock.png ├── 22 │ ├── nm-adhoc.png │ ├── nm-device-wired-secure.png │ ├── nm-device-wired.png │ ├── nm-device-wwan.png │ ├── nm-insecure-warn.png │ ├── nm-mb-roam.png │ ├── nm-no-connection.png │ ├── nm-secure-lock.png │ ├── nm-signal-00-secure.png │ ├── nm-signal-00.png │ ├── nm-signal-100-secure.png │ ├── nm-signal-100.png │ ├── nm-signal-25-secure.png │ ├── nm-signal-25.png │ ├── nm-signal-50-secure.png │ ├── nm-signal-50.png │ ├── nm-signal-75-secure.png │ ├── nm-signal-75.png │ ├── nm-stage01-connecting01.png │ ├── nm-stage01-connecting02.png │ ├── nm-stage01-connecting03.png │ ├── nm-stage01-connecting04.png │ ├── nm-stage01-connecting05.png │ ├── nm-stage01-connecting06.png │ ├── nm-stage01-connecting07.png │ ├── nm-stage01-connecting08.png │ ├── nm-stage01-connecting09.png │ ├── nm-stage01-connecting10.png │ ├── nm-stage01-connecting11.png │ ├── nm-stage02-connecting01.png │ ├── nm-stage02-connecting02.png │ ├── nm-stage02-connecting03.png │ ├── nm-stage02-connecting04.png │ ├── nm-stage02-connecting05.png │ ├── nm-stage02-connecting06.png │ ├── nm-stage02-connecting07.png │ ├── nm-stage02-connecting08.png │ ├── nm-stage02-connecting09.png │ ├── nm-stage02-connecting10.png │ ├── nm-stage02-connecting11.png │ ├── nm-stage03-connecting01.png │ ├── nm-stage03-connecting02.png │ ├── nm-stage03-connecting03.png │ ├── nm-stage03-connecting04.png │ ├── nm-stage03-connecting05.png │ ├── nm-stage03-connecting06.png │ ├── nm-stage03-connecting07.png │ ├── nm-stage03-connecting08.png │ ├── nm-stage03-connecting09.png │ ├── nm-stage03-connecting10.png │ ├── nm-stage03-connecting11.png │ ├── nm-tech-3g.png │ ├── nm-tech-cdma-1x.png │ ├── nm-tech-edge.png │ ├── nm-tech-evdo.png │ ├── nm-tech-gprs.png │ ├── nm-tech-hspa.png │ ├── nm-tech-lte.png │ ├── nm-tech-umts.png │ ├── nm-vpn-active-lock.png │ ├── nm-vpn-connecting01.png │ ├── nm-vpn-connecting02.png │ ├── nm-vpn-connecting03.png │ ├── nm-vpn-connecting04.png │ ├── nm-vpn-connecting05.png │ ├── nm-vpn-connecting06.png │ ├── nm-vpn-connecting07.png │ ├── nm-vpn-connecting08.png │ ├── nm-vpn-connecting09.png │ ├── nm-vpn-connecting10.png │ ├── nm-vpn-connecting11.png │ ├── nm-vpn-connecting12.png │ ├── nm-vpn-connecting13.png │ ├── nm-vpn-connecting14.png │ └── nm-wwan-tower.png ├── 32 │ ├── nm-device-wired.png │ └── nm-no-connection.png ├── 48 │ └── nm-device-wireless.png ├── meson.build └── scalable │ ├── nm-device-wired-secure-symbolic.svg │ ├── nm-device-wired-symbolic.svg │ ├── nm-device-wired.svg │ ├── nm-device-wwan-symbolic.svg │ ├── nm-no-connection-symbolic.svg │ ├── nm-no-connection.svg │ ├── nm-signal-00-secure-symbolic.svg │ ├── nm-signal-00-symbolic.svg │ ├── nm-signal-100-secure-symbolic.svg │ ├── nm-signal-100-symbolic.svg │ ├── nm-signal-25-secure-symbolic.svg │ ├── nm-signal-25-symbolic.svg │ ├── nm-signal-50-secure-symbolic.svg │ ├── nm-signal-50-symbolic.svg │ ├── nm-signal-75-secure-symbolic.svg │ ├── nm-signal-75-symbolic.svg │ ├── nm-vpn-active-lock-symbolic.svg │ ├── nm-vpn-connecting01-symbolic.svg │ ├── nm-vpn-connecting02-symbolic.svg │ ├── nm-vpn-connecting03-symbolic.svg │ ├── nm-vpn-connecting04-symbolic.svg │ ├── nm-vpn-connecting05-symbolic.svg │ ├── nm-vpn-connecting06-symbolic.svg │ ├── nm-vpn-connecting07-symbolic.svg │ ├── nm-vpn-connecting08-symbolic.svg │ ├── nm-vpn-connecting09-symbolic.svg │ ├── nm-vpn-connecting10-symbolic.svg │ ├── nm-vpn-connecting11-symbolic.svg │ ├── nm-vpn-connecting12-symbolic.svg │ ├── nm-vpn-connecting13-symbolic.svg │ ├── nm-vpn-connecting14-symbolic.svg │ └── nm-vpn-standalone-lock-symbolic.svg ├── linker-script-binary.ver ├── m4 ├── attributes.m4 ├── compiler_options.m4 ├── git-sha-record.m4 └── glib-makefile.m4 ├── man ├── meson.build ├── nm-applet.1.in └── nm-connection-editor.1.in ├── meson.build ├── meson_options.txt ├── meson_post_install.py ├── network-manager-applet.doap ├── nm-applet.convert ├── nm-applet.desktop.in ├── nm-connection-editor.desktop.in ├── nm-connection-editor.png ├── org.gnome.nm-applet.gschema.xml.in ├── org.gnome.nm-connection-editor.appdata.xml.in ├── po ├── ChangeLog ├── LINGUAS ├── Makevars ├── POTFILES.in ├── af.po ├── an.po ├── ar.po ├── as.po ├── ast.po ├── be.po ├── be@latin.po ├── bg.po ├── bn_IN.po ├── bs.po ├── ca.po ├── ca@valencia.po ├── crh.po ├── cs.po ├── da.po ├── de.po ├── dz.po ├── el.po ├── en_CA.po ├── en_GB.po ├── eo.po ├── es.po ├── et.po ├── eu.po ├── fa.po ├── fi.po ├── fr.po ├── gd.po ├── gl.po ├── gu.po ├── he.po ├── hi.po ├── hr.po ├── hu.po ├── id.po ├── ie.po ├── is.po ├── it.po ├── ja.po ├── ka.po ├── kk.po ├── km.po ├── kn.po ├── ko.po ├── ku.po ├── lt.po ├── lv.po ├── meson.build ├── mk.po ├── ml.po ├── mr.po ├── ms.po ├── nb.po ├── ne.po ├── nl.po ├── nn.po ├── oc.po ├── or.po ├── pa.po ├── pl.po ├── pt.po ├── pt_BR.po ├── ro.po ├── ru.po ├── rw.po ├── sk.po ├── sl.po ├── sq.po ├── sr.po ├── sr@latin.po ├── sv.po ├── ta.po ├── te.po ├── tg.po ├── th.po ├── tr.po ├── ug.po ├── uk.po ├── ur.po ├── vi.po ├── wa.po ├── zh_CN.po ├── zh_HK.po └── zh_TW.po ├── scripts └── gitlab-ci.sh ├── shared ├── meson.build ├── nm-default.h ├── nm-libnm-compat.h └── nm-utils │ ├── gsystem-local-alloc.h │ ├── nm-compat.c │ ├── nm-compat.h │ ├── nm-glib.h │ ├── nm-macros-internal.h │ ├── nm-shared-utils.c │ ├── nm-shared-utils.h │ ├── nm-test-utils.h │ └── nm-vpn-editor-plugin-call.h └── src ├── 8021x.ui ├── ap-menu-item.c ├── ap-menu-item.h ├── applet-agent.c ├── applet-agent.h ├── applet-device-broadband.c ├── applet-device-broadband.h ├── applet-device-bt.c ├── applet-device-bt.h ├── applet-device-ethernet.c ├── applet-device-ethernet.h ├── applet-device-wifi.c ├── applet-device-wifi.h ├── applet-dialogs.c ├── applet-dialogs.h ├── applet-vpn-request.c ├── applet-vpn-request.h ├── applet.c ├── applet.gresource.xml ├── applet.h ├── connection-editor ├── ce-ip4-routes.ui ├── ce-ip6-routes.ui ├── ce-new-connection.ui ├── ce-page-bluetooth.ui ├── ce-page-bond.ui ├── ce-page-bridge-port.ui ├── ce-page-bridge.ui ├── ce-page-dcb.ui ├── ce-page-dsl.ui ├── ce-page-ethernet.ui ├── ce-page-general.ui ├── ce-page-infiniband.ui ├── ce-page-ip-tunnel.ui ├── ce-page-ip4.ui ├── ce-page-ip6.ui ├── ce-page-macsec.ui ├── ce-page-mobile.ui ├── ce-page-ppp.ui ├── ce-page-proxy.ui ├── ce-page-team-port.ui ├── ce-page-team.ui ├── ce-page-vlan.ui ├── ce-page-wifi-security.ui ├── ce-page-wifi.ui ├── ce-page-wireguard.ui ├── ce-page.c ├── ce-page.h ├── ce-polkit-button.c ├── ce-polkit-button.h ├── ce-polkit.c ├── ce-polkit.h ├── ce-ppp-auth-methods.ui ├── ce-utils.c ├── ce-utils.h ├── ce.gresource.xml ├── connection-helpers.c ├── connection-helpers.h ├── gtk │ └── menus.ui ├── ip4-routes-dialog.c ├── ip4-routes-dialog.h ├── ip6-routes-dialog.c ├── ip6-routes-dialog.h ├── main.c ├── meson.build ├── nm-connection-editor.c ├── nm-connection-editor.h ├── nm-connection-editor.ui ├── nm-connection-list.c ├── nm-connection-list.h ├── nm-connection-list.ui ├── page-8021x-security.c ├── page-8021x-security.h ├── page-bluetooth.c ├── page-bluetooth.h ├── page-bond.c ├── page-bond.h ├── page-bridge-port.c ├── page-bridge-port.h ├── page-bridge.c ├── page-bridge.h ├── page-controller.c ├── page-controller.h ├── page-dcb.c ├── page-dcb.h ├── page-dsl.c ├── page-dsl.h ├── page-ethernet.c ├── page-ethernet.h ├── page-general.c ├── page-general.h ├── page-infiniband.c ├── page-infiniband.h ├── page-ip-tunnel.c ├── page-ip-tunnel.h ├── page-ip4.c ├── page-ip4.h ├── page-ip6.c ├── page-ip6.h ├── page-macsec.c ├── page-macsec.h ├── page-mobile.c ├── page-mobile.h ├── page-ppp.c ├── page-ppp.h ├── page-proxy.c ├── page-proxy.h ├── page-team-port.c ├── page-team-port.h ├── page-team.c ├── page-team.h ├── page-vlan.c ├── page-vlan.h ├── page-vpn.c ├── page-vpn.h ├── page-wifi-security.c ├── page-wifi-security.h ├── page-wifi.c ├── page-wifi.h ├── page-wireguard.c ├── page-wireguard.h ├── ppp-auth-methods-dialog.c ├── ppp-auth-methods-dialog.h ├── vpn-helpers.c └── vpn-helpers.h ├── ethernet-dialog.c ├── ethernet-dialog.h ├── fallback-icon.h ├── gsm-unlock.ui ├── info.ui ├── main.c ├── mb-menu-item.c ├── mb-menu-item.h ├── meson.build ├── mobile-helpers.c ├── mobile-helpers.h ├── tests ├── ethernet-dialog.c └── meson.build ├── utils ├── meson.build ├── tests │ ├── .gitignore │ └── test-utils.c ├── utils.c └── utils.h └── wireless-security ├── eap-method.c ├── eap-method.h └── meson.build /.clang-format: -------------------------------------------------------------------------------- 1 | Language: Cpp 2 | 3 | TabWidth: 4 4 | IndentWidth: 4 5 | UseTab: ForIndentation 6 | ColumnLimit: 100 7 | ContinuationIndentWidth: 4 8 | UseCRLF: false 9 | SpaceBeforeParens: Always 10 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *~ 2 | *.o 3 | *.lo 4 | *.la 5 | *.swp 6 | Makefile 7 | Makefile.in* 8 | configure 9 | compile 10 | config.* 11 | aclocal.m4 12 | /cscope.files 13 | depcomp 14 | install-sh 15 | INSTALL 16 | ABOUT-NLS 17 | libtool 18 | ltmain.sh 19 | missing 20 | mkinstalldirs 21 | POTFILES 22 | stamp-* 23 | *.stamp 24 | *.dirstamp 25 | .deps 26 | .libs 27 | autom4te.cache 28 | intltool-* 29 | 30 | po/boldquot.sed 31 | po/en@boldquot.header 32 | po/en@quot.header 33 | po/*.gmo 34 | po/insert-header.sin 35 | po/.intltool-merge-cache 36 | po/Makevars.template 37 | po/*.pot 38 | po/quot.sed 39 | po/remove-potcdate.sed 40 | po/remove-potcdate.sin 41 | po/Rules-quot 42 | 43 | m4/codeset.m4 44 | m4/fcntl-o.m4 45 | m4/gettext.m4 46 | m4/glibc21.m4 47 | m4/glibc2.m4 48 | m4/gtk-doc.m4 49 | m4/iconv.m4 50 | m4/intdiv0.m4 51 | m4/intldir.m4 52 | m4/intl.m4 53 | m4/intlmacosx.m4 54 | m4/intltool.m4 55 | m4/intmax.m4 56 | m4/inttypes_h.m4 57 | m4/inttypes-pri.m4 58 | m4/lcmessage.m4 59 | m4/lib-ld.m4 60 | m4/lib-link.m4 61 | m4/lib-prefix.m4 62 | m4/libtool.m4 63 | m4/lock.m4 64 | m4/longlong.m4 65 | m4/lt*.m4 66 | m4/nls.m4 67 | m4/po.m4 68 | m4/printf-posix.m4 69 | m4/progtest.m4 70 | m4/size_max.m4 71 | m4/stdint_h.m4 72 | m4/threadlib.m4 73 | m4/uintmax_t.m4 74 | m4/visibility.m4 75 | m4/wchar_t.m4 76 | m4/wint_t.m4 77 | m4/xsize.m4 78 | 79 | test-*.log 80 | 81 | /cscope.in.out 82 | /cscope.out 83 | /cscope.po.out 84 | 85 | /network-manager-applet-*.tar.* 86 | nm-applet.conf 87 | nm-applet.desktop 88 | nm-connection-editor.desktop 89 | org.gnome.nm-applet.gschema.xml 90 | org.gnome.nm-applet.gschema.valid 91 | org.gnome.nm-connection-editor.appdata.xml 92 | src/connection-editor/nm-connection-editor 93 | src/connection-editor/nm-connection-editor-service-glue.h 94 | src/connection-editor/ce-resources.c 95 | src/connection-editor/ce-resources.h 96 | src/libnma/libnma.pc 97 | src/libnma/libnma-gtk4.pc 98 | src/libnma/NMA-1.0.gir 99 | src/libnma/NMA-1.0.typelib 100 | src/libnma/NMA4-1.0.gir 101 | src/libnma/NMA4-1.0.typelib 102 | src/libnma/nma-resources.c 103 | src/libnma/nma-resources.h 104 | src/libnma/nma-version.h 105 | src/libnma/tests/cert-chooser 106 | src/libnma/tests/cert-chooser-gtk4 107 | src/libnma/tests/mobile-wizard 108 | src/libnma/tests/mobile-wizard-gtk4 109 | src/libnma/tests/run-vpn 110 | src/libnma/tests/run-vpn-gtk4 111 | src/libnma/tests/vpn-password-dialog 112 | src/libnma/tests/vpn-password-dialog-gtk4 113 | src/libnma/tests/wifi-dialog 114 | src/libnma/tests/wifi-dialog-gtk4 115 | src/libnma/tests/wifi-dialog-secrets 116 | src/libnma/tests/wifi-dialog-secrets-gtk4 117 | src/libnm-gtk/libnm-gtk.pc 118 | src/libnm-gtk/NMGtk-1.0.gir 119 | src/libnm-gtk/NMGtk-1.0.typelib 120 | src/libnm-gtk/tests/test-mobile-providers 121 | src/libnm-gtk/nm-resources.c 122 | src/libnm-gtk/nm-resources.h 123 | src/marshallers/nma-marshal.* 124 | src/nm-applet 125 | src/applet-dbus-bindings.h 126 | src/applet-resources.c 127 | src/applet-resources.h 128 | src/tests/ethernet-dialog 129 | man/*.1 130 | 131 | /test-driver 132 | **/tests/test-*.log 133 | **/tests/test-*.trs 134 | 135 | xml/ 136 | html/ 137 | gtk-doc.make 138 | libnma-decl-list.txt 139 | libnma-decl.txt 140 | libnma-overrides.txt 141 | libnma-sections.txt 142 | libnma-undeclared.txt 143 | libnma-undocumented.txt 144 | libnma-unused.txt 145 | libnma.args 146 | libnma.hierarchy 147 | libnma.interfaces 148 | libnma.prerequisites 149 | libnma.signals 150 | libnma.types 151 | 152 | /.cache 153 | /.vscode 154 | 155 | 156 | # The following names are no longer present on this branch, 157 | # but they were on older versions. Thus keep ignoring them 158 | # otherwise when switching branches these untracked files show 159 | # up. 160 | src/wireless-security/ws-resources.c 161 | src/wireless-security/ws-resources.h 162 | -------------------------------------------------------------------------------- /.gitlab-ci.yml: -------------------------------------------------------------------------------- 1 | # Quick syntax check: 2 | # python -c 'import sys, yaml; yaml.dump (yaml.load (sys.stdin), sys.stdout)' <.gitlab-ci.yml 3 | 4 | # If things don't seem to work, this can help: 5 | # https://gitlab.gnome.org/GNOME/network-manager-applet/-/ci/lint 6 | 7 | stages: 8 | - build 9 | - test 10 | - triage 11 | 12 | .dist: &dist 13 | dependencies: 14 | - fedora30_dist 15 | 16 | fedora30_dist: 17 | image: fedora:30 18 | stage: build 19 | before_script: 20 | - ./scripts/gitlab-ci.sh fedora_install_full autotools 21 | script: 22 | - sh autogen.sh 23 | - make -j$(nproc) distcheck 24 | artifacts: 25 | paths: 26 | - "*.xz" 27 | 28 | fedora_meson_minimal: 29 | <<: *dist 30 | before_script: 31 | - ./scripts/gitlab-ci.sh fedora_install_minimal meson 32 | script: 33 | - tar xJf network-manager-applet-*.tar.xz 34 | - meson 35 | -Dwwan=false 36 | -Dselinux=false 37 | -Dteam=false 38 | -Dld_gc=false 39 | -Dappindicator=no 40 | -Dmore_asserts=no 41 | network-manager-applet-*/ build 42 | - ninja -v -C build 43 | - ninja -v -C build test 44 | - ninja -v -C build install 45 | - ninja -v -C build uninstall 46 | image: fedora:latest 47 | stage: test 48 | when: manual 49 | 50 | fedora_meson_full: 51 | <<: *dist 52 | before_script: 53 | - ./scripts/gitlab-ci.sh fedora_install_full meson 54 | script: 55 | - tar xJf network-manager-applet-*.tar.xz 56 | - meson 57 | -Dwwan=true 58 | -Dselinux=true 59 | -Dteam=true 60 | -Dld_gc=true 61 | -Dappindicator=yes 62 | -Dmore_asserts=yes 63 | network-manager-applet-*/ build 64 | - ninja -v -C build 65 | - ninja -v -C build test 66 | - ninja -v -C build install 67 | - ninja -v -C build uninstall 68 | image: fedora:latest 69 | stage: test 70 | 71 | fedora_autotools_minimal: 72 | <<: *dist 73 | before_script: 74 | - ./scripts/gitlab-ci.sh fedora_install_minimal make 75 | script: 76 | - tar xJf network-manager-applet-*.tar.xz 77 | - cd network-manager-applet-*/ 78 | - ./configure 79 | --disable-silent-rules 80 | --with-more-asserts=no 81 | --disable-nls 82 | --disable-schemas-compile 83 | --disable-more-warnings 84 | --without-appindicator 85 | --without-wwan 86 | --without-selinux 87 | --without-team 88 | - make -j$(nproc) 89 | - make -j$(nproc) check 90 | - make -j$(nproc) install 91 | - make -j$(nproc) uninstall 92 | image: fedora:latest 93 | stage: test 94 | when: manual 95 | 96 | fedora_autotools_full: 97 | <<: *dist 98 | before_script: 99 | - ./scripts/gitlab-ci.sh fedora_install_full make 100 | script: 101 | - tar xJf network-manager-applet-*.tar.xz 102 | - cd network-manager-applet-*/ 103 | - ./configure 104 | --disable-silent-rules 105 | --with-more-asserts=yes 106 | --enable-nls 107 | --enable-schemas-compile 108 | --enable-more-warnings 109 | --with-appindicator 110 | --with-wwan 111 | --with-selinux 112 | --with-team 113 | - make -j$(nproc) 114 | - make -j$(nproc) check 115 | - make -j$(nproc) install 116 | - make -j$(nproc) uninstall 117 | image: fedora:latest 118 | stage: test 119 | 120 | triage:issues: 121 | stage: triage 122 | image: ruby:2.7 123 | script: 124 | - gem install gitlab-triage 125 | - gitlab-triage -d --token $API_TOKEN --source-id $SOURCE_ID 126 | only: 127 | - schedules 128 | -------------------------------------------------------------------------------- /.triage-policies.yml: -------------------------------------------------------------------------------- 1 | host_url: https://gitlab.gnome.org 2 | 3 | resource_rules: 4 | issues: 5 | rules: 6 | - name: Close issues with no activity for 6 months 7 | conditions: 8 | date: 9 | attribute: updated_at 10 | condition: older_than 11 | interval_type: months 12 | interval: 6 13 | state: opened 14 | actions: 15 | comment: | 16 | This issue has been inactive for 6 months, closing automatically, please reopen if you think the issue is still relevant. 17 | status: close 18 | labels: 19 | - auto-closed 20 | - name: Close RFE with no activity for 12 months 21 | conditions: 22 | date: 23 | attribute: updated_at 24 | condition: older_than 25 | interval_type: months 26 | interval: 12 27 | state: opened 28 | labels: 29 | - 1. Enhancement 30 | actions: 31 | comment: | 32 | This enhancement issue has been inactive for 12 months, closing automatically, please reopen if you think the issue is still relevant. 33 | status: close 34 | labels: 35 | - auto-closed 36 | - name: Clear auto-closed label for open issues 37 | conditions: 38 | state: opened 39 | labels: 40 | - auto-closed 41 | actions: 42 | remove_labels: 43 | - auto-closed 44 | merge_requests: 45 | rules: 46 | - name: Close MRs with no activity after 2 month 47 | conditions: 48 | date: 49 | attribute: updated_at 50 | condition: older_than 51 | interval_type: months 52 | interval: 2 53 | state: opened 54 | actions: 55 | comment: | 56 | This MR has been inactive for more than 2 months, closing automatically, please reopen if you think it is still relevant. 57 | status: close 58 | labels: 59 | - auto-closed 60 | - name: Clear auto-closed label for open MRs 61 | conditions: 62 | state: opened 63 | labels: 64 | - auto-closed 65 | actions: 66 | remove_labels: 67 | - auto-closed 68 | -------------------------------------------------------------------------------- /AUTHORS: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/network-manager-applet/35f6c05231bb1ec41d59570107d7fc3a8e358e2e/AUTHORS -------------------------------------------------------------------------------- /CONTRIBUTING: -------------------------------------------------------------------------------- 1 | Guidelines for Contributing: 2 | 3 | 1) Platform-specific functionality (for example, location of binaries that NetworkManager calls) should be done in a platform-independent manner. If code currently in NetworkManager does not accomodate that, then the code in NetworkManager needs to be changed to provide that. For example, if another platform does not use "dhclient" to get DHCP information, a separate function should be created to return a command-line string to call rather than inserting huge if/#ifdef blocks into the current function. 4 | 5 | 2) Coding standards are more-or-less GNOME coding standards, with these exceptions: 6 | a) 5 space tabs (no 8-space tabs allowed) 7 | b) REAL tabs 8 | c) Braces are moved to the next line, like: 9 | if (foobar) 10 | { 11 | ... 12 | } 13 | rather than: 14 | if (foobar) { 15 | ... 16 | } 17 | d) Limiting line width to 80 characters is frowned upon 18 | -------------------------------------------------------------------------------- /MAINTAINERS: -------------------------------------------------------------------------------- 1 | Dan Williams 2 | E-mail: dcbw redhat com 3 | Userid: dcbw 4 | 5 | -------------------------------------------------------------------------------- /README: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/network-manager-applet/35f6c05231bb1ec41d59570107d7fc3a8e358e2e/README -------------------------------------------------------------------------------- /autogen.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # Run this to generate all the initial makefiles, etc. 3 | 4 | srcdir=`dirname $0` 5 | test -z "$srcdir" && srcdir=. 6 | 7 | PKG_NAME=nm-applet 8 | 9 | (test -f $srcdir/configure.ac \ 10 | && test -f $srcdir/src/applet.c) || { 11 | echo -n "**Error**: Directory "\`$srcdir\'" does not look like the" 12 | echo " top-level $PKG_NAME directory" 13 | exit 1 14 | } 15 | 16 | (cd $srcdir; 17 | autoreconf --force --install --symlink 18 | ) 19 | 20 | if test -z "$NOCONFIGURE"; then 21 | "$srcdir/configure" --enable-maintainer-mode --enable-more-warnings=error "$@" 22 | fi 23 | -------------------------------------------------------------------------------- /config.h.meson: -------------------------------------------------------------------------------- 1 | /* Gettext package */ 2 | #mesondefine GETTEXT_PACKAGE 3 | 4 | /* ISO codes prefix */ 5 | #mesondefine ISO_CODES_PREFIX 6 | 7 | /* Mobile Broadband Service Provider Information Database location */ 8 | #mesondefine MOBILE_BROADBAND_PROVIDER_INFO_DATABASE 9 | 10 | /* Define if more asserts are enabled */ 11 | #mesondefine NM_MORE_ASSERTS 12 | 13 | /* Enable extensions on AIX 3, Interix. */ 14 | #ifndef _ALL_SOURCE 15 | # define _ALL_SOURCE 1 16 | #endif 17 | 18 | /* Enable GNU extensions on systems that have them. */ 19 | #ifndef _GNU_SOURCE 20 | # define _GNU_SOURCE 1 21 | #endif 22 | 23 | /* Enable threading extensions on Solaris. */ 24 | #ifndef _POSIX_PTHREAD_SEMANTICS 25 | # define _POSIX_PTHREAD_SEMANTICS 1 26 | #endif 27 | 28 | /* Enable extensions on HP NonStop. */ 29 | #ifndef _TANDEM_SOURCE 30 | # define _TANDEM_SOURCE 1 31 | #endif 32 | 33 | /* Enable general extensions on Solaris. */ 34 | #ifndef __EXTENSIONS__ 35 | # define __EXTENSIONS__ 1 36 | #endif 37 | 38 | /* Version number of package */ 39 | #mesondefine VERSION 40 | 41 | /* Enable using libappindicator */ 42 | #mesondefine WITH_APPINDICATOR 43 | 44 | /* Use Ayatana AppIndicator, rathern than Ubuntu's AppIndicator */ 45 | #mesondefine USE_AYATANA_INDICATORS 46 | 47 | /* Define if Gcr is available */ 48 | #mesondefine WITH_GCR 49 | 50 | /* Define if GTK4 Gcr is available */ 51 | #mesondefine WITH_GCR_GTK4 52 | 53 | /* Define if Jansson is available */ 54 | #mesondefine WITH_JANSSON 55 | 56 | /* Define if libselinux is available */ 57 | #mesondefine WITH_SELINUX 58 | 59 | /* Define if you have ModemManager/WWAN support */ 60 | #mesondefine WITH_WWAN 61 | 62 | /* Define to 1 if on MINIX. */ 63 | #mesondefine _MINIX 64 | 65 | /* Define to 2 if the system does not provide POSIX.1 features except with 66 | this defined. */ 67 | #mesondefine _POSIX_1_SOURCE 68 | 69 | /* Define to 1 if you need to in order for `stat' and other things to work. */ 70 | #mesondefine _POSIX_SOURCE 71 | 72 | /* Define to `int' if does not define. */ 73 | #mesondefine pid_t 74 | -------------------------------------------------------------------------------- /icons/16/nm-device-wired.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/network-manager-applet/35f6c05231bb1ec41d59570107d7fc3a8e358e2e/icons/16/nm-device-wired.png -------------------------------------------------------------------------------- /icons/16/nm-no-connection.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/network-manager-applet/35f6c05231bb1ec41d59570107d7fc3a8e358e2e/icons/16/nm-no-connection.png -------------------------------------------------------------------------------- /icons/16/nm-vpn-standalone-lock.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/network-manager-applet/35f6c05231bb1ec41d59570107d7fc3a8e358e2e/icons/16/nm-vpn-standalone-lock.png -------------------------------------------------------------------------------- /icons/22/nm-adhoc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/network-manager-applet/35f6c05231bb1ec41d59570107d7fc3a8e358e2e/icons/22/nm-adhoc.png -------------------------------------------------------------------------------- /icons/22/nm-device-wired-secure.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/network-manager-applet/35f6c05231bb1ec41d59570107d7fc3a8e358e2e/icons/22/nm-device-wired-secure.png -------------------------------------------------------------------------------- /icons/22/nm-device-wired.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/network-manager-applet/35f6c05231bb1ec41d59570107d7fc3a8e358e2e/icons/22/nm-device-wired.png -------------------------------------------------------------------------------- /icons/22/nm-device-wwan.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/network-manager-applet/35f6c05231bb1ec41d59570107d7fc3a8e358e2e/icons/22/nm-device-wwan.png -------------------------------------------------------------------------------- /icons/22/nm-insecure-warn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/network-manager-applet/35f6c05231bb1ec41d59570107d7fc3a8e358e2e/icons/22/nm-insecure-warn.png -------------------------------------------------------------------------------- /icons/22/nm-mb-roam.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/network-manager-applet/35f6c05231bb1ec41d59570107d7fc3a8e358e2e/icons/22/nm-mb-roam.png -------------------------------------------------------------------------------- /icons/22/nm-no-connection.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/network-manager-applet/35f6c05231bb1ec41d59570107d7fc3a8e358e2e/icons/22/nm-no-connection.png -------------------------------------------------------------------------------- /icons/22/nm-secure-lock.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/network-manager-applet/35f6c05231bb1ec41d59570107d7fc3a8e358e2e/icons/22/nm-secure-lock.png -------------------------------------------------------------------------------- /icons/22/nm-signal-00-secure.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/network-manager-applet/35f6c05231bb1ec41d59570107d7fc3a8e358e2e/icons/22/nm-signal-00-secure.png -------------------------------------------------------------------------------- /icons/22/nm-signal-00.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/network-manager-applet/35f6c05231bb1ec41d59570107d7fc3a8e358e2e/icons/22/nm-signal-00.png -------------------------------------------------------------------------------- /icons/22/nm-signal-100-secure.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/network-manager-applet/35f6c05231bb1ec41d59570107d7fc3a8e358e2e/icons/22/nm-signal-100-secure.png -------------------------------------------------------------------------------- /icons/22/nm-signal-100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/network-manager-applet/35f6c05231bb1ec41d59570107d7fc3a8e358e2e/icons/22/nm-signal-100.png -------------------------------------------------------------------------------- /icons/22/nm-signal-25-secure.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/network-manager-applet/35f6c05231bb1ec41d59570107d7fc3a8e358e2e/icons/22/nm-signal-25-secure.png -------------------------------------------------------------------------------- /icons/22/nm-signal-25.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/network-manager-applet/35f6c05231bb1ec41d59570107d7fc3a8e358e2e/icons/22/nm-signal-25.png -------------------------------------------------------------------------------- /icons/22/nm-signal-50-secure.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/network-manager-applet/35f6c05231bb1ec41d59570107d7fc3a8e358e2e/icons/22/nm-signal-50-secure.png -------------------------------------------------------------------------------- /icons/22/nm-signal-50.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/network-manager-applet/35f6c05231bb1ec41d59570107d7fc3a8e358e2e/icons/22/nm-signal-50.png -------------------------------------------------------------------------------- /icons/22/nm-signal-75-secure.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/network-manager-applet/35f6c05231bb1ec41d59570107d7fc3a8e358e2e/icons/22/nm-signal-75-secure.png -------------------------------------------------------------------------------- /icons/22/nm-signal-75.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/network-manager-applet/35f6c05231bb1ec41d59570107d7fc3a8e358e2e/icons/22/nm-signal-75.png -------------------------------------------------------------------------------- /icons/22/nm-stage01-connecting01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/network-manager-applet/35f6c05231bb1ec41d59570107d7fc3a8e358e2e/icons/22/nm-stage01-connecting01.png -------------------------------------------------------------------------------- /icons/22/nm-stage01-connecting02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/network-manager-applet/35f6c05231bb1ec41d59570107d7fc3a8e358e2e/icons/22/nm-stage01-connecting02.png -------------------------------------------------------------------------------- /icons/22/nm-stage01-connecting03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/network-manager-applet/35f6c05231bb1ec41d59570107d7fc3a8e358e2e/icons/22/nm-stage01-connecting03.png -------------------------------------------------------------------------------- /icons/22/nm-stage01-connecting04.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/network-manager-applet/35f6c05231bb1ec41d59570107d7fc3a8e358e2e/icons/22/nm-stage01-connecting04.png -------------------------------------------------------------------------------- /icons/22/nm-stage01-connecting05.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/network-manager-applet/35f6c05231bb1ec41d59570107d7fc3a8e358e2e/icons/22/nm-stage01-connecting05.png -------------------------------------------------------------------------------- /icons/22/nm-stage01-connecting06.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/network-manager-applet/35f6c05231bb1ec41d59570107d7fc3a8e358e2e/icons/22/nm-stage01-connecting06.png -------------------------------------------------------------------------------- /icons/22/nm-stage01-connecting07.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/network-manager-applet/35f6c05231bb1ec41d59570107d7fc3a8e358e2e/icons/22/nm-stage01-connecting07.png -------------------------------------------------------------------------------- /icons/22/nm-stage01-connecting08.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/network-manager-applet/35f6c05231bb1ec41d59570107d7fc3a8e358e2e/icons/22/nm-stage01-connecting08.png -------------------------------------------------------------------------------- /icons/22/nm-stage01-connecting09.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/network-manager-applet/35f6c05231bb1ec41d59570107d7fc3a8e358e2e/icons/22/nm-stage01-connecting09.png -------------------------------------------------------------------------------- /icons/22/nm-stage01-connecting10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/network-manager-applet/35f6c05231bb1ec41d59570107d7fc3a8e358e2e/icons/22/nm-stage01-connecting10.png -------------------------------------------------------------------------------- /icons/22/nm-stage01-connecting11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/network-manager-applet/35f6c05231bb1ec41d59570107d7fc3a8e358e2e/icons/22/nm-stage01-connecting11.png -------------------------------------------------------------------------------- /icons/22/nm-stage02-connecting01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/network-manager-applet/35f6c05231bb1ec41d59570107d7fc3a8e358e2e/icons/22/nm-stage02-connecting01.png -------------------------------------------------------------------------------- /icons/22/nm-stage02-connecting02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/network-manager-applet/35f6c05231bb1ec41d59570107d7fc3a8e358e2e/icons/22/nm-stage02-connecting02.png -------------------------------------------------------------------------------- /icons/22/nm-stage02-connecting03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/network-manager-applet/35f6c05231bb1ec41d59570107d7fc3a8e358e2e/icons/22/nm-stage02-connecting03.png -------------------------------------------------------------------------------- /icons/22/nm-stage02-connecting04.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/network-manager-applet/35f6c05231bb1ec41d59570107d7fc3a8e358e2e/icons/22/nm-stage02-connecting04.png -------------------------------------------------------------------------------- /icons/22/nm-stage02-connecting05.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/network-manager-applet/35f6c05231bb1ec41d59570107d7fc3a8e358e2e/icons/22/nm-stage02-connecting05.png -------------------------------------------------------------------------------- /icons/22/nm-stage02-connecting06.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/network-manager-applet/35f6c05231bb1ec41d59570107d7fc3a8e358e2e/icons/22/nm-stage02-connecting06.png -------------------------------------------------------------------------------- /icons/22/nm-stage02-connecting07.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/network-manager-applet/35f6c05231bb1ec41d59570107d7fc3a8e358e2e/icons/22/nm-stage02-connecting07.png -------------------------------------------------------------------------------- /icons/22/nm-stage02-connecting08.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/network-manager-applet/35f6c05231bb1ec41d59570107d7fc3a8e358e2e/icons/22/nm-stage02-connecting08.png -------------------------------------------------------------------------------- /icons/22/nm-stage02-connecting09.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/network-manager-applet/35f6c05231bb1ec41d59570107d7fc3a8e358e2e/icons/22/nm-stage02-connecting09.png -------------------------------------------------------------------------------- /icons/22/nm-stage02-connecting10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/network-manager-applet/35f6c05231bb1ec41d59570107d7fc3a8e358e2e/icons/22/nm-stage02-connecting10.png -------------------------------------------------------------------------------- /icons/22/nm-stage02-connecting11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/network-manager-applet/35f6c05231bb1ec41d59570107d7fc3a8e358e2e/icons/22/nm-stage02-connecting11.png -------------------------------------------------------------------------------- /icons/22/nm-stage03-connecting01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/network-manager-applet/35f6c05231bb1ec41d59570107d7fc3a8e358e2e/icons/22/nm-stage03-connecting01.png -------------------------------------------------------------------------------- /icons/22/nm-stage03-connecting02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/network-manager-applet/35f6c05231bb1ec41d59570107d7fc3a8e358e2e/icons/22/nm-stage03-connecting02.png -------------------------------------------------------------------------------- /icons/22/nm-stage03-connecting03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/network-manager-applet/35f6c05231bb1ec41d59570107d7fc3a8e358e2e/icons/22/nm-stage03-connecting03.png -------------------------------------------------------------------------------- /icons/22/nm-stage03-connecting04.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/network-manager-applet/35f6c05231bb1ec41d59570107d7fc3a8e358e2e/icons/22/nm-stage03-connecting04.png -------------------------------------------------------------------------------- /icons/22/nm-stage03-connecting05.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/network-manager-applet/35f6c05231bb1ec41d59570107d7fc3a8e358e2e/icons/22/nm-stage03-connecting05.png -------------------------------------------------------------------------------- /icons/22/nm-stage03-connecting06.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/network-manager-applet/35f6c05231bb1ec41d59570107d7fc3a8e358e2e/icons/22/nm-stage03-connecting06.png -------------------------------------------------------------------------------- /icons/22/nm-stage03-connecting07.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/network-manager-applet/35f6c05231bb1ec41d59570107d7fc3a8e358e2e/icons/22/nm-stage03-connecting07.png -------------------------------------------------------------------------------- /icons/22/nm-stage03-connecting08.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/network-manager-applet/35f6c05231bb1ec41d59570107d7fc3a8e358e2e/icons/22/nm-stage03-connecting08.png -------------------------------------------------------------------------------- /icons/22/nm-stage03-connecting09.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/network-manager-applet/35f6c05231bb1ec41d59570107d7fc3a8e358e2e/icons/22/nm-stage03-connecting09.png -------------------------------------------------------------------------------- /icons/22/nm-stage03-connecting10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/network-manager-applet/35f6c05231bb1ec41d59570107d7fc3a8e358e2e/icons/22/nm-stage03-connecting10.png -------------------------------------------------------------------------------- /icons/22/nm-stage03-connecting11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/network-manager-applet/35f6c05231bb1ec41d59570107d7fc3a8e358e2e/icons/22/nm-stage03-connecting11.png -------------------------------------------------------------------------------- /icons/22/nm-tech-3g.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/network-manager-applet/35f6c05231bb1ec41d59570107d7fc3a8e358e2e/icons/22/nm-tech-3g.png -------------------------------------------------------------------------------- /icons/22/nm-tech-cdma-1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/network-manager-applet/35f6c05231bb1ec41d59570107d7fc3a8e358e2e/icons/22/nm-tech-cdma-1x.png -------------------------------------------------------------------------------- /icons/22/nm-tech-edge.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/network-manager-applet/35f6c05231bb1ec41d59570107d7fc3a8e358e2e/icons/22/nm-tech-edge.png -------------------------------------------------------------------------------- /icons/22/nm-tech-evdo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/network-manager-applet/35f6c05231bb1ec41d59570107d7fc3a8e358e2e/icons/22/nm-tech-evdo.png -------------------------------------------------------------------------------- /icons/22/nm-tech-gprs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/network-manager-applet/35f6c05231bb1ec41d59570107d7fc3a8e358e2e/icons/22/nm-tech-gprs.png -------------------------------------------------------------------------------- /icons/22/nm-tech-hspa.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/network-manager-applet/35f6c05231bb1ec41d59570107d7fc3a8e358e2e/icons/22/nm-tech-hspa.png -------------------------------------------------------------------------------- /icons/22/nm-tech-lte.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/network-manager-applet/35f6c05231bb1ec41d59570107d7fc3a8e358e2e/icons/22/nm-tech-lte.png -------------------------------------------------------------------------------- /icons/22/nm-tech-umts.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/network-manager-applet/35f6c05231bb1ec41d59570107d7fc3a8e358e2e/icons/22/nm-tech-umts.png -------------------------------------------------------------------------------- /icons/22/nm-vpn-active-lock.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/network-manager-applet/35f6c05231bb1ec41d59570107d7fc3a8e358e2e/icons/22/nm-vpn-active-lock.png -------------------------------------------------------------------------------- /icons/22/nm-vpn-connecting01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/network-manager-applet/35f6c05231bb1ec41d59570107d7fc3a8e358e2e/icons/22/nm-vpn-connecting01.png -------------------------------------------------------------------------------- /icons/22/nm-vpn-connecting02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/network-manager-applet/35f6c05231bb1ec41d59570107d7fc3a8e358e2e/icons/22/nm-vpn-connecting02.png -------------------------------------------------------------------------------- /icons/22/nm-vpn-connecting03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/network-manager-applet/35f6c05231bb1ec41d59570107d7fc3a8e358e2e/icons/22/nm-vpn-connecting03.png -------------------------------------------------------------------------------- /icons/22/nm-vpn-connecting04.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/network-manager-applet/35f6c05231bb1ec41d59570107d7fc3a8e358e2e/icons/22/nm-vpn-connecting04.png -------------------------------------------------------------------------------- /icons/22/nm-vpn-connecting05.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/network-manager-applet/35f6c05231bb1ec41d59570107d7fc3a8e358e2e/icons/22/nm-vpn-connecting05.png -------------------------------------------------------------------------------- /icons/22/nm-vpn-connecting06.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/network-manager-applet/35f6c05231bb1ec41d59570107d7fc3a8e358e2e/icons/22/nm-vpn-connecting06.png -------------------------------------------------------------------------------- /icons/22/nm-vpn-connecting07.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/network-manager-applet/35f6c05231bb1ec41d59570107d7fc3a8e358e2e/icons/22/nm-vpn-connecting07.png -------------------------------------------------------------------------------- /icons/22/nm-vpn-connecting08.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/network-manager-applet/35f6c05231bb1ec41d59570107d7fc3a8e358e2e/icons/22/nm-vpn-connecting08.png -------------------------------------------------------------------------------- /icons/22/nm-vpn-connecting09.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/network-manager-applet/35f6c05231bb1ec41d59570107d7fc3a8e358e2e/icons/22/nm-vpn-connecting09.png -------------------------------------------------------------------------------- /icons/22/nm-vpn-connecting10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/network-manager-applet/35f6c05231bb1ec41d59570107d7fc3a8e358e2e/icons/22/nm-vpn-connecting10.png -------------------------------------------------------------------------------- /icons/22/nm-vpn-connecting11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/network-manager-applet/35f6c05231bb1ec41d59570107d7fc3a8e358e2e/icons/22/nm-vpn-connecting11.png -------------------------------------------------------------------------------- /icons/22/nm-vpn-connecting12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/network-manager-applet/35f6c05231bb1ec41d59570107d7fc3a8e358e2e/icons/22/nm-vpn-connecting12.png -------------------------------------------------------------------------------- /icons/22/nm-vpn-connecting13.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/network-manager-applet/35f6c05231bb1ec41d59570107d7fc3a8e358e2e/icons/22/nm-vpn-connecting13.png -------------------------------------------------------------------------------- /icons/22/nm-vpn-connecting14.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/network-manager-applet/35f6c05231bb1ec41d59570107d7fc3a8e358e2e/icons/22/nm-vpn-connecting14.png -------------------------------------------------------------------------------- /icons/22/nm-wwan-tower.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/network-manager-applet/35f6c05231bb1ec41d59570107d7fc3a8e358e2e/icons/22/nm-wwan-tower.png -------------------------------------------------------------------------------- /icons/32/nm-device-wired.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/network-manager-applet/35f6c05231bb1ec41d59570107d7fc3a8e358e2e/icons/32/nm-device-wired.png -------------------------------------------------------------------------------- /icons/32/nm-no-connection.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/network-manager-applet/35f6c05231bb1ec41d59570107d7fc3a8e358e2e/icons/32/nm-no-connection.png -------------------------------------------------------------------------------- /icons/48/nm-device-wireless.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/network-manager-applet/35f6c05231bb1ec41d59570107d7fc3a8e358e2e/icons/48/nm-device-wireless.png -------------------------------------------------------------------------------- /icons/meson.build: -------------------------------------------------------------------------------- 1 | icons_16 = [ 2 | 'nm-device-wired.png', 3 | 'nm-no-connection.png', 4 | 'nm-vpn-standalone-lock.png', 5 | ] 6 | 7 | icons_22 = [ 8 | 'nm-adhoc.png', 9 | 'nm-device-wired-secure.png', 10 | 'nm-device-wired.png', 11 | 'nm-device-wwan.png', 12 | 'nm-insecure-warn.png', 13 | 'nm-mb-roam.png', 14 | 'nm-no-connection.png', 15 | 'nm-secure-lock.png', 16 | 'nm-signal-00-secure.png', 17 | 'nm-signal-00.png', 18 | 'nm-signal-100-secure.png', 19 | 'nm-signal-100.png', 20 | 'nm-signal-25-secure.png', 21 | 'nm-signal-25.png', 22 | 'nm-signal-50-secure.png', 23 | 'nm-signal-50.png', 24 | 'nm-signal-75-secure.png', 25 | 'nm-signal-75.png', 26 | 'nm-stage01-connecting01.png', 27 | 'nm-stage01-connecting02.png', 28 | 'nm-stage01-connecting03.png', 29 | 'nm-stage01-connecting04.png', 30 | 'nm-stage01-connecting05.png', 31 | 'nm-stage01-connecting06.png', 32 | 'nm-stage01-connecting07.png', 33 | 'nm-stage01-connecting08.png', 34 | 'nm-stage01-connecting09.png', 35 | 'nm-stage01-connecting10.png', 36 | 'nm-stage01-connecting11.png', 37 | 'nm-stage02-connecting01.png', 38 | 'nm-stage02-connecting02.png', 39 | 'nm-stage02-connecting03.png', 40 | 'nm-stage02-connecting04.png', 41 | 'nm-stage02-connecting05.png', 42 | 'nm-stage02-connecting06.png', 43 | 'nm-stage02-connecting07.png', 44 | 'nm-stage02-connecting08.png', 45 | 'nm-stage02-connecting09.png', 46 | 'nm-stage02-connecting10.png', 47 | 'nm-stage02-connecting11.png', 48 | 'nm-stage03-connecting01.png', 49 | 'nm-stage03-connecting02.png', 50 | 'nm-stage03-connecting03.png', 51 | 'nm-stage03-connecting04.png', 52 | 'nm-stage03-connecting05.png', 53 | 'nm-stage03-connecting06.png', 54 | 'nm-stage03-connecting07.png', 55 | 'nm-stage03-connecting08.png', 56 | 'nm-stage03-connecting09.png', 57 | 'nm-stage03-connecting10.png', 58 | 'nm-stage03-connecting11.png', 59 | 'nm-tech-3g.png', 60 | 'nm-tech-cdma-1x.png', 61 | 'nm-tech-edge.png', 62 | 'nm-tech-evdo.png', 63 | 'nm-tech-gprs.png', 64 | 'nm-tech-hspa.png', 65 | 'nm-tech-lte.png', 66 | 'nm-tech-umts.png', 67 | 'nm-vpn-active-lock.png', 68 | 'nm-vpn-connecting01.png', 69 | 'nm-vpn-connecting02.png', 70 | 'nm-vpn-connecting03.png', 71 | 'nm-vpn-connecting04.png', 72 | 'nm-vpn-connecting05.png', 73 | 'nm-vpn-connecting06.png', 74 | 'nm-vpn-connecting07.png', 75 | 'nm-vpn-connecting08.png', 76 | 'nm-vpn-connecting09.png', 77 | 'nm-vpn-connecting10.png', 78 | 'nm-vpn-connecting11.png', 79 | 'nm-vpn-connecting12.png', 80 | 'nm-vpn-connecting13.png', 81 | 'nm-vpn-connecting14.png', 82 | 'nm-wwan-tower.png', 83 | ] 84 | 85 | icons_32 = [ 86 | 'nm-device-wired.png', 87 | 'nm-no-connection.png', 88 | ] 89 | 90 | icons_48 = [ 91 | 'nm-device-wireless.png', 92 | ] 93 | 94 | icons_scalable = [ 95 | 'nm-device-wired-secure-symbolic.svg', 96 | 'nm-device-wired-symbolic.svg', 97 | 'nm-device-wired.svg', 98 | 'nm-device-wwan-symbolic.svg', 99 | 'nm-no-connection-symbolic.svg', 100 | 'nm-no-connection.svg', 101 | 'nm-signal-00-secure-symbolic.svg', 102 | 'nm-signal-00-symbolic.svg', 103 | 'nm-signal-100-secure-symbolic.svg', 104 | 'nm-signal-100-symbolic.svg', 105 | 'nm-signal-25-secure-symbolic.svg', 106 | 'nm-signal-25-symbolic.svg', 107 | 'nm-signal-50-secure-symbolic.svg', 108 | 'nm-signal-50-symbolic.svg', 109 | 'nm-signal-75-secure-symbolic.svg', 110 | 'nm-signal-75-symbolic.svg', 111 | 'nm-vpn-active-lock-symbolic.svg', 112 | 'nm-vpn-connecting01-symbolic.svg', 113 | 'nm-vpn-connecting02-symbolic.svg', 114 | 'nm-vpn-connecting03-symbolic.svg', 115 | 'nm-vpn-connecting04-symbolic.svg', 116 | 'nm-vpn-connecting05-symbolic.svg', 117 | 'nm-vpn-connecting06-symbolic.svg', 118 | 'nm-vpn-connecting07-symbolic.svg', 119 | 'nm-vpn-connecting08-symbolic.svg', 120 | 'nm-vpn-connecting09-symbolic.svg', 121 | 'nm-vpn-connecting10-symbolic.svg', 122 | 'nm-vpn-connecting11-symbolic.svg', 123 | 'nm-vpn-connecting12-symbolic.svg', 124 | 'nm-vpn-connecting13-symbolic.svg', 125 | 'nm-vpn-connecting14-symbolic.svg', 126 | 'nm-vpn-standalone-lock-symbolic.svg', 127 | ] 128 | 129 | icons = [ 130 | # local dir, install dir, files 131 | ['16', '16x16', icons_16], 132 | ['22', '22x22', icons_22], 133 | ['32', '32x32', icons_32], 134 | ['48', '48x48', icons_48], 135 | ['scalable', 'scalable', icons_scalable], 136 | ] 137 | 138 | foreach icon: icons 139 | icon_dir = join_paths(nma_datadir, 'icons', 'hicolor', icon[1], 'apps') 140 | foreach name: icon[2] 141 | install_data( 142 | join_paths(icon[0], name), 143 | install_dir: icon_dir 144 | ) 145 | endforeach 146 | endforeach 147 | -------------------------------------------------------------------------------- /icons/scalable/nm-device-wired-secure-symbolic.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /icons/scalable/nm-device-wired-symbolic.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /icons/scalable/nm-device-wwan-symbolic.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /icons/scalable/nm-no-connection-symbolic.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /icons/scalable/nm-signal-00-secure-symbolic.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /icons/scalable/nm-signal-00-symbolic.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /icons/scalable/nm-signal-100-secure-symbolic.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /icons/scalable/nm-signal-100-symbolic.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /icons/scalable/nm-signal-25-secure-symbolic.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /icons/scalable/nm-signal-25-symbolic.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /icons/scalable/nm-signal-50-secure-symbolic.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /icons/scalable/nm-signal-50-symbolic.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /icons/scalable/nm-signal-75-secure-symbolic.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /icons/scalable/nm-signal-75-symbolic.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /icons/scalable/nm-vpn-active-lock-symbolic.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /icons/scalable/nm-vpn-connecting01-symbolic.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /icons/scalable/nm-vpn-connecting02-symbolic.svg: -------------------------------------------------------------------------------- 1 | nm-vpn-connecting01-symbolic.svg -------------------------------------------------------------------------------- /icons/scalable/nm-vpn-connecting03-symbolic.svg: -------------------------------------------------------------------------------- 1 | nm-vpn-connecting01-symbolic.svg -------------------------------------------------------------------------------- /icons/scalable/nm-vpn-connecting04-symbolic.svg: -------------------------------------------------------------------------------- 1 | nm-vpn-connecting01-symbolic.svg -------------------------------------------------------------------------------- /icons/scalable/nm-vpn-connecting05-symbolic.svg: -------------------------------------------------------------------------------- 1 | nm-vpn-connecting01-symbolic.svg -------------------------------------------------------------------------------- /icons/scalable/nm-vpn-connecting06-symbolic.svg: -------------------------------------------------------------------------------- 1 | nm-vpn-connecting01-symbolic.svg -------------------------------------------------------------------------------- /icons/scalable/nm-vpn-connecting07-symbolic.svg: -------------------------------------------------------------------------------- 1 | nm-vpn-connecting01-symbolic.svg -------------------------------------------------------------------------------- /icons/scalable/nm-vpn-connecting08-symbolic.svg: -------------------------------------------------------------------------------- 1 | nm-vpn-connecting01-symbolic.svg -------------------------------------------------------------------------------- /icons/scalable/nm-vpn-connecting09-symbolic.svg: -------------------------------------------------------------------------------- 1 | nm-vpn-connecting01-symbolic.svg -------------------------------------------------------------------------------- /icons/scalable/nm-vpn-connecting10-symbolic.svg: -------------------------------------------------------------------------------- 1 | nm-vpn-connecting01-symbolic.svg -------------------------------------------------------------------------------- /icons/scalable/nm-vpn-connecting11-symbolic.svg: -------------------------------------------------------------------------------- 1 | nm-vpn-connecting01-symbolic.svg -------------------------------------------------------------------------------- /icons/scalable/nm-vpn-connecting12-symbolic.svg: -------------------------------------------------------------------------------- 1 | nm-vpn-connecting01-symbolic.svg -------------------------------------------------------------------------------- /icons/scalable/nm-vpn-connecting13-symbolic.svg: -------------------------------------------------------------------------------- 1 | nm-vpn-connecting01-symbolic.svg -------------------------------------------------------------------------------- /icons/scalable/nm-vpn-connecting14-symbolic.svg: -------------------------------------------------------------------------------- 1 | nm-vpn-connecting01-symbolic.svg -------------------------------------------------------------------------------- /icons/scalable/nm-vpn-standalone-lock-symbolic.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /linker-script-binary.ver: -------------------------------------------------------------------------------- 1 | { 2 | global: 3 | _IO_stdin_used; 4 | local: 5 | *; 6 | }; 7 | -------------------------------------------------------------------------------- /m4/git-sha-record.m4: -------------------------------------------------------------------------------- 1 | dnl GIT_SHA_RECORD($1, $2) 2 | dnl 3 | dnl $1: the name of the assigned variable. For example NM_GIT_SHA, 4 | dnl NMA_GIT_SHA, LIBNL_GIT_SHA. 5 | dnl $2: by default, a define to config.h is added. This can be 6 | dnl suppressed by passing "no-config-h". 7 | dnl 8 | AC_DEFUN([GIT_SHA_RECORD], [ 9 | m4_define([git_sha_record_v], 10 | [m4_esyscmd([ ( [ -d ./.git/ ] && [ "$(readlink -f ./.git/)" = "$(readlink -f "$(git rev-parse --git-dir 2>/dev/null)" 2>/dev/null)" ] && git rev-parse --verify -q HEAD 2>/dev/null ) || true ])]) 11 | $1=git_sha_record_v 12 | if test ""$2"" != "no-config-h" ; then 13 | AC_DEFINE_UNQUOTED($1,"$$1",[git commit id of the original source code version]) 14 | fi 15 | ]) 16 | -------------------------------------------------------------------------------- /m4/glib-makefile.m4: -------------------------------------------------------------------------------- 1 | dnl GLIB_CONFIG([MINIMUM-VERSION, [, MODULES]]) 2 | dnl Test for GLIB (and error out if it's not available). Define 3 | dnl GLIB_CFLAGS and GLIB_LIBS, GLIB_MAKEFILE, and variables for 4 | dnl various glib developer tools (eg, GLIB_GENMARSHAL). If 5 | dnl gmodule, gobject, or gio is specified in MODULES, pass to 6 | dnl pkg-config 7 | dnl 8 | AC_DEFUN([GLIB_CONFIG_NMA], 9 | [dnl 10 | min_glib_version=ifelse([$1], ,2.26.0,$1) 11 | pkg_config_args= 12 | for module in glib $2; do 13 | pkg_config_args="$pkg_config_args $module-2.0 >= $min_glib_version" 14 | done 15 | 16 | PKG_CHECK_MODULES(GLIB, $pkg_config_args) 17 | 18 | GLIB_CFLAGS="$GLIB_CFLAGS -DG_DISABLE_SINGLE_INCLUDES" 19 | 20 | GLIB_GENMARSHAL=`$PKG_CONFIG --variable=glib_genmarshal glib-2.0` 21 | GLIB_MKENUMS=`$PKG_CONFIG --variable=glib_mkenums glib-2.0` 22 | 23 | #GLIB_MAKEFILE=`$PKG_CONFIG --variable=glib_makefile glib-2.0` 24 | GLIB_MAKEFILE='$(top_srcdir)/Makefile.glib' 25 | 26 | AC_SUBST(GLIB_GENMARSHAL) 27 | AC_SUBST(GLIB_MKENUMS) 28 | AC_SUBST(GLIB_MAKEFILE) 29 | 30 | GLIB_GSETTINGS 31 | ]) 32 | -------------------------------------------------------------------------------- /man/meson.build: -------------------------------------------------------------------------------- 1 | mans = [ 2 | 'nm-applet.1', 3 | 'nm-connection-editor.1' 4 | ] 5 | 6 | man1_dir = join_paths(nma_mandir, 'man1') 7 | 8 | man_subst = configuration_data() 9 | man_subst.set('VERSION', nm_applet_version) 10 | 11 | foreach man: mans 12 | configure_file( 13 | input: man + '.in', 14 | output: man, 15 | install_dir: man1_dir, 16 | configuration: man_subst, 17 | ) 18 | endforeach 19 | -------------------------------------------------------------------------------- /man/nm-applet.1.in: -------------------------------------------------------------------------------- 1 | .\" nm-applet (1) manual page 2 | .\" 3 | .\" This is free documentation; you can redistribute it and/or 4 | .\" modify it under the terms of the GNU General Public License as 5 | .\" published by the Free Software Foundation; either version 2 of 6 | .\" the License, or (at your option) any later version. 7 | .\" 8 | .\" The GNU General Public License's references to "object code" 9 | .\" and "executables" are to be interpreted as the output of any 10 | .\" document formatting or typesetting system, including 11 | .\" intermediate and printed output. 12 | .\" 13 | .\" This manual is distributed in the hope that it will be useful, 14 | .\" but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | .\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | .\" GNU General Public License for more details. 17 | .\" 18 | .\" You should have received a copy of the GNU General Public Licence along 19 | .\" with this manual; if not, write to the Free Software Foundation, Inc., 20 | .\" 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 21 | .\" 22 | .\" Copyright (C) 2013 Red Hat, Inc. 23 | .\" 24 | .TH NM-APPLET "1" "" "network-manager-applet @VERSION@" 25 | 26 | .SH NAME 27 | nm\-applet \- network monitor and control GUI applet 28 | .SH SYNOPSIS 29 | .B nm\-applet 30 | .RI " [ " OPTIONS " ] 31 | 32 | .SH DESCRIPTION 33 | .B nm\-applet 34 | is a GTK\(hybased GUI applet to monitor network status and devices and to start 35 | and stop network connections managed by NetworkManager. \fInm\-applet\fP 36 | is normally started at login by the desktop session manager and does not 37 | need to be run manually. \fInm\-applet\fP conforms to the XDG System Tray 38 | specification and requires that the desktop environment provide a System Tray 39 | implementation in which the applet will be embedded. 40 | 41 | .SH SEE ALSO 42 | .BR NetworkManager(8), 43 | .BR nm\-connection\-editor(1). 44 | -------------------------------------------------------------------------------- /man/nm-connection-editor.1.in: -------------------------------------------------------------------------------- 1 | .\" nm-connection-editor (1) manual page 2 | .\" 3 | .\" This is free documentation; you can redistribute it and/or 4 | .\" modify it under the terms of the GNU General Public License as 5 | .\" published by the Free Software Foundation; either version 2 of 6 | .\" the License, or (at your option) any later version. 7 | .\" 8 | .\" The GNU General Public License's references to "object code" 9 | .\" and "executables" are to be interpreted as the output of any 10 | .\" document formatting or typesetting system, including 11 | .\" intermediate and printed output. 12 | .\" 13 | .\" This manual is distributed in the hope that it will be useful, 14 | .\" but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | .\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | .\" GNU General Public License for more details. 17 | .\" 18 | .\" You should have received a copy of the GNU General Public Licence along 19 | .\" with this manual; if not, write to the Free Software Foundation, Inc., 20 | .\" 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 21 | .\" 22 | .\" Copyright (C) 2013 Red Hat, Inc. 23 | .\" 24 | .TH NM-CONNECTION-EDITOR "1" "" "network-manager-applet @VERSION@" 25 | 26 | .SH NAME 27 | nm\-connection\-editor \- network connection editor for NetworkManager 28 | .SH SYNOPSIS 29 | .B nm\-connection\-editor 30 | .RI " [ " OPTIONS " ] 31 | 32 | .SH DESCRIPTION 33 | .B nm\-connection\-editor 34 | is a GTK\(hybased application to add, remove, and modify network connections 35 | stored by NetworkManager. NetworkManager must be running for any network 36 | connections to be added, removed, or modified. 37 | 38 | .SH OPTIONS 39 | .TP 40 | .B \-t, \-\-type= 41 | Type of connection to create or show. Values are NetworkManager 42 | setting names, eg "802\-3\-ethernet", "802\-11\-wireless", "bridge", "bond", 43 | "infiniband", "vlan", etc. Does nothing if \-\-create or \-\-show 44 | is not given. 45 | .TP 46 | .B \-s, \-\-show 47 | Expand or collapse the network list to highlight the network connection type 48 | given by \-\-type. 49 | .TP 50 | .B \-c, \-\-create 51 | Create a new connection of the type given by \-\-type and allow the user to 52 | modify connection details. 53 | .TP 54 | .B \-e, \-\-edit= 55 | Show the network connection edit window for the connection of the given UUID. 56 | 57 | .SH SEE ALSO 58 | .BR nmcli(1), 59 | .BR NetworkManager(8), 60 | .BR nm\-applet(1). 61 | -------------------------------------------------------------------------------- /meson_options.txt: -------------------------------------------------------------------------------- 1 | option('appindicator', type: 'string', value: 'yes', description: 'Build with lib(ayatana-)appindicator support in addition to xembed systray support (no|yes|auto|ayatana|ubuntu). Default is "yes", "yes" is an alias for "auto".') 2 | option('wwan', type: 'boolean', value: true, description: 'Enable WWAN support.') 3 | option('selinux', type: 'boolean', value: true, description: 'Enable support for adjusting SELinux labels in configuration editor.') 4 | option('team', type: 'boolean', value: true, description: 'Enable team configuration editor.') 5 | option('more_asserts', type: 'string', value: '0', description: 'Enable more assertions for debugging.') 6 | option('ld_gc', type: 'boolean', value: true, description: 'Enable garbage collection of unused symbols on linking') 7 | -------------------------------------------------------------------------------- /meson_post_install.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | 3 | import os 4 | import shutil 5 | import subprocess 6 | import sys 7 | 8 | if not os.environ.get('DESTDIR'): 9 | schemadir = os.path.join(sys.argv[1], 'glib-2.0', 'schemas') 10 | print('Compile gsettings schemas...') 11 | subprocess.call(['glib-compile-schemas', schemadir]) 12 | 13 | # FIXME: this is due to unable to copy a generated target file: 14 | # https://groups.google.com/forum/#!topic/mesonbuild/3iIoYPrN4P0 15 | dst_dir = os.path.join(sys.argv[2], 'xdg', 'autostart') 16 | src = os.path.join(sys.argv[1], 'applications', 'nm-applet.desktop') 17 | if os.environ.get('DESTDIR'): 18 | dst_dir = os.environ.get('DESTDIR') + os.path.join(os.getcwd(), dst_dir) 19 | src = os.environ.get('DESTDIR') + os.path.join(os.getcwd(), src) 20 | if not os.path.exists(dst_dir): 21 | os.makedirs(dst_dir) 22 | dst = os.path.join(dst_dir, 'nm-applet.desktop') 23 | shutil.copyfile(src, dst) 24 | -------------------------------------------------------------------------------- /network-manager-applet.doap: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | network-manager-applet 9 | Tray applet and an advanced network connection editor 10 | Tray applet and an advanced network connection editor 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | C 19 | 20 | 21 | 22 | Lubomir Rintel 23 | 24 | lkundrak 25 | 26 | 27 | 28 | 29 | Thomas Haller 30 | 31 | thaller 32 | 33 | 34 | 35 | 36 | Beniamino Galvani 37 | 38 | bgalvani 39 | 40 | 41 | 42 | 43 | 44 | -------------------------------------------------------------------------------- /nm-applet.convert: -------------------------------------------------------------------------------- 1 | [org.gnome.nm-applet] 2 | disable-connected-notifications = /apps/nm-applet/disable-connected-notifications 3 | disable-disconnected-notifications = /apps/nm-applet/disable-disconnected-notifications 4 | disable-vpn-notifications = /apps/nm-applet/disable-vpn-notifications 5 | suppress-wireless-networks-available = /apps/nm-applet/suppress-wireless-networks-available 6 | stamp = /apps/nm-applet/stamp 7 | disable-wifi-create = /apps/nm-applet/disable-wifi-create 8 | show-applet = /apps/nm-applet/show-applet 9 | -------------------------------------------------------------------------------- /nm-applet.desktop.in: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Name=NetworkManager Applet 3 | Comment=Manage your network connections 4 | Icon=nm-device-wireless 5 | Exec=nm-applet 6 | Terminal=false 7 | Type=Application 8 | NoDisplay=true 9 | NotShowIn=KDE;GNOME; 10 | X-GNOME-UsesNotifications=true 11 | -------------------------------------------------------------------------------- /nm-connection-editor.desktop.in: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Name=Advanced Network Configuration 3 | Comment=Manage and change your network connection settings 4 | Icon=preferences-system-network 5 | Exec=nm-connection-editor 6 | Terminal=false 7 | StartupNotify=true 8 | Type=Application 9 | Categories=GNOME;GTK;Settings;X-GNOME-NetworkSettings;X-GNOME-Utilities; 10 | -------------------------------------------------------------------------------- /nm-connection-editor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/network-manager-applet/35f6c05231bb1ec41d59570107d7fc3a8e358e2e/nm-connection-editor.png -------------------------------------------------------------------------------- /org.gnome.nm-applet.gschema.xml.in: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | false 6 | Disable connected notifications 7 | Set this to true to disable notifications when connecting to a network. 8 | 9 | 10 | false 11 | Disable disconnected notifications 12 | Set this to true to disable notifications when disconnecting from a network. 13 | 14 | 15 | false 16 | Disable VPN notifications 17 | Set this to true to disable notifications when connecting to or disconnecting from a VPN. 18 | 19 | 20 | false 21 | Suppress networks available notifications 22 | Set this to true to disable notifications when Wi-Fi networks are available. 23 | 24 | 25 | 0 26 | Stamp 27 | Used to determine whether settings should be migrated to a new version. 28 | 29 | 30 | false 31 | Disable WiFi Create 32 | Set to true to disable creation of adhoc networks when using the applet. 33 | 34 | 35 | false 36 | Suppress broadband device unlock prompt 37 | Set to true to not prompt for PIN/PUK when providing it is required to unlock a broadband device. 38 | 39 | 40 | true 41 | Show the applet in notification area 42 | Set to FALSE to disable displaying the applet in the notification area. 43 | 44 | 45 | 46 | -------------------------------------------------------------------------------- /org.gnome.nm-connection-editor.appdata.xml.in: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | org.gnome.nm-connection-editor 5 | CC0-1.0 6 | GPL-2.0+ 7 | Advanced Network Configuration 8 | NetworkManager connection editor 9 | 10 | 11 |

NetworkManager is a system service for managing and configuring your 12 | network connections and devices.

13 |

The nm-connection-editor program works with NetworkManager to create 14 | and edit existing connection profiles for NetworkManager.

15 |
16 | 17 | 18 | 19 | https://gitlab.gnome.org/GNOME/network-manager-applet/-/raw/main/nm-connection-editor.png 20 | 21 | 22 | 23 | https://networkmanager.dev 24 | https://gitlab.gnome.org/GNOME/network-manager-applet/issues 25 | https://l10n.gnome.org/module/network-manager-applet/ 26 | https://gitlab.gnome.org/GNOME/network-manager-applet 27 | networkmanager-maint@gnome.bugs 28 | nm-applet 29 | The NetworkManager Developers 30 | 31 | 32 | 33 | nm-connection-editor.desktop 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 |
87 | -------------------------------------------------------------------------------- /po/LINGUAS: -------------------------------------------------------------------------------- 1 | # please keep this list sorted alphabetically 2 | # 3 | af 4 | an 5 | ar 6 | as 7 | ast 8 | be 9 | be@latin 10 | bg 11 | bn_IN 12 | bs 13 | ca 14 | ca@valencia 15 | crh 16 | cs 17 | da 18 | de 19 | dz 20 | el 21 | en_CA 22 | en_GB 23 | eo 24 | es 25 | et 26 | eu 27 | fa 28 | fi 29 | fr 30 | gd 31 | gl 32 | gu 33 | he 34 | hi 35 | hr 36 | hu 37 | id 38 | ie 39 | is 40 | it 41 | ja 42 | ka 43 | kk 44 | km 45 | kn 46 | ko 47 | ku 48 | lt 49 | lv 50 | mk 51 | ml 52 | mr 53 | ms 54 | nb 55 | ne 56 | nl 57 | nn 58 | oc 59 | or 60 | pa 61 | pl 62 | pt 63 | pt_BR 64 | ro 65 | ru 66 | rw 67 | sk 68 | sl 69 | sq 70 | sr 71 | sr@latin 72 | sv 73 | ta 74 | te 75 | tg 76 | th 77 | tr 78 | ug 79 | uk 80 | ur 81 | vi 82 | wa 83 | zh_CN 84 | zh_HK 85 | zh_TW 86 | -------------------------------------------------------------------------------- /po/Makevars: -------------------------------------------------------------------------------- 1 | DOMAIN = nm-applet 2 | 3 | subdir = po 4 | top_builddir = .. 5 | 6 | XGETTEXT_OPTIONS = --from-code=UTF-8 --keyword=_ --keyword=N_ --keyword=C_:1c,2 --keyword=NC_:1c,2 --keyword=g_dngettext:2,3 --add-comments 7 | COPYRIGHT_HOLDER = $(PACKAGE) authors 8 | MSGID_BUGS_ADDRESS = https://gitlab.gnome.org/GNOME/$(PACKAGE)/issues 9 | EXTRA_LOCALE_CATEGORIES = 10 | -------------------------------------------------------------------------------- /po/POTFILES.in: -------------------------------------------------------------------------------- 1 | # List of source files containing translatable strings. 2 | # Please keep this file sorted alphabetically. 3 | nm-applet.desktop.in 4 | org.gnome.nm-connection-editor.appdata.xml.in 5 | nm-connection-editor.desktop.in 6 | org.gnome.nm-applet.gschema.xml.in 7 | shared/nm-utils/nm-shared-utils.c 8 | src/8021x.ui 9 | src/ap-menu-item.c 10 | src/applet-device-broadband.c 11 | src/applet-device-bt.c 12 | src/applet-device-ethernet.c 13 | src/applet-device-wifi.c 14 | src/applet-dialogs.c 15 | src/applet-vpn-request.c 16 | src/applet.c 17 | src/applet.h 18 | src/connection-editor/ce-ip4-routes.ui 19 | src/connection-editor/ce-ip6-routes.ui 20 | src/connection-editor/ce-new-connection.ui 21 | src/connection-editor/ce-page-bluetooth.ui 22 | src/connection-editor/ce-page-bond.ui 23 | src/connection-editor/ce-page-bridge-port.ui 24 | src/connection-editor/ce-page-bridge.ui 25 | src/connection-editor/ce-page-dcb.ui 26 | src/connection-editor/ce-page-dsl.ui 27 | src/connection-editor/ce-page-ethernet.ui 28 | src/connection-editor/ce-page-general.ui 29 | src/connection-editor/ce-page-infiniband.ui 30 | src/connection-editor/ce-page-ip-tunnel.ui 31 | src/connection-editor/ce-page-ip4.ui 32 | src/connection-editor/ce-page-ip6.ui 33 | src/connection-editor/ce-page-macsec.ui 34 | src/connection-editor/ce-page-mobile.ui 35 | src/connection-editor/ce-page-ppp.ui 36 | src/connection-editor/ce-page-proxy.ui 37 | src/connection-editor/ce-page-team-port.ui 38 | src/connection-editor/ce-page-team.ui 39 | src/connection-editor/ce-page-vlan.ui 40 | src/connection-editor/ce-page-wifi-security.ui 41 | src/connection-editor/ce-page-wifi.ui 42 | src/connection-editor/ce-page-wireguard.ui 43 | src/connection-editor/ce-page.c 44 | src/connection-editor/ce-page.h 45 | src/connection-editor/ce-polkit-button.c 46 | src/connection-editor/ce-polkit.c 47 | src/connection-editor/ce-ppp-auth-methods.ui 48 | src/connection-editor/connection-helpers.c 49 | src/connection-editor/gtk/menus.ui 50 | src/connection-editor/ip4-routes-dialog.c 51 | src/connection-editor/ip6-routes-dialog.c 52 | src/connection-editor/nm-connection-editor.c 53 | src/connection-editor/nm-connection-editor.ui 54 | src/connection-editor/nm-connection-list.c 55 | src/connection-editor/nm-connection-list.ui 56 | src/connection-editor/page-8021x-security.c 57 | src/connection-editor/page-bluetooth.c 58 | src/connection-editor/page-bond.c 59 | src/connection-editor/page-bridge-port.c 60 | src/connection-editor/page-bridge.c 61 | src/connection-editor/page-dcb.c 62 | src/connection-editor/page-dsl.c 63 | src/connection-editor/page-ethernet.c 64 | src/connection-editor/page-general.c 65 | src/connection-editor/page-infiniband.c 66 | src/connection-editor/page-ip-tunnel.c 67 | src/connection-editor/page-ip4.c 68 | src/connection-editor/page-ip6.c 69 | src/connection-editor/page-macsec.c 70 | src/connection-editor/page-controller.c 71 | src/connection-editor/page-mobile.c 72 | src/connection-editor/page-ppp.c 73 | src/connection-editor/page-proxy.c 74 | src/connection-editor/page-team-port.c 75 | src/connection-editor/page-team.c 76 | src/connection-editor/page-vlan.c 77 | src/connection-editor/page-vpn.c 78 | src/connection-editor/page-wifi-security.c 79 | src/connection-editor/page-wifi.c 80 | src/connection-editor/page-wireguard.c 81 | src/connection-editor/vpn-helpers.c 82 | src/ethernet-dialog.c 83 | src/gsm-unlock.ui 84 | src/info.ui 85 | src/main.c 86 | src/mb-menu-item.c 87 | src/mobile-helpers.c 88 | src/utils/utils.c 89 | src/wireless-security/eap-method.c 90 | -------------------------------------------------------------------------------- /po/meson.build: -------------------------------------------------------------------------------- 1 | i18n.gettext(nma_name, preset: 'glib') 2 | -------------------------------------------------------------------------------- /scripts/gitlab-ci.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | die() { 4 | echo ">>> FAIL: $@" 5 | exit 1 6 | } 7 | 8 | is_in_set() { 9 | local v="$1" 10 | shift 11 | for w ; do 12 | [[ "$v" == "$w" ]] && return 0 13 | done 14 | return 1 15 | } 16 | 17 | fedora_pkg_minimal() { 18 | echo \ 19 | /usr/bin/autopoint \ 20 | NetworkManager-libnm-devel \ 21 | desktop-file-utils \ 22 | fedora-repos-rawhide \ 23 | file \ 24 | findutils \ 25 | gcc \ 26 | gettext-devel \ 27 | glib2-devel \ 28 | gtk3-devel \ 29 | libsecret-devel \ 30 | libtool \ 31 | pkgconfig \ 32 | # 33 | } 34 | 35 | fedora_pkg_full() { 36 | echo \ 37 | $(fedora_pkg_minimal) \ 38 | redhat-rpm-config \ 39 | jansson-devel \ 40 | ModemManager-glib-devel \ 41 | libselinux-devel \ 42 | libappindicator-gtk3-devel \ 43 | libdbusmenu-gtk3-devel \ 44 | # 45 | } 46 | 47 | fedora_pkg_build() { 48 | case "$1" in 49 | autotools) 50 | echo autoconf automake make 51 | ;; 52 | make) 53 | echo make 54 | ;; 55 | meson) 56 | echo meson 57 | ;; 58 | "") 59 | ;; 60 | *) 61 | die "Unknown build option \"$1\"" 62 | ;; 63 | esac 64 | } 65 | 66 | fedora_install_libnma() { 67 | pushd /etc/yum.repos.d 68 | local URL='https://gitlab.gnome.org/thaller/network-manager-applet/-/raw/e9d885749b281e86fb92421e73e1564b233141b4/nm-applet-prebuilt-rpms.tgz' 69 | $CMD curl "$URL" --output ./nm-applet-prebuilt-rpms.tgz 70 | $CMD tar -xvzf ./nm-applet-prebuilt-rpms.tgz 71 | $CMD dnf -y install --enablerepo=nm-applet-prebuilt-rpms libnma-devel 72 | popd 73 | } 74 | 75 | fedora_install_minimal() { 76 | $CMD dnf -y install $(fedora_pkg_minimal) $(fedora_pkg_build "$1") 77 | fedora_install_libnma 78 | } 79 | 80 | fedora_install_full() { 81 | $CMD dnf -y install $(fedora_pkg_full) $(fedora_pkg_build "$1") 82 | fedora_install_libnma 83 | } 84 | 85 | 86 | set -xe 87 | 88 | if is_in_set "$1" fedora_install_minimal fedora_install_full ; then 89 | is_in_set "$2" autotools make meson || die "invalid argument \$2 (\"$2\")" 90 | "$1" "$2" 91 | exit 0 92 | fi 93 | 94 | die "Unknown command \"$1\"" 95 | -------------------------------------------------------------------------------- /shared/meson.build: -------------------------------------------------------------------------------- 1 | shared_inc = include_directories('.') 2 | 3 | shared_base_sources = files( 4 | 'nm-utils/nm-shared-utils.c', 5 | ) 6 | 7 | shared_sources = shared_base_sources + files( 8 | 'nm-utils/nm-compat.c', 9 | ) 10 | 11 | shared_legacy_sources = shared_base_sources 12 | -------------------------------------------------------------------------------- /shared/nm-default.h: -------------------------------------------------------------------------------- 1 | /* NetworkManager -- Network link manager 2 | * 3 | * This library is free software; you can redistribute it and/or 4 | * modify it under the terms of the GNU Lesser General Public 5 | * License as published by the Free Software Foundation; either 6 | * version 2 of the License, or (at your option) any later version. 7 | * 8 | * This library is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 11 | * Lesser General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU Lesser General Public 14 | * License along with this library; if not, write to the 15 | * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 16 | * Boston, MA 02110-1301 USA. 17 | * 18 | * (C) Copyright 2015 Red Hat, Inc. 19 | */ 20 | 21 | #ifndef __NM_DEFAULT_H__ 22 | #define __NM_DEFAULT_H__ 23 | 24 | /* makefiles define NETWORKMANAGER_COMPILATION for compiling NetworkManager. 25 | * Depending on which parts are compiled, different values are set. */ 26 | #define NM_NETWORKMANAGER_COMPILATION_DEFAULT 0x0001 27 | #define NM_NETWORKMANAGER_COMPILATION_LIB 0x0002 28 | 29 | #ifndef NETWORKMANAGER_COMPILATION 30 | /* For convenience, we don't require our Makefile.am to define 31 | * -DNETWORKMANAGER_COMPILATION. As we now include this internal header, 32 | * we know we do a NETWORKMANAGER_COMPILATION. */ 33 | #define NETWORKMANAGER_COMPILATION NM_NETWORKMANAGER_COMPILATION_DEFAULT 34 | #endif 35 | 36 | /*****************************************************************************/ 37 | 38 | /* always include these headers for our internal source files. */ 39 | 40 | #ifndef ___CONFIG_H__ 41 | #define ___CONFIG_H__ 42 | #include 43 | #endif 44 | 45 | #include 46 | #include 47 | 48 | #include "nm-utils/nm-macros-internal.h" 49 | 50 | #include 51 | 52 | #include 53 | 54 | #if ((NETWORKMANAGER_COMPILATION) & NM_NETWORKMANAGER_COMPILATION_LIB) 55 | #include 56 | #else 57 | #include 58 | #endif 59 | 60 | #include 61 | 62 | #include "nm-libnm-compat.h" 63 | 64 | #endif /* __NM_DEFAULT_H__ */ 65 | -------------------------------------------------------------------------------- /shared/nm-libnm-compat.h: -------------------------------------------------------------------------------- 1 | /* NetworkManager -- Network link manager 2 | * 3 | * This library is free software; you can redistribute it and/or 4 | * modify it under the terms of the GNU Lesser General Public 5 | * License as published by the Free Software Foundation; either 6 | * version 2 of the License, or (at your option) any later version. 7 | * 8 | * This library is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 11 | * Lesser General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU Lesser General Public 14 | * License along with this library; if not, write to the 15 | * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 16 | * Boston, MA 02110-1301 USA. 17 | * 18 | * (C) Copyright 2016 Red Hat, Inc. 19 | */ 20 | 21 | #ifndef __NM_LIBNM_COMPAT_H__ 22 | #define __NM_LIBNM_COMPAT_H__ 23 | 24 | #define NM_LIBNM_COMPAT_UNDEPRECATE(cmd) \ 25 | ({ \ 26 | G_GNUC_BEGIN_IGNORE_DEPRECATIONS \ 27 | (cmd); \ 28 | G_GNUC_END_IGNORE_DEPRECATIONS \ 29 | }) 30 | 31 | #define _NMU_SEC_SAE ((NMUtilsSecurityType) 9) 32 | #if !NM_CHECK_VERSION (1,22,0) 33 | #define NMU_SEC_SAE _NMU_SEC_SAE 34 | #endif 35 | G_STATIC_ASSERT(NMU_SEC_SAE == _NMU_SEC_SAE); 36 | 37 | #define _NMU_SEC_OWE ((NMUtilsSecurityType) 10) 38 | #if !NM_CHECK_VERSION (1,24,0) 39 | #define NMU_SEC_OWE _NMU_SEC_OWE 40 | #endif 41 | G_STATIC_ASSERT(NMU_SEC_OWE == _NMU_SEC_OWE); 42 | 43 | #endif /* __NM_LIBNM_COMPAT_H__ */ 44 | -------------------------------------------------------------------------------- /shared/nm-utils/nm-compat.c: -------------------------------------------------------------------------------- 1 | /* NetworkManager -- Network link manager 2 | * 3 | * This library is free software; you can redistribute it and/or 4 | * modify it under the terms of the GNU Lesser General Public 5 | * License as published by the Free Software Foundation; either 6 | * version 2 of the License, or (at your option) any later version. 7 | * 8 | * This library is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 11 | * Lesser General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU Lesser General Public 14 | * License along with this library; if not, write to the 15 | * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 16 | * Boston, MA 02110-1301 USA. 17 | * 18 | * (C) Copyright 2017 Red Hat, Inc. 19 | */ 20 | 21 | #include "nm-default.h" 22 | 23 | #include "nm-compat.h" 24 | 25 | /*****************************************************************************/ 26 | 27 | static void 28 | _get_keys_cb (const char *key, const char *val, gpointer user_data) 29 | { 30 | GPtrArray *a = user_data; 31 | 32 | g_ptr_array_add (a, g_strdup (key)); 33 | } 34 | 35 | static const char ** 36 | _get_keys (NMSettingVpn *setting, 37 | gboolean is_secrets, 38 | guint *out_length) 39 | { 40 | guint len; 41 | const char **keys = NULL; 42 | GPtrArray *a; 43 | 44 | nm_assert (NM_IS_SETTING_VPN (setting)); 45 | 46 | if (is_secrets) 47 | len = nm_setting_vpn_get_num_secrets (setting); 48 | else 49 | len = nm_setting_vpn_get_num_data_items (setting); 50 | 51 | a = g_ptr_array_sized_new (len + 1); 52 | 53 | if (is_secrets) 54 | nm_setting_vpn_foreach_secret (setting, _get_keys_cb, a); 55 | else 56 | nm_setting_vpn_foreach_data_item (setting, _get_keys_cb, a); 57 | 58 | len = a->len; 59 | if (len) { 60 | g_ptr_array_sort (a, nm_strcmp_p); 61 | g_ptr_array_add (a, NULL); 62 | keys = g_memdup (a->pdata, a->len * sizeof (gpointer)); 63 | 64 | /* we need to cache the keys *somewhere*. */ 65 | g_object_set_qdata_full (G_OBJECT (setting), 66 | is_secrets 67 | ? NM_CACHED_QUARK ("libnm._nm_setting_vpn_get_secret_keys") 68 | : NM_CACHED_QUARK ("libnm._nm_setting_vpn_get_data_keys"), 69 | g_ptr_array_free (a, FALSE), 70 | (GDestroyNotify) g_strfreev); 71 | } else 72 | g_ptr_array_free (a, TRUE); 73 | 74 | NM_SET_OUT (out_length, len); 75 | return keys; 76 | } 77 | 78 | const char ** 79 | _nm_setting_vpn_get_data_keys (NMSettingVpn *setting, 80 | guint *out_length) 81 | { 82 | g_return_val_if_fail (NM_IS_SETTING_VPN (setting), NULL); 83 | 84 | return _get_keys (setting, FALSE, out_length); 85 | } 86 | 87 | const char ** 88 | _nm_setting_vpn_get_secret_keys (NMSettingVpn *setting, 89 | guint *out_length) 90 | { 91 | g_return_val_if_fail (NM_IS_SETTING_VPN (setting), NULL); 92 | 93 | return _get_keys (setting, TRUE, out_length); 94 | } 95 | -------------------------------------------------------------------------------- /shared/nm-utils/nm-compat.h: -------------------------------------------------------------------------------- 1 | /* NetworkManager -- Network link manager 2 | * 3 | * This library is free software; you can redistribute it and/or 4 | * modify it under the terms of the GNU Lesser General Public 5 | * License as published by the Free Software Foundation; either 6 | * version 2 of the License, or (at your option) any later version. 7 | * 8 | * This library is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 11 | * Lesser General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU Lesser General Public 14 | * License along with this library; if not, write to the 15 | * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 16 | * Boston, MA 02110-1301 USA. 17 | * 18 | * (C) Copyright 2017 Red Hat, Inc. 19 | */ 20 | 21 | #ifndef __NM_COMPAT_H__ 22 | #define __NM_COMPAT_H__ 23 | 24 | #include "nm-setting-vpn.h" 25 | 26 | const char **_nm_setting_vpn_get_data_keys (NMSettingVpn *setting, 27 | guint *out_length); 28 | 29 | const char **_nm_setting_vpn_get_secret_keys (NMSettingVpn *setting, 30 | guint *out_length); 31 | 32 | #if NM_CHECK_VERSION (1, 11, 0) 33 | #define nm_setting_vpn_get_data_keys(setting, out_length) \ 34 | ({ \ 35 | G_GNUC_BEGIN_IGNORE_DEPRECATIONS \ 36 | nm_setting_vpn_get_data_keys (setting, out_length); \ 37 | G_GNUC_END_IGNORE_DEPRECATIONS \ 38 | }) 39 | #define nm_setting_vpn_get_secret_keys(setting, out_length) \ 40 | ({ \ 41 | G_GNUC_BEGIN_IGNORE_DEPRECATIONS \ 42 | nm_setting_vpn_get_secret_keys (setting, out_length); \ 43 | G_GNUC_END_IGNORE_DEPRECATIONS \ 44 | }) 45 | #else 46 | #define nm_setting_vpn_get_data_keys(setting, out_length) \ 47 | _nm_setting_vpn_get_data_keys (setting, out_length) 48 | #define nm_setting_vpn_get_secret_keys(setting, out_length) \ 49 | _nm_setting_vpn_get_secret_keys (setting, out_length) 50 | #endif 51 | 52 | #endif /* __NM_COMPAT_H__ */ 53 | -------------------------------------------------------------------------------- /src/ap-menu-item.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-2.0+ 2 | /* ap-menu-item.h - Class to represent a Wifi access point 3 | * 4 | * Jonathan Blandford 5 | * Dan Williams 6 | * 7 | * Copyright (C) 2005 - 2008 Red Hat, Inc. 8 | */ 9 | 10 | #ifndef __AP_MENU_ITEM_H__ 11 | #define __AP_MENU_ITEM_H__ 12 | 13 | #include 14 | #include "applet.h" 15 | #include "nm-access-point.h" 16 | 17 | #define NM_TYPE_NETWORK_MENU_ITEM (nm_network_menu_item_get_type ()) 18 | #define NM_NETWORK_MENU_ITEM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), NM_TYPE_NETWORK_MENU_ITEM, NMNetworkMenuItem)) 19 | #define NM_NETWORK_MENU_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), NM_TYPE_NETWORK_MENU_ITEM, NMNetworkMenuItemClass)) 20 | #define NM_IS_NETWORK_MENU_ITEM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), NM_TYPE_NETWORK_MENU_ITEM)) 21 | #define NM_IS_NETWORK_MENU_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), NM_TYPE_NETWORK_MENU_ITEM)) 22 | #define NM_NETWORK_MENU_ITEM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), NM_TYPE_NETWORK_MENU_ITEM, NMNetworkMenuItemClass)) 23 | 24 | 25 | typedef struct _NMNetworkMenuItem NMNetworkMenuItem; 26 | typedef struct _NMNetworkMenuItemClass NMNetworkMenuItemClass; 27 | 28 | struct _NMNetworkMenuItem { 29 | GtkMenuItem parent; 30 | }; 31 | 32 | struct _NMNetworkMenuItemClass { 33 | GtkMenuItemClass parent_class; 34 | }; 35 | 36 | 37 | GType nm_network_menu_item_get_type (void) G_GNUC_CONST; 38 | GtkWidget* nm_network_menu_item_new (NMAccessPoint *ap, 39 | guint32 dev_caps, 40 | const char *hash, 41 | gboolean has_connections, 42 | NMApplet *applet); 43 | 44 | const char *nm_network_menu_item_get_ssid (NMNetworkMenuItem *item); 45 | 46 | gboolean nm_network_menu_item_get_is_adhoc (NMNetworkMenuItem *item); 47 | gboolean nm_network_menu_item_get_is_encrypted (NMNetworkMenuItem *item); 48 | 49 | guint32 nm_network_menu_item_get_strength (NMNetworkMenuItem *item); 50 | void nm_network_menu_item_set_strength (NMNetworkMenuItem *item, 51 | guint8 strength, 52 | NMApplet *applet); 53 | const char *nm_network_menu_item_get_hash (NMNetworkMenuItem * item); 54 | 55 | gboolean nm_network_menu_item_find_dupe (NMNetworkMenuItem *item, 56 | NMAccessPoint *ap); 57 | 58 | void nm_network_menu_item_add_dupe (NMNetworkMenuItem *item, 59 | NMAccessPoint *ap); 60 | 61 | void nm_network_menu_item_set_active (NMNetworkMenuItem * item, 62 | gboolean active); 63 | 64 | gboolean nm_network_menu_item_get_has_connections (NMNetworkMenuItem *item); 65 | 66 | #endif /* __AP_MENU_ITEM_H__ */ 67 | 68 | -------------------------------------------------------------------------------- /src/applet-agent.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-2.0+ 2 | /* 3 | * Dan Williams 4 | * 5 | * Copyright 2011 - 2014 Red Hat, Inc. 6 | */ 7 | 8 | #ifndef _APPLET_AGENT_H_ 9 | #define _APPLET_AGENT_H_ 10 | 11 | #include 12 | #include 13 | 14 | #define APPLET_TYPE_AGENT (applet_agent_get_type ()) 15 | #define APPLET_AGENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), APPLET_TYPE_AGENT, AppletAgent)) 16 | #define APPLET_AGENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), APPLET_TYPE_AGENT, AppletAgentClass)) 17 | #define APPLET_IS_AGENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), APPLET_TYPE_AGENT)) 18 | #define APPLET_IS_AGENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), APPLET_TYPE_AGENT)) 19 | #define APPLET_AGENT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), APPLET_TYPE_AGENT, AppletAgentClass)) 20 | 21 | #define APPLET_AGENT_GET_SECRETS "get-secrets" 22 | #define APPLET_AGENT_CANCEL_SECRETS "cancel-secrets" 23 | 24 | typedef struct { 25 | NMSecretAgentOld parent; 26 | } AppletAgent; 27 | 28 | typedef void (*AppletAgentSecretsCallback) (AppletAgent *self, 29 | GVariant *secrets, 30 | GError *error, 31 | gpointer user_data); 32 | 33 | typedef struct { 34 | NMSecretAgentOldClass parent_class; 35 | 36 | void (*get_secrets) (AppletAgent *self, 37 | void *request_id, 38 | NMConnection *connection, 39 | const char *setting_name, 40 | const char **hints, 41 | guint32 flags, 42 | AppletAgentSecretsCallback callback, 43 | gpointer callback_data); 44 | 45 | void (*cancel_secrets) (AppletAgent *self, 46 | void *request_id); 47 | } AppletAgentClass; 48 | 49 | 50 | GType applet_agent_get_type (void) G_GNUC_CONST; 51 | 52 | AppletAgent *applet_agent_new (GError **error); 53 | 54 | void applet_agent_handle_vpn_only (AppletAgent *agent, gboolean vpn_only); 55 | 56 | #endif /* _APPLET_AGENT_H_ */ 57 | 58 | -------------------------------------------------------------------------------- /src/applet-device-broadband.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-2.0+ 2 | /* NetworkManager Applet -- allow user control over networking 3 | * 4 | * (C) Copyright 2012 Aleksander Morgado 5 | */ 6 | 7 | #ifndef __APPLET_DEVICE_BROADBAND_H__ 8 | #define __APPLET_DEVICE_BROADBAND_H__ 9 | 10 | #include "applet.h" 11 | 12 | NMADeviceClass *applet_device_broadband_get_class (NMApplet *applet); 13 | 14 | void applet_broadband_connect_network (NMApplet *applet, 15 | NMDevice *device); 16 | 17 | #endif /* __APPLET_DEVICE_BROADBAND_H__ */ 18 | -------------------------------------------------------------------------------- /src/applet-device-bt.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-2.0+ 2 | /* NetworkManager Applet -- allow user control over networking 3 | * 4 | * Dan Williams 5 | * 6 | * (C) Copyright 2008 Red Hat, Inc. 7 | * (C) Copyright 2008 Novell, Inc. 8 | */ 9 | 10 | #ifndef __APPLET_DEVICE_BT_H__ 11 | #define __APPLET_DEVICE_BT_H__ 12 | 13 | #include "applet.h" 14 | 15 | NMADeviceClass *applet_device_bt_get_class (NMApplet *applet); 16 | 17 | #endif /* __APPLET_DEVICE_BT_H__ */ 18 | -------------------------------------------------------------------------------- /src/applet-device-ethernet.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-2.0+ 2 | /* NetworkManager Applet -- allow user control over networking 3 | * 4 | * Dan Williams 5 | * 6 | * (C) Copyright 2008 Red Hat, Inc. 7 | * (C) Copyright 2008 Novell, Inc. 8 | */ 9 | 10 | #ifndef __APPLET_DEVICE_ETHERNET_H__ 11 | #define __APPLET_DEVICE_ETHERNET_H__ 12 | 13 | #include "applet.h" 14 | 15 | NMADeviceClass *applet_device_ethernet_get_class (NMApplet *applet); 16 | 17 | #endif /* __APPLET_DEVICE_ETHERNET_H__ */ 18 | -------------------------------------------------------------------------------- /src/applet-device-wifi.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-2.0+ 2 | /* NetworkManager Applet -- allow user control over networking 3 | * 4 | * Dan Williams 5 | * 6 | * (C) Copyright 2008 Red Hat, Inc. 7 | */ 8 | 9 | #ifndef __APPLET_DEVICE_WIFI_H__ 10 | #define __APPLET_DEVICE_WIFI_H__ 11 | 12 | #include 13 | 14 | #include "applet.h" 15 | 16 | NMADeviceClass *applet_device_wifi_get_class (NMApplet *applet); 17 | 18 | void nma_menu_add_hidden_network_item (GtkWidget *menu, NMApplet *applet); 19 | void nma_menu_add_create_network_item (GtkWidget *menu, NMApplet *applet); 20 | 21 | #endif /* __APPLET_DEVICE_WIFI_H__ */ 22 | -------------------------------------------------------------------------------- /src/applet-dialogs.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-2.0+ 2 | /* NetworkManager Applet -- allow user control over networking 3 | * 4 | * Dan Williams 5 | * 6 | * (C) Copyright 2008 Red Hat, Inc. 7 | */ 8 | 9 | #ifndef __APPLET_DIALOGS_H__ 10 | #define __APPLET_DIALOGS_H__ 11 | 12 | #include 13 | 14 | #include "applet.h" 15 | 16 | void applet_info_dialog_show (NMApplet *applet); 17 | 18 | void applet_about_dialog_show (NMApplet *applet); 19 | 20 | GtkWidget *applet_missing_ui_warning_dialog_show (void); 21 | 22 | GtkWidget *applet_mobile_password_dialog_new (NMConnection *connection, 23 | GtkEntry **out_secret_entry); 24 | 25 | /******** Mobile PIN dialog ********/ 26 | 27 | GtkWidget *applet_mobile_pin_dialog_new (const char *unlock_required, 28 | const char *device_description); 29 | const char *applet_mobile_pin_dialog_get_entry1 (GtkWidget *dialog); 30 | const char *applet_mobile_pin_dialog_get_entry2 (GtkWidget *dialog); 31 | gboolean applet_mobile_pin_dialog_get_auto_unlock (GtkWidget *dialog); 32 | void applet_mobile_pin_dialog_start_spinner (GtkWidget *dialog, const char *text); 33 | void applet_mobile_pin_dialog_stop_spinner (GtkWidget *dialog, const char *text); 34 | 35 | #endif /* __APPLET_DIALOGS_H__ */ 36 | -------------------------------------------------------------------------------- /src/applet-vpn-request.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-2.0+ 2 | /* NetworkManager Applet -- allow user control over networking 3 | * 4 | * Dan Williams 5 | * 6 | * (C) Copyright 2004 - 2011 Red Hat, Inc. 7 | */ 8 | 9 | #ifndef APPLET_VPN_REQUEST_H 10 | #define APPLET_VPN_REQUEST_H 11 | 12 | #include "applet.h" 13 | 14 | size_t applet_vpn_request_get_secrets_size (void); 15 | 16 | gboolean applet_vpn_request_get_secrets (SecretsRequest *req, GError **error); 17 | 18 | #endif /* APPLET_VPN_REQUEST_H */ 19 | 20 | -------------------------------------------------------------------------------- /src/applet.gresource.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | connection-editor/ce-page-dsl.ui 5 | gsm-unlock.ui 6 | info.ui 7 | 8021x.ui 8 | 9 | 10 | -------------------------------------------------------------------------------- /src/connection-editor/ce-page-bluetooth.ui: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | True 7 | False 8 | 12 9 | 12 10 | 12 11 | 12 12 | 6 13 | 6 14 | 15 | 16 | True 17 | False 18 | start 19 | True 20 | vertical 21 | 12 22 | 23 | 24 | 25 | 26 | 27 | 1 28 | 0 29 | 30 | 31 | 32 | 33 | True 34 | False 35 | _Device 36 | True 37 | 1 38 | 39 | 40 | 0 41 | 0 42 | 43 | 44 | 45 | 46 | -------------------------------------------------------------------------------- /src/connection-editor/ce-page-bridge-port.ui: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 1 7 | 65535 8 | 1 9 | 10 10 | 11 | 12 | 63 13 | 1 14 | 1 15 | 16 | 17 | True 18 | False 19 | 12 20 | 12 21 | 12 22 | 12 23 | 6 24 | 6 25 | 26 | 27 | True 28 | True 29 | False 30 | True 31 | True 32 | 33 | 34 | 1 35 | 2 36 | 37 | 38 | 39 | 40 | True 41 | False 42 | Path _cost 43 | True 44 | 1 45 | 46 | 47 | 0 48 | 1 49 | 50 | 51 | 52 | 53 | True 54 | False 55 | _Priority 56 | True 57 | 1 58 | 59 | 60 | 0 61 | 0 62 | 63 | 64 | 65 | 66 | True 67 | True 68 | True 69 | 70 | bridge_port_priority_adjustment 71 | True 72 | 73 | 74 | 1 75 | 0 76 | 77 | 78 | 79 | 80 | True 81 | True 82 | True 83 | 84 | bridge_port_path_cost_adjustment 85 | True 86 | True 87 | 88 | 89 | 1 90 | 1 91 | 92 | 93 | 94 | 95 | True 96 | False 97 | _Hairpin mode 98 | True 99 | bridge_port_hairpin_mode 100 | 1 101 | 102 | 103 | 0 104 | 2 105 | 106 | 107 | 108 | 109 | -------------------------------------------------------------------------------- /src/connection-editor/ce-page-wifi-security.ui: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | Foo 13 | 14 | 15 | 16 | 17 | True 18 | False 19 | 12 20 | 12 21 | 12 22 | 12 23 | 6 24 | 6 25 | 26 | 27 | True 28 | False 29 | S_ecurity 30 | True 31 | wifi_security_combo 32 | 1 33 | 34 | 35 | 0 36 | 0 37 | 38 | 39 | 40 | 41 | True 42 | False 43 | True 44 | model1 45 | 46 | 47 | 48 | 0 49 | 50 | 51 | 52 | 53 | 1 54 | 0 55 | 56 | 57 | 58 | 59 | vertical 60 | True 61 | False 62 | 63 | 64 | 65 | 66 | 67 | 0 68 | 1 69 | 2 70 | 71 | 72 | 73 | 74 | -------------------------------------------------------------------------------- /src/connection-editor/ce-polkit-button.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-2.0+ 2 | /* NetworkManager Connection editor -- Connection editor for NetworkManager 3 | * 4 | * Dan Williams 5 | * 6 | * Copyright 2009 - 2017 Red Hat, Inc. 7 | */ 8 | 9 | #ifndef __CE_POLKIT_BUTTON_H__ 10 | #define __CE_POLKIT_BUTTON_H__ 11 | 12 | #include 13 | 14 | #include 15 | 16 | #define CE_TYPE_POLKIT_BUTTON (ce_polkit_button_get_type ()) 17 | #define CE_POLKIT_BUTTON(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CE_TYPE_POLKIT_BUTTON, CEPolkitButton)) 18 | #define CE_POKLIT_BUTTON_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CE_TYPE_POLKIT_BUTTON, CEPolkitButtonClass)) 19 | #define CE_IS_POLKIT_BUTTON(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CE_TYPE_POLKIT_BUTTON)) 20 | #define CE_IS_POLKIT_BUTTON_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CE_TYPE_POLKIT_BUTTON)) 21 | #define CE_POLKIT_BUTTON_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CE_TYPE_POLKIT_BUTTON, CEPolkitButtonClass)) 22 | 23 | typedef struct { 24 | GtkButton parent; 25 | } CEPolkitButton; 26 | 27 | typedef struct { 28 | GtkButtonClass parent; 29 | 30 | /* Signals */ 31 | void (*actionable) (CEPolkitButton *self, gboolean actionable); 32 | 33 | void (*authorized) (CEPolkitButton *self, gboolean authorized); 34 | } CEPolkitButtonClass; 35 | 36 | GType ce_polkit_button_get_type (void); 37 | 38 | GtkWidget *ce_polkit_button_new (const char *label, 39 | const char *tooltip, 40 | const char *auth_tooltip, 41 | const char *icon_name, 42 | NMClient *client, 43 | NMClientPermission permission); 44 | 45 | void ce_polkit_button_set_validation_error (CEPolkitButton *self, const char *validation_error); 46 | 47 | gboolean ce_polkit_button_get_actionable (CEPolkitButton *button); 48 | 49 | gboolean ce_polkit_button_get_authorized (CEPolkitButton *button); 50 | 51 | #endif /* __CE_POLKIT_BUTTON_H__ */ 52 | 53 | -------------------------------------------------------------------------------- /src/connection-editor/ce-polkit.c: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-2.0+ 2 | /* NetworkManager Connection editor -- Connection editor for NetworkManager 3 | * 4 | * Dan Williams 5 | * 6 | * Copyright 2009 - 2017 Red Hat, Inc. 7 | */ 8 | 9 | #include "nm-default.h" 10 | 11 | #include 12 | 13 | #include "ce-polkit.h" 14 | 15 | typedef struct { 16 | char *tooltip; 17 | char *auth_tooltip; 18 | char *validation_error; 19 | 20 | NMClientPermission permission; 21 | NMClientPermissionResult permission_result; 22 | } CePolkitData; 23 | 24 | static void 25 | ce_polkit_data_free (CePolkitData *data) 26 | { 27 | g_free (data->tooltip); 28 | g_free (data->auth_tooltip); 29 | g_free (data->validation_error); 30 | g_slice_free (CePolkitData, data); 31 | } 32 | 33 | static void 34 | update_widget (GtkWidget *widget) 35 | { 36 | CePolkitData *data = g_object_get_data (G_OBJECT (widget), "ce-polkit-data"); 37 | 38 | if (data->validation_error) { 39 | gtk_widget_set_sensitive (widget, FALSE); 40 | gtk_widget_set_tooltip_text (widget, data->validation_error); 41 | } else if (data->permission_result == NM_CLIENT_PERMISSION_RESULT_AUTH) { 42 | gtk_widget_set_sensitive (widget, TRUE); 43 | gtk_widget_set_tooltip_text (widget, data->auth_tooltip); 44 | } else if (data->permission_result == NM_CLIENT_PERMISSION_RESULT_YES) { 45 | gtk_widget_set_sensitive (widget, TRUE); 46 | gtk_widget_set_tooltip_text (widget, data->tooltip); 47 | } else { 48 | gtk_widget_set_sensitive (widget, FALSE); 49 | gtk_widget_set_tooltip_text (widget, _("No polkit authorization to perform the action")); 50 | } 51 | } 52 | 53 | static void 54 | permission_changed_cb (NMClient *client, 55 | NMClientPermission permission, 56 | NMClientPermissionResult result, 57 | GtkWidget *widget) 58 | { 59 | CePolkitData *data = g_object_get_data (G_OBJECT (widget), "ce-polkit-data"); 60 | if (permission == data->permission) { 61 | data->permission_result = result; 62 | update_widget (widget); 63 | } 64 | } 65 | 66 | void ce_polkit_set_widget_validation_error (GtkWidget *widget, 67 | const char *validation_error) 68 | { 69 | CePolkitData *data = g_object_get_data (G_OBJECT (widget), "ce-polkit-data"); 70 | 71 | g_free (data->validation_error); 72 | data->validation_error = g_strdup (validation_error); 73 | update_widget (widget); 74 | } 75 | 76 | void 77 | ce_polkit_connect_widget (GtkWidget *widget, 78 | const char *tooltip, 79 | const char *auth_tooltip, 80 | NMClient *client, 81 | NMClientPermission permission) 82 | { 83 | CePolkitData *data; 84 | 85 | data = g_slice_new0 (CePolkitData); 86 | data->tooltip = g_strdup (tooltip); 87 | data->auth_tooltip = g_strdup (auth_tooltip); 88 | data->permission = permission; 89 | g_object_set_data_full (G_OBJECT (widget), 90 | "ce-polkit-data", 91 | data, 92 | (GDestroyNotify) ce_polkit_data_free); 93 | 94 | g_signal_connect_object (client, 95 | "permission-changed", 96 | G_CALLBACK (permission_changed_cb), 97 | G_OBJECT (widget), 98 | 0); 99 | 100 | permission_changed_cb (client, 101 | permission, 102 | nm_client_get_permission_result (client, permission), 103 | widget); 104 | } 105 | -------------------------------------------------------------------------------- /src/connection-editor/ce-polkit.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-2.0+ 2 | /* NetworkManager Connection editor -- Connection editor for NetworkManager 3 | * 4 | * Dan Williams 5 | * 6 | * Copyright 2009 - 2017 Red Hat, Inc. 7 | */ 8 | 9 | #ifndef __CE_POLKIT_H__ 10 | #define __CE_POLKIT_H__ 11 | 12 | #include 13 | 14 | #include 15 | 16 | void ce_polkit_connect_widget (GtkWidget *widget, 17 | const char *tooltip, 18 | const char *auth_tooltip, 19 | NMClient *client, 20 | NMClientPermission permission); 21 | 22 | void ce_polkit_set_widget_validation_error (GtkWidget *widget, 23 | const char *validation_error); 24 | 25 | #endif /* __CE_POLKIT_H__ */ 26 | -------------------------------------------------------------------------------- /src/connection-editor/ce-utils.c: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-2.0+ 2 | /* NetworkManager Applet -- allow user control over networking 3 | * 4 | * Copyright 2015, 2018 Red Hat, Inc. 5 | */ 6 | 7 | #include "nm-default.h" 8 | 9 | #include "ce-utils.h" 10 | 11 | /* Change key in @event to 'Enter' key. */ 12 | void 13 | utils_fake_return_key (GdkEventKey *event) 14 | { 15 | GdkKeymapKey *keys = NULL; 16 | gint n_keys; 17 | 18 | /* Get hardware keycode for GDK_KEY_Return */ 19 | if (gdk_keymap_get_entries_for_keyval (gdk_keymap_get_default (), GDK_KEY_Return, &keys, &n_keys)) { 20 | event->keyval = GDK_KEY_Return; 21 | event->hardware_keycode = keys[0].keycode; 22 | event->state = 0; 23 | } 24 | g_free (keys); 25 | } 26 | -------------------------------------------------------------------------------- /src/connection-editor/ce-utils.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-2.0+ 2 | /* NetworkManager Applet -- allow user control over networking 3 | * 4 | * Dan Williams 5 | * 6 | * Copyright 2007 - 2015 Red Hat, Inc. 7 | */ 8 | 9 | #ifndef __CE_UTILS_H__ 10 | #define __CE_UTILS_H__ 11 | 12 | void utils_fake_return_key (GdkEventKey *event); 13 | 14 | #endif /* __CE_UTILS_H__ */ 15 | -------------------------------------------------------------------------------- /src/connection-editor/ce.gresource.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | nm-connection-editor.ui 5 | nm-connection-list.ui 6 | ce-ip4-routes.ui 7 | ce-ip6-routes.ui 8 | ce-new-connection.ui 9 | ce-page-bluetooth.ui 10 | ce-page-bond.ui 11 | ce-page-bridge-port.ui 12 | ce-page-bridge.ui 13 | ce-page-dcb.ui 14 | ce-page-dsl.ui 15 | ce-page-ethernet.ui 16 | ce-page-general.ui 17 | ce-page-infiniband.ui 18 | ce-page-ip4.ui 19 | ce-page-ip6.ui 20 | ce-page-ip-tunnel.ui 21 | ce-page-macsec.ui 22 | ce-page-mobile.ui 23 | ce-page-ppp.ui 24 | ce-page-proxy.ui 25 | ce-page-team-port.ui 26 | ce-page-team.ui 27 | ce-page-vlan.ui 28 | ce-page-wifi-security.ui 29 | ce-page-wifi.ui 30 | ce-page-wireguard.ui 31 | ce-ppp-auth-methods.ui 32 | gtk/menus.ui 33 | 34 | 35 | -------------------------------------------------------------------------------- /src/connection-editor/connection-helpers.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-2.0+ 2 | /* NetworkManager Connection editor -- Connection editor for NetworkManager 3 | * 4 | * Copyright 2012 - 2014 Red Hat, Inc. 5 | */ 6 | 7 | #ifndef __CONNECTION_HELPERS_H__ 8 | #define __CONNECTION_HELPERS_H__ 9 | 10 | #include 11 | 12 | #include "ce-page.h" 13 | 14 | typedef struct { 15 | const char *name; 16 | GType setting_types[4]; 17 | PageNewConnectionFunc new_connection_func; 18 | gboolean virtual; 19 | } ConnectionTypeData; 20 | 21 | ConnectionTypeData *get_connection_type_list (void); 22 | 23 | struct _func_tag_new_connection_type_filter; 24 | #define FUNC_TAG_NEW_CONNECTION_TYPE_FILTER_IMPL struct _func_tag_new_connection_type_filter *_dummy 25 | #define FUNC_TAG_NEW_CONNECTION_TYPE_FILTER_CALL ((struct _func_tag_new_connection_type_filter *) NULL) 26 | typedef gboolean (*NewConnectionTypeFilterFunc) (FUNC_TAG_NEW_CONNECTION_TYPE_FILTER_IMPL, 27 | GType type, 28 | gpointer user_data); 29 | 30 | struct _func_tag_new_connection_result; 31 | #define FUNC_TAG_NEW_CONNECTION_RESULT_IMPL struct _func_tag_new_connection_result *_dummy 32 | #define FUNC_TAG_NEW_CONNECTION_RESULT_CALL ((struct _func_tag_new_connection_result *) NULL) 33 | typedef void (*NewConnectionResultFunc) (FUNC_TAG_NEW_CONNECTION_RESULT_IMPL, 34 | NMConnection *connection, /* allow-none, don't transfer reference, allow-keep */ 35 | gpointer user_data); 36 | 37 | void new_connection_dialog (GtkWindow *parent_window, 38 | NMClient *client, 39 | NewConnectionTypeFilterFunc type_filter_func, 40 | NewConnectionResultFunc result_func, 41 | gpointer user_data); 42 | void new_connection_dialog_full (GtkWindow *parent_window, 43 | NMClient *client, 44 | const char *primary_label, 45 | const char *secondary_label, 46 | NewConnectionTypeFilterFunc type_filter_func, 47 | NewConnectionResultFunc result_func, 48 | gpointer user_data); 49 | 50 | void new_connection_of_type (GtkWindow *parent_window, 51 | const char *detail, 52 | gpointer detail_data, 53 | NMConnection *connection, 54 | NMClient *client, 55 | PageNewConnectionFunc new_func, 56 | NewConnectionResultFunc result_func, 57 | gpointer user_data); 58 | 59 | struct _func_tag_delete_connection_result; 60 | #define FUNC_TAG_DELETE_CONNECTION_RESULT_IMPL struct _func_tag_delete_connection_result *_dummy 61 | #define FUNC_TAG_DELETE_CONNECTION_RESULT_CALL ((struct _func_tag_delete_connection_result *) NULL) 62 | typedef void (*DeleteConnectionResultFunc) (FUNC_TAG_DELETE_CONNECTION_RESULT_IMPL, 63 | NMRemoteConnection *connection, 64 | gboolean deleted, 65 | gpointer user_data); 66 | 67 | void delete_connection (GtkWindow *parent_window, 68 | NMRemoteConnection *connection, 69 | DeleteConnectionResultFunc result_func, 70 | gpointer user_data); 71 | 72 | gboolean connection_supports_proxy (NMConnection *connection); 73 | gboolean connection_supports_ip4 (NMConnection *connection); 74 | gboolean connection_supports_ip6 (NMConnection *connection); 75 | 76 | NMConnection *connection_import_from_file (const char *filename, 77 | GType ctype, 78 | const char *vpn_detail, 79 | GError **error); 80 | 81 | #endif /* __CONNECTION_HELPERS_H__ */ 82 | 83 | -------------------------------------------------------------------------------- /src/connection-editor/gtk/menus.ui: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |
5 | 6 | _New Connection 7 | app.create 8 | <Primary>n 9 | 10 |
11 |
12 | 13 | _Quit 14 | app.quit 15 | <Primary>q 16 | 17 |
18 |
19 |
20 | -------------------------------------------------------------------------------- /src/connection-editor/ip4-routes-dialog.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-2.0+ 2 | /* NetworkManager Connection editor -- Connection editor for NetworkManager 3 | * 4 | * Dan Williams 5 | * 6 | * Copyright 2008 - 2014 Red Hat, Inc. 7 | */ 8 | 9 | #ifndef IP4_ROUTES_DIALOG_H 10 | #define IP4_ROUTES_DIALOG_H 11 | 12 | #include 13 | #include 14 | 15 | #include 16 | 17 | #include "nm-setting-ip4-config.h" 18 | 19 | GtkWidget *ip4_routes_dialog_new (NMSettingIPConfig *s_ip4, gboolean automatic); 20 | 21 | void ip4_routes_dialog_update_setting (GtkWidget *dialog, NMSettingIPConfig *s_ip4); 22 | 23 | #endif /* IP4_ROUTES_DIALOG_H */ 24 | -------------------------------------------------------------------------------- /src/connection-editor/ip6-routes-dialog.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-2.0+ 2 | /* NetworkManager Connection editor -- Connection editor for NetworkManager 3 | * 4 | * Dan Williams 5 | * 6 | * Copyright 2008 - 2014 Red Hat, Inc. 7 | */ 8 | 9 | #ifndef IP6_ROUTES_DIALOG_H 10 | #define IP6_ROUTES_DIALOG_H 11 | 12 | #include 13 | #include 14 | 15 | #include 16 | 17 | #include "nm-setting-ip6-config.h" 18 | 19 | GtkWidget *ip6_routes_dialog_new (NMSettingIPConfig *s_ip6, gboolean automatic); 20 | 21 | void ip6_routes_dialog_update_setting (GtkWidget *dialog, NMSettingIPConfig *s_ip6); 22 | 23 | #endif /* IP6_ROUTES_DIALOG_H */ 24 | -------------------------------------------------------------------------------- /src/connection-editor/meson.build: -------------------------------------------------------------------------------- 1 | sources = files( 2 | 'ce-page.c', 3 | 'ce-polkit-button.c', 4 | 'ce-polkit.c', 5 | 'ce-utils.c', 6 | 'connection-helpers.c', 7 | 'ip4-routes-dialog.c', 8 | 'ip6-routes-dialog.c', 9 | 'nm-connection-editor.c', 10 | 'nm-connection-list.c', 11 | 'main.c', 12 | 'page-8021x-security.c', 13 | 'page-bridge.c', 14 | 'page-bridge-port.c', 15 | 'page-bluetooth.c', 16 | 'page-bond.c', 17 | 'page-dcb.c', 18 | 'page-dsl.c', 19 | 'page-ethernet.c', 20 | 'page-general.c', 21 | 'page-infiniband.c', 22 | 'page-ip-tunnel.c', 23 | 'page-ip4.c', 24 | 'page-ip6.c', 25 | 'page-macsec.c', 26 | 'page-controller.c', 27 | 'page-mobile.c', 28 | 'page-ppp.c', 29 | 'page-proxy.c', 30 | 'page-team.c', 31 | 'page-team-port.c', 32 | 'page-vlan.c', 33 | 'page-vpn.c', 34 | 'page-wifi.c', 35 | 'page-wifi-security.c', 36 | 'page-wireguard.c', 37 | 'ppp-auth-methods-dialog.c', 38 | 'vpn-helpers.c' 39 | ) 40 | 41 | resource_data = files( 42 | 'ce-ip4-routes.ui', 43 | 'ce-ip6-routes.ui', 44 | 'ce-new-connection.ui', 45 | 'ce-page-bluetooth.ui', 46 | 'ce-page-bond.ui', 47 | 'ce-page-bridge-port.ui', 48 | 'ce-page-bridge.ui', 49 | 'ce-page-dcb.ui', 50 | 'ce-page-dsl.ui', 51 | 'ce-page-ethernet.ui', 52 | 'ce-page-general.ui', 53 | 'ce-page-infiniband.ui', 54 | 'ce-page-ip4.ui', 55 | 'ce-page-ip6.ui', 56 | 'ce-page-ip-tunnel.ui', 57 | 'ce-page-macsec.ui', 58 | 'ce-page-mobile.ui', 59 | 'ce-page-ppp.ui', 60 | 'ce-page-proxy.ui', 61 | 'ce-page-team-port.ui', 62 | 'ce-page-team.ui', 63 | 'ce-page-vlan.ui', 64 | 'ce-page-wifi-security.ui', 65 | 'ce-page-wifi.ui', 66 | 'ce-page-wireguard.ui', 67 | 'ce-ppp-auth-methods.ui', 68 | 'gtk/menus.ui', 69 | 'nm-connection-editor.ui', 70 | 'nm-connection-list.ui' 71 | ) 72 | 73 | sources += gnome.compile_resources( 74 | 'ce-resources', 75 | 'ce.gresource.xml', 76 | dependencies: resource_data 77 | ) 78 | 79 | incs = [ 80 | top_inc, 81 | utils_inc, 82 | src_inc, 83 | shared_inc, 84 | wireless_security_inc 85 | ] 86 | 87 | deps = [ 88 | gtk_dep, 89 | libnm_dep, 90 | libnma_dep, 91 | m_dep, 92 | libutils_libnm_dep 93 | ] 94 | 95 | cflags = [ 96 | '-DBINDIR="@0@"'.format(nma_bindir), 97 | '-DDATADIR="@0@"'.format(nma_datadir), 98 | '-DLIBDIR="@0@"'.format(nma_libdir), 99 | '-DNMALOCALEDIR="@0@"'.format(nma_localedir), 100 | '-DSYSCONFDIR="@0@"'.format(nma_sysconfdir), 101 | '-DICONDIR="@0@"'.format(nma_icondir) 102 | ] 103 | 104 | if enable_selinux 105 | deps += libselinux_dep 106 | endif 107 | 108 | if enable_team 109 | deps += jansson_dep 110 | endif 111 | 112 | executable( 113 | 'nm-connection-editor', 114 | sources, 115 | include_directories: incs, 116 | dependencies: deps, 117 | c_args: cflags, 118 | link_args: '-Wl,--version-script,@0@'.format(linker_script_ver), 119 | link_depends: linker_script_ver, 120 | link_whole: libwireless_security_libnm, 121 | install: true, 122 | install_dir: nma_bindir 123 | ) 124 | -------------------------------------------------------------------------------- /src/connection-editor/nm-connection-list.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-2.0+ 2 | /* NetworkManager Connection editor -- Connection editor for NetworkManager 3 | * 4 | * Rodrigo Moya 5 | * Lubomir Rintel 6 | * 7 | * Copyright 2004 - 2017 Red Hat, Inc. 8 | */ 9 | 10 | #ifndef NM_CONNECTION_LIST_H 11 | #define NM_CONNECTION_LIST_H 12 | 13 | #include 14 | #include 15 | #include 16 | 17 | #include 18 | 19 | #include "nm-connection-editor.h" 20 | 21 | #define NM_TYPE_CONNECTION_LIST (nm_connection_list_get_type ()) 22 | #define NM_IS_CONNECTION_LIST(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), NM_TYPE_CONNECTION_LIST)) 23 | #define NM_CONNECTION_LIST(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), NM_TYPE_CONNECTION_LIST, NMConnectionList)) 24 | 25 | #define NM_CONNECTION_LIST_NEW_EDITOR "new-editor" 26 | 27 | typedef struct _NMConnectionListPrivate NMConnectionListPrivate; 28 | 29 | typedef struct { 30 | GtkApplicationWindow parent; 31 | } NMConnectionList; 32 | 33 | typedef struct { 34 | GtkApplicationWindowClass parent_class; 35 | } NMConnectionListClass; 36 | 37 | typedef void (*NMConnectionListCallbackFunc) (NMConnectionList *list, gpointer user_data); 38 | 39 | GType nm_connection_list_get_type (void); 40 | NMConnectionList *nm_connection_list_new (void); 41 | 42 | void nm_connection_list_set_type (NMConnectionList *list, GType ctype); 43 | 44 | void nm_connection_list_present (NMConnectionList *list); 45 | void nm_connection_list_create (NMConnectionList *list, 46 | GType ctype, 47 | const char *detail, 48 | const char *import_filename, 49 | NMConnectionListCallbackFunc callback, 50 | gpointer user_data); 51 | void nm_connection_list_edit (NMConnectionList *list, const gchar *uuid); 52 | void nm_connection_list_add (NMConnectionList *list, 53 | NMConnectionListCallbackFunc callback, 54 | gpointer user_data); 55 | 56 | #endif 57 | -------------------------------------------------------------------------------- /src/connection-editor/page-8021x-security.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-2.0+ 2 | /* NetworkManager Connection editor -- Connection editor for NetworkManager 3 | * 4 | * Dan Williams 5 | * 6 | * Copyright 2008 - 2014 Red Hat, Inc. 7 | */ 8 | 9 | #ifndef __PAGE_8021X_SECURITY_H__ 10 | #define __PAGE_8021X_SECURITY_H__ 11 | 12 | #include 13 | #include 14 | 15 | #include "ce-page.h" 16 | 17 | #define CE_TYPE_PAGE_8021X_SECURITY (ce_page_8021x_security_get_type ()) 18 | #define CE_PAGE_8021X_SECURITY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CE_TYPE_PAGE_8021X_SECURITY, CEPage8021xSecurity)) 19 | #define CE_PAGE_8021X_SECURITY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CE_TYPE_PAGE_8021X_SECURITY, CEPage8021xSecurityClass)) 20 | #define CE_IS_PAGE_8021X_SECURITY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CE_TYPE_PAGE_8021X_SECURITY)) 21 | #define CE_IS_PAGE_8021X_SECURITY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CE_TYPE_PAGE_8021X_SECURITY)) 22 | #define CE_PAGE_8021X_SECURITY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CE_TYPE_PAGE_8021X_SECURITY, CEPage8021xSecurityClass)) 23 | 24 | typedef struct { 25 | CEPage parent; 26 | } CEPage8021xSecurity; 27 | 28 | typedef struct { 29 | CEPageClass parent; 30 | } CEPage8021xSecurityClass; 31 | 32 | GType ce_page_8021x_security_get_type (void); 33 | 34 | CEPage *ce_page_8021x_security_new (NMConnectionEditor *editor, 35 | NMConnection *connection, 36 | GtkWindow *parent, 37 | NMClient *client, 38 | const char **out_secrets_setting_name, 39 | GError **error); 40 | 41 | #endif /* __PAGE_8021X_SECURITY_H__ */ 42 | -------------------------------------------------------------------------------- /src/connection-editor/page-bluetooth.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-2.0+ 2 | /* NetworkManager Connection editor -- Connection editor for NetworkManager 3 | * 4 | * Lubomir Rintel 5 | * 6 | * Copyright 2014 Red Hat, Inc. 7 | */ 8 | 9 | #ifndef __PAGE_BLUETOOTH_H__ 10 | #define __PAGE_BLUETOOTH_H__ 11 | 12 | #include 13 | 14 | #include 15 | #include 16 | 17 | #include "ce-page.h" 18 | 19 | #define CE_TYPE_PAGE_BLUETOOTH (ce_page_bluetooth_get_type ()) 20 | #define CE_PAGE_BLUETOOTH(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CE_TYPE_PAGE_BLUETOOTH, CEPageBluetooth)) 21 | #define CE_PAGE_BLUETOOTH_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CE_TYPE_PAGE_BLUETOOTH, CEPageBluetoothClass)) 22 | #define CE_IS_PAGE_BLUETOOTH(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CE_TYPE_PAGE_BLUETOOTH)) 23 | #define CE_IS_PAGE_BLUETOOTH_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CE_TYPE_PAGE_BLUETOOTH)) 24 | #define CE_PAGE_BLUETOOTH_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CE_TYPE_PAGE_BLUETOOTH, CEPageBluetoothClass)) 25 | 26 | typedef struct { 27 | CEPage parent; 28 | } CEPageBluetooth; 29 | 30 | typedef struct { 31 | CEPageClass parent; 32 | } CEPageBluetoothClass; 33 | 34 | GType ce_page_bluetooth_get_type (void); 35 | 36 | CEPage *ce_page_bluetooth_new (NMConnectionEditor *edit, 37 | NMConnection *connection, 38 | GtkWindow *parent, 39 | NMClient *client, 40 | const char **out_secrets_setting_name, 41 | GError **error); 42 | 43 | void bluetooth_connection_new (FUNC_TAG_PAGE_NEW_CONNECTION_IMPL, 44 | GtkWindow *parent, 45 | const char *detail, 46 | gpointer detail_data, 47 | NMConnection *connection, 48 | NMClient *client, 49 | PageNewConnectionResultFunc result_func, 50 | gpointer user_data); 51 | 52 | #endif /* __PAGE_BLUETOOTH_H__ */ 53 | -------------------------------------------------------------------------------- /src/connection-editor/page-bond.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-2.0+ 2 | /* NetworkManager Connection editor -- Connection editor for NetworkManager 3 | * 4 | * Copyright 2012 - 2014 Red Hat, Inc. 5 | */ 6 | 7 | #ifndef __PAGE_BOND_H__ 8 | #define __PAGE_BOND_H__ 9 | 10 | #include 11 | #include 12 | 13 | #include "page-controller.h" 14 | 15 | #define CE_TYPE_PAGE_BOND (ce_page_bond_get_type ()) 16 | #define CE_PAGE_BOND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CE_TYPE_PAGE_BOND, CEPageBond)) 17 | #define CE_PAGE_BOND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CE_TYPE_PAGE_BOND, CEPageBondClass)) 18 | #define CE_IS_PAGE_BOND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CE_TYPE_PAGE_BOND)) 19 | #define CE_IS_PAGE_BOND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CE_TYPE_PAGE_BOND)) 20 | #define CE_PAGE_BOND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CE_TYPE_PAGE_BOND, CEPageBondClass)) 21 | 22 | typedef struct { 23 | CEPageController parent; 24 | } CEPageBond; 25 | 26 | typedef struct { 27 | CEPageControllerClass parent; 28 | } CEPageBondClass; 29 | 30 | GType ce_page_bond_get_type (void); 31 | 32 | CEPage *ce_page_bond_new (NMConnectionEditor *editor, 33 | NMConnection *connection, 34 | GtkWindow *parent, 35 | NMClient *client, 36 | const char **out_secrets_setting_name, 37 | GError **error); 38 | 39 | void bond_connection_new (FUNC_TAG_PAGE_NEW_CONNECTION_IMPL, 40 | GtkWindow *parent, 41 | const char *detail, 42 | gpointer detail_data, 43 | NMConnection *connection, 44 | NMClient *client, 45 | PageNewConnectionResultFunc result_func, 46 | gpointer user_data); 47 | 48 | #endif /* __PAGE_BOND_H__ */ 49 | 50 | -------------------------------------------------------------------------------- /src/connection-editor/page-bridge-port.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-2.0+ 2 | /* NetworkManager Connection editor -- Connection editor for NetworkManager 3 | * 4 | * Dan Williams 5 | * 6 | * Copyright 2008 - 2014 Red Hat, Inc. 7 | */ 8 | 9 | #ifndef __PAGE_BRIDGE_PORT_H__ 10 | #define __PAGE_BRIDGE_PORT_H__ 11 | 12 | #include 13 | #include 14 | 15 | #include "ce-page.h" 16 | 17 | #define CE_TYPE_PAGE_BRIDGE_PORT (ce_page_bridge_port_get_type ()) 18 | #define CE_PAGE_BRIDGE_PORT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CE_TYPE_PAGE_BRIDGE_PORT, CEPageBridgePort)) 19 | #define CE_PAGE_BRIDGE_PORT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CE_TYPE_PAGE_BRIDGE_PORT, CEPageBridgePortClass)) 20 | #define CE_IS_PAGE_BRIDGE_PORT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CE_TYPE_PAGE_BRIDGE_PORT)) 21 | #define CE_IS_PAGE_BRIDGE_PORT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CE_TYPE_PAGE_BRIDGE_PORT)) 22 | #define CE_PAGE_BRIDGE_PORT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CE_TYPE_PAGE_BRIDGE_PORT, CEPageBridgePortClass)) 23 | 24 | typedef struct { 25 | CEPage parent; 26 | } CEPageBridgePort; 27 | 28 | typedef struct { 29 | CEPageClass parent; 30 | } CEPageBridgePortClass; 31 | 32 | GType ce_page_bridge_port_get_type (void); 33 | 34 | CEPage *ce_page_bridge_port_new (NMConnectionEditor *editor, 35 | NMConnection *connection, 36 | GtkWindow *parent, 37 | NMClient *client, 38 | const char **out_secrets_setting_name, 39 | GError **error); 40 | 41 | #endif /* __PAGE_BRIDGE_PORT_H__ */ 42 | 43 | -------------------------------------------------------------------------------- /src/connection-editor/page-bridge.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-2.0+ 2 | /* NetworkManager Connection editor -- Connection editor for NetworkManager 3 | * 4 | * Copyright 2012 - 2014 Red Hat, Inc. 5 | */ 6 | 7 | #ifndef __PAGE_BRIDGE_H__ 8 | #define __PAGE_BRIDGE_H__ 9 | 10 | #include 11 | #include 12 | 13 | #include "page-controller.h" 14 | 15 | #define CE_TYPE_PAGE_BRIDGE (ce_page_bridge_get_type ()) 16 | #define CE_PAGE_BRIDGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CE_TYPE_PAGE_BRIDGE, CEPageBridge)) 17 | #define CE_PAGE_BRIDGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CE_TYPE_PAGE_BRIDGE, CEPageBridgeClass)) 18 | #define CE_IS_PAGE_BRIDGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CE_TYPE_PAGE_BRIDGE)) 19 | #define CE_IS_PAGE_BRIDGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CE_TYPE_PAGE_BRIDGE)) 20 | #define CE_PAGE_BRIDGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CE_TYPE_PAGE_BRIDGE, CEPageBridgeClass)) 21 | 22 | typedef struct { 23 | CEPageController parent; 24 | } CEPageBridge; 25 | 26 | typedef struct { 27 | CEPageControllerClass parent; 28 | } CEPageBridgeClass; 29 | 30 | GType ce_page_bridge_get_type (void); 31 | 32 | CEPage *ce_page_bridge_new (NMConnectionEditor *editor, 33 | NMConnection *connection, 34 | GtkWindow *parent, 35 | NMClient *client, 36 | const char **out_secrets_setting_name, 37 | GError **error); 38 | 39 | void bridge_connection_new (FUNC_TAG_PAGE_NEW_CONNECTION_IMPL, 40 | GtkWindow *parent, 41 | const char *detail, 42 | gpointer detail_data, 43 | NMConnection *connection, 44 | NMClient *client, 45 | PageNewConnectionResultFunc result_func, 46 | gpointer user_data); 47 | 48 | #endif /* __PAGE_BRIDGE_H__ */ 49 | 50 | -------------------------------------------------------------------------------- /src/connection-editor/page-controller.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-2.0+ 2 | /* NetworkManager Connection editor -- Connection editor for NetworkManager 3 | * 4 | * Copyright 2012 - 2014 Red Hat, Inc. 5 | */ 6 | 7 | #ifndef __PAGE_CONTROLLER_H__ 8 | #define __PAGE_CONTROLLER_H__ 9 | 10 | #include 11 | #include 12 | 13 | #include "ce-page.h" 14 | #include "connection-helpers.h" 15 | 16 | #define CE_TYPE_PAGE_CONTROLLER (ce_page_controller_get_type ()) 17 | #define CE_PAGE_CONTROLLER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CE_TYPE_PAGE_CONTROLLER, CEPageController)) 18 | #define CE_PAGE_CONTROLLER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CE_TYPE_PAGE_CONTROLLER, CEPageControllerClass)) 19 | #define CE_IS_PAGE_CONTROLLER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CE_TYPE_PAGE_CONTROLLER)) 20 | #define CE_IS_PAGE_CONTROLLER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CE_TYPE_PAGE_CONTROLLER)) 21 | #define CE_PAGE_CONTROLLER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CE_TYPE_PAGE_CONTROLLER, CEPageControllerClass)) 22 | 23 | typedef struct { 24 | CEPage parent; 25 | 26 | gboolean aggregating; 27 | } CEPageController; 28 | 29 | typedef struct { 30 | CEPageClass parent; 31 | 32 | /* signals */ 33 | void (*create_connection) (CEPageController *self, NMConnection *connection); 34 | void (*connection_added) (CEPageController *self, NMConnection *connection); 35 | void (*connection_removed) (CEPageController *self, NMConnection *connection); 36 | 37 | /* methods */ 38 | void (*add_port) (CEPageController *self, NewConnectionResultFunc result_func); 39 | } CEPageControllerClass; 40 | 41 | GType ce_page_controller_get_type (void); 42 | 43 | gboolean ce_page_controller_has_ports (CEPageController *self); 44 | 45 | #endif /* __PAGE_CONTROLLER_H__ */ 46 | 47 | -------------------------------------------------------------------------------- /src/connection-editor/page-dcb.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-2.0+ 2 | /* NetworkManager Connection editor -- Connection editor for NetworkManager 3 | * 4 | * Dan Williams 5 | * 6 | * Copyright 2013 - 2014 Red Hat, Inc. 7 | */ 8 | 9 | #ifndef __PAGE_DCB_H__ 10 | #define __PAGE_DCB_H__ 11 | 12 | #include 13 | #include 14 | 15 | #include "ce-page.h" 16 | 17 | #define CE_TYPE_PAGE_DCB (ce_page_dcb_get_type ()) 18 | #define CE_PAGE_DCB(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CE_TYPE_PAGE_DCB, CEPageDcb)) 19 | #define CE_PAGE_DCB_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CE_TYPE_PAGE_DCB, CEPageDcbClass)) 20 | #define CE_IS_PAGE_DCB(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CE_TYPE_PAGE_DCB)) 21 | #define CE_IS_PAGE_DCB_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CE_TYPE_PAGE_DCB)) 22 | #define CE_PAGE_DCB_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CE_TYPE_PAGE_DCB, CEPageDcbClass)) 23 | 24 | typedef struct { 25 | CEPage parent; 26 | } CEPageDcb; 27 | 28 | typedef struct { 29 | CEPageClass parent; 30 | } CEPageDcbClass; 31 | 32 | GType ce_page_dcb_get_type (void); 33 | 34 | CEPage *ce_page_dcb_new (NMConnectionEditor *editor, 35 | NMConnection *connection, 36 | GtkWindow *parent, 37 | NMClient *client, 38 | const char **out_secrets_setting_name, 39 | GError **error); 40 | 41 | #endif /* __PAGE_DCB_H__ */ 42 | -------------------------------------------------------------------------------- /src/connection-editor/page-dsl.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-2.0+ 2 | /* NetworkManager Connection editor -- Connection editor for NetworkManager 3 | * 4 | * Dan Williams 5 | * 6 | * Copyright 2008 - 2014 Red Hat, Inc. 7 | */ 8 | 9 | #ifndef __PAGE_DSL_H__ 10 | #define __PAGE_DSL_H__ 11 | 12 | #include 13 | #include 14 | 15 | #include "ce-page.h" 16 | 17 | #define CE_TYPE_PAGE_DSL (ce_page_dsl_get_type ()) 18 | #define CE_PAGE_DSL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CE_TYPE_PAGE_DSL, CEPageDsl)) 19 | #define CE_PAGE_DSL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CE_TYPE_PAGE_DSL, CEPageDslClass)) 20 | #define CE_IS_PAGE_DSL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CE_TYPE_PAGE_DSL)) 21 | #define CE_IS_PAGE_DSL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CE_TYPE_PAGE_DSL)) 22 | #define CE_PAGE_DSL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CE_TYPE_PAGE_DSL, CEPageDslClass)) 23 | 24 | typedef struct { 25 | CEPage parent; 26 | } CEPageDsl; 27 | 28 | typedef struct { 29 | CEPageClass parent; 30 | } CEPageDslClass; 31 | 32 | GType ce_page_dsl_get_type (void); 33 | 34 | CEPage *ce_page_dsl_new (NMConnectionEditor *editor, 35 | NMConnection *connection, 36 | GtkWindow *parent, 37 | NMClient *client, 38 | const char **out_secrets_setting_name, 39 | GError **error); 40 | 41 | void dsl_connection_new (FUNC_TAG_PAGE_NEW_CONNECTION_IMPL, 42 | GtkWindow *parent, 43 | const char *detail, 44 | gpointer detail_data, 45 | NMConnection *connection, 46 | NMClient *client, 47 | PageNewConnectionResultFunc callback, 48 | gpointer user_data); 49 | 50 | #endif /* __PAGE_DSL_H__ */ 51 | -------------------------------------------------------------------------------- /src/connection-editor/page-ethernet.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-2.0+ 2 | /* NetworkManager Connection editor -- Connection editor for NetworkManager 3 | * 4 | * Dan Williams 5 | * 6 | * Copyright 2008 - 2014 Red Hat, Inc. 7 | */ 8 | 9 | #ifndef __PAGE_ETHERNET_H__ 10 | #define __PAGE_ETHERNET_H__ 11 | 12 | #include 13 | #include 14 | 15 | #include "ce-page.h" 16 | 17 | #define CE_TYPE_PAGE_ETHERNET (ce_page_ethernet_get_type ()) 18 | #define CE_PAGE_ETHERNET(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CE_TYPE_PAGE_ETHERNET, CEPageEthernet)) 19 | #define CE_PAGE_ETHERNET_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CE_TYPE_PAGE_ETHERNET, CEPageEthernetClass)) 20 | #define CE_IS_PAGE_ETHERNET(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CE_TYPE_PAGE_ETHERNET)) 21 | #define CE_IS_PAGE_ETHERNET_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CE_TYPE_PAGE_ETHERNET)) 22 | #define CE_PAGE_ETHERNET_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CE_TYPE_PAGE_ETHERNET, CEPageEthernetClass)) 23 | 24 | typedef struct { 25 | CEPage parent; 26 | } CEPageEthernet; 27 | 28 | typedef struct { 29 | CEPageClass parent; 30 | } CEPageEthernetClass; 31 | 32 | GType ce_page_ethernet_get_type (void); 33 | 34 | CEPage *ce_page_ethernet_new (NMConnectionEditor *editor, 35 | NMConnection *connection, 36 | GtkWindow *parent, 37 | NMClient *client, 38 | const char **out_secrets_setting_name, 39 | GError **error); 40 | 41 | void ethernet_connection_new (FUNC_TAG_PAGE_NEW_CONNECTION_IMPL, 42 | GtkWindow *parent, 43 | const char *detail, 44 | gpointer detail_data, 45 | NMConnection *connection, 46 | NMClient *client, 47 | PageNewConnectionResultFunc result_func, 48 | gpointer user_data); 49 | 50 | #endif /* __PAGE_ETHERNET_H__ */ 51 | 52 | -------------------------------------------------------------------------------- /src/connection-editor/page-general.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-2.0+ 2 | /* NetworkManager Connection editor -- Connection editor for NetworkManager 3 | * 4 | * Copyright 2012 - 2014 Red Hat, Inc. 5 | */ 6 | 7 | #ifndef __PAGE_GENERAL_H__ 8 | #define __PAGE_GENERAL_H__ 9 | 10 | #include 11 | #include 12 | 13 | #include "ce-page.h" 14 | 15 | #define CE_TYPE_PAGE_GENERAL (ce_page_general_get_type ()) 16 | #define CE_PAGE_GENERAL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CE_TYPE_PAGE_GENERAL, CEPageGeneral)) 17 | #define CE_PAGE_GENERAL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CE_TYPE_PAGE_GENERAL, CEPageGeneralClass)) 18 | #define CE_IS_PAGE_GENERAL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CE_TYPE_PAGE_GENERAL)) 19 | #define CE_IS_PAGE_GENERAL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CE_TYPE_PAGE_GENERAL)) 20 | #define CE_PAGE_GENERAL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CE_TYPE_PAGE_GENERAL, CEPageGeneralClass)) 21 | 22 | typedef struct { 23 | CEPage parent; 24 | } CEPageGeneral; 25 | 26 | typedef struct { 27 | CEPageClass parent; 28 | } CEPageGeneralClass; 29 | 30 | GType ce_page_general_get_type (void); 31 | 32 | CEPage *ce_page_general_new (NMConnectionEditor *editor, 33 | NMConnection *connection, 34 | GtkWindow *parent, 35 | NMClient *client, 36 | const char **out_secrets_setting_name, 37 | GError **error); 38 | 39 | #endif /* __PAGE_GENERAL_H__ */ 40 | 41 | -------------------------------------------------------------------------------- /src/connection-editor/page-infiniband.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-2.0+ 2 | /* NetworkManager Connection editor -- Connection editor for NetworkManager 3 | * 4 | * Copyright 2012 - 2014 Red Hat, Inc. 5 | */ 6 | 7 | #ifndef __PAGE_INFINIBAND_H__ 8 | #define __PAGE_INFINIBAND_H__ 9 | 10 | #include 11 | #include 12 | 13 | #include "ce-page.h" 14 | 15 | #define CE_TYPE_PAGE_INFINIBAND (ce_page_infiniband_get_type ()) 16 | #define CE_PAGE_INFINIBAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CE_TYPE_PAGE_INFINIBAND, CEPageInfiniband)) 17 | #define CE_PAGE_INFINIBAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CE_TYPE_PAGE_INFINIBAND, CEPageInfinibandClass)) 18 | #define CE_IS_PAGE_INFINIBAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CE_TYPE_PAGE_INFINIBAND)) 19 | #define CE_IS_PAGE_INFINIBAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CE_TYPE_PAGE_INFINIBAND)) 20 | #define CE_PAGE_INFINIBAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CE_TYPE_PAGE_INFINIBAND, CEPageInfinibandClass)) 21 | 22 | typedef struct { 23 | CEPage parent; 24 | } CEPageInfiniband; 25 | 26 | typedef struct { 27 | CEPageClass parent; 28 | } CEPageInfinibandClass; 29 | 30 | GType ce_page_infiniband_get_type (void); 31 | 32 | CEPage *ce_page_infiniband_new (NMConnectionEditor *editor, 33 | NMConnection *connection, 34 | GtkWindow *parent, 35 | NMClient *client, 36 | const char **out_secrets_setting_name, 37 | GError **error); 38 | 39 | void infiniband_connection_new (FUNC_TAG_PAGE_NEW_CONNECTION_IMPL, 40 | GtkWindow *parent, 41 | const char *detail, 42 | gpointer detail_data, 43 | NMConnection *connection, 44 | NMClient *client, 45 | PageNewConnectionResultFunc result_func, 46 | gpointer user_data); 47 | 48 | #endif /* __PAGE_INFINIBAND_H__ */ 49 | 50 | -------------------------------------------------------------------------------- /src/connection-editor/page-ip-tunnel.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-2.0+ 2 | /* NetworkManager Connection editor -- Connection editor for NetworkManager 3 | * 4 | * Copyright 2016 Red Hat, Inc. 5 | */ 6 | 7 | #ifndef __PAGE_IP_TUNNEL_H__ 8 | #define __PAGE_IP_TUNNEL_H__ 9 | 10 | #include 11 | #include 12 | 13 | #include "ce-page.h" 14 | 15 | #define CE_TYPE_PAGE_IP_TUNNEL (ce_page_ip_tunnel_get_type ()) 16 | #define CE_PAGE_IP_TUNNEL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CE_TYPE_PAGE_IP_TUNNEL, CEPageIPTunnel)) 17 | #define CE_PAGE_IP_TUNNEL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CE_TYPE_PAGE_IP_TUNNEL, CEPageIPTunnelClass)) 18 | #define CE_IS_PAGE_IP_TUNNEL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CE_TYPE_PAGE_IP_TUNNEL)) 19 | #define CE_IS_PAGE_IP_TUNNEL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CE_TYPE_PAGE_IP_TUNNEL)) 20 | #define CE_PAGE_IP_TUNNEL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CE_TYPE_PAGE_IP_TUNNEL, CEPageIPTunnelClass)) 21 | 22 | typedef struct { 23 | CEPage parent; 24 | } CEPageIPTunnel; 25 | 26 | typedef struct { 27 | CEPageClass parent; 28 | } CEPageIPTunnelClass; 29 | 30 | GType ce_page_ip_tunnel_get_type (void); 31 | 32 | CEPage *ce_page_ip_tunnel_new (NMConnectionEditor *editor, 33 | NMConnection *connection, 34 | GtkWindow *parent, 35 | NMClient *client, 36 | const char **out_secrets_setting_name, 37 | GError **error); 38 | 39 | void ip_tunnel_connection_new (FUNC_TAG_PAGE_NEW_CONNECTION_IMPL, 40 | GtkWindow *parent, 41 | const char *detail, 42 | gpointer detail_data, 43 | NMConnection *connection, 44 | NMClient *client, 45 | PageNewConnectionResultFunc callback, 46 | gpointer user_data); 47 | 48 | #endif /* __PAGE_IP_TUNNEL_H__ */ 49 | -------------------------------------------------------------------------------- /src/connection-editor/page-ip4.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-2.0+ 2 | /* NetworkManager Connection editor -- Connection editor for NetworkManager 3 | * 4 | * Dan Williams 5 | * 6 | * Copyright 2008 - 2014 Red Hat, Inc. 7 | */ 8 | 9 | #ifndef __PAGE_IP4_H__ 10 | #define __PAGE_IP4_H__ 11 | 12 | #include 13 | #include 14 | 15 | #include "ce-page.h" 16 | 17 | #define CE_TYPE_PAGE_IP4 (ce_page_ip4_get_type ()) 18 | #define CE_PAGE_IP4(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CE_TYPE_PAGE_IP4, CEPageIP4)) 19 | #define CE_PAGE_IP4_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CE_TYPE_PAGE_IP4, CEPageIP4Class)) 20 | #define CE_IS_PAGE_IP4(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CE_TYPE_PAGE_IP4)) 21 | #define CE_IS_PAGE_IP4_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CE_TYPE_PAGE_IP4)) 22 | #define CE_PAGE_IP4_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CE_TYPE_PAGE_IP4, CEPageIP4Class)) 23 | 24 | typedef struct { 25 | CEPage parent; 26 | } CEPageIP4; 27 | 28 | typedef struct { 29 | CEPageClass parent; 30 | } CEPageIP4Class; 31 | 32 | GType ce_page_ip4_get_type (void); 33 | 34 | CEPage *ce_page_ip4_new (NMConnectionEditor *editor, 35 | NMConnection *connection, 36 | GtkWindow *parent, 37 | NMClient *client, 38 | const char **out_secrets_setting_name, 39 | GError **error); 40 | 41 | #endif /* __PAGE_IP4_H__ */ 42 | 43 | -------------------------------------------------------------------------------- /src/connection-editor/page-ip6.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-2.0+ 2 | /* NetworkManager Connection editor -- Connection editor for NetworkManager 3 | * 4 | * Dan Williams 5 | * 6 | * Copyright 2008 - 2014 Red Hat, Inc. 7 | */ 8 | 9 | #ifndef __PAGE_IP6_H__ 10 | #define __PAGE_IP6_H__ 11 | 12 | #include 13 | #include 14 | 15 | #include "ce-page.h" 16 | 17 | #define CE_TYPE_PAGE_IP6 (ce_page_ip6_get_type ()) 18 | #define CE_PAGE_IP6(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CE_TYPE_PAGE_IP6, CEPageIP6)) 19 | #define CE_PAGE_IP6_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CE_TYPE_PAGE_IP6, CEPageIP6Class)) 20 | #define CE_IS_PAGE_IP6(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CE_TYPE_PAGE_IP6)) 21 | #define CE_IS_PAGE_IP6_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CE_TYPE_PAGE_IP6)) 22 | #define CE_PAGE_IP6_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CE_TYPE_PAGE_IP6, CEPageIP6Class)) 23 | 24 | typedef struct { 25 | CEPage parent; 26 | } CEPageIP6; 27 | 28 | typedef struct { 29 | CEPageClass parent; 30 | } CEPageIP6Class; 31 | 32 | GType ce_page_ip6_get_type (void); 33 | 34 | CEPage *ce_page_ip6_new (NMConnectionEditor *editor, 35 | NMConnection *connection, 36 | GtkWindow *parent, 37 | NMClient *client, 38 | const char **out_secrets_setting_name, 39 | GError **error); 40 | 41 | #endif /* __PAGE_IP6_H__ */ 42 | 43 | -------------------------------------------------------------------------------- /src/connection-editor/page-macsec.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-2.0+ 2 | /* NetworkManager Connection editor -- Connection editor for NetworkManager 3 | * 4 | * Copyright 2017 Red Hat, Inc. 5 | */ 6 | 7 | #ifndef __PAGE_MACSEC_H__ 8 | #define __PAGE_MACSEC_H__ 9 | 10 | #include 11 | #include 12 | 13 | #include "ce-page.h" 14 | 15 | #define CE_TYPE_PAGE_MACSEC (ce_page_macsec_get_type ()) 16 | #define CE_PAGE_MACSEC(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CE_TYPE_PAGE_MACSEC, CEPageMacsec)) 17 | #define CE_PAGE_MACSEC_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CE_TYPE_PAGE_MACSEC, CEPageMacsecClass)) 18 | #define CE_IS_PAGE_MACSEC(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CE_TYPE_PAGE_MACSEC)) 19 | #define CE_IS_PAGE_MACSEC_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CE_TYPE_PAGE_MACSEC)) 20 | #define CE_PAGE_MACSEC_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CE_TYPE_PAGE_MACSEC, CEPageMacsecClass)) 21 | 22 | typedef struct { 23 | CEPage parent; 24 | } CEPageMacsec; 25 | 26 | typedef struct { 27 | CEPageClass parent; 28 | } CEPageMacsecClass; 29 | 30 | GType ce_page_macsec_get_type (void); 31 | 32 | CEPage *ce_page_macsec_new (NMConnectionEditor *editor, 33 | NMConnection *connection, 34 | GtkWindow *parent, 35 | NMClient *client, 36 | const char **out_secrets_setting_name, 37 | GError **error); 38 | 39 | void macsec_connection_new (FUNC_TAG_PAGE_NEW_CONNECTION_IMPL, 40 | GtkWindow *parent, 41 | const char *detail, 42 | gpointer detail_data, 43 | NMConnection *connection, 44 | NMClient *client, 45 | PageNewConnectionResultFunc callback, 46 | gpointer user_data); 47 | 48 | #endif /* __PAGE_MACSEC_H__ */ 49 | -------------------------------------------------------------------------------- /src/connection-editor/page-mobile.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-2.0+ 2 | /* NetworkManager Connection editor -- Connection editor for NetworkManager 3 | * 4 | * Dan Williams 5 | * 6 | * Copyright 2008 - 2014 Red Hat, Inc. 7 | */ 8 | 9 | #ifndef __PAGE_MOBILE_H__ 10 | #define __PAGE_MOBILE_H__ 11 | 12 | #include 13 | #include 14 | 15 | #include "ce-page.h" 16 | 17 | #define CE_TYPE_PAGE_MOBILE (ce_page_mobile_get_type ()) 18 | #define CE_PAGE_MOBILE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CE_TYPE_PAGE_MOBILE, CEPageMobile)) 19 | #define CE_PAGE_MOBILE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CE_TYPE_PAGE_MOBILE, CEPageMobileClass)) 20 | #define CE_IS_PAGE_MOBILE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CE_TYPE_PAGE_MOBILE)) 21 | #define CE_IS_PAGE_MOBILE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CE_TYPE_PAGE_MOBILE)) 22 | #define CE_PAGE_MOBILE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CE_TYPE_PAGE_MOBILE, CEPageMobileClass)) 23 | 24 | typedef struct { 25 | CEPage parent; 26 | } CEPageMobile; 27 | 28 | typedef struct { 29 | CEPageClass parent; 30 | } CEPageMobileClass; 31 | 32 | GType ce_page_mobile_get_type (void); 33 | 34 | CEPage *ce_page_mobile_new (NMConnectionEditor *editor, 35 | NMConnection *connection, 36 | GtkWindow *parent, 37 | NMClient *client, 38 | const char **out_secrets_setting_name, 39 | GError **error); 40 | 41 | void mobile_connection_new (FUNC_TAG_PAGE_NEW_CONNECTION_IMPL, 42 | GtkWindow *parent, 43 | const char *detail, 44 | gpointer detail_data, 45 | NMConnection *connection, 46 | NMClient *client, 47 | PageNewConnectionResultFunc result_func, 48 | gpointer user_data); 49 | 50 | #endif /* __PAGE_MOBILE_H__ */ 51 | -------------------------------------------------------------------------------- /src/connection-editor/page-ppp.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-2.0+ 2 | /* NetworkManager Connection editor -- Connection editor for NetworkManager 3 | * 4 | * Dan Williams 5 | * 6 | * Copyright 2008 - 2014 Red Hat, Inc. 7 | */ 8 | 9 | #ifndef __PAGE_PPP_H__ 10 | #define __PAGE_PPP_H__ 11 | 12 | #include 13 | #include 14 | 15 | #include "ce-page.h" 16 | 17 | #define CE_TYPE_PAGE_PPP (ce_page_ppp_get_type ()) 18 | #define CE_PAGE_PPP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CE_TYPE_PAGE_PPP, CEPagePpp)) 19 | #define CE_PAGE_PPP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CE_TYPE_PAGE_PPP, CEPagePppClass)) 20 | #define CE_IS_PAGE_PPP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CE_TYPE_PAGE_PPP)) 21 | #define CE_IS_PAGE_PPP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CE_TYPE_PAGE_PPP)) 22 | #define CE_PAGE_PPP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CE_TYPE_PAGE_PPP, CEPagePppClass)) 23 | 24 | typedef struct { 25 | CEPage parent; 26 | } CEPagePpp; 27 | 28 | typedef struct { 29 | CEPageClass parent; 30 | } CEPagePppClass; 31 | 32 | GType ce_page_ppp_get_type (void); 33 | 34 | CEPage *ce_page_ppp_new (NMConnectionEditor *editor, 35 | NMConnection *connection, 36 | GtkWindow *parent, 37 | NMClient *client, 38 | const char **out_secrets_setting_name, 39 | GError **error); 40 | 41 | #endif /* __PAGE_PPP_H__ */ 42 | -------------------------------------------------------------------------------- /src/connection-editor/page-proxy.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-2.0+ 2 | /* NetworkManager Connection editor -- Connection editor for NetworkManager 3 | * 4 | * (C) Copyright 2016 Atul Anand . 5 | */ 6 | 7 | #ifndef __PAGE_PROXY_H__ 8 | #define __PAGE_PROXY_H__ 9 | 10 | #include "ce-page.h" 11 | 12 | #define CE_TYPE_PAGE_PROXY (ce_page_proxy_get_type ()) 13 | #define CE_PAGE_PROXY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CE_TYPE_PAGE_PROXY, CEPageProxy)) 14 | #define CE_PAGE_PROXY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CE_TYPE_PAGE_PROXY, CEPageProxyClass)) 15 | #define CE_IS_PAGE_PROXY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CE_TYPE_PAGE_PROXY)) 16 | #define CE_IS_PAGE_PROXY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CE_TYPE_PAGE_PROXY)) 17 | #define CE_PAGE_PROXY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CE_TYPE_PAGE_PROXY, CEPageProxyClass)) 18 | 19 | typedef struct { 20 | CEPage parent; 21 | } CEPageProxy; 22 | 23 | typedef struct { 24 | CEPageClass parent; 25 | } CEPageProxyClass; 26 | 27 | GType ce_page_proxy_get_type (void); 28 | 29 | CEPage *ce_page_proxy_new (NMConnectionEditor *editor, 30 | NMConnection *connection, 31 | GtkWindow *parent, 32 | NMClient *client, 33 | const char **out_secrets_setting_name, 34 | GError **error); 35 | 36 | #endif /* __PAGE_PROXY_H__ */ 37 | -------------------------------------------------------------------------------- /src/connection-editor/page-team-port.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-2.0+ 2 | /* 3 | * Copyright 2013 Jiri Pirko 4 | * Copyright 2013 - 2014 Red Hat, Inc. 5 | */ 6 | 7 | #ifndef __PAGE_TEAM_PORT_H__ 8 | #define __PAGE_TEAM_PORT_H__ 9 | 10 | #include 11 | #include 12 | 13 | #include "ce-page.h" 14 | 15 | #define CE_TYPE_PAGE_TEAM_PORT (ce_page_team_port_get_type ()) 16 | #define CE_PAGE_TEAM_PORT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CE_TYPE_PAGE_TEAM_PORT, CEPageTeamPort)) 17 | #define CE_PAGE_TEAM_PORT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CE_TYPE_PAGE_TEAM_PORT, CEPageTeamPortClass)) 18 | #define CE_IS_PAGE_TEAM_PORT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CE_TYPE_PAGE_TEAM_PORT)) 19 | #define CE_IS_PAGE_TEAM_PORT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CE_TYPE_PAGE_TEAM_PORT)) 20 | #define CE_PAGE_TEAM_PORT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CE_TYPE_PAGE_TEAM_PORT, CEPageTeamPortClass)) 21 | 22 | typedef struct { 23 | CEPage parent; 24 | } CEPageTeamPort; 25 | 26 | typedef struct { 27 | CEPageClass parent; 28 | } CEPageTeamPortClass; 29 | 30 | GType ce_page_team_port_get_type (void); 31 | 32 | CEPage *ce_page_team_port_new (NMConnectionEditor *editor, 33 | NMConnection *connection, 34 | GtkWindow *parent, 35 | NMClient *client, 36 | const char **out_secrets_setting_name, 37 | GError **error); 38 | 39 | #endif /* __PAGE_TEAM_PORT_H__ */ 40 | 41 | -------------------------------------------------------------------------------- /src/connection-editor/page-team.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-2.0+ 2 | /* 3 | * Copyright 2013 Jiri Pirko 4 | * Copyright 2013 - 2014 Red Hat, Inc. 5 | */ 6 | 7 | #ifndef __PAGE_TEAM_H__ 8 | #define __PAGE_TEAM_H__ 9 | 10 | #include 11 | #include 12 | 13 | #include "page-controller.h" 14 | 15 | #define CE_TYPE_PAGE_TEAM (ce_page_team_get_type ()) 16 | #define CE_PAGE_TEAM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CE_TYPE_PAGE_TEAM, CEPageTeam)) 17 | #define CE_PAGE_TEAM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CE_TYPE_PAGE_TEAM, CEPageTeamClass)) 18 | #define CE_IS_PAGE_TEAM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CE_TYPE_PAGE_TEAM)) 19 | #define CE_IS_PAGE_TEAM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CE_TYPE_PAGE_TEAM)) 20 | #define CE_PAGE_TEAM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CE_TYPE_PAGE_TEAM, CEPageTeamClass)) 21 | 22 | typedef struct { 23 | CEPageController parent; 24 | } CEPageTeam; 25 | 26 | typedef struct { 27 | CEPageControllerClass parent; 28 | } CEPageTeamClass; 29 | 30 | GType ce_page_team_get_type (void); 31 | 32 | CEPage *ce_page_team_new (NMConnectionEditor *editor, 33 | NMConnection *connection, 34 | GtkWindow *parent, 35 | NMClient *client, 36 | const char **out_secrets_setting_name, 37 | GError **error); 38 | 39 | void team_connection_new (FUNC_TAG_PAGE_NEW_CONNECTION_IMPL, 40 | GtkWindow *parent, 41 | const char *detail, 42 | gpointer detail_data, 43 | NMConnection *connection, 44 | NMClient *client, 45 | PageNewConnectionResultFunc result_func, 46 | gpointer user_data); 47 | 48 | #endif /* __PAGE_TEAM_H__ */ 49 | 50 | -------------------------------------------------------------------------------- /src/connection-editor/page-vlan.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-2.0+ 2 | /* NetworkManager Connection editor -- Connection editor for NetworkManager 3 | * 4 | * Copyright 2008 - 2014 Red Hat, Inc. 5 | */ 6 | 7 | #ifndef __PAGE_VLAN_H__ 8 | #define __PAGE_VLAN_H__ 9 | 10 | #include 11 | #include 12 | 13 | #include "ce-page.h" 14 | 15 | #define CE_TYPE_PAGE_VLAN (ce_page_vlan_get_type ()) 16 | #define CE_PAGE_VLAN(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CE_TYPE_PAGE_VLAN, CEPageVlan)) 17 | #define CE_PAGE_VLAN_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CE_TYPE_PAGE_VLAN, CEPageVlanClass)) 18 | #define CE_IS_PAGE_VLAN(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CE_TYPE_PAGE_VLAN)) 19 | #define CE_IS_PAGE_VLAN_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((obj), CE_TYPE_PAGE_VLAN)) 20 | #define CE_PAGE_VLAN_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CE_TYPE_PAGE_VLAN, CEPageVlanClass)) 21 | 22 | typedef struct { 23 | CEPage parent; 24 | } CEPageVlan; 25 | 26 | typedef struct { 27 | CEPageClass parent; 28 | } CEPageVlanClass; 29 | 30 | GType ce_page_vlan_get_type (void); 31 | 32 | CEPage *ce_page_vlan_new (NMConnectionEditor *editor, 33 | NMConnection *connection, 34 | GtkWindow *parent, 35 | NMClient *client, 36 | const char **out_secrets_setting_name, 37 | GError **error); 38 | 39 | void vlan_connection_new (FUNC_TAG_PAGE_NEW_CONNECTION_IMPL, 40 | GtkWindow *parent, 41 | const char *detail, 42 | gpointer detail_data, 43 | NMConnection *connection, 44 | NMClient *client, 45 | PageNewConnectionResultFunc result_func, 46 | gpointer user_data); 47 | 48 | #endif /* __PAGE_VLAN_H__ */ 49 | 50 | -------------------------------------------------------------------------------- /src/connection-editor/page-vpn.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-2.0+ 2 | /* NetworkManager Connection editor -- Connection editor for NetworkManager 3 | * 4 | * Dan Williams 5 | * 6 | * Copyright 2008 - 2014 Red Hat, Inc. 7 | */ 8 | 9 | #ifndef __PAGE_VPN_H__ 10 | #define __PAGE_VPN_H__ 11 | 12 | #include 13 | #include 14 | 15 | #include "ce-page.h" 16 | 17 | #define CE_TYPE_PAGE_VPN (ce_page_vpn_get_type ()) 18 | #define CE_PAGE_VPN(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CE_TYPE_PAGE_VPN, CEPageVpn)) 19 | #define CE_PAGE_VPN_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CE_TYPE_PAGE_VPN, CEPageVpnClass)) 20 | #define CE_IS_PAGE_VPN(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CE_TYPE_PAGE_VPN)) 21 | #define CE_IS_PAGE_VPN_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CE_TYPE_PAGE_VPN)) 22 | #define CE_PAGE_VPN_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CE_TYPE_PAGE_VPN, CEPageVpnClass)) 23 | 24 | typedef struct { 25 | CEPage parent; 26 | } CEPageVpn; 27 | 28 | typedef struct { 29 | CEPageClass parent; 30 | } CEPageVpnClass; 31 | 32 | typedef struct { 33 | char *add_detail_key; 34 | char *add_detail_val; 35 | } CEPageVpnDetailData; 36 | 37 | GType ce_page_vpn_get_type (void); 38 | 39 | CEPage *ce_page_vpn_new (NMConnectionEditor *editor, 40 | NMConnection *connection, 41 | GtkWindow *parent, 42 | NMClient *client, 43 | const char **out_secrets_setting_name, 44 | GError **error); 45 | 46 | gboolean ce_page_vpn_can_export (CEPageVpn *page); 47 | 48 | void vpn_connection_new (FUNC_TAG_PAGE_NEW_CONNECTION_IMPL, 49 | GtkWindow *parent, 50 | const char *detail, 51 | gpointer detail_data, 52 | NMConnection *connection, 53 | NMClient *client, 54 | PageNewConnectionResultFunc result_func, 55 | gpointer user_data); 56 | 57 | #endif /* __PAGE_VPN_H__ */ 58 | -------------------------------------------------------------------------------- /src/connection-editor/page-wifi-security.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-2.0+ 2 | /* NetworkManager Connection editor -- Connection editor for NetworkManager 3 | * 4 | * Dan Williams 5 | * 6 | * Copyright 2008 - 2014 Red Hat, Inc. 7 | */ 8 | 9 | #ifndef __PAGE_WIFI_SECURITY_H__ 10 | #define __PAGE_WIFI_SECURITY_H__ 11 | 12 | #include 13 | #include 14 | #include 15 | 16 | #include "ce-page.h" 17 | 18 | #define CE_TYPE_PAGE_WIFI_SECURITY (ce_page_wifi_security_get_type ()) 19 | #define CE_PAGE_WIFI_SECURITY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CE_TYPE_PAGE_WIFI_SECURITY, CEPageWifiSecurity)) 20 | #define CE_PAGE_WIFI_SECURITY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CE_TYPE_PAGE_WIFI_SECURITY, CEPageWifiSecurityClass)) 21 | #define CE_IS_PAGE_WIFI_SECURITY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CE_TYPE_PAGE_WIFI_SECURITY)) 22 | #define CE_IS_PAGE_WIFI_SECURITY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CE_TYPE_PAGE_WIFI_SECURITY)) 23 | #define CE_PAGE_WIFI_SECURITY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CE_TYPE_PAGE_WIFI_SECURITY, CEPageWifiSecurityClass)) 24 | 25 | typedef struct { 26 | CEPage parent; 27 | } CEPageWifiSecurity; 28 | 29 | typedef struct { 30 | CEPageClass parent; 31 | } CEPageWifiSecurityClass; 32 | 33 | GType ce_page_wifi_security_get_type (void); 34 | 35 | CEPage *ce_page_wifi_security_new (NMConnectionEditor *editor, 36 | NMConnection *connection, 37 | GtkWindow *parent, 38 | NMClient *client, 39 | const char **out_secrets_setting_name, 40 | GError **error); 41 | 42 | #endif /* __PAGE_WIFI_SECURITY_H__ */ 43 | 44 | -------------------------------------------------------------------------------- /src/connection-editor/page-wifi.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-2.0+ 2 | /* NetworkManager Connection editor -- Connection editor for NetworkManager 3 | * 4 | * Dan Williams 5 | * 6 | * Copyright 2008 - 2014 Red Hat, Inc. 7 | */ 8 | 9 | #ifndef __PAGE_WIFI_H__ 10 | #define __PAGE_WIFI_H__ 11 | 12 | #include 13 | #include 14 | 15 | #include "ce-page.h" 16 | 17 | #define CE_TYPE_PAGE_WIFI (ce_page_wifi_get_type ()) 18 | #define CE_PAGE_WIFI(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CE_TYPE_PAGE_WIFI, CEPageWifi)) 19 | #define CE_PAGE_WIFI_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CE_TYPE_PAGE_WIFI, CEPageWifiClass)) 20 | #define CE_IS_PAGE_WIFI(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CE_TYPE_PAGE_WIFI)) 21 | #define CE_IS_PAGE_WIFI_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CE_TYPE_PAGE_WIFI)) 22 | #define CE_PAGE_WIFI_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CE_TYPE_PAGE_WIFI, CEPageWifiClass)) 23 | 24 | typedef struct { 25 | CEPage parent; 26 | } CEPageWifi; 27 | 28 | typedef struct { 29 | CEPageClass parent; 30 | } CEPageWifiClass; 31 | 32 | GType ce_page_wifi_get_type (void); 33 | 34 | CEPage *ce_page_wifi_new (NMConnectionEditor *editor, 35 | NMConnection *connection, 36 | GtkWindow *parent, 37 | NMClient *client, 38 | const char **out_secrets_setting_name, 39 | GError **error); 40 | 41 | /* Caller must free returned value with g_bytes_unref() */ 42 | GBytes *ce_page_wifi_get_ssid (CEPageWifi *self); 43 | 44 | 45 | void wifi_connection_new (FUNC_TAG_PAGE_NEW_CONNECTION_IMPL, 46 | GtkWindow *parent, 47 | const char *detail, 48 | gpointer detail_data, 49 | NMConnection *connection, 50 | NMClient *client, 51 | PageNewConnectionResultFunc result_func, 52 | gpointer user_data); 53 | 54 | #endif /* __PAGE_WIFI_H__ */ 55 | 56 | -------------------------------------------------------------------------------- /src/connection-editor/page-wireguard.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-2.0+ 2 | /* NetworkManager Connection editor -- Connection editor for NetworkManager 3 | * 4 | * Copyright 2020 Red Hat, Inc. 5 | */ 6 | 7 | #ifndef __PAGE_WIREGUARD_H__ 8 | #define __PAGE_WIREGUARD_H__ 9 | 10 | #include 11 | #include 12 | 13 | #include "ce-page.h" 14 | 15 | #define CE_TYPE_PAGE_WIREGUARD (ce_page_wireguard_get_type ()) 16 | #define CE_PAGE_WIREGUARD(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CE_TYPE_PAGE_WIREGUARD, CEPageWireGuard)) 17 | #define CE_PAGE_WIREGUARD_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CE_TYPE_PAGE_WIREGUARD, CEPageWireGuardClass)) 18 | #define CE_IS_PAGE_WIREGUARD(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CE_TYPE_PAGE_WIREGUARD)) 19 | #define CE_IS_PAGE_WIREGUARD_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CE_TYPE_PAGE_WIREGUARD)) 20 | #define CE_PAGE_WIREGUARD_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CE_TYPE_PAGE_WIREGUARD, CEPageWireGuardClass)) 21 | 22 | typedef struct { 23 | CEPage parent; 24 | } CEPageWireGuard; 25 | 26 | typedef struct { 27 | CEPageClass parent; 28 | } CEPageWireGuardClass; 29 | 30 | GType ce_page_wireguard_get_type (void); 31 | 32 | CEPage *ce_page_wireguard_new (NMConnectionEditor *editor, 33 | NMConnection *connection, 34 | GtkWindow *parent, 35 | NMClient *client, 36 | const char **out_secrets_setting_name, 37 | GError **error); 38 | 39 | void wireguard_connection_new (FUNC_TAG_PAGE_NEW_CONNECTION_IMPL, 40 | GtkWindow *parent, 41 | const char *detail, 42 | gpointer detail_data, 43 | NMConnection *connection, 44 | NMClient *client, 45 | PageNewConnectionResultFunc callback, 46 | gpointer user_data); 47 | 48 | #endif /* __PAGE_WIREGUARD_H__ */ 49 | -------------------------------------------------------------------------------- /src/connection-editor/ppp-auth-methods-dialog.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-2.0+ 2 | /* NetworkManager Connection editor -- Connection editor for NetworkManager 3 | * 4 | * Dan Williams 5 | * 6 | * (C) Copyright 2008 Red Hat, Inc. 7 | */ 8 | 9 | #ifndef PPP_AUTH_METHODS_DIALOG_H 10 | #define PPP_AUTH_METHODS_DIALOG_H 11 | 12 | #include 13 | #include 14 | 15 | GtkWidget *ppp_auth_methods_dialog_new (gboolean refuse_eap, 16 | gboolean refuse_pap, 17 | gboolean refuse_chap, 18 | gboolean refuse_mschap, 19 | gboolean refuse_mschapv2); 20 | 21 | void ppp_auth_methods_dialog_get_methods (GtkWidget *dialog, 22 | gboolean *refuse_eap, 23 | gboolean *refuse_pap, 24 | gboolean *refuse_chap, 25 | gboolean *refuse_mschap, 26 | gboolean *refuse_mschapv2); 27 | 28 | #endif /* PPP_AUTH_METHODS_DIALOG_H */ 29 | -------------------------------------------------------------------------------- /src/connection-editor/vpn-helpers.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-2.0+ 2 | /* NetworkManager Connection editor -- Connection editor for NetworkManager 3 | * 4 | * Dan Williams 5 | * 6 | * Copyright 2008 - 2014 Red Hat, Inc. 7 | */ 8 | 9 | #ifndef _VPN_HELPERS_H_ 10 | #define _VPN_HELPERS_H_ 11 | 12 | #include 13 | #include 14 | 15 | #include 16 | 17 | GSList *vpn_get_plugin_infos (void); 18 | 19 | NMVpnEditorPlugin *vpn_get_plugin_by_service (const char *service); 20 | 21 | void vpn_export (NMConnection *connection); 22 | 23 | gboolean vpn_supports_ipv6 (NMConnection *connection); 24 | 25 | #endif /* _VPN_HELPERS_H_ */ 26 | -------------------------------------------------------------------------------- /src/ethernet-dialog.c: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-2.0+ 2 | /* NetworkManager Applet -- allow user control over networking 3 | * 4 | * Dan Williams 5 | * 6 | * Copyright 2008 Novell, Inc. 7 | * Copyright 2008 - 2014 Red Hat, Inc. 8 | */ 9 | 10 | #include "nm-default.h" 11 | 12 | 13 | #include "nma-ws.h" 14 | #include "ethernet-dialog.h" 15 | #include "applet-dialogs.h" 16 | #include "eap-method.h" 17 | 18 | static void 19 | stuff_changed_cb (NMAWs *ws, gpointer user_data) 20 | { 21 | GtkWidget *button = GTK_WIDGET (user_data); 22 | 23 | gtk_widget_set_sensitive (button, nma_ws_validate (ws, NULL)); 24 | } 25 | 26 | static void 27 | dialog_set_network_name (NMConnection *connection, GtkEntry *entry) 28 | { 29 | NMSettingConnection *setting; 30 | 31 | setting = nm_connection_get_setting_connection (connection); 32 | 33 | gtk_widget_set_sensitive (GTK_WIDGET (entry), FALSE); 34 | gtk_entry_set_text (entry, nm_setting_connection_get_id (setting)); 35 | } 36 | 37 | static NMAWs * 38 | dialog_set_security (NMConnection *connection, 39 | GtkBuilder *builder, 40 | GtkBox *box) 41 | { 42 | GList *children; 43 | GList *iter; 44 | NMAWs8021x *ws; 45 | 46 | ws = nma_ws_802_1x_new (connection, FALSE, TRUE); 47 | if (G_IS_INITIALLY_UNOWNED (ws)) 48 | g_object_ref_sink (ws); 49 | 50 | nma_ws_add_to_size_group (NMA_WS (ws), GTK_SIZE_GROUP ( 51 | gtk_builder_get_object (builder, "size_group"))); 52 | 53 | /* Remove any previous wireless security widgets */ 54 | children = gtk_container_get_children (GTK_CONTAINER (box)); 55 | for (iter = children; iter; iter = iter->next) 56 | gtk_container_remove (GTK_CONTAINER (box), GTK_WIDGET (iter->data)); 57 | g_list_free (children); 58 | 59 | gtk_box_pack_start (box, GTK_WIDGET (ws), TRUE, TRUE, 0); 60 | 61 | return NMA_WS (ws); 62 | } 63 | 64 | GtkWidget * 65 | nma_ethernet_dialog_new (NMConnection *connection) 66 | { 67 | GtkBuilder *builder; 68 | GtkWidget *dialog; 69 | GError *error = NULL; 70 | NMAWs *security; 71 | 72 | builder = gtk_builder_new (); 73 | 74 | if (!gtk_builder_add_from_resource (builder, "/org/freedesktop/network-manager-applet/8021x.ui", &error)) { 75 | g_warning ("Couldn't load builder resource: %s", error->message); 76 | g_error_free (error); 77 | applet_missing_ui_warning_dialog_show (); 78 | g_object_unref (builder); 79 | return NULL; 80 | } 81 | 82 | dialog = (GtkWidget *) gtk_builder_get_object (builder, "8021x_dialog"); 83 | if (!dialog) { 84 | g_warning ("Couldn't find wireless_dialog widget."); 85 | applet_missing_ui_warning_dialog_show (); 86 | g_object_unref (builder); 87 | return NULL; 88 | } 89 | 90 | gtk_window_set_title (GTK_WINDOW (dialog), _("802.1X authentication")); 91 | gtk_window_set_icon_name (GTK_WINDOW (dialog), "dialog-password"); 92 | dialog_set_network_name (connection, GTK_ENTRY (gtk_builder_get_object (builder, "network_name_entry"))); 93 | 94 | /* Handle CA cert ignore stuff */ 95 | eap_method_ca_cert_ignore_load (connection); 96 | 97 | security = dialog_set_security (connection, builder, GTK_BOX (gtk_builder_get_object (builder, "security_vbox"))); 98 | g_signal_connect (security, "ws-changed", G_CALLBACK (stuff_changed_cb), GTK_WIDGET (gtk_builder_get_object (builder, "ok_button"))); 99 | g_object_set_data_full (G_OBJECT (dialog), 100 | "security", security, 101 | (GDestroyNotify) g_object_unref); 102 | 103 | g_object_set_data_full (G_OBJECT (dialog), 104 | "connection", g_object_ref (connection), 105 | (GDestroyNotify) g_object_unref); 106 | 107 | /* Ensure the builder gets destroyed when the dialog goes away */ 108 | g_object_set_data_full (G_OBJECT (dialog), 109 | "builder", builder, 110 | (GDestroyNotify) g_object_unref); 111 | 112 | return dialog; 113 | } 114 | 115 | NMConnection * 116 | nma_ethernet_dialog_get_connection (GtkWidget *dialog) 117 | { 118 | NMConnection *connection; 119 | NMAWs *security; 120 | 121 | g_return_val_if_fail (dialog != NULL, NULL); 122 | 123 | connection = g_object_get_data (G_OBJECT (dialog), "connection"); 124 | security = g_object_get_data (G_OBJECT (dialog), "security"); 125 | 126 | /* Fill up the 802.1x setting */ 127 | nma_ws_fill_connection (security, connection); 128 | nm_connection_remove_setting (connection, NM_TYPE_SETTING_WIRELESS_SECURITY); 129 | 130 | /* Save new CA cert ignore values to GSettings */ 131 | eap_method_ca_cert_ignore_save (connection); 132 | 133 | return connection; 134 | } 135 | -------------------------------------------------------------------------------- /src/ethernet-dialog.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-2.0+ 2 | /* NetworkManager Applet -- allow user control over networking 3 | * 4 | * Dan Williams 5 | * 6 | * Copyright 2008 Novell, Inc. 7 | * Copyright 2008 - 2014 Red Hat, Inc. 8 | */ 9 | 10 | #ifndef ETHERNET_DIALOG_H 11 | #define ETHERNET_DIALOG_H 12 | 13 | #include 14 | 15 | #include 16 | 17 | GtkWidget *nma_ethernet_dialog_new (NMConnection *connection); 18 | 19 | NMConnection *nma_ethernet_dialog_get_connection (GtkWidget *dialog); 20 | 21 | #endif /* ETHERNET_DIALOG_H */ 22 | -------------------------------------------------------------------------------- /src/info.ui: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 600 7 | False 8 | 5 9 | Connection Information 10 | False 11 | center 12 | gtk-info 13 | dialog 14 | 15 | 16 | 17 | 18 | 19 | True 20 | False 21 | vertical 22 | 2 23 | 24 | 25 | True 26 | False 27 | end 28 | 29 | 30 | _Close 31 | True 32 | True 33 | True 34 | True 35 | True 36 | False 37 | True 38 | 39 | 40 | False 41 | False 42 | 0 43 | 44 | 45 | 46 | 47 | False 48 | True 49 | end 50 | 0 51 | 52 | 53 | 54 | 55 | True 56 | True 57 | True 58 | 59 | 60 | True 61 | False 62 | 63 | 64 | 65 | 66 | True 67 | False 68 | 69 | 70 | False 71 | 72 | 73 | 74 | 75 | False 76 | True 77 | 1 78 | 79 | 80 | 81 | 82 | 83 | closebutton1 84 | 85 | 86 | 87 | -------------------------------------------------------------------------------- /src/main.c: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-2.0+ 2 | /* NetworkManager Applet -- allow user control over networking 3 | * 4 | * Dan Williams 5 | * 6 | * This applet used the GNOME Wireless Applet as a skeleton to build from. 7 | * 8 | * (C) Copyright 2005 Red Hat, Inc. 9 | */ 10 | 11 | #include "nm-default.h" 12 | 13 | #include 14 | #include 15 | 16 | #include "applet.h" 17 | 18 | gboolean shell_debug = FALSE; 19 | gboolean with_agent = TRUE; 20 | gboolean with_appindicator = FALSE; 21 | 22 | static void 23 | usage (const char *progname) 24 | { 25 | gs_free char *basename = g_path_get_basename (progname); 26 | 27 | fprintf (stdout, "%s %s\n\n%s\n%s\n\n", 28 | _("Usage:"), 29 | basename, 30 | _("This program is a component of NetworkManager (https://networkmanager.dev)."), 31 | _("It is not intended for command-line interaction but instead runs in the GNOME desktop environment.")); 32 | } 33 | 34 | int main (int argc, char *argv[]) 35 | { 36 | GApplication *applet; 37 | char *fake_args[1] = { argv[0] }; 38 | guint32 i; 39 | int status; 40 | 41 | for (i = 1; i < argc; i++) { 42 | if (!strcmp (argv[i], "--help")) { 43 | usage (argv[0]); 44 | exit (0); 45 | } 46 | if (!strcmp (argv[i], "--shell-debug")) 47 | shell_debug = TRUE; 48 | else if (!strcmp (argv[i], "--no-agent")) 49 | with_agent = FALSE; 50 | else if (!strcmp (argv[i], "--indicator")) { 51 | #ifdef WITH_APPINDICATOR 52 | with_appindicator = TRUE; 53 | #else 54 | g_error ("Error: --indicator requested but indicator support not available"); 55 | #endif 56 | } 57 | } 58 | 59 | bindtextdomain (GETTEXT_PACKAGE, NMALOCALEDIR); 60 | bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8"); 61 | #ifndef WITH_APPINDICATOR 62 | /* If we got no app indicator, out only chance of doing anything 63 | * useful is the XEmbed-based GtkStatusIcon, which only works on 64 | * X11. Prefer it. */ 65 | gdk_set_allowed_backends ("x11,*"); 66 | #endif 67 | gtk_init (&argc, &argv); 68 | textdomain (GETTEXT_PACKAGE); 69 | 70 | applet = g_object_new (NM_TYPE_APPLET, 71 | "application-id", "org.freedesktop.network-manager-applet", 72 | NULL); 73 | status = g_application_run (applet, 1, fake_args); 74 | g_object_unref (applet); 75 | 76 | return status; 77 | } 78 | 79 | -------------------------------------------------------------------------------- /src/mb-menu-item.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-2.0+ 2 | /* ap-menu-item.h - Class to represent a Wifi access point 3 | * 4 | * Jonathan Blandford 5 | * Dan Williams 6 | * 7 | * Copyright (C) 2005 - 2010 Red Hat, Inc. 8 | */ 9 | 10 | #ifndef _MB_MENU_ITEM_H_ 11 | #define _MB_MENU_ITEM_H_ 12 | 13 | #include 14 | #include "applet.h" 15 | #include "mobile-helpers.h" 16 | 17 | #define NM_TYPE_MB_MENU_ITEM (nm_mb_menu_item_get_type ()) 18 | #define NM_MB_MENU_ITEM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), NM_TYPE_MB_MENU_ITEM, NMMbMenuItem)) 19 | #define NM_MB_MENU_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), NM_TYPE_MB_MENU_ITEM, NMMbMenuItemClass)) 20 | #define NM_IS_MB_MENU_ITEM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), NM_TYPE_MB_MENU_ITEM)) 21 | #define NM_IS_MB_MENU_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), NM_TYPE_MB_MENU_ITEM)) 22 | #define NM_MB_MENU_ITEM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), NM_TYPE_MB_MENU_ITEM, NMMbMenuItemClass)) 23 | 24 | typedef struct { 25 | GtkMenuItem image_item; 26 | } NMMbMenuItem; 27 | 28 | typedef struct { 29 | GtkMenuItemClass parent_class; 30 | } NMMbMenuItemClass; 31 | 32 | 33 | GType nm_mb_menu_item_get_type (void) G_GNUC_CONST; 34 | 35 | GtkWidget *nm_mb_menu_item_new (const char *connection_name, 36 | guint32 strength, 37 | const char *provider, 38 | gboolean active, 39 | guint32 technology, 40 | guint32 state, 41 | gboolean enabled, 42 | NMApplet *applet); 43 | 44 | #endif /* _MB_MENU_ITEM_H_ */ 45 | 46 | -------------------------------------------------------------------------------- /src/meson.build: -------------------------------------------------------------------------------- 1 | src_inc = include_directories('.') 2 | 3 | subdir('utils') 4 | subdir('wireless-security') 5 | 6 | subdir('connection-editor') 7 | 8 | sources = files( 9 | 'ap-menu-item.c', 10 | 'applet-agent.c', 11 | 'applet.c', 12 | 'applet-device-bt.c', 13 | 'applet-device-ethernet.c', 14 | 'applet-device-wifi.c', 15 | 'applet-dialogs.c', 16 | 'applet-vpn-request.c', 17 | 'ethernet-dialog.c', 18 | 'main.c', 19 | 'mb-menu-item.c', 20 | 'mobile-helpers.c' 21 | ) 22 | 23 | resource_data = files( 24 | '8021x.ui', 25 | 'connection-editor/ce-page-dsl.ui', 26 | 'gsm-unlock.ui', 27 | 'info.ui' 28 | ) 29 | 30 | resource_sources = gnome.compile_resources( 31 | 'applet-resources', 32 | 'applet.gresource.xml', 33 | dependencies: resource_data 34 | ) 35 | 36 | sources += resource_sources 37 | 38 | incs = [ 39 | top_inc, 40 | utils_inc, 41 | src_inc, 42 | shared_inc, 43 | wireless_security_inc 44 | ] 45 | 46 | deps = [ 47 | gtk_dep, 48 | libnm_dep, 49 | libnma_dep, 50 | libsecret_dep, 51 | m_dep, 52 | libutils_libnm_dep 53 | ] 54 | 55 | cflags = [ 56 | '-DBINDIR="@0@"'.format(nma_bindir), 57 | '-DDATADIR="@0@"'.format(nma_datadir), 58 | '-DLIBDIR="@0@"'.format(nma_libdir), 59 | '-DLIBEXECDIR="@0@"'.format(nma_libexecdir), 60 | '-DNMALOCALEDIR="@0@"'.format(nma_localedir), 61 | '-DSYSCONFDIR="@0@"'.format(nma_sysconfdir), 62 | '-DAUTOSTARTDIR="@0@"'.format(nma_autostartdir), 63 | '-DICONDIR="@0@"'.format(nma_icondir), 64 | '-DG_LOG_DOMAIN="@0@"'.format(nma_name) 65 | ] 66 | 67 | if enable_appindicator == 'ayatana' or enable_appindicator == 'ubuntu' 68 | deps += [ 69 | appindicator_dep, 70 | dbusmenu_dep 71 | ] 72 | endif 73 | 74 | if enable_wwan 75 | sources += files('applet-device-broadband.c') 76 | 77 | deps += mm_glib_dep 78 | endif 79 | 80 | executable( 81 | nma_name, 82 | sources, 83 | include_directories: incs, 84 | dependencies: deps, 85 | c_args: cflags, 86 | link_args: '-Wl,--version-script,@0@'.format(linker_script_ver), 87 | link_depends: linker_script_ver, 88 | link_whole: libwireless_security_libnm, 89 | install: true, 90 | install_dir: nma_bindir 91 | ) 92 | -------------------------------------------------------------------------------- /src/mobile-helpers.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-2.0+ 2 | /* NetworkManager Applet -- allow user control over networking 3 | * 4 | * Dan Williams 5 | * 6 | * (C) Copyright 2010 Red Hat, Inc. 7 | */ 8 | 9 | #ifndef APPLET_MOBILE_HELPERS_H 10 | #define APPLET_MOBILE_HELPERS_H 11 | 12 | #include 13 | #include 14 | 15 | #include "applet.h" 16 | #include "nma-mobile-wizard.h" 17 | #include "nma-mobile-providers.h" 18 | 19 | enum { 20 | MB_STATE_UNKNOWN = 0, 21 | MB_STATE_IDLE, 22 | MB_STATE_HOME, 23 | MB_STATE_SEARCHING, 24 | MB_STATE_DENIED, 25 | MB_STATE_ROAMING 26 | }; 27 | 28 | enum { 29 | MB_TECH_UNKNOWN = 0, 30 | MB_TECH_1XRTT, 31 | MB_TECH_EVDO, 32 | MB_TECH_GSM, 33 | MB_TECH_GPRS, 34 | MB_TECH_EDGE, 35 | MB_TECH_UMTS, 36 | MB_TECH_HSDPA, 37 | MB_TECH_HSUPA, 38 | MB_TECH_HSPA, 39 | MB_TECH_HSPA_PLUS, 40 | MB_TECH_LTE, 41 | }; 42 | 43 | GdkPixbuf *mobile_helper_get_status_pixbuf (guint32 quality, 44 | gboolean quality_valid, 45 | guint32 state, 46 | guint32 access_tech, 47 | NMApplet *applet); 48 | 49 | const char *mobile_helper_get_quality_icon_name (guint32 quality); 50 | const char *mobile_helper_get_tech_icon_name (guint32 tech); 51 | 52 | /********************************************************************/ 53 | 54 | gboolean mobile_helper_wizard (NMDeviceModemCapabilities capabilities, 55 | AppletNewAutoConnectionCallback callback, 56 | gpointer callback_data); 57 | 58 | /********************************************************************/ 59 | 60 | extern const SecretSchema mobile_secret_schema; 61 | 62 | void mobile_helper_save_pin_in_keyring (const char *devid, 63 | const char *simid, 64 | const char *pin); 65 | void mobile_helper_delete_pin_in_keyring (const char *devid); 66 | 67 | /********************************************************************/ 68 | 69 | typedef struct { 70 | SecretsRequest req; 71 | GtkWidget *dialog; 72 | GtkEntry *secret_entry; 73 | char *secret_name; 74 | NMDeviceModemCapabilities capability; 75 | } MobileHelperSecretsInfo; 76 | 77 | gboolean mobile_helper_get_secrets (NMDeviceModemCapabilities capabilities, 78 | SecretsRequest *req, 79 | GError **error); 80 | 81 | /********************************************************************/ 82 | 83 | void mobile_helper_get_icon (NMDevice *device, 84 | NMDeviceState state, 85 | NMConnection *connection, 86 | GdkPixbuf **out_pixbuf, 87 | const char **out_icon_name, 88 | char **tip, 89 | NMApplet *applet, 90 | guint32 mb_state, 91 | guint32 mb_tech, 92 | guint32 quality, 93 | gboolean quality_valid); 94 | 95 | /********************************************************************/ 96 | 97 | char *mobile_helper_parse_3gpp_operator_name (NMAMobileProvidersDatabase **mpd, 98 | const char *orig, 99 | const char *op_code); 100 | 101 | char *mobile_helper_parse_3gpp2_operator_name (NMAMobileProvidersDatabase **mpd, 102 | guint32 sid); 103 | 104 | #endif /* APPLET_MOBILE_HELPERS_H */ 105 | -------------------------------------------------------------------------------- /src/tests/ethernet-dialog.c: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-2.0+ 2 | /* 3 | * Copyright (C) 2021 Red Hat, Inc. 4 | */ 5 | 6 | #include "nm-default.h" 7 | #include "ethernet-dialog.h" 8 | 9 | #include 10 | #include 11 | 12 | int 13 | main (int argc, char *argv[]) 14 | { 15 | NMConnection *connection, *new_connection; 16 | GHashTable *diff = NULL, *setting_diff; 17 | GHashTableIter iter, setting_iter; 18 | const char *setting, *key; 19 | GtkWidget *dialog; 20 | GError *error = NULL; 21 | gs_unref_bytes GBytes *ssid = g_bytes_new_static ("", 22 | NM_STRLEN ("")); 23 | 24 | gtk_init (&argc, &argv); 25 | 26 | connection = nm_simple_connection_new (); 27 | nm_connection_add_setting (connection, 28 | g_object_new (NM_TYPE_SETTING_CONNECTION, 29 | NM_SETTING_CONNECTION_ID, "", 30 | NULL)); 31 | nm_connection_add_setting (connection, 32 | g_object_new (NM_TYPE_SETTING_WIRED, 33 | NULL)); 34 | nm_connection_add_setting (connection, 35 | g_object_new (NM_TYPE_SETTING_802_1X, 36 | NM_SETTING_802_1X_EAP, (const char * const []){ "peap", NULL }, 37 | NM_SETTING_802_1X_IDENTITY, "budulinek", 38 | NM_SETTING_802_1X_PHASE2_AUTH, "gtc", 39 | NULL)); 40 | 41 | if (!nm_connection_normalize (connection, NULL, NULL, &error)) { 42 | nm_connection_dump (connection); 43 | g_printerr ("Error: %s\n", error->message); 44 | g_error_free (error); 45 | return 1; 46 | } 47 | 48 | dialog = nma_ethernet_dialog_new (nm_simple_connection_new_clone (connection)); 49 | if (gtk_dialog_run (GTK_DIALOG (dialog)) == GTK_RESPONSE_OK) { 50 | g_print ("settings changed:\n"); 51 | new_connection = nma_ethernet_dialog_get_connection (dialog); 52 | nm_connection_diff (connection, new_connection, NM_SETTING_COMPARE_FLAG_EXACT, &diff); 53 | if (diff) { 54 | g_hash_table_iter_init (&iter, diff); 55 | while (g_hash_table_iter_next (&iter, (gpointer) &setting, (gpointer) &setting_diff)) { 56 | g_hash_table_iter_init (&setting_iter, setting_diff); 57 | while (g_hash_table_iter_next (&setting_iter, (gpointer) &key, NULL)) 58 | g_print (" %s.%s\n", setting, key); 59 | } 60 | 61 | g_hash_table_destroy (diff); 62 | } 63 | } 64 | gtk_widget_destroy (dialog); 65 | g_object_unref (connection); 66 | } 67 | -------------------------------------------------------------------------------- /src/tests/meson.build: -------------------------------------------------------------------------------- 1 | executable( 2 | 'ethernet-dialog', 3 | [resource_sources, 4 | '../applet-dialogs.c', 5 | '../applet-dialogs.h', 6 | '../ethernet-dialog.c', 7 | '../ethernet-dialog.h', 8 | 'ethernet-dialog.c'], 9 | include_directories: incs, 10 | dependencies: deps, 11 | c_args: cflags, 12 | link_whole: libwireless_security_libnm, 13 | install: false 14 | ) 15 | -------------------------------------------------------------------------------- /src/utils/meson.build: -------------------------------------------------------------------------------- 1 | utils_inc = include_directories('.') 2 | 3 | incs = [ 4 | top_inc, 5 | shared_inc 6 | ] 7 | 8 | deps = [ 9 | gtk_dep, 10 | libnm_dep 11 | ] 12 | 13 | libutils_libnm = static_library( 14 | 'utils-libnm', 15 | sources: shared_sources + files( 16 | 'utils.c', 17 | ), 18 | include_directories: incs, 19 | dependencies: deps 20 | ) 21 | 22 | libutils_libnm_dep = declare_dependency( 23 | link_with: libutils_libnm, 24 | include_directories: utils_inc 25 | ) 26 | 27 | test_unit = 'test-utils' 28 | 29 | exe = executable( 30 | test_unit, 31 | 'tests/' + test_unit + '.c', 32 | include_directories: incs, 33 | dependencies: deps, 34 | link_with: libutils_libnm 35 | ) 36 | 37 | test(test_unit, exe) 38 | -------------------------------------------------------------------------------- /src/utils/tests/.gitignore: -------------------------------------------------------------------------------- 1 | /test-utils 2 | -------------------------------------------------------------------------------- /src/utils/utils.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-2.0+ 2 | /* NetworkManager Applet -- allow user control over networking 3 | * 4 | * Dan Williams 5 | * 6 | * Copyright 2007 - 2015 Red Hat, Inc. 7 | */ 8 | 9 | #ifndef UTILS_H 10 | #define UTILS_H 11 | 12 | #include 13 | 14 | gboolean utils_ether_addr_valid (const struct ether_addr *test_addr); 15 | 16 | char *utils_hash_ap (GBytes *ssid, 17 | NM80211Mode mode, 18 | guint32 flags, 19 | guint32 wpa_flags, 20 | guint32 rsn_flags); 21 | 22 | char *utils_escape_notify_body (const char *src); 23 | 24 | char *utils_create_mobile_connection_id (const char *provider, 25 | const char *plan_name); 26 | 27 | void utils_show_error_dialog (const char *title, 28 | const char *text1, 29 | const char *text2, 30 | gboolean modal, 31 | GtkWindow *parent); 32 | 33 | #define NMA_ERROR (g_quark_from_static_string ("nma-error-quark")) 34 | 35 | typedef enum { 36 | NMA_ERROR_GENERIC 37 | } NMAError; 38 | 39 | 40 | gboolean utils_char_is_ascii_print (char character); 41 | gboolean utils_char_is_ascii_digit (char character); 42 | gboolean utils_char_is_ascii_ip4_address (char character); 43 | gboolean utils_char_is_ascii_ip6_address (char character); 44 | gboolean utils_char_is_ascii_apn (char character); 45 | 46 | typedef gboolean (*UtilsFilterGtkEditableFunc) (char character); 47 | gboolean utils_filter_editable_on_insert_text (GtkEditable *editable, 48 | const gchar *text, 49 | gint length, 50 | gint *position, 51 | void *user_data, 52 | UtilsFilterGtkEditableFunc validate_character, 53 | gpointer block_func); 54 | 55 | void utils_override_bg_color (GtkWidget *widget, GdkRGBA *rgba); 56 | void utils_set_cell_background (GtkCellRenderer *cell, 57 | const char *color, 58 | const char *value); 59 | 60 | void widget_set_error (GtkWidget *widget); 61 | void widget_unset_error (GtkWidget *widget); 62 | 63 | gboolean utils_tree_model_get_int64 (GtkTreeModel *model, 64 | GtkTreeIter *iter, 65 | int column, 66 | gint64 min_value, 67 | gint64 max_value, 68 | gboolean fail_if_missing, 69 | gint64 *out, 70 | char **out_raw); 71 | 72 | gboolean utils_tree_model_get_address (GtkTreeModel *model, 73 | GtkTreeIter *iter, 74 | int column, 75 | int family, 76 | gboolean fail_if_missing, 77 | char **out, 78 | char **out_raw); 79 | 80 | gboolean utils_tree_model_get_ip4_prefix (GtkTreeModel *model, 81 | GtkTreeIter *iter, 82 | int column, 83 | gboolean fail_if_missing, 84 | guint32 *out, 85 | char **out_raw); 86 | 87 | GtkFileFilter *utils_cert_filter (void); 88 | 89 | GtkFileFilter *utils_key_filter (void); 90 | 91 | #endif /* UTILS_H */ 92 | -------------------------------------------------------------------------------- /src/wireless-security/eap-method.c: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-2.0+ 2 | 3 | /* NetworkManager Applet -- allow user control over networking 4 | * 5 | * Dan Williams 6 | * 7 | * Copyright 2007 - 2014 Red Hat, Inc. 8 | */ 9 | 10 | #include "nm-default.h" 11 | 12 | #include "eap-method.h" 13 | 14 | /* Used as both GSettings keys and GObject data tags */ 15 | #define IGNORE_CA_CERT_TAG "ignore-ca-cert" 16 | #define IGNORE_PHASE2_CA_CERT_TAG "ignore-phase2-ca-cert" 17 | 18 | static GSettings * 19 | _get_ca_ignore_settings (NMConnection *connection) 20 | { 21 | GSettings *settings; 22 | char *path = NULL; 23 | const char *uuid; 24 | 25 | g_return_val_if_fail (connection, NULL); 26 | 27 | uuid = nm_connection_get_uuid (connection); 28 | g_return_val_if_fail (uuid && *uuid, NULL); 29 | 30 | path = g_strdup_printf ("/org/gnome/nm-applet/eap/%s/", uuid); 31 | settings = g_settings_new_with_path ("org.gnome.nm-applet.eap", path); 32 | g_free (path); 33 | 34 | return settings; 35 | } 36 | 37 | /** 38 | * eap_method_ca_cert_ignore_save: 39 | * @connection: the connection for which to save CA cert ignore values to GSettings 40 | * 41 | * Reads the CA cert ignore tags from the 802.1x setting GObject data and saves 42 | * then to GSettings if present, using the connection UUID as the index. 43 | */ 44 | void 45 | eap_method_ca_cert_ignore_save (NMConnection *connection) 46 | { 47 | NMSetting8021x *s_8021x; 48 | GSettings *settings; 49 | gboolean ignore = FALSE, phase2_ignore = FALSE; 50 | 51 | g_return_if_fail (connection); 52 | 53 | s_8021x = nm_connection_get_setting_802_1x (connection); 54 | if (s_8021x) { 55 | ignore = !!g_object_get_data (G_OBJECT (s_8021x), IGNORE_CA_CERT_TAG); 56 | phase2_ignore = !!g_object_get_data (G_OBJECT (s_8021x), IGNORE_PHASE2_CA_CERT_TAG); 57 | } 58 | 59 | settings = _get_ca_ignore_settings (connection); 60 | if (!settings) 61 | return; 62 | 63 | g_settings_set_boolean (settings, IGNORE_CA_CERT_TAG, ignore); 64 | g_settings_set_boolean (settings, IGNORE_PHASE2_CA_CERT_TAG, phase2_ignore); 65 | g_object_unref (settings); 66 | } 67 | 68 | /** 69 | * eap_method_ca_cert_ignore_load: 70 | * @connection: the connection for which to load CA cert ignore values to GSettings 71 | * 72 | * Reads the CA cert ignore tags from the 802.1x setting GObject data and saves 73 | * then to GSettings if present, using the connection UUID as the index. 74 | */ 75 | void 76 | eap_method_ca_cert_ignore_load (NMConnection *connection) 77 | { 78 | GSettings *settings; 79 | NMSetting8021x *s_8021x; 80 | gboolean ignore, phase2_ignore; 81 | 82 | g_return_if_fail (connection); 83 | 84 | s_8021x = nm_connection_get_setting_802_1x (connection); 85 | if (!s_8021x) 86 | return; 87 | 88 | settings = _get_ca_ignore_settings (connection); 89 | if (!settings) 90 | return; 91 | 92 | ignore = g_settings_get_boolean (settings, IGNORE_CA_CERT_TAG); 93 | phase2_ignore = g_settings_get_boolean (settings, IGNORE_PHASE2_CA_CERT_TAG); 94 | 95 | g_object_set_data (G_OBJECT (s_8021x), 96 | IGNORE_CA_CERT_TAG, 97 | GUINT_TO_POINTER (ignore)); 98 | g_object_set_data (G_OBJECT (s_8021x), 99 | IGNORE_PHASE2_CA_CERT_TAG, 100 | GUINT_TO_POINTER (phase2_ignore)); 101 | g_object_unref (settings); 102 | } 103 | -------------------------------------------------------------------------------- /src/wireless-security/eap-method.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-2.0+ 2 | /* NetworkManager Applet -- allow user control over networking 3 | * 4 | * Dan Williams 5 | * 6 | * Copyright 2007 - 2014 Red Hat, Inc. 7 | */ 8 | 9 | #ifndef EAP_METHOD_H 10 | #define EAP_METHOD_H 11 | 12 | void eap_method_ca_cert_ignore_save (NMConnection *connection); 13 | void eap_method_ca_cert_ignore_load (NMConnection *connection); 14 | 15 | #endif /* EAP_METHOD_H */ 16 | -------------------------------------------------------------------------------- /src/wireless-security/meson.build: -------------------------------------------------------------------------------- 1 | wireless_security_inc = include_directories('.') 2 | 3 | sources = files( 4 | 'eap-method.c', 5 | ) 6 | 7 | incs = [ 8 | top_inc, 9 | shared_inc, 10 | src_inc 11 | ] 12 | 13 | deps = [ 14 | gtk_dep, 15 | libnm_dep, 16 | ] 17 | 18 | libwireless_security_libnm = static_library( 19 | 'wireless-security-libnm', 20 | sources: sources, 21 | include_directories: incs, 22 | dependencies: deps 23 | ) 24 | --------------------------------------------------------------------------------