Added license

This commit is contained in:
Dave
2014-12-21 00:13:27 +02:00
parent 335b20ac69
commit bce0155abe
31 changed files with 746 additions and 59 deletions

View File

@@ -1,3 +1,22 @@
/*
* Copyright 2014 David Horscroft
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
* The NoConfig is a means to store the server secret key, database address
* and other configs.
*/
package nodash.core;
import java.io.ByteArrayInputStream;

View File

@@ -1,3 +1,22 @@
/*
* Copyright 2014 David Horscroft
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
* The NoCore class is the interface between which the wrapper application
* (wrapplication?) accesses no- functionality.
*/
package nodash.core;
import java.io.File;
@@ -6,7 +25,7 @@ import java.security.PublicKey;
import nodash.core.spheres.NoByteSetSphere;
import nodash.core.spheres.NoHashSphere;
import nodash.core.spheres.NoSessionSphere;
import nodash.exceptions.NoDashSessionBadUUID;
import nodash.exceptions.NoDashSessionBadUUIDException;
import nodash.exceptions.NoSessionAlreadyAwaitingConfirmationException;
import nodash.exceptions.NoSessionConfirmedException;
import nodash.exceptions.NoSessionExpiredException;
@@ -43,24 +62,24 @@ public final class NoCore {
return NoSessionSphere.registerUser(user, password);
}
public static NoUser getUser(byte[] cookie) throws NoSessionExpiredException, NoSessionConfirmedException, NoDashSessionBadUUID {
public static NoUser getUser(byte[] cookie) throws NoSessionExpiredException, NoSessionConfirmedException, NoDashSessionBadUUIDException {
/* Facilitates step 3
* allow website-side modifications to the NoUser or NoUser inheritant */
return NoSessionSphere.getUser(cookie);
}
public static NoState getSessionState(byte[] cookie) throws NoSessionExpiredException, NoSessionConfirmedException, NoDashSessionBadUUID {
public static NoState getSessionState(byte[] cookie) throws NoSessionExpiredException, NoSessionConfirmedException, NoDashSessionBadUUIDException {
/* Facilitates step 3
* allow front-side to keep track of session state */
return NoSessionSphere.getState(cookie);
}
public static byte[] requestSave(byte[] cookie, char[] password) throws NoSessionExpiredException, NoSessionConfirmedException, NoSessionNotChangedException, NoSessionAlreadyAwaitingConfirmationException, NoDashSessionBadUUID {
public static byte[] requestSave(byte[] cookie, char[] password) throws NoSessionExpiredException, NoSessionConfirmedException, NoSessionNotChangedException, NoSessionAlreadyAwaitingConfirmationException, NoDashSessionBadUUIDException {
/* Step 4. Provides a user with the new binary file */
return NoSessionSphere.save(cookie, password);
}
public static void confirm(byte[] cookie, char[] password, byte[] data) throws NoSessionExpiredException, NoSessionConfirmedException, NoSessionNotAwaitingConfirmationException, NoUserNotValidException, NoDashSessionBadUUID {
public static void confirm(byte[] cookie, char[] password, byte[] data) throws NoSessionExpiredException, NoSessionConfirmedException, NoSessionNotAwaitingConfirmationException, NoUserNotValidException, NoDashSessionBadUUIDException {
/* Step 5. Assumes the user has re-uploaded the file along with providing the same password.
* Further attempts of getUser or getSessionState will fail with a NoSessionExpiredException*/
NoSessionSphere.confirm(cookie, password, data);

View File

@@ -1,3 +1,22 @@
/*
* Copyright 2014 David Horscroft
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
* The NoRegister class is a simple model used to return both cookies and
* download data upon user registration.
*/
package nodash.core;
public final class NoRegister {

View File

@@ -1,3 +1,22 @@
/*
* Copyright 2014 David Horscroft
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
* The NoUtil class encapsulates no- standard functions such as encryption/decryption
* and hashing algorithms.
*/
package nodash.core;
import java.security.InvalidKeyException;

View File

@@ -1,3 +1,22 @@
/*
* Copyright 2014 David Horscroft
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
* The NoByteSetSphere stores user-to-user influences and their encryption
* keys in an accessible manner.
*/
package nodash.core.spheres;
import java.security.PublicKey;

View File

@@ -1,3 +1,21 @@
/*
* Copyright 2014 David Horscroft
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
* The NoHashSpehre stores database hashes for user verification.
*/
package nodash.core.spheres;
import java.io.ByteArrayInputStream;

View File

@@ -1,3 +1,22 @@
/*
* Copyright 2014 David Horscroft
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
* The NoSessionSphere stores user sessions and allows their access and
* manipulation with the use of their UUID.
*/
package nodash.core.spheres;
import java.util.Collections;
@@ -8,7 +27,7 @@ import java.util.concurrent.ConcurrentHashMap;
import nodash.core.NoRegister;
import nodash.exceptions.NoByteSetBadDecryptionException;
import nodash.exceptions.NoDashFatalException;
import nodash.exceptions.NoDashSessionBadUUID;
import nodash.exceptions.NoDashSessionBadUUIDException;
import nodash.exceptions.NoSessionAlreadyAwaitingConfirmationException;
import nodash.exceptions.NoSessionConfirmedException;
import nodash.exceptions.NoSessionExpiredException;
@@ -41,7 +60,7 @@ public final class NoSessionSphere {
NoSessionSphere.sessions.remove(uuid);
session = null;
}
} catch (NoDashSessionBadUUID e) {
} catch (NoDashSessionBadUUIDException e) {
// Suppress, doesn't matter
}
}
@@ -96,7 +115,7 @@ public final class NoSessionSphere {
return session.getEncryptedUUID();
}
public static NoUser getUser(byte[] encryptedUUID) throws NoDashSessionBadUUID, NoSessionExpiredException, NoSessionConfirmedException {
public static NoUser getUser(byte[] encryptedUUID) throws NoDashSessionBadUUIDException, NoSessionExpiredException, NoSessionConfirmedException {
UUID uuid = NoSession.decryptUUID(encryptedUUID);
if (NoSessionSphere.sessions.containsKey(uuid)) {
NoSessionSphere.pruneSingle(uuid);
@@ -105,7 +124,7 @@ public final class NoSessionSphere {
throw new NoSessionExpiredException();
}
public static NoState getState(byte[] encryptedUUID) throws NoDashSessionBadUUID, NoSessionExpiredException, NoSessionConfirmedException {
public static NoState getState(byte[] encryptedUUID) throws NoDashSessionBadUUIDException, NoSessionExpiredException, NoSessionConfirmedException {
UUID uuid = NoSession.decryptUUID(encryptedUUID);
if (NoSessionSphere.sessions.containsKey(uuid)) {
NoSessionSphere.pruneSingle(uuid);
@@ -115,7 +134,7 @@ public final class NoSessionSphere {
throw new NoSessionExpiredException();
}
public static synchronized byte[] save(byte[] encryptedUUID, char[] password) throws NoDashSessionBadUUID, NoSessionExpiredException, NoSessionConfirmedException, NoSessionNotChangedException, NoSessionAlreadyAwaitingConfirmationException {
public static synchronized byte[] save(byte[] encryptedUUID, char[] password) throws NoDashSessionBadUUIDException, NoSessionExpiredException, NoSessionConfirmedException, NoSessionNotChangedException, NoSessionAlreadyAwaitingConfirmationException {
UUID uuid = NoSession.decryptUUID(encryptedUUID);
if (NoSessionSphere.sessions.containsKey(uuid)) {
NoSessionSphere.pruneSingle(uuid);
@@ -131,7 +150,7 @@ public final class NoSessionSphere {
throw new NoSessionExpiredException();
}
public static synchronized void confirm(byte[] encryptedUUID, char[] password, byte[] data) throws NoDashSessionBadUUID, NoSessionExpiredException, NoSessionConfirmedException, NoSessionNotAwaitingConfirmationException, NoUserNotValidException {
public static synchronized void confirm(byte[] encryptedUUID, char[] password, byte[] data) throws NoDashSessionBadUUIDException, NoSessionExpiredException, NoSessionConfirmedException, NoSessionNotAwaitingConfirmationException, NoUserNotValidException {
UUID uuid = NoSession.decryptUUID(encryptedUUID);
if (NoSessionSphere.sessions.containsKey(uuid)) {
NoSessionSphere.pruneSingle(uuid);
@@ -149,7 +168,7 @@ public final class NoSessionSphere {
result.cookie = session.getEncryptedUUID();
try {
result.data = NoSessionSphere.save(result.cookie, password);
} catch (NoDashSessionBadUUID e) {
} catch (NoDashSessionBadUUIDException e) {
throw new NoDashFatalException("Immediately generated cookie throwing bad cookie error.");
} catch (NoSessionExpiredException e) {
throw new NoDashFatalException("Session expired before it was even returned to client.");

View File

@@ -1,13 +1,31 @@
/*
* Copyright 2014 David Horscroft
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
* NoByteSetBadDecryptionException is triggered when no- is unable to
* decrypt a given byte stream.
*/
package nodash.exceptions;
public class NoByteSetBadDecryptionException extends Exception {
private static final long serialVersionUID = -8579497499272656543L;
import javax.crypto.BadPaddingException;
public NoByteSetBadDecryptionException() {
super();
}
public class NoByteSetBadDecryptionException extends NoDashException {
private static final long serialVersionUID = -8579497499272656543L;
public NoByteSetBadDecryptionException(Exception e) {
super(e);
}
}

View File

@@ -1,8 +1,28 @@
/*
* Copyright 2014 David Horscroft
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
* NoCannotGetInfluenceException is returned when an action is unable to
* render a successful influence for the target, instead returning an
* influence to be returned to the sender if possible.
*/
package nodash.exceptions;
import nodash.models.NoInfluence;
public class NoCannotGetInfluenceException extends NoDashException {
public class NoCannotGetInfluenceException extends Exception {
private static final long serialVersionUID = 4581361079067540974L;
private NoInfluence returnable;

View File

@@ -1,3 +1,21 @@
/*
* Copyright 2014 David Horscroft
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
* NoDashException is the base class for no- related exceptions.
*/
package nodash.exceptions;
public class NoDashException extends Exception {

View File

@@ -1,3 +1,21 @@
/*
* Copyright 2014 David Horscroft
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
* NoDashFatalException is the base exception for no- related runtime exceptions.
*/
package nodash.exceptions;
public class NoDashFatalException extends RuntimeException {

View File

@@ -1,13 +0,0 @@
package nodash.exceptions;
public class NoDashSessionBadUUID extends Exception {
private static final long serialVersionUID = -402131397575158344L;
public NoDashSessionBadUUID() {
super();
}
public NoDashSessionBadUUID(Exception e) {
super(e);
}
}

View File

@@ -0,0 +1,32 @@
/*
* Copyright 2014 David Horscroft
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
* NoDashSessionBadUUIDException is triggered when the NoSessionSphere is
* unable to find a valid session for the provided UUID.
*/
package nodash.exceptions;
public class NoDashSessionBadUUIDException extends Exception {
private static final long serialVersionUID = -402131397575158344L;
public NoDashSessionBadUUIDException() {
super();
}
public NoDashSessionBadUUIDException(Exception e) {
super(e);
}
}

View File

@@ -1,13 +0,0 @@
package nodash.exceptions;
public class NoDashTemporaryError extends Exception {
private static final long serialVersionUID = 7940405670235375662L;
public NoDashTemporaryError() {
super();
}
public NoDashTemporaryError(Exception e) {
super(e);
}
}

View File

@@ -1,3 +1,23 @@
/*
* Copyright 2014 David Horscroft
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
* NoSessionAlreadyAWaitingConfirmationException is triggered when a
* save request is attempted for a session, but it is already awaiting
* a confirmation upload.
*/
package nodash.exceptions;
public class NoSessionAlreadyAwaitingConfirmationException extends NoDashException {

View File

@@ -1,3 +1,22 @@
/*
* Copyright 2014 David Horscroft
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
* NoSessionConfirmedException is triggered when an interaction attempt is
* made on a session that has recently been confirmed and thus closed.
*/
package nodash.exceptions;
public class NoSessionConfirmedException extends NoDashException {

View File

@@ -1,3 +1,22 @@
/*
* Copyright 2014 David Horscroft
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
* NoSessionExpiredException is thrown when an interaction is attempted with
* an expired session.
*/
package nodash.exceptions;
public class NoSessionExpiredException extends NoDashException {

View File

@@ -1,3 +1,23 @@
/*
* Copyright 2014 David Horscroft
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
* NoSessionNotAwaitingConfirmationException is thrown when an attempt is made
* to confirm a session with a password/byte[] combination, but the session is
* not currently awaiting a confirmation.
*/
package nodash.exceptions;
public class NoSessionNotAwaitingConfirmationException extends NoDashException {

View File

@@ -1,3 +1,22 @@
/*
* Copyright 2014 David Horscroft
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
* NoSessionNotChangedException is thrown when a save is requested for a session
* whilst the user object remains unchanged.
*/
package nodash.exceptions;
public class NoSessionNotChangedException extends NoDashException {

View File

@@ -1,3 +1,22 @@
/*
* Copyright 2014 David Horscroft
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
* NoUserAlreadyOnlineException is thrown when a login attempt is made for
* a user who is currently online.
*/
package nodash.exceptions;
public class NoUserAlreadyOnlineException extends NoDashException {

View File

@@ -1,13 +1,24 @@
/*
* Copyright 2014 David Horscroft
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
* NoUserNotValidException is thrown when a user file does not hash to a known
* hash.
*/
package nodash.exceptions;
public class NoUserNotValidException extends NoDashException {
private static final long serialVersionUID = -6432604940919299965L;
public NoUserNotValidException(Exception e) {
super(e);
}
public NoUserNotValidException() {
}
}

View File

@@ -1,3 +1,22 @@
/*
* Copyright 2014 David Horscroft
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
* NoAction is an abstract class to allow for the inheritance of actions which
* users can queue before confirmation (user-to-user and user-to-server).
*/
package nodash.models;
import java.io.Serializable;

View File

@@ -1,3 +1,22 @@
/*
* Copyright 2014 David Horscroft
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
* NoByteSet stores an AES key which has been RSA-4096 encrypted and a data
* stream which has been encrypted by this key.
*/
package nodash.models;
public final class NoByteSet {

View File

@@ -1,3 +1,26 @@
/*
* Copyright 2014 David Horscroft
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
* NoInfluence is an abstract class allowing for the subclassing of user
* influences, generated by both actions and the server. Upon login, the user
* consumes NoByteSets (generated by .getByteSet()) into the primary NoInfluence,
* which is then applied to the user with .applyTo(NoUser).
*
* Examples include incoming messages, financial changes or charges or updates.
*/
package nodash.models;
import java.io.ByteArrayInputStream;

View File

@@ -12,7 +12,7 @@ import nodash.core.NoUtil;
import nodash.core.spheres.NoHashSphere;
import nodash.exceptions.NoByteSetBadDecryptionException;
import nodash.exceptions.NoDashFatalException;
import nodash.exceptions.NoDashSessionBadUUID;
import nodash.exceptions.NoDashSessionBadUUIDException;
import nodash.exceptions.NoSessionConfirmedException;
import nodash.exceptions.NoSessionExpiredException;
import nodash.exceptions.NoSessionNotAwaitingConfirmationException;
@@ -200,13 +200,13 @@ public final class NoSession implements Serializable {
}
}
public static UUID decryptUUID(byte[] data) throws NoDashSessionBadUUID {
public static UUID decryptUUID(byte[] data) throws NoDashSessionBadUUIDException {
try {
return UUID.fromString(new String(NoUtil.decrypt(data)));
} catch (IllegalBlockSizeException e) {
throw new NoDashSessionBadUUID();
throw new NoDashSessionBadUUIDException();
} catch (BadPaddingException e) {
throw new NoDashSessionBadUUID();
throw new NoDashSessionBadUUIDException();
}
}

View File

@@ -1,3 +1,23 @@
/*
* Copyright 2014 David Horscroft
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
* NoUser allows the subclassing of custom user objects whilst keeping the
* core requirements of a NoUser: the public and private keys. It also supports
* the serialization, decryption and NoByteSet consumption.
*/
package nodash.models;
import java.io.ByteArrayInputStream;

View File

@@ -1,3 +1,27 @@
/*
* Copyright 2014 David Horscroft
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
* NoErrorableAction is a subclassing of NoTargetedAction for user-server
* interactions that require an error to be returned if a
* NoCannotGetInfluenceException is thrown. The target is not a destination user,
* but is instead treated as the source.
*
* As with all sourced actions it is advised to avoid their use unless the logic
* demands it, as it establishes a connection between a server action and a user address.
*/
package nodash.models.noactiontypes;
import java.security.PublicKey;
@@ -10,8 +34,9 @@ import nodash.models.NoInfluence;
public abstract class NoErrorableAction extends NoTargetedAction {
private static final long serialVersionUID = -6077150774349400823L;
public NoErrorableAction(PublicKey target) {
super(target);
public NoErrorableAction(PublicKey source) {
// Note that
super(source);
}
public void execute() {

View File

@@ -1,3 +1,27 @@
/*
* Copyright 2014 David Horscroft
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
* NoHandshakeAction is a subclass of the NoSourcedAction with logic to
* generate an applying influence as well as a returned influence, whilst
* also being capable of returned an error influence if the
* NoCannotGetInfluenceException is thrown.
*
* As with all two-way or sourced actions, their use should be sparing as
* it establishes a connection between two user addresses.
*/
package nodash.models.noactiontypes;
import java.security.PublicKey;

View File

@@ -1,3 +1,26 @@
/*
* Copyright 2014 David Horscroft
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
* NoSourcedAction is a subclassing of NoTargetedAction which additionally
* has a source, allowing for errors to be returned if a NoCannotGetInfluenceException
* is thrown.
*
* It is not advised to make a habit of using these for all user-user interactions
* as they provide a clear link between two users.
*/
package nodash.models.noactiontypes;
import java.security.PublicKey;

View File

@@ -1,3 +1,22 @@
/*
* Copyright 2014 David Horscroft
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
* NoTargetedAction is an abstract subclassing of NoAction aimed at providing the
* basis for an action that has a user target in mind.
*/
package nodash.models.noactiontypes;
import java.security.PublicKey;