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
