⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 banner.c

📁 文件传输协议linux 下vsftpd2.1.0.tar.gz
💻 C
字号:
/* * Part of Very Secure FTPd * Licence: GPL v2 * Author: Chris Evans * banner.c * * Calls exposed to handle the junk a typical FTP server has to do upon * entering a new directory (messages, etc), as well as general banner * writing support. */#include "banner.h"#include "strlist.h"#include "str.h"#include "sysstr.h"#include "tunables.h"#include "ftpcmdio.h"#include "filestr.h"#include "session.h"#include "sysutil.h"/* Definitions */#define VSFTP_MAX_VISIT_REMEMBER 100#define VSFTP_MAX_MSGFILE_SIZE 4000voidvsf_banner_dir_changed(struct vsf_session* p_sess, int ftpcode){  struct mystr dir_str = INIT_MYSTR;  /* Do nothing if .message support is off */  if (!tunable_dirmessage_enable)  {    return;  }  if (p_sess->p_visited_dir_list == 0)  {    struct mystr_list the_list = INIT_STRLIST;    p_sess->p_visited_dir_list = vsf_sysutil_malloc(sizeof(struct mystr_list));    *p_sess->p_visited_dir_list = the_list;  }  str_getcwd(&dir_str);  /* Do nothing if we already visited this directory */  if (!str_list_contains_str(p_sess->p_visited_dir_list, &dir_str))  {    /* Just in case, cap the max. no of visited directories we'll remember */    if (str_list_get_length(p_sess->p_visited_dir_list) <        VSFTP_MAX_VISIT_REMEMBER)    {      str_list_add(p_sess->p_visited_dir_list, &dir_str, 0);    }    /* If we have a .message file, squirt it out prepended by the ftpcode and     * the continuation mark '-'     */    {      struct mystr msg_file_str = INIT_MYSTR;      (void) str_fileread(&msg_file_str, tunable_message_file,                          VSFTP_MAX_MSGFILE_SIZE);      vsf_banner_write(p_sess, &msg_file_str, ftpcode);      str_free(&msg_file_str);    }  }  str_free(&dir_str);}voidvsf_banner_write(struct vsf_session* p_sess, struct mystr* p_str, int ftpcode){  struct mystr msg_line_str = INIT_MYSTR;  unsigned int str_pos = 0;  while (str_getline(p_str, &msg_line_str, &str_pos))  {    vsf_cmdio_write_str_hyphen(p_sess, ftpcode, &msg_line_str);  }  str_free(&msg_line_str);}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -