[File] [PATCH] of Magdir/msdos, netware for Novell DOS message *.msg, Modules *.vlm *.nlm

Jörg Jenderek joerg.jen.der.ek at gmx.net
Fri Sep 4 12:28:18 UTC 2020

Hash: SHA1

some days ago i handled OS/2 help message *.msg.

Just for interest i look on my discs for other files with that file
name extensions. Some are described as "data" by file command
version 5.39.

Some are only found in directory where DR-DOS package also known as
Novell or Caldera DOS package is stored. Furthermore for most msg
examples there exist also a DOS executable with the same main name.

For comparison reason i run the file format identification utility
TrID ( See https://mark0.net/soft-trid-e.html). A dozen of message
files are described by TRID definition msg-netware-dos.trid.xml as
"Novell DOS Client Message". It also list the used file
name extension msg and with -v option the related URL pointing to
used file format information.

This is now expressed inside Magdir/msdos by additional comment line
 # mark0.net/download/triddefs_xml.7z/defs/m/msg-netware-dos.trid.xml
A few information about such message files can be found in Matthias
Paul's German tips about Novell DOS. This is now expressed by URL
line like:
 # URL:	http://www.antonis.de/dos/dos-tuts/mpdostip/html/nwdostip.htm

Such message files start with characteristic ASCII text phrase. That
is expressed by test lines like:
 0  string  DOS\ Client\ Message\ File: Novell DOS client message
 !:ext	msg

At offset 25 often the main or program name like IPXODI.COM,
DOSRqstr, TASKID is stored, but i also found examples were only a
digit like 1 in example MIB2PROT.MSG is stored. So show this name by
lines like
 >26	ubyte		>0x20
 >>25		ubyte	!0x20			%c
 >>>26		ubyte	!0x20			\b%c
 >>>>27		ubyte	!0x20			\b%c
 >>>>>28	ubyte	!0x20			\b%c
 >>>>>>29	ubyte	!0x20			\b%c
 >>>>>>>30	ubyte	!0x20			\b%c
 >>>>>>>>31	ubyte	!0x20			\b%c
 >>>>>>>>>32	ubyte	!0x20			\b%c
 >>>>>>>>>>33	ubyte	!0x20			\b%c
 >>>>>>>>>>>34	ubyte	!0x20			\b%c
 >>>>>>>>>>>>35	ubyte	!0x20			\b%c
 >>>>>>>>>>>>>36 ubyte	!0x20			\b%c

Afterwards comes a space character and a string like V1.20, v1.00 or
0. I assume that this is the version of the DOS executable or Netware
virtual loadable module. After comma comes phrase " Tran ". That is
followed by a string like v1.00 or 0. I assume that is the version of
the translations in the message file. So show this information by
 >28	search/14	,\040Tran\040
 >>&0	string	x				\b, tran version %s

After this string in my inspected examples comes Ctrl-J and Ctrl-Z.
So show other "unusual" termination characters by lines like:
 >>>&0	ubyte	!0xa		\b, terminated by 0x%2.2x
 >>>>&0	ubyte	x		\b%2.2x

Some bytes later apparently a padding with dozen null bytes occur til
offset 100. That is terminated by Control-Z character followed by
hexadecimal 1. So other "unusual" characters are shown by lines like:
 >0x65	ubyte		!0x1A			\b, at 0x65 0x%x
 >0x66	ubyte		!0x01			\b, at 0x66 0x%x

A few messages files like NLMIGRAT.MSG or PNWDIAGS.MSG are identified
by TrID as "Novell Message Librarian Data (v1.00)" by definition
dat-novell-msg.trid.xml. This is now expressed by comment line like:
 # mark0.net/download/triddefs_xml.7z/defs/d/dat-novell-msg.trid.xml
Such message files start with characteristic ASCII text phrase. That
is expressed by test lines like:
 0 string Novell\ Message\ Librarian  Novell message librarian data
TrID definition only mention file name extension dat, but my examples
only have msg extension. That is expressed by line
 !:ext	msg

Some of the DOS executable have VLM extension instead EXE extension.
TrID identifies such executables by exe-vlm.trid.xml as "Novell
Netware Virtual Loadable Module" or by exe-vlm-msg.trid.xml as
variant with message file. The file command identifies such sample
only generic as "MS-DOS executable" by Magdir/msdos. And with
- --extension option only exe/com is displayed. So i change
corresponding line to
 !:ext	exe/com/vlm
and add information by comment lines like:
 # URL:  https://en.wikipedia.org/wiki/Personal_NetWare#VLM
 # mark0.net/download/triddefs_xml.7z/defs/e/exe-vlm-msg.trid.xml

According to Wikipedia the successor for VLM modules are NetWare
Loadable Modules (NLMs). This like example zipnote.nlm are identified
correctly by Magdir/netware, but with --extension option only ???
displayed. So i add Wikipedia page about NLM by comment line like
 # URL:		https://en.wikipedia.org/wiki/NetWare_Loadable_Module
and display file name extension by additional line
 !:ext	nlm

After applying also the above mentioned modifications by patches
file-5.39-msdos-novell.diff and file-5.39-netware.diff for all
inspected message files and related files i get now an output like:

DOSRQSTR.MSG: Novell DOS client message DOSRqstr, tran version 0
IPXODI.COM:   DOS executable (COM)
IPXODI.MSG:   Novell DOS client message IPXODI.COM, tran version 0
MIB2PROT.MSG: Novell DOS client message, tran version v1.00
MIB2PROT.VLM: MS-DOS executable
NLMIGRAT.MSG: Novell message librarian data
PNWDIAGS.MSG: Novell message librarian data
PNWDIAGW.DLL: MS-DOS executable, NE for MS Windows 3.x (DLL or font)
PNWTRAP.MSG:  Novell DOS client message pnwtrap, tran version v1.00
PNWTRAP.VLM:  MS-DOS executable, MZ for MS-DOS
TASKID.COM:   DOS executable (COM)
TASKID.MSG:   Novell DOS client message TASKID, tran version 0
TBMI2.COM:    DOS executable (COM)
TBMI2.MSG:    Novell DOS client message TBMI2, tran version 0
WSSNMP.MSG:   Novell DOS client message, tran version v1.00
WSSNMP.VLM:   MS-DOS executable, MZ for MS-DOS
zipnote.nlm:  NetWare Loadable Module

I hope my 2 diff file can be applied in future version of
file utility.

With best wishes
Jörg Jenderek
- --
Jörg Jenderek

Comment: Using GnuPG with Thunderbird - https://www.enigmail.net/

-------------- next part --------------
--- file-5.39/magic/Magdir/netware.old	2019-02-22 12:06:34 +0000
+++ file-5.39/magic/Magdir/netware	2020-09-04 11:13:38 +0000
@@ -4,4 +4,8 @@
 # netware:  file(1) magic for NetWare Loadable Modules (NLMs)
 # From: Mads Martin Joergensen <mmj at suse.de>
+# URL:		https://en.wikipedia.org/wiki/NetWare_Loadable_Module
 0	string	NetWare\ Loadable\ Module	NetWare Loadable Module
+#!:mime	application/octet-stream
+!:ext	nlm
-------------- next part --------------
--- file-5.39/magic/Magdir/msdos.old	2020-05-31 10:34:40 +0000
+++ file-5.39/magic/Magdir/msdos	2020-09-04 11:12:06 +0000
@@ -57,3 +57,5 @@
 # extension, mostly for compatibility's sake.
-!:ext	exe/com
+# URL:		https://en.wikipedia.org/wiki/Personal_NetWare#VLM
+# Reference:	https://mark0.net/download/triddefs_xml.7z/defs/e/exe-vlm-msg.trid.xml
+!:ext	exe/com/vlm
 # These traditional tests usually work but not always.  When test quality support is
@@ -1175,2 +1177,49 @@
+# URL:		http://www.antonis.de/dos/dos-tuts/mpdostip/html/nwdostip.htm
+# Reference:	https://mark0.net/download/triddefs_xml.7z/defs/m/msg-netware-dos.trid.xml
+# From:		Joerg Jenderek
+0	string	DOS\ Client\ Message\ File:	Novell DOS client message
+#!:mime	application/octet-stream
+#!:mime	application/x-novell-msg
+!:ext	msg
+# look for second letter instead space character
+>26	ubyte		>0x20
+# digit 1 or often main or program name like: IPXODI.COM TASKID pnwtrap DOSRqstr
+>>25		ubyte	!0x20			%c
+>>>26		ubyte	!0x20			\b%c
+>>>>27		ubyte	!0x20			\b%c
+>>>>>28		ubyte	!0x20			\b%c
+>>>>>>29	ubyte	!0x20			\b%c
+>>>>>>>30	ubyte	!0x20			\b%c
+>>>>>>>>31	ubyte	!0x20			\b%c
+>>>>>>>>>32	ubyte	!0x20			\b%c
+>>>>>>>>>>33	ubyte	!0x20			\b%c
+>>>>>>>>>>>34	ubyte	!0x20			\b%c
+>>>>>>>>>>>>35	ubyte	!0x20			\b%c
+>>>>>>>>>>>>>36	ubyte	!0x20			\b%c
+# followed by string like: 0 v.10 V1.20
+# followed by ,\040Tran\040
+>28	search/14	,\040Tran\040
+# probably translated version string like: 0 v1.00
+>>&0	string	x				\b, tran version %s
+# followed by Ctrl-J Ctrl-Z
+>>>&0	ubyte		!0xa			\b, terminated by 0x%2.2x
+>>>>&0	ubyte		x			\b%2.2x
+# Ctrl-Z
+>0x65	ubyte		!0x1A			\b, at 0x65 0x%x
+# one
+>0x66	ubyte		!0x01			\b, at 0x66 0x%x
+# URL:		https://en.wikipedia.org/wiki/NetWare
+# Reference:	http://mark0.net/download/triddefs_xml.7z/defs/d/dat-novell-msg.trid.xml
+# ftp://ftp.iitb.ac.in/LDP/en/NLM-HOWTO/NLM-HOWTO-single.html
+# From:		Joerg Jenderek
+0	string	Novell\ Message\ Librarian\ Data\ File	Novell message librarian data
+#>35	string	Version\ 1.00
+#>49	string	COPYRIGHT\ (c)\ 1985\ by\ Novell,\ Inc.
+#>83	string	\ \ All\ Rights\ Reserved
+#!:mime	application/octet-stream
+#!:mime	application/x-novell-msg
+!:ext	msg
+#!:ext	msg/dat
 # 4DOS help (.HLP) files added by Joerg Jenderek from source TPHELP.PAS
-------------- next part --------------
A non-text attachment was scrubbed...
Name: file-5.39-netware.diff.sig
Type: application/octet-stream
Size: 95 bytes
Desc: not available
URL: <https://mailman.astron.com/pipermail/file/attachments/20200904/eead9c51/attachment.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: file-5.39-msdos-novell.diff.sig
Type: application/octet-stream
Size: 95 bytes
Desc: not available
URL: <https://mailman.astron.com/pipermail/file/attachments/20200904/eead9c51/attachment-0001.obj>

More information about the File mailing list