0
0
mirror of https://github.com/zeromq/libzmq.git synced 2024-12-27 15:41:05 +08:00

Merge pull request #3020 from bluca/newver

Problem: 4.2.5 is out, we need to restore API changes and 4.3.x
This commit is contained in:
Constantin Rack 2018-03-23 22:28:59 +01:00 committed by GitHub
commit c8a1c4542d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
12 changed files with 40 additions and 51 deletions

View File

@ -938,7 +938,7 @@ else ()
set_target_properties (libzmq PROPERTIES set_target_properties (libzmq PROPERTIES
COMPILE_DEFINITIONS "DLL_EXPORT" COMPILE_DEFINITIONS "DLL_EXPORT"
PUBLIC_HEADER "${public_headers}" PUBLIC_HEADER "${public_headers}"
VERSION "5.1.5" VERSION "5.1.6"
SOVERSION "5" SOVERSION "5"
OUTPUT_NAME "zmq" OUTPUT_NAME "zmq"
PREFIX "lib") PREFIX "lib")

19
NEWS
View File

@ -1,3 +1,22 @@
0MQ version 4.3.1 stable, released on 20xx/xx/xx
================================================
* The following DRAFT APIs have been marked as STABLE and will not change
anymore:
- ZMQ_MSG_T_SIZE context option (see doc/zmq_ctx_get.txt)
- ZMQ_GSSAPI_PRINCIPAL_NAMETYPE and ZMQ_GSSAPI_SERVICE_PRINCIPAL_NAMETYPE
socket options, for the corresponding GSSAPI features. Additional
definitions for principal name types:
- ZMQ_GSSAPI_NT_HOSTBASED
- ZMQ_GSSAPI_NT_USER_NAME
- ZMQ_GSSAPI_NT_KRB5_PRINCIPAL
See doc/zmq_gssapi.txt for details.
- ZMQ_BINDTODEVICE socket option (Linux only), which will bind the
socket(s) to the specified interface. Allows to use Linux VRF, see:
https://www.kernel.org/doc/Documentation/networking/vrf.txt
NOTE: requires the program to be ran as root OR with CAP_NET_RAW
0MQ version 4.2.5 stable, released on 2018/03/23 0MQ version 4.2.5 stable, released on 2018/03/23
================================================ ================================================

View File

@ -43,9 +43,10 @@ AC_SUBST(PACKAGE_VERSION)
# ZeroMQ version 4.2.3: 6:3:1 (ABI version 5) # ZeroMQ version 4.2.3: 6:3:1 (ABI version 5)
# ZeroMQ version 4.2.4: 6:4:1 (ABI version 5) # ZeroMQ version 4.2.4: 6:4:1 (ABI version 5)
# ZeroMQ version 4.2.5: 6:5:1 (ABI version 5) # ZeroMQ version 4.2.5: 6:5:1 (ABI version 5)
# ZeroMQ version 4.3.1: 6:6:1 (ABI version 5)
# #
# libzmq -version-info current:revision:age # libzmq -version-info current:revision:age
LTVER="6:5:1" LTVER="6:6:1"
AC_SUBST(LTVER) AC_SUBST(LTVER)
# Take a copy of original flags # Take a copy of original flags

View File

@ -69,7 +69,6 @@ ZMQ_MSG_T_SIZE: Get the zmq_msg_t size at runtime
The 'ZMQ_MSG_T_SIZE' argument returns the size of the zmq_msg_t structure at The 'ZMQ_MSG_T_SIZE' argument returns the size of the zmq_msg_t structure at
runtime, as defined in the include/zmq.h public header. runtime, as defined in the include/zmq.h public header.
This is useful for example for FFI bindings that can't simply do a sizeof(). This is useful for example for FFI bindings that can't simply do a sizeof().
NOTE: in DRAFT state, not yet available in stable releases.
RETURN VALUE RETURN VALUE

View File

