The following table contains information on the latest versions of both
DMailWeb and CWMail. The table is in reverse order with the latest versions at the top.
New versions may appear in the DMailWeb/beta
directory prior to full release. If there is not a current build of the latest version for
your operating system please let us know by sending email to support-dmailweb@netwinsite.com or support-cwmail@netwinsite.com 
      
         
          | Version | Date | New Features and Bugs Fixed 
           | 
         
          | 2.8e | 3rd October 2002 | 
              Fix processing of & and ! in url's embedded in emails
              Fix work j-z /otherworkdisk so it includes users z... it was 
                doing j thru y users
               Fix bug introduced in 2.8b which caused some users to randomly 
                see invalid token errors
             | 
         
          | 2.8d | 10th July 2002 | Beta Release 
              fixed bug in remote message fetch which could cause the wrong 
                error message to be displayed when user disk quota is exceeded. 
              two other fixes for disk quota related bugs. 
              fixes for various crashes 
              security fix to avoid potential for cross-site scripting attack. 
              ||sig|| is passed out in send template now. 
              ||q_body|| can now be used to check if there is a 'message body' 
                to quote i.e. a reply. 
              fix for error.tpl displaying mail list link when it should have 
                displayed a login again link 
              fixed file handle leak in the manager code. 
              fix for forwarding related problem 
              fix for missing attachment links when inline images turned off. 
              enabled use of 'docmd' globally from any form. 
              fixed wrapping of really long To: headers 
              changed cmd=saveconfig to always lock. Fixes error creating 
                new user with slow pop server. 
               fixed loss of attachments in forward_edit with header only 
                cached messages. 
              increased the limit for max. messages in inbox.. 
             New commands/ini settings. 
               'stdin_timeout xxx', where xxx is the default timeout in msec. 
                for reads on stdin (windows only) 
               'verify_diskuse true' to help debug disk quota issues. Recalculates 
                diskuse from files present, compares this to the value stored 
                in user.dat and reports and discrepancies in the log file. 
              'html_disable true' to disable the display of html in messages. 
              new log option 'log base64' to log encoding/decoding of attachements. 
              'show_trash true' to override automatic hiding of trash folder 
                when no_trash is true. 
              added cmd=pick_del to easily clear a users pick list. 
              'quote_attached false' which when set will stop ||quote_body|| 
                from quoting attachments. 
               | 
         
          | 2.8c | 16th April 2002 | Second Release Candidate. Fixes problems 
            found in the previous beta 2.8b... 
 
              updated Sender: header to remove extra domain with poplist_reply 
                true. 
              stopped cmd=menubar from locking user.dat, causing mail not 
                to be checked in dmailweb on login intermittently. 
              changed ||fldlist|| so that it doesn't link to trash with no_trash 
                true in ini file. 
              changed ||h_pri|| so that if there is a valid Priority: header 
                it always gets set. 
              changed cmd=show so it will not lock if page=menubar 
              updated cwmail default frames.tpl to use cmd=menubar instead 
                of cmd=show&page=menubar 
              make sure we get lock on user.dat when setting custom user.dat 
                entries. 
              changed show_article_part so nested end mime boundaries won't 
                break decoding of attachments. Introduced in 2.8b and affected 
                attachments sent by Outlook Express. 
              fixed two bugs in the new send_wrap implementation. 
              command line -version option now shows build number. 
              new ini setting 'no_hr true' to stop <hr>'s being put 
                into cmd=item output. 
             | 
         
          | 2.8b | 19th March 2002 | Bug fix beta release. It addresses problems 
            with... 
              New commands/ini settings.email not being checked on login in some cases. 
              forward edit. To make it deal with attachments correctly. It 
                is now the default forwarding method for new installations.
send_wrap which could wrap messages incorreclty in some cases.
empty folders being left around when new user logins fail.
a few user set checkboxes which had lost their 'stickiness'.
rejecting email from users with long email addresses.
a malformed email causing a user not to be able to download 
                other messages.
loss of user.dat file in some situations.
multipart/alternate display of some messages.
mime attachment decoding when using footers added by smtp server 
                outside of the mime parts.
cookies not being set correctly.
the read flag not being set on the next item displayed after 
                a delete from the item page.
static utoken generation with no_tcode true on some unix based 
                systems.
non display of some attachments following html mime parts.
page numbering in when deleting lots of messages.
a couple of potential crashes. 
             
 
              Added cmd=reset_rejected which reset a users rejected messages 
                count on the filter rules config page.
Added new ini setting 'poplist_reply true' which uses default 
                reply address for primary pop address in ||poplist||
Changed default behaviour of utok_cookie false, to not serve 
                utok as well.
 | 
         
          | 2.8a | 30th November 2001 | 
              fixed bug which meant vhost lines with trailing whitespace characters 
                didn't workupdated default fwdedit(f), sp_show and sp_edit template files 
                so form entries aren't lost during spell-checkadded new template variable ||vhost_port||, needed when using 
                vhosts and your web server isn't running on port 80fixed automatic cc, copyself and add signature checkbox behaviour, 
                that had been broken previouslyadded ini setting for smtp server authentication, smtp_auth 
                truefixed forwarding of attachments with cmd=forward_edit and updated 
                default fwdedit(f) templates to give users the option of whether 
                or not to forward attachmentsadded new ini setting diskuse_on_logout true which recalculates 
                users diskuse when they logoutadded ability to set sort order to arrival from the list page 
                e.g.<a href="||b_action||?cmd=saveconfig&sort_on=&utoken=||utoken||&fld=||fld||">Arrival</a>
added ini setting 'no_new_users true' which disables new account 
                creationadded ini setting 'dump true' which allows dumping of environment/stdin 
                to files, dump.env and dump.inadded command line option -test to compliment 'dump true'. CWMail 
                -test will run with the environment from dump.env and use the 
                file dump.in for stdinadded new cmd=raw option to display an entire item in plain 
                text. Substitute for cmd=item in item URLfixed bug with truncation of long item linesextended body_add functionality...body_add ~command - will spawn 'command' append it's output to 
                every new message
 body_add @file.txt - will append the contents of file.txt from 
                the templates directory to every new message
fixed bug so existing users will get correct folder names if 
                admin adds/modifies them via the ini settings new_mail_name, waste_name 
                or copy_namefixed bug when forwarding multiple messages with both mime and 
                non-mime content, that could cause the item body to be lost | 
         
          | 2.7t | 2nd October 2001 | 
              When CWMail shows attachments within a message it put links 
                of the formhttp://fred.com/scripts/cwmail.exe/people.gif?cmd=...
 the /people.gif bit in the middle is just to help some browsers 
                know what filename to use if you ask them to save
 BUT some webservers dont like a url like that.
 a new ini setting no_slash_filename lets you turn this feature 
                off if your webserver needs you to do that.
Ignore leading quotes in comparisons for sorting message lists 
                on from address etc.Allow $(pophost) in dflt_reply setting in user.datNOTE: if you are setting up multiple pophost settings in the 
                cwmail.ini for vhost sections dont use an orginal_pophost setting 
                as the two settings are incompatible.Add pre ini read logging  so if something in cgi goes wrong 
                before ini file has been read it can still be logged.Compile for  sco unix.Add :port to ||server|| template variable if port is not 80 
                so you can run easily on a non standard port.Serve sort_on variable in all templates and sort_field and sort_direction 
                note last two in lang.dat so can be translated for foreign languages.Template changes to serve "caller" and "return-url" 
                for link to NetAuth DMailWeb etc. So that they know what called 
                them and can have a "return to cwmail" link on their 
                pages. Note the same technique could be used for other third party 
                pages or cgi's which will be used with CWMailFix problem with autolink back from NetAuth. Note you need current 
                versions of NetAuth and CWMail to make this work again.Added ||h_date_mn|| template variable to give month numeric 
                1 to 12Serve h_date_time and t24 in item init so for all templates 
                displaying a message.Serve h_date_day and h_date_d h_date_y and h_date_m variables 
                in item as well as list pagesIf extra variable defined in form in auto_login starts with 
                a , dont put an & before it in location urlThis is used to make links to neauth DMailWeb with caller and 
                return url information passed to them
Added a return button in DMailWeb list page similar to CWMail 
                link at bottom of list page but using the passed caller and return variables.
make utokc cookie expire after auto_logout_mins WAS FAULTY NOW 
                FIXEDMove change of . to _ in global address book open to after getting 
                user directory so this works with an original pophost setting.Fix address books with 1k+ entries and pick_abook_max > 500 
                ish - was being truncated at about 500 entries.
 | 
         
          | 2.7s | 2nd August 2001 | 
              Added more meta tags to stop cacheing of login page.Allow page=xx with any command. Added a  process=x so you can do cmd=x&process=y&page=z 
                note this in not generic but will work in most places.Sequence followed will be do command x but dont show the normal 
                page it would display. Then do command y
 if no page= display its normal page else display page z.
Provide language translation of  "form tag removed" 
                "script tag removed" and "app tag removed" 
                messagesImproved get_date in sendf.tpl to use users browser date for 
                sent message.Fix bug with large ||include|| and large pick list.Fix bug causing crash if checksum error on user.dat on unix
 | 
         
          | 2.7q | 5th July 2001 | 
              Spell check problems with large message fixed: On NT lost all 
                but first 512 bytes of message -fixed.On unix spell check of large messages caused server error - fixed
Improved handling of POP responses for faulty POP servers that 
                start some error replies without the -ERR prefixChanged max address books to 20Fixed goto page x on list page in another folder - always went 
                back to in box added fld=||fld||
 | 
         
          | 2.7p | 26th June 2001 | 
              Don't loose the to field in spell check if message is to self 
                :-)In tidying up reply list in replyall if we end up with nothing 
                leave it alone :-)obey page= on forward edit and forwardadded h_cc and h_bcc to "your messages to ..."  
                sentok messageAdded a_cc similar  to a_from,  a_reply etc.Fixed bug causing occasional crash on solarisStupid IE does not recoginise ' but wml browsers need 
                it so only do it if in wml modeFix bug with hrefs in emails with @ in them.Set  ||logged_out|| so they get login again option in error.tplfor cookie expired and bad utok errors.
Fix it so wap doesnt chop for bodylimit in middle of &#nn; 
                sequencesFix bug which occured on some systems if user  had more 
                than 10 folders
 | 
         
          | 2.7o | 7th June 2001 | 
              Change default to tcode true. Note if you want to login from 
                a fixed login page (rather than normal generated one) you need 
                to add ini setting no_tcode true to .ini file.Keep old tcodes for longer to prevent cached logins.Added new template variables h_date_d 1 to 31
 h_date_y 2001 etc
 h_date_m jan feb mar etc.
Dont use " use " and ' instead as 
                some wap phones or gateways dont like it.Change ini setting set_charset now defaults to true; Used to 
                set special charset for displaying foreign characterset messages.New template variable ||charset|| set by charset in content-type 
                in msg header use in item.wmlSet u_eight_bit if phone is nokia7110 or 6210 so they show greek 
                characters properlyIf u_eight_bit if set in user.dat then dont turn chars greater 
                than 127 into &#nn;Added encoding=||charset|| in item.wml in xml line to force 
                special encoding for greek in wml
 | 
         
          | 2.7n | 18th May 2001 | 
              Fix bug in address book lookup, with two entries like ph=fred 
                and aph=bill  then it would find aph when it should find 
                phWhen myfrom true on forward remove cc from original messageIgnore case in address book sortAdded nosortaddr user option for config page. default false 
              In wml mode $ in a message is now turned into $$ 
                as need $$ to represent a single $ symbol 
 | 
         
          | 2.7m | 8th May 2001 | 
              Unless new ini setting empty_passwords is true immediately reject 
                an empty password field.In show item for wml dont put in quote body char and dont put 
                in br in quote bodyNew ini setting no_cmd_url  if true stops it using cmd=url 
                url= for http links in messages as that seems to fail on  
                some web serversFixed bug which mucked up boundaries between multiple attachmentsDMailWeb item.tpl change http:// to ||http||Add into purge on manager page option to kill accounts unused 
                for x days. USE WITH CARE   - NO UNDO Fixed bug v_exec true on item page was seting v_asis  Make max attachment limit total of all attachments rather than 
                individual attachment sizes.
 | 
         
          | 2.7l | 5th April 2001 | 
              Added  new ini setting pop_busy if this string is  
                found in pop login error message then wait 1 sec and try againAdded new ini setting pop_retry default 1 - how many times to 
                try again for pop loginFixed bug - If remote_body header flag is lost then regenerate 
                it and warn user.   ie if we find an "I9: cached message 
                body..."  as a message body then set the rbody flag 
                so it auto fixes it.Allow vhost= in queries. So they can have pull down list of 
                domains in login.tplFixed bug in handling of base64 encoded html attachments. Remove 
                spurious end of line chars.Fixed bug - must try and lock even for show item as may need 
                to update diskuse.
 | 
         
          | 2.7k | 29th March 2001 | 
              Added new ini setting fix_from true/false default false. If 
                true then when sending email any chages to reply-to field are 
                only used for reply_to header within the message, they are not 
                used in the from header, either on the envelope or inside the 
                message headers.Fix bug recently introduced which messed up diskuse figures. 
                as in disk_use_kbytes used on login page.Recalculate disk_use figure on show folder list command. | 
         
          | 2.7j | 28th March 2001 | 
              Added ini file option to set streaming of top commands to pop 
                server.stream_max n with default of 1
 by sending more than 1 top command at once better response time 
                is provided when a large number of new emails are present. BUT 
                some POP servers can't handle this! A good place to start is 10
Log serving of gif images via cgiAllow an option in auto_login ini lines. If extra starts with 
                a , append it directly to cmd=autologin thus- for autologins records in ini file if extra starts with comma 
                putit in as is right after
 auto_login 1 netauth.exe $(workarea)/../netauth show=passwd.tpl 
                ,fwd1
 will send ...netauth.exe?cmd=autologin,fwd1&user=username&pass_file=workarea
Added an auto rebuild of index of folder if messages there but 
                no index.dat - this was so sysadmin can kill some message and 
                index files himself with a problem.Allow saveconfig hidden variable in login.tpl to allow login 
                and saveconfig all at once so you can enter real name etc etc all on login page if you want to.
