[Commits] Rev 4436: 5.5.40+ merge in lp:~maria-captains/maria/10.0

Sergei Golubchik serg at mariadb.org
Thu Oct 9 11:30:36 EEST 2014


At lp:~maria-captains/maria/10.0

------------------------------------------------------------
revno: 4436 [merge]
revision-id: sergii at pisem.net-20141009083011-41rdeucu5s61g6s1
parent: sergii at pisem.net-20141005200728-t7wld2csgroy88mj
parent: sergii at pisem.net-20141008132148-6fa2r27j2qw1tfnt
committer: Sergei Golubchik <sergii at pisem.net>
branch nick: 10.0
timestamp: Thu 2014-10-09 10:30:11 +0200
message:
  5.5.40+ merge
removed:
  extra/yassl/certs/dsa512.der   sp1f-dsa512.der-20060503111056-zwxz3jblber7d2lulcxtyypt22xv7mdt
  extra/yassl/certs/dsa512.pem   sp1f-dsa512.pem-20060503110818-aaea24frruh5pfs2a5i63j2vjowsofcp
added:
  extra/yassl/certs/dsa1024.der  dsa1024.der-20140819065117-grt2l6d6bguam3u2-1
  extra/yassl/certs/dsa1024.pem  dsa1024.pem-20140819065117-grt2l6d6bguam3u2-2
  mysql-test/r/ctype_cp932.result ctype_cp932.result-20140710070828-4xn42am8mhu52hwd-1
  mysql-test/r/log_errchk.result general_log_file_bas-20140624091607-gg5vaphtfzms9a3q-1
  mysql-test/r/show_bad_definer-5553.result show_bad_definer5553-20141005085334-vn8daew0v1mdlzr5-1
  mysql-test/suite/heap/btree_varchar_null.result btree_varchar_null.r-20141005103846-e6wqs03esjrbhcu9-1
  mysql-test/suite/heap/btree_varchar_null.test btree_varchar_null.t-20141005103846-e6wqs03esjrbhcu9-2
  mysql-test/suite/innodb/r/foreign-keys.result foreignkeys.result-20140908093133-1jwd0cvpw0qyus7l-1
  mysql-test/suite/innodb/t/foreign-keys.test foreignkeys.test-20140908093133-1jwd0cvpw0qyus7l-2
  mysql-test/t/ctype_cp932.test  ctype_cp932.test-20140710070828-4xn42am8mhu52hwd-2
  mysql-test/t/log_errchk.test   general_log_file_bas-20140624091607-gg5vaphtfzms9a3q-3
  mysql-test/t/show_bad_definer-5553.test show_bad_definer5553-20141005085334-vn8daew0v1mdlzr5-2
  storage/tokudb/mysql-test/rpl/disabled.def disabled.def-20140925165812-vz1l0gszty4lgm35-1
modified:
  client/mysql.cc                sp1f-mysql.cc-19700101030959-5sipizk7ehvbsi3tywrkdords5qy5zdl
  cmake/install_layout.cmake     install_layout.cmake-20100123024817-ukfvifcz5uo0ipm0-1
  config.h.cmake                 config.h.cmake-20091108233336-m9ewbh1c209yaw0h-3
  debian/dist/Debian/control     control-20120106141949-ss9vejrt5vxxzlhb-125
  debian/dist/Ubuntu/control     control-20120106141949-ss9vejrt5vxxzlhb-133
  extra/yassl/README             sp1f-readme-20050428132302-kkt7ut4rj7wkpprizgjdkcfhs3w4fwkd
  extra/yassl/certs/ca-cert.pem  sp1f-cacert.pem-20060503110811-uyxzkh5bvwawbbt3afztwera2yzt4mes
  extra/yassl/certs/client-cert.der sp1f-clientcert.der-20060503111055-belh4pjgfofrfv4ss6krjapskeho2uk6
  extra/yassl/certs/client-cert.pem sp1f-clientcert.pem-20060503110814-jw3fius6y2egr7jvgh3d5vjfk23ubps7
  extra/yassl/certs/client-key.der sp1f-clientkey.der-20060503111055-rv3zgbm3tqvkibssk3odbgcd6tvq3kum
  extra/yassl/certs/client-keyEnc.pem clientkeyenc.pem-20120210130859-9p7d3sr25n6dp19m-2
  extra/yassl/certs/server-cert.pem sp1f-servercert.pem-20060503110818-icdnih6n2ndkpgf5o33ijzch3wxzskkc
  extra/yassl/certs/server-keyEnc.pem serverkeyenc.pem-20120210130859-9p7d3sr25n6dp19m-4
  extra/yassl/include/buffer.hpp sp1f-buffer.hpp-20050428132302-6tyamx72xd4vqpeb2ydbrfw2krj3xjwc
  extra/yassl/include/openssl/ssl.h sp1f-ssl.h-20050428132306-pfslrljxqbmonu5dgwfln7oxljeyjks7
  extra/yassl/src/buffer.cpp     sp1f-buffer.cpp-20050428132309-kbwq62tc7v4c2zpnz3hsua2d2r6no54s
  extra/yassl/src/handshake.cpp  sp1f-handshake.cpp-20050428132310-fmtqaesmdo3txlm6dnhqmef23jgyrmih
  extra/yassl/src/yassl_imp.cpp  sp1f-yassl_imp.cpp-20050428132311-kbtb6sfna2iec57rsngc5wa76djjl76p
  extra/yassl/src/yassl_int.cpp  sp1f-yassl_int.cpp-20050428132311-hjgnphdasudo2ncxocoetyb7twor5fpq
  extra/yassl/taocrypt/include/asn.hpp sp1f-asn.hpp-20050428132312-5ijcjgxj7cy3t67jcpi4rg3rbr4nnfmn
  extra/yassl/taocrypt/include/block.hpp sp1f-block.hpp-20050428132313-36s5yrjvbk36ud3nkobt5zsv2ctac72e
  extra/yassl/taocrypt/include/integer.hpp sp1f-integer.hpp-20050428132315-3kekwcpo4kdfgckxq2lvgdrh2dp25ptb
  extra/yassl/taocrypt/include/pwdbased.hpp sp1f-pwdbased.hpp-20060406222010-bpokcpy436xv66v2mkcnqzunk2scpgia
  extra/yassl/taocrypt/include/runtime.hpp sp1f-runtime.hpp-20050428132317-dlygl4ymyhutyqx6o6lyswa7ff2t6x6m
  extra/yassl/taocrypt/include/sha.hpp sp1f-sha.hpp-20050428132317-v5nanfud2umapau6inhtofdkwwaoqnf4
  extra/yassl/taocrypt/src/aes.cpp sp1f-aes.cpp-20050428132317-uxgjfy6orpo43a7y4rl43twubxicfuwx
  extra/yassl/taocrypt/src/algebra.cpp sp1f-algebra.cpp-20050428132318-l4wul3z6jyhw35f2lt3dcjumpfo4a6k5
  extra/yassl/taocrypt/src/arc4.cpp sp1f-arc4.cpp-20050428132318-4nrzqynftxwhjzk666pvimmvkohpnuls
  extra/yassl/taocrypt/src/asn.cpp sp1f-asn.cpp-20050428132318-okq6hllvtur6rcfg4gc5pbxebunf764v
  extra/yassl/taocrypt/src/blowfish.cpp sp1f-blowfish.cpp-20060406222010-beh7j2xgtab3towbsx2ab67o4dwfvbbr
  extra/yassl/taocrypt/src/des.cpp sp1f-des.cpp-20050428132319-exs7pfmz4k46le3vm45jm4c5ih3l7ejk
  extra/yassl/taocrypt/src/integer.cpp sp1f-integer.cpp-20050428132320-2vatfv53z63b7dsohuirjujaevyb6dfs
  extra/yassl/taocrypt/src/md5.cpp sp1f-md5.cpp-20050428132320-mqex3w7plzwhreh6nhb3ythr22sbw4q4
  extra/yassl/taocrypt/src/misc.cpp sp1f-misc.cpp-20050428132320-f5txb7caw354yqxg3gy6hdi6o3y7i57y
  extra/yassl/taocrypt/src/rabbit.cpp rabbit.cpp-20120210115138-07wzplwfr3alb73v-4
  extra/yassl/taocrypt/src/random.cpp sp1f-random.cpp-20050428132321-q6wudeoop6upz7agf4pmigiyw6d6d3mt
  extra/yassl/taocrypt/src/ripemd.cpp sp1f-ripemd.cpp-20050428132321-3cumwiky4hdu2qhtw26rzzkdyezyhacw
  extra/yassl/taocrypt/src/sha.cpp sp1f-sha.cpp-20050428132321-t4opn5f5tcgn4hqwduscydnyviba227i
  extra/yassl/taocrypt/src/twofish.cpp sp1f-twofish.cpp-20060406222010-2kl46zuqro6t3ys6enrgmpbqg6xyyj4g
  mysql-test/lib/My/Platform.pm  sp1f-platform.pm-20080220135528-i7dsgofojc7pzjnisb6y43f3kmu6j4ci
  mysql-test/r/type_newdecimal.result sp1f-type_newdecimal.resu-20050208224936-kj6dxol5i7zbbfohybib53ffje5i63mk
  mysql-test/r/type_time.result  sp1f-type_time.result-20001228015634-5fhqfmu3mjrvucpfewsldtgdm6tk4ajy
  mysql-test/t/type_newdecimal.test sp1f-type_newdecimal.test-20050208224936-e244l5ugrk3oditjqp53n6izptkrteq2
  mysql-test/t/type_time.test    sp1f-type_time.test-20001228015637-jmlvm4jzrcz4pcv33ocsug2bqgjk74ov
  packaging/rpm-oel/mysql.spec.in mysql.spec.in-20131125134834-hk3snju7lu33hiqq-11
  plugin/auth_socket/auth_socket.c auth_socket.c-20100809083114-3klj7wt36fx4ojnl-13
  plugin/handler_socket/handlersocket/database.cpp database.cpp-20110219131638-4j25tgv3pc5mergb-39
  plugin/handler_socket/handlersocket/handlersocket.cpp handlersocket.cpp-20110219131638-4j25tgv3pc5mergb-41
  plugin/handler_socket/handlersocket/hstcpsvr.cpp hstcpsvr.cpp-20110219131638-4j25tgv3pc5mergb-43
  plugin/handler_socket/libhsclient/hstcpcli.cpp hstcpcli.cpp-20110219131638-4j25tgv3pc5mergb-61
  plugin/handler_socket/libhsclient/socket.cpp socket.cpp-20110219131638-4j25tgv3pc5mergb-65
  plugin/handler_socket/perl-Net-HandlerSocket/HandlerSocket.xs handlersocket.xs-20110219131638-4j25tgv3pc5mergb-77
  plugin/metadata_lock_info/metadata_lock_info.cc metadata_lock_info.c-20131208163144-5xr06lzpxna24nbj-4
  plugin/server_audit/server_audit.c server_audit.c-20140224192740-yy2fv3q0hvx2rq12-2
  scripts/comp_sql.c             sp1f-comp_sql.c-20070418112138-morizmr2td2m4ihx6hi4tgaspngszwp4
  scripts/mysql_system_tables_fix.sql sp1f-mysql_fix_privilege_-20030604152848-cz6lnrig5srcrvkt7d5m35bk3wsz4bdc
  sql-common/client.c            sp1f-client.c-20030502160736-oraaciqy6jkfwygs6tqfoaxgjbi65yo7
  sql/event_scheduler.cc         sp1f-event_scheduler.cc-20060522184601-btrj3nnnhmns6ciogy2l5aueg53vywzf
  sql/item.cc                    sp1f-item.cc-19700101030959-u7hxqopwpfly4kf5ctlyk2dvrq4l3dhn
  sql/log.cc                     sp1f-log.cc-19700101030959-r3hdfovek4kl6nd64ovoaknmirota6bq
  sql/mysqld.cc                  sp1f-mysqld.cc-19700101030959-zpswdvekpvixxzxf7gdtofzel7nywtfj
  sql/mysqld.h                   mysqld.h-20100331135644-cgcb6oowzqyx7fi3-11
  sql/sql_acl.cc                 sp1f-sql_acl.cc-19700101030959-c4hku3uqxzujthqnndeprbrhamqy6a4i
  sql/sql_cache.cc               sp1f-sql_cache.cc-19700101030959-74bsqwcnhboovijsogcenqana5inu6wo
  sql/sql_priv.h                 sp1f-mysql_priv.h-19700101030959-4fl65tqpop5zfgxaxkqotu2fa2ree5ci
  sql/sql_select.cc              sp1f-sql_select.cc-19700101030959-egb7whpkh76zzvikycs5nsnuviu4fdlb
  sql/sql_show.cc                sp1f-sql_show.cc-19700101030959-umlljfnpplg452h7reeyqr4xnbmlkvfj
  sql/sys_vars.cc                set_var_new.cc-20090803110928-jyk836zs40b2z8e3-1
  storage/connect/inihandl.c     inihandl.c-20130118152132-uyiyr9tgvg0qtd52-2
  storage/connect/libdoc.cpp     libdoc.cpp-20130118152118-8rznf4ulkgxm3gnq-10
  storage/connect/mycat.cc       mycat.cc-20130118152127-2616haw0q36d4dmb-3
  storage/connect/tabxml.cpp     tabxml.cpp-20130118152118-8rznf4ulkgxm3gnq-33
  storage/example/ha_example.cc  sp1f-ha_example.cc-20040331231732-d55r4dr2e7cf5dutte3f74z6h6yxdywb
  storage/federatedx/ha_federatedx.cc ha_federatedx.cc-20091029224633-m824ql737a2j6q5a-6
  storage/heap/hp_hash.c         sp1f-hp_hash.c-19700101030959-ethhaln7aj6b34av75b5wo7wna337f6e
  storage/innobase/api/api0misc.cc api0misc.cc-20130218134910-ira20asublj5mj4n-3
  storage/mroonga/mrn_table.cpp  mrn_table.cpp-20140920035109-9jdn0ob68l2wvxos-25
  storage/oqgraph/ha_oqgraph.cc  ha_oqgraph.cc-20091109115125-39rbuqeoqlrz4bux-11
  storage/sequence/sequence.cc   sequence.cc-20130302052642-sf4rmmswjnkrv52a-4
  storage/sphinx/snippets_udf.cc snippets_udf.cc-20100709115352-b84ypltib7085egy-9
  storage/tokudb/CMakeLists.txt  storage/tokudb/CMakeLists.txt at 5eba0d9d98d6c019fb6cc51df794ba26d47d796d
  storage/tokudb/ft-index/ft/bndata.cc ft/bndata.cc at e3e3f40c80ce7df7c0d291cd86a192029afeb0e5
  storage/tokudb/ft-index/ft/cachetable/cachetable.cc ft/cachetable/cachetable.cc at 0d3340a51db55ad773447c368238080ce55b8678
  storage/tokudb/ft-index/ft/cachetable/checkpoint.cc ft/cachetable/checkpoint.cc at 0d3340a51db55ad773447c368238080ce55b8678
  storage/tokudb/ft-index/ft/cursor.cc ft/cursor.cc at 9c9eaa4e2f14285a5e60c3f5ec171812888ca1be
  storage/tokudb/ft-index/ft/ft-cachetable-wrappers.cc ft/ft-cachetable-wrappers.cc at 9fbea5d8c9541ccd73f3bbe1a635a74f9c5cff37
  storage/tokudb/ft-index/ft/ft-flusher.cc ft/ft-flusher.cc at 9fbea5d8c9541ccd73f3bbe1a635a74f9c5cff37
  storage/tokudb/ft-index/ft/ft-hot-flusher.cc ft/ft-hot-flusher.cc at 9fbea5d8c9541ccd73f3bbe1a635a74f9c5cff37
  storage/tokudb/ft-index/ft/ft-ops.cc ft/ft-ops.cc at 9fbea5d8c9541ccd73f3bbe1a635a74f9c5cff37
  storage/tokudb/ft-index/ft/ft-test-helpers.cc ft/ft-test-helpers.cc at 9fbea5d8c9541ccd73f3bbe1a635a74f9c5cff37
  storage/tokudb/ft-index/ft/ft-verify.cc ft/ft-verify.cc at 9fbea5d8c9541ccd73f3bbe1a635a74f9c5cff37
  storage/tokudb/ft-index/ft/ft.cc ft/ft.cc at 9fbea5d8c9541ccd73f3bbe1a635a74f9c5cff37
  storage/tokudb/ft-index/ft/le-cursor.cc ft/le-cursor.cc at 9fbea5d8c9541ccd73f3bbe1a635a74f9c5cff37
  storage/tokudb/ft-index/ft/loader/dbufio.cc ft/loader/dbufio.cc at c370ee4cd8086d8a86fceb7a890cac3969de4fb4
  storage/tokudb/ft-index/ft/loader/loader.cc ft/loader/loader.cc at c370ee4cd8086d8a86fceb7a890cac3969de4fb4
  storage/tokudb/ft-index/ft/loader/pqueue.cc ft/loader/pqueue.cc at c370ee4cd8086d8a86fceb7a890cac3969de4fb4
  storage/tokudb/ft-index/ft/logger/log_upgrade.cc ft/logger/log__upgrade.cc at ae3082468b9bc3260ff2d12eeeac0c10bf38860d
  storage/tokudb/ft-index/ft/logger/logcursor.cc ft/logger/logcursor.cc at ae3082468b9bc3260ff2d12eeeac0c10bf38860d
  storage/tokudb/ft-index/ft/logger/logfilemgr.cc ft/logger/logfilemgr.cc at ae3082468b9bc3260ff2d12eeeac0c10bf38860d
  storage/tokudb/ft-index/ft/logger/logformat.cc ft/logger/logformat.cc at ae3082468b9bc3260ff2d12eeeac0c10bf38860d
  storage/tokudb/ft-index/ft/logger/logger.cc ft/logger/logger.cc at ae3082468b9bc3260ff2d12eeeac0c10bf38860d
  storage/tokudb/ft-index/ft/logger/recover.cc ft/logger/recover.cc at 0d3340a51db55ad773447c368238080ce55b8678
  storage/tokudb/ft-index/ft/node.cc ft/node.cc at dc50ba277488e3284ba553bb1fdac7c7826b0540
  storage/tokudb/ft-index/ft/pivotkeys.cc ft/pivotkeys.cc at 860299f82ec46ed6351aba1abb4c59e42906c0c6
  storage/tokudb/ft-index/ft/serialize/block_table.cc ft/serialize/block__table.cc at 949e3381b78d338ea0b2103671906ffe2c253493
  storage/tokudb/ft-index/ft/serialize/compress.cc ft/serialize/compress.cc at 949e3381b78d338ea0b2103671906ffe2c253493
  storage/tokudb/ft-index/ft/serialize/ft-node-deserialize.cc ft/serialize/ft-node-deserialize.cc at 949e3381b78d338ea0b2103671906ffe2c253493
  storage/tokudb/ft-index/ft/serialize/ft-serialize.cc ft/serialize/ft-serialize.cc at 949e3381b78d338ea0b2103671906ffe2c253493
  storage/tokudb/ft-index/ft/serialize/ft_node-serialize.cc ft/serialize/ft__node-serialize.cc at 949e3381b78d338ea0b2103671906ffe2c253493
  storage/tokudb/ft-index/ft/serialize/sub_block.cc ft/serialize/sub__block.cc at 949e3381b78d338ea0b2103671906ffe2c253493
  storage/tokudb/ft-index/ft/txn/roll.cc ft/txn/roll.cc at 0d3340a51db55ad773447c368238080ce55b8678
  storage/tokudb/ft-index/ft/txn/rollback-apply.cc ft/txn/rollback-apply.cc at 0d3340a51db55ad773447c368238080ce55b8678
  storage/tokudb/ft-index/ft/txn/rollback-ct-callbacks.cc ft/txn/rollback-ct-callbacks.cc at 0d3340a51db55ad773447c368238080ce55b8678
  storage/tokudb/ft-index/ft/txn/rollback.cc ft/txn/rollback.cc at 0d3340a51db55ad773447c368238080ce55b8678
  storage/tokudb/ft-index/ft/txn/rollback_log_node_cache.cc ft/txn/rollback__log__node__cache.cc at 0d3340a51db55ad773447c368238080ce55b8678
  storage/tokudb/ft-index/ft/txn/txn.cc ft/txn/txn.cc at 0d3340a51db55ad773447c368238080ce55b8678
  storage/tokudb/ft-index/ft/txn/txn_child_manager.cc ft/txn/txn__child__manager.cc at 0d3340a51db55ad773447c368238080ce55b8678
  storage/tokudb/ft-index/ft/txn/txn_manager.cc ft/txn/txn__manager.cc at 0d3340a51db55ad773447c368238080ce55b8678
  storage/tokudb/ft-index/ft/ule.cc ft/ule.cc at 9fbea5d8c9541ccd73f3bbe1a635a74f9c5cff37
  storage/tokudb/ft-index/src/errors.cc src/errors.cc at 9fbea5d8c9541ccd73f3bbe1a635a74f9c5cff37
  storage/tokudb/ft-index/src/indexer-undo-do.cc src/indexer-undo-do.cc at 9fbea5d8c9541ccd73f3bbe1a635a74f9c5cff37
  storage/tokudb/ft-index/src/indexer.cc src/indexer.cc at 9fbea5d8c9541ccd73f3bbe1a635a74f9c5cff37
  storage/tokudb/ft-index/src/loader.cc src/loader.cc at 9fbea5d8c9541ccd73f3bbe1a635a74f9c5cff37
  storage/tokudb/ft-index/src/ydb.cc src/ydb.cc at 9fbea5d8c9541ccd73f3bbe1a635a74f9c5cff37
  storage/tokudb/ft-index/src/ydb_cursor.cc src/ydb__cursor.cc at 9fbea5d8c9541ccd73f3bbe1a635a74f9c5cff37
  storage/tokudb/ft-index/src/ydb_db.cc src/ydb__db.cc at 9fbea5d8c9541ccd73f3bbe1a635a74f9c5cff37
  storage/tokudb/ft-index/src/ydb_env_func.cc src/ydb__env__func.cc at 9fbea5d8c9541ccd73f3bbe1a635a74f9c5cff37
  storage/tokudb/ft-index/src/ydb_row_lock.cc src/ydb__row__lock.cc at 9fbea5d8c9541ccd73f3bbe1a635a74f9c5cff37
  storage/tokudb/ft-index/src/ydb_txn.cc src/ydb__txn.cc at 9fbea5d8c9541ccd73f3bbe1a635a74f9c5cff37
  storage/tokudb/ft-index/src/ydb_write.cc src/ydb__write.cc at 9fbea5d8c9541ccd73f3bbe1a635a74f9c5cff37
  storage/tokudb/ft-index/tools/ftverify.cc tools/ftverify.cc at b3111fed82a7df17d4f08558058977547ca3af85
  storage/tokudb/ft-index/tools/tdb_logprint.cc tools/tdb__logprint.cc at b3111fed82a7df17d4f08558058977547ca3af85
  storage/tokudb/ft-index/tools/tokuftdump.cc tools/tokuftdump.cc at b3111fed82a7df17d4f08558058977547ca3af85
  storage/tokudb/ha_tokudb.cc    storage/tokudb/ha__tokudb.cc at 9e4247cc874c0a216ecd68533e59ecd43c35aa63
  storage/tokudb/mysql-test/tokudb/disabled.def disabled.def-20130901165816-s8txbuhtzbuilglf-2
  storage/tokudb/mysql-test/tokudb/t/i_s_tokudb_lock_waits_released.test mysql-test/suite/tokudb/t/i__s__tokudb__lock__waits__released.test at e84c52de9b27ebc161dada2043723f6de4a3a90c
  storage/tokudb/mysql-test/tokudb/t/i_s_tokudb_locks_released.test mysql-test/suite/tokudb/t/i__s__tokudb__locks__released.test at e84c52de9b27ebc161dada2043723f6de4a3a90c
  storage/xtradb/api/api0misc.cc api0misc.cc-20131216143720-s1t06bc5e38g1q83-4
  storage/xtradb/buf/buf0buf.cc  buf0buf.c-20081201061010-zymrrwrczns2vrex-49
  strings/ctype-mb.c             sp1f-ctypemb.c-20020312173754-rtl7oemmrocifpvc2z4og7rvep3jrhkh
  strings/decimal.c              sp1f-decimal.c-20041018120639-qqm4oeadwhbdhuxgwlc657il4tu44n6m
  support-files/mysql.spec.sh    sp1f-mysql.spec.sh-19700101030959-man6e3acwxvf62bdqvkpcpsvdtokf3ff
  tests/async_queries.c          async_queries.c-20110914105229-8o7acflq2a79mnpo-1
  unittest/sql/my_apc-t.cc       my_apct.cc-20120628124144-2mhxj62tzobl2nx5-2
