openSUSE Commits
Threads by month
- ----- 2024 -----
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
September 2014
- 1 participants
- 1675 discussions
Hello community,
here is the log from the commit of package MozillaThunderbird for openSUSE:Factory checked in at 2014-09-17 21:24:31
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/MozillaThunderbird (Old)
and /work/SRC/openSUSE:Factory/.MozillaThunderbird.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "MozillaThunderbird"
Changes:
--------
--- /work/SRC/openSUSE:Factory/MozillaThunderbird/MozillaThunderbird.changes 2014-09-04 07:56:11.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.MozillaThunderbird.new/MozillaThunderbird.changes 2014-09-17 21:24:33.000000000 +0200
@@ -1,0 +2,8 @@
+Tue Sep 9 12:53:41 UTC 2014 - wolfgang(a)rosenauer.org
+
+- update to Thunderbird 31.1.1
+ * Fixed an issue where mailing lists with spaces in their names
+ couldn't be autocompleted (bmo#1060901)
+ * Fixed an occasional startup crash (bmo#1005336)
+
+-------------------------------------------------------------------
Old:
----
l10n-31.1.0.tar.xz
thunderbird-31.1.0-source.tar.xz
New:
----
l10n-31.1.1.tar.xz
thunderbird-31.1.1-source.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ MozillaThunderbird.spec ++++++
--- /var/tmp/diff_new_pack.cwPLBk/_old 2014-09-17 21:24:48.000000000 +0200
+++ /var/tmp/diff_new_pack.cwPLBk/_new 2014-09-17 21:24:48.000000000 +0200
@@ -17,7 +17,7 @@
#
-%define mainversion 31.1.0
+%define mainversion 31.1.1
%define update_channel release
%if %suse_version > 1210
@@ -70,7 +70,7 @@
%endif
Version: %{mainversion}
Release: 0
-%define releasedate 2014082900
+%define releasedate 2014090900
Provides: thunderbird = %{version}
%if %{with_kde}
# this is needed to match this package with the kde4 helper package without the main package
++++++ compare-locales.tar.xz ++++++
++++++ create-tar.sh ++++++
--- /var/tmp/diff_new_pack.cwPLBk/_old 2014-09-17 21:24:48.000000000 +0200
+++ /var/tmp/diff_new_pack.cwPLBk/_new 2014-09-17 21:24:48.000000000 +0200
@@ -2,8 +2,8 @@
CHANNEL="esr31"
BRANCH="releases/comm-$CHANNEL"
-RELEASE_TAG="THUNDERBIRD_31_1_0_RELEASE"
-VERSION="31.1.0"
+RELEASE_TAG="THUNDERBIRD_31_1_1_RELEASE"
+VERSION="31.1.1"
echo "cloning $BRANCH..."
hg clone http://hg.mozilla.org/$BRANCH thunderbird
++++++ l10n-31.1.0.tar.xz -> l10n-31.1.1.tar.xz ++++++
/work/SRC/openSUSE:Factory/MozillaThunderbird/l10n-31.1.0.tar.xz /work/SRC/openSUSE:Factory/.MozillaThunderbird.new/l10n-31.1.1.tar.xz differ: char 25, line 1
++++++ thunderbird-31.1.0-source.tar.xz -> thunderbird-31.1.1-source.tar.xz ++++++
/work/SRC/openSUSE:Factory/MozillaThunderbird/thunderbird-31.1.0-source.tar.xz /work/SRC/openSUSE:Factory/.MozillaThunderbird.new/thunderbird-31.1.1-source.tar.xz differ: char 25, line 1
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package yast2-packager for openSUSE:Factory checked in at 2014-09-17 21:24:30
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/yast2-packager (Old)
and /work/SRC/openSUSE:Factory/.yast2-packager.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "yast2-packager"
Changes:
--------
--- /work/SRC/openSUSE:Factory/yast2-packager/yast2-packager.changes 2014-09-07 11:10:06.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.yast2-packager.new/yast2-packager.changes 2014-09-17 21:24:31.000000000 +0200
@@ -1,0 +2,10 @@
+Thu Sep 11 08:09:16 UTC 2014 - ancor(a)suse.com
+
+- Improved automatic selection of packages for remote
+ administration (VNC) and for installation with remote X11.
+ Fixes bnc#896185 and bnc#895070.
+- Enabled access to those selections from other yast modules.
+ First step to fix bnc#896178.
+- 3.1.47
+
+-------------------------------------------------------------------
Old:
----
yast2-packager-3.1.46.tar.bz2
New:
----
yast2-packager-3.1.47.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ yast2-packager.spec ++++++
--- /var/tmp/diff_new_pack.LG2O1i/_old 2014-09-17 21:24:32.000000000 +0200
+++ /var/tmp/diff_new_pack.LG2O1i/_new 2014-09-17 21:24:32.000000000 +0200
@@ -17,7 +17,7 @@
Name: yast2-packager
-Version: 3.1.46
+Version: 3.1.47
Release: 0
BuildRoot: %{_tmppath}/%{name}-%{version}-build
++++++ yast2-packager-3.1.46.tar.bz2 -> yast2-packager-3.1.47.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-packager-3.1.46/package/yast2-packager.changes new/yast2-packager-3.1.47/package/yast2-packager.changes
--- old/yast2-packager-3.1.46/package/yast2-packager.changes 2014-09-05 17:30:41.000000000 +0200
+++ new/yast2-packager-3.1.47/package/yast2-packager.changes 2014-09-12 11:18:10.000000000 +0200
@@ -1,4 +1,14 @@
-------------------------------------------------------------------
+Thu Sep 11 08:09:16 UTC 2014 - ancor(a)suse.com
+
+- Improved automatic selection of packages for remote
+ administration (VNC) and for installation with remote X11.
+ Fixes bnc#896185 and bnc#895070.
+- Enabled access to those selections from other yast modules.
+ First step to fix bnc#896178.
+- 3.1.47
+
+-------------------------------------------------------------------
Fri Sep 5 14:53:10 UTC 2014 - lslezak(a)suse.cz
- /etc/sysconfig/kernel:INITRD_MODULES has been dropped, do not
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-packager-3.1.46/package/yast2-packager.spec new/yast2-packager-3.1.47/package/yast2-packager.spec
--- old/yast2-packager-3.1.46/package/yast2-packager.spec 2014-09-05 17:30:41.000000000 +0200
+++ new/yast2-packager-3.1.47/package/yast2-packager.spec 2014-09-12 11:18:10.000000000 +0200
@@ -17,7 +17,7 @@
Name: yast2-packager
-Version: 3.1.46
+Version: 3.1.47
Release: 0
BuildRoot: %{_tmppath}/%{name}-%{version}-build
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-packager-3.1.46/src/modules/Packages.rb new/yast2-packager-3.1.47/src/modules/Packages.rb
--- old/yast2-packager-3.1.46/src/modules/Packages.rb 2014-09-05 17:30:41.000000000 +0200
+++ new/yast2-packager-3.1.47/src/modules/Packages.rb 2014-09-12 11:18:11.000000000 +0200
@@ -16,6 +16,12 @@
# All known types of resolvables
RESOLVABLE_TYPES = [:product, :patch, :package, :pattern, :language]
+ # Minimum set of packages required to enable VNC server
+ VNC_BASE_PACKAGES = ["xorg-x11", "xorg-x11-Xvnc", "xorg-x11-fonts", "xinetd"]
+ # Default window manager for VNC if none is installed
+ DEFAULT_WM = "icewm"
+ # Minimum set of packages required for installation with remote X11 server
+ REMOTE_X11_BASE_PACKAGES = [ "xorg-x11-server", "xorg-x11-fonts", "icewm" ]
def main
Yast.import "UI"
@@ -922,7 +928,6 @@
"xorg-x11-server",
"xorg-x11-server-glx",
"libusb",
- "sax2-tools",
"yast2-x11"
]
end
@@ -938,17 +943,9 @@
def modePackages
packages = []
- if Linuxrc.vnc
- packages.concat [ "yast2-qt", "xorg-x11-Xvnc",
- "xorg-x11-fonts", "icewm", "sax2-tools", "yast2-x11", "xinetd" ]
- end
-
+ packages.concat(vnc_packages) if Linuxrc.vnc
#this means we have a remote X server
- if Linuxrc.display_ip
- packages.concat [ "yast2-qt", "xorg-x11-server", "xorg-x11-fonts",
- "icewm", "sax2-tools", "yast2-x11" ]
- end
-
+ packages.concat(remote_x11_packages) if Linuxrc.display_ip
packages << "sbl" if Linuxrc.braille
packages << "openssh" if Linuxrc.usessh
@@ -2549,6 +2546,29 @@
nil
end
+ # List of packages expected to be installed in order to enable
+ # remote administration (VNC)
+ #
+ # @return Array<String>
+ def vnc_packages
+ packages = VNC_BASE_PACKAGES.dup
+ # At least one windowmanager must be installed (#427044)
+ # If none is there, use a fallback
+ packages << DEFAULT_WM unless has_window_manager?
+ packages << "yast2-x11" if Mode.autoinst
+ packages
+ end
+
+ # List of packages expected to be installed in order to use
+ # a remote X11 server
+ #
+ # @return Array<String>
+ def remote_x11_packages
+ packages = REMOTE_X11_BASE_PACKAGES.dup
+ packages << "yast2-x11" if Mode.autoinst
+ packages
+ end
+
private
# Reads product feature defined by parameters, logs what it gets
@@ -2640,6 +2660,8 @@
publish :function => :SelectKernelPackages, :type => "void ()"
publish :function => :default_patterns, :type => "list <string> ()"
publish :function => :log_software_selection, :type => "void ()"
+ publish :function => :vnc_packages, :type => "list <string> ()"
+ publish :function => :remote_x11_packages, :type => "list <string> ()"
private
@@ -2677,6 +2699,13 @@
def kept_products(products)
products.select { |product| product["status"] == :installed }
end
+
+ # Checks if a window manager is installed or selected for installation
+ #
+ # @return [Boolean] true if there is a window manager
+ def has_window_manager?
+ Pkg.IsSelected("windowmanager") || Pkg.IsProvided("windowmanager")
+ end
end
Packages = PackagesClass.new
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-packager-3.1.46/test/packages_test.rb new/yast2-packager-3.1.47/test/packages_test.rb
--- old/yast2-packager-3.1.46/test/packages_test.rb 2014-09-05 17:30:42.000000000 +0200
+++ new/yast2-packager-3.1.47/test/packages_test.rb 2014-09-12 11:18:11.000000000 +0200
@@ -10,6 +10,8 @@
Yast.import "SCR"
Yast.import "Product"
Yast.import "ProductFeatures"
+Yast.import "Linuxrc"
+Yast.import "Pkg"
SCR_STRING_PATH = Yast::Path.new(".target.string")
SCR_BASH_PATH = Yast::Path.new(".target.bash")
@@ -378,4 +380,152 @@
end
end
+ describe "#vnc_packages" do
+ let(:packages) { Yast::Packages.vnc_packages.sort.uniq }
+ let(:base_packages) { ["xinetd", "xorg-x11", "xorg-x11-Xvnc", "xorg-x11-fonts"] }
+ let(:base_packages_and_wm) { ["icewm"] + base_packages }
+
+ context "during installation" do
+ before do
+ allow(Yast::Pkg).to receive(:IsProvided).and_return false
+ allow(Yast::Mode).to receive(:mode).and_return "installation"
+ end
+
+ context "with window manager already selected" do
+ before do
+ allow(Yast::Pkg).to receive(:IsSelected).and_return true
+ end
+
+ it "includes xinetd and xorg" do
+ expect(packages).to eq(base_packages)
+ end
+ end
+
+ context "without window manager selected" do
+ before do
+ allow(Yast::Pkg).to receive(:IsSelected).and_return false
+ end
+
+ it "includes xinetd, xorg and icewm" do
+ expect(packages).to eq(base_packages_and_wm)
+ end
+ end
+ end
+
+ context "during autoinstallation" do
+ before do
+ allow(Yast::Pkg).to receive(:IsProvided).and_return false
+ allow(Yast::Mode).to receive(:mode).and_return "autoinstallation"
+ end
+
+ context "with window manager already selected" do
+ before do
+ allow(Yast::Pkg).to receive(:IsSelected).and_return true
+ end
+
+ it "includes xinetd, xorg and yast2-x11" do
+ expect(packages).to eq(base_packages + ["yast2-x11"])
+ end
+ end
+
+ context "without window manager selected" do
+ before do
+ allow(Yast::Pkg).to receive(:IsSelected).and_return false
+ end
+
+ it "includes xinetd, xorg and icewm" do
+ expect(packages).to eq(base_packages_and_wm + ["yast2-x11"])
+ end
+ end
+ end
+
+ context "in normal mode" do
+ before do
+ allow(Yast::Pkg).to receive(:IsSelected).and_return false
+ allow(Yast::Mode).to receive(:mode).and_return "normal"
+ end
+
+ context "with window manager already installed" do
+ before do
+ allow(Yast::Pkg).to receive(:IsProvided).and_return true
+ end
+
+ it "includes xinetd and xorg" do
+ expect(packages).to eq(base_packages)
+ end
+ end
+
+ context "without window manager installed" do
+ before do
+ allow(Yast::Pkg).to receive(:IsProvided).and_return false
+ end
+
+ it "includes xinetd, xorg and icewm" do
+ expect(packages).to eq(base_packages_and_wm)
+ end
+ end
+ end
+ end
+
+ describe "#modePackages" do
+ before do
+ allow(Yast::Linuxrc).to receive(:vnc).and_return vnc
+ allow(Yast::Linuxrc).to receive(:display_ip).and_return display_ip
+ allow(Yast::Linuxrc).to receive(:braille).and_return braille
+ allow(Yast::Linuxrc).to receive(:usessh).and_return usessh
+ allow(Yast::Mode).to receive(:mode).and_return mode
+ end
+ let(:packages) { Yast::Packages.modePackages.sort.uniq }
+
+ context "on a boring local regular installation" do
+ let(:vnc) { false }
+ let(:display_ip) { false }
+ let(:braille) { false }
+ let(:usessh) { false }
+ let(:mode) { "installation" }
+
+ it "returns an empty array" do
+ expect(packages).to be_empty
+ end
+ end
+
+ context "over ssh with a remote X server" do
+ let(:vnc) { false }
+ let(:display_ip) { true }
+ let(:braille) { false }
+ let(:usessh) { true }
+ let(:xorg_icewm_and_ssh) {
+ ["icewm", "openssh", "xorg-x11-fonts", "xorg-x11-server"]
+ }
+
+ context "during installation" do
+ let(:mode) { "installation" }
+
+ it "includes xorg, icewm and openssh" do
+ expect(packages).to eq(xorg_icewm_and_ssh)
+ end
+ end
+
+ context "during autoinstallation" do
+ let(:mode) { "autoinstallation" }
+
+ it "includes xorg, icewm, openssh and yast2-x11" do
+ expect(packages).to eq(xorg_icewm_and_ssh + ["yast2-x11"])
+ end
+ end
+ end
+
+ context "on vnc installation" do
+ let(:vnc) { true }
+ let(:display_ip) { false }
+ let(:braille) { false }
+ let(:usessh) { false }
+ let(:mode) { "installation" }
+
+ it "relies on #vnc_packages" do
+ expect(Yast::Packages).to receive(:vnc_packages).and_return %w(five names)
+ expect(packages).to eq(%w(five names))
+ end
+ end
+ end
end
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package wicked for openSUSE:Factory checked in at 2014-09-17 21:23:52
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/wicked (Old)
and /work/SRC/openSUSE:Factory/.wicked.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "wicked"
Changes:
--------
--- /work/SRC/openSUSE:Factory/wicked/wicked.changes 2014-09-12 15:25:15.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.wicked.new/wicked.changes 2014-09-17 21:23:54.000000000 +0200
@@ -1,0 +2,26 @@
+Wed Sep 17 11:03:10 UTC 2014 - pwieczorkiewicz(a)suse.com
+
+- version 0.6.9
+- ifstatus: address status reporting improvements, adding --verbose
+ parameter
+- addrconf: correctly fetch lease info flags, disarmed old auto6
+ code, added prerequires (bnc#894885)
+- fsm: Do not destroy schema requirements on rearm
+- ipv6: added accept-ra sysctl support, auto6 code clean-up
+- ifconfig: fixed lease updater allocation
+
+-------------------------------------------------------------------
+Tue Sep 16 03:25:28 UTC 2014 - mt(a)suse.de
+
+- version 0.6.8
+- ifup,reload,status: return setup-in-progress code,
+ fix exit code override when systemd in picture and
+ disable pulling device status from addresses
+- ifstatus: report slaves device as enslaved
+- fixed to not reset master device name on success
+- lower printout of debug messages (bnc#891036)
+- nanny: correctly initialize timeout variable to
+ busy wait instead to wasting cpu using poll with
+ a 0 timeout (bnc#895970)
+
+-------------------------------------------------------------------
Old:
----
wicked-0.6.7.tar.bz2
New:
----
wicked-0.6.9.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ wicked.spec ++++++
--- /var/tmp/diff_new_pack.ANsyeL/_old 2014-09-17 21:23:55.000000000 +0200
+++ /var/tmp/diff_new_pack.ANsyeL/_new 2014-09-17 21:23:55.000000000 +0200
@@ -18,7 +18,7 @@
%define release_prefix %{?snapshot:%{snapshot}}%{!?snapshot:0}
Name: wicked
-Version: 0.6.7
+Version: 0.6.9
Release: %{release_prefix}.0.0
Summary: Network configuration infrastructure
License: GPL-2.0
++++++ wicked-0.6.7.tar.bz2 -> wicked-0.6.9.tar.bz2 ++++++
++++ 3084 lines of diff (skipped)
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package yast2 for openSUSE:Factory checked in at 2014-09-17 21:23:50
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/yast2 (Old)
and /work/SRC/openSUSE:Factory/.yast2.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "yast2"
Changes:
--------
--- /work/SRC/openSUSE:Factory/yast2/yast2.changes 2014-09-07 11:10:08.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.yast2.new/yast2.changes 2014-09-17 21:23:52.000000000 +0200
@@ -1,0 +2,14 @@
+Wed Sep 17 09:16:23 CEST 2014 - schubi(a)suse.de
+
+- Checking nil for repository name. (bnc#896466)
+- 3.1.107
+
+-------------------------------------------------------------------
+Tue Sep 16 12:58:53 UTC 2014 - ancor(a)suse.com
+
+- Added an extra help message when authentication against a
+ registration server fails while refreshing repositories
+ (bnc#895719)
+- 3.1.106
+
+-------------------------------------------------------------------
Old:
----
yast2-3.1.105.tar.bz2
New:
----
yast2-3.1.107.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ yast2.spec ++++++
--- /var/tmp/diff_new_pack.KwR0qT/_old 2014-09-17 21:23:53.000000000 +0200
+++ /var/tmp/diff_new_pack.KwR0qT/_new 2014-09-17 21:23:53.000000000 +0200
@@ -17,7 +17,7 @@
Name: yast2
-Version: 3.1.105
+Version: 3.1.107
Release: 0
Url: https://github.com/yast/yast-yast2
++++++ yast2-3.1.105.tar.bz2 -> yast2-3.1.107.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-3.1.105/library/packages/src/modules/PackageCallbacks.rb new/yast2-3.1.107/library/packages/src/modules/PackageCallbacks.rb
--- old/yast2-3.1.105/library/packages/src/modules/PackageCallbacks.rb 2014-09-06 07:47:23.000000000 +0200
+++ new/yast2-3.1.107/library/packages/src/modules/PackageCallbacks.rb 2014-09-17 09:31:10.000000000 +0200
@@ -32,6 +32,7 @@
# $Id$
#
require "yast"
+require "uri"
module Yast
class PackageCallbacksClass < Module
@@ -2538,6 +2539,23 @@
def Authentication(url, msg, username, password)
+
+ # FIXME after SLE12 release
+ # The following 'if' block is a workaround for bnc#895719 that should be
+ # extracted to a proper private method (not sure if it will work as
+ # expected being a callback) and adapted to use normal _() instead of
+ # dgettext()
+ url_query = URI(url).query
+ if url_query
+ url_params = Hash[URI.decode_www_form(url_query)]
+ if url_params.has_key?("credentials")
+ # Seems to be the url of a registration server, so add the tip to msg
+ tip = Builtins.dgettext("registration",
+ "Check that this system is known to the registration server.")
+ msg = "#{tip}\n#{msg}"
+ end
+ end
+
popup = VBox(
HSpacing(50), # enforce width
VSpacing(0.1),
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-3.1.105/library/packages/src/modules/SignatureCheckDialogs.rb new/yast2-3.1.107/library/packages/src/modules/SignatureCheckDialogs.rb
--- old/yast2-3.1.105/library/packages/src/modules/SignatureCheckDialogs.rb 2014-09-06 07:47:23.000000000 +0200
+++ new/yast2-3.1.107/library/packages/src/modules/SignatureCheckDialogs.rb 2014-09-17 09:31:10.000000000 +0200
@@ -974,7 +974,7 @@
"(%2):"
),
Ops.get_locale(repo, "name", _("Unknown")),
- repo["url"] ? repo["url"].scan(/.{1,59}/).join("\n") :
+ repo && repo["url"] ? repo["url"].scan(/.{1,59}/).join("\n") :
_("Unknown")
)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-3.1.105/package/yast2.changes new/yast2-3.1.107/package/yast2.changes
--- old/yast2-3.1.105/package/yast2.changes 2014-09-06 07:47:23.000000000 +0200
+++ new/yast2-3.1.107/package/yast2.changes 2014-09-17 09:31:10.000000000 +0200
@@ -1,4 +1,18 @@
-------------------------------------------------------------------
+Wed Sep 17 09:16:23 CEST 2014 - schubi(a)suse.de
+
+- Checking nil for repository name. (bnc#896466)
+- 3.1.107
+
+-------------------------------------------------------------------
+Tue Sep 16 12:58:53 UTC 2014 - ancor(a)suse.com
+
+- Added an extra help message when authentication against a
+ registration server fails while refreshing repositories
+ (bnc#895719)
+- 3.1.106
+
+-------------------------------------------------------------------
Fri Sep 5 14:32:23 UTC 2014 - lslezak(a)suse.cz
- do not write /etc/sysconfig/kernel:INITRD_MODULES, it has been
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-3.1.105/package/yast2.spec new/yast2-3.1.107/package/yast2.spec
--- old/yast2-3.1.105/package/yast2.spec 2014-09-06 07:47:23.000000000 +0200
+++ new/yast2-3.1.107/package/yast2.spec 2014-09-17 09:31:10.000000000 +0200
@@ -17,7 +17,7 @@
Name: yast2
-Version: 3.1.105
+Version: 3.1.107
Release: 0
URL: https://github.com/yast/yast-yast2
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package dbus-1 for openSUSE:Factory checked in at 2014-09-17 21:23:49
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/dbus-1 (Old)
and /work/SRC/openSUSE:Factory/.dbus-1.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "dbus-1"
Changes:
--------
--- /work/SRC/openSUSE:Factory/dbus-1/dbus-1-x11.changes 2014-07-27 08:25:39.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.dbus-1.new/dbus-1-x11.changes 2014-09-17 21:23:50.000000000 +0200
@@ -1,0 +2,46 @@
+Tue Sep 16 16:21:06 UTC 2014 - fstrba(a)suse.com
+
+- Update to 1.8.8:
+ + Security fixes:
+ - Do not accept an extra fd in the padding of a cmsg message,
+ which could lead to a 4-byte heap buffer overrun. (CVE-2014-3635,
+ fdo#83622, bnc#896453; Simon McVittie)
+ - Reduce default for maximum Unix file descriptors passed per
+ message from 1024 to 16, preventing a uid with the default maximum
+ number of connections from exhausting the system bus' file
+ descriptors under Linux's default rlimit. Distributors or system
+ administrators with a more restrictive fd limit may wish to reduce
+ these limits further.
+ Additionally, on Linux this prevents a second denial of service
+ in which the dbus-daemon can be made to exceed the maximum number
+ of fds per sendmsg() and disconnect the process that would have
+ received them. (CVE-2014-3636, fdo#82820, bnc#896453; Alban Crequy)
+ - Disconnect connections that still have a fd pending unmarshalling
+ after a new configurable limit, pending_fd_timeout (defaulting to
+ 150 seconds), removing the possibility of creating an abusive
+ connection that cannot be disconnected by setting up a circular
+ reference to a connection's file descriptor. (CVE-2014-3637,
+ fdo#80559, bnc#896453; Alban Crequy)
+ - Reduce default for maximum pending replies per connection from
+ 8192 to 128, mitigating an algorithmic complexity
+ denial-of-service attack (CVE-2014-3638, fdo#81053, bnc#896453;
+ Alban Crequy)
+ - Reduce default for authentication timeout on the system bus from
+ 30 seconds to 5 seconds, avoiding denial of service by using up
+ all unauthenticated connection slots; and when all unauthenticated
+ connection slots are used up, make new connection attempts block
+ instead of disconnecting them. (CVE-2014-3639, fdo#80919,
+ bnc#896453; Alban Crequy)
+ + Other fixes:
+ - Check for libsystemd from systemd >= 209, falling back to the
+ older separate libraries if not found (Umut Tezduyar Lindskog,
+ Simon McVittie)
+ - On Linux, use prctl() to disable core dumps from a test executable
+ that deliberately raises SIGSEGV to test dbus-daemon's handling
+ of that condition (fdo#83772, Simon McVittie)
+ - Fix compilation with --enable-stats (fdo#81043, Gentoo #507232;
+ Alban Crequy)
+ - Improve documentation for running tests on Windows (fdo#41252,
+ Ralf Habacker)
+
+-------------------------------------------------------------------
@@ -19 +65 @@
- - On Linux ≥ 2.6.37-rc4, if sendmsg() fails with ETOOMANYREFS,
+ - On Linux >= 2.6.37-rc4, if sendmsg() fails with ETOOMANYREFS,
dbus-1.changes: same change
Old:
----
dbus-1.8.6.tar.gz
New:
----
dbus-1.8.8.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ dbus-1-x11.spec ++++++
--- /var/tmp/diff_new_pack.LfTtZy/_old 2014-09-17 21:23:51.000000000 +0200
+++ /var/tmp/diff_new_pack.LfTtZy/_new 2014-09-17 21:23:51.000000000 +0200
@@ -46,7 +46,7 @@
BuildRequires: libexpat-devel
BuildRequires: libtool
BuildRequires: pkg-config
-Version: 1.8.6
+Version: 1.8.8
Release: 0
#
Source0: http://dbus.freedesktop.org/releases/dbus/%{_name}-%{version}.tar.gz
dbus-1.spec: same change
++++++ dbus-1.8.6.tar.gz -> dbus-1.8.8.tar.gz ++++++
++++ 1909 lines of diff (skipped)
++++ retrying with extended exclude list
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/dbus-1.8.6/NEWS new/dbus-1.8.8/NEWS
--- old/dbus-1.8.6/NEWS 2014-06-30 15:17:34.000000000 +0200
+++ new/dbus-1.8.8/NEWS 2014-09-15 13:42:33.000000000 +0200
@@ -1,3 +1,60 @@
+D-Bus 1.8.8 (2014-09-16)
+==
+
+The "smashy smashy egg man" release.
+
+Security fixes:
+
+• Do not accept an extra fd in the padding of a cmsg message, which
+ could lead to a 4-byte heap buffer overrun.
+ (CVE-2014-3635, fd.o #83622; Simon McVittie)
+
+• Reduce default for maximum Unix file descriptors passed per message
+ from 1024 to 16, preventing a uid with the default maximum number of
+ connections from exhausting the system bus' file descriptors under
+ Linux's default rlimit. Distributors or system administrators with a
+ more restrictive fd limit may wish to reduce these limits further.
+
+ Additionally, on Linux this prevents a second denial of service
+ in which the dbus-daemon can be made to exceed the maximum number
+ of fds per sendmsg() and disconnect the process that would have
+ received them.
+ (CVE-2014-3636, fd.o #82820; Alban Crequy)
+
+• Disconnect connections that still have a fd pending unmarshalling after
+ a new configurable limit, pending_fd_timeout (defaulting to 150 seconds),
+ removing the possibility of creating an abusive connection that cannot be
+ disconnected by setting up a circular reference to a connection's
+ file descriptor.
+ (CVE-2014-3637, fd.o #80559; Alban Crequy)
+
+• Reduce default for maximum pending replies per connection from 8192 to 128,
+ mitigating an algorithmic complexity denial-of-service attack
+ (CVE-2014-3638, fd.o #81053; Alban Crequy)
+
+• Reduce default for authentication timeout on the system bus from
+ 30 seconds to 5 seconds, avoiding denial of service by using up
+ all unauthenticated connection slots; and when all unauthenticated
+ connection slots are used up, make new connection attempts block
+ instead of disconnecting them.
+ (CVE-2014-3639, fd.o #80919; Alban Crequy)
+
+Other fixes:
+
+• Check for libsystemd from systemd >= 209, falling back to
+ the older separate libraries if not found (Umut Tezduyar Lindskog,
+ Simon McVittie)
+
+• On Linux, use prctl() to disable core dumps from a test executable
+ that deliberately raises SIGSEGV to test dbus-daemon's handling
+ of that condition (fd.o #83772, Simon McVittie)
+
+• Fix compilation with --enable-stats (fd.o #81043, Gentoo #507232;
+ Alban Crequy)
+
+• Improve documentation for running tests on Windows (fd.o #41252,
+ Ralf Habacker)
+
D-Bus 1.8.6 (2014-06-02)
==
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/dbus-1.8.6/README.win new/dbus-1.8.8/README.win
--- old/dbus-1.8.6/README.win 2014-01-25 13:39:24.000000000 +0100
+++ new/dbus-1.8.8/README.win 2014-09-09 20:51:47.000000000 +0200
@@ -13,7 +13,7 @@
Supported compilers
-------------------
-On windows Microsoft Visual Studio 2010 (Express and professional variants)
+On windows Microsoft Visual Studio 2010 (Express and professional variants)
and mingw-w64|32 are known to work.
Building
@@ -30,14 +30,19 @@
Tests
-----
+ - run complete test suite
+ make check
+ or
+ ctest [-V]
+
- dbus library check
- bin\test-dbus.exe <build-root>\test\data
+ ctest [-V] -R test-dbus
- bus daemon check
- bin\test-bus.exe <build-root>\test\data
+ ctest [-V] -R test-bus
- check available names
- bin\test_names.exe
+ ctest [-V] -R test-names
- check if dbus-daemon is accessable
bin\dbus-send.exe --session --type=method_call --print-reply --dest=org.freedesktop.DBus / org.freedesktop.DBus.ListNames method return sender=org.freedesktop.DBus -> dest=:1.4 array [ string "org.freedesktop.DBus"string ":1.4"]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/dbus-1.8.6/bus/bus.c new/dbus-1.8.8/bus/bus.c
--- old/dbus-1.8.6/bus/bus.c 2014-01-25 13:39:24.000000000 +0100
+++ new/dbus-1.8.8/bus/bus.c 2014-09-15 13:29:28.000000000 +0200
@@ -39,6 +39,7 @@
#include <dbus/dbus-hash.h>
#include <dbus/dbus-credentials.h>
#include <dbus/dbus-internals.h>
+#include <dbus/dbus-server-protected.h>
#ifdef DBUS_CYGWIN
#include <signal.h>
@@ -68,6 +69,7 @@
unsigned int keep_umask : 1;
unsigned int allow_anonymous : 1;
unsigned int systemd_activation : 1;
+ dbus_bool_t watches_enabled;
};
static dbus_int32_t server_data_slot = -1;
@@ -758,6 +760,8 @@
goto failed;
}
+ context->watches_enabled = TRUE;
+
context->registry = bus_registry_new (context);
if (context->registry == NULL)
{
@@ -1237,6 +1241,12 @@
}
int
+bus_context_get_pending_fd_timeout (BusContext *context)
+{
+ return context->limits.pending_fd_timeout;
+}
+
+int
bus_context_get_max_completed_connections (BusContext *context)
{
return context->limits.max_completed_connections;
@@ -1658,3 +1668,36 @@
_dbus_verbose ("security policy allowing message\n");
return TRUE;
}
+
+void
+bus_context_check_all_watches (BusContext *context)
+{
+ DBusList *link;
+ dbus_bool_t enabled = TRUE;
+
+ if (bus_connections_get_n_incomplete (context->connections) >=
+ bus_context_get_max_incomplete_connections (context))
+ {
+ enabled = FALSE;
+ }
+
+ if (context->watches_enabled == enabled)
+ return;
+
+ context->watches_enabled = enabled;
+
+ for (link = _dbus_list_get_first_link (&context->servers);
+ link != NULL;
+ link = _dbus_list_get_next_link (&context->servers, link))
+ {
+ /* A BusContext might contains several DBusServer (if there are
+ * several <listen> configuration items) and a DBusServer might
+ * contain several DBusWatch in its DBusWatchList (if getaddrinfo
+ * returns several addresses on a dual IPv4-IPv6 stack or if
+ * systemd passes several fds).
+ * We want to enable/disable them all.
+ */
+ DBusServer *server = link->data;
+ _dbus_server_toggle_all_watches (server, enabled);
+ }
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/dbus-1.8.6/bus/bus.h new/dbus-1.8.8/bus/bus.h
--- old/dbus-1.8.6/bus/bus.h 2014-01-25 13:39:24.000000000 +0100
+++ new/dbus-1.8.8/bus/bus.h 2014-09-15 13:29:28.000000000 +0200
@@ -54,6 +54,7 @@
long max_message_unix_fds; /**< Max number of unix fds of a single message*/
int activation_timeout; /**< How long to wait for an activation to time out */
int auth_timeout; /**< How long to wait for an authentication to time out */
+ int pending_fd_timeout; /**< How long to wait for a D-Bus message with a fd to time out */
int max_completed_connections; /**< Max number of authorized connections */
int max_incomplete_connections; /**< Max number of incomplete connections */
int max_connections_per_user; /**< Max number of connections auth'd as same user */
@@ -106,6 +107,7 @@
DBusError *error);
int bus_context_get_activation_timeout (BusContext *context);
int bus_context_get_auth_timeout (BusContext *context);
+int bus_context_get_pending_fd_timeout (BusContext *context);
int bus_context_get_max_completed_connections (BusContext *context);
int bus_context_get_max_incomplete_connections (BusContext *context);
int bus_context_get_max_connections_per_user (BusContext *context);
@@ -125,5 +127,6 @@
DBusConnection *proposed_recipient,
DBusMessage *message,
DBusError *error);
+void bus_context_check_all_watches (BusContext *context);
#endif /* BUS_BUS_H */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/dbus-1.8.6/bus/config-parser.c new/dbus-1.8.8/bus/config-parser.c
--- old/dbus-1.8.6/bus/config-parser.c 2014-01-25 13:39:24.000000000 +0100
+++ new/dbus-1.8.8/bus/config-parser.c 2014-09-15 13:29:28.000000000 +0200
@@ -438,7 +438,12 @@
* and legitimate auth will fail. If interactive auth (ask user for
* password) is allowed, then potentially it has to be quite long.
*/
- parser->limits.auth_timeout = 30000; /* 30 seconds */
+ parser->limits.auth_timeout = 5000; /* 5 seconds */
+
+ /* Do not allow a fd to stay forever in dbus-daemon
+ * https://bugs.freedesktop.org/show_bug.cgi?id=80559
+ */
+ parser->limits.pending_fd_timeout = 150000; /* 2.5 minutes */
parser->limits.max_incomplete_connections = 64;
parser->limits.max_connections_per_user = 256;
@@ -467,7 +472,7 @@
/* this is effectively a limit on message queue size for messages
* that require a reply
*/
- parser->limits.max_replies_per_connection = 1024*8;
+ parser->limits.max_replies_per_connection = 128;
}
parser->refcount = 1;
@@ -1902,6 +1907,12 @@
must_be_int = TRUE;
parser->limits.auth_timeout = value;
}
+ else if (strcmp (name, "pending_fd_timeout") == 0)
+ {
+ must_be_positive = TRUE;
+ must_be_int = TRUE;
+ parser->limits.pending_fd_timeout = value;
+ }
else if (strcmp (name, "reply_timeout") == 0)
{
must_be_positive = TRUE;
@@ -3108,6 +3119,7 @@
|| a->max_message_unix_fds == b->max_message_unix_fds
|| a->activation_timeout == b->activation_timeout
|| a->auth_timeout == b->auth_timeout
+ || a->pending_fd_timeout == b->pending_fd_timeout
|| a->max_completed_connections == b->max_completed_connections
|| a->max_incomplete_connections == b->max_incomplete_connections
|| a->max_connections_per_user == b->max_connections_per_user
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/dbus-1.8.6/bus/connection.c new/dbus-1.8.8/bus/connection.c
--- old/dbus-1.8.6/bus/connection.c 2014-01-25 13:39:24.000000000 +0100
+++ new/dbus-1.8.8/bus/connection.c 2014-09-15 13:30:32.000000000 +0200
@@ -33,6 +33,7 @@
#include <dbus/dbus-list.h>
#include <dbus/dbus-hash.h>
#include <dbus/dbus-timeout.h>
+#include <dbus/dbus-connection-internal.h>
/* Trim executed commands to this length; we want to keep logs readable */
#define MAX_LOG_COMMAND_LEN 50
@@ -102,6 +103,8 @@
int peak_match_rules;
int peak_bus_names;
#endif
+ int n_pending_unix_fds;
+ DBusTimeout *pending_unix_fds_timeout;
} BusConnectionData;
static dbus_bool_t bus_pending_reply_expired (BusExpireList *list,
@@ -268,6 +271,15 @@
dbus_connection_set_dispatch_status_function (connection,
NULL, NULL, NULL);
+
+ if (d->pending_unix_fds_timeout)
+ {
+ _dbus_loop_remove_timeout (bus_context_get_loop (d->connections->context),
+ d->pending_unix_fds_timeout);
+ _dbus_timeout_unref (d->pending_unix_fds_timeout);
+ }
+ d->pending_unix_fds_timeout = NULL;
+ _dbus_connection_set_pending_fds_function (connection, NULL, NULL);
bus_connection_remove_transactions (connection);
@@ -293,6 +305,10 @@
_dbus_list_remove_link (&d->connections->incomplete, d->link_in_connection_list);
d->link_in_connection_list = NULL;
d->connections->n_incomplete -= 1;
+
+ /* If we have dropped below the max. number of incomplete
+ * connections, start accept()ing again */
+ bus_context_check_all_watches (d->connections->context);
}
_dbus_assert (d->connections->n_incomplete >= 0);
@@ -588,6 +604,42 @@
return FALSE;
}
+static void
+check_pending_fds_cb (DBusConnection *connection)
+{
+ BusConnectionData *d = BUS_CONNECTION_DATA (connection);
+ int n_pending_unix_fds_old = d->n_pending_unix_fds;
+ int n_pending_unix_fds_new;
+
+ n_pending_unix_fds_new = _dbus_connection_get_pending_fds_count (connection);
+
+ _dbus_verbose ("Pending fds count changed on connection %p: %d -> %d\n",
+ connection, n_pending_unix_fds_old, n_pending_unix_fds_new);
+
+ if (n_pending_unix_fds_old == 0 && n_pending_unix_fds_new > 0)
+ {
+ _dbus_timeout_set_interval (d->pending_unix_fds_timeout,
+ bus_context_get_pending_fd_timeout (d->connections->context));
+ _dbus_timeout_set_enabled (d->pending_unix_fds_timeout, TRUE);
+ }
+
+ if (n_pending_unix_fds_old > 0 && n_pending_unix_fds_new == 0)
+ {
+ _dbus_timeout_set_enabled (d->pending_unix_fds_timeout, FALSE);
+ }
+
+
+ d->n_pending_unix_fds = n_pending_unix_fds_new;
+}
+
+static dbus_bool_t
+pending_unix_fds_timeout_cb (void *data)
+{
+ DBusConnection *connection = data;
+ dbus_connection_close (connection);
+ return TRUE;
+}
+
dbus_bool_t
bus_connections_setup_connection (BusConnections *connections,
DBusConnection *connection)
@@ -683,36 +735,38 @@
}
}
+ /* Setup pending fds timeout (see #80559) */
+ d->pending_unix_fds_timeout = _dbus_timeout_new (100, /* irrelevant */
+ pending_unix_fds_timeout_cb,
+ connection, NULL);
+ if (d->pending_unix_fds_timeout == NULL)
+ goto out;
+
+ _dbus_timeout_set_enabled (d->pending_unix_fds_timeout, FALSE);
+ if (!_dbus_loop_add_timeout (bus_context_get_loop (connections->context),
+ d->pending_unix_fds_timeout))
+ goto out;
+
+ _dbus_connection_set_pending_fds_function (connection,
+ (DBusPendingFdsChangeFunction) check_pending_fds_cb,
+ connection);
+
_dbus_list_append_link (&connections->incomplete, d->link_in_connection_list);
connections->n_incomplete += 1;
dbus_connection_ref (connection);
- /* Note that we might disconnect ourselves here, but it only takes
- * effect on return to the main loop. We call this to free up
- * expired connections if possible, and to queue the timeout for our
- * own expiration.
- */
bus_connections_expire_incomplete (connections);
- /* And we might also disconnect ourselves here, but again it
- * only takes effect on return to main loop.
- */
- if (connections->n_incomplete >
- bus_context_get_max_incomplete_connections (connections->context))
- {
- _dbus_verbose ("Number of incomplete connections exceeds max, dropping oldest one\n");
-
- _dbus_assert (connections->incomplete != NULL);
- /* Disconnect the oldest unauthenticated connection. FIXME
- * would it be more secure to drop a *random* connection? This
- * algorithm seems to mean that if someone can create new
- * connections quickly enough, they can keep anyone else from
- * completing authentication. But random may or may not really
- * help with that, a more elaborate solution might be required.
- */
- dbus_connection_close (connections->incomplete->data);
- }
+ /* The listening socket is removed from the main loop,
+ * i.e. does not accept(), while n_incomplete is at its
+ * maximum value; so we shouldn't get here in that case */
+ _dbus_assert (connections->n_incomplete <=
+ bus_context_get_max_incomplete_connections (connections->context));
+
+ /* If we have the maximum number of incomplete connections,
+ * stop accept()ing any more, to avert a DoS. See fd.o #80919 */
+ bus_context_check_all_watches (d->connections->context);
retval = TRUE;
@@ -744,6 +798,13 @@
dbus_connection_set_dispatch_status_function (connection,
NULL, NULL, NULL);
+ if (d->pending_unix_fds_timeout)
+ _dbus_timeout_unref (d->pending_unix_fds_timeout);
+
+ d->pending_unix_fds_timeout = NULL;
+
+ _dbus_connection_set_pending_fds_function (connection, NULL, NULL);
+
if (d->link_in_connection_list != NULL)
{
_dbus_assert (d->link_in_connection_list->next == NULL);
@@ -1419,6 +1480,10 @@
_dbus_assert (d->connections->n_incomplete >= 0);
_dbus_assert (d->connections->n_completed > 0);
+ /* If we have dropped below the max. number of incomplete
+ * connections, start accept()ing again */
+ bus_context_check_all_watches (d->connections->context);
+
/* See if we can remove the timeout */
bus_connections_expire_incomplete (d->connections);
@@ -2348,7 +2413,6 @@
return TRUE;
}
-#ifdef DBUS_ENABLE_STATS
int
bus_connections_get_n_active (BusConnections *connections)
{
@@ -2361,6 +2425,7 @@
return connections->n_incomplete;
}
+#ifdef DBUS_ENABLE_STATS
int
bus_connections_get_total_match_rules (BusConnections *connections)
{
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/dbus-1.8.6/bus/connection.h new/dbus-1.8.8/bus/connection.h
--- old/dbus-1.8.6/bus/connection.h 2014-01-25 13:39:24.000000000 +0100
+++ new/dbus-1.8.8/bus/connection.h 2014-09-15 13:28:36.000000000 +0200
@@ -139,9 +139,10 @@
void *data,
DBusFreeFunction free_data_function);
-/* called by stats.c, only present if DBUS_ENABLE_STATS */
int bus_connections_get_n_active (BusConnections *connections);
int bus_connections_get_n_incomplete (BusConnections *connections);
+
+/* called by stats.c, only present if DBUS_ENABLE_STATS */
int bus_connections_get_total_match_rules (BusConnections *connections);
int bus_connections_get_peak_match_rules (BusConnections *connections);
int bus_connections_get_peak_match_rules_per_conn (BusConnections *connections);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/dbus-1.8.6/bus/session.conf.in new/dbus-1.8.8/bus/session.conf.in
--- old/dbus-1.8.6/bus/session.conf.in 2014-01-25 13:39:24.000000000 +0100
+++ new/dbus-1.8.8/bus/session.conf.in 2014-09-15 13:29:28.000000000 +0200
@@ -49,9 +49,11 @@
<limit name="max_outgoing_bytes">1000000000</limit>
<limit name="max_outgoing_unix_fds">250000000</limit>
<limit name="max_message_size">1000000000</limit>
- <limit name="max_message_unix_fds">@DEFAULT_MESSAGE_UNIX_FDS@</limit>
+ <!-- We do not override max_message_unix_fds here since the in-kernel
+ limit is also relatively low -->
<limit name="service_start_timeout">120000</limit>
<limit name="auth_timeout">240000</limit>
+ <limit name="pending_fd_timeout">150000</limit>
<limit name="max_completed_connections">100000</limit>
<limit name="max_incomplete_connections">10000</limit>
<limit name="max_connections_per_user">100000</limit>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/dbus-1.8.6/bus/stats.c new/dbus-1.8.8/bus/stats.c
--- old/dbus-1.8.6/bus/stats.c 2014-01-25 13:39:25.000000000 +0100
+++ new/dbus-1.8.8/bus/stats.c 2014-09-04 16:42:01.000000000 +0200
@@ -40,6 +40,7 @@
DBusMessage *message,
DBusError *error)
{
+ BusContext *context;
BusConnections *connections;
DBusMessage *reply = NULL;
DBusMessageIter iter, arr_iter;
@@ -48,7 +49,8 @@
_DBUS_ASSERT_ERROR_IS_CLEAR (error);
- connections = bus_context_get_connections (transaction->context);
+ context = bus_transaction_get_context (transaction);
+ connections = bus_context_get_connections (context);
reply = _dbus_asv_new_method_return (message, &iter, &arr_iter);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/dbus-1.8.6/cmake/CMakeLists.txt new/dbus-1.8.8/cmake/CMakeLists.txt
--- old/dbus-1.8.6/cmake/CMakeLists.txt 2014-03-03 16:41:30.000000000 +0100
+++ new/dbus-1.8.8/cmake/CMakeLists.txt 2014-09-15 13:27:24.000000000 +0200
@@ -417,10 +417,6 @@
set (DBUS_USER )
-# In Autotools this has a different default on QNX, but there seems little
-# point in replicating that here; if you're on an unusual Unix, use Autotools.
-set (DEFAULT_MESSAGE_UNIX_FDS 1024)
-
# This won't work on Windows. It's not meant to - the system bus is
# meaningless on Windows anyway.
#
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/dbus-1.8.6/cmake/config.h.cmake new/dbus-1.8.8/cmake/config.h.cmake
--- old/dbus-1.8.6/cmake/config.h.cmake 2014-03-03 16:41:30.000000000 +0100
+++ new/dbus-1.8.8/cmake/config.h.cmake 2014-09-15 13:27:24.000000000 +0200
@@ -82,8 +82,6 @@
# define DBUS_ENABLE_X11_AUTOLAUNCH 1
#endif
-#define DBUS_DEFAULT_MESSAGE_UNIX_FDS @DEFAULT_MESSAGE_UNIX_FDS@
-
#define _DBUS_VA_COPY_ASSIGN(a1,a2) { a1 = a2; }
#cmakedefine DBUS_VA_COPY_FUNC
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/dbus-1.8.6/config.h.in new/dbus-1.8.8/config.h.in
--- old/dbus-1.8.6/config.h.in 2014-06-30 15:24:27.000000000 +0200
+++ new/dbus-1.8.8/config.h.in 2014-09-15 13:47:02.000000000 +0200
@@ -39,9 +39,6 @@
/* Directory for installing DBUS data files */
#undef DBUS_DATADIR
-/* Default for dbus_connection_get_max_message_unix_fds() */
-#undef DBUS_DEFAULT_MESSAGE_UNIX_FDS
-
/* Disable assertion checking */
#undef DBUS_DISABLE_ASSERT
@@ -269,6 +266,12 @@
/* Have POSIX function getpwnam_r */
#undef HAVE_POSIX_GETPWNAM_R
+/* Define to 1 if you have the `prctl' function. */
+#undef HAVE_PRCTL
+
+/* Define to 1 if you have the `raise' function. */
+#undef HAVE_RAISE
+
/* SELinux support */
#undef HAVE_SELINUX
@@ -317,6 +320,9 @@
/* Define to 1 if you have the <sys/inotify.h> header file. */
#undef HAVE_SYS_INOTIFY_H
+/* Define to 1 if you have the <sys/prctl.h> header file. */
+#undef HAVE_SYS_PRCTL_H
+
/* Define to 1 if you have the <sys/resource.h> header file. */
#undef HAVE_SYS_RESOURCE_H
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/dbus-1.8.6/configure.ac new/dbus-1.8.8/configure.ac
--- old/dbus-1.8.6/configure.ac 2014-06-30 15:17:56.000000000 +0200
+++ new/dbus-1.8.8/configure.ac 2014-09-15 13:42:50.000000000 +0200
@@ -3,7 +3,7 @@
m4_define([dbus_major_version], [1])
m4_define([dbus_minor_version], [8])
-m4_define([dbus_micro_version], [6])
+m4_define([dbus_micro_version], [8])
m4_define([dbus_version],
[dbus_major_version.dbus_minor_version.dbus_micro_version])
AC_INIT([dbus],[dbus_version],[https://bugs.freedesktop.org/enter_bug.cgi?p…
@@ -37,7 +37,7 @@
## increment any time the source changes; set to
## 0 if you increment CURRENT
-LT_REVISION=6
+LT_REVISION=7
## increment if any interfaces have been added; set to 0
## if any interfaces have been changed or removed. removal has
@@ -598,6 +598,10 @@
AC_CHECK_DECLS([LOG_PERROR], [], [], [[#include <syslog.h>]])
fi
+# For test-segfault.c
+AC_CHECK_HEADERS_ONCE([sys/prctl.h])
+AC_CHECK_FUNCS_ONCE([prctl raise])
+
#### Check for broken poll; taken from Glib's configure
AC_MSG_CHECKING([for broken poll])
@@ -1143,10 +1147,13 @@
if test x$enable_systemd = xno ; then
have_systemd=no;
else
- PKG_CHECK_MODULES(SYSTEMD,
- [libsystemd-login >= 32, libsystemd-daemon >= 32, libsystemd-journal >= 32],
- have_systemd=yes,
- have_systemd=no)
+ PKG_CHECK_MODULES([SYSTEMD],
+ [libsystemd >= 209],
+ [have_systemd=yes],
+ [PKG_CHECK_MODULES([SYSTEMD],
+ [libsystemd-login >= 32, libsystemd-daemon >= 32, libsystemd-journal >= 32],
+ [have_systemd=yes],
+ [have_systemd=no])])
fi
if test x$have_systemd = xyes; then
@@ -1235,17 +1242,6 @@
AC_DEFINE([WITH_VALGRIND], [1], [Define to add Valgrind instrumentation])
fi
-# Determine maximum number of Unix fds which may be passed
-AS_CASE([$host_os],
- [*qnx*],
- [DEFAULT_MESSAGE_UNIX_FDS=256],
- [*],
- [DEFAULT_MESSAGE_UNIX_FDS=1024])
-AC_DEFINE_UNQUOTED([DBUS_DEFAULT_MESSAGE_UNIX_FDS],
- [$DEFAULT_MESSAGE_UNIX_FDS],
- [Default for dbus_connection_get_max_message_unix_fds()])
-AC_SUBST([DEFAULT_MESSAGE_UNIX_FDS])
-
#### Set up final flags
LIBDBUS_LIBS="$THREAD_LIBS $NETWORK_libs"
AC_SUBST([LIBDBUS_LIBS])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/dbus-1.8.6/dbus/dbus-connection-internal.h new/dbus-1.8.8/dbus/dbus-connection-internal.h
--- old/dbus-1.8.6/dbus/dbus-connection-internal.h 2014-01-25 13:39:25.000000000 +0100
+++ new/dbus-1.8.8/dbus/dbus-connection-internal.h 2014-09-15 13:30:29.000000000 +0200
@@ -44,6 +44,8 @@
/** default timeout value when waiting for a message reply, 25 seconds */
#define _DBUS_DEFAULT_TIMEOUT_VALUE (25 * 1000)
+typedef void (* DBusPendingFdsChangeFunction) (void *data);
+
void _dbus_connection_lock (DBusConnection *connection);
void _dbus_connection_unlock (DBusConnection *connection);
DBusConnection * _dbus_connection_ref_unlocked (DBusConnection *connection);
@@ -100,6 +102,10 @@
DBusMutex **io_path_mutex_loc,
DBusCondVar **dispatch_cond_loc,
DBusCondVar **io_path_cond_loc);
+int _dbus_connection_get_pending_fds_count (DBusConnection *connection);
+void _dbus_connection_set_pending_fds_function (DBusConnection *connection,
+ DBusPendingFdsChangeFunction callback,
+ void *data);
/* if DBUS_ENABLE_STATS */
void _dbus_connection_get_stats (DBusConnection *connection,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/dbus-1.8.6/dbus/dbus-connection.c new/dbus-1.8.8/dbus/dbus-connection.c
--- old/dbus-1.8.6/dbus/dbus-connection.c 2014-01-25 13:39:25.000000000 +0100
+++ new/dbus-1.8.8/dbus/dbus-connection.c 2014-09-15 13:30:29.000000000 +0200
@@ -2549,6 +2549,33 @@
dbus_pending_call_unref (pending);
}
+/**
+ * Return how many file descriptors are pending in the loader
+ *
+ * @param connection the connection
+ */
+int
+_dbus_connection_get_pending_fds_count (DBusConnection *connection)
+{
+ return _dbus_transport_get_pending_fds_count (connection->transport);
+}
+
+/**
+ * Register a function to be called whenever the number of pending file
+ * descriptors in the loader change.
+ *
+ * @param connection the connection
+ * @param callback the callback
+ */
+void
+_dbus_connection_set_pending_fds_function (DBusConnection *connection,
+ DBusPendingFdsChangeFunction callback,
+ void *data)
+{
+ _dbus_transport_set_pending_fds_function (connection->transport,
+ callback, data);
+}
+
/** @} */
/**
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/dbus-1.8.6/dbus/dbus-internals.h new/dbus-1.8.8/dbus/dbus-internals.h
--- old/dbus-1.8.6/dbus/dbus-internals.h 2014-04-28 15:59:29.000000000 +0200
+++ new/dbus-1.8.8/dbus/dbus-internals.h 2014-09-15 13:31:02.000000000 +0200
@@ -371,7 +371,7 @@
#define _DBUS_PASTE(a, b) _DBUS_PASTE2 (a, b)
#define _DBUS_STATIC_ASSERT(expr) \
typedef struct { char _assertion[(expr) ? 1 : -1]; } \
- _DBUS_PASTE (_DBUS_STATIC_ASSERT_, __LINE__)
+ _DBUS_PASTE (_DBUS_STATIC_ASSERT_, __LINE__) _DBUS_GNUC_UNUSED
DBUS_END_DECLS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/dbus-1.8.6/dbus/dbus-macros.h new/dbus-1.8.8/dbus/dbus-macros.h
--- old/dbus-1.8.6/dbus/dbus-macros.h 2014-01-25 13:39:25.000000000 +0100
+++ new/dbus-1.8.8/dbus/dbus-macros.h 2014-09-15 13:31:02.000000000 +0200
@@ -69,9 +69,12 @@
__attribute__((__format__ (__printf__, format_idx, arg_idx)))
#define _DBUS_GNUC_NORETURN \
__attribute__((__noreturn__))
+#define _DBUS_GNUC_UNUSED \
+ __attribute__((__unused__))
#else /* !__GNUC__ */
#define _DBUS_GNUC_PRINTF( format_idx, arg_idx )
#define _DBUS_GNUC_NORETURN
+#define _DBUS_GNUC_UNUSED
#endif /* !__GNUC__ */
#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/dbus-1.8.6/dbus/dbus-message-internal.h new/dbus-1.8.8/dbus/dbus-message-internal.h
--- old/dbus-1.8.6/dbus/dbus-message-internal.h 2014-01-25 13:39:25.000000000 +0100
+++ new/dbus-1.8.8/dbus/dbus-message-internal.h 2014-09-15 13:30:29.000000000 +0200
@@ -96,6 +96,10 @@
void _dbus_message_loader_set_max_message_unix_fds(DBusMessageLoader *loader,
long n);
long _dbus_message_loader_get_max_message_unix_fds(DBusMessageLoader *loader);
+int _dbus_message_loader_get_pending_fds_count (DBusMessageLoader *loader);
+void _dbus_message_loader_set_pending_fds_function (DBusMessageLoader *loader,
+ void (* callback) (void *),
+ void *data);
typedef struct DBusInitialFDs DBusInitialFDs;
DBusInitialFDs *_dbus_check_fdleaks_enter (void);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/dbus-1.8.6/dbus/dbus-message-private.h new/dbus-1.8.8/dbus/dbus-message-private.h
--- old/dbus-1.8.6/dbus/dbus-message-private.h 2014-01-25 13:39:25.000000000 +0100
+++ new/dbus-1.8.8/dbus/dbus-message-private.h 2014-09-15 13:30:29.000000000 +0200
@@ -80,6 +80,8 @@
int *unix_fds; /**< File descriptors that have been read from the transport but not yet been handed to any message. Array will be allocated at first use. */
unsigned n_unix_fds_allocated; /**< Number of file descriptors this array has space for */
unsigned n_unix_fds; /**< Number of valid file descriptors in array */
+ void (* unix_fds_change) (void *); /**< Notify when the pending fds change */
+ void *unix_fds_change_data;
#endif
};
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/dbus-1.8.6/dbus/dbus-message.c new/dbus-1.8.8/dbus/dbus-message.c
--- old/dbus-1.8.6/dbus/dbus-message.c 2014-06-11 13:24:39.000000000 +0200
+++ new/dbus-1.8.8/dbus/dbus-message.c 2014-09-15 13:30:29.000000000 +0200
@@ -35,6 +35,7 @@
#include "dbus-list.h"
#include "dbus-threads-internal.h"
#ifdef HAVE_UNIX_FD_PASSING
+#include "dbus-sysdeps.h"
#include "dbus-sysdeps-unix.h"
#endif
@@ -4058,6 +4059,9 @@
loader->n_unix_fds += n_fds;
loader->unix_fds_outstanding = FALSE;
+
+ if (n_fds && loader->unix_fds_change)
+ loader->unix_fds_change (loader->unix_fds_change_data);
#else
_dbus_assert_not_reached("Platform doesn't support unix fd passing");
#endif
@@ -4205,6 +4209,9 @@
message->n_unix_fds_allocated = message->n_unix_fds = n_unix_fds;
loader->n_unix_fds -= n_unix_fds;
memmove (loader->unix_fds, loader->unix_fds + n_unix_fds, loader->n_unix_fds * sizeof (loader->unix_fds[0]));
+
+ if (loader->unix_fds_change)
+ loader->unix_fds_change (loader->unix_fds_change_data);
}
else
message->unix_fds = NULL;
@@ -4498,6 +4505,40 @@
return loader->max_message_unix_fds;
}
+/**
+ * Return how many file descriptors are pending in the loader
+ *
+ * @param loader the loader
+ */
+int
+_dbus_message_loader_get_pending_fds_count (DBusMessageLoader *loader)
+{
+#ifdef HAVE_UNIX_FD_PASSING
+ return loader->n_unix_fds;
+#else
+ return 0;
+#endif
+}
+
+/**
+ * Register a function to be called whenever the number of pending file
+ * descriptors in the loader change.
+ *
+ * @param loader the loader
+ * @param callback the callback
+ * @param data the data for the callback
+ */
+void
+_dbus_message_loader_set_pending_fds_function (DBusMessageLoader *loader,
+ void (* callback) (void *),
+ void *data)
+{
+#ifdef HAVE_UNIX_FD_PASSING
+ loader->unix_fds_change = callback;
+ loader->unix_fds_change_data = data;
+#endif
+}
+
static DBusDataSlotAllocator slot_allocator =
_DBUS_DATA_SLOT_ALLOCATOR_INIT (_DBUS_LOCK_NAME (message_slots));
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/dbus-1.8.6/dbus/dbus-server-protected.h new/dbus-1.8.8/dbus/dbus-server-protected.h
--- old/dbus-1.8.6/dbus/dbus-server-protected.h 2014-01-25 13:39:25.000000000 +0100
+++ new/dbus-1.8.8/dbus/dbus-server-protected.h 2014-09-15 13:28:36.000000000 +0200
@@ -99,9 +99,8 @@
DBusWatch *watch);
void _dbus_server_remove_watch (DBusServer *server,
DBusWatch *watch);
-void _dbus_server_toggle_watch (DBusServer *server,
- DBusWatch *watch,
- dbus_bool_t enabled);
+void _dbus_server_toggle_all_watches (DBusServer *server,
+ dbus_bool_t enabled);
dbus_bool_t _dbus_server_add_timeout (DBusServer *server,
DBusTimeout *timeout);
void _dbus_server_remove_timeout (DBusServer *server,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/dbus-1.8.6/dbus/dbus-server.c new/dbus-1.8.8/dbus/dbus-server.c
--- old/dbus-1.8.6/dbus/dbus-server.c 2014-01-25 13:39:25.000000000 +0100
+++ new/dbus-1.8.8/dbus/dbus-server.c 2014-09-15 13:28:36.000000000 +0200
@@ -312,26 +312,17 @@
}
/**
- * Toggles a watch and notifies app via server's
- * DBusWatchToggledFunction if available. It's an error to call this
- * function on a watch that was not previously added.
+ * Toggles all watch and notifies app via server's
+ * DBusWatchToggledFunction if available.
*
* @param server the server.
- * @param watch the watch to toggle.
* @param enabled whether to enable or disable
*/
void
-_dbus_server_toggle_watch (DBusServer *server,
- DBusWatch *watch,
- dbus_bool_t enabled)
+_dbus_server_toggle_all_watches (DBusServer *server,
+ dbus_bool_t enabled)
{
- _dbus_assert (watch != NULL);
-
- HAVE_LOCK_CHECK (server);
- protected_change_watch (server, watch,
- NULL, NULL,
- _dbus_watch_list_toggle_watch,
- enabled);
+ _dbus_watch_list_toggle_all_watches (server->watches, enabled);
}
/** Function to be called in protected_change_timeout() with refcount held */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/dbus-1.8.6/dbus/dbus-sysdeps-unix.c new/dbus-1.8.8/dbus/dbus-sysdeps-unix.c
--- old/dbus-1.8.6/dbus/dbus-sysdeps-unix.c 2014-04-28 15:59:54.000000000 +0200
+++ new/dbus-1.8.8/dbus/dbus-sysdeps-unix.c 2014-09-15 13:31:12.000000000 +0200
@@ -320,6 +320,12 @@
m.msg_control = alloca(m.msg_controllen);
memset(m.msg_control, 0, m.msg_controllen);
+ /* Do not include the padding at the end when we tell the kernel
+ * how much we're willing to receive. This avoids getting
+ * the padding filled with additional fds that we weren't expecting,
+ * if a (potentially malicious) sender included them. (fd.o #83622) */
+ m.msg_controllen = CMSG_LEN (*n_fds * sizeof(int));
+
again:
bytes_read = recvmsg(fd, &m, 0
@@ -359,18 +365,49 @@
for (cm = CMSG_FIRSTHDR(&m); cm; cm = CMSG_NXTHDR(&m, cm))
if (cm->cmsg_level == SOL_SOCKET && cm->cmsg_type == SCM_RIGHTS)
{
- unsigned i;
-
- _dbus_assert(cm->cmsg_len <= CMSG_LEN(*n_fds * sizeof(int)));
- *n_fds = (cm->cmsg_len - CMSG_LEN(0)) / sizeof(int);
+ size_t i;
+ int *payload = (int *) CMSG_DATA (cm);
+ size_t payload_len_bytes = (cm->cmsg_len - CMSG_LEN (0));
+ size_t payload_len_fds = payload_len_bytes / sizeof (int);
+ size_t fds_to_use;
+
+ /* Every non-negative int fits in a size_t without truncation,
+ * and we already know that *n_fds is non-negative, so
+ * casting (size_t) *n_fds is OK */
+ _DBUS_STATIC_ASSERT (sizeof (size_t) >= sizeof (int));
+
+ if (_DBUS_LIKELY (payload_len_fds <= (size_t) *n_fds))
+ {
+ /* The fds in the payload will fit in our buffer */
+ fds_to_use = payload_len_fds;
+ }
+ else
+ {
+ /* Too many fds in the payload. This shouldn't happen
+ * any more because we're setting m.msg_controllen to
+ * the exact number we can accept, but be safe and
+ * truncate. */
+ fds_to_use = (size_t) *n_fds;
+
+ /* Close the excess fds to avoid DoS: if they stayed open,
+ * someone could send us an extra fd per message
+ * and we'd eventually run out. */
+ for (i = fds_to_use; i < payload_len_fds; i++)
+ {
+ close (payload[i]);
+ }
+ }
- memcpy(fds, CMSG_DATA(cm), *n_fds * sizeof(int));
+ memcpy (fds, payload, fds_to_use * sizeof (int));
found = TRUE;
+ /* This cannot overflow because we have chosen fds_to_use
+ * to be <= *n_fds */
+ *n_fds = (int) fds_to_use;
/* Linux doesn't tell us whether MSG_CMSG_CLOEXEC actually
worked, hence we need to go through this list and set
CLOEXEC everywhere in any case */
- for (i = 0; i < *n_fds; i++)
+ for (i = 0; i < fds_to_use; i++)
_dbus_fd_set_close_on_exec(fds[i]);
break;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/dbus-1.8.6/dbus/dbus-sysdeps.h new/dbus-1.8.8/dbus/dbus-sysdeps.h
--- old/dbus-1.8.6/dbus/dbus-sysdeps.h 2014-06-30 15:08:47.000000000 +0200
+++ new/dbus-1.8.8/dbus/dbus-sysdeps.h 2014-09-15 13:27:24.000000000 +0200
@@ -558,6 +558,14 @@
const char *
_dbus_replace_install_prefix (const char *configure_time_path);
+/* Do not set this too high: it is a denial-of-service risk.
+ * See <https://bugs.freedesktop.org/show_bug.cgi?id=82820>
+ *
+ * (This needs to be in the non-Unix-specific header so that
+ * the config-parser can use it.)
+ */
+#define DBUS_DEFAULT_MESSAGE_UNIX_FDS 16
+
/** @} */
DBUS_END_DECLS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/dbus-1.8.6/dbus/dbus-transport.c new/dbus-1.8.8/dbus/dbus-transport.c
--- old/dbus-1.8.6/dbus/dbus-transport.c 2014-01-25 13:39:25.000000000 +0100
+++ new/dbus-1.8.8/dbus/dbus-transport.c 2014-09-15 13:30:29.000000000 +0200
@@ -1512,6 +1512,33 @@
transport->allow_anonymous = value != FALSE;
}
+/**
+ * Return how many file descriptors are pending in the loader
+ *
+ * @param transport the transport
+ */
+int
+_dbus_transport_get_pending_fds_count (DBusTransport *transport)
+{
+ return _dbus_message_loader_get_pending_fds_count (transport->loader);
+}
+
+/**
+ * Register a function to be called whenever the number of pending file
+ * descriptors in the loader change.
+ *
+ * @param transport the transport
+ * @param callback the callback
+ */
+void
+_dbus_transport_set_pending_fds_function (DBusTransport *transport,
+ void (* callback) (void *),
+ void *data)
+{
+ _dbus_message_loader_set_pending_fds_function (transport->loader,
+ callback, data);
+}
+
#ifdef DBUS_ENABLE_STATS
void
_dbus_transport_get_stats (DBusTransport *transport,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/dbus-1.8.6/dbus/dbus-transport.h new/dbus-1.8.8/dbus/dbus-transport.h
--- old/dbus-1.8.6/dbus/dbus-transport.h 2014-01-25 13:39:25.000000000 +0100
+++ new/dbus-1.8.8/dbus/dbus-transport.h 2014-09-15 13:30:29.000000000 +0200
@@ -97,6 +97,10 @@
const char **mechanisms);
void _dbus_transport_set_allow_anonymous (DBusTransport *transport,
dbus_bool_t value);
+int _dbus_transport_get_pending_fds_count (DBusTransport *transport);
+void _dbus_transport_set_pending_fds_function (DBusTransport *transport,
+ void (* callback) (void *),
+ void *data);
/* if DBUS_ENABLE_STATS */
void _dbus_transport_get_stats (DBusTransport *transport,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/dbus-1.8.6/dbus/dbus-watch.c new/dbus-1.8.8/dbus/dbus-watch.c
--- old/dbus-1.8.6/dbus/dbus-watch.c 2014-01-25 13:39:25.000000000 +0100
+++ new/dbus-1.8.8/dbus/dbus-watch.c 2014-09-15 13:28:36.000000000 +0200
@@ -455,6 +455,27 @@
}
/**
+ * Sets all watches to the given enabled state, invoking the
+ * application's DBusWatchToggledFunction if appropriate.
+ *
+ * @param watch_list the watch list.
+ * @param enabled #TRUE to enable
+ */
+void
+_dbus_watch_list_toggle_all_watches (DBusWatchList *watch_list,
+ dbus_bool_t enabled)
+{
+ DBusList *link;
+
+ for (link = _dbus_list_get_first_link (&watch_list->watches);
+ link != NULL;
+ link = _dbus_list_get_next_link (&watch_list->watches, link))
+ {
+ _dbus_watch_list_toggle_watch (watch_list, link->data, enabled);
+ }
+}
+
+/**
* Sets the handler for the watch.
*
* @todo this function only exists because of the weird
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/dbus-1.8.6/dbus/dbus-watch.h new/dbus-1.8.8/dbus/dbus-watch.h
--- old/dbus-1.8.6/dbus/dbus-watch.h 2014-01-25 13:39:25.000000000 +0100
+++ new/dbus-1.8.8/dbus/dbus-watch.h 2014-09-15 13:28:36.000000000 +0200
@@ -76,6 +76,8 @@
void _dbus_watch_list_toggle_watch (DBusWatchList *watch_list,
DBusWatch *watch,
dbus_bool_t enabled);
+void _dbus_watch_list_toggle_all_watches (DBusWatchList *watch_list,
+ dbus_bool_t enabled);
dbus_bool_t _dbus_watch_get_enabled (DBusWatch *watch);
dbus_bool_t _dbus_watch_get_oom_last_time (DBusWatch *watch);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/dbus-1.8.6/doc/dbus-daemon.1.xml.in new/dbus-1.8.8/doc/dbus-daemon.1.xml.in
--- old/dbus-1.8.6/doc/dbus-daemon.1.xml.in 2014-01-25 13:39:25.000000000 +0100
+++ new/dbus-1.8.8/doc/dbus-daemon.1.xml.in 2014-09-15 13:29:28.000000000 +0200
@@ -528,6 +528,10 @@
"auth_timeout" : milliseconds (thousandths) a
connection is given to
authenticate
+ "pending_fd_timeout" : milliseconds (thousandths) a
+ fd is given to be transmitted to
+ dbus-daemon before disconnecting the
+ connection
"max_completed_connections" : max number of authenticated connections
"max_incomplete_connections" : max number of unauthenticated
connections
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/dbus-1.8.6/test/test-segfault.c new/dbus-1.8.8/test/test-segfault.c
--- old/dbus-1.8.6/test/test-segfault.c 2014-01-25 13:39:26.000000000 +0100
+++ new/dbus-1.8.8/test/test-segfault.c 2014-09-15 13:26:23.000000000 +0200
@@ -9,18 +9,34 @@
#include <sys/resource.h>
#endif
+#ifdef HAVE_SYS_PRCTL_H
+#include <sys/prctl.h>
+#endif
+
int
main (int argc, char **argv)
{
char *p;
#if HAVE_SETRLIMIT
+ /* No core dumps please, we know we crashed. */
struct rlimit r = { 0, };
getrlimit (RLIMIT_CORE, &r);
r.rlim_cur = 0;
setrlimit (RLIMIT_CORE, &r);
-
+#endif
+
+#if defined(HAVE_PRCTL) && defined(PR_SET_DUMPABLE)
+ /* Really, no core dumps please. On Linux, if core_pattern is
+ * set to a pipe (for abrt/apport/corekeeper/etc.), RLIMIT_CORE of 0
+ * is ignored (deliberately, so people can debug init(8) and other
+ * early stuff); but Linux has PR_SET_DUMPABLE, so we can avoid core
+ * dumps anyway. */
+ prctl (PR_SET_DUMPABLE, 0, 0, 0, 0);
+#endif
+
+#ifdef HAVE_RAISE
raise (SIGSEGV);
#endif
p = NULL;
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package pesign-obs-integration for openSUSE:Factory checked in at 2014-09-17 21:23:45
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/pesign-obs-integration (Old)
and /work/SRC/openSUSE:Factory/.pesign-obs-integration.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "pesign-obs-integration"
Changes:
--------
--- /work/SRC/openSUSE:Factory/pesign-obs-integration/pesign-obs-integration.changes 2014-09-06 12:18:24.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.pesign-obs-integration.new/pesign-obs-integration.changes 2014-09-17 21:23:47.000000000 +0200
@@ -1,0 +2,6 @@
+Tue Sep 16 17:08:36 CEST 2014 - mls(a)suse.de
+
+- fall back to project cert in the followup spec if it
+ exists
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ pesign-repackage.spec.in ++++++
--- /var/tmp/diff_new_pack.KSyxVs/_old 2014-09-17 21:23:48.000000000 +0200
+++ /var/tmp/diff_new_pack.KSyxVs/_new 2014-09-17 21:23:48.000000000 +0200
@@ -90,6 +90,9 @@
cat >cert.crt <<EOF
@CERT@
EOF
+if test "$(wc -l <cert.crt)" -le 1 -a -s %_sourcedir/_projectcert.crt ; then
+ cp %_sourcedir/_projectcert.crt cert.crt
+fi
if test "$(wc -l <cert.crt)" -gt 1; then
openssl x509 -inform PEM -in cert.crt -outform DER -out cert.x509
cert=cert.x509
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package libstorage for openSUSE:Factory checked in at 2014-09-17 21:23:44
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libstorage (Old)
and /work/SRC/openSUSE:Factory/.libstorage.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libstorage"
Changes:
--------
--- /work/SRC/openSUSE:Factory/libstorage/libstorage.changes 2014-09-10 17:02:20.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.libstorage.new/libstorage.changes 2014-09-17 21:23:45.000000000 +0200
@@ -1,0 +2,6 @@
+Tue Sep 16 13:16:50 CEST 2014 - aschnell(a)suse.de
+
+- fixed using DM disks for LVM (bnc#896729)
+- 2.25.15
+
+-------------------------------------------------------------------
Old:
----
libstorage-2.25.14.tar.bz2
New:
----
libstorage-2.25.15.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libstorage.spec ++++++
--- /var/tmp/diff_new_pack.ywdJvS/_old 2014-09-17 21:23:46.000000000 +0200
+++ /var/tmp/diff_new_pack.ywdJvS/_new 2014-09-17 21:23:46.000000000 +0200
@@ -17,7 +17,7 @@
Name: libstorage
-Version: 2.25.14
+Version: 2.25.15
Release: 0
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Source: libstorage-%{version}.tar.bz2
++++++ libstorage-2.25.14.tar.bz2 -> libstorage-2.25.15.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-2.25.14/VERSION new/libstorage-2.25.15/VERSION
--- old/libstorage-2.25.14/VERSION 2014-06-22 13:54:13.000000000 +0200
+++ new/libstorage-2.25.15/VERSION 2014-09-16 16:42:18.000000000 +0200
@@ -1 +1 @@
-2.25.14
+2.25.15
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-2.25.14/storage/LvmVg.cc new/libstorage-2.25.15/storage/LvmVg.cc
--- old/libstorage-2.25.14/storage/LvmVg.cc 2014-09-05 10:45:53.000000000 +0200
+++ new/libstorage-2.25.15/storage/LvmVg.cc 2014-09-16 16:42:18.000000000 +0200
@@ -446,14 +446,14 @@
return( ret );
}
+
int
LvmVg::extendVg( const string& dev )
{
- list<string> l;
- l.push_back( dev );
- return( extendVg( l ) );
+ return extendVg(list<string>({ dev }));
}
+
int
LvmVg::extendVg( const list<string>& devs )
{
@@ -462,8 +462,6 @@
y2mil( "this:" << *this );
checkConsistency();
- list<string>::const_iterator i=devs.begin();
- list<Pv>::iterator p;
if( readonly() )
{
ret = LVM_CHANGE_READONLY;
@@ -472,6 +470,9 @@
{
ret = LVM_LIST_EMPTY;
}
+
+ list<string>::const_iterator i=devs.begin();
+ list<Pv>::iterator p;
while( ret==0 && i!=devs.end() )
{
string d = normalizeDevice( *i );
@@ -508,7 +509,7 @@
{
Pv pvn;
unsigned long long s = getStorage()->deviceSize( d );
- pe = (s - 4000)/pe_size;
+ pe = s > 4000 ? (s - 4000) / pe_size : 0;
pvn.num_pe = pvn.free_pe = pe;
pvn.device = d;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-2.25.14/storage/Storage.cc new/libstorage-2.25.15/storage/Storage.cc
--- old/libstorage-2.25.14/storage/Storage.cc 2014-09-09 17:23:28.000000000 +0200
+++ new/libstorage-2.25.15/storage/Storage.cc 2014-09-16 16:42:18.000000000 +0200
@@ -6518,18 +6518,30 @@
return( ret );
}
-bool Storage::knownDevice( const string& dev, bool disks_allowed )
+
+ bool
+ Storage::knownDevice(const string& dev, bool disks_allowed)
{
- bool ret=true;
- ConstVolIterator v;
- if( !findVolume( dev, v ) )
- {
- ret = disks_allowed && findDisk( dev )!=dEnd();
+ bool ret = false;
+ ConstVolIterator v;
+ if (findVolume(dev, v))
+ {
+ ret = true;
+ }
+ else if (disks_allowed)
+ {
+ if (findDisk(dev) != dEnd())
+ ret = true;
+ else if (findDmPartCo(dev) != dmpCoEnd())
+ ret = true;
+ else if (findMdPartCo(dev) != mdpCoEnd())
+ ret = true;
}
- y2mil("dev:" << dev << " ret:" << ret);
- return( ret );
+ y2mil("dev:" << dev << " ret:" << ret);
+ return ret;
}
+
bool Storage::setDmcryptData( const string& dev, const string& dm,
unsigned dmnum, unsigned long long siz,
storage::EncryptType typ )
@@ -6582,28 +6594,34 @@
return( ret );
}
-bool Storage::canUseDevice( const string& dev, bool disks_allowed )
+
+ bool
+ Storage::canUseDevice(const string& dev, bool disks_allowed)
{
- bool ret=true;
- ConstVolIterator v;
- if( !findVolume( dev, v ) )
- {
- if( disks_allowed )
- {
- DiskIterator i = findDisk( dev );
- ret = i != dEnd() && !i->isUsedBy() && i->numPartitions() == 0;
- }
- else
- ret = false;
- }
- else
- {
- ret = v->canUseDevice();
+ bool ret = false;
+ ConstVolIterator v;
+ if (findVolume(dev, v))
+ {
+ ret = v->canUseDevice();
+ }
+ else if (disks_allowed)
+ {
+ ConstDiskIterator i1 = findDisk(dev);
+ ConstDmPartCoIterator i2 = findDmPartCo(dev);
+ ConstMdPartCoIterator i3 = findMdPartCo(dev);
+
+ if (i1 != dEnd())
+ ret = !i1->isUsedBy() && i1->numPartitions() == 0;
+ else if (i2 != dmpCoEnd())
+ ret = !i2->isUsedBy() && i2->numPartitions() == 0;
+ else if (i3 != mdpCoEnd())
+ ret = !i3->isUsedBy() && i3->numPartitions() == 0;
}
- y2mil("dev:" << dev << " ret:" << ret);
- return( ret );
+ y2mil("dev:" << dev << " ret:" << ret);
+ return ret;
}
+
const Device*
Storage::deviceByNumber( unsigned long maj, unsigned long min ) const
{
@@ -6629,20 +6647,31 @@
return ret;
}
-unsigned long long Storage::deviceSize( const string& dev )
+
+ unsigned long long
+ Storage::deviceSize(const string& dev)
{
- unsigned long long ret=0;
- ConstVolIterator v;
- if( !findVolume( dev, v ) )
+ unsigned long long ret = 0;
+ ConstVolIterator v;
+ if (findVolume(dev, v))
{
- DiskIterator i = findDisk( dev );
- if( i!=dEnd() )
- ret = i->sizeK();
+ ret = v->sizeK();
}
- else
- ret = v->sizeK();
- y2mil("dev:" << dev << " ret:" << ret);
- return( ret );
+ else
+ {
+ ConstDiskIterator i1 = findDisk(dev);
+ ConstDmPartCoIterator i2 = findDmPartCo(dev);
+ ConstMdPartCoIterator i3 = findMdPartCo(dev);
+
+ if (i1 != dEnd())
+ ret = i1->sizeK();
+ else if (i2 != dmpCoEnd())
+ ret = i2->sizeK();
+ else if (i3 != mdpCoEnd())
+ ret = i3->sizeK();
+ }
+ y2mil("dev:" << dev << " ret:" << ret);
+ return ret;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-2.25.14/storage/gen_md5sum.cc new/libstorage-2.25.15/storage/gen_md5sum.cc
--- old/libstorage-2.25.14/storage/gen_md5sum.cc 2014-09-09 17:23:36.000000000 +0200
+++ new/libstorage-2.25.15/storage/gen_md5sum.cc 2014-09-16 16:43:35.000000000 +0200
@@ -1,5 +1,5 @@
-#define SOURCES_MD5SUM "9fbc6cde91f471eef5a92b261a690292"
-#define SOURCES_MD5_DATE " Tue 9 Sep 17:23:36 CEST 2014 "
+#define SOURCES_MD5SUM "2c7b22c16d38d390274f11a3a58c5234"
+#define SOURCES_MD5_DATE " Tue 16 Sep 16:43:35 CEST 2014 "
namespace storage
{
const char* GetSourceMd5() { return SOURCES_MD5SUM; }
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package skelcd-control-openSUSE for openSUSE:Factory checked in at 2014-09-17 21:23:42
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/skelcd-control-openSUSE (Old)
and /work/SRC/openSUSE:Factory/.skelcd-control-openSUSE.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "skelcd-control-openSUSE"
Changes:
--------
--- /work/SRC/openSUSE:Factory/skelcd-control-openSUSE/skelcd-control-openSUSE-promo.changes 2014-08-05 21:11:09.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.skelcd-control-openSUSE.new/skelcd-control-openSUSE-promo.changes 2014-09-17 21:23:43.000000000 +0200
@@ -1,0 +2,7 @@
+Mon Sep 15 11:00:27 UTC 2014 - coolo(a)suse.com
+
+- remove clients from 2nd stage that no longer exist. For now we keep
+ the 2nd stage
+- 13.2.15
+
+-------------------------------------------------------------------
skelcd-control-openSUSE.changes: same change
Old:
----
skelcd-control-openSUSE-13.2.14.tar.bz2
New:
----
skelcd-control-openSUSE-13.2.15.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ skelcd-control-openSUSE-promo.spec ++++++
--- /var/tmp/diff_new_pack.otTngu/_old 2014-09-17 21:23:44.000000000 +0200
+++ /var/tmp/diff_new_pack.otTngu/_new 2014-09-17 21:23:44.000000000 +0200
@@ -77,7 +77,7 @@
Url: https://github.com/yast/skelcd-control-openSUSE
AutoReqProv: off
-Version: 13.2.14
+Version: 13.2.15
Release: 0
Summary: The openSUSE Installation Control file
License: MIT
++++++ skelcd-control-openSUSE.spec ++++++
--- /var/tmp/diff_new_pack.otTngu/_old 2014-09-17 21:23:44.000000000 +0200
+++ /var/tmp/diff_new_pack.otTngu/_new 2014-09-17 21:23:44.000000000 +0200
@@ -77,7 +77,7 @@
Url: https://github.com/yast/skelcd-control-openSUSE
AutoReqProv: off
-Version: 13.2.14
+Version: 13.2.15
Release: 0
Summary: The openSUSE Installation Control file
License: MIT
++++++ skelcd-control-openSUSE-13.2.14.tar.bz2 -> skelcd-control-openSUSE-13.2.15.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/skelcd-control-openSUSE-13.2.14/control/control.openSUSE.xml new/skelcd-control-openSUSE-13.2.15/control/control.openSUSE.xml
--- old/skelcd-control-openSUSE-13.2.14/control/control.openSUSE.xml 2014-08-04 16:33:44.000000000 +0200
+++ new/skelcd-control-openSUSE-13.2.15/control/control.openSUSE.xml 2014-09-16 15:22:10.000000000 +0200
@@ -954,26 +954,6 @@
<label>Configuration</label>
</module>
<module>
- <label>Automatic Configuration</label>
- <name>automatic_configuration</name>
- <enable_back>no</enable_back>
- <enable_next>no</enable_next>
- </module>
- <!-- BNC #547931: Steps are enabled again -->
- <module>
- <label>Users</label>
- <name>auth</name>
- </module>
- <module>
- <label>Users</label>
- <name>user</name>
- </module>
- <module>
- <name>user_non_interactive</name>
- <!-- BNC #401319, define client to call explicitly -->
- <execute>inst_user</execute>
- </module>
- <module>
<name>live_cleanup</name>
<enable_back>no</enable_back>
</module>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/skelcd-control-openSUSE-13.2.14/package/skelcd-control-openSUSE.changes new/skelcd-control-openSUSE-13.2.15/package/skelcd-control-openSUSE.changes
--- old/skelcd-control-openSUSE-13.2.14/package/skelcd-control-openSUSE.changes 2014-08-04 16:33:44.000000000 +0200
+++ new/skelcd-control-openSUSE-13.2.15/package/skelcd-control-openSUSE.changes 2014-09-16 15:22:10.000000000 +0200
@@ -1,4 +1,11 @@
-------------------------------------------------------------------
+Mon Sep 15 11:00:27 UTC 2014 - coolo(a)suse.com
+
+- remove clients from 2nd stage that no longer exist. For now we keep
+ the 2nd stage
+- 13.2.15
+
+-------------------------------------------------------------------
Mon Aug 4 16:18:25 CEST 2014 - locilka(a)suse.com
- Added yast2-firewall to inst-sys dependencies - required for
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/skelcd-control-openSUSE-13.2.14/package/skelcd-control-openSUSE.spec new/skelcd-control-openSUSE-13.2.15/package/skelcd-control-openSUSE.spec
--- old/skelcd-control-openSUSE-13.2.14/package/skelcd-control-openSUSE.spec 2014-08-04 16:33:44.000000000 +0200
+++ new/skelcd-control-openSUSE-13.2.15/package/skelcd-control-openSUSE.spec 2014-09-16 15:22:10.000000000 +0200
@@ -76,7 +76,7 @@
Url: https://github.com/yast/skelcd-control-openSUSE
AutoReqProv: off
-Version: 13.2.14
+Version: 13.2.15
Release: 0
Summary: The openSUSE Installation Control file
License: MIT
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package aalib for openSUSE:Factory checked in at 2014-09-17 21:23:38
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/aalib (Old)
and /work/SRC/openSUSE:Factory/.aalib.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "aalib"
Changes:
--------
--- /work/SRC/openSUSE:Factory/aalib/aalib.changes 2013-03-24 21:32:32.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.aalib.new/aalib.changes 2014-09-17 21:23:39.000000000 +0200
@@ -1,0 +2,5 @@
+Mon Sep 15 16:56:57 UTC 2014 - crrodriguez(a)opensuse.org
+
+- Use pkgconfig(x11) not metapackage xorg-x11-devel
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ aalib.spec ++++++
--- /var/tmp/diff_new_pack.6s2N5X/_old 2014-09-17 21:23:40.000000000 +0200
+++ /var/tmp/diff_new_pack.6s2N5X/_new 2014-09-17 21:23:40.000000000 +0200
@@ -1,7 +1,7 @@
#
# spec file for package aalib
#
-# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -20,7 +20,7 @@
%define lname libaa1
BuildRequires: libtool
BuildRequires: ncurses-devel
-BuildRequires: xorg-x11-devel
+BuildRequires: pkgconfig(x11)
%if 0%{?suse_version} > 1130
BuildRequires: gpm-devel
%else
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package kbd for openSUSE:Factory checked in at 2014-09-17 21:23:36
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kbd (Old)
and /work/SRC/openSUSE:Factory/.kbd.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kbd"
Changes:
--------
--- /work/SRC/openSUSE:Factory/kbd/kbd.changes 2014-08-25 11:54:35.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.kbd.new/kbd.changes 2014-09-17 21:23:37.000000000 +0200
@@ -1,0 +2,6 @@
+Thu Sep 4 17:51:54 UTC 2014 - jw(a)owncloud.com
+
+- added /usr/bin/kbd, a simple userfriedly keymap switcher.
+ From https://github.com/jnweiger/kbd-wrapper
+
+-------------------------------------------------------------------
New:
----
kbd.pl
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ kbd.spec ++++++
--- /var/tmp/diff_new_pack.LGAwP6/_old 2014-09-17 21:23:38.000000000 +0200
+++ /var/tmp/diff_new_pack.LGAwP6/_new 2014-09-17 21:23:38.000000000 +0200
@@ -39,6 +39,7 @@
Source11: fbtest.c
Source12: fbtest.8
Source13: guess_encoding.pl
+Source14: kbd.pl
Source42: convert-kbd-mac.sed
Source43: repack_kbd.sh
Patch0: kbd-1.15.2-prtscr_no_sigquit.patch
@@ -230,6 +231,7 @@
install -m 755 fbtest %{buildroot}/%{_sbindir}
install -m 644 %{SOURCE12} %{buildroot}/%{_mandir}/man8/
install -m 755 %{SOURCE13} %{buildroot}/%{_bindir}/guess_encoding
+install -m 755 %{SOURCE14} %{buildroot}/%{_bindir}/kbd
#UsrMerge
mkdir -p %{buildroot}/bin
mkdir -p %{buildroot}/sbin
@@ -376,6 +378,7 @@
%{_bindir}/unicode_stop
%{_bindir}/kbdrate
%{_bindir}/guess_encoding
+%{_bindir}/kbd
%{_bindir}/clrunimap
%{_bindir}/getunimap
%{_bindir}/outpsfheader
++++++ kbd.pl ++++++
#! /usr/bin/perl -w
#
# simple script to switch the keyboard language
# (c) 2014 jw(a)owncloud.om
my $sysconffile = '/etc/sysconfig/keyboard';
my $mapdir = '/usr/share/kbd/keymaps/i386';
my $version = '1.0';
my $what = shift || '-h';
my $v = slurp_sysconf($sysconffile);
my $m = find_maps();
my $l = {
'english' => 'us.map',
'german' => 'de-latin1-nodeadkeys.map',
'french' => 'fr-latin1.map',
'spanish' => 'es.map',
'italian' => 'it.map',
'dutch' => 'nl.map',
};
for my $k (keys %$l)
{
# zap non-installed languages from our pretty printed list.
delete $l->{$k} unless $m->{$l->{$k}} or $m->{"$l->{$k}.gz"};
}
if ($what eq '-h')
{
print qq{kbd Version $version
Usage: $0 [option] [mapping]
Available options are:
-l list typical language mappings.
-a list all maps
-h print this usage
Specify as a mapping either a language name (seen with -l)
or a mapping name (seen with -a). For a mapping name, add a .map suffix.
Current keymap: $v->{KEYTABLE}
};
exit 0;
}
if ($what eq '-l')
{
for my $k (sort keys %$l)
{
printf "%-10s %s\n", $k, $l->{$k};
}
exit 0;
}
if ($what eq '-a' || $what eq '-m')
{
my @k = map { $1 if /(.*).map(.gz)?$/ } sort keys %$m;
print "current keymap: $v->{KEYTABLE}\n";
print "available keymaps: @k\n";
print "\n\nuse '$0 MAPNAME' to change.\n";
exit 0;
}
$what = $l->{$what} if $l->{$what};
$what = "$what.gz" if $m->{"$what.gz"};
$what = "$what.map" if $m->{"$what.map"};
$what = "$what.map.gz" if $m->{"$what.map.gz"};
die "$what: keymap not found.\n Try $0 -h\n" unless $m->{$what};
write_sysconf($sysconffile, { 'KEYTABLE' => $what } );
# system("kbd_mode -u"); # switch to unicode. Should be the default anyway.
system("loadkeys $what"); # now set the keymap.
# FIXME: is that all?
# mayb also do: systemctl restart kbd.service
exit 0;
###################################################################
sub find_maps
{
my $maps;
opendir DIR, $mapdir or die "$0: cannot readdir $mapdir: !$\n";
my @d = grep { -d "$mapdir/$_" && !/^\./ } readdir DIR;
closedir DIR;
for my $d (@d)
{
opendir DIR, "$mapdir/$d" or die "$0: cannot readdir $mapdir/$d: !$\n";
my @f = grep { /\.map(.gz)?$/ } readdir DIR;
closedir DIR;
for my $f (@f)
{
$maps->{$f} = "$d/$f";
}
}
return $maps;
}
sub slurp_sysconf
{
my ($file) = @_;
my $vals;
open my $fd, "<", $file or die "$0: cannot read config file $file: $!\n";
while (defined(my $line = <$fd>))
{
chomp $line;
$vals->{$1} = $2 if $line =~ m{^([A-Z_]+)\s*=\s*"(.*)"};
}
close $fd;
return $vals;
}
sub write_sysconf
{
my ($file, $vals) = @_;
my @sysconf = ();
open my $fd, "<", $file or die "$0: cannot read config file $file: $!\n";
while (defined(my $line = <$fd>))
{
chomp $line;
push @sysconf, $line;
}
close $fd;
open $fd, ">", $file or die "$0: cannot write config file $file: $!\n";
for my $line (@sysconf)
{
if ($line =~ m{^([A-Z_]+)\s*=\s*"(.*)"})
{
my ($keyword,$value) = ($1,$2);
if (defined $vals->{$keyword})
{
$line =~ s{\Q$value\E}{$vals->{$keyword}};
}
}
print $fd "$line\n";
}
close $fd or die "$0: could not write config file $file: $!\n";
}
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0