Hello community,

here is the log from the commit of package checkpolicy for openSUSE:Factory 
checked in at 2019-03-24 14:54:59
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/checkpolicy (Old)
 and      /work/SRC/openSUSE:Factory/.checkpolicy.new.25356 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "checkpolicy"

Sun Mar 24 14:54:59 2019 rev:28 rq:687199 version:2.9

Changes:
--------
--- /work/SRC/openSUSE:Factory/checkpolicy/checkpolicy.changes  2018-12-07 
14:36:39.590977497 +0100
+++ /work/SRC/openSUSE:Factory/.checkpolicy.new.25356/checkpolicy.changes       
2019-03-24 14:55:02.171214518 +0100
@@ -1,0 +2,10 @@
+Wed Mar 20 14:58:08 UTC 2019 - jseg...@suse.com
+
+- Update to version 2.9
+  * Add option to sort contexts when creating a binary policy
+  * Update manpage
+  * check the result value of hashtable_search
+  * destroy the class datum if it fails to initialize
+  * remove extraneous policy build noise
+
+-------------------------------------------------------------------

Old:
----
  checkpolicy-2.8.tar.gz

New:
----
  checkpolicy-2.9.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ checkpolicy.spec ++++++
--- /var/tmp/diff_new_pack.lY4Y7b/_old  2019-03-24 14:55:02.635214469 +0100
+++ /var/tmp/diff_new_pack.lY4Y7b/_new  2019-03-24 14:55:02.639214469 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package checkpolicy
 #
-# 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
@@ -16,15 +16,15 @@
 #
 
 
-%define libsepol_ver 2.8
+%define libsepol_ver 2.9
 Name:           checkpolicy
-Version:        2.8
+Version:        2.9
 Release:        0
 Summary:        SELinux policy compiler
 License:        GPL-2.0-or-later
 Group:          Productivity/Security
 Url:            https://github.com/SELinuxProject/selinux
-Source0:        
https://github.com/SELinuxProject/selinux/releases/download/20180524/%{name}-%{version}.tar.gz
+Source0:        
https://github.com/SELinuxProject/selinux/releases/download/20190315/%{name}-%{version}.tar.gz
 Source1:        checkpolicy-tests.tar.gz
 BuildRequires:  bison
 BuildRequires:  flex
@@ -86,5 +86,6 @@
 %{_bindir}/sedismod
 %{_bindir}/sedispol
 %{_mandir}/man8/check*.*%{ext_man}
+%{_mandir}/ru/man8/check*.*%{ext_man}
 
 %changelog

++++++ checkpolicy-2.8.tar.gz -> checkpolicy-2.9.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/checkpolicy-2.8/Makefile new/checkpolicy-2.9/Makefile
--- old/checkpolicy-2.8/Makefile        2018-05-24 20:21:09.000000000 +0200
+++ new/checkpolicy-2.9/Makefile        2019-03-15 11:32:30.000000000 +0100
@@ -1,6 +1,7 @@
 #
 # Makefile for building the checkpolicy program
 #
+LINGUAS ?= ru
 PREFIX ?= /usr
 BINDIR ?= $(PREFIX)/bin
 MANDIR ?= $(PREFIX)/share/man
@@ -55,6 +56,12 @@
        install -m 755 $(TARGETS) $(DESTDIR)$(BINDIR)   
        install -m 644 checkpolicy.8 $(DESTDIR)$(MANDIR)/man8
        install -m 644 checkmodule.8 $(DESTDIR)$(MANDIR)/man8
