r4 - 2008-01-22 - 03:21:29 - TWikiContributorYou are here: NTP >  TWiki Web > TWikiPrefsPrefsCacheDotPm
NTP users are strongly urged to take immediate action to ensure that their NTP daemons are not susceptible to being used in distributed denial-of-service (DDoS) attacks. Please also take this opportunity to defeat denial-of-service attacks by implementing Ingress and Egress filtering through BCP38.

ntp-4.2.8p14 was released on 03 March 2020. It addresses 2 medium-severity security issues in ntpd, and provides 47 non-security bugfixes and 4 other improvements over 4.2.8p13.

Please see the NTP Security Notice for vulnerability and mitigation details.

Are you using Autokey in production? If so, please contact Harlan - he's got some questions for you.

Package TWiki::Prefs::PrefsCache

The PrefsCache package holds a cache of topics that have been read in, using the TopicPrefs class. These functions manage that cache.

We maintain 2 hashes of values:

  • {locals} Contains all locals at this level. Locals are values that only apply when the current topic is the topic where the local is defined. The variable names are decorated with the locality where they apply.
  • {values} contains all sets, locals, and all values inherited from the parent level

As each cache level is built, the values are copied down from the parent cache level. This sounds monstrously inefficient, but in fact perl does this a lot better than doing a multi-level lookup when a value is referenced. This is especially important when many prefs lookups may be done in a session, for example when searching.

ClassMethod new ($prefs,$parent,$type,$web,$topic,$prefix)

Creates a new Prefs object.

  • $prefs - controlling TWiki::Prefs object
  • $parent - the PrefsCache object to use to initialise values from
  • $type - Type of prefs object to create, see notes.
  • $web - web containing topic to load from (required is $topic is set)
  • $topic - topic to load from
  • $prefix - key prefix for all preferences (used for plugins)
If the specified topic is not found, returns an empty object.

ObjectMethod finish ()

Break circular references.

ObjectMethod finalise ($parent)

Finalise preferences in this cache, by freezing any preferences listed in FINALPREFERENCES at their current value.

  • $parent = object that supports getPreferenceValue

ObjectMethod loadPrefsFromTopic ($web,$topic,$keyPrefix)

Loads preferences from a topic. All settings loaded are prefixed with the key prefix (default '').

ObjectMethod loadPrefsFromText ($text,$meta,$web,$topic)

Loads preferences from text and optional metadata. All settings loaded are prefixed with the key prefix (default ''). If $meta is defined, then metadata will be taken from that object. Otherwise, $text will be parsed to extract meta-data.

ObjectMethod insert ($type,$key,$val) -> $boolean

Adds a key-value pair of the given type to the object. Type is Set or Local. Callback used for the Prefs::Parser object, or can be used to add arbitrary new entries to a prefs cache.

Note that attempts to redefine final preferences will be ignored.

Returns 1 if the preference was defined, 0 otherwise.

ObjectMethod stringify ($html,\%shown) -> $text

Generate an (HTML if $html) representation of the content of this cache.

Edit | WYSIWYG | Attach | Printable | Raw View | Backlinks: Web, All Webs | History: r4 < r3 < r2 < r1 | More topic actions
This site is powered by the TWiki collaboration platformCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding NTP? Send feedback
Note: Please contribute updates to this topic on TWiki.org at TWiki:TWiki.TWikiPrefsPrefsCacheDotPm