Skip to content

Commit

Permalink
1.6.4
Browse files Browse the repository at this point in the history
  • Loading branch information
MaxBelkov committed Jan 15, 2016
1 parent 04b3583 commit af09003
Show file tree
Hide file tree
Showing 17 changed files with 74 additions and 121 deletions.
Binary file modified Output/visualsyslog_setup.exe
Binary file not shown.
Binary file modified Output/visualsyslog_setup.zip
Binary file not shown.
4 changes: 2 additions & 2 deletions README.md
Expand Up @@ -41,8 +41,8 @@ Features
Download
===
Visual Syslog Server for Windows download installer:
[Last developper snapshot 1.6.2](https://github.com/MaxBelkov/visualsyslog/blob/master/Output/visualsyslog_setup.exe?raw=true)
[Latest stable release 1.6.2](https://github.com/MaxBelkov/visualsyslog/releases/latest)
[Last developper snapshot 1.6.4](https://github.com/MaxBelkov/visualsyslog/blob/master/Output/visualsyslog_setup.exe?raw=true)
[Latest stable release 1.6.4](https://github.com/MaxBelkov/visualsyslog/releases/latest)

Installation
===
Expand Down
4 changes: 4 additions & 0 deletions changelog.txt
@@ -1,5 +1,9 @@
Visual Syslog Server for Windows Version history

1.6.4 2015-11-23

- Fixed bug with sending e-mail

1.6.3 2015-11-20

- Fixed bug with file rotation by "New name"
Expand Down
18 changes: 9 additions & 9 deletions readme_rus.md
Expand Up @@ -13,37 +13,37 @@ Visual Syslog
* Получение сообщений от различных источников по протоколу UDP или TCP (в соответствии со стандартом RFC 3164)
* Полученные сообщения отображаются немедленно
* Сохранение сообщений в текстовых файлах на диске
* Возможность сохранять разные сообщения в разные файлы
* Разбивка сохраненных файлов на части по достижении указанного размера или по времени накопления
* Фильтрация отображаемых сообщения по коду, приоритету, наименованию узла, адресу источника, тэгу или содержимому сообщения
* Возможность сохранять разные сообщения в разные файлы
* Настраиваемое цветовое выделение сообщений
* Формирование различных извещений в зависимости от содержимого сообщения:
* Настраиваемый формат извещений
* Показ окна с предупреждением
* Проигрывание звукового файла
* Отправка электронной почты на указанный адрес
* Немедленная доставка извещений на мобильные устройства Android / iPhone:
Поддержка отправки электронной почты через SMTP сервера Gmail и iCloud с авторизацией SSL / TLS.
При приходе почтового сообщения в ящик Gmail или iCloud, немедленное извещение поступит на мобильное устройство.
* Настраиваемый формат извещений
* Выполнение действий в зависимости от содержимого сообщения:
* Выполнение выбранной программы с параметрами
* Сохранение сообщения в выбранный файл
* Маленький и очень быстрый
* Выполняется как обычное приложение
* Высокая скорость работы
* Выполняется как обычное приложение Windows с показом значка в панели задач
* Поддерживает операционные системы Windows XP/Vista/7/8/8.1, Windows Server 2003/2008/2012
* Показ истории сообщений после запуска программы
* Загрузка истории сообщений после запуска программы
* Поддержка кодировки UTF8 в тексте сообщения
* Просмотр сообщений syslog из файла на диске

Получение программы
===
[Последняя версия 1.6.2](https://github.com/MaxBelkov/visualsyslog/blob/master/Output/visualsyslog_setup.exe?raw=true)
[Последняя стабильная версия 1.6.2](https://github.com/MaxBelkov/visualsyslog/releases/latest)
[Последняя версия 1.6.4](https://github.com/MaxBelkov/visualsyslog/blob/master/Output/visualsyslog_setup.exe?raw=true)
[Последняя стабильная версия 1.6.4](https://github.com/MaxBelkov/visualsyslog/releases/latest)

Установка
===
После установки Visual Syslog Сервер для Windows сразу готов к работе: настройка не требуется.
По умолчанию ожидает сообщений на порту 514 UDP и 514 TCP.
По умолчанию ожидает сообщений на портах 514 UDP и 514 TCP.
Программа установки добавляет исключения брандмауэра для Visual Syslog Сервер.

Компиляция из исходного кода
Expand All @@ -61,7 +61,7 @@ Visual Syslog

Планы на будущее
===
* Статистика сообщений
* Статистика полученных сообщений: сколько, с какого адреса и т.д.

Снимки экрана
===
Expand Down
2 changes: 1 addition & 1 deletion source/fileframe.dfm
Expand Up @@ -27,7 +27,7 @@ object FileFr: TFileFr
Top = 39
Width = 25
Height = 25
Hint = 'Select wav file'
Hint = 'Select log file'
Anchors = [akTop, akRight]
Flat = True
Glyph.Data = {
Expand Down
9 changes: 4 additions & 5 deletions source/main.cpp
Expand Up @@ -272,7 +272,7 @@ void __fastcall TMainForm::FormDestroy(TObject *Sender)
delete AppParams;
AppParams = NULL;

TSendmailThread::Exit(SendmailThread);
TSendmailThread::Exit(&SendmailThread);

delete [] FileReadBuffer;
FileReadBuffer = NULL;
Expand Down Expand Up @@ -766,7 +766,6 @@ void __fastcall TMainForm::aSetupExecute(TObject *Sender)
MainCfg.Save(MainCfgFile, fdb);
}
delete SetupForm;
SetupForm = NULL;
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::RedrawProto(void)
Expand Down Expand Up @@ -1171,7 +1170,7 @@ void __fastcall TMainForm::ChangeProfileClick(TObject *Sender)
LogSG->Invalidate();
}
//---------------------------------------------------------------------------
static void OnReceiveMail(TLetter * l)
static void OnSendMail(TLetter * l)
{
if( ! l->result )
WriteToLogError(String("ERROR\tSent e-mail:") + l->error);
Expand Down Expand Up @@ -1210,8 +1209,8 @@ bool ProcessMessageRules(TSyslogMessage * p)
l.recipient = pr->Process.Recipient;
l.subject = p->Format(l.subject);
l.message = p->Format(l.message);
l.callback = OnReceiveMail;
TSendmailThread::Send(SendmailThread, &l);
l.callback = OnSendMail;
TSendmailThread::Send(&SendmailThread, &l);
}
if( pr->Process.bRunProg )
{
Expand Down
8 changes: 4 additions & 4 deletions source/main.dfm
Expand Up @@ -151,7 +151,7 @@ object MainForm: TMainForm
Height = 21
Style = csDropDownList
DropDownCount = 20
ItemHeight = 13
ItemHeight = 0
TabOrder = 0
OnSelect = SelectFileCBSelect
end
Expand Down Expand Up @@ -420,7 +420,7 @@ object MainForm: TMainForm
Left = 152
Top = 192
Bitmap = {
494C010113003C02680210001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
494C010113003C026C0210001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
0000000000003600000028000000400000005000000001002000000000000050
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
Expand Down Expand Up @@ -1098,7 +1098,7 @@ object MainForm: TMainForm
Left = 64
Top = 288
Bitmap = {
494C01010100D801580310001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
494C01010100D8015C0310001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
0000000000003600000028000000400000001000000001002000000000000010
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
Expand Down Expand Up @@ -1272,7 +1272,7 @@ object MainForm: TMainForm
Left = 152
Top = 232
Bitmap = {
494C01010E00F0011C0220002000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
494C01010E00F001200220002000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
0000000000003600000028000000800000008000000001002000000000000000
0100000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
Expand Down
45 changes: 11 additions & 34 deletions source/setup.cpp
Expand Up @@ -79,6 +79,8 @@ __fastcall TSetupForm::TSetupForm(TComponent* Owner)
//---------------------------------------------------------------------------
void __fastcall TSetupForm::FormDestroy(TObject *Sender)
{
SetupForm = NULL;

LastTabIndex = PageControl->TabIndex;
if( DrawGrid->Row > 0 )
LastFileIndex = DrawGrid->Row - 1;
Expand Down Expand Up @@ -190,7 +192,7 @@ bool TSetupForm::FromInterface(TLetter * p)
p->port = port;
p->username = usernameEdit->Text;
p->password = passwordEdit->Text;
p->ssl = sslComboBox->ItemIndex;
p->ssl = (TSmtpSSLType)sslComboBox->ItemIndex;

p->sender = senderEdit->Text;
p->sender_name = sender_nameEdit->Text;
Expand All @@ -217,36 +219,11 @@ void TSetupForm::ToInterface(TLetter * p)
//---------------------------------------------------------------------------
void __fastcall TSetupForm::SmtpSelClick(TObject *Sender)
{
int profile = ((TSpeedButton *)Sender)->Tag;
String server;
int port;
int ssl;
switch( profile )
{
case SMTP_MAIL_RU:
server = "smtp.mail.ru";
port = 465;
ssl = 1;
break;
case SMTP_YANDEX_RU:
server = "smtp.yandex.ru";
port = 465;
ssl = 1;
break;
case SMTP_ICLOUD:
server = "smtp.mail.me.com";
port = 587;
ssl = 2;
break;
case SMTP_GOOGLE:
server = "smtp.gmail.com";
port = 465;
ssl = 1;
break;
}
serverEdit->Text = server;
portEdit->Text = port;
sslComboBox->ItemIndex = ssl;
TLetter l;
l.SetPredefinedServer( (TSmtpServerType)((TSpeedButton *)Sender)->Tag );
serverEdit->Text = l.server;
portEdit->Text = l.port;
sslComboBox->ItemIndex = l.ssl;
}
//---------------------------------------------------------------------------
void __fastcall TSetupForm::pmInsertClick(TObject *Sender)
Expand Down Expand Up @@ -284,7 +261,7 @@ void __fastcall TSetupForm::InsertSubjectButtonClick(TObject *Sender)
ActiveControl = subjectEdit;
}
//---------------------------------------------------------------------------
static void OnTestReceiveMail(TLetter * l)
static void OnTestSendMail(TLetter * l)
{
if( l->result )
ReportMess2("Test message sent successfully");
Expand Down Expand Up @@ -314,8 +291,8 @@ void __fastcall TSetupForm::TestButtonClick(TObject *Sender)
return;
l.subject = m.Format(l.subject);
l.message = m.Format(l.message);
l.callback = OnTestReceiveMail;
TSendmailThread::Send(SendmailThread, &l);
l.callback = OnTestSendMail;
TSendmailThread::Send(&SendmailThread, &l);

SetupForm->TestButton->Enabled = false;
SetupForm->TestButton->Caption = "waiting for smtp server answer...";
Expand Down
12 changes: 2 additions & 10 deletions source/setup.dfm
Expand Up @@ -105,10 +105,6 @@ object SetupForm: TSetupForm
TabOrder = 0
object TabSheet1: TTabSheet
Caption = 'Main'
ExplicitLeft = 0
ExplicitTop = 0
ExplicitWidth = 0
ExplicitHeight = 0
object GroupBox1: TGroupBox
Left = 8
Top = 187
Expand Down Expand Up @@ -152,7 +148,7 @@ object SetupForm: TSetupForm
Top = 51
Width = 170
Height = 21
ItemHeight = 0
ItemHeight = 13
ParentShowHint = False
ShowHint = False
TabOrder = 1
Expand Down Expand Up @@ -195,7 +191,7 @@ object SetupForm: TSetupForm
Top = 43
Width = 170
Height = 21
ItemHeight = 0
ItemHeight = 13
ParentShowHint = False
ShowHint = False
TabOrder = 1
Expand Down Expand Up @@ -432,10 +428,6 @@ object SetupForm: TSetupForm
object TabSheet2: TTabSheet
Caption = 'E-mail'
ImageIndex = 1
ExplicitLeft = 0
ExplicitTop = 0
ExplicitWidth = 0
ExplicitHeight = 0
object GroupBox2: TGroupBox
Left = 8
Top = 3
Expand Down
2 changes: 1 addition & 1 deletion source/setup.h
Expand Up @@ -99,9 +99,9 @@ class TSetupForm : public TForm
static int LastFileIndex;

public:
static int LastTabIndex;
bool bUdpRestart;
bool bTcpRestart;
static int LastTabIndex;

public: // User declarations
__fastcall TSetupForm(TComponent* Owner);
Expand Down
9 changes: 7 additions & 2 deletions sourcecommon/letter.cpp
Expand Up @@ -15,7 +15,12 @@ TLetter::TLetter()
data = NULL;
}
//---------------------------------------------------------------------------
void TLetter::operator = (TLetter & l)
TLetter::TLetter(const TLetter & l)
{
*this = l;
}
//---------------------------------------------------------------------------
void TLetter::operator = (const TLetter & l)
{
server = l.server;
port = l.port;
Expand Down Expand Up @@ -89,7 +94,7 @@ void TLetter::Load(XMLElementEx * p)
port = p->ri("port", 25);
username = p->rs("username");
password = UnsecurePassword(p->rs("password"));
ssl = p->ri("ssl", SMTP_SSL_OFF);
ssl = (TSmtpSSLType)p->ri("ssl", SMTP_SSL_OFF);

// message params
sender = p->rs("sender");
Expand Down
5 changes: 3 additions & 2 deletions sourcecommon/letter.h
Expand Up @@ -22,7 +22,7 @@ class TLetter
int port;
String username;
String password;
int ssl;
TSmtpSSLType ssl;

// message params
String sender;
Expand All @@ -44,7 +44,8 @@ class TLetter

public:
TLetter();
void operator = (TLetter & l);
TLetter(const TLetter & l);
void operator = (const TLetter & l);
void SetPredefinedServer(TSmtpServerType st);
void Save(XMLElementEx * p);
void Load(XMLElementEx * p);
Expand Down
27 changes: 14 additions & 13 deletions sourcecommon/sendmail.cpp
Expand Up @@ -101,30 +101,31 @@ void __fastcall TSendmailThread::Execute()
}
}
//---------------------------------------------------------------------------
void __fastcall TSendmailThread::Exit(TSendmailThread * SendmailThread)
void __fastcall TSendmailThread::Exit(TSendmailThread ** SendmailThread)
{
if( SendmailThread )
if( *SendmailThread )
{
if( SendmailThread->letters.Count > 0 )
if( (*SendmailThread)->letters.Count > 0 )
{
// Åñëè îñòàëèñü íåîòïðàâëåííûå ïèñüìà - îíè óòðà÷èâàþòñÿ
}
SendmailThread->Terminate();
SendmailThread->WaitFor();
delete SendmailThread;
(*SendmailThread)->Terminate();
(*SendmailThread)->WaitFor();
delete *SendmailThread;
*SendmailThread = NULL;
}
}
//---------------------------------------------------------------------------
void __fastcall TSendmailThread::Send(TSendmailThread * SendmailThread, TLetter * p)
void __fastcall TSendmailThread::Send(TSendmailThread ** SendmailThread, TLetter * p)
{
if( ! SendmailThread )
if( ! *SendmailThread )
{
SendmailThread = new TSendmailThread;
SendmailThread->Resume();
*SendmailThread = new TSendmailThread;
(*SendmailThread)->Resume();
}
TLetter * n = new TLetter;
*n = *p;
SendmailThread->letters.Add(n);
// make copy of *p, and add them to queue
TLetter * n = new TLetter(*p);
(*SendmailThread)->letters.Add(n);
}
//---------------------------------------------------------------------------
bool TSendmailThread::SendInternal(TLetter * p)
Expand Down

0 comments on commit af09003

Please sign in to comment.