diff options
author | Junio C Hamano <gitster@pobox.com> | 2021-03-22 22:00:22 +0100 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2021-03-22 22:00:22 +0100 |
commit | 204333b015a663a339c855c72b86034203b66a6a (patch) | |
tree | 04978dc454e8dbb85ab406e1149934ff9c99e158 /git-compat-util.h | |
parent | The first batch in 2.32 cycle (diff) | |
parent | mailmap: do not respect symlinks for in-tree .mailmap (diff) | |
download | git-204333b015a663a339c855c72b86034203b66a6a.tar.xz git-204333b015a663a339c855c72b86034203b66a6a.zip |
Merge branch 'jk/open-dotgitx-with-nofollow'
It does not make sense to make ".gitattributes", ".gitignore" and
".mailmap" symlinks, as they are supposed to be usable from the
object store (think: bare repositories where HEAD:.mailmap etc. are
used). When these files are symbolic links, we used to read the
contents of the files pointed by them by mistake, which has been
corrected.
* jk/open-dotgitx-with-nofollow:
mailmap: do not respect symlinks for in-tree .mailmap
exclude: do not respect symlinks for in-tree .gitignore
attr: do not respect symlinks for in-tree .gitattributes
exclude: add flags parameter to add_patterns()
attr: convert "macro_ok" into a flags field
add open_nofollow() helper
Diffstat (limited to 'git-compat-util.h')
-rw-r--r-- | git-compat-util.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/git-compat-util.h b/git-compat-util.h index dcc786edaa..9ddf9d7044 100644 --- a/git-compat-util.h +++ b/git-compat-util.h @@ -1242,6 +1242,13 @@ int access_or_die(const char *path, int mode, unsigned flag); /* Warn on an inaccessible file if errno indicates this is an error */ int warn_on_fopen_errors(const char *path); +/* + * Open with O_NOFOLLOW, or equivalent. Note that the fallback equivalent + * may be racy. Do not use this as protection against an attacker who can + * simultaneously create paths. + */ +int open_nofollow(const char *path, int flags); + #if !defined(USE_PARENS_AROUND_GETTEXT_N) && defined(__GNUC__) #define USE_PARENS_AROUND_GETTEXT_N 1 #endif |