head 1.1; branch 1.1.1; access; symbols FILE5_48:1.1.1.6 netbsd-11-0-RC4:1.1.1.6 netbsd-11-0-RC3:1.1.1.6 netbsd-11-0-RC2:1.1.1.6 netbsd-11-0-RC1:1.1.1.6 perseant-exfatfs-base-20250801:1.1.1.6 netbsd-11:1.1.1.6.0.6 netbsd-11-base:1.1.1.6 netbsd-10-1-RELEASE:1.1.1.6 perseant-exfatfs-base-20240630:1.1.1.6 perseant-exfatfs:1.1.1.6.0.4 perseant-exfatfs-base:1.1.1.6 netbsd-8-3-RELEASE:1.1.1.4 netbsd-9-4-RELEASE:1.1.1.5 netbsd-10-0-RELEASE:1.1.1.6 netbsd-10-0-RC6:1.1.1.6 netbsd-10-0-RC5:1.1.1.6 netbsd-10-0-RC4:1.1.1.6 netbsd-10-0-RC3:1.1.1.6 netbsd-10-0-RC2:1.1.1.6 netbsd-10-0-RC1:1.1.1.6 FILE5_45:1.1.1.6 netbsd-10:1.1.1.6.0.2 netbsd-10-base:1.1.1.6 FILE5_43:1.1.1.6 netbsd-9-3-RELEASE:1.1.1.5 cjep_sun2x-base1:1.1.1.5 cjep_sun2x:1.1.1.5.0.8 cjep_sun2x-base:1.1.1.5 cjep_staticlib_x-base1:1.1.1.5 netbsd-9-2-RELEASE:1.1.1.5 cjep_staticlib_x:1.1.1.5.0.6 cjep_staticlib_x-base:1.1.1.5 FILE5_40:1.1.1.5 netbsd-9-1-RELEASE:1.1.1.5 FILE5_39:1.1.1.5 phil-wifi-20200421:1.1.1.5 phil-wifi-20200411:1.1.1.5 is-mlppp:1.1.1.5.0.4 is-mlppp-base:1.1.1.5 phil-wifi-20200406:1.1.1.5 netbsd-8-2-RELEASE:1.1.1.4 netbsd-9-0-RELEASE:1.1.1.5 netbsd-9-0-RC2:1.1.1.5 FILE5_38:1.1.1.5 netbsd-9-0-RC1:1.1.1.5 phil-wifi-20191119:1.1.1.5 netbsd-9:1.1.1.5.0.2 netbsd-9-base:1.1.1.5 phil-wifi-20190609:1.1.1.5 netbsd-8-1-RELEASE:1.1.1.4 FILE5_37:1.1.1.5 netbsd-8-1-RC1:1.1.1.4 pgoyette-compat-merge-20190127:1.1.1.4 pgoyette-compat-20190127:1.1.1.4 pgoyette-compat-20190118:1.1.1.4 pgoyette-compat-1226:1.1.1.4 pgoyette-compat-1126:1.1.1.4 pgoyette-compat-1020:1.1.1.4 FILE5_35:1.1.1.4 pgoyette-compat-0930:1.1.1.4 pgoyette-compat-0906:1.1.1.4 netbsd-7-2-RELEASE:1.1.1.4 pgoyette-compat-0728:1.1.1.4 netbsd-8-0-RELEASE:1.1.1.4 phil-wifi:1.1.1.4.0.24 phil-wifi-base:1.1.1.4 pgoyette-compat-0625:1.1.1.4 netbsd-8-0-RC2:1.1.1.4 pgoyette-compat-0521:1.1.1.4 pgoyette-compat-0502:1.1.1.4 pgoyette-compat-0422:1.1.1.4 netbsd-8-0-RC1:1.1.1.4 FILE5_33:1.1.1.4 pgoyette-compat-0415:1.1.1.4 pgoyette-compat-0407:1.1.1.4 pgoyette-compat-0330:1.1.1.4 pgoyette-compat-0322:1.1.1.4 pgoyette-compat-0315:1.1.1.4 netbsd-7-1-2-RELEASE:1.1.1.4 pgoyette-compat:1.1.1.4.0.22 pgoyette-compat-base:1.1.1.4 netbsd-7-1-1-RELEASE:1.1.1.4 matt-nb8-mediatek:1.1.1.4.0.20 matt-nb8-mediatek-base:1.1.1.4 FILE5_32:1.1.1.4 perseant-stdc-iso10646:1.1.1.4.0.18 perseant-stdc-iso10646-base:1.1.1.4 netbsd-8:1.1.1.4.0.16 netbsd-8-base:1.1.1.4 FILE5_31:1.1.1.4 prg-localcount2-base3:1.1.1.4 prg-localcount2-base2:1.1.1.4 prg-localcount2-base1:1.1.1.4 prg-localcount2:1.1.1.4.0.14 prg-localcount2-base:1.1.1.4 pgoyette-localcount-20170426:1.1.1.4 bouyer-socketcan-base1:1.1.1.4 pgoyette-localcount-20170320:1.1.1.4 netbsd-7-1:1.1.1.4.0.12 netbsd-7-1-RELEASE:1.1.1.4 netbsd-7-1-RC2:1.1.1.4 FILE5_30:1.1.1.4 netbsd-7-nhusb-base-20170116:1.1.1.4 bouyer-socketcan:1.1.1.4.0.10 bouyer-socketcan-base:1.1.1.4 pgoyette-localcount-20170107:1.1.1.4 netbsd-7-1-RC1:1.1.1.4 pgoyette-localcount-20161104:1.1.1.4 netbsd-7-0-2-RELEASE:1.1.1.4 localcount-20160914:1.1.1.4 netbsd-7-nhusb:1.1.1.4.0.8 netbsd-7-nhusb-base:1.1.1.4 pgoyette-localcount-20160806:1.1.1.4 pgoyette-localcount-20160726:1.1.1.4 pgoyette-localcount:1.1.1.4.0.6 pgoyette-localcount-base:1.1.1.4 netbsd-7-0-1-RELEASE:1.1.1.4 netbsd-7-0:1.1.1.4.0.4 netbsd-7-0-RELEASE:1.1.1.4 netbsd-7-0-RC3:1.1.1.4 netbsd-7-0-RC2:1.1.1.4 netbsd-7-0-RC1:1.1.1.4 FILE5_22:1.1.1.4 FILE5_20:1.1.1.4 netbsd-6-0-6-RELEASE:1.1.1.2.6.1 netbsd-6-1-5-RELEASE:1.1.1.2.6.1 netbsd-7:1.1.1.4.0.2 netbsd-7-base:1.1.1.4 FILE5_19:1.1.1.4 yamt-pagecache-base9:1.1.1.3 yamt-pagecache-tag8:1.1.1.2.4.1 netbsd-6-1-4-RELEASE:1.1.1.2.6.1 netbsd-6-0-5-RELEASE:1.1.1.2.6.1 tls-earlyentropy:1.1.1.3.0.10 tls-earlyentropy-base:1.1.1.4 riastradh-xf86-video-intel-2-7-1-pre-2-21-15:1.1.1.3 riastradh-drm2-base3:1.1.1.3 netbsd-6-1-3-RELEASE:1.1.1.2.6.1 netbsd-6-0-4-RELEASE:1.1.1.2.6.1 FILE5_16:1.1.1.3 netbsd-6-1-2-RELEASE:1.1.1.2.6.1 netbsd-6-0-3-RELEASE:1.1.1.2.6.1 netbsd-6-1-1-RELEASE:1.1.1.2.6.1 riastradh-drm2-base2:1.1.1.3 riastradh-drm2-base1:1.1.1.3 riastradh-drm2:1.1.1.3.0.4 riastradh-drm2-base:1.1.1.3 netbsd-6-1:1.1.1.2.6.1.0.6 netbsd-6-0-2-RELEASE:1.1.1.2.6.1 netbsd-6-1-RELEASE:1.1.1.2.6.1 khorben-n900:1.1.1.3.0.8 netbsd-6-1-RC4:1.1.1.2.6.1 netbsd-6-1-RC3:1.1.1.2.6.1 agc-symver:1.1.1.3.0.6 agc-symver-base:1.1.1.3 FILE5_14:1.1.1.3 netbsd-6-1-RC2:1.1.1.2.6.1 netbsd-6-1-RC1:1.1.1.2.6.1 yamt-pagecache-base8:1.1.1.3 FILE_5_12:1.1.1.3 netbsd-6-0-1-RELEASE:1.1.1.2.6.1 yamt-pagecache-base7:1.1.1.3 matt-nb6-plus-nbase:1.1.1.2.6.1 yamt-pagecache-base6:1.1.1.3 netbsd-6-0:1.1.1.2.6.1.0.4 netbsd-6-0-RELEASE:1.1.1.2.6.1 netbsd-6-0-RC2:1.1.1.2.6.1 tls-maxphys:1.1.1.3.0.2 tls-maxphys-base:1.1.1.4 matt-nb6-plus:1.1.1.2.6.1.0.2 matt-nb6-plus-base:1.1.1.2.6.1 netbsd-6-0-RC1:1.1.1.2.6.1 yamt-pagecache-base5:1.1.1.3 yamt-pagecache-base4:1.1.1.3 FILE5_11:1.1.1.3 netbsd-6:1.1.1.2.0.6 netbsd-6-base:1.1.1.2 yamt-pagecache-base3:1.1.1.2 yamt-pagecache-base2:1.1.1.2 yamt-pagecache:1.1.1.2.0.4 yamt-pagecache-base:1.1.1.2 FILE5_09:1.1.1.2 cherry-xenmp:1.1.1.2.0.2 cherry-xenmp-base:1.1.1.2 FILE5_07:1.1.1.2 bouyer-quota2-nbase:1.1.1.1 bouyer-quota2:1.1.1.1.0.4 bouyer-quota2-base:1.1.1.1 matt-mips64-premerge-20101231:1.1.1.1 matt-premerge-20091211:1.1.1.1 jym-xensuspend-base:1.1.1.1 jym-xensuspend:1.1.1.1.0.2 jym-xensuspend-nbase:1.1.1.1 FILE5_03:1.1.1.1 CHRISTOS:1.1.1; locks; strict; comment @# @; 1.1 date 2009.05.08.16.35.09; author christos; state Exp; branches 1.1.1.1; next ; 1.1.1.1 date 2009.05.08.16.35.09; author christos; state Exp; branches 1.1.1.1.2.1; next 1.1.1.2; 1.1.1.2 date 2011.05.12.20.47.04; author christos; state Exp; branches 1.1.1.2.4.1 1.1.1.2.6.1; next 1.1.1.3; 1.1.1.3 date 2012.02.22.17.48.38; author christos; state Exp; branches 1.1.1.3.2.1 1.1.1.3.10.1; next 1.1.1.4; 1.1.1.4 date 2014.06.13.01.48.25; author christos; state Exp; branches 1.1.1.4.24.1; next 1.1.1.5; commitid jtTYsE5FmJU6MiEx; 1.1.1.5 date 2019.05.22.17.19.57; author christos; state Exp; branches; next 1.1.1.6; commitid VXeNRYYruN1MWdoB; 1.1.1.6 date 2022.09.24.20.07.54; author christos; state Exp; branches; next ; commitid Nf6F9kcpc0EPC9VD; 1.1.1.1.2.1 date 2009.05.08.16.35.09; author jym; state dead; branches; next 1.1.1.1.2.2; 1.1.1.1.2.2 date 2009.05.13.18.51.58; author jym; state Exp; branches; next ; 1.1.1.2.4.1 date 2012.04.17.00.03.08; author yamt; state Exp; branches; next ; 1.1.1.2.6.1 date 2012.03.07.23.18.27; author riz; state Exp; branches; next ; 1.1.1.3.2.1 date 2014.08.19.23.46.47; author tls; state Exp; branches; next ; commitid jTnpym9Qu0o4R1Nx; 1.1.1.3.10.1 date 2014.08.10.07.07.10; author tls; state Exp; branches; next ; commitid b1wUlsZGswrdGMLx; 1.1.1.4.24.1 date 2019.06.10.21.44.46; author christos; state Exp; branches; next ; commitid jtc8rnCzWiEEHGqB; desc @@ 1.1 log @Initial revision @ text @ #------------------------------------------------------------------------------ # palm: file(1) magic for PalmOS {.prc,.pdb}: applications, docfiles, and hacks # # Brian Lalor # appl 60 belong 0x6170706c PalmOS application >0 string >\0 "%s" # TEXt 60 belong 0x54455874 AportisDoc file >0 string >\0 "%s" # HACK 60 belong 0x4841434b HackMaster hack >0 string >\0 "%s" # Variety of PalmOS document types # Michael-John Turner # Thanks to Hasan Umit Ezerce for his DocType 60 string BVokBDIC BDicty PalmOS document >0 string >\0 "%s" 60 string DB99DBOS DB PalmOS document >0 string >\0 "%s" 60 string vIMGView FireViewer/ImageViewer PalmOS document >0 string >\0 "%s" 60 string PmDBPmDB HanDBase PalmOS document >0 string >\0 "%s" 60 string InfoINDB InfoView PalmOS document >0 string >\0 "%s" 60 string ToGoToGo iSilo PalmOS document >0 string >\0 "%s" 60 string JfDbJBas JFile PalmOS document >0 string >\0 "%s" 60 string JfDbJFil JFile Pro PalmOS document >0 string >\0 "%s" 60 string DATALSdb List PalmOS document >0 string >\0 "%s" 60 string Mdb1Mdb1 MobileDB PalmOS document >0 string >\0 "%s" 60 string PNRdPPrs PeanutPress PalmOS document >0 string >\0 "%s" 60 string DataPlkr Plucker PalmOS document >0 string >\0 "%s" 60 string DataSprd QuickSheet PalmOS document >0 string >\0 "%s" 60 string SM01SMem SuperMemo PalmOS document >0 string >\0 "%s" 60 string TEXtTlDc TealDoc PalmOS document >0 string >\0 "%s" 60 string InfoTlIf TealInfo PalmOS document >0 string >\0 "%s" 60 string DataTlMl TealMeal PalmOS document >0 string >\0 "%s" 60 string DataTlPt TealPaint PalmOS document >0 string >\0 "%s" 60 string dataTDBP ThinkDB PalmOS document >0 string >\0 "%s" 60 string TdatTide Tides PalmOS document >0 string >\0 "%s" 60 string ToRaTRPW TomeRaider PalmOS document >0 string >\0 "%s" # A GutenPalm zTXT etext for use on Palm Pilots (http://gutenpalm.sf.net) # For version 1.xx zTXTs, outputs version and numbers of bookmarks and # annotations. # For other versions, just outputs version. # 60 string zTXT A GutenPalm zTXT e-book >0 string >\0 "%s" >(0x4E.L) byte 0 >>(0x4E.L+1) byte x (v0.%02d) >(0x4E.L) byte 1 >>(0x4E.L+1) byte x (v1.%02d) >>>(0x4E.L+10) beshort >0 >>>>(0x4E.L+10) beshort <2 - 1 bookmark >>>>(0x4E.L+10) beshort >1 - %d bookmarks >>>(0x4E.L+14) beshort >0 >>>>(0x4E.L+14) beshort <2 - 1 annotation >>>>(0x4E.L+14) beshort >1 - %d annotations >(0x4E.L) byte >1 (v%d. >>(0x4E.L+1) byte x %02d) # Palm OS .prc file types 60 string libr Palm OS dynamic library data >0 string >\0 "%s" 60 string ptch Palm OS operating system patch data >0 string >\0 "%s" # Mobipocket (www.mobipocket.com), donated by Carl Witty 60 string BOOKMOBI Mobipocket E-book >0 string >\0 "%s" @ 1.1.1.1 log @from ftp.astron.com @ text @@ 1.1.1.2 log @from ftp.astron.com. - many security related fixes - no MAXPATHLEN limits - fixed missing text specification on ascii magic - new ``pascal'' style string formats - whitespace comparison fix - more magic @ text @a2 1 # $File: palm,v 1.7 2009/09/19 16:28:11 christos Exp $ @ 1.1.1.2.4.1 log @sync with head @ text @d3 2 a4 2 # $File: palm,v 1.9 2012/01/16 15:16:43 christos Exp $ # palm: file(1) magic for PalmOS {.prc,.pdb}: applications, docfiles, and hacks a7 4 # These are weak, byte 59 is not guaranteed to be 0 and there are # 8 character identifiers at byte 60, one I found for appl is BIGb. # What are the possibilities and where is this documented? d9 2 a10 3 #59 byte \0 #>60 string appl PalmOS application #>0 string >\0 "%s" d12 2 a13 3 #59 byte \0 #>60 belong TEXt AportisDoc file #>0 string >\0 "%s" d15 2 a16 3 #59 byte \0 #>60 string HACK HackMaster hack #>0 string >\0 "%s" d21 42 a62 42 60 string BVokBDIC BDicty PalmOS document >0 string >\0 "%s" 60 string DB99DBOS DB PalmOS document >0 string >\0 "%s" 60 string vIMGView FireViewer/ImageViewer PalmOS document >0 string >\0 "%s" 60 string PmDBPmDB HanDBase PalmOS document >0 string >\0 "%s" 60 string InfoINDB InfoView PalmOS document >0 string >\0 "%s" 60 string ToGoToGo iSilo PalmOS document >0 string >\0 "%s" 60 string JfDbJBas JFile PalmOS document >0 string >\0 "%s" 60 string JfDbJFil JFile Pro PalmOS document >0 string >\0 "%s" 60 string DATALSdb List PalmOS document >0 string >\0 "%s" 60 string Mdb1Mdb1 MobileDB PalmOS document >0 string >\0 "%s" 60 string PNRdPPrs PeanutPress PalmOS document >0 string >\0 "%s" 60 string DataPlkr Plucker PalmOS document >0 string >\0 "%s" 60 string DataSprd QuickSheet PalmOS document >0 string >\0 "%s" 60 string SM01SMem SuperMemo PalmOS document >0 string >\0 "%s" 60 string TEXtTlDc TealDoc PalmOS document >0 string >\0 "%s" 60 string InfoTlIf TealInfo PalmOS document >0 string >\0 "%s" 60 string DataTlMl TealMeal PalmOS document >0 string >\0 "%s" 60 string DataTlPt TealPaint PalmOS document >0 string >\0 "%s" 60 string dataTDBP ThinkDB PalmOS document >0 string >\0 "%s" 60 string TdatTide Tides PalmOS document >0 string >\0 "%s" 60 string ToRaTRPW TomeRaider PalmOS document >0 string >\0 "%s" d91 2 a92 2 60 string BOOKMOBI Mobipocket E-book >0 string >\0 "%s" @ 1.1.1.2.6.1 log @Pull up following revision(s) (requested by christos in ticket #30): Update file to 5.11 (CDF security fixes) @ text @d3 2 a4 2 # $File: palm,v 1.9 2012/01/16 15:16:43 christos Exp $ # palm: file(1) magic for PalmOS {.prc,.pdb}: applications, docfiles, and hacks a7 4 # These are weak, byte 59 is not guaranteed to be 0 and there are # 8 character identifiers at byte 60, one I found for appl is BIGb. # What are the possibilities and where is this documented? d9 2 a10 3 #59 byte \0 #>60 string appl PalmOS application #>0 string >\0 "%s" d12 2 a13 3 #59 byte \0 #>60 belong TEXt AportisDoc file #>0 string >\0 "%s" d15 2 a16 3 #59 byte \0 #>60 string HACK HackMaster hack #>0 string >\0 "%s" d21 42 a62 42 60 string BVokBDIC BDicty PalmOS document >0 string >\0 "%s" 60 string DB99DBOS DB PalmOS document >0 string >\0 "%s" 60 string vIMGView FireViewer/ImageViewer PalmOS document >0 string >\0 "%s" 60 string PmDBPmDB HanDBase PalmOS document >0 string >\0 "%s" 60 string InfoINDB InfoView PalmOS document >0 string >\0 "%s" 60 string ToGoToGo iSilo PalmOS document >0 string >\0 "%s" 60 string JfDbJBas JFile PalmOS document >0 string >\0 "%s" 60 string JfDbJFil JFile Pro PalmOS document >0 string >\0 "%s" 60 string DATALSdb List PalmOS document >0 string >\0 "%s" 60 string Mdb1Mdb1 MobileDB PalmOS document >0 string >\0 "%s" 60 string PNRdPPrs PeanutPress PalmOS document >0 string >\0 "%s" 60 string DataPlkr Plucker PalmOS document >0 string >\0 "%s" 60 string DataSprd QuickSheet PalmOS document >0 string >\0 "%s" 60 string SM01SMem SuperMemo PalmOS document >0 string >\0 "%s" 60 string TEXtTlDc TealDoc PalmOS document >0 string >\0 "%s" 60 string InfoTlIf TealInfo PalmOS document >0 string >\0 "%s" 60 string DataTlMl TealMeal PalmOS document >0 string >\0 "%s" 60 string DataTlPt TealPaint PalmOS document >0 string >\0 "%s" 60 string dataTDBP ThinkDB PalmOS document >0 string >\0 "%s" 60 string TdatTide Tides PalmOS document >0 string >\0 "%s" 60 string ToRaTRPW TomeRaider PalmOS document >0 string >\0 "%s" d91 2 a92 2 60 string BOOKMOBI Mobipocket E-book >0 string >\0 "%s" @ 1.1.1.3 log @from ftp.astron.com, CDF security fixes @ text @d3 2 a4 2 # $File: palm,v 1.9 2012/01/16 15:16:43 christos Exp $ # palm: file(1) magic for PalmOS {.prc,.pdb}: applications, docfiles, and hacks a7 4 # These are weak, byte 59 is not guaranteed to be 0 and there are # 8 character identifiers at byte 60, one I found for appl is BIGb. # What are the possibilities and where is this documented? d9 2 a10 3 #59 byte \0 #>60 string appl PalmOS application #>0 string >\0 "%s" d12 2 a13 3 #59 byte \0 #>60 belong TEXt AportisDoc file #>0 string >\0 "%s" d15 2 a16 3 #59 byte \0 #>60 string HACK HackMaster hack #>0 string >\0 "%s" d21 42 a62 42 60 string BVokBDIC BDicty PalmOS document >0 string >\0 "%s" 60 string DB99DBOS DB PalmOS document >0 string >\0 "%s" 60 string vIMGView FireViewer/ImageViewer PalmOS document >0 string >\0 "%s" 60 string PmDBPmDB HanDBase PalmOS document >0 string >\0 "%s" 60 string InfoINDB InfoView PalmOS document >0 string >\0 "%s" 60 string ToGoToGo iSilo PalmOS document >0 string >\0 "%s" 60 string JfDbJBas JFile PalmOS document >0 string >\0 "%s" 60 string JfDbJFil JFile Pro PalmOS document >0 string >\0 "%s" 60 string DATALSdb List PalmOS document >0 string >\0 "%s" 60 string Mdb1Mdb1 MobileDB PalmOS document >0 string >\0 "%s" 60 string PNRdPPrs PeanutPress PalmOS document >0 string >\0 "%s" 60 string DataPlkr Plucker PalmOS document >0 string >\0 "%s" 60 string DataSprd QuickSheet PalmOS document >0 string >\0 "%s" 60 string SM01SMem SuperMemo PalmOS document >0 string >\0 "%s" 60 string TEXtTlDc TealDoc PalmOS document >0 string >\0 "%s" 60 string InfoTlIf TealInfo PalmOS document >0 string >\0 "%s" 60 string DataTlMl TealMeal PalmOS document >0 string >\0 "%s" 60 string DataTlPt TealPaint PalmOS document >0 string >\0 "%s" 60 string dataTDBP ThinkDB PalmOS document >0 string >\0 "%s" 60 string TdatTide Tides PalmOS document >0 string >\0 "%s" 60 string ToRaTRPW TomeRaider PalmOS document >0 string >\0 "%s" d91 2 a92 2 60 string BOOKMOBI Mobipocket E-book >0 string >\0 "%s" @ 1.1.1.3.2.1 log @Rebase to HEAD as of a few days ago. @ text @d3 1 a3 1 # $File: palm,v 1.13 2014/03/30 21:40:08 christos Exp $ a11 31 # The common header format for PalmOS .pdb/.prc files is # { # char name[ 32 ]; # Word attributes; # Word version; # DWord creationDate; # DWord modificationDate; # DWord lastBackupDate; # DWord modificationNumber; # DWord appInfoID; # DWord sortInfoID; # char type[4]; # char creator[4]; # DWord uniqueIDSeed; # RecordListType recordList; # }; # # Datestamps are unsigned seconds since the MacOS epoch (Jan 1, 1904), # or Unix/POSIX time + 2082844800. 0 name aportisdoc # date is supposed to be big-endian seconds since 1 Jan 1904, but many # files contain the timestamp in little-endian or a completely # nonsensical value... #>36 bedate-2082844800 >0 \b, created %s # compression: 1=uncomp, 2=orig, 0x4448=HuffDic >(78.L) beshort =1 \b, uncompressed # compressed >(78.L) beshort >1 >>(78.L+4) belong x \b, %d bytes uncompressed d13 7 a19 3 #60 string appl PalmOS application #>0 string >\0 "%s" d21 3 a23 28 #60 string HACK HackMaster hack #>0 string >\0 "%s" # iSiloX e-book 60 string SDocSilX iSiloX E-book >0 string >\0 "%s" # Mobipocket (www.mobipocket.com), donated by Carl Witty # expanded by Ralf Brown 60 string BOOKMOBI Mobipocket E-book # MobiPocket stores a full title, pointed at by the belong at offset # 0x54 in its header at (78.L), with length given by the belong at # offset 0x58. # there's no guarantee that the title string is null-terminated, but # we currently can't specify a variable-length string where the length # field is not at the start of the string; in practice, the data # following the string always seems to start with a zero byte >(78.L) belong x >>&(&0x50.L-4) string >\0 "%s" >0 use aportisdoc >>(78.L+0x68) belong >0 \b, version %d >>(78.L+0x1C) belong !0 \b, codepage %d >>(78.L+0x0C) beshort >0 \b, encrypted (type %d) # AportisDoc/PalmDOC 60 string TEXtREAd AportisDoc/PalmDOC E-book >0 string >\0 "%s" >0 use aportisdoc d92 2 a93 6 60 string libr # flags, only bit 0 or bit 6 # http://en.wikipedia.org/wiki/PRC_%28Palm_OS%29 # http://web.mit.edu/tytso/www/pilot/prc-format.html >0x20 beshort&0xffbe 0 >>0 string >\0 Palm OS dynamic library data "%s" @ 1.1.1.3.10.1 log @Rebase. @ text @d3 1 a3 1 # $File: palm,v 1.13 2014/03/30 21:40:08 christos Exp $ a11 31 # The common header format for PalmOS .pdb/.prc files is # { # char name[ 32 ]; # Word attributes; # Word version; # DWord creationDate; # DWord modificationDate; # DWord lastBackupDate; # DWord modificationNumber; # DWord appInfoID; # DWord sortInfoID; # char type[4]; # char creator[4]; # DWord uniqueIDSeed; # RecordListType recordList; # }; # # Datestamps are unsigned seconds since the MacOS epoch (Jan 1, 1904), # or Unix/POSIX time + 2082844800. 0 name aportisdoc # date is supposed to be big-endian seconds since 1 Jan 1904, but many # files contain the timestamp in little-endian or a completely # nonsensical value... #>36 bedate-2082844800 >0 \b, created %s # compression: 1=uncomp, 2=orig, 0x4448=HuffDic >(78.L) beshort =1 \b, uncompressed # compressed >(78.L) beshort >1 >>(78.L+4) belong x \b, %d bytes uncompressed d13 7 a19 3 #60 string appl PalmOS application #>0 string >\0 "%s" d21 3 a23 28 #60 string HACK HackMaster hack #>0 string >\0 "%s" # iSiloX e-book 60 string SDocSilX iSiloX E-book >0 string >\0 "%s" # Mobipocket (www.mobipocket.com), donated by Carl Witty # expanded by Ralf Brown 60 string BOOKMOBI Mobipocket E-book # MobiPocket stores a full title, pointed at by the belong at offset # 0x54 in its header at (78.L), with length given by the belong at # offset 0x58. # there's no guarantee that the title string is null-terminated, but # we currently can't specify a variable-length string where the length # field is not at the start of the string; in practice, the data # following the string always seems to start with a zero byte >(78.L) belong x >>&(&0x50.L-4) string >\0 "%s" >0 use aportisdoc >>(78.L+0x68) belong >0 \b, version %d >>(78.L+0x1C) belong !0 \b, codepage %d >>(78.L+0x0C) beshort >0 \b, encrypted (type %d) # AportisDoc/PalmDOC 60 string TEXtREAd AportisDoc/PalmDOC E-book >0 string >\0 "%s" >0 use aportisdoc d92 2 a93 6 60 string libr # flags, only bit 0 or bit 6 # http://en.wikipedia.org/wiki/PRC_%28Palm_OS%29 # http://web.mit.edu/tytso/www/pilot/prc-format.html >0x20 beshort&0xffbe 0 >>0 string >\0 Palm OS dynamic library data "%s" @ 1.1.1.4 log @import file-5.19 2014-06-09 9:04 Christos Zoulas * Misc buffer overruns and missing buffer size tests in cdf parsing (Francisco Alonso, Jan Kaluza) 2014-06-02 14:50 Christos Zoulas * Enforce limit of 8K on regex searches that have no limits * Allow the l modifier for regex to mean line count. Default to byte count. If line count is specified, assume a max of 80 characters per line to limit the byte count. * Don't allow conversions to be used for dates, allowing the mask field to be used as an offset. 2014-05-30 12:51 Christos Zoulas * Make the range operator limit the length of the regex search. 2014-05-14 19:23 Christos Zoulas * PR/347: Windows fixes * PR/352: Hangul word processor recognition * PR/354: Encoding irregularities in text files 2014-05-06 6:12 Christos Zoulas * Fix uninitialized title in CDF files (Jan Kaluza) 2014-05-04 14:55 Christos Zoulas * PR/351: Fix compilation of empty files 2014-04-30 17:39 Christos Zoulas * Fix integer formats: We don't specify 'l' or 'h' and 'hh' specifiers anymore, only 'll' for quads and nothing for the rest. This is so that magic writing is simpler. 2014-04-01 15:25 Christos Zoulas * PR/341: Jan Kaluza, fix memory leak * PR/342: Jan Kaluza, fix out of bounds read 2014-03-28 15:25 Christos Zoulas * Fix issue with long formats not matching fmtcheck @ text @d3 1 a3 1 # $File: palm,v 1.13 2014/03/30 21:40:08 christos Exp $ a11 31 # The common header format for PalmOS .pdb/.prc files is # { # char name[ 32 ]; # Word attributes; # Word version; # DWord creationDate; # DWord modificationDate; # DWord lastBackupDate; # DWord modificationNumber; # DWord appInfoID; # DWord sortInfoID; # char type[4]; # char creator[4]; # DWord uniqueIDSeed; # RecordListType recordList; # }; # # Datestamps are unsigned seconds since the MacOS epoch (Jan 1, 1904), # or Unix/POSIX time + 2082844800. 0 name aportisdoc # date is supposed to be big-endian seconds since 1 Jan 1904, but many # files contain the timestamp in little-endian or a completely # nonsensical value... #>36 bedate-2082844800 >0 \b, created %s # compression: 1=uncomp, 2=orig, 0x4448=HuffDic >(78.L) beshort =1 \b, uncompressed # compressed >(78.L) beshort >1 >>(78.L+4) belong x \b, %d bytes uncompressed d13 7 a19 3 #60 string appl PalmOS application #>0 string >\0 "%s" d21 3 a23 28 #60 string HACK HackMaster hack #>0 string >\0 "%s" # iSiloX e-book 60 string SDocSilX iSiloX E-book >0 string >\0 "%s" # Mobipocket (www.mobipocket.com), donated by Carl Witty # expanded by Ralf Brown 60 string BOOKMOBI Mobipocket E-book # MobiPocket stores a full title, pointed at by the belong at offset # 0x54 in its header at (78.L), with length given by the belong at # offset 0x58. # there's no guarantee that the title string is null-terminated, but # we currently can't specify a variable-length string where the length # field is not at the start of the string; in practice, the data # following the string always seems to start with a zero byte >(78.L) belong x >>&(&0x50.L-4) string >\0 "%s" >0 use aportisdoc >>(78.L+0x68) belong >0 \b, version %d >>(78.L+0x1C) belong !0 \b, codepage %d >>(78.L+0x0C) beshort >0 \b, encrypted (type %d) # AportisDoc/PalmDOC 60 string TEXtREAd AportisDoc/PalmDOC E-book >0 string >\0 "%s" >0 use aportisdoc d92 2 a93 6 60 string libr # flags, only bit 0 or bit 6 # http://en.wikipedia.org/wiki/PRC_%28Palm_OS%29 # http://web.mit.edu/tytso/www/pilot/prc-format.html >0x20 beshort&0xffbe 0 >>0 string >\0 Palm OS dynamic library data "%s" @ 1.1.1.4.24.1 log @Sync with HEAD @ text @d3 1 a3 1 # $File: palm,v 1.14 2019/04/19 00:42:27 christos Exp $ d146 2 a147 2 # https://en.wikipedia.org/wiki/PRC_%28Palm_OS%29 # https://web.mit.edu/tytso/www/pilot/prc-format.html @ 1.1.1.5 log @2019-05-14 22:26 Christos Zoulas * release 5.37 2019-05-09 22:27 Christos Zoulas * Make sure that continuation separators are printed with -k within softmagic 2019-05-06 22:27 Christos Zoulas * Change SIGPIPE saving and restoring during compression to use sigaction(2) instead of signal(3) and cache it. (Denys Vlasenko) * Cache stat(2) calls more to reduce number of calls (Denys Vlasenko) 2019-05-06 17:25 Christos Zoulas * PR/77: Handle --mime-type and -k correctly. 2019-05-03 15:26 Christos Zoulas * Switch decompression code to use vfork() because tools like rpmdiff and rpmbuild call libmagic with large process footprints (Denys Vlasenko) 2019-04-07 14:05 Christos Zoulas * PR/75: --enable-zlib, did not work. 2019-02-27 11:54 Christos Zoulas * Improve regex efficiency (Michael Schroeder) by: 1. Prefixing regex searches with regular search for keywords where possible 2. Using memmem(3) where available @ text @d3 1 a3 1 # $File: palm,v 1.14 2019/04/19 00:42:27 christos Exp $ d146 2 a147 2 # https://en.wikipedia.org/wiki/PRC_%28Palm_OS%29 # https://web.mit.edu/tytso/www/pilot/prc-format.html @ 1.1.1.6 log @Import file-5.43+; last was file-5.40 2022-09-20 17:12 Christos Zoulas * fixed various clustefuzz issues 2022-09-19 15:54 Christos Zoulas * Fix error detection for decompression code (Vincent Mihalkovic) 2022-09-15 13:50 Christos Zoulas * Add MAGIC_NO_COMPRESS_FORK and use it to produce a more meaningful error message if we are sandboxing. 2022-09-15 10:45 Christos Zoulas * Add built-in lzip decompression support (Michal Gorny) 2022-09-14 10:35 Christos Zoulas * Add built-in zstd decompression support (Martin Rodriguez Reboredo) 2022-09-13 14:55 Christos Zoulas * release 5.43 2022-09-10 9:17 Christos Zoulas * Add octal indirect magic (Michal Gorny) 2022-08-17 11:43 Christos Zoulas * PR/374: avoid infinite loop in non-wide code (piru) * PR/373: Obey MAGIC_CONTINUE with multiple magic files (vismarli) 2022-07-26 11:10 Christos Zoulas * Fix bug with large flist (Florian Weimer) 2022-07-07 13:21 Christos Zoulas * PR/364: Detect non-nul-terminated core filenames from QEMU (mam-ableton) 2022-07-04 15:45 Christos Zoulas * PR/359: Add support for http://ndjson.org/ (darose) * PR/362: Fix wide printing (ro-ee) * PR/358: Fix width for -f - (jpalus) * PR/356: Fix JSON constant parsing (davewhite) 2022-06-10 9:40 Christos Zoulas * release 5.42 2022-05-31 14:50 Christos Zoulas * PR/348: add missing cases to prevent file from aborting on random magic files. 2022-05-27 21:05 Christos Zoulas * PR/351: octalify filenames when not raw before printing. 2022-04-18 17:51 Christos Zoulas * fix regex cacheing bug (Dirk Mueller) * merge file_regcomp and file_regerror() to simplify the code and reduce memory requirements for storing regexes (Dirk Mueller) 2022-03-19 12:56 Christos Zoulas * cache regex (Dirk Mueller) * detect filesystem full by flushing output (Dirk Mueller) 2021-11-19 12:36 Christos Zoulas * implement running decompressor programs using posix_spawnp(2) instead of vfork(2) 2021-10-24 11:51 Christos Zoulas * Add support for msdos dates and times 2021-10-20 9:55 Christos Zoulas * use the system byte swapping functions if available (Werner Fink) 2021-10-18 11:57 Christos Zoulas * release 5.41 2021-09-23 03:51 Christos Zoulas * Avinash Sonawane: Fix tzname detection 2021-09-03 09:17 Christos Zoulas * Fix relationship tests with "search" magic, don't short circuit logic 2021-07-13 01:06 Christos Zoulas * Fix memory leak in compile mode 2021-07-01 03:51 Christos Zoulas * PR/272: kiefermat: Only set returnval = 1 when we printed something (in all cases print or !print). This simplifies the logic and fixes the issue in the PR with -k and --mime-type there was no continuation printed before the default case. 2021-06-30 13:07 Christos Zoulas * PR/270: Don't translate unprintable characters in %s magic formats when -r * PR/269: Avoid undefined behavior with clang (adding offset to NULL) 2021-05-09 18:38 Christos Zoulas * Add a new flag (f) that requires that the match is a full word, not a partial word match. * Add varint types (unused) 2021-04-19 17:17 Christos Zoulas * PR/256: mutableVoid: If the file is less than 3 bytes, use the file length to determine type * PR/259: aleksandr.v.novichkov: mime printing through indirect magic is not taken into account, use match directly so that it does. 2021-04-04 17:02 Christos Zoulas * count the total bytes found not the total byte positions in order to determine encoding (Anatol Belski) @ text @d3 1 a3 1 # $File: palm,v 1.15 2021/12/16 21:50:06 christos Exp $ a57 1 !:mime application/x-mobipocket-ebook @ 1.1.1.1.2.1 log @file palm was added on branch jym-xensuspend on 2009-05-13 18:51:58 +0000 @ text @d1 91 @ 1.1.1.1.2.2 log @Sync with HEAD. Second commit. See http://mail-index.netbsd.org/source-changes/2009/05/13/msg221222.html @ text @a0 91 #------------------------------------------------------------------------------ # palm: file(1) magic for PalmOS {.prc,.pdb}: applications, docfiles, and hacks # # Brian Lalor # appl 60 belong 0x6170706c PalmOS application >0 string >\0 "%s" # TEXt 60 belong 0x54455874 AportisDoc file >0 string >\0 "%s" # HACK 60 belong 0x4841434b HackMaster hack >0 string >\0 "%s" # Variety of PalmOS document types # Michael-John Turner # Thanks to Hasan Umit Ezerce for his DocType 60 string BVokBDIC BDicty PalmOS document >0 string >\0 "%s" 60 string DB99DBOS DB PalmOS document >0 string >\0 "%s" 60 string vIMGView FireViewer/ImageViewer PalmOS document >0 string >\0 "%s" 60 string PmDBPmDB HanDBase PalmOS document >0 string >\0 "%s" 60 string InfoINDB InfoView PalmOS document >0 string >\0 "%s" 60 string ToGoToGo iSilo PalmOS document >0 string >\0 "%s" 60 string JfDbJBas JFile PalmOS document >0 string >\0 "%s" 60 string JfDbJFil JFile Pro PalmOS document >0 string >\0 "%s" 60 string DATALSdb List PalmOS document >0 string >\0 "%s" 60 string Mdb1Mdb1 MobileDB PalmOS document >0 string >\0 "%s" 60 string PNRdPPrs PeanutPress PalmOS document >0 string >\0 "%s" 60 string DataPlkr Plucker PalmOS document >0 string >\0 "%s" 60 string DataSprd QuickSheet PalmOS document >0 string >\0 "%s" 60 string SM01SMem SuperMemo PalmOS document >0 string >\0 "%s" 60 string TEXtTlDc TealDoc PalmOS document >0 string >\0 "%s" 60 string InfoTlIf TealInfo PalmOS document >0 string >\0 "%s" 60 string DataTlMl TealMeal PalmOS document >0 string >\0 "%s" 60 string DataTlPt TealPaint PalmOS document >0 string >\0 "%s" 60 string dataTDBP ThinkDB PalmOS document >0 string >\0 "%s" 60 string TdatTide Tides PalmOS document >0 string >\0 "%s" 60 string ToRaTRPW TomeRaider PalmOS document >0 string >\0 "%s" # A GutenPalm zTXT etext for use on Palm Pilots (http://gutenpalm.sf.net) # For version 1.xx zTXTs, outputs version and numbers of bookmarks and # annotations. # For other versions, just outputs version. # 60 string zTXT A GutenPalm zTXT e-book >0 string >\0 "%s" >(0x4E.L) byte 0 >>(0x4E.L+1) byte x (v0.%02d) >(0x4E.L) byte 1 >>(0x4E.L+1) byte x (v1.%02d) >>>(0x4E.L+10) beshort >0 >>>>(0x4E.L+10) beshort <2 - 1 bookmark >>>>(0x4E.L+10) beshort >1 - %d bookmarks >>>(0x4E.L+14) beshort >0 >>>>(0x4E.L+14) beshort <2 - 1 annotation >>>>(0x4E.L+14) beshort >1 - %d annotations >(0x4E.L) byte >1 (v%d. >>(0x4E.L+1) byte x %02d) # Palm OS .prc file types 60 string libr Palm OS dynamic library data >0 string >\0 "%s" 60 string ptch Palm OS operating system patch data >0 string >\0 "%s" # Mobipocket (www.mobipocket.com), donated by Carl Witty 60 string BOOKMOBI Mobipocket E-book >0 string >\0 "%s" @