Release History
Download latest version
here
What's new in Secwin
6?
Getting compile errors after upgrading? Check the
Compile Errors Section.
NOTE: When you upgrade NetTalk to version 6.38 (for NTWS controlled access
control), in your Secwin_ScreenAccess table, you must change your SessionID from
a long to a string(30) (see FAQ 0.10 for
details).
Version 6.16 (8 January 2013)
- Template tweak - copy the Secwin dll to the app directory in Multi-DLL
applications (that aren't the EXE app).
- Template tweak - multiproj support for Clarion 7 and up. Inserts the
secwin dll into the cwproj and copies the secwin dll (if compiled in dll
mode).
Version 6.15 (21 November 2012)
- Template fix - Allow legacy EXEs (in a multi-dll application) to set the
encryption code from the template.
- Template tweak - cater for CPCS reports (legacy code) in an ABC
application.
- In GlobalSetAccess window, don't suffix 'Group' to groups.
- ds_UserQueueEx contains workgroup in the reserved field (returned by
ds_UsersEx).
- Counter Limits are loaded correctly when MaxLevel and MinLevel are set
(and stored correctly in MSSQL).
- Optimization for updating users (internally temporarily disable the
callback and set CRC manually).
- ds_GetProperty returns un-encrypted login for usergroups (if the user is
a usergroup).
- MSSQL - returns usergroups in ds_GetUsers
Version 6.14 (27 August 2012)
- Template fix - In the SecwinWebSetAccess window, set the filter to
include quotes for the ds_Scr:SessionID field.
Version 6.13 (16 August 2012)
- DLL Change - randomize the lic file to use (for each user that opens a
file).
- Template fix - If the licence fails, don't proceed with access control
checks for menu controls
- Template tweak - added an embed point to change the displayed details in
the web SetAccess browse.
- Change the txds to include the correct file structure for NTWS
applications in the Secwin temporary tables (the SessionID field in the
Secwin_ScreenAccess)
Version 6.12 (1 August 2012)
- DLL Fix - when owner reset (with second owner - i.e. driver options),
then reset the internal driver options variable.
- New function -
ds_UserInUserGroup() - checks if the user is in a usergroup (number).
- ds_UpdateUserEx fix - when deleting a user, delete all the access points
(was just deleting positive access points in TPS)
- TPL change - define GLOSec:DefaultUsergroup whether Secwin for is used
or not (support for multi-dll where web is used in one of the lower dlls),
export from data dll, and define as external in lower dlls.
- TPL change - if secwin is disabled locally, disable the template
prompts.
- TPL change - embed point in SecwinWebUserAccess extension template.
Version 6.11 (4 May 2012)
- NTWS support Template tweak - RememberCookie used rather than remember
to control the cookie value .
- NTWS support Template tweak - Password and Login session values deleted
when loading the login form (the saved fields are correctly stored or not
depending on whether the remember checkbox has been selected).
- NTWS support Template tweak - Tabs are correctly assigned to Tab 0 when
returning to the login window.
- NTWS support Template tweak - After setting a new password, this
password is saved where necessary (for remember function).
- NTWS support Template fix - Appnum correctly saved after login
(regression from 6.10).
Version 6.10 (1 May 2012)
- Template fix - fix for Demo Length period (was only allowing one day for
demo period).
- NTWS support - fix in TXA (regression in 6.08) allowing user to set
password from the URL link.
- NTWS support - template code to create the basic user group. (Must
assign the user group number to the user's usergroup).
Version 6.09 (5 March 2012)
- NTWS support - tweak to TXA to support login by login (not login by email).
If you require login by login (not email address), re-import the secwin web
windows.
- Template change - if datadir selected for the file directory, and
data dir is not specified, assume current path (i.e. default to 'HERE').
- Secwin User Login Here template for NTWS apps - remove ds_Logout from
win 32 code.
- Template change - if self-create first login, then ds_Logout after login
creation.
- Template change - better support for login and password different on
first login creation.
- Template change - does not abort webserver procedure if win32 login
fails.
Version 6.08 (22 February 2012)
- NTWS support - better support for login by login (not login by email).
ds_GetTempPassword can accept a login instead of an email address. (If Login
and Email are the same (as set in the template) then attempts to locate user
by email.
- Template fix - fix for default user to have a password that is not the
same as a login.
- Template change - if Data directory is selected (for datafiles) and no
path specified, default to 'HERE'.
- NTWS fix - don't logout (from desktop app) - not applicable. Also don't
return if Can't register for access control (access control will fail).
Version 6.07 (20 February 2012)
- DLL work-around. Force firstname and lastname to login if neither set
(fix for failed insert user in NTWS).
Version 6.06 (17 February 2012)
- Tweaked TXA (Nettalk web server procedures) to allow a user to be
created with a login that does not match the email address.
- TPL change - Embed points around the SecwinLoginScreen call.
- TPL change - force http:// onto ServerAddress for SOS GetWebActivation
template.
Version 6.05 (2 February 2012)
- Fix GPF in ds_UpdateUserEx function
- Fix for SOS template problem where occassionaly the request would not be
received.
Version 6.04 (17 January 2012)
- ds_ChangeUserEmailAddress - fix - ds_CannotBeBlank option when testing
EmailAddress by default.
- ds_LoginIsEmail option - allows a login that is not an email address
(for NTWS).
- ds_ChangeUserPassword - returns the errorcode of the put (was returning
0 in some circumstances).
- ds_UpdateUserEx - added EmailAddress as parameter (future use)
- ds_SetProperty and ds_SetUserProperty - for setting a permitted user's
property.
- Fix for Btrieve: Various fields shortened to accommodate the 255 char
limit in a unique key in Btrieve. Name attributes added to the Keys.
- SecEqu60 file changed to accommodate for where other equates are
specified.
- Template change - only allow encryption set in Data DLL or single exe) -
accommodate for Legacy apps needing to set in the EXE.
- NTWS support - Option to change Local vars prefix (for storing login,
password, etc cookies). This means you can make it unique for your
application.
- NTWS support - more embed points in the tpl code.
- Better refresh support for memory table.
Version 6.03 (21 October 2011)
- Callback function introduced
(at present for failure to open Secwin files). Useful when using a different
file driver to upgrade from the old TPS.
- Fix - legacy not always had the SecLOG group defined in the registration
window.
- SQL error reported with full fileerror and error when run in debug mode.
- New procedure: ds_SetSecwinSetting - in future will handle all global
Secwin settings (at present just the callback function address).
- Import filename set to SecwinSecurityFile.bin by default.
- NTWS application fix - returns the DefaultAccess correctly in the Users
and UserGroups browses and forms.
- Included updated TXA for NTWS procedures.
Version 6.02 (22 September 2011)
- Fix for ds_ChangeUserPassword (calling function as procedure warning) in the
template.
- Fix for duplicate export function in slatps.dll (for Clarion8 and 7.3
TPS DLL)
Version 6.01 (15 September 2011)
- Includes missing C8 dlls, and ip server dll.
- Fix for ds_LoginUser (calling function as procedure warning) in the
template.
Version 6.00 (9 September 2011)
Version 4.99 (20 July 2011) (No TXA import required if
upgrading from 4.58 or up)
- LoadUser was not always functioning correctly (occasionally affected
Change password, load user, etc).
- ds_ChangeUserPassword applies case sensitive password correctly.
- IPDriver fix - was getting stuck in endless loop in some situations
(when adding an access record).
- Fix for changing path - was not allowing the path to be reset from code
to a different location.
Version 4.98 (15 April 2011) (No TXA import required if
upgrading from 4.58 or up)
- LoadUser was not always functioning correctly (occasionally affected
Change password, load user, etc).
- Template fix for Clarion 7.3 IPD applications - includes the slaipds dll
for the connection.
Version 4.97 (23 February 2011) (No TXA import required if
upgrading from 4.58 or up)
- ds_ChangeUserPassword (and ds_ChangePasswordEx()) was not always
functioning correctly (internal var not bound in some cases)
Version 4.96 (9 February 2011) (No TXA import required if
upgrading from 4.58 or up)
- ds_Cresec() called from legacy EXE in multi-dll apps.
- %noscrsec variable was out of context sometimes - checks for existance
before using.
- ds_ChangeUserPassword returns the errorcode of the file put (MSSQL fix
for changing password, was not saving the pwd change on login).
- ds_LoginUser fix - was not logging in with case-sensitivity off (when
case did not match).
- Fix for when multiple counters are used, ensure that the counters are
CRCed in the same order internally (was generating failed licence when
multiple counters were used where the register app had the counters in a
different order to the program).
- ds_CloseTables forces the files closed (does not just decrement internal
file used vars and close if required). Fix for IPDriver where connection was
left open.
Version 4.95 (10 January 2011) (No TXA import required if
upgrading from 4.58 or up)
- Internal tweaks for more secure DLL.
- Fix for NoDemo (in some circumstances was allowing a one day demo).
Version 4.94 (7 December 2010) (No TXA import required if
upgrading from 4.58 or up)
- Template tweak for C7.3 support
Version 4.93 (19 November 2010) (No TXA import required if
upgrading from 4.58 or up)
- Optimize internal LoadUserByNumber method - which intern optimizes
ds_ChangeUserPassword, ds_ChangeUserEmailAddress, ds_GetProperty,
ds_UpdateUser, ds_LoginUser, ds_LoginText
- If EmailAddress is blank, don't returned encoded email address.
- ds_UpdateUser - when a usergroup gets deleted, remove the links in the
OperatorUserGroups table.
- ds_UsersUserGroupsQType - Return the site field of the UserGroup in the
queue.
- ds_GetUserPassword - deprecated. ds_GetUserPasswordEx requires the
supervisor to be logged in.
- ds_AddUserToUserGroup and ds_RemoveUserFromUserGroup functions added to
the map file.
- Fix - compile errors when Secwin for ODBC is compiled in localmode.
Version 4.92 (22 October 2010) (No TXA import required if
upgrading from 4.58 or up)
- ds_GetUsers - pass ds_GetUserGroupsToo in the options, and you get the
users and the usergroups.
- internal function Secwin_AddAccessRecord - opens and closes the file (webserver
support in some cases was denying access because of closed files).
- Internal function OpeRecordToGroup - assigns the usergroup flag (UserGroups
in ds_GetUsers support).
- Template change - 'Don't generate extra project defines' - you can check
this if you're getting the 'Too many Pragmas' error when compiling.
- Template change - for C7, only project the driver libraries in
Stand-alone mode.
- New extension template - Secwin_WebUserAccessSecurity - to place code in
the Secwin Access Assigning in a webserver application.
- New utility template to import the Secwin windows into a WebServer
application - requires NetTalk 5.02 or later - documentation to follow once
NetTalk 5.02 has been released.
- ds_UsersUserGroups fix - populates the site field correctly in the queue
returned.
- Procedures exported - ds_AddUserToUserGroup and
ds_RemoveUserFromUserGroup.
- ds_UpdateUser(DeleteReocrd) fix - when the user being deleted is a
usergroup, then all the relating records to the operators are dropped.
Version 4.91 (6 September 2010) (No TXA import required if
upgrading from 4.58 or up)
- IPDriver DLL - Support for Clarion 7. Includes the IPServer dll for C7
versions (S70IPDS.dll).
Version 4.90 (23 August 2010) (No TXA import required if
upgrading from 4.58 or up)
- IPDriver DLL - allows customizable Secwin IPDLL server name.
Version 4.89 (14 July 2010) (No TXA import required if
upgrading from 4.58 or up)
- Template change - GetActivation template uses NetWebClient (rather than
NetSimple). This allows for improved handling of the send request and
receive request through proxy servers.
- Template change - GetActivation template: Added embed points at send and
receive procedures.
- Template change - GetActivation template sets SSL options,
Version 4.88 (4 June 2010) (No TXA import required if
upgrading from 4.58 or up)
- Clarion 7.2 compliant binaries included.
- CPCS reports support (for access control).
- IPDriver - workaround for failed rec0rds() in a file. New internal
function Secwin_AddAccessRecord
Version 4.87 (20 April 2010) (No TXA import required if
upgrading from 4.58 or up)
Summary: Fix GPF in ds_SaveLicenceToXMLEx, Fix IPDriver Access assigning
- Fix GPF in ds_SaveLicenceToXMLEx
- IPDriver - work around for Records() which does not work in the IPDriver.
Version 4.86 (14 April 2010) (No TXA import required if
upgrading from 4.58 or up)
Summary: See below. Also see
Translating Secwin Windows on changed translation requirements for Secwin4.
- Fix regression in 4.85 for C55 users (was not including the correct dlls).
- Debug can log to a DOS file (so DOS driver is added to the libs).
- Translation fix - if lang file contained path, then was doubling up on
the path in the filename.
- SetPin fix - was not setting the application name soon enough.
- SOS - Fix client side to receive response through restrictive proxy
servers.
- Assert if ChangePasswordFunction is not set in the global extension
template (when required by the SecwinLoginScreen).
- Prompt to allow a window's prompts to not be added to the AccessPointsQ.
Version 4.85 (8 February 2010) (No TXA import required if
upgrading from 4.58 or up)
Summary: Clarion 7.1 duplicate compile error fix, fix for long passwords
required, fix for corrupt licence (may require an initial re-activation).
- Template change - does not force password change (if optional login, and no
login is required, and long password is selected)
- Template change - control template (for Login Window). If long password
required, and user's password is not long, then forces changepassword.
- Internal Encrypt class (DESObject) renamed - Clarion 7.1 work-around
(was giving duplicate compile errors where Secwin and NetTalk where in the
same local mode application).
- DLL - new function ds_CheckBigPassword() checks a string for a valid
alpha(6) numeric (3) password.
- DLL change - on insert user, clear superuser bit between additions
(possible carry-over from a previous add?)
- DLL change - internal function to setregistry was not opening the file (casuing
mis-matched registry date after registration in some cases).
- DLL change - Set big password only overrides if BigPassword is required
(internal flag was being cleared in some cases).
Version 4.84 (25 January 2010) (No TXA import required if
upgrading from 4.58 or up)
- Removed 'Cehcking access for' stop in MSSQL apps.
-
ds_CheckRegistry - was not checking access table early enough in the app (in
some cases).
-
ds_CheckRegistry - check for old Secwin3 registry entry (if registry entry is
not there) - date checking support (licence).
Version 4.83 (22 January 2010) (No TXA import required if
upgrading from 4.58 or up)
Version 4.82 (19 January 2010) (No TXA import required if
upgrading from 4.58 or up)
- C7.1 support - exclude Driver libs from the lib mode libs, set ABCLinkMode to 0
in the lib mode libs - add name attribute to some procedures that still required
the name attribute.
-
Use %WindowManager, and not the constant ThisWindow in calling window class
methods.
-
Internal (for c7.1 support) Move the SQLQueryFile declaration into the csSQL.clw
file
Version 4.81 (13 January 2010) (No TXA import required if
upgrading from 4.58 or up)
Fix regression in 4.80 - was not displaying the UserGroups in SQL versions.
- Template tweak - use %L% in projecting the dll. This means that for C7 -
the project can be change to lib/dll mode (not in the application)
- DLL Change - fix for file declaration moved to inc file (regression in
4.80 for C7.1 support) - caused UserGroups to not display.
- internal DLL Change - moved record declaration to an equ file to cater
for queue declaration and moving File decl into the clw file for C71
compatibility.
Version 4.80 (31 December 2009) (No TXA import required if
upgrading from 4.58 or up)
Clarion 7.1 compatible build
- Internally renamed classes, and added name attributes to procedures and
global variables.
- Removed driver libs from the lib projects.
- Template change - add driver libs to the project (where necessary).
- Template change - additional embed points for Operator Form template
(code can be added before and after a user is deleted, changed or inserted).
Also embed points added to the SecwinSetAllAccess control template (to put
code in before modifying access).
Version 4.79 (8 December 2009) (No TXA import required if
upgrading from 4.58 or up)
Some optimization - especially for Oracle.
- Template tweak - In Create Secwin Menu template, store value of
ds_CountUsers for hide/unhiding controls.
- Template tweak - don't call ds_countUsers twice (in some cases).
- Template tweak (and new function call) - only call ds_UserAllowed and
not old Secwin 3 ds_Allowed as well. Call conversion function rather (new
function ds_GetOldAllowed)
- Oracle project - use prop sql for queries.
- SQL queries - don't use 'as' (not supported by all backends) - use full
table name.
Version 4.78 (24 November 2009) (No TXA import required if
upgrading from 4.58 or up)
- DLL fix - Optimisation removed for SQL versions other than MSSQL. (Prop
SQL statements not compliant). Each version will require it's own
optimisation where necessary.
- DLL - new function ds_SaveLicenceToXMLEx. Includes an additional
options group parameter. In this case, specifically to force the URL
encoding of a XML packet to 'ISO-8859-1' where need be.
- DLL - Only call prop:SQL names check, if no name is found in the initial
Secwin names table search (regression in 4.66).
- Template change - add project define switch which is set according to
the global template switch to disable Secwin (_NoSecwin_).
- Template change - embed points added between ds_CountUsers and
SecwinFirstUser procedure; also in the GetAccess routine loop (for
overriding a displayed operator).
- RegisterABC application changed, to allow old registration codes using
'ISO-8859-1' format to be issued.
- Template change - SecWin's Operator Form Control template requires the
Secwin global Template (disables code generation when Secwin is disabled).
Version 4.77 (9 October 2009) (No TXA import required if
upgrading from 4.58 or up)
- Tpl fix - Regression in 4.73. File owner must be set in all dlls.
- Map fix - ds_SaveLicenceToXML was not including the proc attribute.
- Ds_GetProperty fix - was not returning the ExtraLong property for a
user.
- TPL feature - IPDriver apps can have security files local (rather than
on the IP server).
- TPL change - C7 seems to intermittently not have the %cwversion set
correctly - use %cwtemplateversion where this is the case.
- TPL change - when a control is deleted from the window, remove it from
the security level and module controls lists.
- TPL change - embed point added after failed registration attempt.
Version 4.76 (3 September 2009) (No TXA import required if
upgrading from 4.58 or up)
- Tpl fix - Don't assert on external ChangeLoginProc and SetUserAccess (Secwin
create MenuItems template).
- Tpl change (template utility) - allow external SecwinRegisterProduct
window import.
- DLL fix (regression in 4.xx) - allows for encrypted login to log in.
Version 4.75 (23 July 2009) (No TXA import required if
upgrading from 4.58 or up)
- DLL change - Fix for firebird 1.5 (was not creating the primary key in
the QueryTable because the field was > 245 chars.
- Template Change - shows the File options tab in legacy SQL Multi-DLL exe
apps. The Files and Options tabs must be setup as they are in the data dll.
- Template change - embed point in the SecwinSetAccess control template
(allow handcode in the template routines).
- Template change - the SecwinSetAccess window includes the usergroup flag
- allowing sortability and formatting of the list for user groups.
- Template fix - for SOS applications - was not getting the length of the
xml string correct (setting too early).
- Template fix - don't sort AccessPoints queue if "In template order" is
selected (for the sorting in the queue).
Version 4.74 (10 July 2009) (No TXA import required if
upgrading from 4.58 or up)
- DLL change - ds_SaveLicenceToXML does not alter the filename sent,
rather it returns an error if invalid filename is passed.
- Template change - IPDriver use is optional (for the dssw4 file). 'My
Security files are not on the IP server' switch on the Template can allow
the dssw4 to be located locally.
- DLL fix - when encryption used, was opening the security file in access
denied mode, which was pervading the security superfile (inspite of that
table being closed and re-opened in access all mode). Note to self - don't
open superfiles in access denied mode, unless all the superfiles opened are
closed, and then re-opened.
Version 4.73 (3 July 2009) (No TXA import required if
upgrading from 4.58 or up)
- DLL change - ds_SaveLicenceToXML makes a valid filename to store the
licence in (if an invalid filename is passed).
- DLL change - new exported function: ds_MakeValidFileName allows you to
create a valid filename before calling the ds_SaveLicenceToXML function.
Version 4.72 (1 July 2009) (No TXA import required if
upgrading from 4.58 or up)
- Template change - hide template prompts for non-data dll apps in a
multi-dll application. Also only does the necessary in the data dll - which
means Pin, EmailAddress, etc are setup only in the data dll.
- Dll Change - registry changed to using URLEncoded values. This means
that reserved chars can be used in SOS and other http packets. XML
registration files will all be URLEncoded - but old XML files will still be
supported.
Version 4.71 (18 June 2009) (No TXA import required if
upgrading from 4.58 or up)
- Fix for Licence Failure - was not always halting.
- ds_UseLicenceEx - check whole file for licence (was case sensitive in
some cases).
- Template change - only allow encryption code to be set in the data dll
(or exe for single exe apps).
- Template change - fix priority for late login (was not always being
generated because of a clash in priority levels)
- Template change - new embed and embed button on the user screen security
template to add addition code when controls are restricted.
- Template fix - if items (in a menu) need to be disabled for licence
failure - all items in a enabled menu were being enabled.
- c7 Template fix - Call_GetLicenceDetails code template had a unsupported
template language use in c7.
Version 4.70 (5 May 2009) (No TXA import required if
upgrading from 4.58 or up)
- Fix for C7 - projects correct lib file when using secwin ODBC.
- Fix thread lock in ChangeUserPassword (causing app to hang when changing
a password).
- Fix for encryption - was not displaying users logged in correctly. Also
was not logging in some cases when security file is encrypted.
- Fix for ds_CurrentLyLoggedInEx - was including the name of the user
querying in the list twice.
Version 4.68 (16 April 2009) (No TXA import required if
upgrading from 4.58 or up)
- Fix GPF if ds_SetPath() called with a blank first parameter
Version 4.67 (25 February 2009) (No TXA import required if
upgrading from 4.58 or up)
Summary: A couple of minor tweaks. Affects programmers using AppPin,
Super Users, and/or UserGroups.
- Template Change - Clarion 7 workaround. Was not always getting the Class
declaration embed point correct.
- Template Change - allow disable of refresh on GainFocus (local extension
template). This means that the access is not checked on every gainfocus
event (for that particular procedure).
- Template Change - allow userID field to be stored in a global variable.
- Template fix - Don't add user-level access points to the
SetAllAccess queue (was throwing up a compile error in some circumstances -
as well as being superfluous).
- DLL fix - MSSQL workaround: Don't create the file if there's a
NoFileError on open. Bug in MSSQL driver that creates a blank table. Note:
only for the MSSQLDriver, not when connecting to SQLServer via ODBC.
ds_LoginText uses Create procedure, rather than direct Create()
- DLL Fix - critical section error in change password caused a hang when
an invalid user was selected.
- DLL Fix - ChangePassword (when in case-insensitive mode) was allowing
users in when a force-change-password (without changing the password).
- DLL Change - /SecwinNoAccessDelete command line means no access entries
are deleted (and logged instead). Useful for debugging MSSQLDriver.
Version 4.67 (25 February 2009) (No TXA import required if
upgrading from 4.58 or up)
Summary: A couple of minor tweaks. Affects programmers using AppPin,
Super Users, and/or UserGroups.
- Template Change - only call setpin if AppPin is not 0.
- Template change - new feature: Super User doesn't use a licence.
- DLL Fix - If UserGroup is added as Operator, with default Access as
noaccess, then the usergroup really has default no access (previously had
default access to all either way)
Version 4.66 (22 January 2009) (No TXA import required if
upgrading from 4.58 or up)
Summary: Optimization for SQL (mostly - but also TPS), some template tweaks. A
TXA import is recommended for speed improvement.
- Template Change - only calls GetAccess once on open window (was calling twice).
- Fix CriticalSection error - causing hangs in certain circumstances.
- Optimize non-SQL when deleting a user.
- Fix - not all users were associated with their usergroups in some
circumstances.
- Fix - when upgrading from dssw2 - old operators file was not being
closed in some circumstances.
Version 4.65 (24 December 2008) (No TXA import required if
upgrading from 4.58 or up)
Summary: Optimization for SQL (mostly - but also TPS), some template tweaks. A
TXA import is recommended for speed improvement.
- Template Fix (fix for incorrect C7 lib assignment if MultiProj apps):
Centralise secwin dll and lib name generation.
- Template Change: Call ds_UsersEx with 0 in the first parameter (so that
no user groups are fetched) - in Secwin windows. The first parameter is only
for Secwin 3 apps. Optimized for large numbers of userGroups and Users
(especially SQL).
- Template Fix: Clear login for usergroups (in the SetAllAccess control
template) - so that usergroups are displayed without a login.
- Template Change: in SetAccess and SetAllAccess templates, change to
using a combination of ds_GetUsers and ds_UsersEx (Optimization for SQL) to
get the users.
- TXA change: BrowseUsers and BrowseUserGroups call ds_UsersEx with 0 -
optimization.
- ds_GetUsers - In SQL close files if they were opened in this function.
TPS mimicks SQL functionality (supporting additional options previously only
supported in SQL)
Version 4.64 (26 November 2008) (No TXA import required if
upgrading from 4.58 or up)
- ds_LockScreen Fix: Was allowing a blank password to activate the screen
- and erroring on the correct password.
Version 4.63 (21 November 2008) (No TXA import required if
upgrading from 4.58 or up)
- ds_ResetUserPasswordDLL Fix: ds_GetUserPassword,
ds_ResetUserPassword - allows blank user site to be passed.
- Fix - in ds_SetPath for IPDriver apps. Provides support for subfolder
support (which was removed from 4.62 due to a regression when ds_SetPath was
not used). Now supports both sub-folder support and default folder support.
- Template Change - split Secwin Initialize into 2 - to allow additional
code after init, but before creating the tables.
Version 4.62 (4 November 2008) (No TXA import required if
upgrading from 4.58 or up)
Summary: Optimization for SQL - particularly for UserGroups, Encryption Code.
- Clarion 7 compatible install.
- New functions: ds_ResetUserPassword, ds_GetUserPassword,
ds_SetEncryptionKey. ds_ResetUserPassword, ds_GetUserPassword can only be
used if ds_SetEncryptionKey is first called with an encryption key. These
functions are not available when using the default secwin encryption.
- Encrypting Tables with a unique key. This permits you to use the
ds_ResetUserPassword, ds_GetUserPassword - as the Operators table is unique
to your application.
- Conversion from default encrypted to encrypted, as well as import from
encrypted or default encrypted to encrypted. Export from encrypted.
- Fix - change user password (not functioning correctly).
- Optimize for SQL - ds_UsersUserGroups, ds_NumberOfUsers , Delete User,
internal: UserInUserGroup
- Fix ds_CountUsers (for SQL) - Was only checking the noaccess users, and
not adding operators and supervisors to check if all existing users had
access record (noaccess, operator or supervisor).
- Fix - upgrading Secwin tables (from Secwin 3). Logout was not
functioning correctly in SQL, so only the first 2000 access records were
upgraded.
- TPL change: Windows Font settings moved to the 'Old' tab.
- Encryption key template entry prompt in the global extension template.
- Tpl fix - incorrect spelling for importing the planejane template
windows.
- Template fix - legacy - was calling an abc method in the template (INIMgr).
- Template fix - don't reject the UserSecurityTemplate on source and
report templates. Disable automatically for these if populated by the
AutoPopulateUserSecurityTemplate - but allow enabling.
- Template fix - disable UserScreenSecurity template in the FM3 connect
window template (typo in previous attempt at this).
- IPDriver Fix - regression in 4.58 - when introducing sub-folder support
(sub-folder support is disabled at present).
Version 4.61 (23 October 2008)
(Minor release)
Summary: Template change for Clarion7 support.
Version 4.60 (17 October 2008)
(Minor release)
Summary: Release 4.59 did not include all the dlls for all the backends.
Version 4.59 (15 October 2008)
(Minor release)
Summary: Fix for UserNumbers > 32767
- Secwin DLL - fix internal functions: ds_SetWorkGroup, ds_PutAccess to
take long parameters (rather than shorts).
- Secwin DLL - fix - only upgrades 399 licence structure for TPS files.
This will only effect those who implemented Secwin 4.00 licence in a tps
environment.
- Secwin DLL - fix for logout and re-login. Was not clearing internal
variables after logout.
Version 4.58 (16 September 2008)
(TXA import recommended)
Summary: Some startup optimization for SQL, IPDriver support for separate
datapath, better UserGroup support (editing) in the TXAs.
- Secwin DLL - optimize ds_UsersEx function. Does not check user groups if
no appnumber is passed to the function.
- Secwin DLL - optimize ds_CountUsers for SQL - use prop:sql rather than a
view to return the available users. Also deletes superfluous Access records
(of old deleted users)
- Secwin DLL - fix ds_getUsers was not returning the NoAccess users.
- Secwin DLL - if languagefile includes the path, then don't add the path
to the language file.
- Secwin DLL - use the IPDriver procedures to set the filenames (allows
the files to be in a different path to the Secwin dll on the DataServer)
- Secwin TXAs - UserGroup editing improved - shows InitialAccess. Disables
initialAccess on changerecord, when UserGroup is switched between Operator
and NoAccess.
Version 4.57 (3 September 2008)
(No TXA import required if upgrading from a version greater than 4.55)
- Secwin DLL - Work-around for licences implemented with version 4.00 (was
storing as case-insensitive product name).
- Secwin Template fix - If forcechange every 30 days, then don't allow the
user to cancel from the changepassword screen.
- Secwin Template Change - include the name of the screen from which the
SecwinSetAccess window is called (in the window text
- Secwin Template Change - Store the window size in the ABC resizer for
the SecwinSetAccess window for each different window from which it is
called.
Version 4.56 (22 August 2008)
(AccessControl windows TXA import recommended)
- Secwin DLL - Disable change in Level for UserGroups.
- Secwin DLL - Optimize User deletion: uses prop:sql to delete operator
usergroup associations.
- Secwin DLL - Don't get a user's level by the level of the highest
usergroup he belongs to.
- Secwin TXAs - disable the InitialAccess option controls when a user is
changed. See FAQ 3.17 for details
- Secwin DLL - can store activation codes to prevent re-use (new function
to replace superannuated one:
ds_CheckEncryptedActivationCodeEx)
- Secwin DLL - fix for relative counters (adds correctly - instead of
replacing existing ones)
- Secwin DLL - don't store licence when type < current licence type.
- Secwin DLL - don't allow a activation code with a counter to be reset
with the same activation code.
- Secwin Template and DLL - make WrongProduct warning optional (for
debugging purposes only)
Version 4.55 (13 August 2008)
(No TXA import required if upgrading from a version greater than 4.54)
- DLL fix - only set the GUID (on adding) if the GUID is not set (fix for
the import/export routine).
- DLL change - ds_GetProperty -
allows IsSuperUser functionality to test if a particular user is a superuser
or not.
- DLL fix - import/export between different backends. TPS to SQL
export/import was not working correctly. Requires a new export if user
groups are used (were not correctly formatted in the export file).
- DLL change - Improved the 'Call to ds_LicenceOk, but License Not Loaded
by ds_UseLicence' message to 'Contact your Supplier: The security licence is
used before it is loaded (i.e ds_LicenceOk is called before ds_UseLicence)'
- DLL Change - include the Dealer in the import/export of the licence file.
- DLL Fix - UserGroup first user found (with no other operators
thereafter) - was causing an infinite loop.
- Template change - TXAs include a "Plain Jane" option for windows import.
Version 4.54 (5 August 2008)
(AccessControl windows TXA import recommended)
- Secwin Equates - change CounterDescription to Description field (to
match the template queue). Handcoders using the LimitsQueueType will need to
change the reference to this variable to the correct one in their source.
- DLL fix - don't show previously assigned user groups to a user that is
changed from an operator to a supervisor (in the BrowseOperators
UpdateOperators windows).
- DLL fix - was not assigning user groups correctly sometimes.
- Dll optimization - ds_GetUsers is 20% faster in SQL. Also the queue is
sorted correctly by FirstName/LastName.
- DLL fix - the Error storing licence message was not showing the file
error correctly.
- TXA change - disables the UserGroups queue in the SecwinBrowseOperators
and SecwinOperatorsForm windows for supervisors.
Version 4.53 (29 July 2008)
(No TXA import required if upgrading from a version greater than 4.43)
- New equate (ds_NoMessages) - which can be added to the Request parameter
of the ds_UpdateUser function to suppress error
messages.
- DLL Fix (ds_GetProperty) - returns blank
(or 0) property when a user does not exist. (was returning incoherent values
for non-existant users).
- DLL Change (ds_UpdateUsersUserGroups)
- the DLL changes the Active icon to correspond with a completed change
required (indicated by a user-changed ActiveIcon flag). This means that if
the ds_UpdateUsersUserGroups function fails with a particular change, the
failed change can be verified by the mismatched Active flag in a particular
row.
- Template Change - improved compile error messages for missing procedure
prompts in the global and/or Create Menu Extension templates.
Version 4.52 (11 July 2008)
(No TXA import required if upgrading from a version greater than 4.43)
- Fix regression in Template (version 4.51). If SecwinSetAccess was
declared externally, then a blank procedure name was used.
Version 4.51 (10 July 2008)
(No TXA import required if upgrading from a version greater than 4.43)
Summary: Firebird support, support for a large number of Access Control groups
on one window (where the access control group string compiles to > 1024)
- DLL Change - Implement Firebird support. This requires a different DLL
to the standard ODBC DLL. This is because a lot of the files contain unique
keys made of >250 bytes which Firebird does not support. Important Note for
Firebird users: Some of the string fields (used in unique keys) have been
shortened to accommodate for this limitation in Firebird. Particularly:
Firstname and Lastname
(80 instead of 252), Product
- Template change - workaround for Clarion IDE limitation, which does not
permit more than 1024 chars in a parameter on one line. Split the function
call over to multiple lines if this is the case.
Version 4.50 (27 June 2008)
(No TXA import required if upgrading from a version greater than 4.43)
- DLL Change - Don't allow Hook1 to be set (in the ds_UpdateUser) - this
is used internally.
- DLL Change - ds_SetOwner, allows the second
parameter (Owner2) to be used for a DriverString set (for SQL tables). This
means that additional driver strings can be used in Secwin tables. you may
not use /CLIPSTRING though.
- Template Change - Support for additional driver strings (used in
ds_SetOwner).
- Template Change - Support for Multi-Proj - allows manual inclusion of
the Secwin Driver DLL - instead of using the Secwin Global Extension setting
(better support for Driver Substitution - particularly the IPDriver).
Version 4.49 (11 June 2008)
(No TXA import required if upgrading from a version greater than 4.43)
- Template Change - improved Multi-DLL implementation. TXAs included for
external procedures.
- Improved Multi-DLL examples (includes an IPDriver Multi-DLL
application).
- Template Change - if 'Generate Access points everytime' is unchecked,
then don't force the addition of the sac points file into the
Secwin_SetGlobalAccessControls control template's include file list.
Version 4.48 (5 June 2008)
(No TXA import required if upgrading from a version greater than 4.43)
- DLL fix - suppress CRC check during internal view transactions. In SQL -
this was doing an incorrect CRC check - resulting in a corrupt security
files warning.
- DLL fix - Change Login function was displaying the old Secwin DLL window
if no password was sent to the procedure
- DLL fix - ds_LockScreen - don't allow the window to close unless
legitimate closure issued.
- Template Change - display the login in the UsersList (SecwinSetAllAccess
window)
Version 4.47 (6 May 2008)
(No TXA import required if upgrading from a version greater than 4.43)
- DLL change - increase field length of the login names and passwords in
the deprecated dll window procedures (ds_LoginText, ds_ChangeUser,
ds_ChangePassword).
- DLL change - new procedure
ds_GetUserProperty. Users the Login name to get the property. If the
property was numeric, then ds_GetProperty was not returning the correct
user's details. Also, ds_GetProperty can accept a numeric login preceded by
'####'
- DLL change - IPDriver workaround - IPDriver was returning an incorrect
error code (errorcode 45).
- DLL Change - when upgrading from Secwin3 tables, store the original
login case-sensitively in the case sensitive field, and the login as
uppercase (for optimized login searching).
- Template Change - Secwin Menu extension template - allow all or some of
the procedures to be started in a new thread (requires some procedures to
change their parameter from a long to a string)
- TXAs change - calls the new ds_GetUserProperty where applicable.
Version 4.46 (21 April 2008)
(No TXA import required if upgrading from a version greater than 4.43)
- DLL change - Fix - returns the case-sensitive
name in the functions returning the current login (like ds_CurrentLogin and
ds_GetProperty).
- Rebuilt installs (Corrupt installs for some of the patch installs).
Version 4.45 (9 April 2008)
(No TXA import required if upgrading from a version greater than 4.43)
- DLL change - Lock window password screen centred.
- DLL Change - allow translation of 'Access' and 'Group' used in the
SecwinSetAllAccess window.
- Template change - 'Disable Licence file registry check' is moved to the
global extension template (instead of the User Login Here template). This
was called 'Allow multiple security files'
- Template change - req() not always working when req is associated with a
local extension template - so changed to using restrict instead.
- Template change - new prompt 'Dont check access in list box filters'. To
optimize list box filters if access control is not applied to records in the browse.
- Template fix - ds_MultiData is included in the call to the ds_LicenceOK
function if the global extension template is checked.
- Template fix - Fixed where statement in UpdateWindow derived code into
ABC mbrowse class. A call to RestrictAccess was being called at every method.
- Template fix - TearOff support implemented (regression in previous
TearOff support implementation).
- Template change - don't call RestrictAccess if the routine is empty.
Version 4.44 (21 February 2008)
(Recommend Access Control windows TXA import to
optimize the BrowseUsers)
- Optimize DLL (ds_GetUsers) - makes OperatorBrowse faster.
- Template change - force '' into email address
template field if non-existent.
- Template change - a switch on the Create_Secwin_Menu
template allows quick disabling of AccessControl menu items.
- Template change - if a blank file exists in the Files
to Include (on the SecwinSetGlobalAccess window), ignore it.
- TXA change - remove the LoadQueue after Insert,
Change and Delete (already done in the ResetWindow method).
- TXA Change - don't disable the UserGroups list when
inserting a user (now updating a users user groups is supported during user insertion).
- TXA Change - remove example sac files from the Files
To Include list (on the SecwinSetGlobalAccess window).
Version 4.43 (6 February 2008)
- Template Change - allow access points (for the Set
Global Access window) to be sorted by Template list order, REstriction Name or Bit ID.
- Template Change - don't use Default login , if it's not set.
- Template Change - an additional embed point prior to
logintext if no users found (allows custom code to provide additional
options if no users exist).
- Template Change - if Licence date 0 (not failed) -
then licence is non-expiring (set to 9999/12/31)
- DLL fix - Secwin3 operator browse was not sorting or scrolling correctly.
- DLL change - optimise the deletion of an Operator for
SQL. Deletes access records with a prop:sql statement, instead of manually.
- DLL Fix - don't display encrypted blank email address
(if email address is blank). Affected ODBC applications.
- DLL change - returns FingerPrint1,2, ExtraLong,
ExtraString, Site, SiteLow, SiteHi from ds_GetProperty function.
- DLL Change - immediate return from the internal ds_About function.
- DLL Fix - allow VScrolling on the UserGroup list boxes.
Version 4.42 (30 January 2008)
- DLL Change - stores a case-sensitive login for
reference purposes (in insert user, and when upgrading from dssw2.tps
files).
- DLL Change - when logging in, first tries a get for
the operator (before a set/next) - optimized for SQL. Also in the
ds_ChangeLoginEx function. ds_LoginUser and ds_ChangeLoginEx now internally
use the same function to load the user.
- DLL fix - ChangeLogin and ChangePassword was not
case-insensitive (if set to case-insensitive in the UserLoginHere template).
- DLL fix - was storing in the initial password in
uppercase when adding using the old ds_InsertUserEx function.
- DLL change - allows a ds_SecwinFirstDate to be set
for the expiry date for the licence (and the shelf life for the Activation
Code) to create non-expiring dates (expires 9999/12/31).
- DLL Change - OperatorForm DLL window entry string
pictures changed to @s252.
- DLL Change - WorkGroup fields on OperatorForm unhidden.
- DLL Change - VSCROLL added to the OperatorFrom and
OperatorBrowse UserGroups list box.
- DLL Change - ds_UpdateUser: Hook2 is reserved for
casedlogin storage of the login.
- Template Change - License name, Default login and
password, Restriction Name, RunAnotherEXE and Command line parameters,
Application Name and Application Pin (in the SetPin template) increased to
252 chars.
- Template Change - BrowseUsers procedure template
prompt moved to global extension.
- Template Change - after changelogin, do GetAccess and
set access rights from the calling window.
- Template Change - Call_OperatorBrowse code template
now dependant on the Secwin Global Extension template (to cal lthe
BrowseOperators procedure set there).
- Template Change - C55 - Work around for doing a
straight case on the returned value of ds_CheckEncryptedActivationCode. Use
a temporary variable to store the value, and compare it.
- Template Change - verifies that 0 is a valid licence
date (was reporting this as an old expired licence)
- TXA change - when returning from the
SecwinOperatorForm, the User's UserGroups are immediately displayed.
- TXA change - Access increased to 247 allowable columns.
- TXA Change - ChangePassword Cancel button activated.
Version 4.41 (25 January 2008)
- Template fix - regression in 4.39 - when making login
option (and no users added) the program was immediately exiting.
- DLL Fix - regression in 4.39. When adding a superuser,
sometimes all users were seen as superusers (and deletion of users was
essentially disabled).
- TXAs - login, password, user name and user lastname
fields pictures changed to @s252. (Requires re-importing of the txas)
- TXA - AccessControl window columns reduced to 247 to
cater for limitation in the size of the format string.
- TXA - added a Select File button to the
RegisterProduct window (ABC) for XML file selection.
Version 4.40 (24 January 2008)
- Template fix - regression in 4.39 - new apps were not
using the imported login procedure.
Version 4.39 (22 January 2008)
- DLL fix - was able to delete superuser.
- DLL change - DatePicture defaults to @d17 (not @d6)
- DLL change - Default expired licence text changed to:
'The licence for this product has expired.|Consult your application supplier
for a new activation code|to continue using this application.'
- Template change - Login and FirstUser procedure
template prompts moved to the Global Extention template.
- New Extension template -
Create_Secwin_Menu. For ease
of adding the necessary security menu items to your application.
- Template fix - if Secwin is disabled, don't generate
Outlookpanel code.
- Template fix - Procedures where User Screen Security
was disabled was still appearing on the Global Set AllAccess Control window.
- Template fix - Tearoff support was not being disabled
if Secwin was disabled (locally or globally).
- Template change - additional embed between the login
user function and the invalid user login message.
Version 4.38 (11 December 2007)
- DLL fix - login sometimes required case sensitivity
(on the login name) - now completely case-insensitive. Login converted to
uppercase (to optimise login - so that login does not have to be "searched" for)
- DLL fix - Browse User screen was not always
displaying the Default Access correctly.
- Template fix - Secwin:AfterLogin embed point ID duplicated.
- DLL change - Login uppercased on user insert (to
optimize future logins). initial password remains the case that the login was entered.
Version 4.37 (5 December 2007)
- DLL fix (regression introduced in 4.33 for SQL
upgrade tables). Only one record was upgraded in the names table.
- Fix GPF in RegisterABC app
Version 4.36 (3 December 2007)
- DLL fix - If ChangeLogin is selected (with an invalid
user entered) then a different user was "logged in" to the one that should
be currently logged in.
- DLL fix - version number equate used in the version
number display (rather than a constant)
Version 4.35 (29 November 2007)
- Template fix - %BitValue - invalid template variable (regression in 4.33)
Version 4.34 (26 November 2007)
- Dll fix - remove stop from the DLL (when going to the AccessControl window)
Version 4.33 (22 November 2007)
- Template Change: User Screen Security group ID -
verified with a queue of existing IDs.
- Template change: User Screen Security: Allow 250
control groups (template now uses ds_UserAllowed,
ds_ModifyAccessEx and ds_GetAccess4
functions).
- ds_UsersEx function now
returns the UserSite for each user in the queue (used to be reserved2 field).
- ds_DisplayUsersQueue type (used in the AccessControl
windows) - name changed to String(252), and a UserSite is added (to contain
the user's site id).
- Fix - ds_UserAllowed
function prototyped to return a string (replaces the ds_UserAllowed function).
- New functions mapped:
ds_ModifyAccessEx (includes the site id of the user) and
ds_GetAccess4
- Internal function: ds_PutAccessEx includes the user
site id (instead of using the glosite, searches for the user with the user's
site id). Also allows -1 to change a particular bit position access only.
- ds_UserAllowed - if
pUser is 0, then loads the current user.
- Prettified Upgrading window.
- Optimized upgrade function - logout and commit for
bulk file reads. New security files opened in deny read/write mode.
- Obscure 'File Error 2 Names :' replaced with a
translatable intelligible message.
Version 4.31 (15 November 2007)
- Template fix: For Multi-DLL applications - allows
Secwin windows to be external (New checkbox - Functions In another app) -
also provides a mechanism to automatically map those windows (if MultiProj
is not used in this application set).
- Template fix: Also for the Login and FirstUser
procedures (in the User Login Here extension template).
- Template change: Change to the feature introduced in
4.29 - to permit a control in a group to deviate from the default (for
Control Restrictions). The default is now re-introduced and may be
overridden for each control (otherwise assumed to be the default).
- Template fix: Displays the control group where the
group is a "To User Type" group. This was not displaying anything in the
Control Restrictions base list.
- TXAs - procedures requiring NAMEs, named (to enable
exporting). NOEXPORT added to those procedures which won't be exported.
Version 4.30 (14 November 2007)
- Template fix: If Default Login is selected - was not
auto-logging in without showing the window.
- Includes a exe to generate Security codes to allow
authorization of Security File repair (see
Your_Security_file_has_become_corrupted._Consult_your_application_supplier_for_a_new_activation_code
for more details).
- Removed omit statement from the GlobalClass.
- DLL fix - if the AutoLogin and Default login was
selected, then was not performing a Default login.
- Expanded the Security Files Corruption Fixer window
to include a Email request generator, as well as being translatable. Email
is not required, but strongly recommended. This property is set in the
Secwin Global Extension template (on the Options tab).
Version 4.29 (6 November 2007)
- Template change: ControlRestrictions - removed
control equate, and combined into one list (not one control and additional
list of other controls).
- Template addition: Control restrictions to a user
type (i.e. supervisor, operator or all).
- Template change: Each control in a control group can
be assigned individually to Disable|ReadOnly|Hide, etc.
- Template change: Action to take on failed licence:
changed to drop down, and controls that still work changed to an inline
list. If "Call a Procedure" is selected, then "return after" checkbox is
default to on.
- Template change: various cosmetic improvements.
Version 4.28 (5 November 2007)
- Fix Counter checking - was not cancelling the licence
if Counter tampering occurred.
- Additional text translation (for expiredcode,
failedcode, wrongproduct and usedbefore messages).
- Additional functions: ds_SetEmailAddress and
ds_SetAppName used for forthcoming functionality.
- Fix - when a user accesses a previously unaccessed
screen, the access record is cleared (was getting some ghost data from a
previous record in the access file). Similarly with the namecodes file.
- Template change - when using the IPDriver, force the
SecFilePos to the 'Data Directory' (only valid position).
- Template change - new EmailAddress (for support)
defaults to the GPFReporter setting.
- Template fix - Where a counter restriction only
pertains to certain levels, don't check the counter for levels outside that
range.
- Template fix - use the correct template message
prompt in the correct place (was using ExpiredActivation message in place of
Failure message).
- Template change - if a valid expired licence code is
issued, then don't display 'licence successful' message. Display Expired
LIcence message.
Version 4.27 (26 October 2007)
- Fix for upgrading Operator's table - was deleting the
file after upgrading in some unusual circumstances. This fixes where folks
cannot login after upgrading. Internal - call ConvertSecwinTables direct for
no file error.
- Fix (regression in 4.23) - for generating licence
activation codes. Internal method change caused invalid codes to be issued.
Version 4.26 (24 October 2007)
- Fix for AutoLogin in a Multi-EXE setup (when using
the new AccessControl windows in your application - was not permitting
AutoLogin from another application, when activated). Template fix, and
GetCurrentUser function added internally in the DLL.
Version 4.25 (23 October 2007)
- Fix user upgrade for Secwin3 file. Secwin 3 allowed a blank user in the
file - whereas Secwin4 does not allow blank Logins. A blank login will
simply be omitted from the upgrade of the user file.
- Fix for Licence concurrent checking file. Was coming up with an Error 47.
- Fix for Counters - was not always loading all the counters into the
internal CounterQ.
- Fix for Counters - was not always returning the Counter value correctly
from ds_CheckCounter
Version 4.24 (18 October 2007)
- ds_UseLicenceEx - fix concurrent copy checking.
- Template change - new embed point before ds_UseLicence call.
- Template change - organise Secwin embeds into a single Secwin Tree
(rather than each individual item in the embed tree)
Version 4.23 (17 October 2007)
- ds_CheckCounter function included in the map file - enabling the new
Counter features to be used.
- New function - ds_CheckHashCode - and EnterHashCode (for allowing
controlled repairing of corrupted SecurityFiles) - this feature is not
available yet, but coming soon.
- ds_CheckCounter function parameters corrected, and checks the required
counter correctly (saving a decremented counter where required)
- ds_DecrementCounterEx calls ds_CheckCounter correctly.
Version 4.22 (12 October 2007)
- ds_GetUsers function optimized (was taking a long time to load the
operators due to a sub-optimal VIEW).
- Call_ChangePassword code template requires Secwin Global Extension
template, and detects the status of the 'Allow Case-Insensitive password'
set in the User Login Here template.
Version 4.21 (9 October 2007)
- Secwin ODBC now supports PostgreSQL.
- DLL fix - supervisor "switched" to user after editing that user's
details.
- Internal DLL Change - Operators file, Access file and NameCodes file
primary key changed to the GUID key - will only affect new databases.
- Internal DLL Change - External names of Operator file's LoginKey and
Key; Namecodes file's Key changed - allows Secwin3 tables and Secwin4 tables
to co-exist in the same database (where databases require database wide
unique key names) - in order to allow upgrading from Secwin 3 to Secwin 4.
- Internal DLL Change - Access table GUID key and the Counters table
LicenceGUIDKey made case-sensitive (Conversion routine created to handle
existing Secwin 4 tables).
- Internal DLL Change - CreateSecwinTables procedure to create tables via
SQL script for those not being created by the create() command.
Version 4.20 (1 October 2007)
- Include map to ds_SetSkipCRCCheck so that Security files CRC check
can be skipped if required.
- Include ip_s4tps6.dll (was not being included in the install).
Version 4.19 (21 September 2007)
- Corrupt Security file work around (allows Security file checking to be
bypassed - only recommended where access control is not used).
Version 4.18 (20 September 2007)
Note: Although support for the IPDriver is
fixed, upgrading from the Secwin 3 tables is still not possible yet.
- CLIPSTRING = FALSE driver string added to the SQL driver strings. This
is to ensure that the CRC is stamped correctly - in correlation to the CRC
returned from the database on a read.
- Regression fix - if CRC test fails, then recheck CRC (removing spaces
from the string) - if correct, then redo CRC in database. Caters for strings
being sent differently to what was returned in SQL (because clipstring was
true by default).
- Regression fix (introduced in 4.17) - if no Secwin 3 tables to upgrade,
the ds_cresec was not creating the names table.
Version 4.17 (18 September 2007)
Note: Although support for the IPDriver is
fixed, upgrading from the Secwin 3 tables is still not possible yet.
- Internal Change - createnames table superannuated (create attribute
added to the names table).
- IPDriver - owner set correctly in IPDriver tables.
- IP Driver DLL name changed to IP_S4tps6.dll - this means that the Secwin
3 DLL can co-exist on the same server as the Secwin 4 DLL (if required).
- DLL Fix - when a user is deleted, delete the association with any
usergroups that the user group is associated.
- Template Fix - If Secwin is disabled from the application, then the
secequ15.clw file is still included (for variable equates and types).
Version 4.16 (14 September 2007)
Note: If you are not using SOS to issue
registration codes (you are using the register application) - then you will need
to recompile your application from the example shipped with Secwin. If you do
not do this, then your registration codes will fail if you are not currently
including the Dealer string in your registration codes.
- IPServer DLL compiled - note, the IPDriver files are not yet upgraded
from the S3 structure to the S4 structure, so only use the IPDriver for new
applications (not existing applications upgraded from Secwin3).
- Optimize callback - use arrays to contain size variables, rather than a queue.
- Uses thread locking in the FileCallback while priming CRC values.
- Implement CRC check in the FileCallBack for all tables (check for
corruptions/unauthorized alterations in all tables).
- Template Change - Dealer in XML file - an option to detect the existence
of the Dealer in the XML - so Dealer inclusion is dictated by the
registration server - rather than this setting being required to match at
the child and server.
- Template fix - clears the licence details from the licence group, before
loading from XML (incase fields are omitted in the XML file).
Version 4.15 (29 August 2007)
- Control template for the SetAccess windows. Handles toggling and setting
access rights for users.
- Legacy Access Control windows - Correctly named windows and built
missing windows (Login, FirstUser, ChangePassword, ChangeLogin, and
SetAccess) - uses SecwinAL.clw
- Default ABC SetAccess window uses the control template.
- Template fix - when checking parameters required for a procedure- don't
infinite loop if no parameters exist for the procedure.
- Template change - get procedure parameter names (rather than using
hardcoded ones).
- TXAs use short filenames (8.3) - very occasionally Clarion has compile
issues with modules using longfilenames.
Version 4.14 (23 August 2007)
- DLL Fix - Changed ds_LoginUser type if not required to return the user
number (User number handle is optional).
Version 4.13 (16 August 2007)
- Fix - ds_ChangeUserPassword
parameters changed (in the include file, not the DLL) to include user's site
(for replicate compatibility). May be omitted for non-replicate sites.
- Fix - ds_ChangeUserEmailAddress
had incorrect parameters (in the include file) - also changed the site
parameter to optional (for non-Replicate sites).
- Fix - SQL was not importing user's usergroups when converting tables
from Secwin 3 to Secwin 4 format.
Version 4.12 (10 August 2007)
- Fix - Export/Import of tables (was not using a large enough buffer to
export the necessary data that Secwin4 uses). Also exports and imports all
data used in the tables (invalid file message if attempted to import a
previous S4 exported file).
- Fix in deprecated ds_LoginText function - Created user's email address
was not being encoded correctly.
- Optimize BrowseUser screen (actually anything that used the
ds_GetProperty function) - was repeatedly reloading the user from disk -
especially slow in SQL.
- Renamed the AccessControlWindows template utilities.
Version 4.11 (8 August 2007)
Note: If you have an existing Login Window,
then you will need to change it (documented in the
Creating Your Own Login Window
section)
- Fix - Imported windows use 8.3 names (very occasionally Clarion gets
confused using longfilenames).
- Feature - changes GUID generation mechanism, to use printable characters
(so that char can be used for GUID field).
- Template - force generation of AccessPoints file from SecwinSetAllAccess
control template (prevents a compile error when SecwinSetAllAccess window is
added for the first time).
- Template - add Accesspoints include file to the list when
SecwinSetAllAccess window is added.
- Template assert - force set of backend used (if not set).
- Fix - prevent GPF in old ds_GetActivationCode (set level and copies to 1
if non-existant - prevents divide by 0 from occuring).
Version 4.10 ( July 2007)
- Feature - new
AutoPopulateUserScreenSecurity template.
- Fix -Table Limits (now supported in C55 and legacy). Note: C55 requires
a unthreaded class for the filecallback method. C6 uses a threaded or
unthreaded, depending on whether the table is loaded as threaded or
unthreaded.
- Deprecated the ds_SetMaxTableRecords function.
- Fix - Counter is not case dependant.
- Allows a translatable table limit warning message.
- Fix - when table limit is reached (warning is displayed).
- Fix (for legacy) - was not detecting the %ProcedureCategory (must use %ProcedureTemplate)
for display table limit warning template option.
- Fix - added req attribute to Secwin extension templates (so that only if
the global extension is added, the local extensions will be able to be added).
- Fix - RegisterProduct Control template, was not loading counters
correctly (if MaxLevel was set to None in the template)
- Fix - legacy support for the SecwinRegisterProduct template utility.
- Fix - warning: duplicate name variable - in the AccessControlWindows
imported by the template utility.
Version 4.09 (26 July 2007)
- Fix - When using Table limits, was not saving the limit record
(internally) correctly (GUID was not being populated).
Version 4.08 (26 July 2007)
- New Secwin datatype: ds_UserLoginOptions group (used for passing
parameters to the ds_LoginUser function and the
Login window (when using your own windows for access control)).
- ds_LoginUser function's parameters changed.
- ds_UpdateUser changed - allows the last supervisor's details (except
level) to be changed.
- Allows case in-sensitive login (and password where specified).
- ds_LoginText Returns 0 when user not found (instead of the incorrect
ds_InvalidUser).
- Template - don't clear procs when de-selecting use own windows for login.
- Secwin_LoginControls template - changed to show (translatable) invalid
login message - where user is invalid.
- SecwinAccessControlWindows changed (recommended re-import).
Version 4.07 (25 July 2007)
Note: If you are using your own windows (for AccessControl) -
then you need to re-import the windows using the template utility (because the
OwnLogin method has changed).
- Fix - user login error (AddUserToMemory function fixed).
- Change - ds_GetLicenceLevelText (replaces ds_GetLevelText) and
ds_GetAccessLevelText - 2 functions for translation purposes (to translate
the level text used throughout Secwin).
- Change - ds_GetUsers replaces ds_UsersEx with a comprehensive set of
user details.
- ds_LoginUser returns 0 when not successful and the appnumber when login
is successful (in keeping with ds_LoginText)
- Internal - OpeRecordToGroup decrypts the user info needing decrypting
(instead of returning encrypted).
- Improved AccessControl windows - SecwinSplashLogin, SecwinChangePassword,
SecwinBrowseOperators, SecwinOperatorForm.
- Template - Activate Licencing support only set on the Global Extension
template (setting superannuated in the UserLoginHere template)
- Template - Default Licence issued is set correctly.
- New control Template - Secwin_LoginControls (required when using your
own login screen).
- Template - when using the GlobalSetAllAccess window, if the checkbox is
checked on the global extension template, then force the access points file
into the list on the GlobalSetAllAccess window.
- Template generated compile error - when a file is attempted to be
included (for access points) that is non-existant, then display a comment to
show where to delete the obsolete access points include file.
Version 4.06 (23 July 2007)
Note: Because of a required file structure change to the
Licence security file, your licences issued after the release of Secwin 4 will
not work, your customers will need to re-activate their licences.
- Fix - security leak allowed licence tampering without detecting. The
upgraded licence file requires abandonment (to a new structure).
- Fix - Licence table was not being created in SQL due to duplicate
primary key.
- Change - new ds_LoginUser function changed to exclude a window (which
allows better integration for using your own login window).
- Change - equates returned from ds_LoginUser changed to negative when
error occurs.
- GUID generation changed - use printable chars only in the GUID.
- OperatorForm - only show the UserGroups list if the user is an operator.
- Fix - if Licence name mismatched, then was failing to add licence
(generating correctly), but generating a Success message.
- Fix - registry stamp (was not stamping registry on a StoreLicence, so
new licences could be corrupted).
Version 4.05 (19 July 2007)
- Fix for SQL (was not setting the owner string correctly)
- Fix - could not delete usergroups in the SecwinDLL windows.
Version 4.04 (18 July 2007)
- Examples in C55.
- Connects to SQL (MSSQL and MySQL tested) database and creates tables
correctly.
- Upgrades SQL tables correctly.
- Removed Makeover from Secwin - Secwin 4 now supports improved
AccessControl windows.
Version 4.03 (17 July 2007)
- Change functions - ds_GetProperty, ds_ChangeUserEmailAddress,
ds_UserAllowed, ds_UsersUserGroups (and other internal functions) - now
includes site field to correctly identify the user where associated with a
replicate site.
- Fix - SetAccessWindow now sets the access correctly.
- Fix - UserGroups can be deleted - was warning on last supervisor before
loading the record.
- Fix - version number from Lib file removed.
- Template fix - size of template prompt for control field (Control
Restrictions).
- New SetAccessWindow - new import of AccessControlWindows required
- Secwin GroupType change - ds_UsersUserGroupsQType and ds_UserDetailsType
includes the site field.
- New function -
ds_UpdateUsersUserGroups
- Fix - ability to change user details correctly.
- Fix - in UsersUserGroups, ability to assign and read a user that has
been added at a site, into a usergroup from a different site.
Version 4.02 (16 July 2007)
- Fix - template calls ds_SetPin function correctly.
- Include CreateSecurityTables example.
- Fix - warn on no Default Password and Login (if own login window is
used). Will resolve this in a later build to not force this.
- TXAs - include Access Control for windows in your application.
- Include CreateSecurityTables example (and application in bin directory).
- Included Outlookbar support.
Version 4.01 (12 July 2007)
- Fix - When Converting tables check for existing UserGroup (if a user was
previously assigned to a UserGroup) - before assigning the user group.
- Fix - in ds_UsersEx, was not populating the queue correctly (after
finding a usergroup).
Version 4.00 (12 July 2007)
- Show stopper (introduced in 3.99) - conversion was not setting the
LicenceType correctly (to permanent by default). If you upgraded from
Secwin3 during the alpha phase, you need to
delete your upgraded dssw4.tps file, to enforce a re-upgrade of the Secwin tables.
- Support for Secwin Online Server (for online registrations - the Secwin 4 way).
Version 3.99e (10 July 2007)
- Expanded ds_SaveLicenceToXML and ds_LoadLicenceFromXML to load from and
save to an XML string.
- Auto-register XML details when XML file dropped (template option).
Version 3.99e (10 July 2007)
- Expanded ds_SaveLicenceToXML and ds_LoadLicenceFromXML to load from and
save to a XML string.
- Auto-register XML details when XML file dropped (template option).
Version 3.99d (6 July 2007)
- Compiled in versions c6.2 9049 to c6.3 9056.
- xFiles included in the DLL (rather than the application) - this means
that xml comes standard and no additional products are required. TXA
including xFiles support, now becomes deprecated.
- Template fix for including database support.
- Re-labelled additional licence fields (to AdditionalString1,
AdditionalString2, AdditionalString3, AdditionalLong1, AdditionalLong2).
Version 3.99c (3 July 2007)
- Implemented other database support (untested as yet).
- Removed requirement for NetTalk when importing the RegisterProduct window.
- 2 RegisterProduct txas - one for xFiles, and one without.
- Rehashed product registration window - for better future compatibility.
- included CRCandLen function for RegisterProduct window (for determining
length and CRC of user-enterable fields - particularly helpful for non-XML
registration applications).
- Included drag-and-drop support for XML RegisterProduct window.
- Allow command-line security file creation (for install script running).
- Dealer string allows a licence to be tied to a particular dealer.
Version 3.99b (29 June 2007)
- Removed stops :( from DLL
- Included RegisterABC.app with the correct dct structures required for
XML export.
Version 3.99a (28 June 2007)
- New Dealer field in the Licence file - will cause:
You need to delete your dssw4.tps file , and let Secwin re-upgrade your
Secwin3 file (for upgrading Secwin users).
- Limit Queues include the Relative switch (relative is not supported at
this stage, but will be supported later).
- Included XML file support for registration (requires xFiles version 1.23
or later).
Version 3.99 (26 June 2007)
New Features:
Fixes:
- Fix - CopyAccess was not operating correctly.
- Fix - When deleting a user, their access was not deleted.
- Fix - Users not limited to < 32000 (who's going to have more than 32000
users anyway?).
Version 3.47 (19 June 2007)
- Fix - different products using the same dssw2.tps file (and different
OS's accessing the same dssw2.tps file) - allows valid checking of the
Security file with the registry.
- Include latest Makeover in Secwin.
Version 3.46 (6 June 2007)
- Ability to disable Makeover in Secwin.
Version 3.45 (11 May 2007)
* Include latest Makeover classes into Secwin.
Version 3.44 (18 April 2007)
* Include latest Makeover classes into Secwin.
Version 3.43 (14 March 2006)
* Include latest Makeover classes into Secwin.
Version 3.42 (13 December 2006)
- New function - ds_ModifyAccess - allows modification of access rights
(without having to pass all the existing rights to the function)
Version 3.41 (29 August 2006)
- Message indicates when import is complete.
Version 3.40 (27 July 2006)
- Fix - Exports and imports all tables (was not importing the names table -
so no access rights were being carried over).
Version 3.39 (29 June 2006)
- Fix - for Firebird database support (regression when Ingress support was
implemented). If using Ingress, then you must set the Database Type to
Ingress (Secwin Global Extension template setting).
Version 3.38 (15 June 2006)
- Supports alternative data subdirectory for the security files for the
IPDriver (for more infor see the IPDriver Compatibility
section of this document).
Version 3.37 (10 May 2006)
- Fix - exports the ds_ImportTables and ds_ExportTables functions. These now
take a parameter as to whether you want to select a path to export to/import
from or (by default) export to the current directory without popping open a
select file dialog.
- Template change - tweaks to support SecwinOnlineServer generated code (now
100% control template generated code):
Calls the NetSimpleProcess, iunique changed to a string, implemented Serial
Number send and receive.
- Fix for MySQL operators create in C55 and c5 (regression in 3.36)
Version 3.36 (27 April 2006)
- Fix - workaround for MySQL5 support. MySQL 5 does not allow 0 DATEs (NULLs
are cool - but not zeros). When initializing the LastPasswordChangeDate
(LONG) - it's set to 0, which MySQL 5 was complaining about.
LastPasswordChangeDate is now created as an integer rather than a DATE on
the MySQL backend. In previous versions of MySQL this will also be created
as an integer, but existing DATE types (in previous versions of MySQL) will
still work.
Version 3.35 (27 April 2006)
- Template change - Updated Secwin Online Server control template to support using the HTTP protocol.
- Fix - created a secequ60.clw file which is only included for Clarion6.1
users and earlier (users on Clarion 6.2 9046 will need to check the manual
include checkbox on the global extension template as the requirement for
this include cannot be detected automatically between in 9046)
Version 3.34 (21 April 2006)
- Change to Login window - buttons made transparent, which means that
manifest files will be applied to the login window.
Version 3.33 (21 April 2006)
- Fix - IPDriver - was not detecting the status of the enable checkbox on
the IPDriver client template.
Version 3.32 (18 April 2006)
- Fix - MySQL driver was not creating the licence table correctly.
Version 3.31 (24 Feb 2006)
- Added ds_CloseFiles() function for when a program exits. This was
affecting the IPDriver build of Secwin, because not all the files were being
closed (by the IPDriver DLL) on program exit
Version 3.30 (1June 2005)
- Added ds_ExportTables and
ds_ImportTables functions.
- Added support for Clarion 6.2
- Added support for Ingress, using the ODBC driver
- Added "Secwin : After Login" embed point
- Cosmetic : Small tweak to AllOver utility template
- Fix : Clarion chain template code if no users exist
- Fix : Secwin items are not generated into Multi-Proj projects if Secwin is
disabled.
- Fix : Code added to GrantAccess routine to activate controls if Modules exist.
Version 3.28 (22 December 2004)
- Added support for new
IP Driver
from SoftVelocity. (Clarion 6.1
only)
- Minor fix to LoginText function
- Updated About screen
- Added new Control Template (GetWebActivation) for use with
Secwin-Online-Server
Version 3.27 (26 October 2004)
- Updated template to new CapeSoft look
- minor fixes for 5.5H, 6.1 support and so on.
Version 3.26 (22 January 2004)
- Fixed Sync bug in ds_CurrentLogin in C6
Version 3.25 (12 January 2004)
- Some changes for Clarion 6 compatibility
- Added support for Postgress in the ODBC version
- Added "Allover" template utility for generating all SetAccess names
Version 3.22 (14 July 2003)
- Added ds_DecrementCounterEx function.
- Documentation improved.
Version 3.21
- Changed all examples to compile in 32 bit
- Added ability to change date picture used on "Messages".
- Fixed problem on Operator Form when "Level" was translated.
Version 3.20
- Added support for Makeover 2.5. If you are using Makeover version 2.5 (or
later) then you MUST use Secwin version 3.2 (or later). You can download
the latest Makeover from
here.
- Dropped support for 16 bit. (If this is a problem for you let me know, but
as far as I know no-one is actually using 16 bit, so it bloats the install
for no good reason.)
- Clarion 4 Support Dropped : This version makes use of Clarion 5 language
features. With the imminent release of Clarion 6, support of Clarion 4 is
being phased out.
Version 3.19
- Added ds_GetWorkGroupEx function. (returns
a long, not a short)
- Added ds_CurrentWorkGroupEx function.
(returns a long, not a short)
- Corrected docs - 30 controls allowed, not 31
- Set MySQL to create UpperCase table names
Version 3.16d beta 6
- Added ds_CurrentlyLoggedInEx function
- Fixed message where too many users logged in - now correctly displays names
of people already logged in.
Version 3.16c beta 5
- fixed problem with translations on the SetAccess window
- fixed problem with messages being suppressed immediately after registering
- lengthened column headers from 9 to 20 characters
Version 3.16 beta 4
- Fixed problem with InterBase support
- Added support for Pervasive.SQL driver
- Added ds_CurrentLastPasswordChange
function
- Fixed problem with generating Login Screens to display after the Frame
Version 3.15 beta 3
- Extended number of optional modules supported from 15 to 30.
- Support for MsSql, Oracle and ODBC (MySql / Interbase) drivers completed.
Examples included. See Security-File Driver
Version 3.1 beta 1
Version 3.11 beta 2
- Fixed some bugs in Splash, and SplashABC examples. Specifically a missing
"do LoadQueue" from myBrowseOperators in SplashABC, and some code
to both myBrowseOperators and mySetAcess to limit access to these screens
to supervisors. Also ticked on the Password attribute for all password fields.
- Extended the Change Login Code template
quite a bit. The menu item should now use this template, and not call ChangeLogin
directly. Even if you are calling your own Change Login, you should still
use this template from the menu.
- Changed the Login template (internally)
to support "only 3 tries" even if a myLogin screen is used.
- Changed the Login template (internally)
so that if a myLogin window is used, then it allows repeat attempts. This
makes it consistent with the built-in Secwin login screen.
- Changed the Login template (internally)
to support Automatic Logins from other EXE's, even if a myLogin window is used.
- Added a new option to the Login template
to allow you to specify the name of your MyFirstUser procedure.
- ds_CountUsers function added.
ds_InsertFirstUser function added. These are both necessary to take care
of the case where no users exist in the system.
- Fixed bug in ds_InsertUserEx function.
- Added myFirstUser procedure to Splash and SplashABC examples.
Version 3.0 Beta 5 :
SPECIAL NOTE : If you used Beta 3, or Beta 4, with any of the SQL driver
packs (MsSql, SQLAnywhere, Oracle, ODBC etc) then you will most likely need to
Drop all the DSSW
n Tables and let Secwin re-create them. This is due to
some changes which were required by SQL in order for Secwin to work properly.
- New : Automatic Impending Expiry Date warning. See UserScreenSecurity
extension.
- New : Restrict Controls based on License Level. See UserScreenSecurity
extension.
- New : Restrict Controls based on Optional Modules in License. See UserScreenSecurity
extension.
- New : Stores MDI Logo thread number in MdiLogoThread# in case you want
to send it an event from the Frame.
- New : ds_SecwinMessage function.
- New : The License file is now encrypted using triple DES. This prevents
the license being changed by data file browsers.
- Changed : AccessRestricted message moved from Template to DLL (to allow
translating) by using ds_SecwinMessage.
- Improved : translation support, especially on SetAccess screen.
- Fixed : SQL support - now appears to be all working except for Concurrent
copies checking
- Fixed : Disable Secwin now disables all CODE templates as required
- Fixed : User Group Form 'wot got broke in beta 4 like'.
- Fixed : Bug in Registration procedure which caused non-displayed optional
modules to be set ON. When generating codes, non-visible optional modules
are assumed to be OFF.
Version 3.0 Beta 4 :
- Fixed bug in registration Code activations
- Fixed SQL support. Tested with MsSql - other tests hopefully coming soon
- Fixed bug in Btrieve, not allowing any operators.
- Fixed bug in Login window after frame opens.
- Fixed bug in Translate feature on Set Access screen.
- Fixed problem where the Change and Delete buttons are not properly disabled
in ABC.
- New : Multi-Set example - Demonstates Secwin in a Multi-Dataset application.
- New : Supports Template Driver setting of <nothing>
- New : Added option to set the Level of the Demo License. See Login
Extension, Licensing Tab.
- New : MsSQL example included in the MsSQL driver pack.