Blame SPECS/http-parser.spec

014b88
%bcond_without check
014b88
55719b
Name:           http-parser
55719b
Version:        2.8.0
6899e0
Release:        9%{?dist}
55719b
Summary:        HTTP request/response parser for C
55719b
55719b
License:        MIT
55719b
URL:            https://github.com/nodejs/http-parser
55719b
Source0:        %{url}/archive/v%{version}/%{name}-%{version}.tar.gz
55719b
55719b
BuildRequires:  meson
55719b
BuildRequires:  gcc
55719b
014b88
Patch01:      CVE-2018-7159.patch
014b88
Patch02:      CVE-2018-12121.patch
014b88
Patch03:      remove-unused-functions-from-test-runner.patch
64563b
Patch04:      CVE-2019-15605-HTTP-request-smuggling.patch
55719b
55719b
%description
55719b
This is a parser for HTTP messages written in C. It parses both requests and
55719b
responses. The parser is designed to be used in performance HTTP applications.
55719b
It does not make any syscalls nor allocations, it does not buffer data, it can
55719b
be interrupted at anytime. Depending on your architecture, it only requires
55719b
about 40 bytes of data per message stream (in a web server that is per
55719b
connection).
55719b
55719b
%package devel
55719b
Summary:        Development headers and libraries for http-parser
55719b
Requires:       %{name}%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
55719b
55719b
%description devel
55719b
Development headers and libraries for http-parser.
55719b
55719b
%prep
6899e0
%autosetup -p1
014b88
55719b
# TODO: try to send upstream?
55719b
cat > meson.build << EOF
55719b
project('%{name}', 'c', version : '%{version}')
55719b
install_headers('http_parser.h')
55719b
foreach x : [['http_parser',        ['-DHTTP_PARSER_STRICT=0']],
55719b
             ['http_parser_strict', ['-DHTTP_PARSER_STRICT=1']]]
55719b
  lib = library(x.get(0), 'http_parser.c',
55719b
                c_args : x.get(1),
55719b
                version : '%{version}',
55719b
                install : true)
55719b
  test('test-@0@'.format(x.get(0)),
55719b
       executable('test-@0@'.format(x.get(0)), 'test.c',
55719b
                  c_args : x.get(1),
55719b
                  link_with : lib),
55719b
       timeout : 60)
55719b
endforeach
55719b
EOF
55719b
55719b
%build
55719b
%meson
55719b
%meson_build
55719b
55719b
%install
55719b
%meson_install
55719b
014b88
%if %{with check}
55719b
%check
55719b
%meson_test
014b88
%endif
55719b
55719b
%ldconfig_scriptlets
55719b
55719b
%files
55719b
%license LICENSE-MIT
55719b
%doc AUTHORS README.md
55719b
%{_libdir}/libhttp_parser.so.*
55719b
%{_libdir}/libhttp_parser_strict.so.*
55719b
55719b
%files devel
55719b
%{_includedir}/http_parser.h
55719b
%{_libdir}/libhttp_parser.so
55719b
%{_libdir}/libhttp_parser_strict.so
55719b
55719b
%changelog
6899e0
* Wed Feb 26 2020 Sergio Correia <scorreia@redhat.com> - 2.8.0-9
64563b
- Do not break ABI with CVE-2019-15605 fix
64563b
6899e0
* Wed Feb 19 2020 Sergio Correia <scorreia@redhat.com> - 2.8.0-8
6899e0
- Update gating tests due to CVE-2019-15605
6899e0
6899e0
* Tue Feb 18 2020 Sergio Corrreia <scorreia@redhat.com> - 2.8.0-7
64563b
- Resolves: CVE-2019-15605 http-parser: nodejs: HTTP request
6899e0
                           smuggling using malformed Transfer-Encoding header
6899e0
6899e0
* Tue Oct 29 2019 Sergio Correia <scorreia@redhat.com> - 2.8.0-6
6899e0
- Provide -devel package
6899e0
  Resolves: rhbz#1748765: http-parser-devel package not available in CRB
64563b
014b88
* Mon Aug 12 2019 Sergio Correia <scorreia@redhat.com> - 2.8.0-5
014b88
- Resolves: rhbz#1686488: 'make test' fails with stringop-overflow error
014b88
014b88
* Thu Aug 08 2019 Sergio Correia <scorreia@redhat.com> - 2.8.0-4
014b88
- Resolves: rhbz#1666382: CVE-2018-12121 http-parser: nodejs: Denial of
014b88
                          Service with large HTTP headers [rhel-8]
