openSUSE Commits
Threads by month
- ----- 2024 -----
- 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 2019
- 1 participants
- 2151 discussions
Hello community,
here is the log from the commit of package findbugs for openSUSE:Factory checked in at 2019-09-30 16:00:49
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/findbugs (Old)
and /work/SRC/openSUSE:Factory/.findbugs.new.2352 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "findbugs"
Mon Sep 30 16:00:49 2019 rev:29 rq:733942 version:3.0.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/findbugs/findbugs.changes 2019-01-08 12:28:16.488285521 +0100
+++ /work/SRC/openSUSE:Factory/.findbugs.new.2352/findbugs.changes 2019-09-30 16:01:16.180917912 +0200
@@ -1,0 +2,5 @@
+Sun Sep 29 19:55:16 UTC 2019 - Fridrich Strba <fstrba(a)suse.com>
+
+- Remove reference to parent pom, since we don't build using maven.
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ findbugs.spec ++++++
--- /var/tmp/diff_new_pack.3GiOLf/_old 2019-09-30 16:01:17.668913952 +0200
+++ /var/tmp/diff_new_pack.3GiOLf/_new 2019-09-30 16:01:17.672913942 +0200
@@ -1,7 +1,7 @@
#
# spec file for package findbugs
#
-# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -207,7 +207,9 @@
# Install poms
mkdir -p %{buildroot}%{_mavenpomdir}
sed -i 's/3\.0\.0/3\.0\.1/g' %{SOURCE4} %{SOURCE6}
-cp %{SOURCE3} %{buildroot}%{_mavenpomdir}/JPP-%{name}.pom
+cp %{SOURCE3} JPP-%{name}.pom
+%pom_remove_parent JPP-%{name}.pom
+cp JPP-%{name}.pom %{buildroot}%{_mavenpomdir}/JPP-%{name}.pom
cp %{SOURCE4} %{buildroot}%{_mavenpomdir}/JPP-%{name}-annotations.pom
cp %{SOURCE6} %{buildroot}%{_mavenpomdir}/JPP.ant-ant-%{name}.pom
1
0
Hello community,
here is the log from the commit of package plplot for openSUSE:Factory checked in at 2019-09-30 16:00:44
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/plplot (Old)
and /work/SRC/openSUSE:Factory/.plplot.new.2352 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "plplot"
Mon Sep 30 16:00:44 2019 rev:57 rq:733936 version:5.15.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/plplot/plplot.changes 2019-06-06 18:17:38.512680414 +0200
+++ /work/SRC/openSUSE:Factory/.plplot.new.2352/plplot.changes 2019-09-30 16:01:12.552927567 +0200
@@ -1,0 +2,5 @@
+Thu Sep 26 12:21:47 UTC 2019 - olaf(a)aepfle.de
+
+- Add ExclusiveArch, based on build_ada in gcc.spec
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ plplot.spec ++++++
--- /var/tmp/diff_new_pack.i3ZdqD/_old 2019-09-30 16:01:14.164923277 +0200
+++ /var/tmp/diff_new_pack.i3ZdqD/_new 2019-09-30 16:01:14.164923277 +0200
@@ -52,6 +52,8 @@
Source0: http://download.sf.net/plplot/%{name}-%{version}.tar.gz
# PATCH-FIX-UPSTREAM plplot-5.9.9-ada-pic.patch idoenmez(a)suse.de -- Compile Ada code with -fPIC
Patch1: plplot-5.9.9-ada-pic.patch
+# List based on build_ada in gcc.spec
+ExclusiveArch: %ix86 x86_64 ppc ppc64 ppc64le s390 s390x ia64 aarch64 riscv64
BuildRequires: cmake >= 3.13.2
BuildRequires: fdupes
BuildRequires: freefont
1
0
Hello community,
here is the log from the commit of package mpv for openSUSE:Factory checked in at 2019-09-30 16:00:38
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/mpv (Old)
and /work/SRC/openSUSE:Factory/.mpv.new.2352 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "mpv"
Mon Sep 30 16:00:38 2019 rev:55 rq:733933 version:unknown
Changes:
--------
--- /work/SRC/openSUSE:Factory/mpv/mpv.changes 2019-09-25 08:19:29.618457384 +0200
+++ /work/SRC/openSUSE:Factory/.mpv.new.2352/mpv.changes 2019-09-30 16:01:09.940934519 +0200
@@ -1,0 +2,9 @@
+Sun Sep 29 15:08:46 UTC 2019 - idonmez(a)suse.com
+
+- Update to version 0.30.0+git.1569760020.c833c095d7:
+ * See https://github.com/mpv-player/mpv/compare/b6def652a4...c833c095d7
+ for the complete changelog.
+- Refresh mpv-make-ffmpeg-version-check-non-fatal.patch
+- Remove --enable-zsh-comp option, zsh completion is now always enabled
+
+-------------------------------------------------------------------
Old:
----
mpv-0.30.0+git.1569184750.b6def652a4.obscpio
New:
----
mpv-0.30.0+git.1569760020.c833c095d7.obscpio
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ mpv.spec ++++++
--- /var/tmp/diff_new_pack.gS6iHE/_old 2019-09-30 16:01:11.648929974 +0200
+++ /var/tmp/diff_new_pack.gS6iHE/_new 2019-09-30 16:01:11.652929962 +0200
@@ -21,7 +21,7 @@
%define _waf_ver 2.0.9
%define _mbc_ver 3.3.17
-%define _mpv_ver 0.30.0+git.1569184750.b6def652a4
+%define _mpv_ver 0.30.0+git.1569760020.c833c095d7
%define lname libmpv1
Name: mpv
Version: %{_mpv_ver}
@@ -227,7 +227,6 @@
--enable-dvdnav \
--enable-libsmbclient \
--enable-libmpv-shared \
- --enable-zsh-comp \
--enable-manpage-build \
--enable-libarchive \
--enable-dvbin \
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.gS6iHE/_old 2019-09-30 16:01:11.692929856 +0200
+++ /var/tmp/diff_new_pack.gS6iHE/_new 2019-09-30 16:01:11.692929856 +0200
@@ -1,4 +1,4 @@
<servicedata>
<service name="tar_scm">
<param name="url">https://github.com/mpv-player/mpv.git</param>
- <param name="changesrevision">b6def652a4b0db0f3514a44fec08f4be66187f3b</param></service></servicedata>
\ No newline at end of file
+ <param name="changesrevision">c833c095d7cf3cd5b0d9d2103e76be9c072a8b33</param></service></servicedata>
\ No newline at end of file
++++++ mpv-0.30.0+git.1569184750.b6def652a4.obscpio -> mpv-0.30.0+git.1569760020.c833c095d7.obscpio ++++++
/work/SRC/openSUSE:Factory/mpv/mpv-0.30.0+git.1569184750.b6def652a4.obscpio /work/SRC/openSUSE:Factory/.mpv.new.2352/mpv-0.30.0+git.1569760020.c833c095d7.obscpio differ: char 49, line 1
++++++ mpv-make-ffmpeg-version-check-non-fatal.patch ++++++
--- /var/tmp/diff_new_pack.gS6iHE/_old 2019-09-30 16:01:11.716929792 +0200
+++ /var/tmp/diff_new_pack.gS6iHE/_new 2019-09-30 16:01:11.716929792 +0200
@@ -1,30 +1,13 @@
-player: make ffmpeg/libav version check non-fatal
-
-We already enforce mpv rebuilds when ffmpeg/libav SONAME changes.
-
-Index: mpv-0.29.0/player/main.c
+Index: mpv/player/main.c
===================================================================
---- mpv-0.29.0.orig/player/main.c
-+++ mpv-0.29.0/player/main.c
-@@ -381,21 +381,6 @@ int mp_initialize(struct MPContext *mpct
+--- mpv.orig/player/main.c
++++ mpv/player/main.c
+@@ -382,7 +382,7 @@ int mp_initialize(struct MPContext *mpct
if (handle_help_options(mpctx))
return 1; // help
- if (!print_libav_versions(mp_null_log, 0)) {
-- // Using mismatched libraries can be legitimate, but even then it's
-- // a bad idea. We don't acknowledge its usefulness and stability.
-- // Distro maintainers who patch this out should be aware that mpv
-- // intentionally ignores ABI in some places where it's not possible to
-- // get by without violating it.
-- print_libav_versions(mpctx->log, MSGL_FATAL);
-- MP_FATAL(mpctx, "\nmpv was compiled against a different version of "
-- "FFmpeg/Libav than the shared\nlibrary it is linked against. "
-- "This is most likely a broken build and could\nresult in "
-- "misbehavior and crashes.\n\nmpv does not support this "
-- "configuration and will not run - rebuild mpv instead.\n");
-- return -1;
-- }
--
- if (!mpctx->playlist->first && !opts->player_idle_mode) {
- // nothing to play
- mp_print_version(mpctx->log, true);
++ if (0 && !print_libav_versions(mp_null_log, 0)) {
+ // Using mismatched libraries can be legitimate, but even then it's
+ // a bad idea. We don't acknowledge its usefulness and stability.
+ // Distro maintainers who patch this out should be aware that mpv
++++++ mpv.obsinfo ++++++
--- /var/tmp/diff_new_pack.gS6iHE/_old 2019-09-30 16:01:11.732929750 +0200
+++ /var/tmp/diff_new_pack.gS6iHE/_new 2019-09-30 16:01:11.732929750 +0200
@@ -1,5 +1,5 @@
name: mpv
-version: 0.30.0+git.1569184750.b6def652a4
-mtime: 1569184750
-commit: b6def652a4b0db0f3514a44fec08f4be66187f3b
+version: 0.30.0+git.1569760020.c833c095d7
+mtime: 1569760020
+commit: c833c095d7cf3cd5b0d9d2103e76be9c072a8b33
1
0
Hello community,
here is the log from the commit of package poedit for openSUSE:Factory checked in at 2019-09-30 16:00:33
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/poedit (Old)
and /work/SRC/openSUSE:Factory/.poedit.new.2352 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "poedit"
Mon Sep 30 16:00:33 2019 rev:52 rq:733929 version:2.2.4
Changes:
--------
--- /work/SRC/openSUSE:Factory/poedit/poedit.changes 2019-05-21 10:41:33.347041202 +0200
+++ /work/SRC/openSUSE:Factory/.poedit.new.2352/poedit.changes 2019-09-30 16:01:07.220941758 +0200
@@ -1,0 +2,15 @@
+Sun Sep 29 17:44:39 UTC 2019 - Antoine Belvire <antoine.belvire(a)opensuse.org>
+
+- Poedit 2.2.4:
+ * XLIFF improvements: handling of initial states,
+ non-translatable items and better visual representation of
+ placeholders.
+ * Upgraded bundled GNU gettext version to 0.20.1; in particular,
+ this adds support for ES6 template literals to the JavaScript
+ extractor.
+ * If a file has warnings or errors, show them immediately upon
+ opening instead of waiting for the user to explicitly validate
+ the file.
+ * Misc. small fixes and visual improvements.
+
+-------------------------------------------------------------------
Old:
----
poedit-2.2.3.tar.gz
New:
----
poedit-2.2.4.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ poedit.spec ++++++
--- /var/tmp/diff_new_pack.fZ4jBq/_old 2019-09-30 16:01:08.080939469 +0200
+++ /var/tmp/diff_new_pack.fZ4jBq/_new 2019-09-30 16:01:08.088939447 +0200
@@ -20,7 +20,7 @@
%bcond_without crowdin_integration
%bcond_with bundled_deps
Name: poedit
-Version: 2.2.3
+Version: 2.2.4
Release: 0
Summary: Gettext Catalog Editing Tool
License: MIT
++++++ poedit-2.2.3.tar.gz -> poedit-2.2.4.tar.gz ++++++
++++ 5272 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package wine for openSUSE:Factory checked in at 2019-09-30 16:00:30
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/wine (Old)
and /work/SRC/openSUSE:Factory/.wine.new.2352 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "wine"
Mon Sep 30 16:00:30 2019 rev:287 rq:733925 version:4.17
Changes:
--------
--- /work/SRC/openSUSE:Factory/wine/wine.changes 2019-09-26 20:43:54.806112942 +0200
+++ /work/SRC/openSUSE:Factory/.wine.new.2352/wine.changes 2019-09-30 16:01:03.400951923 +0200
@@ -1,0 +2,13 @@
+Sat Sep 28 08:46:05 UTC 2019 - Marcus Meissner <meissner(a)suse.com>
+
+- updated to 4.17 development release
+ - New version of the Mono engine with upstream fixes.
+ - Support for DXTn compressed textures.
+ - Initial version of the Windows Script runtime library.
+ - Support for XRandR device change notifications.
+ - Support for generating RSA keys.
+ - Stubless proxies support on ARM64.
+ - Various bug fixes.
+- updated staging to 4.17
+
+-------------------------------------------------------------------
Old:
----
wine-4.16.tar.xz
wine-4.16.tar.xz.sign
wine-staging-4.16.tar.xz
New:
----
wine-4.17.tar.xz
wine-4.17.tar.xz.sign
wine-staging-4.17.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ wine.spec ++++++
--- /var/tmp/diff_new_pack.a9KHyE/_old 2019-09-30 16:01:04.860948038 +0200
+++ /var/tmp/diff_new_pack.a9KHyE/_new 2019-09-30 16:01:04.872948006 +0200
@@ -29,8 +29,8 @@
%endif
# needs to be on top due to usage of %version macro below
-%define realver 4.16
-Version: 4.16
+%define realver 4.17
+Version: 4.17
Release: 0
%if "%{flavor}" != ""
@@ -147,7 +147,7 @@
ExclusiveArch: %{ix86} x86_64 ppc %arm aarch64
%if %{staging}
# upstream patch target version
-%define staging_version 4.16
+%define staging_version 4.17
Source100: wine-staging-%{staging_version}.tar.xz
BuildRequires: gtk3-devel
BuildRequires: libOSMesa-devel
++++++ _service ++++++
--- /var/tmp/diff_new_pack.a9KHyE/_old 2019-09-30 16:01:04.964947762 +0200
+++ /var/tmp/diff_new_pack.a9KHyE/_new 2019-09-30 16:01:04.968947750 +0200
@@ -3,7 +3,7 @@
<param name="versionformat">@PARENT_TAG@</param>
<param name="versionrewrite-pattern">v(.*)</param>
<param name="url">https://github.com/wine-staging/wine-staging.git</param>
- <param name="revision">refs/tags/v4.16</param>
+ <param name="revision">refs/tags/v4.17</param>
<param name="match-tag">v*.*</param>
<param name="scm">git</param>
</service>
++++++ wine-4.16.tar.xz -> wine-4.17.tar.xz ++++++
/work/SRC/openSUSE:Factory/wine/wine-4.16.tar.xz /work/SRC/openSUSE:Factory/.wine.new.2352/wine-4.17.tar.xz differ: char 26, line 1
++++++ wine-staging-4.16.tar.xz -> wine-staging-4.17.tar.xz ++++++
/work/SRC/openSUSE:Factory/wine/wine-staging-4.16.tar.xz /work/SRC/openSUSE:Factory/.wine.new.2352/wine-staging-4.17.tar.xz differ: char 26, line 1
1
0
Hello community,
here is the log from the commit of package normaliz for openSUSE:Factory checked in at 2019-09-30 16:00:26
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/normaliz (Old)
and /work/SRC/openSUSE:Factory/.normaliz.new.2352 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "normaliz"
Mon Sep 30 16:00:26 2019 rev:10 rq:733922 version:3.8.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/normaliz/normaliz.changes 2019-09-11 10:34:21.175314352 +0200
+++ /work/SRC/openSUSE:Factory/.normaliz.new.2352/normaliz.changes 2019-09-30 16:00:58.256965613 +0200
@@ -1,0 +2,6 @@
+Sun Sep 29 14:42:32 UTC 2019 - Jan Engelhardt <jengelh(a)inai.de>
+
+- Update to release 3.8.1
+ * This release fixes the codimension bug of 3.8.0.
+
+-------------------------------------------------------------------
Old:
----
normaliz-3.8.0.tar.gz
New:
----
normaliz-3.8.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ normaliz.spec ++++++
--- /var/tmp/diff_new_pack.uZtdC3/_old 2019-09-30 16:00:59.324962771 +0200
+++ /var/tmp/diff_new_pack.uZtdC3/_new 2019-09-30 16:00:59.348962707 +0200
@@ -18,7 +18,7 @@
Name: normaliz
%define lname libnormaliz3
-Version: 3.8.0
+Version: 3.8.1
Release: 0
Summary: Tools for computations in affine monoids and rational cones
License: GPL-3.0-or-later
++++++ normaliz-3.8.0.tar.gz -> normaliz-3.8.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/normaliz-3.8.0/CHANGELOG new/normaliz-3.8.1/CHANGELOG
--- old/normaliz-3.8.0/CHANGELOG 2019-09-09 14:36:05.000000000 +0200
+++ new/normaliz-3.8.1/CHANGELOG 2019-09-24 17:24:21.000000000 +0200
@@ -1,8 +1,13 @@
# ChangeLog
+## [3.8.1] 2019-09-30
+
+-- bugfix codimension in face lattice output
+-- update of Flint installation to avoid PIE clash
+
## [3.8.0] 2019-09-10
--- bugfix triangulation and conedecomposition
+-- bugfix triangulation and cone decomposition
-- computation of automorphism groups
-- Comutation goal Incidence added
-- SCIP removed
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/normaliz-3.8.0/INSTALL new/normaliz-3.8.1/INSTALL
--- old/normaliz-3.8.0/INSTALL 2019-09-09 10:59:49.000000000 +0200
+++ new/normaliz-3.8.1/INSTALL 2019-09-26 12:33:07.000000000 +0200
@@ -1,9 +1,7 @@
-See the Normaliz manual, doc/Normaliz.pdf, Chapter 10, for
+See the Normaliz manual, doc/Normaliz.pdf, Chapter 11, for
installation prerequisites (compiler, build tools, and libraries) and
how to install them using the install scripts in the distribution.
-Information on the location of packages and their versions follows immediately.
-
****************** ***
**** PACKAGES ****
****************** ***
@@ -19,7 +17,7 @@
MPFR and Flint as above
arb, https://github.com/fredrik-johansson/arb/archive/, version 2.16.0
-e-antic, http://www.labri.fr/perso/vdelecro/e-antic/, version 0.1.2
+e-antic, http://www.labri.fr/perso/vdelecro/e-antic/, version 0.1.3b
*********************
@@ -31,28 +29,21 @@
the user forces them to do otherwise.
The use of the install scripts is described in the Normaliz manual,
-doc/Normaliz.pdf, Section 10.2.
+doc/Normaliz.pdf, Section 11.2.
They installation can in addition be controlled by several environment variables:
NMZ_COMPILER: overrides the standard choice of compiler (g++ on Linux, clang++ on Mac)
NMZ_SHARED: if set, only shared libraries will be built; binaries depend on all of them.
-NMZ_PREFIX: if set defines the path for make install; by default it is "local" in the Normaliz directory
-NMZ_COMPILER: overrides the standard choice of compiler (g++ on Linux, clang++ on Mac)
+NMZ_PREFIX: if set defines the path for make install;
+ by default it is "local" in the Normaliz directory
WITH_GMP: sets the path to the GMP files
-NMZ_OPT_DIR: sets the directory to which the sources of the optional libraries are downloaded
+NMZ_OPT_DIR: sets the directory to which the sources of the optional libraries are downloaded;
+ by default it is the subdirectory "nmz_opt_lib" in the Normaliz directory
NMZ_MAC_STATIC: if set a Mac binary is built with dependency on libomp.dylib relative to the binary
NO_OPENMP: if set blocks OpenMP in the compilation of Normaliz (and e-antic)
-
-GMP_INSTALLDIR: sets the path to the GMP files
-
-NMZ_OPT_DIR: sets the directory to which the sources of the optional libraries are downloaded;
- by default it is the subdirectory "nmz_opt_lib"
-
-NMZ_MAC_STATIC: if set, a Mac binary is built with dependency on libomp.dylib relative to the binary
-
-EXTRA_FLAGS: One can further control the build process by setting variables of configure using this
+EXTRA_FLAGS: One can further control the build process of Normaliz by setting options for configure using this
variable, the contents of which are appended to the call to the configure script; see
./configure --help
@@ -81,9 +72,6 @@
IT IS MEANT FOR THE DEVELOPMENT OF NORMALIZ and the creation of static binaries under Linux.
-This Makefile is mainly used for development and debugging. It builds statically linked binaries
-with -g (can be changed in Makefile.configuration).
-
It is assumed that the optional libraries are installed in
local
@@ -100,9 +88,8 @@
make -f Makefile.classic
It should work without change of Makefile.classic or Makefile.configuration on many systems
-that have a system installation of the needed libraries. (We must use the name Makefile.classic since Makefile is occupied by autotools.)
-
-Without further arguments, Makefile.classic will build Normaliz with OpenMP and CoCoALib, but without Flint (see below how to change this behavior).
+that have a system installation of the needed libraries.
+(We must use the name Makefile.classic since Makefile is occupied by autotools.)
If everything is successful, then the executable file normaliz is
in the source directory. You may of course want to move them somewhere else.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/normaliz-3.8.0/Makefile.in new/normaliz-3.8.1/Makefile.in
--- old/normaliz-3.8.0/Makefile.in 2019-09-09 11:01:00.000000000 +0200
+++ new/normaliz-3.8.1/Makefile.in 2019-09-24 17:14:51.000000000 +0200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -595,7 +595,7 @@
! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
|| chmod -R a+r "$(distdir)"
dist-gzip: distdir
- tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
+ tardir=$(distdir) && $(am__tar) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).tar.gz
$(am__post_remove_distdir)
dist-bzip2: distdir
@@ -621,7 +621,7 @@
@echo WARNING: "Support for shar distribution archives is" \
"deprecated." >&2
@echo WARNING: "It will be removed altogether in Automake 2.0" >&2
- shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
+ shar $(distdir) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).shar.gz
$(am__post_remove_distdir)
dist-zip: distdir
-rm -f $(distdir).zip
@@ -638,7 +638,7 @@
distcheck: dist
case '$(DIST_ARCHIVES)' in \
*.tar.gz*) \
- GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\
+ eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).tar.gz | $(am__untar) ;;\
*.tar.bz2*) \
bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
*.tar.lz*) \
@@ -648,7 +648,7 @@
*.tar.Z*) \
uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
*.shar.gz*) \
- GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\
+ eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).shar.gz | unshar ;;\
*.zip*) \
unzip $(distdir).zip ;;\
esac
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/normaliz-3.8.0/aclocal.m4 new/normaliz-3.8.1/aclocal.m4
--- old/normaliz-3.8.0/aclocal.m4 2019-09-09 11:01:00.000000000 +0200
+++ new/normaliz-3.8.1/aclocal.m4 2019-09-24 17:14:51.000000000 +0200
@@ -1,6 +1,6 @@
-# generated automatically by aclocal 1.15 -*- Autoconf -*-
+# generated automatically by aclocal 1.15.1 -*- Autoconf -*-
-# Copyright (C) 1996-2014 Free Software Foundation, Inc.
+# Copyright (C) 1996-2017 Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -20,7 +20,7 @@
If you have problems, you may need to regenerate the build system entirely.
To do so, use the procedure documented by the package, typically 'autoreconf'.])])
-# Copyright (C) 2002-2014 Free Software Foundation, Inc.
+# Copyright (C) 2002-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -35,7 +35,7 @@
[am__api_version='1.15'
dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
dnl require some minimum version. Point them to the right macro.
-m4_if([$1], [1.15], [],
+m4_if([$1], [1.15.1], [],
[AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
])
@@ -51,14 +51,14 @@
# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.15])dnl
+[AM_AUTOMAKE_VERSION([1.15.1])dnl
m4_ifndef([AC_AUTOCONF_VERSION],
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
# AM_AUX_DIR_EXPAND -*- Autoconf -*-
-# Copyright (C) 2001-2014 Free Software Foundation, Inc.
+# Copyright (C) 2001-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -110,7 +110,7 @@
# AM_CONDITIONAL -*- Autoconf -*-
-# Copyright (C) 1997-2014 Free Software Foundation, Inc.
+# Copyright (C) 1997-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -141,7 +141,7 @@
Usually this means the macro was only invoked conditionally.]])
fi])])
-# Copyright (C) 1999-2014 Free Software Foundation, Inc.
+# Copyright (C) 1999-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -332,7 +332,7 @@
# Generate code to set up dependency tracking. -*- Autoconf -*-
-# Copyright (C) 1999-2014 Free Software Foundation, Inc.
+# Copyright (C) 1999-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -408,7 +408,7 @@
# Do all the work for Automake. -*- Autoconf -*-
-# Copyright (C) 1996-2014 Free Software Foundation, Inc.
+# Copyright (C) 1996-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -605,7 +605,7 @@
done
echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
-# Copyright (C) 2001-2014 Free Software Foundation, Inc.
+# Copyright (C) 2001-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -626,7 +626,7 @@
fi
AC_SUBST([install_sh])])
-# Copyright (C) 2003-2014 Free Software Foundation, Inc.
+# Copyright (C) 2003-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -647,7 +647,7 @@
# Check to see how 'make' treats includes. -*- Autoconf -*-
-# Copyright (C) 2001-2014 Free Software Foundation, Inc.
+# Copyright (C) 2001-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -697,7 +697,7 @@
# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
-# Copyright (C) 1997-2014 Free Software Foundation, Inc.
+# Copyright (C) 1997-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -736,7 +736,7 @@
# Helper functions for option handling. -*- Autoconf -*-
-# Copyright (C) 2001-2014 Free Software Foundation, Inc.
+# Copyright (C) 2001-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -765,7 +765,7 @@
AC_DEFUN([_AM_IF_OPTION],
[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
-# Copyright (C) 1999-2014 Free Software Foundation, Inc.
+# Copyright (C) 1999-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -812,7 +812,7 @@
# For backward compatibility.
AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])])
-# Copyright (C) 2001-2014 Free Software Foundation, Inc.
+# Copyright (C) 2001-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -831,7 +831,7 @@
# Check to make sure that the build environment is sane. -*- Autoconf -*-
-# Copyright (C) 1996-2014 Free Software Foundation, Inc.
+# Copyright (C) 1996-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -912,7 +912,7 @@
rm -f conftest.file
])
-# Copyright (C) 2009-2014 Free Software Foundation, Inc.
+# Copyright (C) 2009-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -972,7 +972,7 @@
_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
])
-# Copyright (C) 2001-2014 Free Software Foundation, Inc.
+# Copyright (C) 2001-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -1000,7 +1000,7 @@
INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
AC_SUBST([INSTALL_STRIP_PROGRAM])])
-# Copyright (C) 2006-2014 Free Software Foundation, Inc.
+# Copyright (C) 2006-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -1019,7 +1019,7 @@
# Check how to create a tarball. -*- Autoconf -*-
-# Copyright (C) 2004-2014 Free Software Foundation, Inc.
+# Copyright (C) 2004-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/normaliz-3.8.0/configure new/normaliz-3.8.1/configure
--- old/normaliz-3.8.0/configure 2019-09-09 11:01:01.000000000 +0200
+++ new/normaliz-3.8.1/configure 2019-09-24 17:14:51.000000000 +0200
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for Normaliz 3.8.0.
+# Generated by GNU Autoconf 2.69 for Normaliz 3.8.1.
#
#
# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
@@ -587,8 +587,8 @@
# Identity of this package.
PACKAGE_NAME='Normaliz'
PACKAGE_TARNAME='normaliz'
-PACKAGE_VERSION='3.8.0'
-PACKAGE_STRING='Normaliz 3.8.0'
+PACKAGE_VERSION='3.8.1'
+PACKAGE_STRING='Normaliz 3.8.1'
PACKAGE_BUGREPORT=''
PACKAGE_URL=''
@@ -1369,7 +1369,7 @@
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures Normaliz 3.8.0 to adapt to many kinds of systems.
+\`configure' configures Normaliz 3.8.1 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1440,7 +1440,7 @@
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of Normaliz 3.8.0:";;
+ short | recursive ) echo "Configuration of Normaliz 3.8.1:";;
esac
cat <<\_ACEOF
@@ -1573,7 +1573,7 @@
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-Normaliz configure 3.8.0
+Normaliz configure 3.8.1
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -1972,7 +1972,7 @@
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by Normaliz $as_me 3.8.0, which was
+It was created by Normaliz $as_me 3.8.1, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -2324,7 +2324,7 @@
LIBNORMALIZ_VERSION_MINOR=8
-LIBNORMALIZ_VERSION_PATCH=0
+LIBNORMALIZ_VERSION_PATCH=1
LIBNORMALIZ_VERSION_STRING="$PACKAGE_VERSION"
@@ -2843,7 +2843,7 @@
# Define the identity of the package.
PACKAGE='normaliz'
- VERSION='3.8.0'
+ VERSION='3.8.1'
cat >>confdefs.h <<_ACEOF
@@ -7422,7 +7422,7 @@
lt_cv_deplibs_check_method=pass_all
;;
-netbsd*)
+netbsd* | netbsdelf*-gnu)
if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
else
@@ -11125,6 +11125,9 @@
openbsd* | bitrig*)
with_gnu_ld=no
;;
+ linux* | k*bsd*-gnu | gnu*)
+ link_all_deplibs=no
+ ;;
esac
ld_shlibs=yes
@@ -11379,7 +11382,7 @@
fi
;;
- netbsd*)
+ netbsd* | netbsdelf*-gnu)
if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
wlarc=
@@ -12049,6 +12052,7 @@
if test yes = "$lt_cv_irix_exported_symbol"; then
archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations $wl-exports_file $wl$export_symbols -o $lib'
fi
+ link_all_deplibs=no
else
archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -exports_file $export_symbols -o $lib'
@@ -12070,7 +12074,7 @@
esac
;;
- netbsd*)
+ netbsd* | netbsdelf*-gnu)
if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
else
@@ -13185,6 +13189,18 @@
dynamic_linker='GNU/Linux ld.so'
;;
+netbsdelf*-gnu)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ dynamic_linker='NetBSD ld.elf_so'
+ ;;
+
netbsd*)
version_type=sunos
need_lib_prefix=no
@@ -16079,7 +16095,7 @@
;;
esac
;;
- netbsd*)
+ netbsd* | netbsdelf*-gnu)
;;
*qnx* | *nto*)
# QNX uses GNU C++, but need to define -shared option too, otherwise
@@ -16454,6 +16470,9 @@
;;
esac
;;
+ linux* | k*bsd*-gnu | gnu*)
+ link_all_deplibs_CXX=no
+ ;;
*)
export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
;;
@@ -17147,6 +17166,18 @@
dynamic_linker='GNU/Linux ld.so'
;;
+netbsdelf*-gnu)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ dynamic_linker='NetBSD ld.elf_so'
+ ;;
+
netbsd*)
version_type=sunos
need_lib_prefix=no
@@ -18571,7 +18602,7 @@
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by Normaliz $as_me 3.8.0, which was
+This file was extended by Normaliz $as_me 3.8.1, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -18628,7 +18659,7 @@
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-Normaliz config.status 3.8.0
+Normaliz config.status 3.8.1
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
@@ -19672,7 +19703,6 @@
cat <<_LT_EOF >> "$cfgfile"
#! $SHELL
# Generated automatically by $as_me ($PACKAGE) $VERSION
-# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
# NOTE: Changes made to this file will be lost: look at ltmain.sh.
# Provide generalized library-building support services.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/normaliz-3.8.0/configure.ac new/normaliz-3.8.1/configure.ac
--- old/normaliz-3.8.0/configure.ac 2019-09-09 10:59:49.000000000 +0200
+++ new/normaliz-3.8.1/configure.ac 2019-09-24 17:13:50.000000000 +0200
@@ -2,10 +2,10 @@
# Process this file with autoconf to produce a configure script.
AC_PREREQ(2.59)
-AC_INIT(Normaliz, 3.8.0)
+AC_INIT(Normaliz, 3.8.1)
AC_SUBST(LIBNORMALIZ_VERSION_MAJOR, 3)
AC_SUBST(LIBNORMALIZ_VERSION_MINOR, 8)
-AC_SUBST(LIBNORMALIZ_VERSION_PATCH, 0)
+AC_SUBST(LIBNORMALIZ_VERSION_PATCH, 1)
AC_SUBST(LIBNORMALIZ_VERSION_STRING, "$PACKAGE_VERSION")
AM_INIT_AUTOMAKE(foreign)
AC_CONFIG_FILES([Makefile
Binary files old/normaliz-3.8.0/doc/Normaliz.pdf and new/normaliz-3.8.1/doc/Normaliz.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/normaliz-3.8.0/doc/Normaliz.tex new/normaliz-3.8.1/doc/Normaliz.tex
--- old/normaliz-3.8.0/doc/Normaliz.tex 2019-09-09 10:59:49.000000000 +0200
+++ new/normaliz-3.8.1/doc/Normaliz.tex 2019-09-26 14:25:49.000000000 +0200
@@ -124,7 +124,7 @@
\def\ttt{\texttt}
-\def\version{3.8.0}
+\def\version{3.8.1}
\def\NmzDir{normaliz-\version}
@@ -329,6 +329,8 @@
\item SCIP removed.
\end{arab}
+3.8.1 fixes a bug in the face lattice output.
+
See the file \verb|CHANGELOG| in the basic package for more information on the history of Normaliz.
@@ -5552,9 +5554,9 @@
The \emph{rational automorphism group} $\Aut_\QQ(P)$ of a rational polyhedron $P\subset \RR^d$ is the group of all rational affine-linear transformations $\alpha$ of $\aff(P)$ that satisfy $\alpha(P)=P$. In general, this group is infinite. For example, if $P$ is a cone of positive dimension, then $\Aut_\QQ(P)$ contains the multiplicative group of positive rational numbers as a subgroup. At the other extreme, if $P$ is a polytope, then $\Aut_\QQ(P)$ is a finite group since every automorphism permutes the finitely many vertices of $P$ and is uniquely determined by its values on them. Often one is interested in subgroups of $\Aut_\QQ(P)$, for example the isometries in it or the automorphisms that permute the lattice points.
-Normaliz computes only subgroups of $\Aut(P)$ that permute a given finite set $G$ of ``generators''. This subgroup is denoted by $\Aut_\QQ(P;G)$. Bremner et al.\ \cite{Bremner} have shown how to compute $\Aut_\QQ(P;G)$ by reducing this task to finding the automorphisms of a weighted graph, and the latter task can be solved efficiently by nauty \cite{nauty}. We use the same approach.
+Normaliz computes only subgroups of $\Aut_\QQ(P)$ that permute a given finite set $G$ of ``generators''. This subgroup is denoted by $\Aut_\QQ(P;G)$. Bremner et al.\ \cite{Bremner} have shown how to compute $\Aut_\QQ(P;G)$ by reducing this task to finding the automorphisms of a weighted graph, and the latter task can be solved efficiently by nauty \cite{nauty}. We use the same approach.
-Every polyhedron defines its face lattice as a purely combinatorial,object, and it makes also sense to consider the automorphisms of the face lattice that we call \emph{combinatorial} automorphisms of $P$. All the automorphism groups that Normaliz computes are all subgroups of the combinatorial automorphism group in a natural way.
+Every polyhedron defines its face lattice as a purely combinatorial,object, and it makes also sense to consider the automorphisms of the face lattice that we call \emph{combinatorial} automorphisms of $P$. All the automorphism groups that Normaliz computes are subgroups of the combinatorial automorphism group in a natural way.
The automorphism group is contained in the extra output file \verb|<project>.aut|. Its contents are explained in the following.
@@ -5730,7 +5732,7 @@
\end{Verbatim}
This is (hopefully) expected: as an object of rational linear geometry, every rectangle is isomorphic to a square whose automorphism group (in any reasonable sense) is of order $8$, namely the dihedral group of this order.
-Note: if you ask for rational homomorphisms, Normaliz checks whether these are in fact integral (see next section). In this case the output file indicates the ``promotion''.
+Note: if you ask for rational automorphisms, Normaliz checks whether these are in fact integral (see next section). In this case the output file indicates the ``promotion''.
\subsubsection{Integral automorphisms}
@@ -7229,7 +7231,7 @@
Note that algebraic polyhedra cannot be defined by input files in this format.
-The optional output files of with suffix \verb|cst| are still in this format. Just create one and inspect it.
+The optional output files with suffix \verb|cst| are still in this format. Just create one and inspect it.
\section{libnormaliz}\label{libnorm}
@@ -8753,299 +8755,3 @@
Social Choice and Welfare \textbf{40} (2013), 1097--1110.
\end{thebibliography}
\end{document}
-
-\subsubsection{Hilbert basis of the recession cone}
-
-If one wants to compute the lattice points in many polyhedra with the same recession cone, it makes sense to use the precomputed \verb|hilbert_basis_rec_cone|. It requires inhomogeneous input. Note that it can only be used in the primal algorithm. In the dual algorithm it is ignored.
-
-In order to see the difference in computing time, run without \verb|hilbert_basis_rec_cone| and containing it (with \verb|-x=1|).
-
-\subsection{Remarks}
-
-In the output file we use the same terminology as in that of Normaliz, for example, ``basis elements of sublattice''. In QNormaliz these vectors form a basis of the vector subspace spanned by the cone that is computed. No reference to a sublattice is implied.
-
-As far as possible, we apply \verb|v_simplify| to the computation results. Note that it is not necessarily applied to all results. For example the generators of the cone (contained in the file with suffix \verb|tgn| or returned by \verb|getGenerators|) are not necessarily simplified. (In particular, they need not be identical to those computed by Normaliz (if applicable to the input), but can differ from them by order and rational factors.)
-
-Note that there is no way for QNormaliz to define an invariant volume function on subspaces. (In Normaliz the situation is different since determinants of invertible matrices over $\ZZ$ are equal to $\pm 1$.) Therefore QNormaliz does not define multiplicities. Together with triangulations, it computes determinants of the vectors spanning the simplicial cones. They are defined relative to the choice of basis shown as ``basis of sublattice'' if the cone is not fulldimensional. In the fulldimensional case QNormaliz uses the basis of unit vectors.
-
-\subsection{Using your own number field class}
-
-In order to specialize template \verb|Number| to your field of coefficients you must of course make it available via a suitable class library in the compilation process.
-
-In the code of \verb|QNormaliz| at least the following adaptations are necessary:
-\begin{enumerate}
- \item In \verb|Qnormaliz.cpp| add your the definition of \verb|Cone|.
- \item In \verb|libQnoraliz-templated.cpp| you must do the same replacement.
- \item If your number type has a convenient conversion \verb|to_string|, modify the specialization of the templated function \verb|toString| in \verb|Qinteger.h|.
- \item In \verb|Qvector_operations.cpp| you must replace the definition of \verb|v_simplify| by a version for your numbers.
-\end{enumerate}
-
-The last point is extremely important since the coefficients of the linear forms representing the support hyperplanes or the vectors representing the extreme rays tend to explode rapidly in size if not kept under control.
-
-For \verb|mpq_class| this means that we multiply vectors by the least common denominator of the components and then extract the gcd of the numerators. (If you really need a demonstration of what happens otherwise, switch off the function by an immediate \verb|return|, and run QNormaliz on the example \verb|small| in \verb|example|.)
-
-Normaliz offers two build systems:
-\begin{enumerate}
- \item \ttt{autotools},
- \item ``classical'' \ttt{make} using the ``handwritten'' \verb|Makefile.classic|.
-\end{enumerate}
-
-The basic steps are the same for both systems, namely
-\begin{itemize}
- \item configuration,
- \item compilation,
- \item installation.
-\end{itemize}
-The main difference is the way how the build system is configured whereas compilation and installation are essentially identical. In all cases the compilation of the example program maxsimplex in Appendix \ref{maxsimplex} is included.
-
-In the following we describe the basic steps of \verb|autotools| for Linux 64 bit under certain standard assumptions. Comments on Mac OS follow in Section \ref{mac} The file \verb|INSTALL| contains additional information. \verb|Makefile.classic| is only meant for Linux and the development of Normaliz.
-
-The \verb|autotools| scripts have been written by Matthias K\"oppe. The Normaliz team thanks him cordially for his generous help.
-
-\subsection{Prerequisites}
-
-We require some C++11 features (e.g. \verb|std::exception_ptr|), supported by:
-\begin{itemize}
- \item GNU g++ 4.4,
- \item clang++ 2.9,
- \item Intel icpc 12.0
-\end{itemize}
-See \url{https://github.com/Normaliz/Normaliz/issues/26} for a more detailed discussion.
-
-The mentioned compilers are also able to handle OpenMP 3.0, with the exception of clang++, there the first OpenMP support was introduced in 3.7.
-
-For compiling Normaliz the following libraries are needed:
-\begin{itemize}
- \item GMP including the C++ wrapper (libgmpxx and libgmp)
- \item Boost (headers only)
-\end{itemize}
-
-We will only discuss the basic steps in building Normaliz with the optional libraries being installed in standard locations; see the file \verb|source/INSTALL| for additional information, especially on how to use customized paths. The ``classical'' Makefile is meant for development. Therefore you should use the install scripts of the distribution.
-
-Any optional package that you want to use, must be installed before the compilation of Normaliz, independently of the method used for building Normaliz. The installation scripts mentioned below make and use directories within the Normaliz directory.
-
-\subsubsection{Linux}
-The standard compiler choice on Linux is \verb|g++|.
-
-On Ubunto we recommend
-\begin{Verbatim}
-sudo apt-get install tar g++ libgmp-dev libboost-dev curl make
-\end{Verbatim}
-for the basic installation of the required libraries (plus compiler).
-
-\subsubsection{Mac OS X}\label{mac}
-
-Currently Apple does not supply a compiler which supports OpenMP.
-We recommend the use of LLVM 3.9 or newer from Homebrew. See
-\url{http://brew.sh/} from where you can also download GMP and Boost:
-
-\begin{Verbatim}
-brew install gmp boost llvm
-\end{Verbatim}
-
-You also need to download and install the Xcode Command Line Tools from the AppStore.
-
-The install scripts discussed below \emph{require LLVM 3.9 or newer from Homebrew.}
-
-Note: Do not try to compile Normaliz with static libraries for Mac OS X.
-
-\subsection{Normaliz at a stroke}
-Navigate to the Normaliz directory. The command
-\begin{Verbatim}
-./install_normaliz_with_opt.sh
-\end{Verbatim}
-downloads the optional packages CoCoALib and Flint \cite{Flint}, installs them in a subdirectory of the Normaliz directory (details see below), and compiles Normaliz via \verb|autotools| with shared libraries. The executable \verb|normaliz| is placed into the directory \verb|source|.
-
-Optionally you can run
-\begin{Verbatim}
-sudo make install
-\end{Verbatim}
-It installs \verb|normaliz| and \verb|libnormaliz| in \verb|/usr/local|. If you don't run \verb|make install| you may have to copy \verb|normaliz| to a directory in your search path.
-
-The install script creates the subdirectory \verb|nmz_opt_lib| of the Normaliz directory. The sources of the optional libraries are stored in the subdirectories \verb|CoCoA_source|, \verb|Flint_source| and \verb|MPFR_source| of \verb|nmz_opt_lib|. Furthermore, subdirectories \verb|include| and \verb|lib| are created there, which, as usual, contain the header and library files of the optional libraries.
-You can delete the directories \verb|...source|, but don't touch \verb|lib| and \verb|include|.
-
-In the following we discuss the steps performed by \verb|install_normaliz_with_opt.sh| separately: installation of the optional packages and the compilation of Normaliz.
-
-If you don't want the optional packages or if you have them already,
-\begin{Verbatim}
-./install_normaliz.sh
-\end{Verbatim}
-compiles Normaliz (with the optional packages if these are found).
-
-\subsection{Optional packages}
-
-\subsubsection{CoCoALib}
-
-Normaliz can be built without CoCoALib, which is however necessary for computation of integrals and weighted Ehrhart series and, hence, for symmetrization. If you want to compile Normaliz with CoCoALib, install CoCoALib first by navigating to the Normaliz directory and typing the command
-\begin{Verbatim}
-./install_nmz_cocoa.sh
-\end{Verbatim}
-CoCoALib is downloaded and compiled as described above.
-
-\subsubsection{Flint}
-
-Flint does not extend the functionality of Normaliz, and is therefore truly optional.
-However, the ultrafast polynomial arithmetic of Flint is very useful if quasipolynomials with large periods come up in the computation of Hilbert series or weighted Ehrhart series. Install Flint (and MPFR) navigating to the Normaliz directory and typing the command
-\begin{Verbatim}
-./install_nmz_flint.sh
-\end{Verbatim}
-
-\subsection{autotools}
-
-To build Normaliz with the \verb|autotools| system, navigate to the Normaliz directory and issue the following sequence of commands:
-\begin{Verbatim}
-./configure
-make
-\end{Verbatim}
-This will compile Normaliz with CoCoALib and Flint, provided these are installed in a standard location like \verb|/usr/local|. (It is possible to customize the paths for the optional libraries; see \verb|source/INSTALL| or have a look at \verb|install_normaliz.sh|.)
-Now you will find \verb|normaliz| in the directory \verb|source| (and \verb|maxsimplex| in its directory). \verb|libnormaliz| is created as a shared library.
-
-The last, optional, step is
-\begin{Verbatim}
-sudo make install
-\end{Verbatim}
-It copies the header files, the library \verb|libnormaliz| and the executables (except \verb|maxsimplex|) into subdirectories of \verb|/usr/local|. It is of course possible to specify another installation path in the call of \verb|./configure|.
-
-Note: In case you have checked out Normaliz from GitHub, the very first step is \verb|./bootstrap.sh|.
-
-\subsection{Windows}
-
-One can compile Windows executables with the Cygwin port of GCC. Unfortunately it is not compatible to OpenMP.
-
-Using Visual Studio is a bit tricky. Microsoft's C++ compiler does not support OpenMP 3.0. The executables that are offered in the Normaliz distribution have been compiled with Intel icpc and a manually created project. Please contact us if you want to build Normaliz on Windows.
-
-Note that the statically linked Linux binaries run in the Linux subsystem of Windows 10. We have not yet tried to build Normaliz in it. And the Docker image is of course an excellent alternative.
-
-
-\subsection{autotools}
-
-To build Normaliz with the \verb|autotools| system, navigate to the Normaliz directory and issue the following sequence of commands:
-\begin{Verbatim}
-./configure
-make
-\end{Verbatim}
-This will compile Normaliz with CoCoALib and Flint, provided these are installed in a standard location like \verb|/usr/local|. (It is possible to customize the paths for the optional libraries; see \verb|source/INSTALL| or have a look at \verb|install_normaliz.sh|.)
-Now you will find \verb|normaliz| in the directory \verb|source| (and \verb|maxsimplex| in its directory). \verb|libnormaliz| is created as a shared library.
-
-The last, optional, step is
-\begin{Verbatim}
-sudo make install
-\end{Verbatim}
-It copies the header files, the library \verb|libnormaliz| and the executables (except \verb|maxsimplex|) into subdirectories of \verb|/usr/local|. It is of course possible to specify another installation path in the call of \verb|./configure|.
-
-Note: In case you have checked out Normaliz from GitHub, the very first step is \verb|./bootstrap.sh|.
-
-
-\subsection{Shift, denominator, quasipolynomial and multiplicity}\label{sdqm}
-
-In this section we discuss the interplay of shift, denominator of the grading and the quasipolynomial. As long as the denominator is $1$, the situation is very simple and no ambiguity arises. See Section \ref{inhom_ineq_ex}. We modify the example from that section as follows (\verb|InhomIneq_7.in|):
-\begin{Verbatim}
-amb_space 2
-inhom_inequalities 3
-0 2 1
-0 -2 3
-2 -2 3
-grading
-7 0
-\end{Verbatim}
-The output related to the grading is
-\begin{Verbatim}
-grading:
-7 0 0
-with denominator = 7
-
-
-module rank = 2
-multiplicity = 2
-
-Hilbert series:
-1 1
-denominator with 1 factors:
-1: 1
-
-shift = -1
-
-degree of Hilbert Series as rational function = -1
-
-Hilbert polynomial:
-2
-with common denominator = 1
-\end{Verbatim}
-The Hilbert series computed by hand is
-$$
-\frac{t^{-7}+1}{1-t^7}.
-$$
-
-We obtain it from the output as follows. The printed series is
-$$
-\frac{1+t}{1-t}.
-$$
-Now the shift is applied and yields
-$$
-\frac{t^{-1}+1}{1-t}.
-$$
-Finally we make the substitution $t\mapsto t^7$, and obtain the desired result.
-
-Now we add the complication $x_1+x_2\equiv -1 \mod 8$ (\verb|InhomIneq_7_8.in|):
-\begin{Verbatim}
-amb_space 2
-inhom_inequalities 3
-0 2 1
-0 -2 3
-2 -2 3
-grading
-7 0
-inhom_congruences 1
-1 1 1 8
-\end{Verbatim}
-The result:
-\begin{Verbatim}
-grading:
-7 0 0
-with denominator = 7
-
-
-module rank = 2
-multiplicity = 2
-
-Hilbert series:
-1 0 0 0 0 0 0 1
-denominator with 1 factors:
-8: 1
-
-shift = -1
-
-degree of Hilbert Series as rational function = -2
-
-The numerator of the Hilbert series is symmetric.
-
-Hilbert series with cyclotomic denominator:
--1 1 -1 1 -1 1 -1
-cyclotomic denominator:
-1: 1 4: 1 8: 1
-
-Hilbert quasi-polynomial of period 8:
-0: 0 4: 0
-1: 0 5: 0
-2: 0 6: 1
-3: 0 7: 1
-with common denominator = 1
-\end{Verbatim}
-The printed Hilbert series is
-$$
-\frac{1+t^7}{1-t^8}.
-$$
-The application of the shift yields
-$$
-\frac{t^{-1}+t^6}{1-t^8}.
-$$
-the correct result for the divided grading. \emph{The Hilbert quasipolynomial is computed for the divided grading}, as already explained in Section \ref{cong_ex}. As a last step, we can apply the substitution $t\mapsto t^7$ in order obtain the Hilbert series
-$$
-\frac{t^{-7}+t^{42}}{1-t^{56}}
-$$
-for the original grading.
-
-Like the quasipolynomial, \emph{the multiplicity is computed for the divided grading}. The definition of multiplicity is discussed in Section \ref{AppHilbertSeries}, and we leave it to the reader to interpret the values above in its light.
-
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/normaliz-3.8.0/example/Makefile.in new/normaliz-3.8.1/example/Makefile.in
--- old/normaliz-3.8.0/example/Makefile.in 2019-09-09 11:01:00.000000000 +0200
+++ new/normaliz-3.8.1/example/Makefile.in 2019-09-24 17:14:51.000000000 +0200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/normaliz-3.8.0/install_scripts_opt/install_nmz_flint.sh new/normaliz-3.8.1/install_scripts_opt/install_nmz_flint.sh
--- old/normaliz-3.8.0/install_scripts_opt/install_nmz_flint.sh 2019-04-12 15:39:47.000000000 +0200
+++ new/normaliz-3.8.1/install_scripts_opt/install_nmz_flint.sh 2019-09-25 09:25:39.000000000 +0200
@@ -58,5 +58,9 @@
if [ ! -f Makefile ]; then
./configure --prefix=${PREFIX} --with-mpfr=${PREFIX} $WITH_GMP $EXTRA_FLINT_FLAGS
fi
+# patch to avoid PIE clash in Ubuntu >= 16-10
+if [[ $OSTYPE == "linux-gnu" ]]; then
+ sed -i s/"-Wl,"// Makefile.subdirs
+fi
make -j4 verbose
make install
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/normaliz-3.8.0/install_scripts_opt/install_nmz_nauty.sh new/normaliz-3.8.1/install_scripts_opt/install_nmz_nauty.sh
--- old/normaliz-3.8.0/install_scripts_opt/install_nmz_nauty.sh 2019-09-09 10:59:49.000000000 +0200
+++ new/normaliz-3.8.1/install_scripts_opt/install_nmz_nauty.sh 2019-09-26 12:13:45.000000000 +0200
@@ -46,7 +46,7 @@
./configure
-make all -j4 CFLAGS=-fPIC
+make all -j4 CFLAGS="-fPIC -O3 -mpopcnt -march=native"
mkdir -p ${INSTALLDIR}/include
mkdir -p ${INSTALLDIR}/include/nauty
cp nauty.h ${INSTALLDIR}/include/nauty
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/normaliz-3.8.0/m4/libtool.m4 new/normaliz-3.8.1/m4/libtool.m4
--- old/normaliz-3.8.0/m4/libtool.m4 2019-08-25 10:23:53.000000000 +0200
+++ new/normaliz-3.8.1/m4/libtool.m4 2019-09-23 11:19:03.000000000 +0200
@@ -728,7 +728,6 @@
cat <<_LT_EOF >> "$cfgfile"
#! $SHELL
# Generated automatically by $as_me ($PACKAGE) $VERSION
-# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
# NOTE: Changes made to this file will be lost: look at ltmain.sh.
# Provide generalized library-building support services.
@@ -2887,6 +2886,18 @@
dynamic_linker='GNU/Linux ld.so'
;;
+netbsdelf*-gnu)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ dynamic_linker='NetBSD ld.elf_so'
+ ;;
+
netbsd*)
version_type=sunos
need_lib_prefix=no
@@ -3546,7 +3557,7 @@
lt_cv_deplibs_check_method=pass_all
;;
-netbsd*)
+netbsd* | netbsdelf*-gnu)
if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
else
@@ -4424,7 +4435,7 @@
;;
esac
;;
- netbsd*)
+ netbsd* | netbsdelf*-gnu)
;;
*qnx* | *nto*)
# QNX uses GNU C++, but need to define -shared option too, otherwise
@@ -4936,6 +4947,9 @@
;;
esac
;;
+ linux* | k*bsd*-gnu | gnu*)
+ _LT_TAGVAR(link_all_deplibs, $1)=no
+ ;;
*)
_LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
;;
@@ -4998,6 +5012,9 @@
openbsd* | bitrig*)
with_gnu_ld=no
;;
+ linux* | k*bsd*-gnu | gnu*)
+ _LT_TAGVAR(link_all_deplibs, $1)=no
+ ;;
esac
_LT_TAGVAR(ld_shlibs, $1)=yes
@@ -5252,7 +5269,7 @@
fi
;;
- netbsd*)
+ netbsd* | netbsdelf*-gnu)
if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
_LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
wlarc=
@@ -5773,6 +5790,7 @@
if test yes = "$lt_cv_irix_exported_symbol"; then
_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations $wl-exports_file $wl$export_symbols -o $lib'
fi
+ _LT_TAGVAR(link_all_deplibs, $1)=no
else
_LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -exports_file $export_symbols -o $lib'
@@ -5794,7 +5812,7 @@
esac
;;
- netbsd*)
+ netbsd* | netbsdelf*-gnu)
if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
_LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
else
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/normaliz-3.8.0/source/Makefile.am new/normaliz-3.8.1/source/Makefile.am
--- old/normaliz-3.8.0/source/Makefile.am 2019-09-09 10:59:49.000000000 +0200
+++ new/normaliz-3.8.1/source/Makefile.am 2019-09-24 17:14:21.000000000 +0200
@@ -38,7 +38,7 @@
noinst_HEADERS += libnormaliz/input_type.cpp libnormaliz/integer.cpp libnormaliz/vector_operations.cpp libnormaliz/matrix.cpp libnormaliz/simplex.cpp libnormaliz/list_operations.cpp libnormaliz/sublattice_representation.cpp libnormaliz/reduction.cpp libnormaliz/full_cone.cpp libnormaliz/cone_dual_mode.cpp libnormaliz/cone.cpp libnormaliz/project_and_lift.cpp libnormaliz/HilbertSeries.cpp libnormaliz/cone_property.cpp libnormaliz/bottom.cpp libnormaliz/descent.cpp libnormaliz/output.cpp libnormaliz/general.cpp
noinst_HEADERS += libnormaliz/nmz_polynomial.cpp libnormaliz/nmz_integral.cpp libnormaliz/automorph.cpp libnormaliz/nmz_nauty.cpp
-libnormaliz_la_LDFLAGS = -no-undefined -version-info 11:0:8
+libnormaliz_la_LDFLAGS = -no-undefined -version-info 11:1:8
## Conjecture: x.y.z yields x-z.z.y
libnormaliz_la_LIBADD = $(GMP_LDFLAGS) -lgmpxx -lgmp
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/normaliz-3.8.0/source/Makefile.in new/normaliz-3.8.1/source/Makefile.in
--- old/normaliz-3.8.0/source/Makefile.in 2019-09-09 11:01:00.000000000 +0200
+++ new/normaliz-3.8.1/source/Makefile.in 2019-09-24 17:14:51.000000000 +0200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -416,7 +416,7 @@
libnormaliz/general.cpp libnormaliz/nmz_polynomial.cpp \
libnormaliz/nmz_integral.cpp libnormaliz/automorph.cpp \
libnormaliz/nmz_nauty.cpp options.h input.cpp options.cpp
-libnormaliz_la_LDFLAGS = -no-undefined -version-info 11:0:8
+libnormaliz_la_LDFLAGS = -no-undefined -version-info 11:1:8
libnormaliz_la_LIBADD = $(GMP_LDFLAGS) -lgmpxx -lgmp
normaliz_SOURCES = normaliz.cpp
normaliz_LDADD = libnormaliz.la
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/normaliz-3.8.0/source/libnormaliz/cone.cpp new/normaliz-3.8.1/source/libnormaliz/cone.cpp
--- old/normaliz-3.8.0/source/libnormaliz/cone.cpp 2019-09-09 10:59:49.000000000 +0200
+++ new/normaliz-3.8.1/source/libnormaliz/cone.cpp 2019-09-24 17:20:08.000000000 +0200
@@ -7337,7 +7337,7 @@
if(ToCompute.test(ConeProperty::FaceLattice))
for(auto H=WorkFaces.begin();H!=WorkFaces.end();++H)
- FaceLattice[H->first]=codimension_so_far;
+ FaceLattice[H->first]=codimension_so_far-1;
WorkFaces.clear();
if(NewFaces.empty())
break;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/normaliz-3.8.0/source/libnormaliz/version.h new/normaliz-3.8.1/source/libnormaliz/version.h
--- old/normaliz-3.8.0/source/libnormaliz/version.h 2019-09-09 11:01:06.000000000 +0200
+++ new/normaliz-3.8.1/source/libnormaliz/version.h 2019-09-24 17:14:57.000000000 +0200
@@ -3,8 +3,8 @@
#define NMZ_VERSION_MAJOR 3
#define NMZ_VERSION_MINOR 8
-#define NMZ_VERSION_PATCH 0
-#define NMZ_VERSION 3.8.0
+#define NMZ_VERSION_PATCH 1
+#define NMZ_VERSION 3.8.1
#define NMZ_RELEASE (NMZ_VERSION_MAJOR * 10000 + NMZ_VERSION_MINOR * 100 + NMZ_VERSION_PATCH)
namespace libnormaliz {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/normaliz-3.8.0/source/normaliz.cpp new/normaliz-3.8.1/source/normaliz.cpp
--- old/normaliz-3.8.0/source/normaliz.cpp 2019-09-09 14:25:02.000000000 +0200
+++ new/normaliz-3.8.1/source/normaliz.cpp 2019-09-24 17:19:45.000000000 +0200
@@ -51,7 +51,7 @@
long CCCCCCC=0;
void printCopying() {
- cout<<"Copyright (C) 2007-2018 The Normaliz Team, University of Osnabrueck."<<endl
+ cout<<"Copyright (C) 2007-2019 The Normaliz Team, University of Osnabrueck."<<endl
<<"This program comes with ABSOLUTELY NO WARRANTY; This is free software,"<<endl
<<"and you are welcome to redistribute it under certain conditions;"<<endl
<<"See COPYING for details."<<endl;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/normaliz-3.8.0/test/Makefile.classic new/normaliz-3.8.1/test/Makefile.classic
--- old/normaliz-3.8.0/test/Makefile.classic 2019-09-09 10:59:49.000000000 +0200
+++ new/normaliz-3.8.1/test/Makefile.classic 2019-09-24 17:55:40.000000000 +0200
@@ -52,7 +52,7 @@
TEST_FILES_STD = $(patsubst %.in,%.diff,$(wildcard test-StDec/*.in))
TEST_FILES_STD_DEC = $(patsubst %.in,%.dec.diff,$(wildcard test-StDec/*.in))
-all: tests testv testn test1 testN testq testp testd testh testdefault testd1 testdnn testr1 testM testw testH testpr testdeg testDec testStDec
+all: tests testv testn test1 testN testq testp testd testh testdefault testd1 testdnn testr1 testM testw testH testpr testdeg testDec testStDec testSpecial
testdeg: $(TEST_FILES_DEG)
tests: $(TEST_FILES_S)
@@ -194,4 +194,4 @@
.PRECIOUS: test-StDec/*.dec
.PRECIOUS: test-nf/%.out test-nf-hh/%.out test-nf-hh/%.IntHull.out test-Qdegenerate/%.out
.PHONY: all testdefault tests testn test1 testN testw testp testh testd testd1 testdnn testH clean distclean testInt testSpecial testdeg
-.PHONY: testnf testnfH testdegQ testAut testnfAut testStDec
\ No newline at end of file
+.PHONY: testnf testnfH testdegQ testAut testnfAut testStDec
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/normaliz-3.8.0/test/Makefile.in new/normaliz-3.8.1/test/Makefile.in
--- old/normaliz-3.8.0/test/Makefile.in 2019-09-09 11:01:00.000000000 +0200
+++ new/normaliz-3.8.1/test/Makefile.in 2019-09-24 17:14:51.000000000 +0200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/normaliz-3.8.0/test/test-Special/5x5PF.in new/normaliz-3.8.1/test/test-Special/5x5PF.in
--- old/normaliz-3.8.0/test/test-Special/5x5PF.in 2018-03-20 02:01:37.000000000 +0100
+++ new/normaliz-3.8.1/test/test-Special/5x5PF.in 2019-09-24 18:06:35.000000000 +0200
@@ -13,6 +13,7 @@
1 1 1 1 0 0 0 0 -1 0 0 0 -1 0 0 0 -1 0 0 0 -1 0 0 0 0
grading
1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+Deg1Elements
ProjectionFloat
IsGorenstein
NoExtRaysOutput
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/normaliz-3.8.0/test/test-Special/5x5PF.ref new/normaliz-3.8.1/test/test-Special/5x5PF.ref
--- old/normaliz-3.8.0/test/test-Special/5x5PF.ref 2018-03-20 02:01:37.000000000 +0100
+++ new/normaliz-3.8.1/test/test-Special/5x5PF.ref 2019-09-25 09:23:40.000000000 +0200
@@ -1,4 +1,4 @@
-20 Hilbert basis elements of degree 1
+20 lattice points in polytope (Hilbert basis elements of degree 1)
1940 extreme rays
25 support hyperplanes
@@ -18,7 +18,7 @@
***********************************************************************
-20 Hilbert basis elements of degree 1:
+20 lattice points in polytope (Hilbert basis elements of degree 1):
0 0 0 0 1 0 0 1 0 0 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0
0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 0
0 0 0 0 1 0 1 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 1 0
@@ -68,31 +68,31 @@
1 3 3 3 5 -2 -2 -1 0 0 -2 -1 -1 -1 0 -2 0 0 -2 0 0 0 0 0 0
10 equations:
- -1 0 0 0 1 -1 0 0 1 0 -1 0 1 0 0 -1 1 0 0 0 0 0 0 0 0
- 0 -1 -1 -1 -1 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0
- 1 0 0 0 0 0 -1 -1 -1 -1 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0
- 0 1 0 0 -1 0 1 0 -1 0 0 1 -1 0 0 0 0 0 0 0 -1 1 0 0 0
- -1 0 0 0 0 -1 0 0 0 0 0 1 1 1 1 -1 0 0 0 0 -1 0 0 0 0
- 0 0 1 0 -1 0 0 1 -1 0 0 0 0 0 0 0 -1 1 0 0 -1 0 1 0 0
- -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 0 1 1 1 1 -1 0 0 0 0
- 0 0 0 1 -1 0 0 0 0 0 0 0 -1 1 0 0 -1 0 1 0 -1 0 0 1 0
- 0 0 0 0 0 0 0 0 -1 1 0 0 -1 0 1 0 -1 0 0 1 -1 0 0 0 1
- 1 0 0 0 -1 0 1 0 -1 0 0 0 0 0 0 0 -1 0 1 0 -1 0 0 0 1
-
-15 basis elements of lattice:
- 0 -1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 -1 0 0
- 0 -1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 -1 0
- 0 0 0 0 0 0 0 1 0 -1 0 0 0 0 0 0 0 -1 0 1 0 0 0 0 0
- 0 0 0 0 0 -1 0 0 0 1 0 0 0 0 0 1 0 0 0 -1 0 0 0 0 0
- 0 0 0 0 0 -1 0 0 0 1 1 0 0 0 -1 0 0 0 0 0 0 0 0 0 0
- -1 1 0 0 0 1 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 0 -1 0 0 1
- 0 -1 0 0 1 1 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 -1 1 0 0 0
- 0 0 0 1 0 0 1 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 0 0 0
- 0 0 0 1 0 0 0 1 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1
- 1 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0 0 0 1 0 0 0
- 0 0 0 0 0 0 0 0 0 0 0 0 0 1 -1 0 0 -1 0 1 0 0 1 -1 0
- 0 0 0 0 0 0 0 0 0 0 0 1 0 0 -1 0 0 -1 0 1 0 -1 1 0 0
- 0 -1 0 0 0 0 0 -1 0 0 0 0 0 0 -1 0 0 0 -1 0 -1 0 0 0 0
- 0 0 0 0 0 0 -1 1 0 0 0 1 0 0 -1 0 0 0 0 0 0 0 -1 0 1
- 0 0 0 1 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 1 0 0 0
+ 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 -1 -1 -1 -1 0
+ 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 -1 0 -1 -1 -1
+ 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 -1 -1 0 -1 -1
+ 0 0 0 1 0 0 0 0 0 1 0 0 -1 1 1 0 -1 0 1 1 -2 -1 -1 0 0
+ 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 -1 -1 -1 -1 0
+ 0 0 0 0 0 1 1 1 0 2 0 0 -1 0 1 0 -1 0 0 1 -2 -1 -1 -1 0
+ 0 0 0 0 0 0 2 1 0 2 0 1 1 1 2 0 0 1 2 2 -5 -3 -3 -3 -1
+ 0 0 0 0 0 0 0 0 1 -1 0 0 1 0 -1 0 1 0 0 -1 1 0 0 0 -1
+ 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 -1 -1 -1 -1 -1
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 -1 -1 -1 -1 -1
+
+15 basis elements of generated lattice:
+ 1 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 1 1 0 -1 0 0 0 1 0
+ 0 1 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 1 1 -1 1 0 0 0 0
+ 0 0 1 0 0 0 0 0 0 1 0 0 0 0 1 0 0 1 1 -1 1 1 -1 0 0
+ 0 0 0 1 0 0 0 0 0 1 0 0 0 0 1 0 0 1 1 -1 1 1 0 -1 0
+ 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 -1 1 2 -1 1 2 0 -1 -1
+ 0 0 0 0 0 1 0 0 0 -1 0 0 0 0 0 0 1 0 -1 0 -1 -1 0 1 1
+ 0 0 0 0 0 0 1 0 0 -1 0 0 0 0 0 0 0 0 -1 1 0 -1 0 1 0
+ 0 0 0 0 0 0 0 1 0 -1 0 0 0 0 0 0 0 1 -1 0 0 0 -2 1 1
+ 0 0 0 0 0 0 0 0 1 -1 0 0 0 0 0 0 -1 0 0 1 0 1 0 -1 0
+ 0 0 0 0 0 0 0 0 0 0 1 0 0 0 -1 0 1 0 -1 0 -1 -1 0 1 1
+ 0 0 0 0 0 0 0 0 0 0 0 1 0 0 -1 0 0 1 -1 0 0 -1 -1 1 1
+ 0 0 0 0 0 0 0 0 0 0 0 0 1 0 -1 0 -1 1 -1 1 0 1 -2 1 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 1 -1 0 0 1 -1 0 0 0 -1 0 1
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 -1 -1 -1 -1 0 1 1
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 -1 -1 0 0 -2 1 1
1
0
Hello community,
here is the log from the commit of package stellarium for openSUSE:Factory checked in at 2019-09-30 16:00:12
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/stellarium (Old)
and /work/SRC/openSUSE:Factory/.stellarium.new.2352 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "stellarium"
Mon Sep 30 16:00:12 2019 rev:37 rq:733912 version:0.19.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/stellarium/stellarium.changes 2019-06-24 21:53:22.080106236 +0200
+++ /work/SRC/openSUSE:Factory/.stellarium.new.2352/stellarium.changes 2019-09-30 16:00:48.680991097 +0200
@@ -1,0 +2,8 @@
+Sun Sep 29 10:32:29 UTC 2019 - Arjen de Korte <suse+build(a)de-korte.org>
+
+- Update to version 0.19.2
+ * The second bugfix release for series 0.19
+ Numerous bug fixes; see here:
+ https://github.com/Stellarium/stellarium/releases/tag/v0.19.2
+
+-------------------------------------------------------------------
Old:
----
stellarium-0.19.1.tar.gz
stellarium-0.19.1.tar.gz.asc
New:
----
stellarium-0.19.2.tar.gz
stellarium-0.19.2.tar.gz.asc
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ stellarium.spec ++++++
--- /var/tmp/diff_new_pack.IFnMVa/_old 2019-09-30 16:00:56.012971585 +0200
+++ /var/tmp/diff_new_pack.IFnMVa/_new 2019-09-30 16:00:56.020971564 +0200
@@ -17,7 +17,7 @@
Name: stellarium
-Version: 0.19.1
+Version: 0.19.2
Release: 0
Summary: Astronomical Sky Simulator
License: GPL-2.0-or-later
++++++ stellarium-0.19.1.tar.gz -> stellarium-0.19.2.tar.gz ++++++
/work/SRC/openSUSE:Factory/stellarium/stellarium-0.19.1.tar.gz /work/SRC/openSUSE:Factory/.stellarium.new.2352/stellarium-0.19.2.tar.gz differ: char 5, line 1
1
0
Hello community,
here is the log from the commit of package timidity for openSUSE:Factory checked in at 2019-09-30 16:00:05
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/timidity (Old)
and /work/SRC/openSUSE:Factory/.timidity.new.2352 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "timidity"
Mon Sep 30 16:00:05 2019 rev:41 rq:733911 version:2.14.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/timidity/timidity.changes 2018-02-20 17:59:47.680269935 +0100
+++ /work/SRC/openSUSE:Factory/.timidity.new.2352/timidity.changes 2019-09-30 16:00:16.329077195 +0200
@@ -1,0 +2,5 @@
+Mon Sep 23 14:25:41 CEST 2019 - tiwai(a)suse.de
+
+- Disable LTO for avoiding segfaults with ALSA backend (boo#1149461)
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ timidity.spec ++++++
--- /var/tmp/diff_new_pack.9P8Ol0/_old 2019-09-30 16:00:17.329074534 +0200
+++ /var/tmp/diff_new_pack.9P8Ol0/_new 2019-09-30 16:00:17.333074523 +0200
@@ -1,7 +1,7 @@
#
# spec file for package timidity
#
-# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -12,7 +12,7 @@
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
@@ -23,7 +23,7 @@
Name: timidity
Summary: Software Synthesizer and MIDI Player
-License: GPL-2.0+
+License: GPL-2.0-or-later
Group: Productivity/Multimedia/Sound/Midi
Version: 2.14.0
Release: 0
@@ -82,6 +82,8 @@
done
%build
+# disable LTO for avoiding segfaults with ALSA backend (boo#1149461)
+%define _lto_cflags %{nil}
echo >> autoconf/arts.m4
autoreconf --force --install
%configure \
1
0
Hello community,
here is the log from the commit of package charybdis for openSUSE:Factory checked in at 2019-09-30 15:59:58
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/charybdis (Old)
and /work/SRC/openSUSE:Factory/.charybdis.new.2352 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "charybdis"
Mon Sep 30 15:59:58 2019 rev:7 rq:733905 version:4.1.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/charybdis/charybdis.changes 2019-08-27 10:22:34.515934815 +0200
+++ /work/SRC/openSUSE:Factory/.charybdis.new.2352/charybdis.changes 2019-09-30 16:00:10.481092758 +0200
@@ -1,0 +2,6 @@
+Sun Sep 29 07:45:15 UTC 2019 - Jan Engelhardt <jengelh(a)inai.de>
+
+- Update to release 4.1.2
+ * Do not corrupt usermodes on module unload/reload.
+
+-------------------------------------------------------------------
Old:
----
charybdis-4.1.1.tar.gz
New:
----
charybdis-4.1.2.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ charybdis.spec ++++++
--- /var/tmp/diff_new_pack.yacFMq/_old 2019-09-30 16:00:12.357087765 +0200
+++ /var/tmp/diff_new_pack.yacFMq/_new 2019-09-30 16:00:12.361087755 +0200
@@ -17,7 +17,7 @@
Name: charybdis
-Version: 4.1.1
+Version: 4.1.2
Release: 0
Summary: Scalable IRCv3.2 compliant chat daemon
License: GPL-2.0-or-later
++++++ charybdis-4.1.1.tar.gz -> charybdis-4.1.2.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/charybdis-charybdis-4.1.1/.gitignore new/charybdis-charybdis-4.1.2/.gitignore
--- old/charybdis-charybdis-4.1.1/.gitignore 2018-08-16 00:03:50.000000000 +0200
+++ new/charybdis-charybdis-4.1.2/.gitignore 2019-08-31 22:12:44.000000000 +0200
@@ -62,6 +62,7 @@
tests/rb_dictionary1
tests/rb_snprintf_append1
tests/rb_snprintf_try_append1
+tests/sasl_abort1
tests/send1
tests/serv_connect1
tests/substitution1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/charybdis-charybdis-4.1.1/.travis.yml new/charybdis-charybdis-4.1.2/.travis.yml
--- old/charybdis-charybdis-4.1.1/.travis.yml 2018-08-16 00:03:50.000000000 +0200
+++ new/charybdis-charybdis-4.1.2/.travis.yml 2019-08-31 22:12:44.000000000 +0200
@@ -55,5 +55,6 @@
- bash autogen.sh
- CC=$COMPILER ./configure --with-shared-sqlite
- make -j4
+ - "if [ ${TRAVIS_OS_NAME} != 'osx' ]; then make check; fi"
- make install
- "if [ ${TRAVIS_OS_NAME} != 'osx' ]; then make -C doc/oper-guide html man info; fi"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/charybdis-charybdis-4.1.1/NEWS.md new/charybdis-charybdis-4.1.2/NEWS.md
--- old/charybdis-charybdis-4.1.1/NEWS.md 2018-08-16 00:03:50.000000000 +0200
+++ new/charybdis-charybdis-4.1.2/NEWS.md 2019-08-31 22:12:44.000000000 +0200
@@ -1,8 +1,13 @@
# News
-This is charybdis 4.1.1, Copyright (c) 2005-2018 Charybdis team.
+This is charybdis 4.1.2, Copyright (c) 2005-2018 Charybdis team.
See LICENSE for licensing details (GPL v2).
+## charybdis-4.1.2
+
+### user
+- src/s_user.c: don't corrupt usermodes on module unload/reload
+
## charybdis-4.1.1
### security
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/charybdis-charybdis-4.1.1/authd/dns.c new/charybdis-charybdis-4.1.2/authd/dns.c
--- old/charybdis-charybdis-4.1.1/authd/dns.c 2018-08-16 00:03:50.000000000 +0200
+++ new/charybdis-charybdis-4.1.2/authd/dns.c 2019-08-31 22:12:44.000000000 +0200
@@ -73,7 +73,7 @@
struct dns_query *query = rb_malloc(sizeof(struct dns_query));
int aftype;
- if(!rb_inet_pton_sock(ip, (struct sockaddr *)&query->addr))
+ if(!rb_inet_pton_sock(ip, &query->addr))
{
rb_free(query);
return NULL;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/charybdis-charybdis-4.1.1/authd/provider.c new/charybdis-charybdis-4.1.2/authd/provider.c
--- old/charybdis-charybdis-4.1.1/authd/provider.c 2018-08-16 00:03:50.000000000 +0200
+++ new/charybdis-charybdis-4.1.2/authd/provider.c 2019-08-31 22:12:44.000000000 +0200
@@ -319,12 +319,12 @@
rb_strlcpy(auth->l_ip, l_ip, sizeof(auth->l_ip));
auth->l_port = (uint16_t)atoi(l_port); /* should be safe */
- (void) rb_inet_pton_sock(l_ip, (struct sockaddr *)&auth->l_addr);
+ (void) rb_inet_pton_sock(l_ip, &auth->l_addr);
SET_SS_PORT(&auth->l_addr, htons(auth->l_port));
rb_strlcpy(auth->c_ip, c_ip, sizeof(auth->c_ip));
auth->c_port = (uint16_t)atoi(c_port);
- (void) rb_inet_pton_sock(c_ip, (struct sockaddr *)&auth->c_addr);
+ (void) rb_inet_pton_sock(c_ip, &auth->c_addr);
SET_SS_PORT(&auth->c_addr, htons(auth->c_port));
rb_strlcpy(auth->hostname, "*", sizeof(auth->hostname));
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/charybdis-charybdis-4.1.1/authd/providers/opm.c new/charybdis-charybdis-4.1.2/authd/providers/opm.c
--- old/charybdis-charybdis-4.1.1/authd/providers/opm.c 2018-08-16 00:03:50.000000000 +0200
+++ new/charybdis-charybdis-4.1.2/authd/providers/opm.c 2019-08-31 22:12:44.000000000 +0200
@@ -457,7 +457,7 @@
rb_fde_t *F;
int opt = 1;
- if(!rb_inet_pton_sock(ip, (struct sockaddr *)&addr))
+ if(!rb_inet_pton_sock(ip, &addr))
{
warn_opers(L_CRIT, "OPM: got a bad listener: %s:%hu", ip, port);
exit(EX_PROVIDER_ERROR);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/charybdis-charybdis-4.1.1/configure.ac new/charybdis-charybdis-4.1.2/configure.ac
--- old/charybdis-charybdis-4.1.1/configure.ac 2018-08-16 00:03:50.000000000 +0200
+++ new/charybdis-charybdis-4.1.2/configure.ac 2019-08-31 22:12:44.000000000 +0200
@@ -4,7 +4,7 @@
AC_PREREQ(2.60)
-AC_INIT([charybdis], [4.1.1])
+AC_INIT([charybdis], [4.1.2])
AC_LANG(C)
AC_USE_SYSTEM_EXTENSIONS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/charybdis-charybdis-4.1.1/doc/ircd.conf.example new/charybdis-charybdis-4.1.2/doc/ircd.conf.example
--- old/charybdis-charybdis-4.1.1/doc/ircd.conf.example 2018-08-16 00:03:50.000000000 +0200
+++ new/charybdis-charybdis-4.1.2/doc/ircd.conf.example 2019-08-31 22:12:44.000000000 +0200
@@ -452,7 +452,7 @@
/* IPv4 port to listen on.
* This should not be the same as any existing listeners.
*/
- #port_ipv4 = 32000;
+ #port_v4 = 32000;
/* IPv6 address to listen on. This must be a publicly facing IP address
* to be effective.
@@ -463,7 +463,7 @@
/* IPv6 port to listen on.
* This should not be the same as any existing listeners.
*/
- #port_ipv6 = 32000;
+ #port_v6 = 32000;
/* You can also set the listen_port directive which will set both the
* IPv4 and IPv6 ports at once.
@@ -579,7 +579,6 @@
resv_fnc = yes;
global_snotices = yes;
dline_with_reason = yes;
- kline_delay = 0 seconds;
kline_with_reason = yes;
kline_reason = "K-Lined";
identify_service = "NickServ(a)services.int";
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/charybdis-charybdis-4.1.1/doc/reference.conf new/charybdis-charybdis-4.1.2/doc/reference.conf
--- old/charybdis-charybdis-4.1.1/doc/reference.conf 2018-08-16 00:03:50.000000000 +0200
+++ new/charybdis-charybdis-4.1.2/doc/reference.conf 2019-08-31 22:12:44.000000000 +0200
@@ -931,7 +931,7 @@
/* IPv4 port to listen on.
* This should not be the same as any existing listeners.
*/
- #port_ipv4 = 32000;
+ #port_v4 = 32000;
/* IPv6 address to listen on. This must be a publicly facing IP address
* to be effective.
@@ -942,7 +942,7 @@
/* IPv6 port to listen on.
* This should not be the same as any existing listeners.
*/
- #port_ipv6 = 32000;
+ #port_v6 = 32000;
/* You can also set the listen_port directive which will set both the
* IPv4 and IPv6 ports at once.
@@ -1173,12 +1173,6 @@
*/
dline_with_reason = yes;
- /* kline delay: delay the checking of klines until a specified time.
- * Useful if large kline lists are applied often to prevent the
- * server eating CPU.
- */
- kline_delay = 0 seconds;
-
/* kline reason: show the user the reason why they are k/dlined
* on exit. may give away who set k/dline when set via tcm.
*/
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/charybdis-charybdis-4.1.1/extensions/m_webirc.c new/charybdis-charybdis-4.1.2/extensions/m_webirc.c
--- old/charybdis-charybdis-4.1.1/extensions/m_webirc.c 2018-08-16 00:03:50.000000000 +0200
+++ new/charybdis-charybdis-4.1.2/extensions/m_webirc.c 2019-08-31 22:12:44.000000000 +0200
@@ -112,7 +112,7 @@
return;
}
- if (rb_inet_pton_sock(parv[4], (struct sockaddr *)&addr) <= 0)
+ if (rb_inet_pton_sock(parv[4], &addr) <= 0)
{
sendto_one(source_p, "NOTICE * :Invalid IP");
return;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/charybdis-charybdis-4.1.1/include/client.h new/charybdis-charybdis-4.1.2/include/client.h
--- old/charybdis-charybdis-4.1.1/include/client.h 2018-08-16 00:03:50.000000000 +0200
+++ new/charybdis-charybdis-4.1.2/include/client.h 2019-08-31 22:12:44.000000000 +0200
@@ -578,9 +578,15 @@
#define SHOW_IP 1
#define MASK_IP 2
+enum
+{
+ D_LINED,
+ K_LINED
+};
+
extern void check_banned_lines(void);
-extern void check_klines_event(void *unused);
extern void check_klines(void);
+extern void check_one_kline(struct ConfItem *kline);
extern void check_dlines(void);
extern void check_xlines(void);
extern void resv_nick_fnc(const char *mask, const char *reason, int temp_time);
@@ -592,6 +598,7 @@
extern struct Client *make_client(struct Client *from);
extern void free_pre_client(struct Client *client);
+extern void notify_banned_client(struct Client *, struct ConfItem *, int ban);
extern int exit_client(struct Client *, struct Client *, struct Client *, const char *);
extern void error_exit_client(struct Client *, int);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/charybdis-charybdis-4.1.1/include/s_conf.h new/charybdis-charybdis-4.1.2/include/s_conf.h
--- old/charybdis-charybdis-4.1.1/include/s_conf.h 2018-08-16 00:03:50.000000000 +0200
+++ new/charybdis-charybdis-4.1.2/include/s_conf.h 2019-08-31 22:12:44.000000000 +0200
@@ -178,7 +178,6 @@
int ts_warn_delta;
int dline_with_reason;
int kline_with_reason;
- int kline_delay;
int warn_no_nline;
int nick_delay;
int non_redundant_klines;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/charybdis-charybdis-4.1.1/ircd/client.c new/charybdis-charybdis-4.1.2/ircd/client.c
--- old/charybdis-charybdis-4.1.1/ircd/client.c 2018-08-16 00:03:50.000000000 +0200
+++ new/charybdis-charybdis-4.1.2/ircd/client.c 2019-08-31 22:12:44.000000000 +0200
@@ -80,12 +80,6 @@
rb_dictionary *nd_dict = NULL;
-enum
-{
- D_LINED,
- K_LINED
-};
-
rb_dlink_list dead_list;
#ifdef DEBUG_EXITED_CLIENTS
static rb_dlink_list dead_remote_list;
@@ -487,7 +481,7 @@
}
}
-static void
+void
notify_banned_client(struct Client *client_p, struct ConfItem *aconf, int ban)
{
static const char conn_closed[] = "Connection closed";
@@ -532,19 +526,6 @@
check_xlines();
}
-/* check_klines_event()
- *
- * inputs -
- * outputs -
- * side effects - check_klines() is called, kline_queued unset
- */
-void
-check_klines_event(void *unused)
-{
- kline_queued = false;
- check_klines();
-}
-
/* check_klines
*
* inputs -
@@ -587,6 +568,74 @@
}
}
+
+/* check_one_kline()
+ *
+ * This process needs to be kept in sync with find_kline() aka find_conf_by_address().
+ *
+ * inputs - pointer to kline to check
+ * outputs -
+ * side effects - all clients will be checked against given kline
+ */
+void
+check_one_kline(struct ConfItem *kline)
+{
+ struct Client *client_p;
+ rb_dlink_node *ptr;
+ rb_dlink_node *next_ptr;
+
+ RB_DLINK_FOREACH_SAFE(ptr, next_ptr, lclient_list.head)
+ {
+ client_p = ptr->data;
+
+ if(IsMe(client_p) || !IsPerson(client_p))
+ continue;
+
+ if(!match(kline->user, client_p->username))
+ continue;
+
+ /* match one kline */
+ {
+ int matched = 0;
+ int masktype;
+ int bits;
+ struct rb_sockaddr_storage sockaddr;
+
+ masktype = parse_netmask(kline->host, (struct sockaddr_storage *)&sockaddr, &bits);
+
+ switch (masktype) {
+ case HM_IPV4:
+ case HM_IPV6:
+ if(comp_with_mask_sock((struct sockaddr *)&client_p->localClient->ip,
+ (struct sockaddr *)&sockaddr, bits))
+ matched = 1;
+ case HM_HOST:
+ if (match(kline->host, client_p->orighost))
+ matched = 1;
+ }
+
+ if (!matched)
+ continue;
+ }
+
+ if(IsExemptKline(client_p))
+ {
+ sendto_realops_snomask(SNO_GENERAL, L_NETWIDE,
+ "KLINE over-ruled for %s, client is kline_exempt [%s@%s]",
+ get_client_name(client_p, HIDE_IP),
+ kline->user, kline->host);
+ continue;
+ }
+
+ sendto_realops_snomask(SNO_GENERAL, L_ALL,
+ "KLINE active for %s",
+ get_client_name(client_p, HIDE_IP));
+
+ notify_banned_client(client_p, kline, K_LINED);
+ }
+}
+
+
/* check_dlines()
*
* inputs -
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/charybdis-charybdis-4.1.1/ircd/hostmask.c new/charybdis-charybdis-4.1.2/ircd/hostmask.c
--- old/charybdis-charybdis-4.1.1/ircd/hostmask.c 2018-08-16 00:03:50.000000000 +0200
+++ new/charybdis-charybdis-4.1.2/ircd/hostmask.c 2019-08-31 22:12:44.000000000 +0200
@@ -76,7 +76,7 @@
return HM_HOST;
} else
*b = 128;
- if(rb_inet_pton_sock(ip, (struct sockaddr *)addr) > 0)
+ if(rb_inet_pton_sock(ip, addr) > 0)
return HM_IPV6;
else
return HM_HOST;
@@ -94,7 +94,7 @@
return HM_HOST;
} else
*b = 32;
- if(rb_inet_pton_sock(ip, (struct sockaddr *)addr) > 0)
+ if(rb_inet_pton_sock(ip, addr) > 0)
return HM_IPV4;
else
return HM_HOST;
@@ -198,6 +198,9 @@
/* struct ConfItem* find_conf_by_address(const char*, struct rb_sockaddr_storage*,
* int type, int fam, const char *username)
+ *
+ * This process needs to be kept in sync with check_one_kline().
+ *
* Input: The hostname, the address, the type of mask to find, the address
* family, the username.
* Output: The matching value with the highest precedence.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/charybdis-charybdis-4.1.1/ircd/listener.c new/charybdis-charybdis-4.1.2/ircd/listener.c
--- old/charybdis-charybdis-4.1.1/ircd/listener.c 2018-08-16 00:03:50.000000000 +0200
+++ new/charybdis-charybdis-4.1.2/ircd/listener.c 2019-08-31 22:12:44.000000000 +0200
@@ -389,11 +389,11 @@
memset(&vaddr, 0, sizeof(vaddr));
if (vhost_ip1 != NULL) {
- if (rb_inet_pton_sock(vhost_ip1, (struct sockaddr *)&vaddr[0]) <= 0)
+ if (rb_inet_pton_sock(vhost_ip1, &vaddr[0]) <= 0)
return;
if (vhost_ip2 != NULL) {
- if (rb_inet_pton_sock(vhost_ip2, (struct sockaddr *)&vaddr[1]) <= 0)
+ if (rb_inet_pton_sock(vhost_ip2, &vaddr[1]) <= 0)
return;
} else {
SET_SS_FAMILY(&vaddr[1], AF_UNSPEC);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/charybdis-charybdis-4.1.1/ircd/newconf.c new/charybdis-charybdis-4.1.2/ircd/newconf.c
--- old/charybdis-charybdis-4.1.1/ircd/newconf.c 2018-08-16 00:03:50.000000000 +0200
+++ new/charybdis-charybdis-4.1.2/ircd/newconf.c 2019-08-31 22:12:44.000000000 +0200
@@ -246,7 +246,7 @@
{
struct rb_sockaddr_storage addr;
- if(rb_inet_pton_sock(data, (struct sockaddr *)&addr) <= 0 || GET_SS_FAMILY(&addr) != AF_INET)
+ if(rb_inet_pton_sock(data, &addr) <= 0 || GET_SS_FAMILY(&addr) != AF_INET)
{
conf_report_error("Invalid IPv4 address for server vhost (%s)", (char *) data);
return;
@@ -261,7 +261,7 @@
struct rb_sockaddr_storage addr;
- if(rb_inet_pton_sock(data, (struct sockaddr *)&addr) <= 0 || GET_SS_FAMILY(&addr) != AF_INET6)
+ if(rb_inet_pton_sock(data, &addr) <= 0 || GET_SS_FAMILY(&addr) != AF_INET6)
{
conf_report_error("Invalid IPv6 address for server vhost (%s)", (char *) data);
return;
@@ -883,12 +883,6 @@
}
if(listener_address[0] == NULL)
{
- if (!ssl)
- {
- conf_report_warning("listener 'ANY/%d': support for plaintext listeners may be removed in a future release per RFCs 7194 & 7258. "
- "It is suggested that users be migrated to SSL/TLS connections.", args->v.number);
- }
-
if (sctp) {
conf_report_error("listener::sctp_port has no addresses -- ignoring.");
} else {
@@ -904,12 +898,6 @@
else
family = AF_INET;
- if (!ssl)
- {
- conf_report_warning("listener '%s/%d': support for plaintext listeners may be removed in a future release per RFCs 7194 & 7258. "
- "It is suggested that users be migrated to SSL/TLS connections.", listener_address, args->v.number);
- }
-
if (sctp) {
#ifdef HAVE_LIBSCTP
add_sctp_listener(args->v.number, listener_address[0], listener_address[1], ssl, yy_wsock);
@@ -1369,7 +1357,7 @@
{
struct rb_sockaddr_storage addr;
- if(rb_inet_pton_sock(data, (struct sockaddr *)&addr) <= 0)
+ if(rb_inet_pton_sock(data, &addr) <= 0)
{
rb_free(yy_server->connect_host);
yy_server->connect_host = rb_strdup(data);
@@ -1395,7 +1383,7 @@
{
struct rb_sockaddr_storage addr;
- if(rb_inet_pton_sock(data, (struct sockaddr *)&addr) <= 0)
+ if(rb_inet_pton_sock(data, &addr) <= 0)
{
rb_free(yy_server->bind_host);
yy_server->bind_host = rb_strdup(data);
@@ -1629,15 +1617,6 @@
}
static void
-conf_set_general_kline_delay(void *data)
-{
- ConfigFileEntry.kline_delay = *(unsigned int *) data;
-
- /* THIS MUST BE HERE to stop us being unable to check klines */
- kline_queued = false;
-}
-
-static void
conf_set_general_stats_k_oper_only(void *data)
{
char *val = data;
@@ -2212,7 +2191,7 @@
const char *confstr = (ipv6 ? "opm::listen_ipv6" : "opm::listen_ipv4");
char *ip = data;
- if(!rb_inet_pton_sock(ip, (struct sockaddr *)&addr))
+ if(!rb_inet_pton_sock(ip, &addr))
{
conf_report_error("%s is an invalid address: %s", confstr, ip);
return;
@@ -2744,7 +2723,6 @@
{ "compression_level", CF_INT, conf_set_general_compression_level, 0, NULL },
{ "havent_read_conf", CF_YESNO, conf_set_general_havent_read_conf, 0, NULL },
{ "hide_error_messages",CF_STRING, conf_set_general_hide_error_messages,0, NULL },
- { "kline_delay", CF_TIME, conf_set_general_kline_delay, 0, NULL },
{ "stats_k_oper_only", CF_STRING, conf_set_general_stats_k_oper_only, 0, NULL },
{ "stats_i_oper_only", CF_STRING, conf_set_general_stats_i_oper_only, 0, NULL },
{ "default_umodes", CF_QSTRING, conf_set_general_default_umodes, 0, NULL },
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/charybdis-charybdis-4.1.1/ircd/s_conf.c new/charybdis-charybdis-4.1.2/ircd/s_conf.c
--- old/charybdis-charybdis-4.1.1/ircd/s_conf.c 2018-08-16 00:03:50.000000000 +0200
+++ new/charybdis-charybdis-4.1.2/ircd/s_conf.c 2019-08-31 22:12:44.000000000 +0200
@@ -707,7 +707,6 @@
ConfigFileEntry.client_exit = true;
ConfigFileEntry.dline_with_reason = true;
ConfigFileEntry.kline_with_reason = true;
- ConfigFileEntry.kline_delay = 0;
ConfigFileEntry.warn_no_nline = true;
ConfigFileEntry.non_redundant_klines = true;
ConfigFileEntry.stats_e_disabled = false;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/charybdis-charybdis-4.1.1/ircd/s_newconf.c new/charybdis-charybdis-4.1.2/ircd/s_newconf.c
--- old/charybdis-charybdis-4.1.1/ircd/s_newconf.c 2018-08-16 00:03:50.000000000 +0200
+++ new/charybdis-charybdis-4.1.2/ircd/s_newconf.c 2019-08-31 22:12:44.000000000 +0200
@@ -387,14 +387,14 @@
if(aftype == AF_INET)
{
if(status == 1)
- rb_inet_pton_sock(result, (struct sockaddr *)&server_p->connect4);
+ rb_inet_pton_sock(result, &server_p->connect4);
server_p->dns_query_connect4 = 0;
}
else if(aftype == AF_INET6)
{
if(status == 1)
- rb_inet_pton_sock(result, (struct sockaddr *)&server_p->connect6);
+ rb_inet_pton_sock(result, &server_p->connect6);
server_p->dns_query_connect6 = 0;
}
@@ -418,14 +418,14 @@
if(aftype == AF_INET)
{
if(status == 1)
- rb_inet_pton_sock(result, (struct sockaddr *)&server_p->bind4);
+ rb_inet_pton_sock(result, &server_p->bind4);
server_p->dns_query_bind4 = 0;
}
else if(aftype == AF_INET6)
{
if(status == 1)
- rb_inet_pton_sock(result, (struct sockaddr *)&server_p->bind6);
+ rb_inet_pton_sock(result, &server_p->bind6);
server_p->dns_query_bind6 = 0;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/charybdis-charybdis-4.1.1/ircd/s_serv.c new/charybdis-charybdis-4.1.2/ircd/s_serv.c
--- old/charybdis-charybdis-4.1.1/ircd/s_serv.c 2018-08-16 00:03:50.000000000 +0200
+++ new/charybdis-charybdis-4.1.2/ircd/s_serv.c 2019-08-31 22:12:44.000000000 +0200
@@ -372,7 +372,7 @@
name_matched = true;
- if(rb_inet_pton_sock(client_p->sockhost, (struct sockaddr *)&client_addr) <= 0)
+ if(rb_inet_pton_sock(client_p->sockhost, &client_addr) <= 0)
SET_SS_FAMILY(&client_addr, AF_UNSPEC);
if((tmp_p->connect_host && match(tmp_p->connect_host, client_p->host))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/charybdis-charybdis-4.1.1/ircd/s_user.c new/charybdis-charybdis-4.1.2/ircd/s_user.c
--- old/charybdis-charybdis-4.1.1/ircd/s_user.c 2018-08-16 00:03:50.000000000 +0200
+++ new/charybdis-charybdis-4.1.2/ircd/s_user.c 2019-08-31 22:12:44.000000000 +0200
@@ -1484,14 +1484,17 @@
if (user_modes[i] == 0)
{
orphaned_umodes |= prev_user_modes[i];
- user_modes[i] = prev_user_modes[i];
+ sendto_realops_snomask(SNO_DEBUG, L_ALL, "Umode +%c is now orphaned", i);
}
else
+ {
orphaned_umodes &= ~prev_user_modes[i];
+ sendto_realops_snomask(SNO_DEBUG, L_ALL, "Orphaned umode +%c is picked up by module", i);
+ }
+ user_modes[i] = prev_user_modes[i];
}
else
prev_user_modes[i] = user_modes[i];
-
if (user_modes[i])
*ptr++ = (char) i;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/charybdis-charybdis-4.1.1/librb/include/rb_commio.h new/charybdis-charybdis-4.1.2/librb/include/rb_commio.h
--- old/charybdis-charybdis-4.1.1/librb/include/rb_commio.h 2018-08-16 00:03:50.000000000 +0200
+++ new/charybdis-charybdis-4.1.2/librb/include/rb_commio.h 2019-08-31 22:12:44.000000000 +0200
@@ -152,7 +152,7 @@
const char *rb_inet_ntop(int af, const void *src, char *dst, unsigned int size);
int rb_inet_pton(int af, const char *src, void *dst);
const char *rb_inet_ntop_sock(struct sockaddr *src, char *dst, unsigned int size);
-int rb_inet_pton_sock(const char *src, struct sockaddr *dst);
+int rb_inet_pton_sock(const char *src, struct sockaddr_storage *dst);
int rb_getmaxconnect(void);
int rb_ignore_errno(int);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/charybdis-charybdis-4.1.1/librb/src/commio.c new/charybdis-charybdis-4.1.2/librb/src/commio.c
--- old/charybdis-charybdis-4.1.1/librb/src/commio.c 2018-08-16 00:03:50.000000000 +0200
+++ new/charybdis-charybdis-4.1.2/librb/src/commio.c 2019-08-31 22:12:44.000000000 +0200
@@ -1584,7 +1584,7 @@
}
int
-rb_inet_pton_sock(const char *src, struct sockaddr *dst)
+rb_inet_pton_sock(const char *src, struct sockaddr_storage *dst)
{
memset(dst, 0, sizeof(*dst));
if(rb_inet_pton(AF_INET, src, &((struct sockaddr_in *)dst)->sin_addr))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/charybdis-charybdis-4.1.1/modules/cap_server_time.c new/charybdis-charybdis-4.1.2/modules/cap_server_time.c
--- old/charybdis-charybdis-4.1.1/modules/cap_server_time.c 2018-08-16 00:03:50.000000000 +0200
+++ new/charybdis-charybdis-4.1.2/modules/cap_server_time.c 2019-08-31 22:12:44.000000000 +0200
@@ -57,7 +57,7 @@
struct timeval tv;
if (!rb_gettimeofday(&tv, NULL)) {
- if (strftime(buf, sizeof(buf), "%Y-%m-%dT%H:%M:%S.", gmtime(&tv.tv_sec)) < 0)
+ if (strftime(buf, sizeof(buf), "%Y-%m-%dT%H:%M:%S.", gmtime(&tv.tv_sec)) == 0)
return;
if (rb_snprintf_append(buf, sizeof(buf), "%03uZ", (int)tv.tv_usec / 1000) < 0)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/charybdis-charybdis-4.1.1/modules/core/m_ban.c new/charybdis-charybdis-4.1.2/modules/core/m_ban.c
--- old/charybdis-charybdis-4.1.1/modules/core/m_ban.c 2018-08-16 00:03:50.000000000 +0200
+++ new/charybdis-charybdis-4.1.2/modules/core/m_ban.c 2019-08-31 22:12:44.000000000 +0200
@@ -286,20 +286,7 @@
else
{
add_conf_by_address(aconf->host, CONF_KILL, aconf->user, NULL, aconf);
- if(ConfigFileEntry.kline_delay ||
- (IsServer(source_p) &&
- !HasSentEob(source_p)))
- {
- if(kline_queued == 0)
- {
- rb_event_addonce("check_klines", check_klines_event, NULL,
- ConfigFileEntry.kline_delay ?
- ConfigFileEntry.kline_delay : 1);
- kline_queued = 1;
- }
- }
- else
- check_klines();
+ check_one_kline(aconf);
}
break;
case CONF_XLINE:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/charybdis-charybdis-4.1.1/modules/m_info.c new/charybdis-charybdis-4.1.2/modules/m_info.c
--- old/charybdis-charybdis-4.1.1/modules/m_info.c 2018-08-16 00:03:50.000000000 +0200
+++ new/charybdis-charybdis-4.1.2/modules/m_info.c 2019-08-31 22:12:44.000000000 +0200
@@ -285,12 +285,6 @@
"Hide IPs of spoofed users"
},
{
- "kline_delay",
- OUTPUT_DECIMAL,
- &ConfigFileEntry.kline_delay,
- "Duration of time to delay kline checking"
- },
- {
"kline_reason",
OUTPUT_STRING,
&ConfigFileEntry.kline_reason,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/charybdis-charybdis-4.1.1/modules/m_kline.c new/charybdis-charybdis-4.1.2/modules/m_kline.c
--- old/charybdis-charybdis-4.1.1/modules/m_kline.c 2018-08-16 00:03:50.000000000 +0200
+++ new/charybdis-charybdis-4.1.2/modules/m_kline.c 2019-08-31 22:12:44.000000000 +0200
@@ -85,6 +85,7 @@
static bool remove_temp_kline(struct Client *, struct ConfItem *);
static void remove_prop_kline(struct Client *, struct ConfItem *);
+
/* mo_kline()
*
* parv[1] - temp time or user@host
@@ -215,17 +216,7 @@
else
apply_kline(source_p, aconf, reason, oper_reason);
- if(ConfigFileEntry.kline_delay)
- {
- if(!kline_queued)
- {
- rb_event_addonce("check_klines", check_klines_event, NULL,
- ConfigFileEntry.kline_delay);
- kline_queued = true;
- }
- }
- else
- check_klines();
+ check_one_kline(aconf);
}
/* ms_kline()
@@ -325,17 +316,7 @@
else
apply_kline(source_p, aconf, reason, oper_reason);
- if(ConfigFileEntry.kline_delay)
- {
- if(!kline_queued)
- {
- rb_event_addonce("check_klines", check_klines_event, NULL,
- ConfigFileEntry.kline_delay);
- kline_queued = true;
- }
- }
- else
- check_klines();
+ check_one_kline(aconf);
}
/* mo_unkline()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/charybdis-charybdis-4.1.1/modules/m_sasl.c new/charybdis-charybdis-4.1.2/modules/m_sasl.c
--- old/charybdis-charybdis-4.1.1/modules/m_sasl.c 2018-08-16 00:03:50.000000000 +0200
+++ new/charybdis-charybdis-4.1.2/modules/m_sasl.c 2019-08-31 22:12:44.000000000 +0200
@@ -235,6 +235,7 @@
int parc, const char *parv[])
{
struct Client *target_p, *agent_p;
+ bool in_progress;
/* Let propagate if not addressed to us, or if broadcast.
* Only SASL agents can answer global requests.
@@ -257,22 +258,29 @@
if(!IsService(agent_p))
return;
+ /* If SASL has been aborted, we only want to track authentication failures. */
+ in_progress = target_p->localClient->sasl_out != 0;
+
/* Reject if someone has already answered. */
if(*target_p->localClient->sasl_agent && strncmp(parv[1], target_p->localClient->sasl_agent, IDLEN))
return;
- else if(!*target_p->localClient->sasl_agent)
+ else if(!*target_p->localClient->sasl_agent && in_progress)
rb_strlcpy(target_p->localClient->sasl_agent, parv[1], IDLEN);
if(*parv[3] == 'C')
{
- sendto_one(target_p, "AUTHENTICATE %s", parv[4]);
- target_p->localClient->sasl_messages++;
+ if (in_progress) {
+ sendto_one(target_p, "AUTHENTICATE %s", parv[4]);
+ target_p->localClient->sasl_messages++;
+ }
}
else if(*parv[3] == 'D')
{
if(*parv[4] == 'F')
{
- sendto_one(target_p, form_str(ERR_SASLFAIL), me.name, EmptyString(target_p->name) ? "*" : target_p->name);
+ if (in_progress) {
+ sendto_one(target_p, form_str(ERR_SASLFAIL), me.name, EmptyString(target_p->name) ? "*" : target_p->name);
+ }
/* Failures with zero messages are just "unknown mechanism" errors; don't count those. */
if(target_p->localClient->sasl_messages > 0)
{
@@ -294,16 +302,22 @@
}
else if(*parv[4] == 'S')
{
- sendto_one(target_p, form_str(RPL_SASLSUCCESS), me.name, EmptyString(target_p->name) ? "*" : target_p->name);
- target_p->localClient->sasl_failures = 0;
- target_p->localClient->sasl_complete = 1;
- ServerStats.is_ssuc++;
+ if (in_progress) {
+ sendto_one(target_p, form_str(RPL_SASLSUCCESS), me.name, EmptyString(target_p->name) ? "*" : target_p->name);
+ target_p->localClient->sasl_failures = 0;
+ target_p->localClient->sasl_complete = 1;
+ ServerStats.is_ssuc++;
+ }
}
*target_p->localClient->sasl_agent = '\0'; /* Blank the stored agent so someone else can answer */
target_p->localClient->sasl_messages = 0;
}
else if(*parv[3] == 'M')
- sendto_one(target_p, form_str(RPL_SASLMECHS), me.name, EmptyString(target_p->name) ? "*" : target_p->name, parv[4]);
+ {
+ if (in_progress) {
+ sendto_one(target_p, form_str(RPL_SASLMECHS), me.name, EmptyString(target_p->name) ? "*" : target_p->name, parv[4]);
+ }
+ }
}
static void
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/charybdis-charybdis-4.1.1/tests/Makefile.am new/charybdis-charybdis-4.1.2/tests/Makefile.am
--- old/charybdis-charybdis-4.1.1/tests/Makefile.am 2018-08-16 00:03:50.000000000 +0200
+++ new/charybdis-charybdis-4.1.2/tests/Makefile.am 2019-08-31 22:12:44.000000000 +0200
@@ -4,6 +4,7 @@
rb_dictionary1 \
rb_snprintf_append1 \
rb_snprintf_try_append1 \
+ sasl_abort1 \
send1 \
serv_connect1 \
substitution1
@@ -26,6 +27,7 @@
rb_dictionary1_SOURCES = rb_dictionary1.c
rb_snprintf_append1_SOURCES = rb_snprintf_append1.c
rb_snprintf_try_append1_SOURCES = rb_snprintf_try_append1.c
+sasl_abort1_SOURCES = sasl_abort1.c ircd_util.c client_util.c
send1_SOURCES = send1.c ircd_util.c client_util.c
serv_connect1_SOURCES = serv_connect1.c ircd_util.c client_util.c
substitution1_SOURCES = substitution1.c
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/charybdis-charybdis-4.1.1/tests/TESTS new/charybdis-charybdis-4.1.2/tests/TESTS
--- old/charybdis-charybdis-4.1.1/tests/TESTS 2018-08-16 00:03:50.000000000 +0200
+++ new/charybdis-charybdis-4.1.2/tests/TESTS 2019-08-31 22:12:44.000000000 +0200
@@ -3,6 +3,7 @@
rb_dictionary1
rb_snprintf_append1
rb_snprintf_try_append1
+sasl_abort1
send1
serv_connect1
substitution1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/charybdis-charybdis-4.1.1/tests/client_util.c new/charybdis-charybdis-4.1.2/tests/client_util.c
--- old/charybdis-charybdis-4.1.1/tests/client_util.c 2018-08-16 00:03:50.000000000 +0200
+++ new/charybdis-charybdis-4.1.2/tests/client_util.c 2019-08-31 22:12:44.000000000 +0200
@@ -27,9 +27,42 @@
#include "hash.h"
#include "s_newconf.h"
+#include "parse.h"
+#include "listener.h"
#define MSG "%s:%d (%s)", __FILE__, __LINE__, __FUNCTION__
+static struct Listener fake_listener = {
+ .next = NULL,
+ .name = "fake",
+ .F = NULL,
+ .ref_count = 0,
+ .active = 1,
+ .ssl = 1,
+ .defer_accept = 0,
+ .sctp = false,
+ .wsock = 0,
+ .addr = {
+ { .ss_family = AF_INET6 },
+ { .ss_family = AF_INET6 },
+ },
+ .vhost = { "fake" },
+};
+
+struct Client *make_local_unknown(void)
+{
+ struct Client *client;
+
+ client = make_client(NULL);
+ rb_dlinkMoveNode(&client->localClient->tnode, &unknown_list, &lclient_list);
+ client->servptr = &me;
+ rb_dlinkAdd(client, &client->lnode, &client->servptr->serv->users);
+ client->localClient->listener = &fake_listener;
+ client->preClient->auth.accepted = true;
+
+ return client;
+}
+
struct Client *make_local_person(void)
{
return make_local_person_nick(TEST_NICK);
@@ -44,14 +77,11 @@
{
struct Client *client;
- client = make_client(NULL);
- rb_dlinkMoveNode(&client->localClient->tnode, &unknown_list, &lclient_list);
- client->servptr = &me;
- rb_dlinkAdd(client, &client->lnode, &client->servptr->serv->users);
+ client = make_local_unknown();
make_user(client);
SetClient(client);
- rb_inet_pton_sock(ip, (struct sockaddr *)&client->localClient->ip);
+ rb_inet_pton_sock(ip, &client->localClient->ip);
rb_strlcpy(client->name, nick, sizeof(client->name));
rb_strlcpy(client->username, username, sizeof(client->username));
rb_strlcpy(client->host, hostname, sizeof(client->host));
@@ -124,7 +154,7 @@
struct Client *make_remote_person_full(struct Client *server, const char *nick, const char *username, const char *hostname, const char *ip, const char *realname)
{
struct Client *client;
- struct sockaddr addr;
+ struct sockaddr_storage addr;
client = make_client(server);
make_user(client);
@@ -137,7 +167,7 @@
rb_strlcpy(client->name, nick, sizeof(client->name));
rb_strlcpy(client->username, username, sizeof(client->username));
rb_strlcpy(client->host, hostname, sizeof(client->host));
- rb_inet_ntop_sock(&addr, client->sockhost, sizeof(client->sockhost));
+ rb_inet_ntop_sock((struct sockaddr *)&addr, client->sockhost, sizeof(client->sockhost));
rb_strlcpy(client->info, realname, sizeof(client->info));
add_to_client_hash(nick, client);
@@ -187,6 +217,15 @@
return "";
}
+void client_util_parse(struct Client *client, const char *message)
+{
+ char *copy = rb_strdup(message);
+
+ parse(client, copy, copy+strlen(copy));
+
+ rb_free(copy);
+}
+
void client_util_init(void)
{
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/charybdis-charybdis-4.1.1/tests/client_util.h new/charybdis-charybdis-4.1.2/tests/client_util.h
--- old/charybdis-charybdis-4.1.1/tests/client_util.h 2018-08-16 00:03:50.000000000 +0200
+++ new/charybdis-charybdis-4.1.2/tests/client_util.h 2019-08-31 22:12:44.000000000 +0200
@@ -63,6 +63,7 @@
void client_util_init(void);
void client_util_free(void);
+struct Client *make_local_unknown(void);
struct Client *make_local_person(void);
struct Client *make_local_person_nick(const char *nick);
struct Client *make_local_person_full(const char *nick, const char *username, const char *hostname, const char *ip, const char *realname);
@@ -83,11 +84,17 @@
char *get_client_sendq(const struct Client *client);
+void client_util_parse(struct Client *client, const char *message);
+
#define is_client_sendq_empty(client, message, ...) do { \
is_string("", get_client_sendq(client), message, ##__VA_ARGS__); \
} while (0)
-#define is_client_sendq(queue, client, message, ...) do { \
+#define is_client_sendq_one(queue, client, message, ...) do { \
is_string(queue, get_client_sendq(client), message, ##__VA_ARGS__); \
+ } while (0)
+
+#define is_client_sendq(queue, client, message, ...) do { \
+ is_client_sendq_one(queue, client, message, ##__VA_ARGS__); \
is_client_sendq_empty(client, message, ##__VA_ARGS__); \
} while (0)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/charybdis-charybdis-4.1.1/tests/ircd_util.c new/charybdis-charybdis-4.1.2/tests/ircd_util.c
--- old/charybdis-charybdis-4.1.1/tests/ircd_util.c 2018-08-16 00:03:50.000000000 +0200
+++ new/charybdis-charybdis-4.1.2/tests/ircd_util.c 2019-08-31 22:12:44.000000000 +0200
@@ -100,10 +100,13 @@
void ircd_util_reload_module(const char *name)
{
struct module *mod = findmodule_byname(name);
+ int origin, core;
if (ok(mod != NULL, MSG)) {
+ origin = mod->origin;
+ core = mod->core;
if (ok(unload_one_module(name, false), MSG)) {
- ok(load_one_module(name, mod->origin, mod->core), MSG);
+ ok(load_one_module(name, origin, core), MSG);
}
}
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/charybdis-charybdis-4.1.1/tests/runtime/modules/autoload/ip_cloaking.so new/charybdis-charybdis-4.1.2/tests/runtime/modules/autoload/ip_cloaking.so
--- old/charybdis-charybdis-4.1.1/tests/runtime/modules/autoload/ip_cloaking.so 2019-09-30 16:00:12.961086158 +0200
+++ new/charybdis-charybdis-4.1.2/tests/runtime/modules/autoload/ip_cloaking.so 1970-01-01 01:00:00.000000000 +0100
@@ -1 +0,0 @@
-symbolic link to ../../../../extensions/.libs/ip_cloaking.so
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/charybdis-charybdis-4.1.1/tests/runtime/modules/autoload/ip_cloaking_3.0.so new/charybdis-charybdis-4.1.2/tests/runtime/modules/autoload/ip_cloaking_3.0.so
--- old/charybdis-charybdis-4.1.1/tests/runtime/modules/autoload/ip_cloaking_3.0.so 2019-09-30 16:00:12.965086148 +0200
+++ new/charybdis-charybdis-4.1.2/tests/runtime/modules/autoload/ip_cloaking_3.0.so 1970-01-01 01:00:00.000000000 +0100
@@ -1 +0,0 @@
-symbolic link to ../../../../extensions/.libs/ip_cloaking_3.0.so
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/charybdis-charybdis-4.1.1/tests/runtime/modules/autoload/ip_cloaking_4.0.so new/charybdis-charybdis-4.1.2/tests/runtime/modules/autoload/ip_cloaking_4.0.so
--- old/charybdis-charybdis-4.1.1/tests/runtime/modules/autoload/ip_cloaking_4.0.so 2019-09-30 16:00:13.081085838 +0200
+++ new/charybdis-charybdis-4.1.2/tests/runtime/modules/autoload/ip_cloaking_4.0.so 1970-01-01 01:00:00.000000000 +0100
@@ -1 +0,0 @@
-symbolic link to ../../../../extensions/.libs/ip_cloaking_4.0.so
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/charybdis-charybdis-4.1.1/tests/runtime/modules/autoload/ip_cloaking_old.so new/charybdis-charybdis-4.1.2/tests/runtime/modules/autoload/ip_cloaking_old.so
--- old/charybdis-charybdis-4.1.1/tests/runtime/modules/autoload/ip_cloaking_old.so 2019-09-30 16:00:12.981086104 +0200
+++ new/charybdis-charybdis-4.1.2/tests/runtime/modules/autoload/ip_cloaking_old.so 1970-01-01 01:00:00.000000000 +0100
@@ -1 +0,0 @@
-symbolic link to ../../../../extensions/.libs/ip_cloaking_old.so
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/charybdis-charybdis-4.1.1/tests/runtime/modules/autoload/m_42.so new/charybdis-charybdis-4.1.2/tests/runtime/modules/autoload/m_42.so
--- old/charybdis-charybdis-4.1.1/tests/runtime/modules/autoload/m_42.so 2019-09-30 16:00:12.837086488 +0200
+++ new/charybdis-charybdis-4.1.2/tests/runtime/modules/autoload/m_42.so 1970-01-01 01:00:00.000000000 +0100
@@ -1 +0,0 @@
-symbolic link to ../../../../extensions/.libs/m_42.so
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/charybdis-charybdis-4.1.1/tests/runtime/modules/autoload/m_crash.so new/charybdis-charybdis-4.1.2/tests/runtime/modules/autoload/m_crash.so
--- old/charybdis-charybdis-4.1.1/tests/runtime/modules/autoload/m_crash.so 2019-09-30 16:00:13.021085998 +0200
+++ new/charybdis-charybdis-4.1.2/tests/runtime/modules/autoload/m_crash.so 1970-01-01 01:00:00.000000000 +0100
@@ -1 +0,0 @@
-symbolic link to ../../../../modules/.libs/m_crash.so
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/charybdis-charybdis-4.1.1/tests/sasl_abort1.c new/charybdis-charybdis-4.1.2/tests/sasl_abort1.c
--- old/charybdis-charybdis-4.1.1/tests/sasl_abort1.c 1970-01-01 01:00:00.000000000 +0100
+++ new/charybdis-charybdis-4.1.2/tests/sasl_abort1.c 2019-08-31 22:12:44.000000000 +0200
@@ -0,0 +1,153 @@
+/*
+ * sasl_abort1.c: Test SASL abort from the ircd to services
+ * Copyright 2019 Simon Arlott
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301
+ * USA
+ */
+#define _GNU_SOURCE
+#include <dlfcn.h>
+#include <errno.h>
+#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include "tap/basic.h"
+
+#include "ircd_util.h"
+#include "client_util.h"
+
+#include "s_serv.h"
+#include "s_conf.h"
+#include "s_newconf.h"
+#include "hash.h"
+
+#define MSG "%s:%d (%s; aborted=%d, by_user=%d)", __FILE__, __LINE__, __FUNCTION__, aborted, by_user
+
+static void common_sasl_test(bool aborted, bool by_user)
+{
+ ircd_util_init(__FILE__);
+ client_util_init();
+
+ struct Client *user = make_local_unknown();
+ struct Client *server = make_remote_server(&me);
+ struct Client *remote = make_remote_person(server);
+
+ rb_inet_pton_sock(TEST_IP, &user->localClient->ip);
+ rb_strlcpy(user->host, TEST_HOSTNAME, sizeof(user->host));
+ rb_inet_ntop_sock((struct sockaddr *)&user->localClient->ip, user->sockhost, sizeof(user->sockhost));
+
+ strcpy(server->id, TEST_SERVER_ID);
+ strcpy(remote->id, TEST_REMOTE_ID);
+ add_to_id_hash(remote->id, remote);
+ server->localClient->caps = CAP_ENCAP | CAP_TS6;
+ remote->umodes |= UMODE_SERVICE;
+
+ client_util_parse(user, "CAP LS 302" CRLF);
+ const char *line;
+ while ((line = get_client_sendq(user)) && strcmp(line, "")) {
+ printf("%s", line);
+ }
+
+ client_util_parse(user, "NICK " TEST_NICK CRLF);
+ client_util_parse(user, "USER " TEST_USERNAME " 0 0 :" TEST_REALNAME CRLF);
+ is_client_sendq_empty(user, MSG);
+
+ user->tsinfo = 42;
+
+ client_util_parse(user, "CAP REQ :sasl" CRLF);
+ is_client_sendq(":" TEST_ME_NAME " CAP " TEST_NICK " ACK :sasl" CRLF, user, MSG);
+
+ client_util_parse(user, "AUTHENTICATE EXTERNAL" CRLF);
+ is_client_sendq_empty(user, MSG);
+
+ is_client_sendq_one(":" TEST_ME_ID " ENCAP " TEST_SERVER_NAME " SASL " TEST_ME_ID "AAAAAB " TEST_REMOTE_ID " H " TEST_HOSTNAME " " TEST_IP " P" CRLF, server, MSG);
+ is_client_sendq_one(":" TEST_ME_ID " ENCAP " TEST_SERVER_NAME " SASL " TEST_ME_ID "AAAAAB " TEST_REMOTE_ID " S EXTERNAL" CRLF, server, MSG);
+ is_client_sendq_empty(server, MSG);
+
+ if (aborted) {
+ if (by_user) {
+ // Explicit abort by user
+ client_util_parse(user, "AUTHENTICATE *" CRLF);
+ is_client_sendq(":" TEST_ME_NAME " 906 " TEST_NICK " :SASL authentication aborted" CRLF, user, MSG);
+
+ client_util_parse(user, "CAP END" CRLF);
+ ok(IsClient(user), MSG);
+ } else {
+ // Implicit abort by completing registration
+ client_util_parse(user, "CAP END" CRLF);
+ ok(IsClient(user), MSG);
+ is_client_sendq_one(":" TEST_ME_NAME " 906 " TEST_NICK " :SASL authentication aborted" CRLF, user, MSG);
+ }
+
+ is_client_sendq_one(":" TEST_ME_ID " ENCAP " TEST_SERVER_NAME " SASL " TEST_ME_ID "AAAAAB " TEST_REMOTE_ID " D A" CRLF, server, MSG);
+ is_client_sendq(":" TEST_ME_ID " UID " TEST_NICK " 1 42 +i ~" TEST_USERNAME " " TEST_HOSTNAME " " TEST_IP " " TEST_ME_ID "AAAAAB :" TEST_REALNAME CRLF, server, MSG);
+ } else {
+ // Return a successful auth
+ client_util_parse(server, ":" TEST_SERVER_NAME " ENCAP " TEST_ME_NAME " SASL " TEST_REMOTE_ID " " TEST_ME_ID "AAAAAB D S" CRLF);
+
+ // User should be authenticated
+ is_client_sendq_one(":" TEST_ME_NAME " 903 " TEST_NICK " :SASL authentication successful" CRLF, user, MSG);
+
+ client_util_parse(user, "CAP END" CRLF);
+ ok(IsClient(user), MSG);
+ }
+
+ is_client_sendq_one(":" TEST_ME_NAME " 001 " TEST_NICK " :Welcome to the Test Internet Relay Chat Network " TEST_NICK CRLF, user, MSG);
+ while ((line = get_client_sendq(user)) && strcmp(line, "")) {
+ printf("%s", line);
+ }
+
+ if (aborted) {
+ // Return a successful auth after auth was aborted
+ client_util_parse(server, ":" TEST_SERVER_NAME " ENCAP " TEST_ME_NAME " SASL " TEST_REMOTE_ID " " TEST_ME_ID "AAAAAB D S" CRLF);
+
+ // User should not be authenticated
+ is_client_sendq_empty(user, MSG);
+ }
+
+ remove_local_person(user);
+ remove_remote_person(remote);
+ remove_remote_server(server);
+
+ client_util_free();
+ ircd_util_free();
+}
+
+static void successful_login(void)
+{
+ common_sasl_test(false, false);
+}
+
+static void successful_login_after_aborted_by_registration(void)
+{
+ common_sasl_test(true, false);
+}
+
+static void successful_login_after_aborted_by_user(void)
+{
+ common_sasl_test(true, true);
+}
+
+int main(int argc, char *argv[])
+{
+ plan_lazy();
+
+ successful_login();
+ successful_login_after_aborted_by_registration();
+ successful_login_after_aborted_by_user();
+
+ return 0;
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/charybdis-charybdis-4.1.1/tests/sasl_abort1.conf new/charybdis-charybdis-4.1.2/tests/sasl_abort1.conf
--- old/charybdis-charybdis-4.1.1/tests/sasl_abort1.conf 1970-01-01 01:00:00.000000000 +0100
+++ new/charybdis-charybdis-4.1.2/tests/sasl_abort1.conf 2019-08-31 22:12:44.000000000 +0200
@@ -0,0 +1,44 @@
+serverinfo {
+ sid = "0AA";
+ name = "me.test";
+ description = "Test server";
+ network_name = "Test network";
+};
+
+
+class "default" {
+ ping_time = 1000 minutes;
+ connectfreq = 1000 minutes;
+ number_per_ident = 1000;
+ number_per_ip = 1000;
+ number_per_ip_global = 1000;
+ cidr_ipv4_bitlen = 24;
+ cidr_ipv6_bitlen = 64;
+ number_per_cidr = 1000;
+ max_number = 1000;
+ sendq = 4 megabytes;
+};
+
+connect "remote.test" {
+ host = "::1";
+ fingerprint = "test";
+ class = "default";
+};
+
+service {
+ name = "remote.test";
+};
+
+privset "admin" {
+ privs = oper:admin;
+};
+
+auth {
+ user = "*@*";
+ class = "default";
+};
+
+general {
+ sasl_service = "remote_test";
+ ping_cookie = no;
+};
1
0
Hello community,
here is the log from the commit of package telegram-desktop for openSUSE:Factory checked in at 2019-09-30 15:59:50
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/telegram-desktop (Old)
and /work/SRC/openSUSE:Factory/.telegram-desktop.new.2352 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "telegram-desktop"
Mon Sep 30 15:59:50 2019 rev:23 rq:733874 version:1.8.9
Changes:
--------
--- /work/SRC/openSUSE:Factory/telegram-desktop/telegram-desktop.changes 2019-09-13 14:59:58.353281441 +0200
+++ /work/SRC/openSUSE:Factory/.telegram-desktop.new.2352/telegram-desktop.changes 2019-09-30 15:59:55.393132911 +0200
@@ -1,0 +2,6 @@
+Sat Sep 28 11:04:43 UTC 2019 - Marcel Kuehlhorn <tux93(a)opensuse.org>
+
+- Update to 1.8.9
+ * Bug fixes and other minor improvements.
+
+-------------------------------------------------------------------
Old:
----
v1.8.8.tar.gz
New:
----
v1.8.9.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ telegram-desktop.spec ++++++
--- /var/tmp/diff_new_pack.Nut5lS/_old 2019-09-30 16:00:04.477108736 +0200
+++ /var/tmp/diff_new_pack.Nut5lS/_new 2019-09-30 16:00:04.477108736 +0200
@@ -29,7 +29,7 @@
%endif
Name: telegram-desktop
-Version: 1.8.8
+Version: 1.8.9
Release: 0
Summary: Messaging application with a focus on speed and security
License: GPL-3.0-only
++++++ v1.8.8.tar.gz -> v1.8.9.tar.gz ++++++
/work/SRC/openSUSE:Factory/telegram-desktop/v1.8.8.tar.gz /work/SRC/openSUSE:Factory/.telegram-desktop.new.2352/v1.8.9.tar.gz differ: char 14, line 1
1
0