Squashed 'third_party/rawrtc/re/' content from commit f3163ce8b

Change-Id: I6a235e6ac0f03269d951026f9d195da05c40fdab
git-subtree-dir: third_party/rawrtc/re
git-subtree-split: f3163ce8b526a13b35ef71ce4dd6f43585064d8a
diff --git a/docs/COPYING b/docs/COPYING
new file mode 100644
index 0000000..1b8c3af
--- /dev/null
+++ b/docs/COPYING
@@ -0,0 +1,32 @@
+Copyright (c) 2010 - 2019, Alfred E. Heggestad
+Copyright (c) 2010 - 2019, Richard Aas
+Copyright (c) 2010 - 2019, Creytiv.com
+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 Creytiv.com 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 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.
diff --git a/docs/ChangeLog b/docs/ChangeLog
new file mode 100644
index 0000000..d2884d2
--- /dev/null
+++ b/docs/ChangeLog
@@ -0,0 +1,701 @@
+2018-11-24 Alfred E. Heggestad <alfred.heggestad@gmail.com>
+
+	* Version 0.6.0
+
+	* Project URL: https://github.com/creytiv/re
+
+	* build: add major,minor,patch versions to CFLAGS
+
+	* odict: add high-level odict helper functions
+
+	* rtmp: new module for Real Time Messaging Protocol (RTMP)
+
+	* uri: add uri_decode_hostport
+
+
+2018-09-01 Alfred E. Heggestad <alfred.heggestad@gmail.com>
+
+	* Version 0.5.9
+
+	* Project URL: https://github.com/creytiv/re
+
+	* build: Added support for 64-bit MINGW (#131)
+		 (thanks Alexander Ushakov)
+
+		 fixed inline issue when compiling VS as C++ (#143)
+		 (thanks TheSil)
+
+	* jbuf: zero out jbuf_stat on jbuf flush (#147)
+		(thanks Christian Spielberger)
+
+	* net: remove net_conn api (old and unused) (#145)
+	       fix bug in net_if_getname (#144)
+
+	* sip: get local TCP address in establish handler (#146)
+
+	* tls: add AES-GCM to DTLS-SRTP (#141)
+
+
+2018-04-20 Alfred E. Heggestad <alfred.heggestad@gmail.com>
+
+	* Version 0.5.8
+
+	* Project URL: https://github.com/creytiv/re
+
+	* build: update win32 files (thanks Encamy)
+
+	* aes: add support for AES-GCM (Galois Counter Mode)
+
+	* fmt: json/utf8: fix unescaping of unicode code points (#127)
+	       add utf8_byteseq
+
+	* mqueue: set non-blocking mode for read/write file descriptors (#122)
+
+	* srtp: add support for AES-GCM cipher suite (RFC 7714)
+
+
+2018-01-12 Alfred E. Heggestad <alfred.heggestad@gmail.com>
+
+	* Version 0.5.7
+
+	* Project URL: https://github.com/creytiv/re
+
+	* build: remove support for Cygwin (#95)
+		 remove support for splint (#96)
+
+	* mem: add secure memory functions (#102)
+
+	* net: larger buffer for net_if_list (#100)
+
+	* sipreg: add from_name (Display Name) (#104)
+
+	* tls: use per connection bio_method (fixes issue #92) (#93)
+
+
+2017-11-06 Alfred E. Heggestad <alfred.heggestad@gmail.com>
+
+	* Version 0.5.6
+
+	* Project URL: https://github.com/creytiv/re
+
+	* build: Update ar flags; use deterministic mode (#79)
+
+	* http: added support for chunked transfer encoding (#90)
+
+	* ice: Added functions to get selected candidates. (#72)
+	       (thanks Joachim Bauch)
+
+	* json: improved performance for mypower10 (#88)
+		(thanks Chris Owen)
+
+	* mqueue: Pack struct of mqueue messages. (#62)
+		  (thanks Joachim Bauch)
+
+	* odict: use int instead of enum to avoid vararg promotion (#81)
+
+	* tls: add dtls_recv_packet() (#89)
+
+
+2017-09-05 Alfred E. Heggestad <alfred.heggestad@gmail.com>
+
+	* Version 0.5.5
+
+	* Project URL: https://github.com/creytiv/re
+
+	* ice: move gathering to application
+
+	* mod: add accessor function to module list
+
+	* sipreg: Added function sipreg_laddr()
+
+	* sys: optimize rand_str() and rand_char()
+
+
+2017-06-24 Alfred E. Heggestad <alfred.heggestad@gmail.com>
+
+	* Version 0.5.4
+
+	* Project URL: https://github.com/creytiv/re
+
+	* rtp: add extension bit to the api
+
+
+2017-05-13 Alfred E. Heggestad <alfred.heggestad@gmail.com>
+
+	* Version 0.5.3
+
+	* Project URL: https://github.com/creytiv/re
+
+	* build: upgrade windows project to VS2015 (thanks Mikhail Barg)
+		 makefile improvements (thanks Lennart Grahl)
+
+	* ice: remove session object "struct ice"
+
+	* telev: add telev_set_srate (thanks Jan Hoffmann)
+
+
+2017-04-08 Alfred E. Heggestad <alfred.heggestad@gmail.com>
+
+	* Version 0.5.2
+
+	* Project URL: https://github.com/creytiv/re
+
+	* build: add Debian/kFreeBSD+Hurd (thanks Vasudev Kamath)
+
+	* ice: make enum ice_role type public
+
+	* main: fix build for Solaris 11
+
+	* srtcp: use unsigned for encrypted bit
+
+	* tls: add tls_openssl_context() accessor function
+
+
+2017-02-04 Alfred E. Heggestad <alfred.heggestad@gmail.com>
+
+	* Version 0.5.1
+
+	* Project URL: https://github.com/creytiv/re
+
+	* fmt: print directly to stream using handler (#38)
+
+	* http: HTTP client improvements (#36)
+	  - http client connection reuse
+	  - retry failed requests using fresh connections
+	  - Handle Connection: close response header
+
+
+2016-11-25 Alfred E. Heggestad <alfred.heggestad@gmail.com>
+
+	* Version 0.5.0
+
+	* Project URL: https://github.com/creytiv/re
+
+	* build: add Dragonfly BSD (thanks Dmitrij D. Czarkoff)
+		 remove support for Symbian OS
+
+	* aes: add support for OpenSSL version 1.1.0
+
+	* dns: dns/resolv cleanup (#11)
+	       (thanks Dmitrij D. Czarkoff)
+
+	* hmac: add support for OpenSSL version 1.1.0
+
+	* main: remove support for ActiveScheduler (SymbianOS)
+
+	* tls: add support for OpenSSL version 1.1.0
+	       add tls_set_certificate_pem()
+	       add tls_set_certificate_der()
+	       add dtls_peer()
+	       add dtls_set_peer()
+	       add tls_flush_error to dump openssl errors
+	       (thanks to Lennart Grahl)
+
+	* udp: add udp_helper_find()
+
+
+2016-06-24 Alfred E. Heggestad <aeh@db.org>
+
+	* Version 0.4.17
+
+	* build: add USE_OPENSSL_AES and USE_OPENSSL_HMAC
+
+	* dns: add key to dns_rrlist_sort()
+	       add dns_rrlist_sort_addr
+
+	* tls: add tls_set_ciphers()
+	       add tls_set_servername()
+
+	* sip: fix for stateless SIP requests
+	       sort DNS RR entries by a fixed key
+
+	* stun: fix bug with 8-bit and 16-bit attributes on certain
+		platforms, such as MIPS
+
+
+2016-04-27 Alfred E. Heggestad <aeh@db.org>
+
+	* Version 0.4.16
+
+	* build: fix warnings about DEFAULT_SOURCE with new glibc
+
+	* lock: fix debian build without HAVE_PTHREAD_RWLOCK
+
+	* rand: add arc4random (based on patch from Dmitrij D. Czarkoff)
+
+	* rtcp: adjust mbuf positions for RTCP_PSFB_AFB decoding
+
+	* tls: add tls_cipher_name()
+	       add dtls_set_mtu()
+
+
+2016-02-06 Alfred E. Heggestad <aeh@db.org>
+
+	* Version 0.4.15
+
+	* build: fix warnings about DEFAULT_SOURCE with new glibc
+		 fix compile error for mingw32 (thanks Dmitrij D. Czarkoff)
+
+	* aes: handle buffers with zero length
+
+	* dns: add support for multiple DNS name-servers on Android
+	
+	* hmac: add support for HMAC-SHA256
+
+	* rtp: fix packet-loss calc when first packet has seq=0
+
+	* srtp: split error code in ENOSR and ENOMEM
+
+	* stun: keepalive: handle method BINDING only
+
+	* telev: add a maximum queue size
+
+	* uri: fix a potential read buffer overflow
+
+
+2015-10-24 Alfred E. Heggestad <aeh@db.org>
+
+	* Version 0.4.14
+
+	* New modules: json and odict
+
+	* build: add pkg-config file (thanks to William King)
+	
+	* re_types: added a portable __REFUNC__
+
+	* fmt: add utf8_encode/decode, used by JSON module
+
+	* hash: add hash_fast() function
+
+	* json: new JavaScript Object Notation (JSON) module
+
+	* main: fix order of kqueue setting events (WRITE,READ)
+
+	* odict: new Ordered Dictionary module
+
+	* sip: reverse order of transport enumeration for SRV-records
+
+	* udp,tcp,net: add __USE_XOPEN2K (thanks Dmitrij D. Czarkoff)
+
+
+2015-07-01 Alfred E. Heggestad <aeh@db.org>
+
+	* Version 0.4.13
+
+	* aes: added support for CommonCrypto API
+
+	* fmt: pl_float() handles negative numbers now
+
+	* hmac: added support for CommonCrypto API
+
+	* main: added support for async I/O method `kqueue'
+		this is now the default on platforms like OSX/iOS,
+		FreeBSD, NetBSD and OpenBSD.
+
+	* mem: added mem_reallocarray(), inspired by OpenBSD
+
+	* net: added net_default_gateway_get()
+
+	* tls: use RSA_generate_key_ex() instead of deprecated functions
+
+
+2015-03-16 Alfred E. Heggestad <aeh@db.org>
+
+	* Version 0.4.12
+
+	* ice: added ice_ prefix to some functions and types
+               fix bug in priority calculations (thanks to Daniel Ma)
+
+	* mqueue: fix bug with leaking sockets on Windows-32
+
+	* rtp: fix bug with RTCP timestamp calculation
+
+	* sip: export sip_transp_laddr()
+
+	* tls: added more TLS methods
+
+
+2014-12-09 Alfred E. Heggestad <aeh@db.org>
+
+	* Version 0.4.11
+
+	* build: export USE_TLS and USE_DTLS flags in re.mk makefile
+		 detect sysctl.h and epoll.h for multi-arch platforms
+		 dont use libresolv for openbsd
+
+	* main: check that maxfds is less than FD_SETSIZE (for select method)
+
+	* dtls: added udp-socket accessor and function to set handlers
+
+	* stun: added support for DTLS-transport
+		added doxygen comments
+
+	* tls: added function to set certificate from a string
+
+	* turn: added support for DTLS-transport
+
+
+2014-10-19 Alfred E. Heggestad <aeh@db.org>
+
+	* Version 0.4.10
+
+	* dns: added support for using multi-threaded libresolv
+               (thanks to Thomas Klausner)
+	       (thanks to Dmitrij D. Czarkoff for testing on OpenBSD)
+	
+	* dtls: added support for sending DTLS over e.g. TURN
+		(this is done by adding 4 bytes of headroom in the packet)
+
+	* ice: added ice_set_conf()
+	       continue checklist if send fails (thanks to SnakE)
+	
+	* mbuf: added mbuf_shift()
+
+	* sdp: added sdp_media_session_rattr()
+	       added extmap decoding RFC 5285 (thanks to Jose Carlos Pujol)
+
+	* sip: added struct sip_contact and related functions
+
+	* sipevent: added support for URI in contact-user, used for GRUU
+		    (thanks to Juha Heinanen)
+	
+	* sipreg: added "gruu" to list of Supported extensions
+	
+	* sipsess: added support for URI in contact-user, used for GRUU
+		   (thanks to Juha Heinanen)
+
+
+2014-06-18 Alfred E. Heggestad <aeh@db.org>
+
+	* Version 0.4.9
+
+	* aes: clear openssl error queue in error cases
+
+	* bfcp: disabled support for DTLS-transport
+
+	* hmac: clear openssl error queue in error cases
+
+	* http: make response parsing a bit more robust
+
+	* main: make use of openssl's multi-threading API
+
+	* rtcp: added Round-Trip Time (RTT) field to struct rtcp_stats
+                fix some rounding errors
+
+	* sa: added padding buffer to struct sa union
+
+	* sdp: improved handling of unsupported transport protocols
+	       and sub-sequence offer/answer exchanges
+
+	* srtp: added support for Secure Real-time Transport Protocol (SRTP)
+                (RFC 3711 and RFC 6188)
+
+	* sys: rand -- clear openssl error queue in error cases
+
+	* tls: added support for generating self-signed certificates
+	       added support for the SRTP-extension using openssl
+	       clear openssl error queue in error cases
+	       improved DTLS api
+
+
+2014-04-11 Alfred E. Heggestad <aeh@db.org>
+
+	* Version 0.4.8
+
+	* build: added support for Apple in cmake
+
+	* debian: update package
+
+	* aes: added AES (Advanced Encryption Standard) wrapper
+
+	* hmac: added a stateful HMAC wrapper
+
+	* http: added a HTTP client
+
+	* ice: minor API improvements
+
+	* msg: added a Generic message component library
+	       (shared by SIP module and HTTP module)
+
+	* sdp: added sdp_media_laddr() to get local transport address
+
+	* sip: change struct sip_msg to use new struct msg_ctype
+	       fixed a bug in parsing of Via headers
+
+	* sipsess: added sipsess_set_close_headers() to set any additional
+		   SIP headers for BYE or BYE-response
+
+	* net: fixed a bug in net_rt_list() for darwin
+
+	* websock: added WebSocket Protocol (RFC 6455)
+
+
+2014-01-05 Alfred E. Heggestad <aeh@db.org>
+
+	* Version 0.4.7
+
+	* build: added support for LLVM clang compiler
+
+	* dns: added support for getting Android nameserver address
+
+	* ice: minor debug tuning
+
+	* sipsess: only send INFO when dialog is established
+	
+
+2013-11-12 Alfred E. Heggestad <aeh@db.org>
+
+	* Version 0.4.6
+
+	* bfcp: fix bitwise operator for bool (thanks Tomasz Ostrowski)
+
+	* dns: do not connect the UDP socket
+
+	* ice: fix deref of NULL-pointer (thanks Tomasz Ostrowski)
+
+	* rtp: add support for RTCP AFB (Application-layer Feedback)
+	       make RTCP decoding more robust
+
+	* udp: udp_connect() -- add peer address
+	       add udp_error_handler_set()
+
+
+2013-10-03 Alfred E. Heggestad <aeh@db.org>
+
+	* Version 0.4.5
+
+	* udp: add functions for joining/leaving multicast groups
+
+	* fmt: re_regex() fix va_end robustness
+
+	* rtp: set sequence number in range 0-32767
+
+	* sa: sa_print_addr() fix build when HAVE_INET6 is not set
+
+
+2013-08-27 Alfred E. Heggestad <aeh@db.org>
+
+	* Version 0.4.4
+
+	* base64: added base64_print()
+
+	* http: added HTTP (Hypertext Transfer Protocol) parser
+
+	* ice: cleanup and minor bug fixes
+
+	* main: added external mutex for re_main() loop
+
+	* sdp: added sdp_media_set_alt_protos()
+	       added sdp_media_proto()
+
+	* stun: make API compatible with C++
+		fix endianess-bug in STUN attributes
+
+	* sys: sys_rel_get() detect new kernels
+
+	* tls: fingerprint: add SHA-256
+	       proper error handling, call ERR_clear_error()
+	
+
+2013-05-05 Alfred E. Heggestad <aeh@db.org>
+
+	* Version 0.4.3
+
+	* bfcp: added udp
+
+	* dns: added doxygen comments
+
+	* fmt: added str_cmp()
+
+	* mbuf: make mbuf_get_left() and mbuf_get_space() more robust
+	        added mbuf_fill()
+
+	* mod: fixed a bug in mod_find()
+
+	* mqueue: move handler to mqueue_alloc()
+
+	* sa: fix building on some Windows platforms
+
+	* sdp: added sdp_session_lbandwidth()
+	       added sdp_media_set_fmt_ignore()
+
+	* stun: make stun_msg_vencode() public
+		unlink element from attribute-list in destructor
+
+	* tcp: make fd handling more robust
+
+	* tls: added tls_get_remote_fingerprint()
+
+
+2012-08-10 Alfred E. Heggestad <aeh@db.org>
+
+	* Version 0.4.2
+
+	* added debian build
+
+	* build: fix building for Ubuntu 12.04
+
+	* re_types: increase ERRNO values
+
+	* fmt: re_printf() add support for %m to print errno description
+	       added str_error()
+	
+	* hash: added hash_clear()
+
+	* list: added list_clear()
+
+	* net: added net_if_getlinklocal()
+
+	* rtp: added rtcp_set_srate_tx/rx()
+	       rtcp_msg_print(): add all types
+
+	* sa: added sa_print_addr()
+
+	* sdp: added media encode handler
+	       sdp_format_add(): added fmtp encode handler (breaks API)
+
+	* sip: handle merged SIP requests (482 Loop Detected)
+	       added doxygen comments
+
+	* sipevent: fix bug in handler argument
+	
+	* sys: added sys_username()
+	       added fs_mkdir() and fs_gethome()
+
+	* tcp: added tcp_conn_txqsz()
+	       fix enqueue buffer size
+	       handle scopeid for IPv6 linklocal
+
+	* tmr: added tmr_status %H handler
+	
+	* udp: handle scopeid for IPv6 linklocal
+	
+	
+2012-04-21 Alfred E. Heggestad <aeh@db.org>
+
+	* Version 0.4.1
+
+	* updated doxygen comments for sdp and tls
+
+	* dns: dnsc_srv_set: copy DNS servers to fixed-size array
+
+	* fmt: added str_isset()
+	       added fmt_param_exists()
+
+	* rtp: fix lock protection of RTCP txstat during read
+
+	* sdp: sdp_media_align_formats: move unsupported codecs to end of list
+
+	* sip: limit startline to max 8192 bytes
+	       limit tcp buffersize to max 65536 bytes
+
+	* tcp: limit the size of the tcp send queue
+
+
+2011-12-25 Alfred E. Heggestad <aeh@db.org>
+
+	* Version 0.4.0
+
+	* updated doxygen comments
+
+	* build: add support for CMake (thanks to Stefan Radomski)
+		 clean up OS and ARCH detection
+
+	* dns: fix potential infinite loop in dname decode
+
+	* sip: change struct sip_via transp to enum sip_transp (breaks API)
+	       added sip_transp_isladdr() and sip_transp_port()
+	       added sip_dialog_fork(), sip_dialog_lseq(),
+	       sip_dialog_established(), sip_dialog_cmp_half()
+
+	* sipevent: new module for SIP Event framework (RFC 3265, RFC 3515)
+
+	* sys: add portable sys_usleep() and sys_msleep()
+	
+	* tcp: add tcp_send_helper()
+
+	* tls: add support for DTLSv1 (Datagram TLS)
+	       tls_alloc: add tls_method and layer (breaks API)
+	       tls_tcp: use custom BIO to send data
+
+	* tmr: optimize tmr_start() where delay == 0
+
+	* turn: add stun_msg to turnc handler (breaks API)
+
+	* udp: add udp_send_helper()
+
+
+2011-09-07 Alfred E. Heggestad <aeh@db.org>
+
+	* Version 0.3.0
+
+	* build support for native mingw32 (thanks to Michael Erskine)
+
+	* bfcp: new module for The Binary Floor Control Protocol (RFC 4582)
+
+	* g711: module moved to librem
+
+	* sipreg: fix a bug in failwait() calculation
+
+	* stun: add support for STUNS (secure STUN)
+
+	* tcp: added tcp_set_handlers()
+
+	* turn: added send/recv functions
+
+
+2011-05-20 Alfred E. Heggestad <aeh@db.org>
+
+	* Version 0.2.0
+
+	* updated doxygen comments
+
+	* conf: added conf_get_bool()
+
+	* dns: fixed a bug in get_resolv_dns()
+
+	* fmt: added pl_x64() pl_float() fmt_gmtime()
+	
+	* hash: added hash_valid_size()
+
+	* httpauth: clean up API
+
+	* ice: many improvements and bugfixes
+
+	* main: fix a bug if re_main() fails
+
+	* mbuf: added mbuf_debug()
+
+	* natbd: fixed some race conditions and memory leaks
+
+	* rtp: added rtcp_enable_mux() (RFC 5761; RTP and RTCP multiplexing)
+
+	* sdp: fixed setting RTCP port if RTP port is zero
+
+	* sip: added support for SIP Outbound (RFC 5626)
+	       added sip_msg_hdr_count() sip_msg_xhdr_count()
+	       added sip_msg_hdr_has_value() sip_msg_xhdr_has_value()
+	       added sip_auth_reset()
+	       handle multiple authenticate headers with equal realm value
+	       fixed a bug with loose-routing in Route header
+	       fixed decoding of Via header
+	
+	* sipreg: added support for SIP Outbound (breaks API compatibility)
+
+	* sipsess: fix a bug in sipsess_reject() if fmt is NULL
+	
+	* tcp: update tcp_register_helper() (breaks API)
+
+	* tmr: removed tmrl from 'struct tmr' (breaks ABI)
+	       added tmr_isrunning()
+
+	* udp: update udp_register_helper() (breaks API)
+
+	* uri: fix optional username in uri_decode()
+
+
+2010-11-05 Alfred E. Heggestad <aeh@db.org>
+
+	* Version 0.1.0
+	
+	* Initial Release
diff --git a/docs/TODO b/docs/TODO
new file mode 100644
index 0000000..6f5d897
--- /dev/null
+++ b/docs/TODO
@@ -0,0 +1,8 @@
+TODO
+
+-------------------------------------------------------------------------------
+Version v0.x.y
+
+  tmr: scaling using binary heap or hash
+
+-------------------------------------------------------------------------------
diff --git a/docs/main.dox b/docs/main.dox
new file mode 100644
index 0000000..ec71c54
--- /dev/null
+++ b/docs/main.dox
@@ -0,0 +1,11 @@
+/**
+ * \mainpage libre Development Documentation
+ *
+ * Development documentation for libre
+ *
+ * 
+ * \include README.md
+ *
+ *
+ * \section modules modules
+ */
diff --git a/docs/symbols.txt b/docs/symbols.txt
new file mode 100644
index 0000000..60f9c40
--- /dev/null
+++ b/docs/symbols.txt
@@ -0,0 +1,137 @@
+BIO_new@@OPENSSL_0.9.8
+BIO_new_socket@@OPENSSL_0.9.8
+BIO_s_mem@@OPENSSL_0.9.8
+BIO_write@@OPENSSL_0.9.8
+ERR_free_strings@@OPENSSL_0.9.8
+ERR_get_error@@OPENSSL_0.9.8
+EVP_sha1@@OPENSSL_0.9.8
+HMAC@@OPENSSL_0.9.8
+MD5@@OPENSSL_0.9.8
+RAND_bytes@@OPENSSL_0.9.8
+SSL_CTX_free@@OPENSSL_0.9.8
+SSL_CTX_load_verify_locations@@OPENSSL_0.9.8
+SSL_CTX_new@@OPENSSL_0.9.8
+SSL_CTX_set_default_passwd_cb@@OPENSSL_0.9.8
+SSL_CTX_set_default_passwd_cb_userdata@@OPENSSL_0.9.8
+SSL_CTX_use_PrivateKey_file@@OPENSSL_0.9.8
+SSL_CTX_use_certificate_chain_file@@OPENSSL_0.9.8
+SSL_accept@@OPENSSL_0.9.8
+SSL_connect@@OPENSSL_0.9.8
+SSL_free@@OPENSSL_0.9.8
+SSL_get_error@@OPENSSL_0.9.8
+SSL_get_peer_certificate@@OPENSSL_0.9.8
+SSL_get_verify_result@@OPENSSL_0.9.8
+SSL_library_init@@OPENSSL_0.9.8
+SSL_load_error_strings@@OPENSSL_0.9.8
+SSL_new@@OPENSSL_0.9.8
+SSL_read@@OPENSSL_0.9.8
+SSL_set_bio@@OPENSSL_0.9.8
+SSL_shutdown@@OPENSSL_0.9.8
+SSL_state@@OPENSSL_0.9.8
+SSL_write@@OPENSSL_0.9.8
+SSLv23_method@@OPENSSL_0.9.8
+X509_NAME_get_text_by_NID@@OPENSSL_0.9.8
+X509_get_subject_name@@OPENSSL_0.9.8
+__ctype_b_loc@@GLIBC_2.3
+__errno_location@@GLIBC_2.2.5
+__isinf@@GLIBC_2.2.5
+__isnan@@GLIBC_2.2.5
+__isoc99_fscanf@@GLIBC_2.7
+__res_close@@GLIBC_2.2.5
+__res_init@@GLIBC_2.2.5
+__res_state@@GLIBC_2.2.5
+__sysv_signal@@GLIBC_2.2.5
+accept@@GLIBC_2.2.5
+atoi@@GLIBC_2.2.5
+bind@@GLIBC_2.2.5
+chdir@@GLIBC_2.2.5
+close@@GLIBC_2.2.5
+connect@@GLIBC_2.2.5
+crc32
+ctime@@GLIBC_2.2.5
+dlclose@@GLIBC_2.2.5
+dlerror@@GLIBC_2.2.5
+dlopen@@GLIBC_2.2.5
+dlsym@@GLIBC_2.2.5
+epoll_create@@GLIBC_2.3.2
+epoll_ctl@@GLIBC_2.3.2
+epoll_wait@@GLIBC_2.3.2
+exit@@GLIBC_2.2.5
+fclose@@GLIBC_2.2.5
+fcntl@@GLIBC_2.2.5
+fflush@@GLIBC_2.2.5
+fopen@@GLIBC_2.2.5
+fork@@GLIBC_2.2.5
+free@@GLIBC_2.2.5
+freeaddrinfo@@GLIBC_2.2.5
+freeifaddrs@@GLIBC_2.3
+freopen@@GLIBC_2.2.5
+fwrite@@GLIBC_2.2.5
+gai_strerror@@GLIBC_2.2.5
+getaddrinfo@@GLIBC_2.2.5
+gethostbyname@@GLIBC_2.2.5
+gethostname@@GLIBC_2.2.5
+getifaddrs@@GLIBC_2.3
+getpeername@@GLIBC_2.2.5
+getpid@@GLIBC_2.2.5
+getsockname@@GLIBC_2.2.5
+getsockopt@@GLIBC_2.2.5
+gettimeofday@@GLIBC_2.2.5
+htonl@@GLIBC_2.2.5
+htons@@GLIBC_2.2.5
+if_indextoname@@GLIBC_2.2.5
+inet_ntop@@GLIBC_2.2.5
+inet_pton@@GLIBC_2.2.5
+ioctl@@GLIBC_2.2.5
+listen@@GLIBC_2.2.5
+malloc@@GLIBC_2.2.5
+memcmp@@GLIBC_2.2.5
+memcpy@@GLIBC_2.2.5
+memmove@@GLIBC_2.2.5
+memset@@GLIBC_2.2.5
+ntohl@@GLIBC_2.2.5
+ntohs@@GLIBC_2.2.5
+open@@GLIBC_2.2.5
+pipe@@GLIBC_2.2.5
+poll@@GLIBC_2.2.5
+pthread_getspecific@@GLIBC_2.2.5
+pthread_key_create@@GLIBC_2.2.5
+pthread_mutex_init@@GLIBC_2.2.5
+pthread_mutex_lock@@GLIBC_2.2.5
+pthread_mutex_unlock@@GLIBC_2.2.5
+pthread_once@@GLIBC_2.2.5
+pthread_rwlock_destroy@@GLIBC_2.2.5
+pthread_rwlock_init@@GLIBC_2.2.5
+pthread_rwlock_rdlock@@GLIBC_2.2.5
+pthread_rwlock_tryrdlock@@GLIBC_2.2.5
+pthread_rwlock_trywrlock@@GLIBC_2.2.5
+pthread_rwlock_unlock@@GLIBC_2.2.5
+pthread_rwlock_wrlock@@GLIBC_2.2.5
+pthread_self@@GLIBC_2.2.5
+pthread_setspecific@@GLIBC_2.2.5
+read@@GLIBC_2.2.5
+realloc@@GLIBC_2.2.5
+recv@@GLIBC_2.2.5
+recvfrom@@GLIBC_2.2.5
+select@@GLIBC_2.2.5
+send@@GLIBC_2.2.5
+sendto@@GLIBC_2.2.5
+setrlimit@@GLIBC_2.2.5
+setsid@@GLIBC_2.2.5
+setsockopt@@GLIBC_2.2.5
+socket@@GLIBC_2.2.5
+srand@@GLIBC_2.2.5
+stderr@@GLIBC_2.2.5
+stdin@@GLIBC_2.2.5
+stdout@@GLIBC_2.2.5
+strcasecmp@@GLIBC_2.2.5
+strcmp@@GLIBC_2.2.5
+strerror@@GLIBC_2.2.5
+strlen@@GLIBC_2.2.5
+strncasecmp@@GLIBC_2.2.5
+strncpy@@GLIBC_2.2.5
+time@@GLIBC_2.2.5
+tolower@@GLIBC_2.2.5
+umask@@GLIBC_2.2.5
+uname@@GLIBC_2.2.5
+write@@GLIBC_2.2.5