aboutsummaryrefslogtreecommitdiff
path: root/submodule.h
diff options
context:
space:
mode:
authorJohannes Schindelin <johannes.schindelin@gmx.de>2024-04-17 11:39:09 +0200
committerJohannes Schindelin <johannes.schindelin@gmx.de>2024-04-19 12:38:46 +0200
commitbe348e9815285636789dccd4aef85b5bab5f8557 (patch)
treebd023d59de3cf65a2ab9d5b075859bcce6557d8e /submodule.h
parent61a22ddaf0626111193a17ac12f366bd6d167dff (diff)
parent0f158320593bd57fe2c3fe55fbce751e9415ffc2 (diff)
downloadgit-be348e9815285636789dccd4aef85b5bab5f8557.tar.xz
Sync with 2.41.1
* maint-2.41: (38 commits) Git 2.41.1 Git 2.40.2 Git 2.39.4 fsck: warn about symlink pointing inside a gitdir core.hooksPath: add some protection while cloning init.templateDir: consider this config setting protected clone: prevent hooks from running during a clone Add a helper function to compare file contents init: refactor the template directory discovery into its own function find_hook(): refactor the `STRIP_EXTENSION` logic clone: when symbolic links collide with directories, keep the latter entry: report more colliding paths t5510: verify that D/F confusion cannot lead to an RCE submodule: require the submodule path to contain directories only clone_submodule: avoid using `access()` on directories submodules: submodule paths must not contain symlinks clone: prevent clashing git dirs when cloning submodule in parallel t7423: add tests for symlinked submodule directories has_dir_name(): do not get confused by characters < '/' docs: document security issues around untrusted .git dirs ...
Diffstat (limited to 'submodule.h')
-rw-r--r--submodule.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/submodule.h b/submodule.h
index c55a25ca37..b50d29eba4 100644
--- a/submodule.h
+++ b/submodule.h
@@ -148,6 +148,11 @@ void submodule_name_to_gitdir(struct strbuf *buf, struct repository *r,
*/
int validate_submodule_git_dir(char *git_dir, const char *submodule_name);
+/*
+ * Make sure that the given submodule path does not follow symlinks.
+ */
+int validate_submodule_path(const char *path);
+
#define SUBMODULE_MOVE_HEAD_DRY_RUN (1<<0)
#define SUBMODULE_MOVE_HEAD_FORCE (1<<1)
int submodule_move_head(const char *path, const char *super_prefix,