summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/client/SaslFactory.cpp
diff options
context:
space:
mode:
authorGordon Sim <gsim@apache.org>2009-01-08 11:44:12 +0000
committerGordon Sim <gsim@apache.org>2009-01-08 11:44:12 +0000
commitadf563162a591421cb7c401a9705602dfc433cc2 (patch)
treeb41098ab62824ad303d290c25853b2ad56a1e0e0 /cpp/src/qpid/client/SaslFactory.cpp
parent08454f1f40110c92405042da1bc6928052f7fed7 (diff)
downloadqpid-python-adf563162a591421cb7c401a9705602dfc433cc2.tar.gz
QPID-976: Patch from Ted Ross (tross@redhat.com). Remove the handling of empty usernames and leaves that up to the SASL library.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@732691 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/qpid/client/SaslFactory.cpp')
-rw-r--r--cpp/src/qpid/client/SaslFactory.cpp29
1 files changed, 1 insertions, 28 deletions
diff --git a/cpp/src/qpid/client/SaslFactory.cpp b/cpp/src/qpid/client/SaslFactory.cpp
index d6edc6501d..af18c445d8 100644
--- a/cpp/src/qpid/client/SaslFactory.cpp
+++ b/cpp/src/qpid/client/SaslFactory.cpp
@@ -95,7 +95,6 @@ class CyrusSasl : public Sasl
};
//sasl callback functions
-int getLogin(void *context, int id, const char **result, unsigned *len);
int getUserFromSettings(void *context, int id, const char **result, unsigned *len);
int getPasswordFromSettings(sasl_conn_t *conn, void *context, int id, sasl_secret_t **psecret);
typedef int CallbackProc();
@@ -140,15 +139,7 @@ CyrusSasl::CyrusSasl(const ConnectionSettings& s) : conn(0), settings(s)
callbacks[i].proc = 0;
callbacks[i++].context = 0;
- if (settings.username.empty()) {
- callbacks[i].id = SASL_CB_USER;
- callbacks[i].proc = (CallbackProc*) &getLogin;
- callbacks[i++].context = &login;
-
- callbacks[i].id = SASL_CB_AUTHNAME;
- callbacks[i].proc = (CallbackProc*) &getLogin;
- callbacks[i++].context = &login;
- } else {
+ if (!settings.username.empty()) {
callbacks[i].id = SASL_CB_USER;
callbacks[i].proc = (CallbackProc*) &getUserFromSettings;
callbacks[i++].context = &settings;
@@ -297,24 +288,6 @@ std::auto_ptr<SecurityLayer> CyrusSasl::getSecurityLayer(uint16_t maxFrameSize)
return securityLayer;
}
-int getLogin(void* context, int /*id*/, const char** result, unsigned* /*len*/)
-{
- if (context) {
- char* login = (char*) context;
- int status = getlogin_r(login, MAX_LOGIN_LENGTH);
- if (status == 0) {
- *result = login;
- QPID_LOG(debug, "getLogin(): " << (*result));
- } else {
- strcpy(login, "guest");
- QPID_LOG(error, "getlogin_r() failed with " << status << "; defaulting to " << login);
- }
- return SASL_OK;
- } else {
- return SASL_FAIL;
- }
-}
-
int getUserFromSettings(void* context, int /*id*/, const char** result, unsigned* /*len*/)
{
if (context) {