diff options
author | Lauri Aarnio <Lauri.Aarnio@iki.fi> | 2009-01-29 17:01:40 +0200 |
---|---|---|
committer | Lauri Leukkunen <lle@rahina.org> | 2009-02-10 08:38:10 +0200 |
commit | 905e4b3d3ad88ef66587707ed975184afaff9dcc (patch) | |
tree | cd8fcb3c6b7d90a5c246cf251fff894fc1d4eb07 /include | |
parent | 3af026302c6095daf1be51a72372e7b91c6fe789 (diff) |
Exec algorithm improvements: Policy-based mapping of script interpreters
- this commit adds support for exec policy based mapping of script interpreter:
A script interpreter can be selected based on location of the script.
For example, perl scripts from tools_root may map /usr/bin/perl to
tools_root, while perl scripts from the target_root can map /usr/bin/perl
to target_root.
- This commit does not contain changes to the mapping rules => everything
still works just as before (related changes to the "devel" mode will be
added by another commit)
Diffstat (limited to 'include')
-rw-r--r-- | include/mapping.h | 3 | ||||
-rw-r--r-- | include/sb2.h | 4 |
2 files changed, 6 insertions, 1 deletions
diff --git a/include/mapping.h b/include/mapping.h index 89fa113..ee8a883 100644 --- a/include/mapping.h +++ b/include/mapping.h @@ -25,6 +25,9 @@ char *scratchbox_path_for_exec(const char *func_name, const char *path, extern int sb_execve_preprocess(char **file, char ***argv, char ***envp); extern char *emumode_map(const char *path); extern void sb_push_string_to_lua_stack(char *str); +extern char *sb_execve_map_script_interpreter(const char *interpreter, + const char *interp_arg, const char *mapped_script_filename, + const char *orig_script_filename, char ***argv, char ***envp); extern int sb_execve_postprocess(char *exec_type, char **mapped_file, char **filename, const char *binary_name, char ***argv, char ***envp); diff --git a/include/sb2.h b/include/sb2.h index 8ea463d..d9808ac 100644 --- a/include/sb2.h +++ b/include/sb2.h @@ -44,10 +44,12 @@ struct lua_instance { * - Added special handler for /proc => sb.procfs_mapping_request() was * added to luaif.c (and mapping.lua needs it) * - sbox_get_mapping_requirements() now returns four values + * * Differences between "61" and "60,2008-12-07" + * - added execve_map_script_interpreter() * * NOTE: the corresponding identifier for Lua is in lua_scripts/main.lua */ -#define SB2_LUA_C_INTERFACE_VERSION "60,2008-12-07" +#define SB2_LUA_C_INTERFACE_VERSION "61" extern struct lua_instance *get_lua(void); extern void release_lua(struct lua_instance *ptr); |