Ŀ TRASH (C) v1.00 1: First searches the \pcb\main\PWDCAN file for any Wildcard match of strings. Be careful when adding new strings so the scanner doesn't stop every password attempt :-) No limits on the number of lines... 2: Secondly searches the \pcb\main\TCAN file for Exact matches. 3: The user has 6 retry attempts to choose a desent password. If failed, the system logs him off. (configurable) 4: Fast searching. At my system with 2 x 2000 names it takes less than 1 second on a 80386-40Mhz PC via our LAN. The code is 8086 optimized. Use trash.286 and rename it to trash.exe if you want 80286 optimized code. 5: The valid user input is restrained to normal acsii characters + numbers, "1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz" Spaces are not allowed on line 2 in TRASH.CFG. Please don't add it yourself, because then isn't Trash working as expected. 6: All prompts used are in language specific PROMPTS files. If you have other languages than the supplied ones, you *must* make a prompts file for it and add the needed lines. Ŀ TRASH (C) v1.01 1: Added a TRASH.CFG file for the program. 2: At TRASH.CFG line 1 you can select how many password retry attempts that shall be allowed before the user is logged off. 3: At TRASH.CFG line 2 you can place Extended Ascii characters/symbols wich should be accepted as input from the user. Ŀ TRASH (C) v1.02 1: Added a 3 character Wildcard search on all userdata fields to make it almost unimpossible to use similar passwords as anything in these fileds. Fields searched are: USERNAME, ALIAS (if installed), PWD, CITY1, PHONE1, PHONE2, CITY2, ADDRESS1, ADDRESS2, ZIPCODE, COUNTRY, STATE, OLDPWD1, OLDPWD2, OLDPWD3. 2: To override the DOS max line-lenght limitation we are now writing these new userdata output to a file in the trash PPE path as "userdata.xxx" where xxx = pcbnode. The "userdata.xxx" file is deleted when trash is finished. 3: Stripped the PWDCAN file a bit, to many false triggers. So if you have been using a previous version - please change to this new one. 4: Added a line 3 in the TRASH.CFG to specify the path for USERDATA.xxx Can be a RAM drive for faster access. Default to C:\ 5: Added line 4 in the TRASH.CFG to specify (as in PCBSETUP), the minimum number of required password characters/symbols. Can be 4 characters minimum and 12 characters maximum. (Default 6 characters) 6: Added line 3 in the PROMPTS file for message about to short passwords. 7: Added better logging of WICH file that triggers Trash - so you easily can adjust the words if wanted. Looks like this: ************************************************************** 10-14-93 (23:26) (10) PETER LAUR (Local) (G) * SYSTEM OPERATOR Password is less than 6 chrs : (123) TCAN file - exact string match: (YUPPIE) PWDCAN file - wildcard string : (ABUSED) USERDATA file - wildcard 3chrs: (VILBER) Accepted password by Trash was: (SOLLEFTEA) Minutes Used: 1 10-14-93 (23:27) (10) PETER LAUR Off Normally ************************************************************** 8: Found a bug in PCBoard wich doesn't allow High Ascii characters above Ascii 127 if the "Disable Registration Edits" in PCBsetup is set to "N". It works okay when logging on the first time as a new user, but not when updating the passwords with (W) or at regular intervals or with the Password PSA installed. Because of this I have disabled the Swedish "" characters and instead added in SMART.CFG "!"#%&/()=?@${[]}\<>+-" as valid extended characters. You can delete whatever character you don't want the users to use in their passwords. 9: Fixed Trash so it also works okay when using the (W) command in PCBoard. To let Trash know the user are inside PCBoard, I have made a small PPE called W_DUMMY.PPE wich shall be started in a Security Specific menu by the user when he logs on. At my system I have all these files in a dir called: C:\PCB\SECURITY and they are named to the security levels I have, like 101, 102, 103 and so on. Here is how I run my PPE's: !C:\PCB\PPE\SMART\SMART.PPE !C:\PCB\PPE\SMART\FREEMEM.PPE !C:\PCB\PPE\TRASH\W_DUMMY.PPE When a user inside PCBoard uses the (W) command, Trash see's the dummy file W_DUMMY.xxx (xxx = PCB nodenumber) in the \PCB\PPE\TRASH directory and reacts different. Normally it doesn't acccepts as a valid input, but with this dummy file it does. It's very good to have this trashcan scanning here too so the users cannot change to another strange password when inside the BBS. Note: You must have it in the TRASH dir! Don't forget to *DELETE* the W_DUMMY.xxx file when ending the BOARD.BAT file! I have the PCBNODE variable set on all our 13 nodes in each PC's autoexec.bat file. (like: SET PCBNODE=1) Then at the end of BOARD.BAT simply add: DEL C:\PCB\PPE\TRASH\W_DUMMY.%PCBNODE% This was the only way I could get Trash to operate with the (W) command and at the same time keep it not accepting as input when used elsewhere. Tricky but works good... :-) Ŀ TRASH (C) v1.03 1: Added logging of the selected non accepted passwords by the users. 2: Better logging of eventual errors if Trash is not configured okay. 3: Added Line 5 in TRASH.CFG for the paths to TCAN & PWDCAN so you can run it on a RAM-drive. 4: Added logging of final accepted password. Configurable in TRASH.CFG Line 6 to YES/NO if you don't want it to be written to the userlog. 5: Bugfix of 12 characters password input. Because of a extra Trash did only send 11 characters hereby making PCBoard's verify option not accepting the 12 it should have been. Fixed. Ŀ TRASH (C) v1.04 1: Trash now displays (UNREGISTERED) when not registered, but are not in any way crippled. In future versions when we convert more over to MSC7.0, we might make some features avalable only to our registered customers. If you want to register, please have a look in the supplied file REGISTER.TXT 2: Fixed so Trash now deletes the USERDATA.xxx file always. In the previous version we forgot it sometime. 3: Changed the TRASH.CFG a bit and now has the sysop name at Line 1. Please make sure you either change or update the one you are using. Ŀ TRASH (C) v1.05 RELEASE DATE: 931225 1: 2 versions supplied with TRASH. The TRASH_1.PPE is using PPLC v1.00 for sysops still using PCBoard v15.0 TRASH_2.PPE is using PPLC v2.00 for PCBoard v15.1 beta and the coming release. Rename the file you want to use to TRASH.PPE 2: Delete (if exist) the USERDATA.xxx file when starting TRASH. Could be left when a newuser suddenly hangs-up. You can also in board.bat at the end put: "if exist c:\userdata.%node% del c:\userdata.%node%" to be sure it's never left. (or on whatever drive you stated on line 4 in TRASH.CFG) 3: Showing a info menu about how and why to select passwords. Language specific. If a menu for a certain language is missing, the english version of PWD1INFO & PWD2INFO will be displayed instead. 4: Increased password detection. Now a "double" word is NOT accepted, like "BEARBEAR". When I looked at my system, around 15% of all users had a password like this. You can switch on/off this cruel option in TRASH.CFG line 7. 5: Reversed check of all words in TCAN, PWDCAN, USERDATA. For example, the word "BOARD" in TCAN is not accepted - neither the reverse "DRAOB". Using a 4 character Wildcard search for this, a lower number gives too many false alarms on the input strings. 6: If a user has failed the Nr of times to enter a valid password, he is either forced to use the Auto-Generated password by Trash - OR logged off. Added line 8 in TRASH.CFG to disable or enable the Auto-Generation of passwords (YES or NO) The password generated is always displayed in small letters + numbers to make it easier for the user to understand it. An example: GHI05I can be missunderstood, but not ghi05i - thats the reason. 7: Added line 4 in the PROMPTS file for the message displayed when a Auto-Generated password is made. Language specific. 8: Added a TRASH.DBF database wich will log every users pwd HISTORY. This is necessary because PCBoard doesn't update the PWDHISTORY as expected when manually changing password with the (W) command several times after each other. So by using a DBase format Trash History file is better and it's working in parallell with PCB's own history (if any). You can configure the path for the DFB & NDX files in TRASH.CFG line 9. 9: Added in TRASH.CFG a LOWSEC at Line 10 and HIGSEC at Line 11 wich shall not be logged to the DBase HISTORY file. This because some systems might only want their HISTORY to be updated and logged by members. This not to fill up the DBase with lot's of history never being used. 10: Added in TRASH.CFG at Line 12 and 13 two Security levels wich shall be BYPASSED by the TRASH program. Line 12 is equal or lower than security, line 13 is equal or higher than security. 11: Added a DATE logging to the DBAse file for easier packing. You can now use a PACK commandline with the stated nr of DAYS OLD wich shall be removed. For example: PACK 365 removes all users who hasn't been on for 1 year. 12: Added Line 15 in the PROMPTS file to display a message when using the (W) command. "@FIRST@, press (Enter) for `no change' to any item..." To make use of this - clear PCBTEXT Line 99 and let Trash handle it. 13: A user can now select "AUTO" to make Trash AUTO-GENERATE the password at once. If you have configured in TRASH.CFG that AUTO-PWD (after nr failed) should not generate a password but simply log off the user, this function to select "AUTO" manually is something else and always default. It's one thing to force a user to use a random made password, another if he selects it freely. Besides, having this heavy password checking as Trash has, it could be problems for some users to come on something to use. Thats why we have the "AUTO" selection as default. Ŀ TRASH (C) v1.06 RELEASE DATE: 931225 1: Forgot to send with the PACK_DB.BAT file to pack the DBase for purged Users. :-) Ŀ