Fix bug causing multiple attachments to not be displayted properly 
                in some situations.Multiple attachments one html which is not the last then folowing 
                ones are lost and html is corupted if inline images is on.
Fix bug delete of address book was not being saved.Accept auto_cc in forward.tpl as well as in sendFix bug in install of WAPMail optionOn a checksum error and create new user.dat tell them it was 
                checksum error and old settings saved as user.lost with checsum 
                flag removed so sysadmin can be rename it   user.dat to restore 
                old settings.Fix bug in log send so that all outgoing commands are logged, 
                including top, stat etc. | 
         
          | 2.7i | 13th March 2001 | 
              Read pop_cur on config save as well as list so you can set default 
                pop host on config page.If use myfrom set on forward then remove date header put now 
                as date and dont add a resent_dateDon't delete files for new user with bad password if they already 
                have an inbox - not that that could happen :-0Rewrite locking routines: Limit force user lock to just login 
                and logout. On the rest we try and set readonly if we don't get 
                lockadd new form variables must_lock and read_only to force readonly 
                or lock on a command.
 make item command read_only ie no lock needed.
 ini setting nfs true for shared nfs drives as need different lock 
                mechanism.
Tidy up sending for obscure solaris send bugFix bug causing unecessary rewrites of user.datOn auto add to address book we only add addresses we "send 
                to" for pick list we add from addresses also.Serve out autoadd and autoadda variables in all templates = 
                checked or emptyAdd new log options send and formNew testing ini settingspause n           
                pause for n seconds after getting a lock
 pop_delay  n    make pop response delay by 
                n seconds
 lock_force_wait n wait for n seconds before freeing a lock
 nfs true/false    if true use nfs style locking
 lock_wait n       wait this long 
                for a lock before giving up. default to 5 secs
Documented original_pophost setting
 | 
         
          | 2.7f | 1st March 2001 | 
              Add log send option and more error logging to send functionFix bug with % in address book causing death of cgiAdded to registration form request for information on worst 
                feature or most annoying aspect of product to help in continuous 
                improvement plan.When saving rules miss out empty ones  ie those with no 
                rule or nothing to search for.Change cgi and templates for config and login to use setcookie 
                instead of set_cookie as now set_ in a variable name means set 
                the following variables value  ie set_fred sets variable 
                fred. This was stopping auto-login from working on latest versions. 
                Another work around without changeing cgi was to change variables 
                in templates to  set_set_cookie    Added an ini setting lock_old secs. default is 300   
                Lock files older than this are ignored. ie this sets time to free 
                an account after a problem. Too short and it may just be a slow 
                pop server or slow link to user. To long and you have to wait 
                a long time for an account to free up.Make default for lock_wait 5 secs. If cant get a lock in this 
                time return an error. Saves having many cgi instances waiting 
                for locks.  Too small a value will produce cant get lock 
                errors. Too long will increase load as multiple copies of cgi 
                can be waiting for a lock. | 
         
          | 2.7d | 23 Feb 2001 | 
              Added more error logging for log dotlock optionDMailWeb builds other than nt and linux were missing the wap 
                .wml filesFixed bug ||set||fred||bill|| did not work unless it was at 
                start of a line :-(Fixed bug with line with " in it in new message on return 
                from spell check it produced extraneous outputFixed bug if using  language  translation then rule 
                action of move did not work, others didAdded a log option of rulesWhen retrieving headers such as subject allow for embeded CR 
                characterFixed bug with translation of the names of headers, if there 
                is a translation only use it in display, dont use it in matches 
                as header names are always in english inside messages.If to field is set in send.tpl  serve a_from as well as 
                an h_from so click on email link inserts to field correctlyFix bug causing print button in item.tpl to fail on some systems. 
                in printwin we had ||http||||server||/ + url / was wrong - deleted 
                it now we have var nurl = "||http||||server||" + url; 
              Trap kills from webserver so we dont leave files locked on attachment 
                download aborts. Saves users waiting 5mins for lock timeout.
 | 
         
          | 2.7c | 12 Feb 2001 | 
              Give better error when cookie based utoken not foundChange to  require_cookies false for new installations 
                as causes problems when testing with flaky browsersFix bug introduced in 2.7b with new message command | 
         
          | 2.7b | 8th Feb 2001 | 
              Fixed HTTPS bug. When serving image attachments make url use 
                https rather than http when running from secure serverUpdated locking. When locking user files wait just over 5 minutes 
                for lock and consider files more than 5 minutes old dead.Added template variable h_isforwarded which is set when  
                message is forwarded.For addresses in pick list increase max length of an address 
                from 90ish to 255Note with some web servers where ||server|| is not set correctly 
                you can replace this in templates with ||vhost|| and use the ini 
                setting match_vhost HTTP_HOST to force the correct name to be 
                used.improve random generation of utokc cookieWhen cookies are domain specific make them use domain=g_vhost 
                rather than the server_nameUpdated ||do description in manualAllow cmd=delsel in post as well as queryAdd ||logged_out|| and use in error.tpl to say login again rather 
                than mail list if logged_out is trueWAPMail price changeWhen license is unlimited say so rather than limit is 0 users 
                as it confuses people :-)Change error message so expired utokc gives expired error and 
                doesnot die on logout requestMake http: links in emails terminate on > as well as other 
                seoperatorsStream TOP commands when talking to POP server to speed processing 
                of large numbers of emails.Changed time sent to browser for cookie expiration to gmtime 
                rather than localtime as browser assumes gmtimeAdded ini_setting read_flag default value of O for opened, some 
                servers use R for read and will need thisSet nnew_sl = 0 AFTER getinfo on login.Fixed bug. When forwarding multiple messages with added note 
                only first line of note went withthose other than first message.
 | 
         
          | 2.7a | 15th Dec 2000 | 
              Added new ini setting extended_index true/false if its false which is default then message indexes are compatible 
                with earlier versions. but status header is not saved and hence 
                cant be used for determining message read status from pophost.
 If its true (default for new installations) then returning to 
                version 2.6k or earlier will cause a crash
Fixed bug which prevented adding a child from another vhost 
                domain which used @ in suffixYou can now provided parent adds childs full email spec in form 
                child@domain@pophost
Added new ini setting fld_maxlength default 14 limits the length of foldernames accepted by f_newname used in 
                folder list
Added an no_sender ini setting default false if true dont send 
                a Sender header in emailsFix bug which caused extra blank rule lines to be added on every 
                save on some foreign languae systemsFix bug which caused some attachments with chinese file names 
                to be unclickableb_send works again - it got broken in a recent releaseExtend wait for  getting a lock to 5 mins to allow for 
                opening ver large inboxes on slow pop serversFix bug (added in recent version :-) which prevented set_passn 
                being picked up  - ie stopped poppassd password change link 
                from working Make cookies domain specific unless they add ini setting  
                no_cookie_domain trueIf myfrom true then remove reply-to and to as well as reply 
                headers and change to field to recipient rather than forwarder
 | 
         
          | 2.6z | 23rd Nov 2000 | 
              If child save fails remove current child from list of  
                childrenAdded template variables for selected rules for actions eg copy_sel 
                = "" or "selected" this allows reduced sets 
                of rule options to be provided. eg copy allowed but delete is 
                not.Don't allow children to be parents :-)Fix bug causing token error for new users coming browser with 
                another user logged in.Force saved username for main pophost to the one used on loginFix error writting checksum endofline to user.dat - prevented 
                first added setting from being seen eg childWhen appending to user.dat always add line to turn checksum 
                check off      ----     
                has_checksum 0Fix problem displaying multipart non mime messageSet ||http|| variable to http:// or https:// based on HTTPS=on 
                env variable  - was based on Protocol env variable which 
                is often set to http when its really httpsSave users check all pop hosts setting    - lost 
                save in version xxx ???Remove more illegal chars when printing to wml and replace with 
                #Don't print the href to go with click here to login again message 
                if lang trans < 5 chars   - so lang.dat  can 
                be used to remove the link altogether if desired.Don't forward status headers - as they are meaningless on a 
                forwarded message.Make  compare for  fwd: from message  case independantAdd an ini file log option  for log query_string | 
         
          | 2.6y | 8th Nov 2000 | 
              Add ini seting no_checksum  default false to stop it doing 
                checksums when reading user.dat so third party software can add 
                settings to user.dat without worrying about checksumsRename PasteAdd to  pasteadd in forward.tpl etc to avoid 
                confussionChanged body_add to https://netwinsite.com/rightplace.htm 
                to avoid customers customes emailing us for supportAdded ini setting set_status which can be used with rset true 
                to make it to only download headers and use rset to stop them 
                being set as read. and then download body on read without rset 
                so that we set the flag properlyAdded ini setting read_status should be used with keep_index 
                false to make it always reload message index and headers from 
                pop server so that we see changes to message read status header. 
                It sets our flags read flag if status header contains O for opened.Return blank utoken if action results in logged out so it can 
                be used in error template to remove mail_list options if logged 
                out.Make the "this message was too large to download..." 
                a lang.dat changeable messageWhen chunking message on wap phone dont go back more than 16 
                chars when looking for a word spaceDon't put an end of line after ... in roffset    
                In template use paragraph tags round body.Added a cmd=lg&url=xyz which does logout and go to url using 
                location: header  Added next section link for chunked bodies to item.tplAdded a limit_list ini setting default false. If true then when 
                serve list of message stop when body_limit chars served. Usefull 
                for wap browsers with small storage space.Fix bug in body_limit calculation which was unecessarily conservative 
                in stoping.Add template variables bn and bp for roll your own bnext bprev 
                tags.  They just contain item number so you can use ||b_action||?cmd=item&item=||bn||etc 
                    needed in wap templates to conserve space.Do address book and local address add domain on to and cc before 
                putting in sent message header.In a_from and a_reply  use a tidyup which removes nicknames 
                < > etc from address so they can be used in .wml templates.If user.dat lost message try a rename user.dat to user.lost 
                just incase it has some stuff in it that sysadmin can recoverFix bug wml_page_size and page_size set on login template was 
                not being saved on loginWhen we find query or form variables called set_xxx then as 
                well as setting variable xxxchange form or query name to xxx so if its u_ it will get stored 
                and overule value from user.dat
 
 | 
         
          | 2.6v | 17th October 00 | 
              Added new ini setting lowercase_pophost ini settingAdded  nosortpick user option default false. Serve ||nosortpick|| 
                Set from config pageAdded new template variable h_from_trim2 like trim but if it 
                ends up as ralph@mcduff return just ralph Note v_myfrom is read from forward.tpl so if not a tick box 
                and want default true then you need to make it a hidded fieldFixed pophost=mailhost on login does not give error sorry this 
                ... if force primary trueAdded example match and highlight lines to ini files and listf.tplAllow match from "!ralph" to invert sense of ini match 
                line Note in match header string ini setting  _flags fake header 
                can be matched for read,unseen,new,file stringsmatch _flags "!read" tread bgcolor=#220000
 could be used to hilite unread messages
Added to log ini file options: cookie   log options 
                available now are:cookie,user_rw,locks,dotlocks,query,environ,purge,body_limit,top_reply,stat_reply,uidl_reply,list_reply,index
Add ini setting no_rename. Default false. If true we  assume 
                renames are not safe ( for example on some nfs drives with multiple 
                hosts) and use an alternative method for updating user.datsAdded checksums to user.dat reads writesFix some bugs in handling errors when reading user.datDont use cmd=url&url= inside attachments and html messages 
                - caused other problems and not really needed.Changed to refresh... meta tag instead of location: for cmd=url 
                as original referer information is still passed for location headerMake utok_cookie true by default - update docs, ie in general 
                use cookies for utokens where possible in preference to storing 
                in href.Also terminate http: ref on  " character 
 | 
         
          | 2.6u | 4th October 00 | 
              Added new ini setting require_cookies if set it uses cookies 
                for utokens and requires utokc cookieUpdated locking code for solaris nfs shared drives 
 | 
         
          | 2.6t | 3rd October 00 | 
              Add further security options to protect against stealing referer 
                url when from ip check can't be used.Implement noscript and noform etc checks in multipart mime messages | 
         
          | 2.6s | 29th September 00 | 
              Fixed bug causeing rubish characters on list page when subject 
                contained %%Demote cant remove error in rebuild index as is often normal 
                behaviourIn quote_body dont show html sections of multipart mime messagesAllow choice of (previously selected set) on login page  
                for template set to useUse language transaltion even if we dont know user yet. ie errors 
                on loginFixed bu  with mutipart alternate followed by text part 
                in mime. It was not displaying following text partsAdded new ini setting for fixed_folders which cant be deleted. 
                It is a wildcad listAdded new cmd cmd=url&url=xyzMake hrefs in emails use the command aboveFix bug in ||quote_sbody|| as used in sendf.tpl for editlive
 | 
         
          | 2.6r | 19th September 00 | 
              modified utoken generationRemove unecessary lock messages in solarisAdded command rejsel like delsel only also adds from  address 
                to reject_from listServe ||reject_from|| on list page as well as config pagesAdded annotated user.dat user_dat.txt to help people setting 
                up default.datIncrease max messages in a folder to 5000Fix bug which prevented use of & in usernamesAdded new ini setting no_delete xyz if set then delete rules 
                with contains in xyz are rejectedso sysadmin can prevent filtering of messages from important people 
                ( like sysadmin :-)
 
 | 
         
          | 2.6q | 11th September 00 | 
              Fixed problem with file locking on solaris nfs drivesFixed loss of mail body on forward of multiple mails some with 
                multipart mime and some without | 
         
          | 2.6p | 8th September 00 | 
              New ini settings and support for cmd=send_auto_login. This allows 
                transfer between cwmail,dmailweb,webnews,netauth,webmail,webnews 
                and DBabble with auto_login provided same authentication method 
                is being used. The  new listf.tpl has links to these other 
                products at the bottom of the page which will work if the other 
                products are installed on the same server.  The sample ini 
                settins added are:auto_login 1 netauth.exe $(workarea)/../netauth show=passwd.tpl
 auto_login 2 webnews.exe $(workarea)/../webnews
 auto_login 3 dmailweb.exe $(workarea)/../dmailweb
 auto_login 4 webmail.exe $(workarea)/../webmail
 auto_login 5 $(server)f:4141/cgi/dbabble.cgi $(workarea)/../dbabblesvr/work
 with the following calls in listf.tpl:
 <a href="||action||?cmd=send_auto_login&n=1&utoken=||utoken||&&">Netauth</a>
 <a target=||top|| href="||action||?cmd=send_auto_login&n=2&utoken=||utoken||&extra=frame%3D||frames||&&">WebNews</a>
 <a target=||top|| href="||action||?cmd=send_auto_login&n=3&utoken=||utoken||&extra=frame%3D||frames||&&">DMailweb</a>
 <a target=||top|| href="||action||?cmd=send_auto_login&n=4&utoken=||utoken||&extra=frame%3D||frames||&&">Webmail</a>
 <a target=||top|| href="||action||?cmd=send_auto_login&n=5&utoken=||utoken||&&">DBabble</a>
 $(workarea) translates to cwmail/dmailweb workarea
 $(server) translates to something like http://whatsit.com 
                ie http or https and server name
