public UserContextInfo checkConnection( ConnectionArgs connection_args,
SocketAddress remote_address, Object session_source )
throws ConnectionAuthFailureException {
throw new ConnectionAuthFailureException(
new UnlocalizableTextResourceKey( "Shouldn't get here" ) );
}
@Override
public void notifyUserCredentialFailure( ResourceKey<String> error ) {
auth_error_slot.set( error );
}
};
// Just use a normal auth handler
server = Intrepid.create( new IntrepidSetup().vmidHint(
"server" ).authHandler( handler ).serverPort( 0 ) );
final int server_port = server.getServerPort().intValue();
VMID original_server_vmid = server.getLocalVMID();
System.out.println( "Server VMID: " + original_server_vmid );
client = Intrepid.create( new IntrepidSetup().vmidHint( "client" ).authHandler(
new AuthenticationHandler() {
@Override
public UserContextInfo checkConnection( ConnectionArgs connection_args,
SocketAddress remote_address, Object session_source )
throws ConnectionAuthFailureException {
// System.out.println( "--- checkConnection(" + connection_args +
// "," + remote_address + "," + session_source + ")" );
if ( connection_args instanceof UserCredentialsConnectionArgs ) {
String user =
( ( UserCredentialsConnectionArgs ) connection_args ).getUser();
if ( !user.equals( "reden" ) ) {
throw new ConnectionAuthFailureException(
new UnlocalizableTextResourceKey( "Bad user: " + user ) );
}
UserCredentialsConnectionArgs uargs =
( UserCredentialsConnectionArgs ) connection_args;
return new SimpleUserContextInfo( uargs.getUser() );