資源簡介
linux服務器端文件傳輸軟件,這個版本是最新的版本
代碼片段和文件信息
/*
?*?Part?of?Very?Secure?FTPd
?*?Licence:?GPL?v2
?*?Author:?Chris?Evans
?*?access.c
?*
?*?Routines?to?do?very?very?simple?access?control?based?on?filenames.
?*/
#include?“access.h“
#include?“ls.h“
#include?“tunables.h“
#include?“str.h“
int
vsf_access_check_file(const?struct?mystr*?p_filename_str)
{
??static?struct?mystr?s_access_str;
??unsigned?int?iters?=?0;
??if?(!tunable_deny_file)
??{
????return?1;
??}
??if?(str_isempty(&s_access_str))
??{
????str_alloc_text(&s_access_str?tunable_deny_file);
??}
??if?(vsf_filename_passes_filter(p_filename_str?&s_access_str?&iters))
??{
????return?0;
??}
??else
??{
????struct?str_locate_result?loc_res?=
??????str_locate_str(p_filename_str?&s_access_str);
????if?(loc_res.found)
????{
??????return?0;
????}
??}
??return?1;
}
int
vsf_access_check_file_visible(const?struct?mystr*?p_filename_str)
{
??static?struct?mystr?s_access_str;
??unsigned?int?iters?=?0;
??if?(!tunable_hide_file)
??{
????return?1;
??}
??if?(str_isempty(&s_access_str))
??{
????str_alloc_text(&s_access_str?tunable_hide_file);
??}
??if?(vsf_filename_passes_filter(p_filename_str?&s_access_str?&iters))
??{
????return?0;
??}
??else
??{
????struct?str_locate_result?loc_res?=
??????str_locate_str(p_filename_str?&s_access_str);
????if?(loc_res.found)
????{
??????return?0;
????}
??}
??return?1;
}
評論
共有 條評論