[jira] [Created] (QPID-3353) Windows-specific file is missing from 0.12 beta cpp source kit
Windows-specific file is missing from 0.12 beta cpp source kit -- Key: QPID-3353 URL: https://issues.apache.org/jira/browse/QPID-3353 Project: Qpid Issue Type: Bug Components: Packaging Affects Versions: 0.11 Environment: Windows Reporter: Chuck Rolke Fix For: 0.12 Changes made in QPID-2905 http://svn.apache.org/viewvc?rev=1104662&view=rev add a file that is not packaged in the source kit. Checkin 1143995 http://svn.apache.org/viewvc?view=revision&revision=1143995 adds the file by name to Makefile.am so that it is packaged in the cpp source kit. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira - Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:dev-subscr...@qpid.apache.org
[jira] [Updated] (QPID-2643) trunk build failed under VS10 x64.
[ https://issues.apache.org/jira/browse/QPID-2643?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Chuck Rolke updated QPID-2643: -- Attachment: Patch-2010-02.patch The attached patch file got qpid trunk to compile in VS2010. Thanks to Andrew Stitcher for helping this effort. Highlights are: 1. Modify shell script to force MSVC10 as CMake generator. 2. The List.h patch previous in this jira. 3. Add a qualifier for int8_t. 4. CMake changes for MSVC10 5. Sprinkle explicit boost:: to disambiguate between boost and std. In addition, we had to *remove* the "#define _WIN32_WINNT 0x0501" for project msclfs_store. This removal is not effected by the patch. If anyone has a comment on what is a good strategy for _WIN32_WINNT settings across the board, please speak up. Regards, Chuck > trunk build failed under VS10 x64. > --- > > Key: QPID-2643 > URL: https://issues.apache.org/jira/browse/QPID-2643 > Project: Qpid > Issue Type: Bug > Components: C++ Broker >Affects Versions: 0.7 > Environment: visual studio 2010 c++ express >Reporter: Jinius >Assignee: Chuck Rolke >Priority: Minor > Labels: vs10, win64 > Fix For: Future > > Attachments: Patch-2010-02.patch > > > nmake compile failed at > C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\iterator(142) > : error C2039: 'value_type' : is not a memb > er of 'qpid::framing::List' > C:\A.svn_qpid\cpp\include\qpid/framing/List.h(40) : see declaration > of 'qpid::framing::List' > C:\A.svn_qpid\cpp\src\qpid\amqp_0_10\Codecs.cpp(51) : see reference > to class template instantiation 'std::insert > _iterator<_Container>' being compiled > with > [ > _Container=qpid::framing::List > ] > C:\svn_qpid\cpp\src\qpid\amqp_0_10\Codecs.cpp(83) : see reference to > function template instantiation 'void qpi > d::amqp_0_10::convert(__cdecl > *)(const qpid::types:: > Variant &)>(const std::list<_Ty> &,U &,F)' being compiled > with > [ > T=qpid::framing::FieldValue, > _Ty=qpid::types::Variant, > U=qpid::framing::List, > F=boost::shared_ptr (__cdecl *)(const > qpid::types::Variant &) > ] > C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\iterator(149) > : error C2182: '_Val' : illegal use of type > 'void' > C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\iterator(156) > : error C2182: '_Val' : illegal use of type > 'void' > NMAKE : fatal error U1077: 'C:\PROGRA~2\MICROS~1.0\VC\bin\cl.exe' : return > code '0x2' > Stop. > NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio > 10.0\VC\BIN\nmake.exe"' : return code '0x2' > Stop. > NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio > 10.0\VC\BIN\nmake.exe"' : return code '0x2' -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira - Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:dev-subscr...@qpid.apache.org
[jira] [Updated] (QPID-2643) trunk build failed under VS10 x64.
[ https://issues.apache.org/jira/browse/QPID-2643?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Chuck Rolke updated QPID-2643: -- Attachment: QPID-2643-VS2010-01.patch The attached patch is under review at https://reviews.apache.org/r/1291/ and is a general solution for VS2010, x64 and x86. > trunk build failed under VS10 x64. > --- > > Key: QPID-2643 > URL: https://issues.apache.org/jira/browse/QPID-2643 > Project: Qpid > Issue Type: Bug > Components: C++ Broker >Affects Versions: 0.7 > Environment: visual studio 2010 c++ express >Reporter: Jinius >Assignee: Chuck Rolke >Priority: Minor > Labels: vs10, win64 > Fix For: Future > > Attachments: Patch-2010-02.patch, QPID-2643-VS2010-01.patch > > > nmake compile failed at > C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\iterator(142) > : error C2039: 'value_type' : is not a memb > er of 'qpid::framing::List' > C:\A.svn_qpid\cpp\include\qpid/framing/List.h(40) : see declaration > of 'qpid::framing::List' > C:\A.svn_qpid\cpp\src\qpid\amqp_0_10\Codecs.cpp(51) : see reference > to class template instantiation 'std::insert > _iterator<_Container>' being compiled > with > [ > _Container=qpid::framing::List > ] > C:\svn_qpid\cpp\src\qpid\amqp_0_10\Codecs.cpp(83) : see reference to > function template instantiation 'void qpi > d::amqp_0_10::convert(__cdecl > *)(const qpid::types:: > Variant &)>(const std::list<_Ty> &,U &,F)' being compiled > with > [ > T=qpid::framing::FieldValue, > _Ty=qpid::types::Variant, > U=qpid::framing::List, > F=boost::shared_ptr (__cdecl *)(const > qpid::types::Variant &) > ] > C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\iterator(149) > : error C2182: '_Val' : illegal use of type > 'void' > C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\iterator(156) > : error C2182: '_Val' : illegal use of type > 'void' > NMAKE : fatal error U1077: 'C:\PROGRA~2\MICROS~1.0\VC\bin\cl.exe' : return > code '0x2' > Stop. > NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio > 10.0\VC\BIN\nmake.exe"' : return code '0x2' > Stop. > NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio > 10.0\VC\BIN\nmake.exe"' : return code '0x2' -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira - Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:dev-subscr...@qpid.apache.org
[jira] [Commented] (QPID-2643) trunk build failed under VS10 x64.
[ https://issues.apache.org/jira/browse/QPID-2643?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13094801#comment-13094801 ] Chuck Rolke commented on QPID-2643: --- My recent checking, while important for VS2010, is not complete. I have several more items to go into the code base to support the /cpp directory tree. Thoughts? -Chuck 1. Visual Studio solution (.sln) files checked in to the qpid repo. These are problematic in that they have an implicit Visual Studio version associated with them. The automated 'devenv /upgrade' gets tripped up for various reasons and it isn't straightforward getting up to VS2010 from a fresh checkout. I propose to change/fix the .sln files as follows: 1A. Don't touch the \wcf area. T:\wcf\QpidWcf.sln T:\wcf\samples\Channel\WCFToWCFDirect\WCFToWCFDirect.sln T:\wcf\samples\Channel\WCFToWCFPubSub\WCFToWCFPubSub.sln T:\wcf\samples\Integration\Integration.sln T:\wcf\tools\QCreate\QCreate.sln 1B. Don't touch old-examples. T:\cpp\examples\old_api\old-examples.sln 1C. Separate examples\examples.sln and the VS2008 projects that go with them from the source directory into a compiler-specific directory. Existing files: T:\cpp\examples\examples.sln T:\cpp\examples\messaging\messaging_client.vcproj T:\cpp\examples\messaging\messaging_drain.vcproj T:\cpp\examples\messaging\messaging_map_receiver.vcproj T:\cpp\examples\messaging\messaging_map_sender.vcproj T:\cpp\examples\messaging\messaging_server.vcproj T:\cpp\examples\messaging\messaging_spout.vcproj T:\cpp\examples\qmf-agent\qmf_agent.vcproj T:\cpp\examples\qmf-console\qmf-console_console.vcproj T:\cpp\examples\qmf-console\qmf-console_ping.vcproj T:\cpp\examples\qmf-console\qmf-console_printevents.vcproj T:\cpp\examples\qmf-console\qmf-console_queuestats.vcproj Will become (See note 1): T:\cpp\examples\msvc90\examples.sln T:\cpp\examples\msvc90\messaging\messaging_client.vcproj T:\cpp\examples\msvc90\messaging\messaging_drain.vcproj T:\cpp\examples\msvc90\messaging\messaging_map_receiver.vcproj T:\cpp\examples\msvc90\messaging\messaging_map_sender.vcproj T:\cpp\examples\msvc90\messaging\messaging_server.vcproj T:\cpp\examples\msvc90\messaging\messaging_spout.vcproj T:\cpp\examples\msvc90\qmf-agent\qmf_agent.vcproj T:\cpp\examples\msvc90\qmf-console\qmf-console_console.vcproj T:\cpp\examples\msvc90\qmf-console\qmf-console_ping.vcproj T:\cpp\examples\msvc90\qmf-console\qmf-console_printevents.vcproj T:\cpp\examples\msvc90\qmf-console\qmf-console_queuestats.vcproj New files for Visual Studio 2010 will be added: T:\cpp\examples\msvc100\examples.sln T:\cpp\examples\msvc100\messaging\messaging_client.vcxproj T:\cpp\examples\msvc100\messaging\messaging_drain.vcxproj T:\cpp\examples\msvc100\messaging\messaging_map_receiver.vcxproj T:\cpp\examples\msvc100\messaging\messaging_map_sender.vcxproj T:\cpp\examples\msvc100\messaging\messaging_server.vcxproj T:\cpp\examples\msvc100\messaging\messaging_spout.vcxproj T:\cpp\examples\msvc100\qmf-agent\qmf_agent.vcxproj T:\cpp\examples\msvc100\qmf-console\qmf-console_console.vcxproj T:\cpp\examples\msvc100\qmf-console\qmf-console_ping.vcxproj T:\cpp\examples\msvc100\qmf-console\qmf-console_printevents.vcxproj T:\cpp\examples\msvc100\qmf-console\qmf-console_queuestats.vcxproj The source files for the various projects stay where they are and are shared by VS2008 and VS2010. All the build artifacts stay in the directory tree that holds the solution file, allowing a user to compile both variants in the same checkout tree. 1D. Separate the .NET Binding .sln files (and projects) into compiler specific directories. T:\cpp\bindings\qpid\dotnet\org.apache.qpid.messaging.sessionreceiver.sln T:\cpp\bindings\qpid\dotnet\org.apache.qpid.messaging.sln T:\cpp\bindings\qpid\dotnet\winsdk_sources\winsdk_dotnet_examples.sln This is the same logic as for the examples solution. 2. Repair the examples\messaging_XXX.vcproj project files to use private work areas for each project. For example, the drain/spout projects use: Win32|Debug : IntermediateDirectory="$(ConfigurationName)" Win32|Release : IntermediateDirectory="$(ConfigurationName)" x64|Debug : IntermediateDirectory="$(PlatformName)\$(ConfigurationName)\$(ProjectName)" x64|Release : IntermediateDirectory="$(PlatformName)\$(ConfigurationName)\$(ProjectName)" When you build the solution on a fast multicore system it fails because Win32 projects step on each other. The proposed fix is to make all the builds look like the x64 variant. 3. cpp/src/CMakeLists.txt Boost version. Boost compiles with VS2010 after 1.45 or so. I propose adding MSVC Boost_ADDITIONAL_VERSIONS: if (MSVC) # Visual Studio 2010 requires boost 1.45 or better set (Boost_ADDITIONAL_VERSIONS "1.45" "1.45.0" "1.46" "1.46.0" "1.47" "1.47.0")
[jira] [Commented] (QPID-2574) Mismatch uint32_t / size_t generates many compile warnings, esp in 64-bit
[ https://issues.apache.org/jira/browse/QPID-2574?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13095592#comment-13095592 ] Chuck Rolke commented on QPID-2574: --- This condition of the source code is a major annoyance for those who compile on 64-bit windows. A single build of qpid produces 874 warnings and makes build logs hard to read. If you are interested in seeing where the issues are please see: http://people.apache.org/~chug/QPID-2574-error-enumeration.txt (sorted and unique for easier reading). With the -pedantic nature of the compile switch set I think a great addition would be -Wconversion. Then gcc builds would get the same errors as windows builds. Failing that, I propose adding "/wd4267" in CMakeLists.txt to suppress the warnings in windows builds. Then one day when the warnings are actually fixed we can remove warning switch in windows and add the warning switch in gcc. > Mismatch uint32_t / size_t generates many compile warnings, esp in 64-bit > - > > Key: QPID-2574 > URL: https://issues.apache.org/jira/browse/QPID-2574 > Project: Qpid > Issue Type: Bug > Components: C++ Broker, C++ Client, Code Generator >Affects Versions: 0.6 >Reporter: Steve Huston >Priority: Minor > > There are many places in the C++ code that mix uint32_t, usually in the form > of an encoding or Buffer size, with size_t, usually the result of a size() > call to a string or some other container. In a Windows 64-bit build this > produces a warning for each occurrence similar to: > 3>C:\ace\exported\qpid\trunk\qpid\cpp\src\qpid/broker/Exchange.h(122) : > warning C4267: 'return' : conversion from 'size_t' to 'uint32_t', possible > loss of data > This type of code is present in both hand-written and generated code, which > is why I included the Code generator in the Components. > Some can be removed with a cast - for example, the Uuid::encodedSize method > isn't going to return a value greater than 2^32-1, so it can be safely cast > away. But the problem should be dealt with more cleanly, I think. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira - Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:dev-subscr...@qpid.apache.org
[jira] [Created] (QPID-3478) Windows Visual Studio 2010 warning C4251 'needs to have dll interface' qpid::amqp_0_10::MapCodec::contentType
Windows Visual Studio 2010 warning C4251 'needs to have dll interface' qpid::amqp_0_10::MapCodec::contentType - Key: QPID-3478 URL: https://issues.apache.org/jira/browse/QPID-3478 Project: Qpid Issue Type: Bug Components: C++ Broker, C++ Client Affects Versions: 0.12 Environment: Windows builds using Visual Studio 2010 Reporter: Chuck Rolke Fix For: Future File cpp/include/qpid/amqp_0_10/Codecs.h has code to the effect of: class QPID_COMMON_EXTERN MapCodec { public: static const std::string contentType; private: }; VS2010 warns that exporting a std::string from a DLL may have unexpected consequences. One possible solution is from http://www.eggheadcafe.com/software/aspnet/30952961/a-solution-to-warning-c4251--class-needs-to-have-dllinterface.aspx 2. You can define a wrapper class that has no inline functions and defines all the potentially compiler-generated functions (default ctor, copy ctor, dtor, and assignment operator) and dllexport that. Other discussion of this issue: http://stackoverflow.com/questions/2132747/warning-c4251-when-building-a-dll-that-exports-a-class-containing-an-atlcstring -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira - Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:dev-subscr...@qpid.apache.org
[jira] [Commented] (QPID-3478) Windows Visual Studio 2010 warning C4251 'needs to have dll interface' qpid::amqp_0_10::MapCodec::contentType
[ https://issues.apache.org/jira/browse/QPID-3478?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13100643#comment-13100643 ] Chuck Rolke commented on QPID-3478: --- The actual error message is: {code} 7>D:\Users\crolke\svn\qpid-vs2010\qpid\cpp\include\qpid/amqp_0_10/Codecs.h(44): warning C4251: 'qpid::amqp_0_10::MapCodec::contentType' : class 'std::basic_string<_Elem,_Traits,_Ax>' needs to have dll-interface to be used by clients of class 'qpid::amqp_0_10::MapCodec' 7> with 7> [ 7> _Elem=char, 7> _Traits=std::char_traits, 7> _Ax=std::allocator 7> ] {code} > Windows Visual Studio 2010 warning C4251 'needs to have dll interface' > qpid::amqp_0_10::MapCodec::contentType > - > > Key: QPID-3478 > URL: https://issues.apache.org/jira/browse/QPID-3478 > Project: Qpid > Issue Type: Bug > Components: C++ Broker, C++ Client >Affects Versions: 0.12 > Environment: Windows builds using Visual Studio 2010 >Reporter: Chuck Rolke > Fix For: Future > > > File cpp/include/qpid/amqp_0_10/Codecs.h has code to the effect of: > class QPID_COMMON_EXTERN MapCodec > { > public: > static const std::string contentType; > private: > }; > VS2010 warns that exporting a std::string from a DLL may have unexpected > consequences. > One possible solution is from > http://www.eggheadcafe.com/software/aspnet/30952961/a-solution-to-warning-c4251--class-needs-to-have-dllinterface.aspx > 2. You can define a wrapper class that has no inline functions and defines > all the potentially compiler-generated functions (default ctor, copy ctor, > dtor, and assignment operator) and dllexport that. > Other discussion of this issue: > http://stackoverflow.com/questions/2132747/warning-c4251-when-building-a-dll-that-exports-a-class-containing-an-atlcstring -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira - Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:dev-subscr...@qpid.apache.org
[jira] [Assigned] (QPID-3478) Windows Visual Studio 2010 warning C4251 'needs to have dll interface' qpid::amqp_0_10::MapCodec::contentType
[ https://issues.apache.org/jira/browse/QPID-3478?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Chuck Rolke reassigned QPID-3478: - Assignee: Chuck Rolke > Windows Visual Studio 2010 warning C4251 'needs to have dll interface' > qpid::amqp_0_10::MapCodec::contentType > - > > Key: QPID-3478 > URL: https://issues.apache.org/jira/browse/QPID-3478 > Project: Qpid > Issue Type: Bug > Components: C++ Broker, C++ Client >Affects Versions: 0.12 > Environment: Windows builds using Visual Studio 2010 >Reporter: Chuck Rolke >Assignee: Chuck Rolke > Fix For: Future > > > File cpp/include/qpid/amqp_0_10/Codecs.h has code to the effect of: > class QPID_COMMON_EXTERN MapCodec > { > public: > static const std::string contentType; > private: > }; > VS2010 warns that exporting a std::string from a DLL may have unexpected > consequences. > One possible solution is from > http://www.eggheadcafe.com/software/aspnet/30952961/a-solution-to-warning-c4251--class-needs-to-have-dllinterface.aspx > 2. You can define a wrapper class that has no inline functions and defines > all the potentially compiler-generated functions (default ctor, copy ctor, > dtor, and assignment operator) and dllexport that. > Other discussion of this issue: > http://stackoverflow.com/questions/2132747/warning-c4251-when-building-a-dll-that-exports-a-class-containing-an-atlcstring -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira - Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:dev-subscr...@qpid.apache.org
[jira] [Updated] (QPID-3478) Windows Visual Studio 2010 warning C4251 'needs to have dll interface' qpid::amqp_0_10::MapCodec::contentType
[ https://issues.apache.org/jira/browse/QPID-3478?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Chuck Rolke updated QPID-3478: -- Attachment: QPID-3478.patch The fix apparently is to apply the export declarations to individual class members and not to the class in general. After some more testing I'll commit this patch. > Windows Visual Studio 2010 warning C4251 'needs to have dll interface' > qpid::amqp_0_10::MapCodec::contentType > - > > Key: QPID-3478 > URL: https://issues.apache.org/jira/browse/QPID-3478 > Project: Qpid > Issue Type: Bug > Components: C++ Broker, C++ Client >Affects Versions: 0.12 > Environment: Windows builds using Visual Studio 2010 >Reporter: Chuck Rolke >Assignee: Chuck Rolke > Fix For: Future > > Attachments: QPID-3478.patch > > > File cpp/include/qpid/amqp_0_10/Codecs.h has code to the effect of: > class QPID_COMMON_EXTERN MapCodec > { > public: > static const std::string contentType; > private: > }; > VS2010 warns that exporting a std::string from a DLL may have unexpected > consequences. > One possible solution is from > http://www.eggheadcafe.com/software/aspnet/30952961/a-solution-to-warning-c4251--class-needs-to-have-dllinterface.aspx > 2. You can define a wrapper class that has no inline functions and defines > all the potentially compiler-generated functions (default ctor, copy ctor, > dtor, and assignment operator) and dllexport that. > Other discussion of this issue: > http://stackoverflow.com/questions/2132747/warning-c4251-when-building-a-dll-that-exports-a-class-containing-an-atlcstring -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira - Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:dev-subscr...@qpid.apache.org
[jira] [Resolved] (QPID-3918) Add management acl-query test methods to C++ broker ACL plugin
[ https://issues.apache.org/jira/browse/QPID-3918?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Chuck Rolke resolved QPID-3918. --- Resolution: Fixed Fix Version/s: 0.17 > Add management acl-query test methods to C++ broker ACL plugin > -- > > Key: QPID-3918 > URL: https://issues.apache.org/jira/browse/QPID-3918 > Project: Qpid > Issue Type: New Feature > Components: C++ Broker >Affects Versions: 0.14 >Reporter: Chuck Rolke >Assignee: Chuck Rolke > Fix For: 0.17 > > Attachments: acl-test-01-brokerlog.txt, acl-test-01-rules.acl, > acl-test-01.log, acl-test-01.py > > > In its current form the ACL module is not testable in a customer deployment. > The ACL module loads the ACL file and from then on only real-world activity > triggers allow and deny decisions. > This feature proposal adds two management methods that are directly tied to > the ACL decision Lookup functions. Using them a customer may start a dummy > broker process that uses his actual (1) ACL rule file. Then using a > management application the customer may fire off a set of lookups against his > rule file to see if the ACL rules deliver the intended results. > This feature could also be used to augment the self tests. It is very hard to > stage enough driver code to trigger some of the ACL queries. Using the > proposed methods then the self test can launch any ACL query directly. > (1) As usual the ACL file must be bent enough to allow 'anonymous' to have > access to the management methods -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Closed] (QPID-3918) Add management acl-query test methods to C++ broker ACL plugin
[ https://issues.apache.org/jira/browse/QPID-3918?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Chuck Rolke closed QPID-3918. - Fixed in 0.17 > Add management acl-query test methods to C++ broker ACL plugin > -- > > Key: QPID-3918 > URL: https://issues.apache.org/jira/browse/QPID-3918 > Project: Qpid > Issue Type: New Feature > Components: C++ Broker >Affects Versions: 0.14 >Reporter: Chuck Rolke >Assignee: Chuck Rolke > Fix For: 0.17 > > Attachments: acl-test-01-brokerlog.txt, acl-test-01-rules.acl, > acl-test-01.log, acl-test-01.py > > > In its current form the ACL module is not testable in a customer deployment. > The ACL module loads the ACL file and from then on only real-world activity > triggers allow and deny decisions. > This feature proposal adds two management methods that are directly tied to > the ACL decision Lookup functions. Using them a customer may start a dummy > broker process that uses his actual (1) ACL rule file. Then using a > management application the customer may fire off a set of lookups against his > rule file to see if the ACL rules deliver the intended results. > This feature could also be used to augment the self tests. It is very hard to > stage enough driver code to trigger some of the ACL queries. Using the > proposed methods then the self test can launch any ACL query directly. > (1) As usual the ACL file must be bent enough to allow 'anonymous' to have > access to the management methods -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Assigned] (QPID-2393) Qpid C++ broker: request for feature to limit number of queues per user
[ https://issues.apache.org/jira/browse/QPID-2393?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Chuck Rolke reassigned QPID-2393: - Assignee: Chuck Rolke > Qpid C++ broker: request for feature to limit number of queues per user > --- > > Key: QPID-2393 > URL: https://issues.apache.org/jira/browse/QPID-2393 > Project: Qpid > Issue Type: Improvement > Components: C++ Broker > Environment: Red Hat Enterprise MRG 1.2 >Reporter: Armin Noll >Assignee: Chuck Rolke > > With issue QPID-2108 (Red Hat service request #1950278) a new feature has > been introduced which allows to control via ACL the size of queues and their > limit policy on user level. > The original request contained also the requirement to gain control over the > number of queues a user may create. > ACL should be enhanced to allow specifying a maximum number of queues for a > single user. > Altogether these features shall enable the operator of a Qpid broker to keep > better control over the resources. > We will prepare a draft implementation and provide it asap. > This request has also been reported as Red Hat service request #1992776. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Created] (QPID-3981) Windows C++ Broker fails ACL self tests
Chuck Rolke created QPID-3981: - Summary: Windows C++ Broker fails ACL self tests Key: QPID-3981 URL: https://issues.apache.org/jira/browse/QPID-3981 Project: Qpid Issue Type: Bug Components: C++ Broker Affects Versions: 0.16 Environment: Windows Reporter: Chuck Rolke Window powershell/python fail many ACL tests apparently because the UserId presented to ACL for lookup does not include the "@QPID" domain. On Linux the log is 2012-05-04 16:36:46 debug ACL: Lookup for id:bob@QPID action:bind objectType:exchange name:amq.direct with params { routingkey=routing_key queuename=allow_queue } 2012-05-04 16:36:46 debug ACL: checking rule [rule 1 ruleMode = deny props{ }] 2012-05-04 16:36:46 debug ACL: Successful match, the decision is:deny On Windows the log is: 2012-05-04 16:20:00 debug ACL: Lookup for id:bob action:bind objectType:exchange name:amq.direct with params { routingkey=routing_key queuename=allow_queue } 2012-05-04 16:20:00 debug ACL: No successful match, defaulting to the decision mode allow Is there a trick for getting the self to work? -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] Created: (QPID-2505) WCF project needs to encode/decode all AMQP data types
WCF project needs to encode/decode all AMQP data types -- Key: QPID-2505 URL: https://issues.apache.org/jira/browse/QPID-2505 Project: Qpid Issue Type: Improvement Components: WCF/C++ Client Environment: Windows Server 2008 Reporter: Chuck Rolke Fix For: 0.7 Currently the WCF Interop project encodes/decodes only string and int data types. The project needs to do all the AMQP data types. * In directory wcf/src/apache/qpid/interop source files InputLink.cpp and OutputLink.cpp have convenient TODO: markers exposing where the encoder/decoder code might go. * The dotnet project seems to have what might be needed in client/transport/codec/*. The effort would be to move the code from dotnet into wcf/interop. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: https://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira - Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:dev-subscr...@qpid.apache.org
[jira] Commented: (QPID-2088) any service on windows vista linking with c++ qpid client (common & clinet) and calling CoInitializeEx to use COM fails to start with "Error 1053 ..."
[ https://issues.apache.org/jira/browse/QPID-2088?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12862361#action_12862361 ] Chuck Rolke commented on QPID-2088: --- Is there any evidence in the System event log? There's probably a great clue there. The skeleton service works on Vista without the qpid dlls? Are the qpid DLLs co-located in the same directory as the executable? > any service on windows vista linking with c++ qpid client (common & clinet) > and calling CoInitializeEx to use COM fails to start with "Error 1053 ..." > -- > > Key: QPID-2088 > URL: https://issues.apache.org/jira/browse/QPID-2088 > Project: Qpid > Issue Type: Bug > Components: C++ Client >Affects Versions: 0.5 > Environment: Windows Vista >Reporter: Nicolae Claudius > Original Estimate: 336h > Remaining Estimate: 336h > > Steps that reproduce the problem: > 1. Create an skeleton widows service ( with main() , ServiceMain(int argc, > char** argv) , InitService() , ControlHandler(DWORD request) ) > i used the template here: http://www.devx.com/cplus/Article/9857 > 2. Add to the linker the qpid libs (common.lib and client.lib) in Project -> > Properties -> Linker ( include path and libs ) > 3. Call CoInitializeEx to initialize windows COM with your desired parameters > (any of them for our purpose), anywhere in your program (for example in main > or servicemain) > 4. Register the service with the following console command > sc create your_service_name binPath= > "C:\\path_to_your_compiled_exe\your_service.exe" > 4. Open services.msc from run or console, and start your service (right click > -> start) > *** At this point the service tries to start but after about 2 seconds fails > with the error: > "Error 1053: The service did not respond to the start or control request in a > timeley fashion" > NOTICE > The error is *only* on Windows Vista, on Windows XP works as desired > (Notice that you only have to link the libs not necesarily use qpid > functions, strange...) -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online. - Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:dev-subscr...@qpid.apache.org
[jira] [Created] (QPID-4022) C++ Broker connection limits by host ip and by user name can get confused
Chuck Rolke created QPID-4022: - Summary: C++ Broker connection limits by host ip and by user name can get confused Key: QPID-4022 URL: https://issues.apache.org/jira/browse/QPID-4022 Project: Qpid Issue Type: Bug Components: C++ Broker Affects Versions: 0.16 Reporter: Chuck Rolke Assignee: Chuck Rolke The current ACL module uses the ConnectionObserver to watch the life cycle of connections. It tries to disallow the creation of too many connections by a user or from an IP address. However, the method is uses is flawed especially in the cluster case. A better strategy to use it to provide approvers in the ConnectionObserver scheme and then to call them: 1. Limits by IP address are disapproved in the ConnectionFactories. If the limit is reached then the factory does not create the connection codec and the connection never begins a life cycle. This is enforced at the same point in code as the per-broker --max-connection limit using similar enforcement methods. 2. Limits by user name are disapproved at the same point as user authentication happens. Details to follow. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Assigned] (QPID-4032) Broker does not accept sub-groups in group declaration, contrary to wiki documentation
[ https://issues.apache.org/jira/browse/QPID-4032?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Chuck Rolke reassigned QPID-4032: - Assignee: Chuck Rolke > Broker does not accept sub-groups in group declaration, contrary to wiki > documentation > -- > > Key: QPID-4032 > URL: https://issues.apache.org/jira/browse/QPID-4032 > Project: Qpid > Issue Type: Bug > Components: C++ Broker >Affects Versions: 0.14, 0.16 > Environment: Linux 2.6.32-5-amd64 #1 SMP Thu Mar 22 17:26:33 UTC 2012 > x86_64 GNU/Linux > gcc (Debian 4.4.5-8) 4.4.5 >Reporter: Paul Colby >Assignee: Chuck Rolke > Labels: ACL > Attachments: QPID-4032.diff > > > The ACL wiki page ([https://cwiki.apache.org/qpid/acl.html]) indicates by at > least two examples, that group declarations can contain sub-groups. However, > Qpid 0.16 does not (seem to) allow this. > For example, given the following ACL file (cut down from the example at > [https://cwiki.apache.org/qpid/acl.html#ACL-Examplefile%253A]): > {code} > # Some groups > group user-consume martin@QPID ted@QPID > group group2 kim@QPID user-consume rob@QPID > {code} > Qpid 0.16 gives the following error: > {{ACL format error: /home/paul/.qpidd/qpidd.acl:3: Line : 3, Username > 'user-consume' must contain a realm}} > It appears that the broker is requiring {{user-consume}} to be a qualified > user name such as {{user-consume@QPID}} and not realizing that it is a group > name instead. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Updated] (QPID-3902) Add formal message categories to C++ Broker log messages
[ https://issues.apache.org/jira/browse/QPID-3902?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Chuck Rolke updated QPID-3902: -- Attachment: qpid-log-src-tabbed2.txt > Add formal message categories to C++ Broker log messages > > > Key: QPID-3902 > URL: https://issues.apache.org/jira/browse/QPID-3902 > Project: Qpid > Issue Type: Improvement >Reporter: Chuck Rolke > Attachments: qpid-log-src-tabbed2.txt > > > h3. This is a proposal to add log categories to C++ Broker log messages. > h4. Problem Statement > There are difficulties working with C++ Broker logging when appplying a log > filter criterion. What precise FILTERTEXT can a user specify for: > {noformat} > --log-enable debug+:FILTERTEXT > {noformat} > Even after the fix from QPID-3891 it is not intuitive what to specify for a > FILTERTEXT and any useful filter requires detailed knowledge of the source > code. > h4. Proposal > A log category is a high-level classification of the nature of the logged > event that is not tied to a particular source module or code function name. > This log category would become the target for FILTERTEXT log filters. > The following list is the proposed log category definition. Each log category > name is followed by a list of source code directory names that would > generally produce logs using that log category. > ||Category||Source code directory|| > |Security|acl ssl gssapi sasl cyrus| > |Broker | broker| > |Management| agent console qmf| > |Amqp|amqp_0_10 framing| > |System| log sys types xml thread mutex fork pipe time ...| > |HA| cluster ha replication| > |Messaging| messaging client| > |Store| store| > |IO| tcp rdma AsynchIO socket epoll| > |Test| | > |Unspecified| | > There is no strict rule that a module produce only log entries of a specific > category. > The category would be inserted into each log message after the time of day > but before the message text. > {noformat} > 2012-03-06 16:55:38 [Management] SEND PackageInd > package=org.apache.qpid.broker to=schema.package > {noformat} > A user could then filter log messages by using the category names: > {noformat} > --log-enable debug+:Management > {noformat} > This scheme would have a number of benefits: > 1. On a per-message basis the filter comparisons would be using enumeration > values and not strings. > 2. The feature could be documented sensibly. > 3. Log files would be easier to interpret manually or by event management > systems. > The classifications could be phased in gradually. The current > QPID_LOG(LEVEL, MESSAGE) would produce [Unspecfied] events while the new > QPID_LOG_CAT(LEVEL, CATEGORY, MESSAGE) would produce events using an actual > category. > Similar additions are made for the QPID_MSG entries. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Commented] (QPID-3902) Add formal message categories to C++ Broker log messages
[ https://issues.apache.org/jira/browse/QPID-3902?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13289723#comment-13289723 ] Chuck Rolke commented on QPID-3902: --- I've attached a tab-delimited text file suitable for viewing in a spreadsheet. It shows the "category" as derived from the source file path and name. The categorization appears to be usable as-is but any QPID_LOG message can be adjusted to having any category. Internally the category is derived with a series of awful string compares. But this is done only once for each log entry statement when it is first instantiated. The net result of work in this branch produces calculated categories that make a broker log appear like this: 2012-05-17 16:01:37 [IO] info Listening to: 0.0.0.0:5672 2012-05-17 16:01:37 [IO] debug Listened to: 5672 2012-05-17 16:01:37 [IO] info Listening to: [::]:5672 2012-05-17 16:01:37 [IO] debug Listened to: 5672 2012-05-17 16:01:37 [IO] notice Listening on TCP/TCP6 port 5672 2012-05-17 16:01:37 [Management] debug ManagementAgent added package org.apache.qpid.acl 2012-05-17 16:01:37 [Management] debug SEND PackageInd package=org.apache.qpid.acl to=schema.package 2012-05-17 16:01:37 [Management] debug ManagementAgent added class org.apache.qpid.acl:acl 2012-05-17 16:01:37 [Management] debug ManagementAgent added class org.apache.qpid.acl:allow 2012-05-17 16:01:37 [Management] debug ManagementAgent added class org.apache.qpid.acl:deny 2012-05-17 16:01:37 [Management] debug ManagementAgent added class org.apache.qpid.acl:connectionDeny 2012-05-17 16:01:37 [Management] debug ManagementAgent added class org.apache.qpid.acl:fileLoaded 2012-05-17 16:01:37 [Management] debug ManagementAgent added class org.apache.qpid.acl:fileLoadFailed 2012-05-17 16:01:37 [Management] debug Management object (V1) added: org.apache.qpid.acl:acl:org.apache.qpid.broker:broker:amqp-broker 2012-05-17 16:01:37 [Security] notice ACL: Read file "/home/chug/svn/qpid/cpp/src/tests/policy.acl" 2012-05-17 16:01:37 [Security] debug ACL: Group list: 0 groups found: 2012-05-17 16:01:37 [Security] debug ACL: name list: 1 names found: 2012-05-17 16:01:37 [Security] debug ACL: * 2012-05-17 16:01:37 [Security] debug ACL: Rule list: 1 ACL rules found: 2012-05-17 16:01:37 [Security] debug ACL:1 allow [*] * 2012-05-17 16:01:37 [Security] debug ACL: Load Rules 2012-05-17 16:01:37 [Security] debug ACL: Processing 1 allow [*] * 2012-05-17 16:01:37 [Security] debug ACL: FoundMode allow 2012-05-17 16:01:37 [Management] debug SEND raiseEvent (v1) class=org.apache.qpid.acl.fileLoaded 2012-05-17 16:01:37 [Management] debug SEND raiseEvent (v2) class=org.apache.qpid.acl.fileLoaded 2012-05-17 16:01:37 [Security] info ACL Plugin loaded 2012-05-17 16:01:37 [Broker] notice Broker running 2012-05-17 16:01:42 [IO] debug RECV [[::1]:5672-[::1]:53468]: INIT(0-10) 2012-05-17 16:01:42 [Security] debug SASL: No Authentication Performed 2012-05-17 16:01:42 [Broker] debug LinkRegistry::notifyConnection(); key=[::1]:5672-[::1]:53468 2012-05-17 16:01:42 [Security] trace ACL ConnectionCounter connection IP:[::1]:5672-[::1]:53468, userId: 2012-05-17 16:01:42 [Management] debug Management object (V1) added: org.apache.qpid.broker:connection:[::1]:5672-[::1]:53468 2012-05-17 16:01:42 [Amqp] trace SENT [[::1]:5672-[::1]:53468]: INIT(0-10) 2012-05-17 16:01:42 [Amqp] trace SENT [[::1]:5672-[::1]:53468]: Frame[BEbe; channel=0; {ConnectionStartBody: server-properties={qpid.federation_tag:V2:36:str16(5787d304-441c-4266-9702-11ecc9a521bc)}; mechanisms=str16{V2:9:str16(ANONYMOUS), V2:5:str16(PLAIN)}; locales=str16{V2:5:str16(en_US)}; }] 2012-05-17 16:01:42 [Amqp] trace RECV [[::1]:5672-[::1]:53468]: Frame[BEbe; channel=0; {ConnectionStartOkBody: client-properties={platform:V2:5:str16(posix),product:V2:18:str16(qpid python client),qpid.client_pid:F8:int64(28802),qpid.client_ppid:F8:int64(1994),qpid.client_process:V2:9:str16(qpid-tool),version:V2:11:str16(development)}; mechanism=ANONYMOUS; }] 2012-05-17 16:01:42 [Management] debug SEND raiseEvent (v1) class=org.apache.qpid.broker.clientConnect 2012-05-17 16:01:42 [Management] debug SEND raiseEvent (v2) class=org.apache.qpid.broker.clientConnect 2012-05-17 16:01:42 [Amqp] trace SENT [[::1]:5672-[::1]:53468]: Frame[BEbe; channel=0; {ConnectionTuneBody: channel-max=32767; max-frame-size=65535; heartbeat-min=0; heartbeat-max=120; }] 2012-05-17 16:01:42 [Amqp] trace RECV [[::1]:5672-[::1]:53468]: Frame[BEbe; channel=0; {ConnectionTuneOkBody: }] 2012-05-17 16:01:42 [Amqp] trace RECV [[::1]:5672-[::1]:53468]: Frame[BEbe; channel=0; {ConnectionOpenBody: }] 2012-05-17 16:01:42 [Security] trace ACL ConnectionCounter Opened IP:[::1]:5672-[::1]:53468, userId:anonymous 2012-05-17 16:01:42 [Amqp] trace SENT [[::1]:5672-[::1]:53468]: Frame[BEbe; channel=0; {ConnectionOpenOkBody: known-hosts=str16{V2:49:str16(amqp:tcp:10.16.185.91:5672,tcp:192.1
[jira] [Updated] (QPID-4022) C++ Broker connection limits by host ip and by user name can get confused
[ https://issues.apache.org/jira/browse/QPID-4022?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Chuck Rolke updated QPID-4022: -- Attachment: QPID-4022-conn-limits-rev2-10-with-tests.patch I put the last patch up for review a week ago but reviews are in Maintenance. Here is the proposed patch, including fixes to the self tests. > C++ Broker connection limits by host ip and by user name can get confused > - > > Key: QPID-4022 > URL: https://issues.apache.org/jira/browse/QPID-4022 > Project: Qpid > Issue Type: Bug > Components: C++ Broker >Affects Versions: 0.16 >Reporter: Chuck Rolke >Assignee: Chuck Rolke > Attachments: QPID-4022-conn-limits-rev2-10-with-tests.patch > > > The current ACL module uses the ConnectionObserver to watch the life cycle of > connections. It tries to disallow the creation of too many connections by a > user or from an IP address. However, the method is uses is flawed especially > in the cluster case. > A better strategy to use it to provide approvers in the ConnectionObserver > scheme and then to call them: > 1. Limits by IP address are disapproved in the ConnectionFactories. If the > limit is reached then the factory does not create the connection codec and > the connection never begins a life cycle. This is enforced at the same point > in code as the per-broker --max-connection limit using similar enforcement > methods. > 2. Limits by user name are disapproved at the same point as user > authentication happens. Details to follow. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Created] (QPID-4054) C++ Broker connection limits require better granularity
Chuck Rolke created QPID-4054: - Summary: C++ Broker connection limits require better granularity Key: QPID-4054 URL: https://issues.apache.org/jira/browse/QPID-4054 Project: Qpid Issue Type: Improvement Components: C++ Broker Affects Versions: 0.16 Reporter: Chuck Rolke Assignee: Chuck Rolke A single command line switch sets the connection limit value for all users. Typical customers require different limits for different users. This issue tracks moving the user limit specification to the ACL file. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Resolved] (QPID-4032) Broker does not accept sub-groups in group declaration, contrary to wiki documentation
[ https://issues.apache.org/jira/browse/QPID-4032?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Chuck Rolke resolved QPID-4032. --- Resolution: Fixed Fix Version/s: 0.17 > Broker does not accept sub-groups in group declaration, contrary to wiki > documentation > -- > > Key: QPID-4032 > URL: https://issues.apache.org/jira/browse/QPID-4032 > Project: Qpid > Issue Type: Bug > Components: C++ Broker >Affects Versions: 0.14, 0.16 > Environment: Linux 2.6.32-5-amd64 #1 SMP Thu Mar 22 17:26:33 UTC 2012 > x86_64 GNU/Linux > gcc (Debian 4.4.5-8) 4.4.5 >Reporter: Paul Colby >Assignee: Chuck Rolke > Labels: ACL > Fix For: 0.17 > > Attachments: QPID-4032.diff > > > The ACL wiki page ([https://cwiki.apache.org/qpid/acl.html]) indicates by at > least two examples, that group declarations can contain sub-groups. However, > Qpid 0.16 does not (seem to) allow this. > For example, given the following ACL file (cut down from the example at > [https://cwiki.apache.org/qpid/acl.html#ACL-Examplefile%253A]): > {code} > # Some groups > group user-consume martin@QPID ted@QPID > group group2 kim@QPID user-consume rob@QPID > {code} > Qpid 0.16 gives the following error: > {{ACL format error: /home/paul/.qpidd/qpidd.acl:3: Line : 3, Username > 'user-consume' must contain a realm}} > It appears that the broker is requiring {{user-consume}} to be a qualified > user name such as {{user-consume@QPID}} and not realizing that it is a group > name instead. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Resolved] (QPID-4022) C++ Broker connection limits by host ip and by user name can get confused
[ https://issues.apache.org/jira/browse/QPID-4022?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Chuck Rolke resolved QPID-4022. --- Resolution: Fixed Fix Version/s: 0.17 The connection limit specifications SHOULD be the same for all members of a cluster but this is just to make management and log correlation easier. There is no check for the limits being the same or not. The logic used to allow or deny connections should not fail if the cluster members are configured with different limits. In practice a connection to a node is allowed or denied based on the current number of connections known by this node. The number of current connections includes the local connections made directly to this node and the shadowed connections made to other cluster members. * If a connection is denied due to configured connection limits then none of the other cluster members sees the connection. The connection and its denial are all handled on the local node. *If the connection is allowed then the connection is shadowed to the other cluster members who count the connection against their configured limits. Shadowed and local connections count against all three connection limits: --max-connections, --max-connections-per-user, and max-connections-per-ip. Shadowed connections that cause a node to exceed a configured connection limit only emit a warning log message and allow the connection to persist. Connections are shadowed among cluster members. If node A has three local connections and node B has three local connections then each node has six connections in total. Configured connection limits are applied to new connections being created on the local node. If nodes A and B have different limits then each node will use a different limit when allowing connections to itself. The code in its current state also allows clusters to create more connections than specified on the command line. For instance suppose you have a three node cluster, --max-connections-per-user=4, and user bob is connected three times. Next suppose each cluster member simultaneously receives a new connection from bob. Each cluster member will see three connections from bob and allow the connection. Each shadowed connection propagates to cluster peers and is observed but not denied and bob may now have 6 connections. The rule is that a cluster of M member nodes that specify N connections may have up to (N + M-1) connections. > C++ Broker connection limits by host ip and by user name can get confused > - > > Key: QPID-4022 > URL: https://issues.apache.org/jira/browse/QPID-4022 > Project: Qpid > Issue Type: Bug > Components: C++ Broker >Affects Versions: 0.16 >Reporter: Chuck Rolke >Assignee: Chuck Rolke > Fix For: 0.17 > > Attachments: QPID-4022-conn-limits-rev2-10-with-tests.patch > > > The current ACL module uses the ConnectionObserver to watch the life cycle of > connections. It tries to disallow the creation of too many connections by a > user or from an IP address. However, the method is uses is flawed especially > in the cluster case. > A better strategy to use it to provide approvers in the ConnectionObserver > scheme and then to call them: > 1. Limits by IP address are disapproved in the ConnectionFactories. If the > limit is reached then the factory does not create the connection codec and > the connection never begins a life cycle. This is enforced at the same point > in code as the per-broker --max-connection limit using similar enforcement > methods. > 2. Limits by user name are disapproved at the same point as user > authentication happens. Details to follow. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Resolved] (QPID-3671) WinSDk package is incomplete
[ https://issues.apache.org/jira/browse/QPID-3671?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Chuck Rolke resolved QPID-3671. --- Resolution: Fixed Fix Version/s: 0.17 > WinSDk package is incomplete > > > Key: QPID-3671 > URL: https://issues.apache.org/jira/browse/QPID-3671 > Project: Qpid > Issue Type: Bug > Components: Packaging >Affects Versions: 0.14 > Environment: Windows SDK build >Reporter: Chuck Rolke >Assignee: Chuck Rolke > Fix For: 0.17 > > > 1. WinSDK readme.txt file is outdated. > 2. .NET Binding PDB files are missing. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Resolved] (QPID-3478) Windows Visual Studio 2010 warning C4251 'needs to have dll interface' qpid::amqp_0_10::MapCodec::contentType
[ https://issues.apache.org/jira/browse/QPID-3478?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Chuck Rolke resolved QPID-3478. --- Resolution: Fixed Fix Version/s: (was: Future) 0.17 > Windows Visual Studio 2010 warning C4251 'needs to have dll interface' > qpid::amqp_0_10::MapCodec::contentType > - > > Key: QPID-3478 > URL: https://issues.apache.org/jira/browse/QPID-3478 > Project: Qpid > Issue Type: Bug > Components: C++ Broker, C++ Client >Affects Versions: 0.12 > Environment: Windows builds using Visual Studio 2010 >Reporter: Chuck Rolke >Assignee: Chuck Rolke > Fix For: 0.17 > > Attachments: QPID-3478.patch > > > File cpp/include/qpid/amqp_0_10/Codecs.h has code to the effect of: > class QPID_COMMON_EXTERN MapCodec > { > public: > static const std::string contentType; > private: > }; > VS2010 warns that exporting a std::string from a DLL may have unexpected > consequences. > One possible solution is from > http://www.eggheadcafe.com/software/aspnet/30952961/a-solution-to-warning-c4251--class-needs-to-have-dllinterface.aspx > 2. You can define a wrapper class that has no inline functions and defines > all the potentially compiler-generated functions (default ctor, copy ctor, > dtor, and assignment operator) and dllexport that. > Other discussion of this issue: > http://stackoverflow.com/questions/2132747/warning-c4251-when-building-a-dll-that-exports-a-class-containing-an-atlcstring -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Resolved] (QPID-3902) Add formal message categories to C++ Broker log messages
[ https://issues.apache.org/jira/browse/QPID-3902?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Chuck Rolke resolved QPID-3902. --- Resolution: Fixed Fix Version/s: 0.17 The basic categories are in place. They are calculated based on the path/filename of the source module in which the QPID_LOG resides. Comments on this issue suggest good ideas and further work in this area, particularly sub-categories. > Add formal message categories to C++ Broker log messages > > > Key: QPID-3902 > URL: https://issues.apache.org/jira/browse/QPID-3902 > Project: Qpid > Issue Type: Improvement >Reporter: Chuck Rolke > Fix For: 0.17 > > Attachments: qpid-log-src-tabbed2.txt > > > h3. This is a proposal to add log categories to C++ Broker log messages. > h4. Problem Statement > There are difficulties working with C++ Broker logging when appplying a log > filter criterion. What precise FILTERTEXT can a user specify for: > {noformat} > --log-enable debug+:FILTERTEXT > {noformat} > Even after the fix from QPID-3891 it is not intuitive what to specify for a > FILTERTEXT and any useful filter requires detailed knowledge of the source > code. > h4. Proposal > A log category is a high-level classification of the nature of the logged > event that is not tied to a particular source module or code function name. > This log category would become the target for FILTERTEXT log filters. > The following list is the proposed log category definition. Each log category > name is followed by a list of source code directory names that would > generally produce logs using that log category. > ||Category||Source code directory|| > |Security|acl ssl gssapi sasl cyrus| > |Broker | broker| > |Management| agent console qmf| > |Amqp|amqp_0_10 framing| > |System| log sys types xml thread mutex fork pipe time ...| > |HA| cluster ha replication| > |Messaging| messaging client| > |Store| store| > |IO| tcp rdma AsynchIO socket epoll| > |Test| | > |Unspecified| | > There is no strict rule that a module produce only log entries of a specific > category. > The category would be inserted into each log message after the time of day > but before the message text. > {noformat} > 2012-03-06 16:55:38 [Management] SEND PackageInd > package=org.apache.qpid.broker to=schema.package > {noformat} > A user could then filter log messages by using the category names: > {noformat} > --log-enable debug+:Management > {noformat} > This scheme would have a number of benefits: > 1. On a per-message basis the filter comparisons would be using enumeration > values and not strings. > 2. The feature could be documented sensibly. > 3. Log files would be easier to interpret manually or by event management > systems. > The classifications could be phased in gradually. The current > QPID_LOG(LEVEL, MESSAGE) would produce [Unspecfied] events while the new > QPID_LOG_CAT(LEVEL, CATEGORY, MESSAGE) would produce events using an actual > category. > Similar additions are made for the QPID_MSG entries. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Created] (QPID-4079) C++ Broker needs log messages to track object life cycles for auditing
Chuck Rolke created QPID-4079: - Summary: C++ Broker needs log messages to track object life cycles for auditing Key: QPID-4079 URL: https://issues.apache.org/jira/browse/QPID-4079 Project: Qpid Issue Type: Improvement Components: C++ Broker Affects Versions: 0.16 Reporter: Chuck Rolke The C++ broker logs are unfriendly and incomplete for customers who are hoping to audit system usage. Missing are log artifacts to expose which user created, used, or destroyed which resource. The proposed improvement adds INFO level log statements for the creation, destruction, and major state changes to connection, session, and subscription objects, and to exchange, queue, and binding objects. >From this set of log messages a user could determine what user from what >client system address created a connection, what sessions were created on that >connection, and what subscriptions were created on those sessions. Similarly >the exchange-binding-queue objects would have enough in their log messages to >correlate the interactions between them. The log message for the destruction of an object would contain a record of all the management statistics kept for that object. Then, working through the log records a customer could attribute broker usage back to specific users. This class of log message has been requested by customers using Security Information and Event Management (SIEM) systems to scrape information from broker event logs. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Commented] (QPID-4079) C++ Broker needs log messages to track object life cycles for auditing
[ https://issues.apache.org/jira/browse/QPID-4079?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13399400#comment-13399400 ] Chuck Rolke commented on QPID-4079: --- Here's some progress on this issue. I added a new log category "Configuration" in which to place all of 'wiring life cycle auditing' messages. The log messages are issued in the constructors and destructors (mostly) of the objects in question and are not part of the management object life cycles. However the log messages in the destructors pull the management statistics just before going out of scope. This log is feature-complete for objects connection, session, subscription, and broker. Still to come are queue, exchange, and binding. > ./qpidd --auth no --no-data-dir --log-enable notice+ --log-enable > info+:Configuration 2012-06-22 11:34:39 [Broker] notice SASL disabled: No Authentication Performed 2012-06-22 11:34:39 [Network] notice Listening on TCP/TCP6 port 5672 2012-06-22 11:34:39 [Broker] notice Broker running 2012-06-22 11:34:44 [Configuration] info Connection created. connectionId:[::1]:5672-[::1]:37726 2012-06-22 11:34:44 [Configuration] info Connection userId established. connectionId:[::1]:5672-[::1]:37726 userId:'anonymous' 2012-06-22 11:34:44 [Configuration] info Session created. sessionId:u.21477.1 userId:anonymous connectionId:[::1]:5672-[::1]:37726 2012-06-22 11:34:44 [Configuration] info Subscription created. subscriptionId:anonymous.u.21477.1::rdest queueId:reply-u.21477.1 sessionId:anonymous.u.21477.1 2012-06-22 11:34:44 [Configuration] info Subscription created. subscriptionId:anonymous.u.21477.1::tdest queueId:topic-u.21477.1 sessionId:anonymous.u.21477.1 2012-06-22 11:34:44 [Configuration] info Subscription created. subscriptionId:anonymous.u.21477.1::v2dest queueId:qmfc-v2-u.21477.1 sessionId:anonymous.u.21477.1 2012-06-22 11:34:44 [Configuration] info Subscription created. subscriptionId:anonymous.u.21477.1::v2TopicUI queueId:qmfc-v2-ui-u.21477.1 sessionId:anonymous.u.21477.1 2012-06-22 11:34:44 [Configuration] info Subscription created. subscriptionId:anonymous.u.21477.1::v2TopicHB queueId:qmfc-v2-hb-u.21477.1 sessionId:anonymous.u.21477.1 2012-06-22 11:34:48 [Configuration] info Session closed. sessionId:u.21477.1 Statistics: {TxnCommits:0, TxnCount:0, TxnRejects:0, TxnStarts:0, clientCredit:0, unackedMessages:0} 2012-06-22 11:34:48 [Configuration] info Subscription closed. subscriptionId:anonymous.u.21477.1::v2dest Statistics: {delivered:1} 2012-06-22 11:34:48 [Configuration] info Subscription closed. subscriptionId:anonymous.u.21477.1::v2TopicUI Statistics: {delivered:2} 2012-06-22 11:34:48 [Configuration] info Subscription closed. subscriptionId:anonymous.u.21477.1::v2TopicHB Statistics: {delivered:0} 2012-06-22 11:34:48 [Configuration] info Subscription closed. subscriptionId:anonymous.u.21477.1::tdest Statistics: {delivered:4} 2012-06-22 11:34:48 [Configuration] info Subscription closed. subscriptionId:anonymous.u.21477.1::rdest Statistics: {delivered:60} 2012-06-22 11:34:48 [Configuration] info Connection closed. connectionId:[::1]:5672-[::1]:37726 userId:'anonymous' Statistics: {bytesFromClient:9693, bytesToClient:40696, closing:False, framesFromClient:204, framesToClient:275, msgsFromClient:32, msgsToClient:67} ^C2012-06-22 11:35:20 [Configuration] info Broker shut down. Statistics: {abandoned:0, abandonedViaAlt:0, acquires:67, byteDepth:0, byteFtdDepth:0, byteFtdDequeues:0, byteFtdEnqueues:0, bytePersistDequeues:0, bytePersistEnqueues:0, byteTotalDequeues:31595, byteTotalEnqueues:31595, byteTxnDequeues:0, byteTxnEnqueues:0, discardsLvq:0, discardsNoRoute:73, discardsOverflow:0, discardsPurge:0, discardsRing:0, discardsSubscriber:0, discardsTtl:0, msgDepth:0, msgFtdDepth:0, msgFtdDequeues:0, msgFtdEnqueues:0, msgPersistDequeues:0, msgPersistEnqueues:0, msgTotalDequeues:67, msgTotalEnqueues:67, msgTxnDequeues:0, msgTxnEnqueues:0, queueCount:0, releases:0, reroutes:0, uptime:40002333607} 2012-06-22 11:35:20 [Broker] notice Shut down > C++ Broker needs log messages to track object life cycles for auditing > -- > > Key: QPID-4079 > URL: https://issues.apache.org/jira/browse/QPID-4079 > Project: Qpid > Issue Type: Improvement > Components: C++ Broker >Affects Versions: 0.16 >Reporter: Chuck Rolke > > The C++ broker logs are unfriendly and incomplete for customers who are > hoping to audit system usage. Missing are log artifacts to expose which user > created, used, or destroyed which resource. > The proposed improvement adds INFO level log statements for the creation, > destruction, and major state changes to connection, session, and > subs
[jira] [Created] (QPID-4123) C++ Broker Acl creates too many run-time rules
Chuck Rolke created QPID-4123: - Summary: C++ Broker Acl creates too many run-time rules Key: QPID-4123 URL: https://issues.apache.org/jira/browse/QPID-4123 Project: Qpid Issue Type: Improvement Components: C++ Broker Affects Versions: 0.16 Reporter: Chuck Rolke Assignee: Chuck Rolke Priority: Minor The Acl module creates a table rules in a two dimensional array. The typical reference to this table is: actionList[action][objType]. When an Acl rule from the file is processed and the action or objType is '*' then the rule is propagated into the actionList table at every row or column even when the action/object pair will never be references. For example a rule such as acl allow bob publish * name=X routingkey=a.b.c will put the rule into publish/queue, publish/exchange, publish/broker, etc. even when only publish/exchange will ever be referenced. In AclModule.h a validationMap is created that identifies which intersections in the actionList are ever used but this map is not used. With 5 objects and 9 actions there are 45 actionList entries. Of these only 13 are ever referenced for authorise lookups. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Commented] (QPID-4079) C++ Broker needs log messages to track object life cycles for auditing
[ https://issues.apache.org/jira/browse/QPID-4079?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13410398#comment-13410398 ] Chuck Rolke commented on QPID-4079: --- Before doing another round of cumbersome code reviews I'd like to agree on a top-level design for this feature. I propose dividing the logs into two parts. Part 1 consists of [Model] logs at DEBUG level that are issued synchronously with the corresponding management Events. These logs have the same data fields as the events and require no logical additions to the model [See Note 1]. Part 2 consists of [Model] logs at TRACE level that are issued automatically during the construction and destruction of the management objects. The code to issue these logs is generated along with the management class sources. * The constructor log exposes the management id of the object. * The destructor log shows the management id and the statistics for the object. Logs from Part 1 use names as specified by users as they create objects. Logs from Part 2 use names generated by the management framework. There is no attempt to correlate the names between the two name spaces in the logging process. --- Note 1: There are no events that expose the creation and deletion of a Session. These could be added. > C++ Broker needs log messages to track object life cycles for auditing > -- > > Key: QPID-4079 > URL: https://issues.apache.org/jira/browse/QPID-4079 > Project: Qpid > Issue Type: Improvement > Components: C++ Broker >Affects Versions: 0.16 >Reporter: Chuck Rolke > > The C++ broker logs are unfriendly and incomplete for customers who are > hoping to audit system usage. Missing are log artifacts to expose which user > created, used, or destroyed which resource. > The proposed improvement adds INFO level log statements for the creation, > destruction, and major state changes to connection, session, and > subscription objects, and to exchange, queue, and binding objects. > From this set of log messages a user could determine what user from what > client system address created a connection, what sessions were created on > that connection, and what subscriptions were created on those sessions. > Similarly the exchange-binding-queue objects would have enough in their log > messages to correlate the interactions between them. > The log message for the destruction of an object would contain a record of > all the management statistics kept for that object. Then, working through the > log records a customer could attribute broker usage back to specific users. > This class of log message has been requested by customers using Security > Information and Event Management (SIEM) systems to scrape information from > broker event logs. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Created] (QPID-4129) C++ Broker failed client authentication in multi-node cluster causes connection leak
Chuck Rolke created QPID-4129: - Summary: C++ Broker failed client authentication in multi-node cluster causes connection leak Key: QPID-4129 URL: https://issues.apache.org/jira/browse/QPID-4129 Project: Qpid Issue Type: Bug Components: C++ Broker Affects Versions: 0.16 Reporter: Chuck Rolke Assignee: Chuck Rolke When an HA cluster has at least one connected peer cluster member and a client connection fails authentication then the broker::Connection is leaked. The issue does not affect standalone brokers nor does it affect a clustered broker with no connected peers. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Created] (QPID-4142) C++ broker connection counting username error when used in ha cluster and auth is EXTERNAL
Chuck Rolke created QPID-4142: - Summary: C++ broker connection counting username error when used in ha cluster and auth is EXTERNAL Key: QPID-4142 URL: https://issues.apache.org/jira/browse/QPID-4142 Project: Qpid Issue Type: Bug Components: C++ Broker Affects Versions: 0.18 Reporter: Chuck Rolke In a cluster setup with auth enabled and set to EXTERNAL then the Acl connection counting does not get the correct username associated with a shadowed connection. The cluster member that accepts the connection accounts for the correct user name. Other cluster members that receive shadow connections see user name 'anonymous'. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Commented] (QPID-4129) C++ Broker failed client authentication in multi-node cluster causes connection leak
[ https://issues.apache.org/jira/browse/QPID-4129?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13416252#comment-13416252 ] Chuck Rolke commented on QPID-4129: --- Fixed in r1360214 http://qpid.2158936.n2.nabble.com/svn-commit-r1360214-qpid-trunk-qpid-cpp-src-qpid-cluster-Connection-cpp-td7579508.html > C++ Broker failed client authentication in multi-node cluster causes > connection leak > > > Key: QPID-4129 > URL: https://issues.apache.org/jira/browse/QPID-4129 > Project: Qpid > Issue Type: Bug > Components: C++ Broker >Affects Versions: 0.16 >Reporter: Chuck Rolke >Assignee: Chuck Rolke > > When an HA cluster has at least one connected peer cluster member and a > client connection fails authentication then the broker::Connection is leaked. > The issue does not affect standalone brokers nor does it affect a clustered > broker with no connected peers. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Resolved] (QPID-4129) C++ Broker failed client authentication in multi-node cluster causes connection leak
[ https://issues.apache.org/jira/browse/QPID-4129?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Chuck Rolke resolved QPID-4129. --- Resolution: Fixed Fix Version/s: Future This appears to be a duplicate of QPID-4036 > C++ Broker failed client authentication in multi-node cluster causes > connection leak > > > Key: QPID-4129 > URL: https://issues.apache.org/jira/browse/QPID-4129 > Project: Qpid > Issue Type: Bug > Components: C++ Broker >Affects Versions: 0.16 >Reporter: Chuck Rolke >Assignee: Chuck Rolke > Fix For: Future > > > When an HA cluster has at least one connected peer cluster member and a > client connection fails authentication then the broker::Connection is leaked. > The issue does not affect standalone brokers nor does it affect a clustered > broker with no connected peers. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Resolved] (QPID-4079) C++ Broker needs log messages to track object life cycles for auditing
[ https://issues.apache.org/jira/browse/QPID-4079?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Chuck Rolke resolved QPID-4079. --- Resolution: Fixed Fix Version/s: 0.19 Resolved with r1361262 and r1361353 > C++ Broker needs log messages to track object life cycles for auditing > -- > > Key: QPID-4079 > URL: https://issues.apache.org/jira/browse/QPID-4079 > Project: Qpid > Issue Type: Improvement > Components: C++ Broker >Affects Versions: 0.16 >Reporter: Chuck Rolke > Fix For: 0.19 > > > The C++ broker logs are unfriendly and incomplete for customers who are > hoping to audit system usage. Missing are log artifacts to expose which user > created, used, or destroyed which resource. > The proposed improvement adds INFO level log statements for the creation, > destruction, and major state changes to connection, session, and > subscription objects, and to exchange, queue, and binding objects. > From this set of log messages a user could determine what user from what > client system address created a connection, what sessions were created on > that connection, and what subscriptions were created on those sessions. > Similarly the exchange-binding-queue objects would have enough in their log > messages to correlate the interactions between them. > The log message for the destruction of an object would contain a record of > all the management statistics kept for that object. Then, working through the > log records a customer could attribute broker usage back to specific users. > This class of log message has been requested by customers using Security > Information and Event Management (SIEM) systems to scrape information from > broker event logs. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Resolved] (QPID-4036) Failed client connections permanently exhaust broker's max connections limit
[ https://issues.apache.org/jira/browse/QPID-4036?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Chuck Rolke resolved QPID-4036. --- Resolution: Fixed Fix Version/s: 0.18 r1360214 > Failed client connections permanently exhaust broker's max connections limit > > > Key: QPID-4036 > URL: https://issues.apache.org/jira/browse/QPID-4036 > Project: Qpid > Issue Type: Bug > Components: C++ Broker >Affects Versions: 0.16 > Environment: CentOS release 5.5 (Final) > Linux 2.6.18-194.32.1.el5 #1 SMP Wed Jan 5 17:52:25 EST 2011 x86_64 x86_64 > x86_64 GNU/Linux > gcc (GCC) 4.1.2 20080704 (Red Hat 4.1.2-48) >Reporter: Paul Colby >Priority: Critical > Labels: sasl, ssl > Fix For: 0.18 > > > I'm running a set of Qpid 0.16 C++ brokers with configuration like: > {code} > cluster-name="mm-queue-cluster" > cluster-cman=yes > cluster-mechanism=PLAIN > cluster-username=broker > cluster-password=abc123 > cluster-url=ssl:gateway02:5671 > auth=yes > ssl-cert-db=/etc/qpid/certs/broker > ssl-cert-password-file=/etc/qpid/certs/pass.txt > ssl-cert-name=broker.messagemedia.com.au > require-encryption=yes > {code} > ie the broker is requiring both encryption and authentication (configured > SASL mech list is CRAM-MD5 DIGEST-MD5 EXTERNAL PLAIN). > Now, if a client (let's use {{qpid-stat}} for example) connects via SSL > (amqps) and authenticates successfully, then everything is happy. > However, if a client repeatedly fails to use SSL and/or fails to provide > credentials, then the broker loses one of it's configured max connections > every time! > So, for example, if we start the broker using the configuration shown above, > then do this: > {code}for i in `seq 1 550`; do echo $i; qpid-stat -q ; done{code} > The above loop will report ~ 500 {{AuthenticationFailure}} errors, then > switch to {{ConnectionError}} errors. Once the {{ConnectionError}} errors > begin, all further connections to the broker will be rejected - permanently > (until the broker is restarted), with the broker logging: > {code}error Client max connection count limit exceeded: 500 connection > refused{code} > From my testing, the following loops never cause an issue (with this > configuration): > {code:none} > for i in `seq 1 550`; do echo $i; qpid-stat -b amqps://guest/guest@localhost > -q ; done # Works as expected. > for i in `seq 1 550`; do echo $i; qpid-stat -b amqps://guest/wrong@localhost > -q ; done # AuthenticationFailure as expected. > {code} > Whereas any of the following will break the broker: > {code:none} > for i in `seq 1 550`; do echo $i; qpid-stat -b amqp://guest/guest@localhost > -q ; done # AuthenticationFailure, then ConnectionError. > for i in `seq 1 550`; do echo $i; qpid-stat -b amqp://guest/wrong@localhost > -q ; done # AuthenticationFailure, then ConnectionError. > for i in `seq 1 550`; do echo $i; qpid-stat -b amqp://localhost -q ; done > # AuthenticationFailure, then ConnectionError. > for i in `seq 1 550`; do echo $i; qpid-stat -b amqps://localhost -q ; done > # AuthenticationFailure, then ConnectionError. > {code} -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Resolved] (QPID-3892) ACLs shall support full regular expressions in property values
[ https://issues.apache.org/jira/browse/QPID-3892?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Chuck Rolke resolved QPID-3892. --- Resolution: Fixed Fix Version/s: 0.19 Fixed by r1361678 and r1362014. Note that the fix does not use regex. Instead Acl code now uses the same Topic Exchange match code that the broker runtime uses. This avoids introducing new syntax (regex) in the Acl file and lets it use naturally expressed topic exchange syntax. Also this fix adds no new module to any distributions. > ACLs shall support full regular expressions in property values > -- > > Key: QPID-3892 > URL: https://issues.apache.org/jira/browse/QPID-3892 > Project: Qpid > Issue Type: Improvement > Components: C++ Broker >Affects Versions: 0.14 >Reporter: Pavel Moravec >Assignee: Chuck Rolke > Labels: features > Fix For: 0.19 > > Attachments: ACLs-full-regexp.patch > > > Currently ACL syntax supports in a property value either direct match > ("name=RequestQueue") or a substring match ("name=tmp.*"). > That is not sufficient when authorizing access to topics. One particular > example: amq.topic exchange receives messages with keys usa.sports, usa.news, > europe.sports and europe.news. Currently we can not authorize access just to > topics **.sports* and to *usa.* * > As there exist different use cases where regular expressions are required in > a, it is meaningful to support (full) regular expressions in ACL property > values. > Since qpid C++ broker already relies on boost libraries a lot, I suggest (in > a patch proposed) using boost::regex library. > I tested the attached patch on Fedora, not sure if other Linux distributions > are familiar with the change in Makefile.am. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Commented] (QPID-4142) C++ broker connection counting username error when used in ha cluster and auth is EXTERNAL
[ https://issues.apache.org/jira/browse/QPID-4142?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13433484#comment-13433484 ] Chuck Rolke commented on QPID-4142: --- http://svn.apache.org/viewvc?view=revision&revision=1371772 is the fix for this issue. > C++ broker connection counting username error when used in ha cluster and > auth is EXTERNAL > -- > > Key: QPID-4142 > URL: https://issues.apache.org/jira/browse/QPID-4142 > Project: Qpid > Issue Type: Bug > Components: C++ Broker >Affects Versions: 0.18 >Reporter: Chuck Rolke > > In a cluster setup with auth enabled and set to EXTERNAL then the Acl > connection counting does not get the correct username associated with a > shadowed connection. > The cluster member that accepts the connection accounts for the correct user > name. Other cluster members that receive shadow connections see user name > 'anonymous'. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Created] (QPID-4230) C++ Broker could use username substitution keyword strings in Acl rules
Chuck Rolke created QPID-4230: - Summary: C++ Broker could use username substitution keyword strings in Acl rules Key: QPID-4230 URL: https://issues.apache.org/jira/browse/QPID-4230 Project: Qpid Issue Type: Improvement Components: C++ Broker Affects Versions: 0.19 Reporter: Chuck Rolke Assignee: Chuck Rolke Acl processing in the broker could perform username substitution into Acl rules. This would provide an easy and flexible way to constrain users. 1. Let the literal string ${user} be the keyword placed into Acl files. 2. When expanded ${user} will become the full authenticated userId such as 'bob@QPID'. Note that simply using 'bob' leads to issues distinguishing between 'bob@QPID' and 'b...@example.com'. 3. Username keyword substitution is performed only on object names and in routing keys. Acl rule file examples: acl allow all create exchange name=temp-${user} acl allow all access exchange name=temp-${user} acl allow all bindexchange name=temp-${user} acl allow all unbind exchange name=temp-${user} acl allow all delete exchange name=temp-${user} acl allow all publish exchange name=temp-${user} routingkey=temp.${user} acl allow all create queue name=temp-${user} acl allow all access queue name=temp-${user} acl allow all purge queue name=temp-${user} acl allow all consume queue name=temp-${user} acl allow all delete queue name=temp-${user} Using a rule set like this would allow all users to create a private temp- exchange and a private temp- queue bound to their user names. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Commented] (QPID-4230) C++ Broker could use username substitution keyword strings in Acl rules
[ https://issues.apache.org/jira/browse/QPID-4230?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13438039#comment-13438039 ] Chuck Rolke commented on QPID-4230: --- https://reviews.apache.org/r/6645/ is the proposed implementation of this feature. 1. This patch does not change the syntax for the Acl file. It adds keyword interpretation to the Acl file content. 2. The substitution keywords are: "$\{user\}", "$\{domain\}", and "$\{userdomain\}". 3. User and domain names are normalized by replacing period "." and ampersand "@" with underscore "_". 4. For user bob.u...@qpid.com the run-time substitution values would be {noformat} Keyword Value = = ${user} bob_user ${domain} QPID_COM ${userdomain} bob_user_QPID_COM {noformat} 5. Keyword substitution is allowed for * Any object name: exchange, queue, link, broker, method * Routing keys * Alternate exchange name * Queue name 6. For routing key lookups the $\{userdomain\} keyword is found before either $\{user\} or $\{domain\}. If the user presents a routing key lookup of "bob_user_QPID_COM" then it will match an Acl rule with $\{userdomain\} and not with $\{user\}_$\{domain\}. 7. Example Acl file. This example allows any user to create a private queue and exchange to which only that user may bind. The queue and exchange may have a private backup exchange and queue to which only that user may bind. {noformat} # Create primary queue and exchange: # allow predefined alternate # deny any other alternate # allow no alternate acl allow all create queuename=${userdomain}-work alternate=${userdomain}-work2 acl deny all create queuename=${userdomain}-work alternate=* acl allow all create queuename=${userdomain}-work acl allow all create exchange name=${userdomain}-work alternate=${userdomain}-work2 acl deny all create exchange name=${userdomain}-work alternate=* acl allow all create exchange name=${userdomain}-work # Create backup queue and exchange # Deny any alternate acl deny all create queuename=${userdomain}-work2 alternate=* acl allow all create queuename=${userdomain}-work2 acl deny all create exchange name=${userdomain}-work2 alternate=* acl allow all create exchange name=${userdomain}-work2 # Bind/unbind primary exchange # Use only predefined routingkey and queuename acl allow all bindexchange name=${userdomain}-work routingkey=${userdomain} queuename=${userdomain}-work acl allow all unbind exchange name=${userdomain}-work routingkey=${userdomain} queuename=${userdomain}-work # Bind/unbind backup exchange # Use only predefined routingkey and queuename acl allow all bindexchange name=${userdomain}-work2 routingkey=${userdomain} queuename=${userdomain}-work2 acl allow all unbind exchange name=${userdomain}-work2 routingkey=${userdomain} queuename=${userdomain}-work2 # Access primary exchange # Use only predefined routingkey and queuename acl allow all access exchange name=${userdomain}-work routingkey=${userdomain} queuename=${userdomain}-work # Access backup exchange # Use only predefined routingkey and queuename acl allow all access exchange name=${userdomain}-work2 routingkey=${userdomain} queuename=${userdomain}-work2 # Publish primary exchange # Use only predefined routingkey acl allow all publish exchange name=${userdomain}-work routingkey=${userdomain} # Publish backup exchange # Use only predefined routingkey acl allow all publish exchange name=${userdomain}-work2 routingkey=${userdomain} # deny mode acl deny all all {noformat} > C++ Broker could use username substitution keyword strings in Acl rules > --- > > Key: QPID-4230 > URL: https://issues.apache.org/jira/browse/QPID-4230 > Project: Qpid > Issue Type: Improvement > Components: C++ Broker >Affects Versions: 0.19 >Reporter: Chuck Rolke >Assignee: Chuck Rolke > > Acl processing in the broker could perform username substitution into Acl > rules. This would provide an easy and flexible way to constrain users. > 1. Let the literal string ${user} be the keyword placed into Acl files. > 2. When expanded ${user} will become the full authenticated userId such as > 'bob@QPID'. Note that simply using 'bob' leads to issues distinguishing > between 'bob@QPID' and 'b...@example.com'. > 3. Username keyword substitution is performed only on object names and in > routing keys. > Acl rule file examples: > acl allow all create exchange name=temp-${user} > acl allow all access exchange name=temp-${user} > acl allow all bindexchange name=temp-${user} > acl allow all unbind exchange name=temp-${user} > acl allow all delete exchange name=temp-${user} > acl allow all publish exchange name=temp-${user} routingkey=temp.${use
[jira] [Resolved] (QPID-4230) C++ Broker could use username substitution keyword strings in Acl rules
[ https://issues.apache.org/jira/browse/QPID-4230?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Chuck Rolke resolved QPID-4230. --- Resolution: Fixed Fix Version/s: 0.19 Fixed with checkins r1375195 and r1375583 > C++ Broker could use username substitution keyword strings in Acl rules > --- > > Key: QPID-4230 > URL: https://issues.apache.org/jira/browse/QPID-4230 > Project: Qpid > Issue Type: Improvement > Components: C++ Broker >Affects Versions: 0.19 >Reporter: Chuck Rolke >Assignee: Chuck Rolke > Fix For: 0.19 > > > Acl processing in the broker could perform username substitution into Acl > rules. This would provide an easy and flexible way to constrain users. > 1. Let the literal string ${user} be the keyword placed into Acl files. > 2. When expanded ${user} will become the full authenticated userId such as > 'bob@QPID'. Note that simply using 'bob' leads to issues distinguishing > between 'bob@QPID' and 'b...@example.com'. > 3. Username keyword substitution is performed only on object names and in > routing keys. > Acl rule file examples: > acl allow all create exchange name=temp-${user} > acl allow all access exchange name=temp-${user} > acl allow all bindexchange name=temp-${user} > acl allow all unbind exchange name=temp-${user} > acl allow all delete exchange name=temp-${user} > acl allow all publish exchange name=temp-${user} routingkey=temp.${user} > acl allow all create queue name=temp-${user} > acl allow all access queue name=temp-${user} > acl allow all purge queue name=temp-${user} > acl allow all consume queue name=temp-${user} > acl allow all delete queue name=temp-${user} > Using a rule set like this would allow all users to create a private temp- > exchange and a private temp- queue bound to their user names. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Commented] (QPID-4257) Windows+SSL: Client hang on broker close, broker memory leak
[ https://issues.apache.org/jira/browse/QPID-4257?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13443451#comment-13443451 ] Chuck Rolke commented on QPID-4257: --- Kerry, Thanks for posting the patch. I will give it some attention. Chuck > Windows+SSL: Client hang on broker close, broker memory leak > > > Key: QPID-4257 > URL: https://issues.apache.org/jira/browse/QPID-4257 > Project: Qpid > Issue Type: Bug > Components: C++ Broker, C++ Client >Affects Versions: 0.12, 0.13, 0.14, 0.15, 0.16, 0.17, 0.18, 0.19 > Environment: Windows client on Windows 7, Windows broker on Server > 2K8, using SSL. >Reporter: Kerry Bonin > Labels: patch > Fix For: 0.19 > > Attachments: windows_ssl_hang_r1377724.patch > > Original Estimate: 168h > Remaining Estimate: 168h > > Windows clients hang when broker dies via SSL connection - fetch never > returns even w/ IMMEDIATE timeout. > Windows broker memory grows linearly with SSL connection count, leak per > connection, until broker exhausts memory and crashes. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Created] (QPID-4268) C++ Broker needs Acl support for limiting on-disk store
Chuck Rolke created QPID-4268: - Summary: C++ Broker needs Acl support for limiting on-disk store Key: QPID-4268 URL: https://issues.apache.org/jira/browse/QPID-4268 Project: Qpid Issue Type: Bug Components: C++ Broker Affects Versions: 0.18 Reporter: Chuck Rolke Assignee: Chuck Rolke The C++ Broker currently has Acl support for limiting the in-memory size of a queue and the maximum number of messages that the queue may contain. When creating a queue a user may specify options qpid.max_size and qpid.max_count. Acl support exists to specify properties: queuemaxsizeupperlimit, queuemaxsizelowerlimit, queuemaxcountupperlimit, queuemaxcountlowerlimit to constrain the bounds of a queue that a user may create. This jira issue adds similar support for options qpid.file_size and qpid.file_count. The Acl support shall add properties: queuefilesizeupperlimit, queuefilesizelowerlimit, queuefilecountupperlimit, queuefilecountlowerlimit to similarly constrain the file store settings. This jira does NOT add new options to queue creation. Tool qpid-config already specifies these options and the broker and store process them. The jira simply provides a method for administrators to constrain users file settings. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Updated] (QPID-4268) C++ Broker needs Acl support for limiting on-disk store
[ https://issues.apache.org/jira/browse/QPID-4268?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Chuck Rolke updated QPID-4268: -- Description: The C++ Broker currently has Acl support for limiting the in-memory size of a queue and the maximum number of messages that the queue may contain. When creating a queue a user may specify options qpid.max_size and qpid.max_count. Acl support exists to specify properties: queuemaxsizeupperlimit, queuemaxsizelowerlimit, queuemaxcountupperlimit, queuemaxcountlowerlimit to constrain the bounds of a queue that a user may create. This jira issue adds similar support for options qpid.file_size and qpid.file_count. The Acl support shall add properties: filemaxsizeupperlimit, filemaxsizelowerlimit, filemaxcountupperlimit, filemaxcountlowerlimit to similarly constrain the file store settings. This jira does NOT add new options to queue creation. Tool qpid-config already specifies these options and the broker and store process them. The jira simply provides a method for administrators to constrain users file settings. was: The C++ Broker currently has Acl support for limiting the in-memory size of a queue and the maximum number of messages that the queue may contain. When creating a queue a user may specify options qpid.max_size and qpid.max_count. Acl support exists to specify properties: queuemaxsizeupperlimit, queuemaxsizelowerlimit, queuemaxcountupperlimit, queuemaxcountlowerlimit to constrain the bounds of a queue that a user may create. This jira issue adds similar support for options qpid.file_size and qpid.file_count. The Acl support shall add properties: queuefilesizeupperlimit, queuefilesizelowerlimit, queuefilecountupperlimit, queuefilecountlowerlimit to similarly constrain the file store settings. This jira does NOT add new options to queue creation. Tool qpid-config already specifies these options and the broker and store process them. The jira simply provides a method for administrators to constrain users file settings. > C++ Broker needs Acl support for limiting on-disk store > --- > > Key: QPID-4268 > URL: https://issues.apache.org/jira/browse/QPID-4268 > Project: Qpid > Issue Type: Bug > Components: C++ Broker >Affects Versions: 0.18 >Reporter: Chuck Rolke >Assignee: Chuck Rolke > > The C++ Broker currently has Acl support for limiting the in-memory size of a > queue and the maximum number of messages that the queue may contain. > When creating a queue a user may specify options qpid.max_size and > qpid.max_count. Acl support exists to specify properties: > queuemaxsizeupperlimit, queuemaxsizelowerlimit, > queuemaxcountupperlimit, queuemaxcountlowerlimit > to constrain the bounds of a queue that a user may create. > This jira issue adds similar support for options qpid.file_size and > qpid.file_count. The Acl support shall add properties: > filemaxsizeupperlimit, filemaxsizelowerlimit, > filemaxcountupperlimit, filemaxcountlowerlimit > to similarly constrain the file store settings. > This jira does NOT add new options to queue creation. Tool qpid-config > already specifies these options and the broker and store process them. The > jira simply provides a method for administrators to constrain users file > settings. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Updated] (QPID-2643) Support Visual Studio 2010
[ https://issues.apache.org/jira/browse/QPID-2643?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Chuck Rolke updated QPID-2643: -- Fix Version/s: Future > Support Visual Studio 2010 > -- > > Key: QPID-2643 > URL: https://issues.apache.org/jira/browse/QPID-2643 > Project: Qpid > Issue Type: Improvement > Components: C++ Broker >Affects Versions: 0.7 > Environment: visual studio 2010 c++ express >Reporter: Jinius >Assignee: Chuck Rolke > Labels: vs10, win64 > Fix For: 0.15, Future > > Attachments: Patch-2010-02.patch, QPID-2643-VS2010-01.patch > > > nmake compile failed at > C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\iterator(142) > : error C2039: 'value_type' : is not a memb > er of 'qpid::framing::List' > C:\A.svn_qpid\cpp\include\qpid/framing/List.h(40) : see declaration > of 'qpid::framing::List' > C:\A.svn_qpid\cpp\src\qpid\amqp_0_10\Codecs.cpp(51) : see reference > to class template instantiation 'std::insert > _iterator<_Container>' being compiled > with > [ > _Container=qpid::framing::List > ] > C:\svn_qpid\cpp\src\qpid\amqp_0_10\Codecs.cpp(83) : see reference to > function template instantiation 'void qpi > d::amqp_0_10::convert(__cdecl > *)(const qpid::types:: > Variant &)>(const std::list<_Ty> &,U &,F)' being compiled > with > [ > T=qpid::framing::FieldValue, > _Ty=qpid::types::Variant, > U=qpid::framing::List, > F=boost::shared_ptr (__cdecl *)(const > qpid::types::Variant &) > ] > C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\iterator(149) > : error C2182: '_Val' : illegal use of type > 'void' > C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\iterator(156) > : error C2182: '_Val' : illegal use of type > 'void' > NMAKE : fatal error U1077: 'C:\PROGRA~2\MICROS~1.0\VC\bin\cl.exe' : return > code '0x2' > Stop. > NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio > 10.0\VC\BIN\nmake.exe"' : return code '0x2' > Stop. > NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio > 10.0\VC\BIN\nmake.exe"' : return code '0x2' -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Updated] (QPID-2643) Support Visual Studio 2010
[ https://issues.apache.org/jira/browse/QPID-2643?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Chuck Rolke updated QPID-2643: -- Fix Version/s: (was: 0.15) > Support Visual Studio 2010 > -- > > Key: QPID-2643 > URL: https://issues.apache.org/jira/browse/QPID-2643 > Project: Qpid > Issue Type: Improvement > Components: C++ Broker >Affects Versions: 0.7 > Environment: visual studio 2010 c++ express >Reporter: Jinius >Assignee: Chuck Rolke > Labels: vs10, win64 > Fix For: Future > > Attachments: Patch-2010-02.patch, QPID-2643-VS2010-01.patch > > > nmake compile failed at > C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\iterator(142) > : error C2039: 'value_type' : is not a memb > er of 'qpid::framing::List' > C:\A.svn_qpid\cpp\include\qpid/framing/List.h(40) : see declaration > of 'qpid::framing::List' > C:\A.svn_qpid\cpp\src\qpid\amqp_0_10\Codecs.cpp(51) : see reference > to class template instantiation 'std::insert > _iterator<_Container>' being compiled > with > [ > _Container=qpid::framing::List > ] > C:\svn_qpid\cpp\src\qpid\amqp_0_10\Codecs.cpp(83) : see reference to > function template instantiation 'void qpi > d::amqp_0_10::convert(__cdecl > *)(const qpid::types:: > Variant &)>(const std::list<_Ty> &,U &,F)' being compiled > with > [ > T=qpid::framing::FieldValue, > _Ty=qpid::types::Variant, > U=qpid::framing::List, > F=boost::shared_ptr (__cdecl *)(const > qpid::types::Variant &) > ] > C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\iterator(149) > : error C2182: '_Val' : illegal use of type > 'void' > C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\iterator(156) > : error C2182: '_Val' : illegal use of type > 'void' > NMAKE : fatal error U1077: 'C:\PROGRA~2\MICROS~1.0\VC\bin\cl.exe' : return > code '0x2' > Stop. > NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio > 10.0\VC\BIN\nmake.exe"' : return code '0x2' > Stop. > NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio > 10.0\VC\BIN\nmake.exe"' : return code '0x2' -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Resolved] (QPID-3294) Native Windows Messaging keeps connections open after connection.Close()
[ https://issues.apache.org/jira/browse/QPID-3294?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Chuck Rolke resolved QPID-3294. --- Resolution: Fixed Fix Version/s: 0.18 Active work on this issue has moved to QPID-3759. > Native Windows Messaging keeps connections open after connection.Close() > > > Key: QPID-3294 > URL: https://issues.apache.org/jira/browse/QPID-3294 > Project: Qpid > Issue Type: Bug > Components: Dot Net Client >Affects Versions: 0.10 > Environment: C++ Messaging libraries on Windows >Reporter: Chuck Rolke >Assignee: Chuck Rolke > Fix For: 0.18 > > > Calling connection.Close() does not close the connection to the broker. > Connection c = new Connection("localhost:5672"); > for (int i=0; i<10; i++) { > c.Open(); > c.Close(); > } > leaves 10 TCP connections open to the broker. > Reported by Joe (paperman at gmx.at) -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Closed] (QPID-3294) Native Windows Messaging keeps connections open after connection.Close()
[ https://issues.apache.org/jira/browse/QPID-3294?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Chuck Rolke closed QPID-3294. - > Native Windows Messaging keeps connections open after connection.Close() > > > Key: QPID-3294 > URL: https://issues.apache.org/jira/browse/QPID-3294 > Project: Qpid > Issue Type: Bug > Components: Dot Net Client >Affects Versions: 0.10 > Environment: C++ Messaging libraries on Windows >Reporter: Chuck Rolke >Assignee: Chuck Rolke > Fix For: 0.18 > > > Calling connection.Close() does not close the connection to the broker. > Connection c = new Connection("localhost:5672"); > for (int i=0; i<10; i++) { > c.Open(); > c.Close(); > } > leaves 10 TCP connections open to the broker. > Reported by Joe (paperman at gmx.at) -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Commented] (QPID-4257) Windows+SSL: Client hang on broker close, broker memory leak
[ https://issues.apache.org/jira/browse/QPID-4257?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13450038#comment-13450038 ] Chuck Rolke commented on QPID-4257: --- I've posted an improved patch for review. With this patch the connection closure is signalled through to clients and the clients wake up. The one-second timeout clamp is not necessary any more. https://reviews.apache.org/r/6948/ Description --- Based on original work by Kerry Bonin in QPID-4257. The Windows SslConnector fails to properly relay connection events causing memory leaks and client hangs. With this patch the memory leaks are improved[1] and clients doing fetch(FOREVER) are woken properly. Diff: https://reviews.apache.org/r/6948/diff/ [1] Windows clients using SSL or not still seem to leak about 1Kb per connection even with this patch. That may be treated as a separate issue. > Windows+SSL: Client hang on broker close, broker memory leak > > > Key: QPID-4257 > URL: https://issues.apache.org/jira/browse/QPID-4257 > Project: Qpid > Issue Type: Bug > Components: C++ Broker, C++ Client >Affects Versions: 0.12, 0.13, 0.14, 0.15, 0.16, 0.17, 0.18, 0.19 > Environment: Windows client on Windows 7, Windows broker on Server > 2K8, using SSL. >Reporter: Kerry Bonin > Labels: patch > Fix For: 0.19 > > Attachments: windows_ssl_hang_r1377724.patch > > Original Estimate: 168h > Remaining Estimate: 168h > > Windows clients hang when broker dies via SSL connection - fetch never > returns even w/ IMMEDIATE timeout. > Windows broker memory grows linearly with SSL connection count, leak per > connection, until broker exhausts memory and crashes. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Resolved] (QPID-4268) C++ Broker needs Acl support for limiting on-disk store
[ https://issues.apache.org/jira/browse/QPID-4268?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Chuck Rolke resolved QPID-4268. --- Resolution: Fixed Fix Version/s: 0.19 Fixed with r1382095 > C++ Broker needs Acl support for limiting on-disk store > --- > > Key: QPID-4268 > URL: https://issues.apache.org/jira/browse/QPID-4268 > Project: Qpid > Issue Type: Bug > Components: C++ Broker >Affects Versions: 0.18 >Reporter: Chuck Rolke >Assignee: Chuck Rolke > Fix For: 0.19 > > > The C++ Broker currently has Acl support for limiting the in-memory size of a > queue and the maximum number of messages that the queue may contain. > When creating a queue a user may specify options qpid.max_size and > qpid.max_count. Acl support exists to specify properties: > queuemaxsizeupperlimit, queuemaxsizelowerlimit, > queuemaxcountupperlimit, queuemaxcountlowerlimit > to constrain the bounds of a queue that a user may create. > This jira issue adds similar support for options qpid.file_size and > qpid.file_count. The Acl support shall add properties: > filemaxsizeupperlimit, filemaxsizelowerlimit, > filemaxcountupperlimit, filemaxcountlowerlimit > to similarly constrain the file store settings. > This jira does NOT add new options to queue creation. Tool qpid-config > already specifies these options and the broker and store process them. The > jira simply provides a method for administrators to constrain users file > settings. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Resolved] (QPID-4257) Windows+SSL: Client hang on broker close, broker memory leak
[ https://issues.apache.org/jira/browse/QPID-4257?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Chuck Rolke resolved QPID-4257. --- Resolution: Fixed Fixed with r1382026 > Windows+SSL: Client hang on broker close, broker memory leak > > > Key: QPID-4257 > URL: https://issues.apache.org/jira/browse/QPID-4257 > Project: Qpid > Issue Type: Bug > Components: C++ Broker, C++ Client >Affects Versions: 0.12, 0.13, 0.14, 0.15, 0.16, 0.17, 0.18, 0.19 > Environment: Windows client on Windows 7, Windows broker on Server > 2K8, using SSL. >Reporter: Kerry Bonin > Labels: patch > Fix For: 0.19 > > Attachments: windows_ssl_hang_r1377724.patch > > Original Estimate: 168h > Remaining Estimate: 168h > > Windows clients hang when broker dies via SSL connection - fetch never > returns even w/ IMMEDIATE timeout. > Windows broker memory grows linearly with SSL connection count, leak per > connection, until broker exhausts memory and crashes. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Closed] (QPID-4142) C++ broker connection counting username error when used in ha cluster and auth is EXTERNAL
[ https://issues.apache.org/jira/browse/QPID-4142?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Chuck Rolke closed QPID-4142. - This patch was for 0.18 only. Since it has been merged to the 0.18 branch it has no business on trunk. Checkin r1382155 reverts the change in trunk. > C++ broker connection counting username error when used in ha cluster and > auth is EXTERNAL > -- > > Key: QPID-4142 > URL: https://issues.apache.org/jira/browse/QPID-4142 > Project: Qpid > Issue Type: Bug > Components: C++ Broker >Affects Versions: 0.18 >Reporter: Chuck Rolke >Assignee: Chuck Rolke > Fix For: 0.18 > > > In a cluster setup with auth enabled and set to EXTERNAL then the Acl > connection counting does not get the correct username associated with a > shadowed connection. > The cluster member that accepts the connection accounts for the correct user > name. Other cluster members that receive shadow connections see user name > 'anonymous'. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Created] (QPID-4295) Windows client memory leak: AsynchConnector
Chuck Rolke created QPID-4295: - Summary: Windows client memory leak: AsynchConnector Key: QPID-4295 URL: https://issues.apache.org/jira/browse/QPID-4295 Project: Qpid Issue Type: Bug Components: C++ Client Affects Versions: 0.18 Environment: Windows messaging client Reporter: Chuck Rolke Putting a windows messaging in a loop that does connection.open() and connection.close() without creating senders, receiver, or messages causes gradual increase in memory usage. Analysis reveals allocations of windows::AsynchConnector objects that are never getting deleted. See attachment with stack trace. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Updated] (QPID-4295) Windows client memory leak: AsynchConnector
[ https://issues.apache.org/jira/browse/QPID-4295?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Chuck Rolke updated QPID-4295: -- Attachment: AsynchConnector-leak.txt Stack trace of allocation that is never freed. > Windows client memory leak: AsynchConnector > --- > > Key: QPID-4295 > URL: https://issues.apache.org/jira/browse/QPID-4295 > Project: Qpid > Issue Type: Bug > Components: C++ Client >Affects Versions: 0.18 > Environment: Windows messaging client >Reporter: Chuck Rolke > Attachments: AsynchConnector-leak.txt > > > Putting a windows messaging in a loop that does connection.open() and > connection.close() without creating senders, receiver, or messages causes > gradual increase in memory usage. > Analysis reveals allocations of windows::AsynchConnector objects that are > never getting deleted. > See attachment with stack trace. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Resolved] (QPID-3500) qpidd --help should ignore other parameters (incl. config file)
[ https://issues.apache.org/jira/browse/QPID-3500?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Chuck Rolke resolved QPID-3500. --- Resolution: Fixed Fix Version/s: 0.19 Assignee: Chuck Rolke Fixed with r1388032 > qpidd --help should ignore other parameters (incl. config file) > --- > > Key: QPID-3500 > URL: https://issues.apache.org/jira/browse/QPID-3500 > Project: Qpid > Issue Type: Bug > Components: C++ Broker >Affects Versions: 0.12 >Reporter: Pavel Moravec >Assignee: Chuck Rolke >Priority: Trivial > Labels: patch > Fix For: 0.19 > > Attachments: help_show.patch > > Original Estimate: 2h > Remaining Estimate: 2h > > Steps to Reproduce: > 1. Add "log-to-file=/tmp/qpidd.log" to /etc/qpidd.conf > 2. Login as root user, touch /tmp/qpidd.log && chmod 600 /tmp/qpidd.log > 3. su to a non-root user, run "/usr/sbin/qpidd --help" > Further similar reproductions: > qpidd --help --config not_readable_file > qpidd --help --log-file not_readable_file (where /etc/qpidd.conf does not > contain log-file option) > qpidd --help (when config file is not readable) > qpidd --help (when config file contains log-file to non-readable file) > Plus all the above for --version option (instead of --help). > Patch for all the above (except one questionable case) will be uploaded. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Created] (QPID-4336) C++ Broker command line --log-enable switch errors cause silent exit
Chuck Rolke created QPID-4336: - Summary: C++ Broker command line --log-enable switch errors cause silent exit Key: QPID-4336 URL: https://issues.apache.org/jira/browse/QPID-4336 Project: Qpid Issue Type: Bug Components: C++ Broker Affects Versions: 0.18 Environment: Linux C++ broker Reporter: Chuck Rolke Priority: Minor A malformed log-enable switch such as the second switch: ./qpidd --log-enable trace+:acl --log-enable:info+ Causes the broker to exit with no log, cout, cerr, or anything. Interestingly, the exit happens only after processing a good --log-enable switch. src> ./qpidd --log-enable:info+ 2012-09-20 15:35:19 [Broker] critical Unexpected error: Error in command line options: unknown option log-enable:info+ Use --help to see valid options src> ./qpidd --log-enable trace+:acl --log-enable:info+ src> -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Created] (QPID-4366) C++ Broker: change ACL from a loadable module to a built-in module
Chuck Rolke created QPID-4366: - Summary: C++ Broker: change ACL from a loadable module to a built-in module Key: QPID-4366 URL: https://issues.apache.org/jira/browse/QPID-4366 Project: Qpid Issue Type: Improvement Components: C++ Broker Affects Versions: 0.19 Environment: Unix C++ Broker Reporter: Chuck Rolke Assignee: Chuck Rolke Numerous recent changes to the ACL command line switches allow specification of quotas such as --max-connections and --max-queues-per-user. These switches are unrelated (mostly) to ACLs. Requiring the ACL module to be loaded and an ACL rule file to be specified just to get the command line switches for quotas seems awkward. This jira proposes to build the ACL code directly into the broker so that it is always present. Note that the Windows broker already has the ACL code built-in; QPID-1842 discusses the reasoning why. Users may still 'have no ACLs' by not specifying a rule file. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Commented] (QPID-4371) The extra_dist/Makefile does not include qpidtypes or stdc++ for building examples
[ https://issues.apache.org/jira/browse/QPID-4371?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13475334#comment-13475334 ] Chuck Rolke commented on QPID-4371: --- As we are converting the build system to cmake I'd like to see the example build system converted to cmake also. The WinSDK uses cmake for the C++ native examples. > The extra_dist/Makefile does not include qpidtypes or stdc++ for building > examples > -- > > Key: QPID-4371 > URL: https://issues.apache.org/jira/browse/QPID-4371 > Project: Qpid > Issue Type: Bug >Affects Versions: 0.18 >Reporter: Darryl L. Pierce >Assignee: Darryl L. Pierce >Priority: Minor > Fix For: 0.19 > > Attachments: > 0001-Fix-building-of-messaging-examples-after-installatio.patch > > > The attached patch fixes this issue, including the needed libraries in the > Makefile. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Created] (QPID-4373) C++ Broker ACL changes cause regressions
Chuck Rolke created QPID-4373: - Summary: C++ Broker ACL changes cause regressions Key: QPID-4373 URL: https://issues.apache.org/jira/browse/QPID-4373 Project: Qpid Issue Type: Bug Components: C++ Broker Affects Versions: 0.18 Reporter: Chuck Rolke Assignee: Chuck Rolke Recent changes (r1348707 11-Jun-2012) cause regressions: 1. Deleting the broker management property 'maxConns' causes needless hardship for downstream projects that are expecting it. I propose to restore this property and populate it as before. 2. CLI switch max-connections is ambiguous with respect to max-connections-per-ip and max-connections-per-user for older versions of boost program_options. I propose to resolve the ambiguity by renaming the new options: max-connections-per-user => limit-connections-per-user max-connections-per-ip => limit-connections-per-ip -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Created] (QPID-4378) C++ Broker deletes dynamic bridges too aggressively
Chuck Rolke created QPID-4378: - Summary: C++ Broker deletes dynamic bridges too aggressively Key: QPID-4378 URL: https://issues.apache.org/jira/browse/QPID-4378 Project: Qpid Issue Type: Bug Components: C++ Broker Affects Versions: 0.18 Environment: C++ Broker Reporter: Chuck Rolke Assignee: Chuck Rolke If a dynamic bridge's session has been detached while attempting to propagate a binding event, the broker will delete the bridge. Normally, a detached bridge session will be automatically recovered during the maintenance periodic if possible. Needless to say, auto-deleting the bridge upon a session error prevents this normal recovery path from occurring. This event can occur in a production system during broker startup/federation and also during source broker recovery since there is a potential race condition between creation of the source exchange and the creation of the dynamic bridge on the destination broker. Log Message: Sep 30 19:41:40 localhost qpidd[10497]: 2012-09-30 19:41:40 [Broker] error Cannot propagate binding for dynamic bridge as session has been detached, deleting dynamic bridge Steps to reproduce: # src broker: localhost:5801 # dst broker: localhost:5803 # # Create exchange in dst broker # qpid-config -b localhost:5803 add exchange topic fed.topic # # create dynamic bridge # qpid-route dynamic add localhost:5803 localhost:5801 fed.topic # # create dst queue as bind target # qpid-config -b localhost:5803 add queue fed.topic.queue # # create binding on dest exchange # qpid-config -b localhost:5803 bind fed.topic fed.topic.queue qpid-config -b localhost:5803 unbind fed.topic fed.topic.queue # The unbind should not delete the bridge. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Resolved] (QPID-4378) C++ Broker deletes dynamic bridges too aggressively
[ https://issues.apache.org/jira/browse/QPID-4378?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Chuck Rolke resolved QPID-4378. --- Resolution: Fixed Fix Version/s: 0.19 Fix with r1399837. Reviewed by Ted Ross. > C++ Broker deletes dynamic bridges too aggressively > --- > > Key: QPID-4378 > URL: https://issues.apache.org/jira/browse/QPID-4378 > Project: Qpid > Issue Type: Bug > Components: C++ Broker >Affects Versions: 0.18 > Environment: C++ Broker >Reporter: Chuck Rolke >Assignee: Chuck Rolke > Fix For: 0.19 > > > If a dynamic bridge's session has been detached while attempting to propagate > a binding event, the broker will delete the bridge. Normally, a detached > bridge session will be automatically recovered during the maintenance > periodic if possible. Needless to say, auto-deleting the bridge upon a > session error prevents this normal recovery path from occurring. > This event can occur in a production system during broker startup/federation > and also during source broker recovery since there is a potential race > condition between creation of the source exchange and the creation of the > dynamic bridge on the destination broker. > Log Message: > Sep 30 19:41:40 localhost qpidd[10497]: 2012-09-30 19:41:40 [Broker] error > Cannot propagate binding for dynamic bridge as session has been detached, > deleting dynamic bridge > Steps to reproduce: > # src broker: localhost:5801 > # dst broker: localhost:5803 > # > # Create exchange in dst broker > # > qpid-config -b localhost:5803 add exchange topic fed.topic > # > # create dynamic bridge > # > qpid-route dynamic add localhost:5803 localhost:5801 fed.topic > # > # create dst queue as bind target > # > qpid-config -b localhost:5803 add queue fed.topic.queue > # > # create binding on dest exchange > # > qpid-config -b localhost:5803 bind fed.topic fed.topic.queue > qpid-config -b localhost:5803 unbind fed.topic fed.topic.queue > # The unbind should not delete the bridge. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Created] (QPID-4392) C++ Broker - channel number collisions on federated links
Chuck Rolke created QPID-4392: - Summary: C++ Broker - channel number collisions on federated links Key: QPID-4392 URL: https://issues.apache.org/jira/browse/QPID-4392 Project: Qpid Issue Type: Bug Components: C++ Broker Affects Versions: 0.18 Reporter: Chuck Rolke Channel numbers are allocated in counting sequence. After creating and deleting tens of thousands of bridges the channel numbers wrap around and collide with existing channels. Existing channel numbers need to be tracked so that new channel numbers are unique. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Assigned] (QPID-4392) C++ Broker - channel number collisions on federated links
[ https://issues.apache.org/jira/browse/QPID-4392?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Chuck Rolke reassigned QPID-4392: - Assignee: Chuck Rolke > C++ Broker - channel number collisions on federated links > - > > Key: QPID-4392 > URL: https://issues.apache.org/jira/browse/QPID-4392 > Project: Qpid > Issue Type: Bug > Components: C++ Broker >Affects Versions: 0.18 >Reporter: Chuck Rolke >Assignee: Chuck Rolke > > Channel numbers are allocated in counting sequence. After creating and > deleting tens of thousands of bridges the channel numbers wrap around and > collide with existing channels. > Existing channel numbers need to be tracked so that new channel numbers are > unique. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Resolved] (QPID-4392) C++ Broker - channel number collisions on federated links
[ https://issues.apache.org/jira/browse/QPID-4392?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Chuck Rolke resolved QPID-4392. --- Resolution: Fixed Fix Version/s: 0.19 Fixed in r1402158 > C++ Broker - channel number collisions on federated links > - > > Key: QPID-4392 > URL: https://issues.apache.org/jira/browse/QPID-4392 > Project: Qpid > Issue Type: Bug > Components: C++ Broker >Affects Versions: 0.18 >Reporter: Chuck Rolke >Assignee: Chuck Rolke > Fix For: 0.19 > > > Channel numbers are allocated in counting sequence. After creating and > deleting tens of thousands of bridges the channel numbers wrap around and > collide with existing channels. > Existing channel numbers need to be tracked so that new channel numbers are > unique. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Created] (QPID-4397) C++ Broker Improve log statement for expired messages
Chuck Rolke created QPID-4397: - Summary: C++ Broker Improve log statement for expired messages Key: QPID-4397 URL: https://issues.apache.org/jira/browse/QPID-4397 Project: Qpid Issue Type: Improvement Components: C++ Broker Affects Versions: 0.18 Reporter: Chuck Rolke Assignee: Chuck Rolke Log statements for expired messages contain no information about what message was expired. The proposal is to add something about the message to the log statement. Change: QPID_LOG(debug, "Message expired from queue '" << name << "'"); To: QPID_LOG(debug, "Message '" << msg << "' expired from queue '" << name "'"); -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Created] (QPID-4398) C++ Broker log statements print address of message rather than message details
Chuck Rolke created QPID-4398: - Summary: C++ Broker log statements print address of message rather than message details Key: QPID-4398 URL: https://issues.apache.org/jira/browse/QPID-4398 Project: Qpid Issue Type: Bug Components: C++ Broker Affects Versions: 0.19 Reporter: Chuck Rolke In file cpp/src/broker/Queue.cpp (and probably elsewhere) log statements print facts about a message using the construct: Message* msg = xxx; QPID_LOG(debug, "The message " << msg << " needs logging"); At run time the log statement prints 2012-10-25 19:34:54 [Broker] critical The message 00E596E0 needs logging I suspect that this is a detail left over from the 0.10-to-1.0 refactoring. A reasonable message log would contain at least the message headers and possibly some number of message bytes. Before the recent refactoring the headers could be obtained with: *(msg->getProperties()) Now that same info needs some property accessors. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Created] (QPID-4403) C++ Broker Timer warnings are still too verbose and frequent
Chuck Rolke created QPID-4403: - Summary: C++ Broker Timer warnings are still too verbose and frequent Key: QPID-4403 URL: https://issues.apache.org/jira/browse/QPID-4403 Project: Qpid Issue Type: Improvement Components: C++ Broker Affects Versions: 0.18 Reporter: Chuck Rolke Continuing issue QPID-3476. 1) Further reducing the timer warning message log level. Between 0.12 and 0.13 timer warning messages were demoted from warning to informational log levels. In 0.19 the external store produces overrun info messages every time leading to log file bloat. The proposal here is to demote the information statements to debug statements for the same reasons that they were demoted from warnings: "Demoting the warnings to debug statements would avoid undue alarm and prevent excess noise in log files. Should there be a need to see the information it is a lot easier to enable it (--log-enable debug+:Timer) than it is to turn it off at present." 2) Increasing the timer warning interval. Another consideration is to change the hard-coded five second warning interval to something longer. I suggest that one minute would be a good choice. The timer warning code already accumulates the number of warnings for the warning interval to prevent a flood of warnings. Increasing the warning interval further reduces the flood. 3) Performance improvement. When Issue 3476 was patched from warning to info there was a corresponding QPID_LOG_TEST in Timer.cpp that was not patched. This causes the late and overrun calculations to run even though the results will never be logged. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Created] (QPID-4404) C++ Broker qpidd hang with --config command line
Chuck Rolke created QPID-4404: - Summary: C++ Broker qpidd hang with --config command line Key: QPID-4404 URL: https://issues.apache.org/jira/browse/QPID-4404 Project: Qpid Issue Type: Bug Components: C++ Broker Affects Versions: 0.18 Environment: Unix Reporter: Chuck Rolke qpidd --config switch naming a directory causes the startup to hang. Steps to Reproduce on unix: 1. mkdir /tmp/dir 2. qpidd --config /tmp/dir This is not an issue on windows. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Resolved] (QPID-4404) C++ Broker qpidd hang with --config command line
[ https://issues.apache.org/jira/browse/QPID-4404?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Chuck Rolke resolved QPID-4404. --- Resolution: Fixed Fix Version/s: 0.19 Assignee: Chuck Rolke Fixed with r1403797 http://svn.apache.org/viewvc?view=revision&revision=1403797 > C++ Broker qpidd hang with --config command line > > > Key: QPID-4404 > URL: https://issues.apache.org/jira/browse/QPID-4404 > Project: Qpid > Issue Type: Bug > Components: C++ Broker >Affects Versions: 0.18 > Environment: Unix >Reporter: Chuck Rolke >Assignee: Chuck Rolke > Fix For: 0.19 > > > qpidd --config switch naming a directory causes the startup to hang. > Steps to Reproduce on unix: > 1. mkdir /tmp/dir > 2. qpidd --config /tmp/dir > This is not an issue on windows. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Created] (QPID-4421) C++ Broker Issue with reusing link channel Id number too soon
Chuck Rolke created QPID-4421: - Summary: C++ Broker Issue with reusing link channel Id number too soon Key: QPID-4421 URL: https://issues.apache.org/jira/browse/QPID-4421 Project: Qpid Issue Type: Bug Components: C++ Broker Affects Versions: 0.18 Reporter: Chuck Rolke Following on to QPID-4392 As you add and remove replicated queues within an HA broker, bridges are opened and closed for each queue. Closing a bridge immediately re-adds the associated channel number into an available pool. As a result, when the old bridge (channel X) is closed it sends a "detach" command to the broker and the new bridge (assigned the same channel X) sends an "attach" command. The broker will eventually respond with a "detached" command which was meant for the original bridge on channel X. Unfortunately, the new bridge on channel X handles this detached command from the broker and flags the bridge as detached. This process can then repeat for several cycles until it break out of the detach/attach/detached race. In addition to the detach/attach/detached race, the immediate re-use of channel numbers appears to create other issues like the following: Nov 2 11:26:40 itcm31 qpidd[12122]: 2012-11-02 11:26:40 [Protocol] error Execution exception: invalid-argument: anonymous.qpid.bridge_session_qpid.replicator-Queue1.b64c23e6-cb01-4297-8935-c12b40 804ae2_84209514-2e58-4fb9-8d37-7c2440f5f144: confirmed < (2+0) but only sent < (0+0) (qpid/SessionState.cpp:154) This issue may be worked around by assigning channel Id numbers from the pool in increasing serial order and not immediately reusing a deallocated Id. Although this does not fix the problem of the race condition it will provide relief. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Commented] (QPID-4421) C++ Broker Issue with reusing link channel Id number too soon
[ https://issues.apache.org/jira/browse/QPID-4421?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13490914#comment-13490914 ] Chuck Rolke commented on QPID-4421: --- Workaround submitted by r1405946 > C++ Broker Issue with reusing link channel Id number too soon > - > > Key: QPID-4421 > URL: https://issues.apache.org/jira/browse/QPID-4421 > Project: Qpid > Issue Type: Bug > Components: C++ Broker >Affects Versions: 0.18 >Reporter: Chuck Rolke > > Following on to QPID-4392 > As you add and remove replicated queues within an HA broker, bridges are > opened and closed for each queue. Closing a bridge immediately re-adds the > associated channel number into an available pool. As a result, when the old > bridge (channel X) is closed it sends a "detach" command to the broker and > the new bridge (assigned the same channel X) sends an "attach" command. The > broker will eventually respond with a "detached" command which was meant for > the original bridge on channel X. Unfortunately, the new bridge on channel X > handles this detached command from the broker and flags the bridge as > detached. This process can then repeat for several cycles until it break out > of the detach/attach/detached race. > In addition to the detach/attach/detached race, the immediate re-use of > channel numbers appears to create other issues like the following: > Nov 2 11:26:40 itcm31 qpidd[12122]: 2012-11-02 11:26:40 [Protocol] error > Execution exception: invalid-argument: > anonymous.qpid.bridge_session_qpid.replicator-Queue1.b64c23e6-cb01-4297-8935-c12b40 > 804ae2_84209514-2e58-4fb9-8d37-7c2440f5f144: confirmed < (2+0) but only sent > < (0+0) (qpid/SessionState.cpp:154) > This issue may be worked around by assigning channel Id numbers from the pool > in increasing serial order and not immediately reusing a deallocated Id. > Although this does not fix the problem of the race condition it will provide > relief. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Created] (QPID-4423) C++ Broker Dynamic and static federation should not declare existing queues
Chuck Rolke created QPID-4423: - Summary: C++ Broker Dynamic and static federation should not declare existing queues Key: QPID-4423 URL: https://issues.apache.org/jira/browse/QPID-4423 Project: Qpid Issue Type: Bug Components: C++ Broker Affects Versions: 0.18 Reporter: Chuck Rolke Assignee: Chuck Rolke When configuring either a dynamic or static federated link, it is possible to provide the name of an existing queue to utilize. The issue is that the destination broker of the federated route will attempt to declare the queue regardless of whether or not it should be using an existing queue. This can result in a race condition if the pre-existing queue is not yet available on the source broker. When the destination broker creates a queue it will use default queue settings (i.e. trace/exclude, reject policy, default size limits) and not the desired configured settings that the queue will have when created properly on the source broker. The proposal to fix this issue is if a queue name was provided during a bridge declaration then the broker should not attempt to declare the queue. When no name is provided then the broker may go ahead and declare an exclusive queue. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Created] (QPID-4424) C++ Broker on Windows - Assertion Failed: !dispatcher - PollableQueue.h line 136
Chuck Rolke created QPID-4424: - Summary: C++ Broker on Windows - Assertion Failed: !dispatcher - PollableQueue.h line 136 Key: QPID-4424 URL: https://issues.apache.org/jira/browse/QPID-4424 Project: Qpid Issue Type: Bug Components: C++ Broker Affects Versions: 0.18 Environment: Windows Server 2008 R2 64-bit system Visual Studio 2010 32-bit executable Reporter: Chuck Rolke Start broker with 'qpidd --auth no --no-data-dir'. Sit for 15 or so seconds. No external connections from clients. No cluster. Assert happens. Stack at assert time: msvcr100d.dll!_NMSG_WRITE(int rterrnum=10) Line 217C msvcr100d.dll!abort() Line 61 + 0x7 bytes C msvcr100d.dll!_wassert(const wchar_t * expr=0x5ff25504, const wchar_t * filename=0x5ff25480, unsigned int lineno=136) Line 153 C > > qpidbrokerd.dll!qpid::sys::PollableQueue,qpid::broker::Message> > >::dispatch(qpid::sys::PollableCondition & cond={...}) Line 136 + 0x36 > bytes C++ qpidbrokerd.dll!boost::_mfi::mf1,qpid::broker::Message> >,qpid::sys::PollableCondition &>::operator()(qpid::sys::PollableQueue,qpid::broker::Message> > * p=0x00c72b80, qpid::sys::PollableCondition & a1={...}) Line 165 + 0x10 bytes C++ qpidbrokerd.dll!boost::_bi::list2,qpid::broker::Message> > *>,boost::arg<1> >::operator(),qpid::broker::Message> >,qpid::sys::PollableCondition &>,boost::_bi::list1 >(boost::_bi::type __formal={...}, boost::_mfi::mf1,qpid::broker::Message> >,qpid::sys::PollableCondition &> & f={...}, boost::_bi::list1 & a={...}, boost::_bi::type __formal={...}) Line 314C++ qpidbrokerd.dll!boost::_bi::bind_t,qpid::broker::Message> >,qpid::sys::PollableCondition &>,boost::_bi::list2,qpid::broker::Message> > *>,boost::arg<1> > >::operator()(qpid::sys::PollableCondition & a1={...}) Line 33 C++ qpidbrokerd.dll!boost::detail::function::void_function_obj_invoker1,qpid::broker::Message> >,qpid::sys::PollableCondition &>,boost::_bi::list2,qpid::broker::Message> > *>,boost::arg<1> > >,void,qpid::sys::PollableCondition &>::invoke(boost::detail::function::function_buffer & function_obj_ptr={...}, qpid::sys::PollableCondition & a0={...}) Line 154 C++ qpidcommond.dll!boost::function1::operator()(qpid::sys::PollableCondition & a0={...}) Line 760 + 0x1a bytes C++ qpidcommond.dll!qpid::sys::PollableConditionPrivate::dispatch(qpid::sys::windows::AsynchIoResult * result=0x00cad6e0) Line 81 C++ qpidcommond.dll!boost::_mfi::mf1::operator()(qpid::sys::PollableConditionPrivate * p=0x00c72cd0, qpid::sys::windows::AsynchIoResult * a1=0x00cad6e0) Line 165 + 0x10 bytes C++ qpidcommond.dll!boost::_bi::list2,boost::arg<1> >::operator(),boost::_bi::list1 >(boost::_bi::type __formal={...}, boost::_mfi::mf1 & f={...}, boost::_bi::list1 & a={...}, boost::_bi::type __formal={...}) Line 314 C++ qpidcommond.dll!boost::_bi::bind_t,boost::_bi::list2,boost::arg<1> > >::operator()(qpid::sys::windows::AsynchIoResult * & a1=0x00cad6e0) Line 33 C++ qpidcommond.dll!boost::detail::function::void_function_obj_invoker1,boost::_bi::list2,boost::arg<1> > >,void,qpid::sys::windows::AsynchIoResult *>::invoke(boost::detail::function::function_buffer & function_obj_ptr={...}, qpid::sys::windows::AsynchIoResult * a0=0x00cad6e0) Line 154C++ qpidcommond.dll!boost::function1::operator()(qpid::sys::windows::AsynchIoResult * a0=0x00cad6e0) Line 760 + 0x1a bytes C++ qpidcommond.dll!qpid::sys::windows::AsynchCallbackRequest::complete() Line 189 C++ qpidcommond.dll!qpid::sys::windows::AsynchResult::success(unsigned int bytesTransferred=0) Line 57 + 0xf bytes C++ qpidcommond.dll!qpid::sys::Poller::wait(qpid::sys::Duration timeout={...}) Line 196 + 0x12 bytes C++ qpidcommond.dll!qpid::sys::Poller::run() Line 118 C++ qpidcommond.dll!qpid::sys::Dispatcher::run() Line 37 + 0x1d bytes C++ qpidbrokerd.dll!qpid::broker::Broker::run() Line 429 + 0xb bytes C++ qpidd.exe!qpid::broker::QpiddBroker::execute(qpid::broker::QpiddOptions * options=0x00c5b818) Line 481 + 0x26 bytesC++ qpidd.exe!qpid::broker::run_broker(int argc=4, char * * argv=0x00c519f8, bool hidden=false) Line 106 + 0x16 bytes C++ qpidd.exe!main(int argc=4, char * * argv=0x00c519f8) Line 507 + 0xf bytes C++ qpidd.exe!__tmainCRTStartup() Line 555 + 0x19 bytesC qpidd.exe!mainCRTStartup() Line 371C kernel32.dll!75d333aa() [Frames below may be incorrect and/or missing, no symbols loaded for kernel32.dll] ntdll.dll!770c9ef2() ntdll.dll!770c9ec5() -- This message is automatically generated by JIRA. If you think it was sent incor
[jira] [Created] (QPID-4426) C++ Messaging Client .NET Binding callback server example fails to relay exceptions to main loop
Chuck Rolke created QPID-4426: - Summary: C++ Messaging Client .NET Binding callback server example fails to relay exceptions to main loop Key: QPID-4426 URL: https://issues.apache.org/jira/browse/QPID-4426 Project: Qpid Issue Type: Bug Components: Dot Net Client Affects Versions: 0.18 Reporter: Chuck Rolke Assignee: Chuck Rolke The Messaging Client .NET Binding provides an example callback server called sessionreceiver. It creates a thread and calls a session's NextReceiver function. If NextReceiver encounters any kind of exception then that exception goes unhandled. The proposed fix is to add a SessionException() callback to the interface. Then the NextReceiver is placed in a try-catch block and caught exceptions are sent through the new callback. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Created] (QPID-4427) C++ Messaging Client .NET Binding failed to wrap Receiver.close() managed exception
Chuck Rolke created QPID-4427: - Summary: C++ Messaging Client .NET Binding failed to wrap Receiver.close() managed exception Key: QPID-4427 URL: https://issues.apache.org/jira/browse/QPID-4427 Project: Qpid Issue Type: Bug Affects Versions: 0.18 Reporter: Chuck Rolke Assignee: Chuck Rolke Issue QPID-2923 covered the reasons wrapping the unmanaged native exceptions and returning managed exceptions to the .NET application. This issue covers one instance that didn't get the treatment. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Resolved] (QPID-4426) C++ Messaging Client .NET Binding callback server example fails to relay exceptions to main loop
[ https://issues.apache.org/jira/browse/QPID-4426?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Chuck Rolke resolved QPID-4426. --- Resolution: Fixed Fix Version/s: 0.19 Fixed in r1406713 > C++ Messaging Client .NET Binding callback server example fails to relay > exceptions to main loop > > > Key: QPID-4426 > URL: https://issues.apache.org/jira/browse/QPID-4426 > Project: Qpid > Issue Type: Bug > Components: Dot Net Client >Affects Versions: 0.18 >Reporter: Chuck Rolke >Assignee: Chuck Rolke > Fix For: 0.19 > > > The Messaging Client .NET Binding provides an example callback server called > sessionreceiver. It creates a thread and calls a session's NextReceiver > function. If NextReceiver encounters any kind of exception then that > exception goes unhandled. > The proposed fix is to add a SessionException() callback to the interface. > Then the NextReceiver is placed in a try-catch block and caught exceptions > are sent through the new callback. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Resolved] (QPID-4427) C++ Messaging Client .NET Binding failed to wrap Receiver.close() managed exception
[ https://issues.apache.org/jira/browse/QPID-4427?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Chuck Rolke resolved QPID-4427. --- Resolution: Fixed Fix Version/s: 0.19 Fixed by r1406725 > C++ Messaging Client .NET Binding failed to wrap Receiver.close() managed > exception > --- > > Key: QPID-4427 > URL: https://issues.apache.org/jira/browse/QPID-4427 > Project: Qpid > Issue Type: Bug >Affects Versions: 0.18 >Reporter: Chuck Rolke >Assignee: Chuck Rolke > Fix For: 0.19 > > > Issue QPID-2923 covered the reasons wrapping the unmanaged native exceptions > and returning managed exceptions to the .NET application. > This issue covers one instance that didn't get the treatment. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Resolved] (QPID-4380) Channel collision on federated link after creating/deleting ~64K bridges
[ https://issues.apache.org/jira/browse/QPID-4380?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Chuck Rolke resolved QPID-4380. --- Resolution: Duplicate This issue is resolved by checkins for QPID-4421 and QPID-4392 > Channel collision on federated link after creating/deleting ~64K bridges > - > > Key: QPID-4380 > URL: https://issues.apache.org/jira/browse/QPID-4380 > Project: Qpid > Issue Type: Bug > Components: C++ Clustering >Affects Versions: 0.18 >Reporter: Alan Conway >Assignee: Chuck Rolke > > Description of problem: > Link does not properly track available channel numbers for the connection, > instead it uses a counter which wraps at 64K. Therefore, if you create and > delete enough bridges so that the counter wraps, you will encounter a channel > collision between two bridges. > Oct 19 17:35:31 system-node1a-cluster qpidd[22883]: 2012-10-19 17:35:31 > [Protocol] error Channel exception: transport-busy: Channel 1 already > attached to > anonymous.qpid.bridge_session_qpid.broker-replicator.bridge.da11c440-d009-4f00-800b-27f04a820cee_eb35657f-6bc9-4f9d-b871-8ccfe640953f > (qpid/amqp_0_10/SessionHandler.cpp:159) > Oct 19 17:35:31 system-node1a-cluster qpidd[22883]: 2012-10-19 17:35:31 > [Protocol] error Execution exception: invalid-argument: session.detach: > incorrect session name: > qpid.bridge_session_qpid.replicator-TDQ.l.RRAA.RRAA+2870.amqp1.a908ab6b-2465-4d7c-a4e8-954ccf94223d_9f539e38-b017-4131-82fb-4c135144378f, > expecting: > qpid.bridge_session_qpid.replicator-Bridge.b.RRAA.968e1e94-fe04-4488-a411-2ddd2e53cefc_9f539e38-b017-4131-82fb-4c135144378f > (qpid/amqp_0_10/SessionHandler.cpp:183) > Version-Release number of selected component (if applicable): > Qpid 0.18 > How reproducible: > 100% > Steps to Reproduce: > 1. Create a federated link between two brokers > 2. Create 1 bridge and then create/delete ~64K additional bridges > > Actual results: > The channel counter in Link will eventually wrap and cause a collision with > the first bridge even though plenty of channels are available > Expected results: > New bridges will be assigned unique channel numbers > see https://bugzilla.redhat.com/show_bug.cgi?id=868403 -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Created] (QPID-4439) Norton Internet Security Deems Qpid and Boost DLLs to be Suspicious.Cloud.7.F Viruses
Chuck Rolke created QPID-4439: - Summary: Norton Internet Security Deems Qpid and Boost DLLs to be Suspicious.Cloud.7.F Viruses Key: QPID-4439 URL: https://issues.apache.org/jira/browse/QPID-4439 Project: Qpid Issue Type: Bug Components: Tools Affects Versions: 0.18 Environment: Windows 7, NIS 19.9.0.9 Updated Nov 16, 2012 Reporter: Chuck Rolke NIS did a full system scan and declared many important QPID DLL files to be Suspicious.Cloud.7.F viruses. These include: mssql_stored.dll, msclfs_stored.dll, test_stored.dll, stored.dll, had.dll, replication_exchanged.dll, replication_listener.dll, boost_filesystem-vc100-mt-gd-1_47.dll, boost_math_c99l-vc100-mt-gd-1_47.dll Without much analysis it looks like NIS is picking on vc100 (Visual Studio 2010) debug files. This finally explains the bit rot that my development environment occasionally suffers. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Assigned] (QPID-4439) Norton Internet Security Deems Qpid and Boost DLLs to be Suspicious.Cloud.7.F Viruses
[ https://issues.apache.org/jira/browse/QPID-4439?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Chuck Rolke reassigned QPID-4439: - Assignee: Chuck Rolke > Norton Internet Security Deems Qpid and Boost DLLs to be Suspicious.Cloud.7.F > Viruses > - > > Key: QPID-4439 > URL: https://issues.apache.org/jira/browse/QPID-4439 > Project: Qpid > Issue Type: Bug > Components: Tools >Affects Versions: 0.18 > Environment: Windows 7, NIS 19.9.0.9 Updated Nov 16, 2012 >Reporter: Chuck Rolke >Assignee: Chuck Rolke > > NIS did a full system scan and declared many important QPID DLL files to be > Suspicious.Cloud.7.F viruses. These include: > mssql_stored.dll, msclfs_stored.dll, test_stored.dll, stored.dll, had.dll, > replication_exchanged.dll, replication_listener.dll, > boost_filesystem-vc100-mt-gd-1_47.dll, boost_math_c99l-vc100-mt-gd-1_47.dll > Without much analysis it looks like NIS is picking on vc100 (Visual Studio > 2010) debug files. > This finally explains the bit rot that my development environment > occasionally suffers. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Resolved] (QPID-4439) Norton Internet Security Deems Qpid and Boost DLLs to be Suspicious.Cloud.7.F Viruses
[ https://issues.apache.org/jira/browse/QPID-4439?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Chuck Rolke resolved QPID-4439. --- Resolution: Cannot Reproduce Fix Version/s: 0.18 I reported this through Symantec's False Positive reporting system. After a week to ten days they responded that the issue was resolved in a recent release. Rescanning a recent build reveals no threats and no files moved to quarantine. The scan included x86/x64, VS2008/VS2010, debug/relwithdebinfo variations. The scan included the both zip file with the problematic DLL files in them and directories of unzipped files. Note that recovering unzipped files from quarantine is really easy but there's no recovery from a threat removal process that deletes the files from zip archives. > Norton Internet Security Deems Qpid and Boost DLLs to be Suspicious.Cloud.7.F > Viruses > - > > Key: QPID-4439 > URL: https://issues.apache.org/jira/browse/QPID-4439 > Project: Qpid > Issue Type: Bug > Components: Tools >Affects Versions: 0.18 > Environment: Windows 7, NIS 19.9.0.9 Updated Nov 16, 2012 >Reporter: Chuck Rolke >Assignee: Chuck Rolke > Fix For: 0.18 > > > NIS did a full system scan and declared many important QPID DLL files to be > Suspicious.Cloud.7.F viruses. These include: > mssql_stored.dll, msclfs_stored.dll, test_stored.dll, stored.dll, had.dll, > replication_exchanged.dll, replication_listener.dll, > boost_filesystem-vc100-mt-gd-1_47.dll, boost_math_c99l-vc100-mt-gd-1_47.dll > Without much analysis it looks like NIS is picking on vc100 (Visual Studio > 2010) debug files. > This finally explains the bit rot that my development environment > occasionally suffers. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Commented] (QPID-4490) Durable messages with TTL do not expire after broker recovery (c++ store)
[ https://issues.apache.org/jira/browse/QPID-4490?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13511480#comment-13511480 ] Chuck Rolke commented on QPID-4490: --- Fixed even more in r1417963 > Durable messages with TTL do not expire after broker recovery (c++ store) > - > > Key: QPID-4490 > URL: https://issues.apache.org/jira/browse/QPID-4490 > Project: Qpid > Issue Type: Bug > Components: C++ Broker >Reporter: Kim van der Riet >Assignee: Kim van der Riet > > Durable messages with TTL which are later recovered from the c++ store do not > expire. The following demonstrates: > 1. Start broker: > ./qpidd --load-module msgstore.so --auth no --log-enable info+ > 2. Run client to send two messages: > ./qpid-send -m 2 --ttl 10 --durable yes -a "test; {create: always, node: > {durable: True}}" > 3. Stop and restart broker, recovering the messages. > 4. Run client to receive messages one at a time: > ./qpid-receive -m 1 --print-header yes -a test > TTL: 10 > Durable: true > Redelivered: true > Properties: {sn:1, ts:1354716748759170497, x-amqp-0-10.routing-key:test} > ./qpid-receive -m 1 --print-header yes -a test > TTL: 10 > Durable: true > Redelivered: true > Properties: {sn:2, ts:1354716748759340826, x-amqp-0-10.routing-key:test} > For both messages the TTL of the recovered messages is set to 10 (the > initial setting), but the timer is not running, and the TTL never decreases. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Assigned] (QPID-1726) Develop an ASF licensed, Qpid hosted store module
[ https://issues.apache.org/jira/browse/QPID-1726?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Chuck Rolke reassigned QPID-1726: - Assignee: Chuck Rolke > Develop an ASF licensed, Qpid hosted store module > - > > Key: QPID-1726 > URL: https://issues.apache.org/jira/browse/QPID-1726 > Project: Qpid > Issue Type: New Feature > Components: C++ Broker >Reporter: Gordon Sim >Assignee: Chuck Rolke > -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Commented] (QPID-1726) Develop an ASF licensed, Qpid hosted store module
[ https://issues.apache.org/jira/browse/QPID-1726?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13526547#comment-13526547 ] Chuck Rolke commented on QPID-1726: --- I would like to import/relicense the legacy C++ store currently located at http://anonsvn.jboss.org/repos/rhmessaging/store/trunk The object would be: 1. Relicense files to ASF where possible. Do not import files that fail relicensing. 2. Install the source code from trunk/cpp into Qpid at cpp/src/qpid/legacystore/* 3. Convert the legacystore build to cmake for *nux only. 4. Integrate self tests and documentation TBD. After this exercise a message-store sharable object for linux may be created from a regular qpid build. > Develop an ASF licensed, Qpid hosted store module > - > > Key: QPID-1726 > URL: https://issues.apache.org/jira/browse/QPID-1726 > Project: Qpid > Issue Type: New Feature > Components: C++ Broker >Reporter: Gordon Sim >Assignee: Chuck Rolke > -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Created] (QPID-4494) C++ Broker uses RoutingKey property during exchange declare Acl lookup
Chuck Rolke created QPID-4494: - Summary: C++ Broker uses RoutingKey property during exchange declare Acl lookup Key: QPID-4494 URL: https://issues.apache.org/jira/browse/QPID-4494 Project: Qpid Issue Type: Bug Components: C++ Broker Affects Versions: 0.18 Reporter: Chuck Rolke Assignee: Chuck Rolke The Acl interface to the broker during and exchange bound function includes an extraneous binding key parameter. The functions that trigger this lookup are illustrated here: COMMAND LINE ./spout "x-usera-1/a.x" ON THE WIRE 2012-12-04 15:55:25 [Protocol] trace RECV [127.0.0.1:5672-127.0.0.1:46894]: Frame[BEbe; channel=1; {ExchangeBoundBody: exchange=x-usera-1; queue=x-usera-1; binding-key=; arguments={}; }] ACL LOOKUP 2012-12-04 15:55:25 [Security] debug ACL: Lookup for id:anonymous action:access objectType:exchange name:x-usera-1 with params { routingkey= queuename=x-usera-1 } The user application is passing the binding key 'a.x' to the messaging client. However, the messaging client does not pass the binding key to the broker during the ExchangeBoundBody message. As a result the broker Acl lookup uses a blank routingkey. If the broker is configured with an Acl file that has an ACCESS EXCHANGE rule that specifies a routingkey then that rule will never match. The suggested change is to deprecate the routingkey property in the Acl ACCESS EXCHANGE rule processing. If a routingkey is specified then it will be ignored and a warning message will be issued. If customers have 'access exchange' rules that use routingkey values specified then the Acl behavior may start matching rules that did not match before. However the log file will have an Acl warning and the broker will not fail to boot due to an Acl file processing error. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Resolved] (QPID-4494) C++ Broker uses RoutingKey property during exchange declare Acl lookup
[ https://issues.apache.org/jira/browse/QPID-4494?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Chuck Rolke resolved QPID-4494. --- Resolution: Not A Problem Fix Version/s: 0.18 The amqp::exchange::bound frame includes Exchange, Queue, Binding-key, and Args. The broker passes Exchange, Queue, and Binding-key to the Acl module for processing. It would be an error to remove the Binding-key value in the Acl call. The fact that the C++ Messaging client chooses not to pass a binding-key to the bound call is not an error either. Executing the same drain/spout commands through the Python client does not even generate an exchange::bound frame. > C++ Broker uses RoutingKey property during exchange declare Acl lookup > -- > > Key: QPID-4494 > URL: https://issues.apache.org/jira/browse/QPID-4494 > Project: Qpid > Issue Type: Bug > Components: C++ Broker >Affects Versions: 0.18 >Reporter: Chuck Rolke >Assignee: Chuck Rolke > Fix For: 0.18 > > > The Acl interface to the broker during and exchange bound function includes > an extraneous binding key parameter. > The functions that trigger this lookup are illustrated here: > COMMAND LINE > ./spout "x-usera-1/a.x" > ON THE WIRE > 2012-12-04 15:55:25 [Protocol] trace RECV [127.0.0.1:5672-127.0.0.1:46894]: > Frame[BEbe; channel=1; {ExchangeBoundBody: exchange=x-usera-1; > queue=x-usera-1; binding-key=; arguments={}; }] > ACL LOOKUP > 2012-12-04 15:55:25 [Security] debug ACL: Lookup for id:anonymous > action:access objectType:exchange name:x-usera-1 with params { routingkey= > queuename=x-usera-1 } > The user application is passing the binding key 'a.x' to the messaging > client. However, the messaging client does not pass the binding key to the > broker during the ExchangeBoundBody message. As a result the broker Acl > lookup uses a blank routingkey. > If the broker is configured with an Acl file that has an ACCESS EXCHANGE rule > that specifies a routingkey then that rule will never match. > The suggested change is to deprecate the routingkey property in the Acl > ACCESS EXCHANGE rule processing. If a routingkey is specified then it will be > ignored and a warning message will be issued. > If customers have 'access exchange' rules that use routingkey values > specified then the Acl behavior may start matching rules that did not match > before. However the log file will have an Acl warning and the broker will not > fail to boot due to an Acl file processing error. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Commented] (QPID-1726) Develop an ASF licensed, Qpid hosted store module
[ https://issues.apache.org/jira/browse/QPID-1726?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13536523#comment-13536523 ] Chuck Rolke commented on QPID-1726: --- Phases 1-3 of the original objective are included in r1424091, r1424149, r1424162, r1424184, and r1424191. Current status has the legacystore module make commented out cpp/src/CMakeLists.txt. The imported files are slightly back dated with respect to trunk and need to be updated, especially as self tests are integrated. > Develop an ASF licensed, Qpid hosted store module > - > > Key: QPID-1726 > URL: https://issues.apache.org/jira/browse/QPID-1726 > Project: Qpid > Issue Type: New Feature > Components: C++ Broker >Reporter: Gordon Sim >Assignee: Chuck Rolke > -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Commented] (QPID-3729) C++ cmake build does not install python pieces needed for tests
[ https://issues.apache.org/jira/browse/QPID-3729?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13538461#comment-13538461 ] Chuck Rolke commented on QPID-3729: --- I've been getting an error from a CMake run on Windows: cpp/src/CMakeLists.txt line 1488 add_subdirectory(tests) cpp/src/tests/CMakeLists.txt line 291 execute_process(COMMAND ${PYTHON_EXECUTABLE} setup.py install ...) running install Traceback (most recent call last): File "setup.py", line 316, in distclass=distclass) File "C:\Program Files (x86)\Python27\lib\distutils\core.py", line 152, in setup dist.run_commands() File "C:\Program Files (x86)\Python27\lib\distutils\dist.py", line 953, in run_commands self.run_command(cmd) File "C:\Program Files (x86)\Python27\lib\distutils\dist.py", line 971, in run_command cmd_obj.ensure_finalized() File "C:\Program Files (x86)\Python27\lib\distutils\cmd.py", line 109, in ensure_finalized self.finalize_options() File "C:\Program Files (x86)\Python27\lib\distutils\command\install.py", line 353, in finalize_options 'userbase', 'usersite') File "C:\Program Files (x86)\Python27\lib\distutils\command\install.py", line 504, in convert_paths setattr(self, attr, convert_path(getattr(self, attr))) File "C:\Program Files (x86)\Python27\lib\distutils\util.py", line 201, in convert_path raise ValueError, "path '%s' cannot be absolute" % pathname ValueError: path '/Lib/site-packages' cannot be absolute Any clues on what's missing? > C++ cmake build does not install python pieces needed for tests > --- > > Key: QPID-3729 > URL: https://issues.apache.org/jira/browse/QPID-3729 > Project: Qpid > Issue Type: Bug > Components: Build Tools >Affects Versions: 0.14 > Environment: cmake all platforms >Reporter: Steve Huston >Assignee: Steve Huston > Fix For: 0.15 > > > The cpp/src/tests/Makefile.am runs python setup.py install on the needed > python items for the tests. The cmake build does not - it tries to rely on > setting paths to the proper locations in the source tree. The paths to the > source tree don't work right, and compiled python files get out of date > easily, resulting is false fails when the tests are run via cmake. The cmake > build should run the same python setup that the autotools build does. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Commented] (QPID-4095) Boost 1.50.0 has removed filesystem version 2 from the library
[ https://issues.apache.org/jira/browse/QPID-4095?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13547216#comment-13547216 ] Chuck Rolke commented on QPID-4095: --- These changes look good for inclusion into 0.20. > Boost 1.50.0 has removed filesystem version 2 from the library > -- > > Key: QPID-4095 > URL: https://issues.apache.org/jira/browse/QPID-4095 > Project: Qpid > Issue Type: Improvement > Components: C++ Broker, C++ Client, C++ Clustering >Affects Versions: 0.16 >Reporter: Davin Shearer >Assignee: Andrew Stitcher > Labels: build > Fix For: 0.21 > > Attachments: qpid_boost_fs.patch, qpid-cpp-0.16.patch > > > The build fails when building against boost 1.50.0 because version 0.16 and > earlier require boost filesystem version 2 which has been removed from boost > version 1.50.0. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Commented] (QPID-4531) Variant.cpp cast of -0 failing with older GCC
[ https://issues.apache.org/jira/browse/QPID-4531?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13550435#comment-13550435 ] Chuck Rolke commented on QPID-4531: --- Visual Studio 2010 complains twice: warning C4146: unary minus operator applied to unsigned type, result still unsigned D:\svn\Phase7\qpid\cpp\src\qpid\types\Variant.cpp 125 Build still completes ok. > Variant.cpp cast of -0 failing with older GCC > - > > Key: QPID-4531 > URL: https://issues.apache.org/jira/browse/QPID-4531 > Project: Qpid > Issue Type: Bug > Components: C++ Broker >Reporter: michael goulish >Assignee: michael goulish >Priority: Minor > Fix For: 0.21 > > > Cast of negative zero to a signed type is throwing with GCC 4.1.2, but not > with GCC 4.4.6 . > This causes a failure in unit tests. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Commented] (QPID-4535) Cmake build is broken by default since legacy store enabled
[ https://issues.apache.org/jira/browse/QPID-4535?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13553162#comment-13553162 ] Chuck Rolke commented on QPID-4535: --- Commit r1433127 addresses this issue. The cmake code now checks for libaio and uuid before proceeding. Link no longer requires rt. > Cmake build is broken by default since legacy store enabled > --- > > Key: QPID-4535 > URL: https://issues.apache.org/jira/browse/QPID-4535 > Project: Qpid > Issue Type: Bug >Reporter: Andrew Stitcher >Assignee: Chuck Rolke > > The cmake build doesn't check if libaio is available before enabling the > legacy store so unless you have the libraries and headers installed the build > breaks. > This will be a particular problem on non Linux systems that don't have these > libraries available at all. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Commented] (QPID-4095) Boost 1.50.0 has removed filesystem version 2 from the library
[ https://issues.apache.org/jira/browse/QPID-4095?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13557564#comment-13557564 ] Chuck Rolke commented on QPID-4095: --- Commit r1435326 gets rid of Boost filesystem entirely for windows. So now it's gone for all platforms. That will fix those pesky version differences. I've created a Boost kit version 1.52 for windows. Please see http://people.apache.org/~chug/boost-win-1.52/ This works just like kit version 1.47 including the annoying issue with Symantec Norton Internet Security declaring the boost filesystem DLLs as Suspicious.Cloud.7.F threats. > Boost 1.50.0 has removed filesystem version 2 from the library > -- > > Key: QPID-4095 > URL: https://issues.apache.org/jira/browse/QPID-4095 > Project: Qpid > Issue Type: Bug > Components: C++ Broker, C++ Client, C++ Clustering >Affects Versions: 0.16 >Reporter: Davin Shearer >Assignee: Andrew Stitcher > Labels: build > Fix For: 0.20, 0.21 > > Attachments: qpid_boost_fs.patch, qpid-cpp-0.16.patch > > > The build fails when building against boost 1.50.0 because version 0.16 and > earlier require boost filesystem version 2 which has been removed from boost > version 1.50.0. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Commented] (QPID-4439) Norton Internet Security Deems Qpid and Boost DLLs to be Suspicious.Cloud.7.F Viruses
[ https://issues.apache.org/jira/browse/QPID-4439?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13557573#comment-13557573 ] Chuck Rolke commented on QPID-4439: --- Today a recent build of windows boost_filesystem-vc100-mt-gd-1_52.dll was quarantined. Coincidently boost filesystem is removed from the qpid builds so it will be much less of an issue in 0.22. > Norton Internet Security Deems Qpid and Boost DLLs to be Suspicious.Cloud.7.F > Viruses > - > > Key: QPID-4439 > URL: https://issues.apache.org/jira/browse/QPID-4439 > Project: Qpid > Issue Type: Bug > Components: Tools >Affects Versions: 0.18 > Environment: Windows 7, NIS 19.9.0.9 Updated Nov 16, 2012 >Reporter: Chuck Rolke >Assignee: Chuck Rolke > Fix For: 0.18 > > > NIS did a full system scan and declared many important QPID DLL files to be > Suspicious.Cloud.7.F viruses. These include: > mssql_stored.dll, msclfs_stored.dll, test_stored.dll, stored.dll, had.dll, > replication_exchanged.dll, replication_listener.dll, > boost_filesystem-vc100-mt-gd-1_47.dll, boost_math_c99l-vc100-mt-gd-1_47.dll > Without much analysis it looks like NIS is picking on vc100 (Visual Studio > 2010) debug files. > This finally explains the bit rot that my development environment > occasionally suffers. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Commented] (QPID-4054) C++ Broker connection limits require better granularity
[ https://issues.apache.org/jira/browse/QPID-4054?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13563171#comment-13563171 ] Chuck Rolke commented on QPID-4054: --- This Jira is a proposal to add per-user connection limit specifications to the existing ACL module. Its scope could easily be expanded to control the per-user queue limit specification as well. Code on trunk currently enforces the connection limits in the ACL module. It makes some sense to continue adding connection limit code to the ACL module as the ACL rule file currently holds the specification of users and of groups of users. Specifying users or groups in another file is undesirable. - For review, the current ACL-related command line switches are: ACL Options: --acl-file FILEThe policy file to load from, loaded from data dir --max-connections N (500) The maximum combined number of connections allowed. 0 implies no limit. --connection-limit-per-user N (0) The maximum number of connections allowed per user. 0 implies no limit. --connection-limit-per-ip N (0)The maximum number of connections allowed per host IP address. 0 implies no limit. --max-queues-per-user N (0)The maximum number of queues allowed per user. 0 implies no limit. The proposed implementation includes these steps: 1. Remove the command line switch --connection-limit-per-user N (0) 2. Change the ACL File Syntax to have a 'quota' keyword quota connections value [|] * Individual users and groups may be mixed on the ACL rule line. * A 'quota connections' ACL rule with no user or group specified provides the quota for all users who are not otherwise mentioned in a quota rule. This rule behaves the same as the current per-user command line option removed in Step 1 above. Examples: a. quota connections 5 b. quota connections 2 charlie@QPID c. quota connections 5 alice@QPID generalusers bob@qpid d. quota connections 10 administrators Example a. Specifies quotas for all users. Same as the current command line switch. Example b. Specifies quotas for just an individual user. Example c. Specifies quotas for users and groups together. Example d. Specifies quotas for just a group. Note that an individual user may have conflicting values set by multiple 'quota connections' ACL rules. The ACL processor overwrites previous values set for a user when new values are specfied by later ACL rules. In the example above if charlie@QPID is a member of the generalusers group and of the administrators group then charlie@QPID would end up with a connection quota of 10. The ACL processor will display the values set for each user in debug log statements so that the values in effect for each user are available. Implementation notes: The code to allow or deny a given connection will not change much. Each user will have his connection quota compared to possibly a unique value rather than to a command-line global value for all users. > C++ Broker connection limits require better granularity > --- > > Key: QPID-4054 > URL: https://issues.apache.org/jira/browse/QPID-4054 > Project: Qpid > Issue Type: Improvement > Components: C++ Broker >Affects Versions: 0.16 >Reporter: Chuck Rolke >Assignee: Chuck Rolke > > A single command line switch sets the connection limit value for all users. > Typical customers require different limits for different users. This issue > tracks moving the user limit specification to the ACL file. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Created] (QPID-4552) C++ Messaging examples don't build
Chuck Rolke created QPID-4552: - Summary: C++ Messaging examples don't build Key: QPID-4552 URL: https://issues.apache.org/jira/browse/QPID-4552 Project: Qpid Issue Type: Bug Components: C++ Client Affects Versions: 0.21 Environment: Linux C++ Reporter: Chuck Rolke Changes made for QPID-4372 2013-01-18 r1435129 remove messaging examples from the build pool. The usual spout, drain, client, server, hello_world don't get built. Reverting the change brings them back so possibly they are too aggressive. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Created] (QPID-4553) C++ qpid::types::Variant::uint8_t not treated as integer during string conversion
Chuck Rolke created QPID-4553: - Summary: C++ qpid::types::Variant::uint8_t not treated as integer during string conversion Key: QPID-4553 URL: https://issues.apache.org/jira/browse/QPID-4553 Project: Qpid Issue Type: Bug Components: C++ Broker Affects Versions: 0.21 Environment: Linux/windows broker/client Messaging Reporter: Chuck Rolke There are unexpected conversion side effects when a uint8_t is created from a string. I expected the string value to be decoded into a binary value 0..255, the same as I expect for uint16_t, uint32_t, and uint64_t and their expected values. Instead uint8_t receives the first character of a one-character string as if there's an implicit string-to-single-character conversion. This behavior is not a regression. Am I mistaken expecting a 0..255 value from the .asUint8() function? The underlying cause is Boost being invoked through a template that works one way for three of the four cases and a different way for the uint8_t case. I'd like to get rid of that and replace it with a single, common string decode into a 64-bit integer. Then for the smaller subtypes mask the value down to the size of the respective type and throw if there's a range error. Here's a test where I'm looking at the recent "-0" conversion fix. In all cases I expect the value to be a binary zero. In the uint8_t case it is not. The only case where the conversion does not throw returns a value of 48 '0'. {code} void testZeroValueAs(const Variant theValue) { std::string phase; try { phase = "64bit - "; uint64_t myu64 = theValue.asUint64(); if (myu64 != 0) std::cout << "Failed at uint64 : " << myu64 << std::endl; phase = "32bit - "; uint32_t myu32 = theValue.asUint32(); if (myu32 != 0) std::cout << "Failed at uint32 : " << myu32 << std::endl; phase = "16bit - "; uint16_t myu16 = theValue.asUint16(); if (myu16 != 0) std::cout << "Failed at uint16 : " << myu16 << std::endl; phase = "8bit - "; uint8_t myu8 = theValue.asUint8(); if (myu8 != 0) std::cout << "Failed at uint8 : " << myu8 << std::endl; } catch (const std::exception& error) { std::cout << "Exception in phase " << phase << error.what() << std::endl; } } Variant value; value = "0"; testZeroValueAs(value); value = "00"; testZeroValueAs(value); value = "-00"; testZeroValueAs(value); {code} at run time this example produces: {code} Failed at uint8 : 0 Exception in phase 8bit - invalid conversion: Cannot convert 00 (..\..\qpid\cpp\src\qpid\types\Variant.cpp:126) Exception in phase 8bit - invalid conversion: Cannot convert -00 (..\..\qpid\cpp\src\qpid\types\Variant.cpp:126) {code} -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Commented] (QPID-4552) C++ Messaging examples don't build
[ https://issues.apache.org/jira/browse/QPID-4552?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13565604#comment-13565604 ] Chuck Rolke commented on QPID-4552: --- That's fine but I use the examples on a day-to-day basis. Suppose as a devo I add logging feature X to the broker. I need to trigger the log to get a breakpoint in the broker. Hello_world.cpp is my friend. How do I build the examples from a developer setup? I don't mind that there's some steps but what are they? Thanks. > C++ Messaging examples don't build > -- > > Key: QPID-4552 > URL: https://issues.apache.org/jira/browse/QPID-4552 > Project: Qpid > Issue Type: Bug > Components: C++ Client >Affects Versions: 0.21 > Environment: Linux C++ >Reporter: Chuck Rolke > > Changes made for QPID-4372 2013-01-18 r1435129 remove messaging examples from > the build pool. The usual spout, drain, client, server, hello_world don't get > built. > Reverting the change brings them back so possibly they are too aggressive. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Commented] (QPID-4054) C++ Broker connection limits require better granularity
[ https://issues.apache.org/jira/browse/QPID-4054?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13569114#comment-13569114 ] Chuck Rolke commented on QPID-4054: --- Code to implement this change is available at https://reviews.apache.org/r/9260/ The implementation differs from the comment of 25-Jan as follows: 1. The file syntax is {code} quota connections value | [ |] {code} A user or group name must be specified on every Acl rule line. 2. Quota values range from 0..65530. A quota value of zero denies connections from that user or group. 3. Quotas specified for pseudo-user "all" are applied to any user who is otherwise unnamed in the rule file. > C++ Broker connection limits require better granularity > --- > > Key: QPID-4054 > URL: https://issues.apache.org/jira/browse/QPID-4054 > Project: Qpid > Issue Type: Improvement > Components: C++ Broker >Affects Versions: 0.16 >Reporter: Chuck Rolke >Assignee: Chuck Rolke > > A single command line switch sets the connection limit value for all users. > Typical customers require different limits for different users. This issue > tracks moving the user limit specification to the ACL file. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Created] (QPID-4560) C++ Broker Acl overpopulates decision data tables
Chuck Rolke created QPID-4560: - Summary: C++ Broker Acl overpopulates decision data tables Key: QPID-4560 URL: https://issues.apache.org/jira/browse/QPID-4560 Project: Qpid Issue Type: Bug Components: C++ Broker Affects Versions: 0.21 Environment: All C++ brokers Reporter: Chuck Rolke Assignee: Chuck Rolke Priority: Minor The primary run-time decision structure for Acl processing contains rule lists indexed by [object][action]. There are five objects and nine actions resulting in 45 rule list roots. In actual practice, however, the broker has code only to call 14 of these. For instance, the broker will never call for authorisation of [link][bind] or [method][purge]. Normal Acl writers would not specify rules to fill these rule list roots but they are populated when rules using the "all" keyword are processed. There is already validation map code that identifies active intersections in the rule list but that code is unused. A relatively easy modification to the Acl module would be to consult the validation map before loading decision data and only proceed to install rules that may actually be called by the broker. On small scale Acl rule sets this is not an issue or at least no one has complained about it yet. Anticipating larger installations this proposed change would help. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Created] (QPID-4561) C++ Broker Acl should be built in and not a loadable module
Chuck Rolke created QPID-4561: - Summary: C++ Broker Acl should be built in and not a loadable module Key: QPID-4561 URL: https://issues.apache.org/jira/browse/QPID-4561 Project: Qpid Issue Type: Bug Components: C++ Broker Affects Versions: 0.21 Environment: Unix/Linux Reporter: Chuck Rolke Assignee: Chuck Rolke The Acl module is a strange hybrid of a loadable and a non-loadable module. >From a linux development environment acl.so is loaded manaully. Installed linux qpidd acl.so may be loaded automatically. Windows has no acl.dll, it is not loaded but it is built in. Windows qpidd has another strange behavior: The quota switches (--max-connections, --max-queues-per-user) are built in and always accepted by the broker. But they don't take effect unless --acl-file is also specified on the command line so that the Acl module wakes up. This is a bug. The proposal here is: 1. Force Acl code to be a normal built-in part of the broker and dispose of the acl.so module. 2. Acl processing could still be disabled by not specifying a --acl-file command line arg. 3. Quotas should always be active. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org