Simon Giesecke
d75ec5e055
Problem: produce_* functions always return 0
...
Solution: change return type to void, and remove redundant result checks
2018-05-28 17:53:46 +02:00
Simon Giesecke
7f880c256f
Problem: magic numbers and data duplication in plain_*.cpp
...
Solution: extract constants / move to plain_common.hpp
2018-05-28 17:53:46 +02:00
Simon Giesecke
abca9f6bc1
Problem: Magic numbers in plain_server.cpp
...
Solution: introduced constants
2018-05-28 17:53:44 +02:00
Simon Giesecke
c581f43c97
Problem: parameter naming style inconsistent
...
Solution: define and apply parameter naming style: lower_case_
2018-05-26 09:34:44 +02:00
Simon Giesecke
4e616f30dd
Problem: C-style casts used
...
Solution: replace by C++-style casts
2018-05-18 17:04:01 +02:00
sigiesec
41f459e1dc
Problem: formatting inconsistent
...
Solution: applied clang-format
2018-02-02 15:47:43 +01:00
Luca Boccassi
b6aee51691
Problem: strict ZAP protocol adherence is backward incompatible
...
Solution: add ZMQ_ZAP_ENFORCE_DOMAIN to hide backward incompatible
change and make it disabled by default.
In a future release that breaks API compatibility we can then switch
the default to enabled in order to achieve full RFC compatibility.
Fixes #2762
2017-10-09 17:48:33 +01:00
sigiesec
e546f9296e
Problem: duplicated code & inconsistent behaviour between
...
mechanisms
Solution: uniformly require a ZAP domain to be set to activate ZAP
handling, clarify comment on Stonehouse pattern
2017-09-18 17:01:38 +02:00
sigiesec
a5f94cb610
Problem: tests without ZAP handler are failing
...
Solution: emit events as expected by tests, and refuse connections when
ZAP is required but no handler started
Addresses #2711 partially
2017-09-18 12:58:09 +02:00
bjovke
91e0d689bb
Problem: Inconsistent size_t/int usage. Solution: types corrected.
2017-08-28 15:03:46 +02:00
sigiesec
c66ae4656f
Problem: curve_client_t may emit misleading event on bad data processed by curve_client_t::decode
...
Solution: use check_basic_command_structure in curve_client_t::decode, also prepare other client mechanisms to use that method by rearranging inheritance hierarchy
2017-08-18 10:04:58 +02:00
sigiesec
11b3c93852
Problem: console output for PLAIN protocol errors
...
Solution: emit socket monitor events for PLAIN protocol errors (like CURVE)
2017-08-18 09:18:06 +02:00
sigiesec
f9985708b7
Problem: unreachable code in zap_client_t
...
Solution: replaced unreachable code by assertions and adapted uses
2017-08-17 12:54:05 +02:00
sigiesec
8dce0396fb
Problem: inconsistent handling of ZAP replies
...
Solution: unification, pulled up common behaviour to zap_client_t/zap_client_common_handshake_t
2017-08-17 09:44:05 +02:00
sigiesec
8c58ef7f5c
Problem: zap_msg_available duplicated between curve_server_t and plain_server_t (with deviating behaviour)
...
Solution: pull up into zap_client_common_handshake_t, along with handle_zap_status_code and error_detail/current_error_detail
2017-08-16 18:05:36 +02:00
sigiesec
314a3acfa9
Problem: status method duplicated between curve_server_t and plain_server_t
...
Solution: extract into new intermediate base class zap_client_common_handshake_t
2017-08-16 18:05:36 +02:00
sigiesec
ebba815a4d
Problem: duplicate but equivalent state enums in curve_server_t and plain_server_t
...
Solution: pull state enum up to zap_client_t and unify names of enum values
2017-08-16 18:05:35 +02:00
sigiesec
414c6f45b8
Problem: receive_and_process_zap_reply is duplicated in all mechanisms
...
Solution: extract receive_and_process_zap_reply into zap_client_t and convert zap_client_t into base class of the server mechanism classes
2017-08-16 18:05:35 +02:00
sigiesec
d7a3778387
Problem: plain_server_t duplicates zap_client_t::send_zap_request
...
Solution: Use zap_client_t::send_zap_request
2017-08-16 18:05:35 +02:00
Simon Giesecke
4a18f6204c
Problem: Possible buffer overruns related to metadata in various mechanisms ( #2683 )
...
* Problem: no test case with CURVE encryption and large identity
Solution: added test case (currently crashing)
* Problem: possible buffer overflow in mechanism_t::add_property
Solution: add target buffer length parameter and check the buffer is sufficiently large
* Problem: test cases accidentally excluded from build
Solution: remove #if/#endif
* Problem: possible buffer overruns related to metadata at various locations
Solution: allocate buffer large enough for actual metadata, reduce code duplication
* Problem: syntax error related to pointer type conversion
Solution: change argument type of make_command_with_basic_properties to const char *
* Problem: large metadata may cause an assertion in produce_initiate
Solution: Allow metadata of arbitrary size in produce_initiate
2017-08-15 18:42:31 +01:00
Simon Giesecke
9949965717
Problem: Property names are duplicated at several places
...
Solution: Define them in zmq.h and use them (currently in DRAFT API)
2017-08-04 10:33:51 +02:00
Luca Boccassi
33695d1da8
Problem: ZAP is allowed to be configured incorrectly or not to work
...
Solution: if inproc://zeromq.zap.01 exists, which means ZAP is
enabled, abort immediately if it cannot be used (eg: out of memory)
or it is configured incorrectly (eg: wrong socket type).
Otherwise authentication failures will simply be ignored and
unauthorised peers will be allowed to slip in.
2017-06-13 22:56:31 +01:00
evoskuil
4ea7d01803
Problem: send_failure() util name undergeneralized (for read success).
2017-03-30 13:57:47 -07:00
evoskuil
a014e77ef7
Problem: leaks on send_zap_request fail, use of goto idiom is fragile.
2017-03-29 16:48:40 -07:00
evoskuil
a0ccdc866e
Problem: secure servers ignore zap_connect failre code and set ready.
2017-03-29 14:31:47 -07:00
evoskuil
f44300cb00
Problem: assert used for ZAP error handling aborts process.
2017-03-29 10:43:56 -07:00
evoskuil
2b798e486a
Problem: name conflicts from windows.h, draft API declared in pch.
2016-05-13 20:41:26 -07:00
Osiris
4a5af9d58b
Problem: Precompiled headers not being used
...
Solution: Phase I - make precompiled.hpp be first file included in every source file
2016-02-18 10:56:52 -06:00
Constantin Rack
a539b0c6e8
Problem: copyright year is still 2015
...
Solution: update to 2016
2016-01-28 15:07:31 +01:00
Pieter Hintjens
8620c3e032
Problem: source file headers are somewhat confusing about LGPLv3
...
Of course people still "can" distributed the sources under the
LGPLv3. However we provide COPYING.LESSER with additional grants.
Solution: specify these grants in the header of each source file.
2015-06-02 22:33:55 +02:00
evoskuil
30bd7c481e
Fix integer narrowing issues.
2015-04-21 22:26:32 -07:00
Pieter Hintjens
94d9a4ffdf
Problem: copyright statements are out of date
...
Solution: update for 2015
Fixes #1320
2015-01-22 10:32:37 +01:00
Martin Hurton
410f891599
Prefix error-reason with length in ERROR command
2014-05-14 14:13:13 +02:00
Martin Hurton
164ff4be6b
Remove debugging output
2014-05-14 06:35:08 +02:00
Martin Hurton
57546f4ecb
PLAIN: Implement ERROR handling in server
2014-05-14 06:23:47 +02:00
Martin Hurton
22d6a97403
Split plain_mechanism into client and server part
2014-05-12 06:10:56 +02:00