On 04/29/2011 04:16 PM, Adam Stokes wrote:
little history..
QPID_SSL_CERT_DB and QPID_SSL_CERT_PASSWORD_FILE need to be set in order to make the
broker load the sslconnector library and provide us with SSL capabilities during
communication. Unfortunately, there is no command level way to set these options and so we
are looking at alternatives.
There are three ways to get options into the broker process: 1) command
line options, 2) env variables, 3) the config file. That list is in
priority order. If a setting is in the config file, it can be
overridden by an env variable. Either can be overridden by a command
line option.
When running as a Linux daemon/service, env variables are not an option
because there is no way to set the environment for a daemon process.
This leaves the two options. The easiest way is to put the options in
the /etc/qpidd.conf file. You can also override these options by
setting command line options in /etc/sysconfig/qpidd. This file is of
the form:
OPTIONS="--ssl-sert-db=xyz --ssl-cert-password-file=qrs"
So far:
1) setting the variables QPID_SSL_CERT_DB and QPID_SSL_CERT_PASSWORD_FILE with setenv()
prior to making the amqp connection. The broker failed to see variables
This is confusing to me... Are you setting the variables on the client
process prior to starting it up? If so, this has nothing to do with the
broker process. Or are you setting the variables on the broker system
prior to starting the client? If so, the broker wouldn't pick up new
variables unless it was restarted (see above about daemon processes).
2) Placing them in /etc/qpid/qpidc.conf, I thought this may work but
did not have luck. There is code for checking at least the cert database in qpid.
That configuration file only applies to client processes.
/etc/qpidd.conf is used for the broker.
3) Prior to running any agents, brokers, prepend QPID_SSL_CERT_DB and
QPID_SSL_CERT_PASSWORD_FILE on the commandline. works.
Yes, because the variables are passed into the processes (won't work for
daemons). Using config files or /etc/sysconfig will work better.
Other options may be to set them in an initscript or maybe some
configuration items in our own matahari.conf
thoughts?