diff options
author | Hans Nilsson <[email protected]> | 2015-05-12 17:03:28 +0200 |
---|---|---|
committer | Hans Nilsson <[email protected]> | 2015-05-13 13:01:18 +0200 |
commit | 7aef211a66219b6fef9d0bdaf9b09be6c2e0a32f (patch) | |
tree | 11f438cff113ba9b6814711dbab8d7da5efc5564 /lib/ssh/src/ssh_connection_handler.erl | |
parent | efbfe9602983ff451b864e557bdf3733222b78ba (diff) | |
download | otp-7aef211a66219b6fef9d0bdaf9b09be6c2e0a32f.tar.gz otp-7aef211a66219b6fef9d0bdaf9b09be6c2e0a32f.tar.bz2 otp-7aef211a66219b6fef9d0bdaf9b09be6c2e0a32f.zip |
ssh: option for handling the SSH_MSG_DEBUG message's printouts
A fun could be given in the options that will be called whenever
the SSH_MSG_DEBUG message arrives. This enables the user to
format the printout or just discard it.
The default is changed to not print the message. In RFC4253
printing is a SHOULD, but our new default is to protect logs
from dos attacs.
Diffstat (limited to 'lib/ssh/src/ssh_connection_handler.erl')
-rw-r--r-- | lib/ssh/src/ssh_connection_handler.erl | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/lib/ssh/src/ssh_connection_handler.erl b/lib/ssh/src/ssh_connection_handler.erl index e1f2e059e8..0f6162db60 100644 --- a/lib/ssh/src/ssh_connection_handler.erl +++ b/lib/ssh/src/ssh_connection_handler.erl @@ -580,12 +580,12 @@ handle_event(#ssh_msg_disconnect{description = Desc} = DisconnectMsg, _StateName handle_event(#ssh_msg_ignore{}, StateName, State) -> {next_state, StateName, next_packet(State)}; -handle_event(#ssh_msg_debug{always_display = true, message = DbgMsg}, - StateName, State) -> - io:format("DEBUG: ~p\n", [DbgMsg]), - {next_state, StateName, next_packet(State)}; - -handle_event(#ssh_msg_debug{}, StateName, State) -> +handle_event(#ssh_msg_debug{always_display = Display, message = DbgMsg, language=Lang}, + StateName, #state{opts = Opts} = State) -> + F = proplists:get_value(ssh_msg_debug_fun, Opts, + fun(_ConnRef, _AlwaysDisplay, _Msg, _Language) -> ok end + ), + catch F(self(), Display, DbgMsg, Lang), {next_state, StateName, next_packet(State)}; handle_event(#ssh_msg_unimplemented{}, StateName, State) -> |