Compare commits

...

39 Commits
f21 ... rawhide

Author SHA1 Message Date
Fedora Release Engineering
a8fbe1ad38 Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-01-19 12:16:15 +00:00
Fedora Release Engineering
946d308f84 Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-07-21 13:47:17 +00:00
Fedora Release Engineering
46cb912c3a - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-01-20 12:28:42 +00:00
Fedora Release Engineering
273fceae81 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-07-22 07:45:29 +00:00
Fedora Release Engineering
59d1b822e3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-01-26 13:36:06 +00:00
Fedora Release Engineering
5629670826 - Second attempt - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-08-01 03:29:37 +00:00
Fedora Release Engineering
f592d4d6f2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-07-28 01:00:41 +00:00
Igor Raits
2916eadae2
Drop broken test on armv7hl
Signed-off-by: Igor Raits <ignatenkobrain@fedoraproject.org>
2020-04-15 18:04:07 +02:00
Igor Raits
320bd738b0
Update to 2.9.4
Signed-off-by: Igor Raits <ignatenkobrain@fedoraproject.org>
2020-04-15 17:49:32 +02:00
Igor Raits
e89b4c4e28
Include patch to work with colon but no port
Signed-off-by: Igor Raits <ignatenkobrain@fedoraproject.org>
2020-03-02 19:32:41 +01:00
Stephen Gallagher
46851c8468
Update to 2.9.3
Signed-off-by: Stephen Gallagher <sgallagh@redhat.com>
2020-02-07 10:41:43 -05:00
Fedora Release Engineering
bc311e3519 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-01-29 04:27:08 +00:00
Fedora Release Engineering
a36807db76 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2019-07-25 08:37:19 +00:00
Stephen Gallagher
6cdb745e6d
Update to 2.9.2
Signed-off-by: Stephen Gallagher <sgallagh@redhat.com>
2019-04-22 08:45:21 -04:00
Adam Williamson
1bcca996c3 Rebuild with Meson fix for #1699099 2019-04-16 11:32:29 -07:00
Stephen Gallagher
c38c8e73c2
Update to 2.9.1
Signed-off-by: Stephen Gallagher <sgallagh@redhat.com>
2019-04-11 10:53:22 -04:00
Fedora Release Engineering
74df1b8e68 - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2019-02-01 02:27:26 +00:00
Stephen Gallagher
5d37695b41
Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
Signed-off-by: Stephen Gallagher <sgallagh@redhat.com>
2019-01-02 14:25:02 -05:00
Fedora Release Engineering
a2cb149dea - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2018-07-13 05:06:45 +00:00
Stephen Gallagher
f1ac1c0978
Update to 2.8.1
Signed-off-by: Stephen Gallagher <sgallagh@redhat.com>
2018-04-02 11:02:08 -04:00
Igor Gnatenko
ca7dd2facd
increase timeout for tests
Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
2018-02-10 21:16:01 +01:00
Igor Gnatenko
de905bcf12
Ignore test timeouts on ARM
Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
2018-02-10 21:04:34 +01:00
Igor Gnatenko
023cbff3d2
Update to 2.8.0
Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
2018-02-10 11:02:42 +01:00
Fedora Release Engineering
55101bd793 - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2018-02-07 16:30:39 +00:00
Igor Gnatenko
2c1e25661a
Switch to %ldconfig_scriptlets
Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
2018-02-03 12:40:20 +01:00
Stephen Gallagher
22b78f0522
Revert "Provided by RHEL 7.4+"
This reverts commit 06b1f44b24.
2017-08-10 12:30:51 -04:00
Stephen Gallagher
06b1f44b24
Provided by RHEL 7.4+ 2017-08-10 12:26:54 -04:00
Fedora Release Engineering
7369b9bbd0 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild 2017-08-02 23:32:53 +00:00
Fedora Release Engineering
c811bcd9c8 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild 2017-07-26 12:52:35 +00:00
Fedora Release Engineering
3b3a593060 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild 2017-02-10 12:45:18 +00:00
Igor Gnatenko
0cb0b0d3e3 Use CMake buildsystem
It is very tiny project with 3 source files. We don't want to have gyp as
build-time dependency as it is huge. Writing plain makefile is painful.

Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
2016-11-21 20:54:43 +01:00
Nathaniel McCallum
394fa448b8 Merge branch 'master' into epel7 2016-10-26 13:29:46 -04:00
Nathaniel McCallum
05ce28f22e Add http-parser-status.patch from upstream 2016-10-25 16:18:34 -04:00
Stephen Gallagher
5b87ba4c83
Upgrade to version 2.7.1 2016-08-16 09:41:07 -04:00
Dennis Gilmore
049e9b512a - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild 2016-02-03 23:55:50 +00:00
Dan Horák
b979bd3d1e - Update BR 2015-12-07 12:02:16 +01:00
Stephen Gallagher
8567b0f9b0 Upgrade to version 2.6.0
- Change to new upstream at https://github.com/nodejs/http-parser/
2015-12-01 15:55:13 -05:00
Dennis Gilmore
beb3289e63 - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild 2015-06-17 10:35:26 +00:00
Kalev Lember
62a0c6e845 Rebuilt for GCC 5 C++11 ABI change 2015-05-02 14:21:32 +02:00
6 changed files with 226 additions and 108 deletions

