Fix regression in dictionary creation and lookup
This commit is contained in:
parent
6d35644e4b
commit
bc61ed0119
60
cracklib-2.9.6-lookup.patch
Normal file
60
cracklib-2.9.6-lookup.patch
Normal file
@ -0,0 +1,60 @@
|
|||||||
|
diff -up cracklib-2.9.6/lib/packlib.c.lookup cracklib-2.9.6/lib/packlib.c
|
||||||
|
--- cracklib-2.9.6/lib/packlib.c.lookup 2018-10-10 14:19:06.988958835 +0200
|
||||||
|
+++ cracklib-2.9.6/lib/packlib.c 2018-11-26 16:04:34.648256614 +0100
|
||||||
|
@@ -585,12 +585,11 @@ fprintf(stderr, "look for (%s)\n", strin
|
||||||
|
fprintf(stderr, "---- %lu, %lu ----\n", lwm, hwm);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
- middle = lwm + ((hwm - lwm + 1) / 2);
|
||||||
|
-
|
||||||
|
for (;;)
|
||||||
|
{
|
||||||
|
int cmp;
|
||||||
|
|
||||||
|
+ middle = lwm + ((hwm - lwm + 1) / 2);
|
||||||
|
|
||||||
|
#if DEBUG
|
||||||
|
fprintf(stderr, "lwm = %lu, middle = %lu, hwm = %lu\n", lwm, middle, hwm);
|
||||||
|
@@ -617,24 +616,28 @@ fprintf(stderr, "look for (%s)\n", strin
|
||||||
|
return(middle);
|
||||||
|
}
|
||||||
|
|
||||||
|
- if (middle == hwm)
|
||||||
|
- {
|
||||||
|
-#if DEBUG
|
||||||
|
- fprintf(stderr, "at terminal subdivision, stopping search\n");
|
||||||
|
-#endif
|
||||||
|
- break;
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
if (cmp < 0)
|
||||||
|
{
|
||||||
|
- hwm = middle;
|
||||||
|
- middle = lwm + ((hwm - lwm ) / 2);
|
||||||
|
- }
|
||||||
|
+ if (middle == lwm)
|
||||||
|
+ {
|
||||||
|
+#if DEBUG
|
||||||
|
+ fprintf(stderr, "at terminal subdivision from right, stopping search\n");
|
||||||
|
+#endif
|
||||||
|
+ break;
|
||||||
|
+ }
|
||||||
|
+ hwm = middle - 1;
|
||||||
|
+ }
|
||||||
|
else if (cmp > 0)
|
||||||
|
{
|
||||||
|
- lwm = middle;
|
||||||
|
- middle = lwm + ((hwm - lwm + 1) / 2);
|
||||||
|
- }
|
||||||
|
+ if (middle == hwm)
|
||||||
|
+ {
|
||||||
|
+#if DEBUG
|
||||||
|
+ fprintf(stderr, "at terminal subdivision from left, stopping search\n");
|
||||||
|
+#endif
|
||||||
|
+ break;
|
||||||
|
+ }
|
||||||
|
+ lwm = middle + 1;
|
||||||
|
+ }
|
||||||
|
}
|
||||||
|
|
||||||
|
return (PW_WORDS(pwp));
|
@ -106,7 +106,7 @@ diff -up cracklib-2.9.6/util/cracklib-format.simplistic cracklib-2.9.6/util/crac
|
|||||||
- tr '[A-Z]' '[a-z]' |
|
- tr '[A-Z]' '[a-z]' |
|
||||||
- tr -cd '\012[a-z][0-9]' |
|
- tr -cd '\012[a-z][0-9]' |
|
||||||
- env LC_ALL=C sort -u
|
- env LC_ALL=C sort -u
|
||||||
+ grep -a -E -v '^.{30,}$' |
|
+ grep -a -E -v '^.{32,}$' |
|
||||||
+ tr '[:upper:]' '[:lower:]' |
|
+ tr '[:upper:]' '[:lower:]' |
|
||||||
+ tr -cd '\n[:graph:]' |
|
+ tr -cd '\n[:graph:]' |
|
||||||
+ sort -u
|
+ sort -u
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
Summary: A password-checking library
|
Summary: A password-checking library
|
||||||
Name: cracklib
|
Name: cracklib
|
||||||
Version: 2.9.6
|
Version: 2.9.6
|
||||||
Release: 17%{?dist}
|
Release: 18%{?dist}
|
||||||
Group: System Environment/Libraries
|
Group: System Environment/Libraries
|
||||||
Source0: https://github.com/cracklib/cracklib/releases/download/cracklib-%{version}/cracklib-%{version}.tar.gz
|
Source0: https://github.com/cracklib/cracklib/releases/download/cracklib-%{version}/cracklib-%{version}.tar.gz
|
||||||
Source1: https://github.com/cracklib/cracklib/releases/download/cracklib-%{version}/cracklib-words-%{version}.gz
|
Source1: https://github.com/cracklib/cracklib/releases/download/cracklib-%{version}/cracklib-words-%{version}.gz
|
||||||
@ -27,6 +27,7 @@ Patch6: cracklib-2.9.6-simplistic.patch
|
|||||||
Patch7: cracklib-2.9.6-translation-updates.patch
|
Patch7: cracklib-2.9.6-translation-updates.patch
|
||||||
Patch8: cracklib-2.9.6-cve-2016-6318.patch
|
Patch8: cracklib-2.9.6-cve-2016-6318.patch
|
||||||
Patch9: cracklib-2.9.6-coverity.patch
|
Patch9: cracklib-2.9.6-coverity.patch
|
||||||
|
Patch10: cracklib-2.9.6-lookup.patch
|
||||||
URL: http://sourceforge.net/projects/cracklib/
|
URL: http://sourceforge.net/projects/cracklib/
|
||||||
License: LGPLv2+
|
License: LGPLv2+
|
||||||
Buildroot: %{_tmppath}/%{name}-%{version}-root
|
Buildroot: %{_tmppath}/%{name}-%{version}-root
|
||||||
@ -112,6 +113,7 @@ install -p -m 644 %{SOURCE3} po/zh_CN.po
|
|||||||
%patch7 -p1 -b .translations
|
%patch7 -p1 -b .translations
|
||||||
%patch8 -p1 -b .overflow
|
%patch8 -p1 -b .overflow
|
||||||
%patch9 -p1 -b .coverity
|
%patch9 -p1 -b .coverity
|
||||||
|
%patch10 -p1 -b .lookup
|
||||||
|
|
||||||
mkdir cracklib-dicts
|
mkdir cracklib-dicts
|
||||||
for dict in %{SOURCE10} %{SOURCE1}
|
for dict in %{SOURCE10} %{SOURCE1}
|
||||||
@ -235,6 +237,9 @@ EOF
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Mon Nov 26 2018 Tomáš Mráz <tmraz@redhat.com> - 2.9.6-18
|
||||||
|
- Fix regression in dictionary creation and lookup
|
||||||
|
|
||||||
* Wed Oct 10 2018 Tomáš Mráz <tmraz@redhat.com> - 2.9.6-17
|
* Wed Oct 10 2018 Tomáš Mráz <tmraz@redhat.com> - 2.9.6-17
|
||||||
- Fix minor bug found in the Coverity scan
|
- Fix minor bug found in the Coverity scan
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user