014b88
014b88
* Thu Apr 11 2019 Daniel Kopecek <dkopecek@redhat.com> - 2.8.0-3
014b88
- spec: make the check phase conditional
014b88
55719b
* Mon Dec  3 2018 Jakub Hrozek <jhrozek@redhat.com> - 2.8.0-2
55719b
- Resolves: #rhbz1654223: CVE-2018-7159 http-parser: nodejs: HTTP parser
55719b
                          allowed for spaces inside Content-Length header
55719b
                          values [rhel-8]
55719b
55719b
* Sat Feb 10 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 2.8.0-1
55719b
- Update to 2.8.0
55719b
- Switch to meson buildsystem
55719b
55719b
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.7.1-9
55719b
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
55719b
55719b
* Sat Feb 03 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 2.7.1-8
55719b
- Switch to %%ldconfig_scriptlets
55719b
55719b
* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.7.1-7
55719b
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
55719b
55719b
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.7.1-6
55719b
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
55719b
55719b
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.7.1-5
55719b
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
55719b
55719b
* Mon Nov 21 2016 Igor Gnatenko <i.gnatenko.brain@gmail.com> - 2.7.1-4
55719b
- Use CMake buildsystem
55719b
55719b
* Tue Oct 25 2016 Nathaniel McCallum <npmccallum@redhat.com> - 2.7.1-3
55719b
- Add (upstreamed) status code patch
55719b
55719b
* Tue Aug 16 2016 Stephen Gallagher <sgallagh@redhat.com> - 2.7.1-2
55719b
- Upgrade to version 2.7.1
55719b
55719b
* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 2.6.0-2
55719b
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
55719b
55719b
* Tue Dec 01 2015 Stephen Gallagher <sgallagh@redhat.com> 2.6.0-1
55719b
- Upgrade to version 2.6.0
55719b
- Change to new upstream at https://github.com/nodejs/http-parser/
55719b
55719b
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.0-9.20121128gitcd01361
55719b
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
55719b
55719b
* Sat May 02 2015 Kalev Lember <kalevlember@gmail.com> - 2.0-8.20121128gitcd01361
55719b
- Rebuilt for GCC 5 C++11 ABI change
55719b
55719b
* Sat Aug 16 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.0-7.20121128gitcd01361
55719b
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
55719b
55719b
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.0-6.20121128gitcd01361
55719b
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
55719b
55719b
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.0-5.20121128gitcd01361
55719b
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
55719b
55719b
* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.0-4.20121128gitcd01361
55719b
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
55719b
55719b
* Sun Dec 02 2012 T.C. Hollingsworth <tchollingsworth@gmail.com> - 2.0-3.20121128gitcd01361
55719b
- latest git snapshot
55719b
- fixes buffer overflow in tests
55719b
55719b
* Tue Nov 27 2012 T.C. Hollingsworth <tchollingsworth@gmail.com> - 2.0-2.20121110git245f6f0
55719b
- latest git snapshot
55719b
- fixes tests
55719b
- use SMP make flags
55719b
- build as Release instead of Debug
55719b
- ship new strict variant
55719b
55719b
* Sat Oct 13 2012 T.C. Hollingsworth <tchollingsworth@gmail.com> - 2.0-1
55719b
- new upstream release 2.0
55719b
- migrate to GYP buildsystem
55719b
55719b
* Thu Jul 19 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0-3
55719b
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
55719b
55719b
* Fri Jan 13 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0-2
55719b
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
55719b
55719b
* Mon Aug 22 2011 T.C. Hollingsworth <tchollingsworth@gmail.com> - 1.0-1
55719b
- New upstream release 1.0
55719b
- Remove patches, no longer needed for nodejs
55719b
- Fix typo in -devel description
55719b
- use github tarball instead of checkout
55719b
55719b
* Wed Feb 09 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.3-6.20100911git
55719b
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
55719b
55719b
* Tue Jan 11 2011 Lubomir Rintel <lkundrak@v3.sk> - 0.3-5.20100911git
55719b
- Add support for methods used by node.js
55719b
55719b
* Thu Nov  4 2010 Dan Horák <dan[at]danny.cz> - 0.3-4.20100911git
55719b
- build with -fsigned-char
55719b
55719b
* Wed Sep 29 2010 jkeating - 0.3-3.20100911git
55719b
- Rebuilt for gcc bug 634757
55719b
55719b
* Mon Sep 20 2010 Lubomir Rintel <lkundrak@v3.sk> - 0.3-2.20100911git
55719b
- Call ldconfig (Peter Lemenkov)
55719b
55719b
* Fri Sep 17 2010 Lubomir Rintel <lkundrak@v3.sk> - 0.3-1.20100911git
55719b
- Initial packaging
55719b