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