import augeas-1.12.0-8.el8

This commit is contained in:
CentOS Sources 2023-05-16 06:22:50 +00:00 committed by root
parent e86b33ae7d
commit 2b5415a3d6
10 changed files with 437 additions and 23 deletions

View File

@ -1,7 +1,8 @@
From 800b8bb56b983e00f2c95183d0ff226172545d35 Mon Sep 17 00:00:00 2001
From e666bf968071a9976bd44e1eb65645eb9d51b5cb Mon Sep 17 00:00:00 2001
From: Pino Toscano <ptoscano@redhat.com>
Date: Wed, 23 Oct 2019 11:35:57 +0200
Subject: [PATCH] Grub: support '+' in kernel command line option names (#647)
Subject: [PATCH 1/9] Grub: support '+' in kernel command line option names
(#647)
This way it is possible to parse files that pass options with '+' in the
name to the kernel.
@ -54,5 +55,5 @@ index 75657203..e50bdc4f 100644
test Grub.lns get "default=0\ncrud=no\n" =
{ "default" = "0" }
--
2.29.2
2.31.1

View File

@ -1,8 +1,8 @@
From 612010470f4217b447b5ed5fe964fce1d895566a Mon Sep 17 00:00:00 2001
From eb2dc4ec0879290f42e35a7facc345ca1c70ba69 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Rapha=C3=ABl=20Pinson?= <raphael.pinson@camptocamp.com>
Date: Tue, 12 Nov 2019 13:33:26 +0100
Subject: [PATCH] Rsyslog: support multiple actions in filters and selectors
(#653)
Subject: [PATCH 2/9] Rsyslog: support multiple actions in filters and
selectors (#653)
(cherry picked from commit 5181105bae84dc7819a00886f068ad0bb4e6d05a)
---
@ -90,5 +90,5 @@ index 9011a2b3..e83613a2 100644
+ { }
+
--
2.29.2
2.31.1

View File

@ -1,7 +1,7 @@
From d37c8aabc29c3989d5f961d8b742b246a5f64cdf Mon Sep 17 00:00:00 2001
From 5218c2997b7b77752511ebc61ffa743fd2d8fcbf Mon Sep 17 00:00:00 2001
From: Pino Toscano <ptoscano@redhat.com>
Date: Fri, 17 May 2019 13:47:20 +0200
Subject: [PATCH] * src/augrun.c (nexttoken): add more escape characters
Subject: [PATCH 3/9] * src/augrun.c (nexttoken): add more escape characters
Synchonize the list of "pass-through" characters with the set in the
'name_follow' variable in pathx.c: as pathx_escape_name() escapes them,
@ -33,5 +33,5 @@ index 07f865a9..fd710c5f 100644
break;
case 't': /* insert tab */
--
2.29.2
2.31.1

View File

@ -1,7 +1,7 @@
From f224dd99c7dc4d2ce4340b2d16cae6b1e0ed7c8d Mon Sep 17 00:00:00 2001
From fc2b84a2ecd9a403cb602d2de26d6c1804a3ceac Mon Sep 17 00:00:00 2001
From: Pino Toscano <ptoscano@redhat.com>
Date: Fri, 17 May 2019 15:18:50 +0200
Subject: [PATCH] * src/augtool.c: hopefully fix readline quoting issues
Subject: [PATCH 4/9] * src/augtool.c: hopefully fix readline quoting issues
Configure the quoting (also using a detector) and word break characters,
so it is possible to autocomplete paths with special characters (like
@ -38,5 +38,5 @@ index b42ef630..31a991eb 100644
/* Set up persistent history */
char *home_dir = get_home_dir(getuid());
--
2.29.2
2.31.1

View File

@ -1,7 +1,7 @@
From 63786a83b2e4b14772ee8742fa95d70063ba7b6c Mon Sep 17 00:00:00 2001
From 1b4d6a9918b8bcbc06af4ce99a48cd66fed97196 Mon Sep 17 00:00:00 2001
From: Pino Toscano <ptoscano@redhat.com>
Date: Tue, 4 Feb 2020 17:54:22 +0100
Subject: [PATCH] Krb5: improve [dbmodules] and includes (#630)
Subject: [PATCH 5/9] Krb5: improve [dbmodules] and includes (#630)
* Krb5: fix/revamp parsing of [dbmodules] subsection
@ -129,5 +129,5 @@ index f746543b..10b87605 100644
+ { "db_module_dir" = "/some/path" }
+ }
--
2.29.2
2.31.1

View File

@ -1,7 +1,7 @@
From 472a143b427afc89ab2fd843cea1f1f97193ceef Mon Sep 17 00:00:00 2001
From eb7c72cfffa5360a65be270c5554abf36739e382 Mon Sep 17 00:00:00 2001
From: Pino Toscano <ptoscano@redhat.com>
Date: Tue, 4 Feb 2020 18:05:05 +0100
Subject: [PATCH] Systemd: fix parsing of envvars with spaces (#659)
Subject: [PATCH 6/9] Systemd: fix parsing of envvars with spaces (#659)
Allow spaces inside of values quoted with single or double quotes.
@ -55,5 +55,5 @@ index 3397456e..19c57075 100644
(* Variable: unit *)
--
2.29.2
2.31.1

View File

@ -1,7 +1,7 @@
From 0880cf38e5c9a6a9ddb3ce4cae372dec5ad34cbe Mon Sep 17 00:00:00 2001
From efd61b77563489ca0fa21904cc1fecfc482afd06 Mon Sep 17 00:00:00 2001
From: granquet <ranquet.guillaume@gmail.com>
Date: Tue, 6 Oct 2020 23:03:18 +0200
Subject: [PATCH] Ssh: add Match keyword support (#695)
Subject: [PATCH 7/9] Ssh: add Match keyword support (#695)
Signed-off-by: Guillaume Ranquet <guillaume-externe.ranquet@edf.fr>
---
@ -81,5 +81,5 @@ index f5fca252..456624e4 100644
{ "ForwardAgent" = "yes" }
{ "SendEnv"
--
2.29.2
2.31.1

View File

@ -0,0 +1,251 @@
From 59fb794a4c47b811998273323cd49cc91f9db7e2 Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Wed, 12 Jan 2022 16:11:22 +0000
Subject: [PATCH 8/9] Include mke2fs lens and test from upstream
Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1807010
---
lenses/mke2fs.aug | 108 ++++++++++++++++++++++++++---------
lenses/tests/test_mke2fs.aug | 46 ++++++++++++++-
2 files changed, 124 insertions(+), 30 deletions(-)
diff --git a/lenses/mke2fs.aug b/lenses/mke2fs.aug
index dc895490..46a7136e 100644
--- a/lenses/mke2fs.aug
+++ b/lenses/mke2fs.aug
@@ -34,6 +34,14 @@ let sep = IniFile.sep /=[ \t]*/ "="
(* View: empty *)
let empty = IniFile.empty
+(* View: boolean
+ The configuration parser of e2fsprogs recognizes different values
+ for booleans, so list all the recognized values *)
+let boolean = ("y"|"yes"|"true"|"t"|"1"|"on"|"n"|"no"|"false"|"nil"|"0"|"off")
+
+(* View: fspath *)
+let fspath = /[^ \t\n"]+/
+
(************************************************************************
* Group: RECORD TYPES
@@ -47,27 +55,59 @@ let entry (kw:regexp) (lns:lens) = Build.key_value_line kw sep lns
(* View: list_sto
A list of values with given lens *)
-let list_sto (kw:regexp) (lns:lens) = counter "item" .
- entry kw
- (Build.opt_list
- [lns]
- Sep.comma)
+let list_sto (kw:regexp) (lns:lens) =
+ entry kw (Quote.do_dquote_opt_nil (Build.opt_list [lns] Sep.comma))
(* View: entry_sto
Store a regexp as entry value *)
-let entry_sto (kw:regexp) (val:regexp) = entry kw (store val)
+let entry_sto (kw:regexp) (val:regexp) =
+ entry kw (Quote.do_dquote_opt_nil (store val))
+ | entry kw (Util.del_str "\"\"")
(************************************************************************
* Group: COMMON ENTRIES
*************************************************************************)
+
+(* View: common_entries_list
+ Entries with a list value *)
+let common_entries_list = ("base_features"|"default_features"|"default_mntopts")
+
+(* View: common_entries_int
+ Entries with an integer value *)
+let common_entries_int = ("cluster_size"|"flex_bg_size"|"force_undo"
+ |"inode_ratio"|"inode_size"|"num_backup_sb")
+
+(* View: common_entries_bool
+ Entries with a boolean value *)
+let common_entries_bool = ("auto_64-bit_support"|"discard"
+ |"enable_periodic_fsck"|"lazy_itable_init"
+ |"lazy_journal_init"|"packed_meta_blocks")
+
+(* View: common_entries_string
+ Entries with a string value *)
+let common_entries_string = ("encoding"|"journal_location")
+
+(* View: common_entries_double
+ Entries with a double value *)
+let common_entries_double = ("reserved_ratio")
+
(* View: common_entry
Entries shared between <defaults> and <fs_types> sections *)
-let common_entry = list_sto ("base_features"|"default_features")
- (key Rx.word)
+let common_entry = list_sto common_entries_list (key Rx.word)
+ | entry_sto common_entries_int Rx.integer
+ | entry_sto common_entries_bool boolean
+ | entry_sto common_entries_string Rx.word
+ | entry_sto common_entries_double Rx.decimal
| entry_sto "blocksize" ("-"? . Rx.integer)
| entry_sto "hash_alg" ("legacy"|"half_md4"|"tea")
- | entry_sto ("inode_ratio"|"inode_size") Rx.integer
+ | entry_sto "errors" ("continue"|"remount-ro"|"panic")
+ | list_sto "features"
+ ([del /\^/ "^" . label "disable"]?
+ . key Rx.word)
+ | list_sto "options"
+ (key Rx.word . Util.del_str "="
+ . store Rx.word)
(************************************************************************
* Group: DEFAULTS SECTION
@@ -75,11 +115,8 @@ let common_entry = list_sto ("base_features"|"default_features")
(* View: defaults_entry
Possible entries under the <defaults> section *)
-let defaults_entry = entry_sto "force_undo" ("true"|"false")
- | entry_sto "fs_type" Rx.word
- | entry_sto "undo_dir" Rx.fspath
- | list_sto "default_mntopts" (key Rx.word)
- | entry_sto "enable_periodic_fsck" Rx.integer
+let defaults_entry = entry_sto "fs_type" Rx.word
+ | entry_sto "undo_dir" fspath
(* View: defaults_title
Title for the <defaults> section *)
@@ -95,24 +132,12 @@ let defaults = IniFile.record defaults_title
* Group: FS_TYPES SECTION
*************************************************************************)
-(* View: fs_types_entry
- Possible entries under a <fs_types_record> group *)
-let fs_types_entry =list_sto "features"
- ([del /\^/ "^" . label "disable"]?
- . key Rx.word)
- | list_sto "options"
- (key Rx.word . Util.del_str "="
- . store Rx.word)
- | entry_sto "lazy_itable_init" ("true"|"false")
- | entry_sto ("flex_bg_size"|"auto_64-bit_support")
- Rx.integer
-
(* View: fs_types_record
Fs group records under the <fs_types> section *)
let fs_types_record = [ label "filesystem"
. Util.indent . store Rx.word
. del /[ \t]*=[ \t]*\{[ \t]*\n/ " = {\n"
- . ((Util.indent . (fs_types_entry|common_entry)) | empty | comment)*
+ . ((Util.indent . common_entry) | empty | comment)*
. del /[ \t]*\}[ \t]*\n/ " }\n" ]
(* View: fs_types_title
@@ -125,6 +150,33 @@ let fs_types = IniFile.record fs_types_title
(fs_types_record | comment)
+(************************************************************************
+ * Group: OPTIONS SECTION
+ *************************************************************************)
+
+(* View: options_entries_int
+ Entries with an integer value *)
+let options_entries_int = ("proceed_delay"|"sync_kludge")
+
+(* View: options_entries_bool
+ Entries with a boolean value *)
+let options_entries_bool = ("old_bitmaps")
+
+(* View: options_entry
+ Possible entries under the <options> section *)
+let options_entry = entry_sto options_entries_int Rx.integer
+ | entry_sto options_entries_bool boolean
+
+(* View: defaults_title
+ Title for the <options> section *)
+let options_title = IniFile.title "options"
+
+(* View: options
+ A options section *)
+let options = IniFile.record options_title
+ ((Util.indent . options_entry) | comment)
+
+
(************************************************************************
* Group: LENS AND FILTER
*************************************************************************)
@@ -132,7 +184,7 @@ let fs_types = IniFile.record fs_types_title
(* View: lns
The mke2fs lens
*)
-let lns = (empty|comment)* . (defaults|fs_types)*
+let lns = (empty|comment)* . (defaults|fs_types|options)*
(* Variable: filter *)
let filter = incl "/etc/mke2fs.conf"
diff --git a/lenses/tests/test_mke2fs.aug b/lenses/tests/test_mke2fs.aug
index f1ddbe9e..bcf2fe61 100644
--- a/lenses/tests/test_mke2fs.aug
+++ b/lenses/tests/test_mke2fs.aug
@@ -33,6 +33,10 @@ module Test_mke2fs =
inode_ratio = 1048576
blocksize = -1
}
+
+[options]
+ proceed_delay = 1
+ sync_kludge = 1
"
test Mke2fs.lns get conf =
@@ -74,10 +78,48 @@ module Test_mke2fs =
{ "inode_ratio" = "4096" } }
{ "filesystem" = "largefile"
{ "inode_ratio" = "1048576" }
- { "blocksize" = "-1" } } }
+ { "blocksize" = "-1" } }
+ {} }
+ { "options"
+ { "proceed_delay" = "1" }
+ { "sync_kludge" = "1" } }
-test Mke2fs.fs_types_entry
+ let quoted_conf = "[defaults]
+ base_features = \"sparse_super,filetype,resize_inode,dir_index,ext_attr\"
+
+[fs_types]
+ ext4dev = {
+ features = \"has_journal,^extent\"
+ default_mntopts = \"user_xattr\"
+ encoding = \"utf8\"
+ encoding = \"\"
+ }
+"
+
+ test Mke2fs.lns get quoted_conf =
+ { "defaults"
+ { "base_features"
+ { "sparse_super" }
+ { "filetype" }
+ { "resize_inode" }
+ { "dir_index" }
+ { "ext_attr" } }
+ {} }
+ { "fs_types"
+ { "filesystem" = "ext4dev"
+ { "features"
+ { "has_journal" }
+ { "extent"
+ { "disable" } } }
+ { "default_mntopts"
+ { "user_xattr" } }
+ { "encoding" = "utf8" }
+ { "encoding" }
+ } }
+
+
+test Mke2fs.common_entry
put "features = has_journal,^extent\n"
after set "/features/has_journal/disable" "";
rm "/features/extent/disable" = "features = ^has_journal,extent\n"
--
2.31.1

View File

@ -0,0 +1,148 @@
From f1480aa0c228107a22664e6302c6f2b388536ece Mon Sep 17 00:00:00 2001
From: rwmjones <rjones@redhat.com>
Date: Thu, 6 Oct 2022 12:15:56 +0100
Subject: [PATCH 9/9] semanage: Fix parsing of ignoredirs (#758)
From /etc/selinux/semanage.conf from a RHEL 9.1 system, this line
caused problems:
ignoredirs=/root;/bin;/boot;/dev;/etc [...]
Parse this as a list of modified Rx.fspath, generating a tree like:
/files/etc/selinux/semanage.conf/ignoredirs/1 = /root
/files/etc/selinux/semanage.conf/ignoredirs/2 = /bin
/files/etc/selinux/semanage.conf/ignoredirs/3 = /dev
/files/etc/selinux/semanage.conf/ignoredirs/4 = /etc
[...]
Also this adds the RHEL 9 file as another test case and adjusts the
output of the existing test case.
Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=2077120
Signed-off-by: Richard W.M. Jones <rjones@redhat.com>
Signed-off-by: Richard W.M. Jones <rjones@redhat.com>
(cherry picked from commit a3ba6e2d32b95507e2474a219e788ac3d54bc4a1)
---
lenses/semanage.aug | 7 +++-
lenses/tests/test_semanage.aug | 4 +-
tests/root/etc/selinux/semanage.conf | 60 ++++++++++++++++++++++++++++
tests/xpath.tests | 1 +
4 files changed, 70 insertions(+), 2 deletions(-)
create mode 100644 tests/root/etc/selinux/semanage.conf
diff --git a/lenses/semanage.aug b/lenses/semanage.aug
index 46f93b32..edd97131 100644
--- a/lenses/semanage.aug
+++ b/lenses/semanage.aug
@@ -23,7 +23,12 @@ let sep = IniFile.sep "=" "="
let empty = IniFile.empty
let eol = IniFile.eol
-let entry = IniFile.entry IniFile.entry_re sep comment
+let list_keys = "ignoredirs"
+let scl = del ";" ";"
+let fspath = /[^ \t\n;#]+/ (* Rx.fspath without ; or # *)
+
+let entry = IniFile.entry_list list_keys sep fspath scl comment
+ | IniFile.entry (IniFile.entry_re - list_keys) sep comment
| empty
let title = IniFile.title_label "@group" (IniFile.record_re - /^end$/)
diff --git a/lenses/tests/test_semanage.aug b/lenses/tests/test_semanage.aug
index a6ceaca0..f76b95f3 100644
--- a/lenses/tests/test_semanage.aug
+++ b/lenses/tests/test_semanage.aug
@@ -68,7 +68,9 @@ test Semanage.lns get conf =
{ "usepasswd" = "False" }
{ "bzip-small" = "true" }
{ "bzip-blocksize" = "5" }
- { "ignoredirs" = "/root" }
+ { "ignoredirs"
+ { "1" = "/root" }
+ }
{ }
{ "@group" = "sefcontext_compile"
{ "path" = "/usr/sbin/sefcontext_compile" }
diff --git a/tests/root/etc/selinux/semanage.conf b/tests/root/etc/selinux/semanage.conf
new file mode 100644
index 00000000..406f16f1
--- /dev/null
+++ b/tests/root/etc/selinux/semanage.conf
@@ -0,0 +1,60 @@
+# Authors: Jason Tang <jtang@tresys.com>
+#
+# Copyright (C) 2004-2005 Tresys Technology, LLC
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# This library 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
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+#
+# Specify how libsemanage will interact with a SELinux policy manager.
+# The four options are:
+#
+# "source" - libsemanage manipulates a source SELinux policy
+# "direct" - libsemanage will write directly to a module store.
+# /foo/bar - Write by way of a policy management server, whose
+# named socket is at /foo/bar. The path must begin
+# with a '/'.
+# foo.com:4242 - Establish a TCP connection to a remote policy
+# management server at foo.com. If there is a colon
+# then the remainder is interpreted as a port number;
+# otherwise default to port 4242.
+module-store = direct
+
+# When generating the final linked and expanded policy, by default
+# semanage will set the policy version to POLICYDB_VERSION_MAX, as
+# given in <sepol/policydb.h>. Change this setting if a different
+# version is necessary.
+#policy-version = 19
+
+# expand-check check neverallow rules when executing all semanage
+# commands. There might be a penalty in execution time if this
+# option is enabled.
+expand-check=0
+
+# usepasswd check tells semanage to scan all pass word records for home directories
+# and setup the labeling correctly. If this is turned off, SELinux will label only /home
+# and home directories of users with SELinux login mappings defined, see
+# semanage login -l for the list of such users.
+# If you want to use a different home directory, you will need to use semanage fcontext command.
+# For example, if you had home dirs in /althome directory you would have to execute
+# semanage fcontext -a -e /home /althome
+usepasswd=False
+bzip-small=true
+bzip-blocksize=5
+ignoredirs=/root;/bin;/boot;/dev;/etc;/lib;/lib64;/proc;/run;/sbin;/sys;/tmp;/usr;/var
+optimize-policy=true
+
+[sefcontext_compile]
+path = /usr/sbin/sefcontext_compile
+args = -r $@
+[end]
diff --git a/tests/xpath.tests b/tests/xpath.tests
index a7db8d83..feab7584 100644
--- a/tests/xpath.tests
+++ b/tests/xpath.tests
@@ -109,6 +109,7 @@ test descendant-or-self /files/descendant-or-self :: 4
/files/etc/ssh/ssh_config/Host/SendEnv[1]/4 = LC_TIME
/files/etc/ssh/ssh_config/Host/SendEnv[2]/4 = LC_TELEPHONE
/files/etc/aliases/4
+ /files/etc/selinux/semanage.conf/ignoredirs/4 = /dev
/files/etc/fstab/4
/files/etc/pam.d/login/4
/files/etc/pam.d/newrole/4
--
2.31.1

View File

@ -1,12 +1,16 @@
Name: augeas
Version: 1.12.0
Release: 6%{?dist}
Release: 8%{?dist}
Summary: A library for changing configuration files
Group: System Environment/Libraries
License: LGPLv2+
URL: http://augeas.net/
Source0: http://download.augeas.net/%{name}-%{version}.tar.gz
# Patches are stored here:
# https://github.com/rwmjones/augeas/tree/rhel-8.8
Patch1: 0001-Grub-support-in-kernel-command-line-option-names-647.patch
Patch2: 0002-Rsyslog-support-multiple-actions-in-filters-and-sele.patch
Patch3: 0003-src-augrun.c-nexttoken-add-more-escape-characters.patch
@ -14,6 +18,8 @@ Patch4: 0004-src-augtool.c-hopefully-fix-readline-quoting-issues.patch
Patch5: 0005-Krb5-improve-dbmodules-and-includes-630.patch
Patch6: 0006-Systemd-fix-parsing-of-envvars-with-spaces-659.patch
Patch7: 0007-Ssh-add-Match-keyword-support-695.patch
Patch8: 0008-Include-mke2fs-lens-and-test-from-upstream.patch
Patch9: 0009-semanage-Fix-parsing-of-ignoredirs-758.patch
BuildRequires: readline-devel libselinux-devel libxml2-devel
BuildRequires: autoconf, automake
@ -120,6 +126,14 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/pkgconfig/augeas.pc
%changelog
* Wed Oct 12 2022 Richard W.M. Jones <rjones@redhat.com> - 1.12.0-8
- Fix parsing of semanage.conf ignoredirs
resolves: rhbz#1931058
* Wed Jan 12 2022 Richard W.M. Jones <rjones@redhat.com> - 1.12.0-7
- Fix parsing of mke2fs.conf files
resolves: rhbz#1807010
* Tue Jan 05 2021 Pino Toscano <ptoscano@redhat.com> - 1.12.0-6
- Ssh: parse Match options (RHBZ#1716359)