Skip to content

Commit d70981f

Browse files
authored
Merge pull request #3019 from bluca/newver
Problem: regression in 4.2.3 needs to be fixed before 4.3
2 parents 7f1f705 + a66a9d9 commit d70981f

File tree

11 files changed

+60
-34
lines changed

11 files changed

+60
-34
lines changed

NEWS

Lines changed: 10 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,16 @@
1-
0MQ version 4.3.1 stable, released on 20xx/xx/xx
1+
0MQ version 4.2.5 stable, released on 20xx/xx/xx
22
================================================
33

4-
* The following DRAFT APIs have been marked as STABLE and will not change
5-
anymore:
6-
- ZMQ_MSG_T_SIZE context option (see doc/zmq_ctx_get.txt)
7-
- ZMQ_GSSAPI_PRINCIPAL_NAMETYPE and ZMQ_GSSAPI_SERVICE_PRINCIPAL_NAMETYPE
8-
socket options, for the corresponding GSSAPI features. Additional
9-
definitions for principal name types:
10-
- ZMQ_GSSAPI_NT_HOSTBASED
11-
- ZMQ_GSSAPI_NT_USER_NAME
12-
- ZMQ_GSSAPI_NT_KRB5_PRINCIPAL
13-
See doc/zmq_gssapi.txt for details.
14-
- ZMQ_BINDTODEVICE socket option (Linux only), which will bind the
15-
socket(s) to the specified interface. Allows to use Linux VRF, see:
16-
https://www.kernel.org/doc/Documentation/networking/vrf.txt
17-
NOTE: requires the program to be ran as root OR with CAP_NET_RAW
4+
* Fixed #3018 - fix backward-incompatible change in the NULL auth
5+
mechanism that slipped in 4.2.3 and made connections
6+
with a ZAP domain set on a socket but without a working
7+
ZAP handler fail. See ZMQ_ZAP_ENFORCE_DOMAIN and RFC27.
8+
9+
* Fixed #3016 - clarify in zmq_close manpage that the operation will
10+
complete asynchronously.
1811

12+
* Fixed #3012 - fix CMake build problem when using LIBZMQ_WERROR and a
13+
compiler other than GCC.
1914

2015
0MQ version 4.2.4 stable, released on 2018/03/21
2116
================================================

configure.ac

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ AC_SUBST(PACKAGE_VERSION)
4242
# ZeroMQ version 4.2.2: 6:2:1 (ABI version 5)
4343
# ZeroMQ version 4.2.3: 6:3:1 (ABI version 5)
4444
# ZeroMQ version 4.2.4: 6:4:1 (ABI version 5)
45-
# ZeroMQ version 4.3.1: 6:5:1 (ABI version 5)
45+
# ZeroMQ version 4.2.5: 6:5:1 (ABI version 5)
4646
#
4747
# libzmq -version-info current:revision:age
4848
LTVER="6:5:1"

doc/zmq_ctx_get.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,7 @@ ZMQ_MSG_T_SIZE: Get the zmq_msg_t size at runtime
6969
The 'ZMQ_MSG_T_SIZE' argument returns the size of the zmq_msg_t structure at
7070
runtime, as defined in the include/zmq.h public header.
7171
This is useful for example for FFI bindings that can't simply do a sizeof().
72+
NOTE: in DRAFT state, not yet available in stable releases.
7273

7374

7475
RETURN VALUE

doc/zmq_getsockopt.txt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,8 @@ packets received from that interface are processed by the socket. If device
7171
is a VRF device, then subsequent binds/connects to that socket use addresses
7272
in the VRF routing table.
7373

74+
NOTE: in DRAFT state, not yet available in stable releases.
75+
7476
[horizontal]
7577
Option value type:: character string
7678
Option value unit:: N/A
@@ -257,6 +259,8 @@ a local user name. A value of 'ZMQ_GSSAPI_NT_KRB5_PRINCIPAL' (2) means it
257259
is interpreted as an unparsed principal name string (valid only with the
258260
krb5 GSSAPI mechanism).
259261

262+
NOTE: in DRAFT state, not yet available in stable releases.
263+
260264
[horizontal]
261265
Option value type:: int
262266
Option value unit:: 0, 1, 2
@@ -273,6 +277,8 @@ a local user name. A value of 'ZMQ_GSSAPI_NT_KRB5_PRINCIPAL' (2) means it
273277
is interpreted as an unparsed principal name string (valid only with the
274278
krb5 GSSAPI mechanism).
275279

