forked from pool/vsftpd
Accepting request 297784 from network
- Fix hide_file option wrt bnc#927612: * vsftpd-path-normalize.patch OBS-URL: https://build.opensuse.org/request/show/297784 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/vsftpd?expand=0&rev=50
This commit is contained in:
commit
d1cb551b4c
@ -116,11 +116,48 @@ Index: vsftpd-3.0.2/ls.c
|
|||||||
if (do_stat)
|
if (do_stat)
|
||||||
{
|
{
|
||||||
/* lstat() the file. Of course there's a race condition - the
|
/* lstat() the file. Of course there's a race condition - the
|
||||||
@@ -249,6 +249,7 @@ vsf_filename_passes_filter(const struct
|
@@ -239,6 +239,7 @@ vsf_filename_passes_filter(const struct
|
||||||
|
* for /a/?/c will not.
|
||||||
|
*/
|
||||||
|
struct mystr filter_remain_str = INIT_MYSTR;
|
||||||
|
+ struct mystr basic_name_str = INIT_MYSTR;
|
||||||
|
struct mystr name_remain_str = INIT_MYSTR;
|
||||||
|
struct mystr temp_str = INIT_MYSTR;
|
||||||
|
struct mystr brace_list_str = INIT_MYSTR;
|
||||||
|
@@ -249,27 +250,29 @@ vsf_filename_passes_filter(const struct
|
||||||
int matched = 0;
|
int matched = 0;
|
||||||
|
|
||||||
str_copy(&filter_remain_str, p_filter_str);
|
str_copy(&filter_remain_str, p_filter_str);
|
||||||
+ str_normalize_filepath(p_filename_str);
|
+ str_copy(&basic_name_str, p_filename_str);
|
||||||
|
+ str_normalize_filepath(&basic_name_str);
|
||||||
|
|
||||||
if (!str_isempty (&filter_remain_str) && !str_isempty(p_filename_str)) {
|
- if (!str_isempty (&filter_remain_str) && !str_isempty(p_filename_str)) {
|
||||||
|
+ if (!str_isempty (&filter_remain_str) && !str_isempty(&basic_name_str)) {
|
||||||
if (str_get_char_at(p_filter_str, 0) == '/') {
|
if (str_get_char_at(p_filter_str, 0) == '/') {
|
||||||
|
- if (str_get_char_at(p_filename_str, 0) != '/') {
|
||||||
|
+ if (str_get_char_at(&basic_name_str, 0) != '/') {
|
||||||
|
str_getcwd (&name_remain_str);
|
||||||
|
|
||||||
|
if (str_getlen(&name_remain_str) > 1) /* cwd != root dir */
|
||||||
|
str_append_char (&name_remain_str, '/');
|
||||||
|
|
||||||
|
- str_append_str (&name_remain_str, p_filename_str);
|
||||||
|
+ str_append_str (&name_remain_str, &basic_name_str);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
- str_copy (&name_remain_str, p_filename_str);
|
||||||
|
+ str_copy (&name_remain_str, &basic_name_str);
|
||||||
|
} else {
|
||||||
|
if (str_get_char_at(p_filter_str, 0) != '{')
|
||||||
|
- str_basename (&name_remain_str, p_filename_str);
|
||||||
|
+ str_basename (&name_remain_str, &basic_name_str);
|
||||||
|
else
|
||||||
|
- str_copy (&name_remain_str, p_filename_str);
|
||||||
|
+ str_copy (&name_remain_str, &basic_name_str);
|
||||||
|
}
|
||||||
|
} else
|
||||||
|
- str_copy(&name_remain_str, p_filename_str);
|
||||||
|
+ str_copy(&name_remain_str, &basic_name_str);
|
||||||
|
|
||||||
|
while (!str_isempty(&filter_remain_str) && *iters < VSFTP_MATCHITERS_MAX)
|
||||||
|
{
|
||||||
|
@ -1,3 +1,9 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Apr 17 16:35:14 UTC 2015 - tchvatal@suse.com
|
||||||
|
|
||||||
|
- Fix hide_file option wrt bnc#927612:
|
||||||
|
* vsftpd-path-normalize.patch
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Sun Apr 5 10:25:50 UTC 2015 - tchvatal@suse.com
|
Sun Apr 5 10:25:50 UTC 2015 - tchvatal@suse.com
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user