Blame SPECS/http-parser.spec

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