summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorLauri Aarnio <Lauri.Aarnio@iki.fi>2009-01-29 17:01:40 +0200
committerLauri Leukkunen <lle@rahina.org>2009-02-10 08:38:10 +0200
commit905e4b3d3ad88ef66587707ed975184afaff9dcc (patch)
treecd8fcb3c6b7d90a5c246cf251fff894fc1d4eb07 /include
parent3af026302c6095daf1be51a72372e7b91c6fe789 (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.h3
-rw-r--r--include/sb2.h4
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);