Module: Net::IMAP::StringPrep::Trace

Defined in:
lib/net/imap/stringprep/trace.rb

Overview

Defined in RFC-4505 §3, The trace profile of StringPrep is used by the ANONYMOUS SASL mechanism.

Constant Summary collapse

STRINGPREP_PROFILE =

Defined in RFC-4505 §3.

"trace"
UNASSIGNED_TABLE =

The character repertoire of this profile is Unicode 3.2 [Unicode].

"A.1"
MAPPING_TABLES =

No mapping is required by this profile.

nil
NORMALIZATION =

No Unicode normalization is required by this profile.

nil
PROHIBITED_TABLES =

From RFC-4505 §3, The "trace" Profile of "Stringprep":

Characters from the following tables of [StringPrep] are prohibited:

- C.2.1 (ASCII control characters)
- C.2.2 (Non-ASCII control characters)
- C.3 (Private use characters)
- C.4 (Non-character code points)
- C.5 (Surrogate codes)
- C.6 (Inappropriate for plain text)
- C.8 (Change display properties are deprecated)
- C.9 (Tagging characters)

No additional characters are prohibited.
%w[C.2.1 C.2.2 C.3 C.4 C.5 C.6 C.8 C.9].freeze
CHECK_BIDI =

This profile requires bidirectional character checking per Section 6

of [StringPrep].

true

Class Method Summary collapse

Class Method Details

.stringprep_trace(string, **opts) ⇒ Object

From RFC-4505 §3, The "trace" Profile of "Stringprep":

The character repertoire of this profile is Unicode 3.2 [Unicode].

No mapping is required by this profile.

No Unicode normalization is required by this profile.

The list of unassigned code points for this profile is that provided
in Appendix A of [StringPrep].  Unassigned code points are not
prohibited.

Characters from the following tables of [StringPrep] are prohibited:
(documented on PROHIBITED_TABLES)

This profile requires bidirectional character checking per Section 6
of [StringPrep].


68
69
70
71
72
73
74
75
76
77
78
79
# File 'lib/net/imap/stringprep/trace.rb', line 68

def stringprep_trace(string, **opts)
  StringPrep.stringprep(
    string,
    unassigned:    UNASSIGNED_TABLE,
    maps:          MAPPING_TABLES,
    prohibited:    PROHIBITED_TABLES,
    normalization: NORMALIZATION,
    bidi:          CHECK_BIDI,
    profile:       STRINGPREP_PROFILE,
    **opts,
  )
end