#define MINIMIZE_THREADS_LONGTEXT N_( \
"This option minimizes the number of threads needed to run VLC.")
-#define SECURITY_POLICY_TEXT N_("Policy for handling unsafe options.")
-#define SECURITY_POLICY_LONGTEXT N_( \
- "This option dictates the default policy when processing options " \
- "which may be harmful when used in a malicious way.")
-
-static int pi_secpolicy_values[] = { 0, 1, 2 };
-static const char *ppsz_secpolicy_descriptions[] = { N_("Block"), N_("Allow"), N_("Prompt") };
-
#define PLUGIN_PATH_TEXT N_("Modules search path")
#define PLUGIN_PATH_LONGTEXT N_( \
"Additional path for VLC to look for its modules.")
MINIMIZE_THREADS_LONGTEXT, VLC_TRUE );
change_need_restart();
- set_section( N_("Security options"), NULL );
- add_integer( "security-policy", 2, NULL, SECURITY_POLICY_TEXT,
- SECURITY_POLICY_LONGTEXT, VLC_TRUE );
- change_integer_list( pi_secpolicy_values, ppsz_secpolicy_descriptions, 0 );
- change_unsafe();
- change_need_restart();
-
#if !defined(__APPLE__) && !defined(SYS_BEOS) && defined(LIBVLC_USE_PTHREAD)
add_bool( "rt-priority", VLC_FALSE, NULL, RT_PRIORITY_TEXT,
RT_PRIORITY_LONGTEXT, VLC_TRUE );
module_config_t *p_config = config_FindConfig( p_obj, psz_name );
if( !p_config->b_safe )
{
- int policy = config_GetInt( p_obj, "security-policy" );
- switch( policy )
- {
- case 0: /* block */
- msg_Err( p_obj, "option %s is unsafe and is blocked by security policy", psz_name );
- return;
- case 1: /* allow */
- break;
- case 2: /* prompt */
- {
- char description[256];
- snprintf(description, sizeof(description), _("playlist item is making use of the following unsafe option '%s', which may be harmful if used in a malicious way, authorize it ?"), psz_name);
- if( DIALOG_OK_YES != intf_UserYesNo( p_obj, _("WARNING: Unsafe Playlist"), description, _("Yes"), _("No"), NULL) )
- {
- msg_Err( p_obj, "option %s is unsafe and is blocked by security policy", psz_name );
- goto cleanup;
- }
- }
- default:
- ;
- }
+ msg_Err( p_obj, "unsafe option \"%s\" has been ignored for "
+ "security reasons", psz_name );
+ return;
}
}