SCO OpenServer 5.0.7 | Which Database is this?

Hello,

We recently took over a client running SCO OpenServer 5.0.7 and are modernizing the application (read: rebuilding from scratch).

I'm tasked with exploring the database models and possible routes of migration. However, the best I could achieve was finding a bunch of ***vol folders and .dat files within them.

The path to said files is /data/0.device/[INSERT_FOLDER_NAME_ENDING_IN_VOL]/x.dat

I've pulled them off the server and tried opening in every piece of software known to me; however, I had no luck.

Would someone be able to recognize this structure and tell me what the heck is going on and how do I go about it? This technology existed before I was even planned for, so you can understand the confusion. I've dealt with IBM DB2 before, and although it was absolute hell, I could at least connect to it and explore the tables.

Thanks!

@lutth , welcome,

supply the output from file <filename> (presume it'll be something bland like 'data' )

suggest you try the strings command and see what it spits out strings <filename>
man strings for documentation.
do the same using the magic <filename> see if it gives any hints

have you searched the various /bin,/sbin , /usr/bin ... for potential binaries that might give hints
search logfiles (systemwide ....) - on the original system (of course) :smiley:

post sample outputs and the team may respond with potential answers etc.

happy sleuthing.

Greetings and welcome on board!

Looking at the path:

 /data/0.device/[INSERT_FOLDER_NAME_ENDING_IN_VOL]/x.dat

brings back to my memory some bad souvenirs...
can you give us more information on the path? Are there many /data/X.devices/ and what is actually the subdirs names? before x.dat

Just to see if my paranoia is fooling me, or I can start to see an explanation, to save time, have you a little idea of what you are looking for? do you know what the end user uses to connect and work with the server ( it is a server? because if not I am in the wrong...)
Do you know for how long it was in production and mostly where did it come from ( bad luck: a port from mainframe of Dinausore age...)

Yep, ran file apchecks.dat and got apchecks.dat: data :')

strings apchecks.dat gives back nothing

magic apchecks.dat returns ksh: magic: cannot execute

Yes, I've found traces of Berkeley DB under /usr/bin, however when I tried running db_verify or db_dump on the files, it failed due do unknown file type.

ps -ef returns the following, I'm not sure if any of the processes can be recognized:

     UID   PID  PPID  C    STIME     TTY        TIME CMD
    root     0     0  0 07:32:38       ?    00:00:00 sched
    root     1     0  0 07:32:38       ?    00:00:00 /etc/init
    root     2     0  0 07:32:38       ?    00:00:00 vhand
    root     3     0  0 07:32:38       ?    00:00:00 bdflush
    root     4     0  0 07:32:38       ?    00:00:00 kmdaemon
    root     5     1  0 07:32:38       ?    00:00:00 htepi_daemon /
    root     6     0  0 07:32:38       ?    00:00:00 strd
    root     7     1  0 07:32:38       ?    00:00:00 udi_alloc
    root     8     1  0 07:32:38       ?    00:00:00 udi_region
    root   187     1  0 07:33:16       ?    00:00:00 /tcb/files/no_luid/sdd
    root    55     1  0 07:33:09       ?    00:00:00 /etc/sco_pmd
    root    82     1  0 07:33:10       ?    00:00:00 strerr
    root    51     1  0 07:33:09       ?    00:00:00 /etc/syslogd
    root    43     1  0 07:33:09       ?    00:00:00 htepi_daemon /stand
    root   576     1  0 07:33:29   tty01    00:00:00 -ksh
    root   577     1  0 07:33:29   tty02    00:00:00 /etc/getty tty02 sc_m
    root   390     1  0 07:33:23       ?    00:00:00 /etc/snmpd
    root   578     1  0 07:33:29   tty03    00:00:00 /etc/getty tty03 sc_m
    root   579     1  0 07:33:29   tty04    00:00:00 /etc/getty tty04 sc_m
    root   398     1  0 07:33:23       ?    00:00:00 /etc/sshd
    root   298     1  0 07:33:17       ?    00:00:00 /usr/lib/lpsched
    root   273     1  0 07:33:17       ?    00:00:00 /opt/K/SCO/lli/5.0.7a/bin/dlpid /var/opt/K/SCO/lli/5.0.7a/dlpidPIPE
    root   217     1  0 07:33:16       ?    00:00:00 htepi_daemon /versyss
    root   221     1  0 07:33:16       ?    00:00:00 htepi_daemon /versyss/data
    root   309     1  0 07:33:17       ?    00:00:00 /etc/giomap_noded
    root   288     1  0 07:33:17       ?    00:00:00 /etc/cron
    root   317     1  0 07:33:17       ?    00:00:00 portmap
    root   354     1  0 07:33:23       ?    00:00:00 /etc/in.prngd /etc/egd-pool
    root   323     1  0 07:33:17       ?    00:00:00 rwalld
    root   324     1  0 07:33:17       ?    00:00:00 rusersd
    root   445     1  0 07:33:23       ?    00:00:00 statd
    root   501     1  0 07:33:29       ?    00:00:00 /usr/lib/scosh/caldaemon
    root   377     1  0 07:33:23       ?    00:00:00 /etc/inetd
    root   447     1  0 07:33:23       ?    00:00:00 lockd -u 4 -t 16
    mmdf   417     1  0 07:33:23       ?    00:00:00 /usr/mmdf/bin/deliver -b
    root   440     1  0 07:33:23       ?    00:00:00 biod 4
    root   441     1  0 07:33:23       ?    00:00:00 biod 4
    root   442     1  0 07:33:23       ?    00:00:00 biod 4
    root   443     1  0 07:33:23       ?    00:00:00 biod 4
  nouser   513   510  0 07:33:29       ?    00:00:00 /usr/lib/apache/bin/httpd -d /usr/lib/docview -f /usr/lib/docview/conf/httpd.co
    root   510     1  0 07:33:29       ?    00:00:00 /usr/lib/apache/bin/httpd -d /usr/lib/docview -f /usr/lib/docview/conf/httpd.co
    root   465   447  0 07:33:23       ?    00:00:00 lockd -u 4 -t 16
    root   468   465  0 07:33:23       ?    00:00:00 lockd -u 4 -t 16
    root   469   465  0 07:33:23       ?    00:00:00 lockd -u 4 -t 16
    root   470   465  0 07:33:23       ?    00:00:00 lockd -u 4 -t 16
    root   471   465  0 07:33:23       ?    00:00:00 lockd -u 4 -t 16
  nouser   490   487  0 07:33:25       ?    00:00:00 /usr/lib/apache/bin/httpd
    root   484     1  0 07:33:24       ?    00:00:00 /usr/lib/scosh/calserver
    root   486   484  0 07:33:24       ?    00:00:00 /usr/lib/scosh/calserver
    root   487     1  0 07:33:25       ?    00:00:00 /usr/lib/apache/bin/httpd
  nouser   491   487  0 07:33:26       ?    00:00:00 /usr/lib/apache/bin/httpd
  nouser   492   487  0 07:33:26       ?    00:00:00 /usr/lib/apache/bin/httpd
  nouser   493   487  0 07:33:26       ?    00:00:00 /usr/lib/apache/bin/httpd
  nouser   494   487  0 07:33:26       ?    00:00:00 /usr/lib/apache/bin/httpd
  nouser   607   510  0 07:33:31       ?    00:00:00 /usr/lib/apache/bin/httpd -d /usr/lib/docview -f /usr/lib/docview/conf/httpd.co
    root   525     1  0 07:33:29       ?    00:00:00 /usr/sbin/cupsd
    root   590     1  0 07:33:29       ?    00:00:00 /versyss/bin/userserver
    root   601     1  0 07:33:30       ?    00:00:00 /versyss/bin/commadmin
  nouser   608   510  0 07:33:31       ?    00:00:00 /usr/lib/apache/bin/httpd -d /usr/lib/docview -f /usr/lib/docview/conf/httpd.co
    root   681   398  1 07:41:15       ?    00:00:00 sshd: root@ttyp0
  nouser   606   510  0 07:33:30       ?    00:00:00 /usr/lib/apache/bin/httpd -d /usr/lib/docview -f /usr/lib/docview/conf/httpd.co
    root   683   681  2 07:41:15   ttyp0    00:00:00 -ksh
    root   727   683  1 07:41:28   ttyp0    00:00:00 ps -ef

And here's the output of ls /usr/bin

300
300s
4014
411toppm
450
GET
HEAD
IDL-2.0-config
IDL-config
POST
SOAPsh.pl
X11
XMLRPCsh.pl
Xalan
a2p
accept
aioinfo
annotate
anytopnm
apropos
art-config
art_lgpl-config
art_lgpl_2-config
asa
asciitopgm
asp-perl
assign
at
atk-1-config
atk-1.0-config
atk-config
atk1-config
atktopbm
awk
backup
banner
bash
bashbug
batch
bc
bdftogd
bdftops
bdiff
berkeley-db-config
berkeley_db_cxxsvc
berkeley_db_svc
berkeleydb-config
berkeleydb4-config
bfs
biff
bioradtopgm
bmp2tiff
bmptopnm
browser
brushtopbm
bshrink
bunzip2
bz2-config
bzcat
bzdiff
bzgrep
bzip-config
bzip2
bzip2-config
bzip2recover
bzmore
c2ph
c_rehash
cairo-config
cal
calendar
cancel
captoinfo
cdda2wav
cdrecord
checkeq
checkmail
chrconv
chrtbl
cjpeg
cmuwmtopbm
col
colconv
coltbl
comm
compface
compface-config
compile_encoding
compress
config_data
convkey
copyrights
core
corex
cpan
cpansign
cpset
crc32
crontab
crypt
csplit
csslint
ct
ctags
cu
cups-calibrate
cups-config
cupstestppd
curconv
curl
curl-config
curtbl
customquery
cut
cxpm
db-3-config
db-3.0-config
db-4-config
db-4.0-config
db-4.1-config
db-4.2-config
db-4.3-config
db-config
db3-config
db4-config
db41-config
db42-config
db43-config
db_archive
db_checkpoint
db_deadlock
db_dump
db_dump185
db_load
db_printlog
db_recover
db_stat
db_upgrade
db_verify
dbiprof
dbiproxy
dc
deassign
decmn
derb
deroff
devdump
diff3
dircmp
disable
diskcmp
diskcp
displaypkg
djpeg
doctool
domainname
doscat
doscp
dosdir
dosformat
dosls
dosmkdir
dosrm
dosrmdir
dprofpp
dsconfig
dspmsg
dtox
dvdrecord
dvipdf
edge.changer
edge.config
edge.cronset
edge.dbinfo
edge.restore
edge.tape
edge.uci
edgemenu
edit
egrep
emactovi
enable
enc2xs
eps2eps
escputil
euc
eview
evim
ex
expand
expat-config
exslt-config
eyuvtoppm
factor
fax2ps
fax2tiff
fc-cache
fc-list
fgrep
find2perl
finger
fitstopnm
fixhdr
fixmswrd.pl
fixshlib
fold
font2c
fontconfig-config
foomatic-combo-xml
foomatic-compiledb
foomatic-configure
foomatic-datafile
foomatic-gswrapper
foomatic-perl-data
foomatic-ppd-options
foomatic-ppdfile
foomatic-printjob
foomatic-rip
freetype-config
freetype2-config
fstopgm
ftp
g-request
g3topbm
gcrypt-config
gd-1-config
gd-1.8-config
gd-2-config
gd-2.0-config
gd-config
gd1-config
gd2-config
gd2copypal
gd2togif
gd2topng
gdbm-config
gdcmpgif
gdk-1-config
gdk-1.2-config
gdk-2-config
gdk-2.0-config
gdk-config
gdk-pixbuf-2-config
gdk-pixbuf-2.0-config
gdk-pixbuf-config
gdk-pixbuf-csource
gdk-pixbuf-query-loaders
gdk-pixbuf-xlib-2-config
gdk-pixbuf-xlib-2.0-config
gdk-pixbuf-xlib-config
gdk-x11-2-config
gdk-x11-2.0-config
gdk-x11-config
gdk1-config
gdk2-config
gdk2-x11-config
gdk_pixbuf-2-config
gdk_pixbuf-2.0-config
gdk_pixbuf-config
gdk_pixbuf-xlib-2-config
gdk_pixbuf-xlib-2.0-config
gdk_pixbuf-xlib-config
gdk_pixbuf_xlib-2-config
gdk_pixbuf_xlib-2.0-config
gdk_pixbuf_xlib-config
gdlib-config
gdome-config
gdome-glib1-config
gdome-glib2-config
gdome2-config
gdome2-glib1-config
gdome2-glib2-config
gdparttopng
gdtopng
gemtopnm
genbrk
genccode
gencmn
gencnval
genrb
gensprep
genuca
getopt
getprops
gettext-config
ghttp-config
gif2epsn
gif2ps
gif2rgb
gif2tiff
gif2x11
gifasm
gifbg
gifclip
gifclrmp
gifcolor
gifcomb
giffiltr
giffix
gifflip
gifhisto
gifinter
gifinto
giflib-config
gifovly
gifpos
gifrotat
gifrsize
gifspnge
giftext
giftogd
giftogd2
giftopnm
gifwedge
gimpprint-config
glib-1-config
glib-1.2-config
glib-2-config
glib-2.0-config
glib-config
glib-genmarshal
glib-gettextize
glib-mkenums
glib1-config
glib2-config
gmodule-1-config
gmodule-1.2-config
gmodule-2-config
gmodule-2.0-config
gmodule-config
gmodule-no-export-2.0-config
gmodule1-config
gmodule2-config
gnuintl-config
gobject-2-config
gobject-2.0-config
gobject-config
gobject-query
gobject2-config
goodpw
gouldtoppm
gpg
gpg-error
gpg-error-config
gpgsplit
gpgv
greek
gs
gsbj
gsdj
gsdj500
gsf-1-config
gsf-config
gsf1-config
gslj
gslp
gsnd
gthread-1-config
gthread-1.2-config
gthread-2-config
gthread-2.0-config
gthread-config
gthread1-config
gthread2-config
gtk+-1.2-config
gtk+-2.0-config
gtk+-config
gtk-1-config
gtk-1.2-config
gtk-2-config
gtk-2.0-config
gtk-config
gtk-query-immodules-2.0
gtk-update-icon-cache
gtk-x11-2-config
gtk-x11-2.0-config
gtk-x11-config
gtk1-config
gtk2-config
gtk2-x11-config
gtkhtml-2-config
gtkhtml-2.0-config
gtkhtml-config
gview
gvim
gvimdiff
h2ph
h2xs
hdifftopam
hdkapropos
hdkman
hdkwhatis
hipstopgm
history-config
hostname
hp
hpijs
htdig
htfuzzy
htmerge
html2ascii
htmlclean
htnotify
htsearch
ibmlpopt
icc2ps
icclink
icctrans
icon2gif
icontopbm
iconv
icu-config
icuswap
id
idleout
iiop_rview
ijs-config
ijsgimpprint
ilbmtoppm
imgcmp
imginfo
imgtoppm
imlib-config
imlib_config
imlibgdk-config
imsd
infocmp
infotopam
inipcrm
installf
installpkg
instmodsh
ipcount
iptab
ismpx
isodebug
isodump
isoinfo
isovfy
isverify
jasper
jasper-config
javascript-config
jbgtopbm
jbig-config
jbigtopnm
join
jpeg-config
jpegicc
jpegtopnm
jpegtran
js
js-config
juke
kbdcomp
kbdctl
kdestroy
kermit
kinit
klist
ktadd
ktdelete
ktlist
largeprimes
last
lcms-config
ldapadd
ldapcompare
ldapdelete
ldapmodify
ldapmodrdn
ldappasswd
ldapsearch
ldapwhoami
ldd
leaftoppm
less
lfmt
libIDL-2-config
libIDL-2-glib1-config
libIDL-2-glib2-config
libIDL-2.0-config
libIDL-2.0-glib1-config
libIDL-2.0-glib2-config
libIDL-config
libIDL-config-1
libIDL-config-2
libIDL-glib1-config
libIDL-glib2-config
libart-2.0-config
libart-config
libart_lgpl-config
libcroco-0.6-config
libexif-config
libexif-gtk-config
libexslt-config
libgcrypt-config
libgsf-1-config
libgsf-config
libgtkhtml-2-config
libgtkhtml-2.0-config
libgtkhtml-config
libmng-config
libnetcfg
libpng-config
librsvg-2-config
librsvg-2.0-config
librsvg-config
libwmf-config
libwmflite-config
libwww-config
libxml-2-config
libxml-2.0-config
libxml-config
libxml2-2.0-config
libxml2-config
libxslt-config
lispmtopgm
llipathmap
llistat
local
locale
localedef
lock
logger
logname
lp
lpoptions
lppasswd
lpq
lpr
lprint
lprm
lprsetup.sh
lpstat
lsof
lwp-download
lwp-mirror
lwp-request
lwp-rget
lynx
m4
macptopbm
mail
mailx
make_encmap
make_method
makeconv
makerandom
man
mapchan
mapkey
mapscrn
mapstr
masterbu
mcart
mcs
md5-config
mdatopbm
menu_add
menu_del
menumerge
mesconv
message
mestbl
mgrtopbm
mibcomp
mkhybrid
mkisofs
mktemp
mlist
mm-config
mng-config
mnt
monconv
montbl
more
mosy
mozilla
mozilla-config
mozplugger-controller
mozplugger-helper
mpeglib-config
mscreen
mtvtoppm
nawk
ncfginstall
ncfgprompter
ndinstall
ndnamemap
ndstat
neotoppm
netisl
netpbm
netpbm-config
netstat
newform
newmail
news
nfsstat
nl
nlsadmin
nslookup
numconv
numtbl
oawk
on
openslp-config
openssl
openssl-config
openssl_fips_fingerprint
ordist
pack
page
pal2rgb
pamarith
pamchannel
pamcomp
pamcut
pamdeinterlace
pamdice
pamditherbw
pamedge
pamendian
pamenlarge
pamfile
pamflip
pamfunc
pamgauss
pamlookup
pammasksharpen
pamoil
pamperspective
pampop9
pamscale
pamseq
pamsharpmap
pamsharpness
pamslice
pamstack
pamstereogram
pamstretch
pamsumm
pamsummcol
pamtodjvurle
pamtohdiff
pamtohtmltbl
pamtopfm
pamtopnm
pamtotga
pamtouil
pango-1-config
pango-1.0-config
pango-config
pango-querymodules
pango1-config
pangocairo-1-config
pangocairo-1.0-config
pangocairo-config
pangoft2-1-config
pangoft2-1.0-config
pangoft2-config
pangox-1-config
pangox-1.0-config
pangox-config
pangoxft-1-config
pangoxft-1.0-config
pangoxft-config
par.pl
parl
parldyn
paste
patch
pax
pbm-config
pbmclean
pbmlife
pbmmake
pbmmask
pbmminkowski
pbmpage
pbmpscale
pbmreduce
pbmtext
pbmtextps
pbmto10x
pbmto4425
pbmtoascii
pbmtoatk
pbmtobbnbg
pbmtocmuwm
pbmtodjvurle
pbmtoepsi
pbmtoepson
pbmtog3
pbmtogem
pbmtogo
pbmtoibm23xx
pbmtoicon
pbmtojbg
pbmtolj
pbmtoln03
pbmtolps
pbmtomacp
pbmtomda
pbmtomgr
pbmtonokia
pbmtopgm
pbmtopi3
pbmtopk
pbmtoplot
pbmtoppa
pbmtopsg3
pbmtoptx
pbmtowbmp
pbmtox10bm
pbmtoxbm
pbmtoybm
pbmtozinc
pbmupc
pc1toppm
pcat
pcdovtoppm
pcpio
pcre-5.0-config
pcre-6.4-config
pcre-config
pcre4-config
pcre4posix-config
pcre5-config
pcre5posix-config
pcre6-config
pcregrep
pcreposix-config
pcxtoppm
pdf2dsc
pdf2ps
pdffonts
pdfimages
pdfinfo
pdfopt
pdftoppm
pdftops
pdftotext
pear
peardev
pecl
perl
perl5
perl5.8.8
perlbug
perlcc
perldoc
perlivp
perltidy
pf2afm
pfbtopfa
pfmt.dy
pfmtopam
pg
pgm-config
pgmabel
pgmbentley
pgmcrater
pgmenhance
pgmhist
pgmkernel
pgmminkowski
pgmmorphconv
pgmnoise
pgmramp
pgmtexture
pgmtofs
pgmtolispm
pgmtopbm
pgmtopgm
pgmtoppm
pgrep
php
php-config
phpize
pi1toppm
pi3topbm
piconv
picttoppm
ping
pj-gs.sh
pjtoppm
pkg-config
pkgadd
pkgask
pkgchk
pkgdata
pkginfo
pkgmk
pkgparam
pkgproto
pkgrm
pkgtrans
pktopbm
pl2pm
png-config
pngtogd
pngtogd2
pngtopnm
pnm-config
pnmalias
pnmcat
pnmcolormap
pnmcomp
pnmconvol
pnmcrop
pnmcut
pnmdepth
pnmenlarge
pnmflip
pnmgamma
pnmhisteq
pnmhistmap
pnmindex
pnminvert
pnmmargin
pnmmontage
pnmnlfilt
pnmnorm
pnmpad
pnmpaste
pnmpsnr
pnmquant
pnmremap
pnmrotate
pnmscale
pnmscalefixed
pnmshear
pnmsmooth
pnmsplit
pnmstitch
pnmtile
pnmtoddif
pnmtofits
pnmtojbig
pnmtojpeg
pnmtopclxl
pnmtoplainpnm
pnmtopng
pnmtopnm
pnmtops
pnmtorast
pnmtosgi
pnmtosir
pnmtotiff
pnmtotiffcmyk
pnmtoxwd
pod2html
pod2latex
pod2man
pod2readme
pod2text
pod2usage
pod_cover
podchecker
podselect
popt-config
post_mosy
pp
ppm-config
ppm2tiff
ppm3d
ppmbrighten
ppmchange
ppmcie
ppmcolormask
ppmcolors
ppmdim
ppmdist
ppmdither
ppmfade
ppmflash
ppmforge
ppmglobe
ppmhist
ppmlabel
ppmmake
ppmmix
ppmntsc
ppmpat
ppmquant
ppmquantall
ppmrainbow
ppmrelief
ppmrough
ppmshadow
ppmshift
ppmspread
ppmtoacad
ppmtoarbtxt
ppmtobmp
ppmtoeyuv
ppmtogif
ppmtoicr
ppmtoilbm
ppmtoleaf
ppmtolj
ppmtomap
ppmtomitsu
ppmtompeg
ppmtoneo
ppmtopcx
ppmtopgm
ppmtopi1
ppmtopict
ppmtopj
ppmtopjxl
ppmtoppm
ppmtopuzz
ppmtorgb3
ppmtosixel
ppmtoterm
ppmtowinicon
ppmtoxpm
ppmtoyuv
ppmtoyuvsplit
ppmtv
ppmwheel
pppconf
printafm
printf
printjobGUI
prosaic
prove
prwarn
ps2ascii
ps2epsi
ps2pdf
ps2pdf12
ps2pdf13
ps2pdf14
ps2pdfwr
ps2ps
psed
psidtopgm
pstopnm
pstruct
ptar
ptardiff
purge
pv.sh
pwdmenu
qrttoppm
quot
random
ras2tiff
rasttopnm
raw2gif
raw2tiff
rawtopgm
rawtoppm
rcmd
rcp
rcvalert
rcvfile
rcvprint
rcvtrip
rdist
rdjpgcom
read_boot_pdm
readcd
readfile
readline-config
recon
reject
removef
removepkg
resend
restore
rftp
rgb2gif
rgb2ycbcr
rgb3toppm
rgview
rgvim
rlogin
rlpstat
rmail
rmb
rpcinfo
rsvg
rsvg-2-config
rsvg-2.0-config
rsvg-config
rsvg-view
ruptime
rusers
rview
rview#
rvim
rwall
rwho
s2p
sabcmd
sablot-config
sar
sasl-config
sasl2-config
sbigtopgm
scandeps.pl
scanoff
scanon
scgcheck
scoadmin
scosh
scp
script
sd
sdiff
setcolor
setcolour
sftp
sgitopnm
shasum
shl
showmount
showtable
sirtopnm
skel
slang-config
slapadd
slapcat
slapdn
slapindex
slappasswd
slaptest
slconf
sldtoppm
slogin
slp-config
slptool
slsh
snmpstat
spctoppm
spell
sperl5.8.8
splain
split
spool
spottopgm
sputoppm
ssh
ssh-add
ssh-agent
ssh-keygen
ssh-keyscan
ssoPathMap
strace
strclean
strerr
stubmaker.pl
suidperl
swconfig
sxpm
sysvlp.sh
tabs
talk
tape
tapecntl
tapedump
tar
tcsh
telnet
text2gif
tftp
tgatoppm
thinkjettopbm
thumbnail
tic
tiff-3-config
tiff-3.4-config
tiff-3.5-config
tiff-3.7-config
tiff-config
tiff2bw
tiff2pdf
tiff2ps
tiff2rgba
tiffcmp
tiffcp
tiffdiff
tiffdither
tiffdump
tifficc
tiffinfo
tiffmedian
tiffset
tiffsplit
tifftopnm
timconv
timex
timtbl
tkpp
tommdf
tput
tr
tr_blck
tr_delfont
tr_fixltgt
tr_httpcheck
tr_imgaddsize
tr_llnk
tr_mvlnk
tr_staticssi
tr_tagcontentgrep
tr_xlnk
translate
trchan
trio-config
truerand-config
truss
ttf-config
uconv
umap
umnt
uncompface
uncompress
undelete
unexpand
uniq
units
unix-lpr.sh
unpack
update
uptime
usemouse
uucp
uudecode
uuencode
uulog
uuname
uupick
uustat
uuto
uux
vctags
vedit
vex
vi
view
vim
vimdiff
vimtutor
vmstat
vview
w
wbmptopbm
wchrtbl
webgif
webpng
wftopfa
what
whatis
which
whois
winicontoppm
wmf2eps
wmf2fig
wmf2gd
wmf2svg
wmf2x
writefile
wrjpgcom
wtpt
www-config
xargs
xbmtopbm
ximtoppm
xml-2-config
xml-config
xml2-2.0-config
xml2-2.1-config
xml2-2.2-config
xml2-2.3-config
xml2-2.4-config
xml2-2.5-config
xml2-2.6-config
xml2-config
xml_grep
xml_merge
xml_pp
xml_spellcheck
xml_split
xmlcatalog
xmllint
xmlpretty
xmlsec
xmlsec-config
xmlsec1
xmlsec1-config
xmlwf
xpath
xpdf
xpmtoppm
xql.pl
xslt-config
xslt-parser
xsltproc
xsubpp
xtd
xtod
xtract
xts
xtt
xvminitoppm
xwdtopnm
xxd
yapp
ybmtopbm
ypcat
ypmatch
ypwhich
ysh
yuvsplittoppm
yuvtoppm
zcat
zeisstopnm
zlib-config
zoo
zsh
zsh-4.2.6

Finally, df -kP output:

Filesystem         1024-blocks     Used Available Capacity Mounted on
/dev/root             10000961  2181849   7819112      22% /
/dev/boot                30000    13157     16843      44% /stand
/dev/pcn               5000000   165373   4834627       4% /[DEVELOPER_NAME]
/dev/data             55202506  3226803  51975703       6% /[DEVELOPER_NAME]/data

Hopefully, something here can help, I'd love to share one of the files but due to their sensitivity, and my inability to verify the contents, I'm afraid we're stuck with this for now :confused:

Hello! I can't say that I'm happy to be here yet, but hopefully that changes :grin:

There is only one (0.device) directory. Structure goes something like this:

  • /
  • [DEVELOPER_NAME]
    • 0.device
      • %sysvol
      • %tio
      • %update
      • bmmsback
      • bmmsvol
      • fmsback
      • fmsvol
      • oldhist
      • oldsys
      • sortvol
      • system
      • utilvol
    • devel
      • scripts
        • Files Listed Below
    • backup.arc.Z
    • laserfiles.tar
    • report.txt (which had just the volume usage data)
    • update.arc

That includes some of the files that are in there, however, what are they for and why are they there, I don't know.

Taking bmmsvol directory as a sample, there's .dat files and .lib files under it, not matching names or appearing to be related in any way (to me at least).

.lib files:

fas-gl.lib
bmms-so.lib
bmms-dw.lib
bmms-sa.lib
bmms-po.lib
bmms-ms.lib
fmap.lib
bmms-cs.lib
bmms-ui.lib
lib-cssg.lib
lib-dec.lib
fas-pr.lib
bmms-bom.lib
bmms-inv.lib
bmms-cs2.lib
bmms-qte.lib
bmms-dp.lib
bmms-ep.lib
bmms-ct.lib
bmms-pt.lib
bmms-ir.lib
bmms-vc.lib
bmms-wt.lib
bmms-est.lib
bmms-frm.lib
bmms-vr.lib
bmms-dt.lib
edif.l.lib
lib-fovm.lib
%userlib.lib
vqa.lib
vqa-prog.lib
fms-gl.lib
.1.lib
.2.lib
and so on....

Files under the scripts directory:

230
3diff
EXIT
LIBadd
RTS
addnl
addto192
amk
ansi
apply
atms
bapply
borrow
borrowdfc
bydate
bysize
bytype
c332
cados_fix
calls
ccc
cccfam
ccfam
cdm
chext
chkmkdir
ck
cleanrel
cleantrs
cleanup
clearsort
close
colon_fix
compdfc
createdoc
cydtot
databack
databackauto
del
delLIB
dellib
deltas
devmap
dfc
dfc_ver
dfcsum
dirsize
donate
dosubs
edgestat
empty_trash
exportall1
exportall2
fileconv
fileread
finalck
finalckr
findill
findparam
fixobj
fstat
ftpto
getdelta
getusernum
grepparam
lc
libadd
libmap
ll
lt
mkexports
mkexportsamk
mkiexports
mkm.cadol
mksubsi
mmfstat
mvall
nameid
numname
pagebrk
prt
qc
relnotes
replace
rfc
rgrep
rmovprt.exe
rmv_spaces
rocheaix
s
s2
saveapply
scat
sccspath
scripts
scripts.zoo
search
seekey
setinc
setinc.old
setscript
sgrep
shells
sortactv
sortmmap
spr
sprn
src
srcmap
stall
steal
stripchar
telto
textview
threeup
tl
tl_all
tolower
topten
toupper
tree
trim
trim2
tu
unborrow
unzip
vapply
volmap
vt100
whatsout
whereis
wp_filt42
wp_filt50
wyse
zip
zipgrep

It is a server, essentially serving as an ERP and a POS system, it was in production for at least 25 years, and as far as the origin goes, all I was told is that the people that were maintaining the original software are retiring due to age and health issues. I have a picture of the POS interface (which had to go thru a WinXP VM, no idea why), and I know they have some sort of an interface somewhere where they can enter POs, APs, etc. I have no idea where, how, and why, and frankly, it appears they don't either.

I suggest you use the strings command on a datafile, and tell us what the output was as already suggested
Correction: I would have liked to see what file command says about the data file first...
You could also go and look in /etc/init/init.d and look what you find, specially in the current and previous level that you are in as if you are running a software, we hope it starts and stop with the machine halt and reboot automatically

I would guess

/versyss/bin/userserver
/versyss/bin/commadmin

is linked to the application, you also have running a printserver and a webserver, is the data result transferred to the webserver for display?

That actually gave me something, running strings userserver returns the following:

(1.17)@(#)portable.h
1.17 - 97/05/07
(1.31)@(#)events.h
1.31 - 95/02/10
(?.?)@(#)license.h
1.4 - 94/12/05
$VAE/bin/licapps
INVALID
ASSIGN USER NUMBER
DELETE USER NUMBER
FIND USER NUMBER
ABORT SERVER
ASSIGN DEVICE NUMBER
MOVE DEVICE NUMBER
ASSIGN USER NUMBER
DELETE USER NUMBER
FIND USER NUMBER
ABORT USERSERVER
ASSIGN DEVICE NUMBER
MOVE DEVICE NUMBER
UPDATE OPER NUMBER
ATTACH TO USER NUMBER
BROADCAST
ABORT
PURGE PROGRAM
ASK FOR USER PAGE
RETURN USER PAGE
DEBUG
END OF LIST
/versyss
/versyss
%s/%s
etc/v_apps
VAE_MSGMAXAGE
VAE_MAXVOLS
cdikrv?p:
userserver not running
userserver not running
invoked on %s
VAE EXPIRATION DATE HAS BEEN EXCEEDED
assuming userserver already exists
%s/%s
log/userserverpid
cannot create "%s" file, %s
cannot write-lock "%s" file, %s
cannot write "%s" file, %s
LICENSING PROBLEM
cannot lock "%s" file, %s)
Failed to allocate shared memory
Failed to attach shared memory
Failed to attach cfam's shared memory
Failed to get G-Register Semaphore
Failed to initialize G-Register Semaphore
cannot open %s
building tables, please wait
ready
building tables, please wait
unable to lock %s file
%d%d%s%s
%s file corrupt, rebuilding it
%s -n %d &
failed to update the %s file
invalid message %d received from pid %d
FBUSER
FBUSER environment variable corrupt
Deleting user number %d
Failed to receive a message
Failed to send a message
error occurred, exiting
exiting on %s
userserver killed
removing shared memory
unable to removed shared memory
removing message queue
failed to remove message queue
Attaching pid %d to user %d
got an %s message from pid %d, user %d
Dumping all messages sent to pid %d...
Dumping all messages on message queue...
msgrcv failed
No messages on message queue
Usage: userserver [-cdikqr?]
  c  = restart userserver
  d  = turn debug on
  i  = display info (# licensed users, etc.)
  k  = kill userserver
  px = change "ping" interval to x minutes
  r  = remove all messages from message queue
  ?  = this help
Licensed for %d users
Serial number is %s
Expiration date is %s/%s/%s
userserver: %s
Restarting the userserver
VAE_MAXUSERS
Failed to receive a message
queue full, removed oldest message to pid %d
pid %d has not responded to his message for %d seconds
message sent to pid %d, pid not in usertable
%d) destpid: %d, senderpid: %d, msgtype: %d %s MESSAGE time: %s
user %d pid %d does not exist
Updating oper number to %d
(1.17)@(#)portable.h
1.17 - 97/05/07
usa_english
/lib/cftime/
January
February
March
April
June
July
August
September
October
November
December
Sunday
Monday
Tuesday
Wednesday
Thursday
Friday
Saturday
%H:%M:%S
%m/%d/%y
%a %b %e %T %Z %Y
CFTIME
%m/%d/%y
%I:%M:%S %p
%H:%M
%H:%M:%S
LANGUAGE
/lib/cftime/
/lib/cftime/
(1.17)@(#)portable.h
1.17 - 97/05/07
o -Ae
L7gZr[!
)9F'4c
ND#:
;x<G6
=asline length of %d too long
(1.17)@(#)portable.h
1.17 - 97/05/07
(1.4)@(#)cosmetic.h
1.4 - 94/11/22
(1.10)@(#)l_cfamif.h
1.10 - 98/07/06
(1.3)@(#)l_cfamstr.h
1.3 - 94/11/22
(1.9)@(#)l_cfam.h
1.9 - 98/07/06
(1.11)@(#)l_cfamshm.h
1.11 - 98/07/20
(1.12)@(#)l_cfamtype.h
1.12 - 94/11/22
(1.9)@(#)l_cfamerr.h
1.9 - 94/11/22
(1.6)@(#)l_cfampkt.h
1.6 - 98/05/04
(userserver -c &) ;sleep 3
begin closvol_ma
end closvol_ma
begin openvol_ma
end openvol_ma
begin shmvol_delete_ma
end shmvol_delete_ma
begin shmvol_protect_ma
end shmvol_protect_ma
begin shmvol_relterm_ma
end shmvol_relterm_ma
begin shmvol_protect_ma
end shmvol_protect_ma
%s%s
/tmp/.cfam_vol_lock
%s%s
/tmp/.cfam_tfa_lock
(1.17)@(#)portable.h
1.17 - 97/05/07
(1.4)@(#)cosmetic.h
1.4 - 94/11/22
(1.10)@(#)l_cfamif.h
1.10 - 98/07/06
(1.3)@(#)l_cfamstr.h
1.3 - 94/11/22
(1.9)@(#)l_cfam.h
1.9 - 98/07/06
(1.11)@(#)l_cfamshm.h
1.11 - 98/07/20
VAE_DEBUG_VOLTBL
VAE_DEBUG_FILESIZE
Unable to IPC_STAT shared memory, errno=%d
volshmptr->numvols=%d, less than actual table size (%d)
save_numvols=%d *shm_numvols=%d
save_numvols=%d, volshmptr->numvols=%d
volshmptr->hivol=%d, save_numvols=%d
shm table entry %d is corrupt
global volid=%d, vtprot=%d, opncnt=%d
invalid device: global volid=%d, vtdev=%d
open volume above hivol, entry=%d, hivol=%d
local volume table entry %d is corrupt
open count bad: local volid=%d, global volid=%d, opncnt=%d
Errors detected at %s, dumping volume tables
---- End of output for pid %d ----
/tmp/debug_voltbl
pid %d at %s
GLOBAL VOLUME TABLE
%5s %10s %6s %6s %11s
slot
volume
device
count
protect pid
%5d %10s %6d %6d %11d
LOCAL VOLUME TABLE
%3d: %d
(1.17)@(#)portable.h
1.17 - 97/05/07
(1.4)@(#)cosmetic.h
1.4 - 94/11/22
(1.17)@(#)portable.h
1.17 - 97/05/07
(1.4)@(#)cosmetic.h
1.4 - 94/11/22
(1.7)@(#)l_cmdnum.h
1.7 - 94/03/03
(1.10)@(#)l_cfamif.h
1.10 - 98/07/06
(1.6)@(#)l_cfampkt.h
1.6 - 98/05/04
(1.3)@(#)l_cfamstr.h
1.3 - 94/11/22
CADOLPATH
/versyss/data
LOCAL
local
REMOTE
mounted/remote
UNMOUNTED
mountpoint
VAE_EXTEND
/versyss
(1.17)@(#)portable.h
1.17 - 97/05/07
(1.4)@(#)cosmetic.h
1.4 - 94/11/22
(1.6)@(#)l_cfampkt.h
1.6 - 98/05/04
(1.3)@(#)l_cfamstr.h
1.3 - 94/11/22
(1.9)@(#)l_cfam.h
1.9 - 98/07/06
(1.12)@(#)l_cfamtype.h
1.12 - 94/11/22
(1.9)@(#)l_cfamerr.h
1.9 - 94/11/22
(1.10)@(#)l_cfamif.h
1.10 - 98/07/06
(1.11)@(#)l_cfamshm.h
1.11 - 98/07/20
HOME
/SYSVOL
(1.17)@(#)portable.h
1.17 - 97/05/07
(1.4)@(#)cosmetic.h
1.4 - 94/11/22
(1.9)@(#)l_cfam.h
1.9 - 98/07/06
(1.12)@(#)l_cfamtype.h
1.12 - 94/11/22
(1.3)@(#)l_cfamstr.h
1.3 - 94/11/22
(1.9)@(#)l_cfamerr.h
1.9 - 94/11/22
(1.10)@(#)l_cfamif.h
1.10 - 98/07/06
(1.6)@(#)l_cfampkt.h
1.6 - 98/05/04
(1.17)@(#)portable.h
1.17 - 97/05/07
(1.4)@(#)cosmetic.h
1.4 - 94/11/22
(1.9)@(#)l_cfamerr.h
1.9 - 94/11/22
(1.10)@(#)l_cfamif.h
1.10 - 98/07/06
(1.7)@(#)l_cmdnum.h
1.7 - 94/03/03
(1.6)@(#)l_cfampkt.h
1.6 - 98/05/04
(1.3)@(#)l_cfamstr.h
1.3 - 94/11/22
(1.9)@(#)l_cfam.h
1.9 - 98/07/06
(1.12)@(#)l_cfamtype.h
1.12 - 94/11/22
(1.11)@(#)l_cfamshm.h
1.11 - 98/07/20
%s/%d.device/%s/.%d.lib
(1.17)@(#)portable.h
1.17 - 97/05/07
(1.10)@(#)l_cfamif.h
1.10 - 98/07/06
(1.7)@(#)l_cmdnum.h
1.7 - 94/03/03
(1.6)@(#)l_cfampkt.h
1.6 - 98/05/04
(1.3)@(#)l_cfamstr.h
1.3 - 94/11/22
(1.17)@(#)portable.h
1.17 - 97/05/07
(1.10)@(#)l_cfamif.h
1.10 - 98/07/06
(1.7)@(#)l_cmdnum.h
1.7 - 94/03/03
(1.6)@(#)l_cfampkt.h
1.6 - 98/05/04
(1.3)@(#)l_cfamstr.h
1.3 - 94/11/22
(1.17)@(#)portable.h
1.17 - 97/05/07
(1.4)@(#)cosmetic.h
1.4 - 94/11/22
(1.9)@(#)l_cfam.h
1.9 - 98/07/06
(1.12)@(#)l_cfamtype.h
1.12 - 94/11/22
(1.3)@(#)l_cfamstr.h
1.3 - 94/11/22
(1.6)@(#)l_cfampkt.h
1.6 - 98/05/04
(1.9)@(#)l_cfamerr.h
1.9 - 94/11/22
(1.10)@(#)l_cfamif.h
1.10 - 98/07/06
(1.7)@(#)l_cmdnum.h
1.7 - 94/03/03
(1.17)@(#)portable.h
1.17 - 97/05/07
(1.4)@(#)cosmetic.h
1.4 - 94/11/22
(1.6)@(#)l_cfampkt.h
1.6 - 98/05/04
(1.3)@(#)l_cfamstr.h
1.3 - 94/11/22
(1.9)@(#)l_cfamerr.h
1.9 - 94/11/22
(1.10)@(#)l_cfamif.h
1.10 - 98/07/06
(1.9)@(#)l_cfam.h
1.9 - 98/07/06
(1.12)@(#)l_cfamtype.h
1.12 - 94/11/22
(1.7)@(#)l_cmdnum.h
1.7 - 94/03/03
(1.11)@(#)l_cfamshm.h
1.11 - 98/07/20
@(#)l_inline.h
1.1 - 94/03/03
.volume.dir
%s/%d.device/%s/%s
%s/%d.device/%s/%s
%s/%d.device/%s
%s/%d.device/%s
%s/%d.device
device%02d
00/00/00
label
label
%s/%d.device/%s/%s
%mountpt.res
%-20s
%mountpt.res
%-20s
%-20s
00/00/00
%02d/%02d/%02d
(1.17)@(#)portable.h
1.17 - 97/05/07
(1.10)@(#)l_cfamif.h
1.10 - 98/07/06
(1.7)@(#)l_cmdnum.h
1.7 - 94/03/03
(1.6)@(#)l_cfampkt.h
1.6 - 98/05/04
(1.3)@(#)l_cfamstr.h
1.3 - 94/11/22
(1.17)@(#)portable.h
1.17 - 97/05/07
(1.4)@(#)cosmetic.h
1.4 - 94/11/22
(1.6)@(#)l_cfampkt.h
1.6 - 98/05/04
(1.3)@(#)l_cfamstr.h
1.3 - 94/11/22
(1.9)@(#)l_cfam.h
1.9 - 98/07/06
(1.12)@(#)l_cfamtype.h
1.12 - 94/11/22
(1.9)@(#)l_cfamerr.h
1.9 - 94/11/22
(1.10)@(#)l_cfamif.h
1.10 - 98/07/06
(1.11)@(#)l_cfamshm.h
1.11 - 98/07/20
(1.17)@(#)portable.h
1.17 - 97/05/07
(1.4)@(#)cosmetic.h
1.4 - 94/11/22
(1.6)@(#)l_cfampkt.h
1.6 - 98/05/04
(1.3)@(#)l_cfamstr.h
1.3 - 94/11/22
(1.9)@(#)l_cfamerr.h
1.9 - 94/11/22
(1.10)@(#)l_cfamif.h
1.10 - 98/07/06
(1.9)@(#)l_cfam.h
1.9 - 98/07/06
(1.12)@(#)l_cfamtype.h
1.12 - 94/11/22
(1.11)@(#)l_cfamshm.h
1.11 - 98/07/20
.device
%s/%d.device/%s
%s/%s/%s
%mountpt.res
%mountpt.res
%s/%d.device
/.tfa.dir
%s/%d.device
%s/%d.device
%s/%d.device
%mountpt.res
%s/%d.device/%s
%s/%d.device/%s
%mountpt.res
(1.17)@(#)portable.h
1.17 - 97/05/07
(1.4)@(#)cosmetic.h
1.4 - 94/11/22
(1.10)@(#)l_cfamif.h
1.10 - 98/07/06
(1.7)@(#)l_cmdnum.h
1.7 - 94/03/03
(1.6)@(#)l_cfampkt.h
1.6 - 98/05/04
(1.3)@(#)l_cfamstr.h
1.3 - 94/11/22
(1.17)@(#)portable.h
1.17 - 97/05/07
(1.10)@(#)l_cfamif.h
1.10 - 98/07/06
(1.7)@(#)l_cmdnum.h
1.7 - 94/03/03
(1.6)@(#)l_cfampkt.h
1.6 - 98/05/04
(1.3)@(#)l_cfamstr.h
1.3 - 94/11/22
(1.17)@(#)portable.h
1.17 - 97/05/07
(1.10)@(#)l_cfamif.h
1.10 - 98/07/06
(1.7)@(#)l_cmdnum.h
1.7 - 94/03/03
(1.6)@(#)l_cfampkt.h
1.6 - 98/05/04
(1.3)@(#)l_cfamstr.h
1.3 - 94/11/22
(1.17)@(#)portable.h
1.17 - 97/05/07
(1.4)@(#)cosmetic.h
1.4 - 94/11/22
(1.10)@(#)l_cfamif.h
1.10 - 98/07/06
(1.7)@(#)l_cmdnum.h
1.7 - 94/03/03
(1.6)@(#)l_cfampkt.h
1.6 - 98/05/04
(1.3)@(#)l_cfamstr.h
1.3 - 94/11/22
TOT ACCT
init
finish
opdev
opvol
cldev
clvol
opdata
opdir
close
unlock
rdrec
rdkey
wrrec
wrkey
delete
wrback
dupchan
rdkeytfadir
ldilseg
getlibno
valprog
loadmach
instlib
libcomp
nextlibno
libresize
keepobj
opentfa
clostfa
openchan
closchan
readchan
writchan
backchan
rewndchan
windchan
eofchan
creatchan
delchan
renchan
clalchan
chtxttyp
zerofill
txtflcopy
mkdev
deldev
mkvol
delvol
delvolbyname
createl
deletel
renamel
timestamp
openwork
dopdev
doplib
doptfa
dopvol
rdsect
wrsect
rdtrack
wrtrack
protfile
protdir
unprot
lockscr
relterm
cleanup
callunix
systfa
systvol
getname
checkdb
elempath
setglobals
prntcpkt
prntretpkt
initpkt
createtfile
deletetfile
findtfile
getlibname
res83
anylocks
shm_update
usr86
usr87
usr88
usr89
-----------------------------------------------------------------------------
CMD| cif_%s() pid [%d] userno[%d]
----
    Arguments Passed
    
pid = %d
TAKES NO ARGUMENTS
tfa_no %d file_name <%s>
dev_no %d
dev_no %d vol_name <%s>
vol_no %d
chan_no %d vol_no %d file_name <%s>
NOWAIT %d LOCK %d chan_no %d rec_no %ld
NOWAIT %d LOCK %d chan_no %d rec_no %ld key <%s>
lock %d chan_no %d rec_no %ld 
key <%s> length %d
lock %d chan_no %d rec_no %ld
buffer address passed
srcchan %d destchan %d
chan_no %d rec_no %ld key <%s>
vol_no %d lib_no %d prog_no %d sec_no %d
vol_no %d lib_no %d
vol_no %d lib_name <%s>
vol_no %d lib_no %d prog_no %d
option %d chan_no %d
chan_no %d prog_no %d
vol_no %d
chan_no %d extent %d
chan_no %d prog_no %d strt_sect %d 
sect_count %d asmflg %d objstrt %d 
prog_name <%s> obj_name <%s>
vol_no %d tfa_name <%s>
tfa_no %d
lock %d chan_no %d tfa_no %d
file_name <%s> %s mode
block
normal
chan_no length %d terminator <%c>
chan_no = %d maxback = %d 
termslist <%s>
chan_no %d tfa_no %d filetype %d
file_name <%s> %s file %s mode
UNIX
MMIOS
block
normal
chan_no %d
chan_no %d newname <%s>
option %d
%s file type chan_no %d ftype %d
change
read
option %d chan_no nmrbytes %d
input channel %d output channel %d
dev_no %d
dev_no %d
vol_no %d
dev_no %d mntpnt %d vol_name <%s>
dev_no %d vol_name <%s>
option %d chan_no %d vol_no %d 
elname <%s> eltype %d extent %d
ctrlinfo[] = %02x %02x %02x
vol_no %d elname <%s> eltype %d
option %d on %s eltype %d id_no %d
textfile
element
elname <%s> timestamp %ld
chan_no %d vol_no %d ftype %d name <%s>
chan_no %d dev_no %d
chan_no %d vol_no %d lib_name %s
chan_no %d tfa_no %d
chan_no %d vol_no %d
lock %d chan_no %d track_no %d sect_no %d
numsecs to read %d
unlock %d chan_no %d track_no %d sect_no %d
numsecs to write %d
lock %d chan_no %d track_no %d
unlock %d chan_no %d track_no %d
dirtype %d dir_no %d
option %d lockref %d
option %d backgrd uid %d
%s transfer all channels spooler is %s
do not
NO-OP function
%s_no %d
option %d chan_no %d
option %d chan_no %d
RET| %s cif_%s() pid [%d] userno [%d]| 
SUCCESS!
FAILED!
----
c_status = %-4d c_errcode = %-4d c_io_errcode = %-4d
c_status = %-4d c_errcode = %-4d
    Return Globals Set:
    
CFAM interrupted in SHARED MEMORY UPDATE?: %s
TRUE
FALSE
shared memory update counter: %d
c_dev = %d
c_eltype %d c_key <%s> c_vol %d
c_key <%s> c_vol %d
c_vol %d
c_ftype = %d c_idxln = %d c_numsecs = %d c_numrecs = %d c_keyln = %d c_numtrks %d
c_numtrks %d
c_rec %ld
c_rec %ld c_key <%s> c_keyln %d c_strl %d
c_key <%s> c_keyln %d c_strl %d
c_key <%s>
c_eltype %d c_numsecs %d
c_numsecs %d
c_key <%s>
c_lib %d
c_tfa %d
c_eltype %d
c_term <%c> c_strl %d
 pathname <%s>
c_strl %d
c_ftype %d
c_rec %ld
c_lockref %d
NO GLOBALS SET
NO LOCKS
FILE %d HAS A RECORD LOCK OR IS PROTECTED
------------------------------------------------------------------------------
time = %6.2f secs 
%-20s%-10s%-10s%-10s
Function Name
#Calls
Tot Time
Avg/Call
cif_%-14s  %4d     %6.2f    %6.4f
-----------------------------------------------------------------------------
Non-interface Accounting
-----------------------------------------------------------------------------
%-20s  %4d     %6.2f    %6.4f
-----------------------------------------------------------------------------
%-20s%4s     %6.2f    %6s
libcfam tot
 N/A
 N/A
%-20s%4s     %6.2f    %6s
 N/A
 N/A
(1.17)@(#)portable.h
1.17 - 97/05/07
(1.17)@(#)portable.h
1.17 - 97/05/07
(1.4)@(#)cosmetic.h
1.4 - 94/11/22
(1.9)@(#)l_cfam.h
1.9 - 98/07/06
(1.12)@(#)l_cfamtype.h
1.12 - 94/11/22
(1.3)@(#)l_cfamstr.h
1.3 - 94/11/22
(1.6)@(#)l_cfampkt.h
1.6 - 98/05/04
(1.9)@(#)l_cfamerr.h
1.9 - 94/11/22
(1.10)@(#)l_cfamif.h
1.10 - 98/07/06
(1.11)@(#)l_cfamshm.h
1.11 - 98/07/20
@(#)l_inline.h
1.1 - 94/03/03
/.tfa.dir
%03d
(1.17)@(#)portable.h
1.17 - 97/05/07
(1.4)@(#)cosmetic.h
1.4 - 94/11/22
(1.6)@(#)l_cfampkt.h
1.6 - 98/05/04
(1.3)@(#)l_cfamstr.h
1.3 - 94/11/22
(1.9)@(#)l_cfam.h
1.9 - 98/07/06
(1.12)@(#)l_cfamtype.h
1.12 - 94/11/22
(1.11)@(#)l_cfamshm.h
1.11 - 98/07/20
.res
.dat
.tfa
.lib
.dir
.tmp
%s/%d.device/%s/.%d.lib
%s/%d.device/%s/%s.tfa
%s/%d.device/%s/%s
%s/%d.device/%s
(1.17)@(#)portable.h
1.17 - 97/05/07
(1.4)@(#)cosmetic.h
1.4 - 94/11/22
(1.6)@(#)l_cfampkt.h
1.6 - 98/05/04
(1.3)@(#)l_cfamstr.h
1.3 - 94/11/22
(1.9)@(#)l_cfam.h
1.9 - 98/07/06
(1.12)@(#)l_cfamtype.h
1.12 - 94/11/22
(1.7)@(#)l_cmdnum.h
1.7 - 94/03/03
(1.9)@(#)l_cfamerr.h
1.9 - 94/11/22
(1.10)@(#)l_cfamif.h
1.10 - 98/07/06
(1.11)@(#)l_cfamshm.h
1.11 - 98/07/20
device%d
%s/%d.device
%s/%d.device/%s
%s/%d.device/%s/%s.tfa/.tfa.dir
(1.17)@(#)portable.h
1.17 - 97/05/07
(1.4)@(#)cosmetic.h
1.4 - 94/11/22
(1.6)@(#)l_cfampkt.h
1.6 - 98/05/04
(1.3)@(#)l_cfamstr.h
1.3 - 94/11/22
(1.9)@(#)l_cfamerr.h
1.9 - 94/11/22
(1.10)@(#)l_cfamif.h
1.10 - 98/07/06
(1.9)@(#)l_cfam.h
1.9 - 98/07/06
(1.12)@(#)l_cfamtype.h
1.12 - 94/11/22
(1.11)@(#)l_cfamshm.h
1.11 - 98/07/20
CADOL Program Library
.volume
cfamrendir '%s' '%s'
%s/%d.device/%s
.volume
%TMP
/XXXXXX
%s/.tfa.dir
%s/%d.device/%s/%s.tfa
.tfa.dir
%s%s
.lib
%s/%d.device/%s
%s/.tfa.dir
(1.17)@(#)portable.h
1.17 - 97/05/07
(1.4)@(#)cosmetic.h
1.4 - 94/11/22
(1.9)@(#)l_cfamerr.h
1.9 - 94/11/22
(1.10)@(#)l_cfamif.h
1.10 - 98/07/06
(1.9)@(#)l_cfam.h
1.9 - 98/07/06
(1.12)@(#)l_cfamtype.h
1.12 - 94/11/22
(1.3)@(#)l_cfamstr.h
1.3 - 94/11/22
(1.6)@(#)l_cfampkt.h
1.6 - 98/05/04
.lib
.res
.dat
.tfa
.lib
.dir
.tmp
/etc/mnttab
(1.17)@(#)portable.h
1.17 - 97/05/07
(1.4)@(#)cosmetic.h
1.4 - 94/11/22
(1.9)@(#)l_cfam.h
1.9 - 98/07/06
(1.12)@(#)l_cfamtype.h
1.12 - 94/11/22
(1.3)@(#)l_cfamstr.h
1.3 - 94/11/22
(1.7)@(#)l_cmdnum.h
1.7 - 94/03/03
(1.6)@(#)l_cfampkt.h
1.6 - 98/05/04
(1.9)@(#)l_cfamerr.h
1.9 - 94/11/22
(1.10)@(#)l_cfamif.h
1.10 - 98/07/06
(1.17)@(#)portable.h
1.17 - 97/05/07
(1.4)@(#)cosmetic.h
1.4 - 94/11/22
(1.9)@(#)l_cfam.h
1.9 - 98/07/06
(1.12)@(#)l_cfamtype.h
1.12 - 94/11/22
(1.3)@(#)l_cfamstr.h
1.3 - 94/11/22
(1.7)@(#)l_cmdnum.h
1.7 - 94/03/03
(1.6)@(#)l_cfampkt.h
1.6 - 98/05/04
(1.9)@(#)l_cfamerr.h
1.9 - 94/11/22
(1.10)@(#)l_cfamif.h
1.10 - 98/07/06
%s/%s
log/vae_extend
%s  %c%s%c  
%s %s %c%s%c &
(1.17)@(#)portable.h
1.17 - 97/05/07
(1.4)@(#)cosmetic.h
1.4 - 94/11/22
(1.9)@(#)l_cfam.h
1.9 - 98/07/06
(1.12)@(#)l_cfamtype.h
1.12 - 94/11/22
(1.3)@(#)l_cfamstr.h
1.3 - 94/11/22
(1.7)@(#)l_cmdnum.h
1.7 - 94/03/03
(1.6)@(#)l_cfampkt.h
1.6 - 98/05/04
(1.9)@(#)l_cfamerr.h
1.9 - 94/11/22
(1.10)@(#)l_cfamif.h
1.10 - 98/07/06
(1.17)@(#)portable.h
1.17 - 97/05/07
(1.4)@(#)cosmetic.h
1.4 - 94/11/22
(1.9)@(#)l_cfam.h
1.9 - 98/07/06
(1.12)@(#)l_cfamtype.h
1.12 - 94/11/22
(1.3)@(#)l_cfamstr.h
1.3 - 94/11/22
(1.7)@(#)l_cmdnum.h
1.7 - 94/03/03
(1.6)@(#)l_cfampkt.h
1.6 - 98/05/04
(1.9)@(#)l_cfamerr.h
1.9 - 94/11/22
(1.10)@(#)l_cfamif.h
1.10 - 98/07/06
@(#)l_inline.h
1.1 - 94/03/03
(1.17)@(#)portable.h
1.17 - 97/05/07
(1.4)@(#)cosmetic.h
1.4 - 94/11/22
(1.17)@(#)portable.h
1.17 - 97/05/07
(1.4)@(#)cosmetic.h
1.4 - 94/11/22
(1.9)@(#)l_cfam.h
1.9 - 98/07/06
(1.12)@(#)l_cfamtype.h
1.12 - 94/11/22
(1.3)@(#)l_cfamstr.h
1.3 - 94/11/22
(1.6)@(#)l_cfampkt.h
1.6 - 98/05/04
(1.9)@(#)l_cfamerr.h
1.9 - 94/11/22
(1.10)@(#)l_cfamif.h
1.10 - 98/07/06
(1.11)@(#)l_cfamshm.h
1.11 - 98/07/20
(1.17)@(#)portable.h
1.17 - 97/05/07
(1.4)@(#)cosmetic.h
1.4 - 94/11/22
(1.9)@(#)l_cfam.h
1.9 - 98/07/06
(1.12)@(#)l_cfamtype.h
1.12 - 94/11/22
(1.3)@(#)l_cfamstr.h
1.3 - 94/11/22
(1.7)@(#)l_cmdnum.h
1.7 - 94/03/03
(1.6)@(#)l_cfampkt.h
1.6 - 98/05/04
(1.9)@(#)l_cfamerr.h
1.9 - 94/11/22
(1.10)@(#)l_cfamif.h
1.10 - 98/07/06
(1.17)@(#)portable.h
1.17 - 97/05/07
(1.4)@(#)cosmetic.h
1.4 - 94/11/22
(1.6)@(#)l_cfampkt.h
1.6 - 98/05/04
(1.3)@(#)l_cfamstr.h
1.3 - 94/11/22
(1.9)@(#)l_cfamerr.h
1.9 - 94/11/22
(1.10)@(#)l_cfamif.h
1.10 - 98/07/06
(1.9)@(#)l_cfam.h
1.9 - 98/07/06
(1.12)@(#)l_cfamtype.h
1.12 - 94/11/22
(1.11)@(#)l_cfamshm.h
1.11 - 98/07/20
(1.17)@(#)portable.h
1.17 - 97/05/07
(1.10)@(#)l_cfamif.h
1.10 - 98/07/06
(1.7)@(#)l_cmdnum.h
1.7 - 94/03/03
(1.6)@(#)l_cfampkt.h
1.6 - 98/05/04
(1.3)@(#)l_cfamstr.h
1.3 - 94/11/22
Day Mon 00 00:00:00 1900
SunMonTueWedThuFriSat
JanFebMarAprMayJunJulAugSepOctNovDec
: option requires an argument -- 
: illegal option -- 
Unknown error
Error 0
Not owner
No such file or directory
No such process
Interrupted system call
I/O error
No such device or address
Arg list too long
Exec format error
Bad file number
No child processes
No more processes
Not enough space
Permission denied
Bad address
Block device required
Device busy
File exists
Cross-device link
No such device
Not a directory
Is a directory
Invalid argument
File table overflow
Too many open files
Not a typewriter
Text file busy
File too large
No space left on device
Illegal seek
Read-only file system
Too many links
Broken pipe
Argument out of domain
Result too large
No message of desired type
Identifier removed
Channel number out of range
Level 2 not synchronized
Level 3 halted
Level 3 reset
Link number out of range
Protocol driver not attached
No CSI structure available
Level 2 halted
Deadlock situation detected/avoided
No record locks available
Error 47
Error 48
Error 49
Bad exchange descriptor
Bad request descriptor
Message tables full
Anode table overflow
Bad request code
Invalid slot
File locking deadlock
Bad font file format
Error 58
Error 59
Not a stream device
No data available
Timer expired
Out of stream resources
Machine is not on the network
Package not installed
Object is remote
Link has been severed
Advertise error
Srmount error
Communication error on send
Protocol error
Error 72
Error 73
Multihop attempted
Error 75
Error 76
Not a data message
Error 78
Error 79
Name not unique on network
File descriptor in bad state
Remote address changed
Can not access a needed shared library
Accessing a corrupted shared library
.lib section in a.out corrupted
Attempting to link in more shared libraries than system limit
Can not exec a shared library directly
Error 87
Error 88
Error 89
Error 90
Error 91
Error 92
Error 93
Error 94
Error 95
Error 96
Error 97
Error 98
Error 99
Error 100
Error 101
Error 102
Error 103
Error 104
Error 105
Error 106
Error 107
Error 108
Error 109
Error 110
Error 111
Error 112
Error 113
Error 114
Error 115
Error 116
Error 117
Error 118
Error 119
Error 121
Error 122
Error 123
Error 124
Error 125
Error 126
Error 127
Error 128
Error 129
Error 130
Error 131
Error 132
Error 133
Error 134
Structure needs cleaning
Error 136
Not a name file
Not available
Is a name file
remote i/o error
reserved for future use
Error 142
/bin/sh
XXXXXX
/usr/tmp/
/usr/tmp/
                    
00000000000000000000
0123456789ABCDEF
0123456789abcdef
nan0x
NAN0X
         (((((                  H
 !"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~
CHRCLASS
ascii
/lib/chrclass/
wb5,6)6d
#)*)35
?TD=)=
G79 8

Running strings commadmin returns:

(1.17)@(#)portable.h
1.17 - 97/05/07
(1.9)@(#)commmod.h
1.9 - 94/11/22
(1.6)@(#)commerrs.h
1.6 - 93/03/16
(1.1)@(#)getport.h
1.2 - 93/03/26
(1.1)@(#)commadmin.h
1.1 - 93/03/16
/versyss
%s/comm/comadmin.err
%s/comm/prot.out
%s/comm/prot.err
%s/comm/DAdmincommand
fail to mknod <%s>, errno = %d
fail to open <%s>, errno = %d
fail to read cmdpipe, %d bytes, errno = %d
fail to read cmdpipe, expect %d bytes, see %d bytes
%s/comm/DAdminrsp%05d
fail to open <%s>, errno = %d
fail to write to <%s>, %d bytes, errno = %d
fail to write to <%s>, %d bytes, errno = %d
%s/comm/DAdminrsp%05d
DevAdmin (stat of %s)
%s/comm/DAdminrunning
-c%d
-r%d
%s/bin/asyncpi
%s/bin/bscepi
commadmin (exec %s %s %s)
fail to open <%s> file, errno = %d
fail to write to <%s>, %d bytes, errno = %d
(1.17)@(#)portable.h
1.17 - 97/05/07
(1.1)@(#)getport.h
1.2 - 93/03/26
/dev/rtty%01d%02d1
/versyss
%s/config/DeviceMapFile
TTYDEVICE
TEXTFILE
O_APPEND
NAMEDPIPE
O_DELAY
I_DELAY
/bin/sh
PATH
:/bin:/usr/bin
Unknown error
Error 0
Not owner
No such file or directory
No such process
Interrupted system call
I/O error
No such device or address
Arg list too long
Exec format error
Bad file number
No child processes
No more processes
Not enough space
Permission denied
Bad address
Block device required
Device busy
File exists
Cross-device link
No such device
Not a directory
Is a directory
Invalid argument
File table overflow
Too many open files
Not a typewriter
Text file busy
File too large
No space left on device
Illegal seek
Read-only file system
Too many links
Broken pipe
Argument out of domain
Result too large
No message of desired type
Identifier removed
Channel number out of range
Level 2 not synchronized
Level 3 halted
Level 3 reset
Link number out of range
Protocol driver not attached
No CSI structure available
Level 2 halted
Deadlock situation detected/avoided
No record locks available
Error 47
Error 48
Error 49
Bad exchange descriptor
Bad request descriptor
Message tables full
Anode table overflow
Bad request code
Invalid slot
File locking deadlock
Bad font file format
Error 58
Error 59
Not a stream device
No data available
Timer expired
Out of stream resources
Machine is not on the network
Package not installed
Object is remote
Link has been severed
Advertise error
Srmount error
Communication error on send
Protocol error
Error 72
Error 73
Multihop attempted
Error 75
Error 76
Not a data message
Error 78
Error 79
Name not unique on network
File descriptor in bad state
Remote address changed
Can not access a needed shared library
Accessing a corrupted shared library
.lib section in a.out corrupted
Attempting to link in more shared libraries than system limit
Can not exec a shared library directly
Error 87
Error 88
Error 89
Error 90
Error 91
Error 92
Error 93
Error 94
Error 95
Error 96
Error 97
Error 98
Error 99
Error 100
Error 101
Error 102
Error 103
Error 104
Error 105
Error 106
Error 107
Error 108
Error 109
Error 110
Error 111
Error 112
Error 113
Error 114
Error 115
Error 116
Error 117
Error 118
Error 119
Error 121
Error 122
Error 123
Error 124
Error 125
Error 126
Error 127
Error 128
Error 129
Error 130
Error 131
Error 132
Error 133
Error 134
Structure needs cleaning
Error 136
Not a name file
Not available
Is a name file
remote i/o error
reserved for future use
Error 142
                    
00000000000000000000
0123456789ABCDEF
0123456789abcdef
nan0x
NAN0X
         (((((                  H
 !"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~
CHRCLASS
ascii
/lib/chrclass/
wb5,6)6d
#)*)35
?TD=)=
G79 8

/etc/init.d contains the following:

ANNOUNCE
CLEAN
HWDNLOAD
KERNINIT
MDAC
MOUNTFSYS
README
RECOVERY
RESERVED
RMTMPFILES
SYSINIT
USRDAEMON
USRDEFINE
cron
cups
giomap_noded
hostmib
ipfnat
lp
mmdf
perf
sync
sysetup
tomcat
uucp
volutiond

Appears as if some of these are SQL commands; now, how and where are they applied, and how could I get to the point where I can execute them? That's something I'd love to know

We are a bit out of phase between my replies ( I am not fluent in english anymore and its asking me a lot of time to put down my thoughts in English, and so you have posted meanwhile ...)

I am not sure to understand the structure:
Is it each user has a similar structure : /developper_name/0.device...
which puzzles me, why have binaries in /data ???

It only makes sense if the application was mono_user at the origin, and someone found a way to bypass the restrictions...

The picture is more worrying if you are in a true multi_user environment, because then /versyss/bin/commadmin would be a sort of transaction monitor...

No worries, it also took me a while to format those so replies are flying in faster than I can process at this point lol.

No, it's not for each user, user directories are basically empty, full pwd on those would be just /[DEVELOPER_NAME]/data/0.device/...

Worth mentioning is that the customer is also using root to access and use everything, there is multiple other users but :slight_smile: :slight_smile: :slight_smile:

It is going to be quite challenging to get all to work without root privilege hehehe

Who cares about privileged access anyways, am I right? :joy:

Rather than looking at the data, look at the user(s) .profile to see how the application is started. Once you know the program, you should be able to figure out the language and file format.

1 Like

VERSYSS Commercial Systems, Inc

I've been down that rabbit hole, but from what I can see, it's just setting up the interface :confused: I might be missing something though...

#      @(#) profile 26.1 95/09/18 
#
#      Copyright (C) 1990-1995 The Santa Cruz Operation, Inc.
#       All Rights Reserved.
#      The information in this file is provided for the exclusive use of
#      the licensees of The Santa Cruz Operation, Inc.  Such users have the
#      right to use, modify, and incorporate this code into other products
#      for purposes authorized by the license agreement provided they include
#      this notice and the associated copyright notice with any such product.
#      The information in this file is provided "AS IS" without warranty.
#
# .profile      -- Commands executed by a login Korn shell
#

# set command search path
PATH=$PATH:$HOME/bin:/versyss/data/devel/scripts:.
export PATH

if [ -z "$LOGNAME" ]; then
 LOGNAME=`logname`              # name of user who logged in
 export LOGNAME
fi

MAIL=/usr/spool/mail/$LOGNAME           # mailbox location
export MAIL

if [ -z "$PWD" ]; then
 PWD=$HOME                      # assumes initial cwd is HOME
 export PWD
fi

if [ -f $HOME/.kshrc -a -r $HOME/.kshrc ]; then
 ENV=$HOME/.kshrc               # set ENV if there is an rc file
 export ENV
fi

# use default system file creation mask (umask)

# eval `tset -m ansi:${TERM:-ansi} -m :\?${TERM:-ansi} -r -s -Q`

# If job control is enabled, set the suspend character to ^Z (control-z):
case $- in
*m*)   stty susp '^z'
 ;;
esac

#set -o ignoreeof                       # don't let control-d logout

##################################################################
### 12/12/97 - EJ - I changed this for the prompt and pounded out below.
PS1="`uname -n`@`logname`# "
##################################################################
#case $LOGNAME in                       # include command number in prompt
#root) PS1="!# " ;;
#*)    PS1="!$ " ;;
#esac
export PS1
##################################################################

/usr/bin/prwarn                 # issue a warning if password due to expire

. /ctnc/menusys/bin/ctncprof
setcolor -bblue

.kshrc:

#!/bin/ksh
#      @(#) root.kshrc 88.2 99/12/21 
#
#      Copyright (C) 1989-1999 The Santa Cruz Operation, Inc.
#       All Rights Reserved.

export SHELL=/bin/ksh

# set vi mode (Arrow fnkys not supported in this mode) when ksh
# interactive and VISUAL|EDITOR contain "vi" or vi mode already set.
# Setup support for (ansi) arrow fnkeys (and emacs mode) when ksh interactive 
# and VISUAL|EDITOR not contain vi and vi mode not set or emacs mode is.
# Don't do any of this if $_noAUTOFNKEYS is set to anything.
if [[ -z "$_noAUTOFNKEYS" ]] ; then
 em=${VISUAL:-EDITOR}
 [[ -o vi ]] && em=vi
 [[ -o emacs ]] && em=emacs
 [[ -o gmacs ]] && em=off
 em=${em:-"emacs"}
 # echo "$-:${em}"
 case "$-:${em}" in
       *i*:off) ;;
 *i*:*vi* )
            # echo "** ksh -o vi (interactive)"
            set -o vi
            ;;
       *i* )
            # echo "** ksh -o emacs (interactive)"
            set -o emacs
            # Ansi (console/scoterm/xterm) Fnkey sequences
     alias __A=''          # UpArr  
            alias __B=''          # DwnArr 
            alias __C=''          # RghtArr
            alias __D=''          # LftArr 
            alias __H=''          # Home
            alias __F=''          # End
            _TAB_Complete=1         # enable Tab completion as well as Esc,Esc
            ;; 
 esac
fi

/ctnc/menusys/bin/ctncprof:

############################
#
# script name: ctncprof
# version    : 1.7
# last mod   : 5/7/99
#
############################
#set -v
#
# SYSTEM WIDE PARAMETERS
#
#set flag to 1 for visifax or 0 for no visifax
VSIFLAG=0
VSIDIR=/usr/vsifax
#set flag to 1 for backup edge or 0 for no backup edge
BUFLAG=0
#set flag to 1 for mlink or 0 for no mlink
MLFLAG=0
#set flag to 1 for doublevision or 0 for no doublevision
DVFLAG=1
#OPTSDATA=`pwd`
OPTSDATA=/ctnc/menusys/opts
OPTSPROG=/ctnc/menusys/bin
SYSOPTS=useropts
MENUOPTS=menuopts
MMOPTS=mmopts
TERMOPTS=termopts
WPOPTS=wpopts
#
#LOGNAME=$1
if [ "${LOGNAME}" = "" ]
then
   LOGNAME=`logname`
fi
set `awk -v param="++${LOGNAME}" -v setnum=1 -f ${OPTSPROG}/readparam.awk ${OPTSDATA}/${SYSOPTS}`
#echo "${LOGNAME} --- ${SYSOPTS}"
#echo $*
#echo "$1:$2:$3:$4:$5:$6:$7:$8:$9:${10}:${11}:${12}:${13}:${14}:${15}:${16}:${17}"
# Defaults - everything off
MENUFLAG=0
ADMFLAG=0
ADMPARAM=0
MMFLAG=0
MMPARAM=0
VERFLAG=0
VERPARAM=0
M90FLAG=0
M90PARAM=0
WPFLAG=0
WPPARAM=0
PAGEFLAG=0
PAGEPARAM=0
if [ $1 -eq 16 ]
then
   if [ "$3" != "\$TERM" -a "$3" != "\${TERM}" ]
   then
      TERM=$3
      export TERM
   fi
   # section to set termtype up for doublevision
   if [ ${DVFLAG} -eq 1 ]
   then
      if [ -f /bin/termtype ]
      then
         /bin/termtype
      fi 
   fi 
   MEDPTR=$4
   MENUFLAG=$5
   ADMFLAG=$6
   ADMPARAM=$7
   MENULEVEL=$ADMPARAM
   export MENULEVEL
   MMFLAG=$8
   MMPARAM=$9
   # for BOURNE shell compatibility - now get second set of params
   set `awk -v param="++${LOGNAME}" -v setnum=2 -f ${OPTSPROG}/readparam.awk ${OPTSDATA}/${SYSOPTS}`
   VERFLAG=$2
   VERPARAM=$3
   M90FLAG=$4
   M90PARAM=$5
   WPFLAG=$6
   WPPARAM=$7
   PAGEFLAG=$8
   PAGEPARAM=$9
fi
MENUPARAM="${MENUFLAG}-${ADMFLAG}${MMFLAG}${VERFLAG}${M90FLAG}${WPFLAG}${PAGEFLAG}"
#echo "${MENUPARAM}"
#get term opts
set `awk -v param="${TERM}" -v setnum=1 -f ${OPTSPROG}/readparam.awk ${OPTSDATA}/${TERMOPTS}`
#echo "${TERM} --- ${TERMOPTS}"
#echo $*
if [ $1 -eq 7 ]
then
   MEDTERM=$3
   MEDFKEYS=$4
   VAE_TERM=$5
   MAS90TERM=$6
   WPTERM51=$7
   WPTERM52=$8
   # use same dot trs file for WP52,WP7, and WP8
   WPTERM7=${WPTERM52}
   WPTERM=${WPTERM52}
fi
############################
#  WP51 section
############################
if [ ${WPFLAG} -eq 1 -a ${WPPARAM} -eq 51 ]
then
   set `awk -v param="${WPPARAM}" -v setnum=1 -f ${OPTSPROG}/readparam.awk ${OPTSDATA}/${WPOPTS}`
   #echo "${WPPARAM} --- ${WPOPTS}"
   #echo $*
   if [ $1 -eq 5 ]
   then
      WPHOME=${3}/${LOGNAME}
      if [ "$4" != "" ]
      then
            PATH=${PATH}:$4
      fi
      if [ "$5" != "" ]
      then
         PATH=${PATH}:$5
      fi
      if [ "$6" != "" ]
      then
         PATH=${PATH}:$6
      fi
      if [ ! -d "${WPHOME}" ]
      then
         mkdir ${WPHOME}
         #echo "mkdir ${WPHOME}"
      fi
      export PATH WPTERM51 WPHOME
      #echo "${PATH} -- ${WPTERM51} -- ${WPHOME}"

   fi
fi
############################
#  WP52 section
############################
if [ ${WPFLAG} -eq 1 -a ${WPPARAM} -eq 52 ]
then
   set `awk -v param="${WPPARAM}" -v setnum=1 -f ${OPTSPROG}/readparam.awk ${OPTSDATA}/${WPOPTS}`
   #echo "${WPPARAM} --- ${WPOPTS}"
   #echo $*
   if [ $1 -eq 5 ]
   then
      WPHOME=${3}/${LOGNAME}
      if [ "$4" != "" ]
      then
         PATH=${PATH}:$4
      fi
      if [ "$5" != "" ]
      then
         PATH=${PATH}:$5
      fi
      if [ "$6" != "" ]
      then
         PATH=${PATH}:$6
      fi
      if [ ! -d "${WPHOME}" ]
      then
         mkdir ${WPHOME}
         #echo "mkdir ${WPHOME}"
      fi
      export PATH WPTERM52 WPHOME
      #echo "${PATH} -- ${WPTERM52} -- ${WPHOME}"

   fi
fi
############################
#  WP70 section
############################
if [ ${WPFLAG} -eq 1 -a ${WPPARAM} -eq 70 ]
then
   set `awk -v param="${WPPARAM}" -v setnum=1 -f ${OPTSPROG}/readparam.awk ${OPTSDATA}/${WPOPTS}`
   #echo "${WPPARAM} --- ${WPOPTS}"
   #echo $*
   if [ $1 -eq 5 ]
   then
      WPHOME=${3}/${LOGNAME}
      if [ "$4" != "" ]
      then
         PATH=${PATH}:$4
      fi
      if [ "$5" != "" ]
      then
         PATH=${PATH}:$5
      fi
      if [ "$6" != "" ]
      then
         PATH=${PATH}:$6
      fi
      if [ ! -d "${WPHOME}" ]
      then
         mkdir ${WPHOME}
         #echo "mkdir ${WPHOME}"
      fi
      export PATH WPTERM7 WPHOME
      #echo "${PATH} -- ${WPTERM7} -- ${WPHOME}"

   fi
fi
############################
#  WP70 section
############################
if [ ${WPFLAG} -eq 1 -a ${WPPARAM} -eq 80 ]
then
   set `awk -v param="${WPPARAM}" -v setnum=1 -f ${OPTSPROG}/readparam.awk ${OPTSDATA}/${WPOPTS}`
   #echo "${WPPARAM} --- ${WPOPTS}"
   #echo $*
   if [ $1 -eq 5 ]
   then
      WPHOME=${3}/${LOGNAME}
      if [ "$4" != "" ]
      then
         PATH=${PATH}:$4
      fi
      if [ "$5" != "" ]
      then
         PATH=${PATH}:$5
      fi
      if [ "$6" != "" ]
      then
         PATH=${PATH}:$6
      fi
      if [ ! -d "${WPHOME}" ]
      then
         mkdir ${WPHOME}
         #echo "mkdir ${WPHOME}"
      fi
      export PATH WPTERM WPHOME
      #echo "${PATH} -- ${WPTERM} -- ${WPHOME}"

   fi
fi


#MAS90
if [ ${M90FLAG} -eq 1 ]
then
   #################################################################
   ##### This line is for moving to the mas90 directory.  Must be there.
   #   cd /usr2/mas90/HOME
   echo " "
   ##################################################################

fi

#MED MGR
if [ ${MMFLAG} -eq 1 ]
then
   set `awk -v param="${MMPARAM}" -v setnum=1 -f ${OPTSPROG}/readparam.awk ${OPTSDATA}/${MMOPTS}`
   #echo "${MMPARAM} --- ${MMOPTS}"
   #echo $*
   if [ $1 -eq 5 ]
   then
      MEDDIR=$3
      MEDPROGS=$4
      CTNCPROGS=$5
      MEDCMD=$6
      PATH=${MEDPROGS}:${PATH}
      #MEDPTR=  set above in ctncopts
      MEDWP=WP5

      if [ -f ${MEDPROGS}/${LOGNAME}.key ]
      then
         MEDFKEYS=${MEDPROGS}/${LOGNAME}.key
      else
         MEDFKEYS=${MEDPROGS}/${MEDFKEYS}
      fi
      export PATH MEDPROGS MEDDIR MEDFKEYS MEDCMD MEDPTR CTNCPROGS MEDTERM
      export MEDWP
      #echo "PATH MEDPROGS MEDDIR MEDFKEYS MEDCMD MEDPTR CTNCPROGS MEDTERM"
fi


fi
#VERSYSS
if [ ${VERFLAG} -eq 1 ]
then
   # All the versyss setup stuff goes in here.
   # START_VPROFILE VERSYSS - DO NOT TOUCH, MOVE, OR REMOVE THIS LINE ##
   # echo "this is before versyssprof runs"
   . /etc/vprofile  - DO NOT TOUCH, MOVE, OR REMOVE THIS LINE ##
   # echo "this is after versyssprof runs calling /etc/vprofile"
   # END_VPROFILE VERSYSS - DO NOT TOUCH, MOVE, OR REMOVE THIS LINE ####
   trap 1 2 3

fi
#VISIFAX
if [ ${VSIFLAG} -eq 1 ]
then
   #-----------------------------------------------------------------------
   # This section calls a file containing all the setup stuff for vsifax
   # to work properly for everyone.  EJ  5/22/95.  
   if [ -f ${VSIDIR}/bin/fxstat ]
   then
      . /ctnc/vsifax/vsifax.vars
   fi
fi

# BackupEDGE
#    section to display the results of the last backup   
#    will not display if backup currently running        
if [ ${BUFLAG} -eq 1 ]
then
   EDGECAT=${EDGECAT:-"/usr/lib/edge/lists"}
   if [ ! -f ${EDGECAT}/simple_job/schedule.lck ]
   then
      cat ${EDGECAT}/buresults
      echo " "
      echo "Press the ENTER key to continue\c" 
      read dummy 
   else
      echo ""
      echo ""
      echo "    ***************************************************************"
      echo "    ***************************************************************"
      echo ""
      echo "                 BackupEDGE : Lock File Detected!!"
      echo ""
      echo "      Backup currently in PROGRESS - Please logout until complete!"
      echo ""
      echo "    ***************************************************************"
      echo "    ***************************************************************"
      echo ""
      echo "Press <ENTER> to Continue\c"
      read dummy
   fi
fi

#MLINK
if [ ${MLFLAG} -eq 1 ]
then
   MLINK="/usr/mlink"
   export MLINK
fi
#CTNCMENU
if [ ${MENUFLAG} -gt 0 ]
then
   set `awk -v param="${MENUPARAM}" -v setnum=1 -f ${OPTSPROG}/readparam.awk ${OPTSDATA}/${MENUOPTS}`
   #echo "${MENUPARAM} --- ${MENUOPTS}"
   #echo $*

   # defaults
   MENUBASE=/ctnc/menusys
   MENUSUB=data
   MENUNAME=main.mnu
   if [ $1 -eq 4 ]
   then
      MENUBASE=$3
      MENUSUB=$4
      MENUNAME=$5
   fi
   MENUPROGS=${MENUBASE}/bin
   MENUDATA=${MENUBASE}/${MENUSUB}
   PATH=${PATH}:${MENUPROGS}
   export PATH MENUBASE MENUSUB MENUNAME MENUPROGS MENUDATA
   #echo "PATH MENUBASE MENUNAME MENUPROGS MENUDATA"
   #echo "${PATH} -- ${MENUBASE} -- ${MENUNAME} -- ${MENUPROGS} -- ${MENUDATA}"
fi
#FACETTERM
if [ ${PAGEFLAG} -eq 1 ]
then

   if [ -f "/usr/facet/.facetlines" ]
   then
      . /ctnc/facetterm/start.paging
      exit
   fi
fi
#RUN MENU SYSTEM
if [ ${MENUFLAG} -gt 0 ]
then
   . runmenu
fi```

I tried digging into it, but it appears that their domain has lapsed and that the company that acquired them doesn't have much presence online.

This is MAS90. I had a customer in NJ that used this software, They also are no longer in business, however I do know the email address of two of the employees.

1 Like

I'd appreciate if you could pass those over, hopefully they have some insight in what this is and how I could access the data files

Send me an email, I won't post email addresses. My contact info is in my profile.

1 Like

If we're talking the original "MAS 90" and its bigger brother "MAS 200" software, it was/is an accounting and possibly ERP package that was renamed Sage 100. I am in the UK and many moons ago Sage was a UK company and its software was very widely used here.

Taking a quick look for Sage 100 I can see that support ends in 2024 and that there should be a few different data export tools available, e.g. to Excel, to CSV, etc, if it really is MAS 90.

Exporting it in anything other than print sounds really attractive. Would there be any way for me to actually confirm that this is MAS90?