- Fixed Bug #269: tpchkunsol routine not working
Major work on support for PCI/DSS mandatory configuration encryption have been performed. Now Enduro/X is capable of encrypt and decrypt sections of configuration file. Provided command line utilities "exencrypt" and "exdecrypt" for encryption use in scripts. Introduction of plugin architecture (currently used for crypto key providers) So that software vendors may implement it's own algorithms for symmetrical encryption key storage.
Implemented tpconvert() ATMI call. Other feature now is that "@global" section for ini files are read twice, meaning that in ini file user may reference to previously defined env/global variable.
Enduro/X 5.1 have been released. The main changes in this version is support for big message sizes. Up till version 5.0 the max message size in system was limited to 64KB. Now with version 5.1 and upwards, the limit is removed. Now message size is limited by the Operating System - POSIX Message queue subsystem. More details about message queue, please see Enduro/X Admin Manual.
Other notable changes which are included in this release, is Client Process Monitor (cpmsrv) and corresponding command line utilities like "xadmin bc", "xadmin rc" and "xadmin sc" now are capable to handle the client tags and subsections by wild card matching. Symbol "%" can be used for substituting any string. Also CPMSRV command line utilities accept tag/subsection with out any extra arguments. For more information see xadmin's man page
There are few bugfixes made in tpbridge. The tpbridge protocol mode TLV is changed, now data length is encoded in 4 bytes (instead of 2). There are few performance improvements made in system with this release. Changes in UBF library to not to perform free space memset to zero. Also few buffer copies are eliminated from tpbridge. Tpbridge also got extra data validity checks to avoid buffer overruns in case of defective TCP packets.
- #160 Feature Closed High Add feature to XA subsystem so that if tpbegin() fails, then do tpclose/tpopen/tpbegin again
In short, in some customer environments setups, the aggressive firewalls might drop the connection which have been established to database via tpopen(internally xa_open). In those cases if Transaction Manager Server (tmsrv) have been long standing with out activity, the connection might be dropped. Then next incoming request for new transaction might fail with different errors. Thus to address this issue new "NDRX_XA_FLAGS" environment variable have been added. It is tag-value based parameter. Currently new tag "RECON" have been added.
Excerpt from manpage
NDRX_XA_FLAGS=XADMIN_XA_FLAGS Special for XA sub-system. It is semicolon separated tags with values. currently tag RECON is defined. RECON tag defines the number of attempts of xa_close()/xa_open() and doing xa_start() again in case if original xa_start() failed (the ATMI call tpbegin()) - for example firewall have been closed the connection. The format for the tag is: RECON:<comma separated list of error codes e.g. 4,-8,* - any err>:<number of attempts>:<sleep between attempts milli-sec> example: RECON:*:3:100, meaning reconnect on any xa_start error, do the 3x attempts, sleep 100 milliseconds between attempts.
The parameter shall be set in environment file, or Common-Configuration [@global] section.
Following issues have been fixed in this release:
#112 Bug Closed High Remove conversational queues after client/server dies
#145 Bug Closed Normal Seems on linux when doing -sSVC1,SVC2,SVC3:OLDSVC does not do advertise of SVC2 and SVC3
#140 Bug Closed Normal Bug with service registry - possible core dump
#139 Feature Closed Normal Reuse service registry shared memory cells for services which does not have advertised any service
#113 Feature Closed Normal Add unix mode with assuming that mqd_t is file descriptor
- Enduro/X team is proud to announce that IBM AIX 7.1 binary builds will be provided on the regular release schedule.
- The first release could be found in Files section: endurox-3.5.3-1.AIX7_1_XL.powerpc.tar.gz
Note that platform-script is not supported on AIX, thus xadmin gen and xadmin provision are not available for AIX platform.
This version includes following fixed bugs:
#105 - ORA-01591: lock held by in-doubt distributed transaction 1.8.49044. Now transaction if it is in prepare stage and tmsrv is restarted, then transaction is automatically aborted, because there is no way that caller will get back the positive response.
New functions have been added to XATMI sub-system, which is intended to be used by user for doing debug logging of their applications.
List of the function:
extern NDRX_API void tplogdumpdiff(int lev, char *comment, void *ptr1, void *ptr2, int len);
extern NDRX_API void tplogdump(int lev, char *comment, void *ptr, int len);
extern NDRX_API void tplog(int lev, char *message);
extern NDRX_API int tploggetreqfile(char *filename, int bufsize);
extern NDRX_API int tplogconfig(int logger, int lev, char *debug_string, char *module,
extern NDRX_API void tplogclosereqfile(void);
extern NDRX_API void tplogclosethread(void);
extern NDRX_API void tplogsetreqfile_direct(char *filename);
extern NDRX_API int tplogsetreqfile(char **data, char *filename, char *filesvc);
extern NDRX_API int tploggetbufreqfile(char *data, char *filename, int bufsize);
extern NDRX_API int tplogdelbufreqfile(char *data);
extern NDRX_API void tplogprintubf(int lev, char *title, UBFH *p_ub);
See the man pages of these function, and additional information can be found in ex_devguide document.
INI Based configuration system¶
Enduro/X 3.3.1 now can be configured by using ini file (or files) instead of environment variables, ndrxdebug.conf and q.conf.
Two new environment variables now are added to the system:
2. and optional NDRX_CCTAG which allows processes to specify the subsection of Enduro/X system settings.
The configurations sections are:
[@global] - environment variables for process (see ex_env(5))
[@debug] - debug configuration per binary (see ndrxdebug.conf(5))
[@queue] - persistent queue configurations.
If you use NDRX_CCTAG or specify the "cctag" for ATMI server, then Enduro/X will scan for sections like (e.g. cctag=TAG1):
[@global/TAG1] and then [@global]
[@debug/TAG1] and then [@debug]
[@queue/TAG1] and then [@debug]
cctag can contain multiple tags, which are separated by '/'. In that case multiple lockups will be made with base section combination.
Configuration server available for user applications¶
New configuration server is being added "cconfsrv" which can be used by applications to use Enduro/X framework for application configuration. The user application can call the "@CCONFIG" server in two modes: A) for getting the exact section, B) for listing the sections. See cconfsrv(8) for more details. The idea behind this is that user can do the programming under Enduro/X in multiple languages (C/Go/Perl/Python/PHP/NodeJs) and these modules typically needs configuration. It would be waste of time if for each of the languages developer would need to think how to read the configuration from config files with natlibraries.ies. The Enduro/X offers standard XATMI micro-service call for reading the ini files in common way for whole application, no matter in which language it is programmed.
The version gate be get at github: https://github.com/endurox-dev/endurox
or prebuilt version for Ubuntu 14.04 64bit is here: http://www.endurox.org/attachments/download/49/endurox-3.3.1-1.ubuntu14_04.x86_64.deb
Also available in: Atom