Added new options --backend-ignore-cuda and --backend-ingore-opencl, to ignore CUDA and/or OpenCL interface from being load on startup

This commit is contained in:
Jens Steube
2020-01-03 11:51:24 +01:00
parent 469e13aa0b
commit d0fb171da9
6 changed files with 212 additions and 187 deletions
+79 -73
View File
@@ -604,6 +604,8 @@ typedef enum user_options_defaults
MARKOV_DISABLE = false,
MARKOV_THRESHOLD = 0,
NONCE_ERROR_CORRECTIONS = 8,
BACKEND_IGNORE_CUDA = false,
BACKEND_IGNORE_OPENCL = false,
BACKEND_INFO = false,
BACKEND_VECTOR_WIDTH = 0,
OPTIMIZED_KERNEL_ENABLE = false,
@@ -650,109 +652,111 @@ typedef enum user_options_map
IDX_ADVICE_DISABLE = 0xff00,
IDX_ATTACK_MODE = 'a',
IDX_BACKEND_DEVICES = 'd',
IDX_BACKEND_IGNORE_CUDA = 0xff01,
IDX_BACKEND_IGNORE_OPENCL = 0xff02,
IDX_BACKEND_INFO = 'I',
IDX_BACKEND_VECTOR_WIDTH = 0xff01,
IDX_BENCHMARK_ALL = 0xff02,
IDX_BACKEND_VECTOR_WIDTH = 0xff03,
IDX_BENCHMARK_ALL = 0xff04,
IDX_BENCHMARK = 'b',
IDX_BITMAP_MAX = 0xff03,
IDX_BITMAP_MIN = 0xff04,
IDX_BITMAP_MAX = 0xff05,
IDX_BITMAP_MIN = 0xff06,
#ifdef WITH_BRAIN
IDX_BRAIN_CLIENT = 'z',
IDX_BRAIN_CLIENT_FEATURES = 0xff05,
IDX_BRAIN_HOST = 0xff06,
IDX_BRAIN_PASSWORD = 0xff07,
IDX_BRAIN_PORT = 0xff08,
IDX_BRAIN_SERVER = 0xff09,
IDX_BRAIN_SESSION = 0xff0a,
IDX_BRAIN_SESSION_WHITELIST = 0xff0b,
IDX_BRAIN_CLIENT_FEATURES = 0xff07,
IDX_BRAIN_HOST = 0xff08,
IDX_BRAIN_PASSWORD = 0xff09,
IDX_BRAIN_PORT = 0xff0a,
IDX_BRAIN_SERVER = 0xff0b,
IDX_BRAIN_SESSION = 0xff0c,
IDX_BRAIN_SESSION_WHITELIST = 0xff0d,
#endif
IDX_CPU_AFFINITY = 0xff0c,
IDX_CPU_AFFINITY = 0xff0e,
IDX_CUSTOM_CHARSET_1 = '1',
IDX_CUSTOM_CHARSET_2 = '2',
IDX_CUSTOM_CHARSET_3 = '3',
IDX_CUSTOM_CHARSET_4 = '4',
IDX_DEBUG_FILE = 0xff0d,
IDX_DEBUG_MODE = 0xff0e,
IDX_ENCODING_FROM = 0xff0f,
IDX_ENCODING_TO = 0xff10,
IDX_EXAMPLE_HASHES = 0xff11,
IDX_FORCE = 0xff12,
IDX_HWMON_DISABLE = 0xff13,
IDX_HWMON_TEMP_ABORT = 0xff14,
IDX_DEBUG_FILE = 0xff0f,
IDX_DEBUG_MODE = 0xff10,
IDX_ENCODING_FROM = 0xff11,
IDX_ENCODING_TO = 0xff12,
IDX_EXAMPLE_HASHES = 0xff13,
IDX_FORCE = 0xff14,
IDX_HWMON_DISABLE = 0xff15,
IDX_HWMON_TEMP_ABORT = 0xff16,
IDX_HASH_MODE = 'm',
IDX_HCCAPX_MESSAGE_PAIR = 0xff15,
IDX_HCCAPX_MESSAGE_PAIR = 0xff17,
IDX_HELP = 'h',
IDX_HEX_CHARSET = 0xff16,
IDX_HEX_SALT = 0xff17,
IDX_HEX_WORDLIST = 0xff18,
IDX_HOOK_THREADS = 0xff19,
IDX_HEX_CHARSET = 0xff18,
IDX_HEX_SALT = 0xff19,
IDX_HEX_WORDLIST = 0xff1a,
IDX_HOOK_THREADS = 0xff1b,
IDX_INCREMENT = 'i',
IDX_INCREMENT_MAX = 0xff1a,
IDX_INCREMENT_MIN = 0xff1b,
IDX_INDUCTION_DIR = 0xff1c,
IDX_KEEP_GUESSING = 0xff1d,
IDX_INCREMENT_MAX = 0xff1c,
IDX_INCREMENT_MIN = 0xff1d,
IDX_INDUCTION_DIR = 0xff1e,
IDX_KEEP_GUESSING = 0xff1f,
IDX_KERNEL_ACCEL = 'n',
IDX_KERNEL_LOOPS = 'u',
IDX_KERNEL_THREADS = 'T',
IDX_KEYBOARD_LAYOUT_MAPPING = 0xff1e,
IDX_KEYSPACE = 0xff1f,
IDX_LEFT = 0xff20,
IDX_KEYBOARD_LAYOUT_MAPPING = 0xff20,
IDX_KEYSPACE = 0xff21,
IDX_LEFT = 0xff22,
IDX_LIMIT = 'l',
IDX_LOGFILE_DISABLE = 0xff21,
IDX_LOOPBACK = 0xff22,
IDX_MACHINE_READABLE = 0xff23,
IDX_MARKOV_CLASSIC = 0xff24,
IDX_MARKOV_DISABLE = 0xff25,
IDX_MARKOV_HCSTAT2 = 0xff26,
IDX_LOGFILE_DISABLE = 0xff23,
IDX_LOOPBACK = 0xff24,
IDX_MACHINE_READABLE = 0xff25,
IDX_MARKOV_CLASSIC = 0xff26,
IDX_MARKOV_DISABLE = 0xff27,
IDX_MARKOV_HCSTAT2 = 0xff28,
IDX_MARKOV_THRESHOLD = 't',
IDX_NONCE_ERROR_CORRECTIONS = 0xff27,
IDX_NONCE_ERROR_CORRECTIONS = 0xff29,
IDX_OPENCL_DEVICE_TYPES = 'D',
IDX_OPTIMIZED_KERNEL_ENABLE = 'O',
IDX_OUTFILE_AUTOHEX_DISABLE = 0xff28,
IDX_OUTFILE_CHECK_DIR = 0xff29,
IDX_OUTFILE_CHECK_TIMER = 0xff2a,
IDX_OUTFILE_FORMAT = 0xff2b,
IDX_OUTFILE_AUTOHEX_DISABLE = 0xff2a,
IDX_OUTFILE_CHECK_DIR = 0xff2b,
IDX_OUTFILE_CHECK_TIMER = 0xff2c,
IDX_OUTFILE_FORMAT = 0xff2d,
IDX_OUTFILE = 'o',
IDX_POTFILE_DISABLE = 0xff2c,
IDX_POTFILE_PATH = 0xff2d,
IDX_PROGRESS_ONLY = 0xff2e,
IDX_QUIET = 0xff2f,
IDX_REMOVE = 0xff30,
IDX_REMOVE_TIMER = 0xff31,
IDX_RESTORE = 0xff32,
IDX_RESTORE_DISABLE = 0xff33,
IDX_RESTORE_FILE_PATH = 0xff34,
IDX_POTFILE_DISABLE = 0xff2e,
IDX_POTFILE_PATH = 0xff2f,
IDX_PROGRESS_ONLY = 0xff30,
IDX_QUIET = 0xff31,
IDX_REMOVE = 0xff32,
IDX_REMOVE_TIMER = 0xff33,
IDX_RESTORE = 0xff34,
IDX_RESTORE_DISABLE = 0xff35,
IDX_RESTORE_FILE_PATH = 0xff36,
IDX_RP_FILE = 'r',
IDX_RP_GEN_FUNC_MAX = 0xff35,
IDX_RP_GEN_FUNC_MIN = 0xff36,
IDX_RP_GEN_FUNC_MAX = 0xff37,
IDX_RP_GEN_FUNC_MIN = 0xff38,
IDX_RP_GEN = 'g',
IDX_RP_GEN_SEED = 0xff37,
IDX_RP_GEN_SEED = 0xff39,
IDX_RULE_BUF_L = 'j',
IDX_RULE_BUF_R = 'k',
IDX_RUNTIME = 0xff38,
IDX_SCRYPT_TMTO = 0xff39,
IDX_RUNTIME = 0xff3a,
IDX_SCRYPT_TMTO = 0xff3b,
IDX_SEGMENT_SIZE = 'c',
IDX_SELF_TEST_DISABLE = 0xff3a,
IDX_SELF_TEST_DISABLE = 0xff3c,
IDX_SEPARATOR = 'p',
IDX_SESSION = 0xff3b,
IDX_SHOW = 0xff3c,
IDX_SESSION = 0xff3d,
IDX_SHOW = 0xff3e,
IDX_SKIP = 's',
IDX_SLOW_CANDIDATES = 'S',
IDX_SPEED_ONLY = 0xff3d,
IDX_SPIN_DAMP = 0xff3e,
IDX_STATUS = 0xff3f,
IDX_STATUS_JSON = 0xff40,
IDX_STATUS_TIMER = 0xff41,
IDX_STDOUT_FLAG = 0xff42,
IDX_STDIN_TIMEOUT_ABORT = 0xff43,
IDX_TRUECRYPT_KEYFILES = 0xff44,
IDX_USERNAME = 0xff45,
IDX_VERACRYPT_KEYFILES = 0xff46,
IDX_VERACRYPT_PIM_START = 0xff47,
IDX_VERACRYPT_PIM_STOP = 0xff48,
IDX_SPEED_ONLY = 0xff3f,
IDX_SPIN_DAMP = 0xff40,
IDX_STATUS = 0xff41,
IDX_STATUS_JSON = 0xff42,
IDX_STATUS_TIMER = 0xff43,
IDX_STDOUT_FLAG = 0xff44,
IDX_STDIN_TIMEOUT_ABORT = 0xff45,
IDX_TRUECRYPT_KEYFILES = 0xff46,
IDX_USERNAME = 0xff47,
IDX_VERACRYPT_KEYFILES = 0xff48,
IDX_VERACRYPT_PIM_START = 0xff49,
IDX_VERACRYPT_PIM_STOP = 0xff4a,
IDX_VERSION_LOWER = 'v',
IDX_VERSION = 'V',
IDX_WORDLIST_AUTOHEX_DISABLE = 0xff49,
IDX_WORDLIST_AUTOHEX_DISABLE = 0xff4b,
IDX_WORKLOAD_PROFILE = 'w',
} user_options_map_t;
@@ -1875,6 +1879,8 @@ typedef struct user_options
bool machine_readable;
bool markov_classic;
bool markov_disable;
bool backend_ignore_cuda;
bool backend_ignore_opencl;
bool backend_info;
bool optimized_kernel_enable;
bool outfile_autohex;