[jira] [Commented] (PROTON-2492) Python module linking on recent macOS fails with clang unable to find -lssl

2022-02-03 Thread ASF GitHub Bot (Jira)


[ 
https://issues.apache.org/jira/browse/PROTON-2492?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17486775#comment-17486775
 ] 

ASF GitHub Bot commented on PROTON-2492:


astitcher commented on a change in pull request #356:
URL: https://github.com/apache/qpid-proton/pull/356#discussion_r799102084



##
File path: python/setup.py.in
##
@@ -145,6 +146,7 @@ class Configure(build_ext):
 # pkg-config for a minimum version 0. If it's installed, it should
 # return True and we'll use it. Otherwise, we'll use the stub.
 if misc.pkg_config_version_installed('openssl', atleast='0'):
+library_dirs += [misc.pkg_config_get_var('openssl', 'libdir')]
 libraries += ['ssl', 'crypto']

Review comment:
   It's weird and inconsistent that these entries don't come from 
pkg-config too [Not to do with your change, but still makes me think!]




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


> Python module linking on recent macOS fails with clang unable to find -lssl
> ---
>
> Key: PROTON-2492
> URL: https://issues.apache.org/jira/browse/PROTON-2492
> Project: Qpid Proton
>  Issue Type: Bug
>  Components: python-binding
>Affects Versions: proton-c-0.36.0
>Reporter: Jiri Daněk
>Assignee: Jiri Daněk
>Priority: Major
> Fix For: proton-c-0.37.0
>
>
> https://app.travis-ci.com/github/apache/qpid-proton/jobs/558190020
> {noformat}
> [...]
> Scanning dependencies of target py_pkg_wheel
> running bdist_wheel
> running build
> running build_py
> running build_ext
> running configure
> Did not find libqpid-proton-core via pkg-config: 
> Building the bundled proton-c sources into the extension
> Using openssl version 1.1.1m (found via pkg-config)
> creating build
> creating build/temp.macosx-10.15-x86_64-3.9
> creating build/temp.macosx-10.15-x86_64-3.9/var
> creating build/temp.macosx-10.15-x86_64-3.9/var/folders
> [...]
> creating build/lib.macosx-10.15-x86_64-3.9
> clang -bundle -undefined dynamic_lookup -isysroot 
> /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk 
> build/temp.macosx-10.15-x86_64-3.9/cproton_wrap.o 
> build/temp.macosx-10.15-x86_64-3.9/Users/travis/build/apache/qpid-proton/build/python/dist/src/core/log.o
>  
> build/temp.macosx-10.15-x86_64-3.9/Users/travis/build/apache/qpid-proton/build/python/dist/src/core/codec.o
>  
> build/temp.macosx-10.15-x86_64-3.9/Users/travis/build/apache/qpid-proton/build/python/dist/src/core/buffer.o
>  
> build/temp.macosx-10.15-x86_64-3.9/Users/travis/build/apache/qpid-proton/build/python/dist/src/core/dispatcher.o
>  
> build/temp.macosx-10.15-x86_64-3.9/Users/travis/build/apache/qpid-proton/build/python/dist/src/core/transport.o
>  
> build/temp.macosx-10.15-x86_64-3.9/Users/travis/build/apache/qpid-proton/build/python/dist/src/core/memory.o
>  
> build/temp.macosx-10.15-x86_64-3.9/Users/travis/build/apache/qpid-proton/build/python/dist/src/core/util.o
>  
> build/temp.macosx-10.15-x86_64-3.9/Users/travis/build/apache/qpid-proton/build/python/dist/src/core/framing.o
>  
> build/temp.macosx-10.15-x86_64-3.9/Users/travis/build/apache/qpid-proton/build/python/dist/src/core/encoder.o
>  
> build/temp.macosx-10.15-x86_64-3.9/Users/travis/build/apache/qpid-proton/build/python/dist/src/core/logger.o
>  
> build/temp.macosx-10.15-x86_64-3.9/Users/travis/build/apache/qpid-proton/build/python/dist/src/core/init.o
>  
> build/temp.macosx-10.15-x86_64-3.9/Users/travis/build/apache/qpid-proton/build/python/dist/src/core/engine.o
>  
> build/temp.macosx-10.15-x86_64-3.9/Users/travis/build/apache/qpid-proton/build/python/dist/src/core/frame_generators.o
>  
> build/temp.macosx-10.15-x86_64-3.9/Users/travis/build/apache/qpid-proton/build/python/dist/src/core/error.o
>  
> build/temp.macosx-10.15-x86_64-3.9/Users/travis/build/apache/qpid-proton/build/python/dist/src/core/event.o
>  
> build/temp.macosx-10.15-x86_64-3.9/Users/travis/build/apache/qpid-proton/build/python/dist/src/core/types.o
>  
> build/temp.macosx-10.15-x86_64-3.9/Users/travis/build/apache/qpid-proton/build/python/dist/src/core/value_dump.o
>  
> build/temp.macosx-10.15-x86_64-3.9/Users/travis/build/apache/qpid-proton/build/python/dist/src/core/frame_consumers.o
>  
> build/temp.macosx-10.15-x86_64-3.9/Users/travis/build/apache/qpid-proton/build/python/dist/src/core/decoder.o
>  
> build/temp.macosx-10.15-x86_64-3.9/Users/travis/build/apache/qpid-proton/build/python/dist/src/core/connection_driver.o
>  
> 

[GitHub] [qpid-proton] astitcher commented on a change in pull request #356: PROTON-2492 Fix -lssl Python module linking when openssl is not on default LIBRARY_PATH

2022-02-03 Thread GitBox


astitcher commented on a change in pull request #356:
URL: https://github.com/apache/qpid-proton/pull/356#discussion_r799102084



##
File path: python/setup.py.in
##
@@ -145,6 +146,7 @@ class Configure(build_ext):
 # pkg-config for a minimum version 0. If it's installed, it should
 # return True and we'll use it. Otherwise, we'll use the stub.
 if misc.pkg_config_version_installed('openssl', atleast='0'):
