modified: MgSMTP.pas
modified: todo.txt
{
MegaBrutal's SMTP Server (MgSMTP)
{
MegaBrutal's SMTP Server (MgSMTP)
- Copyright (C) 2010-2015 MegaBrutal
+ Copyright (C) 2010-2016 MegaBrutal
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
document what bugfix/feature are you testing with the actual build.
This will be logged to help you differentiate outputs of subsequent
builds in your logs. If left empty, it won't be added to the logs. }
document what bugfix/feature are you testing with the actual build.
This will be logged to help you differentiate outputs of subsequent
builds in your logs. If left empty, it won't be added to the logs. }
- DEVCOMMENT = 'Detect unexpected disconnection';
+ DEVCOMMENT = 'Catch CTRL-C in user mode';
+function ConsoleCtrlHandler(Signal: dword): longbool; stdcall;
+{ Handle CTRL-C event in user mode. }
+begin
+ if Signal = CTRL_C_EVENT then begin
+ Out.writeln('Caught CTRL-C signal.');
+ Stopping:= true;
+ end;
+ Result:= true;
+end;
+
procedure Service(Argc: dword; Argv: pointer); stdcall;
var ProposedExitCode: integer;
begin
procedure Service(Argc: dword; Argv: pointer); stdcall;
var ProposedExitCode: integer;
begin
else begin
if Cmdline.IsPresent('USERMODE') then begin
Out.writeln('Starting MgSMTP in user mode...');
else begin
if Cmdline.IsPresent('USERMODE') then begin
Out.writeln('Starting MgSMTP in user mode...');
+ SetConsoleCtrlHandler(ConsoleCtrlHandler, true);
Service(0, nil);
end
else begin
Service(0, nil);
end
else begin
v0.9t:
- Option to disable MX lookups
- Separate config files or work directories supplied in parameters
v0.9t:
- Option to disable MX lookups
- Separate config files or work directories supplied in parameters
-- Process CTRL-C properly to quit from user mode gracefully
++ Process CTRL-C properly to quit from user mode gracefully
- IPv6
- Bind to user-specified IPs
+ Option to add Reply-To header to forwarded e-mails
- IPv6
- Bind to user-specified IPs
+ Option to add Reply-To header to forwarded e-mails