Sha256: 56bed2dabc67cebb5d1d4287af625fe6ea3aedaa2b82a68086649e7e8b38a7b3

Contents?: true

Size: 985 Bytes

Versions: 66

Compression:

Stored size: 985 Bytes

Contents

#include <ruby.h>

static VALUE rb_sym_assess_hash_dup_and_freeze;
static VALUE rb_sym_assess_hash_bracket_constructor;
static VALUE rb_sym_assess_hash_bracket_equals;
static VALUE hash_propagator;

/*
 * 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_constructor(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

66 entries across 66 versions & 1 rubygems

Version Path
contrast-agent-7.6.1 ext/cs__assess_hash/cs__assess_hash.h
contrast-agent-7.6.0 ext/cs__assess_hash/cs__assess_hash.h
contrast-agent-7.5.0 ext/cs__assess_hash/cs__assess_hash.h
contrast-agent-7.4.1 ext/cs__assess_hash/cs__assess_hash.h
contrast-agent-7.4.0 ext/cs__assess_hash/cs__assess_hash.h
contrast-agent-7.3.2 ext/cs__assess_hash/cs__assess_hash.h
contrast-agent-7.3.1 ext/cs__assess_hash/cs__assess_hash.h
contrast-agent-7.3.0 ext/cs__assess_hash/cs__assess_hash.h
contrast-agent-7.2.0 ext/cs__assess_hash/cs__assess_hash.h
contrast-agent-7.1.0 ext/cs__assess_hash/cs__assess_hash.h
contrast-agent-7.0.0 ext/cs__assess_hash/cs__assess_hash.h
contrast-agent-6.15.3 ext/cs__assess_hash/cs__assess_hash.h
contrast-agent-6.15.2 ext/cs__assess_hash/cs__assess_hash.h
contrast-agent-6.15.1 ext/cs__assess_hash/cs__assess_hash.h
contrast-agent-6.15.0 ext/cs__assess_hash/cs__assess_hash.h
contrast-agent-6.14.0 ext/cs__assess_hash/cs__assess_hash.h
contrast-agent-6.13.0 ext/cs__assess_hash/cs__assess_hash.h
contrast-agent-6.12.0 ext/cs__assess_hash/cs__assess_hash.h
contrast-agent-6.11.0 ext/cs__assess_hash/cs__assess_hash.h
contrast-agent-6.10.0 ext/cs__assess_hash/cs__assess_hash.h