V1.0b first Release 14.Apr.96 s!x v0.39w7+ V1.0b2 Added few things: 15.Apr.96 - DirinKbyte Support added - Config File Supported s!x v0.39w8+ Now you can use your own filedescriptors, and configure it yourself eg: for unpacking a archive (file.) u have to use: Depack_: c:??? x %P file_id.diz %W if u want to add a file_id to a archive: Pack_: c:??? a %P file_id.diz %W %P is the playpen+filename %W is the Temporary Fileid_workdirectory examples: bgfilehandler.config: ---------------------------- cut ------------------------------ Depack_LZX: c:LZX x %P file_id.diz %W Depack_LHA: c:LHA x %P file_id.diz %W Depack_LZA: c:LHA x %P file_id.diz %W Depack_LZH: c:LHA x %P file_id.diz %W Depack_TXT: c:TxtExtract e %Wfile_id.diz %P Depack_DOC: c:TxtExtract e %Wfile_id.diz %P Depack_DOK: c:TxtExtract e %Wfile_id.diz %P Depack_NFO: c:TxtExtract e %Wfile_id.diz %P Depack_DMS: c:DMSDescript x %Wfile_id.diz %P Depack_EXE: c:EXEDESCRIPT x %Wfile_id.diz %P Depack_ZIP: c:UNZIP -C %P FILE_ID.DIZ -d %W Pack_LHA: c:LHA a %P %Wfile_id.diz Pack_LZA: c:LHA a %P %Wfile_id.diz Pack_LZH: c:LHA a %P %Wfile_id.diz Pack_LZX: c:LZX a %P %Wfile_id.diz Pack_DMS: c:DMSDescript a %Wfile_id.diz %P Pack_EXE: c:EXEDESCRIPT a %Wfile_id.diz %P Pack_TXT: c:TxtExtract a %Wfile_id.diz %P Pack_NFO: c:TxtExtract a %Wfile_id.diz %P Pack_DOC: c:TxtExtract a %Wfile_id.diz %P Pack_DOK: c:TxtExtract a %Wfile_id.diz %P Pack_GIF: c:gifdesc a %P %Wfile_id.diz ---------------------------- cut ------------------------------ V1.0b3 17.Apr.96 - Some small minor bugs removed! - Added a small Flag in bgfilehandler.config: OLD_FCHECK: yes OLD_FCHECK: no At the moment u have to put in OLD_FCHECK: yes because the new filecheck routines are not implemented yet. The Default for OLD_FCHECK is NO! 18.Apr.96 DELETE_FILE: yes DELETE_FILE: no The Default is YES! This just handles if the file is posted in the background, and is ready, that the file will be deleted immediately or not... u have to insert NO! if your other Examine doors don`t work. But it is better to turn it to YES, to save HD-Space while uploading! Soon coming: - a better Filechecksystem - a configurable Sentbyline - Speed improvement of File_id-handling V1.0b4 19.Apr.96 - Added a better Filechecksystem: First U have to set: OLD_FCHECK: no or just delete this line in bgfilehandler.config Then U just need the directory bs:bgcheck/Fcheck/ In there U put the following files: If you want to check a abcd.lha file in the fcheck dir must be a file Called LHA the same with DMS LZX and so on. Example: LHA: ---------------------------- cut ------------------------------ Check.1: Lha >%OUT t %P%F Error.1.1: Operation failed. Check.2: Utils:ss %P%F VERIFY bbs:tmp/ BBS SEXPRESS LOG bbs:Bulletins/bull8.txt >%OUT ---------------------------- cut ------------------------------ This will do: 1) Start the Lha to test the file ... 2) then Compare if the filetest has failed: there can be more Error.msgs inserted here. e.g. Error.1.1: Operation failed. Error.1.2: Operation not successfull! Error.1.3: Operation fucked up! Error.x.y: Operation failed. Error.x.y: Operation not successfull! Error.x.y: Operation fucked up! or u just need`t add anything to the error.x.y flag then the filecheck will be done without comparing 3) If everything is ok then the 2. Filechecker (here the Filestripper) is startet. U can insert the following characters which will be changed from the checker %P = Path to the File %F = Filename %H = Handle of User %C = Path to Conference %N = Node Number %OUT= This is the fifo: outputhandler U HAVE TO INSERT IN YOUR CHECK.X: at the right place, if not, it could be possible that the errordetection is not working perfectly V1.0b5 21.Apr.96 - Added another Sentbyline U just have to add the following line to your bbs.cmd: bbs.cmd ---------------------------- cut ------------------------------ sent XM020bbs:bgcheck/sent ---------------------------- cut ------------------------------ That`s all... just call this door and edit your sentbyline V1.0b6 23.Apr.96 - Bugfix: Although there was no free space on the first Entry of the ulpaths, bgposter tried to copy to that entry.. result: Requester... Now this is fixed. - Added some sentby features: CONF_SENTBY: MULTI_SENTBY: default: CONF_SENTBY: No MULTI_SENTBY: Yes - If you have turned MULTI_SENTBY to Yes, the system will show both sentby lines, the one of the system AND the one the user defines. if the User didn`t define one, then only the system senby will be shown. If MULTI_SENTBY is turned to No, the system will only show one sentby line, The user predefined, when not, then the system one. - If you have turned CONF_SENTBY to Yes, the system will look for the file Sentby in conference Path. If it exists it will enable to take the User-predefined Sentbyline. But it will respect the settings of MULTI_SENTBY! if you take CONF_SENTBY: No MULTI_SENTBY: Yes then the result is the same as it was in V1.0b5! V1.0b7 28.Apr.96 - Replaced the external Copy with an internal copy-routine! - Speeded up File_id-Handling (There is no more a t: file) t:.stat and t:.fcheck still exists! But soo will be gone too.. V1.0b8 10.May.96 - Changed the file_id strip routine with the MATCHPATTERN routine... now u can use the following extensions.. ? Matches a single character. # Matches the following expression 0 or more times. (ab|cd) Matches any one of the items seperated by '|'. ~ Negates the following expression. It matches all strings that do not match the expression (aka ~(foo) matches all strings that are not exactly "foo"). [abc] Character class: matches any of the characters in the class. [~bc] Character class: matches any of the characters not in the class. a-z Character range (only within character classes). % Matches 0 characters always (useful in "(foo|bar|%)"). * Synonym for "#?", not available by default in 2.0. Available as an option that can be turned on. "Expression" in the above table means either a single character (ex: "#?"), or an alternation (ex: "#(ab|cd|ef)"), or a character class (ex: "#[a-zA-Z]"). - if U use the patternmatching all patterns in this line will be translated! e.g. | Type:#? Useless ? Type:#? O.K. - Now the Striplist is called bgfilehandler.strip no more striplist.normal striplist.pattern - Old Filecheck removed! - Removed some minor bugs - Improved speed of some routines V1.0b9 18.May.96 - Central Hold function added! (suggestion of Elvin) Just add to your config file: CENTRAL_HOLD_PATH: bbs:hold/ - Just fixed a small bug (didn`t strip lines with strlen(line)==0) - Added a File_id length limitation: MAX_FILEID_LINES: 15 Now only 15 lines of the File_id are taken into the filelist. Plus your sentby lines. Default is 20. - Added another Flag. Now you can start a cli-programm in front of the Fileprocessing. e.g. START_TOOL: echo "File: %F from: %H on Node: %N at %T %D" >>ram:files Now this program is started, and after that program has ended, the fileprocessing is resumed. Here u can insert the following patterns: %P = Path to the File %F = Filename %H = Handle of User %C = Path to Conference %N = Node Number NEW: %T = Time %D = Date The new Patterns also work at the filechecking routines! - New Design of the Sentby-Editor (but i think it is not the best, so i am looking for a cool design) - Bugfix in Sentby line routine (thx to Flozzy) (i think this was the crash-problem at sigma`s and elvin`s bbs) V1.0b10 23.May.96 - Still stripped some lines that shouldn`t be be stripped.. but this should now forever be gone.. - Added Colour Support in Filelists.. for good results, just use the following lines in the .config file The sent1 lines are for sentbyline 1 The sent2 lines are for sentbyline 2 (user defineable) colour_sent1_bracket:  colour_sent1_sentby:  colour_sent1_node:  colour_sent1_time:  colour_sent2:  The default for colours, is turned off. - Added the Examine Routines into my own door.. use it as following.. examine.x: [Examine-door] U have to put the full path+filename of the XIM-door into it.. Examine.x -> x is starting at 0 and will stop at your last examine.y e.g. examine.0: bbs:System/status *** Why did I do this ?? *** Now all other examine doors (e.g. Big Boss` nukelog, Dreamchart) should work fine.. previously there could appear errors in moving the file... - Added a Auto-Free option U can add a Pattern to your .config, that compares all uploads with your Auto_free Pattern If a File matches the Pattern, there will be a automatic Comment-line in your File-list (It is editable); e.g. autofree_comment:  >>> Group! Free download! <<<  autofree.0:joe#? The default for autofree_comment is: -> >>> Free download! <<< <- The autofree.x starts from 0 and ends at your last autofree.y V1.0b11 06.Jun.96 - Fixed a bug in the examine Routines... I deleted the files before the examine door starting.. (Am i stupid...) - Changed the Internal Time and Date routine.. so now the executable saved some bytes and it got faster... - Fixed another thing.. When you were uploading with zmodem the last file was just started to be checked when it was called by the examine-routine! Now the last file is also checked in the background.. - The Examine now shows if an upload is moved to the hold directory of if this upload is delayed. - Fixed a bug: When 2 bgfilehandler tried to add the file_id to the filelist at the same time, just the first one could add the file_id.. the second file_id was lost... this is fixed! - Added a delay funktion for uploads that means.. if u have a release that u upload, and want to have it postet at a spezial time.. u have to start uploading and at the beginning of bgcheck there will be the answer which files U want to delay... and after the filenames u have to enter the time of delay... Not everybody is able to use this upload delay. you can add the flag delay_upload_axx: 200 (default is 255) that all guys who have the 200+ level, can use the upload-delay.. or if u want to have only some special Users u can add the following flags in the config file... delay_upload_axx_ e.g. delay_upload_axx_Joe Cool u can use both option at same time.. If u have set the delay_upload_axx to 200 and delay_upload_axx_Joe Cool, and Joe Cool only has the axx 20 or something like that.. he is able to use the upload delay, too. If u want to delay an upload.. just start your upload and bgcheck will ask if u want to delay an upload.. just press y! After that you have to enter the filename that have to be delayed in this batch (to delay all ones just enter #?). You also can use patterns as filenames! When you are ready with entering the filenames, then you have to enter the date and time the file has to be posted.. that`s all. now you just have to upload your files.. they will now be delayed! - Your delayed uploads will be temporary stored in delay_path: path default path is bbs:bgcheck/delay/ - You also can edit the time the Delayhandler is scanning your Delay-Directory. Allowed Data is 5 and more seconds. delay_scan_time: 60 default scan time is 30 seconds. *** IMPORTANT *** - U have to copy all new files to your bgcheck and system directory because i had to change every file that the new function works - U have to add the following line to your statup-sequence or to your bbs:startup-file, that if there are any delayed uploads and your bbs crashed.. it firstly will check if there are any delayed uploads, and when the bbs was offline too long, the file will be posted immediately add: run >nil: bbs:bgcheck/Delayhandler V1.0b12 09.Jun.96 - Added some FILECHECK doors.. now u also can use the old FILECHECK doors (like udlog from Bossnuke) just use it like the examine doors... filecheck.x Now there should all problems with the examine and filecheck doors be gone.. ! but what i have to say is: Examine or filecheck doors that are styling the dirfile or are working on the file itself are senseless because when the examine/filecheck door is called the file(s) are already posted! Only Examine/filecheck doors that are doing any kind of Logfiles/Charts are not senseless! - Changed the START_TOOL to START_TOOL.x (like examine.x and filecheck.x) for x u can insert 0 to whateveruwant. look for Start_tool description above! - fixed a little bug in the file_id stripping routine! everytime when a fileid_line started with the /-sign the line couldn`t be stripped... now just the first line can`t be stripped when the first sign is a /. all other lines with a / at the beginning can be stripped ! (Private upload security); - now the complete bgcheck-system is running with semaphores (that means that there are less temp-files and less read activities in t:) (speed-improvement) for coders: this structure is the semaphore-structure that my bgcheck is workin` with this structure is filled when the Start_tool.x,Examine.x or Filecheck.x is startet. The Names of the semaphores are the Filenames (in big letters). struct Filedata { struct SignalSemaphore semi; struct MinList sl_List; char filename[13]; char filepath[255]; char nodenumber[3]; char handle[45]; char confpath[255]; char dirinkbyte[2]; char slotnumber[6]; int confnumber; char **Main_Fileid; /* not implemented yet */ ULONG Filesize; char Stat[15]; char Fcheck[15]; BOOL MsgBase; BOOL Hold; BOOL Delay; /* internal things */ char delaydate[9]; /* not implemented yet */ char delaytime[9]; /* not implemented yet */ BOOL Immediately; /* internal things */ BOOL bghandler; /* internal things */ BOOL add_fileid; /* internal things */ }; V1.0b13 09.Jun.96 - Added a fuction that the free downloads will be announced by a mail in the conference of the file! You have to turn the autofree_mail: YES in your config file on! (Default is YES); (This only works if you are using the BBS:Conference.Dat!) *** IMPORTANT! *** You have to have the file MailLock in your confx/MsgBase/ directory! (This file can be 0 Byte long but u already should have it, because the s!x itself uses this file!) otherwise the autofree_mail function doesn`t work! autofree_mail_fromname: Joe Cool autofree_mail_subject: Free Download! This two flags are for the mail... the first is the handle or name where the mail came from (if you want to you can insert a name that doesn`t exist on your system (e.g. default: BGChecker) this doesn`t matter) the second flag is is the subject of the free- download-mail... the default therefor is >> Freedownload! <<