@ -71,8 +71,6 @@ packets received from that interface are processed by the socket. If device
is a VRF device, then subsequent binds/connects to that socket use addresses is a VRF device, then subsequent binds/connects to that socket use addresses
in the VRF routing table. in the VRF routing table.
NOTE: in DRAFT state, not yet available in stable releases.
[horizontal] [horizontal]
Option value type:: character string Option value type:: character string
Option value unit:: N/A Option value unit:: N/A
@ -259,8 +257,6 @@ a local user name. A value of 'ZMQ_GSSAPI_NT_KRB5_PRINCIPAL' (2) means it
is interpreted as an unparsed principal name string (valid only with the is interpreted as an unparsed principal name string (valid only with the
krb5 GSSAPI mechanism). krb5 GSSAPI mechanism).
NOTE: in DRAFT state, not yet available in stable releases.
[horizontal] [horizontal]
Option value type:: int Option value type:: int
Option value unit:: 0, 1, 2 Option value unit:: 0, 1, 2
@ -277,8 +273,6 @@ a local user name. A value of 'ZMQ_GSSAPI_NT_KRB5_PRINCIPAL' (2) means it
is interpreted as an unparsed principal name string (valid only with the is interpreted as an unparsed principal name string (valid only with the
krb5 GSSAPI mechanism). krb5 GSSAPI mechanism).
NOTE: in DRAFT state, not yet available in stable releases.
[horizontal] [horizontal]
Option value type:: int Option value type:: int
Option value unit:: 0, 1, 2 Option value unit:: 0, 1, 2

View File

@ -79,7 +79,6 @@ is a VRF device, then subsequent binds/connects to that socket use addresses
in the VRF routing table. in the VRF routing table.
NOTE: requires setting CAP_NET_RAW on the compiled program. NOTE: requires setting CAP_NET_RAW on the compiled program.
NOTE: in DRAFT state, not yet available in stable releases.
[horizontal] [horizontal]
Option value type:: character string Option value type:: character string
@ -283,8 +282,6 @@ of 'ZMQ_GSSAPI_NT_USER_NAME' (1) means it is interpreted as a local user name.
A value of 'ZMQ_GSSAPI_NT_KRB5_PRINCIPAL' (2) means it is interpreted as an A value of 'ZMQ_GSSAPI_NT_KRB5_PRINCIPAL' (2) means it is interpreted as an
unparsed principal name string (valid only with the krb5 GSSAPI mechanism). unparsed principal name string (valid only with the krb5 GSSAPI mechanism).
NOTE: in DRAFT state, not yet available in stable releases.
[horizontal] [horizontal]
Option value type:: int Option value type:: int
Option value unit:: 0, 1, 2 Option value unit:: 0, 1, 2
@ -300,8 +297,6 @@ Sets the name type of the GSSAPI principal. A value of
A value of 'ZMQ_GSSAPI_NT_KRB5_PRINCIPAL' (2) means it is interpreted as an A value of 'ZMQ_GSSAPI_NT_KRB5_PRINCIPAL' (2) means it is interpreted as an
unparsed principal name string (valid only with the krb5 GSSAPI mechanism). unparsed principal name string (valid only with the krb5 GSSAPI mechanism).
NOTE: in DRAFT state, not yet available in stable releases.
[horizontal] [horizontal]
Option value type:: int Option value type:: int
Option value unit:: 0, 1, 2 Option value unit:: 0, 1, 2

View File

