]>
Commit | Line | Data |
---|---|---|
9d781f9b MM |
1 | --- httpd-2.0.42/server/config.c.wiget Thu Sep 12 22:04:07 2002 |
2 | +++ httpd-2.0.42/server/config.c Wed Sep 25 12:07:10 2002 | |
3 | @@ -1458,6 +1458,7 @@ | |
4 | apr_dir_t *dirp; | |
5 | apr_finfo_t dirent; | |
6 | int current; | |
f1800b13 | 7 | + size_t slen; |
9d781f9b MM |
8 | apr_array_header_t *candidates = NULL; |
9 | fnames *fnew; | |
10 | apr_status_t rv; | |
11 | @@ -1505,9 +1506,15 @@ | |
f1800b13 | 12 | |
9d781f9b MM |
13 | candidates = apr_array_make(p, 1, sizeof(fnames)); |
14 | while (apr_dir_read(&dirent, APR_FINFO_DIRENT, dirp) == APR_SUCCESS) { | |
15 | + slen = strlen(dirent.name); | |
16 | /* strip out '.' and '..' */ | |
17 | if (strcmp(dirent.name, ".") | |
18 | && strcmp(dirent.name, "..") | |
19 | + && (dirent.name)[slen-1] != '~' | |
20 | + && (dirent.name)[0] != '.' | |
21 | + && (slen < 8 || strcmp((dirent.name + slen - 7), ".rpmnew")) | |
22 | + && (slen < 9 || ( strcmp((dirent.name + slen - 8), ".rpmorig") | |
23 | + && strcmp((dirent.name + slen - 8), ".rpmsave"))) | |
24 | && (!ispatt || | |
25 | apr_fnmatch(pattern, dirent.name, | |
26 | FNM_PERIOD) == APR_SUCCESS)) { |