Патч для vsftpd (лог удалений и кириллица в логе) (ftp patch log)
Ключевые слова: ftp, patch, log, (найти похожие документы)
From: butcher <bu7cher at land.ru>
Newsgroups: email
Date: Mon, 29 Jun 2004 14:31:37 +0000 (UTC)
Subject: Патч для vsftpd (лог удалений и кириллица в логе)
Целью патча являются две вещи:
1. Возможность записи в лог информации об удалении файлов/каталогов
2. Разрешение "непечатных" символов в логе/proctitle
Под непечатными символами vsftpd понимает все символы, которые не
являются латиницей, цифрами и некоторыми другими. Т.е. кириллица сюда
не попадает и соответсвенно, все символы кириллицы заменяются знаками
вопроса.
PS. См. также патч http://www.opennet.me/base/patch/vsftpd_umask.txt
--- logging.c Tue Nov 11 04:42:12 2003
+++ logging.c Tue Jun 29 09:43:11 2004
@@ -258,6 +258,9 @@
case kVSFLogEntryUpload:
str_append_text(p_str, "UPLOAD");
break;
+ case kVSFLogEntryDelete:
+ str_append_text(p_str, "DELETE");
+ break;
case kVSFLogEntryMkdir:
str_append_text(p_str, "MKDIR");
break;
--- logging.h Tue Oct 15 00:00:29 2002
+++ logging.h Tue Jun 29 09:40:51 2004
@@ -10,6 +10,7 @@
kVSFLogEntryNull = 1,
kVSFLogEntryDownload,
kVSFLogEntryUpload,
+ kVSFLogEntryDelete,
kVSFLogEntryMkdir,
kVSFLogEntryLogin,
kVSFLogEntryFTPInput,
--- postlogin.c Wed Apr 21 03:31:05 2004
+++ postlogin.c Tue Jun 29 10:04:14 2004
@@ -1102,6 +1102,7 @@
{
vsf_cmdio_write(p_sess, FTP_RMDIROK,
"Remove directory operation successful.");
+ vsf_log_line(p_sess, kVSFLogEntryDelete, &p_sess->ftp_arg_str);
}
}
@@ -1122,6 +1123,7 @@
else
{
vsf_cmdio_write(p_sess, FTP_DELEOK, "Delete operation successful.");
+ vsf_log_line(p_sess, kVSFLogEntryDelete, &p_sess->ftp_arg_str);
}
}
--- sysutil.c Sun Apr 18 05:28:39 2004
+++ sysutil.c Tue Jun 29 09:40:51 2004
@@ -874,23 +874,7 @@
int
vsf_sysutil_isprint(int the_char)
{
- /* From Solar - we know better than some libc's! Don't let any potential
- * control chars through
- */
- unsigned char uc = (unsigned char) the_char;
- if (uc <= 31)
- {
- return 0;
- }
- if (uc == 177)
- {
- return 0;
- }
- if (uc >= 128 && uc <= 159)
- {
- return 0;
- }
- return isprint(the_char);
+ return (((unsigned char) the_char) > 31);
}
int
1, sickboy (?), 15:01, 06/01/2006 [ответить]
| +/– |
в версии 2.0.3 второй пункт после применения патча так и не работает. | |
2, littlesavage (?), 08:45, 27/11/2006 [ответить]
| +/– |
В 2.0.5 он уже удаления показывает.
А по непечатным символам у меня примерно такой же патч получился:
--- sysutil.c_orig Wed Nov 22 15:57:13 2006
+++ sysutil.c Wed Nov 22 15:57:08 2006
@@ -899,7 +899,7 @@
{
return 0;
}
- return isprint(the_char);
+ return 1;
}
int
| |
3, sid1333 (?), 20:43, 25/01/2007 [ответить]
| +/– |
всё работает, только пришлось искать и исправлять вручную | |
4, TrEK (ok), 20:45, 29/04/2009 [ответить]
| +/– |
А как мне этот патч пременить и где его взятЬ?
| |
|