********************************************* Release Information ********************************************* Release Version: SimpleSync 4.8 Release Date: 8/31/2007 Summary for First time SimpleSync users: New users may download and install SimpleSync for a free evaluation. When you download the software, you will receive a temporary license key. You may use the temp license to test the software in your environment. When you purchase, you will receive a permanent license key. Summary for SimpleSync upgrades: SimpleSync 4.8 is a full release, superseding all previous releases. For clients running a previous version of SimpleSync, please follow all instructions for upgrading your software. The default install option is to install to a new directory. Installing to a new directory is REQUIRED if upgrading from v3.x. When upgrading from v3.x there are a set of instructions outling how to convert your existing connections to the new v4 format. If upgrading from any previous v4.x version, you have the option to do an in place upgrade, installing v4.8 to the existing v4 directory, Or you may install to a new directory name. Detailed upgrade instuctions are provided in this Release Note. Follow the appropriate path to upgrade from your current version of SimpleSync. ** A current maintence contract is required in order to be eligable to run the latest version of SimpleSync. See Licensing Considerations for more information. ** ********************************************* Contents: ********************************************* Software and Connectivity Requirements Licensing Considerations Windows Installation Instructions Upgrading from v3.x Upgrading from v4.x Upgrading From 4.7.x, 4.6.x or v4.5.x Upgrading From 4.0.x or v4.1.x Linux Installation Instructions Special Note about Upgrading an Existing v3 Connection That Outputs to CSV SimpleSync v4.8 Enhancements, Modifications and Fixes 4.8 SimpleSync v4.7 Enhancements, Modifications and Fixes 4.7 SimpleSync v4.6 Enhancements, Modifications and Fixes 4.6 SimpleSync v4.5 Enhancements, Modifications and Fixes 4.5 SimpleSync v4.1.1 Enhancements, Modifications and Fixes 4.0 - 4.1.1 ********************************************* Software and Connectivity Requirements ********************************************* - SimpleSync will run on a Windows NT/2000/2003 server or workstation - SimpleSync does not need to be loaded onto your ldap directory server (but it may be). - The SimpleSync software must be able to connect to the directory servers over the LDAP ports specified in each connection's configuration setup (i.e. default ldap is port 389). - Refer to SimpleSync Help topic "Configuring Directory Servers" for directory specific information and configuration tips. ********************************************* Licensing Considerations ********************************************* Considerations when upgrading from any previous version of SimpleSync: - If you are currently running a pre 3.4 version of SimpleSync: You WILL need a new license key. Contact keys@cps-systems.com to request a new license key. - If you are currently running SimpleSync version 3.4 or later: You MAY need a new license key. Copy your existing key to the new install directory as instructed in the upgrade instructions. This existing key may work for your currently licensed LDAP and ODBC directories. Run Discovery on one of your connections. If you receive a license key error, forward a copy of the Discovery log to keys@cps-systems.com and request a new key. You WILL need a new license key to use the latest version with all other directory types (LDIF, GWAPI, CSV). Contact keys@cps-systems.com to request a new license key. Licensing Requirements: For clients running previous versions of SimpleSync, to be eligible to upgrade to the latest version, you must have a current maintenance contract for your SimpleSync software. If you have a current maintenance contract, but did not receive a new license key when you renewed your yearly maintenance, you may need to obtain a new key. Contact keys@cps-systems.com for a replacement key. - If you have let your maintenance contract lapse, you can renew your contract and bring it up to date. You must contact keys@cps-systems.com to request reinstatement of your maintenance contract before you can upgrade to the new version. - New users may download and install SimpleSync for a free evaluation. When you download the software, you will receive a temporary license key. You may use the temp license to test the software in your environment. When you purchase, you will receive a permanent license key. ****************************************************************** First Time Installations of SimpleSync for Windows ****************************************************************** 1. Download the latest version from http://www.cps-systems.com/downloads - You will be sent an email containing download instructions. (If you are a new user, you will receive a temp key along with the download instructions.) 2. Execute the install program and follow prompts for installation. The default installation directory is C:\SimpleSync-v# (where # is the current version number). 3. Following the installation, the Help file will be opened automatically. Review the 'Installation' and 'Configuring Directory Servers' topics. 4. Also in the help file, the topic 'Admin Tool Overview' will walk you through how to set up connections to run your first syncs. 5. You should have recieved a temp key in order to evaluate SimpleSync. Copy this key to \SimpleSync-v#\global\key.dat. After purchasing, you will need to request a permanent license key. Contact keys@cps-systems.com to request your permanent key. Contact Support@cps-systems.com for technical assistance. Contact Sales@cps-systems.com with any pricing questions. ****************************************************************** Upgrading From Previous Versions 4.7.x, 4.6.x or 4.5.x of SimpleSync for Windows ****************************************************************** NOTE: These instructions pertain to upgrades from v4.7.x, v4.6.x or v4.5.x. If you are upgrading from v4.0.x or v4.1.x please skip to the appropriate upgrade path in the next section. The default installation option will install to a NEW directory including the full version number (i.e. c:\SimpleSyn4.7-v#). When installing from a previous v4 version, you have the option to change the install path to overwrite your existing v4 installation. 1. Back up your current installation by zipping the entire install directory (i.e c:\SimpleSync-v4). 2. Download the latest version from http://www.cps-systems.com/downloads 3. Execute the install program and follow prompts for installation. The default installation directory will include the version number (i.e. C:\SimpleSync-v#). To install over your existing installation, change the install path accordingly. 4. If you opted to install over your current version, skip to step 7. If you opted to install to a new directory, you need to copy over some files from the previously installed version as outlined in the next two steps: 5. Copy your license key from your old install directory to the new one (i.e. c:\simplesync-v#\global). 6. Copy your existing connections and custom map files from your old installation directory to the new one: Copy the \connections directory from your prior installation into the new one i.e. c:\simplesync-v#\connections Copy all custom files from your prior installation directory into the new one i.e c:\simplesync-v#\global\map\custom i.e. c:\simplesync-v#\global\sourcedef\custom 7) You may now resume normal syncing of your connections. ****************************************************************** Upgrading From any previous v4.0.x or v4.1.x version of SimpleSync for Windows ****************************************************************** The default installation option will install to a NEW directory including the full version number (i.e. c:\SimpleSync-v4.7). When installing from a previous v4 version, you have the option to change the install path to overwrite the existing v4 software. 1. Back up your current installation by zipping the entire install directory (i.e c:\SimpleSync-v4). 2. Download the latest version from http://www.cps-systems.com/downloads 3. Execute the install program and follow prompts for installation. The default installation directory will include the version number (i.e. C:\SimpleSync-v4.7). To install over your existing installation, change the install path accordingly. 4. If you opted to install over your current version, skip to step 7. If you opted to install to a new directory, you need to copy over some files from the previously installed version as outlined in the next two steps: 5. Copy your license key from your old install directory to the new one (i.e. c:\simplesync-v4\global). 6. Copy your existing connections and custom map files from your old installation directory to the new one: Copy the \connections directory from your prior installation into the new one i.e. c:\simplesync-v#\connections Copy all custom files from your prior installation directory into the new one i.e c:\simplesync-v#\global\map\custom i.e. c:\simplesync-v#\global\sourcedef\custom 7. If upgrading from v3.x or v4.0.x perform steps 8-9. Otherwise, skip to step 10. **** Review Custom Map files for required changes due to Literal Mapping changes 8. Previous versions of SimpleSync used special character sequences to map reserved characters i.e. ~ ( { [ etc If you are using custom mapping that utilizes these Literal Character Mappings (LCM), these mappings must be modified to use the New Literal Character Mapping style (NLCM) as shown below. The old style mapping of these literals looked like this: (LCM) (literal) &rb represents ] &lb represents [ &rs represents } &ls represents { &rp represents ) &lp represents ( &t represents ~ &h represents ^ &p represents # &c represents % As of v4, the mapping of these literals is done by escaping the desired characater with a preceding \ character (NLCM) (literal) \] represents ] \[ represents [ \} represents } \{ represents { \~ represents ~ \^ represents ^ \# represents # \% represents % For example, all instances of &rb must be changed to \]... all instances of &t must be changed to \~ etc. Note: Parens '(' and ')' are not reserved and therefor do not need to be escaped. Change any instance of &rp or &lp to the lone charactesr, ( and ). 9. Custom Map files using embedded perl scripts must escape the ? character in the scripting In any custom mapping perl scripting, escape the ? character with a \ i.e. \? **** Review each connection for required changes ldap query syntax changes 10a. The syntax for LDAP Attribute filters containing 'useraccountcontrol has changed. The correct syntax is now as follows: (useraccountcontrol:dn:1.2.840.113556.1.4.803:=2) Check the Source tab of your connections and verify if you are using an ATTRIBUTE FILTER for useraccountcontrol. If you are, change it to the above syntax. 10b. Previous versions of SimpleSync automatically filtered out, and did not sync, source objects that were missing a primary email address. That default has changed. SimpleSync will now filter out any objects missing "required attributes". Required attributes are those that are used in the mapping of DN in your map file. If the mail attribute is not part of your dn, and you still want to filter out source objects that are missing a primary email address, you should add the following filter to the appropriate parameters in the Attribute Filters tab: (mail=*) 11. Important: Run the Recovery Procedure for ALL existing connections. This is required due to changes in the SimpleSync hash database. The Recovery Procedure rebuilds the database from scratch. The Recovery Procedure links up to existing destination objects. This is not an UnSync, nor are any previously synced objects deleted by this procedure. To run Recovery, repeat the following steps for ALL existing connections. a) In File Explorer, delete the \data directory of the connection. b) In the GUI Select the connection. c) Run Discovery & Sync. d) If desired, temporarily disable Discovery, then run the Sync again. e) If disabled, re-enable Discovery. f) You may now resume normal syncing with this connection. ****************************************************************** Upgrading From any v3.x Version of SimpleSync ****************************************************************** ********************************************************************** ** Do NOT install v4.7 directly over any 3.x version of SimpleSync. ** ********************************************************************** **** Obtain a new license key if necessary. 1. Click Help About in your exiting version of SimpleSync to determine the SimpleSync version you are currently running. See Licensing Considerations above to determine if you need a new license key. **** Clear %temp% on the SimpleSync server. 2. Click Start -> Run 3. In the Run window, enter: %temp% and click OK. 4. In the TEMP directory, select all files and Delete them. 5. Reboot **** Download and Install 6. Download the latest version of SimpleSync from http://www.cps-systems.com/downloads 7. RENAME your current \Simplesync-v3 directory. (This is to ensure you do not inadvertanly allow your existing batch scripts to execute this now obsolete version of SimpleSync. When you have completed this Upgrade process, you can zip and archive the old SimpleSync directory. 8. Execute the install program and follow prompts for installation. Do not change the install directory to overwrite your old v3 install. You must install to a new directory. The default installation directory is C:\SimpleSync-v#. **** Copy Connections, Custom Map Files, Custom Sourcedef files, and License Key. The new software is now installed. Connections, custom files and your license key must now be copied from the previous version's installation directory. 9. Copy your license key to the installation's Global directory (i.e. c:\simplesync-v4.7\global). If you are upgrading from a previous version and your key is valid in the new release (Per Licensing Considerations above) then you can copy the key from your old installation (i.e. c:\SimpleSync-v3\Global). Otherwise, contact keys@cps-systems.com for a replacement key. 10. Copy your existing connections and custom map files from your old installation directory to the new one: Copy the \connections directory from your prior installation into the new one i.e. c:\simplesync-v#\connections Copy all custom files from your prior installation directory into the new one i.e c:\simplesync-v#\global\map\custom i.e. c:\simplesync-v#\global\sourcedef\custom 11. If upgrading from v3.x: Custom Sourcedef files are supported in this latest version. If you have made changes to your *default* Source Definition files (in \Global\Sourcedef) at any time under the previous version, you must use the Custom Mapping option to create a custom Sourcedef for all affected connections. For example, if you changed ActiveDir.txt, then affected connections will be all those that use an ActiveDirectory (including Ex2000) directory type as the Source. If appropriate, you may create a single custom ActiveDir sourcedef and use it for all connections using an ActiveDir/Ex2000 source directory type. Each connection with an ActiveDir source must be configured to point to this custom ActiveDir sourcedef file. **** Upgrade your existing connections The following steps 12-17 are required in order to upgrade each individual connection configuration to a v4 format: 12. Run the SimpleSync 4.7 Admin tool 13. Select a connection 14. You will be prompted to verify the Map Template and Sync Engine for the Source and Destination directories. The default choice is usually the correct one. If for some reason, your connection can not be converted, a popup message will indicate this. Then, you will be prompted to enter the correct Map Template and Sync Engine for this connection. *IMPORTANT: See note below regarding connections that sync to a CSV destination. You must convert your CSV map files prior to running these connections under SimpleSync v4.7* 15. Repeat steps 13-14 for each connection. **** Review each connection for required changes ldap query syntax changes 16a. The syntax for LDAP Attribute filters containing 'useraccountcontrol has changed. The correct syntax is as follows: (useraccountcontrol:dn:1.2.840.113556.1.4.803:=2) Any connection using an Attribute Filter on useraccountcontrol must be updated to show the new syntax. 16b. Previous versions of SimpleSync automatically filtered out, and did not sync, source objects that were missing a primary email address. That default has changed. SimpleSync will now filter out any objects missing "required attributes". Required attributes are those that are used in the mapping of DN in your map file. If the mail attribute is not part of your dn, and you still want to filter out source objects that are missing a primary email address, you should add the following filter to the appropriate parameters in the Attribute Filters tab: (mail=*) 17. This step only applies when upgrading from 3.4.3 or 3.4.3 SP1. (If you are upgrading from a pre-3.4.3 version or 3.4.3 SP2, you can skip this step.) There is a Special Consideration for connections with an Ex2000 destination, that is utilizing *default mapping*. The following two mappings have been removed from default mapping in this release. These mappings were found to be problematic in most cases, so they have been removed from the default map files. If you have previously implemented connections to an Ex2000 destination and are successfully utilizing these via default mapping, you will need to reapply these mappings through the use of a Custom Map file. If you have questions regarding this default mapping change, contact Support for more information. legacyexchangedn=~x500~ proxyaddresses=X500:~x500~ **** Review Custom Map files for required changes due to Literal Mapping changes In the next two steps, review all Custom Map Files to confirm if modifications are needed. In EVERY connection, go to the Custom Map tab. If an Object Map file exists, click EDIT to view it. Then perform steps 18 and 19 to confirm if any changes are required 18. Previous versions of SimpleSync used special character sequences to map reserved characters i.e. ~ ( { [ etc If you are using custom mapping that utilizes these Literal Character Mappings (LCM), these mappings must be modified to use the New Literal Character Mapping style (NLCM) as shown below. The old style mapping of these literals looked like this: (LCM) (literal) &rb represents ] &lb represents [ &rs represents } &ls represents { &rp represents ) &lp represents ( &t represents ~ &h represents ^ &p represents # &c represents % As of v4, the mapping of these literals is done by escaping the desired characater with a preceding \ character (NLCM) (literal) \] represents ] \[ represents [ \} represents } \{ represents { \~ represents ~ \^ represents ^ \# represents # \% represents % For example, all istances of &rb must be changed to \]... all instances of &t must be changed to \~ etc. Note: Parens '(' and ')' are not reserved and therefor do not need to be escaped. Change any instance of &rp or &lp to the lone charactesr, ( and ). 19. Custom Map files using embedded perl scripts must escape the ? character in the scripting In any custom mapping perl scripting, escape the ? character with a \ i.e. \? **** Run your 4.7 syncs 20. Synchronize (run) each of your connections twice. This will rebuild the Simplesync data files and ensure your directory is being updated properly. NOTE: You must run your connections twice NOW, before making any changes to connection configuration under this upgraded installation. **** Update your automated batch scripts 21. The command lines to run your connections via a batch script have changed. Every connection is now run by execution of the same program, Shell.exe. i.e. Shell "Connection Name" You MUST update your batch scripts to call this new executable to kick off your SimpleSync connections. Refer to the Scheduling topic of the SimpleSync 4.7 Help file for more information. ****************************************************************** Installations of SimpleSync on Linux ****************************************************************** 1. If you have a previous intallation of SimpleSync for Linux, do not delete it yet, you will need to copy some files in order to maintain your existing SimpleSync configuration under the new version. If you wish to install to the same install directory name, rename the exiting installation directory. 2. Download the Linux version of SimpleSync to your Linux server. 3. You must first enable Execute permissions on the install file, SimpleSync-v#.run. Right click to view Properties. Click the Permissions tab, and enable Execute permissions for Owner. Click Close. 3. Execute SimpleSync-v#.run. Follow the prompts for the installation. 4. Copy key.dat to the /global directory, i.e. /SimpleSync-v#/global 5. If you have a previous installation of SimpleSync for Linux, copy the following from your old, renamed directory: /connections /global/map/custom /global/sourcedef/custom /global/key.dat 6. SimpleSync program Icon to launch the GUI should be on the desktop. *********************************************************************** *** Special Note: Upgrading an Existing v3.4.x Windows SimpleSync Connection That Outputs to CSV *********************************************************************** All connections with a CSV output file as a destination will require additional configuration before they can be run under v4.7 Select the connection to convert. When prompted, select CSV as the destination Sync Engine. Select a destination Map Template on which to base your mapping. (This is just a base, customizations will be required.) When you click OK, you will receive a message indicating CSV processing has changed. Below are the instructions on how to generate a new custom mapping file for your connection. Previous versions of SimpleSync used two files to define the CSV output structure. A -header.txt was used to define the header line of your csv file. A -person.txt was used to define the data lines of your csv file. As of version 4.x, a single -person.txt map file is used with your CSV output connection. The process to convert your -person.txt file to the new csv mapping format is outlined below. 1) On the Destination tab of your connection, fill in the parameters as instructed in the Text Output topic of the SimpleSync 4.7 help file (click Help on the destination tab). 2) Your custom map files should have been copied over during the upgrade process. From File Explorer, open the -header.txt file from the old connection (for reference only, this file is now obsolete). 3) On the Custom Map tab, click Edit Object Map to open the original -person.txt file. Using the old -header.txt as a reference, modify the -person.txt file to use the new mapping format. (If you are familiar with standard ldap-ldap mapping syntax, you will notice, this format is now identical to the standard ldap-ldap map file format.) The format of the new -person.txt file is: Column Header=^Source Attribute^ Example of old style -header.txt for CSV connection EmployeeID, First Name, Last Name, Mail, Street, City, State, Zip, Phone Example of old style -person.txt for CSV connection ^EmployeeID^,^givenname^,^sn^,^mail^,^postaladdress^,^l^,^st^,^postalcode^,^tele phonenumber^ Example fo new style -person.txt for your CSV connection: EmployeeID=^EmployeeID^ First Name=^givenname^ Last Name=^sn^ Mail=^mail^ street=^postaladdress^ city=^l^ state=^st^ zip=^postalcode^ phone=^telephonenumber^ 4) The -header.txt file is no longer needed once your -person.txt file has been configured with the new format. 5) Run a test sync. You will generate the Export.txt as usual. There is a tab in the GUI in which you can view the Export.txt. The columns and data will appear in the Export.txt in the same order as entered in the map file. Example Export.txt for above mappings: EmployeeID, First Name, Last Name, Mail, Street, City, State, Zip, Phone ID1001,John,Smith,JohnSmith@domain.com,10 New Street,Beverly Hills,CA, 90210,555-555-1212 ******************************************************** Fixes, Modifications & Enhancements ******************************************************** ******************************************************** SimpleSync 4.8 ******************************************************** GUI Enhancement/Fixes: -Fixed bug where you can overwrite an existing connection (in a folder) with a new connection (#2880) New Functionality: -GOOGLE Support: Added support to read Google Apps User Accounts (Premire or Education Edition) and create contacts in an Ex200x GAL. -Postini Support: Added support to sync from AD or Notes to a Postini Destination, creating Postini User accounts. Enhancements: -Modified Mail Nickname in all map files (because Exchange 2007 does not allow @ in mailnickname: mailnickname#64=~smtpname~.~smtphost~ (#2835) -Error checking now done on individual DN reads in a paged search. If an individual DN can't be read the program halts. This avoids unwanted deletes due to source ldap returning truncated source data. -Software now halts on source struct search referral errors (10), thus avoiding potential truncated ldap discovery results. -Added sourcetimeout for source LDAP connections. Default is 120 seconds. (Adjust timeout by adding config entry. i.e Sourcetimeout=240) -Custom Mapping now recognizes ^dn^ to obtain exact source DN value. Added config parameter excludeonsync yes/no - default yes. No disables excludes on sync phase -Added method to exclude null value (The '=null' is required value of this exclude.) i.e. sn=null (#2206) -Added priority options to email Notifications. -Connection name is now an internal variable ~connectionname~ Fixes: -Fixed bug where Advanced Join and Delete Not Found crash sync (#2688) -Custom mapping using perl script now works (broken only in v4.7.x pre-release). ? signs no longer need to be escaped (#2831) -Fixed problem with default naming context and failure on referral errors. Active Dir context now handles gc's differently from dc's, thus avoiding potential truncated ldap discovery results. -Fixed problem where email notification was not sent after Discovery failed due to source ldap connection errors. (#2534)Fixed problem where international characters did not work in display name label -Fixed problem where gui had trouble when installed in a directory with spaces -Fixed foreign character display in excludes -Fixed problem where CSV-LDAP connection was not creating Groups when configured to do so. ******************************************************** SimpleSync 4.7 ******************************************************** Enhancements/Fixes - Added Displayname parse options, Global and Custom. Global is pre-configured to the DoD standard, but may be modified by changing \global\displayname.txt. Custom is free form, may be set to any desired format. - Fix-case can now be used with or without display name parsing. - Changed AD X400 template discovery (~x400~) to be more generic in it's search, fixing v4.6.1 issue where some syncs were unable to locate/identity the destination template. Added code to handle 0 count when looking for X400 proxy information on AD(EX2kx). - ldif-text mapping can now include a single multivalue attribute - ldif-ldap now uses Selection DN at Sync time. - Fixed SSL issue with pulling from large directories. - Fixed SSL issue with pulling from ADAM directories. - Fixed discovery of source DNs (containers/users) include foreign characters. - Fixed discovery of source DNs (containers/orgs) that include commas. - Fixed dnhashgen export of commas in source structure. - activedir.txt sourcedef modified to NEVER pull Computers when pulling Users. - Fixed ldap-ldif discovery generation of Allmail when reading source ADAM server. - Removed 'distinguishedname' attribute from Verify query in gui. (Not required, interferred with Verify of Sun LDAP source.) - Added speed increases for mapping and cached DN verify lookups. Improves sync run time by a little bit. - When syncing to Notes, @ signs in DN are dropped. (allows ~mail~ to be used in DN mapping) - When syncing to Notes, multiple spaces in DN are converted to single. (Fixes problem where DNs that result in Notes end up different than the DN registered in the Connection's database.) - Added option (Destination tab) to disable Creation of Alias when syncing to GWAPI. ******************************************************** SimpleSync 4.6 ******************************************************** GUI Enhancement/Fixes - GUI Fixed bug where connections within a folder were not being copied correctly. - GUI Added reformat display name option for DISA standard (Last, First, MI GQ, Personal Title, Other) - GUI Added key display to help/about in gui - GUI Added Description field to General tab - GUI Reversed order of Copy & Cut menu - GUI Added DisplayName parsing Adaptive option - GUI csv source now defaults to % for multi-valued separator in new connection. New Functionality: - Added ability to check expiring SSL keys. - Added ability to verify CA Certificates in SSL connections. - Added support for paging on ldap-ldif Struct Searches (Allows successful query of large containers, i.e cn=Microsoft Exchange System Objects). - Added ldif-ldap re-connect to ldap after error 81 - Added support for international characters in dn [#1672] - Added dnhashgen dest engine type. - Added 'Adaptive' display name parsing feature which will use the individual name fields to parse out the major name components before trying to handle other displayname parts. - Added Connection > Advanced > Force Mods (Forces next sync to perform ALL Mods, as well as Adds/Deletes) - Added checks so discovery will fail if no disk space. Also optimized the LDIF writer module.. Enhancements: - Globalized sourcedef loading. Log now reflects actions taken with sourcedef (Custom, loaded etc) - Forced exclusion editing to only 1000 lines. Anything greater results in a dialog recomending an external editor. - csv-ldif and fixed-ldif can now read accented characters[#1862] - Passwords are now hidden in the log of a Resource Forest configuration. Default Sourcedef/Map file changes (and related enhancements): - Added Sunone->AD User maps - Added ADAM-ADAM struct map file. - Updated ActiveDir-Exchange 5.5-list map file to include smtp & x400 address. - Updated ADAM mapfiles for more attribute support with AD & Exchange 5.5 - Updated all *-SunOne mappings to include missing prefix for objectclass= - Added extenstionattribute1-15 to ADAM sourcedef - Fixed certificate mapping in ActiveDir-exchange 5.5 (custom recipient) [#1826] - Added sourcedef option sourceretry=80 to allow retry of query on certain errors (here, on 80) This will ignore a comma delimited list of LDAP errors on search and retry the query after 15 seconds. Added to resolve issues on imail openldap. - Added sourcedef option sourceignore=80 to allow designation of certain errors (here, on 80) to be considered as a simple status (Soft) error rather than a hard error which would fail the discovery. Added to resolve issues on imail openldap. - ldif-ldap now auto-detects the x400 template for Active Dir destination. All related map files have been updated to use ~x400~ Bug Fixes: - Fixed bug where connection parameter data was being swapped between connections. [#1918] - Fixed groups-as-groups Sync - Fixed csv-ldif module so pipe "|" separators now work correctly. - Fixed bug where the dest object was deleted if there were dupes to the source.. - Fixed bug with <'s in the ldif file which caused the Sync to stop processing at that record [#1875] - Fixed issue with handling iMail source duplicate source index. - Fixed bug in saving lookup.txt. - Fixed bug where if src index was changed on source csv all the records were deleted. Now they are linked. [#1889] ******************************************************** SimpleSync 4.5 ******************************************************** New/Modified/Enhanced Features: - Added Oracle support (licenses off of source IP address of Oracle server) - Added ADAM support - Added Advanced Join function - Added Group 'discovery' functionality for Fixed, CSV, ODBC & Oracle sources - Added Folders in GUI - Allows for grouping of connections in GUI. - Added support for multi-field email address in CSV source (Ex55 export CSV solution) csv-multi-separator=% - Identifies multivalue separator csv-proxyaddresses=e-mail_addresses - Identifies multi-valued email column - Added field-delimiter option for CSV source - Added Support for OpenMail - Enhanced support for OpenLDAP: Added uidnumber & uidnumber-base for openldap provisioning (posixuser objectclass) - uid-number is a starting point number. On Adds: The destination is searched (base=uidnumber-base) for the next available number. Record is added and uidnumber in the config is updated. - display-parse-fixcase option added. Defaults to yes for backward compatibility. - Added dropproxy function - Added progress bar to log loading - Added maps for universal distribution lists. (grouptype 8) - DisplayName: Custom.txt now works and the code should run faster. If multiple titles,gqs,initials and customs are found they are lumped into their respective internal variables. - DisplayName: Name case fixed for names with first letter appostrophie (i.e. D'Ambrosia) - DisplayName:Removed default of 'Blank' for missing last name and/or display name. - DisplayName:~cn~ will default to component0 of the dn if ~cn~ is blank. - Added global/display-eval.pl This code will run on the displayname before displayname processing is executed... - Added global/eval.pl This code is run before any eval statements are used. - Added simplesync-dbg (debug version) to windows releases - Updated Email Notification message text (Companyname and sync phase identified in Subject) - Leading/trailing spaces removed from data on: csv-ldif, odbc-ldif, fixed-ldif, oracle-ldif now have all - Enhanced Clean Logs: Shell --cleanlogs "connection" to clean logs of only one connection - Swapproxy will now use the source primary address (if it's a match) - SwapProxy option: added swapproxy-noorder=yes. If set the swap proxy will attempt to match the primary smtp address to all swap proxy rules before processing the attributes in othermailbox - Added multiple value character option for source odbc & oracle. - Added ignore-dupe-destdn=yes config item to ignore any duplicate dest dn's. - Debugging information added for ORACLE_HOME and LD_LIBRARY_PATH. - Added ignore delete option for odbc & oracle destinations. - Changed all group map files for dest notes. MailAddress & MailSystem maps are not necessary. - Added mail=~mail~ mapping to all dest notes person map files. - Field names can now have spaces when syncing into ODBC - Changed the order of person-search and list-search of sourcedef/notes.txt so required attributes (Wild cards) come last - Searches for group membership are no longer escaped - Escaped DN is disabled for Exchange 5.5 - Updated all *-Exchange 5.5-LIST.txt map file and removed mappings for mail and textencodedoraddress - allmail now follows the swap proxy, drop proxy subsmtp domain rules. - Added new debug entry Post-Processing Entry. This is the "processed" source (swapproxy etc). - Full import.txt path is shown in gui - Removed allmail from csv,oracle,fixed & odbc source in gui. Use SMTP Address instead - ~mail~ gets first [allmail] if it can not find a primary smtp address - ldif-ldap now removes leading/trailing spaces from structname. - Dest odbc now uses sql-init to initialize session. - batch.exe now shows errorlevel exit and description of process (discovery, sync, sim etc) - ldif-oracle now can sync international characters. - All ~component~ variables are now un-escaped. - Added uid=~uniqueid~ to all *-notes-person.txt map files - Adds no longer occur if muliple maches are found in join mode (with create). - Source DN is now logged in the case of a multiple match in join - Advanced join can now use internal variables ~sn~ etc. - Find option in the gui will now 'select' all the text in the field rather than inserting a cursor. - Upgraded software versions: perl 5.8.6 perl2exe 8.6.0 perl-ldap v 0.3202 - The useraccountcontrol query has a new format (useraccountcontrol:dn:1.2.840.113556.1.4.803:=2) - Pull down menus no longer look disabled on new connection. - Notes escapedn now supports the & character - Updated all 55 & AD -> AD list maps to use displayname=~cn~ - Updated all 55 & AD -> 55 list maps to use cn=~cn~ - Added legacyexchangedn to activedir sourcedef - Added no ldap paging to notes sourcedef - Renamed all map files with Oracle to OID (Oracle Internet Directory) Fixes: - Fixed bug where source SMTP was not copied to destination smtp when SwapProxy is applied - exchange 5.5-Exchange 5.5-list.txt removed dupe 'info' assignment. - SimpleSync now auto-escapes DN's. No more Invalid Characters. - Fixed problem occuring when multivalue tokens were in map data. - Fixed bug where sourcecontext with ( ) was being ignored in sync/sim mode. - Groupwise sourcedef is now just (sn=*) for person search. - Primary SMTP & x400 proxyaddress are removed when writing to Exchange 5.5. (This is disabled if syncing using x400address=yes) - ldif-ldif: Source Exchange 5.5 was excluding all based on trust level (Bug) - Fixed bug in allmail. Primary SMTP address was appearing twice. Name Case issue. - Fixed a bug in odbc-ldif where sourcelogon and sourcepw were not being used. - Reqattribs now correctly parses the dn line if the attribute ends in a number i.e. dn=cn=~mail~,ou=^extenstionAttribute1^,~struct~ - Fixed bug occuring when ~mail~ contains <> characters - Fixed bug where it was using a custom list map even though groups as email addresses was selected. - Resolved translated DNs now use the found object's dn rather than the hash. - Fixed bug in group membership resolution, added logging. - Changed group object class from members to 'member' for source ODBC,ORACLE,CSV & Fixed - SimpleSync can now properly handle object with a single objectclass value. - Fixed bug where a mod would be attempted on failed join objects. - Using hex escape codes does not work with Notes. Had to revert back to \, rather than \2c - Fields with spaces can be used on dest oracle. - Fixed a bug where gwapi parser did not have a file pointer set properly. - Fixed Double pasting problem occuring when using the mouse menu paste in gui. - Fixed bug where right click on discovery/sync window causes error - Fixed bug where Displayname - same as source was not working for CSV,ODBC etc - Fixed bug where Sync would not run when raw config screen was up. - Fixed bug when proxyaddresses are populated with allmail if proxyaddresses was empty. Now the first allmail gets a capitol SMTP and all the rest get lower... - Fixed problem with loading dnhashes from other connections - The translated dnhash.txt is logged if debug logging is turned on. - Code better handles a multiple match on joins. - Multiple match summary has been move to where the error occurs in the log. - Added modifyproxy=no config item. In the event of a proxymanipulation this will setup the necessary internal variables but will not modify othermailbox. Good for setting reply to address of contacts. - When adding a new proxy address(es) (via custom mapping) the LAST entry gets primary priority (SMTP: vs smtp:) GUI Changes: - GUI Fixed bugs related to Apply button - GUI Removed LDAP v2/v3 options from GUI (v3 default) - GUI Improved GUI handling of SMTP interface timeouts & Errors. Specifically emailing license keys... - GUI Fixed ButUP error in GUI - Change object from browsentry to option menu for dest ldap -list processing and odbc source -DSN selection. - GUI Cleaned up csv source screen in gui. added option for multi valued separator. - GUI Cleaned up field definitions for CSV, ODBC, fixed & Oracle. - GUI Advanced sample data preview available for Fixed,CSV,ODBC & Oracle sources... - GUI Fixed Raw Config Apply problem that was overwriting wrong connection config - GUI Added mouse wheel support for tree view and text views. - GUI Proxy options appear in order they will be processed: 1.Drop Proxy 2.Substitue Domain 3.Swapproxy - GUI Verify button now does edit checks to reformat the DN to the correct syntax (avoiding errors due to spaces or semicolons) - GUI Added Folders - GUI Added test button for dest oracle - GUI Only one instance of SS GUI can now run at a time - GUI Help File reformatted ******************************************************** SimpleSync 4.0 - v4.1.1 ******************************************************** ********************* SimpleSync 4.1.1 Fix ********************* Fixed v4.1 logging bug that logged a DB ERROR on all Adds. (Actual Add function was unaffected by this logging problem.) **************************** SimpleSync 4.1 Enhancements, Modifications and Fixes *************************** - ldif-ldap module enhanced for faster performance. All relevant hashes are now loaded to memory. - Improved performance of connections syncing Groups as groups. - Added ability to import/export fixed length text. - Literal Mapping has changed: Escaped map characters now follow the format of \[ \] \{ \} \( \) \& \^ \~ \# \% - On Discovery (ldap-ldif), LDAP referral errors will now show up as a "soft" error. - New Raw Config parameter (modrdn=yes) allows search or join mode to make an RDN change. - Added paging-support=no to sourcedefs that mis-report paging support (openldap & communigatepro). This disables paging support for this type source. (Fixes problem where Discovery finds no objects) - Added new ODBC/CSV map files. - ldif-ODBC now uses DBD::ODBC rather than WIN32::ODBC drivers. This adds flexability to the product. - ODBC Destination tab has been simplified. Removed SQL field & file delimeters. - SyncTime-field will now be set when disabling records with 'Delete Processing=Disable' feature. - Linux version of ODBC uses the unixodbc (www.unixodbc.org) data manager. - Fixed bug which caused custom mapped text to be converted to lowercase. - SimpleSync GUI now fits on an 800x600 screen - ldif-gwapi can now sync international characters correctly. - objectclass change on modify only happens in sync mode (not join or search mode). - Fixed Selection DN bug when Selection DN was 'ou=dsha' and dn was 'cn=jon doe,ou=dsha,ou=dsha,dc=domain,dc=com', the record incorrectly being ignored. - Fixed bug in map {pop} function where it was poping the attribute but also blanking the other values (i.e othermailbox) - Fixed bug where If a multivalue is mapped [] and the value is empty the whole string will be blanked. (Avoids empty'SMTP:' proxyaddress) - Fixed swapproxy problem when syncing to Exchange 5.5 - Overwrite of othermailbox no longer produces "already exists" error. - ODBC-LDIF and CSV-LDIF now convert field names with spaces to underscores. - Fixed bug where Field Definition's name parts were not being saved on 'Apply - Fixed custom mapping string truncation. Truncation works on both sides of mapping expressionon - Cleaned up DN line in iMail-ActiveDir Contact (Mail Enable) and fixed imail Sourcedef. - Fixed Display name bug in GUI. Last option should be - Last Sync, sim & discovery times now appear correct under general tab. - Fixed bug where Nameparts was being set incorrectly (causing blank destination sn, givenname) - Added Sourcedef parameter: field-proxy. Define which source attribute contains Proxyaddresses. - Fixed person-search parameter of sourcedef/groupwise.txt - Sync phase properly identifies Source DN when a Duplicate Source Index error occurs. - Fixed bug in new mapping code where [] & %% were mis-interpreted. (Resulted in: Invalid syntax error) - Fixed bug in resource forest code. Detected pre-windows 2000 domain name was not being passed to the assoc script. - Re-Added assoc.wsf which was missing from v4.0.x - Fixed a problem with ldap-ldif where it was not running correctly in a bat file on Window 2003 servers - Fixed problem with software crashing when determining Netscape Server version and Time. - SimpleSync will now reorder allmail based on swapproxy settings. (Used for mapping OpenLDAP proxyaddresses.) - Fixed bug in ldif-ldap where a crash occured on a disabled account in simulation mode. - Fixed bug where database was being updated in simulation mode when processing deletes. - Fixed problem where struct name was not being deleted on unsyncs. - Relabeled title field (in GUI) to 'Personal Title' for name parts forms. - Fixed bug where display name Field Definition wasn't being used in ODBC & CSV sources. - Fixed font problem in SS GUI on Linux *************************** SimpleSync 4.0.3 Enhancements, Modifications and Fixes ************************** - Fixed problem where Deletes were occuring in Join Mode. - ldif-csv has been modify to treat # as ^ if External DN hash is not found. - Fixed problem with Dynamic Excludes Sync phase (ldif-text) - Added parameter: attrib-del - If set to yes (or undefined) it will pass a blank attribute. If set to no, no action will be taken on the destination attribute if the source attribute is blank. - Sync phase (ldif-ldap) can now detect changes in object class and perform deletes and adds on the object when in create or search mode. Designed to allow changing of the Group Processing option on the fly. - Optimized ldif-ldap module (improves runtime performance). - Apply button fixed. - ldif-ldap no longer Links to joined users on first sync - Search mode will no longer delete an old joined if the destination index data has changed. - shell-gui will now limit the displayed information to 300 lines (improves runtime performance) - shell-gui removed wordwrap and used a scrollbar on the bottom. - Modified source tab for ldif source to include Selection DN (sourcecontext) parameter. - Database now indexed on srcdn,dstdn,srcindex & srcindexdata - Cacheing has been added for structure queries (improves runtime performance) - SimpleSync will pause until the entire exclude.txt & export.txt is loaded. - Updated upgrade.txt to cover upgrades of dynamic exclusion connections. - Added popup menu over connection name to delete all logs for that connection. - summary report is generated for duplicates in search mode. - Added to non-matches to stat summary. - Compressed LDAP configuration items to 2 lines and fixed tab order. - Removed log file word wrap at 79 characters (To facilitate easier log parsing) - config.txt is logged in config.txt format. (Easier to cut and paste) - Periods and colons are now allowed in connection names - Custom map editor has been overhauled. New text window opens to edit map files. - Right Click Text editing popup menus have been fixed. - Increased the speed of exclusion processing. - Log reflects size (in lines) of configuration files - Log view in GUI now automatically displays the bottom first. - Upgraded to sqlite v.31 - Map file, raw config & Exclude editor no longer leave extra CR's at the end of the file. - Exclude tab now prompts for confirmation before saving a large Exclude file. - Added parameter to ldap-ldif discovery phase, exclude-filter=attrib1,attib2... - Performs exclusions based on a comma delimited list. Designed for use with connections utilizing large Dynamic Exclude files. - Fixed ldif-gwapi code. now works with new db routines. ************************** SimpleSync 4.0.2 Enhancements, Modifications and Fixes ************************** - Fixed Save Changes problem where Apply button was not saving parameter changes successfully. - Join functionality was incorrectly ADDing users. - Join functionality was not updating the database, causing Mods to occur on every sync. - Import from CSV: Spaces in header names caused problems. All spaces in the header fields will now be converted to an underscore - Mappings with many '-' characters where not interpreted correctly. - Removed struct-search from sourcedef/notes.txt to be more compatible with - directory assistance. - Export tab was not refreshing correctly - Added trimdn option (on Destination tab) which allows you to modify what structure is recreated on the destination when levels > 0. - Fixed Required list attribs when syncing Groups as Email Addresses. **************************** SimpleSync 4.0.1 Enhancements, Modifications and Fixes **************************** - Quick and easy upgrade from all previous versions of SimpleSync. - SimpleSync now available on Linux IA32 platforms. - Staged processing (Discovery / Sync) allows for greater flexibility in configuration, preprocessing analysis of Discovery results, and decreased processing time in environments that sync One to Many. - Enhanced Simulation feature may be implemented to perform preprocessing analysis of Adds, Deletes and Modifies prior to executing the Sync phase. - Synchronization to destination database (via ODBC drivers) now supported. - Streamline License Key Request function accessible from the SimpleSync Admin tool (Global Menu) - Enhanced GUI is user friendly with unique Source and Destination tabs for all directory types. - Simplified batch scripting. All SimpleSync connections are kicked off using the same program (i.e. shell "Connection Name") - Custom Sourcedef files are now supported - Added Copy Connection function - Added Rename Connection function - Enhanced flexibility of Sync Functions (change between Create, Join, Create/Join combo on the fly) - New Advanced feature to Sync Groups and Group Membership (*when members are also synced*) - Ability to dynamically include support for new directory types as necessary - Map Templates allow for easy selection of appropriate Source and Destination directory types, as well as the desired object type to be created by the Sync. - Amount of synced objects is now only limited by disk storage space rather than RAM. - Combined Create/Join function now uses escaped hexidecimal notation for the ldap query (binary query support). Which means binary data may be used as source/dest index (usercertificate, SID, etc). - Simplified configuration and mapping for CSV output connections. - Ability to provision Exchange 2000/2003 "mail enabled" User Accounts. - Support for syncing internaltional (UTF8) characters from an ODBC source when using an ODBC driver that also supports these characters. - Quick Verify functions allow you to test many connectivity and configuration parameters before sync execution- - All configuration passwords are now encrypted immediately when Apply button is clicked. - Added Modules: LDIF-CSV, odbc-ldif, ldif-gwapi, ldif-ldap-update, - ldif-text, csv-ldif - "Special Exclusions" are now handled. If an exlude is prefixed with an '!' and the exclude is used it will show up in the error summary: ex: !mail:dupe.com - Added mapping for creating AD User (Mail Enabled) - All data is now stored in an SQLite db per connection. - Enhanced structure caching in SimpleSync db. - Functionality added to email log and key request files. - Removed dump-hash utility. SimpleSync hash data is accessible through SQL commands. - Enhanced logging so System warnings with problems in library calls are also redirected to logs. - Resolved log file cleanup issue. Shell includes --cleanlogs parameter to automate log file cleanup. - All text going out to GWAPI (ldif-gwapi) is now encoded using latin1. - Fixed bug where Levels=all would not work when using multiple source contexts (Selections) - Fixed bug where smtp_notify was not initializing data correctly and would read the buffer from import.txt as valid recipients - Fixed bug where odbc source password was not being decrypted properly - Fixed bug where escaped/non-escaped issue in Join. Exchange will search with hex if the destindex ends in ;binary. The ;binary part will be stripped off on search. For all other dest ldap servers the Join will run using escaped hex. - Fixed bug where (!(userAccountControl:1.2.840.113556.1.4.803:=2)) filter was not returning any objects (BackRev'ed NET::LDAP library to .251) - When assigning to a destination binary attribute (usercertificate;binary), string trimming commands are ignored. - All modules can now use an encrypted password for encrypting/decrypting ldif files. - Removed Full Sync Warning from first time syncs - Removed obsolete function DLBackup & DLRestore (Used with Ex 5.5 Destination). Combined Create/Join functionality supports syncing to existing objects so existing Exchange 5.5 Lists are not affected. - Removed modules and executables that are now obsolete with new two phase process: all non ldif-ldap modules (ldap-ldap, gwapi-ldap etc), nt-ldap, *-update, test-ldap, imail-ldap, ismtp-ldap, ldap-text, Unsync-*, imail-text.pl, keyreq.pl, cleanlogs.exe - All *-ldif modules write to ldif.txt rather than export.txt - All ldif-modules read from ldif.txt rather than import.txt - All *-ldif will output unmapped LDIF files - rawoutput option has been removed. ldif-ldif will process with map files - Added ldif-ldif. Reads ldif.txt (or crypt.txt) Creates export.txt - Removed objectsid from sourcedef/creator-activedir.txt. objectsid;binary is preferred - Mapping Logic now uses a more generic matching scheme that will allow any character (Within reason) as a variable name. - allmail is now case in-senstive - ldif-? can now read ldif.txt files with no records. (Will effectively perform an UNSync) - All programs that use log_errors now exit with errorlevel=1 if there are errors (Otherwise 0) - Admin Tool now fits on an 800x600 screen (barely) make sure auto-hide is turned on for taskbar. - SMTP notifications now show the module name and version that was run. - New Map file name format: ActiveDir-ActiveDir-Contact (Mail Enabled)-person.txt - Trawling config items have been removed from the sourcedefs (obsolete) - SimpleSync now defaults to look for 3 different map files: Custom first, Long Type name & short type name. - ldap-ldif now records the LDAP Server's sourcecontext as sourcecontext-detected in the config file. Will be used unless overridden by Destination/Selection parameter (sourcecontext). - Removed mail=from sourcedef searches. (IMPORTANT FOR UPGRADES, See upgrade instructions) - ~reqattribs~ has been added to each sourcedef file. DN mapping (default or custom) defines required source attributes. - Join functionality in ldif-ldap, a record will be ignored if the sourceindex is blank. An Error will be logged. - Updated list of characters to be stripped from generated DNs: % ~ / # + - When upgrading connections structname is removed if mode=update - ldif-csv now outputs columns in order as they appear in custom map file. - removed e2k-info.exe (available via Connection>Advanced Admin Tool menu) - ldif-ldap will not run unless Create and/or Join parameters are configured ('Nothing To Do' error will display') - Added LDIF file selector to select alternate LDIF file to READ - Unsync now uses global\unsync.txt to unsync connections. The original LDIF.txt is left alone. - ldif-odbc SQL errors are logged in the error summary - Added map-literal config.txt param. If it is set to 'no' the literal replacements in mapping (&rb,&lb, etc.) will not be translated. - For all destination ActiveDir map files set: mailnickname#64=.... samaccountname#20=.... dn=cn~mail#64... - If Export.txt exists it will displayed as a tab to be viewed. - LDAP ports default to 389. Checking the SSL checkbox will force it to 389 or 636. - A Balloon now appears over the LDAP port field with a list of default ports. - Right click on a log file allows for individual deletes. - Added Right click menu (cut copy paste etc) to all text entry fields. - NET::LDAP Version is now logged for ldif-ldap & ldap-ldif - Changed all references (map files, sourcedef & code) from Exchange to "Exchange 5.5" - Added allmail parameter to odbc source. (to contain all smtp addresses from source object) [allmail] will be populated with a comma delimited list of fields - ldif-? All syncs using an LDIF as source will only create [allmail] if it dosen't already exist in the source. - mod-attribs now overrides custom no-mod-attribs - Required attributes are overridden with sourceindex. - Levels=0 will be set if destsubtree & structname are blank (assumes Join which requires 0 levels) - Core programs cannot be run directly. The user MUST use the shell program. - Added balloon for common LDAP logon formats (Source & Dest). - SimpleSync Serial number now shows up under the help/about pulldown. - Shell will now only read the end of a directory for a connection name.. ie. shell "d:\ppp\temp\test1" is equal to shell "test1"