ProFTPD1.3.2b NLST patch for FFFTP created by Yuumi http://gochagocha.ribbon.to/ http://blog.gochagocha.org/ this code of reference http://www.hayasoft.com/haya/ --- proftpd-1.3.2b/modules/mod_ls.c 2009-04-29 03:35:03.000000000 +0900 +++ proftpd-1.3.2b/modules/mod_ls_new.c 2009-11-08 01:11:06.000000000 +0900 @@ -1189,10 +1189,8 @@ break; case 'C': - if (strcmp(session.curr_cmd, C_NLST) != 0) { - opt_l = 0; - opt_C = 1; - } + opt_l = 0; + opt_C = 1; break; case 'd': @@ -1200,15 +1198,11 @@ break; case 'F': - if (strcmp(session.curr_cmd, C_NLST) != 0) { - opt_F = 1; - } + opt_F = 1; break; case 'h': - if (strcmp(session.curr_cmd, C_NLST) != 0) { - opt_h = 1; - } + opt_h = 1; break; case 'L': @@ -1216,16 +1210,12 @@ break; case 'l': - if (strcmp(session.curr_cmd, C_NLST) != 0) { - opt_l = 1; - opt_C = 0; - } + opt_l = 1; + opt_C = 0; break; case 'n': - if (strcmp(session.curr_cmd, C_NLST) != 0) { - opt_n = 1; - } + opt_n = 1; break; case 'R': @@ -2060,6 +2050,10 @@ list_nfiles.curr = list_ndirs.curr = list_ndepth.curr = 0; list_nfiles.logged = list_ndirs.logged = list_ndepth.logged = FALSE; + /* In case the client used NLST instead of LIST. */ + if (cmd->argc > 1 && cmd->argv[1][0] == '-') + return genericlist(cmd); + tmp = get_param_ptr(TOPLEVEL_CONF, "ShowSymlinks", FALSE); if (tmp != NULL) list_show_symlinks = *tmp;