Hello community,
here is the log from the commit of package NetworkManager-kde4 for openSUSE:Factory
checked in at Fri Nov 27 15:59:17 CET 2009.
--------
--- KDE/NetworkManager-kde4/NetworkManager-kde4.changes 2009-11-02 16:29:15.000000000 +0100
+++ /mounts/work_src_done/STABLE/NetworkManager-kde4/NetworkManager-kde4.changes 2009-11-20 10:01:04.000000000 +0100
@@ -1,0 +2,22 @@
+Fri Nov 20 07:40:03 UTC 2009 - wstephenson@novell.com
+
+- Add novellvpn plugin (bnc#438310, bnc#400710)
+- Build on openSUSE 11.1 and SLE11
+
+-------------------------------------------------------------------
+Thu Nov 19 22:53:23 CET 2009 - llunak@novell.com
+
+- sync 11.2 KDE packages with SLE (fate#305847)
+
+-------------------------------------------------------------------
+Wed Nov 18 17:03:50 UTC 2009 - wstephenson@novell.com
+
+- Fix bnc#553908 - no routing set with DHCP connections
+- Notify NetworkManager correctly when connections are edited
+- Fix broken doubleclick in Other Networks dialog
+- Don't show Enable wireless when no wireless hardware present
+- Prompt for missing VPN secrets on connect
+- Fix openVPN with X509 certificates only
+- Fix sorting of newly added connections
+
+-------------------------------------------------------------------
calling whatdependson for head-i586
New:
----
add-novellvpn-plugin.diff
code11_networkmanager_no_neverdefault.diff
r1047285-doubleclick-other-networks-dialog.diff
r1047562-invalid-timestamps.diff
r1047612-hide-wireless-no-hardware.diff
r1047763-update-settings-signal.diff
r1048007-routing-not-accepted.diff
r1048697-const-iterators.diff
r1049067-vpn-secrets-prompt.diff
r1050511-openvpn-x509-no-password.diff
r1050784-activatable-sorting.diff
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ NetworkManager-kde4.spec ++++++
--- /var/tmp/diff_new_pack.UWzOWs/_old 2009-11-27 15:57:45.000000000 +0100
+++ /var/tmp/diff_new_pack.UWzOWs/_new 2009-11-27 15:57:45.000000000 +0100
@@ -21,14 +21,25 @@
Name: NetworkManager-kde4
BuildRequires: NetworkManager-devel kdebase4-workspace-devel libknotificationitem-devel
Version: 0.9.svn1043876
-Release: 1
-License: GPL v2 or later
+Release: 2
+License: GPLv2+
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Group: System/GUI/KDE
Summary: NetworkManager client for KDE 4
Source0: networkmanager.tar.bz2
Source1: networkmanager-po.tar.bz2
Source2: knetworkmanager.default.sh
+Patch0: r1047285-doubleclick-other-networks-dialog.diff
+Patch1: r1047562-invalid-timestamps.diff
+Patch2: r1047612-hide-wireless-no-hardware.diff
+Patch3: r1047763-update-settings-signal.diff
+Patch4: r1048007-routing-not-accepted.diff
+Patch5: r1048697-const-iterators.diff
+Patch6: r1049067-vpn-secrets-prompt.diff
+Patch7: r1050511-openvpn-x509-no-password.diff
+Patch8: r1050784-activatable-sorting.diff
+Patch9: code11_networkmanager_no_neverdefault.diff
+Patch10: add-novellvpn-plugin.diff
Requires: %{name}-lang = %{version}
Requires: %{name}-libs = %{version}-%{release}
Provides: NetworkManager-client
@@ -62,7 +73,7 @@
network connections on systems that use the NetworkManager servicce
%package -n plasmoid-networkmanagement
-License: GPL v2 or later
+License: GPLv2+
Summary: NetworkManager client for KDE 4
Group: System/GUI/KDE
Provides: NetworkManager-client
@@ -74,7 +85,7 @@
on systems that use the NetworkManager service.
%package -n NetworkManager-openvpn-kde4
-License: GPL v2 or later
+License: GPLv2+
Summary: NetworkManager client for KDE 4
Group: System/GUI/KDE
Provides: NetworkManager-openvpn-frontend
@@ -91,7 +102,7 @@
Will Stephenson
%package -n NetworkManager-pptp-kde4
-License: GPL v2 or later
+License: GPLv2+
Summary: NetworkManager client for KDE 4
Group: System/GUI/KDE
Provides: NetworkManager-pptp-frontend
@@ -107,7 +118,7 @@
Will Stephenson
%package -n NetworkManager-vpnc-kde4
-License: GPL v2 or later
+License: GPLv2+
Summary: NetworkManager client for KDE 4
Group: System/GUI/KDE
Provides: NetworkManager-vpnc-frontend
@@ -122,9 +133,39 @@
--------
Will Stephenson
+%package -n NetworkManager-novellvpn-kde4
+License: GPLv2+
+Summary: NovellVPN NetworkManager plugin for KDE 4
+Group: System/GUI/KDE
+Provides: NetworkManager-novellvpn-frontend
+Requires: %{name}-libs = %{version}-%{release}
+Requires: NetworkManager-novellvpn
+
+%description -n NetworkManager-novellvpn-kde4
+NovellVPN VPN plugin for KDE Network Management components.
+
+
+
+Authors:
+--------
+ Will Stephenson
+
%lang_package
%prep
%setup -q -n networkmanager -a 1
+%patch0
+%patch1
+%patch2
+%patch3
+%patch4
+%patch5
+%patch6
+%patch7
+%patch8
+%if %suse_version < 1120
+%patch9
+%endif
+%patch10
echo "find_package(Msgfmt REQUIRED)" >> CMakeLists.txt
echo "find_package(Gettext REQUIRED)" >> CMakeLists.txt
echo "add_subdirectory(po)" >> CMakeLists.txt
@@ -214,4 +255,9 @@
%{_libdir}/kde4/networkmanagement_pptpui.so
%{_datadir}/kde4/services/networkmanagement_pptpui.desktop
+%files -n NetworkManager-novellvpn-kde4
+%defattr(-,root,root)
+%{_libdir}/kde4/networkmanagement_novellvpnui.so
+%{_datadir}/kde4/services/networkmanagement_novellvpnui.desktop
+
%changelog
++++++ add-novellvpn-plugin.diff ++++++
++++ 870 lines (skipped)
++++++ code11_networkmanager_no_neverdefault.diff ++++++
Index: libs/ui/ipv4widget.cpp
===================================================================
--- libs/ui/ipv4widget.cpp (revision 1051776)
+++ libs/ui/ipv4widget.cpp (working copy)
@@ -54,6 +54,8 @@
Q_D(IpV4Widget);
d->ui.setupUi(this);
+ // Not present in NM 0.7.1 as shipped with CODE11
+ d->ui.cbNeverDefault->hide();
QString str_auto;
QString str_auto_only;
Knm::Connection::Type connType = connection->type();
Index: backends/NetworkManager/settings/ipv4dbus.cpp
===================================================================
--- backends/NetworkManager/settings/ipv4dbus.cpp (revision 1051776)
+++ backends/NetworkManager/settings/ipv4dbus.cpp (working copy)
@@ -35,9 +35,9 @@
if (map.contains(QLatin1String(NM_SETTING_IP4_CONFIG_IGNORE_AUTO_ROUTES))) {
setting->setIgnoreautoroute(map.value(QLatin1String(NM_SETTING_IP4_CONFIG_IGNORE_AUTO_ROUTES)).value<bool>());
}
- if (map.contains(QLatin1String(NM_SETTING_IP4_CONFIG_NEVER_DEFAULT))) {
- setting->setNeverdefault(map.value(QLatin1String(NM_SETTING_IP4_CONFIG_NEVER_DEFAULT)).value<bool>());
- }
+//X if (map.contains(QLatin1String(NM_SETTING_IP4_CONFIG_NEVER_DEFAULT))) {
+//X setting->setNeverdefault(map.value(QLatin1String(NM_SETTING_IP4_CONFIG_NEVER_DEFAULT)).value<bool>());
+//X }
if (map.contains(QLatin1String(NM_SETTING_IP4_CONFIG_DHCP_CLIENT_ID))) {
setting->setDhcpclientid(map.value(QLatin1String(NM_SETTING_IP4_CONFIG_DHCP_CLIENT_ID)).value<QString>());
}
@@ -104,7 +104,7 @@
//map.insert(QLatin1String(NM_SETTING_IP4_CONFIG_IGNORE_AUTO_DNS), setting->ignoredhcpdns());
insertIfTrue(map, NM_SETTING_IP4_CONFIG_IGNORE_AUTO_ROUTES, setting->ignoreautoroute());
- insertIfTrue(map, NM_SETTING_IP4_CONFIG_NEVER_DEFAULT, setting->neverdefault());
+ //insertIfTrue(map, NM_SETTING_IP4_CONFIG_NEVER_DEFAULT, setting->neverdefault());
insertIfNonEmpty(map, NM_SETTING_IP4_CONFIG_DHCP_CLIENT_ID, setting->dhcpclientid());
insertIfNonEmpty(map, NM_SETTING_IP4_CONFIG_DHCP_HOSTNAME, setting->dhcphostname());
return map;
++++++ r1047285-doubleclick-other-networks-dialog.diff ++++++
Index: monolithic/otherwirelessnetworkdialog.cpp
===================================================================
--- monolithic/otherwirelessnetworkdialog.cpp (revision 1047284)
+++ monolithic/otherwirelessnetworkdialog.cpp (revision 1047285)
@@ -60,7 +60,7 @@
m_ui.twNetworks->setFirstItemColumnSpanned(m_newAdhocItem, true);
m_newAdhocItem->setIcon(0, SmallIcon("document-new"));
- connect(m_ui.twNetworks, SIGNAL(itemDoubleClicked(QTreeWidgetItem*)), this, SLOT(itemDoubleClicked(QTreeWidgetItem*)));
+ connect(m_ui.twNetworks, SIGNAL(itemDoubleClicked(QTreeWidgetItem*,int)), this, SLOT(itemDoubleClicked(QTreeWidgetItem*)));
connect(m_ui.twNetworks, SIGNAL(itemSelectionChanged()), this, SLOT(itemSelectionChanged()));
}
++++++ r1047562-invalid-timestamps.diff ++++++
Index: libs/internals/connectionpersistence.cpp
===================================================================
--- libs/internals/connectionpersistence.cpp (revision 1047561)
+++ libs/internals/connectionpersistence.cpp (revision 1047562)
@@ -144,7 +144,8 @@
cg.writeEntry("uuid", m_connection->uuid().toString());
cg.writeEntry("type", Connection::typeAsString(m_connection->type()));
cg.writeEntry("autoconnect", m_connection->autoConnect());
- cg.writeEntry("timestamp", m_connection->timestamp());
+ if (m_connection->timestamp().isValid())
+ cg.writeEntry("timestamp", m_connection->timestamp());
cg.writeEntry("icon", m_connection->iconName());
// save each setting
++++++ r1047612-hide-wireless-no-hardware.diff ++++++
Index: monolithic/knetworkmanagertrayicon.cpp
===================================================================
--- monolithic/knetworkmanagertrayicon.cpp (revision 1047611)
+++ monolithic/knetworkmanagertrayicon.cpp (revision 1047612)
@@ -310,7 +310,8 @@
// add the housekeeping actions
contextMenu()->addSeparator();
- if (d->interfaceTypes.testFlag(Solid::Control::NetworkInterface::Ieee80211)) {
+
+ if (!wirelessDeviceUnis.isEmpty() /*TODO Bluetooth too */ && d->interfaceTypes.testFlag(Solid::Control::NetworkInterface::Ieee80211)) {
contextMenu()->addAction(d->flightModeAction);
}
contextMenu()->addAction(d->prefsAction);
++++++ r1047763-update-settings-signal.diff ++++++
Index: backends/NetworkManager/busconnection.h
===================================================================
--- backends/NetworkManager/busconnection.h (revision 1047762)
+++ backends/NetworkManager/busconnection.h (revision 1047763)
@@ -69,7 +69,7 @@
QString uuid() const;
Knm::Connection * connection() const;
Q_SIGNALS:
- Q_SCRIPTABLE void Updated(QMap >);
+ Q_SCRIPTABLE void Updated(const QVariantMapMap &settings);
Q_SCRIPTABLE void Removed();
public Q_SLOTS:
++++++ r1048007-routing-not-accepted.diff ++++++
Index: libs/internals/settings/ipv4.cpp
===================================================================
--- libs/internals/settings/ipv4.cpp (revision 1048006)
+++ libs/internals/settings/ipv4.cpp (revision 1048007)
@@ -7,7 +7,9 @@
Ipv4Setting::Ipv4Setting() : Setting(Setting::Ipv4),
mMethod(Ipv4Setting::EnumMethod::Automatic),
- mIgnoredhcpdns(false)
+ mIgnoredhcpdns(false),
+ mIgnoreautoroute(false),
+ mNeverdefault(false)
{
}
++++++ r1048697-const-iterators.diff ++++++
Index: libs/service/networkinterfaceactivatableprovider.cpp
===================================================================
--- libs/service/networkinterfaceactivatableprovider.cpp (revision 1048696)
+++ libs/service/networkinterfaceactivatableprovider.cpp (revision 1048697)
@@ -178,8 +178,8 @@
void NetworkInterfaceActivatableProvider::handleUpdate(Knm::Connection * updatedConnection)
{
Q_D(NetworkInterfaceActivatableProvider);
- QMultiHash::const_iterator i = d->activatables.find(updatedConnection->uuid());
- while (i != d->activatables.end() && i.key() == updatedConnection->uuid()) {
+ QMultiHash::const_iterator i = d->activatables.constFind(updatedConnection->uuid());
+ while (i != d->activatables.constEnd() && i.key() == updatedConnection->uuid()) {
Knm::InterfaceConnection * ifaceConnection = dynamic_cast(i.value());
if (ifaceConnection) {
Knm::InterfaceConnectionHelpers::syncInterfaceConnection(ifaceConnection, updatedConnection);
Index: libs/ui/editlistdialog.cpp
===================================================================
--- libs/ui/editlistdialog.cpp (revision 1048696)
+++ libs/ui/editlistdialog.cpp (revision 1048697)
@@ -64,7 +64,7 @@
void removeEmptyItems(QStringList &list)
{
QStringList::iterator it = list.begin();
- QStringList::const_iterator end = list.constEnd();
+ const QStringList::iterator end = list.end();
while (it != end) {
if ((*it).trimmed().isEmpty()) {
it = list.erase(it);
++++++ r1049067-vpn-secrets-prompt.diff ++++++
Index: libs/internals/connectionpersistence.cpp
===================================================================
--- libs/internals/connectionpersistence.cpp (revision 1049066)
+++ libs/internals/connectionpersistence.cpp (revision 1049067)
@@ -252,6 +252,7 @@
kDebug() << "Reading all entries for connection";
QMap > entries;
QString key = m_connection->uuid() + QLatin1String("*");
+ bool missingEntry = false;
if (wallet->readMapList(key, entries) == 0) {
foreach (Setting * setting, m_connection->settings()) {
@@ -259,14 +260,23 @@
if (entries.contains(settingKey)) {
QMap settingSecrets = entries.value(settingKey);
+ if (settingSecrets.isEmpty()) {
+ kDebug() << "no secrets found for" << settingKey;
+ missingEntry = true;
+ break;
+ }
kDebug() << settingSecrets;
persistenceFor(setting)->restoreSecrets(settingSecrets);
+ } else if (setting->hasSecrets()) {
+ missingEntry = true;
}
}
kDebug() << "Check connection:";
kDebug() << "secretsAvailable:" << m_connection->secretsAvailable();
-
- emit loadSecretsResult(EnumError::NoError);
+ if (missingEntry)
+ emit loadSecretsResult(EnumError::MissingContents);
+ else
+ emit loadSecretsResult(EnumError::NoError);
} else {
kDebug() << "Wallet::readEntryList for :" << key << " failed";
emit loadSecretsResult(EnumError::MissingContents);
Index: libs/ui/connectionsecretsjob.cpp
===================================================================
--- libs/ui/connectionsecretsjob.cpp (revision 1049066)
+++ libs/ui/connectionsecretsjob.cpp (revision 1049067)
@@ -39,6 +39,7 @@
#include <KDialog>
#include <KLocale>
+#include <KServiceTypeTrader>
#include <KStandardDirs>
#include "802_11_wirelesswidget.h"
@@ -53,8 +54,11 @@
#include "security/securitywidget.h"
#include "security/securitywired8021x.h"
+#include "settings/vpn.h"
+
#include "knmserviceprefs.h"
#include "connection.h"
+#include "vpnuiplugin.h"
ConnectionSecretsJob::ConnectionSecretsJob(Knm::Connection* connection, const QString &settingName,
const QStringList& secrets, bool requestNew, const QDBusMessage& request)
@@ -131,7 +135,20 @@
} else if ( mSettingName == QLatin1String(NM_SETTING_SERIAL_SETTING_NAME)) {
m_settingWidget = new PppWidget(m_connection, 0);
} else if ( mSettingName == QLatin1String(NM_SETTING_VPN_SETTING_NAME)) {
- // not supported yet, figure out the type of the vpn plugin, load it and its m_settingWidgetget
+ // get the type of vpn service
+ QString configFile = KStandardDirs::locate("data",
+ Knm::ConnectionPersistence::CONNECTION_PERSISTENCE_PATH + m_connection->uuid());
+ m_connectionPersistence = new Knm::ConnectionPersistence(m_connection,
+ KSharedConfig::openConfig(configFile, KConfig::NoGlobals),
+ (Knm::ConnectionPersistence::SecretStorageMode)KNetworkManagerServicePrefs::self()->secretStorageMode());
+ m_connectionPersistence->load();
+ Knm::VpnSetting * vpnSetting = static_castKnm::VpnSetting*(m_connection->setting(Knm::Setting::Vpn));
+ // load the plugin and get its setting widget
+ QString error;
+ VpnUiPlugin * uiPlugin = KServiceTypeTrader::createInstanceFromQuery<VpnUiPlugin>( QString::fromLatin1( "NetworkManagement/VpnUiPlugin" ), QString::fromLatin1( "[X-KDE-PluginInfo-Name]=='%1'" ).arg(vpnSetting->pluginName() ), this, QVariantList(), &error );
+ if (uiPlugin && error.isEmpty()) {
+ m_settingWidget= uiPlugin->widget(m_connection, 0);
+ }
} else if ( mSettingName == QLatin1String(NM_SETTING_WIRED_SETTING_NAME)) {
m_settingWidget = new WiredWidget(m_connection, 0);
} else if ( mSettingName == QLatin1String(NM_SETTING_WIRELESS_SECURITY_SETTING_NAME)) {
++++++ r1050511-openvpn-x509-no-password.diff ++++++
Index: vpnplugins/openvpn/openvpnwidget.cpp
===================================================================
--- vpnplugins/openvpn/openvpnwidget.cpp (revision 1050510)
+++ vpnplugins/openvpn/openvpnwidget.cpp (revision 1050511)
@@ -219,6 +219,9 @@
data.insert( NM_OPENVPN_KEY_CA, d->ui.x509CaFile->url().path().toUtf8());
data.insert( NM_OPENVPN_KEY_CERT, d->ui.x509Cert->url().path().toUtf8());
data.insert( NM_OPENVPN_KEY_KEY, d->ui.x509Key->url().path().toUtf8());
+ // The OpenVPM NetworkManager plugin requires that the secrets map be
+ // nonempty, even if there's no real password,
+ secretData.insert(NM_OPENVPN_KEY_NOSECRET, "");
break;
case 1:
contype = NM_OPENVPN_CONTYPE_STATIC_KEY;
++++++ r1050784-activatable-sorting.diff ++++++
Index: libs/service/activatablelist.cpp
===================================================================
--- libs/service/activatablelist.cpp (revision 1050783)
+++ libs/service/activatablelist.cpp (revision 1050784)
@@ -80,16 +80,21 @@
Q_D(ActivatableList);
if (!d->activatables.contains(activatable)) {
addActivatableInternal(activatable);
+ notifyOnAddActivatable(activatable);
}
}
-
void ActivatableList::addActivatableInternal(Knm::Activatable * activatable)
{
Q_D(ActivatableList);
d->activatables.append(activatable);
+ connect(activatable, SIGNAL(changed()), this, SLOT(activatableChanged()));
+}
- connect(activatable, SIGNAL(changed()), this, SLOT(activatableChanged()));
+void ActivatableList::notifyOnAddActivatable(Knm::Activatable * activatable)
+{
+ Q_D(ActivatableList);
+
foreach (ActivatableObserver * observer, d->observers) {
observer->handleAdd(activatable);
}
Index: libs/service/activatablelist.h
===================================================================
--- libs/service/activatablelist.h (revision 1050783)
+++ libs/service/activatablelist.h (revision 1050784)
@@ -61,6 +61,7 @@
void activatableChanged();
protected:
void addActivatableInternal(Knm::Activatable * activatable);
+ void notifyOnAddActivatable(Knm::Activatable * activatable);
ActivatableListPrivate * d_ptr;
};
Index: libs/service/sortedactivatablelist.cpp
===================================================================
--- libs/service/sortedactivatablelist.cpp (revision 1050783)
+++ libs/service/sortedactivatablelist.cpp (revision 1050784)
@@ -92,12 +92,11 @@
// add all vpn connections
if ((iface && (d->types.testFlag(iface->type())))
|| (activatable->activatableType() == Knm::Activatable::VpnInterfaceConnection)) {
-
addActivatableInternal(activatable);
-
+ qSort(d->activatables.begin(), d->activatables.end(), activatableLessThan);
+ notifyOnAddActivatable(activatable);
}
}
- qSort(d->activatables.begin(), d->activatables.end(), activatableLessThan);
}
void SortedActivatableList::handleUpdate(Knm::Activatable *)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org