@ -40,8 +40,8 @@
/* Version macros for compile-time API version detection */ /* Version macros for compile-time API version detection */
#define ZMQ_VERSION_MAJOR 4 #define ZMQ_VERSION_MAJOR 4
#define ZMQ_VERSION_MINOR 2 #define ZMQ_VERSION_MINOR 3
#define ZMQ_VERSION_PATCH 5 #define ZMQ_VERSION_PATCH 1
#define ZMQ_MAKE_VERSION(major, minor, patch) \ #define ZMQ_MAKE_VERSION(major, minor, patch) \
((major) *10000 + (minor) *100 + (patch)) ((major) *10000 + (minor) *100 + (patch))
@ -215,6 +215,7 @@ ZMQ_EXPORT void zmq_version (int *major, int *minor, int *patch);
#define ZMQ_THREAD_PRIORITY 3 #define ZMQ_THREAD_PRIORITY 3
#define ZMQ_THREAD_SCHED_POLICY 4 #define ZMQ_THREAD_SCHED_POLICY 4
#define ZMQ_MAX_MSGSZ 5 #define ZMQ_MAX_MSGSZ 5
#define ZMQ_MSG_T_SIZE 6
/* Default for new contexts */ /* Default for new contexts */
#define ZMQ_IO_THREADS_DFLT 1 #define ZMQ_IO_THREADS_DFLT 1
@ -372,6 +373,9 @@ ZMQ_EXPORT const char *zmq_msg_gets (const zmq_msg_t *msg,
#define ZMQ_VMCI_BUFFER_MAX_SIZE 87 #define ZMQ_VMCI_BUFFER_MAX_SIZE 87
#define ZMQ_VMCI_CONNECT_TIMEOUT 88 #define ZMQ_VMCI_CONNECT_TIMEOUT 88
#define ZMQ_USE_FD 89 #define ZMQ_USE_FD 89
#define ZMQ_GSSAPI_PRINCIPAL_NAMETYPE 90
#define ZMQ_GSSAPI_SERVICE_PRINCIPAL_NAMETYPE 91
#define ZMQ_BINDTODEVICE 92
/* Message options */ /* Message options */
#define ZMQ_MORE 1 #define ZMQ_MORE 1
@ -406,6 +410,15 @@ ZMQ_EXPORT const char *zmq_msg_gets (const zmq_msg_t *msg,
/* Deprecated Message options */ /* Deprecated Message options */
#define ZMQ_SRCFD 2 #define ZMQ_SRCFD 2
/******************************************************************************/
/* GSSAPI definitions */
/******************************************************************************/
/* GSSAPI principal name types */
#define ZMQ_GSSAPI_NT_HOSTBASED 0
#define ZMQ_GSSAPI_NT_USER_NAME 1
#define ZMQ_GSSAPI_NT_KRB5_PRINCIPAL 2
/******************************************************************************/ /******************************************************************************/
/* 0MQ socket events and monitoring */ /* 0MQ socket events and monitoring */
/******************************************************************************/ /******************************************************************************/
@ -580,9 +593,6 @@ ZMQ_EXPORT void zmq_threadclose (void *thread);
#define ZMQ_DGRAM 18 #define ZMQ_DGRAM 18
/* DRAFT Socket options. */ /* DRAFT Socket options. */
#define ZMQ_GSSAPI_PRINCIPAL_NAMETYPE 90
#define ZMQ_GSSAPI_SERVICE_PRINCIPAL_NAMETYPE 91
#define ZMQ_BINDTODEVICE 92
#define ZMQ_ZAP_ENFORCE_DOMAIN 93 #define ZMQ_ZAP_ENFORCE_DOMAIN 93
#define ZMQ_LOOPBACK_FASTPATH 94 #define ZMQ_LOOPBACK_FASTPATH 94
#define ZMQ_METADATA 95 #define ZMQ_METADATA 95
@ -625,7 +635,6 @@ ZMQ_EXPORT void zmq_threadclose (void *thread);
#define ZMQ_PROTOCOL_ERROR_ZAP_INVALID_METADATA 0x20000005 #define ZMQ_PROTOCOL_ERROR_ZAP_INVALID_METADATA 0x20000005
/* DRAFT Context options */ /* DRAFT Context options */
#define ZMQ_MSG_T_SIZE 6
#define ZMQ_THREAD_AFFINITY_CPU_ADD 7 #define ZMQ_THREAD_AFFINITY_CPU_ADD 7
#define ZMQ_THREAD_AFFINITY_CPU_REMOVE 8 #define ZMQ_THREAD_AFFINITY_CPU_REMOVE 8
#define ZMQ_THREAD_NAME_PREFIX 9 #define ZMQ_THREAD_NAME_PREFIX 9
@ -713,15 +722,6 @@ ZMQ_EXPORT int zmq_timers_reset (void *timers, int timer_id);
ZMQ_EXPORT long zmq_timers_timeout (void *timers); ZMQ_EXPORT long zmq_timers_timeout (void *timers);
ZMQ_EXPORT int zmq_timers_execute (void *timers); ZMQ_EXPORT int zmq_timers_execute (void *timers);
/******************************************************************************/
/* GSSAPI definitions */
/******************************************************************************/
/* GSSAPI principal name types */
#define ZMQ_GSSAPI_NT_HOSTBASED 0
#define ZMQ_GSSAPI_NT_USER_NAME 1
#define ZMQ_GSSAPI_NT_KRB5_PRINCIPAL 2
#endif // ZMQ_BUILD_DRAFT_API #endif // ZMQ_BUILD_DRAFT_API

View File

@ -1,4 +1,4 @@
zeromq (4.2.5) UNRELEASED; urgency=low zeromq (4.3.1) UNRELEASED; urgency=low
* Initial packaging. * Initial packaging.

View File

@ -2,7 +2,7 @@ Format: 3.0 (quilt)
Source: zeromq Source: zeromq
Binary: libzmq5, libzmq3-dev, libzmq5-dbg Binary: libzmq5, libzmq3-dev, libzmq5-dbg
Architecture: any Architecture: any
Version: 4.2.5 Version: 4.3.1
Maintainer: libzmq Developers <zeromq-dev@lists.zeromq.org> Maintainer: libzmq Developers <zeromq-dev@lists.zeromq.org>
Homepage: http://www.zeromq.org/ Homepage: http://www.zeromq.org/
Standards-Version: 3.9.8 Standards-Version: 3.9.8

View File

@ -10,7 +10,7 @@
%endif %endif
%define lib_name libzmq5 %define lib_name libzmq5
Name: zeromq Name: zeromq
Version: 4.2.5 Version: 4.3.1
Release: 1%{?dist} Release: 1%{?dist}
Summary: The ZeroMQ messaging library Summary: The ZeroMQ messaging library
Group: Applications/Internet Group: Applications/Internet

View File

@ -51,9 +51,6 @@ unsigned long zmq_stopwatch_intermediate (void *watch_);
#define ZMQ_DGRAM 18 #define ZMQ_DGRAM 18
/* DRAFT Socket options. */ /* DRAFT Socket options. */
#define ZMQ_GSSAPI_PRINCIPAL_NAMETYPE 90
#define ZMQ_GSSAPI_SERVICE_PRINCIPAL_NAMETYPE 91
#define ZMQ_BINDTODEVICE 92
#define ZMQ_ZAP_ENFORCE_DOMAIN 93 #define ZMQ_ZAP_ENFORCE_DOMAIN 93
#define ZMQ_LOOPBACK_FASTPATH 94 #define ZMQ_LOOPBACK_FASTPATH 94
#define ZMQ_METADATA 95 #define ZMQ_METADATA 95
@ -96,7 +93,6 @@ unsigned long zmq_stopwatch_intermediate (void *watch_);
#define ZMQ_PROTOCOL_ERROR_ZAP_INVALID_METADATA 0x20000005 #define ZMQ_PROTOCOL_ERROR_ZAP_INVALID_METADATA 0x20000005
/* DRAFT Context options */ /* DRAFT Context options */
#define ZMQ_MSG_T_SIZE 6
#define ZMQ_THREAD_AFFINITY_CPU_ADD 7 #define ZMQ_THREAD_AFFINITY_CPU_ADD 7
#define ZMQ_THREAD_AFFINITY_CPU_REMOVE 8 #define ZMQ_THREAD_AFFINITY_CPU_REMOVE 8
#define ZMQ_THREAD_NAME_PREFIX 9 #define ZMQ_THREAD_NAME_PREFIX 9
@ -177,15 +173,6 @@ int zmq_timers_reset (void *timers, int timer_id);
long zmq_timers_timeout (void *timers); long zmq_timers_timeout (void *timers);
int zmq_timers_execute (void *timers); int zmq_timers_execute (void *timers);
/******************************************************************************/
/* GSSAPI definitions */
/******************************************************************************/
/* GSSAPI principal name types */
#define ZMQ_GSSAPI_NT_HOSTBASED 0
#define ZMQ_GSSAPI_NT_USER_NAME 1
#define ZMQ_GSSAPI_NT_KRB5_PRINCIPAL 2
#endif // ZMQ_BUILD_DRAFT_API #endif // ZMQ_BUILD_DRAFT_API
#endif //ifndef __ZMQ_DRAFT_H_INCLUDED__ #endif //ifndef __ZMQ_DRAFT_H_INCLUDED__

View File

@ -156,12 +156,10 @@ void test_valid_creds (void *ctx,
assert (rc == 0); assert (rc == 0);
rc = zmq_setsockopt (client, ZMQ_GSSAPI_PRINCIPAL, name, strlen (name) + 1); rc = zmq_setsockopt (client, ZMQ_GSSAPI_PRINCIPAL, name, strlen (name) + 1);
assert (rc == 0); assert (rc == 0);
#ifdef ZMQ_BUILD_DRAFT_API
int name_type = ZMQ_GSSAPI_NT_HOSTBASED; int name_type = ZMQ_GSSAPI_NT_HOSTBASED;
rc = zmq_setsockopt (client, ZMQ_GSSAPI_PRINCIPAL_NAMETYPE, &name_type, rc = zmq_setsockopt (client, ZMQ_GSSAPI_PRINCIPAL_NAMETYPE, &name_type,
sizeof (name_type)); sizeof (name_type));
assert (rc == 0); assert (rc == 0);
#endif
rc = zmq_connect (client, endpoint); rc = zmq_connect (client, endpoint);
assert (rc == 0); assert (rc == 0);
@ -190,12 +188,10 @@ void test_unauth_creds (void *ctx,
assert (rc == 0); assert (rc == 0);
rc = zmq_setsockopt (client, ZMQ_GSSAPI_PRINCIPAL, name, strlen (name) + 1); rc = zmq_setsockopt (client, ZMQ_GSSAPI_PRINCIPAL, name, strlen (name) + 1);
assert (rc == 0); assert (rc == 0);
#ifdef ZMQ_BUILD_DRAFT_API
int name_type = ZMQ_GSSAPI_NT_HOSTBASED; int name_type = ZMQ_GSSAPI_NT_HOSTBASED;
rc = zmq_setsockopt (client, ZMQ_GSSAPI_PRINCIPAL_NAMETYPE, &name_type, rc = zmq_setsockopt (client, ZMQ_GSSAPI_PRINCIPAL_NAMETYPE, &name_type,
sizeof (name_type)); sizeof (name_type));
assert (rc == 0); assert (rc == 0);
#endif
zap_deny_all = 1; zap_deny_all = 1;
rc = zmq_connect (client, endpoint); rc = zmq_connect (client, endpoint);
assert (rc == 0); assert (rc == 0);
@ -316,12 +312,10 @@ int main (void)
assert (rc == 0); assert (rc == 0);
rc = zmq_setsockopt (server, ZMQ_GSSAPI_PRINCIPAL, name, strlen (name) + 1); rc = zmq_setsockopt (server, ZMQ_GSSAPI_PRINCIPAL, name, strlen (name) + 1);
assert (rc == 0); assert (rc == 0);
#ifdef ZMQ_BUILD_DRAFT_API
int name_type = ZMQ_GSSAPI_NT_HOSTBASED; int name_type = ZMQ_GSSAPI_NT_HOSTBASED;
rc = zmq_setsockopt (server, ZMQ_GSSAPI_PRINCIPAL_NAMETYPE, &name_type, rc = zmq_setsockopt (server, ZMQ_GSSAPI_PRINCIPAL_NAMETYPE, &name_type,
sizeof (name_type)); sizeof (name_type));
assert (rc == 0); assert (rc == 0);
#endif
rc = zmq_bind (server, "tcp://127.0.0.1:*"); rc = zmq_bind (server, "tcp://127.0.0.1:*");
assert (rc == 0); assert (rc == 0);
rc = zmq_getsockopt (server, ZMQ_LAST_ENDPOINT, my_endpoint, &len); rc = zmq_getsockopt (server, ZMQ_LAST_ENDPOINT, my_endpoint, &len);