EuroMUG '96 |
![]() |
Security levels:
thorserver -DATABASE_PASSWORDS_FILE ""All users are allowed access.
Example dy_passwords.dat file:
host:*only* host:gator host:corona user:norah:1aA3h3azZaqw23DS user:jj: user:june:GjkO96REnK2G1Waw user:mug:AsDF12REIO9PlLYb user:thor: user:thorinfo:
Note: if desired, a separate passwords file may be used by the DayToolserver, specified by the environment variable DY_TOOLSERVER_PASSWORDS_FILE.
In practice, read/write access is sufficient to severly or completely corrupt a database. Thus, the executive password may be most useful for preventing unauthorized, accidental, inconvenient or catastrophic "boo-boos", while write password is responsible for securing the data from corruption.
Caching configuration specifications are normally made by thormake, thorchange, or sthorman.
The option CACHE_LEVEL is ignored unless CACHE_WHEN is ALWAYS.
-CACHE_WHEN NEVER
Disable caching; all data remain in the disk files.
Ignore caching requests from Thor clients.
-CACHE_WHEN OK
Cache if, when, and as specified by a Thor client.
(Synonymous with "ON_REQUEST".)
-CACHE_WHEN ALWAYS
-CACHE_LEVEL WRITETHRU
Read hashtable from RAM, write to disk (and RAM).
-CACHE_LEVEL READWRITE
Read and write hashtable in RAM. Disk synced when necessary.
-CACHE_LEVEL WRITETHRU_ALL
Read entire database from RAM, write to disk (and RAM)
-CACHE_LEVEL READWRITE_ALL
Read and write entire database in RAM. Disk synced when necessary.
By default, both primary data and cross-references are cached. However, we can select one or the other only. Note that both primary and xref data have separate hash tables and datafiles.
-CACHE_WHAT XREFS
-CACHE_WHAT DATA
Possible values in the .THOR header file:
cache level: cache level: NEVER cache level: ON_REQUEST cache level: ALWAYS WRITETHRU cache level: ALWAYS WRITETHRU XREFS_ONLY cache level: ALWAYS WRITETHRU DATA_ONLY cache level: ALWAYS READWRITE cache level: ALWAYS READWRITE XREFS_ONLY cache level: ALWAYS READWRITE DATA_ONLY cache level: ALWAYS WRITETHRU_ALL cache level: ALWAYS WRITETHRU_ALL XREFS_ONLY cache level: ALWAYS WRITETHRU_ALL DATA_ONLY cache level: ALWAYS READWRITE_ALL cache level: ALWAYS READWRITE_ALL XREFS_ONLY cache level: ALWAYS READWRITE_ALL DATA_ONLY
Another choice to be made is whether to cache the "regular" database, or perhaps the indirect database. For databases where there are a large number of indirect references per TDT, caching the indirect database can provide the greatest performance gains.
Header (.THOR) file entry:
tdt locking: TRUE (Either present or not.)
read only: TRUE (Either present or not.)