280+
NOTE: in DRAFT state, not yet available in stable releases.
281+
276282
[horizontal]
277283
Option value type:: int
278284
Option value unit:: 0, 1, 2

doc/zmq_setsockopt.txt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,7 @@ is a VRF device, then subsequent binds/connects to that socket use addresses
7979
in the VRF routing table.
8080

8181
NOTE: requires setting CAP_NET_RAW on the compiled program.
82+
NOTE: in DRAFT state, not yet available in stable releases.
8283

8384
[horizontal]
8485
Option value type:: character string
@@ -282,6 +283,8 @@ of 'ZMQ_GSSAPI_NT_USER_NAME' (1) means it is interpreted as a local user name.
282283
A value of 'ZMQ_GSSAPI_NT_KRB5_PRINCIPAL' (2) means it is interpreted as an
283284
unparsed principal name string (valid only with the krb5 GSSAPI mechanism).
284285

286+
NOTE: in DRAFT state, not yet available in stable releases.
287+
285288
[horizontal]
286289
Option value type:: int
287290
Option value unit:: 0, 1, 2
@@ -297,6 +300,8 @@ Sets the name type of the GSSAPI principal. A value of
297300
A value of 'ZMQ_GSSAPI_NT_KRB5_PRINCIPAL' (2) means it is interpreted as an
298301
unparsed principal name string (valid only with the krb5 GSSAPI mechanism).
299302

303+
NOTE: in DRAFT state, not yet available in stable releases.
304+
300305
[horizontal]
301306
Option value type:: int
302307
Option value unit:: 0, 1, 2

include/zmq.h

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,8 @@
4040

4141
/* Version macros for compile-time API version detection */
4242
#define ZMQ_VERSION_MAJOR 4
43-
#define ZMQ_VERSION_MINOR 3
44-
#define ZMQ_VERSION_PATCH 1
43+
#define ZMQ_VERSION_MINOR 2
44+
#define ZMQ_VERSION_PATCH 5
4545

4646
#define ZMQ_MAKE_VERSION(major, minor, patch) \
4747
((major) *10000 + (minor) *100 + (patch))
@@ -215,7 +215,6 @@ ZMQ_EXPORT void zmq_version (int *major, int *minor, int *patch);
215215
#define ZMQ_THREAD_PRIORITY 3
216216
#define ZMQ_THREAD_SCHED_POLICY 4
217217
#define ZMQ_MAX_MSGSZ 5
218-
#define ZMQ_MSG_T_SIZE 6
219218

