+
+ if (repeated_offenders_timeout[0] != 0 &&
+ repeated_hash != NULL &&
+ strncmp(timeout_args[3], "-", 1) != 0) {
+ char *ntimes = NULL;
+ char rkey[256];
+ rkey[255] = '\0';
+ snprintf(rkey, 255, "%s%s", list_entry->command[0],
+ timeout_args[3]);
+
+ if ((ntimes = (char *) OSHash_Get(repeated_hash, rkey))) {
+ int ntimes_int = 0;
+ int i2 = 0;
+ int new_timeout = 0;
+ ntimes_int = atoi(ntimes);
+ while (repeated_offenders_timeout[i2] != 0) {
+ i2++;
+ }
+ if (ntimes_int >= i2) {
+ new_timeout = repeated_offenders_timeout[i2 - 1] * 60;
+ } else {
+ free(ntimes); /* In hash_op.c, data belongs to caller */
+ os_calloc(10, sizeof(char), ntimes);
+ new_timeout = repeated_offenders_timeout[ntimes_int] * 60;
+ ntimes_int++;
+ snprintf(ntimes, 9, "%d", ntimes_int);
+ OSHash_Update(repeated_hash, rkey, ntimes);
+ }
+ list_entry->time_to_block = new_timeout;
+ }
+ }