This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "IPFire 2.x development tree".
The branch, next has been updated via aae62d83b2bd0e77a48e6e67b31e924853fa6f0d (commit) via 5f50e89217f1536e1514423bada9d7dc39e94c4e (commit) via 5a4412385f58e589df48d24207dda90e5e3814c1 (commit) via 53d03ef352e68ca09e39cc26e924e5fb087bb9b5 (commit) via 46f445b1a71a4d837b66d471adbcbc0b2f6b0b67 (commit) via ba5ae14aeb303ebc2272feccec10cfe134de8adc (commit) via b1d7e005e81d2a69641d93ffd54e92c73ef1cb25 (commit) via 1d681743eba054e648bff189e9a4378a770f4551 (commit) from 9f2ee0e9bf4708cb899cd7e3b7bef6af5f18956a (commit)
Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below.
- Log ----------------------------------------------------------------- commit aae62d83b2bd0e77a48e6e67b31e924853fa6f0d Author: Michael Tremer michael.tremer@ipfire.org Date: Fri Apr 16 10:05:02 2021 +0000
hostapd: Bump package version
Signed-off-by: Michael Tremer michael.tremer@ipfire.org
commit 5f50e89217f1536e1514423bada9d7dc39e94c4e Author: Michael Tremer michael.tremer@ipfire.org Date: Fri Apr 16 10:04:38 2021 +0000
core157: Ship network-functions.pl
Signed-off-by: Michael Tremer michael.tremer@ipfire.org
commit 5a4412385f58e589df48d24207dda90e5e3814c1 Author: Michael Tremer michael.tremer@ipfire.org Date: Fri Apr 16 12:00:01 2021 +0200
hostaopd: Drop box with links to other configuration pages
We do not have this for any other feature and it clutters the UI.
Signed-off-by: Michael Tremer michael.tremer@ipfire.org
commit 53d03ef352e68ca09e39cc26e924e5fb087bb9b5 Author: Michael Tremer michael.tremer@ipfire.org Date: Fri Apr 16 11:53:30 2021 +0200
hostapd: Find device by MAC address
With wireless device as members in bridges, we cannot predict the name very well. So we will use the MAC address and find the correct device name when we launch hostapd.
Signed-off-by: Michael Tremer michael.tremer@ipfire.org
commit 46f445b1a71a4d837b66d471adbcbc0b2f6b0b67 Author: Adolf Belka adolf.belka@ipfire.org Date: Wed Apr 14 23:45:00 2021 +0200
poppler: Update of rootfile due to update of glib
- Update of glib resulted in additional files in the poppler rootfile which has been updated in this patch
Signed-off-by: Adolf Belka adolf.belka@ipfire.org Signed-off-by: Michael Tremer michael.tremer@ipfire.org
commit ba5ae14aeb303ebc2272feccec10cfe134de8adc Author: Michael Tremer michael.tremer@ipfire.org Date: Thu Apr 15 10:18:41 2021 +0000
core157: Ship glib
Signed-off-by: Michael Tremer michael.tremer@ipfire.org
commit b1d7e005e81d2a69641d93ffd54e92c73ef1cb25 Author: Adolf Belka adolf.belka@ipfire.org Date: Wed Apr 14 23:44:59 2021 +0200
glib: Update to 2.68.1
- Update from 2.54.3 to 2.68.1 - Update rootfile - glib-2.54.3-compile-fixes-1.patch not required, all changes now incorporated in the source tarball - meson/ninja have replaced autotools - As so's updated ran find-dependencies No additional programs flagged up - Changelog is too large to include here Full details can be viewed in the NEWS file in the source tarball Large number of bugs fixed
Signed-off-by: Adolf Belka adolf.belka@ipfire.org Signed-off-by: Michael Tremer michael.tremer@ipfire.org
commit 1d681743eba054e648bff189e9a4378a770f4551 Author: Michael Tremer michael.tremer@ipfire.org Date: Wed Apr 14 20:49:21 2021 +0200
hostapd: Drop custom configuration from initscript
The initscript it setting a lot of options which are set by hostapd which will fail to start the AP instead of using fire-and-forget.
Signed-off-by: Michael Tremer michael.tremer@ipfire.org
-----------------------------------------------------------------------
Summary of changes: config/cfgroot/network-functions.pl | 46 +- config/rootfiles/common/glib | 461 +-------------------- config/rootfiles/common/poppler | 20 + config/rootfiles/core/157/filelists/files | 1 + .../{oldcore/118 => core/157}/filelists/glib | 0 html/cgi-bin/wlanap.cgi | 50 +-- lfs/glib | 15 +- lfs/hostapd | 2 +- src/initscripts/packages/hostapd | 109 +---- src/paks/hostapd/install.sh | 11 + src/patches/glib-2.54.3-compile-fixes-1.patch | 71 ---- 11 files changed, 145 insertions(+), 641 deletions(-) copy config/rootfiles/{oldcore/118 => core/157}/filelists/glib (100%) delete mode 100644 src/patches/glib-2.54.3-compile-fixes-1.patch
Difference in files: diff --git a/config/cfgroot/network-functions.pl b/config/cfgroot/network-functions.pl index 9908ee8ab..2f704dfbf 100644 --- a/config/cfgroot/network-functions.pl +++ b/config/cfgroot/network-functions.pl @@ -332,6 +332,28 @@ sub setup_upstream_proxy() { } }
+sub list_wireless_interfaces() { + my %interfaces = (); + + opendir(INTERFACES, "/sys/class/net"); + + my $intf; + while ($intf = readdir(INTERFACES)) { + # Is this a wireless interface? + opendir(PHY80211, "/sys/class/net/$intf/phy80211") or next; + closedir(PHY80211); + + # Read the MAC address + my $address = &get_nic_property($intf, "address"); + + $interfaces{$address} = "$address ($intf)"; + } + + closedir(INTERFACES); + + return %interfaces; +} + my %wireless_status = ();
sub _get_wireless_status($) { @@ -416,7 +438,7 @@ sub get_nic_property { my $property = shift; my $result;
- open(FILE, "/sys/class/net/$nicname/$property") or die("Could not read property"); + open(FILE, "/sys/class/net/$nicname/$property") or die("Could not read property $property for $nicname"); $result = <FILE>; close(FILE);
@@ -465,6 +487,28 @@ sub get_mac_by_name($) { return $mac; }
+sub get_intf_by_address($) { + my $address = shift; + + opendir(INTERFACES, "/sys/class/net"); + + while (my $intf = readdir(INTERFACES)) { + next if ($intf eq "." or $intf eq ".."); + + my $intf_address = &get_nic_property($intf, "address"); + + # Skip interfaces without addresses + next if ($intf_address eq ""); + + # Return a match + return $intf if ($intf_address eq $address); + } + + closedir(INTERFACES); + + return undef; +} + # ## Function to get a list of all available network zones. # diff --git a/config/rootfiles/common/glib b/config/rootfiles/common/glib index 0ecb3417f..a72b6fee8 100644 --- a/config/rootfiles/common/glib +++ b/config/rootfiles/common/glib @@ -108,12 +108,14 @@ #usr/include/glib-2.0/gio/gliststore.h #usr/include/glib-2.0/gio/gloadableicon.h #usr/include/glib-2.0/gio/gmemoryinputstream.h +#usr/include/glib-2.0/gio/gmemorymonitor.h #usr/include/glib-2.0/gio/gmemoryoutputstream.h #usr/include/glib-2.0/gio/gmenu.h #usr/include/glib-2.0/gio/gmenuexporter.h #usr/include/glib-2.0/gio/gmenumodel.h #usr/include/glib-2.0/gio/gmount.h #usr/include/glib-2.0/gio/gmountoperation.h +#usr/include/glib-2.0/gio/gnativesocketaddress.h #usr/include/glib-2.0/gio/gnativevolumemonitor.h #usr/include/glib-2.0/gio/gnetworkaddress.h #usr/include/glib-2.0/gio/gnetworking.h @@ -232,6 +234,9 @@ #usr/include/glib-2.0/glib/gquark.h #usr/include/glib-2.0/glib/gqueue.h #usr/include/glib-2.0/glib/grand.h +#usr/include/glib-2.0/glib/grcbox.h +#usr/include/glib-2.0/glib/grefcount.h +#usr/include/glib-2.0/glib/grefstring.h #usr/include/glib-2.0/glib/gregex.h #usr/include/glib-2.0/glib/gscanner.h #usr/include/glib-2.0/glib/gsequence.h @@ -243,6 +248,7 @@ #usr/include/glib-2.0/glib/gstrfuncs.h #usr/include/glib-2.0/glib/gstring.h #usr/include/glib-2.0/glib/gstringchunk.h +#usr/include/glib-2.0/glib/gstrvbuilder.h #usr/include/glib-2.0/glib/gtestutils.h #usr/include/glib-2.0/glib/gthread.h #usr/include/glib-2.0/glib/gthreadpool.h @@ -252,7 +258,7 @@ #usr/include/glib-2.0/glib/gtree.h #usr/include/glib-2.0/glib/gtypes.h #usr/include/glib-2.0/glib/gunicode.h -#usr/include/glib-2.0/glib/gurifuncs.h +#usr/include/glib-2.0/glib/guri.h #usr/include/glib-2.0/glib/gutils.h #usr/include/glib-2.0/glib/guuid.h #usr/include/glib-2.0/glib/gvariant.h @@ -266,6 +272,7 @@ #usr/include/glib-2.0/gobject/gboxed.h #usr/include/glib-2.0/gobject/gclosure.h #usr/include/glib-2.0/gobject/genums.h +#usr/include/glib-2.0/gobject/glib-enumtypes.h #usr/include/glib-2.0/gobject/glib-types.h #usr/include/glib-2.0/gobject/gmarshal.h #usr/include/glib-2.0/gobject/gobject-autocleanups.h @@ -282,31 +289,24 @@ #usr/include/glib-2.0/gobject/gvaluearray.h #usr/include/glib-2.0/gobject/gvaluecollector.h #usr/include/glib-2.0/gobject/gvaluetypes.h -#usr/lib/gio -#usr/lib/gio/modules #usr/lib/glib-2.0 #usr/lib/glib-2.0/include #usr/lib/glib-2.0/include/glibconfig.h -#usr/lib/libgio-2.0.la #usr/lib/libgio-2.0.so usr/lib/libgio-2.0.so.0 -usr/lib/libgio-2.0.so.0.5400.3 -#usr/lib/libglib-2.0.la +usr/lib/libgio-2.0.so.0.6800.1 #usr/lib/libglib-2.0.so usr/lib/libglib-2.0.so.0 -usr/lib/libglib-2.0.so.0.5400.3 -#usr/lib/libgmodule-2.0.la +usr/lib/libglib-2.0.so.0.6800.1 #usr/lib/libgmodule-2.0.so usr/lib/libgmodule-2.0.so.0 -usr/lib/libgmodule-2.0.so.0.5400.3 -#usr/lib/libgobject-2.0.la +usr/lib/libgmodule-2.0.so.0.6800.1 #usr/lib/libgobject-2.0.so usr/lib/libgobject-2.0.so.0 -usr/lib/libgobject-2.0.so.0.5400.3 -#usr/lib/libgthread-2.0.la +usr/lib/libgobject-2.0.so.0.6800.1 #usr/lib/libgthread-2.0.so usr/lib/libgthread-2.0.so.0 -usr/lib/libgthread-2.0.so.0.5400.3 +usr/lib/libgthread-2.0.so.0.6800.1 #usr/lib/pkgconfig/gio-2.0.pc #usr/lib/pkgconfig/gio-unix-2.0.pc #usr/lib/pkgconfig/glib-2.0.pc @@ -320,43 +320,27 @@ usr/lib/libgthread-2.0.so.0.5400.3 #usr/share/aclocal/gsettings.m4 #usr/share/bash-completion/completions/gapplication #usr/share/bash-completion/completions/gdbus +#usr/share/bash-completion/completions/gio #usr/share/bash-completion/completions/gresource #usr/share/bash-completion/completions/gsettings -#usr/share/gdb #usr/share/gdb/auto-load #usr/share/gdb/auto-load/usr #usr/share/gdb/auto-load/usr/lib -#usr/share/gdb/auto-load/usr/lib/libglib-2.0.so.0.5400.3-gdb.py -#usr/share/gdb/auto-load/usr/lib/libgobject-2.0.so.0.5400.3-gdb.py +#usr/share/gdb/auto-load/usr/lib/libglib-2.0.so.0.6800.1-gdb.py +#usr/share/gdb/auto-load/usr/lib/libgobject-2.0.so.0.6800.1-gdb.py #usr/share/gettext/its #usr/share/gettext/its/gschema.its #usr/share/gettext/its/gschema.loc #usr/share/glib-2.0 #usr/share/glib-2.0/codegen #usr/share/glib-2.0/codegen/__init__.py -#usr/share/glib-2.0/codegen/__init__.pyc -#usr/share/glib-2.0/codegen/__init__.pyo #usr/share/glib-2.0/codegen/codegen.py -#usr/share/glib-2.0/codegen/codegen.pyc -#usr/share/glib-2.0/codegen/codegen.pyo #usr/share/glib-2.0/codegen/codegen_docbook.py -#usr/share/glib-2.0/codegen/codegen_docbook.pyc -#usr/share/glib-2.0/codegen/codegen_docbook.pyo #usr/share/glib-2.0/codegen/codegen_main.py -#usr/share/glib-2.0/codegen/codegen_main.pyc -#usr/share/glib-2.0/codegen/codegen_main.pyo #usr/share/glib-2.0/codegen/config.py -#usr/share/glib-2.0/codegen/config.pyc -#usr/share/glib-2.0/codegen/config.pyo #usr/share/glib-2.0/codegen/dbustypes.py -#usr/share/glib-2.0/codegen/dbustypes.pyc -#usr/share/glib-2.0/codegen/dbustypes.pyo #usr/share/glib-2.0/codegen/parser.py -#usr/share/glib-2.0/codegen/parser.pyc -#usr/share/glib-2.0/codegen/parser.pyo #usr/share/glib-2.0/codegen/utils.py -#usr/share/glib-2.0/codegen/utils.pyc -#usr/share/glib-2.0/codegen/utils.pyo #usr/share/glib-2.0/gdb #usr/share/glib-2.0/gdb/glib_gdb.py #usr/share/glib-2.0/gdb/gobject_gdb.py @@ -367,417 +351,6 @@ usr/lib/libgthread-2.0.so.0.5400.3 #usr/share/glib-2.0/schemas/gschema.dtd #usr/share/glib-2.0/valgrind #usr/share/glib-2.0/valgrind/glib.supp -#usr/share/gtk-doc/html/gio -#usr/share/gtk-doc/html/gio/GAction.html -#usr/share/gtk-doc/html/gio/GActionGroup.html -#usr/share/gtk-doc/html/gio/GActionMap.html -#usr/share/gtk-doc/html/gio/GAppInfo.html -#usr/share/gtk-doc/html/gio/GAppInfoMonitor.html -#usr/share/gtk-doc/html/gio/GApplication.html -#usr/share/gtk-doc/html/gio/GApplicationCommandLine.html -#usr/share/gtk-doc/html/gio/GAsyncInitable.html -#usr/share/gtk-doc/html/gio/GAsyncResult.html -#usr/share/gtk-doc/html/gio/GBufferedInputStream.html -#usr/share/gtk-doc/html/gio/GBufferedOutputStream.html -#usr/share/gtk-doc/html/gio/GBytesIcon.html -#usr/share/gtk-doc/html/gio/GCancellable.html -#usr/share/gtk-doc/html/gio/GCharsetConverter.html -#usr/share/gtk-doc/html/gio/GConverter.html -#usr/share/gtk-doc/html/gio/GCredentials.html -#usr/share/gtk-doc/html/gio/GDBusActionGroup.html -#usr/share/gtk-doc/html/gio/GDBusAuthObserver.html -#usr/share/gtk-doc/html/gio/GDBusConnection.html -#usr/share/gtk-doc/html/gio/GDBusInterface.html -#usr/share/gtk-doc/html/gio/GDBusInterfaceSkeleton.html -#usr/share/gtk-doc/html/gio/GDBusMenuModel.html -#usr/share/gtk-doc/html/gio/GDBusMessage.html -#usr/share/gtk-doc/html/gio/GDBusMethodInvocation.html -#usr/share/gtk-doc/html/gio/GDBusObject.html -#usr/share/gtk-doc/html/gio/GDBusObjectManager.html -#usr/share/gtk-doc/html/gio/GDBusObjectManagerClient.html -#usr/share/gtk-doc/html/gio/GDBusObjectManagerServer.html -#usr/share/gtk-doc/html/gio/GDBusObjectProxy.html -#usr/share/gtk-doc/html/gio/GDBusObjectSkeleton.html -#usr/share/gtk-doc/html/gio/GDBusProxy.html -#usr/share/gtk-doc/html/gio/GDBusServer.html -#usr/share/gtk-doc/html/gio/GDataInputStream.html -#usr/share/gtk-doc/html/gio/GDataOutputStream.html -#usr/share/gtk-doc/html/gio/GDatagramBased.html -#usr/share/gtk-doc/html/gio/GDrive.html -#usr/share/gtk-doc/html/gio/GDtlsClientConnection.html -#usr/share/gtk-doc/html/gio/GDtlsConnection.html -#usr/share/gtk-doc/html/gio/GDtlsServerConnection.html -#usr/share/gtk-doc/html/gio/GEmblem.html -#usr/share/gtk-doc/html/gio/GEmblemedIcon.html -#usr/share/gtk-doc/html/gio/GFile.html -#usr/share/gtk-doc/html/gio/GFileDescriptorBased.html -#usr/share/gtk-doc/html/gio/GFileEnumerator.html -#usr/share/gtk-doc/html/gio/GFileIOStream.html -#usr/share/gtk-doc/html/gio/GFileIcon.html -#usr/share/gtk-doc/html/gio/GFileInfo.html -#usr/share/gtk-doc/html/gio/GFileInputStream.html -#usr/share/gtk-doc/html/gio/GFileMonitor.html -#usr/share/gtk-doc/html/gio/GFileOutputStream.html -#usr/share/gtk-doc/html/gio/GFilenameCompleter.html -#usr/share/gtk-doc/html/gio/GFilterInputStream.html -#usr/share/gtk-doc/html/gio/GFilterOutputStream.html -#usr/share/gtk-doc/html/gio/GIOModule.html -#usr/share/gtk-doc/html/gio/GIOStream.html -#usr/share/gtk-doc/html/gio/GIcon.html -#usr/share/gtk-doc/html/gio/GInetAddress.html -#usr/share/gtk-doc/html/gio/GInetAddressMask.html -#usr/share/gtk-doc/html/gio/GInetSocketAddress.html -#usr/share/gtk-doc/html/gio/GInitable.html -#usr/share/gtk-doc/html/gio/GInputStream.html -#usr/share/gtk-doc/html/gio/GListModel.html -#usr/share/gtk-doc/html/gio/GListStore.html -#usr/share/gtk-doc/html/gio/GLoadableIcon.html -#usr/share/gtk-doc/html/gio/GMemoryInputStream.html -#usr/share/gtk-doc/html/gio/GMemoryOutputStream.html -#usr/share/gtk-doc/html/gio/GMenu.html -#usr/share/gtk-doc/html/gio/GMenuModel.html -#usr/share/gtk-doc/html/gio/GMount.html -#usr/share/gtk-doc/html/gio/GMountOperation.html -#usr/share/gtk-doc/html/gio/GNetworkAddress.html -#usr/share/gtk-doc/html/gio/GNetworkMonitor.html -#usr/share/gtk-doc/html/gio/GNetworkService.html -#usr/share/gtk-doc/html/gio/GNotification.html -#usr/share/gtk-doc/html/gio/GOutputStream.html -#usr/share/gtk-doc/html/gio/GPermission.html -#usr/share/gtk-doc/html/gio/GPollableInputStream.html -#usr/share/gtk-doc/html/gio/GPollableOutputStream.html -#usr/share/gtk-doc/html/gio/GPropertyAction.html -#usr/share/gtk-doc/html/gio/GProxy.html -#usr/share/gtk-doc/html/gio/GProxyAddress.html -#usr/share/gtk-doc/html/gio/GProxyAddressEnumerator.html -#usr/share/gtk-doc/html/gio/GProxyResolver.html -#usr/share/gtk-doc/html/gio/GRemoteActionGroup.html -#usr/share/gtk-doc/html/gio/GResolver.html -#usr/share/gtk-doc/html/gio/GResource.html -#usr/share/gtk-doc/html/gio/GSeekable.html -#usr/share/gtk-doc/html/gio/GSettings.html -#usr/share/gtk-doc/html/gio/GSettingsBackend.html -#usr/share/gtk-doc/html/gio/GSimpleAction.html -#usr/share/gtk-doc/html/gio/GSimpleActionGroup.html -#usr/share/gtk-doc/html/gio/GSimpleAsyncResult.html -#usr/share/gtk-doc/html/gio/GSimpleIOStream.html -#usr/share/gtk-doc/html/gio/GSimplePermission.html -#usr/share/gtk-doc/html/gio/GSimpleProxyResolver.html -#usr/share/gtk-doc/html/gio/GSocket.html -#usr/share/gtk-doc/html/gio/GSocketAddress.html -#usr/share/gtk-doc/html/gio/GSocketAddressEnumerator.html -#usr/share/gtk-doc/html/gio/GSocketClient.html -#usr/share/gtk-doc/html/gio/GSocketConnectable.html -#usr/share/gtk-doc/html/gio/GSocketConnection.html -#usr/share/gtk-doc/html/gio/GSocketControlMessage.html -#usr/share/gtk-doc/html/gio/GSocketListener.html -#usr/share/gtk-doc/html/gio/GSocketService.html -#usr/share/gtk-doc/html/gio/GSrvTarget.html -#usr/share/gtk-doc/html/gio/GSubprocess.html -#usr/share/gtk-doc/html/gio/GSubprocessLauncher.html -#usr/share/gtk-doc/html/gio/GTask.html -#usr/share/gtk-doc/html/gio/GTcpConnection.html -#usr/share/gtk-doc/html/gio/GTcpWrapperConnection.html -#usr/share/gtk-doc/html/gio/GTestDBus.html -#usr/share/gtk-doc/html/gio/GThemedIcon.html -#usr/share/gtk-doc/html/gio/GThreadedSocketService.html -#usr/share/gtk-doc/html/gio/GTlsBackend.html -#usr/share/gtk-doc/html/gio/GTlsCertificate.html -#usr/share/gtk-doc/html/gio/GTlsClientConnection.html -#usr/share/gtk-doc/html/gio/GTlsConnection.html -#usr/share/gtk-doc/html/gio/GTlsDatabase.html -#usr/share/gtk-doc/html/gio/GTlsFileDatabase.html -#usr/share/gtk-doc/html/gio/GTlsInteraction.html -#usr/share/gtk-doc/html/gio/GTlsPassword.html -#usr/share/gtk-doc/html/gio/GTlsServerConnection.html -#usr/share/gtk-doc/html/gio/GUnixConnection.html -#usr/share/gtk-doc/html/gio/GUnixCredentialsMessage.html -#usr/share/gtk-doc/html/gio/GUnixFDList.html -#usr/share/gtk-doc/html/gio/GUnixFDMessage.html -#usr/share/gtk-doc/html/gio/GUnixInputStream.html -#usr/share/gtk-doc/html/gio/GUnixOutputStream.html -#usr/share/gtk-doc/html/gio/GUnixSocketAddress.html -#usr/share/gtk-doc/html/gio/GVfs.html -#usr/share/gtk-doc/html/gio/GVolume.html -#usr/share/gtk-doc/html/gio/GVolumeMonitor.html -#usr/share/gtk-doc/html/gio/GZlibCompressor.html -#usr/share/gtk-doc/html/gio/GZlibDecompressor.html -#usr/share/gtk-doc/html/gio/annotation-glossary.html -#usr/share/gtk-doc/html/gio/api-index-full.html -#usr/share/gtk-doc/html/gio/application.html -#usr/share/gtk-doc/html/gio/async.html -#usr/share/gtk-doc/html/gio/ch01.html -#usr/share/gtk-doc/html/gio/ch02.html -#usr/share/gtk-doc/html/gio/ch03.html -#usr/share/gtk-doc/html/gio/ch32.html -#usr/share/gtk-doc/html/gio/ch33.html -#usr/share/gtk-doc/html/gio/ch33s02.html -#usr/share/gtk-doc/html/gio/ch33s03.html -#usr/share/gtk-doc/html/gio/ch34.html -#usr/share/gtk-doc/html/gio/ch34s02.html -#usr/share/gtk-doc/html/gio/ch34s03.html -#usr/share/gtk-doc/html/gio/ch34s04.html -#usr/share/gtk-doc/html/gio/ch34s05.html -#usr/share/gtk-doc/html/gio/ch34s06.html -#usr/share/gtk-doc/html/gio/ch34s07.html -#usr/share/gtk-doc/html/gio/ch35.html -#usr/share/gtk-doc/html/gio/ch35s02.html -#usr/share/gtk-doc/html/gio/ch35s03.html -#usr/share/gtk-doc/html/gio/ch35s04.html -#usr/share/gtk-doc/html/gio/conversion.html -#usr/share/gtk-doc/html/gio/data-models.html -#usr/share/gtk-doc/html/gio/extending-gio.html -#usr/share/gtk-doc/html/gio/extending.html -#usr/share/gtk-doc/html/gio/failable_initialization.html -#usr/share/gtk-doc/html/gio/file_mon.html -#usr/share/gtk-doc/html/gio/file_ops.html -#usr/share/gtk-doc/html/gio/gapplication-tool.html -#usr/share/gtk-doc/html/gio/gdbus-codegen.html -#usr/share/gtk-doc/html/gio/gdbus-convenience.html -#usr/share/gtk-doc/html/gio/gdbus-example-gdbus-codegen.html -#usr/share/gtk-doc/html/gio/gdbus-lowlevel.html -#usr/share/gtk-doc/html/gio/gdbus.html -#usr/share/gtk-doc/html/gio/gio-D-Bus-Addresses.html -#usr/share/gtk-doc/html/gio/gio-D-Bus-Introspection-Data.html -#usr/share/gtk-doc/html/gio/gio-D-Bus-Utilities.html -#usr/share/gtk-doc/html/gio/gio-Desktop-file-based-GAppInfo.html -#usr/share/gtk-doc/html/gio/gio-Extension-Points.html -#usr/share/gtk-doc/html/gio/gio-GActionGroup-exporter.html -#usr/share/gtk-doc/html/gio/gio-GContentType.html -#usr/share/gtk-doc/html/gio/gio-GConverterInputstream.html -#usr/share/gtk-doc/html/gio/gio-GConverterOutputstream.html -#usr/share/gtk-doc/html/gio/gio-GDBusError.html -#usr/share/gtk-doc/html/gio/gio-GFileAttribute.html -#usr/share/gtk-doc/html/gio/gio-GIOError.html -#usr/share/gtk-doc/html/gio/gio-GIOScheduler.html -#usr/share/gtk-doc/html/gio/gio-GMenuModel-exporter.html -#usr/share/gtk-doc/html/gio/gio-GSettingsSchema-GSettingsSchemaSource.html -#usr/share/gtk-doc/html/gio/gio-GWin32InputStream.html -#usr/share/gtk-doc/html/gio/gio-GWin32OutputStream.html -#usr/share/gtk-doc/html/gio/gio-GWin32RegistryKey.html -#usr/share/gtk-doc/html/gio/gio-Owning-Bus-Names.html -#usr/share/gtk-doc/html/gio/gio-TLS-Overview.html -#usr/share/gtk-doc/html/gio/gio-Unix-Mounts.html -#usr/share/gtk-doc/html/gio/gio-Watching-Bus-Names.html -#usr/share/gtk-doc/html/gio/gio-gnetworking.h.html -#usr/share/gtk-doc/html/gio/gio-gpollableutils.html -#usr/share/gtk-doc/html/gio/gio-hierarchy.html -#usr/share/gtk-doc/html/gio/gio-querymodules.html -#usr/share/gtk-doc/html/gio/gio.devhelp2 -#usr/share/gtk-doc/html/gio/gio.html -#usr/share/gtk-doc/html/gio/glib-compile-resources.html -#usr/share/gtk-doc/html/gio/glib-compile-schemas.html -#usr/share/gtk-doc/html/gio/gresource-tool.html -#usr/share/gtk-doc/html/gio/gsettings-tool.html -#usr/share/gtk-doc/html/gio/gvfs-overview.png -#usr/share/gtk-doc/html/gio/highlevel-socket.html -#usr/share/gtk-doc/html/gio/home.png -#usr/share/gtk-doc/html/gio/icons.html -#usr/share/gtk-doc/html/gio/index.html -#usr/share/gtk-doc/html/gio/left-insensitive.png -#usr/share/gtk-doc/html/gio/left.png -#usr/share/gtk-doc/html/gio/menu-example.png -#usr/share/gtk-doc/html/gio/menu-model.png -#usr/share/gtk-doc/html/gio/migrating.html -#usr/share/gtk-doc/html/gio/networking.html -#usr/share/gtk-doc/html/gio/permissions.html -#usr/share/gtk-doc/html/gio/pt01.html -#usr/share/gtk-doc/html/gio/pt02.html -#usr/share/gtk-doc/html/gio/registry.html -#usr/share/gtk-doc/html/gio/resolver.html -#usr/share/gtk-doc/html/gio/resources.html -#usr/share/gtk-doc/html/gio/right-insensitive.png -#usr/share/gtk-doc/html/gio/right.png -#usr/share/gtk-doc/html/gio/running-gio-apps.html -#usr/share/gtk-doc/html/gio/settings.html -#usr/share/gtk-doc/html/gio/streaming.html -#usr/share/gtk-doc/html/gio/style.css -#usr/share/gtk-doc/html/gio/subprocesses.html -#usr/share/gtk-doc/html/gio/testing.html -#usr/share/gtk-doc/html/gio/tls.html -#usr/share/gtk-doc/html/gio/tools.html -#usr/share/gtk-doc/html/gio/types.html -#usr/share/gtk-doc/html/gio/up-insensitive.png -#usr/share/gtk-doc/html/gio/up.png -#usr/share/gtk-doc/html/gio/utils.html -#usr/share/gtk-doc/html/gio/volume_mon.html -#usr/share/gtk-doc/html/glib -#usr/share/gtk-doc/html/glib/Sorted_binary_tree_breadth-first_traversal.svg -#usr/share/gtk-doc/html/glib/Sorted_binary_tree_inorder.svg -#usr/share/gtk-doc/html/glib/Sorted_binary_tree_postorder.svg -#usr/share/gtk-doc/html/glib/Sorted_binary_tree_preorder.svg -#usr/share/gtk-doc/html/glib/annotation-glossary.html -#usr/share/gtk-doc/html/glib/api-index-full.html -#usr/share/gtk-doc/html/glib/deprecated.html -#usr/share/gtk-doc/html/glib/file-name-encodings.png -#usr/share/gtk-doc/html/glib/glib-Arrays.html -#usr/share/gtk-doc/html/glib/glib-Asynchronous-Queues.html -#usr/share/gtk-doc/html/glib/glib-Atomic-Operations.html -#usr/share/gtk-doc/html/glib/glib-Automatic-String-Completion.html -#usr/share/gtk-doc/html/glib/glib-Balanced-Binary-Trees.html -#usr/share/gtk-doc/html/glib/glib-Base64-Encoding.html -#usr/share/gtk-doc/html/glib/glib-Basic-Types.html -#usr/share/gtk-doc/html/glib/glib-Bookmark-file-parser.html -#usr/share/gtk-doc/html/glib/glib-Bounds-checked-integer-arithmetic.html -#usr/share/gtk-doc/html/glib/glib-Byte-Arrays.html -#usr/share/gtk-doc/html/glib/glib-Byte-Order-Macros.html -#usr/share/gtk-doc/html/glib/glib-Caches.html -#usr/share/gtk-doc/html/glib/glib-Character-Set-Conversion.html -#usr/share/gtk-doc/html/glib/glib-Commandline-option-parser.html -#usr/share/gtk-doc/html/glib/glib-Data-Checksums.html -#usr/share/gtk-doc/html/glib/glib-Data-HMACs.html -#usr/share/gtk-doc/html/glib/glib-Datasets.html -#usr/share/gtk-doc/html/glib/glib-Date-and-Time-Functions.html -#usr/share/gtk-doc/html/glib/glib-Deprecated-Thread-APIs.html -#usr/share/gtk-doc/html/glib/glib-Double-ended-Queues.html -#usr/share/gtk-doc/html/glib/glib-Doubly-Linked-Lists.html -#usr/share/gtk-doc/html/glib/glib-Dynamic-Loading-of-Modules.html -#usr/share/gtk-doc/html/glib/glib-Error-Reporting.html -#usr/share/gtk-doc/html/glib/glib-File-Utilities.html -#usr/share/gtk-doc/html/glib/glib-GDateTime.html -#usr/share/gtk-doc/html/glib/glib-GTimeZone.html -#usr/share/gtk-doc/html/glib/glib-GUuid.html -#usr/share/gtk-doc/html/glib/glib-GVariant.html -#usr/share/gtk-doc/html/glib/glib-GVariantType.html -#usr/share/gtk-doc/html/glib/glib-Glob-style-pattern-matching.html -#usr/share/gtk-doc/html/glib/glib-Hash-Tables.html -#usr/share/gtk-doc/html/glib/glib-Hook-Functions.html -#usr/share/gtk-doc/html/glib/glib-Hostname-Utilities.html -#usr/share/gtk-doc/html/glib/glib-I18N.html -#usr/share/gtk-doc/html/glib/glib-IO-Channels.html -#usr/share/gtk-doc/html/glib/glib-Key-value-file-parser.html -#usr/share/gtk-doc/html/glib/glib-Keyed-Data-Lists.html -#usr/share/gtk-doc/html/glib/glib-Lexical-Scanner.html -#usr/share/gtk-doc/html/glib/glib-Memory-Allocation.html -#usr/share/gtk-doc/html/glib/glib-Memory-Slices.html -#usr/share/gtk-doc/html/glib/glib-Message-Logging.html -#usr/share/gtk-doc/html/glib/glib-Miscellaneous-Macros.html -#usr/share/gtk-doc/html/glib/glib-Miscellaneous-Utility-Functions.html -#usr/share/gtk-doc/html/glib/glib-N-ary-Trees.html -#usr/share/gtk-doc/html/glib/glib-Numerical-Definitions.html -#usr/share/gtk-doc/html/glib/glib-Perl-compatible-regular-expressions.html -#usr/share/gtk-doc/html/glib/glib-Pointer-Arrays.html -#usr/share/gtk-doc/html/glib/glib-Quarks.html -#usr/share/gtk-doc/html/glib/glib-Random-Numbers.html -#usr/share/gtk-doc/html/glib/glib-Relations-and-Tuples.html -#usr/share/gtk-doc/html/glib/glib-Sequences.html -#usr/share/gtk-doc/html/glib/glib-Shell-related-Utilities.html -#usr/share/gtk-doc/html/glib/glib-Simple-XML-Subset-Parser.html -#usr/share/gtk-doc/html/glib/glib-Singly-Linked-Lists.html -#usr/share/gtk-doc/html/glib/glib-Spawning-Processes.html -#usr/share/gtk-doc/html/glib/glib-Standard-Macros.html -#usr/share/gtk-doc/html/glib/glib-String-Chunks.html -#usr/share/gtk-doc/html/glib/glib-String-Utility-Functions.html -#usr/share/gtk-doc/html/glib/glib-Strings.html -#usr/share/gtk-doc/html/glib/glib-Testing.html -#usr/share/gtk-doc/html/glib/glib-The-Main-Event-Loop.html -#usr/share/gtk-doc/html/glib/glib-Thread-Pools.html -#usr/share/gtk-doc/html/glib/glib-Threads.html -#usr/share/gtk-doc/html/glib/glib-Timers.html -#usr/share/gtk-doc/html/glib/glib-Trash-Stacks.html -#usr/share/gtk-doc/html/glib/glib-Type-Conversion-Macros.html -#usr/share/gtk-doc/html/glib/glib-UNIX-specific-utilities-and-integration.html -#usr/share/gtk-doc/html/glib/glib-URI-Functions.html -#usr/share/gtk-doc/html/glib/glib-Unicode-Manipulation.html -#usr/share/gtk-doc/html/glib/glib-Version-Information.html -#usr/share/gtk-doc/html/glib/glib-Warnings-and-Assertions.html -#usr/share/gtk-doc/html/glib/glib-Windows-Compatibility-Functions.html -#usr/share/gtk-doc/html/glib/glib-building.html -#usr/share/gtk-doc/html/glib/glib-changes.html -#usr/share/gtk-doc/html/glib/glib-compiling.html -#usr/share/gtk-doc/html/glib/glib-core.html -#usr/share/gtk-doc/html/glib/glib-cross-compiling.html -#usr/share/gtk-doc/html/glib/glib-data-types.html -#usr/share/gtk-doc/html/glib/glib-fundamentals.html -#usr/share/gtk-doc/html/glib/glib-gettextize.html -#usr/share/gtk-doc/html/glib/glib-programming.html -#usr/share/gtk-doc/html/glib/glib-regex-syntax.html -#usr/share/gtk-doc/html/glib/glib-resources.html -#usr/share/gtk-doc/html/glib/glib-running.html -#usr/share/gtk-doc/html/glib/glib-utilities.html -#usr/share/gtk-doc/html/glib/glib.devhelp2 -#usr/share/gtk-doc/html/glib/glib.html -#usr/share/gtk-doc/html/glib/gtester-report.html -#usr/share/gtk-doc/html/glib/gtester.html -#usr/share/gtk-doc/html/glib/gvariant-format-strings.html -#usr/share/gtk-doc/html/glib/gvariant-text.html -#usr/share/gtk-doc/html/glib/home.png -#usr/share/gtk-doc/html/glib/index.html -#usr/share/gtk-doc/html/glib/left-insensitive.png -#usr/share/gtk-doc/html/glib/left.png -#usr/share/gtk-doc/html/glib/mainloop-states.gif -#usr/share/gtk-doc/html/glib/right-insensitive.png -#usr/share/gtk-doc/html/glib/right.png -#usr/share/gtk-doc/html/glib/style.css -#usr/share/gtk-doc/html/glib/tools.html -#usr/share/gtk-doc/html/glib/up-insensitive.png -#usr/share/gtk-doc/html/glib/up.png -#usr/share/gtk-doc/html/gobject -#usr/share/gtk-doc/html/gobject/GBinding.html -#usr/share/gtk-doc/html/gobject/GTypeModule.html -#usr/share/gtk-doc/html/gobject/GTypePlugin.html -#usr/share/gtk-doc/html/gobject/annotation-glossary.html -#usr/share/gtk-doc/html/gobject/api-index-full.html -#usr/share/gtk-doc/html/gobject/ch01s02.html -#usr/share/gtk-doc/html/gobject/chapter-gobject.html -#usr/share/gtk-doc/html/gobject/chapter-gtype.html -#usr/share/gtk-doc/html/gobject/chapter-intro.html -#usr/share/gtk-doc/html/gobject/chapter-signal.html -#usr/share/gtk-doc/html/gobject/glib-genmarshal.html -#usr/share/gtk-doc/html/gobject/glib-mkenums.html -#usr/share/gtk-doc/html/gobject/glue.png -#usr/share/gtk-doc/html/gobject/gobject-Boxed-Types.html -#usr/share/gtk-doc/html/gobject/gobject-Closures.html -#usr/share/gtk-doc/html/gobject/gobject-Enumeration-and-Flag-Types.html -#usr/share/gtk-doc/html/gobject/gobject-GParamSpec.html -#usr/share/gtk-doc/html/gobject/gobject-Generic-values.html -#usr/share/gtk-doc/html/gobject/gobject-Signals.html -#usr/share/gtk-doc/html/gobject/gobject-Standard-Parameter-and-Value-Types.html -#usr/share/gtk-doc/html/gobject/gobject-The-Base-Object-Type.html -#usr/share/gtk-doc/html/gobject/gobject-Type-Information.html -#usr/share/gtk-doc/html/gobject/gobject-Value-arrays.html -#usr/share/gtk-doc/html/gobject/gobject-Varargs-Value-Collection.html -#usr/share/gtk-doc/html/gobject/gobject-memory.html -#usr/share/gtk-doc/html/gobject/gobject-properties.html -#usr/share/gtk-doc/html/gobject/gobject-query.html -#usr/share/gtk-doc/html/gobject/gobject.devhelp2 -#usr/share/gtk-doc/html/gobject/gtype-conventions.html -#usr/share/gtk-doc/html/gobject/gtype-instantiable-classed.html -#usr/share/gtk-doc/html/gobject/gtype-non-instantiable-classed.html -#usr/share/gtk-doc/html/gobject/gtype-non-instantiable.html -#usr/share/gtk-doc/html/gobject/home.png -#usr/share/gtk-doc/html/gobject/howto-gobject-chainup.html -#usr/share/gtk-doc/html/gobject/howto-gobject-code.html -#usr/share/gtk-doc/html/gobject/howto-gobject-construction.html -#usr/share/gtk-doc/html/gobject/howto-gobject-destruction.html -#usr/share/gtk-doc/html/gobject/howto-gobject-methods.html -#usr/share/gtk-doc/html/gobject/howto-gobject.html -#usr/share/gtk-doc/html/gobject/howto-interface-implement.html -#usr/share/gtk-doc/html/gobject/howto-interface-override.html -#usr/share/gtk-doc/html/gobject/howto-interface-prerequisite.html -#usr/share/gtk-doc/html/gobject/howto-interface-properties.html -#usr/share/gtk-doc/html/gobject/howto-interface.html -#usr/share/gtk-doc/html/gobject/howto-signals.html -#usr/share/gtk-doc/html/gobject/index.html -#usr/share/gtk-doc/html/gobject/left-insensitive.png -#usr/share/gtk-doc/html/gobject/left.png -#usr/share/gtk-doc/html/gobject/pr01.html -#usr/share/gtk-doc/html/gobject/pt01.html -#usr/share/gtk-doc/html/gobject/pt02.html -#usr/share/gtk-doc/html/gobject/pt03.html -#usr/share/gtk-doc/html/gobject/right-insensitive.png -#usr/share/gtk-doc/html/gobject/right.png -#usr/share/gtk-doc/html/gobject/rn01.html -#usr/share/gtk-doc/html/gobject/rn02.html -#usr/share/gtk-doc/html/gobject/signal.html -#usr/share/gtk-doc/html/gobject/style.css -#usr/share/gtk-doc/html/gobject/tools-ginspector.html -#usr/share/gtk-doc/html/gobject/tools-gob.html -#usr/share/gtk-doc/html/gobject/tools-gtkdoc.html -#usr/share/gtk-doc/html/gobject/tools-refdb.html -#usr/share/gtk-doc/html/gobject/tools-vala.html -#usr/share/gtk-doc/html/gobject/up-insensitive.png -#usr/share/gtk-doc/html/gobject/up.png #usr/share/locale/af/LC_MESSAGES/glib20.mo #usr/share/locale/am #usr/share/locale/am/LC_MESSAGES @@ -843,8 +416,6 @@ usr/lib/libgthread-2.0.so.0.5400.3 #usr/share/locale/is/LC_MESSAGES/glib20.mo #usr/share/locale/it/LC_MESSAGES/glib20.mo #usr/share/locale/ja/LC_MESSAGES/glib20.mo -#usr/share/locale/ka -#usr/share/locale/ka/LC_MESSAGES #usr/share/locale/ka/LC_MESSAGES/glib20.mo #usr/share/locale/kk/LC_MESSAGES/glib20.mo #usr/share/locale/kn/LC_MESSAGES/glib20.mo diff --git a/config/rootfiles/common/poppler b/config/rootfiles/common/poppler index b15792698..59db1fe1e 100644 --- a/config/rootfiles/common/poppler +++ b/config/rootfiles/common/poppler @@ -112,6 +112,22 @@ usr/bin/pdfunite #usr/include/poppler/fofi/FoFiTrueType.h #usr/include/poppler/fofi/FoFiType1.h #usr/include/poppler/fofi/FoFiType1C.h +#usr/include/poppler/glib +#usr/include/poppler/glib/poppler-action.h +#usr/include/poppler/glib/poppler-annot.h +#usr/include/poppler/glib/poppler-attachment.h +#usr/include/poppler/glib/poppler-date.h +#usr/include/poppler/glib/poppler-document.h +#usr/include/poppler/glib/poppler-enums.h +#usr/include/poppler/glib/poppler-features.h +#usr/include/poppler/glib/poppler-form-field.h +#usr/include/poppler/glib/poppler-layer.h +#usr/include/poppler/glib/poppler-macros.h +#usr/include/poppler/glib/poppler-media.h +#usr/include/poppler/glib/poppler-movie.h +#usr/include/poppler/glib/poppler-page.h +#usr/include/poppler/glib/poppler-structure-element.h +#usr/include/poppler/glib/poppler.h #usr/include/poppler/goo #usr/include/poppler/goo/GooCheckedOps.h #usr/include/poppler/goo/GooLikely.h @@ -152,10 +168,14 @@ usr/bin/pdfunite #usr/lib/libpoppler-cpp.so usr/lib/libpoppler-cpp.so.0 usr/lib/libpoppler-cpp.so.0.9.0 +#usr/lib/libpoppler-glib.so +usr/lib/libpoppler-glib.so.8 +usr/lib/libpoppler-glib.so.8.20.0 #usr/lib/libpoppler.so usr/lib/libpoppler.so.109 usr/lib/libpoppler.so.109.0.0 #usr/lib/pkgconfig/poppler-cpp.pc +#usr/lib/pkgconfig/poppler-glib.pc #usr/lib/pkgconfig/poppler.pc #usr/share/man/man1/pdfattach.1 #usr/share/man/man1/pdfdetach.1 diff --git a/config/rootfiles/core/157/filelists/files b/config/rootfiles/core/157/filelists/files index 10a4ef778..9afab9087 100644 --- a/config/rootfiles/core/157/filelists/files +++ b/config/rootfiles/core/157/filelists/files @@ -1,2 +1,3 @@ srv/web/ipfire/cgi-bin/getrrdimage.cgi srv/web/ipfire/html/themes/ipfire/include/css/style.css +var/ipfire/network-functions.pl diff --git a/config/rootfiles/core/157/filelists/glib b/config/rootfiles/core/157/filelists/glib new file mode 120000 index 000000000..44665746a --- /dev/null +++ b/config/rootfiles/core/157/filelists/glib @@ -0,0 +1 @@ +../../../common/glib \ No newline at end of file diff --git a/html/cgi-bin/wlanap.cgi b/html/cgi-bin/wlanap.cgi index 01dcaeea2..602d4d3c1 100644 --- a/html/cgi-bin/wlanap.cgi +++ b/html/cgi-bin/wlanap.cgi @@ -81,6 +81,9 @@ $wlanapsettings{'IEEE80211W'} = 'off'; &General::readhash("/var/ipfire/wlanap/settings", %wlanapsettings); &Header::getcgihash(%wlanapsettings);
+# Find the selected interface +my $INTF = &Network::get_intf_by_address($wlanapsettings{'INTERFACE'}); + my @macs = $wlanapsettings{'MACS'};
delete $wlanapsettings{'__CGI__'}; @@ -193,8 +196,11 @@ my $wlan_card_status = 'dummy'; my $wlan_ap_status = ''; my $message = "";
-$selected{'INTERFACE'}{'green0'} = ''; -$selected{'INTERFACE'}{'blue0'} = ''; +my %INTERFACES = &Network::list_wireless_interfaces(); + +foreach my $intf (keys %INTERFACES) { + $selected{'INTERFACE'}{$intf} = ''; +} $selected{'ENC'}{$wlanapsettings{'INTERFACE'}} = "selected='selected'";
if ( ($wlanapsettings{'INTERFACE'} eq '') ){ @@ -206,11 +212,12 @@ $message<br /> <select name='INTERFACE'> END ; - if ( $netsettings{'BLUE_DEV'} ne ''){ - print "<option value='blue0' $selected{'INTERFACE'}{'blue0'}>blue0</option>"; + + foreach my $intf (sort keys %INTERFACES) { + print "<option value='${intf}' $selected{'INTERFACE'}{$intf}>$INTERFACES{$intf}</option>"; } + print <<END - <option value='green0' $selected{'INTERFACE'}{'green0'}>green0</option> </select> <br /><br /> <hr size='1'> @@ -222,18 +229,18 @@ END &Header::closepage(); exit; }else{ - my $cmd_out = `/usr/sbin/iwconfig $wlanapsettings{'INTERFACE'} 2>/dev/null`; + my $cmd_out = `/usr/sbin/iwconfig $INTF 2>/dev/null`;
if ( $cmd_out eq '' ){ $message = "$Lang::tr{'wlanap no interface'}"; $wlan_card_status = ''; }else{ - $cmd_out = `/sbin/ifconfig | /bin/grep $wlanapsettings{'INTERFACE'}`; + $cmd_out = `/sbin/ifconfig $INTF`; if ( $cmd_out eq '' ){ $wlan_card_status = 'down'; }else{ $wlan_card_status = 'up'; - $cmd_out = `/usr/sbin/iwconfig $wlanapsettings{'INTERFACE'} | /bin/grep "Mode:Master"`; + $cmd_out = `/usr/sbin/iwconfig $INTF | /bin/grep "Mode:Master"`; if ( $cmd_out ne '' ){ $wlan_ap_status = 'up'; } @@ -270,16 +277,16 @@ $selected{'TXPOWER'}{$wlanapsettings{'TXPOWER'}} = "selected='selected'"; $selected{'HW_MODE'}{$wlanapsettings{'HW_MODE'}} = "selected='selected'"; $selected{'MACMODE'}{$wlanapsettings{'MACMODE'}} = "selected='selected'";
-my $monwlaninterface = $wlanapsettings{'INTERFACE'}; -if ( -d '/sys/class/net/mon.'.$wlanapsettings{'INTERFACE'} ) { - $monwlaninterface = 'mon.'.$wlanapsettings{'INTERFACE'}; +my $monwlaninterface = $INTF; +if ( -d '/sys/class/net/mon.' . $INTF) { + $monwlaninterface = 'mon.' . $INTF; }
my @channellist_cmd; my @channellist = (0);
if ( $wlanapsettings{'DRIVER'} eq 'NL80211' ){ -my $wiphy = `iw dev $wlanapsettings{'INTERFACE'} info | grep wiphy | cut -d" " -f2`; +my $wiphy = `iw dev $INTF info | grep wiphy | cut -d" " -f2`; chomp $wiphy;
@channellist_cmd = `iw phy phy$wiphy info | grep " MHz \[" | grep -v "(disabled)" | grep -v "no IBSS" | grep -v "no IR" | grep -v "passive scanning" 2>/dev/null`; @@ -318,7 +325,7 @@ my @countrylist = @temp;
my @txpower_cmd = `iwlist $monwlaninterface txpower 2>/dev/null`; if ( $wlanapsettings{'DRIVER'} eq 'NL80211' ){ - # There is a bug with NL80211 only all devices can displayed + # There is a bug with NL80211 only all devices can displaye @txpower_cmd = `iwlist txpower 2>/dev/null | sed -e "s|unknown transmit-power information.||g"`; } # get available power @@ -488,7 +495,7 @@ print <<END </table> END ; -if ( $wlanapsettings{'INTERFACE'} =~ /green0/ ){ +if ( $INTF =~ /green0/ ){ print <<END <br /> <table width='80%' cellspacing='0' class='tbl' border='1'> @@ -523,7 +530,7 @@ END ; my @status; if ( $wlanapsettings{'DRIVER'} eq 'NL80211' ){ - @status = `iw dev $wlanapsettings{'INTERFACE'} info && iw dev $wlanapsettings{'INTERFACE'} station dump && echo ""`; + @status = `iw dev $INTF info && iw dev $INTF station dump && echo ""`; } print <<END <br /> @@ -564,17 +571,7 @@ for (my $i=0;$i<$#txpower_cmd;$i=$i+2){ print "<tr><td $col>@txpower_cmd[$i]</td></tr>"; $count++; } -print "</table><br>"; -print <<END -<br /> -<table width='80%' cellspacing='0' class='tbl' border='0'> -<tr><td bgcolor='$color{'color20'}' align='left'><strong>$Lang::tr{'wlan clients'}</strong></td></tr> -<tr><td> <a href="/cgi-bin/wireless.cgi">$Lang::tr{'wlanap link wireless'}</a></td></tr> -<tr><td> <a href="/cgi-bin/dhcp.cgi">$Lang::tr{'wlanap link dhcp'}</a></td></tr> -<tr><td><br></td></tr> -</table> -END -; +print "</table>"; &Header::closebox(); print "</form>"; &Header::closebigbox(); @@ -588,7 +585,6 @@ sub WriteConfig_hostapd{ driver=$wlanapsettings{'DRIVER_HOSTAPD'} ######################### basic hostapd configuration ########################## # -interface=$wlanapsettings{'INTERFACE'} country_code=$wlanapsettings{'COUNTRY'} ieee80211d=1 ieee80211h=1 diff --git a/lfs/glib b/lfs/glib index 662caab90..66d5ffc8b 100644 --- a/lfs/glib +++ b/lfs/glib @@ -24,7 +24,7 @@
include Config
-VER = 2.54.3 +VER = 2.68.1
THISAPP = glib-$(VER) DL_FILE = $(THISAPP).tar.xz @@ -40,7 +40,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = 16e886ad677bf07b7d48eb8188bcf759 +$(DL_FILE)_MD5 = bc9f2250be1f773bb17747d3b2e6a3ae
install : $(TARGET)
@@ -71,10 +71,11 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) @$(PREBUILD) @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE) $(UPDATE_AUTOMAKE) - cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glib-2.54.3-compile-fixes-1.patch - cd $(DIR_APP) && ./configure --prefix=/usr --sysconfdir=/etc \ - --with-pcre=system - cd $(DIR_APP) && make $(MAKETUNING) - cd $(DIR_APP) && make install + cd $(DIR_APP) && meson --prefix=/usr \ + --sysconfdir=/etc \ + -D internal_pcre=false \ + builddir/ + cd $(DIR_APP) && ninja -C builddir/ + cd $(DIR_APP) && ninja -C builddir/ install @rm -rf $(DIR_APP) @$(POSTBUILD) diff --git a/lfs/hostapd b/lfs/hostapd index e6b92db3a..f89326f4a 100644 --- a/lfs/hostapd +++ b/lfs/hostapd @@ -32,7 +32,7 @@ DL_FROM = $(URL_IPFIRE) DIR_APP = $(DIR_SRC)/hostap-$(VER) TARGET = $(DIR_INFO)/$(THISAPP) PROG = hostapd -PAK_VER = 54 +PAK_VER = 55
DEPS =
diff --git a/src/initscripts/packages/hostapd b/src/initscripts/packages/hostapd index 5945375f3..c559b26f0 100644 --- a/src/initscripts/packages/hostapd +++ b/src/initscripts/packages/hostapd @@ -2,6 +2,20 @@ . /etc/sysconfig/rc . ${rc_functions}
+find_interface() { + local address="${1}" + + local path + for path in /sys/class/net/*; do + if [ -s "${path}/address" ] && [ "$(<${path}/address)" = "${address}" ]; then + basename "${path}" + return 0 + fi + done + + return 1; +} + CHANNEL="6" COUNTRY="00" TXPOWER="auto" @@ -12,102 +26,19 @@ eval $(/usr/local/bin/readhash /var/ipfire/wlanap/settings)
case "${1}" in start) - mkdir -p /var/run/hostapd - - boot_mesg "Starting hostapd... " - - # Check Interface configuration - if [ ! -d "/sys/class/net/${INTERFACE}" ]; then - boot_mesg "Interface $INTERFACE doesn't exist." ${FAILURE} - echo_failure - exit 0 - fi - - if [ "$(ip link show $INTERFACE | /bin/grep "ether")" == "" ]; then - boot_mesg "Interface $INTERFACE is assigned to wlan master device." ${FAILURE} - boot_mesg "Please reboot to fix this." ${FAILURE} + interface="$(find_interface "${INTERFACE}")" + if [ -z "${interface}" ]; then + boot_mesg "Could not find interface with address ${INTERFACE} for wireless access point" echo_failure - exit 0 + exit 1 fi
- # Check if INTERFACE is an actual wireless device - if [ ! -d "/sys/class/net/${INTERFACE}/wireless" ]; then - boot_mesg "Interface $INTERFACE is not a wireless device." ${FAILURE} - echo_failure - exit 0 - fi - - # Detect driver - if [ -e "/sys/class/net/$INTERFACE/phy80211" ]; then - DRIVER="NL80211" - driver="nl80211" - elif [ "$(/bin/grep hostap /sys/class/net/$INTERFACE/uevent)" != "" ]; then - DRIVER="HOSTAP" - driver="hostap" - else - boot_mesg "Interface $INTERFACE is a not supported wireless device." ${FAILURE} - echo_failure - exit 0 - fi - - echo driver=$driver > /etc/hostapd.conf.tmp - grep -v "^driver=" /etc/hostapd.conf >> /etc/hostapd.conf.tmp - mv /etc/hostapd.conf.tmp /etc/hostapd.conf - - echo DRIVER=$DRIVER > /var/ipfire/wlanap/settings.tmp - grep -v "^DRIVER=" /var/ipfire/wlanap/settings >> /var/ipfire/wlanap/settings.tmp - chown nobody:nobody /var/ipfire/wlanap/settings.tmp - chmod 644 /var/ipfire/wlanap/settings.tmp - mv /var/ipfire/wlanap/settings.tmp /var/ipfire/wlanap/settings - - if [ "$DRIVER" == "HOSTAP" ]; then - if [ "$(/usr/sbin/iwconfig $INTERFACE | /bin/grep "Mode:Master")" == "" ]; then - boot_mesg "Setting HOSTAP wlan $INTERFACE to Master mode... " - # Set Prism Cards to master mode - /usr/bin/iwconfig $INTERFACE mode master > /dev/null - fi - fi - - # First set to any country then reset to World (00) - # and then set new country because the card is only - # reprogrammed if the region was changed. - /usr/sbin/iw reg set DE - /usr/sbin/iw reg set 00 - /usr/sbin/iw reg set $COUNTRY - - /usr/sbin/iwconfig $INTERFACE channel $CHANNEL 2>/dev/null - - ip link set ${INTERFACE} up 2>/dev/null - /usr/sbin/iwconfig $INTERFACE txpower $TXPOWER 2>/dev/null - - /usr/bin/hostapd -P /var/run/hostapd /etc/hostapd.conf >/dev/null 2>&1 & - - sleep 3 - - if [ "$(/usr/sbin/iwconfig $INTERFACE | /bin/grep "Mode:Master")" == "" ]; then - killproc /usr/bin/hostapd > /dev/null 2>&1 - boot_mesg "Try to create additional AP device ..." - ip link set ${INTERFACE} down - ip link set ${INTERFACE} name ${INTERFACE}_man - iw dev ${INTERFACE}_man interface add ${INTERFACE} type __ap - evaluate_retval; - if [ -d /sys/class/net/${INTERFACE} ]; then - /usr/bin/hostapd -P /var/run/hostapd /etc/hostapd.conf >/dev/null 2>&1 & - else - ip link set ${INTERFACE}_man down - ip link set ${INTERFACE}_man name ${INTERFACE} - fi - exit 0; - else - echo_ok - fi + boot_mesg "Starting hostapd... " + loadproc /usr/bin/hostapd -B /etc/hostapd.conf -i "${interface}" ;;
stop) boot_mesg "Stopping hostapd..." - ip link set ${INTERFACE} down > /dev/null 2>&1 - ip link set ${INTERFACE} down_man > /dev/null 2>&1 - sleep 1 killproc /usr/bin/hostapd evaluate_retval ;; diff --git a/src/paks/hostapd/install.sh b/src/paks/hostapd/install.sh index bd2441e55..2dae5364e 100644 --- a/src/paks/hostapd/install.sh +++ b/src/paks/hostapd/install.sh @@ -24,6 +24,17 @@ . /opt/pakfire/lib/functions.sh extract_files restore_backup ${NAME} + +# Convert INTERFACE setting to MAC address +( + eval $(/usr/local/bin/readhash /var/ipfire/wlanap/settings) + + if [ -n "${INTERFACE}" -a -d "/sys/class/net/${INTERFACE}" ]; then + sed -i /var/ipfire/wlanap/settings \ + -e "s/^INTERFACE=.*/INTERFACE=$(</sys/class/net/${INTERFACE}/address)/" + fi +) + ln -s ../init.d/hostapd /etc/rc.d/rc3.d/S18hostapd ln -s ../init.d/hostapd /etc/rc.d/rc0.d/K81hostapd ln -s ../init.d/hostapd /etc/rc.d/rc6.d/K81hostapd diff --git a/src/patches/glib-2.54.3-compile-fixes-1.patch b/src/patches/glib-2.54.3-compile-fixes-1.patch deleted file mode 100644 index ecf30ded5..000000000 --- a/src/patches/glib-2.54.3-compile-fixes-1.patch +++ /dev/null @@ -1,71 +0,0 @@ -From 566e1d61a500267c7849ad0b2552feec9c9a29a6 Mon Sep 17 00:00:00 2001 -From: Ernestas Kulik ekulik@redhat.com -Date: Tue, 29 Jan 2019 09:50:46 +0100 -Subject: [PATCH] gdbus: Avoid printing null strings -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -This mostly affects the 2.56 branch, but, given that GCC 9 is being -stricter about passing null string pointers to printf-like functions, it -might make sense to proactively fix such calls. - -gdbusauth.c: In function '_g_dbus_auth_run_server': -gdbusauth.c:1302:11: error: '%s' directive argument is null -[-Werror=format-overflow=] - 1302 | debug_print ("SERVER: WaitingForBegin, read '%s'", - line); - | - -gdbusmessage.c: In function ‘g_dbus_message_to_blob’: -gdbusmessage.c:2730:30: error: ‘%s’ directive argument is null [-Werror=format-overflow=] - 2730 | tupled_signature_str = g_strdup_printf ("(%s)", signature_str); - | ---- - gio/gdbusauth.c | 2 +- - gio/gdbusmessage.c | 5 ++--- - 2 files changed, 3 insertions(+), 4 deletions(-) - -diff --git a/gio/gdbusauth.c b/gio/gdbusauth.c -index 1f8ea8057..752ec23fc 100644 ---- a/gio/gdbusauth.c -+++ b/gio/gdbusauth.c -@@ -1272,9 +1272,9 @@ _g_dbus_auth_run_server (GDBusAuth *auth, - &line_length, - cancellable, - error); -- debug_print ("SERVER: WaitingForBegin, read '%s'", line); - if (line == NULL) - goto out; -+ debug_print ("SERVER: WaitingForBegin, read '%s'", line); - if (g_strcmp0 (line, "BEGIN") == 0) - { - /* YAY, done! */ -diff --git a/gio/gdbusmessage.c b/gio/gdbusmessage.c -index 3221b925d..3a1a1f9e9 100644 ---- a/gio/gdbusmessage.c -+++ b/gio/gdbusmessage.c -@@ -2731,7 +2731,6 @@ g_dbus_message_to_blob (GDBusMessage *message, - if (message->body != NULL) - { - gchar *tupled_signature_str; -- tupled_signature_str = g_strdup_printf ("(%s)", signature_str); - if (signature == NULL) - { - g_set_error (error, -@@ -2739,10 +2738,10 @@ g_dbus_message_to_blob (GDBusMessage *message, - G_IO_ERROR_INVALID_ARGUMENT, - _("Message body has signature “%s” but there is no signature header"), - signature_str); -- g_free (tupled_signature_str); - goto out; - } -- else if (g_strcmp0 (tupled_signature_str, g_variant_get_type_string (message->body)) != 0) -+ tupled_signature_str = g_strdup_printf ("(%s)", signature_str); -+ if (g_strcmp0 (tupled_signature_str, g_variant_get_type_string (message->body)) != 0) - { - g_set_error (error, - G_IO_ERROR, --- -2.22.0 -
hooks/post-receive -- IPFire 2.x development tree