Contributor: MIKKO HYVARINEN { > I would like to know if there is anybody outthere who can tell me in which > way the BWAVE packets are organized. I want to write a Windows mail > reader, just for fun and own usage, and want to implement Bwave mail > packets, because I am using Bwave now to and it is easy for downloading > mail. BlueWave mail packets ====================== Naming conventions : BBSID.ddn dd - two letter abbreviation of the day of week. n - digit, number of packet. Example : MYBBS.MO1. Mail packet files : BBSID.INF - contains user data and BBS configuration. Purpouse and contents of this file are similar to CONTOL.DAT in QWK mail packets. BBSID.MIX - conference index file. Contains total number, number of personal messages in each selected conference and start of conference in message header file. BBSID.FTI - message header file. Records are grouped by conference and also contain offset and length of message text. BBSID.DAT - message text file. Text of all messages in packet without any delimiters between messages. Lines may be terminated with either CR alone or CR/LF pairs. Layout of BBSID.INF file Size Offset (Count) Format Description ___----------------------------------------------------------------------- 0000 1 BYTE BlueWave version number 0001 13 (5) ASCIIZ str. Names of welcome/news files, up to 5 Files may not be present in packet 0042 10 n/a Unknown 004C 43 ASCIIZ str. User real name 0077 43 ASCIIZ str. User alias 00A2 21 ASCIIZ str. Password Password is forced to upper case and encrypted by adding decimal 10 (0Ah) to each byte 00B7 1 BYTE Password usage bit 0 Use password in door bit 1 Use password in reader 00B8 2 WORD Zone 00BA 2 WORD Net 00BC 2 WORD Node 00BE 2 WORD Point 00C0 43 ASCIIZ str. Sysop name 00EB 65 ASCIIZ str. BBS name Left-justified and padded with spaces 012C 1 BYTE File request limit 0 if file requests disabled 012D 6 n/a Unknown 0133 2 WORD Door setup flags bit 0 Use door hotkeys bit 1 Use door expert mode bit 2 Unknown bit 3 Use door graphics bit 4 Filter messages from user 0135 21 (10) ASCIIZ str. Keywords Forced to upper case 0207 21 (10) ASCIIZ str. Filters Forced to upper case 02D9 80 (3) ASCIIZ str. Bundling macros 03C9 2 WORD Unknown 03CB 2 WORD Netmail credits 03CD 2 WORD Netmail debits 03CF 255 n/a Unknown 04CE 80 (?) see below Conference description records ___----------------------------------------------------------------------- Layout of BBSID.INF file conference description records (one record for each BBS conference ) Size Offset (Count) Format Description ___----------------------------------------------------------------------- 0000 6 ASCIIZ str. Conference number 0006 21 ASCIIZ str. Conference name 001B 50 ASCIIZ str. Conference description 004D 1 BYTE Conference attributes bit 0 Conference selected for download bits 2,1 Reply From: field = 00 Put user alias = 01 Put user real name = 10 Allow to enter any name bits 4,3 Conference type = 00 Local = 01 Echo mail = 10 Netmail bit 5 Write permission = 0 Read only = 1 Allowed to enter messages bits 7,6 Message security = 00 User selected = 01 Force public = 10 Force private 004E 2 n/a Unknown ___----------------------------------------------------------------------- Layout of BBSID.MIX file records (one record for each selected conference, regardless whether it contains any messages) Size Offset (Count) Format Description ___----------------------------------------------------------------------- 0000 6 ASCIIZ str. Conference number 0006 2 WORD Total number of messages 0008 2 WORD Number of personal messages 000A 4 DWORD Offset of first message in this conference in message header file (BBSID.FTI) ___----------------------------------------------------------------------- Layout of BBSID.FTI (message header) file records (one record for each message in packet) Size Offset (Count) Format Description ___----------------------------------------------------------------------- 0000 36 ASCIIZ str. Name of sender ("From" field) 0024 36 ASCIIZ str. Name of receiver ("To" field) 0048 72 ASCIIZ str. Message subject 0090 20 ASCIIZ str. Message date and time Example: "06 Aug 92 22:45:00" Format of date and time string depends from door configuration. 00A4 2 WORD Message number 00A6 2 WORD Number of previous message in thread ("Refer") 00A8 2 WORD Number of next message in thread ("See also") 00AA 4 DWORD Offset of message text in BBSID.DAT file 00AE 4 DWORD Length (in bytes) of message text 00B2 2 WORD Message attributes bit 0 Private bit 1 Crash bit 2 Received bit 3 Sent bit 4 File attach bit 5 In transit bit 6 Orphan bit 7 Kill/Sent bit 8 Local bit 9 Hold bit 10 Read BlueWave mail reader updates this bit to keep track of read messages bit 11 File request bit 12 Direct bit 13 Replied BlueWave mail reader updates this bit to indicate user has replied to this message bits 15, 14 Unknown 00B4 2 WORD Origin zone 00B6 2 WORD Origin net 00B8 2 WORD Origin node ___----------------------------------------------------------------------- BlueWave reply packets ======================= Naming conventions : Reply packets are named BBSID.NEW. Reply packet files: BBSID.UPI - Upload information file. Contains mail reader registration number, possibly some other information and reply header records, if packet contains any replies. Reply text files (optional) - ASCII files containing text of individual replies. BlueWave mail reader creates filenames from conference number and reply number, for example, 143.001. BBSID.PDQ (optional) - Offline configuration data. BBSID.REQ (optional) - File requests. Layout of BBSID.UPI file Size Offset (Count) Format Description ___----------------------------------------------------------------------- 0000 9 ASCIIZ str. Reader registration number 0009 46 n/a Unknown 0037 194 (?) see below Reply header records ___----------------------------------------------------------------------- Layout of reply headers in BBSID.UPI file (one for each reply in packet) Size Offset (Count) Format Description ___----------------------------------------------------------------------- 0000 36 ASCIIZ str. Name of sender ("From" field) 0024 36 ASCIIZ str. Name of receiver ("To" field) 0048 72 ASCIIZ str. Reply subject 0090 4 DWORD Reply date and time Unix time stamp (number of seconds since midnight, January 1, 1970, GMT) 0094 13 ASCIIZ str. Name of file containing reply text. 00A1 21 ASCIIZ str. Name of conference ___----------------------------------------------------------------------- Offline configuration ====================== If any changes are made to door configuration offline, BlueWave mail reader includes BBSID.PDQ file in the reply packet. This file contains the following information: Size Offset (Count) Format Description ___----------------------------------------------------------------------- 0000 21 (10) ASCIIZ str. Keywords Forced to upper case 00D2 21 (10) ASCIIZ str. Filters Forced to upper case 01A4 78 (3) ASCIIZ str. Bundling macros 028E 21 ASCIIZ str. Password Password is forced to upper case and encrypted by adding decimal 10 (0Ah) to each byte 02A3 1 BYTE Password usage bit 0 Use password in door bit 1 Use password in reader 02A4 2 WORD Door setup flags bit 0 Use door hotkeys bit 1 Use door expert mode bit 2 Unknown bit 3 Use door graphics bit 4 Filter messages from user 02A6 21 (?) ASCIIZ str. Names of selected conferences ___----------------------------------------------------------------------- File requests ============== If any files are requested, BlueWave mail reader includes BBSID.REQ file in the reply packet: Size Offset (Count) Format Description ___----------------------------------------------------------------------- 0000 13 (?) ASCIIZ str. Names of requested files ___----------------------------------------------------------------------- }