/** * TLS-Attacker - A Modular Penetration Testing Framework for TLS * * Copyright 2014-2016 Ruhr University Bochum / Hackmanit GmbH * * Licensed under Apache License 2.0 * http://www.apache.org/licenses/LICENSE-2.0 */ package de.rub.nds.tlsattacker.tlsserver; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.net.Socket; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; /** * @author Juraj Somorovsky - juraj.somorovsky@rub.de */ public class ConnectionHandler implements Runnable { private final static Logger LOGGER = LogManager.getLogger(ConnectionHandler.class); private final Socket applicationSocket; /** * ConnectionHandler constructor * * @param socket * - The socket of the connection */ public ConnectionHandler(final Socket socket) { applicationSocket = socket; } @Override public void run() { LOGGER.debug("new Thread started"); try { final BufferedReader br = new BufferedReader(new InputStreamReader(applicationSocket.getInputStream())); final BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(applicationSocket.getOutputStream())); String line = ""; while ((line = br.readLine()) != null) { LOGGER.debug(line); bw.write("ack"); bw.flush(); } } catch (IOException e) { LOGGER.debug(e.getLocalizedMessage(), e); } finally { try { applicationSocket.close(); } catch (final IOException ioe) { LOGGER.debug(ioe.getLocalizedMessage(), ioe); } } } }