# HG changeset patch # User Stacy Yeh # Date 1462402129 25200 # Node ID cf3796081ab1456251dfd5232bd0f88cc15808e8 # Parent 1e847165fde25bd6fcfcf1af8b81a14d653cefac 15801008 upgrade libevent to 2.0.22 23200097 problem in LIBRARY/LIBEVENT diff -r 1e847165fde2 -r cf3796081ab1 components/libevent/Makefile --- a/components/libevent/Makefile Wed May 04 14:21:51 2016 -0700 +++ b/components/libevent/Makefile Wed May 04 15:48:49 2016 -0700 @@ -26,16 +26,15 @@ include ../../make-rules/shared-macros.mk COMPONENT_NAME= libevent -COMPONENT_VERSION= 1.4.14b -IPS_COMPONENT_VERSION= 1.4.14.2 +COMPONENT_VERSION= 2.0.22 COMPONENT_PROJECT_URL= http://monkey.org/~provos/libevent/ COMPONENT_SRC= $(COMPONENT_NAME)-$(COMPONENT_VERSION)-stable COMPONENT_ARCHIVE_HASH= \ - sha256:afa61b476a222ba43fc7cca2d24849ab0bbd940124400cb699915d3c60e46301 -COMPONENT_ARCHIVE_URL= http://cloud.github.com/downloads/libevent/libevent/$(COMPONENT_ARCHIVE) + sha256:71c2c49f0adadacfdbe6332a372c38cf9c8b7895bb73dabeaa53cdcc1d4e1fa3 +COMPONENT_ARCHIVE_URL= http://github.com/libevent/libevent/releases/download/release-$(COMPONENT_VERSION)-stable/$(COMPONENT_ARCHIVE) COMPONENT_BUGDB= library/libevent -TPNO= 5581 +TPNO= 27840 include $(WS_MAKE_RULES)/common.mk @@ -49,6 +48,7 @@ # # /usr/bin/event_rpcgen.py +CONFIGURE_OPTIONS += CFLAGS="$(CFLAGS)" CONFIGURE_OPTIONS += --disable-static COMPONENT_TEST_TARGETS = verify @@ -60,3 +60,10 @@ # Master test results are the same for 32-bit and 64-bit, so override # here, rather than create multiple identical master files. COMPONENT_TEST_MASTER = $(COMPONENT_TEST_RESULTS_DIR)/results-all.master +COMPONENT_TEST_TRANSFORMS += \ + '-e "/cp test.sh test-script.sh/d" ' + +REQUIRED_PACKAGES += library/security/openssl +REQUIRED_PACKAGES += library/security/openssl/openssl-fips-140 +REQUIRED_PACKAGES += runtime/python-27 +REQUIRED_PACKAGES += system/library/gcc/gcc-c-runtime diff -r 1e847165fde2 -r cf3796081ab1 components/libevent/libevent.3 --- a/components/libevent/libevent.3 Wed May 04 14:21:51 2016 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -.so man3/event.3 diff -r 1e847165fde2 -r cf3796081ab1 components/libevent/libevent.license --- a/components/libevent/libevent.license Wed May 04 14:21:51 2016 -0700 +++ b/components/libevent/libevent.license Wed May 04 15:48:49 2016 -0700 @@ -1,538 +1,13 @@ -buffer.c: -/* - * Copyright (c) 2002, 2003 Niels Provos - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -devpoll.c, event-internal.h, event.c, evhttp.h, evrpc.c, log.h: -/* - * Copyright 2000-2004 Niels Provos - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -epoll.c, poll.c: -/* - * Copyright 2000-2003 Niels Provos - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -epoll_sub.c: -/* - * Copyright 2003 Niels Provos - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -evbuffer.c: -/* - * Copyright (c) 2002-2004 Niels Provos - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -evdns.c: -/* The original version of this module was written by Adam Langley; for - * a history of modifications, check out the subversion logs. - * - * When editing this module, try to keep it re-mergeable by Adam. Don't - * reformat the whitespace, add Tor dependencies, or so on. - * - * TODO: - * - Support IPv6 and PTR records. - * - Replace all externally visible magic numbers with #defined constants. - * - Write doccumentation for APIs of all external functions. - */ - -/* Async DNS Library - * Adam Langley - * http://www.imperialviolet.org/eventdns.html - * Public Domain code - * - * This software is Public Domain. To view a copy of the public domain dedication, - * visit http://creativecommons.org/licenses/publicdomain/ or send a letter to - * Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA. - * - * I ask and expect, but do not require, that all derivative works contain an - * attribution similar to: - * Parts developed by Adam Langley - * - * You may wish to replace the word "Parts" with something else depending on - * the amount of original code. - * - * (Derivative works does not include programs which link against, run or include - * the source verbatim in their source distributions) - * - * Version: 0.1b - */ - -evdns.h: -/* - * Copyright (c) 2006 Niels Provos - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -/* - * The original DNS code is due to Adam Langley with heavy - * modifications by Nick Mathewson. Adam put his DNS software in the - * public domain. You can find his original copyright below. Please, - * aware that the code as part of libevent is governed by the 3-clause - * BSD license above. - * - * This software is Public Domain. To view a copy of the public domain dedication, - * visit http://creativecommons.org/licenses/publicdomain/ or send a letter to - * Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA. - * - * I ask and expect, but do not require, that all derivative works contain an - * attribution similar to: - * Parts developed by Adam Langley - * - * You may wish to replace the word "Parts" with something else depending on - * the amount of original code. - * - * (Derivative works does not include programs which link against, run or include - * the source verbatim in their source distributions) - */ - -event_tagging.c: -/* - * Copyright (c) 2003, 2004 Niels Provos - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ +Libevent is available for use under the following license, commonly known +as the 3-clause (or "modified") BSD license: -event.h: -/* - * Copyright (c) 2000-2007 Niels Provos - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -evport.c: -/* - * Submitted by David Pacheco (dp.spambait@gmail.com) - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY SUN MICROSYSTEMS, INC. ``AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL SUN MICROSYSTEMS, INC. BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -/* - * Copyright (c) 2007 Sun Microsystems. All rights reserved. - * Use is subject to license terms. - */ - -evrpc.h, evrpc-internal.h: -/* - * Copyright (c) 2006 Niels Provos - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -evsignal.h, kqueue.c, select.c, signal.c: -/* - * Copyright 2000-2002 Niels Provos - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -evutil.c, evutil.h: -/* - * Copyright (c) 2007 Niels Provos - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -http-internal.h: -/* - * Copyright 2001 Niels Provos - * All rights reserved. - * - * This header file contains definitions for dealing with HTTP requests - * that are internal to libevent. As user of the library, you should not - * need to know about these. - */ - -http.c: -/* - * Copyright (c) 2002-2006 Niels Provos - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -log.c: - * Copyright (c) 2005 Nick Mathewson - * - * Copyright (c) 2000 Dug Song - * - * Copyright (c) 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -min_heap.h: -/* - * Copyright (c) 2006 Maxim Yegorushkin - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -strlcpy.c: -/* - * Copyright (c) 1998 Todd C. Miller - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, - * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY - * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL - * THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, - * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; - * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, - * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR - * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - - -Documentation: - -evdns.3: -Copyright (c) 2006 Niels Provos -All rights reserved. +============================== +Copyright (c) 2000-2007 Niels Provos +Copyright (c) 2007-2012 Niels Provos and Nick Mathewson Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright @@ -541,43 +16,59 @@ 3. The name of the author may not be used to endorse or promote products derived from this software without specific prior written permission. -THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, -INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY -AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL -THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; -OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF -ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +============================== +Portions of Libevent are based on works by others, also made available by +them under the three-clause BSD license above. The copyright notices are +available in the corresponding source files; the license is as above. Here's +a list: -event.3: -Copyright (c) 2000 Artur Grabowski -All rights reserved. +log.c: + Copyright (c) 2000 Dug Song + Copyright (c) 1993 The Regents of the University of California. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: +strlcpy.c: + Copyright (c) 1998 Todd C. Miller + +win32select.c: + Copyright (c) 2003 Michael A. Davis -1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. -2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. -3. The name of the author may not be used to endorse or promote products - derived from this software without specific prior written permission. +evport.c: + Copyright (c) 2007 Sun Microsystems + +ht-internal.h: + Copyright (c) 2002 Christopher Clark + +minheap-internal.h: + Copyright (c) 2006 Maxim Yegorushkin + +============================== + +The arc4module is available under the following, sometimes called the +"OpenBSD" license: -THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, -INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY -AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL -THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; -OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF -ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + Copyright (c) 1996, David Mazieres + Copyright (c) 2008, Damien Miller + + Permission to use, copy, modify, and distribute this software for any + purpose with or without fee is hereby granted, provided that the above + copyright notice and this permission notice appear in all copies. + THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff -r 1e847165fde2 -r cf3796081ab1 components/libevent/libevent.p5m --- a/components/libevent/libevent.p5m Wed May 04 14:21:51 2016 -0700 +++ b/components/libevent/libevent.p5m Wed May 04 15:48:49 2016 -0700 @@ -38,37 +38,76 @@ set name=org.opensolaris.arc-caseid value=PSARC/2007/580 set name=org.opensolaris.consolidation value=$(CONSOLIDATION) file path=usr/include/evdns.h -file path=usr/include/event-config.h file path=usr/include/event.h +file path=usr/include/event2/buffer.h +file path=usr/include/event2/buffer_compat.h +file path=usr/include/event2/bufferevent.h +file path=usr/include/event2/bufferevent_compat.h +file path=usr/include/event2/bufferevent_ssl.h +file path=usr/include/event2/bufferevent_struct.h +file path=usr/include/event2/dns.h +file path=usr/include/event2/dns_compat.h +file path=usr/include/event2/dns_struct.h +file path=usr/include/event2/event-config.h +file path=usr/include/event2/event.h +file path=usr/include/event2/event_compat.h +file path=usr/include/event2/event_struct.h +file path=usr/include/event2/http.h +file path=usr/include/event2/http_compat.h +file path=usr/include/event2/http_struct.h +file path=usr/include/event2/keyvalq_struct.h +file path=usr/include/event2/listener.h +file path=usr/include/event2/rpc.h +file path=usr/include/event2/rpc_compat.h +file path=usr/include/event2/rpc_struct.h +file path=usr/include/event2/tag.h +file path=usr/include/event2/tag_compat.h +file path=usr/include/event2/thread.h +file path=usr/include/event2/util.h file path=usr/include/evhttp.h file path=usr/include/evrpc.h file path=usr/include/evutil.h -link path=usr/lib/$(MACH64)/libevent-1.4.so.2 target=libevent-1.4.so.2.2.0 -file path=usr/lib/$(MACH64)/libevent-1.4.so.2.2.0 -link path=usr/lib/$(MACH64)/libevent.so target=libevent-1.4.so.2.2.0 -link path=usr/lib/$(MACH64)/libevent.so.1 target=libevent-1.4.so.2.2.0 -link path=usr/lib/$(MACH64)/libevent_core-1.4.so.2 \ - target=libevent_core-1.4.so.2.2.0 -file path=usr/lib/$(MACH64)/libevent_core-1.4.so.2.2.0 -link path=usr/lib/$(MACH64)/libevent_core.so target=libevent_core-1.4.so.2.2.0 -link path=usr/lib/$(MACH64)/libevent_extra-1.4.so.2 \ - target=libevent_extra-1.4.so.2.2.0 -file path=usr/lib/$(MACH64)/libevent_extra-1.4.so.2.2.0 -link path=usr/lib/$(MACH64)/libevent_extra.so target=libevent_extra-1.4.so.2.2.0 -file path=usr/lib/$(MACH64)/llib-levent.ln -link path=usr/lib/libevent-1.4.so.2 target=libevent-1.4.so.2.2.0 -file path=usr/lib/libevent-1.4.so.2.2.0 -link path=usr/lib/libevent.so target=libevent-1.4.so.2.2.0 -link path=usr/lib/libevent.so.1 target=libevent-1.4.so.2.2.0 -link path=usr/lib/libevent_core-1.4.so.2 target=libevent_core-1.4.so.2.2.0 -file path=usr/lib/libevent_core-1.4.so.2.2.0 -link path=usr/lib/libevent_core.so target=libevent_core-1.4.so.2.2.0 -link path=usr/lib/libevent_extra-1.4.so.2 target=libevent_extra-1.4.so.2.2.0 -file path=usr/lib/libevent_extra-1.4.so.2.2.0 -link path=usr/lib/libevent_extra.so target=libevent_extra-1.4.so.2.2.0 -file path=usr/lib/llib-levent -file path=usr/lib/llib-levent.ln -file path=usr/share/man/man3/evdns.3 -file path=usr/share/man/man3/event.3 -file libevent.3 path=usr/share/man/man3/libevent.3 +link path=usr/lib/$(MACH64)/libevent-2.0.so.5 target=libevent-2.0.so.5.1.9 +file path=usr/lib/$(MACH64)/libevent-2.0.so.5.1.9 +link path=usr/lib/$(MACH64)/libevent.so target=libevent-2.0.so.5.1.9 +link path=usr/lib/$(MACH64)/libevent_core-2.0.so.5 \ + target=libevent_core-2.0.so.5.1.9 +file path=usr/lib/$(MACH64)/libevent_core-2.0.so.5.1.9 +link path=usr/lib/$(MACH64)/libevent_core.so target=libevent_core-2.0.so.5.1.9 +link path=usr/lib/$(MACH64)/libevent_extra-2.0.so.5 \ + target=libevent_extra-2.0.so.5.1.9 +file path=usr/lib/$(MACH64)/libevent_extra-2.0.so.5.1.9 +link path=usr/lib/$(MACH64)/libevent_extra.so target=libevent_extra-2.0.so.5.1.9 +link path=usr/lib/$(MACH64)/libevent_openssl-2.0.so.5 \ + target=libevent_openssl-2.0.so.5.1.9 +file path=usr/lib/$(MACH64)/libevent_openssl-2.0.so.5.1.9 +link path=usr/lib/$(MACH64)/libevent_openssl.so \ + target=libevent_openssl-2.0.so.5.1.9 +link path=usr/lib/$(MACH64)/libevent_pthreads-2.0.so.5 \ + target=libevent_pthreads-2.0.so.5.1.9 +file path=usr/lib/$(MACH64)/libevent_pthreads-2.0.so.5.1.9 +link path=usr/lib/$(MACH64)/libevent_pthreads.so \ + target=libevent_pthreads-2.0.so.5.1.9 +file path=usr/lib/$(MACH64)/pkgconfig/libevent.pc +file path=usr/lib/$(MACH64)/pkgconfig/libevent_openssl.pc +file path=usr/lib/$(MACH64)/pkgconfig/libevent_pthreads.pc +link path=usr/lib/libevent-2.0.so.5 target=libevent-2.0.so.5.1.9 +file path=usr/lib/libevent-2.0.so.5.1.9 +link path=usr/lib/libevent.so target=libevent-2.0.so.5.1.9 +link path=usr/lib/libevent_core-2.0.so.5 target=libevent_core-2.0.so.5.1.9 +file path=usr/lib/libevent_core-2.0.so.5.1.9 +link path=usr/lib/libevent_core.so target=libevent_core-2.0.so.5.1.9 +link path=usr/lib/libevent_extra-2.0.so.5 target=libevent_extra-2.0.so.5.1.9 +file path=usr/lib/libevent_extra-2.0.so.5.1.9 +link path=usr/lib/libevent_extra.so target=libevent_extra-2.0.so.5.1.9 +link path=usr/lib/libevent_openssl-2.0.so.5 target=libevent_openssl-2.0.so.5.1.9 +file path=usr/lib/libevent_openssl-2.0.so.5.1.9 +link path=usr/lib/libevent_openssl.so target=libevent_openssl-2.0.so.5.1.9 +link path=usr/lib/libevent_pthreads-2.0.so.5 \ + target=libevent_pthreads-2.0.so.5.1.9 +file path=usr/lib/libevent_pthreads-2.0.so.5.1.9 +link path=usr/lib/libevent_pthreads.so target=libevent_pthreads-2.0.so.5.1.9 +file path=usr/lib/pkgconfig/libevent.pc +file path=usr/lib/pkgconfig/libevent_openssl.pc +file path=usr/lib/pkgconfig/libevent_pthreads.pc license libevent.license license=BSD diff -r 1e847165fde2 -r cf3796081ab1 components/libevent/patches/arc4random.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/components/libevent/patches/arc4random.patch Wed May 04 15:48:49 2016 -0700 @@ -0,0 +1,25 @@ +Function needs extern keyword. +In house patch. + +--- a/arc4random.c 2016-03-01 09:29:36.602447178 -0800 ++++ b/arc4random.c 2016-03-01 10:17:51.627857034 -0800 +@@ -445,8 +445,8 @@ arc4random_stir(void) + #endif + + #ifndef ARC4RANDOM_NOADDRANDOM +-ARC4RANDOM_EXPORT void +-arc4random_addrandom(const unsigned char *dat, int datlen) ++extern void ++arc4random_addrandom(uchar_t *dat, size_t datlen) + { + int j; + _ARC4_LOCK(); +@@ -477,7 +477,7 @@ arc4random(void) + } + #endif + +-ARC4RANDOM_EXPORT void ++extern void + arc4random_buf(void *_buf, size_t n) + { + unsigned char *buf = _buf; diff -r 1e847165fde2 -r cf3796081ab1 components/libevent/patches/evdns.3.patch --- a/components/libevent/patches/evdns.3.patch Wed May 04 14:21:51 2016 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,498 +0,0 @@ ---- libevent-1.4.14b-stable/evdns.3 st lis 25 07:55:34 2009 -+++ libevent-1.4.14b-stable/evdns.3 po lis 21 09:31:22 2011 -@@ -25,66 +25,67 @@ - .\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - .\" ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - .\" --.Dd October 7, 2006 --.Dt EVDNS 3 --.Os --.Sh NAME --.Nm evdns_init --.Nm evdns_shutdown --.Nm evdns_err_to_string --.Nm evdns_nameserver_add --.Nm evdns_count_nameservers --.Nm evdns_clear_nameservers_and_suspend --.Nm evdns_resume --.Nm evdns_nameserver_ip_add --.Nm evdns_resolve_ipv4 --.Nm evdns_resolve_reverse --.Nm evdns_resolv_conf_parse --.Nm evdns_config_windows_nameservers --.Nm evdns_search_clear --.Nm evdns_search_add --.Nm evdns_search_ndots_set --.Nm evdns_set_log_fn --.Nd asynchronous functions for DNS resolution. --.Sh SYNOPSIS --.Fd #include --.Fd #include --.Fd #include --.Ft int --.Fn evdns_init --.Ft void --.Fn evdns_shutdown "int fail_requests" --.Ft "const char *" --.Fn evdns_err_to_string "int err" --.Ft int --.Fn evdns_nameserver_add "unsigned long int address" --.Ft int --.Fn evdns_count_nameservers --.Ft int --.Fn evdns_clear_nameservers_and_suspend --.Ft int --.Fn evdns_resume --.Ft int --.Fn evdns_nameserver_ip_add(const char *ip_as_string); --.Ft int --.Fn evdns_resolve_ipv4 "const char *name" "int flags" "evdns_callback_type callback" "void *ptr" --.Ft int --.Fn evdns_resolve_reverse "struct in_addr *in" "int flags" "evdns_callback_type callback" "void *ptr" --.Ft int --.Fn evdns_resolv_conf_parse "int flags" "const char *" --.Ft void --.Fn evdns_search_clear --.Ft void --.Fn evdns_search_add "const char *domain" --.Ft void --.Fn evdns_search_ndots_set "const int ndots" --.Ft void --.Fn evdns_set_log_fn "evdns_debug_log_fn_type fn" --.Ft int --.Fn evdns_config_windows_nameservers --.Sh DESCRIPTION -+.TH EVDNS 3 "21 November 2011" "libevent 1.4.14b" "libevent Manual" -+.SH NAME -+evdns_init, -+evdns_shutdown, -+evdns_err_to_string, -+evdns_nameserver_add, -+evdns_count_nameservers, -+evdns_clear_nameservers_and_suspend, -+evdns_resume, -+evdns_nameserver_ip_add, -+evdns_resolve_ipv4, -+evdns_resolve_reverse, -+evdns_resolv_conf_parse, -+evdns_config_windows_nameservers, -+evdns_search_clear, -+evdns_search_add, -+evdns_search_ndots_set, -+evdns_set_log_fn -+\- asynchronous functions for DNS resolution. -+.SH SYNOPSIS -+.LP -+.nf -+\fB#include \fP -+\fB#include \fP -+\fB#include \fP -+ -+\fBinit \fBevdns_init\fR\fR(\fBvoid\fP\fR); -+ -+\fBvoid \fBevdns_shutdown\fR\fR(\fBint \fIfail_requests\fP\fR); -+ -+\fBconst char* \fBevdns_err_to_string\fR\fR(\fBint \fIerr\fP\fR); -+ -+\fBint \fBevdns_nameserver_add\fR\fR(\fBunsigned long int \fIaddress\fP\fR); -+ -+\fBint \fBevdns_count_nameservers\fR\fR(\fBvoid\fP\fR); -+ -+\fBint \fBevdns_clear_nameservers_and_suspend\fR\fR(\fBvoid\fP\fR); -+ -+\fBint \fBevdns_resume\fR\fR(\fBvoid\fP\fR); -+ -+\fBint \fBevdns_nameserver_ip_add\fR\fR(\fBconst char* \fIip_as_string\fP\fR); -+ -+\fBint \fBevdns_resolve_ipv4\fR\fR(\fBconst char* \fIname\fP\fR, \fBint \fIflags\fP\fR, \fBevdns_callback_type \fIcallback\fP\fR, \fBvoid* \fIptr\fP\fR); -+ -+\fBint \fBevdns_resolve_reverse\fR\fR(\fBstruct in_addr* \fIin\fP\fR, \fBint \fIflags\fP\fR, \fBevdns_callback_type \fIcallback\fP\fR, \fBvoid* \fIptr\fP\fR); -+ -+\fBint \fBevdns_resolv_conf_parse\fR\fR(\fBint \fIflags\fP\fR, \fBconst char* \fIfilename\fP\fR); -+ -+\fBvoid \fBevdns_search_clear\fR\fR(\fBvoid\fP\fR); -+ -+\fBvoid \fBevdns_search_add\fR\fR(\fBconst char* \fIdomain\fP\fR); -+ -+\fBvoid \fBevdns_search_ndots_set\fR\fR(\fBconst int \fIndots\fP\fR); -+ -+\fBvoid \fBevdns_set_log_fn\fR\fR(\fBcevdns_debug_log_fn_type \fIfn\fP\fR); -+ -+\fBint \fBevdns_config_windows_nameservers\fR\fR(\fBvoid\fP\fR); -+.fi -+.SH DESCRIPTION - Welcome, gentle reader --.Pp -+.PP - Async DNS lookups are really a whole lot harder than they should be, - mostly stemming from the fact that the libc resolver has never been - very good at them. Before you use this library you should see if libc -@@ -91,37 +92,49 @@ - can do the job for you with the modern async call getaddrinfo_a - (see http://www.imperialviolet.org/page25.html#e498). Otherwise, - please continue. --.Pp -+.PP - This code is based on libevent and you must call event_init before - any of the APIs in this file. You must also seed the OpenSSL random - source if you are using OpenSSL for ids (see below). --.Pp -+.PP - This library is designed to be included and shipped with your source - code. You statically link with it. You should also test for the - existence of strtok_r and define HAVE_STRTOK_R if you have it. --.Pp -+.PP - The DNS protocol requires a good source of id numbers and these - numbers should be unpredictable for spoofing reasons. There are - three methods for generating them here and you must define exactly - one of them. In increasing order of preference: --.Pp --.Bl -tag -width "DNS_USE_GETTIMEOFDAY_FOR_ID" -compact -offset indent --.It DNS_USE_GETTIMEOFDAY_FOR_ID -+.PP -+DNS_USE_GETTIMEOFDAY_FOR_ID -+.ad -+.sp .6 -+.RS 4n - Using the bottom 16 bits of the usec result from gettimeofday. This - is a pretty poor solution but should work anywhere. --.It DNS_USE_CPU_CLOCK_FOR_ID -+.RE -+.PP -+DNS_USE_CPU_CLOCK_FOR_ID -+.ad -+.sp .6 -+.RS 4n - Using the bottom 16 bits of the nsec result from the CPU's time - counter. This is better, but may not work everywhere. Requires - POSIX realtime support and you'll need to link against -lrt on - glibc systems at least. --.It DNS_USE_OPENSSL_FOR_ID -+.RE -+.PP -+DNS_USE_OPENSSL_FOR_ID -+.ad -+.sp .6 -+.RS 4n - Uses the OpenSSL RAND_bytes call to generate the data. You must - have seeded the pool before making any calls to this library. --.El --.Pp -+.RE -+.PP - The library keeps track of the state of nameservers and will avoid - them when they go down. Otherwise it will round robin between them. --.Pp -+.PP - Quick start guide: - #include "evdns.h" - void callback(int result, char type, int count, int ttl, -@@ -128,7 +141,7 @@ - void *addresses, void *arg); - evdns_resolv_conf_parse(DNS_OPTIONS_ALL, "/etc/resolv.conf"); - evdns_resolve("www.hostname.com", 0, callback, NULL); --.Pp -+.PP - When the lookup is complete the callback function is called. The - first argument will be one of the DNS_ERR_* defines in evdns.h. - Hopefully it will be DNS_ERR_NONE, in which case type will be -@@ -136,152 +149,187 @@ - which the data can be cached for (in seconds), addresses will point - to an array of uint32_t's and arg will be whatever you passed to - evdns_resolve. --.Pp -+.PP - Searching: --.Pp -+.PP - In order for this library to be a good replacement for glibc's resolver it - supports searching. This involves setting a list of default domains, in - which names will be queried for. The number of dots in the query name - determines the order in which this list is used. --.Pp -+.PP - Searching appears to be a single lookup from the point of view of the API, - although many DNS queries may be generated from a single call to - evdns_resolve. Searching can also drastically slow down the resolution - of names. --.Pp -+.PP - To disable searching: --.Bl -enum -compact -offset indent --.It --Never set it up. If you never call --.Fn evdns_resolv_conf_parse, --.Fn evdns_init, -+.ad -+.sp .6 -+.RS 4n -+1. Never set it up. If you never call -+\fBevdns_resolv_conf_parse\fP\fR, -+\fBevdns_init\fP\fR, - or --.Fn evdns_search_add -+\fBevdns_search_add\fP\R - then no searching will occur. --.It --If you do call --.Fn evdns_resolv_conf_parse -+.br -+2. If you do call -+\fBevdns_resolv_conf_parse\fP\fR - then don't pass --.Va DNS_OPTION_SEARCH -+DNS_OPTION_SEARCH - (or --.Va DNS_OPTIONS_ALL, -+DNS_OPTIONS_ALL, - which implies it). --.It --When calling --.Fn evdns_resolve, -+.br -+3. When calling -+\fBevdns_resolve\fP\fR, - pass the --.Va DNS_QUERY_NO_SEARCH -+DNS_QUERY_NO_SEARCH - flag. --.El --.Pp -+.RE -+.PP - The order of searches depends on the number of dots in the name. If the - number is greater than the ndots setting then the names is first tried - globally. Otherwise each search domain is appended in turn. --.Pp -+.PP - The ndots setting can either be set from a resolv.conf, or by calling - evdns_search_ndots_set. --.Pp -+.PP - For example, with ndots set to 1 (the default) and a search domain list of - ["myhome.net"]: - Query: www - Order: www.myhome.net, www. --.Pp -+.PP - Query: www.abc - Order: www.abc., www.abc.myhome.net --.Pp --.Sh API reference --.Pp --.Bl -tag -width 0123456 --.It Ft int Fn evdns_init -+.PP -+.SH API reference -+.PP -+.SS "\fBint \fBevdns_init\fR\fR(\fBvoid\fP\fR)" -+.sp -+.LP - Initializes support for non-blocking name resolution by calling --.Fn evdns_resolv_conf_parse -+evdns_resolv_conf_parse() - on UNIX and --.Fn evdns_config_windows_nameservers -+evdns_config_windows_nameservers() - on Windows. --.It Ft int Fn evdns_nameserver_add "unsigned long int address" -+.SS "\fBint \fBevdns_nameserver_add\fR\fR(\fBunsigned long int\fP\fR \fIaddress\fP\fR)" -+.sp -+.LP - Add a nameserver. The address should be an IP address in - network byte order. The type of address is chosen so that - it matches in_addr.s_addr. - Returns non-zero on error. --.It Ft int Fn evdns_nameserver_ip_add "const char *ip_as_string" -+.SS "\fBint \fBevdns_nameserver_ip_add\fR\fR(\fBconst char* \fIip_as_string\fP\fR)" -+.sp -+.LP - This wraps the above function by parsing a string as an IP - address and adds it as a nameserver. - Returns non-zero on error --.It Ft int Fn evdns_resolve "const char *name" "int flags" "evdns_callback_type callback" "void *ptr" -+.SS "\fBint \fBevdns_resolve\fR\fR(\fBconst char* \fIname\fP\fR, \fBint \fIflags\fP\fR, \fBevdns_callback_type \fIcallback\fP\fR, \fBvoid* \fIptr\fP\fR)" -+.sp -+.LP - Resolve a name. The name parameter should be a DNS name. - The flags parameter should be 0, or DNS_QUERY_NO_SEARCH - which disables searching for this query. (see defn of - searching above). --.Pp -+.PP - The callback argument is a function which is called when - this query completes and ptr is an argument which is passed - to that callback function. --.Pp -+.PP - Returns non-zero on error --.It Ft void Fn evdns_search_clear -+.SS "\fBvoid \fBevdns_search_clear\fR\fR(\fBvoid\fP\fR)" -+.sp -+.LP - Clears the list of search domains --.It Ft void Fn evdns_search_add "const char *domain" -+.SS "\fBvoid \fBevdns_search_add\fR\fR(\fBconst char* \fIdomain\fP\fR)" -+.sp -+.LP - Add a domain to the list of search domains --.It Ft void Fn evdns_search_ndots_set "int ndots" -+.SS "\fBvoid \fBevdns_search_ndots_set\fR\fR(\fBconst int \fIndots\fP\fR)" -+.sp -+.LP - Set the number of dots which, when found in a name, causes - the first query to be without any search domain. --.It Ft int Fn evdns_count_nameservers "void" -+.SS "\fBint \fBevdns_count_nameservers\fR\fR(\fBvoid\fP\fR)" -+.sp -+.LP - Return the number of configured nameservers (not necessarily the - number of running nameservers). This is useful for double-checking - whether our calls to the various nameserver configuration functions - have been successful. --.It Ft int Fn evdns_clear_nameservers_and_suspend "void" -+.SS "\fBint \fBevdns_clear_nameservers_and_suspend\fR\fR(\fBvoid\fP\fR)" -+.sp -+.LP - Remove all currently configured nameservers, and suspend all pending - resolves. Resolves will not necessarily be re-attempted until - evdns_resume() is called. --.It Ft int Fn evdns_resume "void" -+.SS "\fBint \fBevdns_resume\fR\fR(\fBvoid\fP\fR)" -+.sp -+.LP - Re-attempt resolves left in limbo after an earlier call to - evdns_clear_nameservers_and_suspend(). --.It Ft int Fn evdns_config_windows_nameservers "void" -+.SS "\fBint \fBevdns_config_windows_nameservers\fR\fR(\fBvoid\fP\fR)" -+.sp -+.LP - Attempt to configure a set of nameservers based on platform settings on - a win32 host. Preferentially tries to use GetNetworkParams; if that fails, - looks in the registry. Returns 0 on success, nonzero on failure. --.It Ft int Fn evdns_resolv_conf_parse "int flags" "const char *filename" -+.SS "\fBint \fBevdns_resolv_conf_parse\fR\fR(\fBint \fIflags\fP\fR, \fBconst char*filename\fP\fR)" -+.sp -+.LP - Parse a resolv.conf like file from the given filename. --.Pp -+.PP - See the man page for resolv.conf for the format of this file. - The flags argument determines what information is parsed from - this file: --.Bl -tag -width "DNS_OPTION_NAMESERVERS" -offset indent -compact -nested --.It DNS_OPTION_SEARCH -+.sp -+DNS_OPTION_SEARCH - domain, search and ndots options --.It DNS_OPTION_NAMESERVERS -+.br -+DNS_OPTION_NAMESERVERS - nameserver lines --.It DNS_OPTION_MISC -+.br -+DNS_OPTION_MISC - timeout and attempts options --.It DNS_OPTIONS_ALL -+.br -+DNS_OPTIONS_ALL - all of the above --.El --.Pp -+.PP - The following directives are not parsed from the file: - sortlist, rotate, no-check-names, inet6, debug --.Pp -+.PP - Returns non-zero on error: --.Bl -tag -width "0" -offset indent -compact -nested --.It 0 -+.sp -+0 -+.br - no errors --.It 1 -+.br -+1 -+.br - failed to open file --.It 2 -+.br -+2 -+.br - failed to stat file --.It 3 -+.br -+3 -+.br - file too large --.It 4 -+.br -+4 -+.br - out of memory --.It 5 -+.br -+5 -+.br - short read from file --.El --.El --.Sh Internals: -+.SH Internals: - Requests are kept in two queues. The first is the inflight queue. In - this queue requests have an allocated transaction id and nameserver. - They will soon be transmitted if they haven't already been. --.Pp -+.PP - The second is the waiting queue. The size of the inflight ring is - limited and all other requests wait in waiting queue for space. This - bounds the number of concurrent requests so that we don't flood the -@@ -288,33 +336,33 @@ - nameserver. Several algorithms require a full walk of the inflight - queue and so bounding its size keeps thing going nicely under huge - (many thousands of requests) loads. --.Pp -+.PP - If a nameserver loses too many requests it is considered down and we - try not to use it. After a while we send a probe to that nameserver - (a lookup for google.com) and, if it replies, we consider it working - again. If the nameserver fails a probe we wait longer to try again - with the next probe. --.Sh SEE ALSO --.Xr event 3 , --.Xr gethostbyname 3 , --.Xr resolv.conf 5 --.Sh HISTORY -+.SH SEE ALSO -+\fBevent(3)\fR, -+\fBgethostbyname(3)\fR, -+\fBresolv.conf(4)\fR -+.SH HISTORY - The --.Nm evdns -+\fIevdns\fP\fR - API was developed by Adam Langley on top of the --.Nm libevent -+\fIlibevent\fP\fR - API. - The code was integrate into --.Nm Tor -+\fITor\fP\fR - by Nick Mathewson and finally put into --.Nm libevent -+\fIlibevent\fP\fR - itself by Niels Provos. --.Sh AUTHORS -+.SH AUTHORS - The --.Nm evdns -+\fIevdns\fP\fR - API and code was written by Adam Langley with significant - contributions by Nick Mathewson. --.Sh BUGS -+.SH BUGS - This documentation is neither complete nor authoritative. - If you are in doubt about the usage of this API then - check the source code to find out how it works, write diff -r 1e847165fde2 -r cf3796081ab1 components/libevent/patches/event-config.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/components/libevent/patches/event-config.patch Wed May 04 15:48:49 2016 -0700 @@ -0,0 +1,471 @@ +libevent needs this config file to compile on Solaris. +In house patch. + +diff --a/include/event2/event-config.h b/include/event2/event-config.h +new file mode 100644 +--- /dev/null ++++ b/include/event2/event-config.h +@@ -0,0 +1,463 @@ ++/* event2/event-config.h ++ * ++ * This file was generated by autoconf when libevent was built, and post- ++ * processed by Libevent so that its macros would have a uniform prefix. ++ * ++ * DO NOT EDIT THIS FILE. ++ * ++ * Do not rely on macros in this file existing in later versions. ++ */ ++ ++#ifndef _EVENT2_EVENT_CONFIG_H_ ++#define _EVENT2_EVENT_CONFIG_H_ ++ ++/* config.h. Generated from config.h.in by configure. */ ++/* config.h.in. Generated from configure.in by autoheader. */ ++ ++/* Define if libevent should build without support for a debug mode */ ++/* #undef _EVENT_DISABLE_DEBUG_MODE */ ++ ++/* Define if libevent should not allow replacing the mm functions */ ++/* #undef _EVENT_DISABLE_MM_REPLACEMENT */ ++ ++/* Define if libevent should not be compiled with thread support */ ++/* #undef _EVENT_DISABLE_THREAD_SUPPORT */ ++ ++/* Define to 1 if you have the `arc4random' function. */ ++/* #undef _EVENT_HAVE_ARC4RANDOM */ ++ ++/* Define to 1 if you have the `arc4random_buf' function. */ ++/* #undef _EVENT_HAVE_ARC4RANDOM_BUF */ ++ ++/* Define to 1 if you have the header file. */ ++#define _EVENT_HAVE_ARPA_INET_H 1 ++ ++/* Define to 1 if you have the `clock_gettime' function. */ ++#define _EVENT_HAVE_CLOCK_GETTIME 1 ++ ++/* Define to 1 if you have the declaration of `CTL_KERN', and to 0 if you ++ don't. */ ++/* #undef _EVENT_HAVE_DECL_CTL_KERN */ ++ ++/* Define to 1 if you have the declaration of `KERN_ARND', and to 0 if you ++ don't. */ ++/* #undef _EVENT_HAVE_DECL_KERN_ARND */ ++ ++/* Define to 1 if you have the declaration of `KERN_RANDOM', and to 0 if you ++ don't. */ ++/* #undef _EVENT_HAVE_DECL_KERN_RANDOM */ ++ ++/* Define to 1 if you have the declaration of `RANDOM_UUID', and to 0 if you ++ don't. */ ++#define _EVENT_HAVE_DECL_RANDOM_UUID 1 ++ ++/* Define if /dev/poll is available */ ++#define _EVENT_HAVE_DEVPOLL 1 ++ ++/* Define to 1 if you have the header file. */ ++#define _EVENT_HAVE_DLFCN_H 1 ++ ++/* Define if your system supports the epoll system calls */ ++/* #undef _EVENT_HAVE_EPOLL */ ++ ++/* Define to 1 if you have the `epoll_ctl' function. */ ++/* #undef _EVENT_HAVE_EPOLL_CTL */ ++ ++/* Define to 1 if you have the `eventfd' function. */ ++/* #undef _EVENT_HAVE_EVENTFD */ ++ ++/* Define if your system supports event ports */ ++#define _EVENT_HAVE_EVENT_PORTS 1 ++ ++/* Define to 1 if you have the `fcntl' function. */ ++#define _EVENT_HAVE_FCNTL 1 ++ ++/* Define to 1 if you have the header file. */ ++#define _EVENT_HAVE_FCNTL_H 1 ++ ++/* Define to 1 if the system has the type `fd_mask'. */ ++#define _EVENT_HAVE_FD_MASK 1 ++ ++/* Do we have getaddrinfo()? */ ++#define _EVENT_HAVE_GETADDRINFO 1 ++ ++/* Define to 1 if you have the `getegid' function. */ ++#define _EVENT_HAVE_GETEGID 1 ++ ++/* Define to 1 if you have the `geteuid' function. */ ++#define _EVENT_HAVE_GETEUID 1 ++ ++/* Define this if you have any gethostbyname_r() */ ++/* #undef _EVENT_HAVE_GETHOSTBYNAME_R */ ++ ++/* Define this if gethostbyname_r takes 3 arguments */ ++/* #undef _EVENT_HAVE_GETHOSTBYNAME_R_3_ARG */ ++ ++/* Define this if gethostbyname_r takes 5 arguments */ ++/* #undef _EVENT_HAVE_GETHOSTBYNAME_R_5_ARG */ ++ ++/* Define this if gethostbyname_r takes 6 arguments */ ++/* #undef _EVENT_HAVE_GETHOSTBYNAME_R_6_ARG */ ++ ++/* Define to 1 if you have the `getnameinfo' function. */ ++#define _EVENT_HAVE_GETNAMEINFO 1 ++ ++/* Define to 1 if you have the `getprotobynumber' function. */ ++#define _EVENT_HAVE_GETPROTOBYNUMBER 1 ++ ++/* Define to 1 if you have the `getservbyname' function. */ ++/* #undef _EVENT_HAVE_GETSERVBYNAME */ ++ ++/* Define to 1 if you have the `gettimeofday' function. */ ++#define _EVENT_HAVE_GETTIMEOFDAY 1 ++ ++/* Define to 1 if you have the `inet_aton' function. */ ++#define _EVENT_HAVE_INET_ATON 1 ++ ++/* Define to 1 if you have the `inet_ntop' function. */ ++#define _EVENT_HAVE_INET_NTOP 1 ++ ++/* Define to 1 if you have the `inet_pton' function. */ ++#define _EVENT_HAVE_INET_PTON 1 ++ ++/* Define to 1 if you have the header file. */ ++#define _EVENT_HAVE_INTTYPES_H 1 ++ ++/* Define to 1 if you have the `issetugid' function. */ ++#define _EVENT_HAVE_ISSETUGID 1 ++ ++/* Define to 1 if you have the `kqueue' function. */ ++/* #undef _EVENT_HAVE_KQUEUE */ ++ ++/* Define if the system has zlib */ ++#define _EVENT_HAVE_LIBZ 1 ++ ++/* Define to 1 if you have the header file. */ ++#define _EVENT_HAVE_MEMORY_H 1 ++ ++/* Define to 1 if you have the `mmap' function. */ ++#define _EVENT_HAVE_MMAP 1 ++ ++/* Define to 1 if you have the header file. */ ++#define _EVENT_HAVE_NETDB_H 1 ++ ++/* Define to 1 if you have the header file. */ ++/* #undef _EVENT_HAVE_NETINET_IN6_H */ ++ ++/* Define to 1 if you have the header file. */ ++#define _EVENT_HAVE_NETINET_IN_H 1 ++ ++/* Define if the system has openssl */ ++#define _EVENT_HAVE_OPENSSL 1 ++ ++/* Define to 1 if you have the header file. */ ++#define _EVENT_HAVE_OPENSSL_BIO_H 1 ++ ++/* Define to 1 if you have the `pipe' function. */ ++#define _EVENT_HAVE_PIPE 1 ++ ++/* Define to 1 if you have the `poll' function. */ ++#define _EVENT_HAVE_POLL 1 ++ ++/* Define to 1 if you have the header file. */ ++#define _EVENT_HAVE_POLL_H 1 ++ ++/* Define to 1 if you have the `port_create' function. */ ++#define _EVENT_HAVE_PORT_CREATE 1 ++ ++/* Define to 1 if you have the header file. */ ++#define _EVENT_HAVE_PORT_H 1 ++ ++/* Define if you have POSIX threads libraries and header files. */ ++/* #undef _EVENT_HAVE_PTHREAD */ ++ ++/* Define if we have pthreads on this system */ ++#define _EVENT_HAVE_PTHREADS 1 ++ ++/* Define to 1 if you have the `putenv' function. */ ++#define _EVENT_HAVE_PUTENV 1 ++ ++/* Define to 1 if the system has the type `sa_family_t'. */ ++#define _EVENT_HAVE_SA_FAMILY_T 1 ++ ++/* Define to 1 if you have the `select' function. */ ++#define _EVENT_HAVE_SELECT 1 ++ ++/* Define to 1 if you have the `sendfile' function. */ ++#define _EVENT_HAVE_SENDFILE 1 ++ ++/* Define to 1 if you have the `setenv' function. */ ++#define _EVENT_HAVE_SETENV 1 ++ ++/* Define if F_SETFD is defined in */ ++#define _EVENT_HAVE_SETFD 1 ++ ++/* Define to 1 if you have the `sigaction' function. */ ++#define _EVENT_HAVE_SIGACTION 1 ++ ++/* Define to 1 if you have the `signal' function. */ ++#define _EVENT_HAVE_SIGNAL 1 ++ ++/* Define to 1 if you have the `splice' function. */ ++#define _EVENT_HAVE_SPLICE 1 ++ ++/* Define to 1 if you have the header file. */ ++#define _EVENT_HAVE_STDARG_H 1 ++ ++/* Define to 1 if you have the header file. */ ++#define _EVENT_HAVE_STDDEF_H 1 ++ ++/* Define to 1 if you have the header file. */ ++#define _EVENT_HAVE_STDINT_H 1 ++ ++/* Define to 1 if you have the header file. */ ++#define _EVENT_HAVE_STDLIB_H 1 ++ ++/* Define to 1 if you have the header file. */ ++#define _EVENT_HAVE_STRINGS_H 1 ++ ++/* Define to 1 if you have the header file. */ ++#define _EVENT_HAVE_STRING_H 1 ++ ++/* Define to 1 if you have the `strlcpy' function. */ ++#define _EVENT_HAVE_STRLCPY 1 ++ ++/* Define to 1 if you have the `strsep' function. */ ++#define _EVENT_HAVE_STRSEP 1 ++ ++/* Define to 1 if you have the `strtok_r' function. */ ++#define _EVENT_HAVE_STRTOK_R 1 ++ ++/* Define to 1 if you have the `strtoll' function. */ ++#define _EVENT_HAVE_STRTOLL 1 ++ ++/* Define to 1 if the system has the type `struct addrinfo'. */ ++#define _EVENT_HAVE_STRUCT_ADDRINFO 1 ++ ++/* Define to 1 if the system has the type `struct in6_addr'. */ ++#define _EVENT_HAVE_STRUCT_IN6_ADDR 1 ++ ++/* Define to 1 if `s6_addr16' is a member of `struct in6_addr'. */ ++/* #undef _EVENT_HAVE_STRUCT_IN6_ADDR_S6_ADDR16 */ ++ ++/* Define to 1 if `s6_addr32' is a member of `struct in6_addr'. */ ++/* #undef _EVENT_HAVE_STRUCT_IN6_ADDR_S6_ADDR32 */ ++ ++/* Define to 1 if the system has the type `struct sockaddr_in6'. */ ++#define _EVENT_HAVE_STRUCT_SOCKADDR_IN6 1 ++ ++/* Define to 1 if `sin6_len' is a member of `struct sockaddr_in6'. */ ++/* #undef _EVENT_HAVE_STRUCT_SOCKADDR_IN6_SIN6_LEN */ ++ ++/* Define to 1 if `sin_len' is a member of `struct sockaddr_in'. */ ++/* #undef _EVENT_HAVE_STRUCT_SOCKADDR_IN_SIN_LEN */ ++ ++/* Define to 1 if the system has the type `struct sockaddr_storage'. */ ++#define _EVENT_HAVE_STRUCT_SOCKADDR_STORAGE 1 ++ ++/* Define to 1 if `ss_family' is a member of `struct sockaddr_storage'. */ ++#define _EVENT_HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY 1 ++ ++/* Define to 1 if `__ss_family' is a member of `struct sockaddr_storage'. */ ++/* #undef _EVENT_HAVE_STRUCT_SOCKADDR_STORAGE___SS_FAMILY */ ++ ++/* Define to 1 if you have the `sysctl' function. */ ++/* #undef _EVENT_HAVE_SYSCTL */ ++ ++/* Define to 1 if you have the header file. */ ++#define _EVENT_HAVE_SYS_DEVPOLL_H 1 ++ ++/* Define to 1 if you have the header file. */ ++/* #undef _EVENT_HAVE_SYS_EPOLL_H 1 */ ++ ++/* Define to 1 if you have the header file. */ ++/* #define _EVENT_HAVE_SYS_EVENTFD_H 1 */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef _EVENT_HAVE_SYS_EVENT_H */ ++ ++/* Define to 1 if you have the header file. */ ++#define _EVENT_HAVE_SYS_IOCTL_H 1 ++ ++/* Define to 1 if you have the header file. */ ++#define _EVENT_HAVE_SYS_MMAN_H 1 ++ ++/* Define to 1 if you have the header file. */ ++#define _EVENT_HAVE_SYS_PARAM_H 1 ++ ++/* Define to 1 if you have the header file. */ ++#define _EVENT_HAVE_SYS_QUEUE_H 1 ++ ++/* Define to 1 if you have the header file. */ ++#define _EVENT_HAVE_SYS_SELECT_H 1 ++ ++/* Define to 1 if you have the header file. */ ++#define _EVENT_HAVE_SYS_SENDFILE_H 1 ++ ++/* Define to 1 if you have the header file. */ ++#define _EVENT_HAVE_SYS_SOCKET_H 1 ++ ++/* Define to 1 if you have the header file. */ ++#define _EVENT_HAVE_SYS_STAT_H 1 ++ ++/* Define to 1 if you have the header file. */ ++/* #undef _EVENT_HAVE_SYS_SYSCTL_H */ ++ ++/* Define to 1 if you have the header file. */ ++#define _EVENT_HAVE_SYS_TIME_H 1 ++ ++/* Define to 1 if you have the header file. */ ++#define _EVENT_HAVE_SYS_TYPES_H 1 ++ ++/* Define to 1 if you have the header file. */ ++#define _EVENT_HAVE_SYS_UIO_H 1 ++ ++/* Define to 1 if you have the header file. */ ++#define _EVENT_HAVE_SYS_WAIT_H 1 ++ ++/* Define if TAILQ_FOREACH is defined in */ ++#define _EVENT_HAVE_TAILQFOREACH 1 ++ ++/* Define if timeradd is defined in */ ++#define _EVENT_HAVE_TIMERADD 1 ++ ++/* Define if timerclear is defined in */ ++#define _EVENT_HAVE_TIMERCLEAR 1 ++ ++/* Define if timercmp is defined in */ ++#define _EVENT_HAVE_TIMERCMP 1 ++ ++/* Define if timerisset is defined in */ ++#define _EVENT_HAVE_TIMERISSET 1 ++ ++/* Define to 1 if the system has the type `uint16_t'. */ ++#define _EVENT_HAVE_UINT16_T 1 ++ ++/* Define to 1 if the system has the type `uint32_t'. */ ++#define _EVENT_HAVE_UINT32_T 1 ++ ++/* Define to 1 if the system has the type `uint64_t'. */ ++#define _EVENT_HAVE_UINT64_T 1 ++ ++/* Define to 1 if the system has the type `uint8_t'. */ ++#define _EVENT_HAVE_UINT8_T 1 ++ ++/* Define to 1 if the system has the type `uintptr_t'. */ ++#define _EVENT_HAVE_UINTPTR_T 1 ++ ++/* Define to 1 if you have the `umask' function. */ ++#define _EVENT_HAVE_UMASK 1 ++ ++/* Define to 1 if you have the header file. */ ++#define _EVENT_HAVE_UNISTD_H 1 ++ ++/* Define to 1 if you have the `unsetenv' function. */ ++#define _EVENT_HAVE_UNSETENV 1 ++ ++/* Define to 1 if you have the `vasprintf' function. */ ++#define _EVENT_HAVE_VASPRINTF 1 ++ ++/* Define if kqueue works correctly with pipes */ ++/* #undef _EVENT_HAVE_WORKING_KQUEUE */ ++ ++/* Define to 1 if you have the header file. */ ++#define _EVENT_HAVE_ZLIB_H 1 ++ ++/* Define to the sub-directory in which libtool stores uninstalled libraries. ++ */ ++#define _EVENT_LT_OBJDIR ".libs/" ++ ++/* Define to 1 if your C compiler doesn't accept -c and -o together. */ ++/* #undef _EVENT_NO_MINUS_C_MINUS_O */ ++ ++/* Numeric representation of the version */ ++#define _EVENT_NUMERIC_VERSION 0x02001600 ++ ++/* Name of package */ ++#define _EVENT_PACKAGE "libevent" ++ ++/* Define to the address where bug reports for this package should be sent. */ ++#define _EVENT_PACKAGE_BUGREPORT "" ++ ++/* Define to the full name of this package. */ ++#define _EVENT_PACKAGE_NAME "" ++ ++/* Define to the full name and version of this package. */ ++#define _EVENT_PACKAGE_STRING "" ++ ++/* Define to the one symbol short name of this package. */ ++#define _EVENT_PACKAGE_TARNAME "" ++ ++/* Define to the home page for this package. */ ++#define _EVENT_PACKAGE_URL "" ++ ++/* Define to the version of this package. */ ++#define _EVENT_PACKAGE_VERSION "" ++ ++/* Define to necessary symbol if this constant uses a non-standard name on ++ your system. */ ++/* #undef _EVENT_PTHREAD_CREATE_JOINABLE */ ++ ++/* The size of `int', as computed by sizeof. */ ++#define _EVENT_SIZEOF_INT 4 ++ ++/* The size of `long', as computed by sizeof. */ ++#define _EVENT_SIZEOF_LONG 4 ++ ++/* The size of `long long', as computed by sizeof. */ ++#define _EVENT_SIZEOF_LONG_LONG 8 ++ ++/* The size of `pthread_t', as computed by sizeof. */ ++#define _EVENT_SIZEOF_PTHREAD_T 4 ++ ++/* The size of `short', as computed by sizeof. */ ++#define _EVENT_SIZEOF_SHORT 2 ++ ++/* The size of `size_t', as computed by sizeof. */ ++#ifdef _LP64 ++#define _EVENT_SIZEOF_SIZE_T 8 ++#else ++#define _EVENT_SIZEOF_SIZE_T 4 ++#endif ++ ++/* The size of `void *', as computed by sizeof. */ ++#ifdef _LP64 ++#define _EVENT_SIZEOF_VOID_P 8 ++#else ++#define _EVENT_SIZEOF_VOID_P 4 ++#endif ++ ++/* Define to 1 if you have the ANSI C header files. */ ++#define _EVENT_STDC_HEADERS 1 ++ ++/* Define to 1 if you can safely include both and . */ ++#define _EVENT_TIME_WITH_SYS_TIME 1 ++ ++/* Version number of package */ ++#define _EVENT_VERSION "2.0.22-stable" ++ ++/* Define to appropriate substitue if compiler doesnt have __func__ */ ++/* #undef _EVENT___func__ */ ++ ++/* Define to empty if `const' does not conform to ANSI C. */ ++/* #undef _EVENT_const */ ++ ++/* Define to `__inline__' or `__inline' if that's what the C compiler ++ calls it, or to nothing if 'inline' is not supported under any name. */ ++#ifndef _EVENT___cplusplus ++/* #undef _EVENT_inline */ ++#endif ++ ++/* Define to `int' if does not define. */ ++/* #undef _EVENT_pid_t */ ++ ++/* Define to `unsigned int' if does not define. */ ++/* #undef _EVENT_size_t */ ++ ++/* Define to unsigned int if you dont have it */ ++/* #undef _EVENT_socklen_t */ ++ ++/* Define to `int' if does not define. */ ++/* #undef _EVENT_ssize_t */ ++ ++#endif /* event2/event-config.h */ diff -r 1e847165fde2 -r cf3796081ab1 components/libevent/patches/event.3.patch --- a/components/libevent/patches/event.3.patch Wed May 04 14:21:51 2016 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,969 +0,0 @@ ---- libevent-1.4.14b-stable/event.3 po lis 21 06:43:10 2011 -+++ libevent-1.4.14b-stable/event.3 po lis 21 09:31:12 2011 -@@ -26,527 +26,528 @@ - .\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - .\" ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - .\" --.Dd August 8, 2000 --.Dt EVENT 3 --.Os --.Sh NAME --.Nm event_init , --.Nm event_dispatch , --.Nm event_loop , --.Nm event_loopexit , --.Nm event_loopbreak , --.Nm event_set , --.Nm event_base_dispatch , --.Nm event_base_loop , --.Nm event_base_loopexit , --.Nm event_base_loopbreak , --.Nm event_base_set , --.Nm event_base_free , --.Nm event_add , --.Nm event_del , --.Nm event_once , --.Nm event_base_once , --.Nm event_pending , --.Nm event_initialized , --.Nm event_priority_init , --.Nm event_priority_set , --.Nm evtimer_set , --.Nm evtimer_add , --.Nm evtimer_del , --.Nm evtimer_pending , --.Nm evtimer_initialized , --.Nm signal_set , --.Nm signal_add , --.Nm signal_del , --.Nm signal_pending , --.Nm signal_initialized , --.Nm bufferevent_new , --.Nm bufferevent_free , --.Nm bufferevent_write , --.Nm bufferevent_write_buffer , --.Nm bufferevent_read , --.Nm bufferevent_enable , --.Nm bufferevent_disable , --.Nm bufferevent_settimeout , --.Nm bufferevent_base_set , --.Nm evbuffer_new , --.Nm evbuffer_free , --.Nm evbuffer_add , --.Nm evbuffer_add_buffer , --.Nm evbuffer_add_printf , --.Nm evbuffer_add_vprintf , --.Nm evbuffer_drain , --.Nm evbuffer_write , --.Nm evbuffer_read , --.Nm evbuffer_find , --.Nm evbuffer_readline , --.Nm evhttp_new , --.Nm evhttp_bind_socket , --.Nm evhttp_free --.Nd execute a function when a specific event occurs --.Sh SYNOPSIS --.Fd #include --.Fd #include --.Ft "struct event_base *" --.Fn "event_init" "void" --.Ft int --.Fn "event_dispatch" "void" --.Ft int --.Fn "event_loop" "int flags" --.Ft int --.Fn "event_loopexit" "struct timeval *tv" --.Ft int --.Fn "event_loopbreak" "void" --.Ft void --.Fn "event_set" "struct event *ev" "int fd" "short event" "void (*fn)(int, short, void *)" "void *arg" --.Ft int --.Fn "event_base_dispatch" "struct event_base *base" --.Ft int --.Fn "event_base_loop" "struct event_base *base" "int flags" --.Ft int --.Fn "event_base_loopexit" "struct event_base *base" "struct timeval *tv" --.Ft int --.Fn "event_base_loopbreak" "struct event_base *base" --.Ft int --.Fn "event_base_set" "struct event_base *base" "struct event *" --.Ft void --.Fn "event_base_free" "struct event_base *base" --.Ft int --.Fn "event_add" "struct event *ev" "struct timeval *tv" --.Ft int --.Fn "event_del" "struct event *ev" --.Ft int --.Fn "event_once" "int fd" "short event" "void (*fn)(int, short, void *)" "void *arg" "struct timeval *tv" --.Ft int --.Fn "event_base_once" "struct event_base *base" "int fd" "short event" "void (*fn)(int, short, void *)" "void *arg" "struct timeval *tv" --.Ft int --.Fn "event_pending" "struct event *ev" "short event" "struct timeval *tv" --.Ft int --.Fn "event_initialized" "struct event *ev" --.Ft int --.Fn "event_priority_init" "int npriorities" --.Ft int --.Fn "event_priority_set" "struct event *ev" "int priority" --.Ft void --.Fn "evtimer_set" "struct event *ev" "void (*fn)(int, short, void *)" "void *arg" --.Ft void --.Fn "evtimer_add" "struct event *ev" "struct timeval *" --.Ft void --.Fn "evtimer_del" "struct event *ev" --.Ft int --.Fn "evtimer_pending" "struct event *ev" "struct timeval *tv" --.Ft int --.Fn "evtimer_initialized" "struct event *ev" --.Ft void --.Fn "signal_set" "struct event *ev" "int signal" "void (*fn)(int, short, void *)" "void *arg" --.Ft void --.Fn "signal_add" "struct event *ev" "struct timeval *" --.Ft void --.Fn "signal_del" "struct event *ev" --.Ft int --.Fn "signal_pending" "struct event *ev" "struct timeval *tv" --.Ft int --.Fn "signal_initialized" "struct event *ev" --.Ft "struct bufferevent *" --.Fn "bufferevent_new" "int fd" "evbuffercb readcb" "evbuffercb writecb" "everrorcb" "void *cbarg" --.Ft void --.Fn "bufferevent_free" "struct bufferevent *bufev" --.Ft int --.Fn "bufferevent_write" "struct bufferevent *bufev" "void *data" "size_t size" --.Ft int --.Fn "bufferevent_write_buffer" "struct bufferevent *bufev" "struct evbuffer *buf" --.Ft size_t --.Fn "bufferevent_read" "struct bufferevent *bufev" "void *data" "size_t size" --.Ft int --.Fn "bufferevent_enable" "struct bufferevent *bufev" "short event" --.Ft int --.Fn "bufferevent_disable" "struct bufferevent *bufev" "short event" --.Ft void --.Fn "bufferevent_settimeout" "struct bufferevent *bufev" "int timeout_read" "int timeout_write" --.Ft int --.Fn "bufferevent_base_set" "struct event_base *base" "struct bufferevent *bufev" --.Ft "struct evbuffer *" --.Fn "evbuffer_new" "void" --.Ft void --.Fn "evbuffer_free" "struct evbuffer *buf" --.Ft int --.Fn "evbuffer_add" "struct evbuffer *buf" "const void *data" "size_t size" --.Ft int --.Fn "evbuffer_add_buffer" "struct evbuffer *dst" "struct evbuffer *src" --.Ft int --.Fn "evbuffer_add_printf" "struct evbuffer *buf" "const char *fmt" "..." --.Ft int --.Fn "evbuffer_add_vprintf" "struct evbuffer *buf" "const char *fmt" "va_list ap" --.Ft void --.Fn "evbuffer_drain" "struct evbuffer *buf" "size_t size" --.Ft int --.Fn "evbuffer_write" "struct evbuffer *buf" "int fd" --.Ft int --.Fn "evbuffer_read" "struct evbuffer *buf" "int fd" "int size" --.Ft "u_char *" --.Fn "evbuffer_find" "struct evbuffer *buf" "const u_char *data" "size_t size" --.Ft "char *" --.Fn "evbuffer_readline" "struct evbuffer *buf" --.Ft "struct evhttp *" --.Fn "evhttp_new" "struct event_base *base" --.Ft int --.Fn "evhttp_bind_socket" "struct evhttp *http" "const char *address" "u_short port" --.Ft "void" --.Fn "evhttp_free" "struct evhttp *http" --.Ft int --.Fa (*event_sigcb)(void) ; --.Ft volatile sig_atomic_t --.Fa event_gotsig ; --.Sh DESCRIPTION -+.TH EVENT 3 "21 November 2011" "libevent 1.4.14b" "libevent Manual" -+.SH NAME -+event_init, -+event_dispatch, -+event_loop, -+event_loopexit, -+event_loopbreak, -+event_set, -+event_base_dispatch, -+event_base_loop, -+event_base_loopexit, -+event_base_loopbreak, -+event_base_set, -+event_base_free, -+event_add, -+event_del, -+event_once, -+event_base_once, -+event_pending, -+event_initialized, -+event_priority_init, -+event_priority_set, -+evtimer_set, -+evtimer_add, -+evtimer_del, -+evtimer_pending, -+evtimer_initialized, -+signal_set, -+signal_add, -+signal_del, -+signal_pending, -+signal_initialized, -+bufferevent_new, -+bufferevent_free, -+bufferevent_write, -+bufferevent_write_buffer, -+bufferevent_read, -+bufferevent_enable, -+bufferevent_disable, -+bufferevent_settimeout, -+bufferevent_base_set, -+evbuffer_new, -+evbuffer_free, -+evbuffer_add, -+evbuffer_add_buffer, -+evbuffer_add_printf, -+evbuffer_add_vprintf, -+evbuffer_drain, -+evbuffer_write, -+evbuffer_read, -+evbuffer_find, -+evbuffer_readline, -+evhttp_new, -+evhttp_bind_socket, -+evhttp_free -+\- execute a function when a specific event occurs -+.SH LIBRARY -+The libevent library (libevent, -levent) -+.br -+.SH SYNOPSIS -+.LP -+.nf -+\fB#include \fP -+\fB#include \fP -+ -+\fBstruct event_base* \fBevent_init\fR\fR(\fBvoid\fP\fR); -+ -+\fBint \fBevent_dispatch\fR\fR(\fBvoid\fP\fR); -+ -+\fBint \fBevent_loop\fR\fR(\fBint \fIflags\fP\fR); -+ -+\fBint \fBevent_loopexit\fR\fR(\fBstruct timeval* \fItv\fP\fR); -+ -+\fBint \fBevent_loopbreak\fR\fR(\fBvoid\fP\fR); -+ -+\fBvoid \fBevent_set\fR\fR(\fBstruct event* \fIev\fP\fR, \fBint \fIfd \fP\fR, \fBshort \fIevent\fP\fR, \fBvoid \fI(*fn)(\fBint, short, void *\fP\fR), \fBvoid* \fIarg\fP\fR); -+ -+\fBint \fBevent_base_dispatch\fR\fR(\fBstruct event_base* \fIbase\fP\fR); -+ -+\fBint \fBevent_base_loop\fR\fR(\fBstruct event_base* \fIbase\fP\fR, \fBint \fIflags\fP\fR); -+ -+\fBint \fBevent_base_loopexit\fR\fR(\fBstruct event_base* \fIbase\fP\fR, \fBstruct timeval* \fItv\fP\fR); -+ -+\fBint \fBevent_base_loopbreak\fR\fR(\fBstruct event_base* \fIbase\fP\fR); -+ -+\fBint \fBevent_base_set\fR\fR(\fBstruct event_base* \fIbase\fP\fR, \fBstruct event* \fIev\fP\fR); -+ -+\fBvoid \fBevent_base_free\fR\fR(\fBstruct event_base* \fIbase\fP\fR); -+ -+\fBint \fBevent_add\fR\fR(\fBstruct event* \fIev\fP\fR, \fBstruct timeval* \fItv\fP\fR); -+ -+.\fBint \fBevent_del\fR\fR(struct event* \fIev\fP\fR); -+ -+\fBint \fBevent_once\fR\fR(\fBint \fIfd\fP\fR, \fBshort \fIevent\fP\fR, \fBvoid \fI(*fn)(\fBint, short, void*\fB\fR), \fBstruct timeval* \fItv\fP\fR); -+ -+\fBint \fBevent_base_once\fR\fR(\fBstruct event_base* \fIbase\fP\fR, \fBint \fIfd\fB\fR, \fBshort \fIevent\fB\fR, \fBvoid \fI(*fn)(\fBint, short, void*\fB\fR), \fBvoid* \fIarg\fB\fR, \fBstruct timeval* \fItv\fP\fR); -+ -+\fBint \fBevent_pending\fR\fR(\fBstruct event* \fIev\fP\fR, \fBshort \fIevent\fB\fR, \fBstruct timeval* \fItv\fP\fR); -+ -+\fBint \fBevent_initialized\fR\fR(\fBstruct event* \fIev\fP\fR); -+ -+\fBint \fBevent_priority_init\fR\fR (\fBint \fInpriorities\fP\fR); -+ -+\fBint \fBevent_priority_set\fR\fR (\fBstruct event* \fIev\fP\fR, \fBint \fIpriority\fP\fR); -+ -+\fBvoid \fBevtimer_set\fR\fR (\fBstruct event* \fIev\fP\fR, \fBvoid \fI(*fn)(\fBint, short, void*\fB\fR), \fBvoid* \fIarg\fP\fR); -+ -+\fBvoid \fBevtimer_add\fR\fR (\fBstruct event* \fIev\fP\fR, \fBstruct timeval* \fItv\fP\fR); -+ -+\fBvoid \fBevtimer_del\fR\fR (\fBstruct event* \fIev\fP\fR); -+ -+\fBint \fBevtimer_pending\fR\fR (\fBstruct event* \fIev\fP\fR, \fBstruct timeval* \fItv\fP\fR); -+ -+\fBint \fBevtimer_initialized\fR\fR(\fBstruct event* \fIev\fP\fR); -+ -+\fBvoid \fBsignal_set\fR\fR (\fBstruct event* \fIev\fP\fR, \fBint \fIsignal\fP\fR, \fBvoid \fI(*fn)(\fBint, short, void*\fP\fR), \fBvoid* \fIarg\fP\fR); -+ -+\fBvoid \fBsignal_add\fR\fR (\fBstruct event* \fIev\fP\fR, \fBstruct timeval* \fItv\fP\fR); -+ -+\fBvoid \fBsignal_del\fR\fR (\fBstruct event* \fIev\fP\fR); -+ -+\fBint \fBsignal_pending\fR\fR(\fBstruct event* \fIev\fP\fR, \fBstruct timeval* \fItv\fP\fR); -+ -+\fBint \fBsignal_initialized\fR\fR(\fBstruct event* \fIev\fP\fR); -+ -+\fBstruct bufferevent* \fBbufferevent_new\fR\fR(\fBint \fIfd\fP\fR, \fBevbuffercb \fIreadcb\fP\fR, \fBevbuffercb \fIwritecb\fP\fR, \fBeverrorcb \fIerrorcb\fP\fR, \fBvoid* \fIcbarg\fP\fR); -+ -+\fBvoid \fBbufferevent_free\fR\fR(\fBstruct bufferevent* \fIbufev\fP\fR); -+ -+\fBint \fBbufferevent_write\fR\fR(\fBstruct bufferevent* \fIbufev\fP\fR, \fBvoid* \fIdata\fP\fR, \fBsize_t \fIsize\fP\fR); -+ -+\fBint \fBbufferevent_write_buffer\fR\fR(\fBstruct bufferevent* \fIbufev\fP\fR, \fBstruct evbuffer* \fIbuf\fP\fR); -+ -+\fBsize_t \fBbufferevent_read\fR\fR(\fBstruct bufferevent* \fIbufev\fP\fR, \fBvoid* \fIdata\fP\fR, \fBsize_t \fIsize\fP\fR); -+ -+\fBint \fBbufferevent_enable\fR\fR(\fBstruct bufferevent* \fIbufev\fP\fR, \fBshort \fIevent\fP\fR); -+ -+\fBint \fBbufferevent_disable\fR\fR(\fBstruct bufferevent* \fIbufev\fP\fR, \fBshort \fIeven\fP\fR); -+ -+\fBvoid \fBbufferevent_settimeout\fR\fR(\fBstruct bufferevent* \fIbufev\fP\fR, \fBint \fItimeout_read\fP\fR, \fBint \fItimeout_write\fP\fR); -+ -+\fBint \fBbufferevent_base_set\fR\fR(\fBstruct event_base* \fIbase\fP\fR, \fBstruct bufferevent* \fIbufev\fP\fR); -+ -+\fBstruct evbuffer* \fBevbuffer_new (\fBvoid\fP\fR); -+ -+\fBvoid \fBevbuffer_free\fR\fR(\fBstruct evbuffer* \fIbuf\fP\fR); -+ -+\fBint \fBevbuffer_add\fR\fR(\fBstruct evbuffer* \fIbuf\fP\fR, \fBconst void* \fIdata\fP\fR, \fBsize_t \fIsize\fP\fR); -+ -+\fBint \fBevbuffer_add_buffer\fR\fR(\fBstruct evbuffer* \fIdst\fP\fR, \fBstruct evbuffer* \fIsrc\fP\fR); -+ -+\fBint \fBevbuffer_add_printf\fR\fR(\fBstruct evbuffer* \fIbuf\fP\fR, \fBconst char* \fIfmt\fP\fR, \fB...\fP\fR); -+ -+\fBint \fBevbuffer_add_vprintf\fR\fR(\fBstruct evbuffer* \fIbuf\fP\fR, \fBconst char* \fIfmt\fP\fR, \fBva_list \fIap\fP\fR); -+ -+\fBvoid \fBevbuffer_drain\fR\fR(\fBstruct evbuffer* \fIbuf\fP\fR, \fBsize_t \fIsize\fP\fR); -+ -+\fBint \fBevbuffer_write\fR\fR(\fBstruct evbuffer* \fIbuf\fP\fR, \fBint \fIfd\fP\fR); -+ -+\fBint \fBevbuffer_read\fR\fR(\fBstruct evbuffer* \fIbuf\fP\fR, \fBint \fIfd\fP\fR, \fBint \fIsize\fP\fR); -+ -+\fBu_char* \fBevbuffer_find\fR\fR(\fBstruct evbuffer* \fIbuf\fP\fR, \fBconst u_char* \fIdata\fP\fR, \fBsize_t \fIsize\fP\fR); -+ -+\fBchar* \fBevbuffer_readline\fR\fR(\fBstruct evbuffer* \fIbuf\fP\fR); -+ -+\fBstruct evhttp * \fBevhttp_new\fR\fR(\fBstruct event_base* \fIbase\fP\fR); -+ -+\fBint \fBevhttp_bind_socket\fR\fR(\fBstruct evhttp* \fIhttp\fP\fR, \fBconst char* \fIaddress\fP\fR, \fBu_short \fIport\fP\fR); -+ -+\fBvoid \fBevhttp_free\fR\fR(\fBstruct evhttp* \fIhttp\fP\fR); -+ -+\fBint \fI(*event_sigcb)\fP\fR\fI(\fBvoid\fP\fR); -+ -+\fBvolatile sig_atomic_t \fR\fRevent_gotsig\fP\fR; -+.fi -+ -+.SH DESCRIPTION - The --.Nm event -+\fIevent\fP\fR - API provides a mechanism to execute a function when a specific event - on a file descriptor occurs or after a given time has passed. --.Pp -+.PP - The --.Nm event -+\fIevent\fP\fR - API needs to be initialized with --.Fn event_init -+\fBevent_init\fR - before it can be used. --.Pp -+.PP - In order to process events, an application needs to call --.Fn event_dispatch . -+\fBevent_dispatch\fP\fR. - This function only returns on error, and should replace the event core - of the application program. --.Pp -+.PP - The function --.Fn event_set -+\fBevent_set\fP\fR - prepares the event structure --.Fa ev -+\fIev\fP\fR - to be used in future calls to --.Fn event_add -+\fBevent_add\fP\fR - and --.Fn event_del . -+\fBevent_del\fP\fR . - The event will be prepared to call the function specified by the --.Fa fn -+\fIfn\fP\fR - argument with an --.Fa int -+\fIint\fP\fR - argument indicating the file descriptor, a --.Fa short -+\fIshort\fP\fR - argument indicating the type of event, and a --.Fa void * -+\fIvoid*\fP\fR - argument given in the --.Fa arg -+\fIarg\fP\fR - argument. - The --.Fa fd -+The \fIfd\fP\fR - indicates the file descriptor that should be monitored for events. --The events can be either --.Va EV_READ , --.Va EV_WRITE , --or both, -+The events can be either EV_READ, EV_WRITE , or both, - indicating that an application can read or write from the file descriptor - respectively without blocking. --.Pp -+.PP - The function --.Fa fn -+\fIfn\fP\fR - will be called with the file descriptor that triggered the event and - the type of event which will be either --.Va EV_TIMEOUT , --.Va EV_SIGNAL , --.Va EV_READ , -+EV_TIMEOUT, -+EV_SIGNAL, -+EV_READ, - or --.Va EV_WRITE . -+EV_WRITE. - Additionally, an event which has registered interest in more than one of the - preceeding events, via bitwise-OR to --.Fn event_set , -+\fBevent_set\fP\fR, - can provide its callback function with a bitwise-OR of more than one triggered - event. - The additional flag --.Va EV_PERSIST -+EV_PERSIST - makes an --.Fn event_add -+\fBevent_add\fP\fR - persistent until --.Fn event_del -+\fBevent_del\fP\fR - has been called. --.Pp -+.PP - Once initialized, the --.Fa ev -+\fIev\fP\fR - structure can be used repeatedly with --.Fn event_add -+\fBevent_add\fP\fR - and --.Fn event_del -+\fBevent_del\fP\fR - and does not need to be reinitialized unless the function called and/or - the argument to it are to be changed. - However, when an --.Fa ev -+\fIev\fP\fR - structure has been added to libevent using --.Fn event_add -+\fBevent_add\fP\fR - the structure must persist until the event occurs (assuming --.Fa EV_PERSIST -+EV_PERSIST - is not set) or is removed - using --.Fn event_del . -+\fBevent_del\fP\fR. - You may not reuse the same --.Fa ev -+\fIev\fP\fR - structure for multiple monitored descriptors; each descriptor - needs its own --.Fa ev . --.Pp -+\fIev\fP\fR. -+.PP - The function --.Fn event_add -+\fBevent_add\fP\fR - schedules the execution of the --.Fa ev -+\fIev\fP\fR - event when the event specified in --.Fn event_set -+\fBevent_set\fP\fR - occurs or in at least the time specified in the --.Fa tv . -+\fItv\fP\fR - If --.Fa tv -+\fItv\fP\fR - is --.Dv NULL , -+\fINULL\fP\fR, - no timeout occurs and the function will only be called - if a matching event occurs on the file descriptor. - The event in the --.Fa ev -+\fIev\fP\fR - argument must be already initialized by --.Fn event_set -+\fBevent_set\fP\fR - and may not be used in calls to --.Fn event_set -+\fBevent_set\fP\fR - until it has timed out or been removed with --.Fn event_del . -+\fBevent_del\fP\fR. - If the event in the --.Fa ev -+\fIev\fP\fR - argument already has a scheduled timeout, the old timeout will be - replaced by the new one. --.Pp -+.PP - The function --.Fn event_del -+\fBevent_del\fP\fR - will cancel the event in the argument --.Fa ev . -+\fIev\fP\fR. - If the event has already executed or has never been added - the call will have no effect. --.Pp -+.PP - The functions --.Fn evtimer_set , --.Fn evtimer_add , --.Fn evtimer_del , --.Fn evtimer_initialized , -+\fBevtimer_set\fP\fR, -+\fBevtimer_add\fP\fR, -+\fBevtimer_del\fP\fR, -+\fBevtimer_initialized\fP\fR, - and --.Fn evtimer_pending -+\fBevtimer_pending\fP\fR - are abbreviations for common situations where only a timeout is required. - The file descriptor passed will be \-1, and the event type will be --.Va EV_TIMEOUT . --.Pp -+EV_TIMEOUT. -+.PP - The functions --.Fn signal_set , --.Fn signal_add , --.Fn signal_del , --.Fn signal_initialized , -+\fBsignal_set\fP\fR, -+\fBsignal_add\fP\fR, -+\fBsignal_del\fP\fR, -+\fBsignal_initialized\fP\fR, - and --.Fn signal_pending -+\fBsignal_pending\fP\fR - are abbreviations. - The event type will be a persistent --.Va EV_SIGNAL . -+EV_SIGNAL . - That means --.Fn signal_set -+\fBsignal_set\fP\fR - adds --.Va EV_PERSIST . --.Pp -+EV_PERSIST. -+.PP - In order to avoid races in signal handlers, the --.Nm event -+\fIevent\fP\fR - API provides two variables: --.Va event_sigcb -+\fBevent_sigcb\fP\fR - and --.Va event_gotsig . -+\fBevent_gotsig\fP\fR. - A signal handler - sets --.Va event_gotsig -+\fBevent_gotsig\fP\fR - to indicate that a signal has been received. - The application sets --.Va event_sigcb -+\fBevent_sigcb\fP\fR - to a callback function. - After the signal handler sets --.Va event_gotsig , --.Nm event_dispatch -+\fBevent_gotsig\fP\fR, -+\fBevent_dispatch()\fP\fR - will execute the callback function to process received signals. - The callback returns 1 when no events are registered any more. - It can return \-1 to indicate an error to the --.Nm event -+\fIevent\fP\fR - library, causing --.Fn event_dispatch -+\fBevent_dispatch\fP\fR - to terminate with --.Va errno -+\fBerrno\fP\fR - set to --.Er EINTR . --.Pp -+\fBEINTR\fP\fR. -+.PP - The function --.Fn event_once -+\fBevent_once\fP\fR - is similar to --.Fn event_set . -+\fBevent_set\fP\fR. - However, it schedules a callback to be called exactly once and does not - require the caller to prepare an --.Fa event -+\fIevent\fP\fR - structure. - This function supports --.Fa EV_TIMEOUT , --.Fa EV_READ , -+EV_TIMEOUT, -+EV_READ, - and --.Fa EV_WRITE . --.Pp -+EV_WRITE. -+.PP - The - .Fn event_pending -+\fBevent_pending\fP\fR - function can be used to check if the event specified by --.Fa event -+\fIevent\fP\fR - is pending to run. - If --.Va EV_TIMEOUT -+EV_TIMEOUT - was specified and --.Fa tv -+\fItv\fP\fR - is not --.Dv NULL , -+\fINULL\fP\fR, - the expiration time of the event will be returned in --.Fa tv . --.Pp -+\fItv\fP\fR. -+.PP - The --.Fn event_initialized -+\fBevent_initialized\fP\fR - macro can be used to check if an event has been initialized. --.Pp -+.PP - The --.Nm event_loop -+\fBevent_loop\fP\fR - function provides an interface for single pass execution of pending - events. - The flags --.Va EVLOOP_ONCE -+EVLOOP_ONCE - and --.Va EVLOOP_NONBLOCK -+EVLOOP_NONBLOCK - are recognized. - The --.Nm event_loopexit -+\fBevent_loopexit\fP\fR - function exits from the event loop. The next --.Fn event_loop -+\fBevent_loop\fP\fR - iteration after the - given timer expires will complete normally (handling all queued events) then - exit without blocking for events again. Subsequent invocations of --.Fn event_loop -+\fBevent_loop\fP\fR - will proceed normally. - The --.Nm event_loopbreak -+\fBevent_loopbreak\fP\fR - function exits from the event loop immediately. --.Fn event_loop -+\fBevent_loop\fP\fR - will abort after the next event is completed; --.Fn event_loopbreak -+\fBevent_loopbreak\fP\fR - is typically invoked from this event's callback. This behavior is analogous - to the "break;" statement. Subsequent invocations of --.Fn event_loop -+\fBevent_loop\fP\fR - will proceed normally. --.Pp -+.PP - It is the responsibility of the caller to provide these functions with - pre-allocated event structures. --.Pp --.Sh EVENT PRIORITIES -+.PP -+.SH EVENT PRIORITIES - By default --.Nm libevent -+\fIlibevent\fP\fR - schedules all active events with the same priority. - However, sometimes it is desirable to process some events with a higher - priority than others. - For that reason, --.Nm libevent -+\fIlibevent\fP\fR - supports strict priority queues. - Active events with a lower priority are always processed before events - with a higher priority. --.Pp -+.PP - The number of different priorities can be set initially with the --.Fn event_priority_init -+\fBevent_priority_init\fP\fR - function. - This function should be called before the first call to --.Fn event_dispatch . -+\fBevent_dispatch\fP\fR. - The --.Fn event_priority_set -+\fBevent_priority_set\fP\fR - function can be used to assign a priority to an event. - By default, --.Nm libevent -+\fIlibevent\fP\fR - assigns the middle priority to all events unless their priority - is explicitly set. --.Sh THREAD SAFE EVENTS --.Nm Libevent -+.SH THREAD SAFE EVENTS -+\fIlibevent\fP\fR - has experimental support for thread-safe events. - When initializing the library via - .Fn event_init , - an event base is returned. - This event base can be used in conjunction with calls to --.Fn event_base_set , --.Fn event_base_dispatch , --.Fn event_base_loop , --.Fn event_base_loopexit , --.Fn bufferevent_base_set -+\fBevent_base_set()\fP\fR, -+\fBevent_base_dispatch()\fP\fR, -+\fBevent_base_loop()\fP\fR, -+\fBevent_base_loopexit()\fP\fR, -+\fBbufferevent_base_set()\fP\fR - and --.Fn event_base_free . --.Fn event_base_set -+\fBevent_base_free()\fP\fR. -+\fBevent_base_set()\fP\fR - should be called after preparing an event with --.Fn event_set , -+\fBevent_set()\fP\fR, - as --.Fn event_set -+\fBevent_set()\fP\fR, - assigns the provided event to the most recently created event base. --.Fn bufferevent_base_set -+\fBbufferevent_base_set()\fP\fR - should be called after preparing a bufferevent with --.Fn bufferevent_new . --.Fn event_base_free -+\fBbufferevent_new()\fP\fR. -+\fBevent_base_free()\fP\fR - should be used to free memory associated with the event base - when it is no longer needed. --.Sh BUFFERED EVENTS --.Nm libevent -+.SH BUFFERED EVENTS -+\fIlibevent\fP\fR - provides an abstraction on top of the regular event callbacks. - This abstraction is called a --.Va "buffered event" . -+\fB"buffered event"\fP\fR. - A buffered event provides input and output buffers that get filled - and drained automatically. - The user of a buffered event no longer deals directly with the IO, - but instead is reading from input and writing to output buffers. --.Pp -+.PP - A new bufferevent is created by --.Fn bufferevent_new . -+\fBbufferevent_new()\fP\fR. - The parameter --.Fa fd -+\fIfd\fP\fR - specifies the file descriptor from which data is read and written to. - This file descriptor is not allowed to be a --.Xr pipe 2 . -+\fBpipe(2)\fR. - The next three parameters are callbacks. - The read and write callback have the following form: --.Ft void --.Fn "(*cb)" "struct bufferevent *bufev" "void *arg" . -+\fBvoid \fB(*cb)\fR\fR(\fBstruct bufferevent* \fIbufev\fP\fR, \fBvoid* \fIarg\fP\fR). - The error callback has the following form: --.Ft void --.Fn "(*cb)" "struct bufferevent *bufev" "short what" "void *arg" . -+\fBvoid \fB(*cb)\fR\fR(\fBstruct bufferevent* \fIbufev\fP\fR, \fBshort \fIwhat\fP\fR, \fBvoid* \fIarg\fP\fR). - The argument is specified by the fourth parameter --.Fa "cbarg" . -+\fBcbarg\fP\fR. - A --.Fa bufferevent struct --pointer is returned on success, NULL on error. --Both the read and the write callback may be NULL. -+\fBstruct bufferevent\fP\fR -+pointer is returned on success, \fINULL\fP\fR on error. -+Both the read and the write callback may be \fINULL\fP\fR. - The error callback has to be always provided. --.Pp -+.PP - Once initialized, the bufferevent structure can be used repeatedly with - bufferevent_enable() and bufferevent_disable(). - The flags parameter can be a combination of --.Va EV_READ -+EV_READ - and --.Va EV_WRITE . -+EV_WRITE . - When read enabled the bufferevent will try to read from the file - descriptor and call the read callback. - The write callback is executed - whenever the output buffer is drained below the write low watermark, - which is --.Va 0 -+\fI0\fP\fR - by default. --.Pp -+.PP - The --.Fn bufferevent_write -+\fBbufferevent_write()\fP\fR - function can be used to write data to the file descriptor. - The data is appended to the output buffer and written to the descriptor - automatically as it becomes available for writing. --.Fn bufferevent_write -+\fBbufferevent_write()\fP\fR - returns 0 on success or \-1 on failure. - The --.Fn bufferevent_read -+\fBbufferevent_read()\fP\fR - function is used to read data from the input buffer, - returning the amount of data read. --.Pp -+.PP - If multiple bases are in use, bufferevent_base_set() must be called before - enabling the bufferevent for the first time. - .Sh NON-BLOCKING HTTP SUPPORT -@@ -549,74 +550,74 @@ - .Pp - If multiple bases are in use, bufferevent_base_set() must be called before - enabling the bufferevent for the first time. --.Sh NON-BLOCKING HTTP SUPPORT --.Nm libevent -+.SH NON-BLOCKING HTTP SUPPORT -+\fIlibevent\fP\fR - provides a very thin HTTP layer that can be used both to host an HTTP - server and also to make HTTP requests. - An HTTP server can be created by calling --.Fn evhttp_new . -+\fBevhttp_new\fP\fR. - It can be bound to any port and address with the --.Fn evhttp_bind_socket -+\fBevhttp_bind_socket\fP\fR - function. - When the HTTP server is no longer used, it can be freed via --.Fn evhttp_free . --.Pp -+\fBevhttp_free\fP\fR. -+.PP - To be notified of HTTP requests, a user needs to register callbacks with the - HTTP server. - This can be done by calling --.Fn evhttp_set_cb . -+\fBevhttp_set_cb\fP\fR. - The second argument is the URI for which a callback is being registered. - The corresponding callback will receive an --.Va struct evhttp_request -+\fIstruct evhttp_request\fP\fR - object that contains all information about the request. --.Pp -+.PP - This section does not document all the possible function calls; please - check --.Va event.h -+\fBevent.h\fP\fR - for the public interfaces. --.Sh ADDITIONAL NOTES -+.SH ADDITIONAL NOTES - It is possible to disable support for --.Va epoll , kqueue , devpoll , poll -+\fBepoll , kqueue , devpoll , poll\fP\fR - or --.Va select -+\fBselect\fP\fR - by setting the environment variable --.Va EVENT_NOEPOLL , EVENT_NOKQUEUE , EVENT_NODEVPOLL , EVENT_NOPOLL -+EVENT_NOEPOLL, EVENT_NOKQUEUE, EVENT_NODEVPOLL, EVENT_NOPOLL - or --.Va EVENT_NOSELECT , -+EVENT_NOSELECT, - respectively. - By setting the environment variable --.Va EVENT_SHOW_METHOD , --.Nm libevent -+EVENT_SHOW_METHOD, -+\fIlibevent\fP\fR - displays the kernel notification method that it uses. --.Sh RETURN VALUES -+.SH RETURN VALUES - Upon successful completion --.Fn event_add -+\fBevent_add\fP\fR - and --.Fn event_del -+\fBevent_del\fP\fR - return 0. - Otherwise, \-1 is returned and the global variable errno is - set to indicate the error. --.Sh SEE ALSO --.Xr kqueue 2 , --.Xr poll 2 , --.Xr select 2 , --.Xr evdns 3 , --.Xr timeout 9 --.Sh HISTORY -+.SH SEE ALSO -+\fBpoll(2)\fR, -+\fBselect(3C)\fR, -+\fBport_create(3C)\fR, -+\fBevdns(3)\fR, -+\fBtimeout(9f)\fR. -+.SH HISTORY - The --.Nm event -+\fIevent\fP\fR - API manpage is based on the --.Xr timeout 9 -+\fBtimeout(9)\fR - manpage by Artur Grabowski. - The port of --.Nm libevent -+\fBlibevent\fP\fR - to Windows is due to Michael A. Davis. - Support for real-time signals is due to Taral. --.Sh AUTHORS -+.SH AUTHORS - The --.Nm event -+\fIevent\fP\fR - library was written by Niels Provos. --.Sh BUGS -+.SH BUGS - This documentation is neither complete nor authoritative. - If you are in doubt about the usage of this API then - check the source code to find out how it works, write diff -r 1e847165fde2 -r cf3796081ab1 components/libevent/patches/evthread_test_failures.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/components/libevent/patches/evthread_test_failures.patch Wed May 04 15:48:49 2016 -0700 @@ -0,0 +1,15 @@ +Fixes test failures. +In house patch. + +--- a/evthread_pthread.c 2016-04-21 10:00:00.404456451 -0700 ++++ b/evthread_pthread.c 2016-04-21 10:01:55.930683110 -0700 +@@ -91,9 +91,7 @@ evthread_posix_get_id(void) + unsigned long id; + #endif + } r; +-#if _EVENT_SIZEOF_PTHREAD_T < _EVENT_SIZEOF_LONG + memset(&r, 0, sizeof(r)); +-#endif + r.thr = pthread_self(); + return (unsigned long)r.id; + } diff -r 1e847165fde2 -r cf3796081ab1 components/libevent/test/results-all.master --- a/components/libevent/test/results-all.master Wed May 04 14:21:51 2016 -0700 +++ b/components/libevent/test/results-all.master Wed May 04 15:48:49 2016 -0700 @@ -1,46 +1,90 @@ -make[1]: Entering directory `$(@D)' -cd test && make verify -make[2]: Entering directory `$(@D)/test' +make[1]: Entering directory '$(@D)' +/usr/gnu/bin/make check-recursive +make[2]: Entering directory '$(@D)' +Making check in . +make[3]: Entering directory '$(@D)' +make[3]: Leaving directory '$(@D)' +Making check in include +make[3]: Entering directory '$(@D)/include' +make[3]: Nothing to be done for 'check'. +make[3]: Leaving directory '$(@D)/include' +Making check in sample +make[3]: Entering directory '$(@D)/sample' +make[3]: Nothing to be done for 'check'. +make[3]: Leaving directory '$(@D)/sample' +Making check in test +make[3]: Entering directory '$(@D)/test' +/usr/gnu/bin/make check-am +make[4]: Entering directory '$(@D)/test' +/usr/gnu/bin/make check-TESTS +make[5]: Entering directory '$(@D)/test' Running tests: +EVPORT + test-eof: OKAY + test-weof: OKAY + test-time: OKAY + test-changelist: OKAY + regress: + NOTE regress.c:2363: evport can't pass this in 2.0; skipping +util/getaddrinfo: + FAIL regress_util.c:972: assert(a) + [getaddrinfo FAILED] +1/177 TESTS FAILED. (2 skipped) +FAILED KQUEUE Skipping test +EPOLL +Skipping test +EPOLL (changelist) +Skipping test DEVPOLL --n test-eof: -OKAY --n test-weof: -OKAY --n test-time: -OKAY --n regress: -TYPE-COUNT-LINE OKAY + test-eof: OKAY + test-weof: OKAY + test-time: OKAY + test-changelist: OKAY + regress: util/getaddrinfo: + FAIL regress_util.c:972: assert(a) + [getaddrinfo FAILED] +1/178 TESTS FAILED. (1 skipped) +FAILED POLL --n test-eof: -OKAY --n test-weof: -OKAY --n test-time: -OKAY --n regress: -TYPE-COUNT-LINE OKAY + test-eof: OKAY + test-weof: OKAY + test-time: OKAY + test-changelist: OKAY + regress: util/getaddrinfo: + FAIL regress_util.c:972: assert(a) + [getaddrinfo FAILED] +1/178 TESTS FAILED. (1 skipped) +FAILED SELECT --n test-eof: -OKAY --n test-weof: -OKAY --n test-time: -OKAY --n regress: -TYPE-COUNT-LINE OKAY -EPOLL + test-eof: OKAY + test-weof: OKAY + test-time: OKAY + test-changelist: OKAY + regress: util/getaddrinfo: + FAIL regress_util.c:972: assert(a) + [getaddrinfo FAILED] +1/178 TESTS FAILED. (1 skipped) +FAILED +WIN32 Skipping test -EVPORT --n test-eof: -OKAY --n test-weof: -OKAY --n test-time: -OKAY --n regress: -TYPE-COUNT-LINE OKAY -make[2]: Leaving directory `$(@D)/test' -make[1]: Leaving directory `$(@D)' +FAIL: test-script.sh +================== +1 of 1 test failed +================== +Makefile:820: recipe for target 'check-TESTS' failed +make[5]: *** [check-TESTS] Error 1 +make[5]: Leaving directory '$(@D)/test' +Makefile:943: recipe for target 'check-am' failed +make[4]: *** [check-am] Error 2 +make[4]: Leaving directory '$(@D)/test' +Makefile:945: recipe for target 'check' failed +make[3]: *** [check] Error 2 +make[3]: Leaving directory '$(@D)/test' +Makefile:864: recipe for target 'check-recursive' failed +make[2]: *** [check-recursive] Error 1 +make[2]: Leaving directory '$(@D)' +Makefile:1176: recipe for target 'check' failed +make[1]: *** [check] Error 2 +make[1]: Leaving directory '$(@D)'