diff options
| author | Manuel Traut <manut@vogone.traut> | 2009-12-28 03:10:17 +0100 |
|---|---|---|
| committer | Manuel Traut <manut@vogone.traut> | 2009-12-28 03:10:17 +0100 |
| commit | 8bf839f8860417df1d14435eeca0774db435caec (patch) | |
| tree | 7b5a1207398e67a332625617426325c3020dcc3a /src/YalpAuth | |
| parent | 718a520c0faa92a357d0fb11e89ff4ea28bc63a3 (diff) | |
YalpPGSQLAuth: fix crash in userVerify
- fix NullPointer deref
- fix Exception Handling
Signed-off-by: Manuel Traut <manut@mecka.net>
Diffstat (limited to 'src/YalpAuth')
| -rw-r--r-- | src/YalpAuth/YalpPGSqlAuth/PGSqlAuth.java | 10 | ||||
| -rw-r--r-- | src/YalpAuth/YalpPGSqlAuth/YalpAuthPluginImpl.java | 25 |
2 files changed, 25 insertions, 10 deletions
diff --git a/src/YalpAuth/YalpPGSqlAuth/PGSqlAuth.java b/src/YalpAuth/YalpPGSqlAuth/PGSqlAuth.java index ba88ad4..6b6dd56 100644 --- a/src/YalpAuth/YalpPGSqlAuth/PGSqlAuth.java +++ b/src/YalpAuth/YalpPGSqlAuth/PGSqlAuth.java @@ -92,10 +92,16 @@ public class PGSqlAuth { NameComponent path[] = ncRef.to_name(name); ncRef.rebind(path, authPlugin); - PluginInfoHolder tmp = new PluginInfoHolder(pluginInfo); srvCon.ping(err); System.out.println(err.value.descr); - srvCon.registerAuthPlugin(authPlugin, tmp, err ); + + PluginInfoHolder tmp = new PluginInfoHolder(pluginInfo); + MediaType ms[] = new MediaType[1]; + ms[0] = MediaType.OTHER; + AccessInfo ai = new AccessInfo("", "", "", "", AccessType.UNKNOWN_INFO); + tmp.value.supportedTypes = ms; + tmp.value.access = ai; + srvCon.registerAuthPlugin(authPlugin, tmp, err); pluginInfo = tmp.value; if(err.value.code != YalpErrorCode.OK) diff --git a/src/YalpAuth/YalpPGSqlAuth/YalpAuthPluginImpl.java b/src/YalpAuth/YalpPGSqlAuth/YalpAuthPluginImpl.java index d7c7a21..3124845 100644 --- a/src/YalpAuth/YalpPGSqlAuth/YalpAuthPluginImpl.java +++ b/src/YalpAuth/YalpPGSqlAuth/YalpAuthPluginImpl.java @@ -93,31 +93,40 @@ public class YalpAuthPluginImpl extends AuthPluginInterfacePOA{ YalpError error = new YalpError ("auth ok", YalpErrorCode.OK, YalpErrorLevel.ERROR_LEVEL_INFO, "authentication module working"); - try{ - ResultSet result=stat.executeQuery("select * from \"user\" where \"username\" = '"+username+"' and \"passwd\" = '"+passwd+"';"); + try { + String query = "select * from \"Users\" where \"name\" = '"+username+"' and \"passwd\" = '"+passwd+"';"; + + ResultSet result = stat.executeQuery(query); if (result.next()){ - if (result.getBoolean(5)==true) + if (result.getInt(1)>1) { - user.value.level = AccessRights.ADMIN; + user.value = new YalpUser + (666, username, "real name", AccessRights.ADMIN); err.value = error; return; } else { - user.value.level = AccessRights.USER; + user.value = new YalpUser + (666, username, "real name", AccessRights.USER); err.value = error; return; } } else { - user.value.level = AccessRights.DENY; + user.value = new YalpUser + (666, username, "real name", AccessRights.DENY); err.value = error; return; } - }catch (SQLException e){ - user.value.level = AccessRights.DENY; + + } catch (SQLException e){ + System.out.println("SQL ExceptioN!\n"); + e.printStackTrace(); + user.value = new YalpUser + (666, username, "real name", AccessRights.DENY); error.code = YalpErrorCode.ERROR_SQL; error.msg = "failed to send auth request to pgsql db"; error.level = YalpErrorLevel.ERROR_LEVEL_ERROR; |
