You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mina.apache.org by gn...@apache.org on 2014/01/30 15:51:00 UTC
[3/6] git commit: Fix typo s/negociate/negotiate Fix a few other
minors stuff
Fix typo s/negociate/negotiate
Fix a few other minors stuff
Project: http://git-wip-us.apache.org/repos/asf/mina-sshd/repo
Commit: http://git-wip-us.apache.org/repos/asf/mina-sshd/commit/f83185bf
Tree: http://git-wip-us.apache.org/repos/asf/mina-sshd/tree/f83185bf
Diff: http://git-wip-us.apache.org/repos/asf/mina-sshd/diff/f83185bf
Branch: refs/heads/master
Commit: f83185bfaced4ba2b4848d969ef2643b1839a394
Parents: c1a6b58
Author: Guillaume Nodet <gn...@apache.org>
Authored: Thu Jan 30 11:43:06 2014 +0100
Committer: Guillaume Nodet <gn...@apache.org>
Committed: Thu Jan 30 11:43:06 2014 +0100
----------------------------------------------------------------------
.../org/apache/sshd/common/NamedFactory.java | 2 +-
.../org/apache/sshd/common/SshConstants.java | 2 +-
.../sshd/common/session/AbstractSession.java | 64 ++++++++++----------
.../sshd/server/auth/UserAuthPublicKey.java | 1 -
.../sshd/server/channel/ChannelSession.java | 19 +++---
.../sshd/server/kex/AbstractDHGServer.java | 2 +-
.../java/org/apache/sshd/server/kex/DHGEX.java | 2 +-
.../sshd/server/session/ServerSession.java | 8 +--
.../server/session/ServerUserAuthService.java | 1 -
9 files changed, 47 insertions(+), 54 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/f83185bf/sshd-core/src/main/java/org/apache/sshd/common/NamedFactory.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/NamedFactory.java b/sshd-core/src/main/java/org/apache/sshd/common/NamedFactory.java
index df7f77e..74ed284 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/NamedFactory.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/NamedFactory.java
@@ -22,7 +22,7 @@ import java.util.List;
/**
* A named factory is a factory identified by a name.
- * Such names are used mainly in the algorithm negociation at the beginning of the SSH connection.
+ * Such names are used mainly in the algorithm negotiation at the beginning of the SSH connection.
*
* @param <T>
*
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/f83185bf/sshd-core/src/main/java/org/apache/sshd/common/SshConstants.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/SshConstants.java b/sshd-core/src/main/java/org/apache/sshd/common/SshConstants.java
index 1eda338..bb0cf45 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/SshConstants.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/SshConstants.java
@@ -75,7 +75,7 @@ public interface SshConstants {
static final byte SSH_MSG_CHANNEL_FAILURE= 100;
//
- // Values for the algorithms negociation
+ // Values for the algorithms negotiation
//
static final int PROPOSAL_KEX_ALGS = 0;
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/f83185bf/sshd-core/src/main/java/org/apache/sshd/common/session/AbstractSession.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/session/AbstractSession.java b/sshd-core/src/main/java/org/apache/sshd/common/session/AbstractSession.java
index 700b18e..efd5570 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/session/AbstractSession.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/session/AbstractSession.java
@@ -117,7 +117,7 @@ public abstract class AbstractSession implements Session {
protected String clientVersion;
protected String[] serverProposal;
protected String[] clientProposal;
- protected String[] negociated;
+ protected String[] negotiated;
protected byte[] I_C; // the payload of the client's SSH_MSG_KEXINIT
protected byte[] I_S; // the payload of the factoryManager's SSH_MSG_KEXINIT
protected KeyExchange kex;
@@ -161,7 +161,6 @@ public abstract class AbstractSession implements Session {
this.factoryManager = factoryManager;
this.ioSession = ioSession;
this.random = factoryManager.getRandomFactory().create();
-// this.tcpipForwarder = factoryManager.getTcpipForwarderFactory().create(this);
}
/**
@@ -172,7 +171,7 @@ public abstract class AbstractSession implements Session {
* @param ioSession the MINA session
* @return the session attached to the MINA session
*/
- public static final AbstractSession getSession(IoSession ioSession) {
+ public static AbstractSession getSession(IoSession ioSession) {
return getSession(ioSession, false);
}
@@ -187,7 +186,7 @@ public abstract class AbstractSession implements Session {
* returned if no session is attached
* @return the session attached to the MINA session or <code>null</code>
*/
- public static final AbstractSession getSession(IoSession ioSession, boolean allowNull) {
+ public static AbstractSession getSession(IoSession ioSession, boolean allowNull) {
AbstractSession session = (AbstractSession) ioSession.getAttribute(SESSION);
if (!allowNull && session == null) {
throw new IllegalStateException("No session available");
@@ -201,7 +200,7 @@ public abstract class AbstractSession implements Session {
* @param ioSession the MINA session
* @param session the session to attach
*/
- public static final void attachSession(IoSession ioSession, AbstractSession session) {
+ public static void attachSession(IoSession ioSession, AbstractSession session) {
ioSession.setAttribute(SESSION, session);
}
@@ -347,8 +346,8 @@ public abstract class AbstractSession implements Session {
throw new IllegalStateException("Received SSH_MSG_KEXINIT while key exchange is running");
}
kexState = KEX_STATE_RUN;
- negociate();
- kex = NamedFactory.Utils.create(factoryManager.getKeyExchangeFactories(), negociated[SshConstants.PROPOSAL_KEX_ALGS]);
+ negotiate();
+ kex = NamedFactory.Utils.create(factoryManager.getKeyExchangeFactories(), negotiated[SshConstants.PROPOSAL_KEX_ALGS]);
kex.init(this, serverVersion.getBytes(), clientVersion.getBytes(), I_S, I_C);
break;
case SSH_MSG_NEWKEYS:
@@ -523,7 +522,6 @@ public abstract class AbstractSession implements Session {
// they actually send exactly this amount.
//
int bsize = outCipherSize;
- int oldLen = len;
len += 5;
int pad = (-len) & (bsize - 1);
if (pad < bsize) {
@@ -777,7 +775,7 @@ public abstract class AbstractSession implements Session {
}
/**
- * Create our proposal for SSH negociation
+ * Create our proposal for SSH negotiation
*
* @param hostKeyTypes the list of supported host key types
* @return an array of 10 strings holding this proposal
@@ -801,9 +799,9 @@ public abstract class AbstractSession implements Session {
* Send the key exchange initialization packet.
* This packet contains random data along with our proposal.
*
- * @param proposal our proposal for key exchange negociation
+ * @param proposal our proposal for key exchange negotiation
* @return the sent packet which must be kept for later use
- * @throws IOException if an error occured sending the packet
+ * @throws IOException if an error occurred sending the packet
*/
protected byte[] sendKexInit(String[] proposal) throws IOException {
Buffer buffer = createBuffer(SshConstants.SSH_MSG_KEXINIT, 0);
@@ -865,8 +863,8 @@ public abstract class AbstractSession implements Session {
/**
* Put new keys into use.
- * This method will intialize the ciphers, digests, macs and compression
- * according to the negociated server and client proposals.
+ * This method will initialize the ciphers, digests, macs and compression
+ * according to the negotiated server and client proposals.
*
* @throws Exception if an error occurs
*/
@@ -924,24 +922,24 @@ public abstract class AbstractSession implements Session {
hash.update(buf, 0, pos);
MACs2c = hash.digest();
- s2ccipher = NamedFactory.Utils.create(factoryManager.getCipherFactories(), negociated[SshConstants.PROPOSAL_ENC_ALGS_STOC]);
+ s2ccipher = NamedFactory.Utils.create(factoryManager.getCipherFactories(), negotiated[SshConstants.PROPOSAL_ENC_ALGS_STOC]);
Es2c = resizeKey(Es2c, s2ccipher.getBlockSize(), hash, K, H);
s2ccipher.init(isServer ? Cipher.Mode.Encrypt : Cipher.Mode.Decrypt, Es2c, IVs2c);
- s2cmac = NamedFactory.Utils.create(factoryManager.getMacFactories(), negociated[SshConstants.PROPOSAL_MAC_ALGS_STOC]);
+ s2cmac = NamedFactory.Utils.create(factoryManager.getMacFactories(), negotiated[SshConstants.PROPOSAL_MAC_ALGS_STOC]);
MACs2c = resizeKey(MACs2c, s2cmac.getBlockSize(), hash, K, H);
s2cmac.init(MACs2c);
- c2scipher = NamedFactory.Utils.create(factoryManager.getCipherFactories(), negociated[SshConstants.PROPOSAL_ENC_ALGS_CTOS]);
+ c2scipher = NamedFactory.Utils.create(factoryManager.getCipherFactories(), negotiated[SshConstants.PROPOSAL_ENC_ALGS_CTOS]);
Ec2s = resizeKey(Ec2s, c2scipher.getBlockSize(), hash, K, H);
c2scipher.init(isServer ? Cipher.Mode.Decrypt : Cipher.Mode.Encrypt, Ec2s, IVc2s);
- c2smac = NamedFactory.Utils.create(factoryManager.getMacFactories(), negociated[SshConstants.PROPOSAL_MAC_ALGS_CTOS]);
+ c2smac = NamedFactory.Utils.create(factoryManager.getMacFactories(), negotiated[SshConstants.PROPOSAL_MAC_ALGS_CTOS]);
MACc2s = resizeKey(MACc2s, c2smac.getBlockSize(), hash, K, H);
c2smac.init(MACc2s);
- s2ccomp = NamedFactory.Utils.create(factoryManager.getCompressionFactories(), negociated[SshConstants.PROPOSAL_COMP_ALGS_STOC]);
- c2scomp = NamedFactory.Utils.create(factoryManager.getCompressionFactories(), negociated[SshConstants.PROPOSAL_COMP_ALGS_CTOS]);
+ s2ccomp = NamedFactory.Utils.create(factoryManager.getCompressionFactories(), negotiated[SshConstants.PROPOSAL_COMP_ALGS_STOC]);
+ c2scomp = NamedFactory.Utils.create(factoryManager.getCompressionFactories(), negotiated[SshConstants.PROPOSAL_COMP_ALGS_CTOS]);
if (isServer) {
outCipher = s2ccipher;
@@ -1020,10 +1018,10 @@ public abstract class AbstractSession implements Session {
/**
* Send an unimplemented packet. This packet should contain the
- * sequence id of the usupported packet: this number is assumed to
+ * sequence id of the unsupported packet: this number is assumed to
* be the last packet received.
*
- * @throws IOException if an error occured sending the packet
+ * @throws IOException if an error occurred sending the packet
*/
protected void notImplemented() throws IOException {
Buffer buffer = createBuffer(SshConstants.SSH_MSG_UNIMPLEMENTED, 0);
@@ -1032,11 +1030,11 @@ public abstract class AbstractSession implements Session {
}
/**
- * Compute the negociated proposals by merging the client and
- * server proposal. The negocatiated proposal will be stored in
- * the {@link #negociated} property.
+ * Compute the negotiated proposals by merging the client and
+ * server proposal. The negotiated proposal will be stored in
+ * the {@link #negotiated} property.
*/
- protected void negociate() {
+ protected void negotiate() {
String[] guess = new String[SshConstants.PROPOSAL_MAX];
for (int i = 0; i < SshConstants.PROPOSAL_MAX; i++) {
String[] c = clientProposal[i].split(",");
@@ -1063,19 +1061,19 @@ public abstract class AbstractSession implements Session {
"compression algorithms (client to server)",
"compression algorithms (server to client)"
};
- throw new IllegalStateException("Unable to negociate key exchange for " + items[i] +
+ throw new IllegalStateException("Unable to negotiate key exchange for " + items[i] +
" (client: " + clientProposal[i] + " / server: " + serverProposal[i] + ")");
}
}
- negociated = guess;
+ negotiated = guess;
log.info("Kex: server->client {} {} {}",
- new Object[] { negociated[SshConstants.PROPOSAL_ENC_ALGS_STOC],
- negociated[SshConstants.PROPOSAL_MAC_ALGS_STOC],
- negociated[SshConstants.PROPOSAL_COMP_ALGS_STOC]});
+ new Object[] { negotiated[SshConstants.PROPOSAL_ENC_ALGS_STOC],
+ negotiated[SshConstants.PROPOSAL_MAC_ALGS_STOC],
+ negotiated[SshConstants.PROPOSAL_COMP_ALGS_STOC]});
log.info("Kex: client->server {} {} {}",
- new Object[] { negociated[SshConstants.PROPOSAL_ENC_ALGS_CTOS],
- negociated[SshConstants.PROPOSAL_MAC_ALGS_CTOS],
- negociated[SshConstants.PROPOSAL_COMP_ALGS_CTOS]});
+ new Object[] { negotiated[SshConstants.PROPOSAL_ENC_ALGS_CTOS],
+ negotiated[SshConstants.PROPOSAL_MAC_ALGS_CTOS],
+ negotiated[SshConstants.PROPOSAL_COMP_ALGS_CTOS]});
}
protected void requestSuccess(Buffer buffer) throws Exception{
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/f83185bf/sshd-core/src/main/java/org/apache/sshd/server/auth/UserAuthPublicKey.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/server/auth/UserAuthPublicKey.java b/sshd-core/src/main/java/org/apache/sshd/server/auth/UserAuthPublicKey.java
index e6fd677..0e4de86 100644
--- a/sshd-core/src/main/java/org/apache/sshd/server/auth/UserAuthPublicKey.java
+++ b/sshd-core/src/main/java/org/apache/sshd/server/auth/UserAuthPublicKey.java
@@ -29,7 +29,6 @@ import org.apache.sshd.common.SshException;
import org.apache.sshd.common.util.Buffer;
import org.apache.sshd.server.PublickeyAuthenticator;
import org.apache.sshd.server.UserAuth;
-import org.apache.sshd.server.session.ServerSession;
/**
* TODO Add javadoc
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/f83185bf/sshd-core/src/main/java/org/apache/sshd/server/channel/ChannelSession.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/server/channel/ChannelSession.java b/sshd-core/src/main/java/org/apache/sshd/server/channel/ChannelSession.java
index a3e9144..2f5d68b 100644
--- a/sshd-core/src/main/java/org/apache/sshd/server/channel/ChannelSession.java
+++ b/sshd-core/src/main/java/org/apache/sshd/server/channel/ChannelSession.java
@@ -41,7 +41,6 @@ import org.apache.sshd.common.SshConstants;
import org.apache.sshd.common.channel.ChannelOutputStream;
import org.apache.sshd.common.future.CloseFuture;
import org.apache.sshd.common.future.DefaultCloseFuture;
-import org.apache.sshd.common.future.SshFuture;
import org.apache.sshd.common.future.SshFutureListener;
import org.apache.sshd.common.util.Buffer;
import org.apache.sshd.common.util.IoUtils;
@@ -372,10 +371,10 @@ public class ChannelSession extends AbstractServerChannel {
}
protected boolean handleShell(Buffer buffer) throws IOException {
- if (((ServerSession) session).getServerFactoryManager().getShellFactory() == null) {
+ if (((ServerSession) session).getFactoryManager().getShellFactory() == null) {
return false;
}
- command = ((ServerSession) session).getServerFactoryManager().getShellFactory().create();
+ command = ((ServerSession) session).getFactoryManager().getShellFactory().create();
prepareCommand();
command.start(getEnvironment());
return true;
@@ -383,7 +382,7 @@ public class ChannelSession extends AbstractServerChannel {
protected boolean handleExec(Buffer buffer) throws IOException {
String commandLine = buffer.getString();
- if (((ServerSession) session).getServerFactoryManager().getCommandFactory() == null) {
+ if (((ServerSession) session).getFactoryManager().getCommandFactory() == null) {
log.warn("Unsupported command: {}", commandLine);
return false;
}
@@ -391,7 +390,7 @@ public class ChannelSession extends AbstractServerChannel {
log.info("Executing command: {}", commandLine);
}
try {
- command = ((ServerSession) session).getServerFactoryManager().getCommandFactory().createCommand(commandLine);
+ command = ((ServerSession) session).getFactoryManager().getCommandFactory().createCommand(commandLine);
} catch (IllegalArgumentException iae) {
// TODO: Shouldn't we log errors on the server side?
return false;
@@ -404,7 +403,7 @@ public class ChannelSession extends AbstractServerChannel {
protected boolean handleSubsystem(Buffer buffer) throws IOException {
String subsystem = buffer.getString();
- List<NamedFactory<Command>> factories = ((ServerSession) session).getServerFactoryManager().getSubsystemFactories();
+ List<NamedFactory<Command>> factories = ((ServerSession) session).getFactoryManager().getSubsystemFactories();
if (factories == null) {
log.warn("Unsupported subsystem: {}", subsystem);
return false;
@@ -443,7 +442,7 @@ public class ChannelSession extends AbstractServerChannel {
}
// If the shell wants to be aware of the file system, let's do that too
if (command instanceof FileSystemAware) {
- FileSystemFactory factory = ((ServerSession) session).getServerFactoryManager().getFileSystemFactory();
+ FileSystemFactory factory = ((ServerSession) session).getFactoryManager().getFileSystemFactory();
((FileSystemAware) command).setFileSystemView(factory.createFileSystemView(session));
}
out = new ChannelOutputStream(this, remoteWindow, log, SshConstants.SSH_MSG_CHANNEL_DATA);
@@ -488,8 +487,8 @@ public class ChannelSession extends AbstractServerChannel {
protected boolean handleAgentForwarding(Buffer buffer) throws IOException {
final ServerSession server = (ServerSession) session;
- final ForwardingFilter filter = server.getServerFactoryManager().getTcpipForwardingFilter();
- final SshAgentFactory factory = server.getServerFactoryManager().getAgentFactory();
+ final ForwardingFilter filter = server.getFactoryManager().getTcpipForwardingFilter();
+ final SshAgentFactory factory = server.getFactoryManager().getAgentFactory();
if (factory == null || (filter != null && !filter.canForwardAgent(server))) {
return false;
}
@@ -501,7 +500,7 @@ public class ChannelSession extends AbstractServerChannel {
protected boolean handleX11Forwarding(Buffer buffer) throws IOException {
final ServerSession server = (ServerSession) session;
- final ForwardingFilter filter = server.getServerFactoryManager().getTcpipForwardingFilter();
+ final ForwardingFilter filter = server.getFactoryManager().getTcpipForwardingFilter();
if (filter == null || !filter.canForwardX11(server)) {
return false;
}
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/f83185bf/sshd-core/src/main/java/org/apache/sshd/server/kex/AbstractDHGServer.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/server/kex/AbstractDHGServer.java b/sshd-core/src/main/java/org/apache/sshd/server/kex/AbstractDHGServer.java
index dd42317..e6a4023 100644
--- a/sshd-core/src/main/java/org/apache/sshd/server/kex/AbstractDHGServer.java
+++ b/sshd-core/src/main/java/org/apache/sshd/server/kex/AbstractDHGServer.java
@@ -86,7 +86,7 @@ public abstract class AbstractDHGServer implements KeyExchange {
byte[] K_S;
KeyPair kp = session.getHostKey();
- String algo = session.getNegociated(SshConstants.PROPOSAL_SERVER_HOST_KEY_ALGS);
+ String algo = session.getNegotiated(SshConstants.PROPOSAL_SERVER_HOST_KEY_ALGS);
Signature sig = NamedFactory.Utils.create(session.getFactoryManager().getSignatureFactories(), algo);
sig.init(kp.getPublic(), kp.getPrivate());
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/f83185bf/sshd-core/src/main/java/org/apache/sshd/server/kex/DHGEX.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/server/kex/DHGEX.java b/sshd-core/src/main/java/org/apache/sshd/server/kex/DHGEX.java
index 592ce75..3231655 100644
--- a/sshd-core/src/main/java/org/apache/sshd/server/kex/DHGEX.java
+++ b/sshd-core/src/main/java/org/apache/sshd/server/kex/DHGEX.java
@@ -133,7 +133,7 @@ public class DHGEX implements KeyExchange {
byte[] K_S;
KeyPair kp = session.getHostKey();
- String algo = session.getNegociated(SshConstants.PROPOSAL_SERVER_HOST_KEY_ALGS);
+ String algo = session.getNegotiated(SshConstants.PROPOSAL_SERVER_HOST_KEY_ALGS);
Signature sig = NamedFactory.Utils.create(session.getFactoryManager().getSignatureFactories(), algo);
sig.init(kp.getPublic(), kp.getPrivate());
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/f83185bf/sshd-core/src/main/java/org/apache/sshd/server/session/ServerSession.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/server/session/ServerSession.java b/sshd-core/src/main/java/org/apache/sshd/server/session/ServerSession.java
index 0969335..4f10cdd 100644
--- a/sshd-core/src/main/java/org/apache/sshd/server/session/ServerSession.java
+++ b/sshd-core/src/main/java/org/apache/sshd/server/session/ServerSession.java
@@ -21,12 +21,10 @@ package org.apache.sshd.server.session;
import java.io.IOException;
import java.security.KeyPair;
-import org.apache.sshd.common.NamedFactory;
import org.apache.sshd.common.ServiceFactory;
import org.apache.sshd.common.SshConstants;
import org.apache.sshd.common.SshException;
import org.apache.sshd.common.io.IoSession;
-import org.apache.sshd.common.io.IoWriteFuture;
import org.apache.sshd.common.session.AbstractSession;
import org.apache.sshd.common.util.Buffer;
import org.apache.sshd.server.ServerFactoryManager;
@@ -61,8 +59,8 @@ public class ServerSession extends AbstractSession {
sendKexInit();
}
- public String getNegociated(int index) {
- return negociated[index];
+ public String getNegotiated(int index) {
+ return negotiated[index];
}
public ServerFactoryManager getFactoryManager() {
@@ -137,7 +135,7 @@ public class ServerSession extends AbstractSession {
}
public KeyPair getHostKey() {
- return factoryManager.getKeyPairProvider().loadKey(negociated[SshConstants.PROPOSAL_SERVER_HOST_KEY_ALGS]);
+ return factoryManager.getKeyPairProvider().loadKey(negotiated[SshConstants.PROPOSAL_SERVER_HOST_KEY_ALGS]);
}
/**
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/f83185bf/sshd-core/src/main/java/org/apache/sshd/server/session/ServerUserAuthService.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/server/session/ServerUserAuthService.java b/sshd-core/src/main/java/org/apache/sshd/server/session/ServerUserAuthService.java
index cc173f8..49612e2 100644
--- a/sshd-core/src/main/java/org/apache/sshd/server/session/ServerUserAuthService.java
+++ b/sshd-core/src/main/java/org/apache/sshd/server/session/ServerUserAuthService.java
@@ -25,7 +25,6 @@ import java.util.Collections;
import java.util.List;
import org.apache.sshd.SshServer;
-import org.apache.sshd.client.session.ClientSessionImpl;
import org.apache.sshd.common.NamedFactory;
import org.apache.sshd.common.Service;
import org.apache.sshd.common.ServiceFactory;