[ANN] Turbulence 0.3.0 "Like in the movies release" is ready!
Francis Brosnan Blazquez
francis at aspl.es
Fri Nov 23 19:47:59 PST 2007
-= Turbulence 0.3.0 =-
"Like in the movies release"
Advanced Software Production Line is proud to announce the
Turbulence 0.3.0 "Like in the movies" release: an open source BEEP
general application server, written on top of Vortex Library.
Turbulence is a BEEP server extensible through modules and allows to
implement server side profiles that are used and combined later with
other profiles through run time configuration.
Turbulence is written to make it easy to develop and deploy BEEP
profiles, allowing developers to provide a convenient configuration
interface to site administrators and end users.
Check out the following links to get ready with Turbulence:
[Vortex Library homepage]
[Sources and binaries]
[BEEP Core community web site]
[Axl Library, XML 1.0 implementation]
The release in short
Next major release for Turbulence including lot of new features and
bug fixes, mostly located at the Turbulence core and the
mod-sasl. Added initial implementation for the turbulence
Now the mod-sasl allows virtual hosting configuration: this allows
to configure auth-db associated to particular serverName
configurations. Along with this, the mod-sasl is shipped with a new
XML-RPC remote administration interface (SASL-RADMIN) which allows
third party applications to perform SASL administrative tasks in all
domains. A security update allows mod-sasl to store password
hashed with md5 and sha-1.
At the Turbulence core, an initial connection manager implementation
has been added, including a function to broadcast a message over all
connections having a particular profile. Now Turbulence allows to
configure the maximum number of channels running a profile per
Changes since the 0.2.1
* [new] Updated turbulence db list module to include a new removal
function which delete items according to an external handler. API
- TurbulenceDbListRemoveFunc (handler)
Updated regression tests to check this.
* [fix] Removed turbulence_db_list_status function. It is an api
duplicated on turbulence_db_list_get.
* [fix] Making features configuration to be optional at the config
* [fix] Added initial code to support the "x-client-close" feature.
Pending to check its real effect.
* [new] Added new module to control all connections created under the
context of the turbulence server. Added initial code to provide
broadcasting services over all connections, that have a selected
profile. Public API added:
- TurbulenceConnMgrFilter (handler)
* [new] Updated turbulence engine to allow configuring the maximum
number of channels that can be running a particular profile, inside
the profile path configuration. Updated documentation to include
* [fix] Making turbulence exit/signal handling to terminate turbulence
modules just after vortex termination to avoid unmapping memory
regions that contains handlers configured inside vortex library.
* [fix] Makeing turbulence runtime and turnbulence module to better
reach to modules that wan't loaded properly (undefined symbol).
* [fix] Fixed bug inside the common sasl module, while changing auth
* [fix] Added missing index to the db list documentation.
* [fix] Updated documentation to include some references to the
tbc-dblist-mgr usage and the new support provided by mod-sasl for
virtual hosting configuration.
* [new] Updated operate_sasl_user service, inside the remote sasl
administration, to remote, edit, change password, check/set remote
* [new] Added support to the tbc-dblist-mgr tool to create empty list
by using the --touch option.
* [fix] Updated regression test to check two new functions at the
mod-sasl to enable/disabled and check status for remote
* [fix] Fixed bug inside turbulence_db_list_close and
turbulence_db_list_cleanup which was causing double deallocation
operation under different situations but especially for those db
list opened but not closed manually. Updated regression test to
check both situations (manully and automatic close).
* [new] Added initial code to implement all operations required to
operate sasl users inside the xml-rpc sasl remote admin.
* [fix] Fixed common sasl validation function to also check that the
auth_id is inside the remote admins list.
* [fix] Integrating changes to the get users service.
* [fix] Updated autoconf files to include new pkg-config file to
export sasl-radmin.idl file.
* [fix] Configured mod-sasl source code to install a pkg-config file
to allow locating IDL file used to implement the client side of the
remote administration interface.
* [fix] Implemented initial version for the get_users service for the
SASL remote administration.
* [fix] Fixed validation service provided by the common sasl module to
only accept services under the sasl-radmin resource.
* [fix] Started and commiting initial files for the remote SASL
administration. Added initial implementation for the resource
validation function. Added initial implementation for the get_users
* [fix] Updated turbulence module internals to secure the list of
modules loaded with a mutex.
* [new] Updated regression test to check turbulence module loading
code. Updated the turbulence module API to include a function to
unregister a module from the list of modules loaded.
* [fix] Updated regression test to check sasl support for several
associated to different server names.
* [new] Added a new function to the sasl module to check if a
particular auth Id is disabled. Updated regression test to check
this. API added:
* [fix] More progress on regression test. Updated
common_sasl_user_disable to allow enabling/disabling a particular
user rather only allowing to disable.
* [fix] making progress on general regression test and fixing bugs
exposed. Updated common_sasl_user_exists and user database loading
* [new] Added new function to the support module to check in a
portable way the base dir and the file name for a provided
path. Updated regression test to check this. API added:
* [fix] Commiting initial checking for the sasl backend inside the
regression test. Not finished yet. Added required files.
* [fix] Updated regression test to check full path function checking
and fixed a bug exposed by the regression test on the unix platform.
* [fix] Updated the regression test to cover turbulence_db_list_count,
turbulence_db_list_exists and turbulence_db_list_status.
* [fix] Updated autoconf files to include the regression test.
* [fix] Fixed bug inside turbulence_db_list_add and
turbulence_db_list_remove which was causing to not update the first
item on the list.
* [new] Added initial code to implement a regression test for all
modules and the base library provided by turbulence. This helped to
remove a but at the dblist implementation.
* [fix] Fixed bug inside turbulence_db_list_close which was causing to
double dealloc references.
* [new] Added a new function to be base library to check if a file is
a full path or relative one. API added:
* [fix] General update to the sasl module to allow supporting several
users database according to the server name provided.
* [fix] Updated turbulence default example to include some coments to
improve its usage.
* [fix] General update to the mod-sasl module to allow storing user
passwords with other formats than clear text. Now it is also
supported md5 and sha-1. Updated tools and authentication code. This
change makes previous database format to be not compatible.
* [new] Updated turbulende dblist API to include a function that
allows to get the current status as a snapshot. Added a new function
that allows to edit an element in an atomic form. API added:
* [fix] Fixed minor bug while compiling the turbulence code without
* [fix] Updating axl and vortex package references.
* [fix] Making turbulence to skip backup files inside the mod enabled
* [fix] Updated update-web.sh file.
* [fix] Adding missing article about BEEP ports.
* [new] Installed a new option (--vortex-debug2) that enables
activating vortex second level log. Added two new functions to
enable modules and turbulence to check current log to console
* [new] Updated turbulence startup to check if all settings were read
and started properly, including modules, and to stop or not
according to a "clean start" configuration provided at the main
* [fix] Updating Makefile.am file to produce a .def file including all
entry points required by libturbulence.dll. Added libturbulence.def.
* [fix] Updated core implementation to allow checking if a serverName
parameter has an auth-db activated. Making tbc-sasl-conf to use this
to check the serverName value received. API added:
* [fix] Updated tbc-sasl-conf tool to allow configuring the serverName
value to be used to properly select the auth backend.
* [fix] Updated backend loading code to better report when some file
* [fix] Updated sasl-radmin implementation, conciliating changes into
the IDL and added a new operation to operate_sasl_user to disable a
sasl auth according to the value provided.
* [fix] Integrated latest changes from operate_sasl_user inside the
* [fix] Commiting first implementation that is able to create users,
on a particular domain (serverName), that can be included into the
allowed admins and enabled/disabled...
* [new] Updated common mod-sasl implementation to include two new
functions to enable/disable remote administration support and check
its current status.
* [fix] Updated sasl-radmin.idl to makes changes to the
operate_sasl_user service, extending its function to support user
disabling and user remote administrator support.
* [fix] Making the db-list loading of remote administrator list, when
it is found a relative path, to use services from vortex_support
* [fix] Fixed bug inside get_users service.
* [new] Starting remote administration interface for the
mod-sasl. Commiting initial files (xml-rpc IDL file and stuff
* [fix] Updated common implementation to use mutex where
required. Checked regression test to use that mutex.
* [fix] Updated regression test to check add/remove functions from the
* [fix] Updated sasl backend loading to allow configuring an
alternative file path to be used. Updated the rest of the tools
associated. API updated:
* [fix] Fixing bug inside the xml loading backend which wasn't
nullifying the reference received, caused to return a cuenca's
pointer on error.
* [fix] Checked default behaviour to not load a database configuration
if found two default ones.
* [fix] Updated tbc-sasl-conf tool to allow listing with the current
sasl engine, and updated the code to check that no memory is lost.
Aspl (Advanced Software Production Line) is a Spanish company that
provides services and support to introduce open source products into
It has more than 7 years of experience and its main development line
is to provide software development and support to install GNU/Linux
Contact us, English or Spanish, to get commercial support and/or
BEEP based development services.
You can reach us:
http://www.aspl.es - info at aspl.es
We hope Vortex Library and Turbulence help you. Enjoy Turbulence!
Francis Brosnan Blázquez - francis at aspl.es
Advanced Software Production Line - http://www.aspl.es
23th nov 2007, Madrid (Spain)
More information about the BEEPwg