package de.tudarmstadt.informatik.hostage.protocol; import android.content.Context; import android.net.DhcpInfo; import android.net.wifi.WifiManager; import org.alfresco.jlan.app.XMLServerConfiguration; import org.alfresco.jlan.netbios.server.NetBIOSNameServer; import org.alfresco.jlan.server.SessionListener; import org.alfresco.jlan.server.SrvSession; import org.alfresco.jlan.server.config.InvalidConfigurationException; import org.alfresco.jlan.server.filesys.FileListener; import org.alfresco.jlan.server.filesys.NetworkFile; import org.alfresco.jlan.smb.server.CIFSConfigSection; import org.alfresco.jlan.smb.server.SMBServer; import java.io.IOException; import java.io.InputStreamReader; import java.net.InetAddress; import java.util.List; import de.tudarmstadt.informatik.hostage.Handler; import de.tudarmstadt.informatik.hostage.Listener; import de.tudarmstadt.informatik.hostage.R; import de.tudarmstadt.informatik.hostage.logging.MessageRecord; import de.tudarmstadt.informatik.hostage.protocol.cifs.CifsServer; import de.tudarmstadt.informatik.hostage.ui.activity.MainActivity; import de.tudarmstadt.informatik.hostage.wrapper.Packet; public class CIFS implements Protocol, SessionListener, FileListener{ private Listener mListener; private Handler mHandler; private SMBServer mSmbServer; private NetBIOSNameServer mNbNameServer; private CifsServer mCifsServer; public void initialize(Listener mListener) { this.mListener = mListener; this.mHandler = new Handler(mListener.getService(),mListener, mListener.getProtocol()); XMLServerConfiguration smbConfig = new XMLServerConfiguration(); try { smbConfig.loadConfiguration(new InputStreamReader(MainActivity.context.getResources().openRawResource(R.raw.jlan_config))); mCifsServer = new CifsServer(smbConfig); mCifsServer.run(); /*CIFSConfigSection cifsConfig = (CIFSConfigSection) smbConfig.getConfigSection(CIFSConfigSection.SectionName); cifsConfig.setBroadcastMask(getBroadcastAddress()); cifsConfig.setSessionPort(28276); cifsConfig.setTcpipSMBPort(28582); cifsConfig.setDatagramPort(28274); cifsConfig.setHostAnnouncerPort(28275); cifsConfig.setNetBIOSSMB(true); cifsConfig.setDisableNIOCode(true); this.mNbNameServer = new NetBIOSNameServer(smbConfig); this.mSmbServer = new SMBServer(smbConfig); this.mSmbServer.addSessionListener(this); this.mSmbServer.addFileListener(this); this.mNbNameServer.startServer(); this.mSmbServer.startServer();*/ } catch (IOException e) { e.printStackTrace(); } catch (InvalidConfigurationException e) { e.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } } @Override public int getPort() { return 1025; } @Override public boolean isClosed() { return false; } @Override public boolean isSecure() { return false; } @Override public List processMessage(Packet message) { return null; } @Override public TALK_FIRST whoTalksFirst() { return TALK_FIRST.CLIENT; } public String toString(){ return "CIFS"; } @Override public void sessionClosed(SrvSession srvSession) { System.out.println("---------------------- [CIFS] Session closed!"); } @Override public void sessionCreated(SrvSession srvSession) { mHandler.log(MessageRecord.TYPE.RECEIVE,"SESSION CREATED"); System.out.println("---------------------- [CIFS] Session created!"); } @Override public void sessionLoggedOn(SrvSession srvSession) { mHandler.log(MessageRecord.TYPE.RECEIVE,"SESSION LOGGED ON"); System.out.println("---------------------- [CIFS] Session LoggedOn!"); } @Override public void fileClosed(SrvSession srvSession, NetworkFile networkFile) { System.out.println("---------------------- [CIFS] File closed!"); } @Override public void fileOpened(SrvSession srvSession, NetworkFile networkFile) { mHandler.log(MessageRecord.TYPE.RECEIVE,"FILE OPENED"); System.out.println("---------------------- [CIFS] File closed!"); } }