Accept $(user) as first part of dflt reply and change into usernameFix bug with smtp_port ini setting not being used in some situationsAdded new template variable ||http|| taken from start of env 
                variable SERVER_PROTOCOL upto space/cr etc either http:// or https:// 
                or wml:// Added cmd=fld_create so it can be a query or a postdocmd is now ignored if we are trying to display an errorImprove error reporting when key fails Better key support for server farmsFix file locking problem occuring on some solaris versions
 | 
         
          | 2.6o | 22nd August 00 | 
              Use ilayer in item.tpl to make netscape show background images 
                in html messages- still no equive for ie
Line too long wrapping demoted to debug message instead of error 
                message so user does not see itImprove key handling for server farms | 
         
          | 2.6n | 14th AUgust 2000 | 
              Remove redundant <pre> /pre> tags when not printing 
                text part of multipart alternate message with text and html versions.If  =cid:nnn  in html section of multipart mime message 
                and have a mime part matching put in link to it.Make links to embeded images absolute so that base settings 
                in html dont stop them working.Don't display text part on multipart alternate even if not inline 
                images setChange default to force_primary true for security reasons. Note 
                this will mean to use pophost field on login page sysadmin has 
                to set force_primary false in ini file.Fix bug causeing loss of setting for delete from server for 
                main pophost when user enters wrong password.Fix bug causeing occasional checking of wrong key  on large 
                systems with CWMail and DMailWeb installed.Added new ini setting match headername matchstring variablename htmlvalue
 eg. match from @netwin fromnetwin bgcolor="#EE0000"
 would create a template variable ||fromnetwin|| 
                with value bgcolour="EE0000" on lines in listf.tpl
 which have a from header containing string 
                @netwin
In non frames fwdedit.tpl remove defaults for to cc and bcc 
                as generally not wantedWhen forwarding if they have usemyfrom ticked remove sender 
                header as well as from and reply headersand remove original reply header
Allow multiple rules to process the same message - unless action 
                is delete :-) so make delete last one :-)Fix problem caused in 2.6m which changed nnew calculation. We 
                now have  nnew_sl which is number of new since last login and nnew which is number new on this check 
                which is used for beeping on new mail
 | 
         
          | 2.6m | 20th July 2000 | 
              Limit address book names to 100 charsDon't try and display inline images in wml modeEnforce limits on rule fields.Added new template variables a_from and a_reply which are address 
                only part of h_reply and h_from these are used in send.wml as 
                wml cant handle the "name"fred@a.com formAdded if child address entered withour host then @pophost ini 
                setting is added to form full child addressFix bug with forward and added note of multipart/alternate messages.Remove x-uidl on forwardOn forward don't put in resent-cc if its blankShow a forwarded by x to item.tpl and a new template variable 
                h_resent_from  to support itIn forward with added note if original message was multipart 
                say forwarded message is in next mime section rather than forwarded 
                message followsFix spell checker to work with arabic dictionaryFix display of simple base64 mime text/html message - it was 
                showing up as an attachment insteadNote nnew is number of new messages since login. This number 
                is reset on login and incremented on each check mail.Added new template variable ||fuser||  Note: ||user|| has 
                no prefix or suffix and ||fuser|| has full user with sufix or 
                prefix | 
         
          | 2.6k | 6th July 2000 | 
              Default .ini files now have force_primary true This forces users 
                to login to primary pop_host firstDon't read wrap messages inside a &#nnn; sequence as it 
                upsets some wap phonesIf utoken not available just go to login pageFixed bug in nhash 2  username hashing both : and / encoded 
                as _J now using _0 for :Removed +++ extra debug error messages left in 2.6jSpeed up response to incorect or invalid login nameWhen html encodeing template variables encode " as " 
                so it will not terminate a="||variable||" in javascript. 
                This was causeing reply screen for frames version of CWMail to 
                show strange sequences when used with editlive capable templates 
                and messages which included a " character.
 | 
         
          | 2.6j | 21st June 2000 | 
              Fancy erikson r380 templates added fro WAPMailFix bug - h_subject_n truncating in middle of &#nnn; stringIncrease MAXATTACH to 4*** Added functions to allow user to move from within CWMail 
                to other web pages and then return without logging in or keeping utoken
 In ini file add setting utok_cookie true
 - then we serve utoken as a cookie on login with a 1 hour timeout 
                and accept in queries and posts without utokens
Added command line use of CWMail thus cwmail.exe -ini inifiletouseAllow command line -query "cmd=login&user=username&pass=password" 
                returns +ok utoken or -err messageAllow command line -query "cmd=check&utoken=tokentocheck" 
                returns +OK or -ERRno_tcode true added to default ini files as ie5 doesnt refresh 
                home page even if told toAdded allow. ini setting to allow . in usernames.
 | 
         
          | 2.6i | 12th June 2000 | 
              Fix problems with user.dat lockingAdd log  user_rw,locks ini settingsAdded ini setting no_locks to disable user.dat lockingFix editlive.tpl and sendf.tpl to fix javascript error when 
                no editlive and return to non wysiwyg mode
 | 
         
          | 2.6g | 9th June 2000 | 
              Honour body limit in text part of multi part mime messagesServe out ||user_dir|| for all templatess where user is knownDon't allow multiple lines in username and password passed to 
                POP serverLimit length of username and password to 230 charsAdded delay to lock free | 
         
          | 2.6f | 7th June 2000 | 
              Fix bug popall setting was not saved in  user.datFix bug iso true was not being honoured in wml modeUnix version of WMSetup was not copying editlive.vbs and editlive.js 
                into nwimg directory on web serverFor wml mode and multipart alternate with text and html just 
                display text version | 
         
          | 2.6e | 31st May 2000 | 
              Add ||quote_sbody|| for html version of ||quote_body|| which 
                looks for ||sbody|| Fixed forward and delete "cant find uidl..."  
                errorserve real_name in all templates
allow page=xxx in cmd=checknew and list Improve file locking for shared nfs drivesCWMail frame version allows user to use a wyswig editor and 
                editlive plugin for send messagesends as multipart/alternative
 Needs editlive.js and editlive.vbs in /nwimg and calls editlive.tpl|
 automatically provides link to download or register editlive as 
                needed
 
              WAPMail option included in downloadUpdate .wml templates and add special set for Erricson R380 
                automatically selected on loginAssume register for WAPMail is done from html browserAllow $templates at start of tpl_set n  ini setting. Eg 
                tpl_set 2 $templates/tpl_r380
Added ||wyswyg|| variable stored in user.dat used in sendf.tpl 
                and config pageMore buffer overun protection added.Increase max template sets to 30Fix bug with WAPMail keysProtect against template requesting more attachments than allowed
 | 
         
          | 2.6d | 17th May 2000 | 
              Don't quote body if content type text/htmlIn quote body don't do href and email links and wrapsFix bug so that rename etc for folders 0,1,2 is not shown even 
                if begin_flit is used twice in one template.Serve out ||roffset|| if we truncate a message body due to body_limit 
                and when serving message body start on line containing roffset 
                charactermake body_limit work in quoted printable messagesModified item.wml to provide a next section command for truncated 
                messages, truncated due to body_limit (wbl) uses  | 
         
          | 2.6b | 12th May 2000 | 
              Trim leading and trailing spaces of usernamesServe ||last_login once||  per session Serve ||remote_addr||Serve ||upto|| and set upto in listf.tpl form so that delete 
                etc return to same pageFix various bugs in spell checkerFix manager page error of maxwild exceeded
 | 
         
          | 2.6a | 10th May 2000 | 
              Include WAPMail in download and install options in WMSetupInclude support for WAPMail keysInclude all characters sent to browser when checking message 
                size against body_limitLog security attacks on cgiFix bug which leaves empty directories from failed loginsRemove target=xyz in wml mode as this is not supported in wmlIn wml mode dont display email headersDon't show headers in gwml (not enough space generally)Use local variable $(ut) = utoken=||utoken|| to save space in 
                item.wml could be used in other .wml templatesFix date and to headers served out for forward success page 
                - caused crash when in copies to self folder
 | 
         
          | 2.5e | 4th May 2000 | 
              Fix security hole Added iso ini setting translates chars 128 to 255 to &#nnn; 
                for wap browsers default falsenote this conflicts with allowing two byte chars delimited by 
                first one negative but these dont appear to be used by wap browsers
