summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorManuel Traut <manut@vogone.traut>2009-12-28 03:10:17 +0100
committerManuel Traut <manut@vogone.traut>2009-12-28 03:10:17 +0100
commit8bf839f8860417df1d14435eeca0774db435caec (patch)
tree7b5a1207398e67a332625617426325c3020dcc3a /src
parent718a520c0faa92a357d0fb11e89ff4ea28bc63a3 (diff)
YalpPGSQLAuth: fix crash in userVerify
- fix NullPointer deref - fix Exception Handling Signed-off-by: Manuel Traut <manut@mecka.net>
Diffstat (limited to 'src')
-rw-r--r--src/YalpAuth/YalpPGSqlAuth/PGSqlAuth.java10
-rw-r--r--src/YalpAuth/YalpPGSqlAuth/YalpAuthPluginImpl.java25
-rwxr-xr-xsrc/YalpClients/SwtClient/Model.java4
-rw-r--r--src/YalpServer/AuthPluginHandler.java1
-rw-r--r--src/yalp.idl1
5 files changed, 30 insertions, 11 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;
diff --git a/src/YalpClients/SwtClient/Model.java b/src/YalpClients/SwtClient/Model.java
index 0ebc09c..ce25f54 100755
--- a/src/YalpClients/SwtClient/Model.java
+++ b/src/YalpClients/SwtClient/Model.java
@@ -197,7 +197,9 @@ public class Model {
SessionHolder sess = new SessionHolder();
try{
// log on server
- this.srvCon.clientLogon(this.userName,passwd,this.clientIP,sess,err);
+ this.srvCon.clientLogon(username, passwd,
+ this.clientIP, sess, err);
+
this.session = sess.value;
this.userGroup = sess.value.me.level;
/*
diff --git a/src/YalpServer/AuthPluginHandler.java b/src/YalpServer/AuthPluginHandler.java
index 1011b69..585e0f9 100644
--- a/src/YalpServer/AuthPluginHandler.java
+++ b/src/YalpServer/AuthPluginHandler.java
@@ -42,6 +42,7 @@ public class AuthPluginHandler {
for (AuthPlugin plugin : plugins)
{
+ System.out.println("LOGON: "+userName);
plugin.itf.userVerify(userName, password, err, user);
if (err.value.code == YalpErrorCode.OK)
{
diff --git a/src/yalp.idl b/src/yalp.idl
index 4c56fbb..63fd10b 100644
--- a/src/yalp.idl
+++ b/src/yalp.idl
@@ -103,6 +103,7 @@ enum Action {
typedef sequence<Action> Actions;
enum AccessType {
+ UNKNOWN_INFO,
FILE,
FILES,
STREAM