=== modified file 'client/mysql.cc'
--- a/client/mysql.cc	2014-09-16 12:03:17 +0000
+++ b/client/mysql.cc	2014-10-09 08:30:11 +0000
@@ -1292,6 +1292,16 @@ int main(int argc,char *argv[])
 
 sig_handler mysql_end(int sig)
 {
+#ifndef _WIN32
+  /*
+    Ingnoring SIGQUIT and SIGINT signals when cleanup process starts.
+    This will help in resolving the double free issues, which occures in case
+    the signal handler function is started in between the clean up function.
+  */
+  signal(SIGQUIT, SIG_IGN);
+  signal(SIGINT, SIG_IGN);
+#endif
+
   mysql_close(&mysql);
 #ifdef HAVE_READLINE
   if (!status.batch && !quick && !opt_html && !opt_xml &&

=== modified file 'cmake/install_layout.cmake'
--- a/cmake/install_layout.cmake	2013-11-20 11:05:39 +0000
+++ b/cmake/install_layout.cmake	2014-10-09 08:30:11 +0000
@@ -103,16 +103,6 @@ IF(UNIX)
 ENDIF()
 
 #
-# plugin_tests's value should not be used by imported plugins,
-# just use if(INSTALL_PLUGINTESTDIR).
-# The plugin must set its own install path for tests
-#
-FILE(GLOB plugin_tests
-  ${CMAKE_SOURCE_DIR}/plugin/*/tests
-  ${CMAKE_SOURCE_DIR}/internal/plugin/*/tests
-)
-
-#
 # STANDALONE layout
 #
 SET(INSTALL_BINDIR_STANDALONE           "bin")
@@ -136,7 +126,6 @@ SET(INSTALL_SQLBENCHDIR_STANDALONE
 SET(INSTALL_SUPPORTFILESDIR_STANDALONE  "support-files")
 #
 SET(INSTALL_MYSQLDATADIR_STANDALONE     "data")
-SET(INSTALL_PLUGINTESTDIR_STANDALONE    ${plugin_tests})
 
 SET(INSTALL_UNIX_ADDRDIR_STANDALONE     "/tmp/mysql.sock")
 #
@@ -170,7 +159,6 @@ SET(INSTALL_SQLBENCHDIR_RPM
 SET(INSTALL_SUPPORTFILESDIR_RPM         "share/mysql")
 #
 SET(INSTALL_MYSQLDATADIR_RPM            "/var/lib/mysql")
-SET(INSTALL_PLUGINTESTDIR_RPM           ${plugin_tests})
 
 SET(INSTALL_UNIX_ADDRDIR_RPM            "${INSTALL_MYSQLDATADIR_RPM}/mysql.sock")
 
@@ -199,7 +187,6 @@ SET(INSTALL_SQLBENCHDIR_DEB
 SET(INSTALL_SUPPORTFILESDIR_DEB         "share/mysql")
 #
 SET(INSTALL_MYSQLDATADIR_DEB            "/var/lib/mysql")
-SET(INSTALL_PLUGINTESTDIR_DEB           ${plugin_tests})
 
 SET(INSTALL_UNIX_ADDRDIR_DEB            "/var/run/mysqld/mysqld.sock")
 #
@@ -226,7 +213,6 @@ SET(INSTALL_SQLBENCHDIR_SVR4
 SET(INSTALL_SUPPORTFILESDIR_SVR4        "support-files")
 #
 SET(INSTALL_MYSQLDATADIR_SVR4           "/var/lib/mysql")
-SET(INSTALL_PLUGINTESTDIR_SVR4          ${plugin_tests})
 
 SET(INSTALL_UNIX_ADDRDIR_SVR            "/tmp/mysql.sock")
 
@@ -242,7 +228,7 @@ SET(OLD_INSTALL_LAYOUT ${INSTALL_LAYOUT}
 # will be defined  as ${INSTALL_BINDIR_STANDALONE} by default if STANDALONE
 # layout is chosen)
 FOREACH(var BIN SBIN LIB MYSQLSHARE SHARE PLUGIN INCLUDE SCRIPT DOC MAN SYSCONF SYSCONF2
-    INFO MYSQLTEST SQLBENCH DOCREADME SUPPORTFILES MYSQLDATA PLUGINTEST UNIX_ADDR)
+    INFO MYSQLTEST SQLBENCH DOCREADME SUPPORTFILES MYSQLDATA UNIX_ADDR)
   SET(INSTALL_${var}DIR  ${INSTALL_${var}DIR_${INSTALL_LAYOUT}}
   CACHE STRING "${var} installation directory" ${FORCE})
   MARK_AS_ADVANCED(INSTALL_${var}DIR)

=== modified file 'config.h.cmake'
--- a/config.h.cmake	2014-08-08 11:53:43 +0000
+++ b/config.h.cmake	2014-10-09 08:30:11 +0000
@@ -656,4 +656,17 @@
 #define __STDC_FORMAT_MACROS
 #endif
 
+/*
+  stat structure (from <sys/stat.h>) is conditionally defined
+  to have different layout and size depending on the defined macros.
+  The correct macro is defined in my_config.h, which means it MUST be
+  included first (or at least before <features.h> - so, practically,
+  before including any system headers).
+
+  __GLIBC__ is defined in <features.h>
+*/
+#ifdef __GLIBC__
+#error <my_config.h> MUST be included first!
+#endif
+
 #endif

=== modified file 'debian/dist/Debian/control'
--- a/debian/dist/Debian/control	2014-09-18 19:54:45 +0000
+++ b/debian/dist/Debian/control	2014-10-09 08:30:11 +0000
@@ -192,7 +192,10 @@ Architecture: any
 Suggests: tinyca, mailx, mariadb-test
 Recommends: libhtml-template-perl
 Pre-Depends: mariadb-common, adduser (>= 3.40), debconf
-Depends: mariadb-client-10.0 (>= ${source:Version}), libdbi-perl, perl (>= 5.6), ${shlibs:Depends}, ${misc:Depends}, psmisc, passwd, lsb-base (>= 3.0-10), mariadb-server-core-10.0 (>= ${binary:Version})
+Depends: mariadb-client-10.0 (>= ${source:Version}), libdbi-perl,
+         perl (>= 5.6), ${shlibs:Depends}, ${misc:Depends}, psmisc,
+         passwd, lsb-base (>= 3.0-10), bsdutils,
+         mariadb-server-core-10.0 (>= ${binary:Version})
 Provides: mariadb-server, mysql-server, virtual-mysql-server
 Conflicts: mariadb-server (<< ${source:Version}), mysql-server (<< ${source:Version}),
     mysql-server-4.1, mysql-server-5.0, mysql-server-5.1, mysql-server-5.5,

=== modified file 'debian/dist/Ubuntu/control'
--- a/debian/dist/Ubuntu/control	2014-09-18 19:54:45 +0000
+++ b/debian/dist/Ubuntu/control	2014-10-09 08:30:11 +0000
@@ -186,7 +186,10 @@ Architecture: any
 Suggests: tinyca, mailx, mariadb-test
 Recommends: libhtml-template-perl
 Pre-Depends: mariadb-common, adduser (>= 3.40), debconf
-Depends: mariadb-client-10.0 (>= ${source:Version}), libdbi-perl, perl (>= 5.6), ${shlibs:Depends}, ${misc:Depends}, psmisc, passwd, lsb-base (>= 3.0-10), mariadb-server-core-10.0 (>= ${binary:Version})
+Depends: mariadb-client-10.0 (>= ${source:Version}), libdbi-perl,
+         perl (>= 5.6), ${shlibs:Depends}, ${misc:Depends}, psmisc,
+         passwd, lsb-base (>= 3.0-10), bsdutils,
+         mariadb-server-core-10.0 (>= ${binary:Version})
 Provides: mariadb-server, mysql-server, virtual-mysql-server
 Conflicts: mariadb-server (<< ${source:Version}), mysql-server (<< ${source:Version}),
     mysql-server-4.1, mysql-server-5.0, mysql-server-5.1, mysql-server-5.5,

=== modified file 'extra/yassl/README'
--- a/extra/yassl/README	2014-05-09 10:35:11 +0000
+++ b/extra/yassl/README	2014-10-09 08:30:11 +0000
@@ -12,15 +12,31 @@ before calling SSL_new();
 
 *** end Note ***
 
-yaSSL Release notes, version 2.3.0 (12/5/2013)
+yaSSL Release notes, version 2.3.4 (8/15/2014)
 
-  This release of yaSSL updates asm for newer GCC versions.
+    This release of yaSSL adds checking to the input_buffer class itself.
 
 See normal  build instructions below under 1.0.6.
 See libcurl build instructions below under 1.3.0 and note in 1.5.8.
 
 
-*****************yaSSL Release notes, version 2.2.3b (4/23/2013)
+yaSSL Release notes, version 2.3.2 (7/25/2014)
+
+    This release of yaSSL updates test certs.
+
+See normal  build instructions below under 1.0.6.
+See libcurl build instructions below under 1.3.0 and note in 1.5.8.
+
+
+*****************yaSSL Release notes, version 2.3.0 (12/5/2013)
+
+    This release of yaSSL updates asm for newer GCC versions.
+
+See normal  build instructions below under 1.0.6.
+See libcurl build instructions below under 1.3.0 and note in 1.5.8.
+
+
+*****************yaSSL Release notes, version 2.2.3 (4/23/2013)
 
     This release of yaSSL updates the test certificates as they were expired
 

=== modified file 'extra/yassl/certs/ca-cert.pem'
--- a/extra/yassl/certs/ca-cert.pem	2014-01-08 13:01:42 +0000
+++ b/extra/yassl/certs/ca-cert.pem	2014-08-23 03:29:03 +0000
@@ -1,45 +1,45 @@
 -----BEGIN CERTIFICATE-----
-MIIEnjCCA4agAwIBAgIJAOnQp195JfQ8MA0GCSqGSIb3DQEBBQUAMIGQMQswCQYD
-VQQGEwJVUzEQMA4GA1UECBMHTW9udGFuYTEQMA4GA1UEBxMHQm96ZW1hbjERMA8G
-A1UEChMIU2F3dG9vdGgxEzARBgNVBAsTCkNvbnN1bHRpbmcxFjAUBgNVBAMTDXd3
-dy55YXNzbC5jb20xHTAbBgkqhkiG9w0BCQEWDmluZm9AeWFzc2wuY29tMB4XDTEx
-MTAyNDE4MTgxNVoXDTE0MDcyMDE4MTgxNVowgZAxCzAJBgNVBAYTAlVTMRAwDgYD
-VQQIEwdNb250YW5hMRAwDgYDVQQHEwdCb3plbWFuMREwDwYDVQQKEwhTYXd0b290
-aDETMBEGA1UECxMKQ29uc3VsdGluZzEWMBQGA1UEAxMNd3d3Lnlhc3NsLmNvbTEd
-MBsGCSqGSIb3DQEJARYOaW5mb0B5YXNzbC5jb20wggEiMA0GCSqGSIb3DQEBAQUA
-A4IBDwAwggEKAoIBAQC/DMotFLIehEJbzTgfSvJNdRDxtjWf38p9A5jTrN4DZu4q
-8diwfW4HVAsQmCFNgMsSIOfMT95FfclydzLqypC7aVIQAy+o85XF8YtiVhvvZ2+k
-EEGVrQqb46XAsNJwdlAwW6joCCx87aeieo04KRysx+3yfJWwlYJ9SVw4zXcl772A
-dVOUPD3KY1ufFbXTHRMvGdE823Y6zLh9yeXC19pAb9gh3HMbQi1TnP4a/H2rejY/
-mN6EfAVnzmoUOIep8Yy1aMtof3EgK/WgY/VWL6Mm0rdvsVoX1ziZCP6TWG/+wxNJ
-CBYLp01nAFIxZyNOmO1RRR25BNkL7Ngos0u97TZ5AgMBAAGjgfgwgfUwHQYDVR0O
-BBYEFCeOZxF0wyYdP+0zY7Ok2B0w5ejVMIHFBgNVHSMEgb0wgbqAFCeOZxF0wyYd
-P+0zY7Ok2B0w5ejVoYGWpIGTMIGQMQswCQYDVQQGEwJVUzEQMA4GA1UECBMHTW9u
-dGFuYTEQMA4GA1UEBxMHQm96ZW1hbjERMA8GA1UEChMIU2F3dG9vdGgxEzARBgNV
-BAsTCkNvbnN1bHRpbmcxFjAUBgNVBAMTDXd3dy55YXNzbC5jb20xHTAbBgkqhkiG
-9w0BCQEWDmluZm9AeWFzc2wuY29tggkA6dCnX3kl9DwwDAYDVR0TBAUwAwEB/zAN
-BgkqhkiG9w0BAQUFAAOCAQEAX4YU9FGLvKVOMNperJr4bNkmS5P54xyJb57us513
-PokgdqPm6IYVIdviM7I01dCf88Gkh5Jc+dH/MC+OA7yzPAwyo5BfGpAer53zntcH
-Aql9J2ZjL68Y16wYmIyDjzjzC6w2EHX7ynYTUFsCj3O/46Dug1IlVM4mzpy9L3mr
-G2C4kvEDwPw7CNnArdVyCCWAYS3cn6eDYgdH4AdMSwcwBKmHHFV/BxLQy0Jdy89m
-ARoX7vkPYLfbb2jlTkFibtNvYE9LJ97PGAfxE13LP6klRNpSXMgE4VYS9SqQTtHi
-rwG1I6HsMdp7Y2nEuPPnzqE9wNtt87LZRsifw7hwWh9/yg==
+MIIEqjCCA5KgAwIBAgIJAJpBR82hFGKMMA0GCSqGSIb3DQEBBQUAMIGUMQswCQYD
+VQQGEwJVUzEQMA4GA1UECAwHTW9udGFuYTEQMA4GA1UEBwwHQm96ZW1hbjERMA8G
+A1UECgwIU2F3dG9vdGgxEzARBgNVBAsMCkNvbnN1bHRpbmcxGDAWBgNVBAMMD3d3
+dy53b2xmc3NsLmNvbTEfMB0GCSqGSIb3DQEJARYQaW5mb0B3b2xmc3NsLmNvbTAe
+Fw0xNDA3MTEwMzIwMDhaFw0xNzA0MDYwMzIwMDhaMIGUMQswCQYDVQQGEwJVUzEQ
+MA4GA1UECAwHTW9udGFuYTEQMA4GA1UEBwwHQm96ZW1hbjERMA8GA1UECgwIU2F3
+dG9vdGgxEzARBgNVBAsMCkNvbnN1bHRpbmcxGDAWBgNVBAMMD3d3dy53b2xmc3Ns
+LmNvbTEfMB0GCSqGSIb3DQEJARYQaW5mb0B3b2xmc3NsLmNvbTCCASIwDQYJKoZI
+hvcNAQEBBQADggEPADCCAQoCggEBAL8Myi0Ush6EQlvNOB9K8k11EPG2NZ/fyn0D
+mNOs3gNm7irx2LB9bgdUCxCYIU2AyxIg58xP3kV9yXJ3MurKkLtpUhADL6jzlcXx
+i2JWG+9nb6QQQZWtCpvjpcCw0nB2UDBbqOgILHztp6J6jTgpHKzH7fJ8lbCVgn1J
+XDjNdyXvvYB1U5Q8PcpjW58VtdMdEy8Z0TzbdjrMuH3J5cLX2kBv2CHccxtCLVOc
+/hr8fat6Nj+Y3oR8BWfOahQ4h6nxjLVoy2h/cSAr9aBj9VYvoybSt2+xWhfXOJkI
+/pNYb/7DE0kIFgunTWcAUjFnI06Y7VFFHbkE2Qvs2CizS73tNnkCAwEAAaOB/DCB
++TAdBgNVHQ4EFgQUJ45nEXTDJh0/7TNjs6TYHTDl6NUwgckGA1UdIwSBwTCBvoAU
+J45nEXTDJh0/7TNjs6TYHTDl6NWhgZqkgZcwgZQxCzAJBgNVBAYTAlVTMRAwDgYD
+VQQIDAdNb250YW5hMRAwDgYDVQQHDAdCb3plbWFuMREwDwYDVQQKDAhTYXd0b290
+aDETMBEGA1UECwwKQ29uc3VsdGluZzEYMBYGA1UEAwwPd3d3LndvbGZzc2wuY29t
+MR8wHQYJKoZIhvcNAQkBFhBpbmZvQHdvbGZzc2wuY29tggkAmkFHzaEUYowwDAYD
+VR0TBAUwAwEB/zANBgkqhkiG9w0BAQUFAAOCAQEAeXgMbXmIkfw6FZz5J2IW8CEf
++n0/oqgyHvfyEal0FnRe3BjK8AAq1QMGJjDxR4P9Mm787apPfQxjYDEvfAy/mWaH
+7ScIhi3EM+iYIxz+o9uaSU78WkLvccM/rdxKqNKjHQmsMwR7hvNtAFmjyNvRPHP2
+DpDWXkngvzZjCHulsI81O1aMETVJBBzQ57pWxQ0KkY3Wt2IZNBJSTNJtfMU9DxiB
+VMv2POWE0tZxFewaNAvwoCF0Q8ijsN/ZZ9rirZNI+KCHvXkU4GIK3/cxLjF70TIq
+Cv5dFO/ZZFDkg5G8cA3XiI3ZvIQOxRqzv2QCTlGRpKKFFYOv8FubKElfsrMD2A==
 -----END CERTIFICATE-----
 Certificate:
     Data:
         Version: 3 (0x2)
         Serial Number:
-            e9:d0:a7:5f:79:25:f4:3c
-        Signature Algorithm: sha1WithRSAEncryption
-        Issuer: C=US, ST=Montana, L=Bozeman, O=Sawtooth, OU=Consulting, CN=www.yassl.com/emailAddress=info at yassl.com
+            9a:41:47:cd:a1:14:62:8c
+    Signature Algorithm: sha1WithRSAEncryption
+        Issuer: C=US, ST=Montana, L=Bozeman, O=Sawtooth, OU=Consulting, CN=www.wolfssl.com/emailAddress=info at wolfssl.com
         Validity
-            Not Before: Oct 24 18:18:15 2011 GMT
-            Not After : Jul 20 18:18:15 2014 GMT
-        Subject: C=US, ST=Montana, L=Bozeman, O=Sawtooth, OU=Consulting, CN=www.yassl.com/emailAddress=info at yassl.com
+            Not Before: Jul 11 03:20:08 2014 GMT
+            Not After : Apr  6 03:20:08 2017 GMT
+        Subject: C=US, ST=Montana, L=Bozeman, O=Sawtooth, OU=Consulting, CN=www.wolfssl.com/emailAddress=info at wolfssl.com
         Subject Public Key Info:
             Public Key Algorithm: rsaEncryption
-            RSA Public Key: (2048 bit)
-                Modulus (2048 bit):
+                Public-Key: (2048 bit)
+                Modulus:
                     00:bf:0c:ca:2d:14:b2:1e:84:42:5b:cd:38:1f:4a:
                     f2:4d:75:10:f1:b6:35:9f:df:ca:7d:03:98:d3:ac:
                     de:03:66:ee:2a:f1:d8:b0:7d:6e:07:54:0b:10:98:
@@ -64,24 +64,24 @@ rwG1I6HsMdp7Y2nEuPPnzqE9wNtt87LZRsifw7hw
                 27:8E:67:11:74:C3:26:1D:3F:ED:33:63:B3:A4:D8:1D:30:E5:E8:D5
             X509v3 Authority Key Identifier: 
                 keyid:27:8E:67:11:74:C3:26:1D:3F:ED:33:63:B3:A4:D8:1D:30:E5:E8:D5
-                DirName:/C=US/ST=Montana/L=Bozeman/O=Sawtooth/OU=Consulting/CN=www.yassl.com/emailAddress=info at yassl.com
-                serial:E9:D0:A7:5F:79:25:F4:3C
+                DirName:/C=US/ST=Montana/L=Bozeman/O=Sawtooth/OU=Consulting/CN=www.wolfssl.com/emailAddress=info at wolfssl.com
+                serial:9A:41:47:CD:A1:14:62:8C
 
             X509v3 Basic Constraints: 
                 CA:TRUE
     Signature Algorithm: sha1WithRSAEncryption
-        5f:86:14:f4:51:8b:bc:a5:4e:30:da:5e:ac:9a:f8:6c:d9:26:
-        4b:93:f9:e3:1c:89:6f:9e:ee:b3:9d:77:3e:89:20:76:a3:e6:
-        e8:86:15:21:db:e2:33:b2:34:d5:d0:9f:f3:c1:a4:87:92:5c:
-        f9:d1:ff:30:2f:8e:03:bc:b3:3c:0c:32:a3:90:5f:1a:90:1e:
-        af:9d:f3:9e:d7:07:02:a9:7d:27:66:63:2f:af:18:d7:ac:18:
-        98:8c:83:8f:38:f3:0b:ac:36:10:75:fb:ca:76:13:50:5b:02:
-        8f:73:bf:e3:a0:ee:83:52:25:54:ce:26:ce:9c:bd:2f:79:ab:
-        1b:60:b8:92:f1:03:c0:fc:3b:08:d9:c0:ad:d5:72:08:25:80:
-        61:2d:dc:9f:a7:83:62:07:47:e0:07:4c:4b:07:30:04:a9:87:
-        1c:55:7f:07:12:d0:cb:42:5d:cb:cf:66:01:1a:17:ee:f9:0f:
-        60:b7:db:6f:68:e5:4e:41:62:6e:d3:6f:60:4f:4b:27:de:cf:
-        18:07:f1:13:5d:cb:3f:a9:25:44:da:52:5c:c8:04:e1:56:12:
-        f5:2a:90:4e:d1:e2:af:01:b5:23:a1:ec:31:da:7b:63:69:c4:
-        b8:f3:e7:ce:a1:3d:c0:db:6d:f3:b2:d9:46:c8:9f:c3:b8:70:
-        5a:1f:7f:ca
+         79:78:0c:6d:79:88:91:fc:3a:15:9c:f9:27:62:16:f0:21:1f:
+         fa:7d:3f:a2:a8:32:1e:f7:f2:11:a9:74:16:74:5e:dc:18:ca:
+         f0:00:2a:d5:03:06:26:30:f1:47:83:fd:32:6e:fc:ed:aa:4f:
+         7d:0c:63:60:31:2f:7c:0c:bf:99:66:87:ed:27:08:86:2d:c4:
+         33:e8:98:23:1c:fe:a3:db:9a:49:4e:fc:5a:42:ef:71:c3:3f:
+         ad:dc:4a:a8:d2:a3:1d:09:ac:33:04:7b:86:f3:6d:00:59:a3:
+         c8:db:d1:3c:73:f6:0e:90:d6:5e:49:e0:bf:36:63:08:7b:a5:
+         b0:8f:35:3b:56:8c:11:35:49:04:1c:d0:e7:ba:56:c5:0d:0a:
+         91:8d:d6:b7:62:19:34:12:52:4c:d2:6d:7c:c5:3d:0f:18:81:
+         54:cb:f6:3c:e5:84:d2:d6:71:15:ec:1a:34:0b:f0:a0:21:74:
+         43:c8:a3:b0:df:d9:67:da:e2:ad:93:48:f8:a0:87:bd:79:14:
+         e0:62:0a:df:f7:31:2e:31:7b:d1:32:2a:0a:fe:5d:14:ef:d9:
+         64:50:e4:83:91:bc:70:0d:d7:88:8d:d9:bc:84:0e:c5:1a:b3:
+         bf:64:02:4e:51:91:a4:a2:85:15:83:af:f0:5b:9b:28:49:5f:
+         b2:b3:03:d8

=== modified file 'extra/yassl/certs/client-cert.der'
Binary files a/extra/yassl/certs/client-cert.der	2012-02-10 14:33:27 +0000 and b/extra/yassl/certs/client-cert.der	2014-08-23 03:29:03 +0000 differ

=== modified file 'extra/yassl/certs/client-cert.pem'
--- a/extra/yassl/certs/client-cert.pem	2014-01-08 13:01:42 +0000
+++ b/extra/yassl/certs/client-cert.pem	2014-08-23 03:29:03 +0000
@@ -2,17 +2,17 @@
     Data:
         Version: 3 (0x2)
         Serial Number:
-            87:4a:75:be:91:66:d8:3d
-        Signature Algorithm: sha1WithRSAEncryption
-        Issuer: C=US, ST=Oregon, L=Portland, O=yaSSL, OU=Programming, CN=www.yassl.com/emailAddress=info at yassl.com
+            b6:63:af:8f:5d:62:57:a0
+    Signature Algorithm: sha1WithRSAEncryption
+        Issuer: C=US, ST=Montana, L=Bozeman, O=wolfSSL, OU=Programming, CN=www.wolfssl.com/emailAddress=info at wolfssl.com
         Validity
-            Not Before: Oct 24 18:21:55 2011 GMT
-            Not After : Jul 20 18:21:55 2014 GMT
-        Subject: C=US, ST=Oregon, L=Portland, O=yaSSL, OU=Programming, CN=www.yassl.com/emailAddress=info at yassl.com
+            Not Before: Jul 11 17:39:44 2014 GMT
+            Not After : Apr  6 17:39:44 2017 GMT
+        Subject: C=US, ST=Montana, L=Bozeman, O=wolfSSL, OU=Programming, CN=www.wolfssl.com/emailAddress=info at wolfssl.com
         Subject Public Key Info:
             Public Key Algorithm: rsaEncryption
-            RSA Public Key: (2048 bit)
-                Modulus (2048 bit):
+                Public-Key: (2048 bit)
+                Modulus:
                     00:c3:03:d1:2b:fe:39:a4:32:45:3b:53:c8:84:2b:
                     2a:7c:74:9a:bd:aa:2a:52:07:47:d6:a6:36:b2:07:
                     32:8e:d0:ba:69:7b:c6:c3:44:9e:d4:81:48:fd:2d:
@@ -37,51 +37,51 @@
                 33:D8:45:66:D7:68:87:18:7E:54:0D:70:27:91:C7:26:D7:85:65:C0
             X509v3 Authority Key Identifier: 
                 keyid:33:D8:45:66:D7:68:87:18:7E:54:0D:70:27:91:C7:26:D7:85:65:C0
-                DirName:/C=US/ST=Oregon/L=Portland/O=yaSSL/OU=Programming/CN=www.yassl.com/emailAddress=info at yassl.com
-                serial:87:4A:75:BE:91:66:D8:3D
+                DirName:/C=US/ST=Montana/L=Bozeman/O=wolfSSL/OU=Programming/CN=www.wolfssl.com/emailAddress=info at wolfssl.com
+                serial:B6:63:AF:8F:5D:62:57:A0
 
             X509v3 Basic Constraints: 
                 CA:TRUE
     Signature Algorithm: sha1WithRSAEncryption
-        1c:7c:42:81:29:9e:21:cf:d0:d8:c1:54:6f:cc:ae:14:09:38:
-        ff:68:98:9a:95:53:76:18:7b:e6:30:76:ec:28:0d:75:a7:de:
-        e0:cd:8e:d5:55:23:6a:47:2b:4e:8d:fc:7d:06:a3:d8:0f:ad:
-        5e:d6:04:c9:00:33:fb:77:27:d3:b5:03:b3:7b:21:74:31:0b:
-        4a:af:2d:1a:b3:93:8e:cc:f3:5f:3d:90:3f:cc:e3:55:19:91:
-        7b:78:24:2e:4a:09:bb:18:4e:61:2d:9c:c6:0a:a0:34:91:88:
-        70:6b:3b:48:47:bc:79:94:a2:a0:4d:32:47:54:c2:a3:dc:2e:
-        d2:51:4c:29:39:11:ff:e2:15:5e:58:97:36:f6:e9:06:06:86:
-        0e:8d:9d:95:03:72:b2:8b:19:7c:e9:14:6e:a1:88:73:68:58:
-        6d:71:5e:c2:d5:d3:13:d2:5f:de:ea:03:be:e2:00:40:e5:ce:
-        fd:e6:92:31:57:c3:eb:bb:66:ac:cb:2f:1a:fa:e0:62:a2:47:
-        f4:93:43:2a:4b:6c:5e:0a:2f:f9:e7:e6:4a:63:86:b0:ac:2a:
-        a1:eb:b4:5b:67:cd:32:e4:b6:11:4b:9a:72:66:0d:a2:4a:76:
-        8f:fe:22:bc:83:fd:db:b7:d5:a9:ee:05:c9:b1:71:7e:1b:2b:
-        e1:e3:af:c0
+         85:10:90:c5:5d:de:25:8c:f2:57:7b:2d:14:1c:05:f9:71:63:
+         40:b0:e3:c1:c1:2e:13:2a:7a:b7:d6:24:58:87:eb:03:fb:0d:
+         af:e0:f4:d0:c8:bc:51:36:10:4f:79:cc:4f:66:7d:af:99:cb:
+         7b:ce:68:94:c6:36:aa:42:6e:8c:78:5b:b2:85:ca:d1:e1:a8:
+         31:d1:81:d9:f9:c1:a3:9e:34:43:ef:0a:79:7d:3e:83:61:fc:
+         14:5c:d1:dd:bc:0e:d7:51:b7:71:6e:41:7e:8b:2c:5a:9a:cb:
+         77:4b:6a:f5:06:ff:02:af:1e:e6:63:4f:bc:44:d9:3f:56:9e:
+         09:9c:43:f9:55:21:32:46:82:09:86:a9:7b:74:1c:9e:5a:2a:
+         bf:03:79:91:cb:f2:29:7f:c9:15:82:89:b9:53:cd:7e:07:90:
+         a9:5d:76:e1:19:5e:0d:58:b8:59:d5:0d:df:23:ab:6b:63:76:
+         19:9e:9c:df:b0:57:49:6c:d0:86:97:c3:6c:3c:fa:e0:56:c2:
+         1b:e3:a1:42:1a:58:62:85:9d:74:19:83:08:af:59:90:f8:99:
+         bd:67:d3:4a:ea:0e:c9:ca:61:8a:0d:8a:42:cc:90:e9:2e:c2:
+         54:73:7f:5e:af:8d:e2:32:cb:45:20:d6:19:4d:5b:77:31:cc:
+         0f:2d:c0:7e
 -----BEGIN CERTIFICATE-----
-MIIEmDCCA4CgAwIBAgIJAIdKdb6RZtg9MA0GCSqGSIb3DQEBBQUAMIGOMQswCQYD
-VQQGEwJVUzEPMA0GA1UECBMGT3JlZ29uMREwDwYDVQQHEwhQb3J0bGFuZDEOMAwG
-A1UEChMFeWFTU0wxFDASBgNVBAsTC1Byb2dyYW1taW5nMRYwFAYDVQQDEw13d3cu
-eWFzc2wuY29tMR0wGwYJKoZIhvcNAQkBFg5pbmZvQHlhc3NsLmNvbTAeFw0xMTEw
-MjQxODIxNTVaFw0xNDA3MjAxODIxNTVaMIGOMQswCQYDVQQGEwJVUzEPMA0GA1UE
-CBMGT3JlZ29uMREwDwYDVQQHEwhQb3J0bGFuZDEOMAwGA1UEChMFeWFTU0wxFDAS
-BgNVBAsTC1Byb2dyYW1taW5nMRYwFAYDVQQDEw13d3cueWFzc2wuY29tMR0wGwYJ
-KoZIhvcNAQkBFg5pbmZvQHlhc3NsLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEP
-ADCCAQoCggEBAMMD0Sv+OaQyRTtTyIQrKnx0mr2qKlIHR9amNrIHMo7Quml7xsNE
-ntSBSP0taKKLZ7uhdcg2LErSG/eLus8N+e/s8YEee5sDR5q/Zcx/ZSRppugUiVvk
-NPfFsBST9Wd7Onp44QFWVpGmE0KN0jxAnEzv0YbfN1EbDKE79fGjSjXk4c6W3xt+
-v06X0BDoqAgwga8gC0MUxXRntDKCb42GwohAmTaDuh5AciIX11JlJHOwzu8Zza7/
-eGx7wBID1E5yDVBtO6M7o5lencjZDIWz2YrZVCbbbfqsu/8lTMTRefRx04ZAGBOw
-Y7VyTjDEl4SGLVYv1xX3f8Cu9fxb5fuhutMCAwEAAaOB9jCB8zAdBgNVHQ4EFgQU
-M9hFZtdohxh+VA1wJ5HHJteFZcAwgcMGA1UdIwSBuzCBuIAUM9hFZtdohxh+VA1w
-J5HHJteFZcChgZSkgZEwgY4xCzAJBgNVBAYTAlVTMQ8wDQYDVQQIEwZPcmVnb24x
-ETAPBgNVBAcTCFBvcnRsYW5kMQ4wDAYDVQQKEwV5YVNTTDEUMBIGA1UECxMLUHJv
-Z3JhbW1pbmcxFjAUBgNVBAMTDXd3dy55YXNzbC5jb20xHTAbBgkqhkiG9w0BCQEW
-DmluZm9AeWFzc2wuY29tggkAh0p1vpFm2D0wDAYDVR0TBAUwAwEB/zANBgkqhkiG
-9w0BAQUFAAOCAQEAHHxCgSmeIc/Q2MFUb8yuFAk4/2iYmpVTdhh75jB27CgNdafe
-4M2O1VUjakcrTo38fQaj2A+tXtYEyQAz+3cn07UDs3shdDELSq8tGrOTjszzXz2Q
-P8zjVRmRe3gkLkoJuxhOYS2cxgqgNJGIcGs7SEe8eZSioE0yR1TCo9wu0lFMKTkR
-/+IVXliXNvbpBgaGDo2dlQNysosZfOkUbqGIc2hYbXFewtXTE9Jf3uoDvuIAQOXO
-/eaSMVfD67tmrMsvGvrgYqJH9JNDKktsXgov+efmSmOGsKwqoeu0W2fNMuS2EUua
-cmYNokp2j/4ivIP927fVqe4FybFxfhsr4eOvwA==
+MIIEqjCCA5KgAwIBAgIJALZjr49dYlegMA0GCSqGSIb3DQEBBQUAMIGUMQswCQYD
+VQQGEwJVUzEQMA4GA1UECAwHTW9udGFuYTEQMA4GA1UEBwwHQm96ZW1hbjEQMA4G
+A1UECgwHd29sZlNTTDEUMBIGA1UECwwLUHJvZ3JhbW1pbmcxGDAWBgNVBAMMD3d3
+dy53b2xmc3NsLmNvbTEfMB0GCSqGSIb3DQEJARYQaW5mb0B3b2xmc3NsLmNvbTAe
+Fw0xNDA3MTExNzM5NDRaFw0xNzA0MDYxNzM5NDRaMIGUMQswCQYDVQQGEwJVUzEQ
+MA4GA1UECAwHTW9udGFuYTEQMA4GA1UEBwwHQm96ZW1hbjEQMA4GA1UECgwHd29s
+ZlNTTDEUMBIGA1UECwwLUHJvZ3JhbW1pbmcxGDAWBgNVBAMMD3d3dy53b2xmc3Ns
+LmNvbTEfMB0GCSqGSIb3DQEJARYQaW5mb0B3b2xmc3NsLmNvbTCCASIwDQYJKoZI
+hvcNAQEBBQADggEPADCCAQoCggEBAMMD0Sv+OaQyRTtTyIQrKnx0mr2qKlIHR9am
+NrIHMo7Quml7xsNEntSBSP0taKKLZ7uhdcg2LErSG/eLus8N+e/s8YEee5sDR5q/
+Zcx/ZSRppugUiVvkNPfFsBST9Wd7Onp44QFWVpGmE0KN0jxAnEzv0YbfN1EbDKE7
+9fGjSjXk4c6W3xt+v06X0BDoqAgwga8gC0MUxXRntDKCb42GwohAmTaDuh5AciIX
+11JlJHOwzu8Zza7/eGx7wBID1E5yDVBtO6M7o5lencjZDIWz2YrZVCbbbfqsu/8l
+TMTRefRx04ZAGBOwY7VyTjDEl4SGLVYv1xX3f8Cu9fxb5fuhutMCAwEAAaOB/DCB
++TAdBgNVHQ4EFgQUM9hFZtdohxh+VA1wJ5HHJteFZcAwgckGA1UdIwSBwTCBvoAU
+M9hFZtdohxh+VA1wJ5HHJteFZcChgZqkgZcwgZQxCzAJBgNVBAYTAlVTMRAwDgYD
+VQQIDAdNb250YW5hMRAwDgYDVQQHDAdCb3plbWFuMRAwDgYDVQQKDAd3b2xmU1NM
+MRQwEgYDVQQLDAtQcm9ncmFtbWluZzEYMBYGA1UEAwwPd3d3LndvbGZzc2wuY29t
+MR8wHQYJKoZIhvcNAQkBFhBpbmZvQHdvbGZzc2wuY29tggkAtmOvj11iV6AwDAYD
+VR0TBAUwAwEB/zANBgkqhkiG9w0BAQUFAAOCAQEAhRCQxV3eJYzyV3stFBwF+XFj
+QLDjwcEuEyp6t9YkWIfrA/sNr+D00Mi8UTYQT3nMT2Z9r5nLe85olMY2qkJujHhb
+soXK0eGoMdGB2fnBo540Q+8KeX0+g2H8FFzR3bwO11G3cW5BfossWprLd0tq9Qb/
+Aq8e5mNPvETZP1aeCZxD+VUhMkaCCYape3QcnloqvwN5kcvyKX/JFYKJuVPNfgeQ
+qV124RleDVi4WdUN3yOra2N2GZ6c37BXSWzQhpfDbDz64FbCG+OhQhpYYoWddBmD
+CK9ZkPiZvWfTSuoOycphig2KQsyQ6S7CVHN/Xq+N4jLLRSDWGU1bdzHMDy3Afg==
 -----END CERTIFICATE-----

=== modified file 'extra/yassl/certs/client-key.der'
Binary files a/extra/yassl/certs/client-key.der	2012-02-10 14:33:27 +0000 and b/extra/yassl/certs/client-key.der	2014-08-23 03:29:03 +0000 differ

=== modified file 'extra/yassl/certs/client-keyEnc.pem'
--- a/extra/yassl/certs/client-keyEnc.pem	2014-01-08 13:01:42 +0000
+++ b/extra/yassl/certs/client-keyEnc.pem	2014-08-23 03:29:03 +0000
@@ -1,30 +1,12 @@
 -----BEGIN RSA PRIVATE KEY-----
 Proc-Type: 4,ENCRYPTED
-DEK-Info: DES-CBC,B9D8FB94E38635AB
+DEK-Info: DES-EDE3-CBC,BDE979D13CCC0ABD
 
-3OTcffWLy2Ddlu2oUwnMWkvIb3e9wLL1jrKOpC0aeb//uiawgw50+KuU4pewB5fN
-lfEJwpX4NjfPL+Nk+B1VAVrv5gwk5/SY9SwIJluutzmGS4TfVOhqi2SVd0mc9kOD
-cSWQ9ltAohFu67jdx36j2u+eghDTOjls1lM8EpzL5cu3Bp4G+ST0nXAdnGtSZdV6
-eToLWjIHiC/JqeRSsKAlG0M5verw14sbb5MO4ZQF4Tdu0fCFgFvDSUM2V4ZLtS1N
-VysLEkHoF56YKZ5H2FYLxOVDpn5lSiLnOgRbteEzsysyJ1zLxXWFFwJPCpLVNL0e
-P7OoEoCR+oAdzGkkPF+EdMoULtQP+n6U7jGx3oFVS17NORIFvyxyP0hD4pGTGLnl
-qAEk30lhKGAE5GgvA2itxZIno/sxPKr5T5Sc2yWh9RdQuLWYNrOb8Kz8J1iXV5l6
-/5TLGu5XVWIlBnUtjMFUe5M54tqGQ6SuDUlL2ud5YeLVN0T+RU/bqV2fXGoBUqKb
-Oe8PECm62Ls0wjv27BIOXXV32WSXwsywSzBqq2YXZ5zc9Q0+Mf1Zl6jKwcr8rXhv
-rA2kcpicONryggsPZnn/us1bVuWKndsCbm7A5om6HowpamNMPuxhISigzzE59L6X
-X6Sl2F0N0zhrfUVlAAlfYTrwcQVtyBDj1xp2nzJFocurJt9EylLaT0Sw3nxWtuOg
-yQuF05UPCzxqow/7dMVqtQKng0ptpsn/E+Kr/Egk1YaTpUUxref6mD3R1S+qWML8
-uqTa3y1CWd4u+aJZH2oZU3gmEd8GvuWnmhsw8iTyq1bzYIga1rQZqh4W5Ok9V+jR
-GioT/x3mTIhtuEZ1Cmhne5qM3gWYgM3rC3D4+RnUFeThOC5lHtOYHtIEpg66cs7g
-QYAn75ghEkyfG7ZvdxAU9Ngn6hckux9tFu3GmeEtdqhVOHaOMaYi60uGSk6uBnTv
-P1sUqi70kMrIBWU7TgldKlTqVdReM87Nkb2O5v1xqtoswLWIi65hFWTqt/H65c1H
-aEBG1cBqnqBMYuFk8b4TzZbuU9o1UKj0/6N5mpm//BmW65B0htEDP7IYpGF0mt0H
-LkU+4ISmuLfPfQeviYio6/yASaFkHpxfK7N8CQvmyAG9U8FHRio2QCGSb2EO+BnT
-Bti6L9oMiQbAsCLWTbvBhCVxdncFw1ncq8gkPMXjEEVUsqAo5Kg+903pRHUyHLzS
-R6R3C6tTJnNtucJ0zqQMF3K1FHS1m8GrOm+hskJLTHgZLdz6tFTYkXfZBSCwIl7s
-plg0wq9CrNC2B8MczWn/j3/h7qSI3wBNqADHMdoiOHECffCeyGEYjW3+0iMoj1m1
-wY0DIym4DDRzk6wsEesxVi8iiCVpYwWnjJAvWYECEO+hWuwCez+eGVkhCT/5g3xW
-hPSRhivNuJT05tdR5o+yqONHn1eAQH7Ar3cj+neY5WC0iS5FK9axTqbHXotofD1e
-pJX17ZVWsmIIpRvAWGD+LOcfTMZsaB9DJbkrPSWlMW3lC2S5JOq8OgfMNWIDDUN1
-guwpK5Z/lWV1qMMnaWeDVgPH/G0FssECXlCU5+/Ol654h8tm2bRXYAYHPM+OoW67
+N7yz2JV13EmQ7MZPL5wamid5+G1V1gp8FKqMemAC5JDxonS/W9oViMLUcxbfPTDx
+FznKdYSVTIQ7vv3ofmDG4MEyV/2C568N2kdtAw+jTfrZFN+IU9CI+W+In/nacirF
+02sAcvDMofustnooKNOO7/iyb5+3vRvEt5vSSRQn5WuSQ9sUKjuzoLs/lbf7fyAt
+4NeqfI3rYBZXxiUOLITOGXzGNRuFoY+o2uDCfelLAJ8uhiVG6ME3LeJEo1dT5lZ8
+CSJOLPasKg0iG4V7olM4j9FvAfZr48RRsSfUen756Jo2HpI4bad8LKhFYIdNs2Au
+WwKLmjpo6QB9hBmRshR04rEXPdrgTqLBExCE08PyaGYnWU8ggWritCeBzDQFj/n4
+sI+NO0Mymuvg98e5RpO52lg3Xnqv9RIK3guLFOmI6aEHC0PS4WwOEQ==
 -----END RSA PRIVATE KEY-----

=== added file 'extra/yassl/certs/dsa1024.der'
Binary files a/extra/yassl/certs/dsa1024.der	1970-01-01 00:00:00 +0000 and b/extra/yassl/certs/dsa1024.der	2014-08-23 03:29:03 +0000 differ

=== added file 'extra/yassl/certs/dsa1024.pem'
--- a/extra/yassl/certs/dsa1024.pem	1970-01-01 00:00:00 +0000
+++ b/extra/yassl/certs/dsa1024.pem	2014-08-23 03:29:03 +0000
@@ -0,0 +1,12 @@
+-----BEGIN DSA PRIVATE KEY-----
+MIIBvAIBAAKBgQC9Ue5KMuCKx+rG4epwxFFDzyoH4ccSwlglXsRdvqswDRK/oQvT
+NNNoWiVxTn3kvQ8qDlhWy9KjGTrqr/ttgmh56FFpe6tz4yTgCNyR9D+eGclD7lNf
+dPUc4E3SA6efopG6+ymI55bS+9xUFTG402UCrYSKT59zI2HBfuI6dltsxQIVAJHJ
+7WDQ+jBn/nmMyCQzdi+0qJx1AoGBAJJacRK36s5yGY1b6qhxWqvpoAC+SfEKylZn
+YWGYf2PM+Iwo6AgPKEw6BSsX+7Nmc4Gjyr4JWhComKi6onPamO/A2CbMM0DCxb47
+BeLBWfqWAgXVj0CODT4MQos5yugnviR/YpEgbzLxvrXr469lKWsAyB19/gFmGmQW
+cCgAwGm6AoGBAJ3LY89yHyvQ/TsQ6zlYbovjbk/ogndsMqPdNUvL4RuPTgJP/caa
+DDa0XJ7ak6A7TJ+QheLNwOXoZPYJC4EGFSDAXpYniGhbWIrVTCGe6lmZDfnx40WX
+S0kk3m/DHaC03ElLAiybxVGxyqoUfbT3Zv1JwftWMuiqHH5uADhdXuXVAhQ01VXa
+Rr8IPem35lKghVKnq/kGQw==
+-----END DSA PRIVATE KEY-----

=== removed file 'extra/yassl/certs/dsa512.der'
Binary files a/extra/yassl/certs/dsa512.der	2012-02-10 14:33:27 +0000 and b/extra/yassl/certs/dsa512.der	1970-01-01 00:00:00 +0000 differ

=== removed file 'extra/yassl/certs/dsa512.pem'
--- a/extra/yassl/certs/dsa512.pem	2006-05-03 11:08:24 +0000
+++ b/extra/yassl/certs/dsa512.pem	1970-01-01 00:00:00 +0000
@@ -1,8 +0,0 @@
------BEGIN DSA PRIVATE KEY-----
-MIH3AgEAAkEAmSlpgMk8mGhFqYL+Z+uViMW0DNYmRZUZLKAgW37faencww/zYQol
-m/IhAWrNqow358pm21b0D3160Ri5Qv0bEQIVAK0lKasKnwkcwa0DIHZ/prfdTQMJ
-AkASiJna59ALk5vm7jwhf5yztI2ljOI3gD8X0YFPvfBxtjIIVN2/AeKzdwZkdYoE
-1nk5sQIDA8YGdOWQBQoQRhkxAkAEhKAmMXIM6E9dUxdisYDKwBZfwx7qxdmYOPm+
-VlNHaM4IIlccuw13kc9bNu3zJIKQis2QfNt3+Rctc3Pvu7mCAhQjg+e+aqykxwwc
-E2V27tjDFY02uA==
------END DSA PRIVATE KEY-----

=== modified file 'extra/yassl/certs/server-cert.pem'
--- a/extra/yassl/certs/server-cert.pem	2014-01-08 13:01:42 +0000
+++ b/extra/yassl/certs/server-cert.pem	2014-08-23 03:29:03 +0000
@@ -1,17 +1,17 @@
 Certificate:
     Data:
-        Version: 1 (0x0)
-        Serial Number: 2 (0x2)
-        Signature Algorithm: sha1WithRSAEncryption
-        Issuer: C=US, ST=Montana, L=Bozeman, O=Sawtooth, OU=Consulting, CN=www.yassl.com/emailAddress=info at yassl.com
+        Version: 3 (0x2)
+        Serial Number: 1 (0x1)
+    Signature Algorithm: sha1WithRSAEncryption
+        Issuer: C=US, ST=Montana, L=Bozeman, O=Sawtooth, OU=Consulting, CN=www.wolfssl.com/emailAddress=info at wolfssl.com
         Validity
-            Not Before: Oct 24 18:27:13 2011 GMT
-            Not After : Jul 20 18:27:13 2014 GMT
-        Subject: C=US, ST=Montana, L=Bozeman, O=yaSSL, OU=Support, CN=www.yassl.com/emailAddress=info at yassl.com
+            Not Before: Jul 11 17:20:14 2014 GMT
+            Not After : Apr  6 17:20:14 2017 GMT
+        Subject: C=US, ST=Montana, L=Bozeman, O=wolfSSL, OU=Support, CN=www.wolfssl.com/emailAddress=info at wolfssl.com
         Subject Public Key Info:
             Public Key Algorithm: rsaEncryption
-            RSA Public Key: (2048 bit)
-                Modulus (2048 bit):
+                Public-Key: (2048 bit)
+                Modulus:
                     00:c0:95:08:e1:57:41:f2:71:6d:b7:d2:45:41:27:
                     01:65:c6:45:ae:f2:bc:24:30:b8:95:ce:2f:4e:d6:
                     f6:1c:88:bc:7c:9f:fb:a8:67:7f:fe:5c:9c:51:75:
@@ -31,59 +31,74 @@
                     a7:aa:eb:c4:e1:e6:61:83:c5:d2:96:df:d9:d0:4f:
                     ad:d7
                 Exponent: 65537 (0x10001)
+        X509v3 extensions:
+            X509v3 Subject Key Identifier: 
+                B3:11:32:C9:92:98:84:E2:C9:F8:D0:3B:6E:03:42:CA:1F:0E:8E:3C
+            X509v3 Authority Key Identifier: 
+                keyid:27:8E:67:11:74:C3:26:1D:3F:ED:33:63:B3:A4:D8:1D:30:E5:E8:D5
+                DirName:/C=US/ST=Montana/L=Bozeman/O=Sawtooth/OU=Consulting/CN=www.wolfssl.com/emailAddress=info at wolfssl.com
+                serial:9A:41:47:CD:A1:14:62:8C
+
+            X509v3 Basic Constraints: 
+                CA:TRUE
     Signature Algorithm: sha1WithRSAEncryption
-        71:4e:d3:62:df:cc:4c:f7:cd:b7:6e:52:0b:6c:6e:e0:bd:c2:
-        2d:07:d7:c0:b0:6e:43:1e:35:bc:30:01:50:f0:ff:99:23:6c:
-        18:1a:41:b6:11:d6:d4:19:61:fd:e4:77:97:1c:39:e1:57:ab:
-        c5:15:63:77:11:36:5e:74:e2:24:0b:1f:41:78:ad:b7:81:e7:
-        b4:40:66:80:f0:4b:91:a0:6d:a8:6e:3d:53:d9:8b:ce:2a:e1:
-        0b:45:65:87:a1:96:ae:ee:3e:88:d5:12:1f:78:17:ae:2c:c5:
-        73:44:d8:dc:f4:af:d8:cc:ae:4c:e1:0c:be:55:a4:99:f7:6e:
-        96:c0:c8:45:87:bf:dc:51:57:ff:9e:73:37:6a:18:9c:c3:f9:
-        22:7a:f4:b0:52:bd:fc:21:30:f8:c5:ff:1e:87:7d:ad:a2:5a:
-        35:f5:22:a8:b4:0a:76:38:e6:76:b0:98:af:1b:ec:8a:0a:43:
-        74:d2:85:34:37:84:07:e1:f6:23:b2:29:de:a6:b6:b7:4c:57:
-        7e:96:06:cb:a9:16:25:29:3a:03:2d:55:7d:a6:8c:a4:f7:9e:
-        81:c9:95:b6:7c:c1:4a:ce:94:66:0c:ca:88:eb:d2:09:f5:5b:
-        19:58:82:df:27:fd:67:95:78:b7:02:06:d5:a7:61:bd:ef:3a:
-        fc:b2:61:cd
+         3d:8c:70:05:5b:62:4b:bf:6c:b6:48:61:01:10:1d:5e:05:ba:
+         55:94:2c:ae:59:6f:97:80:5d:6c:86:ec:9a:eb:15:45:44:e4:
+         56:f8:75:ca:8a:45:32:f4:c7:e1:fa:f2:98:1c:91:d3:3f:e8:
+         0e:c9:1b:fa:e1:79:99:67:0e:0d:6b:8a:ec:1a:2c:59:c4:34:
+         04:8d:39:77:cd:b5:e9:60:5b:82:bf:34:ce:ed:c6:4f:3f:b4:
+         5c:4d:8a:b4:f4:0a:04:12:a0:56:c1:e1:33:37:a1:54:87:48:
+         e9:81:c2:0f:8f:6f:d3:52:4c:4c:32:4c:6b:9f:3a:04:8f:77:
+         5d:ad:dc:3d:2b:f2:c9:df:3c:60:5d:d8:fc:86:72:7c:3d:d0:
+         84:4b:8c:df:26:43:fe:c0:cc:5b:e1:36:b3:3d:32:28:a3:ef:
+         0c:20:d6:b1:50:39:d6:67:a9:8b:84:bc:92:34:eb:19:23:e8:
+         10:8f:ea:bd:18:8c:93:27:3c:74:75:8e:58:04:fa:2a:74:44:
+         7d:fc:4d:39:df:54:17:ba:78:e1:5d:6a:70:d3:7c:a2:80:81:
+         e6:19:51:91:c3:44:51:ec:bb:88:a9:53:e1:d7:a9:8c:28:f4:
+         21:1c:42:51:09:b4:12:6d:a0:d6:25:09:85:c6:2a:0c:af:a7:
+         58:e6:52:8b
 -----BEGIN CERTIFICATE-----
-MIIDkDCCAngCAQIwDQYJKoZIhvcNAQEFBQAwgZAxCzAJBgNVBAYTAlVTMRAwDgYD
-VQQIEwdNb250YW5hMRAwDgYDVQQHEwdCb3plbWFuMREwDwYDVQQKEwhTYXd0b290
-aDETMBEGA1UECxMKQ29uc3VsdGluZzEWMBQGA1UEAxMNd3d3Lnlhc3NsLmNvbTEd
-MBsGCSqGSIb3DQEJARYOaW5mb0B5YXNzbC5jb20wHhcNMTExMDI0MTgyNzEzWhcN
-MTQwNzIwMTgyNzEzWjCBijELMAkGA1UEBhMCVVMxEDAOBgNVBAgTB01vbnRhbmEx
-EDAOBgNVBAcTB0JvemVtYW4xDjAMBgNVBAoTBXlhU1NMMRAwDgYDVQQLEwdTdXBw
-b3J0MRYwFAYDVQQDEw13d3cueWFzc2wuY29tMR0wGwYJKoZIhvcNAQkBFg5pbmZv
-QHlhc3NsLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMCVCOFX
-QfJxbbfSRUEnAWXGRa7yvCQwuJXOL07W9hyIvHyf+6hnf/5cnFF194rKB+c1L4/h
-vXvAL3yrZKgX/Mpde7rgIeVyLm8uhtiVc9qsG1O5Xz/XGQ0lT+FjY1GLC2Q/rUO4
-pRxcNLOuAKBjxfZ/C1loeHOmjBipAm2vwxkBLrgQ48bMQLRpo0YzaYduxLsXpvPo
-3a1zvHsvIbX9ZlEMvVSz4W1fHLwjc9EJA4kU0hC5ZMMq0KGWSrzh1Bpbx6DAwWN4
-D0Q3MDKWgDIjlaF3uhPSl3PiXSXJag3DOWCktLBpQkIJ6dgIvDMgs1gip6rrxOHm
-YYPF0pbf2dBPrdcCAwEAATANBgkqhkiG9w0BAQUFAAOCAQEAcU7TYt/MTPfNt25S
-C2xu4L3CLQfXwLBuQx41vDABUPD/mSNsGBpBthHW1Blh/eR3lxw54VerxRVjdxE2
-XnTiJAsfQXitt4HntEBmgPBLkaBtqG49U9mLzirhC0Vlh6GWru4+iNUSH3gXrizF
-c0TY3PSv2MyuTOEMvlWkmfdulsDIRYe/3FFX/55zN2oYnMP5Inr0sFK9/CEw+MX/
-Hod9raJaNfUiqLQKdjjmdrCYrxvsigpDdNKFNDeEB+H2I7Ip3qa2t0xXfpYGy6kW
-JSk6Ay1VfaaMpPeegcmVtnzBSs6UZgzKiOvSCfVbGViC3yf9Z5V4twIG1adhve86
-/LJhzQ==
+MIIEnjCCA4agAwIBAgIBATANBgkqhkiG9w0BAQUFADCBlDELMAkGA1UEBhMCVVMx
+EDAOBgNVBAgMB01vbnRhbmExEDAOBgNVBAcMB0JvemVtYW4xETAPBgNVBAoMCFNh
+d3Rvb3RoMRMwEQYDVQQLDApDb25zdWx0aW5nMRgwFgYDVQQDDA93d3cud29sZnNz
+bC5jb20xHzAdBgkqhkiG9w0BCQEWEGluZm9Ad29sZnNzbC5jb20wHhcNMTQwNzEx
+MTcyMDE0WhcNMTcwNDA2MTcyMDE0WjCBkDELMAkGA1UEBhMCVVMxEDAOBgNVBAgM
+B01vbnRhbmExEDAOBgNVBAcMB0JvemVtYW4xEDAOBgNVBAoMB3dvbGZTU0wxEDAO
+BgNVBAsMB1N1cHBvcnQxGDAWBgNVBAMMD3d3dy53b2xmc3NsLmNvbTEfMB0GCSqG
+SIb3DQEJARYQaW5mb0B3b2xmc3NsLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEP
+ADCCAQoCggEBAMCVCOFXQfJxbbfSRUEnAWXGRa7yvCQwuJXOL07W9hyIvHyf+6hn
+f/5cnFF194rKB+c1L4/hvXvAL3yrZKgX/Mpde7rgIeVyLm8uhtiVc9qsG1O5Xz/X
+GQ0lT+FjY1GLC2Q/rUO4pRxcNLOuAKBjxfZ/C1loeHOmjBipAm2vwxkBLrgQ48bM
+QLRpo0YzaYduxLsXpvPo3a1zvHsvIbX9ZlEMvVSz4W1fHLwjc9EJA4kU0hC5ZMMq
+0KGWSrzh1Bpbx6DAwWN4D0Q3MDKWgDIjlaF3uhPSl3PiXSXJag3DOWCktLBpQkIJ
+6dgIvDMgs1gip6rrxOHmYYPF0pbf2dBPrdcCAwEAAaOB/DCB+TAdBgNVHQ4EFgQU
+sxEyyZKYhOLJ+NA7bgNCyh8OjjwwgckGA1UdIwSBwTCBvoAUJ45nEXTDJh0/7TNj
+s6TYHTDl6NWhgZqkgZcwgZQxCzAJBgNVBAYTAlVTMRAwDgYDVQQIDAdNb250YW5h
+MRAwDgYDVQQHDAdCb3plbWFuMREwDwYDVQQKDAhTYXd0b290aDETMBEGA1UECwwK
+Q29uc3VsdGluZzEYMBYGA1UEAwwPd3d3LndvbGZzc2wuY29tMR8wHQYJKoZIhvcN
+AQkBFhBpbmZvQHdvbGZzc2wuY29tggkAmkFHzaEUYowwDAYDVR0TBAUwAwEB/zAN
+BgkqhkiG9w0BAQUFAAOCAQEAPYxwBVtiS79stkhhARAdXgW6VZQsrllvl4BdbIbs
+musVRUTkVvh1yopFMvTH4frymByR0z/oDskb+uF5mWcODWuK7BosWcQ0BI05d821
+6WBbgr80zu3GTz+0XE2KtPQKBBKgVsHhMzehVIdI6YHCD49v01JMTDJMa586BI93
+Xa3cPSvyyd88YF3Y/IZyfD3QhEuM3yZD/sDMW+E2sz0yKKPvDCDWsVA51mepi4S8
+kjTrGSPoEI/qvRiMkyc8dHWOWAT6KnREffxNOd9UF7p44V1qcNN8ooCB5hlRkcNE
+Uey7iKlT4depjCj0IRxCUQm0Em2g1iUJhcYqDK+nWOZSiw==
 -----END CERTIFICATE-----
 Certificate:
     Data:
         Version: 3 (0x2)
         Serial Number:
-            e9:d0:a7:5f:79:25:f4:3c
-        Signature Algorithm: sha1WithRSAEncryption
-        Issuer: C=US, ST=Montana, L=Bozeman, O=Sawtooth, OU=Consulting, CN=www.yassl.com/emailAddress=info at yassl.com
+            9a:41:47:cd:a1:14:62:8c
+    Signature Algorithm: sha1WithRSAEncryption
+        Issuer: C=US, ST=Montana, L=Bozeman, O=Sawtooth, OU=Consulting, CN=www.wolfssl.com/emailAddress=info at wolfssl.com
         Validity
-            Not Before: Oct 24 18:18:15 2011 GMT
-            Not After : Jul 20 18:18:15 2014 GMT
-        Subject: C=US, ST=Montana, L=Bozeman, O=Sawtooth, OU=Consulting, CN=www.yassl.com/emailAddress=info at yassl.com
+            Not Before: Jul 11 03:20:08 2014 GMT
+            Not After : Apr  6 03:20:08 2017 GMT
+        Subject: C=US, ST=Montana, L=Bozeman, O=Sawtooth, OU=Consulting, CN=www.wolfssl.com/emailAddress=info at wolfssl.com
         Subject Public Key Info:
             Public Key Algorithm: rsaEncryption
-            RSA Public Key: (2048 bit)
-                Modulus (2048 bit):
+                Public-Key: (2048 bit)
+                Modulus:
                     00:bf:0c:ca:2d:14:b2:1e:84:42:5b:cd:38:1f:4a:
                     f2:4d:75:10:f1:b6:35:9f:df:ca:7d:03:98:d3:ac:
                     de:03:66:ee:2a:f1:d8:b0:7d:6e:07:54:0b:10:98:
@@ -104,54 +119,55 @@ JSk6Ay1VfaaMpPeegcmVtnzBSs6UZgzKiOvSCfVb
                     36:79
                 Exponent: 65537 (0x10001)
         X509v3 extensions:
-            X509v3 Subject Key Identifier:
+            X509v3 Subject Key Identifier: 
                 27:8E:67:11:74:C3:26:1D:3F:ED:33:63:B3:A4:D8:1D:30:E5:E8:D5
-            X509v3 Authority Key Identifier:
+            X509v3 Authority Key Identifier: 
                 keyid:27:8E:67:11:74:C3:26:1D:3F:ED:33:63:B3:A4:D8:1D:30:E5:E8:D5
-                DirName:/C=US/ST=Montana/L=Bozeman/O=Sawtooth/OU=Consulting/CN=www.yassl.com/emailAddress=info at yassl.com
-                serial:E9:D0:A7:5F:79:25:F4:3C
+                DirName:/C=US/ST=Montana/L=Bozeman/O=Sawtooth/OU=Consulting/CN=www.wolfssl.com/emailAddress=info at wolfssl.com
+                serial:9A:41:47:CD:A1:14:62:8C
 
-            X509v3 Basic Constraints:
+            X509v3 Basic Constraints: 
                 CA:TRUE
     Signature Algorithm: sha1WithRSAEncryption
-        5f:86:14:f4:51:8b:bc:a5:4e:30:da:5e:ac:9a:f8:6c:d9:26:
-        4b:93:f9:e3:1c:89:6f:9e:ee:b3:9d:77:3e:89:20:76:a3:e6:
-        e8:86:15:21:db:e2:33:b2:34:d5:d0:9f:f3:c1:a4:87:92:5c:
-        f9:d1:ff:30:2f:8e:03:bc:b3:3c:0c:32:a3:90:5f:1a:90:1e:
-        af:9d:f3:9e:d7:07:02:a9:7d:27:66:63:2f:af:18:d7:ac:18:
-        98:8c:83:8f:38:f3:0b:ac:36:10:75:fb:ca:76:13:50:5b:02:
-        8f:73:bf:e3:a0:ee:83:52:25:54:ce:26:ce:9c:bd:2f:79:ab:
-        1b:60:b8:92:f1:03:c0:fc:3b:08:d9:c0:ad:d5:72:08:25:80:
-        61:2d:dc:9f:a7:83:62:07:47:e0:07:4c:4b:07:30:04:a9:87:
-        1c:55:7f:07:12:d0:cb:42:5d:cb:cf:66:01:1a:17:ee:f9:0f:
-        60:b7:db:6f:68:e5:4e:41:62:6e:d3:6f:60:4f:4b:27:de:cf:
-        18:07:f1:13:5d:cb:3f:a9:25:44:da:52:5c:c8:04:e1:56:12:
-        f5:2a:90:4e:d1:e2:af:01:b5:23:a1:ec:31:da:7b:63:69:c4:
-        b8:f3:e7:ce:a1:3d:c0:db:6d:f3:b2:d9:46:c8:9f:c3:b8:70:
-        5a:1f:7f:ca
+         79:78:0c:6d:79:88:91:fc:3a:15:9c:f9:27:62:16:f0:21:1f:
+         fa:7d:3f:a2:a8:32:1e:f7:f2:11:a9:74:16:74:5e:dc:18:ca:
+         f0:00:2a:d5:03:06:26:30:f1:47:83:fd:32:6e:fc:ed:aa:4f:
+         7d:0c:63:60:31:2f:7c:0c:bf:99:66:87:ed:27:08:86:2d:c4:
+         33:e8:98:23:1c:fe:a3:db:9a:49:4e:fc:5a:42:ef:71:c3:3f:
+         ad:dc:4a:a8:d2:a3:1d:09:ac:33:04:7b:86:f3:6d:00:59:a3:
+         c8:db:d1:3c:73:f6:0e:90:d6:5e:49:e0:bf:36:63:08:7b:a5:
+         b0:8f:35:3b:56:8c:11:35:49:04:1c:d0:e7:ba:56:c5:0d:0a:
+         91:8d:d6:b7:62:19:34:12:52:4c:d2:6d:7c:c5:3d:0f:18:81:
+         54:cb:f6:3c:e5:84:d2:d6:71:15:ec:1a:34:0b:f0:a0:21:74:
+         43:c8:a3:b0:df:d9:67:da:e2:ad:93:48:f8:a0:87:bd:79:14:
+         e0:62:0a:df:f7:31:2e:31:7b:d1:32:2a:0a:fe:5d:14:ef:d9:
+         64:50:e4:83:91:bc:70:0d:d7:88:8d:d9:bc:84:0e:c5:1a:b3:
+         bf:64:02:4e:51:91:a4:a2:85:15:83:af:f0:5b:9b:28:49:5f:
+         b2:b3:03:d8
 -----BEGIN CERTIFICATE-----
-MIIEnjCCA4agAwIBAgIJAOnQp195JfQ8MA0GCSqGSIb3DQEBBQUAMIGQMQswCQYD
-VQQGEwJVUzEQMA4GA1UECBMHTW9udGFuYTEQMA4GA1UEBxMHQm96ZW1hbjERMA8G
-A1UEChMIU2F3dG9vdGgxEzARBgNVBAsTCkNvbnN1bHRpbmcxFjAUBgNVBAMTDXd3
-dy55YXNzbC5jb20xHTAbBgkqhkiG9w0BCQEWDmluZm9AeWFzc2wuY29tMB4XDTEx
-MTAyNDE4MTgxNVoXDTE0MDcyMDE4MTgxNVowgZAxCzAJBgNVBAYTAlVTMRAwDgYD
-VQQIEwdNb250YW5hMRAwDgYDVQQHEwdCb3plbWFuMREwDwYDVQQKEwhTYXd0b290
-aDETMBEGA1UECxMKQ29uc3VsdGluZzEWMBQGA1UEAxMNd3d3Lnlhc3NsLmNvbTEd
-MBsGCSqGSIb3DQEJARYOaW5mb0B5YXNzbC5jb20wggEiMA0GCSqGSIb3DQEBAQUA
-A4IBDwAwggEKAoIBAQC/DMotFLIehEJbzTgfSvJNdRDxtjWf38p9A5jTrN4DZu4q
-8diwfW4HVAsQmCFNgMsSIOfMT95FfclydzLqypC7aVIQAy+o85XF8YtiVhvvZ2+k
-EEGVrQqb46XAsNJwdlAwW6joCCx87aeieo04KRysx+3yfJWwlYJ9SVw4zXcl772A
-dVOUPD3KY1ufFbXTHRMvGdE823Y6zLh9yeXC19pAb9gh3HMbQi1TnP4a/H2rejY/
-mN6EfAVnzmoUOIep8Yy1aMtof3EgK/WgY/VWL6Mm0rdvsVoX1ziZCP6TWG/+wxNJ
-CBYLp01nAFIxZyNOmO1RRR25BNkL7Ngos0u97TZ5AgMBAAGjgfgwgfUwHQYDVR0O
-BBYEFCeOZxF0wyYdP+0zY7Ok2B0w5ejVMIHFBgNVHSMEgb0wgbqAFCeOZxF0wyYd
-P+0zY7Ok2B0w5ejVoYGWpIGTMIGQMQswCQYDVQQGEwJVUzEQMA4GA1UECBMHTW9u
-dGFuYTEQMA4GA1UEBxMHQm96ZW1hbjERMA8GA1UEChMIU2F3dG9vdGgxEzARBgNV
-BAsTCkNvbnN1bHRpbmcxFjAUBgNVBAMTDXd3dy55YXNzbC5jb20xHTAbBgkqhkiG
-9w0BCQEWDmluZm9AeWFzc2wuY29tggkA6dCnX3kl9DwwDAYDVR0TBAUwAwEB/zAN
-BgkqhkiG9w0BAQUFAAOCAQEAX4YU9FGLvKVOMNperJr4bNkmS5P54xyJb57us513
-PokgdqPm6IYVIdviM7I01dCf88Gkh5Jc+dH/MC+OA7yzPAwyo5BfGpAer53zntcH
-Aql9J2ZjL68Y16wYmIyDjzjzC6w2EHX7ynYTUFsCj3O/46Dug1IlVM4mzpy9L3mr
-G2C4kvEDwPw7CNnArdVyCCWAYS3cn6eDYgdH4AdMSwcwBKmHHFV/BxLQy0Jdy89m
-ARoX7vkPYLfbb2jlTkFibtNvYE9LJ97PGAfxE13LP6klRNpSXMgE4VYS9SqQTtHi
-rwG1I6HsMdp7Y2nEuPPnzqE9wNtt87LZRsifw7hwWh9/yg==
+MIIEqjCCA5KgAwIBAgIJAJpBR82hFGKMMA0GCSqGSIb3DQEBBQUAMIGUMQswCQYD
+VQQGEwJVUzEQMA4GA1UECAwHTW9udGFuYTEQMA4GA1UEBwwHQm96ZW1hbjERMA8G
+A1UECgwIU2F3dG9vdGgxEzARBgNVBAsMCkNvbnN1bHRpbmcxGDAWBgNVBAMMD3d3
+dy53b2xmc3NsLmNvbTEfMB0GCSqGSIb3DQEJARYQaW5mb0B3b2xmc3NsLmNvbTAe
+Fw0xNDA3MTEwMzIwMDhaFw0xNzA0MDYwMzIwMDhaMIGUMQswCQYDVQQGEwJVUzEQ
+MA4GA1UECAwHTW9udGFuYTEQMA4GA1UEBwwHQm96ZW1hbjERMA8GA1UECgwIU2F3
+dG9vdGgxEzARBgNVBAsMCkNvbnN1bHRpbmcxGDAWBgNVBAMMD3d3dy53b2xmc3Ns
+LmNvbTEfMB0GCSqGSIb3DQEJARYQaW5mb0B3b2xmc3NsLmNvbTCCASIwDQYJKoZI
+hvcNAQEBBQADggEPADCCAQoCggEBAL8Myi0Ush6EQlvNOB9K8k11EPG2NZ/fyn0D
+mNOs3gNm7irx2LB9bgdUCxCYIU2AyxIg58xP3kV9yXJ3MurKkLtpUhADL6jzlcXx
+i2JWG+9nb6QQQZWtCpvjpcCw0nB2UDBbqOgILHztp6J6jTgpHKzH7fJ8lbCVgn1J
+XDjNdyXvvYB1U5Q8PcpjW58VtdMdEy8Z0TzbdjrMuH3J5cLX2kBv2CHccxtCLVOc
+/hr8fat6Nj+Y3oR8BWfOahQ4h6nxjLVoy2h/cSAr9aBj9VYvoybSt2+xWhfXOJkI
+/pNYb/7DE0kIFgunTWcAUjFnI06Y7VFFHbkE2Qvs2CizS73tNnkCAwEAAaOB/DCB
++TAdBgNVHQ4EFgQUJ45nEXTDJh0/7TNjs6TYHTDl6NUwgckGA1UdIwSBwTCBvoAU
+J45nEXTDJh0/7TNjs6TYHTDl6NWhgZqkgZcwgZQxCzAJBgNVBAYTAlVTMRAwDgYD
+VQQIDAdNb250YW5hMRAwDgYDVQQHDAdCb3plbWFuMREwDwYDVQQKDAhTYXd0b290
+aDETMBEGA1UECwwKQ29uc3VsdGluZzEYMBYGA1UEAwwPd3d3LndvbGZzc2wuY29t
+MR8wHQYJKoZIhvcNAQkBFhBpbmZvQHdvbGZzc2wuY29tggkAmkFHzaEUYowwDAYD
+VR0TBAUwAwEB/zANBgkqhkiG9w0BAQUFAAOCAQEAeXgMbXmIkfw6FZz5J2IW8CEf
++n0/oqgyHvfyEal0FnRe3BjK8AAq1QMGJjDxR4P9Mm787apPfQxjYDEvfAy/mWaH
+7ScIhi3EM+iYIxz+o9uaSU78WkLvccM/rdxKqNKjHQmsMwR7hvNtAFmjyNvRPHP2
+DpDWXkngvzZjCHulsI81O1aMETVJBBzQ57pWxQ0KkY3Wt2IZNBJSTNJtfMU9DxiB
+VMv2POWE0tZxFewaNAvwoCF0Q8ijsN/ZZ9rirZNI+KCHvXkU4GIK3/cxLjF70TIq
+Cv5dFO/ZZFDkg5G8cA3XiI3ZvIQOxRqzv2QCTlGRpKKFFYOv8FubKElfsrMD2A==
+-----END CERTIFICATE-----

=== modified file 'extra/yassl/certs/server-keyEnc.pem'
--- a/extra/yassl/certs/server-keyEnc.pem	2014-01-08 13:01:42 +0000
+++ b/extra/yassl/certs/server-keyEnc.pem	2014-08-23 03:29:03 +0000
@@ -1,30 +1,30 @@
 -----BEGIN RSA PRIVATE KEY-----
 Proc-Type: 4,ENCRYPTED
-DEK-Info: DES-CBC,08132C1FFF5BC8CC
+DEK-Info: DES-CBC,136C7D8A69656668
 
-W+krChiFlNU+koE0Bep+U45OG4V4IFZv67ex6yJHgcsPd+HQ692A/h+5dYc8rdlW
-2LDgSODHHIMTt6RVJDxXxXs3qFmJQbnVXeXxV209X8EfaRarh+yiMKeUP6K8hIvj
-+IYRma6iKOs+d4KlcZZudGs2f/x8nhxXbmQtrLhGd4h91mnJk2sKmiz7UkUy6Qng
-gOHnT2dfF4Qk2ZYsjisRHjpWZiqh40GO1LuTgUjZoH+LGhMwMwOAE6+ss5xa+yE+
-Xd9Yljm0/QW68JILkCJQjLDRvPGxDJyvYq6TT/kSElsRlI/AuRrZH1YVD3hn/xjx
-tDoEB+JEbH6iu9ne2srxnGSKLzoUbb4XPaCjLIW9BJf7oANmmFQpZZQiRTyIUVWi
-IE5hJciqF7ra7IwfZAW/PeWGXpzNOVN9QAvyAMsmvUCzJdxd1ySUatjhZ+mSFYGk
-rDVtyrgt4ZQgV0EdJV0Yn1ZWMOk1qEKXT0JAnI+9S6Y+QEdwXmdz3xlVuq61Jvub
-iJUVepnD/1QeFfWy8JwlscWpWFrkr569f3SNG+FGb6fufnUP7K6sX3urj+pj1QET
-f9NmmvLBsVsbj1Egg3wnxbVHIUPky64LY04wtNJaAwhuG6mKCvaClKYMTmTCyrzP
-aRwghhMQ3yHUbo2A1ZppYsXXg8lX30eW+5O77N9Q3xfP0phODHXsnXhBH09ml1JQ
-MmiCaL5n6sIVcjtFmN/kyaEuz/1VrBSaDCPeW88n61UXUidXrGOZN/2c/2xFir8B
-2rdE82lQLl07SJxzQQ6aJVvrc5tnbV/ENDySS5dG6Yl/w89/nuu0RFHmAweKqfGC
-8m0XOkmonIk6h3YT7XrkE0b/2jkf1mMaMKrGGfRmxqNt1nGxMCJHAO/Sn9v+I9rU
-W7HCZ04RTnRp1BXcqDxdwlveDKJRVfiKOSSEOpEXXlexS5R1vikmxrCwK5YVUTkT
-3tgahVtHJkFHnBHBzXyHUDwWahxZaU9TO43z0JFxs0zINWUWppldf0oyWjP1FSrI
-a9tXBs7aoykUY9Av9K0p4UJJU005qzD/tuegZFX34wRETJO0BJnlZHTTZSqLSVX+
-KZg4nPq8Xii1VHta3tgw7up2z1tpepsBerTsRQ1+IDpxLaIxgt9am0hXVTiMLex/
-DD9UvQC/eBUmpmWraK/Mqeq/UrPl+lmeoXsG6LWIvEp9d19rJ/3OhIJf2pDh9dC8
-NzJoNP9qOrDajAwzeeF5dbQxCaG+X8am9s4wryC0p+NrQ0tzv8efey0zBodDIOgo
-F1G7+ADgHy+V565q8sdL52xx0xB9Ty5p9IOfOUbxa3K65TJf/I/QAQjl4LyTbkfr
-kzpYAG2uF55EB3Eq3aMrj47pzZy0ELXXN2qYJ9Oelgl+h6MzYbmd+Wm+A2Cofv3u
-7ANAyjAYN7/Lo3lTFAt7sXAXGKnqw62JNSSMkIqZVrG5dn7Jxj5AJCVyYxTrm6Y+
-DDcblX47XrWxVoVJN/dLJZ8FzWs4o/8w9Yn8U54Ci7F0g+j2f+OpDy9PGFYT9pKw
-xWG8chkYE6QPilEYvdi26ZnZ3u236q9PMtyRP87NmBN2sLkj/rbBTzBxWIaGS+Mt
+jvNTyPaztxPIoAzbdmZnD0Zw2+60tMxNc0GMHNmeOyG25aHP/dT+TWiKFpFVkkkY
+uoCIhYUyw7gmpw+CnRJwWd+ans4nrvAjwy5oWJvarvsyUpjqvnPoIlAqd+d4TDKN
+eESzcI76+gHdisAtCrQD+fGqgTZhli5TgDbnpasL/QnY2qDlutvakkVw7gPXe156
+2Phy8WN+efr65J6wt3K/dj7Datl9u4JeHQK81gYyWBVX+EagEjPGDzkFQCj9Z0q7
+8K3iB5GW1JAqJS0IfZPB40AnSTF/n1TL1SN3qfU3l7hTGNrx9o7580bgDEoAR7pI
+F8eZlS15KHtZmh11AnU1KTKZ6kmgnNqeMTGMN6N0ct2wMKW1dV87eTDlF0oiR2ol
+XwtFgKmrIjfpmzkdWjbJmWnGMjD56KdiFZga/ZyKMsPrVoYLgfJEpn36iQspfygx
+HCGNTf0PjIsjEWU0WyQiF86t+c45W3wNFsv/AxVyfMl+su02yrd6u2ecuQDir3Cs
+b2k8IKtQgVe/NIpEWLKuiHG5oedIPPQyDYK5uq+gHxCGeOoKnWlsWFEHZRiza4X5
+tbgTrJB8Sw0ENWrvVGGmQZN4pSImlsMwzQ2qik5CQ00N1b3+56/obn0z75I3bUSb
+tC5g8DRjl6oclAenNgh/MYMT287y5W2dD4npxHcekX4O3J2CDXNfg4vV2j5GRxtg
+LVJdYE2p7bpYePCDHrYng8b9ubBprx0CrEnkIvvtUjzNPf6VDL0+MBKl+XgR2/nz
+iRqTuZnlGGOyM+KYDwXpgwfs/HfvFGksxTAlO/40GkGh+WGPaIoNyCK0SgQKhyb4
+JIkR0vd2/yLg3lWMJrGwh7A0Gm07Z/781oURP3uWd+PaCOgGcd5ipcAjcEyuxNly
+AthipWqmQWUcbf6Z2N9j3OA22Hv2Uzk8HSfi9VOZtL9svdEEZ0NnOekJgnc6stQp
+bXiknlK/T5WdrWxSyCfgUq68Vf6DFfIRAVuFdJ3WHT2wVXHrDfft6D+Ne/XCxPoE
+8zGmkyusaph33UHQ1oNyUbLbwcDCDSmOo8gYoedD3IwxtMA3wJRugomqosItwV8X
+vkgmcy8eSE/+gZUxJEN2gnLcfKFhCkC80J6oFhmoDD6vuUnPHcFdKZgVPw2rzPk5
+Vb1kX+gpORplYmKpq1vz/ujscL4T0TmYLz02hkIS4edpW55ncTTv7JWefpRiTB1J
+RB3td3me4htqR+YIDWJ+emrOmqsCG2WvpAS+MTw2mj1jYk9LL/ZYobTjSCEWmuwT
+yVK6m303irR7HQDauxhslRFgoK21w63viOyj5NKIU1gQtaAANGDxcgORC1XLjjgt
+oNutSQA+7P42vfHSHK4cnTBXl6V32H/GyVpdHQOZqSrqIjgLmUZodSmRPROxosZF
+a46B1O7m/rJFxkiKW4vod+/WqjoE0Hhfrb8rRrkRjzGeCqqSSnQ3vrunVkvF8hlA
+b6FOv4ZBJL4piC1GKH+rscqke9NEiDqXN8C3iYz86jbck/Ha21yUS8T3X7N52sg+
+B3AmOGnLK6BebYeto9vZxQjacChJZSixSxLV+l9/nVQ0+mW42azHdzk0ru59TGAj
 -----END RSA PRIVATE KEY-----

=== modified file 'extra/yassl/include/buffer.hpp'
--- a/extra/yassl/include/buffer.hpp	2013-09-14 01:09:36 +0000
+++ b/extra/yassl/include/buffer.hpp	2014-10-09 08:30:11 +0000
@@ -1,5 +1,5 @@
 /*
-   Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
+   Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -48,7 +48,11 @@ const uint AUTO = 0xFEEDBEEF;
 
 
 struct NoCheck {
-    void check(uint, uint);
+    int check(uint, uint);
+};
+
+struct Check {
+    int check(uint, uint);
 };
 
 /* input_buffer operates like a smart c style array with a checking option, 
@@ -60,11 +64,13 @@ struct NoCheck {
  * write to the buffer bulk wise and have the correct size
  */
 
-class input_buffer : public NoCheck {
+class input_buffer : public Check {
     uint   size_;                // number of elements in buffer
     uint   current_;             // current offset position in buffer
     byte*  buffer_;              // storage for buffer
     byte*  end_;                 // end of storage marker
+    int    error_;               // error number
+    byte   zero_;                // for returning const reference to zero byte
 public:
     input_buffer();
 
@@ -93,6 +99,10 @@ class input_buffer : public NoCheck {
 
     uint get_remaining() const;
 
+    int  get_error()     const;
+
+    void set_error();
+
     void set_current(uint i);
 
     // read only access through [], advance current
@@ -103,7 +113,7 @@ class input_buffer : public NoCheck {
     bool eof();
 
     // peek ahead
-    byte peek() const;
+    byte peek();
 
     // write function, should use at/near construction
     void assign(const byte* t, uint s);

=== modified file 'extra/yassl/include/openssl/ssl.h'
--- a/extra/yassl/include/openssl/ssl.h	2014-05-09 10:35:11 +0000
+++ b/extra/yassl/include/openssl/ssl.h	2014-10-09 08:30:11 +0000
@@ -34,7 +34,7 @@
 #include "rsa.h"
 
 
-#define YASSL_VERSION "2.3.0"
+#define YASSL_VERSION "2.3.4"
 
 
 #if defined(__cplusplus)

=== modified file 'extra/yassl/src/buffer.cpp'
--- a/extra/yassl/src/buffer.cpp	2014-03-26 21:25:38 +0000
+++ b/extra/yassl/src/buffer.cpp	2014-10-09 08:30:11 +0000
@@ -1,5 +1,5 @@
 /*
-   Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
+   Copyright (c) 2005, 2014, Oracle and/or its affiliates. All rights reserved.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -35,8 +35,19 @@ namespace yaSSL {
 
 
 
-void NoCheck::check(uint, uint) 
+/* return 0 on check success, always true for NoCheck policy */
+int NoCheck::check(uint, uint) 
 {
+    return 0;
+}
+
+/* return 0 on check success */
+int Check::check(uint i, uint max) 
+{
+    if (i < max)
+        return 0;
+
+    return -1;
 }
 
 
@@ -51,18 +62,20 @@ void NoCheck::check(uint, uint)
 
 
 input_buffer::input_buffer() 
-    : size_(0), current_(0), buffer_(0), end_(0) 
+    : size_(0), current_(0), buffer_(0), end_(0), error_(0), zero_(0)
 {}
 
 
 input_buffer::input_buffer(uint s) 
-    : size_(0), current_(0), buffer_(NEW_YS byte[s]), end_(buffer_ + s)
+    : size_(0), current_(0), buffer_(NEW_YS byte[s]), end_(buffer_ + s),
+      error_(0), zero_(0)
 {}
 
 
 // with assign
 input_buffer::input_buffer(uint s, const byte* t, uint len) 
-    : size_(0), current_(0), buffer_(NEW_YS byte[s]), end_(buffer_ + s) 
+    : size_(0), current_(0), buffer_(NEW_YS byte[s]), end_(buffer_ + s),
+      error_(0), zero_(0)
 { 
     assign(t, len); 
 }
@@ -77,8 +90,10 @@ input_buffer::~input_buffer()
 // users can pass defualt zero length buffer and then allocate
 void input_buffer::allocate(uint s) 
 { 
-    buffer_ = NEW_YS byte[s];
-    end_ = buffer_ + s; 
+    if (error_ == 0) {
+        buffer_ = NEW_YS byte[s];
+        end_ = buffer_ + s;
+    }
 }
 
 
@@ -93,40 +108,67 @@ byte* input_buffer::get_buffer() const
 // if you know the size before the write use assign()
 void input_buffer::add_size(uint i) 
 { 
-    check(size_ + i-1, get_capacity()); 
-    size_ += i; 
+    if (error_ == 0 && check(size_ + i-1, get_capacity()) == 0)
+        size_ += i;
+    else
+        error_ = -1;
 }
 
 
 uint input_buffer::get_capacity()  const 
 { 
-    return (uint) (end_ - buffer_); 
+    if (error_ == 0)
+        return end_ - buffer_;
+
+    return 0;
 }
 
 
 uint input_buffer::get_current()   const 
 { 
-    return current_; 
+    if (error_ == 0)
+        return current_;
+
+    return 0;
 }
 
 
 uint input_buffer::get_size()      const 
 { 
-    return size_; 
+    if (error_ == 0)
+        return size_;
+
+    return 0;
 }
 
 
 uint input_buffer::get_remaining() const 
 { 
-    return size_ - current_; 
+    if (error_ == 0)
+        return size_ - current_;
+
+    return 0;
+}
+
+
+int input_buffer::get_error() const 
+{ 
+    return error_;
+}
+
+
+void input_buffer::set_error()
+{ 
+    error_ = -1;
 }
 
 
 void input_buffer::set_current(uint i) 
 {
-    if (i)
-        check(i - 1, size_); 
-    current_ = i; 
+    if (error_ == 0 && i && check(i - 1, size_) == 0)
+        current_ = i;
+    else
+        error_ = -1;
 }
 
 
@@ -134,40 +176,59 @@ void input_buffer::set_current(uint i)
 // user passes in AUTO index for ease of use
 const byte& input_buffer::operator[](uint i) 
 {
-    check(current_, size_);
-    return buffer_[current_++];
+    if (error_ == 0 && check(current_, size_) == 0)
+        return buffer_[current_++];
+
+    error_ = -1;
+    return zero_;
 }
 
 
 // end of input test
 bool input_buffer::eof() 
 { 
+    if (error_ != 0)
+        return true;
+
     return current_ >= size_; 
 }
 
 
 // peek ahead
-byte input_buffer::peek() const
+byte input_buffer::peek()
 {
-    return buffer_[current_];
+    if (error_ == 0 && check(current_, size_) == 0)
+        return buffer_[current_];
+
+    error_ = -1;
+    return 0;
 }
 
 
 // write function, should use at/near construction
 void input_buffer::assign(const byte* t, uint s)
 {
-    check(current_, get_capacity());
-    add_size(s);
-    memcpy(&buffer_[current_], t, s);
+    if (t && error_ == 0 && check(current_, get_capacity()) == 0) {
+        add_size(s);
+        if (error_ == 0) {
+            memcpy(&buffer_[current_], t, s);
+            return;  // success
+        }
+    }
+
+    error_ = -1;
 }
 
 
 // use read to query input, adjusts current
 void input_buffer::read(byte* dst, uint length)
 {
-    check(current_ + length - 1, size_);
-    memcpy(dst, &buffer_[current_], length);
-    current_ += length;
+    if (dst && error_ == 0 && check(current_ + length - 1, size_) == 0) {
+        memcpy(dst, &buffer_[current_], length);
+        current_ += length;
+    } else {
+        error_ = -1;
+    }
 }
 
 

=== modified file 'extra/yassl/src/handshake.cpp'
--- a/extra/yassl/src/handshake.cpp	2014-05-09 10:35:11 +0000
+++ b/extra/yassl/src/handshake.cpp	2014-10-09 08:30:11 +0000
@@ -522,7 +522,7 @@ void buildSHA_CertVerify(SSL& ssl, byte*
 // some clients still send sslv2 client hello
 void ProcessOldClientHello(input_buffer& input, SSL& ssl)
 {
-    if (input.get_remaining() < 2) {
+    if (input.get_error() || input.get_remaining() < 2) {
         ssl.SetError(bad_input);
         return;
     }
@@ -549,20 +549,24 @@ void ProcessOldClientHello(input_buffer&
 
     byte len[2];
 
-    input.read(len, sizeof(len));
+    len[0] = input[AUTO];
+    len[1] = input[AUTO];
     ato16(len, ch.suite_len_);
 
-    input.read(len, sizeof(len));
+    len[0] = input[AUTO];
+    len[1] = input[AUTO];
     uint16 sessionLen;
     ato16(len, sessionLen);
     ch.id_len_ = sessionLen;
 
-    input.read(len, sizeof(len));
+    len[0] = input[AUTO];
+    len[1] = input[AUTO];
     uint16 randomLen;
     ato16(len, randomLen);
 
-    if (ch.suite_len_ > MAX_SUITE_SZ || sessionLen > ID_LEN ||
-        randomLen > RAN_LEN) {
+    if (input.get_error() || ch.suite_len_ > MAX_SUITE_SZ ||
+                             ch.suite_len_ > input.get_remaining() ||
+                             sessionLen > ID_LEN || randomLen > RAN_LEN) {
         ssl.SetError(bad_input);
         return;
     }
@@ -580,13 +584,12 @@ void ProcessOldClientHello(input_buffer&
     ch.suite_len_ = j;
 
     if (ch.id_len_)
-        input.read(ch.session_id_, ch.id_len_);
+        input.read(ch.session_id_, ch.id_len_);   // id_len_ from sessionLen
 
     if (randomLen < RAN_LEN)
         memset(ch.random_, 0, RAN_LEN - randomLen);
     input.read(&ch.random_[RAN_LEN - randomLen], randomLen);
  
-
     ch.Process(input, ssl);
 }
 
@@ -788,6 +791,9 @@ int DoProcessReply(SSL& ssl)
             ssl.verifyState(hdr);
         }
 
+        if (ssl.GetError())
+            return 0;
+
         // make sure we have enough input in buffer to process this record
         if (needHdr || hdr.length_ > buffer.get_remaining()) {
             // put header in front for next time processing
@@ -800,6 +806,9 @@ int DoProcessReply(SSL& ssl)
 
         while (buffer.get_current() < hdr.length_ + RECORD_HEADER + offset) {
             // each message in record, can be more than 1 if not encrypted
+            if (ssl.GetError())
+                return 0;
+
             if (ssl.getSecurity().get_parms().pending_ == false) { // cipher on
                 // sanity check for malicious/corrupted/illegal input
                 if (buffer.get_remaining() < hdr.length_) {

=== modified file 'extra/yassl/src/yassl_imp.cpp'
--- a/extra/yassl/src/yassl_imp.cpp	2014-05-09 10:35:11 +0000
+++ b/extra/yassl/src/yassl_imp.cpp	2014-10-09 08:30:11 +0000
@@ -220,16 +220,26 @@ void DH_Server::build(SSL& ssl)
 // read PreMaster secret and decrypt, server side
 void EncryptedPreMasterSecret::read(SSL& ssl, input_buffer& input)
 {
+    if (input.get_error()) {
+        ssl.SetError(bad_input);
+        return;
+    }
+
     const CertManager& cert = ssl.getCrypto().get_certManager();
     RSA rsa(cert.get_privateKey(), cert.get_privateKeyLength(), false);
     uint16 cipherLen = rsa.get_cipherLength();
     if (ssl.isTLS()) {
         byte len[2];
-        input.read(len, sizeof(len));
+        len[0] = input[AUTO];
+        len[1] = input[AUTO];
         ato16(len, cipherLen);
     }
     alloc(cipherLen);
     input.read(secret_, length_);
+    if (input.get_error()) {
+        ssl.SetError(bad_input);
+        return;
+    }
 
     opaque preMasterSecret[SECRET_LEN];
     rsa.decrypt(preMasterSecret, secret_, length_, 
@@ -277,6 +287,11 @@ void EncryptedPreMasterSecret::alloc(int
 // read client's public key, server side
 void ClientDiffieHellmanPublic::read(SSL& ssl, input_buffer& input)
 {
+    if (input.get_error() || input.get_remaining() < (uint)LENGTH_SZ) {
+        ssl.SetError(bad_input);
+        return;
+    }
+
     DiffieHellman& dh = ssl.useCrypto().use_dh();
 
     uint16 keyLength;
@@ -287,6 +302,10 @@ void ClientDiffieHellmanPublic::read(SSL
 
     alloc(keyLength);
     input.read(Yc_, keyLength);
+    if (input.get_error()) {
+        ssl.SetError(bad_input);
+        return;
+    }
     dh.makeAgreement(Yc_, keyLength); 
 
     // because of encoding, first byte might be 0, don't use for preMaster 
@@ -331,6 +350,10 @@ void ClientDiffieHellmanPublic::alloc(in
 // read server's p, g, public key and sig, client side
 void DH_Server::read(SSL& ssl, input_buffer& input)
 {
+    if (input.get_error() || input.get_remaining() < (uint)LENGTH_SZ) {
+        ssl.SetError(bad_input);
+        return;
+    }
     uint16 length, messageTotal = 6; // pSz + gSz + pubSz
     byte tmp[2];
 
@@ -341,6 +364,10 @@ void DH_Server::read(SSL& ssl, input_buf
     messageTotal += length;
 
     input.read(parms_.alloc_p(length), length);
+    if (input.get_error() || input.get_remaining() < (uint)LENGTH_SZ) {
+        ssl.SetError(bad_input);
+        return;
+    }
 
     // g
     tmp[0] = input[AUTO];
@@ -349,6 +376,10 @@ void DH_Server::read(SSL& ssl, input_buf
     messageTotal += length;
 
     input.read(parms_.alloc_g(length), length);
+    if (input.get_error() || input.get_remaining() < (uint)LENGTH_SZ) {
+        ssl.SetError(bad_input);
+        return;
+    }
 
     // pub
     tmp[0] = input[AUTO];
@@ -357,12 +388,20 @@ void DH_Server::read(SSL& ssl, input_buf
     messageTotal += length;
 
     input.read(parms_.alloc_pub(length), length);
+    if (input.get_error() || input.get_remaining() < (uint)LENGTH_SZ) {
+        ssl.SetError(bad_input);
+        return;
+    }
 
     // save message for hash verify
     input_buffer message(messageTotal);
     input.set_current(input.get_current() - messageTotal);
     input.read(message.get_buffer(), messageTotal);
     message.add_size(messageTotal);
+    if (input.get_error() || input.get_remaining() < (uint)LENGTH_SZ) {
+        ssl.SetError(bad_input);
+        return;
+    }
 
     // signature
     tmp[0] = input[AUTO];
@@ -371,6 +410,10 @@ void DH_Server::read(SSL& ssl, input_buf
 
     signature_ = NEW_YS byte[length];
     input.read(signature_, length);
+    if (input.get_error()) {
+        ssl.SetError(bad_input);
+        return;
+    }
 
     // verify signature
     byte hash[FINISHED_SZ];
@@ -645,6 +688,10 @@ void HandShakeHeader::Process(input_buff
 {
     ssl.verifyState(*this);
     if (ssl.GetError()) return;
+    if (input.get_error()) {
+        ssl.SetError(bad_input);
+        return;
+    }
     const HandShakeFactory& hsf = ssl.getFactory().getHandShake();
     mySTL::auto_ptr<HandShakeBase> hs(hsf.CreateObject(type_));
     if (!hs.get()) {
@@ -810,8 +857,13 @@ uint16 ChangeCipherSpec::get_length() co
 
 
 // CipherSpec processing handler
-void ChangeCipherSpec::Process(input_buffer&, SSL& ssl)
+void ChangeCipherSpec::Process(input_buffer& input, SSL& ssl)
 {
+    if (input.get_error()) {
+        ssl.SetError(bad_input);
+        return;
+    }
+
     ssl.useSecurity().use_parms().pending_ = false;
     if (ssl.getSecurity().get_resuming()) {
         if (ssl.getSecurity().get_parms().entity_ == client_end)
@@ -873,6 +925,11 @@ output_buffer& operator<<(output_buffer&
 // Alert processing handler
 void Alert::Process(input_buffer& input, SSL& ssl)
 {
+    if (input.get_error()) {
+        ssl.SetError(bad_input);
+        return;
+    }
+
     if (ssl.getSecurity().get_parms().pending_ == false)  { // encrypted alert
         int            aSz = get_length();  // alert size already read on input
         opaque         verify[SHA_LEN];
@@ -890,12 +947,19 @@ void Alert::Process(input_buffer& input,
 
         if (ssl.getSecurity().get_parms().cipher_type_ == block) {
             int    ivExtra = 0;
+            opaque fill;
 
             if (ssl.isTLSv1_1())
                 ivExtra = ssl.getCrypto().get_cipher().get_blockSize();
             int padSz = ssl.getSecurity().get_parms().encrypt_size_ - ivExtra -
                         aSz - digestSz;
-            input.set_current(input.get_current() + padSz);
+            for (int i = 0; i < padSz; i++) 
+                fill = input[AUTO];
+        }
+
+        if (input.get_error()) {
+            ssl.SetError(bad_input);
+            return;
         }
 
         // verify
@@ -1112,6 +1176,11 @@ static int timing_verify(SSL& ssl, const
 // Process handler for Data
 void Data::Process(input_buffer& input, SSL& ssl)
 {
+    if (input.get_error()) {
+        ssl.SetError(bad_input);
+        return;
+    }
+
     int msgSz = ssl.getSecurity().get_parms().encrypt_size_;
     int pad   = 0, padSz = 0;
     int ivExtra = 0;
@@ -1154,7 +1223,7 @@ void Data::Process(input_buffer& input,
 
     int dataSz = msgSz - ivExtra - digestSz - pad - padSz;
 
-    if (dataSz < 0) {
+    if (dataSz < 0 || dataSz > (MAX_RECORD_SIZE + COMPRESS_EXTRA)) {
         ssl.SetError(bad_input);
         return;
     }
@@ -1180,6 +1249,10 @@ void Data::Process(input_buffer& input,
 
     // advance past mac and fill
     input.set_current(input.get_current() + digestSz + pad + padSz);
+    if (input.get_error()) {
+        ssl.SetError(bad_input);
+        return;
+    }
 }
 
 
@@ -1244,6 +1317,11 @@ output_buffer& operator<<(output_buffer&
 // certificate processing handler
 void Certificate::Process(input_buffer& input, SSL& ssl)
 {
+    if (input.get_error()) {
+        ssl.SetError(bad_input);
+        return;
+    }
+
     CertManager& cm = ssl.useCrypto().use_certManager();
   
     uint32 list_sz;
@@ -1412,6 +1490,10 @@ input_buffer& operator>>(input_buffer& i
     
     // Session
     hello.id_len_ = input[AUTO];
+    if (hello.id_len_ > ID_LEN) {
+        input.set_error(); 
+        return input;
+    }
     if (hello.id_len_)
         input.read(hello.session_id_, hello.id_len_);
  
@@ -1452,8 +1534,13 @@ output_buffer& operator<<(output_buffer&
 
 
 // Server Hello processing handler
-void ServerHello::Process(input_buffer&, SSL& ssl)
+void ServerHello::Process(input_buffer& input, SSL& ssl)
 {
+    if (input.get_error()) {
+        ssl.SetError(bad_input);
+        return;
+    }
+
     if (ssl.GetMultiProtocol()) {   // SSLv23 support
         if (ssl.isTLS() && server_version_.minor_ < 1)
             // downgrade to SSLv3
@@ -1547,8 +1634,12 @@ const opaque* ServerHello::get_random()
 
 
 // Server Hello Done processing handler
-void ServerHelloDone::Process(input_buffer&, SSL& ssl)
+void ServerHelloDone::Process(input_buffer& input, SSL& ssl)
 {
+    if (input.get_error()) {
+        ssl.SetError(bad_input);
+        return;
+    }
     ssl.useStates().useClient() = serverHelloDoneComplete;
 }
 
@@ -1667,8 +1758,13 @@ output_buffer& operator<<(output_buffer&
 
 
 // Client Hello processing handler
-void ClientHello::Process(input_buffer&, SSL& ssl)
+void ClientHello::Process(input_buffer& input, SSL& ssl)
 {
+    if (input.get_error()) {
+        ssl.SetError(bad_input);
+        return;
+    }
+
     // store version for pre master secret
     ssl.useSecurity().use_connection().chVersion_ = client_version_;
 
@@ -1800,9 +1896,17 @@ output_buffer& operator<<(output_buffer&
 // Server Key Exchange processing handler
 void ServerKeyExchange::Process(input_buffer& input, SSL& ssl)
 {
+    if (input.get_error()) {
+        ssl.SetError(bad_input);
+        return;
+    }
     createKey(ssl);
     if (ssl.GetError()) return;
     server_key_->read(ssl, input);
+    if (input.get_error()) {
+        ssl.SetError(bad_input);
+        return;
+    }
 
     ssl.useStates().useClient() = serverKeyExchangeComplete;
 }
@@ -1924,18 +2028,24 @@ input_buffer& operator>>(input_buffer& i
 {
     // types
     request.typeTotal_ = input[AUTO];
+    if (request.typeTotal_ > CERT_TYPES) {
+        input.set_error();
+        return input;
+    }
     for (int i = 0; i < request.typeTotal_; i++)
         request.certificate_types_[i] = ClientCertificateType(input[AUTO]);
 
-    byte tmp[REQUEST_HEADER];
-    input.read(tmp, sizeof(tmp));
+    byte tmp[2];
+    tmp[0] = input[AUTO];
+    tmp[1] = input[AUTO];
     uint16 sz;
     ato16(tmp, sz);
 
     // authorities
     while (sz) {
         uint16 dnSz;
-        input.read(tmp, sizeof(tmp));
+        tmp[0] = input[AUTO];
+        tmp[1] = input[AUTO];
         ato16(tmp, dnSz);
         
         DistinguishedName dn;
@@ -1945,6 +2055,9 @@ input_buffer& operator>>(input_buffer& i
         input.read(&dn[REQUEST_HEADER], dnSz);
 
         sz -= dnSz + REQUEST_HEADER;
+
+        if (input.get_error())
+            break;
     }
 
     return input;
@@ -1983,8 +2096,12 @@ output_buffer& operator<<(output_buffer&
 
 
 // CertificateRequest processing handler
-void CertificateRequest::Process(input_buffer&, SSL& ssl)
+void CertificateRequest::Process(input_buffer& input, SSL& ssl)
 {
+    if (input.get_error()) {
+        ssl.SetError(bad_input);
+        return;
+    }
     CertManager& cm = ssl.useCrypto().use_certManager();
 
     cm.setSendVerify();
@@ -2067,7 +2184,8 @@ output_buffer& CertificateVerify::get(ou
 input_buffer& operator>>(input_buffer& input, CertificateVerify& request)
 {
     byte tmp[VERIFY_HEADER];
-    input.read(tmp, sizeof(tmp));
+    tmp[0] = input[AUTO];
+    tmp[1] = input[AUTO];
 
     uint16 sz = 0;
     ato16(tmp, sz);
@@ -2091,8 +2209,13 @@ output_buffer& operator<<(output_buffer&
 
 
 // CertificateVerify processing handler
-void CertificateVerify::Process(input_buffer&, SSL& ssl)
+void CertificateVerify::Process(input_buffer& input, SSL& ssl)
 {
+    if (input.get_error()) {
+        ssl.SetError(bad_input);
+        return;
+    }
+
     const Hashes&      hashVerify = ssl.getHashes().get_certVerify();
     const CertManager& cert       = ssl.getCrypto().get_certManager();
 
@@ -2131,9 +2254,17 @@ output_buffer& operator<<(output_buffer&
 // Client Key Exchange processing handler
 void ClientKeyExchange::Process(input_buffer& input, SSL& ssl)
 {
+    if (input.get_error()) {
+        ssl.SetError(bad_input);
+        return;
+    }
     createKey(ssl);
     if (ssl.GetError()) return;
     client_key_->read(ssl, input);
+    if (input.get_error()) {
+        ssl.SetError(bad_input);
+        return;
+    }
 
     if (ssl.getCrypto().get_certManager().verifyPeer())
         build_certHashes(ssl, ssl.useHashes().use_certVerify());
@@ -2220,11 +2351,19 @@ output_buffer& operator<<(output_buffer&
 // Finished processing handler
 void Finished::Process(input_buffer& input, SSL& ssl)
 {
+    if (input.get_error()) {
+        ssl.SetError(bad_input);
+        return;
+    }
     // verify hashes
     const  Finished& verify = ssl.getHashes().get_verify();
     uint finishedSz = ssl.isTLS() ? TLS_FINISHED_SZ : FINISHED_SZ;
     
     input.read(hashes_.md5_, finishedSz);
+    if (input.get_error()) {
+        ssl.SetError(bad_input);
+        return;
+    }
 
     if (memcmp(&hashes_, &verify.hashes_, finishedSz)) {
         ssl.SetError(verify_error);
@@ -2246,19 +2385,23 @@ void Finished::Process(input_buffer& inp
     opaque mac[SHA_LEN];   // max size
     int    digestSz = ssl.getCrypto().get_digest().get_digestSize();
     input.read(mac, digestSz);
+    if (input.get_error()) {
+        ssl.SetError(bad_input);
+        return;
+    }
 
     uint ivExtra = 0;
     if (ssl.getSecurity().get_parms().cipher_type_ == block)
         if (ssl.isTLSv1_1())
             ivExtra = ssl.getCrypto().get_cipher().get_blockSize();
 
+    opaque fill;
     int    padSz = ssl.getSecurity().get_parms().encrypt_size_ - ivExtra -
                      HANDSHAKE_HEADER - finishedSz - digestSz;
-    input.set_current(input.get_current() + padSz);
-
-    // verify mac
-    if (memcmp(mac, verifyMAC, digestSz)) {
-        ssl.SetError(verify_error);
+    for (int i = 0; i < padSz; i++) 
+        fill = input[AUTO];
+    if (input.get_error()) {
+        ssl.SetError(bad_input);
         return;
     }
 

=== modified file 'extra/yassl/src/yassl_int.cpp'
--- a/extra/yassl/src/yassl_int.cpp	2013-10-29 20:20:45 +0000
+++ b/extra/yassl/src/yassl_int.cpp	2014-10-09 08:30:11 +0000
@@ -1,5 +1,5 @@
 /*
-   Copyright (c) 2005, 2012, Oracle and/or its affiliates
+   Copyright (c) 2005, 2014, Oracle and/or its affiliates
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -2535,8 +2535,9 @@ ASN1_STRING* StringHolder::GetString()
     int DeCompress(input_buffer& in, int sz, input_buffer& out)
     {
         byte tmp[LENGTH_SZ];
-    
-        in.read(tmp, sizeof(tmp));
+   
+        tmp[0] = in[AUTO]; 
+        tmp[1] = in[AUTO]; 
 
         uint16 len;
         ato16(tmp, len);

=== modified file 'extra/yassl/taocrypt/include/asn.hpp'
--- a/extra/yassl/taocrypt/include/asn.hpp	2014-08-07 16:06:56 +0000
+++ b/extra/yassl/taocrypt/include/asn.hpp	2014-10-09 08:30:11 +0000
@@ -1,5 +1,5 @@
 /*
-   Copyright (c) 2005, 2014, Oracle and/or its affiliates. All rights reserved.
+   Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -111,7 +111,7 @@ enum Constants
     MAX_LENGTH_SZ =  5,    
     MAX_SEQ_SZ    =  5,    // enum(seq|con) + length(4)
     MAX_ALGO_SIZE =  9,
-    MAX_DIGEST_SZ = 25,    // SHA + enum(Bit or Octet) + length(4)
+    MAX_DIGEST_SZ = 69,    // SHA512 + enum(Bit or Octet) + length(4)
     DSA_SIG_SZ    = 40,
     ASN_NAME_MAX  = 512    // max total of all included names
 };
@@ -257,8 +257,11 @@ typedef STL::list<Signer*> SignerList;
 
 
 enum ContentType { HUH = 651 };
-enum SigType  { SHAwDSA = 517, MD2wRSA = 646, MD5wRSA = 648, SHAwRSA =649};
-enum HashType { MD2h = 646, MD5h = 649, SHAh = 88 };
+enum SigType  { SHAwDSA = 517, MD2wRSA = 646, MD5wRSA = 648, SHAwRSA = 649,
+                SHA256wRSA = 655, SHA384wRSA = 656, SHA512wRSA = 657,
+                SHA256wDSA = 416 };
+enum HashType { MD2h = 646, MD5h = 649, SHAh = 88, SHA256h = 414, SHA384h = 415,
+                SHA512h = 416 };
 enum KeyType  { DSAk = 515, RSAk = 645 };     // sums of algo OID
 
 

=== modified file 'extra/yassl/taocrypt/include/block.hpp'
--- a/extra/yassl/taocrypt/include/block.hpp	2014-03-26 21:25:38 +0000
+++ b/extra/yassl/taocrypt/include/block.hpp	2014-10-09 08:30:11 +0000
@@ -1,5 +1,5 @@
 /*
-   Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
+   Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -74,7 +74,7 @@ typename A::pointer StdReallocate(A& a,
     if (preserve) {
         A b = A();
         typename A::pointer newPointer = b.allocate(newSize, 0);
-        memcpy(newPointer, p, sizeof(T) * min((word32) oldSize, (word32) newSize));
+        memcpy(newPointer, p, sizeof(T) * min(oldSize, newSize));
         a.deallocate(p, oldSize);
         STL::swap(a, b);
         return newPointer;
@@ -187,9 +187,9 @@ class Block {
 
     ~Block() { allocator_.deallocate(buffer_, sz_); }
 private:
+    A      allocator_;
     word32 sz_;     // size in Ts
     T*     buffer_;
-    A      allocator_;
 };
 
 

=== modified file 'extra/yassl/taocrypt/include/integer.hpp'
--- a/extra/yassl/taocrypt/include/integer.hpp	2014-05-09 10:35:11 +0000
+++ b/extra/yassl/taocrypt/include/integer.hpp	2014-10-09 08:30:11 +0000
@@ -1,5 +1,5 @@
 /*
-   Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
+   Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -47,7 +47,7 @@
 
 #ifdef TAOCRYPT_X86ASM_AVAILABLE
     #if defined(__GNUC__) && (__GNUC__ >= 4)
-        // GCC 4 or greater optimizes too much inline on recursive for bigint,
+        // GCC 4 or greater optimizes too much inline on recursive for bigint, 
         // -O3 just as fast without asm here anyway
         #undef TAOCRYPT_X86ASM_AVAILABLE
     #endif

=== modified file 'extra/yassl/taocrypt/include/pwdbased.hpp'
--- a/extra/yassl/taocrypt/include/pwdbased.hpp	2013-09-14 01:09:36 +0000
+++ b/extra/yassl/taocrypt/include/pwdbased.hpp	2014-10-09 08:30:11 +0000
@@ -1,5 +1,5 @@
 /*
-   Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
+   Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -16,6 +16,7 @@
    MA  02110-1301  USA.
 */
 
+
 /* pwdbased.hpp defines PBKDF2 from PKCS #5
 */
 

=== modified file 'extra/yassl/taocrypt/include/runtime.hpp'
--- a/extra/yassl/taocrypt/include/runtime.hpp	2014-03-26 21:25:38 +0000
+++ b/extra/yassl/taocrypt/include/runtime.hpp	2014-10-09 08:30:11 +0000
@@ -1,5 +1,5 @@
 /*
-   Copyright (c) 2005, 2012, Oracle and/or its affiliates
+   Copyright (c) 2005, 2014, Oracle and/or its affiliates
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -34,7 +34,10 @@
 
 // Handler for pure virtual functions
 namespace __Crun {
-    void pure_error(void);
+    static void pure_error(void)
+    {
+       // "Pure virtual method called, Aborted", GCC 4.2 str cmp fix
+    }
 } // namespace __Crun
 
 #endif // __sun
@@ -48,7 +51,15 @@ extern "C" {
 #if defined(DO_TAOCRYPT_KERNEL_MODE)
     #include "kernelc.hpp"
 #endif
-    int __cxa_pure_virtual () __attribute__ ((weak));
+
+/* Disallow inline __cxa_pure_virtual() */
+static int __cxa_pure_virtual() __attribute__((noinline, used));
+static int __cxa_pure_virtual()
+{
+    // oops, pure virtual called!
+    return 0;
+}
+
 } // extern "C"
 
 #endif // __GNUC__ > 2

=== modified file 'extra/yassl/taocrypt/include/sha.hpp'
--- a/extra/yassl/taocrypt/include/sha.hpp	2014-02-17 12:49:04 +0000
+++ b/extra/yassl/taocrypt/include/sha.hpp	2014-08-23 03:29:03 +0000
@@ -1,6 +1,5 @@
 /*
-   Copyright (C) 2000-2007 MySQL AB
-   Use is subject to license terms
+   Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -159,6 +158,12 @@ class SHA384 : public HASH64withTransfor
     void Transform();
 };
 
+enum { MAX_SHA2_DIGEST_SIZE = 64 };   // SHA512
+
+#else
+
+enum { MAX_SHA2_DIGEST_SIZE = 32 };   // SHA256
+
 #endif // WORD64_AVAILABLE
 
 

=== modified file 'extra/yassl/taocrypt/src/aes.cpp'
--- a/extra/yassl/taocrypt/src/aes.cpp	2014-05-09 10:35:11 +0000
+++ b/extra/yassl/taocrypt/src/aes.cpp	2014-10-09 08:30:11 +0000
@@ -66,7 +66,7 @@ void AES::Process(byte* out, const byte*
                 in  += BLOCK_SIZE;
             }
         }
-    else {
+        else {
             while (blocks--) {
                 AsmDecrypt(in, out, (void*)Td0);
                 
@@ -79,8 +79,8 @@ void AES::Process(byte* out, const byte*
                 out += BLOCK_SIZE;
                 in  += BLOCK_SIZE;
             }
-       }
-   }
+        }
+    }
 }
 
 #endif // DO_AES_ASM
@@ -466,14 +466,13 @@ void AES::decrypt(const byte* inBlock, c
             "movd mm7, ebp;" \
             "movd mm4, eax;" \
             "mov  ebp, edx;"  \
-            "sub  esp, 4;"
-
+            "sub  esp, 4;" 
         #define EPILOG()  \
             "add esp, 4;" \
             "pop ebp;" \
             "pop ebx;" \
-                   "emms;" \
-                   ".att_syntax;" \
+       	    "emms;" \
+       	    ".att_syntax;" \
                 : \
                 : "c" (this), "S" (inBlock), "d" (boxes), "a" (outBlock) \
                 : "%edi", "memory", "cc" \
@@ -834,9 +833,9 @@ void AES::AsmEncrypt(const byte* inBlock
 
 
 #ifdef _MSC_VER
-    __declspec(naked)
+    __declspec(naked) 
 #else
-    __attribute__ ((noinline)) 
+    __attribute__ ((noinline))
 #endif
 void AES::AsmDecrypt(const byte* inBlock, byte* outBlock, void* boxes) const
 {

=== modified file 'extra/yassl/taocrypt/src/algebra.cpp'
--- a/extra/yassl/taocrypt/src/algebra.cpp	2014-03-26 21:25:38 +0000
+++ b/extra/yassl/taocrypt/src/algebra.cpp	2014-10-09 08:30:11 +0000
@@ -185,10 +185,10 @@ Integer AbstractGroup::CascadeScalarMult
 
 struct WindowSlider
 {
-    WindowSlider(const Integer &expIn, bool fastNegateIn,
+    WindowSlider(const Integer &exp, bool fastNegate,
                  unsigned int windowSizeIn=0)
-        : exp(expIn), windowModulus(Integer::One()), windowSize(windowSizeIn),
-          windowBegin(0), fastNegate(fastNegateIn), firstTime(true),
+        : exp(exp), windowModulus(Integer::One()), windowSize(windowSizeIn),
+          windowBegin(0), fastNegate(fastNegate), firstTime(true),
           finished(false)
     {
         if (windowSize == 0)

=== modified file 'extra/yassl/taocrypt/src/arc4.cpp'
--- a/extra/yassl/taocrypt/src/arc4.cpp	2014-05-09 10:35:11 +0000
+++ b/extra/yassl/taocrypt/src/arc4.cpp	2014-10-09 08:30:11 +0000
@@ -1,5 +1,5 @@
 /*
-   Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
+   Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -121,12 +121,11 @@ void ARC4::AsmProcess(byte* out, const b
         "push ebx;" \
         "push ebp;" \
         "mov ebp, eax;"
-
     #define EPILOG()  \
         "pop ebp;" \
         "pop ebx;" \
-               "emms;" \
-               ".att_syntax;" \
+       	"emms;" \
+       	".att_syntax;" \
             : \
             : "c" (this), "D" (out), "S" (in), "a" (length) \
             : "%edx", "memory", "cc" \
@@ -180,7 +179,7 @@ void ARC4::AsmProcess(byte* out, const b
 #ifdef _MSC_VER
     AS1( loopStart: )  // loopStart
 #else
-    AS1( 0: )          // loopStart for some gas (need numeric for jump back
+    AS1( 0: )          // loopStart for some gas (need numeric for jump back 
 #endif
 
     // y = (y+a) & 0xff;
@@ -232,7 +231,7 @@ void ARC4::AsmProcess(byte* out, const b
 
 AS1( nothing:                           )
 
-    // inline adjust
+    // inline adjust 
     AS2(    add   esp, 4               )   // fix room on stack
 
     EPILOG()

=== modified file 'extra/yassl/taocrypt/src/asn.cpp'
--- a/extra/yassl/taocrypt/src/asn.cpp	2013-09-14 01:09:36 +0000
+++ b/extra/yassl/taocrypt/src/asn.cpp	2014-10-09 08:30:11 +0000
@@ -1,6 +1,5 @@
 /*
-   Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
-   Use is subject to license terms.
+   Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -769,7 +768,7 @@ void CertDecoder::GetName(NameType nt)
     while (source_.get_index() < length) {
         GetSet();
         if (source_.GetError().What() == SET_E) {
-            source_.SetError(NO_ERROR_E);  // extensions may only have sequence
+            source_.SetError(NO_ERROR_E);  // extensions may only have sequence 
             source_.prev();
         }
         GetSequence();
@@ -840,10 +839,8 @@ void CertDecoder::GetName(NameType nt)
             if (source_.IsLeft(length) == false) return;
 
             if (email) {
-                if (!(ptr = AddTag(ptr, buf_end, "/emailAddress=", 14, length))) {
-                    source_.SetError(CONTENT_E);
-                    return;
-                }
+                if (!(ptr = AddTag(ptr, buf_end, "/emailAddress=", 14, length)))
+                    return; 
             }
 
             source_.advance(length);
@@ -982,12 +979,26 @@ bool CertDecoder::ConfirmSignature(Sourc
         hasher.reset(NEW_TC SHA);
         ht = SHAh;
     }
+    else if (signatureOID_ == SHA256wRSA || signatureOID_ == SHA256wDSA) {
+        hasher.reset(NEW_TC SHA256);
+        ht = SHA256h;
+    }
+#ifdef WORD64_AVAILABLE
+    else if (signatureOID_ == SHA384wRSA) {
+        hasher.reset(NEW_TC SHA384);
+        ht = SHA384h;
+    }
+    else if (signatureOID_ == SHA512wRSA) {
+        hasher.reset(NEW_TC SHA512);
+        ht = SHA512h;
+    }
+#endif
     else {
         source_.SetError(UNKOWN_SIG_E);
         return false;
     }
 
-    byte digest[SHA::DIGEST_SIZE];      // largest size
+    byte digest[MAX_SHA2_DIGEST_SIZE];      // largest size
 
     hasher->Update(source_.get_buffer() + certBegin_, sigIndex_ - certBegin_);
     hasher->Final(digest);
@@ -1060,6 +1071,12 @@ word32 DER_Encoder::SetAlgoID(HashType a
                                       0x02, 0x05, 0x05, 0x00  };
     static const byte md2AlgoID[] = { 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d,
                                       0x02, 0x02, 0x05, 0x00};
+    static const byte sha256AlgoID[] = { 0x60, 0x86, 0x48, 0x01, 0x65, 0x03,
+                                         0x04, 0x02, 0x01, 0x05, 0x00 };
+    static const byte sha384AlgoID[] = { 0x60, 0x86, 0x48, 0x01, 0x65, 0x03,
+                                         0x04, 0x02, 0x02, 0x05, 0x00 };
+    static const byte sha512AlgoID[] = { 0x60, 0x86, 0x48, 0x01, 0x65, 0x03,
+                                         0x04, 0x02, 0x03, 0x05, 0x00 };
 
     int algoSz = 0;
     const byte* algoName = 0;
@@ -1070,6 +1087,21 @@ word32 DER_Encoder::SetAlgoID(HashType a
         algoName = shaAlgoID;
         break;
 
+    case SHA256h:
+        algoSz = sizeof(sha256AlgoID);
+        algoName = sha256AlgoID;
+        break;
+
+    case SHA384h:
+        algoSz = sizeof(sha384AlgoID);
+        algoName = sha384AlgoID;
+        break;
+
+    case SHA512h:
+        algoSz = sizeof(sha512AlgoID);
+        algoName = sha512AlgoID;
+        break;
+
     case MD2h:
         algoSz = sizeof(md2AlgoID);
         algoName = md2AlgoID;

=== modified file 'extra/yassl/taocrypt/src/blowfish.cpp'
--- a/extra/yassl/taocrypt/src/blowfish.cpp	2014-05-09 10:35:11 +0000
+++ b/extra/yassl/taocrypt/src/blowfish.cpp	2014-10-09 08:30:11 +0000
@@ -237,8 +237,8 @@ void Blowfish::ProcessAndXorBlock(const
         #define EPILOG()  \
             "pop ebp;" \
             "pop ebx;" \
-                   "emms;" \
-                   ".att_syntax;" \
+       	    "emms;" \
+       	    ".att_syntax;" \
                 : \
                 : "c" (this), "S" (inBlock), "a" (outBlock) \
                 : "%edi", "%edx", "memory", "cc" \
@@ -291,7 +291,7 @@ void Blowfish::ProcessAndXorBlock(const
 
 
 #ifdef _MSC_VER
-    __declspec(naked)
+    __declspec(naked) 
 #else
     __attribute__ ((noinline))
 #endif

=== modified file 'extra/yassl/taocrypt/src/des.cpp'
--- a/extra/yassl/taocrypt/src/des.cpp	2014-02-17 12:49:04 +0000
+++ b/extra/yassl/taocrypt/src/des.cpp	2014-08-23 03:29:03 +0000
@@ -1,6 +1,5 @@
 /*
-   Copyright (C) 2000-2007 MySQL AB
-   Use is subject to license terms
+   Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -642,9 +641,9 @@ void DES_EDE3::ProcessAndXorBlock(const
 
 
 #ifdef _MSC_VER
-    __declspec(naked)
+    __declspec(naked) 
 #else
-    __attribute__ ((noinline)) 
+    __attribute__ ((noinline))
 #endif
 void DES_EDE3::AsmProcess(const byte* in, byte* out, void* box) const
 {
@@ -664,8 +663,8 @@ void DES_EDE3::AsmProcess(const byte* in
     #define EPILOG()  \
         "pop ebp;" \
         "pop ebx;" \
-               "emms;" \
-               ".att_syntax;" \
+       	"emms;" \
+       	".att_syntax;" \
             :  \
             : "d" (this), "S" (in), "a" (box), "c" (out) \
             : "%edi", "memory", "cc" \

=== modified file 'extra/yassl/taocrypt/src/integer.cpp'
--- a/extra/yassl/taocrypt/src/integer.cpp	2014-05-09 10:35:11 +0000
+++ b/extra/yassl/taocrypt/src/integer.cpp	2014-10-09 08:30:11 +0000
@@ -56,9 +56,8 @@
     #endif
 #elif defined(_MSC_VER) && defined(_M_IX86)
 /*    #pragma message("You do not seem to have the Visual C++ Processor Pack ")
-     #pragma message("installed, so use of SSE2 intrinsics will be disabled.")
-*/
     #pragma message("installed, so use of SSE2 intrinsics will be disabled.")
+*/
 #elif defined(__GNUC__) && defined(__i386__)
 /*   #warning You do not have GCC 3.3 or later, or did not specify the -msse2 \
              compiler option. Use of SSE2 intrinsics will be disabled.
@@ -194,7 +193,7 @@ DWord() {}
                 "a" (a), "rm" (b) : "cc");
 
         #elif defined(__mips64)
-            __asm__("dmultu %2,%3" : "=h" (r.halfs_.high), "=l" (r.halfs_.low)
+            __asm__("dmultu %2,%3" : "=d" (r.halfs_.high), "=l" (r.halfs_.low)
                 : "r" (a), "r" (b));
 
         #elif defined(_M_IX86)
@@ -282,7 +281,12 @@ DWord() {}
     word GetHighHalfAsBorrow() const {return 0-halfs_.high;}
 
 private:
-    struct dword_struct
+    union
+    {
+    #ifdef TAOCRYPT_NATIVE_DWORD_AVAILABLE
+        dword whole_;
+    #endif
+        struct
         {
         #ifdef LITTLE_ENDIAN_ORDER
             word low;
@@ -291,14 +295,7 @@ DWord() {}
             word high;
             word low;
         #endif
-    };
-
-    union
-    {
-    #ifdef TAOCRYPT_NATIVE_DWORD_AVAILABLE
-        dword whole_;
-    #endif
-        struct dword_struct halfs_;
+        } halfs_;
     };
 };
 
@@ -1201,24 +1198,20 @@ class LowLevel : public PentiumOptimized
     #define AS1(x) #x ";"
     #define AS2(x, y) #x ", " #y ";"
     #define AddPrologue \
-        word res; \
         __asm__ __volatile__ \
         ( \
             "push %%ebx;"	/* save this manually, in case of -fPIC */ \
-            "mov %3, %%ebx;" \
+            "mov %2, %%ebx;" \
             ".intel_syntax noprefix;" \
             "push ebp;"
     #define AddEpilogue \
             "pop ebp;" \
             ".att_syntax prefix;" \
             "pop %%ebx;" \
-            "mov %%eax, %0;" \
-                    : "=g" (res) \
+                    : \
                     : "c" (C), "d" (A), "m" (B), "S" (N) \
                     : "%edi", "memory", "cc" \
-        ); \
-        return res;
-
+        );
     #define MulPrologue \
         __asm__ __volatile__ \
         ( \

=== modified file 'extra/yassl/taocrypt/src/md5.cpp'
--- a/extra/yassl/taocrypt/src/md5.cpp	2014-05-09 10:35:11 +0000
+++ b/extra/yassl/taocrypt/src/md5.cpp	2014-10-09 08:30:11 +0000
@@ -1,5 +1,5 @@
 /*
-   Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
+   Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -223,7 +223,7 @@ void MD5::Update(const byte* data, word3
 
 
 #ifdef _MSC_VER
-    __declspec(naked)
+    __declspec(naked) 
 #else
     __attribute__ ((noinline))
 #endif
@@ -242,8 +242,8 @@ void MD5::AsmTransform(const byte* data,
     #define EPILOG()  \
         "pop ebp;" \
         "pop ebx;" \
-               "emms;" \
-               ".att_syntax;" \
+       	"emms;" \
+       	".att_syntax;" \
             : \
             : "c" (this), "D" (data), "a" (times) \
             : "%esi", "%edx", "memory", "cc" \
@@ -297,7 +297,7 @@ void MD5::AsmTransform(const byte* data,
 #ifdef _MSC_VER
     AS1( loopStart: )  // loopStart
 #else
-    AS1( 0: )          // loopStart for some gas (need numeric for jump back
+    AS1( 0: )          // loopStart for some gas (need numeric for jump back 
 #endif
 
     // set up

=== modified file 'extra/yassl/taocrypt/src/misc.cpp'
--- a/extra/yassl/taocrypt/src/misc.cpp	2014-03-26 21:25:38 +0000
+++ b/extra/yassl/taocrypt/src/misc.cpp	2014-10-09 08:30:11 +0000
@@ -84,17 +84,7 @@ namespace STL = STL_NAMESPACE;
 
     }
 
-#ifdef __sun
-
-// Handler for pure virtual functions
-namespace __Crun {
-    void pure_error() {
-    }
-}
-
-#endif
-
-#if defined(__ICC) || defined(__INTEL_COMPILER) || (__GNUC__ > 2)
+#if defined(__ICC) || defined(__INTEL_COMPILER)
 
 extern "C" {
 

=== modified file 'extra/yassl/taocrypt/src/rabbit.cpp'
--- a/extra/yassl/taocrypt/src/rabbit.cpp	2014-05-09 10:35:11 +0000
+++ b/extra/yassl/taocrypt/src/rabbit.cpp	2014-10-09 08:30:11 +0000
@@ -1,15 +1,15 @@
 /*
-   Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
- 
+   Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.
+
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; version 2 of the License.
- 
+
    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.
- 
+
    You should have received a copy of the GNU General Public License
    along with this program; see the file COPYING. If not, write to the
    Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
@@ -236,7 +236,7 @@ void Rabbit::Process(byte* output, const
         NextState(Work);
 
         /* Generate 16 bytes of pseudo-random data */
-        tmp[0] = LITTLE32(workCtx_.x[0] ^ 
+        tmp[0] = LITTLE32(workCtx_.x[0] ^
                   (workCtx_.x[5]>>16) ^ U32V(workCtx_.x[3]<<16));
         tmp[1] = LITTLE32(workCtx_.x[2] ^ 
                   (workCtx_.x[7]>>16) ^ U32V(workCtx_.x[5]<<16));

=== modified file 'extra/yassl/taocrypt/src/random.cpp'
--- a/extra/yassl/taocrypt/src/random.cpp	2013-09-14 01:09:36 +0000
+++ b/extra/yassl/taocrypt/src/random.cpp	2014-10-09 08:30:11 +0000
@@ -1,5 +1,5 @@
 /*
-   Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
+   Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -27,6 +27,7 @@
 #include <time.h>
 
 #if defined(_WIN32)
+    #define _WIN32_WINNT 0x0400
     #include <windows.h>
     #include <wincrypt.h>
 #else

=== modified file 'extra/yassl/taocrypt/src/ripemd.cpp'
--- a/extra/yassl/taocrypt/src/ripemd.cpp	2014-05-09 10:35:11 +0000
+++ b/extra/yassl/taocrypt/src/ripemd.cpp	2014-10-09 08:30:11 +0000
@@ -1,5 +1,5 @@
 /*
-   Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
+   Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -507,6 +507,8 @@ void RIPEMD160::Transform()
 
 #ifdef _MSC_VER
     __declspec(naked) 
+#else
+    __attribute__ ((noinline))
 #endif
 void RIPEMD160::AsmTransform(const byte* data, word32 times)
 {
@@ -520,12 +522,11 @@ void RIPEMD160::AsmTransform(const byte*
         ".intel_syntax noprefix;" \
         "push ebx;" \
         "push ebp;"
-
     #define EPILOG()  \
         "pop ebp;" \
         "pop ebx;" \
-               "emms;" \
-               ".att_syntax;" \
+       	"emms;" \
+       	".att_syntax;" \
             : \
             : "c" (this), "D" (data), "d" (times) \
             : "%esi", "%eax", "memory", "cc" \
@@ -571,7 +572,7 @@ void RIPEMD160::AsmTransform(const byte*
 #ifdef _MSC_VER
     AS1( loopStart: )  // loopStart
 #else
-    AS1( 0: )          // loopStart for some gas (need numeric for jump back
+    AS1( 0: )          // loopStart for some gas (need numeric for jump back 
 #endif
 
     AS2(    movd  mm2, edx              )   // store times_
@@ -830,7 +831,7 @@ void RIPEMD160::AsmTransform(const byte*
     AS1(    jnz   0b )         // loopStart
 #endif
 
-    // inline adjust
+    // inline adjust 
     AS2(    add   esp, 24               )   // fix room on stack
 
     EPILOG()

=== modified file 'extra/yassl/taocrypt/src/sha.cpp'
--- a/extra/yassl/taocrypt/src/sha.cpp	2014-05-09 10:35:11 +0000
+++ b/extra/yassl/taocrypt/src/sha.cpp	2014-10-09 08:30:11 +0000
@@ -1,5 +1,5 @@
 /*
-   Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
+   Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -776,12 +776,11 @@ void SHA::AsmTransform(const byte* data,
         ".intel_syntax noprefix;" \
         "push ebx;" \
         "push ebp;"
-
     #define EPILOG()  \
         "pop ebp;" \
         "pop ebx;" \
-               "emms;" \
-               ".att_syntax;" \
+       	"emms;" \
+       	".att_syntax;" \
             : \
             : "c" (this), "D" (data), "a" (times) \
             : "%esi", "%edx", "memory", "cc" \
@@ -830,7 +829,7 @@ void SHA::AsmTransform(const byte* data,
 #ifdef _MSC_VER
     AS1( loopStart: )  // loopStart
 #else
-    AS1( 0: )          // loopStart for some gas (need numeric for jump back
+    AS1( 0: )          // loopStart for some gas (need numeric for jump back 
 #endif
 
     // byte reverse 16 words of input, 4 at a time, put on stack for W[]
@@ -1022,7 +1021,7 @@ void SHA::AsmTransform(const byte* data,
     AS1(    jnz   0b )         // loopStart
 #endif
 
-    // inline adjust
+    // inline adjust 
     AS2(    add   esp, 68               )   // fix room on stack
 
     EPILOG()

=== modified file 'extra/yassl/taocrypt/src/twofish.cpp'
--- a/extra/yassl/taocrypt/src/twofish.cpp	2014-05-09 10:35:11 +0000
+++ b/extra/yassl/taocrypt/src/twofish.cpp	2014-10-09 08:30:11 +0000
@@ -285,12 +285,11 @@ void Twofish::decrypt(const byte* inBloc
             "push ebp;" \
             "movd mm3, eax;" \
             "movd mm6, ebp;"
-
         #define EPILOG()  \
             "pop ebp;" \
             "pop ebx;" \
-                   "emms;" \
-                   ".att_syntax;" \
+       	    "emms;" \
+       	    ".att_syntax;" \
                 : \
                 : "D" (this), "S" (inBlock), "a" (outBlock) \
                 : "%ecx", "%edx", "memory", "cc" \
@@ -479,7 +478,7 @@ void Twofish::AsmEncrypt(const byte* inB
     AS2(    movd  ebp, mm6                      )
     AS2(    movd  esi, mm0                      ) // k_
     #ifdef __GNUC__
-       AS2(    movd  edi, mm3                  ) // outBlock
+        AS2(    movd  edi, mm3                  ) // outBlock
     #else
         AS2(    mov   edi, [ebp + 12]           ) // outBlock
     #endif
@@ -500,7 +499,7 @@ void Twofish::AsmEncrypt(const byte* inB
 
 
 #ifdef _MSC_VER
-    __declspec(naked)
+    __declspec(naked) 
 #else
     __attribute__ ((noinline))
 #endif
@@ -551,7 +550,7 @@ void Twofish::AsmDecrypt(const byte* inB
     AS2(    movd  ebp, mm6                      )
     AS2(    movd  esi, mm0                      ) // k_
     #ifdef __GNUC__
-        AS2(    movd   edi, mm3                 ) // outBlock
+        AS2(    movd  edi, mm3                  ) // outBlock
     #else
         AS2(    mov   edi, [ebp + 12]           ) // outBlock
     #endif

=== modified file 'mysql-test/lib/My/Platform.pm'
--- a/mysql-test/lib/My/Platform.pm	2011-06-30 15:37:13 +0000
+++ b/mysql-test/lib/My/Platform.pm	2014-10-02 10:57:20 +0000
@@ -110,6 +110,8 @@ sub check_socket_path_length {
   # This may not be true, but we can't test for it on AIX due to Perl bug
   # See Bug #45771
   return 0 if ($^O eq 'aix');
+  # See Debian bug #670722 - failing on kFreeBSD even after setting short path
+  return 0 if $^O eq 'gnukfreebsd' and length $path < 40;
 
   require IO::Socket::UNIX;
 

=== added file 'mysql-test/r/ctype_cp932.result'
--- a/mysql-test/r/ctype_cp932.result	1970-01-01 00:00:00 +0000
+++ b/mysql-test/r/ctype_cp932.result	2014-08-12 11:46:51 +0000
@@ -0,0 +1,35 @@
+#
+# Bug #11755818 LIKE DOESN'T MATCH WHEN CP932_BIN/SJIS_BIN COLLATIONS ARE 
+#               USED.
+#
+SET @old_character_set_client= @@character_set_client;
+SET @old_character_set_connection= @@character_set_connection;
+SET @old_character_set_results= @@character_set_results;
+SET character_set_client= 'utf8';
+SET character_set_connection= 'utf8';
+SET character_set_results= 'utf8';
+CREATE TABLE t1 (a VARCHAR(10) COLLATE cp932_bin);
+INSERT INTO t1 VALUES('カカ');
+SELECT * FROM t1 WHERE a LIKE '%カ';
+a
+カカ
+SELECT * FROM t1 WHERE a LIKE '_カ';
+a
+カカ
+SELECT * FROM t1 WHERE a LIKE '%_カ';
+a
+カカ
+ALTER TABLE t1 MODIFY a VARCHAR(100) COLLATE sjis_bin;
+SELECT * FROM t1 WHERE a LIKE '%カ';
+a
+カカ
+SELECT * FROM t1 WHERE a LIKE '_カ';
+a
+カカ
+SELECT * FROM t1 WHERE a LIKE '%_カ';
+a
+カカ
+DROP TABLE t1;
+SET @@character_set_client= @old_character_set_client;
+SET @@character_set_connection= @old_character_set_connection;
+SET @@character_set_results= @old_character_set_results;

=== added file 'mysql-test/r/log_errchk.result'
--- a/mysql-test/r/log_errchk.result	1970-01-01 00:00:00 +0000
+++ b/mysql-test/r/log_errchk.result	2014-07-17 05:51:18 +0000
@@ -0,0 +1,10 @@
+call mtr.add_suppression("Could not use");
+# Case 1: Setting fife file to general_log_file and slow_query_log_file
+#         system variable.
+SET GLOBAL general_log_file="MYSQLTEST_VARDIR/tmp/general_log.fifo";;
+ERROR 42000: Variable 'general_log_file' can't be set to the value of 'MYSQLTEST_VARDIR/tmp/general_log.fifo'
+SET GLOBAL slow_query_log_file="MYSQLTEST_VARDIR/tmp/slow_log.fifo";;
+ERROR 42000: Variable 'slow_query_log_file' can't be set to the value of 'MYSQLTEST_VARDIR/tmp/slow_log.fifo'
+# Case 2: Starting server with fifo file as general log file
+#         and slow query log file.
+Setting fifo file as general log file and slow query log failed.

=== added file 'mysql-test/r/show_bad_definer-5553.result'
--- a/mysql-test/r/show_bad_definer-5553.result	1970-01-01 00:00:00 +0000
+++ b/mysql-test/r/show_bad_definer-5553.result	2014-10-07 09:55:39 +0000
@@ -0,0 +1,13 @@
+create database mysqltest1;
+use mysqltest1;
+create table t1(id int primary key);
+create definer=unknownuser@'%' sql security definer view v1 as select t1.id from t1 group by t1.id;
+Warnings:
+Note	1449	The user specified as a definer ('unknownuser'@'%') does not exist
+show table status;
+Name	Engine	Version	Row_format	Rows	Avg_row_length	Data_length	Max_data_length	Index_length	Data_free	Auto_increment	Create_time	Update_time	Check_time	Collation	Checksum	Create_options	Comment
+t1	MyISAM	10	Fixed	0	0	0	#	1024	0	NULL	#	#	NULL	latin1_swedish_ci	NULL		
+v1	NULL	NULL	NULL	NULL	NULL	NULL	#	NULL	NULL	NULL	#	#	NULL	NULL	NULL	NULL	VIEW
+Warnings:
+Note	1449	The user specified as a definer ('unknownuser'@'%') does not exist
+drop database mysqltest1;

=== modified file 'mysql-test/r/type_newdecimal.result'
--- a/mysql-test/r/type_newdecimal.result	2014-08-07 16:06:56 +0000
+++ b/mysql-test/r/type_newdecimal.result	2014-10-09 08:30:11 +0000
@@ -1988,3 +1988,12 @@ SELECT d1 * d2 FROM t1;
 d1 * d2
 0
 DROP TABLE t1;
+select 0.000000000000000000000000000000000000000000000000001 mod 1;
+0.000000000000000000000000000000000000000000000000001 mod 1
+0.000000000000000000000000000000
+select 0.0000000001 mod 1;
+0.0000000001 mod 1
+0.0000000001
+select 0.01 mod 1;
+0.01 mod 1
+0.01

=== modified file 'mysql-test/r/type_time.result'
--- a/mysql-test/r/type_time.result	2014-06-06 06:29:52 +0000
+++ b/mysql-test/r/type_time.result	2014-10-09 08:30:11 +0000
@@ -369,6 +369,17 @@ SELECT '-24:00:00' = (SELECT f1 FROM t1)
 1
 DROP TABLE t1;
 #
+# MDEV-6592 Assertion `ltime->day == 0' failed with TIMESTAMP, MAKETIME
+#
+CREATE TABLE t1 (d DATE, c VARCHAR(10), KEY(d))  engine=myisam;
+INSERT INTO t1 VALUES ('2008-10-02','2008-10-02'), ('2008-10-02','2008-10-02');
+SELECT * FROM t1 WHERE TIMESTAMP(c,'02:04:42') AND d <=> MAKETIME(97,0,7);
+d	c
+DROP TABLE t1;
+#
+# End of 5.5 tests
+#
+#
 # Start of 10.0 tests
 #
 #

=== added file 'mysql-test/suite/heap/btree_varchar_null.result'
--- a/mysql-test/suite/heap/btree_varchar_null.result	1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/heap/btree_varchar_null.result	2014-10-07 08:54:14 +0000
@@ -0,0 +1,6 @@
+create table t1 (f1 varchar(128), f2 varchar(128), key (f2,f1) using btree) engine=memory;
+insert into t1 values (null,'not'),('one',null),('two',null),('three','');
+select * from t1 where f1 = 'one'  and f2 is null;
+f1	f2
+one	NULL
+drop table t1;

=== added file 'mysql-test/suite/heap/btree_varchar_null.test'
--- a/mysql-test/suite/heap/btree_varchar_null.test	1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/heap/btree_varchar_null.test	2014-10-07 08:54:14 +0000
@@ -0,0 +1,7 @@
+#
+# MDEV-4813 Replication fails on updating a MEMORY table with an index using btree
+#
+create table t1 (f1 varchar(128), f2 varchar(128), key (f2,f1) using btree) engine=memory;
+insert into t1 values (null,'not'),('one',null),('two',null),('three','');
+select * from t1 where f1 = 'one'  and f2 is null;
+drop table t1;

=== added file 'mysql-test/suite/innodb/r/foreign-keys.result'
--- a/mysql-test/suite/innodb/r/foreign-keys.result	1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/innodb/r/foreign-keys.result	2014-10-07 08:53:06 +0000
@@ -0,0 +1,16 @@
+#
+# Bug #19471516 SERVER CRASHES WHEN EXECUTING ALTER TABLE
+# ADD FOREIGN KEY
+#
+CREATE TABLE `department` (`department_id` INT, `department_people_fk` INT,
+PRIMARY KEY (`department_id`)) engine=innodb;
+CREATE TABLE `title` (`title_id` INT, `title_manager_fk` INT,
+`title_reporter_fk` INT, PRIMARY KEY (`title_id`)) engine=innodb;
+CREATE TABLE `people` (`people_id` INT, PRIMARY KEY (`people_id`)) engine=innodb;
+ALTER TABLE `department` ADD FOREIGN KEY (`department_people_fk`) REFERENCES
+`people` (`people_id`);
+ALTER TABLE `title` ADD FOREIGN KEY (`title_manager_fk`) REFERENCES `people`
+(`people_id`);
+ALTER TABLE `title` ADD FOREIGN KEY (`title_reporter_fk`) REFERENCES `people`
+(`people_id`);
+drop table title, department, people;

=== added file 'mysql-test/suite/innodb/t/foreign-keys.test'
--- a/mysql-test/suite/innodb/t/foreign-keys.test	1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/innodb/t/foreign-keys.test	2014-10-07 08:53:06 +0000
@@ -0,0 +1,31 @@
+--source include/have_innodb.inc
+--source include/have_debug.inc
+
+if (`select plugin_auth_version <= "5.5.39-MariaDB-36.0" from information_schema.plugins where plugin_name='innodb'`)
+{
+  --skip Not fixed in XtraDB as of 5.5.39-MariaDB-36.0 or earlier
+}
+
+--echo #
+--echo # Bug #19471516 SERVER CRASHES WHEN EXECUTING ALTER TABLE
+--echo # ADD FOREIGN KEY
+--echo #
+
+CREATE TABLE `department` (`department_id` INT, `department_people_fk` INT,
+PRIMARY KEY (`department_id`)) engine=innodb;
+
+CREATE TABLE `title` (`title_id` INT, `title_manager_fk` INT,
+`title_reporter_fk` INT, PRIMARY KEY (`title_id`)) engine=innodb;
+
+CREATE TABLE `people` (`people_id` INT, PRIMARY KEY (`people_id`)) engine=innodb;
+
+ALTER TABLE `department` ADD FOREIGN KEY (`department_people_fk`) REFERENCES
+`people` (`people_id`);
+
+ALTER TABLE `title` ADD FOREIGN KEY (`title_manager_fk`) REFERENCES `people`
+(`people_id`);
+
+ALTER TABLE `title` ADD FOREIGN KEY (`title_reporter_fk`) REFERENCES `people`
+(`people_id`);
+
+drop table title, department, people;

=== added file 'mysql-test/t/ctype_cp932.test'
--- a/mysql-test/t/ctype_cp932.test	1970-01-01 00:00:00 +0000
+++ b/mysql-test/t/ctype_cp932.test	2014-08-12 11:46:51 +0000
@@ -0,0 +1,29 @@
+-- source include/have_cp932.inc
+--echo #
+--echo # Bug #11755818 LIKE DOESN'T MATCH WHEN CP932_BIN/SJIS_BIN COLLATIONS ARE 
+--echo #               USED.
+--echo #
+
+SET @old_character_set_client= @@character_set_client;
+SET @old_character_set_connection= @@character_set_connection;
+SET @old_character_set_results= @@character_set_results;
+SET character_set_client= 'utf8';
+SET character_set_connection= 'utf8';
+SET character_set_results= 'utf8';
+
+CREATE TABLE t1 (a VARCHAR(10) COLLATE cp932_bin);
+INSERT INTO t1 VALUES('カカ');
+SELECT * FROM t1 WHERE a LIKE '%カ';
+SELECT * FROM t1 WHERE a LIKE '_カ';
+SELECT * FROM t1 WHERE a LIKE '%_カ';
+
+ALTER TABLE t1 MODIFY a VARCHAR(100) COLLATE sjis_bin;
+SELECT * FROM t1 WHERE a LIKE '%カ';
+SELECT * FROM t1 WHERE a LIKE '_カ';
+SELECT * FROM t1 WHERE a LIKE '%_カ';
+DROP TABLE t1;
+
+## Reset to initial values
+SET @@character_set_client= @old_character_set_client;
+SET @@character_set_connection= @old_character_set_connection;
+SET @@character_set_results= @old_character_set_results;

=== added file 'mysql-test/t/log_errchk.test'
--- a/mysql-test/t/log_errchk.test	1970-01-01 00:00:00 +0000
+++ b/mysql-test/t/log_errchk.test	2014-10-07 08:53:06 +0000
@@ -0,0 +1,64 @@
+#
+--source include/not_windows.inc
+--source include/not_embedded.inc
+
+# 
+# Bug#14757009 : WHEN THE GENERAL_LOG IS A SOCKET AND THE READER GOES AWAY,
+#                MYSQL QUITS WORKING.
+#
+call mtr.add_suppression("Could not use");
+
+--let $gen_log_file= $MYSQLTEST_VARDIR/tmp/general_log.fifo
+--let $slow_query_log_file= $MYSQLTEST_VARDIR/tmp/slow_log.fifo
+--let GREP_FILE=$MYSQLTEST_VARDIR/log/mysqld.1.err
+
+--exec mkfifo $gen_log_file
+--exec mkfifo $slow_query_log_file
+
+--echo # Case 1: Setting fife file to general_log_file and slow_query_log_file
+--echo #         system variable.
+# Only regular files can be set to general log. Setting fifo file to general log
+# reports an error.
+--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
+--error ER_WRONG_VALUE_FOR_VAR
+--eval SET GLOBAL general_log_file="$gen_log_file";
+
+--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
+--error ER_WRONG_VALUE_FOR_VAR
+--eval SET GLOBAL slow_query_log_file="$slow_query_log_file";
+
+--echo # Case 2: Starting server with fifo file as general log file
+--echo #         and slow query log file.
+# Restart server with fifo file as general log file.
+--exec echo "wait" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+--shutdown_server 60
+--source include/wait_until_disconnected.inc
+--enable_reconnect
+# Write file to make mysql-test-run.pl start up the server again
+--exec echo "restart: --general-log-file=$gen_log_file --slow-query-log-file=$slow_query_log_file" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+--source include/wait_until_connected_again.inc
+
+# With fix error should be reported in the error log file if file is not a
+# regular file.
+--perl
+  my $file= $ENV{'GREP_FILE'};
+  my $pattern= "Turning logging off for the whole duration";
+  open(FILE, "$file") or die("Unable to open $file: $!\n");
+  my $count = 0;
+  while (<FILE>) {
+    if ($_ =~ m/$pattern/) {
+      $count++;
+      break;
+    }
+  }
+  if ($count >= 2){
+    print "Setting fifo file as general log file and slow query log failed.\n";
+  } else {
+    print "test failed.\n";
+  }
+  close(FILE);
+EOF
+
+# Cleanup
+--remove_file $gen_log_file
+--remove_file $slow_query_log_file

=== added file 'mysql-test/t/show_bad_definer-5553.test'
--- a/mysql-test/t/show_bad_definer-5553.test	1970-01-01 00:00:00 +0000
+++ b/mysql-test/t/show_bad_definer-5553.test	2014-10-08 07:24:41 +0000
@@ -0,0 +1,12 @@
+--source include/not_embedded.inc
+#
+# MDEV-5553 A view or procedure with a non existing definer can block "SHOW TABLE STATUS" with an unclear error message
+#
+
+create database mysqltest1; # all-open privileges on test db desroy the test
+use mysqltest1;
+create table t1(id int primary key);
+create definer=unknownuser@'%' sql security definer view v1 as select t1.id from t1 group by t1.id;
+--replace_column 8 # 12 # 13 #
+show table status;
+drop database mysqltest1;

=== modified file 'mysql-test/t/type_newdecimal.test'
--- a/mysql-test/t/type_newdecimal.test	2012-01-16 19:16:35 +0000
+++ b/mysql-test/t/type_newdecimal.test	2014-10-07 22:46:10 +0000
@@ -1570,3 +1570,14 @@ SELECT d1 * d2 FROM t1;
 
 DROP TABLE t1;
 
+#
+# Test for Bug#18469276: MOD FOR SMALL DECIMALS FAILS
+#
+select 0.000000000000000000000000000000000000000000000000001 mod 1;
+
+#
+# incorrect result
+#
+select 0.0000000001 mod 1;
+select 0.01 mod 1;
+

=== modified file 'mysql-test/t/type_time.test'
--- a/mysql-test/t/type_time.test	2014-06-06 06:29:52 +0000
+++ b/mysql-test/t/type_time.test	2014-10-09 08:30:11 +0000
@@ -250,9 +250,20 @@ SELECT '-24:00:00' = (SELECT f1 FROM t1)
 DROP TABLE t1;
 
 --echo #
---echo # Start of 10.0 tests
+--echo # MDEV-6592 Assertion `ltime->day == 0' failed with TIMESTAMP, MAKETIME
+--echo #
+CREATE TABLE t1 (d DATE, c VARCHAR(10), KEY(d))  engine=myisam;
+INSERT INTO t1 VALUES ('2008-10-02','2008-10-02'), ('2008-10-02','2008-10-02');
+SELECT * FROM t1 WHERE TIMESTAMP(c,'02:04:42') AND d <=> MAKETIME(97,0,7);
+DROP TABLE t1;
+
+--echo #
+--echo # End of 5.5 tests
 --echo #
 
+--echo #
+--echo # Start of 10.0 tests
+--echo #
 
 --echo #
 --echo # MDEV-6102 Comparison between TIME and DATETIME does not use CURRENT_DATE

=== modified file 'packaging/rpm-oel/mysql.spec.in'
--- a/packaging/rpm-oel/mysql.spec.in	2014-07-08 11:55:42 +0000
+++ b/packaging/rpm-oel/mysql.spec.in	2014-08-26 12:01:38 +0000
@@ -85,7 +85,7 @@ Name:           mysql-%{product_suffix}
 Summary:        A very fast and reliable SQL database server
 Group:          Applications/Databases
 Version:        @VERSION@
-Release:        4%{?commercial:.1}%{?dist}
+Release:        2%{?commercial:.1}%{?dist}
 License:        Copyright (c) 2000, @MYSQL_COPYRIGHT_YEAR@, %{mysql_vendor}. All rights reserved. Under %{?license_type} license as shown in the Description field.
 Source0:        https://cdn.mysql.com/Downloads/MySQL-@MYSQL_BASE_VERSION@/%{src_dir}.tar.gz
 URL:            http://www.mysql.com/
@@ -156,8 +156,8 @@ Requires:       net-tools
 Provides:       MySQL-server-advanced%{?_isa} = %{version}-%{release}
 Obsoletes:      MySQL-server-advanced < %{version}-%{release}
 Obsoletes:      mysql-community-server < %{version}-%{release}
-Requires:       mysql-enterprise-client%{?_isa} = %{version}-%{release}
-Requires:       mysql-enterprise-common%{?_isa} = %{version}-%{release}
+Requires:       mysql-commercial-client%{?_isa} = %{version}-%{release}
+Requires:       mysql-commercial-common%{?_isa} = %{version}-%{release}
 %else
 Provides:       MySQL-server%{?_isa} = %{version}-%{release}
 Requires:       mysql-community-client%{?_isa} = %{version}-%{release}
@@ -169,6 +169,8 @@ Obsoletes:      mariadb-server
 Obsoletes:      mariadb-galera-server
 Provides:       mysql-server = %{version}-%{release}
 Provides:       mysql-server%{?_isa} = %{version}-%{release}
+Provides:       mysql-compat-server = %{version}-%{release}
+Provides:       mysql-compat-server%{?_isa} = %{version}-%{release}
 %if 0%{?systemd}
 Requires(post):   systemd
 Requires(preun):  systemd
@@ -207,7 +209,7 @@ Group:          Applications/Databases
 Provides:       MySQL-client-advanced%{?_isa} = %{version}-%{release}
 Obsoletes:      MySQL-client-advanced < %{version}-%{release}
 Obsoletes:      mysql-community-client < %{version}-%{release}
-Requires:       mysql-enterprise-libs%{?_isa} = %{version}-%{release}
+Requires:       mysql-commercial-libs%{?_isa} = %{version}-%{release}
 %else
 Provides:       MySQL-client%{?_isa} = %{version}-%{release}
 Requires:       mysql-community-libs%{?_isa} = %{version}-%{release}
@@ -246,7 +248,7 @@ Group:          Applications/Databases
 Provides:       MySQL-test-advanced%{?_isa} = %{version}-%{release}
 Obsoletes:      MySQL-test-advanced < %{version}-%{release}
 Obsoletes:      mysql-community-test < %{version}-%{release}
-Requires:       mysql-enterprise-server%{?_isa} = %{version}-%{release}
+Requires:       mysql-commercial-server%{?_isa} = %{version}-%{release}
 %else
 Provides:       MySQL-test%{?_isa} = %{version}-%{release}
 Requires:       mysql-community-server%{?_isa} = %{version}-%{release}
@@ -268,7 +270,7 @@ Summary:        MySQL benchmark suite
 Group:          Applications/Databases
 %if 0%{?commercial}
 Obsoletes:      mysql-community-bench < %{version}-%{release}
-Requires:       mysql-enterprise-server%{?_isa} = %{version}-%{release}
+Requires:       mysql-commercial-server%{?_isa} = %{version}-%{release}
 %else
 Requires:       mysql-community-server%{?_isa} = %{version}-%{release}
 %endif
@@ -289,7 +291,7 @@ Group:          Applications/Databases
 Provides:       MySQL-devel-advanced%{?_isa} = %{version}-%{release}
 Obsoletes:      MySQL-devel-advanced < %{version}-%{release}
 Obsoletes:      mysql-community-devel < %{version}-%{release}
-Requires:       mysql-enterprise-libs%{?_isa} = %{version}-%{release}
+Requires:       mysql-commercial-libs%{?_isa} = %{version}-%{release}
 %else
 Provides:       MySQL-devel%{?_isa} = %{version}-%{release}
 Requires:       mysql-community-libs%{?_isa} = %{version}-%{release}
@@ -311,7 +313,7 @@ Group:          Applications/Databases
 Provides:       MySQL-shared-advanced%{?_isa} = %{version}-%{release}
 Obsoletes:      MySQL-shared-advanced < %{version}-%{release}
 Obsoletes:      mysql-community-libs < %{version}-%{release}
-Requires:       mysql-enterprise-common%{?_isa} = %{version}-%{release}
+Requires:       mysql-commercial-common%{?_isa} = %{version}-%{release}
 %else
 Provides:       MySQL-shared%{?_isa} = %{version}-%{release}
 Requires:       mysql-community-common%{?_isa} = %{version}-%{release}
@@ -337,7 +339,7 @@ Provides:       mysql-libs-compat%{?_isa
 Provides:       MySQL-shared-compat-advanced%{?_isa} = %{version}-%{release}
 Obsoletes:      MySQL-shared-compat-advanced < %{version}-%{release}
 Obsoletes:      mysql-community-libs-compat < %{version}-%{release}
-Requires:       mysql-enterprise-libs%{?_isa} = %{version}-%{release}
+Requires:       mysql-commercial-libs%{?_isa} = %{version}-%{release}
 %else
 Provides:       MySQL-shared-compat%{?_isa} = %{version}-%{release}
 Requires:       mysql-community-libs%{?_isa} = %{version}-%{release}
@@ -359,7 +361,7 @@ Group:          Applications/Databases
 Provides:       MySQL-embedded-advanced%{?_isa} = %{version}-%{release}
 Obsoletes:      MySQL-embedded-advanced < %{version}-%{release}
 Obsoletes:      mysql-community-embedded < %{version}-%{release}
-Requires:       mysql-enterprise-common%{?_isa} = %{version}-%{release}
+Requires:       mysql-commercial-common%{?_isa} = %{version}-%{release}
 %else
 Provides:       MySQL-embedded%{?_isa} = %{version}-%{release}
 Requires:       mysql-community-common%{?_isa} = %{version}-%{release}
@@ -387,8 +389,8 @@ Summary:        Development header files
 Group:          Applications/Databases
 %if 0%{?commercial}
 Obsoletes:      mysql-community-embedded-devel < %{version}-%{release}
-Requires:       mysql-enterprise-devel%{?_isa} = %{version}-%{release}
-Requires:       mysql-enterprise-embedded%{?_isa} = %{version}-%{release}
+Requires:       mysql-commercial-devel%{?_isa} = %{version}-%{release}
+Requires:       mysql-commercial-embedded%{?_isa} = %{version}-%{release}
 %else
 Requires:       mysql-community-devel%{?_isa} = %{version}-%{release}
 Requires:       mysql-community-embedded%{?_isa} = %{version}-%{release}
@@ -407,9 +409,9 @@ the embedded version of the MySQL server
 Summary:        Convenience package for easy upgrades of MySQL package set
 Group:          Applications/Databases
 %if 0%{?commercial}
-Requires:       mysql-enterprise-client%{?_isa} = %{version}-%{release}
-Requires:       mysql-enterprise-libs%{?_isa} = %{version}-%{release}
-Requires:       mysql-enterprise-libs-compat%{?_isa} = %{version}-%{release}
+Requires:       mysql-commercial-client%{?_isa} = %{version}-%{release}
+Requires:       mysql-commercial-libs%{?_isa} = %{version}-%{release}
+Requires:       mysql-commercial-libs-compat%{?_isa} = %{version}-%{release}
 %else
 Requires:       mysql-community-client%{?_isa} = %{version}-%{release}
 Requires:       mysql-community-libs%{?_isa} = %{version}-%{release}
@@ -911,6 +913,9 @@ fi
 %endif
 
 %changelog
+* Tue Jul 22 2014 Balasubramanian Kandasamy <balasubramanian.kandasamy at oracle.com> - 5.5.39-5
+- Provide mysql-compat-server dependencies
+
 * Tue Jul 08 2014 Balasubramanian Kandasamy <balasubramanian.kandasamy at oracle.com> - 5.5.39-4
 - Remove perl(GD) and dtrace dependencies 
 

=== modified file 'plugin/auth_socket/auth_socket.c'
--- a/plugin/auth_socket/auth_socket.c	2014-09-16 12:03:17 +0000
+++ b/plugin/auth_socket/auth_socket.c	2014-10-09 08:30:11 +0000
@@ -37,7 +37,7 @@
 
 #elif defined HAVE_SOCKPEERCRED
 #define level SOL_SOCKET
-#define ucred socketpeercred
+#define ucred sockpeercred
 
 #elif defined HAVE_XUCRED
 #include <sys/un.h>

=== modified file 'plugin/handler_socket/handlersocket/database.cpp'
--- a/plugin/handler_socket/handlersocket/database.cpp	2013-09-14 01:09:36 +0000
+++ b/plugin/handler_socket/handlersocket/database.cpp	2014-10-09 08:30:11 +0000
@@ -6,6 +6,8 @@
  * See COPYRIGHT.txt for details.
  */
 
+#include <my_config.h>
+
 #include <stdlib.h>
 #include <stdio.h>
 #include <string.h>

=== modified file 'plugin/handler_socket/handlersocket/handlersocket.cpp'
--- a/plugin/handler_socket/handlersocket/handlersocket.cpp	2012-05-18 13:40:16 +0000
+++ b/plugin/handler_socket/handlersocket/handlersocket.cpp	2014-10-02 09:57:40 +0000
@@ -6,6 +6,8 @@
  * See COPYRIGHT.txt for details.
  */
 
+#include <my_config.h>
+
 #include <memory>
 #include <string>
 #include <stdio.h>

=== modified file 'plugin/handler_socket/handlersocket/hstcpsvr.cpp'
--- a/plugin/handler_socket/handlersocket/hstcpsvr.cpp	2011-02-20 13:22:10 +0000
+++ b/plugin/handler_socket/handlersocket/hstcpsvr.cpp	2014-10-02 09:57:40 +0000
@@ -6,6 +6,8 @@
  * See COPYRIGHT.txt for details.
  */
 
+#include <my_config.h>
+
 #include <stdlib.h>
 #include <vector>
 #include <sys/types.h>

=== modified file 'plugin/handler_socket/libhsclient/hstcpcli.cpp'
--- a/plugin/handler_socket/libhsclient/hstcpcli.cpp	2011-06-07 11:19:49 +0000
+++ b/plugin/handler_socket/libhsclient/hstcpcli.cpp	2014-10-02 09:57:40 +0000
@@ -6,6 +6,8 @@
  * See COPYRIGHT.txt for details.
  */
 
+#include <my_config.h>
+
 #include <stdexcept>
 
 #include "hstcpcli.hpp"

=== modified file 'plugin/handler_socket/libhsclient/socket.cpp'
--- a/plugin/handler_socket/libhsclient/socket.cpp	2011-09-24 12:45:49 +0000
+++ b/plugin/handler_socket/libhsclient/socket.cpp	2014-10-02 09:57:40 +0000
@@ -6,6 +6,8 @@
  * See COPYRIGHT.txt for details.
  */
 
+#include <my_config.h>
+
 #include <stdexcept>
 #include <string.h>
 #include <errno.h>

=== modified file 'plugin/handler_socket/perl-Net-HandlerSocket/HandlerSocket.xs'
--- a/plugin/handler_socket/perl-Net-HandlerSocket/HandlerSocket.xs	2013-09-14 01:09:36 +0000
+++ b/plugin/handler_socket/perl-Net-HandlerSocket/HandlerSocket.xs	2014-10-09 08:30:11 +0000
@@ -6,17 +6,14 @@
  * See COPYRIGHT.txt for details.
  */
 
+#undef VERSION
+#include <config.h>
+
 #include "EXTERN.h"
 #include "perl.h"
 #include "XSUB.h"
 
 #include "ppport.h"
-
-/*
-  below we'll include (indirectly) my_global.h, which defines
-  VERSION too. Undefine our VERSION here.
-*/
-#undef VERSION
 #include "hstcpcli.hpp"
 
 #define DBG(x)

=== modified file 'plugin/metadata_lock_info/metadata_lock_info.cc'
--- a/plugin/metadata_lock_info/metadata_lock_info.cc	2014-06-24 16:53:25 +0000
+++ b/plugin/metadata_lock_info/metadata_lock_info.cc	2014-10-09 08:30:11 +0000
@@ -14,6 +14,7 @@
   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA */
 
 #define MYSQL_SERVER 1
+#include "my_config.h"
 #include "mysql_version.h"
 #include "mysql/plugin.h"
 #include "sql_class.h"

=== modified file 'plugin/server_audit/server_audit.c'
--- a/plugin/server_audit/server_audit.c	2014-06-13 11:25:32 +0000
+++ b/plugin/server_audit/server_audit.c	2014-10-09 08:30:11 +0000
@@ -17,6 +17,8 @@
 #define PLUGIN_VERSION 0x101
 #define PLUGIN_STR_VERSION "1.1.7"
 
+#include <my_config.h>
+
 #include <stdio.h>
 #include <time.h>
 #include <string.h>

=== modified file 'scripts/comp_sql.c'
--- a/scripts/comp_sql.c	2014-05-09 10:35:11 +0000
+++ b/scripts/comp_sql.c	2014-10-09 08:30:11 +0000
@@ -23,6 +23,7 @@
   into other programs
 */
 
+#include <my_config.h>
 #include <stdarg.h>
 #include <stdlib.h>
 #include <stdio.h>

=== modified file 'scripts/mysql_system_tables_fix.sql'
--- a/scripts/mysql_system_tables_fix.sql	2014-08-05 12:39:00 +0000
+++ b/scripts/mysql_system_tables_fix.sql	2014-10-09 08:30:11 +0000
@@ -645,6 +645,23 @@ INSERT INTO tmp_proxies_priv VALUES ('lo
 INSERT INTO proxies_priv SELECT * FROM tmp_proxies_priv WHERE @had_proxies_priv_table=0;
 DROP TABLE tmp_proxies_priv;
 
+-- Checking for any duplicate hostname and username combination are exists.
+-- If exits we will throw error.
+DROP PROCEDURE IF EXISTS mysql.count_duplicate_host_names;
+DELIMITER //
+CREATE PROCEDURE mysql.count_duplicate_host_names()
+BEGIN
+  SET @duplicate_hosts=(SELECT count(*) FROM mysql.user GROUP BY user, lower(host) HAVING count(*) > 1 LIMIT 1);
+  IF @duplicate_hosts > 1 THEN
+    SIGNAL SQLSTATE '45000'  SET MESSAGE_TEXT = 'Multiple accounts exist for @user_name, @host_name that differ only in Host lettercase; remove all except one of them';
+  END IF;
+END //
+DELIMITER ;
+CALL mysql.count_duplicate_host_names();
+-- Get warnings (if any)
+SHOW WARNINGS;
+DROP PROCEDURE mysql.count_duplicate_host_names;
+
 # Convering the host name to lower case for existing users
 UPDATE user SET host=LOWER( host ) WHERE LOWER( host ) <> host;
 

=== modified file 'sql-common/client.c'
--- a/sql-common/client.c	2014-07-19 10:38:40 +0000
+++ b/sql-common/client.c	2014-10-09 08:30:11 +0000
@@ -1964,6 +1964,12 @@ static int ssl_verify_server_cert(Vio *v
     DBUG_RETURN(1);
   }
 
+  if (X509_V_OK != SSL_get_verify_result(ssl))
+  {
+    *errptr= "Failed to verify the server certificate";
+    X509_free(server_cert);
+    DBUG_RETURN(1);
+  }
   /*
     We already know that the certificate exchanged was valid; the SSL library
     handled that. Now we need to verify that the contents of the certificate

=== modified file 'sql/event_scheduler.cc'
--- a/sql/event_scheduler.cc	2014-09-30 17:31:14 +0000
+++ b/sql/event_scheduler.cc	2014-10-09 08:30:11 +0000
@@ -354,14 +354,7 @@ Event_scheduler::Event_scheduler(Event_q
   mysql_mutex_init(key_event_scheduler_LOCK_scheduler_state,
                    &LOCK_scheduler_state, MY_MUTEX_INIT_FAST);
   mysql_cond_init(key_event_scheduler_COND_state, &COND_state, NULL);
-
-#ifdef SAFE_MUTEX
-  /* Ensure right mutex order */
-  mysql_mutex_lock(&LOCK_scheduler_state);
-  mysql_mutex_lock(&LOCK_global_system_variables);
-  mysql_mutex_unlock(&LOCK_global_system_variables);
-  mysql_mutex_unlock(&LOCK_scheduler_state);
-#endif
+  mysql_mutex_record_order(&LOCK_scheduler_state, &LOCK_global_system_variables);
 }
 
 

=== modified file 'sql/item.cc'
--- a/sql/item.cc	2014-09-30 17:31:14 +0000
+++ b/sql/item.cc	2014-10-09 08:30:11 +0000
@@ -1,6 +1,6 @@
 /*
-   Copyright (c) 2000, 2013, Oracle and/or its affiliates.
-   Copyright (c) 2010, 2013, Monty Program Ab
+   Copyright (c) 2000, 2014, Oracle and/or its affiliates.
+   Copyright (c) 2010, 2014, Monty Program Ab.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -5579,6 +5579,18 @@ enum_field_types Item::field_type() cons
 }
 
 
+/**
+  Verifies that the input string is well-formed according to its character set.
+  @param send_error   If true, call my_error if string is not well-formed.
+
+  Will truncate input string if it is not well-formed.
+
+  @return
+  If well-formed: input string.
+  If not well-formed:
+    if strict mode: NULL pointer and we set this Item's value to NULL
+    if not strict mode: input string truncated up to last good character
+ */
 String *Item::check_well_formed_result(String *str, bool send_error)
 {
   /* Check whether we got a well-formed string */
@@ -9000,17 +9012,11 @@ bool Item_cache_temporal::get_date(MYSQL
 
 int Item_cache_temporal::save_in_field(Field *field, bool no_conversions)
 {
-  int error;
-  if (!has_value())
+  MYSQL_TIME ltime;
+  if (get_date(&ltime, 0))
     return set_field_to_null_with_conversions(field, no_conversions);
-
   field->set_notnull();
- 
-  MYSQL_TIME ltime;
-  unpack_time(value, &ltime);
-  ltime.time_type= mysql_type_to_time_type(field_type());
-  error= field->store_time_dec(&ltime, decimals);
- 
+  int error= field->store_time_dec(&ltime, decimals);
   return error ? error : field->table->in_use->is_error() ? 1 : 0;
 }
 

=== modified file 'sql/log.cc'
--- a/sql/log.cc	2014-09-30 17:31:14 +0000
+++ b/sql/log.cc	2014-10-09 08:30:11 +0000
@@ -2482,6 +2482,7 @@ bool MYSQL_LOG::open(
                      const char *new_name, enum cache_type io_cache_type_arg)
 {
   char buff[FN_REFLEN];
+  MY_STAT f_stat;
   File file= -1;
   int open_flags= O_CREAT | O_BINARY;
   DBUG_ENTER("MYSQL_LOG::open");
@@ -2499,6 +2500,10 @@ bool MYSQL_LOG::open(
                                  log_type_arg, io_cache_type_arg))
     goto err;
 
+  /* File is regular writable file */
+  if (my_stat(log_file_name, &f_stat, MYF(0)) && !MY_S_ISREG(f_stat.st_mode))
+    goto err;
+
   if (io_cache_type == SEQ_READ_APPEND)
     open_flags |= O_RDWR | O_APPEND;
   else

=== modified file 'sql/mysqld.cc'
--- a/sql/mysqld.cc	2014-09-30 17:31:14 +0000
+++ b/sql/mysqld.cc	2014-10-09 08:30:11 +0000
@@ -3231,9 +3231,6 @@ static void init_signals(void)
   sa.sa_flags = 0;
   sa.sa_handler = print_signal_warning;
   sigaction(SIGHUP, &sa, (struct sigaction*) 0);
-#ifdef SIGTSTP
-  sigaddset(&set,SIGTSTP);
-#endif
   if (thd_lib_detected != THD_LIB_LT)
     sigaddset(&set,THR_SERVER_ALARM);
   if (test_flags & TEST_SIGINT)
@@ -3243,7 +3240,12 @@ static void init_signals(void)
     sigdelset(&set, SIGINT);
   }
   else
+  {
     sigaddset(&set,SIGINT);
+#ifdef SIGTSTP
+    sigaddset(&set,SIGTSTP);
+#endif
+  }
 
   sigprocmask(SIG_SETMASK,&set,NULL);
   pthread_sigmask(SIG_SETMASK,&set,NULL);
@@ -8403,6 +8405,9 @@ mysqld_get_one_option(int optid,
     test_flags= argument ? (uint) atoi(argument) : 0;
     opt_endinfo=1;
     break;
+  case OPT_THREAD_CONCURRENCY:
+    WARN_DEPRECATED_NO_REPLACEMENT(NULL, "THREAD_CONCURRENCY");
+    break;
   case (int) OPT_ISAM_LOG:
     opt_myisam_log=1;
     break;

=== modified file 'sql/mysqld.h'
--- a/sql/mysqld.h	2014-09-12 11:49:13 +0000
+++ b/sql/mysqld.h	2014-10-09 08:30:11 +0000
@@ -592,6 +592,7 @@ enum options_mysqld
   OPT_SSL_CRL,
   OPT_SSL_CRLPATH,
   OPT_SSL_KEY,
+  OPT_THREAD_CONCURRENCY,
   OPT_WANT_CORE,
   OPT_MYSQL_COMPATIBILITY,
   OPT_MYSQL_TO_BE_IMPLEMENTED,

=== modified file 'sql/sql_acl.cc'
--- a/sql/sql_acl.cc	2014-09-30 17:31:14 +0000
+++ b/sql/sql_acl.cc	2014-10-09 08:30:11 +0000
@@ -12132,12 +12132,13 @@ bool acl_authenticate(THD *thd, uint com
                                      mpvio.auth_info.authenticated_as);
       if (!acl_proxy_user)
       {
+        mysql_mutex_unlock(&acl_cache->lock);
+
         Host_errors errors;
         errors.m_proxy_user_acl= 1;
         inc_host_errors(mpvio.thd->security_ctx->ip, &errors);
         if (!thd->is_error())
           login_failed_error(thd);
-        mysql_mutex_unlock(&acl_cache->lock);
         DBUG_RETURN(1);
       }
       acl_user= acl_proxy_user->copy(thd->mem_root);

=== modified file 'sql/sql_cache.cc'
--- a/sql/sql_cache.cc	2014-09-30 17:31:14 +0000
+++ b/sql/sql_cache.cc	2014-10-09 08:30:11 +0000
@@ -3339,7 +3339,7 @@ Query_cache::register_tables_from_list(T
         There are not callback function for for VIEWs
       */
       if (!insert_table(key_length, key, (*block_table),
-                        tables_used->view_db.length + 1, 0,
+                        tables_used->view_db.length, 0,
                         HA_CACHE_TBL_NONTRANSACT, 0, 0, TRUE))
         DBUG_RETURN(0);
       /*

=== modified file 'sql/sql_priv.h'
--- a/sql/sql_priv.h	2014-09-30 15:06:02 +0000
+++ b/sql/sql_priv.h	2014-10-09 08:30:11 +0000
@@ -1,5 +1,5 @@
-/* Copyright (c) 2000, 2011, Oracle and/or its affiliates.
-   Copyright (c) 2010, 2013, Monty Program Ab.
+/* Copyright (c) 2000, 2014, Oracle and/or its affiliates.
+   Copyright (c) 2010, 2014, Monty Program Ab.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -29,10 +29,6 @@
 
 #ifndef MYSQL_CLIENT
 
-#ifndef MY_GLOBAL_INCLUDED
-#error "You must include my_global.h first!"
-#endif
-
 /*
   Generates a warning that a feature is deprecated. After a specified
   version asserts that the feature is removed.
@@ -64,6 +60,33 @@
                         (Old), (New));                                      \
   } while(0)
 
+
+/*
+  Generates a warning that a feature is deprecated and there is no replacement.
+
+  Using it as
+
+  WARN_DEPRECATED_NO_REPLACEMENT(thd, "BAD");
+
+  Will result in a warning
+ 
+  "'BAD' is deprecated and will be removed in a future release."
+
+   Note that in macro arguments BAD is not quoted.
+*/
+
+#define WARN_DEPRECATED_NO_REPLACEMENT(Thd,Old)                             \
+  do {                                                                      \
+    if (((THD *) Thd) != NULL)                                              \
+      push_warning_printf(((THD *) Thd), Sql_condition::WARN_LEVEL_WARN,    \
+                        ER_WARN_DEPRECATED_SYNTAX_NO_REPLACEMENT,           \
+                        ER(ER_WARN_DEPRECATED_SYNTAX_NO_REPLACEMENT),       \
+                        (Old));                                             \
+    else                                                                    \
+      sql_print_warning("'%s' is deprecated and will be removed "           \
+                        "in a future release.", (Old));                     \
+  } while(0)
+
 /*************************************************************************/
 
 #endif

=== modified file 'sql/sql_select.cc'
--- a/sql/sql_select.cc	2014-09-30 17:43:14 +0000
+++ b/sql/sql_select.cc	2014-10-09 08:30:11 +0000
@@ -21181,7 +21181,7 @@ find_order_in_list(THD *thd, Item **ref_
         order_item_type == Item::REF_ITEM)
     {
       from_field= find_field_in_tables(thd, (Item_ident*) order_item, tables,
-                                       NULL, &view_ref, IGNORE_ERRORS, TRUE,
+                                       NULL, &view_ref, IGNORE_ERRORS, FALSE,
                                        FALSE);
       if (!from_field)
         from_field= (Field*) not_found_field;

=== modified file 'sql/sql_show.cc'
--- a/sql/sql_show.cc	2014-09-30 17:31:14 +0000
+++ b/sql/sql_show.cc	2014-10-09 08:30:11 +0000
@@ -3055,12 +3055,11 @@ static bool show_status_array(THD *thd,
         char *value=var->value;
         const char *pos, *end;                  // We assign a lot of const's
 
-        mysql_mutex_lock(&LOCK_global_system_variables);
-
         if (show_type == SHOW_SYS)
         {
           sys_var *var= ((sys_var *) value);
           show_type= var->show_type();
+          mysql_mutex_lock(&LOCK_global_system_variables);
           value= (char*) var->value_ptr(thd, value_type, &null_lex_str);
           charset= var->charset(thd);
         }
@@ -3161,7 +3160,8 @@ static bool show_status_array(THD *thd,
         thd->count_cuted_fields= CHECK_FIELD_IGNORE;
         table->field[1]->set_notnull();
 
-        mysql_mutex_unlock(&LOCK_global_system_variables);
+        if (var->type == SHOW_SYS)
+          mysql_mutex_unlock(&LOCK_global_system_variables);
 
         if (schema_table_store_record(thd, table))
         {

=== modified file 'sql/sys_vars.cc'
--- a/sql/sys_vars.cc	2014-09-30 17:31:14 +0000
+++ b/sql/sys_vars.cc	2014-10-09 08:30:11 +0000
@@ -2492,7 +2492,8 @@ static Sys_var_ulong Sys_thread_concurre
        "the desired number of threads that should be run at the same time."
        "This variable has no effect, and is deprecated. "
        "It will be removed in a future release.",
-       READ_ONLY GLOBAL_VAR(concurrency), CMD_LINE(REQUIRED_ARG),
+       READ_ONLY GLOBAL_VAR(concurrency),
+       CMD_LINE(REQUIRED_ARG, OPT_THREAD_CONCURRENCY),
        VALID_RANGE(1, 512), DEFAULT(DEFAULT_CONCURRENCY), BLOCK_SIZE(1),
        NO_MUTEX_GUARD, NOT_IN_BINLOG, ON_CHECK(0), ON_UPDATE(0),
        DEPRECATED(""));

=== modified file 'storage/connect/inihandl.c'
--- a/storage/connect/inihandl.c	2014-04-21 10:57:10 +0000
+++ b/storage/connect/inihandl.c	2014-10-09 08:30:11 +0000
@@ -18,6 +18,8 @@
  * License along with this library; if not, write to the Free Software
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  */
+#include "my_global.h"
+
 #include <ctype.h>
 //#include <errno.h>
 #include <fcntl.h>
@@ -28,7 +30,6 @@
 #include <sys/stat.h>
 //#include <sys/types.h>
 //#include <memory.h>
-#include "my_global.h"
 #include "osutil.h"
 #include "global.h"
 #include "inihandl.h"

=== modified file 'storage/connect/libdoc.cpp'
--- a/storage/connect/libdoc.cpp	2013-10-29 09:44:05 +0000
+++ b/storage/connect/libdoc.cpp	2014-10-09 08:30:11 +0000
@@ -2,6 +2,7 @@
 /*  Implementation of XML document processing using libxml2       */
 /*  Author: Olivier Bertrand                2007-2013             */
 /******************************************************************/
+#include "my_global.h"
 #include <string.h>
 #include <stdio.h>
 #include <libxml/parser.h>
@@ -11,11 +12,6 @@
 #include <libxml/catalog.h>
 #include <libxml/xmlschemastypes.h>
 #include <libxml/relaxng.h>
-//#if defined(WIN32)
-//#include <windows.h>
-//#else   // !WIN32
-#include "my_global.h"
-//#endif  // !WIN32
 
 #if !defined(LIBXML_TREE_ENABLED) || !defined(LIBXML_OUTPUT_ENABLED)
 #error "tree support not compiled in"

=== modified file 'storage/connect/mycat.cc'
--- a/storage/connect/mycat.cc	2014-08-23 17:17:15 +0000
+++ b/storage/connect/mycat.cc	2014-10-09 08:30:11 +0000
@@ -28,6 +28,8 @@
 /***********************************************************************/
 /*  Include relevant MariaDB header file.                              */
 /***********************************************************************/
+#include <my_config.h>
+
 #if defined(WIN32)
 //#include <windows.h>
 //#include <sqlext.h>

=== modified file 'storage/connect/tabxml.cpp'
--- a/storage/connect/tabxml.cpp	2014-07-17 16:13:51 +0000
+++ b/storage/connect/tabxml.cpp	2014-10-09 08:30:11 +0000
@@ -11,6 +11,7 @@
 /***********************************************************************/
 /*  Include required compiler header files.                            */
 /***********************************************************************/
+#include "my_global.h"
 #include <stdio.h>
 #include <fcntl.h>
 #include <errno.h>
@@ -28,7 +29,6 @@
 #include "osutil.h"
 #define _O_RDONLY O_RDONLY
 #endif  // !WIN32
-#include "my_global.h"
 
 #define INCLUDE_TDBXML
 #define NODE_TYPE_LIST

=== modified file 'storage/example/ha_example.cc'
--- a/storage/example/ha_example.cc	2014-05-09 10:35:11 +0000
+++ b/storage/example/ha_example.cc	2014-10-09 08:30:11 +0000
@@ -98,6 +98,7 @@
 #pragma implementation        // gcc: Class implementation
 #endif
 
+#include <my_config.h>
 #include <mysql/plugin.h>
 #include "ha_example.h"
 #include "sql_class.h"

=== modified file 'storage/federatedx/ha_federatedx.cc'
--- a/storage/federatedx/ha_federatedx.cc	2014-03-26 08:41:52 +0000
+++ b/storage/federatedx/ha_federatedx.cc	2014-10-09 08:30:11 +0000
@@ -312,6 +312,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 #endif
 
 #define MYSQL_SERVER 1
+#include <my_global.h>
 #include <mysql/plugin.h>
 #include "ha_federatedx.h"
 #include "sql_servers.h"

=== modified file 'storage/heap/hp_hash.c'
--- a/storage/heap/hp_hash.c	2014-03-21 13:36:49 +0000
+++ b/storage/heap/hp_hash.c	2014-10-09 08:30:11 +0000
@@ -878,12 +878,17 @@ uint hp_rb_pack_key(HP_KEYDEF *keydef, u
       /* Convert NULL from MySQL representation into HEAP's. */
       if (!(*key++= (char) 1 - *old++))
       {
+#if 0
         /*
           Skip length part of a variable length field.
           Length of key-part used with heap_rkey() always 2.
           See also hp_hashnr().
         */
         if (seg->flag & (HA_VAR_LENGTH_PART | HA_BLOB_PART))
+#else
+	/* Add key pack length (2) to key for VARCHAR segments */
+        if (seg->type == HA_KEYTYPE_VARTEXT1)
+#endif
           old+= 2;
         continue;
       }

=== modified file 'storage/innobase/api/api0misc.cc'
--- a/storage/innobase/api/api0misc.cc	2014-02-26 18:22:48 +0000
+++ b/storage/innobase/api/api0misc.cc	2014-10-09 08:30:11 +0000
@@ -24,6 +24,7 @@ InnoDB Native API
 3/20/2011 Jimmy Yang extracted from Embedded InnoDB
 *******************************************************/
 
+#include <my_config.h>
 #include <errno.h>
 
 #ifdef HAVE_UNISTD_H

=== modified file 'storage/mroonga/mrn_table.cpp'
--- a/storage/mroonga/mrn_table.cpp	2014-09-20 15:33:45 +0000
+++ b/storage/mroonga/mrn_table.cpp	2014-10-09 08:30:11 +0000
@@ -18,6 +18,7 @@
   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 */
 
+#include <config.h>
 #include <string>
 
 #include "mrn_mysql.h"

=== modified file 'storage/oqgraph/ha_oqgraph.cc'
--- a/storage/oqgraph/ha_oqgraph.cc	2014-10-01 10:03:50 +0000
+++ b/storage/oqgraph/ha_oqgraph.cc	2014-10-09 08:30:11 +0000
@@ -26,6 +26,8 @@
 #pragma implementation				// gcc: Class implementation
 #endif
 
+#include <my_config.h>
+
 #define MYSQL_SERVER	// to have THD
 #include <mysql/plugin.h>
 #include "sql_class.h"

=== modified file 'storage/sequence/sequence.cc'
--- a/storage/sequence/sequence.cc	2014-06-13 11:25:32 +0000
+++ b/storage/sequence/sequence.cc	2014-10-09 08:30:11 +0000
@@ -20,6 +20,7 @@
   a engine that auto-creates tables with rows filled with sequential values
 */
 
+#include <my_config.h>
 #include <ctype.h>
 #include <mysql_version.h>
 #include <handler.h>

=== modified file 'storage/sphinx/snippets_udf.cc'
--- a/storage/sphinx/snippets_udf.cc	2014-02-01 13:08:34 +0000
+++ b/storage/sphinx/snippets_udf.cc	2014-10-09 08:30:11 +0000
@@ -13,6 +13,7 @@
 // did not, you can find it at http://www.gnu.org/
 //
 
+#include <my_config.h>
 #include <stdio.h>
 #include <string.h>
 #include <assert.h>

=== modified file 'storage/tokudb/CMakeLists.txt'
--- a/storage/tokudb/CMakeLists.txt	2014-09-23 21:55:29 +0000
+++ b/storage/tokudb/CMakeLists.txt	2014-10-09 08:30:11 +0000
@@ -18,7 +18,7 @@ IF(NOT LIBJEMALLOC)
 ENDIF()
 
 ############################################
-SET(TOKUDB_VERSION "7.1.8")
+SET(TOKUDB_VERSION "7.5.0")
 SET(TOKUDB_DEB_FILES "usr/lib/mysql/plugin/ha_tokudb.so\netc/mysql/conf.d/tokudb.cnf\nusr/bin/tokuftdump\nusr/share/doc/mariadb-server-10.0/README-TOKUDB\nusr/share/doc/mariadb-server-10.0/README.md" PARENT_SCOPE)
 SET(USE_BDB OFF CACHE BOOL "")
 MARK_AS_ADVANCED(BUILDNAME)

=== modified file 'storage/tokudb/ft-index/ft/bndata.cc'
--- a/storage/tokudb/ft-index/ft/bndata.cc	2014-09-23 20:03:35 +0000
+++ b/storage/tokudb/ft-index/ft/bndata.cc	2014-10-02 09:57:40 +0000
@@ -89,6 +89,8 @@
 #ident "Copyright (c) 2007-2013 Tokutek Inc.  All rights reserved."
 #ident "The technology is licensed by the Massachusetts Institute of Technology, Rutgers State University of New Jersey, and the Research Foundation of State University of New York at Stony Brook under United States of America Serial No. 11/760379 and to the patents and/or patent applications resulting from it."
 
+#include <config.h>
+
 #include <ft/bndata.h>
 #include <ft/ft-internal.h>
 

=== modified file 'storage/tokudb/ft-index/ft/cachetable/cachetable.cc'
--- a/storage/tokudb/ft-index/ft/cachetable/cachetable.cc	2014-08-24 12:45:19 +0000
+++ b/storage/tokudb/ft-index/ft/cachetable/cachetable.cc	2014-10-02 09:57:40 +0000
@@ -89,6 +89,8 @@
 #ident "Copyright (c) 2007-2013 Tokutek Inc.  All rights reserved."
 #ident "The technology is licensed by the Massachusetts Institute of Technology, Rutgers State University of New Jersey, and the Research Foundation of State University of New York at Stony Brook under United States of America Serial No. 11/760379 and to the patents and/or patent applications resulting from it."
 
+#include <config.h>
+
 #include <string.h>
 #include <time.h>
 #include <stdarg.h>

=== modified file 'storage/tokudb/ft-index/ft/cachetable/checkpoint.cc'
--- a/storage/tokudb/ft-index/ft/cachetable/checkpoint.cc	2014-08-21 19:35:07 +0000
+++ b/storage/tokudb/ft-index/ft/cachetable/checkpoint.cc	2014-10-02 09:57:40 +0000
@@ -126,6 +126,8 @@
  *
  *****/
 
+#include <config.h>
+
 #include <time.h>
 
 #include "portability/toku_portability.h"

=== modified file 'storage/tokudb/ft-index/ft/cursor.cc'
--- a/storage/tokudb/ft-index/ft/cursor.cc	2014-08-21 19:35:06 +0000
+++ b/storage/tokudb/ft-index/ft/cursor.cc	2014-10-02 09:57:40 +0000
@@ -86,6 +86,8 @@
   under this License.
 */
 
+#include <config.h>
+
 #include "ft/ft-internal.h"
 
 #include "ft/cursor.h"

=== modified file 'storage/tokudb/ft-index/ft/ft-cachetable-wrappers.cc'
--- a/storage/tokudb/ft-index/ft/ft-cachetable-wrappers.cc	2014-09-23 20:03:35 +0000
+++ b/storage/tokudb/ft-index/ft/ft-cachetable-wrappers.cc	2014-10-02 09:57:40 +0000
@@ -89,6 +89,8 @@
 #ident "Copyright (c) 2007-2013 Tokutek Inc.  All rights reserved."
 #ident "The technology is licensed by the Massachusetts Institute of Technology, Rutgers State University of New Jersey, and the Research Foundation of State University of New York at Stony Brook under United States of America Serial No. 11/760379 and to the patents and/or patent applications resulting from it."
 
+#include <config.h>
+
 #include "ft/serialize/block_table.h"
 #include "ft/ft-cachetable-wrappers.h"
 #include "ft/ft-flusher.h"

=== modified file 'storage/tokudb/ft-index/ft/ft-flusher.cc'
--- a/storage/tokudb/ft-index/ft/ft-flusher.cc	2014-09-23 20:03:35 +0000
+++ b/storage/tokudb/ft-index/ft/ft-flusher.cc	2014-10-02 09:57:40 +0000
@@ -89,6 +89,8 @@
 #ident "Copyright (c) 2007-2013 Tokutek Inc.  All rights reserved."
 #ident "The technology is licensed by the Massachusetts Institute of Technology, Rutgers State University of New Jersey, and the Research Foundation of State University of New York at Stony Brook under United States of America Serial No. 11/760379 and to the patents and/or patent applications resulting from it."
 
+#include <config.h>
+
 #include "ft/ft.h"
 #include "ft/ft-cachetable-wrappers.h"
 #include "ft/ft-internal.h"

=== modified file 'storage/tokudb/ft-index/ft/ft-hot-flusher.cc'
--- a/storage/tokudb/ft-index/ft/ft-hot-flusher.cc	2014-09-23 20:03:35 +0000
+++ b/storage/tokudb/ft-index/ft/ft-hot-flusher.cc	2014-10-02 09:57:40 +0000
@@ -89,6 +89,8 @@
 #ident "Copyright (c) 2007-2013 Tokutek Inc.  All rights reserved."
 #ident "The technology is licensed by the Massachusetts Institute of Technology, Rutgers State University of New Jersey, and the Research Foundation of State University of New York at Stony Brook under United States of America Serial No. 11/760379 and to the patents and/or patent applications resulting from it."
 
+#include <config.h>
+
 #include "ft/ft.h"
 #include "ft/ft-cachetable-wrappers.h"
 #include "ft/ft-flusher.h"

=== modified file 'storage/tokudb/ft-index/ft/ft-ops.cc'
--- a/storage/tokudb/ft-index/ft/ft-ops.cc	2014-09-23 20:03:35 +0000
+++ b/storage/tokudb/ft-index/ft/ft-ops.cc	2014-10-02 09:57:40 +0000
@@ -200,6 +200,8 @@ Split_or_merge (node, childnum) {
 
 */
 
+#include <config.h>
+
 #include "ft/cachetable/checkpoint.h"
 #include "ft/cursor.h"
 #include "ft/ft.h"

=== modified file 'storage/tokudb/ft-index/ft/ft-test-helpers.cc'
--- a/storage/tokudb/ft-index/ft/ft-test-helpers.cc	2014-09-23 20:03:35 +0000
+++ b/storage/tokudb/ft-index/ft/ft-test-helpers.cc	2014-10-02 09:57:40 +0000
@@ -89,6 +89,8 @@
 #ident "Copyright (c) 2007-2013 Tokutek Inc.  All rights reserved."
 #ident "The technology is licensed by the Massachusetts Institute of Technology, Rutgers State University of New Jersey, and the Research Foundation of State University of New York at Stony Brook under United States of America Serial No. 11/760379 and to the patents and/or patent applications resulting from it."
 
+#include <config.h>
+
 #include "ft/ft.h"
 #include "ft/ft-cachetable-wrappers.h"
 #include "ft/ft-internal.h"

=== modified file 'storage/tokudb/ft-index/ft/ft-verify.cc'
--- a/storage/tokudb/ft-index/ft/ft-verify.cc	2014-09-23 20:03:35 +0000
+++ b/storage/tokudb/ft-index/ft/ft-verify.cc	2014-10-02 09:57:40 +0000
@@ -97,6 +97,8 @@
  *   For each nonleaf node:  All the messages have keys that are between the associated pivot keys ( left_pivot_key < message <= right_pivot_key)
  */
 
+#include <config.h>
+
 #include "ft/serialize/block_table.h"
 #include "ft/ft.h"
 #include "ft/ft-cachetable-wrappers.h"

=== modified file 'storage/tokudb/ft-index/ft/ft.cc'
--- a/storage/tokudb/ft-index/ft/ft.cc	2014-09-23 20:03:35 +0000
+++ b/storage/tokudb/ft-index/ft/ft.cc	2014-10-02 09:57:40 +0000
@@ -89,6 +89,8 @@
 #ident "Copyright (c) 2007-2013 Tokutek Inc.  All rights reserved."
 #ident "The technology is licensed by the Massachusetts Institute of Technology, Rutgers State University of New Jersey, and the Research Foundation of State University of New York at Stony Brook under United States of America Serial No. 11/760379 and to the patents and/or patent applications resulting from it."
 
+#include <config.h>
+
 #include "ft/serialize/block_table.h"
 #include "ft/ft.h"
 #include "ft/ft-cachetable-wrappers.h"

=== modified file 'storage/tokudb/ft-index/ft/le-cursor.cc'
--- a/storage/tokudb/ft-index/ft/le-cursor.cc	2014-08-21 19:35:06 +0000
+++ b/storage/tokudb/ft-index/ft/le-cursor.cc	2014-10-02 09:57:40 +0000
@@ -89,6 +89,8 @@
 #ident "Copyright (c) 2010-2013 Tokutek Inc.  All rights reserved."
 #ident "The technology is licensed by the Massachusetts Institute of Technology, Rutgers State University of New Jersey, and the Research Foundation of State University of New York at Stony Brook under United States of America Serial No. 11/760379 and to the patents and/or patent applications resulting from it."
 
+#include <config.h>
+
 #include "ft/ft.h"
 #include "ft/ft-internal.h"
 #include "ft/le-cursor.h"

=== modified file 'storage/tokudb/ft-index/ft/loader/dbufio.cc'
--- a/storage/tokudb/ft-index/ft/loader/dbufio.cc	2014-08-21 19:35:06 +0000
+++ b/storage/tokudb/ft-index/ft/loader/dbufio.cc	2014-10-02 09:57:40 +0000
@@ -89,6 +89,8 @@
 #ident "Copyright (c) 2010-2013 Tokutek Inc.  All rights reserved."
 #ident "The technology is licensed by the Massachusetts Institute of Technology, Rutgers State University of New Jersey, and the Research Foundation of State University of New York at Stony Brook under United States of America Serial No. 11/760379 and to the patents and/or patent applications resulting from it."
 
+#include <config.h>
+
 #include <errno.h>
 #include <string.h>
 #include <unistd.h>

=== modified file 'storage/tokudb/ft-index/ft/loader/loader.cc'
--- a/storage/tokudb/ft-index/ft/loader/loader.cc	2014-08-21 19:35:06 +0000
+++ b/storage/tokudb/ft-index/ft/loader/loader.cc	2014-10-02 09:57:40 +0000
@@ -89,6 +89,8 @@
 #ident "Copyright (c) 2007-2013 Tokutek Inc.  All rights reserved."
 #ident "The technology is licensed by the Massachusetts Institute of Technology, Rutgers State University of New Jersey, and the Research Foundation of State University of New York at Stony Brook under United States of America Serial No. 11/760379 and to the patents and/or patent applications resulting from it."
 
+#include <config.h>
+
 #include <toku_portability.h>
 
 #include <arpa/inet.h>

=== modified file 'storage/tokudb/ft-index/ft/loader/pqueue.cc'
--- a/storage/tokudb/ft-index/ft/loader/pqueue.cc	2014-08-21 19:35:06 +0000
+++ b/storage/tokudb/ft-index/ft/loader/pqueue.cc	2014-10-02 09:57:40 +0000
@@ -89,6 +89,8 @@
 #ident "Copyright (c) 2010-2013 Tokutek Inc.  All rights reserved."
 #ident "The technology is licensed by the Massachusetts Institute of Technology, Rutgers State University of New Jersey, and the Research Foundation of State University of New York at Stony Brook under United States of America Serial No. 11/760379 and to the patents and/or patent applications resulting from it."
 
+#include <config.h>
+
 #include <toku_portability.h>
 #include "toku_os.h"
 #include "ft-internal.h"

=== modified file 'storage/tokudb/ft-index/ft/logger/log_upgrade.cc'
--- a/storage/tokudb/ft-index/ft/logger/log_upgrade.cc	2014-09-02 13:55:24 +0000
+++ b/storage/tokudb/ft-index/ft/logger/log_upgrade.cc	2014-10-02 09:57:40 +0000
@@ -89,6 +89,8 @@
 #ident "Copyright (c) 2007-2013 Tokutek Inc.  All rights reserved."
 #ident "The technology is licensed by the Massachusetts Institute of Technology, Rutgers State University of New Jersey, and the Research Foundation of State University of New York at Stony Brook under United States of America Serial No. 11/760379 and to the patents and/or patent applications resulting from it."
 
+#include <config.h>
+
 #include <ft/log_header.h>
 
 #include "log-internal.h"

=== modified file 'storage/tokudb/ft-index/ft/logger/logcursor.cc'
--- a/storage/tokudb/ft-index/ft/logger/logcursor.cc	2014-09-02 13:55:24 +0000
+++ b/storage/tokudb/ft-index/ft/logger/logcursor.cc	2014-10-02 09:57:40 +0000
@@ -89,6 +89,8 @@
 #ident "Copyright (c) 2007-2013 Tokutek Inc.  All rights reserved."
 #ident "The technology is licensed by the Massachusetts Institute of Technology, Rutgers State University of New Jersey, and the Research Foundation of State University of New York at Stony Brook under United States of America Serial No. 11/760379 and to the patents and/or patent applications resulting from it."
 
+#include <config.h>
+
 #include "log-internal.h"
 #include "logger/logcursor.h"
 #include <limits.h>

=== modified file 'storage/tokudb/ft-index/ft/logger/logfilemgr.cc'
--- a/storage/tokudb/ft-index/ft/logger/logfilemgr.cc	2014-09-02 13:55:24 +0000
+++ b/storage/tokudb/ft-index/ft/logger/logfilemgr.cc	2014-10-02 09:57:40 +0000
@@ -89,6 +89,8 @@
 #ident "Copyright (c) 2007-2013 Tokutek Inc.  All rights reserved."
 #ident "The technology is licensed by the Massachusetts Institute of Technology, Rutgers State University of New Jersey, and the Research Foundation of State University of New York at Stony Brook under United States of America Serial No. 11/760379 and to the patents and/or patent applications resulting from it."
 
+#include <config.h>
+
 #include "logger/log-internal.h"
 #include "logger/logcursor.h"
 #include "logger/logfilemgr.h"

=== modified file 'storage/tokudb/ft-index/ft/logger/logformat.cc'
--- a/storage/tokudb/ft-index/ft/logger/logformat.cc	2014-08-21 19:35:06 +0000
+++ b/storage/tokudb/ft-index/ft/logger/logformat.cc	2014-10-02 09:57:40 +0000
@@ -852,6 +852,7 @@ int main (int argc, const char *const ar
     fprintf(hf, "#pragma once\n");
     fprintf2(cf, hf, "/* Do not edit this file.  This code generated by logformat.c.  Copyright (c) 2007-2013 Tokutek Inc.    */\n");
     fprintf2(cf, hf, "#ident \"Copyright (c) 2007-2013 Tokutek Inc.  All rights reserved.\"\n");
+    fprintf2(cf, pf, "#include <config.h>\n");
     fprintf2(cf, pf, "#include <stdint.h>\n");
     fprintf2(cf, pf, "#include <sys/time.h>\n");
     fprintf2(cf, pf, "#include <ft/logger/log-internal.h>\n");

=== modified file 'storage/tokudb/ft-index/ft/logger/logger.cc'
--- a/storage/tokudb/ft-index/ft/logger/logger.cc	2014-09-02 13:55:24 +0000
+++ b/storage/tokudb/ft-index/ft/logger/logger.cc	2014-10-02 09:57:40 +0000
@@ -89,6 +89,8 @@
 #ident "Copyright (c) 2007-2013 Tokutek Inc.  All rights reserved."
 #ident "The technology is licensed by the Massachusetts Institute of Technology, Rutgers State University of New Jersey, and the Research Foundation of State University of New York at Stony Brook under United States of America Serial No. 11/760379 and to the patents and/or patent applications resulting from it."
 
+#include <config.h>
+
 #include <memory.h>
 #include <ctype.h>
 #include <limits.h>

=== modified file 'storage/tokudb/ft-index/ft/logger/recover.cc'
--- a/storage/tokudb/ft-index/ft/logger/recover.cc	2014-08-21 19:35:07 +0000
+++ b/storage/tokudb/ft-index/ft/logger/recover.cc	2014-10-02 09:57:40 +0000
@@ -90,6 +90,8 @@
 #ident "The technology is licensed by the Massachusetts Institute of Technology, Rutgers State University of New Jersey, and the Research Foundation of State University of New York at Stony Brook under United States of America Serial No. 11/760379 and to the patents and/or patent applications resulting from it."
 
 
+#include <config.h>
+
 #include "ft/cachetable/cachetable.h"
 #include "ft/cachetable/checkpoint.h"
 #include "ft/ft.h"

=== modified file 'storage/tokudb/ft-index/ft/node.cc'
--- a/storage/tokudb/ft-index/ft/node.cc	2014-08-21 19:35:06 +0000
+++ b/storage/tokudb/ft-index/ft/node.cc	2014-10-02 09:57:40 +0000
@@ -89,6 +89,8 @@
 #ident "Copyright (c) 2007-2013 Tokutek Inc.  All rights reserved."
 #ident "The technology is licensed by the Massachusetts Institute of Technology, Rutgers State University of New Jersey, and the Research Foundation of State University of New York at Stony Brook under United States of America Serial No. 11/760379 and to the patents and/or patent applications resulting from it."
 
+#include <config.h>
+
 #include "ft/ft.h"
 #include "ft/ft-internal.h"
 #include "ft/serialize/ft_node-serialize.h"

=== modified file 'storage/tokudb/ft-index/ft/pivotkeys.cc'
--- a/storage/tokudb/ft-index/ft/pivotkeys.cc	2014-08-21 19:35:06 +0000
+++ b/storage/tokudb/ft-index/ft/pivotkeys.cc	2014-10-02 09:57:40 +0000
@@ -89,6 +89,8 @@
 #ident "Copyright (c) 2007-2013 Tokutek Inc.  All rights reserved."
 #ident "The technology is licensed by the Massachusetts Institute of Technology, Rutgers State University of New Jersey, and the Research Foundation of State University of New York at Stony Brook under United States of America Serial No. 11/760379 and to the patents and/or patent applications resulting from it."
 
+#include <config.h>
+
 #include <string>
 
 #include "portability/memory.h"

=== modified file 'storage/tokudb/ft-index/ft/serialize/block_table.cc'
--- a/storage/tokudb/ft-index/ft/serialize/block_table.cc	2014-08-21 19:35:06 +0000
+++ b/storage/tokudb/ft-index/ft/serialize/block_table.cc	2014-10-02 09:57:40 +0000
@@ -89,6 +89,8 @@
 #ident "Copyright (c) 2007-2013 Tokutek Inc.  All rights reserved."
 #ident "The technology is licensed by the Massachusetts Institute of Technology, Rutgers State University of New Jersey, and the Research Foundation of State University of New York at Stony Brook under United States of America Serial No. 11/760379 and to the patents and/or patent applications resulting from it."
 
+#include <config.h>
+
 #include "portability/memory.h"
 #include "portability/toku_assert.h"
 #include "portability/toku_portability.h"

=== modified file 'storage/tokudb/ft-index/ft/serialize/compress.cc'
--- a/storage/tokudb/ft-index/ft/serialize/compress.cc	2014-08-21 19:35:06 +0000
+++ b/storage/tokudb/ft-index/ft/serialize/compress.cc	2014-10-02 09:57:40 +0000
@@ -88,6 +88,8 @@
 #ident "Copyright (c) 2011-2013 Tokutek Inc.  All rights reserved."
 #ident "$Id$"
 
+#include <config.h>
+
 #include <toku_portability.h>
 #include <util/scoped_malloc.h>
 

=== modified file 'storage/tokudb/ft-index/ft/serialize/ft-node-deserialize.cc'
--- a/storage/tokudb/ft-index/ft/serialize/ft-node-deserialize.cc	2014-08-21 19:35:06 +0000
+++ b/storage/tokudb/ft-index/ft/serialize/ft-node-deserialize.cc	2014-10-02 09:57:40 +0000
@@ -89,6 +89,8 @@
 #ident "Copyright (c) 2007-2013 Tokutek Inc.  All rights reserved."
 #ident "The technology is licensed by the Massachusetts Institute of Technology, Rutgers State University of New Jersey, and the Research Foundation of State University of New York at Stony Brook under United States of America Serial No. 11/760379 and to the patents and/or patent applications resulting from it."
 
+#include <config.h>
+
 #include "ft/node.h"
 #include "ft/ft-internal.h"
 #include "ft/serialize/ft_node-serialize.h"

=== modified file 'storage/tokudb/ft-index/ft/serialize/ft-serialize.cc'
--- a/storage/tokudb/ft-index/ft/serialize/ft-serialize.cc	2014-08-21 19:35:07 +0000
+++ b/storage/tokudb/ft-index/ft/serialize/ft-serialize.cc	2014-10-02 09:57:40 +0000
@@ -89,6 +89,8 @@
 #ident "Copyright (c) 2007-2013 Tokutek Inc.  All rights reserved."
 #ident "The technology is licensed by the Massachusetts Institute of Technology, Rutgers State University of New Jersey, and the Research Foundation of State University of New York at Stony Brook under United States of America Serial No. 11/760379 and to the patents and/or patent applications resulting from it."
 
+#include <config.h>
+
 #include "ft/ft.h"
 #include "ft/ft-internal.h"
 #include "ft/msg.h"

=== modified file 'storage/tokudb/ft-index/ft/serialize/ft_node-serialize.cc'
--- a/storage/tokudb/ft-index/ft/serialize/ft_node-serialize.cc	2014-09-10 22:18:53 +0000
+++ b/storage/tokudb/ft-index/ft/serialize/ft_node-serialize.cc	2014-10-02 09:57:40 +0000
@@ -89,6 +89,8 @@
 #ident "Copyright (c) 2007-2013 Tokutek Inc.  All rights reserved."
 #ident "The technology is licensed by the Massachusetts Institute of Technology, Rutgers State University of New Jersey, and the Research Foundation of State University of New York at Stony Brook under United States of America Serial No. 11/760379 and to the patents and/or patent applications resulting from it."
 
+#include <config.h>
+
 #include "portability/toku_atomic.h"
 
 #include "ft/cachetable/cachetable.h"

=== modified file 'storage/tokudb/ft-index/ft/serialize/sub_block.cc'
--- a/storage/tokudb/ft-index/ft/serialize/sub_block.cc	2014-08-21 19:35:06 +0000
+++ b/storage/tokudb/ft-index/ft/serialize/sub_block.cc	2014-10-02 09:57:40 +0000
@@ -89,6 +89,8 @@
 #ident "Copyright (c) 2007-2013 Tokutek Inc.  All rights reserved."
 #ident "The technology is licensed by the Massachusetts Institute of Technology, Rutgers State University of New Jersey, and the Research Foundation of State University of New York at Stony Brook under United States of America Serial No. 11/760379 and to the patents and/or patent applications resulting from it."
 
+#include <config.h>
+
 #include <errno.h>
 #include <stdio.h>
 #include <string.h>

=== modified file 'storage/tokudb/ft-index/ft/txn/roll.cc'
--- a/storage/tokudb/ft-index/ft/txn/roll.cc	2014-08-21 19:35:06 +0000
+++ b/storage/tokudb/ft-index/ft/txn/roll.cc	2014-10-02 09:57:40 +0000
@@ -92,6 +92,8 @@
 /* rollback and rollforward routines. */
 
 
+#include <config.h>
+
 #include "ft/ft.h"
 #include "ft/ft-ops.h"
 #include "ft/log_header.h"

=== modified file 'storage/tokudb/ft-index/ft/txn/rollback-apply.cc'
--- a/storage/tokudb/ft-index/ft/txn/rollback-apply.cc	2014-08-21 19:35:06 +0000
+++ b/storage/tokudb/ft-index/ft/txn/rollback-apply.cc	2014-10-02 09:57:40 +0000
@@ -89,6 +89,8 @@
 #ident "Copyright (c) 2007-2013 Tokutek Inc.  All rights reserved."
 #ident "The technology is licensed by the Massachusetts Institute of Technology, Rutgers State University of New Jersey, and the Research Foundation of State University of New York at Stony Brook under United States of America Serial No. 11/760379 and to the patents and/or patent applications resulting from it."
 
+#include <config.h>
+
 #include "ft/logger/log-internal.h"
 #include "ft/txn/rollback-apply.h"
 

=== modified file 'storage/tokudb/ft-index/ft/txn/rollback-ct-callbacks.cc'
--- a/storage/tokudb/ft-index/ft/txn/rollback-ct-callbacks.cc	2014-08-21 19:35:06 +0000
+++ b/storage/tokudb/ft-index/ft/txn/rollback-ct-callbacks.cc	2014-10-02 09:57:40 +0000
@@ -89,6 +89,8 @@
 #ident "Copyright (c) 2007-2013 Tokutek Inc.  All rights reserved."
 #ident "The technology is licensed by the Massachusetts Institute of Technology, Rutgers State University of New Jersey, and the Research Foundation of State University of New York at Stony Brook under United States of America Serial No. 11/760379 and to the patents and/or patent applications resulting from it."
 
+#include <config.h>
+
 #include "portability/memory.h"
 #include "portability/toku_portability.h"
 

=== modified file 'storage/tokudb/ft-index/ft/txn/rollback.cc'
--- a/storage/tokudb/ft-index/ft/txn/rollback.cc	2014-08-21 19:35:06 +0000
+++ b/storage/tokudb/ft-index/ft/txn/rollback.cc	2014-10-02 09:57:40 +0000
@@ -89,6 +89,8 @@
 #ident "Copyright (c) 2007-2013 Tokutek Inc.  All rights reserved."
 #ident "The technology is licensed by the Massachusetts Institute of Technology, Rutgers State University of New Jersey, and the Research Foundation of State University of New York at Stony Brook under United States of America Serial No. 11/760379 and to the patents and/or patent applications resulting from it."
 
+#include <config.h>
+
 #include <toku_stdint.h>
 
 #include "ft/serialize/block_table.h"

=== modified file 'storage/tokudb/ft-index/ft/txn/rollback_log_node_cache.cc'
--- a/storage/tokudb/ft-index/ft/txn/rollback_log_node_cache.cc	2014-08-21 19:35:06 +0000
+++ b/storage/tokudb/ft-index/ft/txn/rollback_log_node_cache.cc	2014-10-02 09:57:40 +0000
@@ -89,6 +89,8 @@
 #ident "Copyright (c) 2007-2013 Tokutek Inc.  All rights reserved."
 #ident "The technology is licensed by the Massachusetts Institute of Technology, Rutgers State University of New Jersey, and the Research Foundation of State University of New York at Stony Brook under United States of America Serial No. 11/760379 and to the patents and/or patent applications resulting from it."
 
+#include <config.h>
+
 #include <memory.h>
 #include <portability/toku_portability.h>
 

=== modified file 'storage/tokudb/ft-index/ft/txn/txn.cc'
--- a/storage/tokudb/ft-index/ft/txn/txn.cc	2014-08-21 19:35:07 +0000
+++ b/storage/tokudb/ft-index/ft/txn/txn.cc	2014-10-02 09:57:40 +0000
@@ -90,6 +90,8 @@
 #ident "The technology is licensed by the Massachusetts Institute of Technology, Rutgers State University of New Jersey, and the Research Foundation of State University of New York at Stony Brook under United States of America Serial No. 11/760379 and to the patents and/or patent applications resulting from it."
 
 
+#include <config.h>
+
 #include "ft/cachetable/checkpoint.h"
 #include "ft/ft.h"
 #include "ft/logger/log-internal.h"

=== modified file 'storage/tokudb/ft-index/ft/txn/txn_child_manager.cc'
--- a/storage/tokudb/ft-index/ft/txn/txn_child_manager.cc	2014-08-21 19:35:06 +0000
+++ b/storage/tokudb/ft-index/ft/txn/txn_child_manager.cc	2014-10-02 09:57:40 +0000
@@ -89,6 +89,8 @@
 #ident "Copyright (c) 2007-2013 Tokutek Inc.  All rights reserved."
 #ident "The technology is licensed by the Massachusetts Institute of Technology, Rutgers State University of New Jersey, and the Research Foundation of State University of New York at Stony Brook under United States of America Serial No. 11/760379 and to the patents and/or patent applications resulting from it."
 
+#include <config.h>
+
 #include "ft/logger/log-internal.h"
 #include "ft/txn/txn_child_manager.h"
 

=== modified file 'storage/tokudb/ft-index/ft/txn/txn_manager.cc'
--- a/storage/tokudb/ft-index/ft/txn/txn_manager.cc	2014-08-21 19:35:06 +0000
+++ b/storage/tokudb/ft-index/ft/txn/txn_manager.cc	2014-10-02 09:57:40 +0000
@@ -89,6 +89,8 @@
 #ident "Copyright (c) 2007-2013 Tokutek Inc.  All rights reserved."
 #ident "The technology is licensed by the Massachusetts Institute of Technology, Rutgers State University of New Jersey, and the Research Foundation of State University of New York at Stony Brook under United States of America Serial No. 11/760379 and to the patents and/or patent applications resulting from it."
 
+#include <config.h>
+
 #include "portability/toku_race_tools.h"
 
 #include "ft/cachetable/checkpoint.h"

=== modified file 'storage/tokudb/ft-index/ft/ule.cc'
--- a/storage/tokudb/ft-index/ft/ule.cc	2014-09-23 20:03:35 +0000
+++ b/storage/tokudb/ft-index/ft/ule.cc	2014-10-02 09:57:40 +0000
@@ -102,6 +102,8 @@
 // See design documentation for nested transactions at
 // TokuWiki/Imp/TransactionsOverview.
 
+#include <config.h>
+
 #include "portability/toku_portability.h"
 
 #include "ft/ft-internal.h"

=== modified file 'storage/tokudb/ft-index/src/errors.cc'
--- a/storage/tokudb/ft-index/src/errors.cc	2014-08-21 19:35:06 +0000
+++ b/storage/tokudb/ft-index/src/errors.cc	2014-10-02 09:57:40 +0000
@@ -96,6 +96,8 @@
   The error handling routines for ydb
 */
 
+#include <config.h>
+
 #include <toku_portability.h>
 #include <stdio.h>
 #include <stdarg.h>

=== modified file 'storage/tokudb/ft-index/src/indexer-undo-do.cc'
--- a/storage/tokudb/ft-index/src/indexer-undo-do.cc	2014-09-23 20:03:35 +0000
+++ b/storage/tokudb/ft-index/src/indexer-undo-do.cc	2014-10-02 09:57:40 +0000
@@ -89,6 +89,8 @@
 #ident "The technology is licensed by the Massachusetts Institute of Technology, Rutgers State University of New Jersey, and the Research Foundation of State University of New York at Stony Brook under United States of America Serial No. 11/760379 and to the patents and/or patent applications resulting from it."
 #ident "$Id$"
 
+#include <config.h>
+
 #include <toku_portability.h>
 #include <toku_assert.h>
 

=== modified file 'storage/tokudb/ft-index/src/indexer.cc'
--- a/storage/tokudb/ft-index/src/indexer.cc	2014-09-23 20:03:35 +0000
+++ b/storage/tokudb/ft-index/src/indexer.cc	2014-10-02 09:57:40 +0000
@@ -92,6 +92,8 @@
 /*
  *   The indexer
  */
+#include <config.h>
+
 #include <stdio.h>
 #include <string.h>
 #include <toku_portability.h>

=== modified file 'storage/tokudb/ft-index/src/loader.cc'
--- a/storage/tokudb/ft-index/src/loader.cc	2014-09-23 20:03:35 +0000
+++ b/storage/tokudb/ft-index/src/loader.cc	2014-10-02 09:57:40 +0000
@@ -93,6 +93,8 @@
  *   The loader
  */
 
+#include <config.h>
+
 #include <toku_portability.h>
 #include <portability/toku_atomic.h>
 #include <stdio.h>

=== modified file 'storage/tokudb/ft-index/src/ydb.cc'
--- a/storage/tokudb/ft-index/src/ydb.cc	2014-09-23 20:03:35 +0000
+++ b/storage/tokudb/ft-index/src/ydb.cc	2014-10-02 09:57:40 +0000
@@ -92,6 +92,8 @@
 extern const char *toku_patent_string;
 const char *toku_copyright_string = "Copyright (c) 2007-2013 Tokutek Inc.  All rights reserved.";
 
+#include <config.h>
+
 #include <db.h>
 #include <errno.h>
 #include <string.h>

=== modified file 'storage/tokudb/ft-index/src/ydb_cursor.cc'
--- a/storage/tokudb/ft-index/src/ydb_cursor.cc	2014-09-23 20:03:35 +0000
+++ b/storage/tokudb/ft-index/src/ydb_cursor.cc	2014-10-02 09:57:40 +0000
@@ -89,6 +89,8 @@
 #ident "The technology is licensed by the Massachusetts Institute of Technology, Rutgers State University of New Jersey, and the Research Foundation of State University of New York at Stony Brook under United States of America Serial No. 11/760379 and to the patents and/or patent applications resulting from it."
 #ident "$Id$"
 
+#include <config.h>
+
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>

=== modified file 'storage/tokudb/ft-index/src/ydb_db.cc'
--- a/storage/tokudb/ft-index/src/ydb_db.cc	2014-09-23 20:03:35 +0000
+++ b/storage/tokudb/ft-index/src/ydb_db.cc	2014-10-02 09:57:40 +0000
@@ -89,6 +89,8 @@
 #ident "The technology is licensed by the Massachusetts Institute of Technology, Rutgers State University of New Jersey, and the Research Foundation of State University of New York at Stony Brook under United States of America Serial No. 11/760379 and to the patents and/or patent applications resulting from it."
 #ident "$Id$"
 
+#include <config.h>
+
 #include <ctype.h>
 
 #include <db.h>

=== modified file 'storage/tokudb/ft-index/src/ydb_env_func.cc'
--- a/storage/tokudb/ft-index/src/ydb_env_func.cc	2014-08-21 19:35:06 +0000
+++ b/storage/tokudb/ft-index/src/ydb_env_func.cc	2014-10-02 09:57:40 +0000
@@ -89,6 +89,8 @@
 #ident "The technology is licensed by the Massachusetts Institute of Technology, Rutgers State University of New Jersey, and the Research Foundation of State University of New York at Stony Brook under United States of America Serial No. 11/760379 and to the patents and/or patent applications resulting from it."
 #ident "$Id$"
 
+#include <config.h>
+
 #include <toku_portability.h>
 
 #include <memory.h>

=== modified file 'storage/tokudb/ft-index/src/ydb_row_lock.cc'
--- a/storage/tokudb/ft-index/src/ydb_row_lock.cc	2014-09-23 20:03:35 +0000
+++ b/storage/tokudb/ft-index/src/ydb_row_lock.cc	2014-10-02 09:57:40 +0000
@@ -89,6 +89,8 @@
 #ident "The technology is licensed by the Massachusetts Institute of Technology, Rutgers State University of New Jersey, and the Research Foundation of State University of New York at Stony Brook under United States of America Serial No. 11/760379 and to the patents and/or patent applications resulting from it."
 #ident "$Id$"
 
+#include <config.h>
+
 #include <db.h>
 
 #include <locktree/lock_request.h>

=== modified file 'storage/tokudb/ft-index/src/ydb_txn.cc'
--- a/storage/tokudb/ft-index/src/ydb_txn.cc	2014-09-23 20:03:35 +0000
+++ b/storage/tokudb/ft-index/src/ydb_txn.cc	2014-10-02 09:57:40 +0000
@@ -89,6 +89,7 @@
 #ident "The technology is licensed by the Massachusetts Institute of Technology, Rutgers State University of New Jersey, and the Research Foundation of State University of New York at Stony Brook under United States of America Serial No. 11/760379 and to the patents and/or patent applications resulting from it."
 #ident "$Id$"
 
+#include <config.h>
 
 #include <db.h>
 

=== modified file 'storage/tokudb/ft-index/src/ydb_write.cc'
--- a/storage/tokudb/ft-index/src/ydb_write.cc	2014-09-23 20:03:35 +0000
+++ b/storage/tokudb/ft-index/src/ydb_write.cc	2014-10-02 09:57:40 +0000
@@ -89,6 +89,8 @@
 #ident "The technology is licensed by the Massachusetts Institute of Technology, Rutgers State University of New Jersey, and the Research Foundation of State University of New York at Stony Brook under United States of America Serial No. 11/760379 and to the patents and/or patent applications resulting from it."
 #ident "$Id$"
 
+#include <config.h>
+
 #include <db.h>
 #include "ydb-internal.h"
 #include "indexer.h"

=== modified file 'storage/tokudb/ft-index/tools/ftverify.cc'
--- a/storage/tokudb/ft-index/tools/ftverify.cc	2014-08-21 19:35:07 +0000
+++ b/storage/tokudb/ft-index/tools/ftverify.cc	2014-10-02 09:57:40 +0000
@@ -94,6 +94,8 @@
 // fractal tree file, one block at a time.
 ////////////////////////////////////////////////////////////////////
 
+#include <config.h>
+
 #include "portability/toku_assert.h"
 #include "portability/toku_list.h"
 #include "portability/toku_portability.h"

=== modified file 'storage/tokudb/ft-index/tools/tdb_logprint.cc'
--- a/storage/tokudb/ft-index/tools/tdb_logprint.cc	2014-08-21 19:35:06 +0000
+++ b/storage/tokudb/ft-index/tools/tdb_logprint.cc	2014-10-02 09:57:40 +0000
@@ -91,6 +91,8 @@
 
 /* Dump the log from stdin to stdout. */
 
+#include <config.h>
+
 #include "ft/log_header.h"
 #include "ft/logger/logger.h"
 

=== modified file 'storage/tokudb/ft-index/tools/tokuftdump.cc'
--- a/storage/tokudb/ft-index/tools/tokuftdump.cc	2014-09-10 18:52:18 +0000
+++ b/storage/tokudb/ft-index/tools/tokuftdump.cc	2014-10-02 09:57:40 +0000
@@ -91,6 +91,8 @@
 
 // Dump a fractal tree file
 
+#include <config.h>
+
 #include <ctype.h>
 #include <stdint.h>
 #include <stdio.h>

=== modified file 'storage/tokudb/ha_tokudb.cc'
--- a/storage/tokudb/ha_tokudb.cc	2014-09-23 21:55:29 +0000
+++ b/storage/tokudb/ha_tokudb.cc	2014-10-09 08:30:11 +0000
@@ -92,6 +92,8 @@
 #pragma implementation          // gcc: Class implementation
 #endif
 
+#include <my_global.h> //  must be first!
+
 extern "C" {
 #include "stdint.h"
 #define __STDC_FORMAT_MACROS

=== added file 'storage/tokudb/mysql-test/rpl/disabled.def'
--- a/storage/tokudb/mysql-test/rpl/disabled.def	1970-01-01 00:00:00 +0000
+++ b/storage/tokudb/mysql-test/rpl/disabled.def	2014-09-25 17:00:41 +0000
@@ -0,0 +1,12 @@
+rpl_tokudb_delete_pk: unreliable, uses timestamp differences
+rpl_tokudb_delete_pk_lookup1: unreliable, uses timestamp differences
+rpl_tokudb_update_pk_uc0_lookup0: unreliable, uses timestamp differences
+rpl_tokudb_update_pk_uc0_lookup1: unreliable, uses timestamp differences
+rpl_tokudb_update_pk_uc1_lookup0: unreliable, uses timestamp differences
+rpl_tokudb_update_pk_uc1_lookup1: unreliable, uses timestamp differences
+rpl_tokudb_update_unique_uc0_lookup0: unreliable, uses timestamp differences
+rpl_tokudb_update_unique_uc0_lookup1: unreliable, uses timestamp differences
+rpl_tokudb_write_pk: unreliable, uses timestamp differences
+rpl_tokudb_write_pk_uc1: unreliable, uses timestamp differences
+rpl_tokudb_write_unique: unreliable, uses timestamp differences
+rpl_tokudb_write_unique_uc1: unreliable, uses timestamp differences

=== modified file 'storage/tokudb/mysql-test/tokudb/disabled.def'
--- a/storage/tokudb/mysql-test/tokudb/disabled.def	2014-09-23 21:55:29 +0000
+++ b/storage/tokudb/mysql-test/tokudb/disabled.def	2014-10-09 08:30:11 +0000
@@ -26,3 +26,5 @@ mvcc-27: No online OPTIMIZE in MariaDB 5
 mvcc-19: how this could work, if alter needs an exclusive mdl lock?
 mvcc-20: how this could work, if alter needs an exclusive mdl lock?
 cluster_key_part: engine options on partitioned tables
+i_s_tokudb_lock_waits_released: unstable, race conditions
+i_s_tokudb_locks_released: unstable, race conditions

=== modified file 'storage/tokudb/mysql-test/tokudb/t/i_s_tokudb_lock_waits_released.test'
--- a/storage/tokudb/mysql-test/tokudb/t/i_s_tokudb_lock_waits_released.test	2014-09-16 12:04:50 +0000
+++ b/storage/tokudb/mysql-test/tokudb/t/i_s_tokudb_lock_waits_released.test	2014-10-09 08:30:11 +0000
@@ -1,8 +1,4 @@
 # verify that information_schema.tokudb_locks gets populated with locks, information_schema.tokudb_lock_waits gets
-if (`select @@tokudb_version <= "7.1.8"`)
-{
-  --skip Race condition in the test in TokuDB 7.1.8 or earlier
-}
 # populated with 1 lock_wait and all transactions are present in information_schema.tokudb_trx for 2 clients
 
 source include/have_tokudb.inc;

=== modified file 'storage/tokudb/mysql-test/tokudb/t/i_s_tokudb_locks_released.test'
--- a/storage/tokudb/mysql-test/tokudb/t/i_s_tokudb_locks_released.test	2014-09-16 12:04:50 +0000
+++ b/storage/tokudb/mysql-test/tokudb/t/i_s_tokudb_locks_released.test	2014-10-09 08:30:11 +0000
@@ -1,7 +1,3 @@
-if (`select @@tokudb_version <= "7.1.8"`)
-{
-  --skip Race condition in the test in TokuDB 7.1.8 or earlier
-}
 # verify that information_schema.tokudb_locks gets populated with locks for 2 clients
 
 source include/have_tokudb.inc;

=== modified file 'storage/xtradb/api/api0misc.cc'
--- a/storage/xtradb/api/api0misc.cc	2013-12-16 14:38:05 +0000
+++ b/storage/xtradb/api/api0misc.cc	2014-10-09 08:30:11 +0000
@@ -24,6 +24,7 @@ InnoDB Native API
 3/20/2011 Jimmy Yang extracted from Embedded InnoDB
 *******************************************************/
 
+#include <my_config.h>
 #include <errno.h>
 
 #ifdef HAVE_UNISTD_H

=== modified file 'storage/xtradb/buf/buf0buf.cc'
--- a/storage/xtradb/buf/buf0buf.cc	2014-09-16 04:37:00 +0000
+++ b/storage/xtradb/buf/buf0buf.cc	2014-10-09 08:30:11 +0000
@@ -4404,6 +4404,7 @@ buf_page_io_complete(
 					      " because of"
 					      " a corrupt database page.\n",
 					      stderr);
+
 					ut_error;
 				}
 			}

=== modified file 'strings/ctype-mb.c'
--- a/strings/ctype-mb.c	2014-09-11 19:42:35 +0000
+++ b/strings/ctype-mb.c	2014-10-09 08:30:11 +0000
@@ -1,4 +1,4 @@
-/* Copyright (c) 2000, 2013, Oracle and/or its affiliates.
+/* Copyright (c) 2000, 2014, Oracle and/or its affiliates.
    Copyright (c) 2009, 2014, SkySQL Ab.
 
    This program is free software; you can redistribute it and/or modify
@@ -1134,7 +1134,7 @@ static int my_wildcmp_mb_bin_impl(CHARSE
     }
     if (*wildstr == w_many)
     {						/* Found w_many */
-      uchar cmp;
+      int cmp;
       const char* mb = wildstr;
       int mb_len=0;
       

=== modified file 'strings/decimal.c'
--- a/strings/decimal.c	2014-03-26 21:25:38 +0000
+++ b/strings/decimal.c	2014-10-09 08:30:11 +0000
@@ -1,5 +1,5 @@
-/* Copyright (c) 2004, 2013, Oracle and/or its affiliates.
-   Copyright (c) 2009, 2013, Monty Program Ab
+/* Copyright (c) 2004, 2014, Oracle and/or its affiliates.
+   Copyright (c) 2009, 2014, Monty Program Ab.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -127,7 +127,6 @@ typedef longlong      dec2;
 #define DIG_BASE     1000000000
 #define DIG_MAX      (DIG_BASE-1)
 #define DIG_BASE2    ((dec2)DIG_BASE * (dec2)DIG_BASE)
-#define ROUND_UP(X)  (((X)+DIG_PER_DEC1-1)/DIG_PER_DEC1)
 static const dec1 powers10[DIG_PER_DEC1+1]={
   1, 10, 100, 1000, 10000, 100000, 1000000, 10000000, 100000000, 1000000000};
 static const int dig2bytes[DIG_PER_DEC1+1]={0, 1, 1, 2, 2, 3, 3, 4, 4, 4};
@@ -136,6 +135,11 @@ static const dec1 frac_max[DIG_PER_DEC1-
   999900000, 999990000, 999999000,
   999999900, 999999990 };
 
+static inline int ROUND_UP(int x)
+{
+  return (x + (x > 0 ? DIG_PER_DEC1 - 1 : 0)) / DIG_PER_DEC1;
+}
+
 #ifdef HAVE_valgrind
 #define sanity(d) DBUG_ASSERT((d)->len > 0)
 #else
@@ -2329,7 +2333,7 @@ static int do_div_mod(const decimal_t *f
         error=E_DEC_TRUNCATED;
         goto done;
       }
-      stop1=start1+frac0;
+      stop1= start1 + frac0 + intg0;
       frac0+=intg0;
       to->intg=0;
       while (intg0++ < 0)

=== modified file 'support-files/mysql.spec.sh'
--- a/support-files/mysql.spec.sh	2014-08-07 16:06:56 +0000
+++ b/support-files/mysql.spec.sh	2014-10-09 08:30:11 +0000
@@ -30,7 +30,7 @@
 %global mysqld_group    mysql
 %global mysqldatadir    /var/lib/mysql
 
-%global release         2  
+%global release         1 
 
 
 #
@@ -142,9 +142,9 @@
   %else
     %if %(test -f /etc/oracle-release && echo 1 || echo 0)
       %define elver %(rpm -qf --qf '%%{version}\\n' /etc/oracle-release | sed -e 's/^\\([0-9]*\\).*/\\1/g')
-      %if "%elver" == "6"
-        %define distro_description      Oracle Linux 6
-        %define distro_releasetag       el6
+      %if "%elver" == "6" || "%elver" == "7"
+        %define distro_description      Oracle Linux %elver
+        %define distro_releasetag       el%elver
         %define distro_buildreq         gcc-c++ ncurses-devel perl readline-devel time zlib-devel cmake libaio-devel
         %define distro_requires         chkconfig coreutils grep procps shadow-utils net-tools
       %else
@@ -251,6 +251,7 @@ URL:            http://www.mysql.com/
 Packager:       MySQL Release Engineering <mysql-build at oss.oracle.com> 
 Vendor:         %{mysql_vendor}
 BuildRequires:  %{distro_buildreq}
+%{?el7:Patch0:         mysql-5.5-libmysqlclient-symbols.patch}
 
 # Regression tests may take a long time, override the default to skip them 
 %{!?runselftest:%global runselftest 1}
@@ -443,7 +444,8 @@ For a description of MySQL see the base
 ##############################################################################
 %prep
 %setup -T -a 0 -c -n %{src_dir}
-
+pushd %{src_dir}
+%{?el7:%patch0 -p1}
 ##############################################################################
 %build
 
@@ -559,6 +561,8 @@ install -d $RBR%{_libdir}
 install -d $RBR%{_mandir}
 install -d $RBR%{_sbindir}
 
+mkdir -p $RBR%{_sysconfdir}/my.cnf.d
+
 # Install all binaries
 (
   cd $MBD/release
@@ -1094,6 +1098,7 @@ echo "====="
 %doc %attr(644, root, man) %{_mandir}/man1/resolveip.1*
 
 %ghost %config(noreplace,missingok) %{_sysconfdir}/my.cnf
+%dir %{_sysconfdir}/my.cnf.d
 
 %attr(755, root, root) %{_bindir}/innochecksum
 %attr(755, root, root) %{_bindir}/my_print_defaults

=== modified file 'tests/async_queries.c'
--- a/tests/async_queries.c	2012-02-21 21:15:44 +0000
+++ b/tests/async_queries.c	2014-10-02 09:57:40 +0000
@@ -21,16 +21,16 @@
   API, and compare to running same queries with the normal blocking API.
 */
 
-#include <sys/time.h>
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-
 #include <my_global.h>
 #include <my_sys.h>
 #include <mysql.h>
 #include <my_getopt.h>
 
+#include <sys/time.h>
+#include <stdlib.h>
+#include <stdio.h>
+#include <string.h>
+
 #include <event.h>
 
 

=== modified file 'unittest/sql/my_apc-t.cc'
--- a/unittest/sql/my_apc-t.cc	2014-05-09 10:35:11 +0000
+++ b/unittest/sql/my_apc-t.cc	2014-10-09 08:30:11 +0000
@@ -17,11 +17,12 @@
 /*
   This file does standalone APC system tests.
 */
-#include <stdio.h>
 #include <my_global.h>
 #include <my_pthread.h>
 #include <my_sys.h>
 
+#include <stdio.h>
+
 #include <tap.h>
 
 /*



More information about the commits mailing list