Translate $`|{} and char 127 to the &#nnn; equivalent if 
                in wml mode as these all upset the motorola wap phone simulatorAllow date_fomat ymd as well as dmy default mdyAdd print button to inav.tplAdd check all hosts option to config.tpl non frames version.Fix possible solaris crash on forwardFix parsedate to recoginise daylight saving correctly in cst 
                cdt etc.    If bcc or cc field show to field in item.tpl    
                
 | 
         
          | 2.5d | 27th April 2000 | 
              Add more debugging options for purge and tidyup operation of 
                purgeAdd to log settings for any of the below as a listlog purge,index,top_reply,stat_reply,uidl_reply,list_reply
Change item template to show to field if folder is copies to 
                selfFixed bug causeing loss of last char in address book on linuxIf spell check message thats too big dont die or truncateAccept lines in user.dat up to  2048 instead of 512 characters 
                longeAdded ||popall|| config page setting if set on checknew check 
                all pop hosts not just currently selected oneUpdate wml templates to work with motorola madkFor wml encode $ characters inside text messagesFix bug in rules display added in 2.5b or c
 | 
         
          | 2.5c | 11th April 2000 | 
              Change   pop_delete_default to false in wml.ini sampleAccept login pophost setting of mailhost as "" so 
                it can be used as a prompt on wml phonesAdded cache-control nocache header for wmlFor raq3 webservers that return everything up to ? as arg0 trim 
                off possible file name before looking for ini file name Was causeing 
                errors on attachment links.Change body_limit variable name inside forms to wbl ( needed 
                it shorter :-)Remove help cmd from login.wml page as no usertoken. should 
                make dedicated help part of login pageFixed bug in option login on login.wml page. It gave error no 
                username entered.Put <br/> between lines in wml messagesImproved error handling for do_cmd on unix Fix bug which stoped multiple global address books from being 
                used.Improve locking for unix with shared nfs drives.Fix bug causeing occasional core  on solaris on  send 
              New template variable wml_page_size use when wml true and check 
                for page size on login so user can set different page sizes for 
                for ordinary browser and wml browserAllow different lang.dat for each template setImprove log layourFix bug introduced  in 2.3u causes error "Message 
                not found on pop server (uidl) maybe it has been deleted" 
                in some situations.
 | 
         
          | 2.5b | 27th March 2000 | 
              Added a delete msg option and href to item.wmlUpdated listf.tpl for CWMailAllow for more date formats in parsing date headerAdded logout_time ini setting - changes time of day that utokens 
                roll over default is midnight offset can be either in seconds 
                or in hours:minutesLook for body_limit in form before serving a body if present 
                use it to overule ini setting so can set different body limits 
                for different phones see list.wml for an examplebody_limit is set at login (if in form use value) if 0 no limitPut back change of cmd=send in query serves send.tpl ( I'd changed 
                it in 2.5a) cmd=send in query is really cmd=new whereas cmd=send 
                in a form is really dosendFix rare crash in forward with more than 1000 selected msgsUpdate user locking routinesChange back to forward instead of forward_edit for forward link 
                in listf.tpl stuffed it up in 2.5aFix bug in email links in messages introduced in 2.5a :-)Fix various solaris cores in unusual situations | 
         
          | 2.5a | 10th March 2000 | 
              Disable inline and view as html if wml setAdd support for wap/wml and a wml template set for cell phones 
                see wml.htm for detailsAdd wml true/false ini setting default false - looks for .wml 
                rather than .tpl changes content-type etc.Added body_limit x ini setting to limit size of body sent to 
                x chars. Default is no limitAdded template variable ||t|| as time in secs mod 99 so that 
                we can use to make hrefs unique to stop wml devices cacheing them 
                as cache_control header is ignored :-)Added serve h_from_trim in all item displaysAdded prefix settingAdded ini setting lock_id for server farms. If multiple machines 
                are sharing a CWMail workarea then each must have a unique lock_id 
                stringAdded set date and to headers for sentok templateAdded ini setting smtp_port default 25Added support for cmd=new, checknew and logout as  post 
                optionsFix CWMail listf.tpl so you dont get errors on older versions 
                of browsers without javascriptWhen reading ini file accept cr as well as lf as endofline char 
              Allow $pophost as ini setting for smtphostFix listf.tpl for mac IE initial collum of list blank due to 
                IE bug sees <script... as implied td data Fix bug causeing crash for forms with more than 1000 fields.Fix listf.tpl in CWMail so scroll page bar at least does not 
                give errors on macChange sendf.tpl in CWMail so picklist works on macIf error getting message but got some dont give up on it just 
                give error and keep what we got.
 | 
         
          | 2.4e | 11th Feb 2000 | 
              Fixed bug causeing error messages to sometimes be displayed 
                as just Error: Content-typeAdded a simple add address book button and form to address book 
                page pickf.tpl for CWMailAdded template variable abook_only which stores current address 
                book name and if this is set then picklist only shows one address 
                book and public entriesAllow public address book entries to contain just addresses 
                as well as name=addressIn address picklist as long as its not fred=a,b,c then set value 
                = address not name Allow sort_on to be set in login.tpl and if ="" dont 
                save sort_on so can make sort order revert to "on arrival" 
                on loginMajor upgrade of autopurge system - fixed several obscure bugsAdded to purge: empty trash if empty trash on exit setLock and release each user during purge to stop confilicts.On address book save check global address book entered can be 
                opened and give error if cant open it.If gaddr_books field in pick.tpl form then set global address 
                books to this - blank entries were eing ignored Accept messages with identical message id's but different uidl 
                entries as differentOn login if pop_host entered and not = pop host 0 in user.dat 
                then update user.dat as it implies pophost name has been changed.Add check in pickf.tpl for editing blank address bookOnly apply check_mins to pop host 0 or they can't check other 
                hosts straight after each other
 | 
         
          | 2.4d | 1st Feb 2000 | 
              Fixed bug which caused server error on solaris and invalid password 
                on some systemsAdded check for frame=true in auto_loginIf revert to pophost0 and its invalid don't try pop login as 
                NULL userServe pop_user0 and pop_name0 in all templatesIn send.tpl in picklist of addresses limit display to 40 chars 
                but support entries up to 1000 characters in lengthVarious minor obscure bug fixes to prevent crashes in unusual 
                situationsAdded "are you sure" button for reject all future 
                email from xyzSeve out h_sender h_sender in message and list templatesRemove everything but actual address for addresses added to 
                reject listAdded construct ||fred||esc|| which is replaced in template 
                with url encoded value of fredModified frame.tpl to pass thru ||error||Set ||error||  in any template served after an error. So 
                can always display error even if error.tpl is not served as result 
                of error.Remove limit on size of parts list for multipart mime messages 
                which caused messages with lots of parts (10+) to fail to displaySort address book on saveEmpty trash on login if last action was > 2 hours ago and 
                empty_trash_on_exit true. Note this failed previously failed on 
                frames version | 
         
          | 2.4c | 17th January 2000 | 
              New template variable in sendf.tpl h_priority  contents 
                included as Priority: headerNew option for recording nuber of times each template is served. 
                If ini setting stats is true then every time a tpl file fred is 
                served a "+" is appended to file in stats_path if defined 
                or workarea stat_fred_tpl.sso file size gives number of times that template has been served.
Bug fix: Dont set set unseen flag for copy to self Added ability to include a file whos name is defined by a user 
                variable, syntax is ||include||$uvar1|| etc. $uvar1 is replaced 
                by its value eg nfmenu.tpl Added support for a dflt reply to pophost rather than domain. 
                Syntax: allow $pophost in domain setting in ini file or default.dat/user.dat 
                so dflt reply can be to pophost entered on loginChange license expires message to after end of February rather 
                than after 31st of February :-)Fixed bug in for CWMail send_date javascript did not cope with 
                year of 100 returned by netscape - fixedIf already shown one template don't display error.tpl as wellAdded if error_do set in template then on error do this cmd 
                instead of showing error.tpl ||error|| should be in template which 
                will get displayed. Eg  in send.tpl adding <input type="hidden" 
                name="error_do" value="list"> would return 
                to send page if to: was not specifiedAdded ||variable||left+||n|| construct to give say gday... instead 
                of gdaymat for gdaymate||left||7 Added scrollable page scroll bar for CWMail list pagesAdded transparent pictures for attach0 etc so they dont mess 
                up list page with non white backgroundIf Subject is just white space then serve lang_get (no subject) 
                instead so they have something to click on in list.tpl
 | 
         
          | 2.4b | 20th December 1999 | 
              Added if ini setting for body_add is from_template then pick 
                that up from send formAdded ini setting no_pick_in_tolist to remove picklist from 
                tolist (note pick list is in topick)Updated pickf.tpl pick list  is a pick list ( NOT editable 
                ) click elements to add to address bookAdded pop_cur=0 to login.tpl to make it default back to main 
                pophost on loginMake autoadd of addresses to address book use  /naddress 
                rather than address/nAllow u_anything=whatever on login call so these variables are 
                served out to login.tpl as well as other formsMake max size of uvar1 to 4 1024 characters rather than 100 
                charsWhen using multiple pophosts and accounts with duplicate message 
                id. Show both copies of same message  in inbox if they came 
                from different pop hosts.For true/false ini settings accept 1 True truE etc as trueObey ini setting pop_delete_default true for DMailWeb as well 
                as CWMail - requires config.tpl and newuser.tpl changes to include 
                a hidden variable for pop_del0 (see latest templates for details)Added new template variable h_to_trim like h_from_trimMake strnqcpy() more robust for solarisAdded optional pop port number for each pop host user linefor main host port is 110 or that specified by port ini setting
 for other pop hosts port defaults to ini setting but is user setable 
                on config page using pop_portn template variable
Accept & as a seperator in query strings as well as 
                just &Changed all hrefs served into templates to use & in 
                href rather than just & Raised limit of to field to 2048 characters
 | 
         
          | 2.3z | 6th December 1999 | 
              Fixed bug in error log routine which caused core dump on solaris.Added allow page=xyz on send url so can go to template other 
                than sentokFix get_date javascript in sendf.tpl so its year 2000 compliant. 
                ie dont just add 2000 naughty naughtyFor replyall make sure we dont die if  from to and cc together 
                and up to more than limit, up limit to 2000 characters | 
         
          | 2.3y | 26th November 1999 | 
              For attachments in html display inline if inline images trueAdded for multi part mime parts content-type message/xxxx show 
                attachments = message n,...Fix bug in mime decoding - not useing <pre> tag for no 
                content type and message/status content typeFixed bug in 2.3x which caused death on solaris in user_writeAdded mcache_kbytes=0 always leave body on server if <0 never 
                leave body on serverAdd pop host iconsAdded template variable ||item|| served out with b_item but 
                contains just item number so syadmins can create variations of 
                b_itemUPdated WMSetup utilityAdded ||list_i|| and ||list_m|| list_m is message number, list_i 
                is msg number on this pageFixed begin_list end_list so linefeds don't get lost so script 
                comment //--> works as expected in listAdded template variable ||h_popn|| for list page. Gives number(from 
                config page) of pop host message came from In login.tpl take out javascript: in onblurr="javascript:whatever 
                as it kill ns3.01Similaryl remove from pick.tpl and pickf.tpl javascript:Add template command moveton which moves message and then goes 
                to next rather than to list folder
 | 
         
          | 2.3x | 22nd November 1999 | 
              Added never time out after a spell check Fixed return from spell checker >quoteing body.  Bug 
                introduced in 2.3uFixed bug added in 2.3t which caused some images not to be displayed 
                when inline imagesAdded ifndef ifnequal ifninstr  ||template constructsAdded  support for nested ifdef ifequal and ifinstrChanged item.tpl and pick.tpl to allow add to address book rather 
                than picklistAdded allow autoadd to address book of your choice with ||autoadda 
                name is ||add_book ||addr_booksa||Added support for entries without = in address book ie just 
                ralph@mcduff as well as ralph=ralph@mcduffAdded to lang.dat language translation "user token not 
                available" and "forwarding failed"Added support for move message to selected folder after replyAdded support for different reply address for each pop_host. 
                ||pop_replyn|| variables and read in from config page and set 
                to user@pophost if not setAdded check for page=list or anything else after cmd=reject 
                to allow template to specify where to go after a reject message 
                command
 
 | 
         
          | 2.3w | 11th November 1999 | 
              Fixed bug which caused keep_index not to work on DMailWebAdded in reply in quote_body add a couple of blank lines at 
                startAdded serve out ||top|| so they can use it anywhere to allow 
                use of cwmail/dmailweb in frames in a frameReplace _top with ||top in ch_pass, config, foldersf, help, 
                logout, menu and menubar.tplAdded example of CWMail in frames inside another frame fcwmail.htm  
                - note have to define top cwmailframe in ini fileAdded alert to send.tpl page for must reenter attachment after 
                spell check.Check for invalid upto variable from template and dont die.Forward.tpl change to (Fwd: From message) rather than just (From 
                message)Use stat when talking to POP to speed up check with no messages 
                availableFixed reply_all function broken in send.tpl in version 2.3nAddd page_num and pages || variables and use in listf.tpl for 
                CWMailDon't send wrap if send_wrap is set to <0 in ini fileFixed bug: in ||do  template command: % chgaracters returned 
                were lost or caused crashWhen saveing a message check m_nnn.dat does not exist and inc 
                nextid if it does.and log an error to prevent message overwrites 
                after disk errors.Re enable fetch_min limit - got lost after about 2.3gFix ||quote_body|| so it does not show mime junk in forward_edit 
                and reply and text form of attachments.
 
 | 
         
          | 2.3t | 28th October 1999 | 
              Allow cmd=list or cmd=checknew with &newpass=xyz for return 
                from NetAuth after password has been changed.Increase wait for lock on user file to 30secs as may be waiting 
                for slow pop openDont let them delete username for pop host 0Dont die when they delete nth pop host when it is their current 
                pop host.Added new ini setting text_stdin true for use with java webserver 
                that sends crlf instead of lf and crcrlf instead of crlfImprove efficiency when scanning headers. | 
         
          | 2.3s | 19th October 1999 | 
              Fix datestamp on sent messages to inlcude daylight saving offset 
                in timezone Added manager_ip ini setting wildcard list of valid manager 
                ips for cmd=managerAdded if checknew set in nflogin page then check for new messages 
                on loginAdded in login.tpl hidden variable checknew=truePrint more info in utoken not available errorFixed bug: The variables  b_list_next and b_list_prev where 
                not being served for folders other than inboxAdded construct in tpl file||set||fred||bill|| which sets variable fred to bill and serves 
                it to next page
Added support for hidden variables and cmd parameters that set 
                a variablehidden variable name = set_fred value = bill or
 http://myserve.com/scripts/cwmail.exe?cmd=list&set_fred=bill
 These constructs set the variable fred to contain bill and serve 
                them to the next page
 If these set constructs are used with u_ variables the values 
                will also be stored in user.dat
Added template variable ||page|| which gives name of current 
                template fileAdded support for hidden variable send_date and (if not empty) 
                it is used in date header when doing send. With addition of javascript 
                in send.tpl to write this send_date the message is sent with a 
                date header which gives time and timezone on users browser rather 
                than on the cwmail/dmailweb host.Fixed bug which caused sort of messages in folders other than 
                inbox to revert display back to the inboxAdded support for vhost= so you can use  http://myhost.com/scripts/cwmail.exe?vhost=fred.com 
                to overide what host to match against when serving login page
Serve out template variable ||vhost|| so it can be passed from 
                template to template if required.Added support for ?tpl_set=n to force login page served to be 
                taken from template set n Note the template set still has to set 
                on login page.Updated u_.tpl example and added a secret . link to it on configf.tpl 
                after copyright sign. If you need to add your own user variables 
                or tick boxes to any template page or a new page of your own look 
                at this example.Added foreing character decoding in headers shown in view headers 
                mode.Fix decoding of foreign characters on subject truncate h_subject40 
                etc.Only serve out charset in content-type header if set_charset 
                true in ini file as this can upset template files containing japanese 
                charaters.Fixed bug which meant  b_prev and b_next appeared even 
                when they were invalidadded no_manager setting to disable manager pagespickup frame=true on auto_login Fixed bug we served h_reply as h_from naughty naughtyAddded to send.tpl fill in to with h_reply if its set rather 
                than h_fromAdded prev page next page to list.tpl  it was only in listf.tplFixed bug in uuencoded attachment - multiple parts was always 
                returning first one.Fixed bug in idx_free which could cause crash of cgiCheck for duplicate uidl's from POP server, which implies a 
                faulty pop serrver, and log error. POP servers with duplicate 
                uidl's sometimes caused CWMail not to display all messages until 
                second check for newmail.When limiting number of sends per day count each recipient as 
                a separate send.Dont go to quoted printable when sending a message just for 
                ESC character as it messes up iso-2022-jp used in japanese versionFixed url and email links within messages so they work with 
                jis sequences used in japanese version.Dont wrap on send if ESC character is found in a line.  
                It may be a long japanese sequence and if so should not be wrapped.Dont read wrap  if ESC character is found in a line. It 
                may just be a long japanese encoded line.
 | 
         
          | 2.3m | 5th October 1999 | 
              Added page_size options to control number of messages shown 
                on each list page and next and previous page links. Has to have 
                additions to list template and config page and needs ini setting 
                use_page_size true to enable it. Users can set their own page 
                size.New ini setting use_page_size needed as you need template change 
                if useing page size thing.Added three new template variables b_list_next and b_list_prev  
                page_size Now removes temporary user files spell.dat and spell.msg when 
                spell check complete or start new sendRemember and serve  b_next and b_prev so they can be used 
                in sentok.tplThis allows navigation after reply to message rather than return 
                to list page
Fix javascript in login.tpl for ie3 again :-)Added to address book page a Make group page.Added new ini setting poplist_width which controls width of 
                poplist drop down menuAdded new ini setting top default is _top This allows use of 
                CWMail within a frame.Allow page= with cmd=itemAdded print button to item.tpl displays just message without 
                controls in a seperate window so message can be printed or saved 
                easily.Serve tolist variable to more templatesAdded template variable  ||topick|| like ||tolist|| but 
                only contains picklist - not address books entries.Allow cmd=new&page=xyz to provide different send page optionsFixed bug in rfc1522 in encodeing wierd weird2 need toinclude 
                trailing space in encoded bit else it gets lost when decoded by 
                outlook.
 | 
         
          | 2.3k | 27th September 1999 | 
              Added  ||tunread|| for list page. Number of unread messagesAdded if message header has content text/html then set variable 
                font true when showing that message so lines will wrap properly.Added new ini setting reply_prefix can have value like -- or 
                > (default) or false for empty. Used in quoteing message body 
                in a reply.Fix bug in child accept-reject introduced in 2.3g giving error 
                you are not parent...Added user locking to prevent possible loss of  folder 
                indexes on some systems.Removed several redundant folder index writes to speed up responseRemoved pop reads for return to mail listAdded fix for hierachical multipart alternate messages so it 
                does not show body twice; once as htm and once as plain text.
 | 
         
          | 2.3g | 23rd September 1999 | 
              Make "Use my from address" in forward template stickyFix possible crash in printing very long error messagesFix bug causeing cgi to be left running on send with strange 
                to: fieldAdd x-child-to header to messages sent to parents and use it 
                when returning message to child so that cc's to child are returned 
                correctlyRead pop_cur from login page if it is present so it can be forced 
                to revert to main account on each login with a line like<input type="hidden" name="pop_cur" value="0">
Add support for<input type="hidden" name="clear_uvars" 
                value="u_tick1,u_tick3,u_tick22">
 <input type=checkbox name="u_tick1" 
                value="checked" ||u_tick1||> u_tick1
 so you can create your own tick boxes for anything 
                and have values stored in user.dat
Fix error in parsedate used in sorting dates. It was adding 
                rather than subtracting for timezones like +0930 Accept tabs in uidl responseNew ini setting no_ref_encode removes email, http, ftp etc conversions 
                to linksFixed bug added in 2.3c which stopped http and https refs being 
                turned into links
 | 
         
          | 2.3f | 3rd September 1999 | 
              Add fiddle to make IE use correct file extension when saving 
                attachments and iniline images trueFixed bug causeing cgi to revert to main pop host after every 
                list
Fixed bug causeing rebuild index to turn currently cached remote 
                messages into local messages if current index file exists.Accept space after + or - for timezone in date field when parseing 
                datesFixed bug with reading empty address booksFixed link to login after settings lost errorDon't add from address if child and dont keep messageWhen forwarding 
                message to parent of child account don't add from address to pick 
                list even if auto-add set.Added alternative hashing method for hashing usernames to work 
                directories and an ini setting to control it. (Dont change on 
                existing systems!):hash_method 2
 The new method allows any characters in usernames and uses a two 
                level directory structure    eg. workarea/n_a9/b4/encoded_user@domain.name
 rather than just workarea/u_xx/user@domain_name
 This is for new large systems on unix. It has a very flat distribution 
                and will produce less than 800 directories per directory even 
                on systems with many milliions of user accounts.
 Note1: Most large systems even on unix do not see a problem with 
                existing hash method which is more transparent.
 Note2: As changeing the hashing method will make the cgi look 
                in a different directory for a users files it should not be done 
                on a working system. (Users would loose their messages and settings)
 A utility wmcd which returns a user_directory for an given username 
                is included in the new distribution. Later a change hash method 
                utility will be provided to move user files.
 
              Updated manager page so that wildcards for users should be given 
                as *@whatsit.com rather than *@whatsit_comGive all temp files created .tmp extension so they can be more 
                easily removed. If address book is too large to process print its name and size 
                in log file on debugMake spell check more robustWhen using rfc1522 encode for headers recognise esc $ anything 
                as start of sequence rather than esc $ B onlyAdded new ini setting swedish default false which does some 
                translations for htmlAdded to sentok.tpl   - Auto return to list page after 
                4 secsAdded external login mechanism:allow call with cwmail.exe?cmd=auto_login&user=abc&pass_file=abcd
 file opened and deleted is workarea/abcd.tmp
 abcd.tmp should contain encoded password for user.
 pass_file.c contains an example of how to create such a file.
Allow call with user=xxx to display login.tpl with username 
                filled in.Use javascript to make focus go from user to password fields 
                on login formUse javascript to make it select user field in login form on 
                loadFix bug in sort introduced in 2.3d
 | 
         
          | 2.3e | 26th August 1999 | 
              Log more debug informationFixed format of offset in date header so we get +0400 not +400If cookie based login fails set pre_error rather than error 
                outside template.Fixed bug causeing view_headers etc not to be saved if no from 
                addresses in picklist.Added new ini setting user_prefix defaults to u_Defines prefix for generic user variables
Display and save and user_prefix* template variables. See example 
                page u_.tplOn child release clear accept from and reject from listsiunseen1.gif replaced with unseen1.gif as both iunseen1 and 
                iunseen0 were blank Added in item.tpl display replied,new etc images with <img src="||nwimg||/attach||h_isattached||.gif"> 
                etc.
Added new template variable pid which is pid of cwmail/dmailweb 
                process on serverAdded encode rfc1522 on get_reply in from line on sent message 
                for foreign language compatibilityChange: When making from address of type "hello fred" 
                <a@b> put a space between " and <
 | 
         
          | 2.3d | 19th August 1999 | 
              Fix bug causeing occasional loss of folder indexChange default in pick.tpl to return to pick.tpl after saveLog more information on date fields we cant parse month onwhen comparing childs parent with us trim traling spaces of 
                us first.Make next and prev buttons in item.tpl work on sorted order 
                not original order of messages.Fix bug in sort by date - Thought we got it in 2.3a but nope. | 
         
          | 2.3c | 18th August 1999 | 
              Dont timeout if waiting for user to compose a message.Updated  item.tpl to use absolte refs after a message so 
                if it contains html links buttons at bottom of page still work 
                correctly.When picking up attachment names decode  rfc1522 encoded 
                filenamesFix bug causeing send of message to usernames like "Åron"aron@a.com to fail.Add decode of rfc1522 headers in several places where it had 
                been missed.Dont terminate hrefs on  commas Fixed bug: On save of filtering rules, child stuff etc it was 
                reverting to template set 0On cookie login - check pop open ok before continueing incase 
                they changed their password.For multipart/alternate mime message dont show text/plain part 
                if inline image setie if htm and text available show the html if inline images true
Fix bug causeing crash on poppassd change password with no poppassd 
                server availableAccept m_nn.dat files moved from unix to NT or vice-versaFix bug in wrap encode and wrap() functions that were loosing 
                one character after a wrap (usually just a space :-)Fix bug causeing upercase content-type=QUOTED-PRINTABLE to be 
                missed.Quoted printable - add recognition for trailing =\n to mean 
                truncated line prepend to next line.Turn ftp:// inside message body into a link and check these 
                before checking for email refs so that following ref works. ftp://netwin@ftp.professionals.com/export/home/netwin/reports/Add a button to child page for releaseing a child account from 
                supervision.
 | 
         
          | 2.3b | 27th July 1999 | 
              Changed default checking of from ip address to first three bytes 
                only as there seem to be more poxies out there dynamically changeing 
                last byte ipcheck 3
Fix bug in send of quoted printable in msg body introduced in 
                2.2r :-(Fix send and forward so that they dont keep POP open during 
                send as it upsets some SMTP servers who try to do a POP login 
                before a send.Add check to abort and print error if get error reading in user.datOn rebuild index check for any lost folders and call them folder 
                n etc.On create new user.dat find any existing folders and call them 
                folder nMake folder subject sort case independentMake sort on h_bytes numeric rather than alphabeticFix strlwr of directory names in WMSetupSupport naughty pop servers that reply +ok top <cr> -err 
                when out of messages.
 | 
         
          | 2.3a | 13th July 1999 | 
              Added an ini setting ipcheck n to say use n bytes of ip matching 
                in check for matching ip address. So for system where users ip 
                addresses change during a session you now have the option matching 
                just first 1,2,or 3 bytes.Added an ini setting to disable quoted printable encoding of 
                non ascii characters in sent email.Allow % character  in usernamesPresent folder rename to a name which is already in useIf user tries to read or select more than 5,000 messages give 
                an error dont die, and just d first 5000Dont overwrite message index if there is an index load error 
                - ie disk fault etc.Added a key_expires variable for login page so its clear when 
                demo key will expire.Fixed  dot stuffing on messages sent/recievedAllow page=xyz in login form and use docmd to get to that page 
                after login if frames vesionUse proper date comparison when sorting messages on date.Dont always go back to inbox after save config and hence sortChanged list.tpl to make sort on subject, from etc a to z and 
                sort on to: for copies to self
 | 
         
          | 2.2s | 29th June 1999 | 
              Reset auto-logout timer on send and reply so we dont timeout 
                after message has been composed.Added ini setting allow/  to allow / in username to be 
                retained - use with care.Allways set folder to inbox on loginFix bug in from ip match for cookies.Fixed bug causeing cookie login to fail after logoutFixed bug in child accept/reject when hostname != email domain 
                nameUpdated  item.tpl for more obvious child msg indicationFixed bug seen in alpha and hpux versions: garbage chars appearing 
                in templates
 | 
         
          | 2.2r | 14th June 1999 | 
              Fixed bug in parent child processing of large messages. If message 
                was larger than cache size it was not forwarded until child tried 
                to read body - fixed.Added on send message with content_type text/html seperate body 
                from signature and bodyadd with <br>Dont leave userpid.tmp files around if user.dat update fails 
                repeatedly.Added allow use of v_exec as an addition to b_item to force 
                allow execas in b_item&v_exec=true
If cur_pop is set to unused pophost revert to host 0Use pid in temp user.dat name to avoid conflicts causeing loss 
                of user.datFix empty string probelm on hpux buildAllow multiple work areas using lines likework bill fred \work2
 or
 work fred@whatsit.com z 
                /var/spool/work3
 Note be very carefull about adding these lines when user accounts 
                already exist. You must copy all the effected user files into 
                the new workarea first!
Show addresses from multiple group addresses in picklistAllow global address book names to be entered as ralph@161.29.2.44/public_one 
                ie dots allowedNew feature: Sorted message lists, sort on size, date, from 
                etc.Changes to list.tpl and config.tpl to support these. You can actually 
                sort on any header in index. ie "subject:", "from:", 
                "lines:", "to:", "date:", "cc:",
 "x-priority:", "_pophost",  "_remote", 
                "_popuser", "bytes:",
 "content-type:", "content-disposition", "sender:", 
                "reply-to:",
 "nwflags:", "resent-from:", datetime
Added more checks on update of childs user.dat to avoid possible 
                errorsChange NT download file options to provide an option to leave 
                unpacked files after upgrade for manual checking etc.Fix bug in delete of last address book on unix machinesProvide config setting for cookie auto - login set_cookie and 
                cookie_set and cookie_selectedAllow user to turn of cookie login in options page
 | 
         
          | 2.2p | 8th June 1999 | 
              Fixed bug causeing error on send in HPUX version.Remove bug introduced in 2.2m giveing cant find default.dat 
                error for new usersMore checks for errrors on user.dat write.Save current folder information so return to mail list takes 
                you back to correct folder.only copy in new signature if field is present to allow config 
                page to be split into sections.Added ini variable cookie_ipcheck n which checks n bytes of ip from address where n can be 0 to 4 
                This allows users connecting via proxy servers etc which use a 
                batch of ip addresses to still use cookie based logins. Eg cookie_ipcheck 
                3 would enable 132.23.2.45 and 132.23.2.67 to match. Default value 
                for n is 3
 
 | 
         
          | 2.2o | 6th June 1999 | 
              Added cookie based auto-logon option. If login form contains 
                ticked set_cookie variable then a cookie is stored and future 
                calls to cgi from that machine which would have served the login 
                page will then do an autologin if appropriate cookie is passed 
                by browser. Unless the no_ipcheck is set it will also check for 
                matching from ip before allowing a cookie based login. cmd=flogin 
                will allways produce the login page.Added safeguard only create new user.dat from login call.Added javascript to make popup window come to front when new 
                mail arrives and when cwmail/dmailweb is clicked on popup use 
                existing full window if one is open.added template variable ||server|| which is set to vhost. This 
                can be used with b_action to ensure messages containing html which 
                change the base url dont stop cwmail/dmailweb buttons working. 
                This is needed because b_action provideds a relative rather than 
                an absolute url.Fix send with non ascii chars in reply to field - like japanese 
                or spanish
 | 
         
          | 2.2m | 1st June 1999 | 
              Fixed Delivered-To: header removed on forwardMore error checking on cant read user.dat file and dont overwrite 
                if folder 0 index exists.Fixed bug causeing token to change and midday rather than midnight 
                in some timezonesFixed bug causeing rule processing to fail on messages with 
                remote bodyMajor addition is optional accept and reject lists for SPAM 
                control and addition of Parent-Child accounts. See Parent-Child 
                Accounts for details.New template files:rules.tpl        
                New mail rules and accept_from reject_from lists
 child.tpl        
                Childs account details
 confmenu.tpl Menubar for config.tpl and rules.tpl
Changed template filesitem.tpl       Added 
                buttons for reject, child reject and child accept
New user.dat variables:af:             
                only accept email with sender/from/reply matching
 rf:             
                  reject from one email address per line may contain name
 rejected      Number 
                of rejected messages
 parent        
                email address of parent
 ch:            
                children one email address per line may contain name
 child_edit    current child 
                account being edited
New || variables:children        
                list of children
 child_edit      name 
                of child to edit
 child_pass     password 
                of child to edit
 child_pick       pick 
                list of children
 ch_accept_from   childs accept 
                from list
 ch_reject_from    childs reject 
                from list
 b_child_reject  delte msg and add 
                sender to childs reject list
 b_child_accept return message to child and 
                add sender to childs accept list
 accept_from        
                af: list one item per line
 reject_from        
                rf: list one item per line
 rejected            
                count of rejected messages
 nrej                 
                number rejected since last pop read
 b_reject            
                delete msg and add sender to reject list
New commands:cmd=reject             
                delete message and add sender to our reject list
 cmd=child_accept    add to childs af: list 
                and forward message back to them.
 cmd=child_reject      add to childs rf: 
                list and delete msg
 cmd=child_show       display settings 
                for a child
 cmd=child_save        save 
                settings for a child
 cmd=child_load         
                load settings for a child
Fixed bug. Now for users in @valid_user file strlwr and remove 
                leading and trailing spaces, tabs and \r\n before comparisonAdded if docmd is set on a page then feed it back out so can 
                pass it from a form with newframeset. See confmenu.tpl for and 
                exampleFixed bug: create new folder in frames version new folder page 
                didnt redraw menubarAdded line number of offending line to msg "unknown ini 
                file setting ..." error to help tracing ini file problemsSplit config.tpl in two and added code (dont clear undefined 
                variables) to allow users to turn config.tpl into multiple pages.Changed lang.dat translation  to create warning rather 
                than error for no translation for... and just use english when 
                no translation availableFixed bug: if auto logout period has expired and cached login 
                then dont let them in.Fixed bug: on spell check we loose attachments. This caused 
                temp files to be left in work area. Fixed BUT note that user must 
                still reenter attachment after spell check - otherwise this would 
                be a security risk. We now warn user they have to reenter. and 
                delete temp files created.h_kbytes now rounded to nearest k
 | 
         
          | 2.2i | 20th May 1999 | 
              Fixed bug in logout code which could cause crash of cgi on some 
                systemsAdded extra template variables for new folders.tpl layout||f_rename|| ||f_del||  ||f_newname||
 all blank for folders 0,1,2 ie new, trash and copies to self in 
                begin_flist so users dont think they can delete or rename these
 f_tunread f_tmsgs f_tsize f_tsize variables as totals for all 
                folders
Added .wav files attached to messages play directly if inline_images 
                is trueUpdate login.tpl dont try to use focus command if msie3 as it 
                cant. javascript error | 
         
          | 2.2h |  | 
              Changed default templates sets to ntpl 
                for DMailWeb and otpl for CWMailThe original template sets now known as stpl 
                are still available for separate download.
 | 
         
          | 2.2g |  | 
              Fixed bug in manager.tpl for CWMail now copies .text rather 
                than .value from select box for variable name.On error E9 log all env variable so we can check why it happensIf @pop true and username is a@b@c 
                then use c as pophost not b@cTIdy up pickf templateAllow large (>100k) address booksOn reply to message containing text/html quote_body now empty 
                rather than garbage.Fixed bug causeing FATAL GPRINTF errorNow only check for valid_user at login and allow use of settingvalid_user @filename.ext with file containing one valid name per 
                line
Add numerous lang.dat translations for informational messages.
 | 
         
          | 2.2f | 14th May 1999 | 
              Added allow spaces and tabs either side of = in address booksAdded decode of uuencoded messages not containing imagesFixed bug which could cause occasional loss of folder index 
                on some systemsFixed bug which could cause occasional loss of user.dat on some 
                systemsAdded in poplist dont tack @pophost on if username contains 
                @Added  if username contains @ h_pophost template variable 
                is set to blank not pophost as username already contains pophostFixed not wrapping  problem in sp_show for long lines.Added lang.dat translation entries for (From Message) and (Fwd: 
                From Message) and second one prefixes subject with Fwd: as you 
                would expectFixed bug in translaation of *** forwardedAdded translation entries for six or seven other messages not 
                previously included in lang.datDemote line too long error to an informational message not an 
                errorIncrease max size of to: line to 2048 and just truncate  
                and warn user if its exceeded.Remove added user ... debug message as it glogs up the logs.Added read wrap with v_font true looks for <br> rather 
                than cr and inserts <br> for wrappingRead wrap now counts back from wrap point through line looking 
                for a space and if not found before last cr wraps right there.Added new template variable structure:||do(programtorun parametersincludeing||variables)|| which will 
                execute any program and pass it parameters including translated 
                template variables and replace with output from the program. For 
                example:
 ||do(\cwmail\lookup.exe ||user||@||h_pophost||)|| might be replaced 
                by
 "Mr Smith"smith@our.site  
                using lookup.exe to access some database.
 | 
         
          | 2.2e | 29th April 1999 | 
              Added on spell change if first letter  of word being replaced 
                is capitalised then capitalise first letter of replacement word.Remove background on login.tpl to stop flicker on load in Netscape 
                3Create folder indexes for empty folders first time they are 
                used.Fix bug introduced in 2.2b causeing connection to POP failure 
                on some systemsFix bug causeiing crash if pick_abook_max is set lower than 
                current pick list sizeFix bug causeing crash on save picklist if very large picklistAdded if cant open addr book named in default.dat then create 
                it.Fix bug in script for selection of sound for new mail in configf.tplIf login with new window ticked always set focus to new windowAdded lang translan tion for *** forwarded message ***Added no_tcode ini setting for use when using direct links to 
                CWMail without going through login page generated by cgiUpdated folders page to give folder list and stats. Added begin_flist 
                end_flist f_renamexxx f_name, f_msgs f_size f_new f_unread f_del 
                
 | 
         
          | 2.2d | 22nd April 1999 | 
              Load ||uaddress|| variable from login pageNew || variable h_date_t24 24 hour time stamp from messageFix bug. There was no error if couldnt send attachment due to 
                file open errorAdd_header now puts header right at begining of template file 
                directly after line containing <head tagDont die just truncate list if pick list for folders addresses 
                etc are too big.Fix bug causeing lockup with very large pick listsDowngrade error Empty new: Cannot remove file... just log imsg 
                as it is an expected error if not all messages are downloaded 
                from POP server.Better error handling if get_item fails for any reasonAdded template variable pop_cur index of current pop serverAdded ini setting valid_from_ip to restrict access based on 
                from ip addressvalid_from_ip *.21.2.4,1.2.3.4
 Use wild card lists (no spaces) to restric access.
 | 
         
          | 2.2c | 19th April 1999 | 
              Fix bug wmsetup   lowercased directory names entered 
                by user for install files. | 
         
          | 2.2b | 7th April 1999 | 
              Ignore interveing spaces/tabs in address nickname lists such 
                as ralph, billFixed bug in save config settings - user changes to max msgs 
                and maxkbytes to download were not being saved.Fixed bug which could cause loss of user config settings in 
                some situations.Allow ||var||left||nnn|| to extract left x chars of var. This 
                can be used with any template variable in any template file.Allow save of empty address books.Fixed  address book bug which replaced spaces in  
                entries with _Only allow letters and numbers and _ in address book names.Allow IP names like 123.www.com and dont assume they are an 
                IP addresses.Added ini setting allow- default false to allow - in usernamesSet content type to text/plain on attachment if no indication 
                what else do. | 
         
          |  | 25th March 1999 | 
              Jeeves - Active anti spam system 
                - 1.4c beta release available for testing
 Jeeves is an active anti spam system which enables your users 
                to protect themselves from unsolicited email.
 | 
         
          |  | 21st March 1999 | 
              NetAuth - Web based email management 
                system - 1.0a beta release for use with DMail and DMailweb/CWMail
 Provides web pages and CGI for email account creation and management. 
                Virtual domain management etc. Version 1 for use with DMail and 
                NWAuth only. Free to licensed users of DMail.
 | 
         
          | 2.1t | 18th March 1999 | 
              Fixed bug in delete folder routineaccept cmd=addfrom in item.tpl as an href. Need something like this
 <a href="||b_action||?cmd=addfrom&utoken=||utoken||&fld=||fld
 ||&item=||item||&h_from=||h_from||">Save Address</a>
Fixed bug in remote message rule processing move and delete  
                now delte from pop host as well as local cache.In send message dont change to quoted printable just for a tab 
                characteronly look for add_br in send.tpl if content_type contains string 
                htmlchange spaces to _ in address book names.Added template variable copyright2  same guff but not an 
                href - used in one of new template setsFix menubar.tpl so popup works for ie4 as well ie3Display items from all address books in picklist upto ini setting 
                pick_abook_max values - default 255
 | 
         
          | 2.1s | 10th March 1999 | 
              Fixed bug in del selected with multiple pop hosts. Give user error if trying to retrieve remote message and no 
                matching pop host settingChange default on login.tpl to keep controls same windowMake https: links clickable | 
         
          | 2.1r | 9th March 1999 | 
              BUG fix in forward msg  causeing internal server error 
                on some systems Added cmd= host= in log file to help in debugging vhost problemsFixed in forward message use real name in from if requiredFixed in forward messge encode From header if in another languageChange item.tpl so subject field uses colspan 3 so saveaddress 
                doesn move over too much on long subject lines
 | 
         
          | 2.1p | 3rd March 1999 | 
              Fixed  bug in rebuild index on unix - on some systems it 
                didnt find any messages. They still exist and rebuild index will 
                now find them.Added accept manager_password @abc to read password from abc.dat 
                in template directory. This is much safer if web server allows 
                read access to any file in cgi directory (which it shouldnt but...some 
                do)Rebuild index now skips place holder files which are remote 
                body messages. Previously these could appear twice after a rebuild 
                and check mail.Fixed bug in diskquota not going down on rbody msgs after logoutAccept on and ON for form tick boxes.Change E13 and E1 error msgs so they can be trapped in ||error||Fixed bug in poppassd now accept anything under 500 as okSet h_subject_raw for forward.tpl so it can be used if requiredRemove spurious " in background tag in pick.tpl in DMailWebFixed send.tpl and sendf.tpl so IE3.0 as well as IE3.01 doesnt 
                give javascripts errorAdd support for usernames with + them eg Ralph+one
 | 
         
          | 2.1m | 23rd Feb 1999 | 
              Fixed bug in spell checker - caused crash if click on miss spelled 
                word and > 17 near matches and using || template variables 
                and ...Added set_xyz=fred form post and html query line variables - 
                sohttp://host/cgi/cwmail.exe?cmd=x&set_fred=abc   
                or <input type=hidden name="set_fred" value=abc   
                will create a template variable fred with a value of abc for the 
                next template page served.
Added cmd=show&page=xyz&utoken=||utoken||... which will 
                display xyz.tplTo allow menubar in frames version to be customized for particular 
                pages two template variables were added; ||docmd|| and ||nmenu||When a query line includes newframe=newframe the query (minus 
                newframe= is put in ||docmd|| and frame.tpl is served.
 Updated frame.tpl to use docmd and cmd=show etc and ||nmenu||
 Listf3.tpl and menubar3.tpl (in 2.1m dist set) provide an example 
                of changing the menubar when a message is being read.
 
Fix CWMail help.tpl change background back to black so you can 
                read it. | 
         
          | 2.1k | 18th Feb 1999 | 
              Fixed bug in poppassd  on unix builds introduced in 2.1jin vhost xxx setting we now match the xxx against an ini setting 
                vhost_match with a default of SERVER_NAME rather than HTTP_HOST 
                as this is usually tied to server_name setting in web server configuration.
 | 
         
          | 2.1j | 17th Feb 1999 | 
              Fixed change password with poppassd bug introduced in 2.1fChanged default to cache_posts true and removed expires header 
                sent for cache_posts false as it caused "Data expired ..." 
                errors on some systems.Fixed bug if user sets content type and adds an attachment then 
                it was falling back to text/plain rather than what he set.Change the template directory default in WMSetup back to dmweb 
                for consistency with earlier version.Added template variable add_br for send.tpl if set then add 
                <br> to end of lines of msg before sending.Added vhost and vend ini settings and virtual domain supportsee Supporting virtual hosts or multiple 
                email domains.
Added suffix ini setting for suffix to be added to usernames 
                for token, pop login, etc.Added ||header and ||checksum to template files and support 
                in WMSetup to allow upgrade to check for modified template files.
 | 
         
          | 2.1f | 10th Feb 1999 | 
              Fixed bug causing crash on address books with lines longer than 
                900 characters | 
         
          | 2.1e |  | 
              Fixed bug which could cause loss of user information user.dat 
                on rare occasions.Added cache_posts ini setting with a default of false. If false 
                send headers to web browsers to stop them cacheing form posts.Fixed bug causeing attachements not to be docoded if BASE64 
                rather thatn base64added headers to login.tpl and other files||header: modified=false tpl_set=cwm_s1 version=2.1e||
 these will be used by setup wizard to warn of new version, changes 
                etc on upgrade.
Add  username to logged disk quota exceeded error messageAdded meta headers to login.tpl to tell browser not to cache 
                login page. | 
         
          | 2.1c | 21st Jan 1999 | 
              manager.tpl for DMailWeb was corrupted and did not provide fields 
                for users matching and new valueuser_opt.dat for manager page updated | 
         
          | 2.1b | 20th Jan 1999 | 
              To allow uvar1 to 4 to be cleared a form entry of - is now accepted 
                as a empty field. This is needed as we cant distinguish between 
                an empty field and one not present in a form.added a ||time|| template variable which returns time in secondsadded cwmail/dmailweb -version command line switch to display 
                version numberfixed bug which was loosing names of all but first address book 
                after send new messageFixed bug in multipart mime boundaries; only the last boudary 
                should have -- after itAdded code to handle POP servers which close socket prematurelyFixed login.tpl so that ticking the new-window tick box only 
                ticks keep-controls only if new window is also tickedchanged login.tpl to use javascript set focus to user field 
                rather than onload so it happens before images are loaded.Added a navigation image dmwnav.jpg to menubar on DMailWebChanged "New" flag on messages. It is now cleared 
                at  login as well as logout.Support for poppassd password changeing in config.tpl. Note 
                this requires the pop server to be on a unix machine and to be 
                running poppassd. Various versions of poppassd are available on 
                the web. For your convenience we have one available on netwinsite. 
                See poppassdBug fix. replaced missing lines from item.tpl which caused no 
                token error in some situationsAdded:  If in item.tpl  saveaddress form has hidden 
                field item then return to item after adding address rather than 
                to the pick.tpl pageBug fix  ntpl/pickf.tpl javascripts error: now reload is 
                an image not a button.Bug fix in send.tpl in DMailWeb useing sel.options[i].text instead 
                of sel.options[i].value for pick list items.Added background dmwback.jpg for DMailWeb .tpl filesWMSetup installation and upgrade wizard added.Added cmd=list_copy and cmd=list_waste to allow links directly 
                to these folders in template files
 | 
         
          | 2.0p | 18th Jan 1999 | 
              fixed template bug - redundant " in send.tpl for DMailWeb 
                non frames version - caused problem for netscape<select name="tolist" size=5 ">   
                note trailing " after 5
 | 
         
          | 2.0n | 9th Dec 1998 | 
              Fix bug introduced in 2.0h which stopped logouts being recordedMove include nfmenu inside body in send.tpl, config.tpl etc. | 
         
          | 2.0m | 9th Dec 1998 | 
              A new ini setting and template variable ||nwimg|| has been added 
                to allow all images used in the templates to be served directly 
                by the web server rather than through the cgi. The setting nwimg /nwimg is used if images like cwmail.gif are stored at the 
                url /nwimg The references of the form ||b_action||/fred.gif becomes 
                ||nwimg||/fred.gif
 If no nwimg ini setting is used then ||nwimg|| will be interpreted 
                as ||b_action||
login.tpl updated for IE3 to stop it always creating a new window 
                on login.spelling checker added to DMailWebfix menubar.tpl so popup works from ie3 without javascript error 
              menubar.tpl updated to use a single image for logout, popup, 
                forrward back buttons.added target=_top to href on copyright notice Note ||copyright|| 
                must appear somewhere in your templates :-)Reseller options updated.Handling of email address enhanced so that reply to address 
                of formjohn@netwin.com(John, paul and x) does not cause problems and
 <fred> becomes <fred@domain>
uvar3 and uvar4 addedfix problems with menubar centering in Nicks template setAdded nowrap to subject and time field in message list.tpl to 
                make display of newmail list nicerRemoved duplicate body tags in Nick's template filesPrint more information when ini key fails ie version number, 
                etc.Added a copy to self tick box on forward.tpl
 | 
         
          | 2.0k | 2nd Dec 1998 | 
              Added a nice background cwback.jpg to all template files.Added CWMail background in fwdeditf.tpl in Nicks templates setIn Nicks template set fix forward back arrows in menubar to 
                work with NS4 | 
         
          | 2.0h | 30th Nov 1998 | 
              Dont allow a move message to same folder as source in item.tplBug in autologout_mins fixed. It was measureing time since login 
                rather than time since last action.Added nicer errors if template set not found. revert to standard 
                templates if requested set not found.added ini setting hash_num n specifies number of chars to use 
                for directory hashing for user direcories. default = 2New ini setting tpl_set for multiple templates sets. eg. tpl_set 
                2 /home/french/templatesadded ||variables tpl_set n and tpl_setn checkboxes for template 
                sets 1 to 10Modified config.tpl to allow user to select template set 1 to 
                10Updated item.tpl and login.tpl
 | 
         
          | 2.0g | 26th Nov 1998 | 
              New login.tpl with tick boxes for one window, browser controls 
                and framesNow have cmd=login   (frame or non frame depending 
                on ini setting) cmd=nflogin for non frame login and loginframe 
                for frame login.view as html v_asis tick box in item.tpl was still sticky. added 
                ini setting save_v_asis and put back in item.tpl so sysadmin can 
                decidenew ini setting url_newpage default true open new browser page 
                when user clicks hrefs embeded in email messagesreturned message from POP server shown in errror message on 
                timeout was incorrect.embedded hrefs in emails now terminate on " as well as 
                other terminators.
 | 
         
          | 2.0f | 20th Nov 1998 | 
              Bug fix: If copyself or wastefolder doesnt exist and we cant 
                create them and user asks to go to them dont crashBug fix: If we get an error on print to POP or SMTP port then 
                close socket.Downgrade error on tcp read as it can happen on POPERS that 
                close sockets prematurely.Dont attempt a read after quit if socket already closed - for 
                similar reasons.
 | 
         
          | 2.0d | 18th Nov 1998 | 
              Dont die if POP host closes port before a quit. (QPOP does this 
                on a password error - naughty QPOP :-)Try POP login twice before giving up with complete disconect 
                reconectFlush tcp connection before sending user/pass commands as some 
                naughty POPers give two answers (eg -ERR bad password, +OK disconnecting)Bug fix both reply and replyall now blank cc field for replyBug fix: ini setting auto_logout_mins was used as an hours  
                setting in someplaces Bug fix to field in replyall had a trailing comma if bcc or 
                cc was blankAdded lots more messages to lang.dat for foreign language versionsTrim trailing spaces off username and password so dont get "ralph" 
                and "ralph " as two different users if POP server ignores 
                trailing spaces.Bug fix in send.tpl script (none) in pick list did not do a 
                clearRemoved double <option><option> in list.tpl listf.tpl 
                for CWMail they caused a blank entry at top of pull down list
 | 
         
          | 2.0b | 11th Nov 1998 | 
              For CWMail user can now remove additional pop-host lines in 
                config.tpl by deleteing just the username for the host line to 
                be removed then pressing save changes.Added an ini file setting to allow the template variable seperator 
                to be specified as any two character string. We now use separator ||
 which with other changes in version 2 make it much easier to edit 
                the template files using editors like frontpage ( which did not 
                like the %% variables and do clever things we dont want them to 
                :-)
ifdef, ifinstr etc dont have to be on seperate lines anymore 
                - they are treated as if they were.To stop html gui editors moving things like ||poplist|| to outside 
                <select> tag if an ini setting for separator is used the 
                initial option and final /option tag are place in template file 
                rather than in the variable ie:%%fldlist%%    -->         
                <option>%%fldlist%%</option>
 %%poplist%%    -->         
                <option value="0" >%%poplist%%</option>
 %%addr_books%%-->         
                <option>%%addr_books%%</option>
 %%list_alt%%    -->         
                <option>%%list_alt%%</option>
 %%r_headers%%    -->         
                <option>%%r_headers%%</option>
 %%r_actions%%    -->         
                <option>%%r_actions%%</option>
 %%r_folders%%    -->         
                <option>%%r_folders%%</option>
 %%tolist%%    -->         
                <option>%%tolist%%</option>
 %% -> ||
 For NT a small utility rsearch.exe and a cmd file to make the 
                above changes is included in the distribution set.
Added dwidth for entries in pickist (dispalayed not used) limited 
                to 40 chars to stop the scroll bar for pick list dissapearing 
                of the right of the screen.!! Picklist scripts changed to use .value not .text so long 
                names are not truncated. NOTE: this change must be made in old 
                templates if they are to work with 2.0b   send.tpl  
                javascripts need updateing!Pick list fixed so it displays Ralph Pugmire but uses "Ralph 
                Pugmire"<ralph@netwin.co.nz>Add header ini setting now adds header immediately after <head 
                tag rather than after first line after head tag :-)Add lang_get for strings rhdr's No Rule from to etc.New ini setting frames_default if true an Enter from IE on logon 
                page will go to frames pages rather than non-frames pages.Addeed last_first ini setting to say get last message first. 
                This is less efficient but some people prefer it. This means read 
                in entire headerslist upto xovermax and then retr in reverse order up to xmaxmsgs
 | 
         
          | 1.9k | 2nd Nov 1998 | 
              Public address book entires are also shown in the pick list 
                provided we have less than 100 entries in pick listAdded the cmd=login&user=xyz&pass=secret&page=send 
                For sysadmins who want to set up systems that go direct to send 
                or  any other page. For those using systems which prelogin 
                users and who are prepared to include passwords in a urlSet the %%toedit variable everywhere we setup picklist variable 
                incase they want just a list of pick addresses without option 
                tags etc.Fix W7 error for send and forward to add \n and failing address 
                and to not fromSpurious " in send.tpl in pick list removed (and from faq 
                example)Minor change to pick.tpl
 | 
         
          | 1.9h | 30th October | 
              Extend error message for xcached login to refer to faq12 Fix bug in send which can leave stray ataXXXXXX files around 
                on SMTP errors.New  ini setting temp_area so they can keep temp files 
                separate from work filesNew  user.dat setting for domain which takes precedence 
                over ini setting and is set by login of type  fred@abc when 
                @POP ini seting is true. This provides a better default reply 
                address when @pop true.
 | 
         
          | 1.9g | 23rd October | 
              Fix spurious forwarding error message bug introduced in 1.9f 
                :-) | 
         
          | 1.9f |  | 
              Fixed bug; closeing socket too soon after quit to POP server.Added more error checking for message "already connected 
                on another machine"On POP logins retry after pause incase its a lock problem.  | 
         
          | 1.9e | 19th Oct | 
              Handle long lines in messages better ie. wrap dont truncate. 
                Increase line length limit to 2000Add processing for cmd=delitem and cmd=delitem so they can be 
                used in hrefs as well as buttons.Protect against writing user.dat if folder names lost are lost 
                for any reason. | 
         
          | 1.9d |  | 
              Updated: pick.tpl, cwmail.htm, dmailweb.htm, cwm_user.htm, dmw_user.htm, 
                index.htmAdded user and group address books and simple lists see updated 
                pick.tpl and docs for details. | 
         
          | 1.9c | 13th Octoberr 98 | 
              Added to lang.dat translation entries for rule processing commands 
                copy,move etc.Fixed bug in fwdedit.tpl   bcc and cc fields should 
                be blankFixed bug in item counter when delete message and display next 
                item.Added process %%user%% in defaultReply line in user.dat so that 
                sysadmin can set default reply to something like %%user%%@domain.one 
                for a group of usersAdded log of username to logged error for xcached loggin error 
                messageRemove leading or trailing (my name) from email addresses when 
                checking for duplicate addresses in pick list etc.Added FAQ's on use of virtual domains.
 | 
         
          | 1.9a |  | 
              Added ini setting language_file and lang.dat to support translation 
                of all error and informational messages into languages other than 
                EnglishAdded error number prefix to many errors eg E1: ....Added %%ifequal%% template functionFixed dont include trailing .,() space or tab in html links 
                in mail messagesAdded add_header ini setting to allow inclusion of no cache 
                and other headers to all template files.Fixed allow trailing /or \ on templates and workarea ini settingsYou can now use manager.tpl to set pophost n xyzAllow DMailWeb users to enter pophost0 details in config.tplNew ini setting peruser_pophost (default false) stops pophost0 
                being reset to ini setting if login fails, needed if different 
                pophost0 settings will be used for each user.Fixed. Moved %%include%%nfmenu.tpl%% in list.tpl out of <head> 
                section into <body> sectionAdditional reseller support added.Set b_reply in list as well as item.
 | 
         
          | 1.8t |  | 
              Template files updated: forward.tpl,item.tpl.list.tpl, send.tplTemplate variables added: v_myfrom, pop_useri, pop_nameiIni settings added: allow_form, allow_java, allow_script, no_ipcheckAdd note option and use my from address option added to forwardList and item templates changed to use forward instead of forward_edit 
                as forward_edit does not send attachmentsFixed bug causeing loss of message body on forward for messages 
                with body left on server.Added pop_useri and pop_namei %% variable for send.tpl so you 
                can have a reply popup when CWMail user  is using multiple 
                pop hostsrfc1522 rcpt to and rcpt from on send, and decode when displaying 
                pick list for those with special characters (like japanese)Update item.tpl so close formbefore %%show_item%% and reopen 
                afterwards so that if it contains a form we dont loose tick boxes 
                at bottom of pageFix spurious blank lines in messagesAdded protection against trojan horse html script emails Added ini setting allow_script true/false default false removes 
                scripts from messages being displayed unless execute html is setAdded ini settings allow_forms allow_java Modified item.tpl  to make view as html non stickyAdded log username and check for zerolength password if giving 
                error cannot login....Added more specific error messages for pop and smtp connectionsAdded cmd=delitemn and modified item.tpl to use it to delete 
                and move to next msgFix xcached error produced by login.tpl not containing  
                <input type="hidden" name="tcode" value="%%tcode%%"> 
                line (although it should allways be added)Added no_ipcheck  ini setting to disable  from ip 
                address check for connections
 | 
         
          | 1.8s | 5th Sept 1988 | 
              Workaround for IE3 IE4 bug causing filename  extension 
                to be garbled when saving attachments to file.Fixed bug which could cause loss of user.dat file on heavily 
                loaded system.Added  pop_timeout ini file setting with default of 30 
                seconds. For with very slow POP/SMTP servers.Set nitems and item_id %%variables in item.tpl so they can display 
                them.Added max_sends ini setting to limit the number of sends per 
                day per user default 500 Modified save config handleing to allow for no pop host table 
                in config pageLook for content_dispostion = attachment headers to to help 
                pick up attachment status when leaving body of message on server.
 | 
         
          | 1.8p | 31st August 1988 | 
              Fixed bug from 1.8n which stops remote messages > mcache_kbytes 
                being deletedAdded decode quoted-printable mime attachmentsFixed bug causing crash on solaris attachment with no bodyChanged default_reply when @pop true and login as ralph@abc 
                to  ralph@abc | 
         
          | 1.8n | 24th August 1998 | 
              Fixed bug in cwmail1.8m which caused large messages to be deleted 
                on next mail check after being read if larger mcache_kbytesFix spurious error message after deleting msg in DMailWeb with 
                delete after download setAdded newuser.tpl and newuserf.tpl for handling new users.On invalid token logged out just display error.tpl with link 
                to login againf
 | 
         
          | 1.8m | 21st August 1998 | 
              Tidy up receipt of attachments with no body text to handle type 
                .xls, .doc, .jpeg etc.Fix bug processing faulty passwordsDont bother to purge cache on failed logins.Dont display both logout.tpl and error.tplAllow cached login page if logged in already on same machine 
              Fix bug handling attachments with spaces in name and non inline 
                images displayAdded nm_sound and playit in stubf.tpl for new mail arrival 
                (only in CWMail for now)Fix bug added in  1.7c which made some browsers fail with 
                .xls attachmentsFix read of non base64 text attachmentsRecognise  "dispostion atttachment" as well as 
                base64 => attachDont make @h h@ and @@ in message body into email refsFix display of nitems and nnew in stub.tplFix bug which miss read empty headers eg "subject:" 
                as opposed to "subject: " Added ini setting mcache_kbytes msgs larger than this body is 
                left on server default 10k until item readFix display of attachments in copies to self
 | 
         
          | 1.8k | 13th August 1998 | 
              Templates updated: configf.tpl, stubf.tplVariables added: user_agent, usex, uage, uaddress, umax_attach, 
                nnewNew ini settings: Added %%variable user_agent to make it easier to make template 
                files browser specific to work around browser featres :-)configf.tpl modified so save config works with IE3 BUT cant 
                not refresh menubar as target=_top confuses IE3Fixed non frame login cached login error security problem.Fixed bug causing double spaceing of message body lines in some 
                situationsAdded new user.dat / template variables uage,usex,uaddress for 
                general use.Limit max attach size to umax_attach user.dat setting. default 
                no limit.Added %%nnew%% variable number of new messages found on last 
                pop check.If login for new user fails remove the files we created so that 
                spurious logins from fake users dont fill up the disk.Dont allow .. in username or pophost name.
 | 
         
          | 1.8j | 7th August 98 | 
              Decode quoted printable special characters in message body for 
                reply and forwardWhen createing new folders dont allow name which matches except 
                for case ie   NewMail == newmaildecode special characters in address  picklistSingle part mime attachements with no message body now handled 
                correctlyFix autorefresh every 2mins for new mail popup windowFix. words.dat and user_opt.dat were not copied into dist set 
              Allow cmd=help, cmd=empty, cmd=send in template files so these 
                can be used in as hrefs instead of buttons
 | 
         
          | 1.8i | 5th August 1998 | 
              Bug fix. On solaris in manager page entering blank value could 
                cause manager.dat to be corrupted causing crashes on any cmd=managermanager.tpl updated | 
         
          | 1.8h | 3rd August 1998 | 
              Bug fix. user_opt.dat was not being distributed with unix versions. 
                It provides a pull down list of user.dat setable options on manager 
                page.Added a Popup window which shows new messages as they arrive, 
                allowing user to surf the web and then instantly return to cwmail/dmailweb 
                when a message arives. Template in stub.tpl and stubf.tpl (not 
                supported in ie3)Bug fix  continuation lines from unknown headers could 
                get added onto from header.Allow reuse of failed cached login pages, so yo can go back 
                and correct miss typed password.Accept tab as well as space as first character of header continuation 
                lines.Bug fix. In manager page deleting user accounts number deleted 
                not initialized to zero on unix.Bug fix. CWMail menubar logout href did not log out properly. 
                If you have a version with link instead of button - update the 
                menubar.tpl  | 
         
          | 1.8e |  | 
              Fixed bug in %%subject_40%% which could remove half of an escape 
                sequence used for foreign characterset support.  Reduce memory used when deleteing large numbers of messagesReduce memory used in manager wildcard commands.Dont encode < as < when in foreign charset escape sequenceAdded manager page commands for deleting user directories either 
                from wildcard definition or file containing list of user accounts.Fix bug causing autoadd to addresses not to be updated if pick 
                list emptyIn manager routines ignore . and .. files for purge delete etc.Print file error details if invalid ini key caused by file errorAdded show_tiff true ini setting added for inline display of 
                .tif attachmentsBug-fix uvar1 and uvar2 where not updated if set in a template 
                fileNon frame send.tpl demonstrates alternative pick list using 
                add buttonAllow view of headers and deletion of messages too large to 
                downloadBug fix. Temp failure to read user.dat could cause it to be 
                reset to defaultBug fix. newline in formatted html in messages was being lostAdded. lowercase_username, lowercase_password ini settings to 
                force username and password to lowercase so user Ralph = ralph 
                = RALPH etc.Correct display of msg size in some error messages  kbytes 
                instead of bytes.Decrease memory size during purge of large systems.New tick box in  manager.tpl  to enable changes for 
                only users with currently blank setting. eg change dflt signature 
                for people who have not yet set oneMake replyall tack from to and cc fields together 
 | 
         
          | 1.8d | 21st July 98 | 
              security update. Failed login now logs out any other current 
                connections for same user.add from_ip_address to stats logged.Fixed crashing bug on send without "copy to self" 
                introduced in 1.8c :-)
 | 
         
          | 1.8c | 17th July | 
              remove self.tmp files after usedo pop quit immediately after deletes to make sure it happensFixed bug which prevented use of cmd=manager on unixIn processing default.dat allow use of  %%user%% variablemanager.tpl modified  so it works with IE3 Security problem with connection from multiple IP addresses 
                fixedModified list.tpl and listf.tpl  If folder="copies 
                to self" then put "To" rather than "From" 
                in the message listIn processing message body containing foreign characters. Dont 
                look for email addresses between 0E ....0F sequences and dont 
                text encode 0E.....0F sequencesGive an error message when rejecting a login from a cached pageAvoid rewritting key file for matching valid key.
 | 
         
          | 1.7e |  | 
              New ini setting stats_path creates daily stats file with 1 line 
                per login. Records time, user, msgs_served, msgs_diskuseManager cmd displays msgs_served and msgs_diskuse calculated 
                as part of purgeMake cant write to kfile an error message not an info messageWhen processing strings of addresses for send, forward etc. 
                ignore contents of quoted strings. When extacting address_only from "name" a@b 
                ignore <@ in quoted portionUse rfc1522s encoding  when required for reply_to and to  
                headers.Use rfc1522s enconding when required for resent headers when 
                forwarding a message
 | 
         
          | 1.7d | 7th July 98 | 
              manager.tpl updated  new ini settings:    date_format dmy, @pop true/false@pop true allows login username of the form user@pop.hostput filename in logged error for cant find .gif to servewhen adding to pick list lowercase and only look at address 
                not name part for checking for already in the listbugfix - dont delete records for remote messages when useing 
                multiple pop accounts with some set to leave on server
 | 
         
          | 1.7c | 2nd July 98 |  | 
         
          | 1.7b | 1 July 98 |  | 
         
          | 1.7a | 25th June 98 | 
              template files updated: sendf.tpltemplate variables added: h_kbytesini file settings added: valid_pop, valid_to, valid_userWildcard settings for user, pop host and send to addres to limit 
                use addedif content type for message body has charset="abc" 
                pass it thru to web browserfixed bug in show headers when show as html is onif content type for message body is html then display as htmladded a pull down list to sendf.tpl with content type: plain, 
                text/htmlallow multiple(3) attachments to a single emailh_kbytes variable to display message size in kbytesmake year in h_date_day 4 digit if >1999 else 2digit calculate h_lines for copies toself | 
         
          | 1.6g | 1st July 98 | 
              Missing config.tpl for DMailWeb added back into distribution 
                set | 
         
          | 1.6f | 19th June 98 | 
              Template files updated: list.tpl, menubar.tpl, sendf.tplTemplate variables added: h_unseen, uvar1, uvar2Config file settings added: keep_indexChange tpl files using image maps in forms to make them compatible 
                with IE3 & 4Add send message button to menubar in frames versionFixed bug causing attachements with path n:a.b to retain path 
                in filenameLimit new mail list refresh time to greater than fetch_min config 
                settingChange fetch_min is now ini setting not user.dat settingAdded uvar1, uvar2 general purpose template variables stored 
                in user.datNew config setting keep_index implies keep index of remote newmail 
                default value is true for CWMail and false for DMailWebFixed bug causing message read flag to be lost after check for 
                new mailGive user an error on process selection when no messages selectedFix date bug causing 13pm rather than 1pm in %%h_date_time%%Make dates in sent messages have four digit years rather than 
                two digitAdded new icon for "create new message" and use send 
                icon for send message | 
         
          | 1.6e | 13th June 98 | 
              Changed registration page for CWMailcrash on post bug added in 1.6d removed :-) | 
         
          | 1.6d | 12th June 98 | 
              Bug fix for crash on del item when item no longer exists.Handle quoted printable in message body and use quoted printable 
                as required in message send.Handle japanese and other characters in From headerignore @ in quoted email name when extracting email addressFix bug in decode of quoted printable in single part mime messagesIn mail list from ""<a@b> now appears as a@b 
                not blankPrint computer name in ini key failed message | 
         
          | 1.6c | 6th June 98 | 
              user help files updated for internal links in same framenew user failure bug introduce in 1.6b fixed :-) | 
         
          | 1.6b | 5th June 98 | 
              If key is temporary then copywrite variable on login page contains 
                (temp key) Security enhancements including: Only accept tokens from same 
                remote_addr as used in most recent login for that userHandle multi line headers when retrieving headers from fileFixed bug in rfc1522 decoding which cause %%h_subject_40%% to 
                leave some strings still encoded | 
         
          | 1.6a | 2nd June 98 | 
              Forwarding bug fixed. (avoid double angle brackets in mail from 
                header)Dont die if pop server sends us a blank uidl header linePrevent user login from cached copy of login page - requires 
                updated login.tplReturn to same mail folder list after forward and forward selectedFrames version of DMailWeb introducedPath removed from attachment file names | 
         
          | 1.5a | 25th May 98 | 
              An additional "forward and edit" has been added. This 
                uses b_forward_edit instead of b_forward and a new template file 
                fwdedit.tpl and an additional variable h_xfromNew ini settings added: empty_trash_on_exit and no_trashFixed occasional crashes due to errors reading user.dat filesFixed bug to ensure remote messages are deleted from cache before 
                pop read and on logout.Fixed bug which could cause loss of message synchronization 
                if pop connection goes down temporarily during message retrievalFixed bug causing check of account with thousands of messages 
                to die with internal errorFixed search for ini file so it works with web servers which 
                dont include path in cmdlineFixed bug causing temp attachment files to be left if send failedAdded lowercase ini setting names so that Key and key workAdded new ini settings to allow newmail folder name to be setFixed bug causing crash in write of user.dat if another version 
                still running for same userTry user.new write several times if error.... sometimes fails 
                to write user.new then fails Added url_encode utoken so # in username is ok | 
         
          | 1.4b |  | 
              Fixed problem with multi line signatures and adverts appearing 
                on a single line when sent with an attachmentAdded %%ifinstr%%variable%%value%% construct for template filesFixed bug causing occasional crashes on some systems on item 
                deleteFixed problem with NS4 nfmenu.tpl pulldown list of foldersAdded h_bytes header in copies to self messagesFixed problems reading copies to self messages on NT | 
         
          | 1.4a | 10th May 98 | 
              Added menubar for non frame versions nfmenu.tpl and nfmenu2.tplTidied up pick.tpl and list.tplAdded trash and copies to self for DMailWebMake %%copyself%% copy to copies to self setting persistantMake %%addsig%% add signature setting persistantMake %%send_autocc%% send carbon copy to self setting persistant | 
         
          | 1.3f |  | 
              Update next message id during index rebuild if necessaryFixed default reply name@*domain * removed | 
         
          | 1.3e |  | 
              Added user quotas with %% variables to show used and available 
                space (see config.tpl for example of use)Added config setting to limit max messages downloadedAdded config setting to limit max message size to download.Added config setting to limit max list of messages shown in 
                a pageIn rebuid index recalculate disk use for user and h_bytes for 
                each messageAdded user quotas, max_download_msgs, max_download_kbytes, and 
                config settings dflt_*Added %% headers for msg lines and size in bytesAdded %%get_reply does not add domain if username contains @Added %%info_msg for warning messages about downloads | 
         
          | 1.3d |  | 
              On rebuild index if no uidl and no mid and no date use msg numberIf no pop host supplies dont write user.dat and give error | 
         
          | 1.3c |  | 
              Added rebuild message indexes button to config screenFixed bug causing old messages to be lost when reading old index 
                files | 
         
          | 1.3b |  | 
              Fixed fax number in registration formComments field was not being sent on registration form - fixedNew login.tpl uses ifdef to only show register para on login.tpl 
                if unregistered and make %%register%%="" if registeredDecode rfc1522 in from lines New ini setting hide_x_mailer which removes x_mailer: dmailweb... 
                if registeredFor frame login allways look for frames version of any.tpl file 
                first %%include upgraded to replace template variables in included 
                fileProcess multiple line email headers and long header linesrfc1522 Q decoding bug fixedHandle new style SMTP gratuitous response lines of form nnn- 
                properlyAttachment handling tidied up. Remove path from attachment references, 
                Handle space in attachment filenamesDo rfc1522 encoding when sending subject header lines. | 
         
          | 1.3a | 15th April 98 | 
              Remote messages concept introduced for CWMail. Messages which 
                are left on POP server are flagged as remote and handled appropriately 
                for delete, move etc.forward and spelling and several other features of CWMail were 
                disabled in version for solaris, sgi, osf, bsdi and aixproblems with japanese subject line in body of message etc. 
                fixedoccasional problem with key for wrong pc bug fixedforward and delete from folders other than new-mail delete would 
                fail - fixed.bug with forward and delete with multiple POP hosts fixed | 
         
          | 1.2e | 8th April 98 | 
              Support for japanese characters in subject field using iso-2022-jp 
                & rfc1522buf fix for embed email address refs which corrupted japanese 
                text in message bodyPragma cache bug fixedBug in send copy to sender which rejected sender of form "Ralph 
                Pugmire"<ralph@netwin.co.nz> fixed | 
         
          | 1.2d | 2nd April 98 | 
              Multiple body_add lines are now allowed in ini file to provide 
                multiple line adverts etc.Bug in del_selected items fixedCWMail forward and delete now worksCWMail previous and next buttons now work when not in newmail 
                foldernone removed from folder pick listStops user moveing item to current folder Forward now works from any folderIE3 problem with send message not starting on top line fixedFrame menubar folder picklist now does auto change to new folder 
                on change selectionCWMail priceing more explicit in registration page Added view register.txt before sending itCWMail if set to not delete on download then do pop delete on 
                delete selection or move selection from newmail folderAdded newframe variable set in config.tpl and folders.tpl to 
                signify reload whole frame so pophosts and folders pick list get 
                updated in menubarBug on entering passwords for multiple pop hosts fixedAdded wrap="physical" in send and send2.tpl for message 
                field Added a new ini setting rset tru/false default is false. If 
                true do rset after download so messages are not marked as read. 
                Helps users who have set email client to only download unread 
                messages.User manual written for DMailWeb and link to it on login pageAded <br> after inline attachment links | 
         
          | 1.2c |  | 
              New ini setting pop_delete_default (default setting is delete 
                for CWMail and dont delete fro dmailweb). On CWMail this sets 
                default for new users. Users can change the setting from their 
                config pagecorrupted reply1.gif and attach1.gif in unix buiilds fixed | 
         
          | 1.2b | 16 March 98 | 
              Real Name setting added to user config page used for friendly 
                From: "Joe Smith"js@xyz 
              noedit_real_name and noedit_reply_to ini settings addedobscure bug with some MIME messages fixedh_subject_raw template variable addedh_subject_raw variable added - doesn't have "Re:" 
                prefix added%%real_name%% available in list.tplbug in %%else%% processing fixeddefault to delete from pop server for CWMail change default install path for templates on unix for better 
                securityput <> round msgids in headers when neededregister.htm info added 
                and linked into relevant pagesdocumentation upated. | 
         
          | 1.2a |  | 
              Forward bug introduced in 1.1z fixedNew ini setting inline_options added to allow things like target="newpage" 
                to force new browser window creation when an inline html ref is 
                clicked.Bug fixed which occasionally caused <br> to appear in 
                an inline html referenceDate on sent messages now local time +- offset rather than GSTOptional timezone ini setting to add a string to end local time 
                of date header such as nzstBug fixed causing newmail not to be displayed after logout/login 
                within 200 secs | 
         
          | 1.1z | 4th March 98 | 
              Allows login username to contain @ character for use with POP 
                virtual domain hostingTimeouts implemented on all POP and SMTP connectionsExtended documentationUpgraded installation instructions |