BSO_LINK - directory and file names in binkley-style outbound
bsy files method:
if bsy file found, simple write xlo to $outbound/BSO_LINK/gtic_q/zzzzxxxx.?lo
outbound tics and possibly files stores in outbound/BSO_LINK.gtq
see sources for details


original hardlinking alghorithm:
1) for first file in one tic queue, make hardlink from fileechoes
2) for next file, first try to make hardlink from previous file
see sources for details


general concept is xmalloc always returns pointer. elsewhere xmalloc abort()'s


auto_ro > auto_rw in users options


renames tic file to .bad when file currupted (size or crc32 not match)
tic extention keeps when:
1) tic->area not exist
2) tic->file not exist
3) security violations (unknown node in tic->from or tic->pw not match)

> File Forwaders should be transparent to the renaming of file by mailers...
This part of FSC-0087 realized.

all configuration keywords stored as environment variables for external
programs


for newarea_exec, sets $autoconnected_users environment variable for
auto-connecting to new area; $newarea_desc sets to description from tic or to
default description when AREADESC in not specifed in tic


outbound tics (and files, when xlo_mode = hardlinks in configuration file )
stored in zzzzyyyy.tics (or zzzzxxxx/yyyyyyyy.tics for points). /* TODO: bsy
check, see TODO file */


allowed flags for users file:

hold - hold (hlo, else flo)
autocreate - allow autocreate
auto_rw/auto_ro - automatic connect link to new areas (read-write/readonly)
pause - link in %PAUSE mode
no_tics - don't create tics for this link

Password of user can be = "*". This means no password for this link (tics with
password from this link will be moved to bad_dir). Users with password="*"
rejected from area manager.


format of areas file:

Area area_name
Description description
Path full_path_for_store_files
[AKA x:y/z.p]
Links q:w/e.r !a:s/d.f	# if first char is ! - read only link
Filemode 644
[Options flags]
Newfile new_file_list_name

allowed Options:
readonly - users can connect to this area only in readonly mode
passthru - this area is passthru (no moving file and announcing)
noannounce - disable announcing for this area (.desc created always)
private_announce - call for announcing $announce_exec+"."+$group
 (group of area must be defined), noannounce disables private_announce,
 private_announce can announce only one file at one time now. It's will be
 fixed.
no_desc - don't create desc files

>areagroups.config file:
groupmask:dest:data
>groupmask - wildcard mask of group of simple group name
>dest - destination (options, AKA, filemode, newfile). Currently supported only
>options.
>data - data field
>Example:
private*:options:noannounce
windoze*:options:noannounce,passthru
*:options:readonly
>Warning: ONLY first match in areagroups.config is acceptable!
>flags will be mixed with flags defined in areas_file
>if area_t->group==NULL, options will be set only for "*" group_mask

Magic tic-keyword ignored. (by FSC-0087)
Via tic-keyword is unsupported. (by FSC-0087)

ALLFIX+ write to tic "Destination" keyword. This is standard violation. We
skip this keyword.