220219
/* Default for new contexts */
221220
#define ZMQ_IO_THREADS_DFLT 1
@@ -373,9 +372,6 @@ ZMQ_EXPORT const char *zmq_msg_gets (const zmq_msg_t *msg,
373372
#define ZMQ_VMCI_BUFFER_MAX_SIZE 87
374373
#define ZMQ_VMCI_CONNECT_TIMEOUT 88
375374
#define ZMQ_USE_FD 89
376-
#define ZMQ_GSSAPI_PRINCIPAL_NAMETYPE 90
377-
#define ZMQ_GSSAPI_SERVICE_PRINCIPAL_NAMETYPE 91
378-
#define ZMQ_BINDTODEVICE 92
379375

380376
/* Message options */
381377
#define ZMQ_MORE 1
@@ -410,15 +406,6 @@ ZMQ_EXPORT const char *zmq_msg_gets (const zmq_msg_t *msg,
410406
/* Deprecated Message options */
411407
#define ZMQ_SRCFD 2
412408

413-
/******************************************************************************/
414-
/* GSSAPI definitions */
415-
/******************************************************************************/
416-
417-
/* GSSAPI principal name types */
418-
#define ZMQ_GSSAPI_NT_HOSTBASED 0
419-
#define ZMQ_GSSAPI_NT_USER_NAME 1
420-
#define ZMQ_GSSAPI_NT_KRB5_PRINCIPAL 2
421-
422409
/******************************************************************************/
423410
/* 0MQ socket events and monitoring */
424411
/******************************************************************************/
@@ -593,6 +580,9 @@ ZMQ_EXPORT void zmq_threadclose (void *thread);
593580
#define ZMQ_DGRAM 18
594581

595582
/* DRAFT Socket options. */
583+
#define ZMQ_GSSAPI_PRINCIPAL_NAMETYPE 90
584+
#define ZMQ_GSSAPI_SERVICE_PRINCIPAL_NAMETYPE 91
585+
#define ZMQ_BINDTODEVICE 92
596586
#define ZMQ_ZAP_ENFORCE_DOMAIN 93
597587
#define ZMQ_LOOPBACK_FASTPATH 94
598588
#define ZMQ_METADATA 95
@@ -635,6 +625,7 @@ ZMQ_EXPORT void zmq_threadclose (void *thread);
635625
#define ZMQ_PROTOCOL_ERROR_ZAP_INVALID_METADATA 0x20000005
636626

637627
/* DRAFT Context options */
628+
#define ZMQ_MSG_T_SIZE 6
638629
#define ZMQ_THREAD_AFFINITY_CPU_ADD 7
639630
#define ZMQ_THREAD_AFFINITY_CPU_REMOVE 8
640631
#define ZMQ_THREAD_NAME_PREFIX 9
@@ -722,6 +713,15 @@ ZMQ_EXPORT int zmq_timers_reset (void *timers, int timer_id);
722713
ZMQ_EXPORT long zmq_timers_timeout (void *timers);
723714
ZMQ_EXPORT int zmq_timers_execute (void *timers);
724715

716+
/******************************************************************************/
717+
/* GSSAPI definitions */
718+
/******************************************************************************/
719+
720+
/* GSSAPI principal name types */
721+
#define ZMQ_GSSAPI_NT_HOSTBASED 0
722+
#define ZMQ_GSSAPI_NT_USER_NAME 1
723+
#define ZMQ_GSSAPI_NT_KRB5_PRINCIPAL 2
724+
725725
#endif // ZMQ_BUILD_DRAFT_API
726726

727727

packaging/debian/changelog

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
zeromq (4.3.1) UNRELEASED; urgency=low
1+
zeromq (4.2.5) UNRELEASED; urgency=low
22

33
* Initial packaging.
44

packaging/debian/zeromq.dsc.obs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ Format: 3.0 (quilt)
22
Source: zeromq
33
Binary: libzmq5, libzmq3-dev, libzmq5-dbg
44
Architecture: any
5-
Version: 4.3.1
5+
Version: 4.2.5
66
Maintainer: libzmq Developers <[email protected]>
77
Homepage: http://www.zeromq.org/
88
Standards-Version: 3.9.8

packaging/redhat/zeromq.spec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
%endif
1111
%define lib_name libzmq5
1212
Name: zeromq
13-
Version: 4.3.1
13+
Version: 4.2.5
1414
Release: 1%{?dist}
1515
Summary: The ZeroMQ messaging library
1616
Group: Applications/Internet

src/zmq_draft.h

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,9 @@ unsigned long zmq_stopwatch_intermediate (void *watch_);
5151
#define ZMQ_DGRAM 18
5252

5353
/* DRAFT Socket options. */
54+
#define ZMQ_GSSAPI_PRINCIPAL_NAMETYPE 90
55+
#define ZMQ_GSSAPI_SERVICE_PRINCIPAL_NAMETYPE 91
56+
#define ZMQ_BINDTODEVICE 92
5457
#define ZMQ_ZAP_ENFORCE_DOMAIN 93
5558
#define ZMQ_LOOPBACK_FASTPATH 94
5659
#define ZMQ_METADATA 95
@@ -93,6 +96,7 @@ unsigned long zmq_stopwatch_intermediate (void *watch_);
9396
#define ZMQ_PROTOCOL_ERROR_ZAP_INVALID_METADATA 0x20000005
9497

9598
/* DRAFT Context options */
99+
#define ZMQ_MSG_T_SIZE 6
96100
#define ZMQ_THREAD_AFFINITY_CPU_ADD 7
97101
#define ZMQ_THREAD_AFFINITY_CPU_REMOVE 8
98102
#define ZMQ_THREAD_NAME_PREFIX 9
@@ -173,6 +177,15 @@ int zmq_timers_reset (void *timers, int timer_id);
173177
long zmq_timers_timeout (void *timers);
174178
int zmq_timers_execute (void *timers);
175179

180+
/******************************************************************************/
181+
/* GSSAPI definitions */
182+
/******************************************************************************/
183+
184+
/* GSSAPI principal name types */
185+
#define ZMQ_GSSAPI_NT_HOSTBASED 0
186+
#define ZMQ_GSSAPI_NT_USER_NAME 1
187+
#define ZMQ_GSSAPI_NT_KRB5_PRINCIPAL 2
188+
176189
#endif // ZMQ_BUILD_DRAFT_API
177190

178191
#endif //ifndef __ZMQ_DRAFT_H_INCLUDED__

0 commit comments

Comments
 (0)