+library_dirs += [misc.pkg_config_get_var('openssl', 'libdir')]
 libraries += ['ssl', 'crypto']

Review comment:
   It's weird and inconsistent that these entries don't come from 
pkg-config too [Not to do with your change, but still makes me think!]




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[jira] [Updated] (PROTON-2492) Python module linking on recent macOS fails with clang unable to find -lssl

2022-02-03 Thread Jira


 [ 
https://issues.apache.org/jira/browse/PROTON-2492?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jiri Daněk updated PROTON-2492:
---
Summary: Python module linking on recent macOS fails with clang unable to 
find -lssl  (was: Python module linking on recent macOS fails with gcc unable 
to find -lssl)

> Python module linking on recent macOS fails with clang unable to find -lssl
> ---
>
> Key: PROTON-2492
> URL: https://issues.apache.org/jira/browse/PROTON-2492
> Project: Qpid Proton
>  Issue Type: Bug
>  Components: python-binding
>Affects Versions: proton-c-0.36.0
>Reporter: Jiri Daněk
>Assignee: Jiri Daněk
>Priority: Major
> Fix For: proton-c-0.37.0
>
>
> https://app.travis-ci.com/github/apache/qpid-proton/jobs/558190020
> {noformat}
> [...]
> Scanning dependencies of target py_pkg_wheel
> running bdist_wheel
> running build
> running build_py
> running build_ext
> running configure
> Did not find libqpid-proton-core via pkg-config: 
> Building the bundled proton-c sources into the extension
> Using openssl version 1.1.1m (found via pkg-config)
> creating build
> creating build/temp.macosx-10.15-x86_64-3.9
> creating build/temp.macosx-10.15-x86_64-3.9/var
> creating build/temp.macosx-10.15-x86_64-3.9/var/folders
> [...]
> creating build/lib.macosx-10.15-x86_64-3.9
> clang -bundle -undefined dynamic_lookup -isysroot 
> /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk 
> build/temp.macosx-10.15-x86_64-3.9/cproton_wrap.o 
> build/temp.macosx-10.15-x86_64-3.9/Users/travis/build/apache/qpid-proton/build/python/dist/src/core/log.o
>  
> build/temp.macosx-10.15-x86_64-3.9/Users/travis/build/apache/qpid-proton/build/python/dist/src/core/codec.o
>  
> build/temp.macosx-10.15-x86_64-3.9/Users/travis/build/apache/qpid-proton/build/python/dist/src/core/buffer.o
>  
> build/temp.macosx-10.15-x86_64-3.9/Users/travis/build/apache/qpid-proton/build/python/dist/src/core/dispatcher.o
>  
> build/temp.macosx-10.15-x86_64-3.9/Users/travis/build/apache/qpid-proton/build/python/dist/src/core/transport.o
>  
> build/temp.macosx-10.15-x86_64-3.9/Users/travis/build/apache/qpid-proton/build/python/dist/src/core/memory.o
>  
> build/temp.macosx-10.15-x86_64-3.9/Users/travis/build/apache/qpid-proton/build/python/dist/src/core/util.o
>  
> build/temp.macosx-10.15-x86_64-3.9/Users/travis/build/apache/qpid-proton/build/python/dist/src/core/framing.o
>  
> build/temp.macosx-10.15-x86_64-3.9/Users/travis/build/apache/qpid-proton/build/python/dist/src/core/encoder.o
>  
> build/temp.macosx-10.15-x86_64-3.9/Users/travis/build/apache/qpid-proton/build/python/dist/src/core/logger.o
>  
> build/temp.macosx-10.15-x86_64-3.9/Users/travis/build/apache/qpid-proton/build/python/dist/src/core/init.o
>  
> build/temp.macosx-10.15-x86_64-3.9/Users/travis/build/apache/qpid-proton/build/python/dist/src/core/engine.o
>  
> build/temp.macosx-10.15-x86_64-3.9/Users/travis/build/apache/qpid-proton/build/python/dist/src/core/frame_generators.o
>  
> build/temp.macosx-10.15-x86_64-3.9/Users/travis/build/apache/qpid-proton/build/python/dist/src/core/error.o
>  
> build/temp.macosx-10.15-x86_64-3.9/Users/travis/build/apache/qpid-proton/build/python/dist/src/core/event.o
>  
> build/temp.macosx-10.15-x86_64-3.9/Users/travis/build/apache/qpid-proton/build/python/dist/src/core/types.o
>  
> build/temp.macosx-10.15-x86_64-3.9/Users/travis/build/apache/qpid-proton/build/python/dist/src/core/value_dump.o
>  
> build/temp.macosx-10.15-x86_64-3.9/Users/travis/build/apache/qpid-proton/build/python/dist/src/core/frame_consumers.o
>  
> build/temp.macosx-10.15-x86_64-3.9/Users/travis/build/apache/qpid-proton/build/python/dist/src/core/decoder.o
>  
> build/temp.macosx-10.15-x86_64-3.9/Users/travis/build/apache/qpid-proton/build/python/dist/src/core/connection_driver.o
>  
> build/temp.macosx-10.15-x86_64-3.9/Users/travis/build/apache/qpid-proton/build/python/dist/src/core/autodetect.o
>  
> build/temp.macosx-10.15-x86_64-3.9/Users/travis/build/apache/qpid-proton/build/python/dist/src/core/message.o
>  
> build/temp.macosx-10.15-x86_64-3.9/Users/travis/build/apache/qpid-proton/build/python/dist/src/core/object/list.o
>  
> build/temp.macosx-10.15-x86_64-3.9/Users/travis/build/apache/qpid-proton/build/python/dist/src/core/object/object.o
>  
> build/temp.macosx-10.15-x86_64-3.9/Users/travis/build/apache/qpid-proton/build/python/dist/src/core/object/string.o
>  
> build/temp.macosx-10.15-x86_64-3.9/Users/travis/build/apache/qpid-proton/build/python/dist/src/core/object/iterator.o
>  
> build/temp.macosx-10.15-x86_64-3.9/Users/travis/build/apache/qpid-proton/build/python/dist/src/core/object/map.o
>  
> build/temp.macosx-10.15-x86_64-3.9/Users/travis/build/apache/qpid-proton/build/python/dist/src/core/object/record.o
>  

[jira] [Created] (PROTON-2492) Python module linking on recent macOS fails with gcc unable to find -lssl

2022-02-03 Thread Jira
Jiri Daněk created PROTON-2492:
--

 Summary: Python module linking on recent macOS fails with gcc 
unable to find -lssl
 Key: PROTON-2492
 URL: https://issues.apache.org/jira/browse/PROTON-2492
 Project: Qpid Proton
  Issue Type: Bug
  Components: python-binding
Affects Versions: proton-c-0.36.0
Reporter: Jiri Daněk
Assignee: Jiri Daněk
 Fix For: proton-c-0.37.0


https://app.travis-ci.com/github/apache/qpid-proton/jobs/558190020

{noformat}
[...]
Scanning dependencies of target py_pkg_wheel
running bdist_wheel
running build
running build_py
running build_ext
running configure
Did not find libqpid-proton-core via pkg-config: 
Building the bundled proton-c sources into the extension
Using openssl version 1.1.1m (found via pkg-config)
creating build
creating build/temp.macosx-10.15-x86_64-3.9
creating build/temp.macosx-10.15-x86_64-3.9/var
creating build/temp.macosx-10.15-x86_64-3.9/var/folders
[...]
creating build/lib.macosx-10.15-x86_64-3.9
clang -bundle -undefined dynamic_lookup -isysroot 
/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk 
build/temp.macosx-10.15-x86_64-3.9/cproton_wrap.o 
build/temp.macosx-10.15-x86_64-3.9/Users/travis/build/apache/qpid-proton/build/python/dist/src/core/log.o
 
build/temp.macosx-10.15-x86_64-3.9/Users/travis/build/apache/qpid-proton/build/python/dist/src/core/codec.o
 
build/temp.macosx-10.15-x86_64-3.9/Users/travis/build/apache/qpid-proton/build/python/dist/src/core/buffer.o
 
build/temp.macosx-10.15-x86_64-3.9/Users/travis/build/apache/qpid-proton/build/python/dist/src/core/dispatcher.o
 
build/temp.macosx-10.15-x86_64-3.9/Users/travis/build/apache/qpid-proton/build/python/dist/src/core/transport.o
 
build/temp.macosx-10.15-x86_64-3.9/Users/travis/build/apache/qpid-proton/build/python/dist/src/core/memory.o
 
build/temp.macosx-10.15-x86_64-3.9/Users/travis/build/apache/qpid-proton/build/python/dist/src/core/util.o
 
build/temp.macosx-10.15-x86_64-3.9/Users/travis/build/apache/qpid-proton/build/python/dist/src/core/framing.o
 
build/temp.macosx-10.15-x86_64-3.9/Users/travis/build/apache/qpid-proton/build/python/dist/src/core/encoder.o
 
build/temp.macosx-10.15-x86_64-3.9/Users/travis/build/apache/qpid-proton/build/python/dist/src/core/logger.o
 
build/temp.macosx-10.15-x86_64-3.9/Users/travis/build/apache/qpid-proton/build/python/dist/src/core/init.o
 
build/temp.macosx-10.15-x86_64-3.9/Users/travis/build/apache/qpid-proton/build/python/dist/src/core/engine.o
 
build/temp.macosx-10.15-x86_64-3.9/Users/travis/build/apache/qpid-proton/build/python/dist/src/core/frame_generators.o
 
build/temp.macosx-10.15-x86_64-3.9/Users/travis/build/apache/qpid-proton/build/python/dist/src/core/error.o
 
build/temp.macosx-10.15-x86_64-3.9/Users/travis/build/apache/qpid-proton/build/python/dist/src/core/event.o
 
build/temp.macosx-10.15-x86_64-3.9/Users/travis/build/apache/qpid-proton/build/python/dist/src/core/types.o
 
build/temp.macosx-10.15-x86_64-3.9/Users/travis/build/apache/qpid-proton/build/python/dist/src/core/value_dump.o
 
build/temp.macosx-10.15-x86_64-3.9/Users/travis/build/apache/qpid-proton/build/python/dist/src/core/frame_consumers.o
 
build/temp.macosx-10.15-x86_64-3.9/Users/travis/build/apache/qpid-proton/build/python/dist/src/core/decoder.o
 
build/temp.macosx-10.15-x86_64-3.9/Users/travis/build/apache/qpid-proton/build/python/dist/src/core/connection_driver.o
 
build/temp.macosx-10.15-x86_64-3.9/Users/travis/build/apache/qpid-proton/build/python/dist/src/core/autodetect.o
 
build/temp.macosx-10.15-x86_64-3.9/Users/travis/build/apache/qpid-proton/build/python/dist/src/core/message.o
 
build/temp.macosx-10.15-x86_64-3.9/Users/travis/build/apache/qpid-proton/build/python/dist/src/core/object/list.o
 
build/temp.macosx-10.15-x86_64-3.9/Users/travis/build/apache/qpid-proton/build/python/dist/src/core/object/object.o
 
build/temp.macosx-10.15-x86_64-3.9/Users/travis/build/apache/qpid-proton/build/python/dist/src/core/object/string.o
 
build/temp.macosx-10.15-x86_64-3.9/Users/travis/build/apache/qpid-proton/build/python/dist/src/core/object/iterator.o
 
build/temp.macosx-10.15-x86_64-3.9/Users/travis/build/apache/qpid-proton/build/python/dist/src/core/object/map.o
 
build/temp.macosx-10.15-x86_64-3.9/Users/travis/build/apache/qpid-proton/build/python/dist/src/core/object/record.o
 
build/temp.macosx-10.15-x86_64-3.9/Users/travis/build/apache/qpid-proton/build/python/dist/src/compiler/gcc/start.o
 
build/temp.macosx-10.15-x86_64-3.9/Users/travis/build/apache/qpid-proton/build/python/dist/src/ssl/openssl.o
 
build/temp.macosx-10.15-x86_64-3.9/Users/travis/build/apache/qpid-proton/build/python/dist/src/sasl/sasl.o
 
build/temp.macosx-10.15-x86_64-3.9/Users/travis/build/apache/qpid-proton/build/python/dist/src/sasl/default_sasl.o
 

[jira] [Created] (DISPATCH-2325) system_tests_routing_protocol hangs and times out

2022-02-03 Thread Ganesh Murthy (Jira)
Ganesh Murthy created DISPATCH-2325:
---

 Summary: system_tests_routing_protocol hangs and times out
 Key: DISPATCH-2325
 URL: https://issues.apache.org/jira/browse/DISPATCH-2325
 Project: Qpid Dispatch
  Issue Type: Test
  Components: Tests
Reporter: Ganesh Murthy


{noformat}
test 68
      Start 68: system_tests_routing_protocol68: Test command: /usr/bin/python3 
"/__w/qpid-dispatch/qpid-dispatch/qpid-dispatch/build/tests/run.py" "-m" 
"pytest" "-vs" "--junit-prefix=pytest.system_tests_routing_protocol" 
"--junit-xml=junitxmls/system_tests_routing_protocol.xml" "--pyargs" 
"system_tests_routing_protocol"
37/37 Test #68: system_tests_routing_protocol .***Timeout 
1200.04 sec {noformat}
 

https://github.com/apache/qpid-dispatch/runs/5041374330?check_suite_focus=true



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[jira] [Resolved] (PROTON-2491) Ruby Gem 0.36.0 boken

2022-02-03 Thread Irina Boverman (Jira)


 [ 
https://issues.apache.org/jira/browse/PROTON-2491?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Irina Boverman resolved PROTON-2491.

Resolution: Cannot Reproduce

> Ruby Gem 0.36.0 boken
> -
>
> Key: PROTON-2491
> URL: https://issues.apache.org/jira/browse/PROTON-2491
> Project: Qpid Proton
>  Issue Type: Bug
>Reporter: poelzi
>Assignee: Irina Boverman
>Priority: Major
>
>  
> {code:java}
> [vagrant@centos8-katello-devel katello]$ gem install qpid_proton -v '0.36.0' 
> --source 'https://rubygems.org/'
> Building native extensions. This could take a while...
> ERROR:  Error installing qpid_proton:
>     ERROR: Failed to build gem native extension.
>     current directory: 
> /home/vagrant/.gem/ruby/gems/qpid_proton-0.36.0/ext/cproton
> /usr/bin/ruby -I /usr/share/rubygems -r ./siteconf20220202-70814-t77l5w.rb 
> extconf.rb
> checking for -lqpid-proton... yes
> checking for proton/engine.h... yes
> checking for proton/message.h... yes
> checking for proton/sasl.h... yes
> checking for proton/messenger.h... yes
> creating Makefile
> current directory: /home/vagrant/.gem/ruby/gems/qpid_proton-0.36.0/ext/cproton
> make "DESTDIR=" clean
> rm -f  
> rm -f cproton.so  *.o  *.bak mkmf.log .*.time
> current directory: /home/vagrant/.gem/ruby/gems/qpid_proton-0.36.0/ext/cproton
> make "DESTDIR="
> gcc -I. -I/usr/include -I/usr/include/ruby/backward -I/usr/include -I. 
> -DHAVE_PROTON_ENGINE_H -DHAVE_PROTON_MESSAGE_H -DHAVE_PROTON_SASL_H 
> -DHAVE_PROTON_MESSENGER_H    -fPIC -O2 -g -pipe -Wall -Werror=format-sec
> urity -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions 
> -fstack-protector-strong -grecord-gcc-switches 
> -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 
> -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m
> tune=generic -fasynchronous-unwind-tables -fstack-clash-protection 
> -fcf-protection -fPIC -DRUBY27 -m64 -o cproton.o -c cproton.c
> cproton.c: In function ‘SWIG_Ruby_define_class’:
> cproton.c:1482:9: warning: variable ‘klass’ set but not used 
> [-Wunused-but-set-variable]
>    VALUE klass;
>  ^
> cproton.c: In function ‘pni_ruby_add_to_registry’:
> cproton.c:2375:11: warning: unused variable ‘result’ [-Wunused-variable]
>  VALUE result = rb_funcall(pni_ruby_get_proton_module(), 
> rb_intern("add_to_registry"), 2, key, value);
>    ^~
> cproton.c: In function ‘SWIG_AUX_NUM2DBL’:
> cproton.c:2498:9: warning: unused variable ‘type’ [-Wunused-variable]
>    VALUE type = TYPE(obj);
>  ^~~~
> cproton.c: In function ‘_wrap_pn_message_get_id’:
> cproton.c:13648:3: error: unknown type name ‘pn_msgid_t’; did you mean 
> ‘pn_uuid_t’?
>    pn_msgid_t result;
>    ^~
>    pn_uuid_t
> cproton.c:13661:10: error: incompatible types when assigning to type ‘int’ 
> from type ‘pn_atom_t’ {aka ‘struct ’}
>    result = pn_message_get_id(arg1);
>   ^
> cproton.c:13663:21: error: request for member ‘type’ in something not a 
> structure or union
>  switch(()->type)
>  ^~
> cproton.c:13670:26: error: request for member ‘u’ in something not a 
> structure or union
>    vresult = ()->u.as_bool ? Qtrue : Qfalse;
>   ^~
> In file included from /usr/include/ruby.h:33,
>  from cproton.c:821:
> cproton.c:13674:34: error: request for member ‘u’ in something not a 
> structure or union
>    vresult = INT2NUM(()->u.as_byte);
>   ^~
> cproton.c:13678:35: error: request for member ‘u’ in something not a 
> structure or union
>    vresult = UINT2NUM(()->u.as_ubyte);
>    ^~
> cproton.c:13682:34: error: request for member ‘u’ in something not a 
> structure or union
>    vresult = INT2NUM(()->u.as_short);
>   ^~
> cproton.c:13686:35: error: request for member ‘u’ in something not a 
> structure or union
>    vresult = UINT2NUM(()->u.as_ushort);
>    ^~
> cproton.c:13690:34: error: request for member ‘u’ in something not a 
> structure or union
>    vresult = INT2NUM(()->u.as_int);
>   ^~
> cproton.c:13694:35: error: request for member ‘u’ in something not a 
> structure or union
>    vresult = UINT2NUM(()->u.as_uint);
>    ^~
> cproton.c:13698:33: error: request for member ‘u’ in something not a 
> structure or union
>    vresult = LL2NUM(()->u.as_long);
>  ^~
> cproton.c:13702:34: error: request for member ‘u’ in something not a 
> structure or union
>    vresult = ULL2NUM(()->u.as_ulong);
>   ^~
> cproton.c:13706:39: error: request for member ‘u’ in something not a 
> structure or union
>    vresult = rb_float_new(()->u.as_float);
> 

[jira] [Comment Edited] (PROTON-2491) Ruby Gem 0.36.0 boken

2022-02-03 Thread Irina Boverman (Jira)


[ 
https://issues.apache.org/jira/browse/PROTON-2491?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17486642#comment-17486642
 ] 

Irina Boverman edited comment on PROTON-2491 at 2/3/22, 6:33 PM:
-

I was not able to reproduce it with RHEL8 or CENTOS8 images:

sudo podman run -it quay.io/centos/centos:stream8 bash
 # yum install make gcc swig rubygems-devel ruby-devel rpm-build
 # yum install epel-release
 # yum install qpid-proton-c-devel
 # gem install qpid_proton -v '0.36.0' --source '[https://rubygems.org/']
 # Fetching: qpid_proton-0.36.0.gem (100%)
Building native extensions. This could take a while...
Successfully installed qpid_proton-0.36.0
1 gem installed
 # # rpm -q gcc
gcc-8.5.0-10.el8.x86_64


was (Author: iboverma):
I was not able to reproduce it with RHEL8 or CENTOS8 images:

sudo podman run -it quay.io/centos/centos:stream8 bash
 # yum install make gcc swig rubygems-devel ruby-devel rpm-build
 # yum install epel-release
 # yum install qpid-proton-c-devel
 # gem install qpid_proton -v '0.36.0' --source '[https://rubygems.org/']
 # Fetching: qpid_proton-0.36.0.gem (100%)
Building native extensions. This could take a while...
Successfully installed qpid_proton-0.36.0
1 gem installed

> Ruby Gem 0.36.0 boken
> -
>
> Key: PROTON-2491
> URL: https://issues.apache.org/jira/browse/PROTON-2491
> Project: Qpid Proton
>  Issue Type: Bug
>Reporter: poelzi
>Assignee: Irina Boverman
>Priority: Major
>
>  
> {code:java}
> [vagrant@centos8-katello-devel katello]$ gem install qpid_proton -v '0.36.0' 
> --source 'https://rubygems.org/'
> Building native extensions. This could take a while...
> ERROR:  Error installing qpid_proton:
>     ERROR: Failed to build gem native extension.
>     current directory: 
> /home/vagrant/.gem/ruby/gems/qpid_proton-0.36.0/ext/cproton
> /usr/bin/ruby -I /usr/share/rubygems -r ./siteconf20220202-70814-t77l5w.rb 
> extconf.rb
> checking for -lqpid-proton... yes
> checking for proton/engine.h... yes
> checking for proton/message.h... yes
> checking for proton/sasl.h... yes
> checking for proton/messenger.h... yes
> creating Makefile
> current directory: /home/vagrant/.gem/ruby/gems/qpid_proton-0.36.0/ext/cproton
> make "DESTDIR=" clean
> rm -f  
> rm -f cproton.so  *.o  *.bak mkmf.log .*.time
> current directory: /home/vagrant/.gem/ruby/gems/qpid_proton-0.36.0/ext/cproton
> make "DESTDIR="
> gcc -I. -I/usr/include -I/usr/include/ruby/backward -I/usr/include -I. 
> -DHAVE_PROTON_ENGINE_H -DHAVE_PROTON_MESSAGE_H -DHAVE_PROTON_SASL_H 
> -DHAVE_PROTON_MESSENGER_H    -fPIC -O2 -g -pipe -Wall -Werror=format-sec
> urity -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions 
> -fstack-protector-strong -grecord-gcc-switches 
> -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 
> -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m
> tune=generic -fasynchronous-unwind-tables -fstack-clash-protection 
> -fcf-protection -fPIC -DRUBY27 -m64 -o cproton.o -c cproton.c
> cproton.c: In function ‘SWIG_Ruby_define_class’:
> cproton.c:1482:9: warning: variable ‘klass’ set but not used 
> [-Wunused-but-set-variable]
>    VALUE klass;
>  ^
> cproton.c: In function ‘pni_ruby_add_to_registry’:
> cproton.c:2375:11: warning: unused variable ‘result’ [-Wunused-variable]
>  VALUE result = rb_funcall(pni_ruby_get_proton_module(), 
> rb_intern("add_to_registry"), 2, key, value);
>    ^~
> cproton.c: In function ‘SWIG_AUX_NUM2DBL’:
> cproton.c:2498:9: warning: unused variable ‘type’ [-Wunused-variable]
>    VALUE type = TYPE(obj);
>  ^~~~
> cproton.c: In function ‘_wrap_pn_message_get_id’:
> cproton.c:13648:3: error: unknown type name ‘pn_msgid_t’; did you mean 
> ‘pn_uuid_t’?
>    pn_msgid_t result;
>    ^~
>    pn_uuid_t
> cproton.c:13661:10: error: incompatible types when assigning to type ‘int’ 
> from type ‘pn_atom_t’ {aka ‘struct ’}
>    result = pn_message_get_id(arg1);
>   ^
> cproton.c:13663:21: error: request for member ‘type’ in something not a 
> structure or union
>  switch(()->type)
>  ^~
> cproton.c:13670:26: error: request for member ‘u’ in something not a 
> structure or union
>    vresult = ()->u.as_bool ? Qtrue : Qfalse;
>   ^~
> In file included from /usr/include/ruby.h:33,
>  from cproton.c:821:
> cproton.c:13674:34: error: request for member ‘u’ in something not a 
> structure or union
>    vresult = INT2NUM(()->u.as_byte);
>   ^~
> cproton.c:13678:35: error: request for member ‘u’ in something not a 
> structure or union
>    vresult = UINT2NUM(()->u.as_ubyte);
>    ^~
> cproton.c:13682:34: error: request for member ‘u’ in something not a 
> structure or union
>    vresult = 

[jira] [Commented] (PROTON-2491) Ruby Gem 0.36.0 boken

2022-02-03 Thread Irina Boverman (Jira)


[ 
https://issues.apache.org/jira/browse/PROTON-2491?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17486642#comment-17486642
 ] 

Irina Boverman commented on PROTON-2491:


I was not able to reproduce it with RHEL8 or CENTOS8 images:

sudo podman run -it quay.io/centos/centos:stream8 bash
 # yum install make gcc swig rubygems-devel ruby-devel rpm-build
 # yum install epel-release
 # yum install qpid-proton-c-devel
 # gem install qpid_proton -v '0.36.0' --source '[https://rubygems.org/']
 # Fetching: qpid_proton-0.36.0.gem (100%)
Building native extensions. This could take a while...
Successfully installed qpid_proton-0.36.0
1 gem installed

> Ruby Gem 0.36.0 boken
> -
>
> Key: PROTON-2491
> URL: https://issues.apache.org/jira/browse/PROTON-2491
> Project: Qpid Proton
>  Issue Type: Bug
>Reporter: poelzi
>Assignee: Irina Boverman
>Priority: Major
>
>  
> {code:java}
> [vagrant@centos8-katello-devel katello]$ gem install qpid_proton -v '0.36.0' 
> --source 'https://rubygems.org/'
> Building native extensions. This could take a while...
> ERROR:  Error installing qpid_proton:
>     ERROR: Failed to build gem native extension.
>     current directory: 
> /home/vagrant/.gem/ruby/gems/qpid_proton-0.36.0/ext/cproton
> /usr/bin/ruby -I /usr/share/rubygems -r ./siteconf20220202-70814-t77l5w.rb 
> extconf.rb
> checking for -lqpid-proton... yes
> checking for proton/engine.h... yes
> checking for proton/message.h... yes
> checking for proton/sasl.h... yes
> checking for proton/messenger.h... yes
> creating Makefile
> current directory: /home/vagrant/.gem/ruby/gems/qpid_proton-0.36.0/ext/cproton
> make "DESTDIR=" clean
> rm -f  
> rm -f cproton.so  *.o  *.bak mkmf.log .*.time
> current directory: /home/vagrant/.gem/ruby/gems/qpid_proton-0.36.0/ext/cproton
> make "DESTDIR="
> gcc -I. -I/usr/include -I/usr/include/ruby/backward -I/usr/include -I. 
> -DHAVE_PROTON_ENGINE_H -DHAVE_PROTON_MESSAGE_H -DHAVE_PROTON_SASL_H 
> -DHAVE_PROTON_MESSENGER_H    -fPIC -O2 -g -pipe -Wall -Werror=format-sec
> urity -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions 
> -fstack-protector-strong -grecord-gcc-switches 
> -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 
> -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m
> tune=generic -fasynchronous-unwind-tables -fstack-clash-protection 
> -fcf-protection -fPIC -DRUBY27 -m64 -o cproton.o -c cproton.c
> cproton.c: In function ‘SWIG_Ruby_define_class’:
> cproton.c:1482:9: warning: variable ‘klass’ set but not used 
> [-Wunused-but-set-variable]
>    VALUE klass;
>  ^
> cproton.c: In function ‘pni_ruby_add_to_registry’:
> cproton.c:2375:11: warning: unused variable ‘result’ [-Wunused-variable]
>  VALUE result = rb_funcall(pni_ruby_get_proton_module(), 
> rb_intern("add_to_registry"), 2, key, value);
>    ^~
> cproton.c: In function ‘SWIG_AUX_NUM2DBL’:
> cproton.c:2498:9: warning: unused variable ‘type’ [-Wunused-variable]
>    VALUE type = TYPE(obj);
>  ^~~~
> cproton.c: In function ‘_wrap_pn_message_get_id’:
> cproton.c:13648:3: error: unknown type name ‘pn_msgid_t’; did you mean 
> ‘pn_uuid_t’?
>    pn_msgid_t result;
>    ^~
>    pn_uuid_t
> cproton.c:13661:10: error: incompatible types when assigning to type ‘int’ 
> from type ‘pn_atom_t’ {aka ‘struct ’}
>    result = pn_message_get_id(arg1);
>   ^
> cproton.c:13663:21: error: request for member ‘type’ in something not a 
> structure or union
>  switch(()->type)
>  ^~
> cproton.c:13670:26: error: request for member ‘u’ in something not a 
> structure or union
>    vresult = ()->u.as_bool ? Qtrue : Qfalse;
>   ^~
> In file included from /usr/include/ruby.h:33,
>  from cproton.c:821:
> cproton.c:13674:34: error: request for member ‘u’ in something not a 
> structure or union
>    vresult = INT2NUM(()->u.as_byte);
>   ^~
> cproton.c:13678:35: error: request for member ‘u’ in something not a 
> structure or union
>    vresult = UINT2NUM(()->u.as_ubyte);
>    ^~
> cproton.c:13682:34: error: request for member ‘u’ in something not a 
> structure or union
>    vresult = INT2NUM(()->u.as_short);
>   ^~
> cproton.c:13686:35: error: request for member ‘u’ in something not a 
> structure or union
>    vresult = UINT2NUM(()->u.as_ushort);
>    ^~
> cproton.c:13690:34: error: request for member ‘u’ in something not a 
> structure or union
>    vresult = INT2NUM(()->u.as_int);
>   ^~
> cproton.c:13694:35: error: request for member ‘u’ in something not a 
> structure or union
>    vresult = UINT2NUM(()->u.as_uint);
>    ^~
> 

[jira] [Assigned] (PROTON-2491) Ruby Gem 0.36.0 boken

2022-02-03 Thread Irina Boverman (Jira)


 [ 
https://issues.apache.org/jira/browse/PROTON-2491?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Irina Boverman reassigned PROTON-2491:
--

Assignee: Irina Boverman

> Ruby Gem 0.36.0 boken
> -
>
> Key: PROTON-2491
> URL: https://issues.apache.org/jira/browse/PROTON-2491
> Project: Qpid Proton
>  Issue Type: Bug
>Reporter: poelzi
>Assignee: Irina Boverman
>Priority: Major
>
>  
> {code:java}
> [vagrant@centos8-katello-devel katello]$ gem install qpid_proton -v '0.36.0' 
> --source 'https://rubygems.org/'
> Building native extensions. This could take a while...
> ERROR:  Error installing qpid_proton:
>     ERROR: Failed to build gem native extension.
>     current directory: 
> /home/vagrant/.gem/ruby/gems/qpid_proton-0.36.0/ext/cproton
> /usr/bin/ruby -I /usr/share/rubygems -r ./siteconf20220202-70814-t77l5w.rb 
> extconf.rb
> checking for -lqpid-proton... yes
> checking for proton/engine.h... yes
> checking for proton/message.h... yes
> checking for proton/sasl.h... yes
> checking for proton/messenger.h... yes
> creating Makefile
> current directory: /home/vagrant/.gem/ruby/gems/qpid_proton-0.36.0/ext/cproton
> make "DESTDIR=" clean
> rm -f  
> rm -f cproton.so  *.o  *.bak mkmf.log .*.time
> current directory: /home/vagrant/.gem/ruby/gems/qpid_proton-0.36.0/ext/cproton
> make "DESTDIR="
> gcc -I. -I/usr/include -I/usr/include/ruby/backward -I/usr/include -I. 
> -DHAVE_PROTON_ENGINE_H -DHAVE_PROTON_MESSAGE_H -DHAVE_PROTON_SASL_H 
> -DHAVE_PROTON_MESSENGER_H    -fPIC -O2 -g -pipe -Wall -Werror=format-sec
> urity -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions 
> -fstack-protector-strong -grecord-gcc-switches 
> -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 
> -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m
> tune=generic -fasynchronous-unwind-tables -fstack-clash-protection 
> -fcf-protection -fPIC -DRUBY27 -m64 -o cproton.o -c cproton.c
> cproton.c: In function ‘SWIG_Ruby_define_class’:
> cproton.c:1482:9: warning: variable ‘klass’ set but not used 
> [-Wunused-but-set-variable]
>    VALUE klass;
>  ^
> cproton.c: In function ‘pni_ruby_add_to_registry’:
> cproton.c:2375:11: warning: unused variable ‘result’ [-Wunused-variable]
>  VALUE result = rb_funcall(pni_ruby_get_proton_module(), 
> rb_intern("add_to_registry"), 2, key, value);
>    ^~
> cproton.c: In function ‘SWIG_AUX_NUM2DBL’:
> cproton.c:2498:9: warning: unused variable ‘type’ [-Wunused-variable]
>    VALUE type = TYPE(obj);
>  ^~~~
> cproton.c: In function ‘_wrap_pn_message_get_id’:
> cproton.c:13648:3: error: unknown type name ‘pn_msgid_t’; did you mean 
> ‘pn_uuid_t’?
>    pn_msgid_t result;
>    ^~
>    pn_uuid_t
> cproton.c:13661:10: error: incompatible types when assigning to type ‘int’ 
> from type ‘pn_atom_t’ {aka ‘struct ’}
>    result = pn_message_get_id(arg1);
>   ^
> cproton.c:13663:21: error: request for member ‘type’ in something not a 
> structure or union
>  switch(()->type)
>  ^~
> cproton.c:13670:26: error: request for member ‘u’ in something not a 
> structure or union
>    vresult = ()->u.as_bool ? Qtrue : Qfalse;
>   ^~
> In file included from /usr/include/ruby.h:33,
>  from cproton.c:821:
> cproton.c:13674:34: error: request for member ‘u’ in something not a 
> structure or union
>    vresult = INT2NUM(()->u.as_byte);
>   ^~
> cproton.c:13678:35: error: request for member ‘u’ in something not a 
> structure or union
>    vresult = UINT2NUM(()->u.as_ubyte);
>    ^~
> cproton.c:13682:34: error: request for member ‘u’ in something not a 
> structure or union
>    vresult = INT2NUM(()->u.as_short);
>   ^~
> cproton.c:13686:35: error: request for member ‘u’ in something not a 
> structure or union
>    vresult = UINT2NUM(()->u.as_ushort);
>    ^~
> cproton.c:13690:34: error: request for member ‘u’ in something not a 
> structure or union
>    vresult = INT2NUM(()->u.as_int);
>   ^~
> cproton.c:13694:35: error: request for member ‘u’ in something not a 
> structure or union
>    vresult = UINT2NUM(()->u.as_uint);
>    ^~
> cproton.c:13698:33: error: request for member ‘u’ in something not a 
> structure or union
>    vresult = LL2NUM(()->u.as_long);
>  ^~
> cproton.c:13702:34: error: request for member ‘u’ in something not a 
> structure or union
>    vresult = ULL2NUM(()->u.as_ulong);
>   ^~
> cproton.c:13706:39: error: request for member ‘u’ in something not a 
> structure or union
>    vresult = rb_float_new(()->u.as_float);

[jira] [Commented] (PROTON-2471) Run raw connection examples during proton-c examples test

2022-02-03 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/PROTON-2471?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17486346#comment-17486346
 ] 

ASF subversion and git services commented on PROTON-2471:
-

Commit dd60d03ef9c5329d3e3ae66ac6724dce700ed4e9 in qpid-proton's branch 
refs/heads/jd_2022_02_03_macoslibssl from Jiri Daněk
[ https://gitbox.apache.org/repos/asf?p=qpid-proton.git;h=dd60d03 ]

PROTON-2471 Run raw connection examples during proton-c examples test


> Run raw connection examples during proton-c examples test
> -
>
> Key: PROTON-2471
> URL: https://issues.apache.org/jira/browse/PROTON-2471
> Project: Qpid Proton
>  Issue Type: Test
>  Components: examples, proton-c
>Affects Versions: proton-c-0.36.0
>Reporter: Jiri Daněk
>Assignee: Jiri Daněk
>Priority: Major
> Fix For: proton-c-0.37.0
>
>




--
This message was sent by Atlassian Jira
(v8.20.1#820001)

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[jira] [Commented] (PROTON-2471) Run raw connection examples during proton-c examples test

2022-02-03 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/PROTON-2471?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17486345#comment-17486345
 ] 

ASF subversion and git services commented on PROTON-2471:
-

Commit a9d62f18dd2d2545bfaad4a694228ce163d68d72 in qpid-proton's branch 
refs/heads/jd_2022_02_03_macoslibssl from Jiri Daněk
[ https://gitbox.apache.org/repos/asf?p=qpid-proton.git;h=a9d62f1 ]

PROTON-2471 Run raw connection examples during proton-c examples test


> Run raw connection examples during proton-c examples test
> -
>
> Key: PROTON-2471
> URL: https://issues.apache.org/jira/browse/PROTON-2471
> Project: Qpid Proton
>  Issue Type: Test
>  Components: examples, proton-c
>Affects Versions: proton-c-0.36.0
>Reporter: Jiri Daněk
>Assignee: Jiri Daněk
>Priority: Major
> Fix For: proton-c-0.37.0
>
>




--
This message was sent by Atlassian Jira
(v8.20.1#820001)

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[jira] [Updated] (QPID-8487) [Broker-J] Enhance ACL rule evaluation

2022-02-03 Thread Marek Laca (Jira)


 [ 
https://issues.apache.org/jira/browse/QPID-8487?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Marek Laca updated QPID-8487:
-
Description: 
We are using the Java broker with more than 1000 accounts and 4 individual 
ACL rules. This amount of ACL rules has a significant impact on the throughput 
of the broker, therefore an optimization is needed.

*Current implementation*

There is the class called RuleSet that wraps the list of the rules and it is 
responsible for finding a matching rule. The RuleSet contains internal 
map/cache that could contain the relevant rules for given subject, operation, 
object type.

Every access control of the user action goes throw two steps in the RuleSet:
 # Broker looks for the relevant list of rules in the cache. If the cache does 
not contain the rules then the broker will iterate over entire rule list and 
filter the relevant rules for given operation, object type and subject.
 # Broker scans the relevant rules and applies the first matching rule.

The cache is 3 tiers map with subject, operation and object type as key (in 
this order). The top map is a synchronized weak hash. Hence the cache is used 
only if the same subject (pointer equality) checks rules for the same operation 
and object type multiple times.

I have tried to send 1000 messages to the same exchange by the same user and 
the cache was never used. It looks like that every send action created a new 
subject. The broker iterated over the whole rule list again and again.

*Proposed implementation*

I propose to introduce RuleInspector object that can check the internal rule 
list and looks for the first rule that matches. The RuleInspector will be based 
on the composite patter, the generic inspector will delegate work to a more 
specialized inspector and so on.

_Tier structure:_
 # The RuleSet itself is the top generic inspector.
 # The rule inspectors for given operation and object type. These inspectors 
will contain the relevant rules for given operation and object type and can be 
prepared after the loading of the ACL file or rule list. The rules can be group 
by the operation and object type immediately.
 # The rule inspectors for given operation, object type and subject/principals. 
The inspector for given principals/subject identities can be cached in a map. 
Every subject has a set of principals and the rule list provides a set of 
identities. The intersection of these two set produces a set of relevant 
principals that have an impact on rule matching. Hence this set of relevant 
principals is a suitable key of the cache.
The cache can be populated with the inspectors for none or a single relevant 
principal directly after the loading.
The rule object can be transformed to a simple rule that matches only the 
specified criteria. There will be different simple rules derived from firewall 
criterion, updates attributes, properties and the simple rule will check only 
the criterion that is needed.

  was:
We are using the Java broker with more than 1000 accounts and 4 individual 
ACL rules. This amount of ACL rules has a significant impact on the throughput 
of the broker, therefore an optimization is needed.

*Current implementation*

There is the class called RuleSet that wraps the list of the rules and it is 
responsible for finding a matching rule. The RuleSet contains internal 
map/cache that could contain the relevant rules for given subject, operation, 
object type.

Every access control of the user action goes throw two steps in the RuleSet:
 # Broker looks for the relevant list of rules in the cache. If the cache does 
not contain the rules then the broker will iterate over entire rule list and 
filter the relevant rules for given operation, object type and subject.
 # Broker scans the relevant rules and applies the first matching rule.

The cache is 3 tiers map with subject, operation and object type as key (in 
this order). The top map is a synchronized weak hash. Hence the cache is used 
only if the same subject (pointer equality) checks rules for the same operation 
and object type multiple times.

I have tried to send 1000 messages to the same exchange by the same user and 
the cache was never used. It looks like that every send action created a new 
subject. The broker iterated over the whole rule list again and again.

*Proposed implementation*

I propose to introduce RuleInspector object that can check the internal rule 
list and looks for the first rule that matches. The RuleInspector will be based 
on the composite patter, the generic inspector will delegate work to a more 
specialized inspector and so on.

_Tier structure:_
 # The RuleSet itself is the top generic inspector.
 # The rule inspectors for given operation and object type. These inspectors 
will contain the relevant rules for given operation and object type and can be 
prepared after the loading of the ACL file or rule list. The rules can be