PSARC/2014/289 libmicrohttpd s11-update
authorTomas Heran <tomas.heran@oracle.com>
Thu, 16 Apr 2015 11:08:39 +0200
branchs11-update
changeset 4142 ac544f9e49ee
parent 4141 c6a303a2f8c5
child 4148 253ba4fb9749
PSARC/2014/289 libmicrohttpd 20235905 GNU Libmicrohttpd - C library HTTP server should be added to Userland
components/libmicrohttpd/Makefile
components/libmicrohttpd/fdl-1.3.txt
components/libmicrohttpd/libmicrohttpd.p5m
components/libmicrohttpd/llib-lmicrohttpd
components/libmicrohttpd/patches/001.patch
components/libmicrohttpd/patches/002.patch
components/libmicrohttpd/patches/003.patch
components/libmicrohttpd/patches/004.patch
components/libmicrohttpd/patches/005.patch
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/libmicrohttpd/Makefile	Thu Apr 16 11:08:39 2015 +0200
@@ -0,0 +1,66 @@
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License (the "License").
+# You may not use this file except in compliance with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+# Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+#
+include ../../make-rules/shared-macros.mk
+
+COMPONENT_NAME = libmicrohttpd
+COMPONENT_VERSION = 0.9.37
+COMPONENT_PROJECT_URL = http://ftp.gnu.org/gnu/libmicrohttpd/
+COMPONENT_SRC = $(COMPONENT_NAME)-$(COMPONENT_VERSION)
+COMPONENT_ARCHIVE = $(COMPONENT_SRC).tar.gz
+COMPONENT_ARCHIVE_HASH = \
+    sha256:a78cbcc050fb50f4ef4cf02709a3f8dd498e9230271b445fc3dbec4132b47cdc
+COMPONENT_ARCHIVE_URL = $(COMPONENT_PROJECT_URL)$(COMPONENT_ARCHIVE)
+COMPONENT_BUGDB=	library/libmicrohttpd
+
+TPNO = 18422
+
+include $(WS_MAKE_RULES)/prep.mk
+include $(WS_MAKE_RULES)/configure.mk
+include $(WS_MAKE_RULES)/ips.mk
+include $(WS_MAKE_RULES)/lint-libraries.mk
+
+LINT_FLAGS += -I$(PROTOUSRINCDIR)
+
+CC += $(CC_BITS)
+CPPFLAGS += $(CPP_LARGEFILES)
+
+CONFIGURE_ENV += CFLAGS="$(CFLAGS)"
+CONFIGURE_ENV += CPPFLAGS="$(CPPFLAGS)"
+
+CONFIGURE_OPTIONS += --disable-https
+CONFIGURE_OPTIONS += --disable-spdy
+CONFIGURE_OPTIONS += --includedir=$(USRINCDIR)/microhttpd
+
+COMPONENT_TEST_ENV +=	PATH="$(GNUBIN):$(PATH)"
+
+COMPONENT_PREP_ACTION +=(cd $(@D); autoreconf -f);
+
+ASLR_MODE = $(ASLR_ENABLE)
+
+build:		$(BUILD_32_and_64)
+
+install:	$(INSTALL_32_and_64)
+
+test:		$(TEST_32_and_64)
+
+REQUIRED_PACKAGES += system/library
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/libmicrohttpd/fdl-1.3.txt	Thu Apr 16 11:08:39 2015 +0200
@@ -0,0 +1,451 @@
+
+                GNU Free Documentation License
+                 Version 1.3, 3 November 2008
+
+
+ Copyright (C) 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc.
+     <http://fsf.org/>
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+0. PREAMBLE
+
+The purpose of this License is to make a manual, textbook, or other
+functional and useful document "free" in the sense of freedom: to
+assure everyone the effective freedom to copy and redistribute it,
+with or without modifying it, either commercially or noncommercially.
+Secondarily, this License preserves for the author and publisher a way
+to get credit for their work, while not being considered responsible
+for modifications made by others.
+
+This License is a kind of "copyleft", which means that derivative
+works of the document must themselves be free in the same sense.  It
+complements the GNU General Public License, which is a copyleft
+license designed for free software.
+
+We have designed this License in order to use it for manuals for free
+software, because free software needs free documentation: a free
+program should come with manuals providing the same freedoms that the
+software does.  But this License is not limited to software manuals;
+it can be used for any textual work, regardless of subject matter or
+whether it is published as a printed book.  We recommend this License
+principally for works whose purpose is instruction or reference.
+
+
+1. APPLICABILITY AND DEFINITIONS
+
+This License applies to any manual or other work, in any medium, that
+contains a notice placed by the copyright holder saying it can be
+distributed under the terms of this License.  Such a notice grants a
+world-wide, royalty-free license, unlimited in duration, to use that
+work under the conditions stated herein.  The "Document", below,
+refers to any such manual or work.  Any member of the public is a
+licensee, and is addressed as "you".  You accept the license if you
+copy, modify or distribute the work in a way requiring permission
+under copyright law.
+
+A "Modified Version" of the Document means any work containing the
+Document or a portion of it, either copied verbatim, or with
+modifications and/or translated into another language.
+
+A "Secondary Section" is a named appendix or a front-matter section of
+the Document that deals exclusively with the relationship of the
+publishers or authors of the Document to the Document's overall
+subject (or to related matters) and contains nothing that could fall
+directly within that overall subject.  (Thus, if the Document is in
+part a textbook of mathematics, a Secondary Section may not explain
+any mathematics.)  The relationship could be a matter of historical
+connection with the subject or with related matters, or of legal,
+commercial, philosophical, ethical or political position regarding
+them.
+
+The "Invariant Sections" are certain Secondary Sections whose titles
+are designated, as being those of Invariant Sections, in the notice
+that says that the Document is released under this License.  If a
+section does not fit the above definition of Secondary then it is not
+allowed to be designated as Invariant.  The Document may contain zero
+Invariant Sections.  If the Document does not identify any Invariant
+Sections then there are none.
+
+The "Cover Texts" are certain short passages of text that are listed,
+as Front-Cover Texts or Back-Cover Texts, in the notice that says that
+the Document is released under this License.  A Front-Cover Text may
+be at most 5 words, and a Back-Cover Text may be at most 25 words.
+
+A "Transparent" copy of the Document means a machine-readable copy,
+represented in a format whose specification is available to the
+general public, that is suitable for revising the document
+straightforwardly with generic text editors or (for images composed of
+pixels) generic paint programs or (for drawings) some widely available
+drawing editor, and that is suitable for input to text formatters or
+for automatic translation to a variety of formats suitable for input
+to text formatters.  A copy made in an otherwise Transparent file
+format whose markup, or absence of markup, has been arranged to thwart
+or discourage subsequent modification by readers is not Transparent.
+An image format is not Transparent if used for any substantial amount
+of text.  A copy that is not "Transparent" is called "Opaque".
+
+Examples of suitable formats for Transparent copies include plain
+ASCII without markup, Texinfo input format, LaTeX input format, SGML
+or XML using a publicly available DTD, and standard-conforming simple
+HTML, PostScript or PDF designed for human modification.  Examples of
+transparent image formats include PNG, XCF and JPG.  Opaque formats
+include proprietary formats that can be read and edited only by
+proprietary word processors, SGML or XML for which the DTD and/or
+processing tools are not generally available, and the
+machine-generated HTML, PostScript or PDF produced by some word
+processors for output purposes only.
+
+The "Title Page" means, for a printed book, the title page itself,
+plus such following pages as are needed to hold, legibly, the material
+this License requires to appear in the title page.  For works in
+formats which do not have any title page as such, "Title Page" means
+the text near the most prominent appearance of the work's title,
+preceding the beginning of the body of the text.
+
+The "publisher" means any person or entity that distributes copies of
+the Document to the public.
+
+A section "Entitled XYZ" means a named subunit of the Document whose
+title either is precisely XYZ or contains XYZ in parentheses following
+text that translates XYZ in another language.  (Here XYZ stands for a
+specific section name mentioned below, such as "Acknowledgements",
+"Dedications", "Endorsements", or "History".)  To "Preserve the Title"
+of such a section when you modify the Document means that it remains a
+section "Entitled XYZ" according to this definition.
+
+The Document may include Warranty Disclaimers next to the notice which
+states that this License applies to the Document.  These Warranty
+Disclaimers are considered to be included by reference in this
+License, but only as regards disclaiming warranties: any other
+implication that these Warranty Disclaimers may have is void and has
+no effect on the meaning of this License.
+
+2. VERBATIM COPYING
+
+You may copy and distribute the Document in any medium, either
+commercially or noncommercially, provided that this License, the
+copyright notices, and the license notice saying this License applies
+to the Document are reproduced in all copies, and that you add no
+other conditions whatsoever to those of this License.  You may not use
+technical measures to obstruct or control the reading or further
+copying of the copies you make or distribute.  However, you may accept
+compensation in exchange for copies.  If you distribute a large enough
+number of copies you must also follow the conditions in section 3.
+
+You may also lend copies, under the same conditions stated above, and
+you may publicly display copies.
+
+
+3. COPYING IN QUANTITY
+
+If you publish printed copies (or copies in media that commonly have
+printed covers) of the Document, numbering more than 100, and the
+Document's license notice requires Cover Texts, you must enclose the
+copies in covers that carry, clearly and legibly, all these Cover
+Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on
+the back cover.  Both covers must also clearly and legibly identify
+you as the publisher of these copies.  The front cover must present
+the full title with all words of the title equally prominent and
+visible.  You may add other material on the covers in addition.
+Copying with changes limited to the covers, as long as they preserve
+the title of the Document and satisfy these conditions, can be treated
+as verbatim copying in other respects.
+
+If the required texts for either cover are too voluminous to fit
+legibly, you should put the first ones listed (as many as fit
+reasonably) on the actual cover, and continue the rest onto adjacent
+pages.
+
+If you publish or distribute Opaque copies of the Document numbering
+more than 100, you must either include a machine-readable Transparent
+copy along with each Opaque copy, or state in or with each Opaque copy
+a computer-network location from which the general network-using
+public has access to download using public-standard network protocols
+a complete Transparent copy of the Document, free of added material.
+If you use the latter option, you must take reasonably prudent steps,
+when you begin distribution of Opaque copies in quantity, to ensure
+that this Transparent copy will remain thus accessible at the stated
+location until at least one year after the last time you distribute an
+Opaque copy (directly or through your agents or retailers) of that
+edition to the public.
+
+It is requested, but not required, that you contact the authors of the
+Document well before redistributing any large number of copies, to
+give them a chance to provide you with an updated version of the
+Document.
+
+
+4. MODIFICATIONS
+
+You may copy and distribute a Modified Version of the Document under
+the conditions of sections 2 and 3 above, provided that you release
+the Modified Version under precisely this License, with the Modified
+Version filling the role of the Document, thus licensing distribution
+and modification of the Modified Version to whoever possesses a copy
+of it.  In addition, you must do these things in the Modified Version:
+
+A. Use in the Title Page (and on the covers, if any) a title distinct
+   from that of the Document, and from those of previous versions
+   (which should, if there were any, be listed in the History section
+   of the Document).  You may use the same title as a previous version
+   if the original publisher of that version gives permission.
+B. List on the Title Page, as authors, one or more persons or entities
+   responsible for authorship of the modifications in the Modified
+   Version, together with at least five of the principal authors of the
+   Document (all of its principal authors, if it has fewer than five),
+   unless they release you from this requirement.
+C. State on the Title page the name of the publisher of the
+   Modified Version, as the publisher.
+D. Preserve all the copyright notices of the Document.
+E. Add an appropriate copyright notice for your modifications
+   adjacent to the other copyright notices.
+F. Include, immediately after the copyright notices, a license notice
+   giving the public permission to use the Modified Version under the
+   terms of this License, in the form shown in the Addendum below.
+G. Preserve in that license notice the full lists of Invariant Sections
+   and required Cover Texts given in the Document's license notice.
+H. Include an unaltered copy of this License.
+I. Preserve the section Entitled "History", Preserve its Title, and add
+   to it an item stating at least the title, year, new authors, and
+   publisher of the Modified Version as given on the Title Page.  If
+   there is no section Entitled "History" in the Document, create one
+   stating the title, year, authors, and publisher of the Document as
+   given on its Title Page, then add an item describing the Modified
+   Version as stated in the previous sentence.
+J. Preserve the network location, if any, given in the Document for
+   public access to a Transparent copy of the Document, and likewise
+   the network locations given in the Document for previous versions
+   it was based on.  These may be placed in the "History" section.
+   You may omit a network location for a work that was published at
+   least four years before the Document itself, or if the original
+   publisher of the version it refers to gives permission.
+K. For any section Entitled "Acknowledgements" or "Dedications",
+   Preserve the Title of the section, and preserve in the section all
+   the substance and tone of each of the contributor acknowledgements
+   and/or dedications given therein.
+L. Preserve all the Invariant Sections of the Document,
+   unaltered in their text and in their titles.  Section numbers
+   or the equivalent are not considered part of the section titles.
+M. Delete any section Entitled "Endorsements".  Such a section
+   may not be included in the Modified Version.
+N. Do not retitle any existing section to be Entitled "Endorsements"
+   or to conflict in title with any Invariant Section.
+O. Preserve any Warranty Disclaimers.
+
+If the Modified Version includes new front-matter sections or
+appendices that qualify as Secondary Sections and contain no material
+copied from the Document, you may at your option designate some or all
+of these sections as invariant.  To do this, add their titles to the
+list of Invariant Sections in the Modified Version's license notice.
+These titles must be distinct from any other section titles.
+
+You may add a section Entitled "Endorsements", provided it contains
+nothing but endorsements of your Modified Version by various
+parties--for example, statements of peer review or that the text has
+been approved by an organization as the authoritative definition of a
+standard.
+
+You may add a passage of up to five words as a Front-Cover Text, and a
+passage of up to 25 words as a Back-Cover Text, to the end of the list
+of Cover Texts in the Modified Version.  Only one passage of
+Front-Cover Text and one of Back-Cover Text may be added by (or
+through arrangements made by) any one entity.  If the Document already
+includes a cover text for the same cover, previously added by you or
+by arrangement made by the same entity you are acting on behalf of,
+you may not add another; but you may replace the old one, on explicit
+permission from the previous publisher that added the old one.
+
+The author(s) and publisher(s) of the Document do not by this License
+give permission to use their names for publicity for or to assert or
+imply endorsement of any Modified Version.
+
+
+5. COMBINING DOCUMENTS
+
+You may combine the Document with other documents released under this
+License, under the terms defined in section 4 above for modified
+versions, provided that you include in the combination all of the
+Invariant Sections of all of the original documents, unmodified, and
+list them all as Invariant Sections of your combined work in its
+license notice, and that you preserve all their Warranty Disclaimers.
+
+The combined work need only contain one copy of this License, and
+multiple identical Invariant Sections may be replaced with a single
+copy.  If there are multiple Invariant Sections with the same name but
+different contents, make the title of each such section unique by
+adding at the end of it, in parentheses, the name of the original
+author or publisher of that section if known, or else a unique number.
+Make the same adjustment to the section titles in the list of
+Invariant Sections in the license notice of the combined work.
+
+In the combination, you must combine any sections Entitled "History"
+in the various original documents, forming one section Entitled
+"History"; likewise combine any sections Entitled "Acknowledgements",
+and any sections Entitled "Dedications".  You must delete all sections
+Entitled "Endorsements".
+
+
+6. COLLECTIONS OF DOCUMENTS
+
+You may make a collection consisting of the Document and other
+documents released under this License, and replace the individual
+copies of this License in the various documents with a single copy
+that is included in the collection, provided that you follow the rules
+of this License for verbatim copying of each of the documents in all
+other respects.
+
+You may extract a single document from such a collection, and
+distribute it individually under this License, provided you insert a
+copy of this License into the extracted document, and follow this
+License in all other respects regarding verbatim copying of that
+document.
+
+
+7. AGGREGATION WITH INDEPENDENT WORKS
+
+A compilation of the Document or its derivatives with other separate
+and independent documents or works, in or on a volume of a storage or
+distribution medium, is called an "aggregate" if the copyright
+resulting from the compilation is not used to limit the legal rights
+of the compilation's users beyond what the individual works permit.
+When the Document is included in an aggregate, this License does not
+apply to the other works in the aggregate which are not themselves
+derivative works of the Document.
+
+If the Cover Text requirement of section 3 is applicable to these
+copies of the Document, then if the Document is less than one half of
+the entire aggregate, the Document's Cover Texts may be placed on
+covers that bracket the Document within the aggregate, or the
+electronic equivalent of covers if the Document is in electronic form.
+Otherwise they must appear on printed covers that bracket the whole
+aggregate.
+
+
+8. TRANSLATION
+
+Translation is considered a kind of modification, so you may
+distribute translations of the Document under the terms of section 4.
+Replacing Invariant Sections with translations requires special
+permission from their copyright holders, but you may include
+translations of some or all Invariant Sections in addition to the
+original versions of these Invariant Sections.  You may include a
+translation of this License, and all the license notices in the
+Document, and any Warranty Disclaimers, provided that you also include
+the original English version of this License and the original versions
+of those notices and disclaimers.  In case of a disagreement between
+the translation and the original version of this License or a notice
+or disclaimer, the original version will prevail.
+
+If a section in the Document is Entitled "Acknowledgements",
+"Dedications", or "History", the requirement (section 4) to Preserve
+its Title (section 1) will typically require changing the actual
+title.
+
+
+9. TERMINATION
+
+You may not copy, modify, sublicense, or distribute the Document
+except as expressly provided under this License.  Any attempt
+otherwise to copy, modify, sublicense, or distribute it is void, and
+will automatically terminate your rights under this License.
+
+However, if you cease all violation of this License, then your license
+from a particular copyright holder is reinstated (a) provisionally,
+unless and until the copyright holder explicitly and finally
+terminates your license, and (b) permanently, if the copyright holder
+fails to notify you of the violation by some reasonable means prior to
+60 days after the cessation.
+
+Moreover, your license from a particular copyright holder is
+reinstated permanently if the copyright holder notifies you of the
+violation by some reasonable means, this is the first time you have
+received notice of violation of this License (for any work) from that
+copyright holder, and you cure the violation prior to 30 days after
+your receipt of the notice.
+
+Termination of your rights under this section does not terminate the
+licenses of parties who have received copies or rights from you under
+this License.  If your rights have been terminated and not permanently
+reinstated, receipt of a copy of some or all of the same material does
+not give you any rights to use it.
+
+
+10. FUTURE REVISIONS OF THIS LICENSE
+
+The Free Software Foundation may publish new, revised versions of the
+GNU Free Documentation License from time to time.  Such new versions
+will be similar in spirit to the present version, but may differ in
+detail to address new problems or concerns.  See
+http://www.gnu.org/copyleft/.
+
+Each version of the License is given a distinguishing version number.
+If the Document specifies that a particular numbered version of this
+License "or any later version" applies to it, you have the option of
+following the terms and conditions either of that specified version or
+of any later version that has been published (not as a draft) by the
+Free Software Foundation.  If the Document does not specify a version
+number of this License, you may choose any version ever published (not
+as a draft) by the Free Software Foundation.  If the Document
+specifies that a proxy can decide which future versions of this
+License can be used, that proxy's public statement of acceptance of a
+version permanently authorizes you to choose that version for the
+Document.
+
+11. RELICENSING
+
+"Massive Multiauthor Collaboration Site" (or "MMC Site") means any
+World Wide Web server that publishes copyrightable works and also
+provides prominent facilities for anybody to edit those works.  A
+public wiki that anybody can edit is an example of such a server.  A
+"Massive Multiauthor Collaboration" (or "MMC") contained in the site
+means any set of copyrightable works thus published on the MMC site.
+
+"CC-BY-SA" means the Creative Commons Attribution-Share Alike 3.0 
+license published by Creative Commons Corporation, a not-for-profit 
+corporation with a principal place of business in San Francisco, 
+California, as well as future copyleft versions of that license 
+published by that same organization.
+
+"Incorporate" means to publish or republish a Document, in whole or in 
+part, as part of another Document.
+
+An MMC is "eligible for relicensing" if it is licensed under this 
+License, and if all works that were first published under this License 
+somewhere other than this MMC, and subsequently incorporated in whole or 
+in part into the MMC, (1) had no cover texts or invariant sections, and 
+(2) were thus incorporated prior to November 1, 2008.
+
+The operator of an MMC Site may republish an MMC contained in the site
+under CC-BY-SA on the same site at any time before August 1, 2009,
+provided the MMC is eligible for relicensing.
+
+
+ADDENDUM: How to use this License for your documents
+
+To use this License in a document you have written, include a copy of
+the License in the document and put the following copyright and
+license notices just after the title page:
+
+    Copyright (c)  YEAR  YOUR NAME.
+    Permission is granted to copy, distribute and/or modify this document
+    under the terms of the GNU Free Documentation License, Version 1.3
+    or any later version published by the Free Software Foundation;
+    with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
+    A copy of the license is included in the section entitled "GNU
+    Free Documentation License".
+
+If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts,
+replace the "with...Texts." line with this:
+
+    with the Invariant Sections being LIST THEIR TITLES, with the
+    Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST.
+
+If you have Invariant Sections without Cover Texts, or some other
+combination of the three, merge those two alternatives to suit the
+situation.
+
+If your document contains nontrivial examples of program code, we
+recommend releasing these examples in parallel under your choice of
+free software license, such as the GNU General Public License,
+to permit their use in free software.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/libmicrohttpd/libmicrohttpd.p5m	Thu Apr 16 11:08:39 2015 +0200
@@ -0,0 +1,56 @@
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License (the "License").
+# You may not use this file except in compliance with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+# Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+#
+
+<transform file path=usr.*/man/.+ -> default mangler.man.stability volatile>
+set name=pkg.fmri \
+    value=pkg:/library/libmicrohttpd@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
+set name=pkg.summary \
+    value="GNU Libmicrohttpd - C library to make it easy to run an HTTP server inside a process"
+set name=pkg.description \
+    value="GNU Libmicrohttpd is a small C library that is supposed to make it easy to run an HTTP server as part of another application."
+set name=com.oracle.info.description value="the GNU Libmicrohttpd C library"
+set name=com.oracle.info.tpno value=$(TPNO)
+set name=info.classification \
+    value=org.opensolaris.category.2008:System/Libraries
+set name=info.source-url value=$(COMPONENT_ARCHIVE_URL)
+set name=info.upstream-url value=$(COMPONENT_PROJECT_URL)
+set name=org.opensolaris.arc-caseid value=PSARC/2014/289
+set name=org.opensolaris.consolidation value=$(CONSOLIDATION)
+file path=usr/include/microhttpd/microhttpd.h
+link path=usr/lib/$(MACH64)/libmicrohttpd.so target=libmicrohttpd.so.10.27.0
+link path=usr/lib/$(MACH64)/libmicrohttpd.so.10 target=libmicrohttpd.so.10.27.0
+file path=usr/lib/$(MACH64)/libmicrohttpd.so.10.27.0
+file path=usr/lib/$(MACH64)/llib-lmicrohttpd.ln
+file path=usr/lib/$(MACH64)/pkgconfig/libmicrohttpd.pc
+link path=usr/lib/libmicrohttpd.so target=libmicrohttpd.so.10.27.0
+link path=usr/lib/libmicrohttpd.so.10 target=libmicrohttpd.so.10.27.0
+file path=usr/lib/libmicrohttpd.so.10.27.0
+file path=usr/lib/llib-lmicrohttpd
+file path=usr/lib/llib-lmicrohttpd.ln
+file path=usr/lib/pkgconfig/libmicrohttpd.pc
+file path=usr/share/info/libmicrohttpd-tutorial.info
+file path=usr/share/info/libmicrohttpd.info
+file usr/share/man/man3/libmicrohttpd.3 \
+    path=usr/share/man/man3lib/libmicrohttpd.3lib
+license fdl-1.3.txt license=FDLv1.3
+license COPYING license=LGPLv2.1
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/libmicrohttpd/llib-lmicrohttpd	Thu Apr 16 11:08:39 2015 +0200
@@ -0,0 +1,38 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License (the "License").
+ * You may not use this file except in compliance with the License.
+ *
+ * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ */
+
+/*
+ * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ */
+
+/* LINTLIBRARY */
+/* PROTOLIB1 */
+
+/*
+ * This little dance is necessary to avoid ftello/fseeko
+ * complaints vs libc. We don't use them but we do #include
+ * stdio.h and as we are large file aware they get defined
+ * differently than libc.
+ */
+#include <sys/types.h>
+#undef _LARGEFILE_SOURCE
+
+#include <microhttpd/microhttpd.h>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/libmicrohttpd/patches/001.patch	Thu Apr 16 11:08:39 2015 +0200
@@ -0,0 +1,58 @@
+Tomas Heran <[email protected]>
+Fix to configure to not use -fno-strict-aliasing and -fvisibility=hidden with
+Solaris Studio cc as it doesn't like it for dynamic stuff.
+Reported upstream as: https://gnunet.org/bugs/view.php?id=3584
+
+diff -r 4a6b889815b1 -r dcb95cb7b865 configure.ac
+--- a/configure.ac	Thu Sep 04 20:38:52 2014 +0200
++++ b/configure.ac	Thu Dec 18 21:16:20 2014 +0100
+@@ -248,7 +248,7 @@
+ 
+ # set GCC options
+ # use '-fno-strict-aliasing', but only if the compiler can take it
+-AX_APPEND_COMPILE_FLAGS([[-fno-strict-aliasing]])
++# AX_APPEND_COMPILE_FLAGS([[-fno-strict-aliasing]])
+ 
+ AC_C_BIGENDIAN
+ 
+@@ -435,23 +435,23 @@
+ # TCP_CORK and TCP_NOPUSH
+ AC_CHECK_DECLS([TCP_CORK, TCP_NOPUSH], [], [], [[#include <netinet/tcp.h>]])
+ 
+-HIDDEN_VISIBILITY_CFLAGS=""
+-case "$host" in
+-  *-*-mingw*)
+-    dnl on mingw32 we do -fvisibility=hidden and __declspec(dllexport)
+-    AC_DEFINE([_MHD_EXTERN], [__attribute__((visibility("default"))) __declspec(dllexport) extern],
+-              [defines how to decorate public symbols while building])
+-    HIDDEN_VISIBILITY_CFLAGS="-fvisibility=hidden"
+-    ;;
+-  *)
+-    dnl on other compilers, check if we can do -fvisibility=hidden
+-    AX_CHECK_COMPILE_FLAG([-fvisibility=hidden],
+-                           [AC_DEFINE([_MHD_EXTERN], [__attribute__((visibility("default"))) extern],
+-                                       [defines how to decorate public symbols while building])
+-                            HIDDEN_VISIBILITY_CFLAGS="-fvisibility=hidden"])
+-    ;;
+-esac
+-AC_SUBST(HIDDEN_VISIBILITY_CFLAGS)
++# HIDDEN_VISIBILITY_CFLAGS=""
++# case "$host" in
++#   *-*-mingw*)
++#     dnl on mingw32 we do -fvisibility=hidden and __declspec(dllexport)
++#     AC_DEFINE([_MHD_EXTERN], [__attribute__((visibility("default"))) __declspec(dllexport) extern],
++#               [defines how to decorate public symbols while building])
++#     HIDDEN_VISIBILITY_CFLAGS="-fvisibility=hidden"
++#     ;;
++#   *)
++#     dnl on other compilers, check if we can do -fvisibility=hidden
++#     AX_CHECK_COMPILE_FLAG([-fvisibility=hidden],
++#                            [AC_DEFINE([_MHD_EXTERN], [__attribute__((visibility("default"))) extern],
++#                                        [defines how to decorate public symbols while building])
++#                             HIDDEN_VISIBILITY_CFLAGS="-fvisibility=hidden"])
++#     ;;
++# esac
++# AC_SUBST(HIDDEN_VISIBILITY_CFLAGS)
+ 
+ # libcurl (required for testing)
+ AC_ARG_ENABLE([curl],
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/libmicrohttpd/patches/002.patch	Thu Apr 16 11:08:39 2015 +0200
@@ -0,0 +1,56 @@
+Tomas Heran <[email protected]>
+Make MHD_http_unescape available to library users.
+Reported upstream as: https://gnunet.org/bugs/view.php?id=3585
+
+diff -r dcb95cb7b865 -r efe4a6fcacd1 src/include/microhttpd.h
+--- a/src/include/microhttpd.h	Thu Dec 18 21:16:20 2014 +0100
++++ b/src/include/microhttpd.h	Thu Dec 18 21:49:28 2014 +0100
+@@ -2477,6 +2477,21 @@
+ _MHD_EXTERN int
+ MHD_is_feature_supported(enum MHD_FEATURE feature);
+ 
++/**
++ * Process escape sequences ('+'=space, %HH) Updates val in place; the
++ * result should be UTF-8 encoded and cannot be larger than the input.
++ * The result must also still be 0-terminated.
++ *
++ * @param cls closure (use NULL)
++ * @param connection handle to connection, not used
++ * @param val value to unescape (modified in the process)
++ * @return length of the resulting val (strlen(val) maybe
++ *  shorter afterwards due to elimination of escape sequences)
++ */
++size_t
++MHD_http_unescape (void *cls,
++		   struct MHD_Connection *connection,
++		   char *val);
+ 
+ #if 0                           /* keep Emacsens' auto-indent happy */
+ {
+diff -r dcb95cb7b865 -r efe4a6fcacd1 src/microhttpd/internal.h
+--- a/src/microhttpd/internal.h	Thu Dec 18 21:16:20 2014 +0100
++++ b/src/microhttpd/internal.h	Thu Dec 18 21:49:28 2014 +0100
+@@ -200,23 +200,6 @@
+ #endif
+ 
+ /**
+- * Process escape sequences ('+'=space, %HH) Updates val in place; the
+- * result should be UTF-8 encoded and cannot be larger than the input.
+- * The result must also still be 0-terminated.
+- *
+- * @param cls closure (use NULL)
+- * @param connection handle to connection, not used
+- * @param val value to unescape (modified in the process)
+- * @return length of the resulting val (strlen(val) maybe
+- *  shorter afterwards due to elimination of escape sequences)
+- */
+-size_t
+-MHD_http_unescape (void *cls,
+-		   struct MHD_Connection *connection,
+-		   char *val);
+-
+-
+-/**
+  * Header or cookie in HTTP request or response.
+  */
+ struct MHD_HTTP_Header
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/libmicrohttpd/patches/003.patch	Thu Apr 16 11:08:39 2015 +0200
@@ -0,0 +1,248 @@
+Tomas Heran <[email protected]>
+Allow MHD to work with connections not represented by file descriptors but
+rather an object that has recv and send "methods".
+NOTE: This RFE hasn't been shared with upstream yet.
+
+diff -r efe4a6fcacd1 -r 6d80d5999249 src/include/microhttpd.h
+--- a/src/include/microhttpd.h	Thu Dec 18 21:49:28 2014 +0100
++++ b/src/include/microhttpd.h	Thu Dec 18 21:49:28 2014 +0100
+@@ -285,7 +285,7 @@
+  * with the SHOUTcast "ICY" line instad of "HTTP".
+  * @ingroup specialized
+  */
+-#define MHD_ICY_FLAG ((uint32_t)(1 << 31))
++#define MHD_ICY_FLAG ((uint32_t)((uint32_t)1 << 31))
+ 
+ /**
+  * @defgroup headers HTTP headers
+@@ -562,7 +562,9 @@
+    * kernel >= 3.6.  On other systems, using this option cases #MHD_start_daemon
+    * to fail.
+    */
+-  MHD_USE_TCP_FASTOPEN = 16384
++  MHD_USE_TCP_FASTOPEN = 16384,
++
++  MHD_USE_STREAM_CONNS = 32768
+ 
+ };
+ 
+@@ -1445,6 +1447,16 @@
+ 		    const struct sockaddr *addr,
+ 		    socklen_t addrlen);
+ 
++_MHD_EXTERN int
++MHD_add_stream_connection (struct MHD_Daemon *daemon,
++    void *stream,
++    ssize_t (*recv_cls_u) (struct MHD_Connection * conn,
++	    void *write_to, size_t max_bytes),
++    ssize_t (*send_cls_u) (struct MHD_Connection * conn,
++	    const void *write_to, size_t max_bytes));
++
++void * MHD_get_stream_connection_data(struct MHD_Connection *conn);
++
+ 
+ /**
+  * Obtain the `select()` sets for this daemon.
+diff -r efe4a6fcacd1 -r 6d80d5999249 src/microhttpd/connection.c
+--- a/src/microhttpd/connection.c	Thu Dec 18 21:49:28 2014 +0100
++++ b/src/microhttpd/connection.c	Thu Dec 18 21:49:28 2014 +0100
+@@ -2565,7 +2565,7 @@
+ 				      connection,
+ 				      &connection->client_context,
+ 						  MHD_REQUEST_TERMINATED_COMPLETED_OK);
+-            connection->client_aware = MHD_NO;
++            //connection->client_aware = MHD_NO;
+           }
+           end =
+             MHD_lookup_connection_value (connection, MHD_HEADER_KIND,
+@@ -2599,7 +2599,13 @@
+                                   connection->read_buffer,
+                                   connection->read_buffer_size);
+             }
+-	  connection->client_aware = MHD_NO;
++	  /*
++	   * This member, if set to MHD_NO, causes completion notification *NOT*
++	   * to be fired if client closes a connection. So, in this case, if
++	   * client closed a connection after a request/response exchange was
++	   * finished, the completion handler wouldn't be called.
++	   */
++	  /* connection->client_aware = MHD_NO; */
+           connection->client_context = NULL;
+           connection->continue_message_write_offset = 0;
+           connection->responseCode = 0;
+diff -r efe4a6fcacd1 -r 6d80d5999249 src/microhttpd/daemon.c
+--- a/src/microhttpd/daemon.c	Thu Dec 18 21:49:28 2014 +0100
++++ b/src/microhttpd/daemon.c	Thu Dec 18 21:49:28 2014 +0100
+@@ -1131,7 +1131,10 @@
+ 			 MHD_socket client_socket,
+ 			 const struct sockaddr *addr,
+ 			 socklen_t addrlen,
+-			 int external_add)
++			 int external_add,
++			 ReceiveCallback recv_cls_u,
++			 TransmitCallback send_cls_u,
++			 void *callback_data)
+ {
+   struct MHD_Connection *connection;
+   int res_thread_create;
+@@ -1150,7 +1153,10 @@
+ 	  return internal_add_connection (&daemon->worker_pool[(i + client_socket) % daemon->worker_pool_size],
+ 					  client_socket,
+ 					  addr, addrlen,
+-					  external_add);
++					  external_add,
++					  recv_cls_u,
++					  send_cls_u,
++					  callback_data);
+       /* all pools are at their connection limit, must refuse */
+       if (0 != MHD_socket_close_ (client_socket))
+ 	MHD_PANIC ("close failed\n");
+@@ -1288,10 +1294,21 @@
+ 
+   /* set default connection handlers  */
+   MHD_set_http_callbacks_ (connection);
+-  connection->recv_cls = &recv_param_adapter;
+-  connection->send_cls = &send_param_adapter;
+-
+-  if (0 == (connection->daemon->options & MHD_USE_EPOLL_TURBO))
++
++  if (recv_cls_u == NULL)
++    connection->recv_cls = &recv_param_adapter;
++  else
++    connection->recv_cls = recv_cls_u;
++
++  if (send_cls_u == NULL)
++    connection->send_cls = &send_param_adapter;
++  else
++    connection->send_cls = send_cls_u;
++
++  connection->callback_data = callback_data;
++
++  if (0 == (connection->daemon->options & MHD_USE_EPOLL_TURBO) &&
++      0 == (connection->daemon->options & MHD_USE_STREAM_CONNS))
+     {
+       /* non-blocking sockets are required on most systems and for GNUtls;
+ 	 however, they somehow cause serious problems on CYGWIN (#1824);
+@@ -1746,11 +1763,29 @@
+ 		    socklen_t addrlen)
+ {
+   make_nonblocking_noninheritable (daemon,
+-				   client_socket);
++   client_socket);
+   return internal_add_connection (daemon,
+ 				  client_socket,
+ 				  addr, addrlen,
+-				  MHD_YES);
++				  MHD_YES, NULL, NULL, NULL);
++}
++
++int
++MHD_add_stream_connection (struct MHD_Daemon *daemon,
++    void *stream,
++    ssize_t (*recv_cls_u) (struct MHD_Connection * conn,
++	    void *write_to, size_t max_bytes),
++    ssize_t (*send_cls_u) (struct MHD_Connection * conn,
++	    const void *write_to, size_t max_bytes))
++{
++  return internal_add_connection (daemon, -1, NULL, 0, MHD_YES, recv_cls_u,
++                                  send_cls_u, stream);
++}
++
++void *
++MHD_get_stream_connection_data(struct MHD_Connection *conn)
++{
++  return (conn->callback_data);
+ }
+ 
+ 
+@@ -1826,7 +1861,7 @@
+ #endif
+   (void) internal_add_connection (daemon, s,
+ 				  addr, addrlen,
+-				  MHD_NO);
++				  MHD_NO, NULL, NULL, NULL);
+   return MHD_YES;
+ }
+ 
+@@ -2097,6 +2132,45 @@
+   return MHD_YES;
+ }
+ 
++/**
++ */
++static int
++MHD_poll_stream_conns (struct MHD_Daemon *daemon,
++	    int may_block)
++{
++  int num_ready;
++  struct MHD_Connection *pos;
++  struct MHD_Connection *next;
++
++  if (MHD_YES == daemon->shutdown)
++    return MHD_NO;
++
++  next = daemon->connections_head;
++  while (NULL != (pos = next))
++  {
++    next = pos->next;
++
++    /* Is there any I/O event there? */
++      switch (pos->event_loop_info)
++      {
++      case MHD_EVENT_LOOP_INFO_READ:
++				pos->read_handler (pos);
++        break;
++      case MHD_EVENT_LOOP_INFO_WRITE:
++				pos->write_handler (pos);
++        break;
++      case MHD_EVENT_LOOP_INFO_BLOCK:
++        break;
++      case MHD_EVENT_LOOP_INFO_CLEANUP:
++        /* should never happen */
++        break;
++      }
++
++    pos->idle_handler (pos);
++  }
++
++  return MHD_YES;
++}
+ 
+ /**
+  * Main internal select() call.  Will compute select sets, call select()
+@@ -2675,6 +2749,11 @@
+     MHD_cleanup_connections (daemon);
+   }
+ #endif
++  else if (0 != (daemon->options & MHD_USE_STREAM_CONNS))
++  {
++    MHD_poll_stream_conns (daemon, MHD_NO);
++    MHD_cleanup_connections (daemon);
++  }
+   else
+   {
+     MHD_select (daemon, MHD_NO);
+diff -r efe4a6fcacd1 -r 6d80d5999249 src/microhttpd/internal.h
+--- a/src/microhttpd/internal.h	Thu Dec 18 21:49:28 2014 +0100
++++ b/src/microhttpd/internal.h	Thu Dec 18 21:49:28 2014 +0100
+@@ -803,6 +803,11 @@
+    */
+   TransmitCallback send_cls;
+ 
++  /**
++   * User specified data that's associated with a connection.
++   */
++  void *callback_data;
++
+ #if HTTPS_SUPPORT
+   /**
+    * State required for HTTPS/SSL/TLS support.
+@@ -1050,7 +1055,7 @@
+   /**
+    * Number of worker daemons
+    */
+-  unsigned int worker_pool_size;
++  unsigned long long worker_pool_size;
+ 
+   /**
+    * The select thread handle (if we have internal select)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/libmicrohttpd/patches/004.patch	Thu Apr 16 11:08:39 2015 +0200
@@ -0,0 +1,13 @@
+Tomas Heran <[email protected]>
+This patch will not be reported upstream.
+
+diff -r 2b3bbde72bcd -r 92407d8c9b87 doc/libmicrohttpd.3
+--- a/doc/libmicrohttpd.3	Mon Jan 26 16:56:08 2015 +0100
++++ b/doc/libmicrohttpd.3	Thu Feb 05 13:03:58 2015 +0100
+@@ -33,3 +33,6 @@
+ 
+ .SH "AVAILABILITY"
+ You can obtain the latest version from http://www.gnu.org/software/libmicrohttpd/.
++
++.SH "CAVEATS"
++This library, as delivered by Oracle Solaris in binary form, has been compiled without HTTPS support, i.e. \fB--disable-https\fP option was used when configuring the library for compilation.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/libmicrohttpd/patches/005.patch	Thu Apr 16 11:08:39 2015 +0200
@@ -0,0 +1,16 @@
+Tomas Heran <[email protected]>
+libnsl and libsocket need to be linked to on Solaris 11 for socket API.
+Reported upstream as: https://gnunet.org/bugs/view.php?id=3752
+
+diff -r d118e0f483a4 configure.ac
+--- a/configure.ac	Thu Feb 05 14:49:09 2015 +0100
++++ b/configure.ac	Thu Apr 09 16:39:50 2015 +0200
+@@ -135,6 +135,8 @@
+ *solaris*)
+      AC_DEFINE_UNQUOTED(SOLARIS,1,[This is a Solaris system])
+      AC_DEFINE_UNQUOTED(_REENTRANT,1,[Need with solaris or errno doesnt work])
++     AC_SEARCH_LIBS(gethostbyname, nsl)
++     AC_SEARCH_LIBS(socket, socket)
+      ;;
+ *arm-linux*)
+      AC_DEFINE_UNQUOTED(LINUX,1,[This is a Linux kernel])