@@ -38,6 +38,7 @@ void r2mcp_help(void) {
3838 " -d [pdc] select a different decompiler (pdc by default)\n"
3939 " -D [tool] disable the specified tool (repeatable)\n"
4040 " -e [tool] enable only the specified tool (repeatable)\n"
41+ " -g [grain] set cfg.sandbox.grain (default: exec,socket; use all to disable sandbox)\n"
4142 " -h show this help\n"
4243 " -i ignore analysis level specified in analyze calls\n"
4344 " -l [file] append debug logs to this file\n"
@@ -82,6 +83,7 @@ int r2mcp_main(int argc, const char **argv) {
8283 char * baseurl = NULL ;
8384 char * svc_baseurl = NULL ;
8485 char * sandbox = NULL ;
86+ char * sandbox_grain = strdup ("exec,socket" );
8587 char * logfile = NULL ;
8688 char * prompts_dir = NULL ;
8789 bool load_prompts = true;
@@ -90,7 +92,7 @@ int r2mcp_main(int argc, const char **argv) {
9092 const char * dsl_tests = NULL ;
9193 RList * disabled_tools = NULL ;
9294 RGetopt opt ;
93- r_getopt_init (& opt , argc , argv , "hmvpd:nc:u:l:s:rite:D:RT:S:P:NL" );
95+ r_getopt_init (& opt , argc , argv , "hmvpd:nc:u:g: l:s:rite:D:RT:S:P:NL" );
9496 int c ;
9597 while ((c = r_getopt_next (& opt )) != -1 ) {
9698 switch (c ) {
@@ -111,6 +113,10 @@ int r2mcp_main(int argc, const char **argv) {
111113 baseurl = strdup (opt .arg );
112114 R_LOG_INFO ("[R2MCP] HTTP r2pipe client mode enabled, baseurl=%s" , baseurl );
113115 break ;
116+ case 'g' :
117+ free (sandbox_grain );
118+ sandbox_grain = strdup (opt .arg );
119+ break ;
114120 case 'l' :
115121 logfile = strdup (opt .arg );
116122 break ;
@@ -205,6 +211,7 @@ int r2mcp_main(int argc, const char **argv) {
205211 .baseurl = baseurl ,
206212 .svc_baseurl = svc_baseurl ,
207213 .sandbox = sandbox ,
214+ .sandbox_grain = sandbox_grain ,
208215 .logfile = logfile ,
209216 .prompts_dir = prompts_dir ,
210217 .load_prompts = load_prompts ,
@@ -269,6 +276,7 @@ int r2mcp_main(int argc, const char **argv) {
269276 free (ss .baseurl );
270277 free (ss .svc_baseurl );
271278 free (ss .sandbox );
279+ free (ss .sandbox_grain );
272280 free (ss .logfile );
273281 free (ss .prompts_dir );
274282 if (ss .enabled_tools ) {
@@ -294,6 +302,7 @@ int r2mcp_main(int argc, const char **argv) {
294302 /* Cleanup */
295303 free (ss .baseurl );
296304 free (ss .sandbox );
305+ free (ss .sandbox_grain );
297306 free (ss .logfile );
298307 free (ss .prompts_dir );
299308 if (ss .enabled_tools ) {
0 commit comments