Sha256: f1a23f447de6dd0f60e98432e6ed52075de330ce0493f10483b170ddeb6367ed

Contents?: true

Size: 946 Bytes

Versions: 7

Compression:

Stored size: 946 Bytes

Contents

#include <ruby.h>

static VALUE array_class;

static VALUE rb_sym_assess_hash_dup_and_freeze;
static VALUE rb_sym_assess_hash_brackets;
static VALUE rb_sym_assess_hash_bracket_set;
static VALUE rb_sym_assess_hash_bracket_equals;

/*
 * Monkeypatch Ruby Hash with Contrast Security Hash in order ot avoid losing
 * tracking across Strings. Hashes, when given unfrozen Strings as keys,
 * replace these Strings with a frozen copy in the hash. This copy is done is C
 * and does not take into account the tag properties we've provided. Freezing
 * ahead of time should avoid this, similar to the behavior of the -@ Strings
 * -HM
 */
static VALUE contrast_assess_hash_bracket_get(const int argc, VALUE *argv,
                                              const VALUE hash);

static VALUE contrast_assess_hash_bracket_set(const int argc, VALUE *argv,
                                              const VALUE hash);

void Init_cs__assess_hash(void);

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
contrast-agent-3.10.2 ext/cs__assess_hash/cs__assess_hash.h
contrast-agent-3.10.1 ext/cs__assess_hash/cs__assess_hash.h
contrast-agent-3.10.0 ext/cs__assess_hash/cs__assess_hash.h
contrast-agent-3.9.1 ext/cs__assess_hash/cs__assess_hash.h
contrast-agent-3.9.0 ext/cs__assess_hash/cs__assess_hash.h
contrast-agent-3.8.5 ext/cs__assess_hash/cs__assess_hash.h
contrast-agent-3.8.4 ext/cs__assess_hash/cs__assess_hash.h