forked from pool/libmicrohttpd
- refresh libmicrohttpd-drop-test_tls_options.patch - add there also ignoring test_https_sni - Update to 0.9.33 + Fixed an issue with a missing argument in the postexample. + Fixed issue with bogus offset increment involving sendfile on GNU/Linux. Adding support for SNI. + Fix for per-worker daemon pipes enabled with MHD_USE_SUSPEND_RESUME that were not closed in MHD_stop_daemon. + Fixing warnings and build issue if --disable-https is given to configure. + 0.9.32: + Security fix: do not read past 0-terminator when unescaping strings (thanks to Florian Weimer for reporting). + Signaling n times for shutdown works, but for resume we need to wake up the correct daemon. Even if we signal n times in that case also, there's no guarantee that some daemon can't run through its select loop more than once before the daemon we want to wake up gets a chance to read. Thus we need a signal pipe per thread in the thread pool IF MHD_suspend_connection is used. This introduces a new flag MHD_USE_SUSPEND_RESUME to add those additional pipes and only allow MHD_suspend_connection to be used in conjunction with this flag. Also, as MHD_resume_connection() will be called on a non-daemon thread, but none of the queue insert/delete calls are thread safe, we need to be concerned about (a) corrupting the queue, and (b) having to add mutex protection around every access to the queues, including loops through timer queues, etc. This wasn't a problem OBS-URL: https://build.opensuse.org/request/show/215320 OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/libmicrohttpd?expand=0&rev=28
223 lines
7.0 KiB
RPMSpec
223 lines
7.0 KiB
RPMSpec
#
|
|
# spec file for package libmicrohttpd
|
|
#
|
|
# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
|
# Copyright (c) 2010,2011,2012 Stephan Kleine
|
|
#
|
|
# All modifications and additions to the file contributed by third parties
|
|
# remain the property of their copyright owners, unless otherwise agreed
|
|
# upon. The license for this file, and modifications and additions to the
|
|
# file, is the same license as for the pristine package itself (unless the
|
|
# license for the pristine package is not an Open Source License, in which
|
|
# case the license is the MIT License). An "Open Source License" is a
|
|
# license that conforms to the Open Source Definition (Version 1.9)
|
|
# published by the Open Source Initiative.
|
|
|
|
# Please submit bugfixes or comments via http://bugs.opensuse.org/
|
|
#
|
|
|
|
|
|
%global libmicrohttpd libmicrohttpd10
|
|
%global libmicrospdy libmicrospdy0
|
|
|
|
Name: libmicrohttpd
|
|
Version: 0.9.33
|
|
Release: 0
|
|
Summary: Small Embeddable HTTP Server Library
|
|
License: LGPL-2.1+
|
|
Group: Productivity/Networking/Web/Servers
|
|
Url: http://gnunet.org/libmicrohttpd/
|
|
|
|
Source0: http://ftpmirror.gnu.org/libmicrohttpd/%{name}-%{version}.tar.gz
|
|
Source1: http://ftpmirror.gnu.org/libmicrohttpd/%{name}-%{version}.tar.gz.sig
|
|
Source2: libmicrohttpd.keyring
|
|
#PATCH-FIX-OPENSUSE: test_tls_options fails when running in OBS, so lets drop that one
|
|
Patch0: libmicrohttpd-drop-test_tls_options.patch
|
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
|
BuildRequires: libcurl-devel
|
|
BuildRequires: libgcrypt-devel >= 1.2.4
|
|
BuildRequires: libtasn1-devel
|
|
%if 0%{?suse_version}
|
|
BuildRequires: libgnutls-devel
|
|
BuildRequires: libopenssl-devel
|
|
BuildRequires: pkg-config
|
|
%if 0%{?suse_version} >= 1230
|
|
BuildRequires: gpg-offline
|
|
%endif
|
|
%else
|
|
BuildRequires: gnutls-devel
|
|
BuildRequires: pkgconfig
|
|
%endif
|
|
|
|
%description
|
|
GNU libmicrohttpd is a small C library that is supposed to make it easy to run
|
|
an HTTP server as part of another application. GNU libmicrohttpd is free software
|
|
and part of the GNU project. Key features that distinguish libmicrohttpd from
|
|
other projects are:
|
|
|
|
* C library: fast and small
|
|
* API is simple, expressive and fully reentrant
|
|
* Implementation is http 1.1 compliant
|
|
* HTTP server can listen on multiple ports
|
|
* Support for IPv6
|
|
* Support for incremental processing of POST data
|
|
* Creates binary of only 30k (without TLS/SSL support)
|
|
* Three different threading models
|
|
* Supported platforms include GNU/Linux, FreeBSD, OpenBSD, NetBSD, OS X, W32,
|
|
Symbian and z/OS
|
|
* Optional support for SSL3 and TLS (requires libgcrypt)
|
|
|
|
libmicrohttpd was started because the author needed an easy way to add a concurrent
|
|
HTTP server to other projects. Existing alternatives were either non-free, not
|
|
reentrant, standalone, of terrible code quality or a combination thereof. Do not
|
|
use libmicrohttpd if you are looking for a standalone http server, there are many
|
|
other projects out there that provide that kind of functionality already. However,
|
|
if you want to be able to serve simple WWW pages from within your C or C++
|
|
application, check it out.
|
|
|
|
%package -n %{libmicrohttpd}
|
|
|
|
Summary: Small embeddable http server library
|
|
Group: System/libraries
|
|
|
|
%description -n %{libmicrohttpd}
|
|
Shared library for %{name} (%{summary}).
|
|
|
|
%package -n %{libmicrospdy}
|
|
|
|
Summary: Small embeddable http server library
|
|
Group: System/libraries
|
|
|
|
%description -n %{libmicrospdy}
|
|
Shared library for libmicrospdy (%{summary}).
|
|
|
|
WARNING: Additionally, a second, still very experimental library is provided
|
|
for SPDY (the base for HTTP 2.0) support. libmicrospdy provides a compact API
|
|
and implementation of SPDY server. libmicrospdy currently only implements
|
|
partially version 3 of SPDY.
|
|
|
|
%package devel
|
|
Requires: %{libmicrohttpd} = %{version}
|
|
Requires(post): info
|
|
Requires(postun): info
|
|
Summary: Small Embeddable HTTP Server Library
|
|
Group: Development/Libraries/C and C++
|
|
|
|
%description devel
|
|
Headers, pkg-config files, so link and other development files for %{name}
|
|
(%{summary}).
|
|
|
|
%package -n libmicrospdy-devel
|
|
Requires: %{libmicrospdy} = %{version}
|
|
Summary: Small Embeddable HTTP Server Library
|
|
Group: Development/Libraries/C and C++
|
|
|
|
%description -n libmicrospdy-devel
|
|
Headers for libmicrospdy (%{summary}).
|
|
|
|
%package -n microspdy2http
|
|
Summary: Proxy translated SPDY requests to https server
|
|
Group: System/Libraries
|
|
|
|
%description -n microspdy2http
|
|
Translates incoming SPDY requests to http server on
|
|
localhost.
|
|
* Uses libcurl.
|
|
* No error handling for curl requests.
|
|
|
|
%prep
|
|
%if 0%{?suse_version} >= 1230
|
|
%gpg_verify %{SOURCE1}
|
|
%endif
|
|
%setup -q
|
|
|
|
#XXX: test fail inside OBS only
|
|
%if 0%{?opensuse_bs}
|
|
%patch0 -p1
|
|
%endif
|
|
|
|
%build
|
|
%configure --disable-static \
|
|
--enable-curl
|
|
%__make %{?_smp_mflags}
|
|
|
|
%install
|
|
make install DESTDIR="%buildroot"
|
|
find %{buildroot} -name "*.la" -delete
|
|
|
|
%check
|
|
%__make %{?_smp_mflags} check
|
|
|
|
%post -n %{libmicrohttpd} -p /sbin/ldconfig
|
|
|
|
%postun -n %{libmicrohttpd} -p /sbin/ldconfig
|
|
|
|
%post -n %{libmicrospdy} -p /sbin/ldconfig
|
|
|
|
%postun -n %{libmicrospdy} -p /sbin/ldconfig
|
|
|
|
%post devel
|
|
%if 0%{?fedora_version}
|
|
/sbin/install-info --info-dir=%{_infodir} --info-file=%{_infodir}/microhttpd.info%{ext_info}
|
|
/sbin/install-info --info-dir=%{_infodir} --info-file=%{_infodir}/microhttpd-tutorial.info%{ext_info}
|
|
%endif
|
|
|
|
%if 0%{?mandriva_version}
|
|
%_install_info libmicrohttpd.info
|
|
%_install_info libmicrohttpd-tutorial.info
|
|
%endif
|
|
|
|
%if 0%{?suse_version}
|
|
%install_info --info-dir=%{_infodir} %{_infodir}/libmicrohttpd.info%{ext_info}
|
|
%install_info --info-dir=%{_infodir} %{_infodir}/libmicrohttpd-tutorial.info%{ext_info}
|
|
%endif
|
|
|
|
%postun devel
|
|
%if 0%{?fedora_version} || 0%{?scientificlinux_version} || 0%{?centos_version}
|
|
/sbin/install-info --delete --info-dir=%{_infodir} --info-file=%{_infodir}/microhttpd.info%{ext_info}
|
|
/sbin/install-info --delete --info-dir=%{_infodir} --info-file=%{_infodir}/microhttpd-tutorial.info%{ext_info}
|
|
%endif
|
|
|
|
%if 0%{?mandriva_version}
|
|
%_remove_install_info libmicrohttpd.info
|
|
%_remove_install_info libmicrohttpd-tutorial.info
|
|
%endif
|
|
|
|
%if 0%{?suse_version}
|
|
%install_info_delete --info-dir=%{_infodir} %{_infodir}/libmicrohttpd.info%{ext_info}
|
|
%install_info_delete --info-dir=%{_infodir} %{_infodir}/libmicrohttpd-tutorial.info%{ext_info}
|
|
%endif
|
|
|
|
%files -n %{libmicrohttpd}
|
|
%defattr(-,root,root)
|
|
%{_libdir}/%{name}.so.*
|
|
|
|
%files devel
|
|
%defattr(-,root,root)
|
|
%doc ChangeLog
|
|
%{_includedir}/microhttpd.h
|
|
%{_libdir}/%{name}.so
|
|
%{_libdir}/pkgconfig/%{name}.pc
|
|
%{_infodir}/%{name}*.info*
|
|
%{_mandir}/man3/%{name}.3*
|
|
|
|
%files -n %{libmicrospdy}
|
|
%defattr(-,root,root)
|
|
%{_libdir}/libmicrospdy.so.*
|
|
|
|
%files -n libmicrospdy-devel
|
|
%defattr(-,root,root)
|
|
%{_includedir}/microspdy.h
|
|
%{_libdir}/libmicrospdy.so
|
|
|
|
%files -n microspdy2http
|
|
%defattr(-,root,root)
|
|
%attr(0755,root,root) %{_bindir}/microspdy2http
|
|
|
|
# Do NOT delete this cause I need it for Fedora & Mandriva too!
|
|
%if 0%{?fedora_version} || 0%{?scientificlinux_version} || 0%{?centos_version}
|
|
%exclude %{_infodir}/dir
|
|
%endif
|
|
|
|
%changelog
|