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