beepcore-java-commits Mailing List for Java BEEP Core (Page 5)
Status: Beta
Brought to you by:
huston
You can subscribe to this list here.
2001 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(22) |
Aug
(1) |
Sep
|
Oct
(16) |
Nov
(60) |
Dec
(2) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2002 |
Jan
(3) |
Feb
|
Mar
(4) |
Apr
(2) |
May
(13) |
Jun
|
Jul
|
Aug
(10) |
Sep
(34) |
Oct
(27) |
Nov
(2) |
Dec
(2) |
2003 |
Jan
|
Feb
|
Mar
(3) |
Apr
(15) |
May
(11) |
Jun
(14) |
Jul
(5) |
Aug
(1) |
Sep
(24) |
Oct
(4) |
Nov
(26) |
Dec
(1) |
2004 |
Jan
(3) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2006 |
Jan
|
Feb
(3) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Huston F. <hu...@us...> - 2003-04-23 15:23:10
|
Update of /cvsroot/beepcore-java/beepcore-java/src/org/beepcore/beep/profile/tls In directory sc8-pr-cvs1:/tmp/cvs-serv31233/src/org/beepcore/beep/profile/tls Modified Files: TLSProfile.java TLSProfileHandshakeCompletedListener.java Log Message: cleanup of imports Index: TLSProfile.java =================================================================== RCS file: /cvsroot/beepcore-java/beepcore-java/src/org/beepcore/beep/profile/tls/TLSProfile.java,v retrieving revision 1.14 retrieving revision 1.15 diff -C2 -r1.14 -r1.15 *** TLSProfile.java 9 Nov 2001 16:44:43 -0000 1.14 --- TLSProfile.java 23 Apr 2003 15:23:06 -0000 1.15 *************** *** 21,25 **** import org.beepcore.beep.profile.*; import org.beepcore.beep.transport.tcp.*; - import org.beepcore.beep.util.*; --- 21,24 ---- Index: TLSProfileHandshakeCompletedListener.java =================================================================== RCS file: /cvsroot/beepcore-java/beepcore-java/src/org/beepcore/beep/profile/tls/TLSProfileHandshakeCompletedListener.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -r1.3 -r1.4 *** TLSProfileHandshakeCompletedListener.java 8 Nov 2001 05:51:35 -0000 1.3 --- TLSProfileHandshakeCompletedListener.java 23 Apr 2003 15:23:06 -0000 1.4 *************** *** 22,26 **** import javax.net.ssl.HandshakeCompletedEvent; - import javax.net.ssl.HandshakeCompletedListener; --- 22,25 ---- |
From: Huston F. <hu...@us...> - 2003-04-23 15:23:10
|
Update of /cvsroot/beepcore-java/beepcore-java/src/org/beepcore/beep/profile In directory sc8-pr-cvs1:/tmp/cvs-serv31233/src/org/beepcore/beep/profile Modified Files: Profile.java Log Message: cleanup of imports Index: Profile.java =================================================================== RCS file: /cvsroot/beepcore-java/beepcore-java/src/org/beepcore/beep/profile/Profile.java,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -r1.4 -r1.5 *** Profile.java 7 Sep 2002 15:09:38 -0000 1.4 --- Profile.java 23 Apr 2003 15:23:05 -0000 1.5 *************** *** 21,25 **** import org.beepcore.beep.core.BEEPException; import org.beepcore.beep.core.StartChannelListener; - import org.beepcore.beep.core.Channel; --- 21,24 ---- |
From: Huston F. <hu...@us...> - 2003-04-23 15:23:09
|
Update of /cvsroot/beepcore-java/beepcore-java/src/org/beepcore/beep/profile/sasl/otp/algorithm/md5 In directory sc8-pr-cvs1:/tmp/cvs-serv31233/src/org/beepcore/beep/profile/sasl/otp/algorithm/md5 Modified Files: MD5.java Log Message: cleanup of imports Index: MD5.java =================================================================== RCS file: /cvsroot/beepcore-java/beepcore-java/src/org/beepcore/beep/profile/sasl/otp/algorithm/md5/MD5.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -r1.3 -r1.4 *** MD5.java 8 Nov 2001 05:51:34 -0000 1.3 --- MD5.java 23 Apr 2003 15:23:06 -0000 1.4 *************** *** 20,24 **** import org.beepcore.beep.profile.sasl.InvalidParameterException; - import org.beepcore.beep.profile.sasl.otp.algorithm.Algorithm; import org.beepcore.beep.profile.sasl.otp.algorithm.AlgorithmImpl; --- 20,23 ---- |
Update of /cvsroot/beepcore-java/beepcore-java/src/org/beepcore/beep/profile/sasl/otp/database In directory sc8-pr-cvs1:/tmp/cvs-serv31233/src/org/beepcore/beep/profile/sasl/otp/database Modified Files: UserDatabaseImpl.java UserDatabase.java UserDatabaseManager.java UserDatabasePool.java Log Message: cleanup of imports Index: UserDatabaseImpl.java =================================================================== RCS file: /cvsroot/beepcore-java/beepcore-java/src/org/beepcore/beep/profile/sasl/otp/database/UserDatabaseImpl.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -r1.3 -r1.4 *** UserDatabaseImpl.java 7 Sep 2002 15:09:39 -0000 1.3 --- UserDatabaseImpl.java 23 Apr 2003 15:23:05 -0000 1.4 *************** *** 20,25 **** import org.beepcore.beep.profile.sasl.SASLException; import org.beepcore.beep.profile.sasl.otp.SASLOTPProfile; - import org.beepcore.beep.profile.sasl.otp.algorithm.md5.MD5; - import org.beepcore.beep.profile.sasl.otp.algorithm.sha1.SHA1; --- 20,23 ---- Index: UserDatabase.java =================================================================== RCS file: /cvsroot/beepcore-java/beepcore-java/src/org/beepcore/beep/profile/sasl/otp/database/UserDatabase.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -r1.3 -r1.4 *** UserDatabase.java 7 Sep 2002 15:09:38 -0000 1.3 --- UserDatabase.java 23 Apr 2003 15:23:05 -0000 1.4 *************** *** 18,24 **** import org.beepcore.beep.profile.sasl.SASLException; - import org.beepcore.beep.profile.sasl.otp.SASLOTPProfile; - import org.beepcore.beep.profile.sasl.otp.algorithm.md5.MD5; - import org.beepcore.beep.profile.sasl.otp.algorithm.sha1.SHA1; --- 18,21 ---- Index: UserDatabaseManager.java =================================================================== RCS file: /cvsroot/beepcore-java/beepcore-java/src/org/beepcore/beep/profile/sasl/otp/database/UserDatabaseManager.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -r1.3 -r1.4 *** UserDatabaseManager.java 5 Oct 2002 15:11:40 -0000 1.3 --- UserDatabaseManager.java 23 Apr 2003 15:23:05 -0000 1.4 *************** *** 18,27 **** - import java.io.*; - - import java.util.Hashtable; - import java.util.Properties; - - import org.beepcore.beep.core.TuningProfile; import org.beepcore.beep.profile.sasl.SASLException; --- 18,21 ---- Index: UserDatabasePool.java =================================================================== RCS file: /cvsroot/beepcore-java/beepcore-java/src/org/beepcore/beep/profile/sasl/otp/database/UserDatabasePool.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -r1.3 -r1.4 *** UserDatabasePool.java 5 Oct 2002 15:32:06 -0000 1.3 --- UserDatabasePool.java 23 Apr 2003 15:23:05 -0000 1.4 *************** *** 27,31 **** import org.apache.commons.logging.LogFactory; - import org.beepcore.beep.core.TuningProfile; import org.beepcore.beep.profile.sasl.SASLException; --- 27,30 ---- |
From: Huston F. <hu...@us...> - 2003-04-21 15:20:31
|
Update of /cvsroot/beepcore-java/beepcore-java/src/org/beepcore/beep/transport/tcp In directory sc8-pr-cvs1:/tmp/cvs-serv30052/src/org/beepcore/beep/transport/tcp Modified Files: TCPSession.java Log Message: The first pass of interface cleanup. Index: TCPSession.java =================================================================== RCS file: /cvsroot/beepcore-java/beepcore-java/src/org/beepcore/beep/transport/tcp/TCPSession.java,v retrieving revision 1.27 retrieving revision 1.28 diff -C2 -r1.27 -r1.28 *** TCPSession.java 8 Mar 2003 16:39:18 -0000 1.27 --- TCPSession.java 21 Apr 2003 15:09:11 -0000 1.28 *************** *** 39,42 **** --- 39,43 ---- import org.beepcore.beep.core.ProfileRegistry; import org.beepcore.beep.core.Session; + import org.beepcore.beep.core.SessionImpl; import org.beepcore.beep.core.SessionCredential; import org.beepcore.beep.core.SessionTuningProperties; *************** *** 55,59 **** * @version $Revision$, $Date$ */ ! public class TCPSession extends Session { // Constants --- 56,60 ---- * @version $Revision$, $Date$ */ ! public class TCPSession extends SessionImpl { // Constants *************** *** 320,326 **** } } catch (IOException e) { ! throw new BEEPException(e.toString()); } catch (Exception e) { ! throw new BEEPException(e.toString()); } } --- 321,327 ---- } } catch (IOException e) { ! throw new BEEPException(e); } catch (Exception e) { ! throw new BEEPException(e); } } |
From: Huston F. <hu...@us...> - 2003-04-21 15:20:31
|
Update of /cvsroot/beepcore-java/beepcore-java/src/org/beepcore/beep/core In directory sc8-pr-cvs1:/tmp/cvs-serv30052/src/org/beepcore/beep/core Modified Files: Channel.java InputDataStream.java Message.java Session.java TuningProfile.java MessageMSG.java Frame.java OutputDataStream.java Added Files: ChannelImpl.java SessionImpl.java Log Message: The first pass of interface cleanup. --- NEW FILE: ChannelImpl.java --- /* * ChannelImpl.java $Revision$ $Date$ * * Copyright (c) 2001 Invisible Worlds, Inc. All rights reserved. * Copyright (c) 2001-2003 Huston Franklin. All rights reserved. * * The contents of this file are subject to the Blocks Public License (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.beepcore.org/ * * Software distributed under the License is distributed on an "AS IS" basis, * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License * for the specific language governing rights and limitations under the * License. * */ package org.beepcore.beep.core; [...1072 lines suppressed...] public void setStartData(String data) { startData = data; } /** * Used to get data that can be piggybacked on * a profile reply to a start channel request * (or any other scenario we choose) * * Could be called by users, profile implementors etc. * to fetch data off a profile response. * * @return String the attached data, if any */ public String getStartData() { return startData; } } --- NEW FILE: SessionImpl.java --- /* * Session.java $Revision: 1.32 $ $Date: 2002/10/05 15:29:24 $ * * Copyright (c) 2001 Invisible Worlds, Inc. All rights reserved. * Copyright (c) 2001,2002 Huston Franklin. All rights reserved. * Copyright (c) 2002 Kevin Kress. All rights reserved. * * The contents of this file are subject to the Blocks Public License (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.beepcore.org/ * * Software distributed under the License is distributed on an "AS IS" basis, * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License * for the specific language governing rights and limitations under the * License. * */ package org.beepcore.beep.core; [...1972 lines suppressed...] "no longer active."); } private Log log = LogFactory.getLog(this.getClass()); } static class ABORTED_SessionOperations implements SessionOperations { public void changeState(SessionImpl s, int newState) throws BEEPException { throw new BEEPException("Illegal session state transition"); } public void postFrame(SessionImpl s, Frame f) throws BEEPException { // If we're in an error state log.debug("Dropping a frame because the Session state is " + "no longer active."); } private Log log = LogFactory.getLog(this.getClass()); } } Index: Channel.java =================================================================== RCS file: /cvsroot/beepcore-java/beepcore-java/src/org/beepcore/beep/core/Channel.java,v retrieving revision 1.31 retrieving revision 1.32 diff -C2 -r1.31 -r1.32 *** Channel.java 7 Mar 2003 13:01:54 -0000 1.31 --- Channel.java 21 Apr 2003 15:09:10 -0000 1.32 *************** *** 2,7 **** * Channel.java $Revision$ $Date$ * ! * Copyright (c) 2001 Invisible Worlds, Inc. All rights reserved. ! * Copyright (c) 2001,2002 Huston Franklin. All rights reserved. * * The contents of this file are subject to the Blocks Public License (the --- 2,6 ---- * Channel.java $Revision$ $Date$ * ! * Copyright (c) 2003 Huston Franklin. All rights reserved. [...1149 lines suppressed...] ! * to fetch data off a profile response. ! * ! * @return String the attached data, if any ! */ ! public String getStartData() ! { ! return startData; ! } } --- 90,99 ---- public MessageStatus sendMSG(OutputDataStream stream, ReplyListener replyListener) ! throws BEEPException; ! public void setStartData(String data); ! public String getStartData(); ! public String getProfile(); } Index: InputDataStream.java =================================================================== RCS file: /cvsroot/beepcore-java/beepcore-java/src/org/beepcore/beep/core/InputDataStream.java,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -r1.4 -r1.5 *** InputDataStream.java 7 Sep 2002 14:59:30 -0000 1.4 --- InputDataStream.java 21 Apr 2003 15:09:10 -0000 1.5 *************** *** 54,58 **** * Channel to update the receive window. */ ! InputDataStream(Channel channel) { this.channel = channel; --- 54,58 ---- * Channel to update the receive window. */ ! InputDataStream(ChannelImpl channel) { this.channel = channel; *************** *** 202,206 **** LinkedList buffers = new LinkedList(); private int availableBytes = 0; ! private Channel channel = null; private boolean closed = false; private boolean complete = false; --- 202,206 ---- LinkedList buffers = new LinkedList(); private int availableBytes = 0; ! private ChannelImpl channel = null; private boolean closed = false; private boolean complete = false; Index: Message.java =================================================================== RCS file: /cvsroot/beepcore-java/beepcore-java/src/org/beepcore/beep/core/Message.java,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -r1.9 -r1.10 *** Message.java 4 Oct 2002 04:01:00 -0000 1.9 --- Message.java 21 Apr 2003 15:09:10 -0000 1.10 *************** *** 69,73 **** /** <code>Channel</code> to which <code>Message</code> belongs. */ ! Channel channel; /** Message number of <code>Message</code>. */ --- 69,73 ---- /** <code>Channel</code> to which <code>Message</code> belongs. */ ! ChannelImpl channel; /** Message number of <code>Message</code>. */ *************** *** 108,112 **** * @see Channel */ ! Message(Channel channel, int msgno, InputDataStream data, int messageType) { this.channel = channel; --- 108,112 ---- * @see Channel */ ! Message(ChannelImpl channel, int msgno, InputDataStream data, int messageType) { this.channel = channel; *************** *** 129,133 **** * @see InputDataStream */ ! Message(Channel channel, int msgno, int ansno, InputDataStream data) { this(channel, msgno, data, MESSAGE_TYPE_ANS); --- 129,133 ---- * @see InputDataStream */ ! Message(ChannelImpl channel, int msgno, int ansno, InputDataStream data) { this(channel, msgno, data, MESSAGE_TYPE_ANS); Index: Session.java =================================================================== RCS file: /cvsroot/beepcore-java/beepcore-java/src/org/beepcore/beep/core/Session.java,v retrieving revision 1.33 retrieving revision 1.34 diff -C2 -r1.33 -r1.34 *** Session.java 8 Mar 2003 16:39:18 -0000 1.33 --- Session.java 21 Apr 2003 15:09:10 -0000 1.34 *************** *** 2,8 **** * Session.java $Revision$ $Date$ * ! * Copyright (c) 2001 Invisible Worlds, Inc. All rights reserved. ! * Copyright (c) 2001,2002 Huston Franklin. All rights reserved. ! * Copyright (c) 2002 Kevin Kress. All rights reserved. * * The contents of this file are subject to the Blocks Public License (the --- 2,6 ---- * Session.java $Revision$ $Date$ * [...2190 lines suppressed...] ! * the BEEP protocol (e.g. the Session is not in a ! * state to create a new Channel). * @see StartChannelProfile * @see MessageListener */ public Channel startChannel(Collection profiles, MessageListener listener) ! throws BEEPException, BEEPError; /** * This method is used to terminate the session when there is an ! * non-recoverable error. * * @param reason * */ ! public void terminate(String reason); ! public SessionTuningProperties getTuningProperties(); } Index: TuningProfile.java =================================================================== RCS file: /cvsroot/beepcore-java/beepcore-java/src/org/beepcore/beep/core/TuningProfile.java,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -r1.8 -r1.9 *** TuningProfile.java 5 Oct 2002 15:29:47 -0000 1.8 --- TuningProfile.java 21 Apr 2003 15:09:10 -0000 1.9 *************** *** 101,109 **** log.debug("TuningProfile.begin"); ! Session session = channel.getSession(); try { tuningChannels.add(channel); ! session.sendProfile(profile, data, channel); session.disableIO(); } catch (Exception x) { --- 101,109 ---- log.debug("TuningProfile.begin"); ! SessionImpl session = (SessionImpl)channel.getSession(); try { tuningChannels.add(channel); ! session.sendProfile(profile, data, (ChannelImpl)channel); session.disableIO(); } catch (Exception x) { *************** *** 114,118 **** "UnknownError" + x.getMessage()); ! session.sendProfile(profile, error.createErrorMessage(), channel); abort(error, channel); } --- 114,119 ---- "UnknownError" + x.getMessage()); ! session.sendProfile(profile, error.createErrorMessage(), ! (ChannelImpl)channel); abort(error, channel); } *************** *** 132,146 **** */ public void complete(Channel channel, ! SessionCredential localCred, ! SessionCredential peerCred, ! SessionTuningProperties tuning, ! ProfileRegistry registry, ! Object argument) ! throws BEEPException { try { log.debug("TuningProfile.complete"); ! Session s = channel.getSession(); s.reset(localCred, peerCred, tuning, registry, argument); --- 133,147 ---- */ public void complete(Channel channel, ! SessionCredential localCred, ! SessionCredential peerCred, ! SessionTuningProperties tuning, ! ProfileRegistry registry, ! Object argument) ! throws BEEPException { try { log.debug("TuningProfile.complete"); ! SessionImpl s = (SessionImpl)channel.getSession(); s.reset(localCred, peerCred, tuning, registry, argument); *************** *** 163,167 **** protected static void disableIO(Session session) { ! session.disableIO(); } --- 164,168 ---- protected static void disableIO(Session session) { ! ((SessionImpl)session).disableIO(); } *************** *** 175,179 **** protected static void enableIO(Session session) { ! session.enableIO(); } --- 176,180 ---- protected static void enableIO(Session session) { ! ((SessionImpl)session).enableIO(); } *************** *** 189,193 **** SessionCredential credential) { ! session.setLocalCredential(credential); } --- 190,194 ---- SessionCredential credential) { ! ((SessionImpl)session).setLocalCredential(credential); } *************** *** 203,207 **** SessionCredential credential) { ! session.setPeerCredential(credential); } --- 204,208 ---- SessionCredential credential) { ! ((SessionImpl)session).setPeerCredential(credential); } *************** *** 226,230 **** throws BEEPException { ! return session.reset(localCred, peerCred, tuning, registry, argument); } --- 227,231 ---- throws BEEPException { ! return ((SessionImpl)session).reset(localCred, peerCred, tuning, registry, argument); } *************** *** 242,249 **** */ protected static void sendProfile(Session session, String uri, String data, ! Channel channel) throws BEEPException { ! session.sendProfile(uri, data, channel); } --- 243,250 ---- */ protected static void sendProfile(Session session, String uri, String data, ! Channel channel) throws BEEPException { ! ((SessionImpl)session).sendProfile(uri, data, (ChannelImpl)channel); } *************** *** 259,263 **** l.add(p); ! return session.startChannelRequest(l, listener, true); } } --- 260,264 ---- l.add(p); ! return ((SessionImpl)session).startChannelRequest(l, listener, true); } } Index: MessageMSG.java =================================================================== RCS file: /cvsroot/beepcore-java/beepcore-java/src/org/beepcore/beep/core/MessageMSG.java,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -r1.8 -r1.9 *** MessageMSG.java 2 May 2002 02:42:11 -0000 1.8 --- MessageMSG.java 21 Apr 2003 15:09:10 -0000 1.9 *************** *** 30,34 **** class MessageMSG extends Message { ! MessageMSG(Channel channel, int msgno, InputDataStream data) { super(channel, msgno, data, MESSAGE_TYPE_MSG); } --- 30,34 ---- class MessageMSG extends Message { ! MessageMSG(ChannelImpl channel, int msgno, InputDataStream data) { super(channel, msgno, data, MESSAGE_TYPE_MSG); } Index: Frame.java =================================================================== RCS file: /cvsroot/beepcore-java/beepcore-java/src/org/beepcore/beep/core/Frame.java,v retrieving revision 1.19 retrieving revision 1.20 diff -C2 -r1.19 -r1.20 *** Frame.java 5 Oct 2002 15:26:51 -0000 1.19 --- Frame.java 21 Apr 2003 15:09:10 -0000 1.20 *************** *** 93,97 **** /** <code>Channel</code> to which <code>Frame</code> belongs. */ ! private Channel channel; /** Message number of <code>Frame</code>. */ --- 93,97 ---- /** <code>Channel</code> to which <code>Frame</code> belongs. */ ! private ChannelImpl channel; /** Message number of <code>Frame</code>. */ *************** *** 124,128 **** private LinkedList payload = new LinkedList(); ! Frame(int messageType, Channel channel, int msgno, boolean last, long seqno, int size, int ansno) { --- 124,128 ---- private LinkedList payload = new LinkedList(); ! Frame(int messageType, ChannelImpl channel, int msgno, boolean last, long seqno, int size, int ansno) { *************** *** 289,293 **** } ! static Frame parseHeader(Session session, byte[] headerBuffer, int length) throws BEEPException { --- 289,293 ---- } ! static Frame parseHeader(SessionImpl session, byte[] headerBuffer, int length) throws BEEPException { Index: OutputDataStream.java =================================================================== RCS file: /cvsroot/beepcore-java/beepcore-java/src/org/beepcore/beep/core/OutputDataStream.java,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -r1.4 -r1.5 *** OutputDataStream.java 2 Sep 2002 13:44:42 -0000 1.4 --- OutputDataStream.java 21 Apr 2003 15:09:11 -0000 1.5 *************** *** 136,140 **** } ! void setChannel(Channel channel) { this.channel = channel; } --- 136,140 ---- } ! void setChannel(ChannelImpl channel) { this.channel = channel; } *************** *** 146,149 **** private boolean headersSent = false; private int curOffset = 0; ! private Channel channel = null; } --- 146,149 ---- private boolean headersSent = false; private int curOffset = 0; ! private ChannelImpl channel = null; } |
From: Huston F. <hu...@us...> - 2003-04-21 15:20:30
|
Update of /cvsroot/beepcore-java/beepcore-java/src/org/beepcore/beep/lib In directory sc8-pr-cvs1:/tmp/cvs-serv30052/src/org/beepcore/beep/lib Modified Files: SharedChannel.java Log Message: The first pass of interface cleanup. Index: SharedChannel.java =================================================================== RCS file: /cvsroot/beepcore-java/beepcore-java/src/org/beepcore/beep/lib/SharedChannel.java,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -r1.8 -r1.9 *** SharedChannel.java 7 Sep 2002 15:06:45 -0000 1.8 --- SharedChannel.java 21 Apr 2003 15:09:11 -0000 1.9 *************** *** 3,7 **** * * Copyright (c) 2001 Invisible Worlds, Inc. All rights reserved. ! * Copyright (c) 2002 Huston Franklin. All rights reserved. * * The contents of this file are subject to the Blocks Public License (the --- 3,7 ---- * * Copyright (c) 2001 Invisible Worlds, Inc. All rights reserved. ! * Copyright (c) 2002, 2003 Huston Franklin. All rights reserved. * * The contents of this file are subject to the Blocks Public License (the *************** *** 47,51 **** * @version $Revision$, $Date$ */ ! public class SharedChannel extends Channel { private Channel channel = null; // Channel this SharedChannel references --- 47,51 ---- * @version $Revision$, $Date$ */ ! public class SharedChannel implements Channel { private Channel channel = null; // Channel this SharedChannel references *************** *** 64,70 **** SharedChannel(Channel channel, ChannelPool pool) { - super(channel.getProfile(), String.valueOf(channel.getNumber()), - channel.getMessageListener(), true, channel.getSession()); - this.channel = channel; this.pool = pool; --- 64,67 ---- *************** *** 121,139 **** } - public void setReceiveBufferSize( int size ) throws BEEPException - { - channel.setReceiveBufferSize( size ); - } - - public int getBufferSize() - { - return channel.getBufferSize(); - } - - public int getBufferUsed() - { - return channel.getBufferUsed(); - } - public MessageListener getMessageListener() { --- 118,121 ---- *************** *** 186,189 **** --- 168,191 ---- channel.sendMSG(ds, r); return r; + } + + public void setStartData(String data) + { + channel.setStartData(data); + } + + public String getStartData() + { + return channel.getStartData(); + } + + public Object getAppData() + { + return channel.getAppData(); + } + + public void setAppData(Object applicationData) + { + channel.setAppData(applicationData); } } |
From: Huston F. <hu...@us...> - 2003-03-08 16:39:21
|
Update of /cvsroot/beepcore-java/beepcore-java/src/org/beepcore/beep/transport/tcp In directory sc8-pr-cvs1:/tmp/cvs-serv7897/transport/tcp Modified Files: TCPSession.java TCPSessionCreator.java Log Message: David Blacka's servername patch applied Index: TCPSession.java =================================================================== RCS file: /cvsroot/beepcore-java/beepcore-java/src/org/beepcore/beep/transport/tcp/TCPSession.java,v retrieving revision 1.26 retrieving revision 1.27 diff -C2 -r1.26 -r1.27 *** TCPSession.java 5 Oct 2002 15:32:45 -0000 1.26 --- TCPSession.java 8 Mar 2003 16:39:18 -0000 1.27 *************** *** 115,122 **** private TCPSession(Socket sock, ProfileRegistry registry, int firstChannel, SessionCredential localCred, SessionCredential peerCred, ! SessionTuningProperties tuning) throws BEEPException { ! super(registry, firstChannel, localCred, peerCred, tuning); socket = sock; --- 115,122 ---- private TCPSession(Socket sock, ProfileRegistry registry, int firstChannel, SessionCredential localCred, SessionCredential peerCred, ! SessionTuningProperties tuning, String servername) throws BEEPException { ! super(registry, firstChannel, localCred, peerCred, tuning, servername); socket = sock; *************** *** 143,146 **** --- 143,147 ---- * @param sock * @param registry + * @param servername * * @throws BEEPException *************** *** 148,156 **** */ public static TCPSession createInitiator(Socket sock, ! ProfileRegistry registry) throws BEEPException { return new TCPSession(sock, (ProfileRegistry) registry.clone(), ! CHANNEL_START_ODD, null, null, null); } --- 149,175 ---- */ public static TCPSession createInitiator(Socket sock, ! ProfileRegistry registry, ! String servername) throws BEEPException { return new TCPSession(sock, (ProfileRegistry) registry.clone(), ! CHANNEL_START_ODD, null, null, null, servername); ! } ! /** ! * Creates a TCPSession for a Socket that was created by ! * initiating a connection. ! * ! * ! * @param sock ! * @param registry ! * ! * @throws BEEPException ! * ! */ ! public static TCPSession createInitiator(Socket sock, ! ProfileRegistry registry) ! throws BEEPException ! { ! return createInitiator(sock, registry, null); } *************** *** 171,175 **** { return new TCPSession(sock, (ProfileRegistry) registry.clone(), ! CHANNEL_START_EVEN, null, null, null); } --- 190,194 ---- { return new TCPSession(sock, (ProfileRegistry) registry.clone(), ! CHANNEL_START_EVEN, null, null, null, null); } *************** *** 333,340 **** if (isInitiator()) { return new TCPSession(s, reg, CHANNEL_START_ODD, ! localCred, peerCred, tuning); } else { return new TCPSession(s, reg, CHANNEL_START_EVEN, ! localCred, peerCred, tuning); } } --- 352,359 ---- if (isInitiator()) { return new TCPSession(s, reg, CHANNEL_START_ODD, ! localCred, peerCred, tuning, null); } else { return new TCPSession(s, reg, CHANNEL_START_EVEN, ! localCred, peerCred, tuning, null); } } Index: TCPSessionCreator.java =================================================================== RCS file: /cvsroot/beepcore-java/beepcore-java/src/org/beepcore/beep/transport/tcp/TCPSessionCreator.java,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -r1.5 -r1.6 *** TCPSessionCreator.java 8 Nov 2001 05:26:29 -0000 1.5 --- TCPSessionCreator.java 8 Mar 2003 16:39:18 -0000 1.6 *************** *** 87,90 **** --- 87,91 ---- * @param port * @param registry + * @param servername * * @throws BEEPException *************** *** 92,101 **** */ public static TCPSession initiate(InetAddress host, int port, ! ProfileRegistry registry) throws BEEPException { try { return TCPSession.createInitiator(new Socket(host, port), ! registry); } catch (IOException x) { throw new BEEPException(x.getMessage()); --- 93,103 ---- */ public static TCPSession initiate(InetAddress host, int port, ! ProfileRegistry registry, ! String servername) throws BEEPException { try { return TCPSession.createInitiator(new Socket(host, port), ! registry, servername); } catch (IOException x) { throw new BEEPException(x.getMessage()); *************** *** 109,112 **** --- 111,132 ---- * @param host * @param port + * @param registry + * + * @throws BEEPException + * + */ + public static TCPSession initiate(InetAddress host, int port, + ProfileRegistry registry) + throws BEEPException + { + return initiate(host, port, registry, null); + } + + /** + * Method initiate + * + * + * @param host + * @param port * @param profiles * @param ccls *************** *** 143,146 **** --- 163,179 ---- try { return initiate(InetAddress.getByName(host), port, registry); + } catch (UnknownHostException x) { + throw new BEEPException("Unable to connect, unkown host"); + } + } + + public static TCPSession initiate(String host, int port, + ProfileRegistry registry, + String servername) + throws BEEPException + { + try { + return initiate(InetAddress.getByName(host), port, registry, + servername); } catch (UnknownHostException x) { throw new BEEPException("Unable to connect, unkown host"); |
From: Huston F. <hu...@us...> - 2003-03-08 16:39:21
|
Update of /cvsroot/beepcore-java/beepcore-java/src/org/beepcore/beep/core In directory sc8-pr-cvs1:/tmp/cvs-serv7897/core Modified Files: Session.java Log Message: David Blacka's servername patch applied Index: Session.java =================================================================== RCS file: /cvsroot/beepcore-java/beepcore-java/src/org/beepcore/beep/core/Session.java,v retrieving revision 1.32 retrieving revision 1.33 diff -C2 -r1.32 -r1.33 *** Session.java 5 Oct 2002 15:29:24 -0000 1.32 --- Session.java 8 Mar 2003 16:39:18 -0000 1.33 *************** *** 130,133 **** --- 130,135 ---- private boolean allowChannelWindowUpdates; private DocumentBuilder builder; // generic XML parser + private String serverName; + private boolean sentServerName = false; /** *************** *** 146,150 **** protected Session(ProfileRegistry registry, int firstChannel, SessionCredential localCred, SessionCredential peerCred, ! SessionTuningProperties tuning) throws BEEPException { --- 148,152 ---- protected Session(ProfileRegistry registry, int firstChannel, SessionCredential localCred, SessionCredential peerCred, ! SessionTuningProperties tuning, String servername) throws BEEPException { *************** *** 159,162 **** --- 161,165 ---- properties = new Hashtable(DEFAULT_PROPERTIES_SIZE); tuningProperties = tuning; + serverName = servername; try { *************** *** 543,546 **** --- 546,553 ---- startBuffer.append("<start number='"); startBuffer.append(channelNumber); + if (serverName != null && !sentServerName) { + startBuffer.append("' serverName='"); + startBuffer.append(serverName); + } startBuffer.append("'>"); *************** *** 612,615 **** --- 619,626 ---- } + if (serverName != null) { + sentServerName = true; + } + fireChannelStarted(ch); return ch; *************** *** 816,819 **** --- 827,835 ---- } + public String getServerName() + { + return serverName; + } + /** * This method is designed to allow for flow control across the multiplexed *************** *** 1350,1354 **** // this attribute is implied ! String serverName = topElement.getAttribute("serverName"); NodeList profiles = topElement.getElementsByTagName("profile"); --- 1366,1370 ---- // this attribute is implied ! serverName = topElement.getAttribute("serverName"); NodeList profiles = topElement.getElementsByTagName("profile"); |
From: Huston F. <hu...@us...> - 2003-03-07 13:02:00
|
Update of /cvsroot/beepcore-java/beepcore-java/src/org/beepcore/beep/core In directory sc8-pr-cvs1:/tmp/cvs-serv16166/src/org/beepcore/beep/core Modified Files: Channel.java Log Message: Fixed channel to only allow one MSG to be notified at a time. Index: Channel.java =================================================================== RCS file: /cvsroot/beepcore-java/beepcore-java/src/org/beepcore/beep/core/Channel.java,v retrieving revision 1.30 retrieving revision 1.31 diff -C2 -r1.30 -r1.31 *** Channel.java 5 Oct 2002 15:26:30 -0000 1.30 --- Channel.java 7 Mar 2003 13:01:54 -0000 1.31 *************** *** 187,190 **** --- 187,191 ---- sentMSGQueue.add(new MessageStatus(this, Message.MESSAGE_TYPE_MSG, 0, null, rl)); + recvMSGQueue.add(new MessageMSG(this, 0, null)); state = STATE_ACTIVE; *************** *** 455,504 **** } ! if (m == null) { ! m = new MessageMSG(this, frame.getMsgno(), ! new InputDataStream(this)); ! ! recvMSGQueue.addLast(m); ! notify = true; ! } ! Iterator i = frame.getPayload(); ! synchronized (m) { ! while (i.hasNext()) { ! m.getDataStream().add((BufferSegment)i.next()); ! } ! if (frame.isLast()) { ! m.getDataStream().setComplete(); ! } ! } ! // The MessageListener interface only allows one message ! // up to be processed at a time so if this is not the ! // first message on the queue just return. ! if (m != recvMSGQueue.getFirst()) { ! return; } if (frame.isLast()) { ! synchronized (m) { ! if (m.isNotified()) { ! recvMSGQueue.remove(m); ! } ! } } - } - - if (notify) { - synchronized (recvMSGQueue) { - final MessageMSG m = - (MessageMSG)recvMSGQueue.getFirst(); - synchronized (m) { - if (m.getDataStream().isComplete()) { - recvMSGQueue.remove(m); - } - m.setNotified(); - } try { listener.receiveMSG(m); --- 456,492 ---- } ! if (m != null) { ! /// Move this code to DataStream... ! Iterator i = frame.getPayload(); ! synchronized (m) { ! while (i.hasNext()) { ! m.getDataStream().add((BufferSegment) i.next()); ! } ! ! if (frame.isLast()) { ! m.getDataStream().setComplete(); ! } ! } ! ! return; ! } ! m = new MessageMSG(this, frame.getMsgno(), ! new InputDataStream(this)); ! m.setNotified(); ! Iterator i = frame.getPayload(); ! while (i.hasNext()) { ! m.getDataStream().add((BufferSegment)i.next()); } if (frame.isLast()) { ! m.getDataStream().setComplete(); } + recvMSGQueue.addLast(m); + + if (recvMSGQueue.size() == 1) { try { listener.receiveMSG(m); *************** *** 951,954 **** --- 939,980 ---- status.setMessageStatus(MessageStatus.MESSAGE_STATUS_SENT); + + if (ds.isComplete() && ds.availableSegment() == false && + (status.getMessageType() == Message.MESSAGE_TYPE_RPY || + status.getMessageType() == Message.MESSAGE_TYPE_NUL)) + { + MessageMSG m; + synchronized (recvMSGQueue) { + recvMSGQueue.removeFirst(); + + if (recvMSGQueue.size() != 0) { + m = (MessageMSG) recvMSGQueue.getFirst(); + synchronized (m) { + m.setNotified(); + } + } else { + m = null; + } + } + + if (m != null) { + try { + listener.receiveMSG(m); + } catch (BEEPError e) { + try { + m.sendERR(e); + } catch (BEEPException e2) { + log.error("Error sending ERR", e2); + } + } catch (AbortChannelException e) { + try { + /* @todo change this to abort or something else */ + Channel.this.close(); + } catch (BEEPException e2) { + log.error("Error closing channel", e2); + } + } + } + } } |
From: <as...@cy...> - 2002-12-03 01:32:04
|
<html> <head><base href=http://www.cyberway-canada.com/pminew/INDEX.HTM> <meta http-equiv="Content-Language" content="zh-cn"> <meta name="GENERATOR" content="Microsoft FrontPage 5.0"> <meta name="ProgId" content="FrontPage.Editor.Document"> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <title>赛百威第77期成功的项目管理集训</title> <script language="JavaScript" type="text/JavaScript"> <!-- function MM_reloadPage(init) { //reloads the window if Nav4 resized if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) { document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }} else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload(); } MM_reloadPage(true); //--> </script> </head> <body topmargin="0"> <div align="center"> <center> <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="780" id="AutoNumber1"> <tr> <td width="778" height="156"> <div align="center"><img src="../images/pmi77.gif" width="778" height="186"></div></td> </tr> <tr> <td width="100%"> <p style="margin-top: 8; margin-bottom: 8"><br> <img border="0" src="img/BD21364_.gif" width="15" height="15"><font size="2"> 30%精典案例,30%练习,40%理论基础,实用与认证并重之集训</font></p> <p style="margin-top: 8; margin-bottom: 8"> <font size="2"><img border="0" src="img/BD21364_.gif" width="15" height="15"> 中文授课学员满意度比外籍教师授课高出5-10个百分点,推荐率高达98%以上</font></p> <p style="margin-top: 8; margin-bottom: 8"> <font size="2"><img border="0" src="img/BD21364_.gif" width="15" height="15"> 本课程可获得PMI的18个PDU(专业发展学分,考PMP必修之学分)</font></p> <p style="margin-top: 8; margin-bottom: 8"> <font size="2"><img border="0" src="img/BD21364_.gif" width="15" height="15"> 该课程已成功举办了近<span lang="en-us">80</span>期,近200家大型企业,近3000人次的学员通过本课程,该课程已获国家专利局注册</font></p> <p style="margin-top: 8; margin-bottom: 8"> <font size="2"><img border="0" src="img/BD21364_.gif" width="15" height="15"> 目标学员:<font color="#FF0000">中高层管理干部、企业职能部门经理、企业的项目经理、项目的参与人员、政府部门的管理人员</font></font></p> <p style="margin-top: 8; margin-bottom: 8"> <font size="2"><img border="0" src="img/BD21364_.gif" width="15" height="15"> 课程内容:以《PMBOK2000》9大知识体系结构,注重5大项目管理过程的应用课程 </font> <div id="Layer1" style="position:absolute; left:556px; top:188px; width:235px; height:324px; z-index:-1; background-color: #FFFFFF; layer-background-color: #FFFFFF;"> <table width="93%" height="324" border="0"> <tr> <td height="205" valign="top"><img src="../image/home/cyberlogo.gif" width="230" height="60"></td> </tr> <tr> <td height="81"> <img border="0" src="../image/home/replogo.gif" width="220" height="58"></td> </tr> <tr> <td height="30"><img src="img/mslogo.jpg" width="160" height="25"><font size="1"><em>PM Tools </em></font></td> </tr> </table> </div></td> </tr> <tr> <td width="100%"> <p><img border="0" src="img/BD21364_.gif" width="15" height="15"><font size="2"> 主办单位:美国项目管理协会(PMI)</font></p> <p><font size="2"><img border="0" src="img/BD21364_.gif" width="15" height="15"> 承办单位:赛百威(国际)联盟教育机构(中国首家PMI Global级注册机构)</font></p> <p><font size="2"><img border="0" src="img/BD21364_.gif" width="15" height="15"> 赞助单位:微软(中国)有限公司亚太总部</font></td> </tr> <tr> <td width="100%"> </td> </tr> <tr> <td width="100%" valign="top"> <table width="780" height="41" border="0" align="left"> <tr> <td width="325" height="392" rowspan="2" valign="top" background="img/jmbui.jpg"> <p style="margin-top: 4; margin-bottom: 4"> <img border="0" src="img/BD21364_.gif" width="15" height="15">开课时间:</p> <p style="margin-top: 4; margin-bottom: 4"><font size="2"> 2002年12月06、07日(周五、六)</font></p> <p style="margin-top: 4; margin-bottom: 4"><font size="2"> 2002年12月13、14日(周五、六)</font></p> <p style="margin-top: 4; margin-bottom: 4"><font size="2"> 2002年12月15、16日(周日、一)</font></p> <p style="margin-top: 4; margin-bottom: 4"><font size="2"> 2002年12月20、21日(周五、六)</font></p> <p style="margin-top: 4; margin-bottom: 4"><font size="2"> 2002年12月28、29日(周六、日)</font></p> <p style="margin-top: 4; margin-bottom: 4"> </p> <div align="right"> <table width="230" height="241" border="1" cellpadding="0" cellspacing="0" bordercolor="#FF0000" id="AutoNumber6" style="border-collapse: collapse"> <tr> <td width="100%" height="311" valign="top"> <div align="right"> <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="228" id="AutoNumber5" height="241"> <tr> <td width="9%" height="34" valign="top"> <img border="0" src="img/zly-top.gif" width="10" height="10"></td> <td colspan="2" height="34"> <font face="黑体">成功案例部分如下</font></td> <td width="7%" height="34" valign="top"> <div align="right"> <img border="0" src="img/zly-top1.gif" width="10" height="10"></div></td> </tr> <tr> <td width="9%" height="207" valign="bottom"> <div align="left"> <img border="0" src="img/zly-btm.gif" width="10" height="10"></div></td> <td width="45%" height="207" valign="top"> <p style="margin-top: 4; margin-bottom: 4"><b> <font size="2" face="黑体">金融行业</font></b></p> <p style="margin-top: 4; margin-bottom: 4"> <font size="2">建设银行</font></p> <p style="margin-top: 4; margin-bottom: 4"> <font size="2">工商银行</font></p> <p style="margin-top: 4; margin-bottom: 4"> <font size="2">农业银行</font></p> <p style="margin-top: 4; margin-bottom: 4"> <font size="2">……</font></p> <p style="margin-top: 4; margin-bottom: 4"> <font size="2" face="黑体"><b>能源行业</b></font></p> <p style="margin-top: 4; margin-bottom: 4"> <font size="2">大亚湾核电</font></p> <p style="margin-top: 4; margin-bottom: 4"> <font size="2">中国海洋石油</font></p> <p style="margin-top: 4; margin-bottom: 4"> <font size="2">中国石油天然气</font></p> <p style="margin-top: 4; margin-bottom: 4"> <font size="2">……</font></p> <p style="margin-top: 4; margin-bottom: 4"> <font size="2" face="黑体"><b>建筑行业</b></font></p> <p style="margin-top: 4; margin-bottom: 4"> <font size="2">香港迅捷建筑</font></p> <p style="margin-top: 4; margin-bottom: 4"> <font size="2"> 和记黄埔<span lang="en-us">(</span>地产<span lang="en-us">)</span></font></p> <p style="margin-top: 4; margin-bottom: 4"> <font size="2">沿海物业</font></p> <p style="margin-top: 4; margin-bottom: 4"> <font size="2">……</font></td> <td width="39%" height="207" valign="top"> <p style="margin-top: 4; margin-bottom: 4"> <font size="2" face="黑体"><b>电信行业</b></font></p> <p style="margin-top: 4; margin-bottom: 4"> <font size="2">广东电信</font></p> <p style="margin-top: 4; margin-bottom: 4"> <font size="2">广东移动</font></p> <p style="margin-top: 4; margin-bottom: 4"> <font size="2">广东联通</font></p> <p style="margin-top: 4; margin-bottom: 4"> <font size="2">……</font></p> <p style="margin-top: 4; margin-bottom: 4"> <font size="2" face="黑体"><b>大型IT行业</b></font></p> <p style="margin-top: 4; margin-bottom: 4"> <font size="2">华为技术</font></p> <p style="margin-top: 4; margin-bottom: 4"> <font size="2">中兴通讯</font></p> <p style="margin-top: 4; margin-bottom: 4"> <font size="2">艾默生</font></p> <p style="margin-top: 4; margin-bottom: 4"> <font size="2">……</font></p> <p style="margin-top: 4; margin-bottom: 4"> <font size="2" face="黑体"><strong>政府机构</strong></font></p> <p style="margin-top: 4; margin-bottom: 4"> <font size="2">国土局</font></p> <p style="margin-top: 4; margin-bottom: 4"> <font size="2">贸发局</font></p> <p style="margin-top: 4; margin-bottom: 4"> <font size="2">环保局</font></p> <p style="margin-top: 4; margin-bottom: 4"> <font size="2">……</font></td> <td width="7%" height="207" valign="bottom"> <div align="right"> <img border="0" src="img/zly-btm1.gif" width="10" height="10"></div></td> </tr> </table> </div> </td> </tr> </table> </div> </td> <td width="455" height="212" valign="top"> <table width="450" border="0" align="center" height="209"> <tr> <td width="206" height="205" valign="top"> <img border="0" src="img/BD21364_.gif" width="15" height="15">上课地点:<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="206" id="AutoNumber3" height="200"> <tr> <td width="206" height="200" valign="top" background="img/5t.jpg"> <p style="margin-top: 4; margin-bottom: 4"> <font size="2">广州市 汇华大厦会展中心</font></p> <p style="margin-top: 4; margin-bottom: 4"> <font size="2">北京市 兆龙饭店2楼</font></p> <p style="margin-top: 4; margin-bottom: 4"> <font size="2">上海市 金茂大厦1楼</font></p> <p style="margin-top: 4; margin-bottom: 4"> <font size="2">深圳市 世贸广场B座<span lang="en-us">14</span>楼</font><p style="margin-top: 4; margin-bottom: 4"> <font size="2">青岛市 软件大厦 </font> <p style="margin-top: 4; margin-bottom: 4"> <p style="margin-top: 4; margin-bottom: 4"> <p style="margin-top: 4; margin-bottom: 4" align="center"><strong><a href="../pmi52/regtable.htm"> <font size="2">>>>>索取详细大纲</font></a></strong></td> </tr> </table> </td> <td width="250" valign="top" height="205"> <div align="right"> <table width="154" height="168" border="0"> <tr> <td height="25"> </td> </tr> <tr> <td valign="top" background="img/pmyw.jpg" height="166" width="151"> <font size="5" face="幼圆">特殊</font><font face="幼圆" size="7"><b>优惠</b></font><p style="margin-top: 5; margin-bottom: 5" align="left"> <b><font face="幼圆"><br> <font color="#FF0000">原价</font><strike>5500</strike><font color="#FF0000">元/人</font></font></b></p> <p style="margin-top: 5; margin-bottom: 5" align="left"> <b><font face="幼圆" color="#FF0000">现价3800元/人</font></b></p> <p style="margin-top: 5; margin-bottom: 5" align="left"> <b><font face="Arial" color="#FF0000">P<span lang="en-us">roject 2002</span></font></b></p> <p style="margin-top: 5; margin-bottom: 5" align="left"> <b><span lang="en-us"> <font face="Arial" color="#FF0000"> </span> <span lang="en-us"> 500</span></font><font face="Arial" color="#FF0000">元/人</font></b></p> </td> </tr> </table> </div></td> </tr> </table></td> </tr> <tr> <td height="182" valign="top" width="455"> <table width="447" border="0" align="center" height="239"> <tr> <td width="441" height="162"><div align="center"> <img src="img/hy.jpg" width="267" height="173"></div></td> </tr> <tr> <td height="58"> <blockquote> <p style="margin-top: 5; margin-bottom: 5"><font size="2" face="幼圆">顾问背景:</font></p> <p style="margin-top: 5; margin-bottom: 5"><font size="2">来自海外专家(美国、加拿大、新加坡),拥有超过10年以上项目管理经验,学员评价优秀率达95%</font></p> </blockquote> </td> </tr> </table></td> </tr> <tr> <td width="780" height="59" valign="top" colspan="2"> <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="780" id="AutoNumber2"> <tr bgcolor="#0066CC"> <td width="251"> <p style="margin-top: 4; margin-bottom: 4"><font color="#FFFFFF"><b> <font face="黑体" size="2">上海办公室:</font></b></font></p> <p style="margin-top: 4; margin-bottom: 4"><font color="#FFFFFF" size="2"> 电话:<span lang="en-us">+86-</span>21-28909726 传真:28909223</font></p> <p style="margin-top: 4; margin-bottom: 4"><font color="#FFFFFF" size="2"> 地址:上海浦东世纪大道88号金茂大厦31楼</font></td> <td width="264" valign="top"> <p style="margin-top: 4; margin-bottom: 4"><font color="#FFFFFF"><b> <font face="黑体" size="2">北京办公室:</font></b></font></p> <p style="margin-top: 4; margin-bottom: 4"><font color="#FFFFFF" size="2"> 电话:<span lang="en-us">+86-</span>10-65900671 传真:65900670</font></p> <p style="margin-top: 4; margin-bottom: 4"><font color="#FFFFFF" size="2">地址:</font><font color="#FFFFFF" style="font-size: 9pt">北京市朝阳区东三环北路8号亮马大厦5楼</font></td> <td width="265" valign="top"> <p style="margin-top: 4; margin-bottom: 4"><font color="#FFFFFF"><b> <font face="黑体" size="2">深圳办公室:</font></b></font></p> <p style="margin-top: 4; margin-bottom: 4"><font color="#FFFFFF" size="2"> 电话:<span lang="en-us">+86-</span>755-83263526 传真:83674402</font></p> <p style="margin-top: 4; margin-bottom: 4"><font color="#FFFFFF" size="2"> 地址:深圳市深南中路世界贸易广场B座14楼F</font></td> </tr> </table> </td> </tr> </table></td> </tr> </table> </center> </div> </body> </html> |
From: <as...@cy...> - 2002-12-02 07:54:57
|
<html> <head><base href=http://www.cyberway-canada.com/pminew/INDEX.HTM> <meta http-equiv="Content-Language" content="zh-cn"> <meta name="GENERATOR" content="Microsoft FrontPage 5.0"> <meta name="ProgId" content="FrontPage.Editor.Document"> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <title>赛百威第77期成功的项目管理集训</title> <script language="JavaScript" type="text/JavaScript"> <!-- function MM_reloadPage(init) { //reloads the window if Nav4 resized if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) { document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }} else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload(); } MM_reloadPage(true); //--> </script> </head> <body topmargin="0"> <div align="center"> <center> <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="780" id="AutoNumber1"> <tr> <td width="778" height="156"> <div align="center"><img src="../images/pmi77.gif" width="778" height="186"></div></td> </tr> <tr> <td width="100%"> <p style="margin-top: 8; margin-bottom: 8"><br> <img border="0" src="img/BD21364_.gif" width="15" height="15"><font size="2"> 30%精典案例,30%练习,40%理论基础,实用与认证并重之集训</font></p> <p style="margin-top: 8; margin-bottom: 8"> <font size="2"><img border="0" src="img/BD21364_.gif" width="15" height="15"> 中文授课学员满意度比外籍教师授课高出5-10个百分点,推荐率高达98%以上</font></p> <p style="margin-top: 8; margin-bottom: 8"> <font size="2"><img border="0" src="img/BD21364_.gif" width="15" height="15"> 本课程可获得PMI的18个PDU(专业发展学分,考PMP必修之学分)</font></p> <p style="margin-top: 8; margin-bottom: 8"> <font size="2"><img border="0" src="img/BD21364_.gif" width="15" height="15"> 该课程已成功举办了近<span lang="en-us">80</span>期,近200家大型企业,近3000人次的学员通过本课程,该课程已获国家专利局注册</font></p> <p style="margin-top: 8; margin-bottom: 8"> <font size="2"><img border="0" src="img/BD21364_.gif" width="15" height="15"> 目标学员:<font color="#FF0000">中高层管理干部、企业职能部门经理、企业的项目经理、项目的参与人员、政府部门的管理人员</font></font></p> <p style="margin-top: 8; margin-bottom: 8"> <font size="2"><img border="0" src="img/BD21364_.gif" width="15" height="15"> 课程内容:以《PMBOK2000》9大知识体系结构,注重5大项目管理过程的应用课程 </font> <div id="Layer1" style="position:absolute; left:556px; top:188px; width:235px; height:324px; z-index:-1; background-color: #FFFFFF; layer-background-color: #FFFFFF;"> <table width="93%" height="324" border="0"> <tr> <td height="205" valign="top"><img src="../image/home/cyberlogo.gif" width="230" height="60"></td> </tr> <tr> <td height="81"> <img border="0" src="../image/home/replogo.gif" width="220" height="58"></td> </tr> <tr> <td height="30"><img src="img/mslogo.jpg" width="160" height="25"><font size="1"><em>PM Tools </em></font></td> </tr> </table> </div></td> </tr> <tr> <td width="100%"> <p><img border="0" src="img/BD21364_.gif" width="15" height="15"><font size="2"> 主办单位:美国项目管理协会(PMI)</font></p> <p><font size="2"><img border="0" src="img/BD21364_.gif" width="15" height="15"> 承办单位:赛百威(国际)联盟教育机构(中国首家PMI Global级注册机构)</font></p> <p><font size="2"><img border="0" src="img/BD21364_.gif" width="15" height="15"> 赞助单位:微软(中国)有限公司亚太总部</font></td> </tr> <tr> <td width="100%"> </td> </tr> <tr> <td width="100%" valign="top"> <table width="780" height="41" border="0" align="left"> <tr> <td width="325" height="392" rowspan="2" valign="top" background="img/jmbui.jpg"> <p style="margin-top: 4; margin-bottom: 4"> <img border="0" src="img/BD21364_.gif" width="15" height="15">开课时间:</p> <p style="margin-top: 4; margin-bottom: 4"><font size="2"> 2002年12月06、07日(周五、六)</font></p> <p style="margin-top: 4; margin-bottom: 4"><font size="2"> 2002年12月13、14日(周五、六)</font></p> <p style="margin-top: 4; margin-bottom: 4"><font size="2"> 2002年12月15、16日(周日、一)</font></p> <p style="margin-top: 4; margin-bottom: 4"><font size="2"> 2002年12月20、21日(周五、六)</font></p> <p style="margin-top: 4; margin-bottom: 4"><font size="2"> 2002年12月28、29日(周六、日)</font></p> <p style="margin-top: 4; margin-bottom: 4"> </p> <div align="right"> <table width="230" height="241" border="1" cellpadding="0" cellspacing="0" bordercolor="#FF0000" id="AutoNumber6" style="border-collapse: collapse"> <tr> <td width="100%" height="311" valign="top"> <div align="right"> <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="228" id="AutoNumber5" height="241"> <tr> <td width="9%" height="34" valign="top"> <img border="0" src="img/zly-top.gif" width="10" height="10"></td> <td colspan="2" height="34"> <font face="黑体">成功案例部分如下</font></td> <td width="7%" height="34" valign="top"> <div align="right"> <img border="0" src="img/zly-top1.gif" width="10" height="10"></div></td> </tr> <tr> <td width="9%" height="207" valign="bottom"> <div align="left"> <img border="0" src="img/zly-btm.gif" width="10" height="10"></div></td> <td width="45%" height="207" valign="top"> <p style="margin-top: 4; margin-bottom: 4"><b> <font size="2" face="黑体">金融行业</font></b></p> <p style="margin-top: 4; margin-bottom: 4"> <font size="2">建设银行</font></p> <p style="margin-top: 4; margin-bottom: 4"> <font size="2">工商银行</font></p> <p style="margin-top: 4; margin-bottom: 4"> <font size="2">农业银行</font></p> <p style="margin-top: 4; margin-bottom: 4"> <font size="2">……</font></p> <p style="margin-top: 4; margin-bottom: 4"> <font size="2" face="黑体"><b>能源行业</b></font></p> <p style="margin-top: 4; margin-bottom: 4"> <font size="2">大亚湾核电</font></p> <p style="margin-top: 4; margin-bottom: 4"> <font size="2">中国海洋石油</font></p> <p style="margin-top: 4; margin-bottom: 4"> <font size="2">中国石油天然气</font></p> <p style="margin-top: 4; margin-bottom: 4"> <font size="2">……</font></p> <p style="margin-top: 4; margin-bottom: 4"> <font size="2" face="黑体"><b>建筑行业</b></font></p> <p style="margin-top: 4; margin-bottom: 4"> <font size="2">香港迅捷建筑</font></p> <p style="margin-top: 4; margin-bottom: 4"> <font size="2"> 和记黄埔<span lang="en-us">(</span>地产<span lang="en-us">)</span></font></p> <p style="margin-top: 4; margin-bottom: 4"> <font size="2">沿海物业</font></p> <p style="margin-top: 4; margin-bottom: 4"> <font size="2">……</font></td> <td width="39%" height="207" valign="top"> <p style="margin-top: 4; margin-bottom: 4"> <font size="2" face="黑体"><b>电信行业</b></font></p> <p style="margin-top: 4; margin-bottom: 4"> <font size="2">广东电信</font></p> <p style="margin-top: 4; margin-bottom: 4"> <font size="2">广东移动</font></p> <p style="margin-top: 4; margin-bottom: 4"> <font size="2">广东联通</font></p> <p style="margin-top: 4; margin-bottom: 4"> <font size="2">……</font></p> <p style="margin-top: 4; margin-bottom: 4"> <font size="2" face="黑体"><b>大型IT行业</b></font></p> <p style="margin-top: 4; margin-bottom: 4"> <font size="2">华为技术</font></p> <p style="margin-top: 4; margin-bottom: 4"> <font size="2">中兴通讯</font></p> <p style="margin-top: 4; margin-bottom: 4"> <font size="2">艾默生</font></p> <p style="margin-top: 4; margin-bottom: 4"> <font size="2">……</font></p> <p style="margin-top: 4; margin-bottom: 4"> <font size="2" face="黑体"><strong>政府机构</strong></font></p> <p style="margin-top: 4; margin-bottom: 4"> <font size="2">国土局</font></p> <p style="margin-top: 4; margin-bottom: 4"> <font size="2">贸发局</font></p> <p style="margin-top: 4; margin-bottom: 4"> <font size="2">环保局</font></p> <p style="margin-top: 4; margin-bottom: 4"> <font size="2">……</font></td> <td width="7%" height="207" valign="bottom"> <div align="right"> <img border="0" src="img/zly-btm1.gif" width="10" height="10"></div></td> </tr> </table> </div> </td> </tr> </table> </div> </td> <td width="455" height="212" valign="top"> <table width="450" border="0" align="center" height="209"> <tr> <td width="206" height="205" valign="top"> <img border="0" src="img/BD21364_.gif" width="15" height="15">上课地点:<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="206" id="AutoNumber3" height="200"> <tr> <td width="206" height="200" valign="top" background="img/5t.jpg"> <p style="margin-top: 4; margin-bottom: 4"> <font size="2">广州市 汇华大厦会展中心</font></p> <p style="margin-top: 4; margin-bottom: 4"> <font size="2">北京市 兆龙饭店2楼</font></p> <p style="margin-top: 4; margin-bottom: 4"> <font size="2">上海市 金茂大厦1楼</font></p> <p style="margin-top: 4; margin-bottom: 4"> <font size="2">深圳市 世贸广场B座<span lang="en-us">14</span>楼</font><p style="margin-top: 4; margin-bottom: 4"> <font size="2">青岛市 软件大厦 </font> <p style="margin-top: 4; margin-bottom: 4"> <p style="margin-top: 4; margin-bottom: 4"> <p style="margin-top: 4; margin-bottom: 4" align="center"><strong><a href="../pmi52/regtable.htm"> <font size="2">>>>>索取详细大纲</font></a></strong></td> </tr> </table> </td> <td width="250" valign="top" height="205"> <div align="right"> <table width="154" height="168" border="0"> <tr> <td height="25"> </td> </tr> <tr> <td valign="top" background="img/pmyw.jpg" height="166" width="151"> <font size="5" face="幼圆">特殊</font><font face="幼圆" size="7"><b>优惠</b></font><p style="margin-top: 5; margin-bottom: 5" align="left"> <b><font face="幼圆"><br> <font color="#FF0000">原价</font><strike>5500</strike><font color="#FF0000">元/人</font></font></b></p> <p style="margin-top: 5; margin-bottom: 5" align="left"> <b><font face="幼圆" color="#FF0000">现价3800元/人</font></b></p> <p style="margin-top: 5; margin-bottom: 5" align="left"> <b><font face="Arial" color="#FF0000">P<span lang="en-us">roject 2002</span></font></b></p> <p style="margin-top: 5; margin-bottom: 5" align="left"> <b><span lang="en-us"> <font face="Arial" color="#FF0000"> </span> <span lang="en-us"> 500</span></font><font face="Arial" color="#FF0000">元/人</font></b></p> </td> </tr> </table> </div></td> </tr> </table></td> </tr> <tr> <td height="182" valign="top" width="455"> <table width="447" border="0" align="center" height="239"> <tr> <td width="441" height="162"><div align="center"> <img src="img/hy.jpg" width="267" height="173"></div></td> </tr> <tr> <td height="58"> <blockquote> <p style="margin-top: 5; margin-bottom: 5"><font size="2" face="幼圆">顾问背景:</font></p> <p style="margin-top: 5; margin-bottom: 5"><font size="2">来自海外专家(美国、加拿大、新加坡),拥有超过10年以上项目管理经验,学员评价优秀率达95%</font></p> </blockquote> </td> </tr> </table></td> </tr> <tr> <td width="780" height="59" valign="top" colspan="2"> <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="780" id="AutoNumber2"> <tr bgcolor="#0066CC"> <td width="251"> <p style="margin-top: 4; margin-bottom: 4"><font color="#FFFFFF"><b> <font face="黑体" size="2">上海办公室:</font></b></font></p> <p style="margin-top: 4; margin-bottom: 4"><font color="#FFFFFF" size="2"> 电话:<span lang="en-us">+86-</span>21-28909726 传真:28909223</font></p> <p style="margin-top: 4; margin-bottom: 4"><font color="#FFFFFF" size="2"> 地址:上海浦东世纪大道88号金茂大厦31楼</font></td> <td width="264" valign="top"> <p style="margin-top: 4; margin-bottom: 4"><font color="#FFFFFF"><b> <font face="黑体" size="2">北京办公室:</font></b></font></p> <p style="margin-top: 4; margin-bottom: 4"><font color="#FFFFFF" size="2"> 电话:<span lang="en-us">+86-</span>10-65900671 传真:65900670</font></p> <p style="margin-top: 4; margin-bottom: 4"><font color="#FFFFFF" size="2">地址:</font><font color="#FFFFFF" style="font-size: 9pt">北京市朝阳区东三环北路8号亮马大厦5楼</font></td> <td width="265" valign="top"> <p style="margin-top: 4; margin-bottom: 4"><font color="#FFFFFF"><b> <font face="黑体" size="2">深圳办公室:</font></b></font></p> <p style="margin-top: 4; margin-bottom: 4"><font color="#FFFFFF" size="2"> 电话:<span lang="en-us">+86-</span>755-83263526 传真:83674402</font></p> <p style="margin-top: 4; margin-bottom: 4"><font color="#FFFFFF" size="2"> 地址:深圳市深南中路世界贸易广场B座14楼F</font></td> </tr> </table> </td> </tr> </table></td> </tr> </table> </center> </div> </body> </html> |
From: <as...@cy...> - 2002-11-28 11:44:35
|
<html> <head><base href=http://www.cyberway-canada.com/pminew/INDEX.HTM> <meta http-equiv="Content-Language" content="zh-cn"> <meta name="GENERATOR" content="Microsoft FrontPage 5.0"> <meta name="ProgId" content="FrontPage.Editor.Document"> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <title>赛百威第77期成功的项目管理集训</title> <script language="JavaScript" type="text/JavaScript"> <!-- function MM_reloadPage(init) { //reloads the window if Nav4 resized if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) { document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }} else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload(); } MM_reloadPage(true); //--> </script> </head> <body topmargin="0"> <div align="center"> <center> <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="780" id="AutoNumber1"> <tr> <td width="778" height="156"> <div align="center"><img src="../images/pmi77.gif" width="778" height="186"></div></td> </tr> <tr> <td width="100%"> <p style="margin-top: 8; margin-bottom: 8"><br> <img border="0" src="img/BD21364_.gif" width="15" height="15"><font size="2"> 30%精典案例,30%练习,40%理论基础,实用与认证并重之集训</font></p> <p style="margin-top: 8; margin-bottom: 8"> <font size="2"><img border="0" src="img/BD21364_.gif" width="15" height="15"> 中文授课学员满意度比外籍教师授课高出5-10个百分点,推荐率高达98%以上</font></p> <p style="margin-top: 8; margin-bottom: 8"> <font size="2"><img border="0" src="img/BD21364_.gif" width="15" height="15"> 本课程可获得PMI的18个PDU(专业发展学分,考PMP必修之学分)</font></p> <p style="margin-top: 8; margin-bottom: 8"> <font size="2"><img border="0" src="img/BD21364_.gif" width="15" height="15"> 该课程已成功举办了近<span lang="en-us">80</span>期,近200家大型企业,近3000人次的学员通过本课程,该课程已获国家专利局注册</font></p> <p style="margin-top: 8; margin-bottom: 8"> <font size="2"><img border="0" src="img/BD21364_.gif" width="15" height="15"> 目标学员:<font color="#FF0000">中高层管理干部、企业职能部门经理、企业的项目经理、项目的参与人员、政府部门的管理人员</font></font></p> <p style="margin-top: 8; margin-bottom: 8"> <font size="2"><img border="0" src="img/BD21364_.gif" width="15" height="15"> 课程内容:以《PMBOK2000》9大知识体系结构,注重5大项目管理过程的应用课程 </font> <div id="Layer1" style="position:absolute; left:556px; top:188px; width:235px; height:324px; z-index:-1; background-color: #FFFFFF; layer-background-color: #FFFFFF;"> <table width="93%" height="324" border="0"> <tr> <td height="205" valign="top"><img src="../image/home/cyberlogo.gif" width="230" height="60"></td> </tr> <tr> <td height="81"> <img border="0" src="../image/home/replogo.gif" width="220" height="58"></td> </tr> <tr> <td height="30"><img src="img/mslogo.jpg" width="160" height="25"><font size="1"><em>PM Tools </em></font></td> </tr> </table> </div></td> </tr> <tr> <td width="100%"> <p><img border="0" src="img/BD21364_.gif" width="15" height="15"><font size="2"> 主办单位:美国项目管理协会(PMI)</font></p> <p><font size="2"><img border="0" src="img/BD21364_.gif" width="15" height="15"> 承办单位:赛百威(国际)联盟教育机构(中国首家PMI Global级注册机构)</font></p> <p><font size="2"><img border="0" src="img/BD21364_.gif" width="15" height="15"> 赞助单位:微软(中国)有限公司亚太总部</font></td> </tr> <tr> <td width="100%"> </td> </tr> <tr> <td width="100%" valign="top"> <table width="780" height="41" border="0" align="left"> <tr> <td width="325" height="392" rowspan="2" valign="top" background="img/jmbui.jpg"> <p style="margin-top: 4; margin-bottom: 4"> <img border="0" src="img/BD21364_.gif" width="15" height="15">开课时间:</p> <p style="margin-top: 4; margin-bottom: 4"><font size="2"> 2002年12月06、07日(周五、六)</font></p> <p style="margin-top: 4; margin-bottom: 4"><font size="2"> 2002年12月13、14日(周五、六)</font></p> <p style="margin-top: 4; margin-bottom: 4"><font size="2"> 2002年12月15、16日(周日、一)</font></p> <p style="margin-top: 4; margin-bottom: 4"><font size="2"> 2002年12月20、21日(周五、六)</font></p> <p style="margin-top: 4; margin-bottom: 4"><font size="2"> 2002年12月28、29日(周六、日)</font></p> <p style="margin-top: 4; margin-bottom: 4"> </p> <div align="right"> <table width="230" height="241" border="1" cellpadding="0" cellspacing="0" bordercolor="#FF0000" id="AutoNumber6" style="border-collapse: collapse"> <tr> <td width="100%" height="311" valign="top"> <div align="right"> <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="228" id="AutoNumber5" height="241"> <tr> <td width="9%" height="34" valign="top"> <img border="0" src="img/zly-top.gif" width="10" height="10"></td> <td colspan="2" height="34"> <font face="黑体">成功案例部分如下</font></td> <td width="7%" height="34" valign="top"> <div align="right"> <img border="0" src="img/zly-top1.gif" width="10" height="10"></div></td> </tr> <tr> <td width="9%" height="207" valign="bottom"> <div align="left"> <img border="0" src="img/zly-btm.gif" width="10" height="10"></div></td> <td width="45%" height="207" valign="top"> <p style="margin-top: 4; margin-bottom: 4"><b> <font size="2" face="黑体">金融行业</font></b></p> <p style="margin-top: 4; margin-bottom: 4"> <font size="2">建设银行</font></p> <p style="margin-top: 4; margin-bottom: 4"> <font size="2">工商银行</font></p> <p style="margin-top: 4; margin-bottom: 4"> <font size="2">农业银行</font></p> <p style="margin-top: 4; margin-bottom: 4"> <font size="2">……</font></p> <p style="margin-top: 4; margin-bottom: 4"> <font size="2" face="黑体"><b>能源行业</b></font></p> <p style="margin-top: 4; margin-bottom: 4"> <font size="2">大亚湾核电</font></p> <p style="margin-top: 4; margin-bottom: 4"> <font size="2">中国海洋石油</font></p> <p style="margin-top: 4; margin-bottom: 4"> <font size="2">中国石油天然气</font></p> <p style="margin-top: 4; margin-bottom: 4"> <font size="2">……</font></p> <p style="margin-top: 4; margin-bottom: 4"> <font size="2" face="黑体"><b>建筑行业</b></font></p> <p style="margin-top: 4; margin-bottom: 4"> <font size="2">香港迅捷建筑</font></p> <p style="margin-top: 4; margin-bottom: 4"> <font size="2"> 和记黄埔<span lang="en-us">(</span>地产<span lang="en-us">)</span></font></p> <p style="margin-top: 4; margin-bottom: 4"> <font size="2">沿海物业</font></p> <p style="margin-top: 4; margin-bottom: 4"> <font size="2">……</font></td> <td width="39%" height="207" valign="top"> <p style="margin-top: 4; margin-bottom: 4"> <font size="2" face="黑体"><b>电信行业</b></font></p> <p style="margin-top: 4; margin-bottom: 4"> <font size="2">广东电信</font></p> <p style="margin-top: 4; margin-bottom: 4"> <font size="2">广东移动</font></p> <p style="margin-top: 4; margin-bottom: 4"> <font size="2">广东联通</font></p> <p style="margin-top: 4; margin-bottom: 4"> <font size="2">……</font></p> <p style="margin-top: 4; margin-bottom: 4"> <font size="2" face="黑体"><b>大型IT行业</b></font></p> <p style="margin-top: 4; margin-bottom: 4"> <font size="2">华为技术</font></p> <p style="margin-top: 4; margin-bottom: 4"> <font size="2">中兴通讯</font></p> <p style="margin-top: 4; margin-bottom: 4"> <font size="2">艾默生</font></p> <p style="margin-top: 4; margin-bottom: 4"> <font size="2">……</font></p> <p style="margin-top: 4; margin-bottom: 4"> <font size="2" face="黑体"><strong>政府机构</strong></font></p> <p style="margin-top: 4; margin-bottom: 4"> <font size="2">国土局</font></p> <p style="margin-top: 4; margin-bottom: 4"> <font size="2">贸发局</font></p> <p style="margin-top: 4; margin-bottom: 4"> <font size="2">环保局</font></p> <p style="margin-top: 4; margin-bottom: 4"> <font size="2">……</font></td> <td width="7%" height="207" valign="bottom"> <div align="right"> <img border="0" src="img/zly-btm1.gif" width="10" height="10"></div></td> </tr> </table> </div> </td> </tr> </table> </div> </td> <td width="455" height="212" valign="top"> <table width="450" border="0" align="center" height="209"> <tr> <td width="206" height="205" valign="top"> <img border="0" src="img/BD21364_.gif" width="15" height="15">上课地点:<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="206" id="AutoNumber3" height="200"> <tr> <td width="206" height="200" valign="top" background="img/5t.jpg"> <p style="margin-top: 4; margin-bottom: 4"> <font size="2">广州市 汇华大厦会展中心</font></p> <p style="margin-top: 4; margin-bottom: 4"> <font size="2">北京市 兆龙饭店2楼</font></p> <p style="margin-top: 4; margin-bottom: 4"> <font size="2">上海市 金茂大厦1楼</font></p> <p style="margin-top: 4; margin-bottom: 4"> <font size="2">深圳市 世贸广场B座<span lang="en-us">14</span>楼</font><p style="margin-top: 4; margin-bottom: 4"> <font size="2">青岛市 软件大厦 </font> <p style="margin-top: 4; margin-bottom: 4"> <p style="margin-top: 4; margin-bottom: 4"> <p style="margin-top: 4; margin-bottom: 4" align="center"><strong><a href="../pmi52/regtable.htm"> <font size="2">>>>>索取详细大纲</font></a></strong></td> </tr> </table> </td> <td width="250" valign="top" height="205"> <div align="right"> <table width="154" height="168" border="0"> <tr> <td height="25"> </td> </tr> <tr> <td valign="top" background="img/pmyw.jpg" height="166" width="151"> <font size="5" face="幼圆">特殊</font><font face="幼圆" size="7"><b>优惠</b></font><p style="margin-top: 5; margin-bottom: 5" align="left"> <b><font face="幼圆"><br> <font color="#FF0000">原价</font><strike>5500</strike><font color="#FF0000">元/人</font></font></b></p> <p style="margin-top: 5; margin-bottom: 5" align="left"> <b><font face="幼圆" color="#FF0000">现价3800元/人</font></b></p> <p style="margin-top: 5; margin-bottom: 5" align="left"> <b><font face="Arial" color="#FF0000">P<span lang="en-us">roject 2002</span></font></b></p> <p style="margin-top: 5; margin-bottom: 5" align="left"> <b><span lang="en-us"> <font face="Arial" color="#FF0000"> </span> <span lang="en-us"> 500</span></font><font face="Arial" color="#FF0000">元/人</font></b></p> </td> </tr> </table> </div></td> </tr> </table></td> </tr> <tr> <td height="182" valign="top" width="455"> <table width="447" border="0" align="center" height="239"> <tr> <td width="441" height="162"><div align="center"> <img src="img/hy.jpg" width="267" height="173"></div></td> </tr> <tr> <td height="58"> <blockquote> <p style="margin-top: 5; margin-bottom: 5"><font size="2" face="幼圆">顾问背景:</font></p> <p style="margin-top: 5; margin-bottom: 5"><font size="2">来自海外专家(美国、加拿大、新加坡),拥有超过10年以上项目管理经验,学员评价优秀率达95%</font></p> </blockquote> </td> </tr> </table></td> </tr> <tr> <td width="780" height="59" valign="top" colspan="2"> <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="780" id="AutoNumber2"> <tr bgcolor="#0066CC"> <td width="251"> <p style="margin-top: 4; margin-bottom: 4"><font color="#FFFFFF"><b> <font face="黑体" size="2">上海办公室:</font></b></font></p> <p style="margin-top: 4; margin-bottom: 4"><font color="#FFFFFF" size="2"> 电话:<span lang="en-us">+86-</span>21-28909726 传真:28909223</font></p> <p style="margin-top: 4; margin-bottom: 4"><font color="#FFFFFF" size="2"> 地址:上海浦东世纪大道88号金茂大厦31楼</font></td> <td width="264" valign="top"> <p style="margin-top: 4; margin-bottom: 4"><font color="#FFFFFF"><b> <font face="黑体" size="2">北京办公室:</font></b></font></p> <p style="margin-top: 4; margin-bottom: 4"><font color="#FFFFFF" size="2"> 电话:<span lang="en-us">+86-</span>10-65900671 传真:65900670</font></p> <p style="margin-top: 4; margin-bottom: 4"><font color="#FFFFFF" size="2">地址:</font><font color="#FFFFFF" style="font-size: 9pt">北京市朝阳区东三环北路8号亮马大厦5楼</font></td> <td width="265" valign="top"> <p style="margin-top: 4; margin-bottom: 4"><font color="#FFFFFF"><b> <font face="黑体" size="2">深圳办公室:</font></b></font></p> <p style="margin-top: 4; margin-bottom: 4"><font color="#FFFFFF" size="2"> 电话:<span lang="en-us">+86-</span>755-83263526 传真:83674402</font></p> <p style="margin-top: 4; margin-bottom: 4"><font color="#FFFFFF" size="2"> 地址:深圳市深南中路世界贸易广场B座14楼F</font></td> </tr> </table> </td> </tr> </table></td> </tr> </table> </center> </div> </body> </html> |
From: <hun...@ha...> - 2002-11-09 23:41:52
|
<html><body><pre><div><br></div><font face=华文行楷 color=#008000><b>原邮件发件人名字</b></font>:<font face=幼圆 color=#008000><strong><blink>张爱军</blink></strong></font><br><font face=华文行楷 color=#008000><b>原邮件发件人地址</b></font><font face=宋体>:</font><a href="mailto:原邮件发件人地址:za...@ey..."><font face="arial black">za...@ey...</font></a><br><br> <table width="100%"> <tbody> <tr> <td width="100%"> <blockquote style="padding-right: 0px; padding-left: 5px; margin-left: 5px; border-left: #000000 2px solid; margin-right: 0px"> <div align=center> <center> <table height=301 cellspacing=0 cellpadding=0 width=665 border=0> <tbody> <tr> <td width=665 bgcolor=#800080 height=35> <p align=center><font face=verdana color=#ffffff size=3>:</font><font color=#ffffff size=3>:</font><font face=黑体 color=#ffffff size=3> 您好</font></p></td></tr> <tr> <td valign=top width=665 bgcolor=#fcf0ff height=255> <p style="margin: 16px 20px 15px; line-height: 150%"><br><font size=2> </font> <p style="margin: 16px 20px 15px; line-height: 150%"><font size=2> 电子商务是时代潮流,但如何最高效利用互联网,抓紧中国刚加入wto的黄金时期,赶在竞争对手之前,将您的产品遍布国内外,是一大难题。<span style="background-color: #00ff00"> 我们的<b>《商智网络营销套件》v1.2 </b>提出了企业电子商务营销的一条龙解决方案。并已被全国数百家大中企业采纳。</span></font> <p style="margin: 16px 20px 15px; line-height: 150%"><font size=2> 如果<span style="background-color: #00ff00">能在一千多家国内外大型电子商务交易场同步发布您的公司介绍、产品信息 </span>(完全自动发布)。 在互联网每一个角落搜索您产品的求购(客户)、供应(对手)信息。您就可以运筹帏幄之中,而决胜千里之外。</font> <p style="margin: 16px 20px 15px; line-height: 150%"><font size=2> 如果能智能而准确的海量搜索客户联系邮箱,(如搜索深圳的电子公司、北京的广告公司、全国制冷行业的厂家公司、南京20~25岁的女性、全国数十万硬件工程师的邮箱,诸如此类),而且保证每一封信都被认真阅读,我们相信这对一个企业的销售是一种不可抗拒的诱惑!! </font> <p style="margin: 16px 20px 15px; line-height: 150%"><font size=2> 我们的邮件系统所搜集到的<span style="background-color: #00ff00">邮件地址,每一个都与对方公司名称(联系人姓名或网名)、公司地址、电话、传真一一对应</span>。经过筛选,有的放矢,发起来就决不会产生垃圾邮件。 不会降低您的商誉,这才是最重要的!!!</font> <p style="margin: 16px 20px 15px; line-height: 150%"><font size=2> 这一切交给我们的《商智网络营销套件》来完成。</font> <p style="margin: 16px 20px 15px; line-height: 150%"><font size=2> 商智网络营销套件是新一代网络营销利器。大量采用了广义上的人工智能技术、开辟了互联网数据挖掘的新纪元。他能极大程度的提高企业营销力度,提高销售额。 </font> <p style="margin: 16px 20px 15px; line-height: 150%"><font size=2>1、商智交易场交易信息搜索(引擎):能在1000多家国内外交易场、行业网站按照您提供的关键字搜索产品信息。自动按买方、卖方、合作代理分类,按任务保存网页快照,支持历史查询, 自动登陆搜索。 </font> <p style="margin: 16px 20px 15px; line-height: 150%"><font size=2>2、商智交易场信息发布:能将您的企业自动注册到1000多家国内外交易场、行业网站。能将您的产品信息同步发布到1000多家国内外交易场、行业网站。(每天发布一次,只需点一下鼠标) </font> <p style="margin: 16px 20px 15px; line-height: 150%"><font size=2>3、商智邮件搜集专家:他能以用户身份登陆到交易场,将注册用户一网打尽,能根据用户提供的关键字智能化向交易场、大小黄页、搜索引擎提交用户查询,遍历结果页。是(全球)唯一能全面智能化、自动化海量搜索公司(用户)全套联系方式的邮件搜集器,配合商智邮件群发。能将用户名、公司全称镶嵌在信件标题、正文的任何地方, 全智能向导帮助建立复杂任务,携带丰富、强大的邮件工具,完美的示例任务可搜索一千万携带用户姓名、公司全称的最新有效邮件地址(可能随时更新)。内置二十个顶级搜索引擎、全国各地大小黄页、近一千个交易场,已经全模板配置(用户可以添加交易场搜索,并且特别方便),傻瓜化操作、黑客式功能。 </font> <p style="margin: 16px 20px 15px; line-height: 150%"><font size=2>4、商智邮件群发: 配合商智邮件搜集专家,100%发送有效邮件地址,最高100条线程运行,每分钟发送1000封。多重失败重试机制,完全客户端oem定制(可定义为企业自己的邮件发送器标志),完全相同于ms-outlook 的信件格式(无法根据发送器来据收)。 </font> <p style="margin: 16px 20px 15px; line-height: 150%"><font size=2> 1、内建smtp服务器 </font> <p style="margin: 16px 20px 15px; line-height: 150%"><font size=2> 2、内建dns域名解析(国内首创,提高速度用) </font> <p style="margin: 16px 20px 15px; line-height: 150%"><font size=2> 3、外部smtp代理服务器 </font> <p style="margin: 16px 20px 15px; line-height: 150%"><font size=2> 4、外部dns域名解析服务器 </font> <p style="margin: 16px 20px 15px; line-height: 150%"><font size=2> 5、直接 web 发送。 ....... 直到有效邮件成功发送。 </font> <p style="margin: 16px 20px 15px; line-height: 150%"><font size=2>独特指出:</font> <p style="margin: 16px 20px 15px; line-height: 150%"><font size=2> 自动将公司名称、收信人姓名替换在信件的任何指定地方。可提前指定天数发信。容量达十万级的屏蔽邮件列表(永不发送)、n天不重复发送信件功能,当然也可匿名发信,但我们不提倡! 能发送多种信件,能发送多种邮件地址包,能发送直接从数据库中导出的邮件数据,数据模板自动替换。点击率90%以上(超过电视、报刊广告,且针对性高),回信率也非常高。 !!!完全不同于以往的邮件系统。</font> <p style="margin: 16px 20px 15px; line-height: 150%"><font size=2>购买产品或代理合作详细细节请电话咨询。</font> <p style="margin: 16px 20px 15px; line-height: 150%"><span style="background-color: #008000"><font color=#ffffff size=2>0755-26530012 26530145 <b>张爱军 </b></font></span> <p style="margin: 16px 20px 15px; line-height: 150%"><font size=2>恭颂商祺</font> <p style="margin: 16px 20px 15px; line-height: 150%"> <p style="margin: 16px 20px 15px; line-height: 150%"><a href="/"><img height=49 src="/" width=146 border=0></a> <em><u><font face=仿宋_gb2312 color=#ff00ff size=3></font></u></em></p></td></center> <tr> <td valign=top width=665 bgcolor=#fcf0ff height=33> <p align=right><font size=2> 张爱军 瑾上 </font> <p align=right><font size=2>2002 年 11月 </font></p></tr></tbody></div></blockquote></tr></tbody></table> </pre></body></html> |
From: <ma...@sz...> - 2002-10-26 17:34:13
|
http://www.szxt.com 深圳市旭振电气技术有限公司致力于在电力、通信及相关领域为客户提供一流的设备和 服务,主要产品涵盖了高频开关电源(含电力操作电源、电力专用DC/DC变换器、 铃流发生器、通信用AC/DC变换器、DC/DC变换器、IT设备用Adapter等)、高频逆变电源、 蓄电池有源逆变放电装置、蓄电池监测管理系统、智能准同期控制器、无功补偿装置等, 产品已广泛应用在电力、通信、军队、交通、石化、水利、医疗仪器等多个领域。 深圳市旭振电气技术有限公司以客户满意度为工作的评价标准,以客户的价值观为导 向,以人为本,不断创新、追求产品高品质、服务贴近用户,实现对客户的承诺。 联系人:袁小姐 电话:0755-26492926 26492630 Email:ma...@sz... 祝 商 琪 |
From: Internet M. D. <pos...@ms...> - 2002-10-24 23:42:44
|
This report relates to a message you sent with the following header f= ields: Return-path: <bee...@li...> Return-path: <bee...@li...> Received: from ims-ms-daemon.ms.ce.net.cn by ms.ce.net.cn (iPlanet Messaging Server 5.0 Patch 3 (built Mar 23 2001)) id <0H4...@ms...> (original mail from bee...@li...); = Fri, 25 Oct 2002 07:36:28 +0800 (CST) Received: from praxair-bpi.com ([218.17.92.76]) by ms.ce.net.cn (iPlanet Messaging Server 5.0 Patch 3 (built Mar 2= 3 2001)) with ESMTP id <0H4...@ms...> for bpi%praxair-bpi.com@ims-ms-daemon (ORCPT bp...@pr...); Fri= , 25 Oct 2002 07:36:27 +0800 (CST) Date: Fri, 25 Oct 2002 07:41:54 +0800 From: bee...@li... Subject: =3D?GB2312?B?o7rE47rDo6E=3D?=3D To: bp...@pr... Reply-to: za...@ey... Message-id: <0H4...@ms...> MIME-version: 1.0 X-Mailer: Microsoft Outlook Express 5.50.4133.2400 Content-type: text/plain; charset=3DGB2312 Content-transfer-encoding: 8BIT X-Priority: 3 Your message cannot be delivered to the following recipients: Recipient address: bpi%praxair-bpi.com@ims-ms-daemon Original address: bp...@pr... Reason: Over quota |
From: Huston F. <hu...@us...> - 2002-10-15 05:01:02
|
Update of /cvsroot/beepcore-java/beepcore-java In directory usw-pr-cvs1:/tmp/cvs-serv32329 Modified Files: build.xml Added Files: build.properties.sample Log Message: build file cleanup for commons-logging and added build.properties file --- NEW FILE: build.properties.sample --- debug="on" optimize="on" deprecation="off" concurrent.jar=${basedir}/lib/concurrent.jar commons-logging.jar=${basedir}/lib/commons-logging.jar xml-parser.jar=${basedir}/lib/xerces.jar cryptix.jar=${basedir}/lib/cryptix32.jar cryptix-asn1.jar=${basedir}/lib/cryptix-asn1.jar puretls.jar=${basedir}/lib/puretls.jar Index: build.xml =================================================================== RCS file: /cvsroot/beepcore-java/beepcore-java/build.xml,v retrieving revision 1.23 retrieving revision 1.24 diff -C2 -r1.23 -r1.24 *** build.xml 18 Sep 2002 14:31:09 -0000 1.23 --- build.xml 15 Oct 2002 05:00:53 -0000 1.24 *************** *** 1,3 **** --- 1,7 ---- <project name="beepcore" default="core-jar" basedir="."> + + <!-- The build.properties file defines the parth to local jar files --> + <property file="build.properties"/> + <property name="name" value="beepcore" /> <property name="Name" value="BEEP Core" /> *************** *** 7,11 **** <property name="debug" value="on"/> <property name="optimize" value="on"/> ! <property name="deprecation" value="on"/> <property name="beepcore.home" value="."/> --- 11,22 ---- <property name="debug" value="on"/> <property name="optimize" value="on"/> ! <property name="deprecation" value="off"/> ! ! <!-- Construct classpath for building core --> ! <path id="core.compile.classpath"> ! <pathelement location="${concurrent.jar}"/> ! <pathelement location="${commons-logging.jar}"/> ! <pathelement location="${xml-parser.jar}"/> ! </path> <property name="beepcore.home" value="."/> *************** *** 13,16 **** --- 24,28 ---- <property name="release.dir" value="${build.dir}/${release.name}" /> + <!-- Core properties --> <property name="core.build.dir" value="${build.dir}/core" /> <property name="core.doc.dir" value="${release.dir}/doc/core" /> *************** *** 19,22 **** --- 31,43 ---- <property name="core.packages" value="org.beepcore.beep.core,org.beepcore.beep.util,org.beepcore.beep.transport.tcp,org.beepcore.beep.lib,org.beepcore.beep.profile,org.beepcore.beep.profile.echo,org.beepcore.beep.profile.tls"/> + <property name="source.jar.name" value="beepsource.jar"/> + + <!-- Construct classpath for building sub-projects --> + <path id="compile.classpath"> + <path refid="core.compile.classpath"/> + <pathelement location="${release.dir}/lib/${core.jar.name}"/> + </path> + + <!-- Examples properties --> <property name="example.build.dir" value="${build.dir}/example" /> <property name="example.jar.name" value="example.jar" /> *************** *** 25,32 **** <property name="jdk.doc.dir" value="doc/jdk" /> ! <property name="jsse.doc.dir" value="doc/jsse" /> ! ! <property name="puretls.doc.dir" value="doc/puretls" /> ! <property name="sasl.build.dir" value="${build.dir}/sasl"/> <property name="sasl.doc.dir" value="${release.dir}/doc/sasl"/> --- 46,50 ---- <property name="jdk.doc.dir" value="doc/jdk" /> ! <!-- SASL properties --> <property name="sasl.build.dir" value="${build.dir}/sasl"/> <property name="sasl.doc.dir" value="${release.dir}/doc/sasl"/> *************** *** 34,55 **** <property name="sasl.src.dir" value="src"/> ! <property name="source.jar.name" value="beepsource.jar"/> ! ! <property name="test.build.dir" value="${build.dir}/test" /> ! <property name="test.src.dir" value="test" /> ! <property name="tls-jsse.build.dir" value="${build.dir}/tls-jsse" /> <property name="tls-jsse.doc.dir" value="${release.dir}/doc/tls-jsse" /> <property name="tls-jsse.jar.name" value="beeptls-jsse.jar" /> <property name="tls-ptls.build.dir" value="${build.dir}/tls-ptls" /> <property name="tls-ptls.doc.dir" value="${release.dir}/doc/tls-ptls" /> <property name="tls-ptls.jar.name" value="beeptls-ptls.jar" /> <property name="tls.src.dir" value="tls" /> <property name="doc-ref-offline" value="false" /> ! <target name="init"> <mkdir dir="${core.build.dir}" /> <condition property="javadoc.param" value="-breakiterator"> --- 52,81 ---- <property name="sasl.src.dir" value="src"/> ! <!-- JSSE TLS properties --> <property name="tls-jsse.build.dir" value="${build.dir}/tls-jsse" /> <property name="tls-jsse.doc.dir" value="${release.dir}/doc/tls-jsse" /> <property name="tls-jsse.jar.name" value="beeptls-jsse.jar" /> + <property name="jsse.doc.dir" value="doc/jsse" /> + + <!-- PTLS TLS properties --> <property name="tls-ptls.build.dir" value="${build.dir}/tls-ptls" /> <property name="tls-ptls.doc.dir" value="${release.dir}/doc/tls-ptls" /> <property name="tls-ptls.jar.name" value="beeptls-ptls.jar" /> + <property name="puretls.doc.dir" value="doc/puretls" /> + + <!-- TLS properties --> <property name="tls.src.dir" value="tls" /> <property name="doc-ref-offline" value="false" /> ! <!-- Test properties --> ! <property name="test.build.dir" value="${build.dir}/test" /> ! <property name="test.src.dir" value="test" /> ! ! ! ! <target name="-init"> <mkdir dir="${core.build.dir}" /> <condition property="javadoc.param" value="-breakiterator"> *************** *** 62,72 **** </target> ! <target name="core" depends="init"> <mkdir dir="${core.build.dir}"/> <javac srcdir="${core.src.dir}/" destdir="${core.build.dir}" ! debug="${debug}" ! optimize="${optimize}" ! deprecation="${deprecation}"> <include name="**/core/*.java"/> <include name="**/lib/*.java"/> --- 88,100 ---- </target> ! <!-- Core targets --> ! <target name="core" depends="-init"> <mkdir dir="${core.build.dir}"/> <javac srcdir="${core.src.dir}/" destdir="${core.build.dir}" ! classpathref="core.compile.classpath" ! debug="${debug}" ! optimize="${optimize}" ! deprecation="${deprecation}"> <include name="**/core/*.java"/> <include name="**/lib/*.java"/> *************** *** 76,84 **** <include name="**/transport/**/*.java"/> <include name="**/util/*.java"/> - <classpath> - <pathelement path="${java.class.path}"/> - <pathelement location="${beepcore.home}/lib/concurrent.jar"/> - <pathelement location="${release.dir}/lib/${core.jar.name}"/> - </classpath> </javac> </target> --- 104,107 ---- *************** *** 102,110 **** additionalparam="${javadoc.param}" bottom="Copyright © 2001 Invisible Worlds, Inc. All Rights Reserved."> ! <classpath> ! <pathelement path="${java.class.path}"/> ! <pathelement location="${beepcore.home}/lib/concurrent.jar"/> ! <pathelement location="${release.dir}/lib/${core.jar.name}"/> ! </classpath> </javadoc> </target> --- 125,129 ---- additionalparam="${javadoc.param}" bottom="Copyright © 2001 Invisible Worlds, Inc. All Rights Reserved."> ! <classpath refid="compile.classpath"/> </javadoc> </target> *************** *** 128,132 **** basedir="${build.dir}/src"/> ! <copy file="lib/concurrent.jar" tofile="${release.dir}/lib/concurrent.jar"/> <copy file="lib/xerces.jar" --- 147,151 ---- basedir="${build.dir}/src"/> ! <copy file="${concurrent.jar}" tofile="${release.dir}/lib/concurrent.jar"/> <copy file="lib/xerces.jar" *************** *** 150,153 **** --- 169,173 ---- </target> + <!-- Example targets --> <target name="example-compile" depends="core-jar,sasl"> <mkdir dir="${example.build.dir}"/> *************** *** 159,164 **** <exclude name="**/util/Log4JLog.java"/> <classpath> ! <pathelement path="${java.class.path}"/> ! <pathelement location="${release.dir}/lib/${core.jar.name}"/> <pathelement location="${release.dir}/lib/${sasl.jar.name}"/> </classpath> --- 179,183 ---- <exclude name="**/util/Log4JLog.java"/> <classpath> ! <path refid="compile.classpath"/> <pathelement location="${release.dir}/lib/${sasl.jar.name}"/> </classpath> *************** *** 166,170 **** </target> ! <target name="example" depends="example-compile,log4jlog,14log"> <mkdir dir="${release.dir}/lib"/> <jar jarfile="${release.dir}/lib/${example.jar.name}" --- 185,189 ---- </target> ! <target name="example" depends="example-compile"> <mkdir dir="${release.dir}/lib"/> <jar jarfile="${release.dir}/lib/${example.jar.name}" *************** *** 184,200 **** </target> ! <target name="ptls-dist" depends="tls-ptls"> ! <copy file="lib/cryptix32.jar" ! tofile="${release.dir}/lib/cryptix32.jar"/> ! <copy file="lib/cryptix-asn1.jar" ! tofile="${release.dir}/lib/cryptix-asn1.jar"/> ! <copy file="lib/puretls.jar" ! tofile="${release.dir}/lib/puretls.jar"/> ! <copy file="lib/LICENSE.cryptix" ! tofile="${release.dir}/LICENSE.cryptix"/> ! <copy file="lib/LICENSE.puretls" ! tofile="${release.dir}/LICENSE.puretls"/> ! </target> ! <target name="test" depends="example"> <mkdir dir="${test.build.dir}"/> --- 203,207 ---- </target> ! <!-- Test targets --> <target name="test" depends="example"> <mkdir dir="${test.build.dir}"/> *************** *** 206,211 **** <include name="**/*.java"/> <classpath> ! <pathelement path="${java.class.path}"/> ! <pathelement location="${release.dir}/lib/${core.jar.name}"/> <pathelement location="${release.dir}/lib/${sasl.jar.name}"/> <pathelement location="${example.build.dir}"/> --- 213,217 ---- <include name="**/*.java"/> <classpath> ! <path refid="compile.classpath"/> <pathelement location="${release.dir}/lib/${sasl.jar.name}"/> <pathelement location="${example.build.dir}"/> *************** *** 214,229 **** </target> <target name="sasl-compile" depends="core-jar"> <mkdir dir="${sasl.build.dir}"/> <javac srcdir="${sasl.src.dir}/" destdir="${sasl.build.dir}" debug="${debug}" optimize="${optimize}" deprecation="${deprecation}"> <include name="**/sasl/**/*.java"/> - <classpath> - <pathelement path="${java.class.path}"/> - <pathelement location="${release.dir}/lib/${core.jar.name}"/> - </classpath> </javac> </target> --- 220,233 ---- </target> + <!-- SASL targets --> <target name="sasl-compile" depends="core-jar"> <mkdir dir="${sasl.build.dir}"/> <javac srcdir="${sasl.src.dir}/" destdir="${sasl.build.dir}" + classpathref="compile.classpath" debug="${debug}" optimize="${optimize}" deprecation="${deprecation}"> <include name="**/sasl/**/*.java"/> </javac> </target> *************** *** 247,252 **** bottom="Copyright © 2001 Invisible Worlds, Inc. All Rights Reserved."> <classpath> ! <pathelement path="${java.class.path}"/> ! <pathelement location="${release.dir}/lib/${core.jar.name}"/> <pathelement location="${release.dir}/lib/${sasl.jar.name}"/> </classpath> --- 251,255 ---- bottom="Copyright © 2001 Invisible Worlds, Inc. All Rights Reserved."> <classpath> ! <path refid="compile.classpath"/> <pathelement location="${release.dir}/lib/${sasl.jar.name}"/> </classpath> *************** *** 254,269 **** </target> <target name="tls-jsse-compile" depends="core-jar"> <mkdir dir="${tls-jsse.build.dir}"/> <javac srcdir="${tls.src.dir}/" destdir="${tls-jsse.build.dir}" debug="${debug}" optimize="${optimize}" ! deprecation="off"> <include name="**/jsse/*.java"/> - <classpath> - <pathelement path="${java.class.path}"/> - <pathelement location="${release.dir}/lib/${core.jar.name}"/> - </classpath> </javac> </target> --- 257,270 ---- </target> + <!-- JSSE targets --> <target name="tls-jsse-compile" depends="core-jar"> <mkdir dir="${tls-jsse.build.dir}"/> <javac srcdir="${tls.src.dir}/" destdir="${tls-jsse.build.dir}" + classpathref="compile.classpath" debug="${debug}" optimize="${optimize}" ! deprecation="${deprecation}"> <include name="**/jsse/*.java"/> </javac> </target> *************** *** 298,302 **** packagelistLoc="${core.doc.dir}" /> <classpath> ! <pathelement path="${java.class.path}"/> <pathelement location="${release.dir}/lib/${core.jar.name}"/> <pathelement location="${release.dir}/lib/${tls-jsse.jar.name}"/> --- 299,303 ---- packagelistLoc="${core.doc.dir}" /> <classpath> ! <path refid="core.compile.classpath"/> <pathelement location="${release.dir}/lib/${core.jar.name}"/> <pathelement location="${release.dir}/lib/${tls-jsse.jar.name}"/> *************** *** 305,308 **** --- 306,310 ---- </target> + <!-- PTLS targets --> <target name="tls-ptls-compile" depends="core-jar"> <mkdir dir="${tls-ptls.build.dir}"/> *************** *** 314,319 **** <include name="**/ptls/*.java"/> <classpath> ! <pathelement path="${java.class.path}"/> ! <pathelement location="${release.dir}/lib/${core.jar.name}"/> </classpath> </javac> --- 316,323 ---- <include name="**/ptls/*.java"/> <classpath> ! <path refid="compile.classpath"/> ! <pathelement location="${cryptix.jar}"/> ! <pathelement location="${cryptix-asn1.jar}"/> ! <pathelement location="${puretls.jar}"/> </classpath> </javac> *************** *** 344,349 **** packagelistLoc="${core.doc.dir}" /> <classpath> ! <pathelement path="${java.class.path}"/> ! <pathelement location="${release.dir}/lib/${core.jar.name}"/> <pathelement location="${release.dir}/lib/${tls-ptls.jar.name}"/> </classpath> --- 348,355 ---- packagelistLoc="${core.doc.dir}" /> <classpath> ! <path refid="compile.classpath"/> ! <pathelement location="${cryptix.jar}"/> ! <pathelement location="${cryptix-asn1.jar}"/> ! <pathelement location="${puretls.jar}"/> <pathelement location="${release.dir}/lib/${tls-ptls.jar.name}"/> </classpath> *************** *** 351,355 **** </target> ! <target name="doc" depends="core-doc,sasl-doc,tls-jsse-doc,tls-ptls-doc"/> <!-- Packages the distribution with ZIP --> --- 357,372 ---- </target> ! <target name="ptls-dist" depends="tls-ptls"> ! <copy file="lib/cryptix32.jar" ! tofile="${release.dir}/lib/cryptix32.jar"/> ! <copy file="lib/cryptix-asn1.jar" ! tofile="${release.dir}/lib/cryptix-asn1.jar"/> ! <copy file="lib/puretls.jar" ! tofile="${release.dir}/lib/puretls.jar"/> ! <copy file="lib/LICENSE.cryptix" ! tofile="${release.dir}/LICENSE.cryptix"/> ! <copy file="lib/LICENSE.puretls" ! tofile="${release.dir}/LICENSE.puretls"/> ! </target> <!-- Packages the distribution with ZIP --> *************** *** 370,418 **** <target name="dist" depends="dist-zip,dist-tgz"/> <target name="clean"> <delete dir="${build.dir}" /> <delete dir="${doc.dir}" /> - </target> - - <target name="log4jCheck"> - <available classname="org.apache.log4j.Category" - property="log4j-present" - classpath="${java.class.path}"/> - </target> - - <target name="log4jlog" depends="init,core-jar,log4jCheck" if="log4j-present"> - <mkdir dir="${example.build.dir}"/> - <javac srcdir="${example.src.dir}/" - destdir="${example.build.dir}" - debug="${debug}" - optimize="${optimize}" - deprecation="${deprecation}"> - <include name="**/util/Log4JLog.java"/> - <classpath> - <pathelement path="${java.class.path}"/> - <pathelement location="${release.dir}/lib/${core.jar.name}"/> - </classpath> - </javac> - </target> - - <target name="14LoggingCheck"> - <available classname="java.util.loggin.Logger" - property="14logging-present" - classpath="${java.class.path}"/> - </target> - - <target name="14log" depends="init,core-jar,14LoggingCheck" if="14logging-present"> - <mkdir dir="${example.build.dir}"/> - <javac srcdir="${example.src.dir}/" - destdir="${example.build.dir}" - debug="${debug}" - optimize="${optimize}" - deprecation="${deprecation}"> - <include name="**/util/BeepLogger.java"/> - <classpath> - <pathelement path="${java.class.path}"/> - <pathelement location="${release.dir}/lib/${core.jar.name}"/> - </classpath> - </javac> </target> </project> --- 387,395 ---- <target name="dist" depends="dist-zip,dist-tgz"/> + <target name="doc" depends="core-doc,sasl-doc,tls-jsse-doc,tls-ptls-doc"/> + <target name="clean"> <delete dir="${build.dir}" /> <delete dir="${doc.dir}" /> </target> </project> |
From: Huston F. <hu...@us...> - 2002-10-05 15:46:39
|
Update of /cvsroot/beepcore-java/beepcore-java/src/org/beepcore/beep/util In directory usw-pr-cvs1:/tmp/cvs-serv16187/src/org/beepcore/beep/util Removed Files: Log.java ConsoleLog.java LogService.java Log Message: changed to use commons-logging --- Log.java DELETED --- --- ConsoleLog.java DELETED --- --- LogService.java DELETED --- |
From: Huston F. <hu...@us...> - 2002-10-05 15:45:59
|
Update of /cvsroot/beepcore-java/beepcore-java/tls/org/beepcore/beep/profile/tls/jsse In directory usw-pr-cvs1:/tmp/cvs-serv15890/tls/org/beepcore/beep/profile/tls/jsse Modified Files: TLSProfileJSSE.java Log Message: changed to use commons-logging Index: TLSProfileJSSE.java =================================================================== RCS file: /cvsroot/beepcore-java/beepcore-java/tls/org/beepcore/beep/profile/tls/jsse/TLSProfileJSSE.java,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -r1.6 -r1.7 *** TLSProfileJSSE.java 7 Sep 2002 15:13:12 -0000 1.6 --- TLSProfileJSSE.java 5 Oct 2002 15:45:56 -0000 1.7 *************** *** 42,45 **** --- 42,48 ---- import java.io.FileInputStream; + import org.apache.commons.logging.Log; + import org.apache.commons.logging.LogFactory; + /** *************** *** 122,125 **** --- 125,130 ---- static SSLSocketFactory socketFactory = null; + private Log log = LogFactory.getLog(this.getClass()); + // listeners to update when an SSL handshake completes // static List handshakeListeners = null; *************** *** 140,144 **** public void handshakeCompleted(HandshakeCompletedEvent event) { ! Log.logEntry(Log.SEV_DEBUG, "HandshakeCompleted"); synchronized (handshakeListeners) { Iterator i = TLSProfileJSSE.handshakeListeners.iterator(); --- 145,149 ---- public void handshakeCompleted(HandshakeCompletedEvent event) { ! log.debug("HandshakeCompleted"); synchronized (handshakeListeners) { Iterator i = TLSProfileJSSE.handshakeListeners.iterator(); *************** *** 196,202 **** socketFactory = (SSLSocketFactory) ctx.getSocketFactory(); } catch (NoSuchAlgorithmException e) { ! Log.logEntry(1, "JSSE TLS Profile", e.getMessage()); } catch (KeyManagementException e) { ! Log.logEntry(1, "JSSE TLS Profile", e.getMessage()); } --- 201,207 ---- socketFactory = (SSLSocketFactory) ctx.getSocketFactory(); } catch (NoSuchAlgorithmException e) { ! log.error(e.getMessage()); } catch (KeyManagementException e) { ! log.error(e.getMessage()); } *************** *** 426,430 **** return this; } catch (Exception e) { ! Log.logEntry(Log.SEV_ERROR, e); throw new BEEPException(e.getMessage()); --- 431,435 ---- return this; } catch (Exception e) { ! log.error(e); throw new BEEPException(e.getMessage()); *************** *** 529,533 **** // @todo should be more detailed ! Log.logEntry(Log.SEV_ERROR, x.getMessage()); throw new StartChannelException(450, x.getMessage()); --- 534,538 ---- // @todo should be more detailed ! log.error(x.getMessage()); throw new StartChannelException(450, x.getMessage()); *************** *** 549,553 **** public void closeChannel(Channel channel) throws CloseChannelException { ! Log.logEntry(Log.SEV_DEBUG, "Closing TLS channel."); } --- 554,558 ---- public void closeChannel(Channel channel) throws CloseChannelException { ! log.debug("Closing TLS channel."); } *************** *** 589,598 **** String data = ch.getStartData(); ! Log.logEntry(Log.SEV_DEBUG, "Got start data of " + data); // Consider the data (see if it's proceed) if ((data == null) ! || (!data.equals(PROCEED1) &&!data.equals(PROCEED2))) { ! Log.logEntry(Log.SEV_ERROR, "Invalid reply: " + data); throw new BEEPException(ERR_EXPECTED_PROCEED); } --- 594,606 ---- String data = ch.getStartData(); ! if (log.isDebugEnabled()) { ! log.debug("Got start data of " + data); ! } // Consider the data (see if it's proceed) if ((data == null) ! || (!data.equals(PROCEED1) &&!data.equals(PROCEED2))) ! { ! log.error("Invalid reply: " + data); throw new BEEPException(ERR_EXPECTED_PROCEED); } *************** *** 619,625 **** l.session = session; ! Log.logEntry(Log.SEV_DEBUG, "Handshake starting"); newSocket.startHandshake(); ! Log.logEntry(Log.SEV_DEBUG, "Handshake returned"); synchronized (l) { --- 627,633 ---- l.session = session; ! log.debug("Handshake starting"); newSocket.startHandshake(); ! log.debug("Handshake returned"); synchronized (l) { *************** *** 632,644 **** } } ! Log.logEntry(Log.SEV_DEBUG, "Handshake done waiting"); } catch (javax.net.ssl.SSLException e) { ! Log.logEntry(Log.SEV_ERROR, e); throw new BEEPException(e.getMessage()); } catch (java.io.IOException e) { ! Log.logEntry(Log.SEV_ERROR, e); throw new BEEPException(ERR_TLS_SOCKET); } catch (InterruptedException e) { ! Log.logEntry(Log.SEV_ERROR, e); throw new BEEPException(ERR_TLS_HANDSHAKE_WAIT); } --- 640,652 ---- } } ! log.debug("Handshake done waiting"); } catch (javax.net.ssl.SSLException e) { ! log.error(e); throw new BEEPException(e.getMessage()); } catch (java.io.IOException e) { ! log.error(e); throw new BEEPException(ERR_TLS_SOCKET); } catch (InterruptedException e) { ! log.error(e); throw new BEEPException(ERR_TLS_HANDSHAKE_WAIT); } |
From: Huston F. <hu...@us...> - 2002-10-05 15:45:59
|
Update of /cvsroot/beepcore-java/beepcore-java/tls/org/beepcore/beep/profile/tls/ptls In directory usw-pr-cvs1:/tmp/cvs-serv15890/tls/org/beepcore/beep/profile/tls/ptls Modified Files: TLSProfilePureTLS.java Log Message: changed to use commons-logging Index: TLSProfilePureTLS.java =================================================================== RCS file: /cvsroot/beepcore-java/beepcore-java/tls/org/beepcore/beep/profile/tls/ptls/TLSProfilePureTLS.java,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -r1.5 -r1.6 *** TLSProfilePureTLS.java 9 Nov 2001 18:41:23 -0000 1.5 --- TLSProfilePureTLS.java 5 Oct 2002 15:45:56 -0000 1.6 *************** *** 25,33 **** import java.security.PrivateKey; import org.beepcore.beep.core.*; import org.beepcore.beep.profile.*; import org.beepcore.beep.profile.tls.TLSProfile; import org.beepcore.beep.transport.tcp.*; - import org.beepcore.beep.util.*; import COM.claymoresystems.ptls.*; --- 25,35 ---- import java.security.PrivateKey; + import org.apache.commons.logging.Log; + import org.apache.commons.logging.LogFactory; + import org.beepcore.beep.core.*; import org.beepcore.beep.profile.*; import org.beepcore.beep.profile.tls.TLSProfile; import org.beepcore.beep.transport.tcp.*; import COM.claymoresystems.ptls.*; *************** *** 110,113 **** --- 112,117 ---- "Private Key Type"; + private Log log = LogFactory.getLog(this.getClass()); + // properties set from the configuration boolean needPeerAuth = true; *************** *** 403,415 **** oldSocket.getPort(), SSLSocket.SERVER); } catch (BEEPException e) { ! Log.logEntry(Log.SEV_ERROR, e.getMessage()); e.printStackTrace(); oldSession.terminate(e.getMessage()); } catch (SSLThrewAlertException e) { ! Log.logEntry(Log.SEV_ERROR, e.getMessage()); e.printStackTrace(); oldSession.terminate(e.getMessage()); } catch (IOException e) { ! Log.logEntry(Log.SEV_ERROR, e.getMessage()); e.printStackTrace(); oldSession.terminate(e.getMessage()); --- 407,419 ---- oldSocket.getPort(), SSLSocket.SERVER); } catch (BEEPException e) { ! log.error(e.getMessage()); e.printStackTrace(); oldSession.terminate(e.getMessage()); } catch (SSLThrewAlertException e) { ! log.error(e.getMessage()); e.printStackTrace(); oldSession.terminate(e.getMessage()); } catch (IOException e) { ! log.error(e.getMessage()); e.printStackTrace(); oldSession.terminate(e.getMessage()); *************** *** 423,429 **** cc = newSocket.getCertificateChain(); if (cc == null) { ! Log.logEntry(Log.SEV_DEBUG_VERBOSE, ! "No certificate chain when there should " + ! "be one. "); throw new StartChannelException(550, "No certificate " + "chain when there " + --- 427,431 ---- cc = newSocket.getCertificateChain(); if (cc == null) { ! log.trace("No certificate chain when there should be one."); throw new StartChannelException(550, "No certificate " + "chain when there " + *************** *** 435,444 **** String subject = cert.getSubjectName().getNameString(); String issuer = cert.getIssuerName().getNameString(); ! Log.logEntry(Log.SEV_DEBUG_VERBOSE, ! "Name = " + subject + " issued by " + issuer); } } else { ! Log.logEntry(Log.SEV_DEBUG_VERBOSE, ! "No peer authentication needed"); } --- 437,446 ---- String subject = cert.getSubjectName().getNameString(); String issuer = cert.getIssuerName().getNameString(); ! if (log.isTraceEnabled()) { ! log.trace("Name = " + subject + " issued by " + issuer); ! } } } else { ! log.trace("No peer authentication needed"); } *************** *** 490,494 **** // @todo should be more detailed ! Log.logEntry(Log.SEV_ERROR, x.getMessage()); x.printStackTrace(); --- 492,496 ---- // @todo should be more detailed ! log.error(x.getMessage()); x.printStackTrace(); *************** *** 517,521 **** public void closeChannel(Channel channel) throws CloseChannelException { ! Log.logEntry(Log.SEV_DEBUG, "Closing TLS channel."); } --- 519,523 ---- public void closeChannel(Channel channel) throws CloseChannelException { ! log.debug("Closing TLS channel."); } *************** *** 563,567 **** } ! Log.logEntry(Log.SEV_DEBUG, "Staring TLS channel."); // Freeze IO and get the socket and reset it to TLS --- 565,569 ---- } ! log.debug("Staring TLS channel."); // Freeze IO and get the socket and reset it to TLS *************** *** 598,603 **** cc = newSocket.getCertificateChain(); if (cc == null) { ! Log.logEntry(Log.SEV_DEBUG_VERBOSE, "No certificate " + ! "chain when there should be one. "); throw new BEEPException("No certificate chain when " + "there should be one. "); --- 600,604 ---- cc = newSocket.getCertificateChain(); if (cc == null) { ! log.trace("No certificate chain when there should be one."); throw new BEEPException("No certificate chain when " + "there should be one. "); *************** *** 608,617 **** String subject = cert.getSubjectName().getNameString(); String issuer = cert.getIssuerName().getNameString(); ! Log.logEntry(Log.SEV_DEBUG_VERBOSE, ! "Name = " + subject + " issued by " + issuer); } } else { ! Log.logEntry(Log.SEV_DEBUG_VERBOSE, ! "No peer authentication needed"); } --- 609,618 ---- String subject = cert.getSubjectName().getNameString(); String issuer = cert.getIssuerName().getNameString(); ! if (log.isTraceEnabled()) { ! log.trace("Name = " + subject + " issued by " + issuer); ! } } } else { ! log.trace("No peer authentication needed"); } |
From: Huston F. <hu...@us...> - 2002-10-05 15:33:51
|
Update of /cvsroot/beepcore-java/beepcore-java/example/org/beepcore/beep/util In directory usw-pr-cvs1:/tmp/cvs-serv8567/example/org/beepcore/beep/util Removed Files: Log4JLog.java BeepLogger.java Log Message: changed to use commons-logging --- Log4JLog.java DELETED --- --- BeepLogger.java DELETED --- |
From: Huston F. <hu...@us...> - 2002-10-05 15:33:25
|
Update of /cvsroot/beepcore-java/beepcore-java/example/org/beepcore/beep/example In directory usw-pr-cvs1:/tmp/cvs-serv8393/example/org/beepcore/beep/example Modified Files: Beepd.java Bing.java Log Message: changed to use commons-logging Index: Beepd.java =================================================================== RCS file: /cvsroot/beepcore-java/beepcore-java/example/org/beepcore/beep/example/Beepd.java,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -r1.7 -r1.8 *** Beepd.java 8 Nov 2001 05:51:33 -0000 1.7 --- Beepd.java 5 Oct 2002 15:33:22 -0000 1.8 *************** *** 34,37 **** --- 34,40 ---- import org.xml.sax.SAXException; + import org.apache.commons.logging.Log; + import org.apache.commons.logging.LogFactory; + import org.beepcore.beep.core.ProfileRegistry; import org.beepcore.beep.core.SessionTuningProperties; *************** *** 39,44 **** import org.beepcore.beep.profile.ProfileConfiguration; import org.beepcore.beep.transport.tcp.TCPSessionCreator; - import org.beepcore.beep.util.ConsoleLog; - import org.beepcore.beep.util.Log; /** --- 42,45 ---- *************** *** 58,61 **** --- 59,65 ---- ProfileRegistry reg; + private Log log = LogFactory.getLog(this.getClass()); + + /** * Parses the beepd element in the configuration file and loads the *************** *** 199,205 **** } - ConsoleLog log = new ConsoleLog(); - Log.setLogService(log); - // Start the servers listening Iterator i = servers.iterator(); --- 203,206 ---- *************** *** 218,223 **** } } catch (Exception e) { ! Log.logEntry(Log.SEV_ERROR, e); ! Log.logEntry(Log.SEV_ERROR, "Listener exiting"); } } --- 219,223 ---- } } catch (Exception e) { ! log.error("Listener exiting", e); } } Index: Bing.java =================================================================== RCS file: /cvsroot/beepcore-java/beepcore-java/example/org/beepcore/beep/example/Bing.java,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -r1.10 -r1.11 *** Bing.java 25 Nov 2001 08:00:28 -0000 1.10 --- Bing.java 5 Oct 2002 15:33:22 -0000 1.11 *************** *** 33,38 **** import org.beepcore.beep.transport.tcp.TCPSessionCreator; import org.beepcore.beep.transport.tcp.TCPSession; - import org.beepcore.beep.util.ConsoleLog; - import org.beepcore.beep.util.Log; /** --- 33,36 ---- |
From: Huston F. <hu...@us...> - 2002-10-05 15:32:48
|
Update of /cvsroot/beepcore-java/beepcore-java/src/org/beepcore/beep/transport/tcp In directory usw-pr-cvs1:/tmp/cvs-serv8130/src/org/beepcore/beep/transport/tcp Modified Files: TCPSession.java Log Message: changed to use commons-logging Index: TCPSession.java =================================================================== RCS file: /cvsroot/beepcore-java/beepcore-java/src/org/beepcore/beep/transport/tcp/TCPSession.java,v retrieving revision 1.25 retrieving revision 1.26 diff -C2 -r1.25 -r1.26 *** TCPSession.java 7 Sep 2002 15:11:22 -0000 1.25 --- TCPSession.java 5 Oct 2002 15:32:45 -0000 1.26 *************** *** 30,33 **** --- 30,36 ---- import java.util.StringTokenizer; + import org.apache.commons.logging.Log; + import org.apache.commons.logging.LogFactory; + import org.beepcore.beep.core.BEEPException; import org.beepcore.beep.core.Channel; *************** *** 40,44 **** import org.beepcore.beep.util.BufferSegment; import org.beepcore.beep.util.HeaderParser; - import org.beepcore.beep.util.Log; import org.beepcore.beep.util.StringUtil; --- 43,46 ---- *************** *** 74,77 **** --- 76,81 ---- // Instance Data + private Log log = LogFactory.getLog(this.getClass()); + private byte headerBuffer[] = new byte[Frame.MAX_HEADER_SIZE]; private byte[] outputBuf = new byte[0]; *************** *** 128,133 **** socket.setReceiveBufferSize(MAX_RECEIVE_BUFFER_SIZE); } catch (Exception x) { ! Log.logEntry(Log.SEV_DEBUG, ! "Socket doesn't support setting receive buffer size"); } } --- 132,136 ---- socket.setReceiveBufferSize(MAX_RECEIVE_BUFFER_SIZE); } catch (Exception x) { ! log.debug("Socket doesn't support setting receive buffer size"); } } *************** *** 292,299 **** os.flush(); ! if (Log.isLogged(Log.SEV_DEBUG_VERBOSE)) { ! Log.logEntry(Log.SEV_DEBUG_VERBOSE, TCP_MAPPING, ! "Wrote the following\n" + ! new String(outputBuf, 0, n)); } } --- 295,301 ---- os.flush(); ! if (log.isTraceEnabled()) { ! log.trace("Wrote the following\n" + ! new String(outputBuf, 0, n)); } } *************** *** 312,318 **** throws BEEPException { ! Log.logEntry(Log.SEV_DEBUG, TCP_MAPPING, ! "Reset as " ! + (isInitiator() ? "INITIATOR" : "LISTENER")); Socket s = null; --- 314,321 ---- throws BEEPException { ! if (log.isTraceEnabled()) { ! log.trace("Reset as " ! + (isInitiator() ? "INITIATOR" : "LISTENER")); ! } Socket s = null; *************** *** 363,373 **** throws BEEPException { ! if (Log.isLogged(Log.SEV_DEBUG)) { ! Log.logEntry(Log.SEV_DEBUG, TCP_MAPPING, ! "update SEQ channel=" + channel.getNumber() ! + " prevSeq=" + previouslySeq + " curSeq=" ! + currentSeq + " prevUsed=" + previouslyUsed ! + " curUsed=" + currentlyUsed + " bufSize=" ! + bufferSize); } --- 366,375 ---- throws BEEPException { ! if (log.isDebugEnabled()) { ! log.debug("update SEQ channel=" + channel.getNumber() ! + " prevSeq=" + previouslySeq + " curSeq=" ! + currentSeq + " prevUsed=" + previouslyUsed ! + " curUsed=" + currentlyUsed + " bufSize=" ! + bufferSize); } *************** *** 397,403 **** try { ! if (Log.isLogged(Log.SEV_DEBUG)) { ! Log.logEntry(Log.SEV_DEBUG, TCP_MAPPING, ! "Wrote: " + sb.toString()); } --- 399,404 ---- try { ! if (log.isDebugEnabled()) { ! log.debug("Wrote: " + sb.toString()); } *************** *** 423,429 **** while (running) { ! if (Log.isLogged(Log.SEV_DEBUG_VERBOSE)) { ! Log.logEntry(Log.SEV_DEBUG_VERBOSE, TCP_MAPPING, ! "Processing next frame"); } --- 424,429 ---- while (running) { ! if (log.isTraceEnabled()) { ! log.trace("Processing next frame"); } *************** *** 458,462 **** } } catch (IOException e) { ! Log.logEntry(Log.SEV_ERROR, TCP_MAPPING, e); socket = null; --- 458,462 ---- } } catch (IOException e) { ! log.error(e); socket = null; *************** *** 466,476 **** terminate("Session aborted by remote peer."); } catch (Throwable e) { ! Log.logEntry(Log.SEV_ERROR, TCP_MAPPING, e); terminate(e.getMessage()); } ! Log.logEntry(Log.SEV_DEBUG, TCP_MAPPING, ! "Session listener thread exiting. State = " ! + TCPSession.this.getState()); } --- 466,477 ---- terminate("Session aborted by remote peer."); } catch (Throwable e) { ! log.error(e); terminate(e.getMessage()); } ! if (log.isDebugEnabled()) { ! log.debug("Session listener thread exiting. State = " ! + TCPSession.this.getState()); ! } } *************** *** 540,546 **** } ! if (Log.isLogged(Log.SEV_DEBUG_VERBOSE)) { ! Log.logEntry(Log.SEV_DEBUG_VERBOSE, TCP_MAPPING, ! new String(headerBuffer, 0, headerLength)); } --- 541,546 ---- } ! if (log.isTraceEnabled()) { ! log.trace(new String(headerBuffer, 0, headerLength)); } *************** *** 584,590 **** } ! if (Log.isLogged(Log.SEV_DEBUG_VERBOSE)) { ! Log.logEntry(Log.SEV_DEBUG_VERBOSE, TCP_MAPPING, ! new String(payload)); } --- 584,589 ---- } ! if (log.isTraceEnabled()) { ! log.trace(new String(payload)); } |
From: Huston F. <hu...@us...> - 2002-10-05 15:32:26
|
Update of /cvsroot/beepcore-java/beepcore-java/src/org/beepcore/beep/profile/sasl In directory usw-pr-cvs1:/tmp/cvs-serv7994/src/org/beepcore/beep/profile/sasl Modified Files: Blob.java SASLSessionTable.java Log Message: changed to use commons-logging Index: Blob.java =================================================================== RCS file: /cvsroot/beepcore-java/beepcore-java/src/org/beepcore/beep/profile/sasl/Blob.java,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -r1.6 -r1.7 *** Blob.java 4 May 2002 22:42:41 -0000 1.6 --- Blob.java 5 Oct 2002 15:32:22 -0000 1.7 *************** *** 19,30 **** import java.io.IOException; import java.util.Hashtable; import javax.xml.parsers.*; import org.w3c.dom.*; import org.xml.sax.SAXException; import sun.misc.BASE64Decoder; import sun.misc.BASE64Encoder; ! import org.beepcore.beep.util.Log; /** --- 19,37 ---- import java.io.IOException; + import java.util.Hashtable; + import javax.xml.parsers.*; + import org.w3c.dom.*; + import org.xml.sax.SAXException; + import sun.misc.BASE64Decoder; import sun.misc.BASE64Encoder; ! import org.apache.commons.logging.Log; ! import org.apache.commons.logging.LogFactory; ! /** *************** *** 75,78 **** --- 82,87 ---- // Data + private Log log = LogFactory.getLog(this.getClass()); + private int status; private String blobData; *************** *** 93,97 **** throws SASLException { ! Log.logEntry(Log.SEV_DEBUG, "Created blob=>"+status); if (!initialized) { init(); --- 102,108 ---- throws SASLException { ! if (log.isDebugEnabled()) { ! log.debug("Created blob=>"+status); ! } if (!initialized) { init(); *************** *** 130,134 **** stringified = buff.toString(); ! Log.logEntry(Log.SEV_DEBUG, "Created blob=>" + stringified); } --- 141,147 ---- stringified = buff.toString(); ! if (log.isDebugEnabled()) { ! log.debug("Created blob=>" + stringified); ! } } *************** *** 145,149 **** throws SASLException { ! Log.logEntry(Log.SEV_DEBUG, "Created blob=>" + status + "," + data); if (!initialized) { init(); --- 158,164 ---- throws SASLException { ! if (log.isDebugEnabled()) { ! log.debug("Created blob=>" + status + "," + data); ! } if (!initialized) { init(); *************** *** 192,196 **** stringified = buff.toString(); ! Log.logEntry(Log.SEV_DEBUG, "Created blob=>" + stringified); } --- 207,213 ---- stringified = buff.toString(); ! if (log.isDebugEnabled()) { ! log.debug("Created blob=>" + stringified); ! } } *************** *** 247,251 **** stringified = buff.toString(); ! Log.logEntry(Log.SEV_DEBUG, "Created blob=>" + stringified); } --- 264,270 ---- stringified = buff.toString(); ! if (log.isDebugEnabled()) { ! log.debug("Created blob=>" + stringified); ! } } *************** *** 260,264 **** public Blob(String blob) throws SASLException { ! Log.logEntry(Log.SEV_DEBUG, "Receiving blob of=>"+blob); if (!initialized) { init(); --- 279,285 ---- public Blob(String blob) throws SASLException { ! if (log.isDebugEnabled()) { ! log.debug("Receiving blob of=>"+blob); ! } if (!initialized) { init(); *************** *** 301,306 **** throw new SASLException("No valid data in blob"); } ! ! Log.logEntry(Log.SEV_DEBUG, "Received Blob of =>" + stringified); } --- 322,329 ---- throw new SASLException("No valid data in blob"); } ! ! if (log.isDebugEnabled()) { ! log.debug("Received Blob of =>" + stringified); ! } } *************** *** 392,402 **** try { ! Log.logEntry(Log.SEV_DEBUG, "Tuning Profile Parse Routine"); doc = builder.parse(new java.io.ByteArrayInputStream(blob.getBytes())); ! Log.logEntry(Log.SEV_DEBUG, "parsed message"); } catch (Exception e) { ! Log.logEntry(Log.SEV_DEBUG, e); throw new SASLException(ERR_XML_PARSE_FAILURE); } --- 415,425 ---- try { ! log.debug("Tuning Profile Parse Routine"); doc = builder.parse(new java.io.ByteArrayInputStream(blob.getBytes())); ! log.debug("parsed message"); } catch (Exception e) { ! log.debug("Error parsing", e); throw new SASLException(ERR_XML_PARSE_FAILURE); } Index: SASLSessionTable.java =================================================================== RCS file: /cvsroot/beepcore-java/beepcore-java/src/org/beepcore/beep/profile/sasl/SASLSessionTable.java,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -r1.5 -r1.6 *** SASLSessionTable.java 22 Nov 2001 15:25:29 -0000 1.5 --- SASLSessionTable.java 5 Oct 2002 15:32:22 -0000 1.6 *************** *** 20,23 **** --- 20,26 ---- import java.util.Hashtable; + import org.apache.commons.logging.Log; + import org.apache.commons.logging.LogFactory; + import org.beepcore.beep.core.Session; import org.beepcore.beep.core.SessionCredential; *************** *** 25,29 **** import org.beepcore.beep.core.event.SessionListener; import org.beepcore.beep.profile.sasl.anonymous.SASLAnonymousProfile; - import org.beepcore.beep.util.Log; /** --- 28,31 ---- *************** *** 41,45 **** public class SASLSessionTable implements SessionListener { - private Hashtable nameToSession, sessionToName; private final static int DEFAULT_SIZE = 4; --- 43,46 ---- *************** *** 51,54 **** --- 52,58 ---- private static final String MSG_SESSIONS_TABLE_TRAILER="===] End of Table"; + private Log log = LogFactory.getLog(this.getClass()); + private Hashtable nameToSession, sessionToName; + SASLSessionTable() { *************** *** 175,179 **** catch(SASLException x) { ! Log.logEntry(Log.SEV_ERROR, x); } } --- 179,183 ---- catch(SASLException x) { ! log.error("Error removing entry", x); } } *************** *** 185,192 **** void printContents() { ! Log.logEntry(Log.SEV_DEBUG, MSG_SESSIONS_TABLE_HEADER); if(sessionToName.size()==0) { ! Log.logEntry(Log.SEV_DEBUG, MSG_EMPTY); } else --- 189,196 ---- void printContents() { ! log.debug(MSG_SESSIONS_TABLE_HEADER); if(sessionToName.size()==0) { ! log.debug(MSG_EMPTY); } else *************** *** 202,210 **** else mech = "UNKNOWN"; ! Log.logEntry(Log.SEV_DEBUG, MSG_USER_PREFIX + user + ! MSG_MECHANISM_PREFIX + mech ); } } ! Log.logEntry(Log.SEV_DEBUG,MSG_SESSIONS_TABLE_TRAILER); } } --- 206,217 ---- else mech = "UNKNOWN"; ! ! if (log.isDebugEnabled()) { ! log.debug(MSG_USER_PREFIX + user + ! MSG_MECHANISM_PREFIX + mech ); ! } } } ! log.debug(MSG_SESSIONS_TABLE_TRAILER); } } |
From: Huston F. <hu...@us...> - 2002-10-05 15:32:09
|
Update of /cvsroot/beepcore-java/beepcore-java/src/org/beepcore/beep/profile/sasl/otp In directory usw-pr-cvs1:/tmp/cvs-serv7819/src/org/beepcore/beep/profile/sasl/otp Modified Files: SASLOTPProfile.java OTPDictionary.java OTPGenerator.java OTPAuthenticator.java Log Message: changed to use commons-logging Index: SASLOTPProfile.java =================================================================== RCS file: /cvsroot/beepcore-java/beepcore-java/src/org/beepcore/beep/profile/sasl/otp/SASLOTPProfile.java,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -r1.8 -r1.9 *** SASLOTPProfile.java 22 Aug 2002 17:51:31 -0000 1.8 --- SASLOTPProfile.java 5 Oct 2002 15:32:06 -0000 1.9 *************** *** 25,28 **** --- 25,31 ---- import sun.misc.BASE64Encoder; + import org.apache.commons.logging.Log; + import org.apache.commons.logging.LogFactory; + import org.beepcore.beep.core.*; import org.beepcore.beep.profile.*; *************** *** 33,37 **** import org.beepcore.beep.profile.sasl.otp.database.*; import org.beepcore.beep.transport.tcp.*; - import org.beepcore.beep.util.*; --- 36,39 ---- *************** *** 73,76 **** --- 75,80 ---- // Instance Data + private Log log = LogFactory.getLog(this.getClass()); + private Hashtable authenticators; private MD5 md5; *************** *** 138,142 **** String authorize, authenticate, challenge = null; ! Log.logEntry(Log.SEV_DEBUG, SASL_OTP, "SASL-OTP Start Channel CCL"); OTPAuthenticator temp = new OTPAuthenticator(this); --- 142,146 ---- String authorize, authenticate, challenge = null; ! log.debug("SASL-OTP Start Channel CCL"); OTPAuthenticator temp = new OTPAuthenticator(this); *************** *** 154,159 **** try { blob = temp.receiveIDs(data); ! Log.logEntry(Log.SEV_DEBUG, SASL_OTP, ! "Challenge is=>" + challenge); } catch (SASLException szf) { temp.abortNoThrow(szf.getMessage()); --- 158,164 ---- try { blob = temp.receiveIDs(data); ! if (log.isDebugEnabled()) { ! log.debug("Challenge is=>" + challenge); ! } } catch (SASLException szf) { temp.abortNoThrow(szf.getMessage()); *************** *** 163,168 **** return; } ! Log.logEntry(Log.SEV_DEBUG, SASL_OTP, ! "Blobbed64 Challenge is=>" + data); } channel.setMessageListener(temp); --- 168,174 ---- return; } ! if (log.isDebugEnabled()) { ! log.debug("Blobbed64 Challenge is=>" + data); ! } } channel.setMessageListener(temp); *************** *** 180,184 **** } ! Log.logEntry(Log.SEV_DEBUG, "Started an SASL-OTP Channel"); } catch (Exception x) { channel.getSession().terminate(x.getMessage()); --- 186,190 ---- } ! log.debug("Started an SASL-OTP Channel"); } catch (Exception x) { channel.getSession().terminate(x.getMessage()); *************** *** 306,314 **** boolean success = false; ! if (authenticateId == null || ! session == null || ! pwd == null ) { ! Log.logEntry(Log.SEV_ERROR, SASL_OTP, ! ERR_INVALID_ID + authenticateId); throw new InvalidParameterException(ERR_INVALID_ID --- 312,316 ---- boolean success = false; ! if (authenticateId == null || session == null || pwd == null ) { throw new InvalidParameterException(ERR_INVALID_ID *************** *** 370,376 **** } else { success = true; - Log.logEntry(Log.SEV_DEBUG, SASL_OTP, - "Wow, cool!!! " + session - + " is valid for\n" + cred.toString()); } } --- 372,375 ---- *************** *** 408,414 **** if (authenticateId == null) { - Log.logEntry(Log.SEV_ERROR, SASL_OTP, - ERR_INVALID_ID + authenticateId); - throw new InvalidParameterException(ERR_INVALID_ID + authenticateId); --- 407,410 ---- *************** *** 469,475 **** } else { success = true; - Log.logEntry(Log.SEV_DEBUG, SASL_OTP, - "Wow, cool!!! " + session - + " is valid for\n" + cred.toString()); } } --- 465,468 ---- *************** *** 584,590 **** } else { success = true; - Log.logEntry(Log.SEV_DEBUG, SASL_OTP, - "Wow, cool!!! " + session - + " is valid for\n" + cred.toString()); } } --- 577,580 ---- *************** *** 594,602 **** return session; - } - - static void printHex(byte buff[]) - { - Log.logEntry(Log.SEV_DEBUG, SASL_OTP, convertBytesToHex(buff)); } --- 584,587 ---- Index: OTPDictionary.java =================================================================== RCS file: /cvsroot/beepcore-java/beepcore-java/src/org/beepcore/beep/profile/sasl/otp/OTPDictionary.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -r1.2 -r1.3 *** OTPDictionary.java 8 Nov 2001 05:51:34 -0000 1.2 --- OTPDictionary.java 5 Oct 2002 15:32:06 -0000 1.3 *************** *** 22,29 **** import java.util.StringTokenizer; import org.beepcore.beep.profile.sasl.SASLException; import org.beepcore.beep.profile.sasl.InvalidParameterException; - import org.beepcore.beep.util.ConsoleLog; - import org.beepcore.beep.util.Log; --- 22,30 ---- import java.util.StringTokenizer; + import org.apache.commons.logging.Log; + import org.apache.commons.logging.LogFactory; + import org.beepcore.beep.profile.sasl.SASLException; import org.beepcore.beep.profile.sasl.InvalidParameterException; *************** *** 449,452 **** --- 450,455 ---- "YELL", "YOGA", "YOKE" }; + private static Log slog = LogFactory.getLog(OTPDictionary.class); + static public String find(int index) throws InvalidParameterException { *************** *** 491,495 **** if (i == null) { ! Log.logEntry(Log.SEV_ERROR, "OTPDictionary", ERR_INVALID_HASH); throw new InvalidParameterException("Invalid OTP word=>" + s); --- 494,498 ---- if (i == null) { ! slog.error(ERR_INVALID_HASH); throw new InvalidParameterException("Invalid OTP word=>" + s); *************** *** 521,526 **** if (st.countTokens() != 6) { ! Log.logEntry(Log.SEV_ERROR, "OTPDictionary", ! "Failed to hash=>" + words); throw new InvalidParameterException(ERR_INVALID_HASH); --- 524,528 ---- if (st.countTokens() != 6) { ! slog.error("Failed to hash=>" + words); throw new InvalidParameterException(ERR_INVALID_HASH); *************** *** 587,591 **** } ! Log.logEntry(Log.SEV_CRITICAL, "OTPDictionary", ERR_INVALID_HASH); throw new RuntimeException(ERR_INVALID_HASH); --- 589,593 ---- } ! slog.error(ERR_INVALID_HASH); throw new RuntimeException(ERR_INVALID_HASH); Index: OTPGenerator.java =================================================================== RCS file: /cvsroot/beepcore-java/beepcore-java/src/org/beepcore/beep/profile/sasl/otp/OTPGenerator.java,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -r1.4 -r1.5 *** OTPGenerator.java 8 Nov 2001 05:51:34 -0000 1.4 --- OTPGenerator.java 5 Oct 2002 15:32:06 -0000 1.5 *************** *** 254,257 **** --- 254,262 ---- } + static void printHex(byte buff[]) + { + System.out.println(SASLOTPProfile.convertBytesToHex(buff)); + } + /** * Method main is the method used to run the OTP generator. *************** *** 296,300 **** } ! SASLOTPProfile.printHex(hash); passphrase = SASLOTPProfile.convertBytesToHex(hash); --- 301,305 ---- } ! printHex(hash); passphrase = SASLOTPProfile.convertBytesToHex(hash); Index: OTPAuthenticator.java =================================================================== RCS file: /cvsroot/beepcore-java/beepcore-java/src/org/beepcore/beep/profile/sasl/otp/OTPAuthenticator.java,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -r1.11 -r1.12 *** OTPAuthenticator.java 10 Nov 2001 21:33:29 -0000 1.11 --- OTPAuthenticator.java 5 Oct 2002 15:32:06 -0000 1.12 *************** *** 25,30 **** import java.util.StringTokenizer; import org.beepcore.beep.core.*; - import org.beepcore.beep.util.*; import org.beepcore.beep.profile.sasl.*; import org.beepcore.beep.profile.sasl.otp.algorithm.*; --- 25,32 ---- import java.util.StringTokenizer; + import org.apache.commons.logging.Log; + import org.apache.commons.logging.LogFactory; + import org.beepcore.beep.core.*; import org.beepcore.beep.profile.sasl.*; import org.beepcore.beep.profile.sasl.otp.algorithm.*; *************** *** 97,100 **** --- 99,104 ---- // Data + private Log log = LogFactory.getLog(this.getClass()); + private int state; private Algorithm algorithm; *************** *** 113,118 **** OTPAuthenticator(SASLOTPProfile otpProfile) { ! Log.logEntry(Log.SEV_DEBUG, OTP_AUTH, ! "Creating Listener OTP Authenticator"); authenticated = null; --- 117,121 ---- OTPAuthenticator(SASLOTPProfile otpProfile) { ! log.debug("Creating Listener OTP Authenticator"); authenticated = null; *************** *** 134,139 **** throws SASLException { ! Log.logEntry(Log.SEV_DEBUG, OTP_AUTH, ! "Starting OTP Authenticator"); if (state != STATE_UNKNOWN) { --- 137,141 ---- throws SASLException { ! log.debug("Starting OTP Authenticator"); if (state != STATE_UNKNOWN) { *************** *** 153,158 **** throws SASLException { ! Log.logEntry(Log.SEV_DEBUG, OTP_AUTH, ! "OTP Authenticator Receiving IDs"); // If we're listening, the last state we should --- 155,159 ---- throws SASLException { ! log.debug("OTP Authenticator Receiving IDs"); // If we're listening, the last state we should *************** *** 162,166 **** } ! Log.logEntry(Log.SEV_DEBUG, OTP_AUTH, "Data is" + data); int i = data.charAt(0); // data.indexOf(SPACE_CHAR); --- 163,169 ---- } ! if (log.isDebugEnabled()) { ! log.debug("Data is" + data); ! } int i = data.charAt(0); // data.indexOf(SPACE_CHAR); *************** *** 194,199 **** } ! Log.logEntry(Log.SEV_DEBUG, ! "Fetching DB for " + authenticated); try --- 197,203 ---- } ! if (log.isDebugEnabled()) { ! log.debug("Fetching DB for " + authenticated); ! } try *************** *** 243,248 **** challenge.append(SPACE); challenge.append(EXT); ! Log.logEntry(Log.SEV_DEBUG, OTP_AUTH, ! "Generated Challenge=>" + challenge.toString()); try --- 247,253 ---- challenge.append(SPACE); challenge.append(EXT); ! if (log.isDebugEnabled()) { ! log.debug("Generated Challenge=>" + challenge.toString()); ! } try *************** *** 271,277 **** boolean doInit = false; byte responseHash[] = null; ! ! Log.logEntry(Log.SEV_DEBUG, OTP_AUTH, ! "OTP Authenticator validating response"); // If we're listening, the last state we should --- 276,281 ---- boolean doInit = false; byte responseHash[] = null; ! ! log.debug("OTP Authenticator validating response"); // If we're listening, the last state we should *************** *** 298,309 **** response = response.substring(WORD.length()); long l = OTPDictionary.convertWordsToHash(response); ! responseHash = profile.convertLongToBytes(l); ! Log.logEntry(Log.SEV_DEBUG, OTP_AUTH, ! "Hacked response=>" + response); } else if (response.indexOf(HEX) != -1) { response = response.substring(HEX.length()); responseHash = profile.convertHexToBytes(response); ! Log.logEntry(Log.SEV_DEBUG, OTP_AUTH, ! "Hacked response=>" + response); } else { abort(ERR_UNEXPECTED_MESSAGE); --- 302,315 ---- response = response.substring(WORD.length()); long l = OTPDictionary.convertWordsToHash(response); ! responseHash = profile.convertLongToBytes(l); ! if (log.isDebugEnabled()) { ! log.debug("Hacked response=>" + response); ! } } else if (response.indexOf(HEX) != -1) { response = response.substring(HEX.length()); responseHash = profile.convertHexToBytes(response); ! if (log.isDebugEnabled()) { ! log.debug("Hacked response=>" + response); ! } } else { abort(ERR_UNEXPECTED_MESSAGE); *************** *** 330,335 **** byte nextHash[] = database.getLastHash(); byte responseHash[] = algorithm.generateHash(hash); ! Log.logEntry(Log.SEV_DEBUG_VERBOSE,"Test====>"+profile.convertBytesToHex(responseHash)); ! Log.logEntry(Log.SEV_DEBUG_VERBOSE,"Control=>"+profile.convertBytesToHex(nextHash)); boolean match = true; for(int i = 0; i < 8; i++) --- 336,343 ---- byte nextHash[] = database.getLastHash(); byte responseHash[] = algorithm.generateHash(hash); ! if (log.isTraceEnabled()) { ! log.trace("Test====>"+profile.convertBytesToHex(responseHash)); ! log.trace("Control=>"+profile.convertBytesToHex(nextHash)); ! } boolean match = true; for(int i = 0; i < 8; i++) *************** *** 351,355 **** throws SASLException { ! Log.logEntry(Log.SEV_DEBUG, "Validating init-* response"); // Extract the various elements of the request String oldHashData; --- 359,363 ---- throws SASLException { ! log.debug("Validating init-* response"); // Extract the various elements of the request String oldHashData; *************** *** 368,395 **** newParms = st.nextToken(); newHashData = st.nextToken(); ! Log.logEntry(Log.SEV_DEBUG,"Command=>"+command); ! Log.logEntry(Log.SEV_DEBUG,"OldHashData=>"+oldHashData); ! Log.logEntry(Log.SEV_DEBUG,"newParms=>"+newParms); ! Log.logEntry(Log.SEV_DEBUG,"newHashData=>"+newHashData); // Validate login Algorithm a = profile.getAlgorithm(database.getAlgorithmName()); ! if(profile.HEX_INIT.startsWith(command))//command.indexOf(profile.HEX_INIT) != -1) ! { ! Log.logEntry(Log.SEV_DEBUG,"CMD is "+profile.HEX_INIT); oldHash = profile.convertHexToBytes(oldHashData); ! } ! else if(profile.WORD_INIT.startsWith(command))//command.indexOf(profile.WORD_INIT) != -1) ! { ! Log.logEntry(Log.SEV_DEBUG,"CMD is "+profile.WORD_INIT); // @todo obviate the 2nd step when you get a chance long l = OTPDictionary.convertWordsToHash(oldHashData); oldHash = profile.convertLongToBytes(l); ! } ! else ! { abort(ERR_UNKNOWN_COMMAND+command); } ! Log.logEntry(Log.SEV_DEBUG,"Retrieved from init-* oldHash=>"+profile.convertBytesToHex(oldHash)); // Compare the hash and fail if it doesn't match --- 376,404 ---- newParms = st.nextToken(); newHashData = st.nextToken(); ! if (log.isDebugEnabled()) { ! log.debug("Command=>"+command); ! log.debug("OldHashData=>"+oldHashData); ! log.debug("newParms=>"+newParms); ! log.debug("newHashData=>"+newHashData); ! } // Validate login Algorithm a = profile.getAlgorithm(database.getAlgorithmName()); ! if(profile.HEX_INIT.startsWith(command)) { ! log.debug("CMD is "+profile.HEX_INIT); oldHash = profile.convertHexToBytes(oldHashData); ! } else if(profile.WORD_INIT.startsWith(command)) { ! log.debug("CMD is "+profile.WORD_INIT); // @todo obviate the 2nd step when you get a chance long l = OTPDictionary.convertWordsToHash(oldHashData); oldHash = profile.convertLongToBytes(l); ! } else { abort(ERR_UNKNOWN_COMMAND+command); } ! ! if (log.isDebugEnabled()) { ! log.debug("Retrieved from init-* oldHash=>" + ! profile.convertBytesToHex(oldHash)); ! } // Compare the hash and fail if it doesn't match *************** *** 405,413 **** st = new StringTokenizer(newParms); // Now do even weirder update of the db. ! Log.logEntry(Log.SEV_DEBUG,"Auth=>"+authenticated); ! Log.logEntry(Log.SEV_DEBUG,"Hash=>"+newHashData); profile.getUserDatabase().addUser(authenticated, algorithm, newHashData, seed, sequence); ! Log.logEntry(Log.SEV_DEBUG, "Successful Authentication!"); return cred; } --- 414,424 ---- st = new StringTokenizer(newParms); // Now do even weirder update of the db. ! if (log.isDebugEnabled()) { ! log.debug("Auth=>"+authenticated); ! log.debug("Hash=>"+newHashData); ! } profile.getUserDatabase().addUser(authenticated, algorithm, newHashData, seed, sequence); ! log.debug("Successful Authentication!"); return cred; } *************** *** 434,439 **** String authorizedId, String authenticateId) { ! Log.logEntry(Log.SEV_DEBUG, OTP_AUTH, ! "OTP Authenticator Initiator Construtor"); authenticated = authenticateId; --- 445,449 ---- String authorizedId, String authenticateId) { ! log.debug("OTP Authenticator Initiator Construtor"); authenticated = authenticateId; *************** *** 442,450 **** database = db; ! Log.logEntry(Log.SEV_DEBUG, OTP_AUTH, ! "Dict.getA()" + database.getAlgorithmName()); ! Log.logEntry(Log.SEV_DEBUG, OTP_AUTH, ! "Dict.getA()" ! + profile.getAlgorithm(database.getAlgorithmName())); algorithm = profile.getAlgorithm(database.getAlgorithmName()); --- 452,460 ---- database = db; ! if (log.isDebugEnabled()) { ! log.debug("Dict.getA()" + database.getAlgorithmName()); ! log.debug("Dict.getA()" ! + profile.getAlgorithm(database.getAlgorithmName())); ! } algorithm = profile.getAlgorithm(database.getAlgorithmName()); *************** *** 493,498 **** throws SASLException { ! Log.logEntry(Log.SEV_DEBUG, OTP_AUTH, ! "OTP Authenticator sending Identities"); // Grok and validate the parameters --- 503,507 ---- throws SASLException { ! log.debug("OTP Authenticator sending Identities"); // Grok and validate the parameters *************** *** 512,520 **** temp.append(authenticateId); ! Log.logEntry(Log.SEV_DEBUG, OTP_AUTH, ! "AuthOTP Using=>" + temp.toString() + "<="); Blob blob = new Blob(Blob.STATUS_NONE, temp.toString()); ! Log.logEntry(Log.SEV_DEBUG, OTP_AUTH, ! "AuthOTP Using=>" + blob.toString() + "<="); try { channel.sendMSG(new StringOutputDataStream(blob.toString()), --- 521,531 ---- temp.append(authenticateId); ! if (log.isDebugEnabled()) { ! log.debug("AuthOTP Using=>" + temp.toString() + "<="); ! } Blob blob = new Blob(Blob.STATUS_NONE, temp.toString()); ! if (log.isDebugEnabled()) { ! log.debug("AuthOTP Using=>" + blob.toString() + "<="); ! } try { channel.sendMSG(new StringOutputDataStream(blob.toString()), *************** *** 532,537 **** throws SASLException { ! Log.logEntry(Log.SEV_DEBUG, OTP_AUTH, ! "OTP Authenticator received Challenge"); // If we're initiating, the last state we should --- 543,547 ---- throws SASLException { ! log.debug("OTP Authenticator received Challenge"); // If we're initiating, the last state we should *************** *** 553,558 **** String seed = null, algo = null; ! Log.logEntry(Log.SEV_DEBUG, OTP_AUTH, ! "Tokenizing=>" + challenge); StringTokenizer st = new StringTokenizer(challenge); --- 563,569 ---- String seed = null, algo = null; ! if (log.isDebugEnabled()) { ! log.debug("Tokenizing=>" + challenge); ! } StringTokenizer st = new StringTokenizer(challenge); *************** *** 575,581 **** abort("Invalid Seed"); ! Log.logEntry(Log.SEV_DEBUG, OTP_AUTH, ! "Algo is=>" + algo + " seed is=>" + seed + " seq=>" ! + sequence); String phrase = new String(seed + password); --- 586,593 ---- abort("Invalid Seed"); ! if (log.isDebugEnabled()) { ! log.debug("Algo is=>" + algo + " seed is=>" + seed + " seq=>" ! + sequence); ! } String phrase = new String(seed + password); *************** *** 590,599 **** } ! profile.printHex(temp); long l = profile.convertBytesToLong(temp); phrase = new String(WORD + OTPDictionary.convertHashToWords(l)); ! ! Log.logEntry(Log.SEV_DEBUG, ! "Prelim response is =>" + phrase + "<="); // IF this is an init request --- 602,614 ---- } ! if (log.isDebugEnabled()) { ! log.debug(SASLOTPProfile.convertBytesToHex(temp)); ! } long l = profile.convertBytesToLong(temp); phrase = new String(WORD + OTPDictionary.convertHashToWords(l)); ! ! if (log.isDebugEnabled()) { ! log.debug("Prelim response is =>" + phrase + "<="); ! } // IF this is an init request *************** *** 605,609 **** sb.append(initData); phrase = sb.toString(); ! Log.logEntry(Log.SEV_DEBUG,"Produced INIT response of "+phrase); } try --- 620,626 ---- sb.append(initData); phrase = sb.toString(); ! if (log.isDebugEnabled()) { ! log.debug("Produced INIT response of "+phrase); ! } } try *************** *** 626,631 **** throws SASLException { ! Log.logEntry(Log.SEV_DEBUG, OTP_AUTH, ! "OTP Authenticator Completing!"); // If we're initiating, the last state we should --- 643,647 ---- throws SASLException { ! log.debug("OTP Authenticator Completing!"); // If we're initiating, the last state we should *************** *** 643,648 **** throws SASLException { ! Log.logEntry(Log.SEV_ERROR, OTP_AUTH, ! "Aborting OTP Authenticator because " + message); state = STATE_ABORT; throw new SASLException(message); --- 659,663 ---- throws SASLException { ! log.error("Aborting OTP Authenticator because " + message); state = STATE_ABORT; throw new SASLException(message); *************** *** 657,662 **** void abortNoThrow(String message) { ! Log.logEntry(Log.SEV_ERROR, OTP_AUTH, ! "Aborting OTP Authenticator because " + message); state = STATE_ABORT; } --- 672,676 ---- void abortNoThrow(String message) { ! log.error("Aborting OTP Authenticator because " + message); state = STATE_ABORT; } *************** *** 680,685 **** try { ! Log.logEntry(Log.SEV_DEBUG, OTP_AUTH, ! "OTP Authenticator.receiveMSG"); String data = null; --- 694,698 ---- try { ! log.debug("OTP Authenticator.receiveMSG"); String data = null; *************** *** 705,710 **** } ! Log.logEntry(Log.SEV_DEBUG, OTP_AUTH, ! "MSG DATA=>" + data); String status = blob.getStatus(); --- 718,724 ---- } ! if (log.isDebugEnabled()) { ! log.debug("MSG DATA=>" + data); ! } String status = blob.getStatus(); *************** *** 733,739 **** state = STATE_COMPLETE; ! Log.logEntry(Log.SEV_DEBUG, OTP_AUTH, ! "Wow, cool!!! " + channel.getSession() ! + " is valid for\n" + cred.toString()); try { --- 747,754 ---- state = STATE_COMPLETE; ! if (log.isDebugEnabled()) { ! log.debug("" + channel.getSession() ! + " is valid for\n" + cred.toString()); ! } try { *************** *** 784,789 **** public void receiveRPY(Message message) { ! Log.logEntry(Log.SEV_DEBUG, OTP_AUTH, ! "OTP Authenticator.receiveRPY"); Blob blob = null; --- 799,803 ---- public void receiveRPY(Message message) { ! log.debug("OTP Authenticator.receiveRPY"); Blob blob = null; *************** *** 814,821 **** if ((status != null) ! && status.equals(SASLProfile.SASL_STATUS_ABORT)) { ! Log.logEntry(Log.SEV_DEBUG, OTP_AUTH, ! "OTPAuthenticator receiveRPY got an RPY=>" ! + blob.getData()); sendAbort = false; abort(ERR_PEER_ABORTED + blob.getData()); --- 828,835 ---- if ((status != null) ! && status.equals(SASLProfile.SASL_STATUS_ABORT)) ! { ! log.debug("OTPAuthenticator receiveRPY got an RPY=>" ! + blob.getData()); sendAbort = false; abort(ERR_PEER_ABORTED + blob.getData()); *************** *** 850,854 **** catch(Exception x) { ! Log.logEntry(Log.SEV_ERROR, x); synchronized (this) { this.notify(); --- 864,868 ---- catch(Exception x) { ! log.error(x); synchronized (this) { this.notify(); *************** *** 888,893 **** public void receiveERR(Message message) { ! Log.logEntry(Log.SEV_DEBUG, OTP_AUTH, ! "OTP Authenticator.receiveERR"); try { --- 902,906 ---- public void receiveERR(Message message) { ! log.debug("OTP Authenticator.receiveERR"); try { *************** *** 898,903 **** is.read(buff); Blob b = new Blob(new String(buff)); ! Log.logEntry(Log.SEV_DEBUG, OTP_AUTH, ! "ERR received=>\n" + b.getData()); abort(new String(buff)); --- 911,917 ---- is.read(buff); Blob b = new Blob(new String(buff)); ! if (log.isDebugEnabled()) { ! log.debug("ERR received=>\n" + b.getData()); ! } abort(new String(buff)); |