+       for lang in $(LINGUAS) ; do \
+               if [ -e $${lang} ] ; then \
+                       mkdir -p $(DESTDIR)$(MANDIR)/$${lang}/man8 ; \
+                       install -m 644 $${lang}/*.8 
$(DESTDIR)$(MANDIR)/$${lang}/man8 ; \
+               fi ; \
+       done
 
 relabel: install
        /sbin/restorecon $(DESTDIR)$(BINDIR)/checkpolicy
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/checkpolicy-2.8/VERSION new/checkpolicy-2.9/VERSION
--- old/checkpolicy-2.8/VERSION 2018-05-24 20:21:09.000000000 +0200
+++ new/checkpolicy-2.9/VERSION 2019-03-15 11:32:30.000000000 +0100
@@ -1 +1 @@
-2.8
+2.9
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/checkpolicy-2.8/checkmodule.c 
new/checkpolicy-2.9/checkmodule.c
--- old/checkpolicy-2.8/checkmodule.c   2018-05-24 20:21:09.000000000 +0200
+++ new/checkpolicy-2.9/checkmodule.c   2019-03-15 11:32:30.000000000 +0100
@@ -228,7 +228,6 @@
                if (optind != argc)
                        usage(argv[0]);
        }
-       printf("%s:  loading policy configuration from %s\n", argv[0], file);
 
        /* Set policydb and sidtab used by libsepol service functions
           to my structures, so that I can directly populate and
@@ -302,8 +301,6 @@
 
        sepol_sidtab_destroy(&sidtab);
 
-       printf("%s:  policy configuration loaded\n", argv[0]);
-
        if (outfile) {
                FILE *outfp = fopen(outfile, "w");
 
@@ -313,16 +310,11 @@
                }
 
                if (!cil) {
-                       printf("%s:  writing binary representation (version %d) 
to %s\n",
-                                  argv[0], policyvers, outfile);
-
                        if (write_binary_policy(&modpolicydb, outfp) != 0) {
                                fprintf(stderr, "%s:  error writing %s\n", 
argv[0], outfile);
                                exit(1);
                        }
                } else {
-                       printf("%s:  writing CIL to %s\n",argv[0], outfile);
-
                        if (sepol_module_policydb_to_cil(outfp, &modpolicydb, 
0) != 0) {
                                fprintf(stderr, "%s:  error writing %s\n", 
argv[0], outfile);
                                exit(1);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/checkpolicy-2.8/checkpolicy.8 
new/checkpolicy-2.9/checkpolicy.8
--- old/checkpolicy-2.8/checkpolicy.8   2018-05-24 20:21:09.000000000 +0200
+++ new/checkpolicy-2.9/checkpolicy.8   2019-03-15 11:32:30.000000000 +0100
@@ -3,7 +3,7 @@
 checkpolicy \- SELinux policy compiler
 .SH SYNOPSIS
 .B checkpolicy
-.I "[\-b[F]] [\-C] [\-d] [\-M] [\-c policyvers] [\-o output_file] [input_file]"
+.I "[\-b[F]] [\-C] [\-d] [\-U handle_unknown (allow,deny,reject)] [\-M] [\-c 
policyvers] [\-o output_file] [\-S] [\-t target_platform (selinux,xen)] [\-V] 
[input_file]"
 .br
 .SH "DESCRIPTION"
 This manual page describes the
@@ -21,30 +21,33 @@
 .B \-b,\-\-binary
 Read an existing binary policy file rather than a source policy.conf file.
 .TP
+.B \-F,\-\-conf
+Write policy.conf file rather than binary policy file. Can only be used with 
binary policy file.
+.TP
 .B \-C,\-\-cil
 Write CIL policy file rather than binary policy file.
 .TP
 .B \-d,\-\-debug
 Enter debug mode after loading the policy.
 .TP
-.B \-F,\-\-conf
-Write policy.conf file rather than binary policy file. Can only be used with 
binary policy file.
+.B \-U,\-\-handle-unknown <action>
+Specify how the kernel should handle unknown classes or permissions (deny, 
allow or reject).
 .TP
 .B \-M,\-\-mls
 Enable the MLS policy when checking and compiling the policy.
 .TP
+.B \-c policyvers
+Specify the policy version, defaults to the latest.
+.TP
 .B \-o,\-\-output filename
 Write a binary policy file to the specified filename.
 .TP
-.B \-c policyvers
-Specify the policy version, defaults to the latest.
+.B \-S,\-\-sort
+Sort ocontexts before writing out the binary policy. This option makes output 
of checkpolicy consistent with binary policies created by semanage and secilc.
 .TP
 .B \-t,\-\-target
 Specify the target platform (selinux or xen).
 .TP
-.B \-U,\-\-handle-unknown <action>
-Specify how the kernel should handle unknown classes or permissions (deny, 
allow or reject).
-.TP
 .B \-V,\-\-version
 Show version information.
 .TP
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/checkpolicy-2.8/checkpolicy.c 
new/checkpolicy-2.9/checkpolicy.c
--- old/checkpolicy-2.8/checkpolicy.c   2018-05-24 20:21:09.000000000 +0200
+++ new/checkpolicy-2.9/checkpolicy.c   2019-03-15 11:32:30.000000000 +0100
@@ -111,9 +111,9 @@
 static __attribute__((__noreturn__)) void usage(const char *progname)
 {
        printf
-           ("usage:  %s [-b[F]] [-C] [-d] [-U handle_unknown 
(allow,deny,reject)] [-M]"
-            "[-c policyvers (%d-%d)] [-o output_file] [-t target_platform 
(selinux,xen)]"
-            "[input_file]\n",
+           ("usage:  %s [-b[F]] [-C] [-d] [-U handle_unknown 
(allow,deny,reject)] [-M] "
+            "[-c policyvers (%d-%d)] [-o output_file] [-S] "
+            "[-t target_platform (selinux,xen)] [-V] [input_file]\n",
             progname, POLICYDB_VERSION_MIN, POLICYDB_VERSION_MAX);
        exit(1);
 }
@@ -394,7 +394,7 @@
        size_t scontext_len, pathlen;
        unsigned int i;
        unsigned int protocol, port;
-       unsigned int binary = 0, debug = 0, cil = 0, conf = 0;
+       unsigned int binary = 0, debug = 0, sort = 0, cil = 0, conf = 0;
        struct val_to_name v;
        int ret, ch, fd, target = SEPOL_TARGET_SELINUX;
        unsigned int nel, uret;
@@ -418,11 +418,12 @@
                {"mls", no_argument, NULL, 'M'},
                {"cil", no_argument, NULL, 'C'},
                {"conf",no_argument, NULL, 'F'},
+               {"sort", no_argument, NULL, 'S'},
                {"help", no_argument, NULL, 'h'},
                {NULL, 0, NULL, 0}
        };
 
-       while ((ch = getopt_long(argc, argv, "o:t:dbU:MCFVc:h", long_options, 
NULL)) != -1) {
+       while ((ch = getopt_long(argc, argv, "o:t:dbU:MCFSVc:h", long_options, 
NULL)) != -1) {
                switch (ch) {
                case 'o':
                        outfile = optarg;
@@ -462,6 +463,9 @@
                                break;
                        }
                        usage(argv[0]);
+               case 'S':
+                       sort = 1;
+                       break;
                case 'M':
                        mlspol = 1;
                        break;
@@ -512,8 +516,6 @@
                if (optind != argc)
                        usage(argv[0]);
        }
-       printf("%s:  loading policy configuration from %s\n", argv[0], file);
-
        /* Set policydb and sidtab used by libsepol service functions
           to my structures, so that I can directly populate and
           manipulate them. */
