Add tests and misc fixes on keystore.

* Refactor netkeystore.c to make client and server code testable.
* Add a client test for setting new passwd and changing passwd.
* Exclude "." and ".." from reset_keystore().
* Change ServerCommand.executeCommand() to accept variable length of
  arguments and add convert() to marshalling the args to bytes.
* Keystore.java is revised accordingly.
This commit is contained in:
Hung-ying Tyan
2009-09-11 18:34:28 +08:00
parent d304ae583d
commit a7df557aa2
9 changed files with 115 additions and 38 deletions

View File

@@ -60,7 +60,7 @@ public abstract class Keystore {
@Override
public int lock() {
Reply result = mServiceCommand.execute(ServiceCommand.LOCK, null);
Reply result = mServiceCommand.execute(ServiceCommand.LOCK);
return (result != null) ? result.returnCode : -1;
}
@@ -73,15 +73,14 @@ public abstract class Keystore {
@Override
public int getState() {
Reply result = mServiceCommand.execute(ServiceCommand.GET_STATE,
null);
Reply result = mServiceCommand.execute(ServiceCommand.GET_STATE);
return (result != null) ? result.returnCode : -1;
}
@Override
public int changePassword(String oldPassword, String newPassword) {
Reply result = mServiceCommand.execute(ServiceCommand.PASSWD,
oldPassword + "\0" + newPassword + "\0");
oldPassword, newPassword);
return (result != null) ? result.returnCode : -1;
}
@@ -106,14 +105,14 @@ public abstract class Keystore {
@Override
public int put(String namespace, String keyname, String value) {
Reply result = mServiceCommand.execute(ServiceCommand.PUT_KEY,
namespace + "\0" + keyname + "\0" + value);
namespace, keyname, value);
return (result != null) ? result.returnCode : -1;
}
@Override
public String get(String namespace, String keyname) {
Reply result = mServiceCommand.execute(ServiceCommand.GET_KEY,
namespace + "\0" + keyname + "\0");
namespace, keyname);
return (result != null) ? ((result.returnCode != 0) ? null :
new String(result.data, 0, result.len)) : null;
}
@@ -121,13 +120,13 @@ public abstract class Keystore {
@Override
public int remove(String namespace, String keyname) {
Reply result = mServiceCommand.execute(ServiceCommand.REMOVE_KEY,
namespace + "\0" + keyname + "\0");
namespace, keyname);
return (result != null) ? result.returnCode : -1;
}
@Override
public int reset() {
Reply result = mServiceCommand.execute(ServiceCommand.RESET, null);
Reply result = mServiceCommand.execute(ServiceCommand.RESET);
return (result != null) ? result.returnCode : -1;
}
}