summaryrefslogtreecommitdiff
path: root/qpid/cpp/src
Commit message (Collapse)AuthorAgeFilesLines
* QPID-4558: Selectors for C++ brokerAndrew Stitcher2013-03-061-6/+2
| | | | | | | - Changed unit test code that relied on non C++03 feature Windows compiler spotted this problem. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1453536 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4629 Improve validation of received frames.Andrew Stitcher2013-03-052-24/+37
| | | | | | | | | | | | | | | | | - Added checks to Buffer to ensure no buffer overruns occur; - Fixed an unsigned comparison error in the checking function. - Improved FieldValue decoding to check we've actually got data before allocating the space for it. - Disallowed large arrays (greater than 256 elements) of zero length elements - avoids potential memory exhaustion problems. [Fixes from Florian Weimer, Red Hat Product Security Team, lightly modified] This change fixes these vulnerabilities CVE-2012-4458 CVE-2012-4459 CVE-2012-4460 git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1453031 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4558: Selectors for C++ brokerAndrew Stitcher2013-03-051-8/+7
| | | | | | | | - Small fixes: * Missing include file (accidentally included under gcc) * Workaround some strange VS 2008 issue. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1452960 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4558: Selectors for C++ brokerAndrew Stitcher2013-03-0411-231/+867
| | | | | | | | | | | | | - Added numeric and boolean values * To literals and identifier values * To the code that extracts values from message properties - Added the full set of comparison operators - Implemented full "unknown" semantics for all operators. - Implemented extended "is null" and "is not null" operators that allow expressions as well as just identifiers. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1452525 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4558: Selectors for C++ brokerAndrew Stitcher2013-03-047-2/+59
| | | | | | | | - Added in amqp 1.0 support that uses a filter for the selector - This change requires at least qpid-proton 0.4 (or a lot of warning messages are produced by the broker) git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1452524 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4558: Selectors for C++ brokerAndrew Stitcher2013-03-0411-5/+1166
| | | | | | | | | | | | | | | | | | | - Initial Selectors implemented: * Only string values supported (no numerics or bools) - Parses and executes the forms: * A=B * A<>B * I IS NULL * I IS NOT NULL - where A, B are strings or identifiers - I is an identifier * Conditional expressions can include the AND, OR and NOT operators and use parentheses. - Only limited special identifiers return useful values (although they are all recognised) - Unit tests for selector language git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1452523 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4558: Selectors for C++ brokerAndrew Stitcher2013-03-047-2/+192
| | | | | | | | | | | | | | | | - Add support to 0-10 protocol codepaths in client messaging library and the broker to transmit a selector when subscribing to a queue - This is specified by using a link property qpid.selector in the queue address. - The selector is actually transmitted under 0-10 as an user vlaue named qpid.selector in the arguments table of the subscription. - Added simple selector framework to broker. - Added in infrastructure for selector evaluation -- Put in place a trivial (but real) selector: The expression specifies a message property and returns true if it is present. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1452522 13f79535-47bb-0310-9956-ffa450edef68
* NO-JIRA: Changed subject filter to use described value now proton bug should ↵Andrew Stitcher2013-03-041-5/+4
| | | | | | be fixed. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1452520 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4604: C++ Broker queue limits controlled by ACL file. Patch from Ernie ↵Charles E. Rolke2013-03-018-131/+343
| | | | | | | | | | Allen. See https://reviews.apache.org/r/9703/ git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1451737 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4582: Legacystore self test fail. Remove them from the test buildCharles E. Rolke2013-03-011-1/+1
| | | | | | | | until the tests are rewritten to account for porting issues. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1451642 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4615: Allow unix qpidd to pass in existing socket fds on cmdline.Andrew Stitcher2013-03-016-6/+107
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1451446 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4610: Remove duplicated transport code from C++ brokerAndrew Stitcher2013-03-0112-814/+732
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1451443 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4607: C++ Broker connection limit counting failsCharles E. Rolke2013-02-273-71/+86
| | | | | | | | | | | | | | | Repair a few small but critical errors in program logic. Repair several misconceptions in the self test including: * provide visibility to connections (not sessions) so that they may be closed. * dodge names that may survive open connections from other tests. Tests may pass if run first but then fail if run 30th. The whole acl.py module could use a clean up pass to close out the 50+ open connections that exist that the end of the test. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1450841 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4601: HA backup broker shuts down after redeclaring exchangeAlan Conway2013-02-262-1/+16
| | | | | | | There was a bug in ExchangeRegistry, it was always setting disp=created even if the exchange was already present. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1450383 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4603: Teach qpid-send to send bool/int/float properties as well as stringsAndrew Stitcher2013-02-261-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1450289 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4600: New HA regularly shutting down active nodeAlan Conway2013-02-251-0/+5
| | | | | | | qpid-primary script was incorrect and failing on status calls, causing the broker to be restarted by rgmanager. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1449870 13f79535-47bb-0310-9956-ffa450edef68
* Revert "Bug 891689 - New HA regularly shutting down active node"Alan Conway2013-02-251-5/+0
| | | | | | | This reverts commit r1449832, the commit comment did not include a QPID JIRA number. A corrected version of the commit follows... git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1449869 13f79535-47bb-0310-9956-ffa450edef68
* Bug 891689 - New HA regularly shutting down active nodeAlan Conway2013-02-251-0/+5
| | | | | | | qpid-primary script was incorrect and failing on status calls, causing the broker to be restarted by rgmanager. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1449832 13f79535-47bb-0310-9956-ffa450edef68
* NO-JIRA: HA loggging: include status in log messages that refer to a BrokerInfoAlan Conway2013-02-256-22/+17
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1449831 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3833: convert int properties to strings if requestedGordon Sim2013-02-151-1/+7
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1446586 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4116: Allow the path to qpid-send and qpid-receive programs to be ↵Gordon Sim2013-02-151-3/+7
| | | | | | specified; patch from Pavel Moravec. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1446578 13f79535-47bb-0310-9956-ffa450edef68
* NO-JIRA: Rationalised unit test buildAndrew Stitcher2013-02-141-37/+48
| | | | | | | | | - Made an empty list of unit tests to build actually build all tests and made the default list empty, this gives much better behaviour in the usual case when adding and removing tests - Also sorted list of unit tests git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1446233 13f79535-47bb-0310-9956-ffa450edef68
* NO-JIRA: Removed unnecessary extra message filter checkAndrew Stitcher2013-02-141-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1446231 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4054: C++ Broker connection limits specified per-userCharles E. Rolke2013-02-126-2/+126
| | | | | | | | | | | | | | From the self-test log file: 2013-02-12 15:33:53 [Broker] notice Changing log hires timestamp to 1 2013-02-12 15:33:53.219003940 [Broker] debug Broker::setLogHiresTimestamp() ... 2013-02-12 15:33:53.491318800 [Broker] notice Changing log hires timestamp to 0 2013-02-12 15:33:53 [Broker] debug Broker::setLogHiresTimestamp() git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1445358 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4579: Fixes building Qpid under the latest GCC (4.8.0).Darryl L. Pierce2013-02-121-19/+24
| | | | | | | | | Moves the definition of Functor and MemFuncRef out of Handler class definition. Fixes the build failure in later versions of GCC. Contributed by: Petr Machata <pmachata@redhat.com> git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1445322 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4575: Visual Studio 2012 - Update boost version list to latest release.Charles E. Rolke2013-02-111-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1444934 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4054 C++ Broker connection limits per userCharles E. Rolke2013-02-0910-96/+566
| | | | | | | | | | | | | | 1. Constrain maximum limits to be a few ticks below Uint16_t max to avoid inadvertent wrapping and to allow room for some named constants such as UNLIMITED. 2. Add syntax to Acl rule file quota connections N user|group [user|group] 3. Pseudo user 'all' receives value from command line switch or from Acl rule file. 4. Named constant strings used in comparisons instead of local strings. 5. Connection counts maintained all the time to support reolad of Acl rule file that may change limits. 6. Self tests exercise all the features. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1444302 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4575 Visual Studio 2012 requires exported destructorCharles E. Rolke2013-02-081-0/+3
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1444277 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4555: HA Replace QueueSettings::declaredExclusive with isTemporary.Alan Conway2013-02-084-6/+5
| | | | | | | | Minor reorganization to make things clearer. It was not at all obvious what declaredExclusive mean, isTemporary makes more sense (suggested by gsim https://reviews.apache.org/r/9258/) git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1444200 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4555: HA Add QueueSettings::declaredExclusive for exclusive queues.Alan Conway2013-02-075-3/+8
| | | | | | | | | | This is set when the queue is created, before calling ConfigurationObserver::queueCreate, and does not change thereafter. The existing Queue::owner not set until after ConfigurationObserver::queueCreate and does change as ownership can be released and acquired. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1443679 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4555: HA Primary sets explicit qpid.replicate in Queue and Exchange ↵Alan Conway2013-02-0711-101/+109
| | | | | | | | | | | | | | | arguments. Previously both Primary and Backup would calculate the qpid.replicate value independently, assuming the result would be the same. In the case of exclusive queues, the exclusivity can change over time so its possible that primary and backup won't agree. Now only Primary does the calculation with exclusive, auto-delete etc. and puts an explicity qpid.replicate in the queue or event arguments. Backup uses the value set by primary. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1443678 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4555: HA Check for backup ready when new backup joins.Alan Conway2013-02-073-3/+9
| | | | | | | | | This test was missing so if there were no backed-up queues the backup would never be marked ready. It was workig because of a separte bug: auto-delete/exclusive queues were being replicated incorrectly so there were always replicated queues (temp queues created by qpid-ha) git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1443677 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4555: HA Don't shut down on deleting an exchange that is in use as an ↵Alan Conway2013-02-071-0/+9
| | | | | | | | | alternate. Previously threw an exception in this case which shut down the broker. Log warning instead, this is not a fatal event. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1443676 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4556: pass max depth options correctly. Patch from Brad Hoekstra.Gordon Sim2013-02-061-2/+2
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1442898 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4569: export symbol for module loadingGordon Sim2013-02-061-1/+3
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1442871 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4569: ensure modules are loaded before processing protocol optionGordon Sim2013-02-051-0/+2
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1442775 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4555: Fix handling of no-credit consumers in Queue::getNextMessage.Alan Conway2013-01-312-1/+5
| | | | | | | This was discovered while investigating QPID-4555 but could affect any consumer using bounded credt. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1441163 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4555: HA fix deletion of self from membership.Alan Conway2013-01-311-1/+2
| | | | | | | It was possible for a membership update to erase a broker it's own membership. This caused infrequent core dumps while running ha_tests.test_failover_send_receive. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1441162 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4555: HA Fix race condition in rejecting connections.Alan Conway2013-01-312-8/+10
| | | | | | | | Sporadic failure of test_failover_python was caused by a race in rejecting connections. There was a very small window where work could be done by a connection after it was rejected. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1441161 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4555: HA fix sporadic core dump in BrokerReplicator::disconnectedAlan Conway2013-01-313-9/+24
| | | | | | Unregister as a ConnectionObserver and Exchange at shutdown. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1441160 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4555: HA Fix race condition in QueueGuardAlan Conway2013-01-313-54/+44
| | | | | | | - If cancelled could delay a message without recording it. - Make all actions involving the delayed set and the AsyncCompletion atomic. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1441158 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4555: HA Test bugs causing sporadic faiulres in ↵Alan Conway2013-01-312-12/+19
| | | | | | | | | | | | ha_tests.ReplicationTests.test_auto_delete_timeout The tests were not waiting for the cluster to be ready before starting. Updated HaCluster to wait by default before returning. Increase timeout in calls to wait_no_queue, the default timeout of 1 sec was the same as the auto-delete timeout. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1441157 13f79535-47bb-0310-9956-ffa450edef68
* NO-JIRA: QPID-3921: More Header file tidy upAndrew Stitcher2013-01-314-15/+10
| | | | | | - Removed all unnecessary includes from qpid/broker/Connection.h git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1440778 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4514: Remove IO start/stop reading primitives used by removed clusterAndrew Stitcher2013-01-305-62/+9
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1440617 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4514: Remove IO readCredit throttling only used by removed cluster codeAndrew Stitcher2013-01-3015-63/+2
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1440616 13f79535-47bb-0310-9956-ffa450edef68
* NO-JIRA: Fix build error in windows buildAlan Conway2013-01-281-0/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1439431 13f79535-47bb-0310-9956-ffa450edef68
* Refer to Url consistently as a struct, not a class. Removes warning on MSVC. ↵Stephen D. Huston2013-01-252-2/+2
| | | | | | NO-JIRA git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1438776 13f79535-47bb-0310-9956-ffa450edef68
* NO-JIRA: HA refactor, re-organise code for clarity and thread safety.Alan Conway2013-01-2314-298/+442
| | | | | | | | | | | | | | | | Introduce Role base class. Primary and Backup are now subclasses of Role. Moved backup/primary specific code from HaBroker to the Backup and Primary roles. HaBroker always holds a single Role, via a thread-safe RoleHolder. RoleHolder ensures atomic transition between roles: the old role is deleted before the new role is created. Membership is now independently thread safe, breaking the potential deadlock between HaBroker and the Roles. Logging improvements and other minor cleanup. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1437771 13f79535-47bb-0310-9956-ffa450edef68
* NO-JIRA: HA refactor, centralize critical error shutdown logic.Alan Conway2013-01-234-17/+17
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1437742 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4546: review feedback and re-enable federation system testsKenneth Anthony Giusti2013-01-222-4/+11
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1437188 13f79535-47bb-0310-9956-ffa450edef68