You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by kg...@apache.org on 2012/08/01 18:57:29 UTC
svn commit: r1368123 - in /qpid/proton/branches/driver_abstraction: ./
examples/ruby/ proton-c/ proton-c/bindings/ proton-c/bindings/php/
proton-c/bindings/python/ proton-c/bindings/ruby/ proton-c/docs/api/
proton-c/include/proton/ proton-c/src/codec/ ...
Author: kgiusti
Date: Wed Aug 1 16:57:28 2012
New Revision: 1368123
URL: http://svn.apache.org/viewvc?rev=1368123&view=rev
Log:
NO-JIRA: sync to latest trunk
Added:
qpid/proton/branches/driver_abstraction/.gitignore
- copied unchanged from r1368118, qpid/proton/trunk/.gitignore
qpid/proton/branches/driver_abstraction/examples/ruby/
- copied from r1368118, qpid/proton/trunk/examples/ruby/
qpid/proton/branches/driver_abstraction/proton-c/bindings/ruby/
- copied from r1368118, qpid/proton/trunk/proton-c/bindings/ruby/
qpid/proton/branches/driver_abstraction/tests/proton_tests/sasl.py
- copied unchanged from r1368118, qpid/proton/trunk/tests/proton_tests/sasl.py
Modified:
qpid/proton/branches/driver_abstraction/ (props changed)
qpid/proton/branches/driver_abstraction/config.sh
qpid/proton/branches/driver_abstraction/proton-c/CMakeLists.txt
qpid/proton/branches/driver_abstraction/proton-c/bindings/CMakeLists.txt
qpid/proton/branches/driver_abstraction/proton-c/bindings/php/CMakeLists.txt
qpid/proton/branches/driver_abstraction/proton-c/bindings/python/CMakeLists.txt
qpid/proton/branches/driver_abstraction/proton-c/bindings/python/python.i
qpid/proton/branches/driver_abstraction/proton-c/docs/api/CMakeLists.txt
qpid/proton/branches/driver_abstraction/proton-c/include/proton/buffer.h
qpid/proton/branches/driver_abstraction/proton-c/include/proton/codec.h
qpid/proton/branches/driver_abstraction/proton-c/include/proton/driver.h
qpid/proton/branches/driver_abstraction/proton-c/include/proton/engine.h
qpid/proton/branches/driver_abstraction/proton-c/include/proton/error.h
qpid/proton/branches/driver_abstraction/proton-c/include/proton/framing.h
qpid/proton/branches/driver_abstraction/proton-c/include/proton/message.h
qpid/proton/branches/driver_abstraction/proton-c/include/proton/messenger.h
qpid/proton/branches/driver_abstraction/proton-c/include/proton/parser.h
qpid/proton/branches/driver_abstraction/proton-c/include/proton/sasl.h
qpid/proton/branches/driver_abstraction/proton-c/include/proton/scanner.h
qpid/proton/branches/driver_abstraction/proton-c/include/proton/types.h
qpid/proton/branches/driver_abstraction/proton-c/include/proton/util.h
qpid/proton/branches/driver_abstraction/proton-c/src/codec/codec.c
qpid/proton/branches/driver_abstraction/proton-c/src/sasl/sasl.c
qpid/proton/branches/driver_abstraction/tests/proton_tests/__init__.py
Propchange: qpid/proton/branches/driver_abstraction/
------------------------------------------------------------------------------
Merged /qpid/proton/trunk:r1359741-1368118
Modified: qpid/proton/branches/driver_abstraction/config.sh
URL: http://svn.apache.org/viewvc/qpid/proton/branches/driver_abstraction/config.sh?rev=1368123&r1=1368122&r2=1368123&view=diff
==============================================================================
--- qpid/proton/branches/driver_abstraction/config.sh (original)
+++ qpid/proton/branches/driver_abstraction/config.sh Wed Aug 1 16:57:28 2012
@@ -22,13 +22,22 @@ export PROTON_HOME=$(dirname $(readlink
if [ -z "$CPROTON_BUILD" ]; then
if [ -d $PROTON_HOME/proton-c/build ]; then
- export PYTHON_BINDINGS=$PROTON_HOME/proton-c/build/bindings/python
+ PROTON_BINDINGS=$PROTON_HOME/proton-c/build/bindings
else
- export PYTHON_BINDINGS=$PROTON_HOME/proton-c/bindings/python
+ PROTON_BINDINGS=$PROTON_HOME/proton-c/bindings
fi
else
- export PYTHON_BINDINGS=$CPROTON_BUILD/bindings/python
+ PROTON_BINDINGS=$CPROTON_BUILD/bindings
fi
+# Python & Jython
+export PYTHON_BINDINGS=$PROTON_BINDINGS/python
export PYTHONPATH=$PROTON_HOME/tests:$PROTON_HOME/proton-c:$PYTHON_BINDINGS
export JYTHONPATH=$PROTON_HOME/tests:$PROTON_HOME/proton-j:$PROTON_HOME/proton-j/dist/lib/qpidproton.jar
+
+# PHP
+export PHP_BINDINGS=$PROTON_BINDINGS/php
+
+# Ruby
+export RUBY_BINDINGS=$PROTON_BINDINGS/ruby
+export RUBYLIB=$RUBY_BINDINGS
Modified: qpid/proton/branches/driver_abstraction/proton-c/CMakeLists.txt
URL: http://svn.apache.org/viewvc/qpid/proton/branches/driver_abstraction/proton-c/CMakeLists.txt?rev=1368123&r1=1368122&r2=1368123&view=diff
==============================================================================
--- qpid/proton/branches/driver_abstraction/proton-c/CMakeLists.txt (original)
+++ qpid/proton/branches/driver_abstraction/proton-c/CMakeLists.txt Wed Aug 1 16:57:28 2012
@@ -1,6 +1,6 @@
cmake_minimum_required (VERSION 2.6)
-project (Proton)
+project (Proton C)
set (PN_VERSION_MAJOR 0)
set (PN_VERSION_MINOR 1)
@@ -52,10 +52,9 @@ endif (POLLER STREQUAL poll)
add_library (
- qpidproton SHARED
+ qpid-proton SHARED
src/util.c
- src/driver.c
src/error.c
src/buffer.c
src/parser.c
@@ -73,31 +72,36 @@ add_library (
${PROJECT_BINARY_DIR}/encodings.h
${PROJECT_BINARY_DIR}/protocol.h
+)
+add_library (
+ qpid-proton-posix SHARED
+
+ src/driver.c
src/messenger.c
${pn_driver_impl}
)
-include(FindSWIG)
+find_package(SWIG)
if (SWIG_FOUND)
add_subdirectory(bindings)
endif (SWIG_FOUND)
add_executable (proton src/proton.c)
-target_link_libraries (proton qpidproton ${LINK_DEPS})
+target_link_libraries (proton qpid-proton qpid-proton-posix ${LINK_DEPS})
add_executable (proton-dump src/proton-dump.c)
-target_link_libraries (proton-dump qpidproton ${LINK_DEPS})
+target_link_libraries (proton-dump qpid-proton)
add_subdirectory(docs/api)
set_target_properties (
- qpidproton proton proton-dump
+ qpid-proton qpid-proton-posix proton proton-dump
PROPERTIES
COMPILE_FLAGS "-Wall -Werror -pedantic-errors -std=c99 -g -Iinclude -fPIC"
)
-install (TARGETS proton qpidproton
+install (TARGETS proton proton-dump qpid-proton qpid-proton-posix
RUNTIME DESTINATION bin
LIBRARY DESTINATION lib)
Modified: qpid/proton/branches/driver_abstraction/proton-c/bindings/CMakeLists.txt
URL: http://svn.apache.org/viewvc/qpid/proton/branches/driver_abstraction/proton-c/bindings/CMakeLists.txt?rev=1368123&r1=1368122&r2=1368123&view=diff
==============================================================================
--- qpid/proton/branches/driver_abstraction/proton-c/bindings/CMakeLists.txt (original)
+++ qpid/proton/branches/driver_abstraction/proton-c/bindings/CMakeLists.txt Wed Aug 1 16:57:28 2012
@@ -19,16 +19,24 @@
include(UseSWIG)
+set (BINDING_DEPS qpid-proton qpid-proton-posix ${LINK_DEPS})
+
# Build wrapper for Python:
-# @todo: conditionalize on whether python is available!
-add_subdirectory(python)
+find_package (PythonLibs)
+if (PYTHONLIBS_FOUND)
+ add_subdirectory(python)
+endif (PYTHONLIBS_FOUND)
+
+# Build wrapper for Ruby:
+find_package(Ruby)
+if (RUBY_FOUND)
+ add_subdirectory(ruby)
+endif (RUBY_FOUND)
# Build wrapper for PHP
# For now, assume PHP support if the 'php-config' tool is present.
# @todo: allow user to specify which php-config if multiple PHP sources installed!
-
-FIND_PROGRAM(PHP_CONFIG_EXE php-config)
-IF(PHP_CONFIG_EXE)
+find_program(PHP_CONFIG_EXE php-config)
+if (PHP_CONFIG_EXE)
add_subdirectory(php)
-ENDIF(PHP_CONFIG_EXE)
-
+endif (PHP_CONFIG_EXE)
Modified: qpid/proton/branches/driver_abstraction/proton-c/bindings/php/CMakeLists.txt
URL: http://svn.apache.org/viewvc/qpid/proton/branches/driver_abstraction/proton-c/bindings/php/CMakeLists.txt?rev=1368123&r1=1368122&r2=1368123&view=diff
==============================================================================
--- qpid/proton/branches/driver_abstraction/proton-c/bindings/php/CMakeLists.txt (original)
+++ qpid/proton/branches/driver_abstraction/proton-c/bindings/php/CMakeLists.txt Wed Aug 1 16:57:28 2012
@@ -24,17 +24,27 @@
# Uses the php-config command line tool from PHP to extract the location of the PHP header
# files
-EXECUTE_PROCESS(COMMAND ${PHP_CONFIG_EXE} --includes
+execute_process(COMMAND ${PHP_CONFIG_EXE} --includes
OUTPUT_VARIABLE PHP_INCLUDES
RESULT_VARIABLE retval
ERROR_VARIABLE errmsg
OUTPUT_STRIP_TRAILING_WHITESPACE)
-IF (NOT ${retval} EQUAL 0)
- MESSAGE(SEND_ERROR "Command \"${PHP_CONFIG_EXE} --include\" failed with output:\n${errmsg}")
-ELSE()
- #MESSAGE(STATUS "PHP_INCLUDES=[${PHP_INCLUDES}]")
- set_source_files_properties(${CMAKE_CURRENT_SOURCE_DIR}/php.i PROPERTIES SWIG_FLAGS "-I${PROJECT_SOURCE_DIR}/include")
- swig_add_module(cproton php ${CMAKE_CURRENT_SOURCE_DIR}/php.i)
- set_source_files_properties(${swig_generated_file_fullname} PROPERTIES COMPILE_FLAGS "${PHP_INCLUDES}")
- swig_link_libraries(cproton qpidproton ${LINK_DEPS})
-ENDIF()
+
+set_source_files_properties(${CMAKE_CURRENT_SOURCE_DIR}/php.i PROPERTIES SWIG_FLAGS "-I${PROJECT_SOURCE_DIR}/include")
+swig_add_module(cproton php ${CMAKE_CURRENT_SOURCE_DIR}/php.i)
+set_target_properties(cproton PROPERTIES PREFIX "")
+set_source_files_properties(${swig_generated_file_fullname} PROPERTIES COMPILE_FLAGS "${PHP_INCLUDES}")
+swig_link_libraries(cproton ${BINDING_DEPS})
+
+execute_process(COMMAND ${PHP_CONFIG_EXE} --extension-dir
+ OUTPUT_VARIABLE PHP_EXT_DIR
+ OUTPUT_STRIP_TRAILING_WHITESPACE)
+execute_process(COMMAND ${PHP_CONFIG_EXE} --prefix
+ OUTPUT_VARIABLE PHP_PFX
+ OUTPUT_STRIP_TRAILING_WHITESPACE)
+
+string(REPLACE ${PHP_PFX} ${CMAKE_INSTALL_PREFIX} PHP_REL_EXT_DIR ${PHP_EXT_DIR})
+
+install(FILES ${CMAKE_CURRENT_BINARY_DIR}/cproton.so
+ DESTINATION ${PHP_REL_EXT_DIR}
+ COMPONENT PHP)
Modified: qpid/proton/branches/driver_abstraction/proton-c/bindings/python/CMakeLists.txt
URL: http://svn.apache.org/viewvc/qpid/proton/branches/driver_abstraction/proton-c/bindings/python/CMakeLists.txt?rev=1368123&r1=1368122&r2=1368123&view=diff
==============================================================================
--- qpid/proton/branches/driver_abstraction/proton-c/bindings/python/CMakeLists.txt (original)
+++ qpid/proton/branches/driver_abstraction/proton-c/bindings/python/CMakeLists.txt Wed Aug 1 16:57:28 2012
@@ -1,7 +1,26 @@
-find_package (PythonLibs)
-
set(CMAKE_SWIG_FLAGS "-threads")
swig_add_module(cproton python python.i)
include_directories (${PYTHON_INCLUDE_PATH})
-swig_link_libraries(cproton qpidproton ${LINK_DEPS} ${PYTHON_LIBRARIES})
+swig_link_libraries(cproton ${BINDING_DEPS} ${PYTHON_LIBRARIES})
+
+find_package(PythonInterp REQUIRED)
+
+execute_process(COMMAND ${PYTHON_EXECUTABLE}
+ -c "from distutils.sysconfig import get_python_lib; print get_python_lib(True, prefix='${CMAKE_INSTALL_PREFIX}')"
+ OUTPUT_VARIABLE PYTHON_SITEARCH_PACKAGES
+ OUTPUT_STRIP_TRAILING_WHITESPACE)
+
+install(CODE "execute_process(COMMAND ${PYTHON_EXECUTABLE} -m py_compile cproton.py
+ WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})")
+install(CODE "execute_process(COMMAND ${PYTHON_EXECUTABLE} -O -m py_compile cproton.py
+ WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})")
+install(FILES ${CMAKE_CURRENT_BINARY_DIR}/cproton.py
+ ${CMAKE_CURRENT_BINARY_DIR}/cproton.pyc
+ ${CMAKE_CURRENT_BINARY_DIR}/cproton.pyo
+ DESTINATION ${PYTHON_SITEARCH_PACKAGES}
+ COMPONENT Python)
+install(FILES ${CMAKE_CURRENT_BINARY_DIR}/_cproton.so
+ RENAME _cproton.so
+ DESTINATION ${PYTHON_SITEARCH_PACKAGES}
+ COMPONENT Python)
Modified: qpid/proton/branches/driver_abstraction/proton-c/bindings/python/python.i
URL: http://svn.apache.org/viewvc/qpid/proton/branches/driver_abstraction/proton-c/bindings/python/python.i?rev=1368123&r1=1368122&r2=1368123&view=diff
==============================================================================
--- qpid/proton/branches/driver_abstraction/proton-c/bindings/python/python.i (original)
+++ qpid/proton/branches/driver_abstraction/proton-c/bindings/python/python.i Wed Aug 1 16:57:28 2012
@@ -104,6 +104,23 @@ ssize_t pn_input(pn_transport_t *transpo
%}
%ignore pn_output;
+ssize_t pn_sasl_input(pn_sasl_t *sasl, char *STRING, size_t LENGTH);
+%ignore pn_sasl_input;
+
+%rename(pn_sasl_output) wrap_pn_sasl_output;
+%inline %{
+ int wrap_pn_sasl_output(pn_sasl_t *sasl, char *OUTPUT, size_t *OUTPUT_SIZE) {
+ ssize_t sz = pn_sasl_output(sasl, OUTPUT, *OUTPUT_SIZE);
+ if (sz >= 0) {
+ *OUTPUT_SIZE = sz;
+ } else {
+ *OUTPUT_SIZE = 0;
+ }
+ return sz;
+ }
+%}
+%ignore pn_sasl_output;
+
%rename(pn_delivery) wrap_pn_delivery;
%inline %{
pn_delivery_t *wrap_pn_delivery(pn_link_t *link, char *STRING, size_t LENGTH) {
Modified: qpid/proton/branches/driver_abstraction/proton-c/docs/api/CMakeLists.txt
URL: http://svn.apache.org/viewvc/qpid/proton/branches/driver_abstraction/proton-c/docs/api/CMakeLists.txt?rev=1368123&r1=1368122&r2=1368123&view=diff
==============================================================================
--- qpid/proton/branches/driver_abstraction/proton-c/docs/api/CMakeLists.txt (original)
+++ qpid/proton/branches/driver_abstraction/proton-c/docs/api/CMakeLists.txt Wed Aug 1 16:57:28 2012
@@ -17,19 +17,20 @@
# under the License.
#
-include(FindDoxygen)
+find_package(Doxygen)
if (DOXYGEN_FOUND)
- configure_file (${CMAKE_CURRENT_SOURCE_DIR}/user.doxygen.in
- ${CMAKE_CURRENT_BINARY_DIR}/user.doxygen)
- add_custom_target (docs-user-api COMMAND ${DOXYGEN_EXECUTABLE} user.doxygen)
+ configure_file (${CMAKE_CURRENT_SOURCE_DIR}/user.doxygen.in
+ ${CMAKE_CURRENT_BINARY_DIR}/user.doxygen)
+ add_custom_target (docs COMMAND ${DOXYGEN_EXECUTABLE} user.doxygen)
- # HTML files are generated to ./html - put those in the install.
- install (DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/html/
- DESTINATION docs/api
- COMPONENT documentation)
- # if (CPACK_GENERATOR STREQUAL "NSIS")
- # set (CPACK_NSIS_MENU_LINKS
- # "${QPID_INSTALL_HTMLDIR}/index.html" "Qpid C++ API Documentation"
- # "https://issues.apache.org/jira/browse/QPID" "Report Qpid Problem")
- # endif (CPACK_GENERATOR STREQUAL "NSIS")
+ # HTML files are generated to ./html - put those in the install.
+ install (DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/html/
+ DESTINATION docs/api
+ COMPONENT documentation
+ OPTIONAL)
+ # if (CPACK_GENERATOR STREQUAL "NSIS")
+ # set (CPACK_NSIS_MENU_LINKS
+ # "${QPID_INSTALL_HTMLDIR}/index.html" "Qpid C++ API Documentation"
+ # "https://issues.apache.org/jira/browse/QPID" "Report Qpid Problem")
+ # endif (CPACK_GENERATOR STREQUAL "NSIS")
endif (DOXYGEN_FOUND)
Modified: qpid/proton/branches/driver_abstraction/proton-c/include/proton/buffer.h
URL: http://svn.apache.org/viewvc/qpid/proton/branches/driver_abstraction/proton-c/include/proton/buffer.h?rev=1368123&r1=1368122&r2=1368123&view=diff
==============================================================================
--- qpid/proton/branches/driver_abstraction/proton-c/include/proton/buffer.h (original)
+++ qpid/proton/branches/driver_abstraction/proton-c/include/proton/buffer.h Wed Aug 1 16:57:28 2012
@@ -1,5 +1,5 @@
-#ifndef _PROTON_BUFFER_H
-#define _PROTON_BUFFER_H 1
+#ifndef PROTON_BUFFER_H
+#define PROTON_BUFFER_H 1
/*
*
Modified: qpid/proton/branches/driver_abstraction/proton-c/include/proton/codec.h
URL: http://svn.apache.org/viewvc/qpid/proton/branches/driver_abstraction/proton-c/include/proton/codec.h?rev=1368123&r1=1368122&r2=1368123&view=diff
==============================================================================
--- qpid/proton/branches/driver_abstraction/proton-c/include/proton/codec.h (original)
+++ qpid/proton/branches/driver_abstraction/proton-c/include/proton/codec.h Wed Aug 1 16:57:28 2012
@@ -1,5 +1,5 @@
-#ifndef _PROTON_CODEC_H
-#define _PROTON_CODEC_H 1
+#ifndef PROTON_CODEC_H
+#define PROTON_CODEC_H 1
/*
*
Modified: qpid/proton/branches/driver_abstraction/proton-c/include/proton/driver.h
URL: http://svn.apache.org/viewvc/qpid/proton/branches/driver_abstraction/proton-c/include/proton/driver.h?rev=1368123&r1=1368122&r2=1368123&view=diff
==============================================================================
--- qpid/proton/branches/driver_abstraction/proton-c/include/proton/driver.h (original)
+++ qpid/proton/branches/driver_abstraction/proton-c/include/proton/driver.h Wed Aug 1 16:57:28 2012
@@ -1,5 +1,5 @@
-#ifndef _PROTON_DRIVER_H
-#define _PROTON_DRIVER_H 1
+#ifndef PROTON_DRIVER_H
+#define PROTON_DRIVER_H 1
/*
*
Modified: qpid/proton/branches/driver_abstraction/proton-c/include/proton/engine.h
URL: http://svn.apache.org/viewvc/qpid/proton/branches/driver_abstraction/proton-c/include/proton/engine.h?rev=1368123&r1=1368122&r2=1368123&view=diff
==============================================================================
--- qpid/proton/branches/driver_abstraction/proton-c/include/proton/engine.h (original)
+++ qpid/proton/branches/driver_abstraction/proton-c/include/proton/engine.h Wed Aug 1 16:57:28 2012
@@ -1,5 +1,5 @@
-#ifndef _PROTON_ENGINE_H
-#define _PROTON_ENGINE_H 1
+#ifndef PROTON_ENGINE_H
+#define PROTON_ENGINE_H 1
/*
*
@@ -86,7 +86,7 @@ typedef int pn_trace_t;
*
* @return pointer to a new connection object.
*/
-pn_connection_t *pn_connection();
+pn_connection_t *pn_connection(void);
/** Retrieve the state of the connection.
*
Modified: qpid/proton/branches/driver_abstraction/proton-c/include/proton/error.h
URL: http://svn.apache.org/viewvc/qpid/proton/branches/driver_abstraction/proton-c/include/proton/error.h?rev=1368123&r1=1368122&r2=1368123&view=diff
==============================================================================
--- qpid/proton/branches/driver_abstraction/proton-c/include/proton/error.h (original)
+++ qpid/proton/branches/driver_abstraction/proton-c/include/proton/error.h Wed Aug 1 16:57:28 2012
@@ -1,5 +1,5 @@
-#ifndef _PROTON_ERROR_H
-#define _PROTON_ERROR_H 1
+#ifndef PROTON_ERROR_H
+#define PROTON_ERROR_H 1
/*
*
Modified: qpid/proton/branches/driver_abstraction/proton-c/include/proton/framing.h
URL: http://svn.apache.org/viewvc/qpid/proton/branches/driver_abstraction/proton-c/include/proton/framing.h?rev=1368123&r1=1368122&r2=1368123&view=diff
==============================================================================
--- qpid/proton/branches/driver_abstraction/proton-c/include/proton/framing.h (original)
+++ qpid/proton/branches/driver_abstraction/proton-c/include/proton/framing.h Wed Aug 1 16:57:28 2012
@@ -1,5 +1,5 @@
-#ifndef _PROTON_FRAMING_H
-#define _PROTON_FRAMING_H 1
+#ifndef PROTON_FRAMING_H
+#define PROTON_FRAMING_H 1
/*
*
Modified: qpid/proton/branches/driver_abstraction/proton-c/include/proton/message.h
URL: http://svn.apache.org/viewvc/qpid/proton/branches/driver_abstraction/proton-c/include/proton/message.h?rev=1368123&r1=1368122&r2=1368123&view=diff
==============================================================================
--- qpid/proton/branches/driver_abstraction/proton-c/include/proton/message.h (original)
+++ qpid/proton/branches/driver_abstraction/proton-c/include/proton/message.h Wed Aug 1 16:57:28 2012
@@ -1,5 +1,5 @@
-#ifndef _PROTON_MESSAGE_H
-#define _PROTON_MESSAGE_H 1
+#ifndef PROTON_MESSAGE_H
+#define PROTON_MESSAGE_H 1
/*
*
Modified: qpid/proton/branches/driver_abstraction/proton-c/include/proton/messenger.h
URL: http://svn.apache.org/viewvc/qpid/proton/branches/driver_abstraction/proton-c/include/proton/messenger.h?rev=1368123&r1=1368122&r2=1368123&view=diff
==============================================================================
--- qpid/proton/branches/driver_abstraction/proton-c/include/proton/messenger.h (original)
+++ qpid/proton/branches/driver_abstraction/proton-c/include/proton/messenger.h Wed Aug 1 16:57:28 2012
@@ -1,5 +1,5 @@
-#ifndef _PROTON_MESSENGER_H
-#define _PROTON_MESSENGER_H 1
+#ifndef PROTON_MESSENGER_H
+#define PROTON_MESSENGER_H 1
/*
*
Modified: qpid/proton/branches/driver_abstraction/proton-c/include/proton/parser.h
URL: http://svn.apache.org/viewvc/qpid/proton/branches/driver_abstraction/proton-c/include/proton/parser.h?rev=1368123&r1=1368122&r2=1368123&view=diff
==============================================================================
--- qpid/proton/branches/driver_abstraction/proton-c/include/proton/parser.h (original)
+++ qpid/proton/branches/driver_abstraction/proton-c/include/proton/parser.h Wed Aug 1 16:57:28 2012
@@ -1,5 +1,5 @@
-#ifndef _PROTON_PARSER_H
-#define _PROTON_PARSER_H 1
+#ifndef PROTON_PARSER_H
+#define PROTON_PARSER_H 1
/*
*
Modified: qpid/proton/branches/driver_abstraction/proton-c/include/proton/sasl.h
URL: http://svn.apache.org/viewvc/qpid/proton/branches/driver_abstraction/proton-c/include/proton/sasl.h?rev=1368123&r1=1368122&r2=1368123&view=diff
==============================================================================
--- qpid/proton/branches/driver_abstraction/proton-c/include/proton/sasl.h (original)
+++ qpid/proton/branches/driver_abstraction/proton-c/include/proton/sasl.h Wed Aug 1 16:57:28 2012
@@ -1,5 +1,5 @@
-#ifndef _PROTON_SASL_H
-#define _PROTON_SASL_H 1
+#ifndef PROTON_SASL_H
+#define PROTON_SASL_H 1
/*
*
Modified: qpid/proton/branches/driver_abstraction/proton-c/include/proton/scanner.h
URL: http://svn.apache.org/viewvc/qpid/proton/branches/driver_abstraction/proton-c/include/proton/scanner.h?rev=1368123&r1=1368122&r2=1368123&view=diff
==============================================================================
--- qpid/proton/branches/driver_abstraction/proton-c/include/proton/scanner.h (original)
+++ qpid/proton/branches/driver_abstraction/proton-c/include/proton/scanner.h Wed Aug 1 16:57:28 2012
@@ -1,5 +1,5 @@
-#ifndef _PROTON_SCANNER_H
-#define _PROTON_SCANNER_H 1
+#ifndef PROTON_SCANNER_H
+#define PROTON_SCANNER_H 1
/*
*
Modified: qpid/proton/branches/driver_abstraction/proton-c/include/proton/types.h
URL: http://svn.apache.org/viewvc/qpid/proton/branches/driver_abstraction/proton-c/include/proton/types.h?rev=1368123&r1=1368122&r2=1368123&view=diff
==============================================================================
--- qpid/proton/branches/driver_abstraction/proton-c/include/proton/types.h (original)
+++ qpid/proton/branches/driver_abstraction/proton-c/include/proton/types.h Wed Aug 1 16:57:28 2012
@@ -1,5 +1,5 @@
-#ifndef _PROTON_TYPES_H
-#define _PROTON_TYPES_H 1
+#ifndef PROTON_TYPES_H
+#define PROTON_TYPES_H 1
/*
*
Modified: qpid/proton/branches/driver_abstraction/proton-c/include/proton/util.h
URL: http://svn.apache.org/viewvc/qpid/proton/branches/driver_abstraction/proton-c/include/proton/util.h?rev=1368123&r1=1368122&r2=1368123&view=diff
==============================================================================
--- qpid/proton/branches/driver_abstraction/proton-c/include/proton/util.h (original)
+++ qpid/proton/branches/driver_abstraction/proton-c/include/proton/util.h Wed Aug 1 16:57:28 2012
@@ -1,5 +1,5 @@
-#ifndef _PROTON_UTIL_H
-#define _PROTON_UTIL_H 1
+#ifndef PROTON_UTIL_H
+#define PROTON_UTIL_H 1
/*
*
Modified: qpid/proton/branches/driver_abstraction/proton-c/src/codec/codec.c
URL: http://svn.apache.org/viewvc/qpid/proton/branches/driver_abstraction/proton-c/src/codec/codec.c?rev=1368123&r1=1368122&r2=1368123&view=diff
==============================================================================
--- qpid/proton/branches/driver_abstraction/proton-c/src/codec/codec.c (original)
+++ qpid/proton/branches/driver_abstraction/proton-c/src/codec/codec.c Wed Aug 1 16:57:28 2012
@@ -120,21 +120,21 @@ int pn_format_atom(pn_bytes_t *bytes, pn
case PN_BOOL:
return pn_bytes_format(bytes, atom.u.as_bool ? "true" : "false");
case PN_UBYTE:
- return pn_bytes_format(bytes, "%u", atom.u.as_ubyte);
+ return pn_bytes_format(bytes, "%" PRIu8, atom.u.as_ubyte);
case PN_BYTE:
- return pn_bytes_format(bytes, "%i", atom.u.as_byte);
+ return pn_bytes_format(bytes, "%" PRIi8, atom.u.as_byte);
case PN_USHORT:
- return pn_bytes_format(bytes, "%u", atom.u.as_ushort);
+ return pn_bytes_format(bytes, "%" PRIu16, atom.u.as_ushort);
case PN_SHORT:
- return pn_bytes_format(bytes, "%i", atom.u.as_short);
+ return pn_bytes_format(bytes, "%" PRIi16, atom.u.as_short);
case PN_UINT:
- return pn_bytes_format(bytes, "%u", atom.u.as_uint);
+ return pn_bytes_format(bytes, "%" PRIu32, atom.u.as_uint);
case PN_INT:
- return pn_bytes_format(bytes, "%i", atom.u.as_int);
+ return pn_bytes_format(bytes, "%" PRIi32, atom.u.as_int);
case PN_ULONG:
- return pn_bytes_format(bytes, "%lu", atom.u.as_ulong);
+ return pn_bytes_format(bytes, "%" PRIu64, atom.u.as_ulong);
case PN_LONG:
- return pn_bytes_format(bytes, "%li", atom.u.as_long);
+ return pn_bytes_format(bytes, "%" PRIi64, atom.u.as_long);
case PN_FLOAT:
return pn_bytes_format(bytes, "%g", atom.u.as_float);
case PN_DOUBLE:
@@ -905,7 +905,7 @@ int pn_decode_atom(pn_bytes_t *bytes, pn
int pn_fill_one(pn_atoms_t *atoms, const char *fmt, ...);
-int pn_vfill_one(pn_atoms_t *atoms, const char **fmt, va_list ap, bool skip, int *nvals)
+int pn_vfill_one(pn_atoms_t *atoms, const char **fmt, va_list *ap, bool skip, int *nvals)
{
int err, count;
char code = **fmt;
@@ -928,70 +928,70 @@ int pn_vfill_one(pn_atoms_t *atoms, cons
return 0;
case 'o':
atom->type = PN_BOOL;
- atom->u.as_bool = va_arg(ap, int);
+ atom->u.as_bool = va_arg(*ap, int);
(*nvals)++;
return 0;
case 'B':
atom->type = PN_UBYTE;
- atom->u.as_ubyte = va_arg(ap, unsigned int);
+ atom->u.as_ubyte = va_arg(*ap, unsigned int);
(*nvals)++;
return 0;
case 'b':
atom->type = PN_BYTE;
- atom->u.as_byte = va_arg(ap, int);
+ atom->u.as_byte = va_arg(*ap, int);
(*nvals)++;
return 0;
case 'H':
atom->type = PN_USHORT;
- atom->u.as_ushort = va_arg(ap, unsigned int);
+ atom->u.as_ushort = va_arg(*ap, unsigned int);
(*nvals)++;
return 0;
case 'h':
atom->type = PN_SHORT;
- atom->u.as_short = va_arg(ap, int);
+ atom->u.as_short = va_arg(*ap, int);
(*nvals)++;
return 0;
case 'I':
atom->type = PN_UINT;
- atom->u.as_uint = va_arg(ap, uint32_t);
+ atom->u.as_uint = va_arg(*ap, uint32_t);
(*nvals)++;
return 0;
case 'i':
atom->type = PN_INT;
- atom->u.as_int = va_arg(ap, int32_t);
+ atom->u.as_int = va_arg(*ap, int32_t);
(*nvals)++;
return 0;
case 'L':
atom->type = PN_ULONG;
- atom->u.as_ulong = va_arg(ap, uint64_t);
+ atom->u.as_ulong = va_arg(*ap, uint64_t);
(*nvals)++;
return 0;
case 'l':
atom->type = PN_LONG;
- atom->u.as_long = va_arg(ap, int64_t);
+ atom->u.as_long = va_arg(*ap, int64_t);
(*nvals)++;
return 0;
case 'f':
atom->type = PN_FLOAT;
- atom->u.as_float = va_arg(ap, double);
+ atom->u.as_float = va_arg(*ap, double);
(*nvals)++;
return 0;
case 'd':
atom->type = PN_DOUBLE;
- atom->u.as_double = va_arg(ap, double);
+ atom->u.as_double = va_arg(*ap, double);
(*nvals)++;
return 0;
case 'z':
atom->type = PN_BINARY;
- atom->u.as_binary.size = va_arg(ap, size_t);
- atom->u.as_binary.start = va_arg(ap, char *);
+ atom->u.as_binary.size = va_arg(*ap, size_t);
+ atom->u.as_binary.start = va_arg(*ap, char *);
if (!atom->u.as_binary.start)
*atom = (pn_atom_t) {PN_NULL, {0}};
(*nvals)++;
return 0;
case 'S':
atom->type = PN_STRING;
- atom->u.as_string.start = va_arg(ap, char *);
+ atom->u.as_string.start = va_arg(*ap, char *);
if (atom->u.as_string.start)
atom->u.as_string.size = strlen(atom->u.as_string.start);
else
@@ -1000,7 +1000,7 @@ int pn_vfill_one(pn_atoms_t *atoms, cons
return 0;
case 's':
atom->type = PN_SYMBOL;
- atom->u.as_symbol.start = va_arg(ap, char *);
+ atom->u.as_symbol.start = va_arg(*ap, char *);
if (atom->u.as_symbol.start)
atom->u.as_symbol.size = strlen(atom->u.as_symbol.start);
else
@@ -1020,7 +1020,7 @@ int pn_vfill_one(pn_atoms_t *atoms, cons
return 0;
case 'T':
atom->type = PN_TYPE;
- atom->u.type = va_arg(ap, int);
+ atom->u.type = va_arg(*ap, int);
(*nvals)++;
return 0;
case '@':
@@ -1083,7 +1083,7 @@ int pn_vfill_one(pn_atoms_t *atoms, cons
return 0;
case '?':
count = 0;
- if (va_arg(ap, int)) {
+ if (va_arg(*ap, int)) {
// rewind atoms by one
if (!skip) {
atoms->start--;
@@ -1100,8 +1100,8 @@ int pn_vfill_one(pn_atoms_t *atoms, cons
return 0;
case '*':
{
- int count = va_arg(ap, int);
- void *ptr = va_arg(ap, void *);
+ int count = va_arg(*ap, int);
+ void *ptr = va_arg(*ap, void *);
// rewind atoms by one
if (!skip) {
atoms->start--;
@@ -1143,7 +1143,7 @@ int pn_fill_one(pn_atoms_t *atoms, const
va_list ap;
va_start(ap, fmt);
int count = 0;
- int err = pn_vfill_one(atoms, &fmt, ap, false, &count);
+ int err = pn_vfill_one(atoms, &fmt, &ap, false, &count);
va_end(ap);
return err;
}
@@ -1153,12 +1153,19 @@ int pn_vfill_atoms(pn_atoms_t *atoms, co
const char *pos = fmt;
pn_atoms_t copy = *atoms;
int count = 0;
+ va_list cp;
+ va_copy(cp, ap);
while (*pos) {
- int err = pn_vfill_one(©, &pos, ap, false, &count);
- if (err) return err;
+ int err = pn_vfill_one(©, &pos, &cp, false, &count);
+ if (err) {
+ va_end(cp);
+ return err;
+ }
}
+ va_end(cp);
+
atoms->size -= copy.size;
return 0;
}
@@ -1224,7 +1231,7 @@ int pn_skip(pn_atoms_t *atoms, size_t n)
return 0;
}
-int pn_scan_one(pn_atoms_t *atoms, const char **fmt, va_list ap, bool *scanned)
+int pn_scan_one(pn_atoms_t *atoms, const char **fmt, va_list *ap, bool *scanned)
{
char code = **fmt;
pn_atom_t *atom = atoms ? atoms->start : NULL;
@@ -1243,7 +1250,7 @@ int pn_scan_one(pn_atoms_t *atoms, const
return 0;
case 'o':
{
- bool *value = va_arg(ap, bool *);
+ bool *value = va_arg(*ap, bool *);
if (atom && atom->type == PN_BOOL) {
*value = atom->u.as_bool;
*scanned = true;
@@ -1256,7 +1263,7 @@ int pn_scan_one(pn_atoms_t *atoms, const
return 0;
case 'B':
{
- uint8_t *value = va_arg(ap, uint8_t *);
+ uint8_t *value = va_arg(*ap, uint8_t *);
if (atom && atom->type == PN_UBYTE) {
*value = atom->u.as_ubyte;
*scanned = true;
@@ -1269,7 +1276,7 @@ int pn_scan_one(pn_atoms_t *atoms, const
return 0;
case 'b':
{
- int8_t *value = va_arg(ap, int8_t *);
+ int8_t *value = va_arg(*ap, int8_t *);
if (atom && atom->type == PN_BYTE) {
*value = atom->u.as_byte;
*scanned = true;
@@ -1282,7 +1289,7 @@ int pn_scan_one(pn_atoms_t *atoms, const
return 0;
case 'H':
{
- uint16_t *value = va_arg(ap, uint16_t *);
+ uint16_t *value = va_arg(*ap, uint16_t *);
if (atom && atom->type == PN_USHORT) {
*value = atom->u.as_ushort;
*scanned = true;
@@ -1295,7 +1302,7 @@ int pn_scan_one(pn_atoms_t *atoms, const
return 0;
case 'h':
{
- int16_t *value = va_arg(ap, int16_t *);
+ int16_t *value = va_arg(*ap, int16_t *);
if (atom && atom->type == PN_SHORT) {
*value = atom->u.as_short;
*scanned = true;
@@ -1308,7 +1315,7 @@ int pn_scan_one(pn_atoms_t *atoms, const
return 0;
case 'I':
{
- uint32_t *value = va_arg(ap, uint32_t *);
+ uint32_t *value = va_arg(*ap, uint32_t *);
if (atom && atom->type == PN_UINT) {
*value = atom->u.as_uint;
*scanned = true;
@@ -1321,7 +1328,7 @@ int pn_scan_one(pn_atoms_t *atoms, const
return 0;
case 'i':
{
- int32_t *value = va_arg(ap, int32_t *);
+ int32_t *value = va_arg(*ap, int32_t *);
if (atom && atom->type == PN_INT) {
*value = atom->u.as_int;
*scanned = true;
@@ -1334,7 +1341,7 @@ int pn_scan_one(pn_atoms_t *atoms, const
return 0;
case 'L':
{
- uint64_t *value = va_arg(ap, uint64_t *);
+ uint64_t *value = va_arg(*ap, uint64_t *);
if (atom && atom->type == PN_ULONG) {
*value = atom->u.as_ulong;
*scanned = true;
@@ -1347,7 +1354,7 @@ int pn_scan_one(pn_atoms_t *atoms, const
return 0;
case 'l':
{
- int64_t *value = va_arg(ap, int64_t *);
+ int64_t *value = va_arg(*ap, int64_t *);
if (atom && atom->type == PN_LONG) {
*value = atom->u.as_long;
*scanned = true;
@@ -1360,7 +1367,7 @@ int pn_scan_one(pn_atoms_t *atoms, const
return 0;
case 'f':
{
- float *value = va_arg(ap, float *);
+ float *value = va_arg(*ap, float *);
if (atom && atom->type == PN_FLOAT) {
*value = atom->u.as_float;
*scanned = true;
@@ -1373,7 +1380,7 @@ int pn_scan_one(pn_atoms_t *atoms, const
return 0;
case 'd':
{
- double *value = va_arg(ap, double *);
+ double *value = va_arg(*ap, double *);
if (atom && atom->type == PN_DOUBLE) {
*value = atom->u.as_double;
*scanned = true;
@@ -1386,7 +1393,7 @@ int pn_scan_one(pn_atoms_t *atoms, const
return 0;
case 'z':
{
- pn_bytes_t *bytes = va_arg(ap, pn_bytes_t *);
+ pn_bytes_t *bytes = va_arg(*ap, pn_bytes_t *);
if (atom && atom->type == PN_BINARY) {
*bytes = atom->u.as_binary;
*scanned = true;
@@ -1399,7 +1406,7 @@ int pn_scan_one(pn_atoms_t *atoms, const
return 0;
case 'S':
{
- pn_bytes_t *bytes = va_arg(ap, pn_bytes_t *);
+ pn_bytes_t *bytes = va_arg(*ap, pn_bytes_t *);
if (atom && atom->type == PN_STRING) {
*bytes = atom->u.as_string;
*scanned = true;
@@ -1412,7 +1419,7 @@ int pn_scan_one(pn_atoms_t *atoms, const
return 0;
case 's':
{
- pn_bytes_t *bytes = va_arg(ap, pn_bytes_t *);
+ pn_bytes_t *bytes = va_arg(*ap, pn_bytes_t *);
if (atom && atom->type == PN_SYMBOL) {
*bytes = atom->u.as_symbol;
*scanned = true;
@@ -1450,7 +1457,7 @@ int pn_scan_one(pn_atoms_t *atoms, const
return 0;
case 'T':
if (atom && atom->type == PN_TYPE) {
- pn_type_t *type = va_arg(ap, pn_type_t *);
+ pn_type_t *type = va_arg(*ap, pn_type_t *);
*type = atom->u.type;
*scanned = true;
} else {
@@ -1577,7 +1584,7 @@ int pn_scan_one(pn_atoms_t *atoms, const
fprintf(stderr, "codes must follow ?\n");
return PN_ARG_ERR;
}
- bool *sc = va_arg(ap, bool *);
+ bool *sc = va_arg(*ap, bool *);
err = pn_scan_one(atoms, fmt, ap, sc);
if (err) return err;
*scanned = true;
@@ -1603,12 +1610,19 @@ int pn_vscan_atoms(const pn_atoms_t *ato
pn_atoms_t copy = *atoms;
const char *pos = fmt;
bool scanned;
+ va_list cp;
+ va_copy(cp, ap);
while (*pos) {
- int err = pn_scan_one(©, &pos, ap, &scanned);
- if (err) return err;
+ int err = pn_scan_one(©, &pos, &cp, &scanned);
+ if (err) {
+ va_end(cp);
+ return err;
+ }
}
+ va_end(cp);
+
return 0;
}
Modified: qpid/proton/branches/driver_abstraction/proton-c/src/sasl/sasl.c
URL: http://svn.apache.org/viewvc/qpid/proton/branches/driver_abstraction/proton-c/src/sasl/sasl.c?rev=1368123&r1=1368122&r2=1368123&view=diff
==============================================================================
--- qpid/proton/branches/driver_abstraction/proton-c/src/sasl/sasl.c (original)
+++ qpid/proton/branches/driver_abstraction/proton-c/src/sasl/sasl.c Wed Aug 1 16:57:28 2012
@@ -57,7 +57,6 @@ pn_sasl_t *pn_sasl()
{
pn_sasl_t *sasl = malloc(sizeof(pn_sasl_t));
sasl->disp = pn_dispatcher(1, sasl);
- sasl->disp->batch = false;
pn_dispatcher_action(sasl->disp, SASL_INIT, "SASL-INIT", pn_do_init);
pn_dispatcher_action(sasl->disp, SASL_MECHANISMS, "SASL-MECHANISMS", pn_do_mechanisms);
@@ -272,6 +271,13 @@ void pn_sasl_process(pn_sasl_t *sasl)
if (!sasl->client && sasl->outcome != PN_SASL_NONE && !sasl->sent_done) {
pn_server_done(sasl);
sasl->sent_done = true;
+ }
+
+ // XXX: need to finish this check when challenge/response is complete
+ // check for client is outome is received
+ // check for server is that there are no pending frames (either init
+ // or challenges) from client
+ if (!sasl->client && sasl->sent_done && sasl->rcvd_init) {
sasl->rcvd_done = true;
sasl->disp->halt = true;
}
@@ -282,6 +288,8 @@ ssize_t pn_sasl_input(pn_sasl_t *sasl, c
ssize_t n = pn_dispatcher_input(sasl->disp, bytes, available);
if (n < 0) return n;
+ pn_sasl_process(sasl);
+
if (sasl->rcvd_done) {
if (pn_sasl_state(sasl) == PN_SASL_PASS) {
if (n) {
Modified: qpid/proton/branches/driver_abstraction/tests/proton_tests/__init__.py
URL: http://svn.apache.org/viewvc/qpid/proton/branches/driver_abstraction/tests/proton_tests/__init__.py?rev=1368123&r1=1368122&r2=1368123&view=diff
==============================================================================
--- qpid/proton/branches/driver_abstraction/tests/proton_tests/__init__.py (original)
+++ qpid/proton/branches/driver_abstraction/tests/proton_tests/__init__.py Wed Aug 1 16:57:28 2012
@@ -20,3 +20,4 @@
import proton_tests.engine
import proton_tests.message
import proton_tests.messenger
+import proton_tests.sasl
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org