10
.gitignore vendored
View File

@ -3,3 +3,13 @@
/joyent-http-parser-v2.0-0-g3fb4e06.tar.gz
/joyent-http-parser-v2.0-5-g245f6f0.tar.gz
/joyent-http-parser-v2.0-7-gcd01361.tar.gz
/v2.6.0.tar.gz
/v2.7.1.tar.gz
/http-parser-2.7.1.tar.gz
/http-parser-2.8.0.tar.gz
/http-parser-2.8.1.tar.gz
/http-parser-2.9.0.tar.gz
/http-parser-2.9.1.tar.gz
/http-parser-2.9.2.tar.gz
/http-parser-2.9.3.tar.gz
/http-parser-2.9.4.tar.gz

View File

@ -0,0 +1,79 @@
From d1bb7a564e0f92ef2081d3af8b4b7f85a307c38f Mon Sep 17 00:00:00 2001
From: Edward Thomson <ethomson@edwardthomson.com>
Date: Fri, 14 Jun 2019 17:37:22 +0100
Subject: [PATCH] url: treat empty port as default
When parsing URLs, treat an empty port (eg `http://hostname:/`) as if it
were unspecified. RFC 3986 says:
> URI producers and normalizers SHOULD omit the port component and its
> ":" delimiter if port is empty or if its value would be the same as
> that of the scheme's default.
(Emphasis on the "SHOULD" is mine.) This indicates that URIs MAY be
produced with an empty port and the `:` delimiter.
Thus, we stop failing if we end host parsing at the port delimiter.
---
http_parser.c | 1 -
test.c | 25 +++++++++++++++++++------
2 files changed, 19 insertions(+), 7 deletions(-)
diff --git a/http_parser.c b/http_parser.c
index 4896385..7e268d8 100644
--- a/http_parser.c
+++ b/http_parser.c
@@ -2326,7 +2326,6 @@ http_parse_host(const char * buf, struct http_parser_url *u, int found_at) {
case s_http_host_v6:
case s_http_host_v6_zone_start:
case s_http_host_v6_zone:
- case s_http_host_port_start:
case s_http_userinfo:
case s_http_userinfo_start:
return 1;
diff --git a/test.c b/test.c
index 0140a18..54eca61 100644
--- a/test.c
+++ b/test.c
@@ -2825,6 +2825,25 @@ const struct url_test url_tests[] =
,.rv=0
}
+, {.name="proxy empty port"
+ ,.url="http://hostname:/"
+ ,.is_connect=0
+ ,.u=
+ {.field_set=(1 << UF_SCHEMA) | (1 << UF_HOST) | (1 << UF_PATH)
+ ,.port=0
+ ,.field_data=
+ {{ 0, 4 } /* UF_SCHEMA */
+ ,{ 7, 8 } /* UF_HOST */
+ ,{ 0, 0 } /* UF_PORT */
+ ,{ 16, 1 } /* UF_PATH */
+ ,{ 0, 0 } /* UF_QUERY */
+ ,{ 0, 0 } /* UF_FRAGMENT */
+ ,{ 0, 0 } /* UF_USERINFO */
+ }
+ }
+ ,.rv=0
+ }
+
, {.name="CONNECT request"
,.url="hostname:443"
,.is_connect=1
@@ -3059,12 +3078,6 @@ const struct url_test url_tests[] =
,.rv=1
}
-, {.name="proxy empty port"
- ,.url="http://hostname:/"
- ,.is_connect=0
- ,.rv=1
- }
-
, {.name="CONNECT with basic auth"
,.url="a:b@hostname:443"
,.is_connect=1
--
2.25.1

View File

@ -1,40 +0,0 @@
--- http_parser.gyp~ 2012-11-27 15:40:11.721398004 -0700
+++ http_parser.gyp 2012-11-27 15:40:11.721398004 -0700
@@ -12,7 +12,7 @@
# RuntimeLibrary MUST MATCH across the entire project
'Debug': {
'defines': [ 'DEBUG', '_DEBUG' ],
- 'cflags': [ '-Wall', '-Wextra', '-O0', '-g', '-ftrapv' ],
+ 'cflags': [ '-Wall', '-Wextra', '-g', '-ftrapv' ],
'msvs_settings': {
'VCCLCompilerTool': {
'RuntimeLibrary': 1, # static debug
@@ -21,7 +21,7 @@
},
'Release': {
'defines': [ 'NDEBUG' ],
- 'cflags': [ '-Wall', '-Wextra', '-O3' ],
+ 'cflags': [ '-Wall', '-Wextra' ],
'msvs_settings': {
'VCCLCompilerTool': {
'RuntimeLibrary': 0, # static release
@@ -50,7 +50,8 @@
'targets': [
{
'target_name': 'http_parser',
- 'type': 'static_library',
+ 'type': 'shared_library',
+ 'product_extension': 'so.2',
'include_dirs': [ '.' ],
'direct_dependent_settings': {
'defines': [ 'HTTP_PARSER_STRICT=0' ],
@@ -73,7 +74,8 @@
{
'target_name': 'http_parser_strict',
- 'type': 'static_library',
+ 'type': 'shared_library',
+ 'product_extension': 'so.2',
'include_dirs': [ '.' ],
'direct_dependent_settings': {
'defines': [ 'HTTP_PARSER_STRICT=1' ],

View File

@ -1,28 +1,16 @@
# we use the upstream version from http_parser.h as the SONAME
%global somajor 2
%global sominor 0
%global git_date 20121128
%global git_commit_hash cd01361
%global github_seq 7
Name: http-parser
Version: %{somajor}.%{sominor}
Release: 7.%{git_date}git%{git_commit_hash}%{?dist}
Version: 2.9.4
Release: 8%{?dist}
Summary: HTTP request/response parser for C
Group: System Environment/Libraries
License: MIT
URL: http://github.com/joyent/http-parser
# download from https://github.com/joyent/http-parser/tarball/%%{version}
Source0: joyent-http-parser-v%{version}-%{github_seq}-g%{git_commit_hash}.tar.gz
BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
URL: https://github.com/nodejs/http-parser
Source0: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz
# https://github.com/nodejs/http-parser/pull/483
Patch0001: 0001-url-treat-empty-port-as-default.patch
# Build shared library with SONAME using gyp and remove -O flags so optflags take over
# TODO: do this nicely upstream
Patch1: http-parser-gyp-sharedlib.patch
BuildRequires: gyp
BuildRequires: meson
BuildRequires: gcc
%description
This is a parser for HTTP messages written in C. It parses both requests and
@ -32,76 +20,154 @@ be interrupted at anytime. Depending on your architecture, it only requires
about 40 bytes of data per message stream (in a web server that is per
connection).
%package devel
Group: Development/Libraries
Summary: Development headers and libraries for http-parser
Requires: %{name} = %{version}-%{release}
Requires: %{name}%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
%description devel
Development headers and libraries for http-parser.
%prep
%setup -q -n joyent-http-parser-%{git_commit_hash}
%patch1
%autosetup -p1
%ifarch %{arm}
# https://github.com/nodejs/http-parser/issues/507
sed -i -e "/sizeof(http_parser)/d" test.c
%endif
# TODO: try to send upstream?
cat > meson.build << EOF
project('%{name}', 'c', version : '%{version}')
install_headers('http_parser.h')
foreach x : [['http_parser', ['-DHTTP_PARSER_STRICT=0']],
['http_parser_strict', ['-DHTTP_PARSER_STRICT=1']]]
lib = library(x.get(0), 'http_parser.c',
c_args : x.get(1),
version : '%{version}',
install : true)
test('test-@0@'.format(x.get(0)),
executable('test-@0@'.format(x.get(0)), 'test.c',
c_args : x.get(1),
link_with : lib),
timeout : 60)
endforeach
EOF
%build
# TODO: fix -fPIC upstream
export CFLAGS='%{optflags} -fPIC'
gyp -f make --depth=`pwd` http_parser.gyp
make %{?_smp_mflags} BUILDTYPE=Release
%meson
%meson_build
%install
rm -rf %{buildroot}
install -d %{buildroot}%{_includedir}
install -d %{buildroot}%{_libdir}
install -pm644 http_parser.h %{buildroot}%{_includedir}
#install regular variant
install out/Release/lib.target/libhttp_parser.so.%{somajor} %{buildroot}%{_libdir}/libhttp_parser.so.%{somajor}.%{sominor}
ln -sf libhttp_parser.so.%{somajor}.%{sominor} %{buildroot}%{_libdir}/libhttp_parser.so.%{somajor}
ln -sf libhttp_parser.so.%{somajor}.%{sominor} %{buildroot}%{_libdir}/libhttp_parser.so
#install strict variant
install out/Release/lib.target/libhttp_parser_strict.so.%{somajor} %{buildroot}%{_libdir}/libhttp_parser_strict.so.%{somajor}.%{sominor}
ln -sf libhttp_parser_strict.so.%{somajor}.%{sominor} %{buildroot}%{_libdir}/libhttp_parser_strict.so.%{somajor}
ln -sf libhttp_parser_strict.so.%{somajor}.%{sominor} %{buildroot}%{_libdir}/libhttp_parser_strict.so
%meson_install
%check
export LD_LIBRARY_PATH='./out/Release/lib.target'
./out/Release/test-nonstrict
./out/Release/test-strict
%clean
rm -rf %{buildroot}
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%meson_test
%ldconfig_scriptlets
%files
%defattr(-,root,root,-)
%license LICENSE-MIT
%doc AUTHORS README.md
%{_libdir}/libhttp_parser.so.*
%{_libdir}/libhttp_parser_strict.so.*
%doc AUTHORS CONTRIBUTIONS LICENSE-MIT README.md
%files devel
%defattr(-,root,root,-)
%{_includedir}/*
%{_includedir}/http_parser.h
%{_libdir}/libhttp_parser.so
%{_libdir}/libhttp_parser_strict.so
%changelog
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 2.9.4-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Thu Jul 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 2.9.4-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 2.9.4-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2.9.4-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2.9.4-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Sat Aug 01 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.9.4-3
- Second attempt - Rebuilt for
https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.9.4-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Wed Apr 15 2020 Igor Raits <ignatenkobrain@fedoraproject.org> - 2.9.4-1
- Update to 2.9.4
* Mon Mar 02 2020 Igor Raits <ignatenkobrain@fedoraproject.org> - 2.9.3-2
- Include patch to work with colon but no port
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.9.2-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.9.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Mon Apr 22 2019 Stephen Gallagher <sgallagh@redhat.com> - 2.9.2-1
- Update to 2.9.2
* Tue Apr 16 2019 Adam Williamson <awilliam@redhat.com> - 2.9.1-2
- Rebuild with Meson fix for #1699099
* Thu Apr 11 2019 Stephen Gallagher <sgallagh@redhat.com> - 2.9.1-1
- Update to 2.9.1
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.9.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.8.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Mon Apr 02 2018 Stephen Gallagher <sgallagh@redhat.com> - 2.8.1-1
- Update to 2.8.1
* Sat Feb 10 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 2.8.0-1
- Update to 2.8.0
- Switch to meson buildsystem
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.7.1-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Sat Feb 03 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 2.7.1-8
- Switch to %%ldconfig_scriptlets
* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.7.1-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.7.1-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.7.1-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
* Mon Nov 21 2016 Igor Gnatenko <i.gnatenko.brain@gmail.com> - 2.7.1-4
- Use CMake buildsystem
* Tue Oct 25 2016 Nathaniel McCallum <npmccallum@redhat.com> - 2.7.1-3
- Add (upstreamed) status code patch
* Tue Aug 16 2016 Stephen Gallagher <sgallagh@redhat.com> - 2.7.1-2
- Upgrade to version 2.7.1
* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 2.6.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
* Tue Dec 01 2015 Stephen Gallagher <sgallagh@redhat.com> 2.6.0-1
- Upgrade to version 2.6.0
- Change to new upstream at https://github.com/nodejs/http-parser/
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.0-9.20121128gitcd01361
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
* Sat May 02 2015 Kalev Lember <kalevlember@gmail.com> - 2.0-8.20121128gitcd01361
- Rebuilt for GCC 5 C++11 ABI change
* Sat Aug 16 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.0-7.20121128gitcd01361
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
@ -158,3 +224,4 @@ rm -rf %{buildroot}
* Fri Sep 17 2010 Lubomir Rintel <lkundrak@v3.sk> - 0.3-1.20100911git
- Initial packaging

2
package.cfg Normal file
View File

@ -0,0 +1,2 @@
[koji]
targets = master fedora

View File

@ -1 +1 @@
340f2aab333c435cbaf49a4949645a06 joyent-http-parser-v2.0-7-gcd01361.tar.gz
SHA512 (http-parser-2.9.4.tar.gz) = b45df7b94d1c51079d44687d0a7f901f44faae51df4e84c7e3fe38f130c2d809d0e7c2a146c57b3723e60732aededc246bf44eadb10a95b710963d641f9fe7cd