@@ -623,8 +625,6 @@
        if (policydb_load_isids(&policydb, &sidtab))
                exit(1);
 
-       printf("%s:  policy configuration loaded\n", argv[0]);
-
        if (outfile) {
                outfp = fopen(outfile, "w");
                if (!outfp) {
@@ -636,17 +636,21 @@
 
                if (!cil) {
                        if (!conf) {
-                               printf("%s:  writing binary representation 
(version %d) to %s\n", argv[0], policyvers, outfile);
-
                                policydb.policy_type = POLICY_KERN;
 
                                policy_file_init(&pf);
                                pf.type = PF_USE_STDIO;
                                pf.fp = outfp;
+                               if (sort) {
+                                       ret = 
policydb_sort_ocontexts(&policydb);
+                                       if (ret) {
+                                               fprintf(stderr, "%s:  error 
sorting ocontexts\n",
+                                               argv[0]);
+                                               exit(1);
+                                       }
+                               }
                                ret = policydb_write(&policydb, &pf);
                        } else {
-                               printf("%s:  writing policy.conf to %s\n",
-                                      argv[0], outfile);
                                ret = sepol_kernel_policydb_to_conf(outfp, 
policydbp);
                        }
                        if (ret) {
@@ -655,7 +659,6 @@
                                exit(1);
                        }
                } else {
-                       printf("%s:  writing CIL to %s\n",argv[0], outfile);
                        if (binary) {
                                ret = sepol_kernel_policydb_to_cil(outfp, 
policydbp);
                        } else {
@@ -894,8 +897,6 @@
                        FGETS(ans, sizeof(ans), stdin);
                        pathlen = strlen(ans);
                        ans[pathlen - 1] = 0;
-                       printf("%s:  loading policy configuration from %s\n",
-                              argv[0], ans);
                        fd = open(ans, O_RDONLY);
                        if (fd < 0) {
                                fprintf(stderr, "Can't open '%s':  %s\n",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/checkpolicy-2.8/module_compiler.c 
new/checkpolicy-2.9/module_compiler.c
--- old/checkpolicy-2.8/module_compiler.c       2018-05-24 20:21:09.000000000 
+0200
+++ new/checkpolicy-2.9/module_compiler.c       2019-03-15 11:32:30.000000000 
+0100
@@ -802,6 +802,7 @@
        if ((datum = calloc(1, sizeof(*datum))) == NULL ||
            symtab_init(&datum->permissions, PERM_SYMTAB_SIZE)) {
                yyerror("Out of memory!");
+               class_datum_destroy(datum);
                return -1;
        }
        ret =
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/checkpolicy-2.8/policy_define.c 
new/checkpolicy-2.9/policy_define.c
--- old/checkpolicy-2.8/policy_define.c 2018-05-24 20:21:09.000000000 +0200
+++ new/checkpolicy-2.9/policy_define.c 2019-03-15 11:32:30.000000000 +0100
@@ -1107,6 +1107,11 @@
                            (cat_datum_t *) hashtab_search(policydbp->p_cats.
                                                           table,
                                                           (hashtab_key_t) id);
+                       if (!cdatum) {
+                               yyerror2("unknown category %s", id);
+                               free(id);
+                               return -1;
+                       }
                        range_start = range_end = cdatum->s.value - 1;
                }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/checkpolicy-2.8/ru/checkmodule.8 
new/checkpolicy-2.9/ru/checkmodule.8
--- old/checkpolicy-2.8/ru/checkmodule.8        1970-01-01 01:00:00.000000000 
+0100
+++ new/checkpolicy-2.9/ru/checkmodule.8        2019-03-15 11:32:30.000000000 
+0100
@@ -0,0 +1,57 @@
+.TH CHECKMODULE 8
+.SH ИМЯ
+checkmodule \- компилятор модулей политики SELinux
+.SH ОБЗОР
+.B checkmodule
+.I "[\-h] [\-b] [\-C] [\-m] [\-M] [\-U handle_unknown ] [\-V] [\-o 
output_file] [input_file]"
+.SH "ОПИСАНИЕ"
+Эта страница руководства содержит описание команды
+.BR checkmodule.
+.PP
+.B checkmodule
+- это программа, которая проверяет и компилирует модуль политики безопасности 
SELinux в двоичное представление.  Она может создавать либо базовый модуль 
политики (по умолчанию), либо небазовый модуль политики (параметр \-m); обычно 
требуется создать небазовый модуль политики для последующего добавления в 
существующее хранилище модулей, в котором уже есть базовый модуль, 
предоставленный базовой политикой. Используйте semodule_package, чтобы 
объединить этот модуль с соответствующим необязательным файлом контекстов 
файлов и таким образом создать пакет политики, а затем используйте semodule для 
установки пакета модуля в хранилище модулей и загрузите получившуюся политику.
+
+.SH ПАРАМЕТРЫ
+.TP
+.B \-b,\-\-binary
+Прочитать существующий файл двоичного модуля политики вместо исходного файла 
модуля политики. Этот параметр полезен при разработке/отладке.
+.TP
+.B \-C,\-\-cil
+Записать файл политики CIL, а не двоичный файл политики.
+.TP
+.B \-h,\-\-help
+Вывести справку.
+.TP
+.B \-m
+Создать небазовый модуль политики.
+.TP
+.B \-M,\-\-mls
+Включить поддержку MLS/MCS при проверке и компиляции модуля политики.
+.TP
+.B \-V,\-\-version
+Показать версии политики, созданные этой программой. Обратите внимание, что в 
настоящее время не поддерживается сборка более ранних версий.
+.TP
+.B \-o,\-\-output filename
+Записать файл двоичного модуля политики с указанным именем файла.
+Без указания имени файла checkmodule только проверит синтаксис исходного файла 
модуля и не будет создавать двоичный модуль.
+.TP
+.B \-U,\-\-handle-unknown <action>
+Указать, как ядро должно обрабатывать неизвестные классы или разрешения 
(запрещать, разрешать или отклонять).
+
+.SH ПРИМЕР
+.nf
+# Собрать небазовый модуль политики с включённой системой безопасности MLS/MCS.
+$ checkmodule \-M \-m httpd.te \-o httpd.mod
+.fi
+
+.SH "СМОТРИТЕ ТАКЖЕ"
+.B semodule(8), semodule_package(8)
+Документация SELinux по адресу http://www.nsa.gov/research/selinux,
+в частности - "Настройка политики SELinux".
+
+
+.SH АВТОРЫ
+Эта страница руководства была скопирована со страницы руководства checkpolicy, 
написанной Arpad Magosanyi <m...@bunuel.tii.matav.hu>, 
+и отредактирована Dan Walsh <dwa...@redhat.com>.
+Программа была написана Stephen Smalley <s...@tycho.nsa.gov>.
+Перевод на русский язык выполнила Герасименко Олеся <gamma...@basealt.ru>.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/checkpolicy-2.8/ru/checkpolicy.8 
new/checkpolicy-2.9/ru/checkpolicy.8
--- old/checkpolicy-2.8/ru/checkpolicy.8        1970-01-01 01:00:00.000000000 
+0100
+++ new/checkpolicy-2.9/ru/checkpolicy.8        2019-03-15 11:32:30.000000000 
+0100
@@ -0,0 +1,59 @@
+.TH CHECKPOLICY 8
+.SH ИМЯ
+checkpolicy \- компилятор политики SELinux
+.SH ОБЗОР
+.B checkpolicy
+.I "[\-b[F]] [\-C] [\-d] [\-M] [\-c policyvers] [\-o output_file] [input_file]"
+.br
+.SH "ОПИСАНИЕ"
+Эта страница руководства содержит описание команды 
+.BR checkpolicy.
+.PP
+.B checkpolicy
+- это программа, которая проверяет и компилирует конфигурацию политики 
безопасности SELinux в двоичное представление, которое можно загрузить в ядро. 
Если имя входного файла не указано, checkpolicy попытается выполнить чтение из 
policy.conf или policy (если указан флаг \-b).
+
+.SH ПАРАМЕТРЫ
+.TP
+.B \-b,\-\-binary
+Прочитать существующий двоичный файл политики, а не исходный файл policy.conf.
+.TP
+.B \-C,\-\-cil
+Записать файл политики CIL, а не двоичный файл политики.
+.TP
+.B \-d,\-\-debug
+Войти в режим отладки после загрузки политики.
+.TP
+.B \-F,\-\-conf
+Записать файл policy.conf, а не двоичный файл политики. Этот параметр можно 
использовать только при работе с двоичным файлом политики.
+.TP
+.B \-M,\-\-mls
+Включить политику MLS при проверке и компиляции политики.
+.TP
+.B \-o,\-\-output filename
+Записать двоичный файл политики с указанным именем файла.
+.TP
+.B \-c policyvers
+Указать версию политики (по умолчанию используется последняя).
+.TP
+.B \-t,\-\-target
+Указать целевую платформу (selinux или xen).
+.TP
+.B \-U,\-\-handle-unknown <action>
+Указать, как ядро должно обрабатывать неизвестные классы или разрешения 
(запрещать, разрешать или отклонять).
+.TP
+.B \-V,\-\-version
+Показать сведения о версии.
+.TP
+.B \-h,\-\-help
+Показать сведения об использовании.
+
+.SH "СМОТРИТЕ ТАКЖЕ"
+Документация SELinux по адресу http://www.nsa.gov/research/selinux,
+в частности - "Настройка политики SELinux".
+
+
+.SH АВТОРЫ
+Эта страница руководства была написана Arpad Magosanyi 
<m...@bunuel.tii.matav.hu>,
+и отредактирована Stephen Smalley <s...@tycho.nsa.gov>.
+Программа была написана Stephen Smalley <s...@tycho.nsa.gov>.
+Перевод на русский язык выполнила Герасименко Олеся <gamma...@basealt.ru>.


Reply via email to