Account for smtpd wanting message before commit

master
Thor 4 years ago
parent 63508980ab
commit e1e8ad4748
  1. 12
      src/bogofilter-smtpd.cpp

@ -51,6 +51,7 @@ void on_data_line(protocol::protocol_t& protocol, protocol::message_t message) {
}
if(data_line == ".") {
protocol.submit_message(session_key, session_token, session.message.header, session.message.body);
return;
}
@ -70,15 +71,8 @@ void on_commit(protocol::protocol_t& protocol, protocol::message_t message) {
debug && cerr << "Message committed" << endl;
auto session_key = protocol::session_key_from(message);
auto session_token = protocol::session_token_from(message);
try {
auto& session = sessions.at(session_key);
protocol.submit_message(session_key, session_token, session.message.header, session.message.body);
sessions.erase(session_key);
protocol.proceed(session_key, session_token);
} catch(out_of_range& e) {
debug && cerr << "Unknown session key" << endl;
protocol.fail(session_key, session_token);
}
protocol.proceed(session_key, session_token);
sessions.erase(session_key);
}
int main(int argc, char** argv) {

Loading…
Cancel
Save