|
|
|
InterSystems Documentation
|
|
Caché and Ensemble Maintenance
Kit Release Notes Archive
|
Welcome and thank you for using InterSystems
products.
The current maintenance kits are Caché and Ensemble 2010.1.6.
This document is only part of the available maintenance kit
documentation.
The full set of documents is available in the
docs subdirectory
of the product installation
directory. Release notes and related material are available as follows:
-
Late-breaking information about the release: <install-dir>\docs\cache\en-us\relnotes\cache\readme.1st
or <install-dir>\docs\cache\en-us\relnotes\ensemble\readme.1st
-
Release notes for 2010.1.6: <install-dir>\docs\cache\en-us\relnotes\cache\relnotes.htm
or <install-dir>\docs\cache\en-us\relnotes\ensemble\relnotes.htm
-
Release notes for the previous maintenance kits since 2010.1: <install-dir>\docs\cache\en-us\relnotes\cache\prenotes.htm
or <install-dir>\docs\cache\en-us\relnotes\ensemble\prenotes.htm
(this document)
This document is a historical archive of changes since the original
2010.1 release, but prior to the current maintenance kit.
Changes unique to the current maintenance kit are described in relnotes.htm.
This document includes the following sections:
InterSystems advises all users to recompile their application classes as
part
of the upgrade process so as to take advantage of all the performance
improvements as well as other changes that may affect them in this
release.
Anyone
upgrading from a Caché release at or before 5.0
will need a new license key.
InterSystems News, Alerts and
Advisories
From time to time, InterSystems publishes items of immediate
importance to
users of our software. These include
alerts, mission critical issues, important updates, fixes, and release
announcements.
The most current list can be obtained from the
InterSystems
Web site.
Users should check this list periodically to obtain the latest
information on
issues that may have an effect on the operation of their site.
The following are the previous maintenance releases of Caché 2010.1:
- CSP
- CSP.Gateway
- Ensemble
- Ensemble.Adapter
- Installation.Windows
- Networking.ECP
- Security
- SQL.Query Processing
- System
- System.Backup/Restore
- System.Licensing
- System.Trans. Proc.
- Utilities
- Utilities.Configuration
Category: CSP
Platforms: All
DevKey: MAK2814
Summary: Fixes to password change behavior in CSP
Description:
This corrects a situation where Caché would report an error
when changing the CSP password when there was none.
Also in the password change page, Caché will now display an
error message so if the user enters a password that is too short:
ERROR #845: Password does not match length or pattern requirements
Category: CSP
Platforms: All
DevKey: MAK2817
Summary: Handle normalization of the password change page in CSP the same as the login page
Description:
This change corrects a situation where changing the CSP password was
handled differently depending which CSP page was used to effect the
change. Pasword changes are now done the same way for all code paths.
Category: CSP.Gateway
Platforms: All
DevKey: CMT848
Summary: Ensure that the 'Event Log File' directive works as described in the documentation
Description:
This change now makes the
'Event Log File' directive works as
described in the documentation.
In previous Gateway builds, the original (default) log file name and
location would continue to be used
until the Gateway had fully
initialized itself.
Category: CSP.Gateway
Platforms: All
DevKey: CMT866
Summary: Resolve an access violation that can occur in state-aware mode if a queued thread is forcefully interrupted by the hosting web server
Description:
This correction resolves an access violation that
can occur in state-aware mode if a queued thread was forcefully
interrupted by the hosting web server. The CSP Gateway clean-up
functionality has been improved such that these error conditions will
be avoided in future.
Category: CSP.Gateway
Platforms: All
DevKey: CMT868
Summary: Fix a typo in the code responsible for identifying web files indicating a URL requesting Gateway Management forms
Description:
This correction fixes an error in the code
responsible for identifying web files indicating a URL requesting
Gateway Management forms.
Category: Ensemble
Platforms: All
DevKey: MC1087
Summary: Use transaction around copying data to $$$EnsSuspended
Description:
This change ensures that Ensemble will not be in a state where messages
are partially processed if a production is not shut down
properly.
Category: Ensemble.Adapter
Platforms: All
DevKey: HCR157
Summary: Close TCP socket device before [re]opening (Object Gateway)
Description:
This corrects a situtaion where an application was
experiencing disconnection errors in a production that uses the Java
Gateway. This change improves handling of the TCP device when
reconnecting.
Category: Installation.Windows
Platforms: All
DevKey: ALE1944
Summary: Display service credentials dialog when upgrading 2010.1 and 2010.1.1 builds
Description:
This change causes the Windows installation process
to display a service credentials dialog when upgrading 2010.1.0 and
2010.1.1 builds.
Category: Networking.ECP
Platforms: All
DevKey: GK863
Summary: Track ECP rollback journal position
Description:
This change modifies Caché to track the
journal position while a transaction is rolling back.
Prior to this change, if there was a write daemon pass and then a
system failure before an ECP transaction rollback was complete, there
was a small chance of losing that active open transaction; also if
journal-purge could not see the active transaction, the system might
delete the journal while it was being rolled back.
Category: Networking.ECP
Platforms: All
DevKey: GK870
Summary: Added a missing error frame pop in the ECP server
Description:
In very rare conditions, if ECP received a request
that named an invalid database (because, for example, it had been
dismounted), the request may leave an error frame un-popped. After
many of these frames the error frame may overflow with unpredictable
side effects.
This is now corrected.
Category: Security
Platforms: All
DevKey: STC1842
Summary: Fix security hole in $SYSTEM.Security.AddRoles with XECUTE code
Description:
This correction fixes a security hole in the
$SYSTEM.Security.AddRoles() method. Previously, a user could ZLOAD a
privileged routine, ZINSERT some XECUTE code into it, then execute the
ZINSERTed code which would leave the user with the %All role when
execution finishes.
Category: SQL.Query Processing
Platforms: All
DevKey: DPV3690
Summary: SQL: Correction for CAST(x AS NUMERIC(p,s))
Description:
This change corrects a problem where
CAST(value AS NUMERIC(5,2))
would return incorrect results in display mode when
using European-style "," as the numeric decimal separator.
Category: System
Platforms: All
DevKey: JO2339
Summary: Correct recovery of WIJ blocks
Description:
This change fixes a potential problem in cluster failover where:
- if the WIJ of a failed system had blocks to be recovered, and
- if there was only a single block for a given database, and
- that block was the last block listed in the WIJ,
then that block would not be recovered.
The possibility of this set of circumstances occurring is rare, but if
it does happen, database degradation could result.
Category: System.Backup/Restore
Platforms: All
DevKey: SAP1356
Summary: Limit backup map processing to actual maps in file
Description:
After truncation, the maximum number of maps may be
less than shown in the incremental bit maps. This change limits backup processing to
the actual number of maps present.
Category: System.Licensing
Platforms: All
DevKey: RJW1845
Summary: Fix WebLink license problem when ^%mgw1 is remapped
Description:
This changes corrects a problem obtaining a license
for a WebLink connection when the system WebLink routines are remapped
from CacheLib.
Category: System.Trans. Proc.
Platforms: All
DevKey: HYY1592
Summary: Correct ROLLFAIL behavior on ECP server
Description:
This change corrects an issue of "dangling
transaction" on ECP server. In this situation, the journal was
missing the TCOMMIT record for the transaction after the transaction
failed to roll back ("ROLLFAIL") and the system continued from that
point because it was NOT set to freeze on such errors.
Category: Utilities
Platforms: OpenVMS
DevKey: STC1847
Summary: Only keep one CACHE.CPF file on OpenVMS when edited
Description:
Prior to this change, when a CPF file was edited Caché
did not remove older versions of the file. With this correction,
only the most recent version of the file is present; older versions
are removed.
Category: Utilities.Configuration
Platforms: All
DevKey: SML1229
Summary: Fix namespace mapping when System DB location is changed
Description:
This change fixes two issues:
- If a user changed the location of system
databases (CACHE, CACHELIB, CACHEAUDIT or CACHETEMP) by editing the
CPF file or by using the Management Portal, the %SYS namespace mapping
would not get updated.
- If a user changed the location of a non-system
database
using the Management Portal, the namespace mapping associated with this
database would not get updated. (If the database location was changed by editing the CPF file, the mapping would be
updated.)
Category: Utilities.Configuration
Platforms: All
DevKey: SML1231
Summary: Fix routine mapping with non-ALL type got ignored
Description:
This corrects a situation where a routine mapping
with type other than ALL would be ignored.
- CSP
- CSP.Gateway
- Installation.Windows
- SQL.Query Processing
- System
- Utilities.Configuration
Category: CSP
Platforms: All
DevKey: MAK2814
Summary: Fixes to password change behavior in CSP
Description:
This corrects a situation where Caché would report an error
when changing the CSP password when there was none.
Also in the password change page, Caché will now display an
error message so if the user enters a password that is too short:
ERROR #845: Password does not match length or pattern requirements
Category: CSP
Platforms: All
DevKey: MAK2817
Summary: Handle normalization of the password change page in CSP the same as the login page
Description:
This change corrects a situation where changing the CSP password was
handled differently depending which CSP page was used to effect the
change. Pasword changes are now done the same way for allcode paths.
Category: CSP.Gateway
Platforms: All
DevKey: CMT848
Summary: Ensure that the 'Event Log File' directive works as described in the documentation
Description:
This change now makes the
'Event Log File' directive works as
described in the documentation.
In previous Gateway builds, the original (default) log file name and
location would continue to be used
until the Gateway had fully
initialized itself.
Category: CSP.Gateway
Platforms: All
DevKey: CMT866
Summary: Resolve an access violation that can occur in state-aware mode if a queued thread is forcefully interrupted by the hosting web server
Description:
This correction resolves an access violation that
can occur in state-aware mode if a queued thread was forcefully
interrupted by the hosting web server. The CSP Gateway clean-up
functionality has been improved such that these error conditions will
be avoided in future.
Category: CSP.Gateway
Platforms: All
DevKey: CMT868
Summary: Fix a typo in the code responsible for identifying web files indicating a URL requesting Gateway Management forms
Description:
This correction fixes an error in the code
responsible for identifying web files indicating a URL requesting
Gateway Management forms.
Category: Installation.Windows
Platforms: All
DevKey: ALE1944
Summary: Display service credentials dialog when upgrading 2010.1 and 2010.1.1 builds
Description:
This change causes the Windows installation process
to display a service credentials dialog when upgrading 2010.1.0 and
2010.1.1 builds.
Category: SQL.Query Processing
Platforms: All
DevKey: DPV3690
Summary: SQL: Correction for CAST(x AS NUMERIC(p,s)
Description:
This change corrects a problem where
CAST(value AS NUMERIC(5,2))
would return incorrect results in display mode when
using European-style "," as the numeric decimal separator.
Category: System
Platforms: All
DevKey: JO2339
Summary: Correct recovery of WIJ blocks
Description:
This change fixes a potential problem in cluster failover where:
- if the WIJ of a failed system had blocks to be recovered, and
- if there was only a single block for a given database, and
- that block was the last block listed in the WIJ,
then that block would not be recovered.
The possibility of this set of circumstances occurring is rare, but if
it does happen, database degradation could result.
Category: Utilities.Configuration
Platforms: All
DevKey: SML1229
Summary: Fix namespace mapping when System DB location is changed
Description:
This change fixes two issues:
- If a user changed the location of system databases (CACHE, CACHELIB, CACHEAUDIT or CACHETEMP) by
editing the CPF file or throughby using the Management Portal, the
%SYS namespace mapping would not get updated.
- If a user changed the location of a non-system
database
using the Management Portal, the namespace mapping associated with this
database would not get updated. (If the database location was changed by editing the CPF file, the mapping would be
updated.)
Category: Utilities.Configuration
Platforms: All
DevKey: SML1231
Summary: Fix routine mapping with non-ALL type got ignored
Description:
This corrects a situation where a routine mapping
with type other than ALL would be ignored.
- CSP.Gateway
- Ensemble
- Ensemble.Adapter
- Ensemble.HL7/EDI
- Ensemble.ManagementPortal
- Ensemble.RulesEngine
- Global Module
- Object.Class Compiler
- Object.DotNet
- Object.Library
- SQL
- Studio
- System
- System.Backup/Restore
- System.Journaling
- System.Licensing
- System.Monitoring
- System.Shadowing
- System.Shutdown
- Utilities
- Utilities.Globals
Category: CSP.Gateway
Platforms: All
DevKey: CMT804
Summary: Fix a problem that could lead to the Gateway Management form for Application Access not displaying properly
Description:
This change corrects a situation that could lead to
the Gateway Management form for Application Access not displaying
properly.
Category: CSP.Gateway
Platforms: All
DevKey: CMT845
Summary: Ensure that CSP pages cached in the Gateway can be served as the first page in an application
Description:
A change has been applied to correct a
situation that prevented a cached CSP page from being displayed as the
first page in an application.
Category: CSP.Gateway
Platforms: All
DevKey: CMT846
Summary: Improve the handlers for the 'client interrupt' event (only relevant to the IIS v7 Native Modules)
Description:
This change corrects a problem that prevented the gateway from
responding to interrupts in IIS version 7 native modules.
Category: Ensemble
Platforms: All
DevKey: HCR127
Summary: Allow compilation of Rules that reference uncompiled functions (fix in-place upgrade of Ensemble Rules)
Description:
The problem addressed by this change only affects
users who have user-defined functions in their Rules. In this case,
such Rules would not be properly recompiled during an in-place
upgrade; in an upgraded system, "Unknown Function" errors would be
seen in all Rules that made use of custom functions. This change
modifies the way that the functions are retrieved at compile time,
fixing this problem.
Category: Ensemble.Adapter
Platforms: All
DevKey: DDP088
Summary: Correct default parameter binding for ODBC drivers which don't implement SQLDescribeParam()
Description:
This change corrects a minor
regression introduced in a prior version.
The issue involves queries and
stored procedures with input parameters where the
Execute[Operation]ParmArray() methods are used to allow for detailed
specification of the expected input parameters, and either the
"SqlType" subscripts or both the "SqlType" and "CType" subscripts were
not being populated.
Category: Ensemble.Adapter
Platforms: All
DevKey: TAP975
Summary: Support SetAutoCommit(), Commit() and Rollback() in SQL Adapter JDBC mode
Description:
This change adds support to the SQL Adapters in JDBC
mode for the methods SetAutoCommit(), Commit() and Rollback().
Formerly these methods were not implemented for JDBC mode.
Category: Ensemble.HL7/EDI
Platforms: All
DevKey: TAP1002
Summary: Enable setting HL7 segments by path where path contains 'Any', 'Zxx' or 'Hxx'
Description:
This change allows setting a segment into an HL7
message by path where the path uses a wildcard. Formerly an error
would result because the name of the segment being set did not exactly
match the DocType name corresponding to the path- specified segment
position. It could not match because of the wildcard segment name.
Supported wildcard segment names are 'Any', 'Zxx' or 'Hxx'.
Category: Ensemble.ManagementPortal
Platforms: All
DevKey: DDP094
Summary: Handle stream data in Message Resend
Description:
This change resolves a bug in the Message Resend
which is triggered by a list of IDs to resend which exceeds
32K in lengthy. Arbitrarily long lists of IDs are now accepted.
Category: Ensemble.ManagementPortal
Platforms: All
DevKey: DDP095
Summary: Correctly pass query parameters to Message Resend page with Resend All
Description:
This change addresses a problem whereby some search
restrictions applied in the Message Search page would not be passed
through to the message resend page. The problem would only occur if
the search terms were added using the dynamic terms interface and
results not present on the page are selected for resend.
Category: Ensemble.ManagementPortal
Platforms: All
DevKey: TAP1016
Summary: Re-Fix HL7 Schema loader to both allow implicit base references and prevent base looping
Description:
This change allows elements in a custom HL7 schema
to be used without specifying explicitly that they refer to elements
from the declared base schema. If they are found in the custom schema
they will be automatically enriched to refer to it; if they are found
in the base schema they will be automatically enriched to refer to it.
If they are not found at all, that remains an error.
Category: Ensemble.RulesEngine
Platforms: All
DevKey: HCR138
Summary: Check for duplicate function names in Ensemble
Description:
Since Business Rules were introduced in Ensemble,
users were allowed to extend the built-in set of functions, creating
their own user-defined custom functions that can be used in Rules or
Transformations.
However, users were never warned about duplicate function names existing
in more than one class. The behavior so far has been to silently
ignore the duplicates and select the first definition found.
Starting with this change, Ensemble now reports errors in upgrades within
file ensinstall.log, and offer a method that users can invoke to check
for such duplicates so they can resolve these conflicts: >Write
$SYSTEM.OBJ.DisplayError(##class(Ens.Rule.Utils).GetAllFunctions(.func))
After an upgrade, users should now check inside file ensinstall.log,
under subdirectory mgr, and ensure that the Rules upgrade went well
without any errors.
Category: Global Module
Platforms: All
DevKey: SAP1322
Summary: GCOMPACT results in database corruption in presence of <FILEFULL> errors
Description:
This corrects a circumstance where, if GCOMPACT was
run on a database while it was experiencing <FILEFULL> errors,
the resulting database had a corrupted bottom pointer block with loss
of data.
Category: Object.Class Compiler
Platforms: All
DevKey: MAK2859
Summary: Handle class parameter reference inside a $$$Text macro
Description:
Class parameters are now dynamic elements of a
class. $$$Text("Text") can only accept string literals as an
argument. This meant that the class changes in 2010.1 prevented the
following
from working anymore:
Parameter PAGETITLE As STRING = "Page Title"; Property PageTitle As
%String [ InitialExpression = {$$$Text(..#PAGETITLE)} ];
Because the ..#PAGETITLE was resolved to $parameter(,"PAGETITLE") and
$$$Text did not allow an expression here. This caused an <OBJECT
DISPATCH> error at compile time.
Now Caché detects the reference to a class parameter inside a $$$Text
macro and replaces the parameter with the current classes value for
this and also marks this method as needing to be recompiled in every
subclass so they will also get the correct parameter value if the
subclass has modified the class parameter.
Category: Object.DotNet
Platforms: All
DevKey: IYB670
Summary: CacheProvider, do not use superclasses to get inherited properties
Description:
This change fixes a problem with accessing inherited
properties in generated proxy classes.
Category: Object.Library
Platforms: All
DevKey: DLP2549
Summary: Objects - Update %Library.ResultSet query binding to support swizzled objects
Description:
Linked tables with stream columns use stream OREFS
for transporting the stream value. When using %Library.ResultSet to
query linked tables, a bug caused the stream OREF to be converted to a
string value that effectively caused the stream value to be lost. This
bug is now fixed.
Category: SQL
Platforms: All
DevKey: MIT916
Summary: Handle constant replacement in the IN clause for dynamic queries
Description:
This corrects a
problem where IN lists were not properly accessing their
parameters when they occurred in OR clauses.
Category: Studio
Platforms: All
DevKey: DVU2744
Summary: Lock document after check out
Description:
When using Source Control for checkout Studio never
locked the document for editing, instead relying on the checkout mechanism to
lock as needed. This change will execute a Lock after checkout
succeeds.
Category: System
Platforms: All
DevKey: GK839
Summary: Fixed the current routine namespace tracking issue
Description:
A routine invocation allocated and left the frame
stack uninitialized, and if there was an error which required cleanup
during the current namespace search, the result was unpredictable.
This has been corrected.
Category: System
Platforms: All
DevKey: GK842
Summary: Fixed an object definition ref count issue
Description:
In very rare conditions, during the method cache
resolution, a class cache definition reference count might not be tracked
accurately and the system may release the object definition while it
is still in use. This change makes the reference count accurate.
Category: System
Platforms: All
DevKey: GK847
Summary: Upgrade to canonize the journal names with a prefix correctly
Description:
This change corrects an error in handling journal
files that had a specified prefix. Under some conditions, the prefix
was erroneously treated as the name of a directory. This is now
fixed.
Category: System
Platforms: All
DevKey: SAP1331
Summary: <ACCVIO> on $SYSTEM.Event.Signal("0")
Description:
This change corrects a problem
where supplying a quoted string value of zero ("0") when signalling an
event caused the process to crash.
Category: System.Backup/Restore
Platforms: All
DevKey: STC1800
Summary: Fix locking of CSP pages in studio
Description:
This corrects a problem that
occurred when a lock was not taken out
while editing a CSP page. If two people were editing the same page,
then when one user changed it, the other user would immediately be
presented with a message:
'***.csp' has changed, would you like to reload it?
This no longer will happen, the second user will now be notified that
someone else is editing it and that they can open it up read
only.
Category: System.Journaling
Platforms: All
DevKey: GK849
Summary: Fixed a typo in journal history conversion
Description:
This change corrects a problem during the upgrade
that caused an < ILLEGAL VALUE> error when converting the
journal history global to a journal log.
Category: System.Journaling
Platforms: All
DevKey: HYY1549
Summary: Tolerate blank lines in journal.log
Description:
This correction addresses an issue where journaling
would fail if there was a blank line anywhere in journal.log (journal
history log file).
Category: System.Journaling
Platforms: OpenVMS
DevKey: HYY1559
Summary: Simplifying journal log write operation to address jrnswitch hang on OpenVMS
Description:
This change fixes a situation on OpenVMS where a
journal switch might
hang. The issue has been identified as a OpenVMS bug,
for which HP has produced a patch (unofficial at the time of
writing). This change bypasses the OpenVMS issue without requiring
customers to have the HP patch install.
Category: System.Journaling
Platforms: All
DevKey: HYY1561
Summary: Addressed issues of converting journal history global to journal history log during Caché upgrade
Description:
This fix
corrects issues of converting journal history
global to journal history log ("journal.log") during Caché upgrade
that could cause journal files
created by automatic journal switches or task manager to be missing
from the newly created journal log.
Category: System.Licensing
Platforms: All
DevKey: RJW1815
Summary: Fix possible exception in $SYSTEM.License.Login
Description:
This avoids a potential exception that could occur
if $SYSTEM.License.Login($SYSTEM.License.GetUserId()) was called
repeatedly.
Category: System.Licensing
Platforms: All
DevKey: RJW1832
Summary: Wrong license Id in jobbed process from CSP page and $username=UnknownUser
Description:
This change corrects
a problem which caused a process jobbed from a CSP page
not to share a license unit with the CSP session.
Category: System.Monitoring
Platforms: All
DevKey: RFD545
Summary: Fix 'zero statistics' option in ^GLOSTAT
Description:
Using the "zero statistics" option in ^GLOSTAT can
cause the status of databases to become "read-only", and the Caché
instance must be restarted to restore them to the original
status.
This is now fixed.
Category: System.Shadowing
Platforms: All
DevKey: STC1796
Summary: Add [Shadows] section to the CPF file
Description:
There is a new section in the CPF file,
[Shadows]
<SystemName>=<Value>
where <Value> can be 0 (stop) or 1 (start).
Upon startup, if set to 0, the shadow will not start; if 1, the shadow will start.
Category: System.Shutdown
Platforms: All
DevKey: SAP1332
Summary: MONAPP remains after shutdown on slow system
Description:
The MONAPP process always remains after system
shutdown. This is now corrected.
Category: Utilities
Platforms: All
DevKey: STC1812
Summary: Update test for [Shadows] section already being added to CPF file
Description:
This corrects the checking for whether
a [Shadows]
section exists in the CPF file, and will prevent a duplicate section from
being added.
Category: Utilities.Globals
Platforms: All
DevKey: SML1223
Summary: Fix GBLOCKCOPY batch mode with existing globals
Description:
This change corrects a situation where the copying
of a global with a different collation would not always properly
resolve whether the global should be skipped or not. Now, it batch
mode, it is always skipped; in interactive mode, the user is queried
to decide if it should be skipped.
- CSP.Gateway
- Ensemble.HL7/EDI
- Installation.Windows
- Languages.COS
- Object
- Object.Class Compiler
- Object.DotNet
- SQL.GateWay
- SQL.Privileges
- Studio
- System
- System.Backup/Restore
- System.Cluster Specific
- System.I/O
- System.Journaling
- System.Licensing
- System.Monitoring
- Utilities.Configuration
- Zen
Category: CSP.Gateway
Platforms: All
DevKey: CMT776
Summary: Ensure that the values assigned to
configuration parameters in CSP.ini are always expressed in 7-bit ASCII
range
Description:
This change ensures that the values assigned to
configuration parameters in CSP.ini are always expressed in
7-bit ASCII range. It has always been the convention that text held
in the Gateway configuration file should be in English, even
though the corresponding text in the Management forms may be localized
in some other language. Recent changes had resulted in this
discipline not always being followed.
Category: CSP.Gateway
Platforms: All
DevKey: CMT779
Summary: Ensure that the Gateway responds gracefully
to cases where access to further memory is denied by the operating
system (particularly when buffering large amounts of response data)
Description:
This change makes the Gateway respond
gracefully to cases where access to further memory is denied by the
operating system. This scenario occurs particularly when buffering
huge amounts of response data in order to generate a HTTP
content-length header field. Previous versions did not always handle
this event cleanly, and an access violation followed by memory leakage
could occur.
Category: CSP.Gateway
Platforms: All
DevKey: CMT809
Summary: Protect against a problem in the IIS v7
Native Modules interface that could cause a memory access violation to
occur if an invalid query string was submitted
Description:
This change protects against a problem in the IIS v7
Native Modules interface that could cause a memory access violation to
occur if an invalid query string was submitted.
Category: CSP.Gateway
Platforms: All
DevKey: CMT820
Summary: Automatically correct the session status
information in the Gateway connection table where state changes are made
in the form footers and, as a result, are not projected through to the
form content
Description:
This change automatically corrects the session
status information in the Gateway connection table where state-changes
are made in the form footers and, as a result, are not projected
through to the form content. This problem only affects applications
that are configured to not use cookies to project the session token.
Category: CSP.Gateway
Platforms: All
DevKey: CMT833
Summary: Fix a mis-routing issue with state-aware
applications
Description:
This correction fixes a mis-routing issue with
state-aware applications. This fault would be provoked by the following
chain of events:
- A request from browser A is assigned to Cache
process X and marks
the session as state-aware (sets Preserve=1).
- Browser A then issues a new request which terminates the
state-aware session (by calling EndSession()). This action sets
Preserve=0 and ends the session on the server. However, browser A
still has a session cookie marked as state-aware.
- Browser B issues a request which is assigned to
Cache process X (since this has been returned to the pool of
state-less connections) and marks the session as state-aware.
- Finally, browser A (which was left open) issues a
request which is erroneously routed to Cache process X (which is now
exclusively owned by browser B). Cache responds to this security
violation by halting process X.
Under these conditions, the Gateway then records the
following error in its event log:
===
Error Condition
CSP application closed the connection before sending a complete response
===
with the end results that the request from browser A fails and browser
B is unable to continue.
Category: CSP.Gateway
Platforms: All
DevKey: CMT839
Summary: Protect against a potential memory violation
in the function responsible for reading data block headers from Cache
Description:
This modification protects against a potential
memory violation in the function responsible for reading data block
headers from Cache.
Category: Ensemble.HL7/EDI
Platforms: All
DevKey: TAP1002
Summary: Enable setting HL7 segments by path where
path contains 'Any', 'Zxx' or 'Hxx'
Description:
This change allows setting a segment into an HL7
message by path where the path
uses a wildcard. Formerly, an error would result because the name of the
segment
being set did not exactly match the DocType name corresponding to the
path-
specified segment position. It could not match because of the wildcard
segment
name. Supported wildcard segment names are 'Any', 'Zxx' or 'Hxx'.
Category: Installation.Windows
Platforms: All
DevKey: ALE1898
Summary: Preserve Windows service credentials on
upgrade
Description:
This change makes sure the Windows service will not
be deleted when running uninstall sequence on upgrade.
Note:
This change must exist in the version being upgraded to have
any effect.
Category: Languages.COS
Platforms: All
DevKey: CDS1702
Summary: Fix two-argument $DATA and 3-argument
$ORDER/$QUERY in indirection
Description:
A problem has been fixed that could lead to an invalid
name in the global
directory. The specific case is using indirection for the global name
with
the same local variable that is also set in a subscript expression using
$DATA, $ORDER, or $QUERY. For example,
SET ^X(3)=4, n="^MyGlobal", @n@($DATA(^X(3),n))="data"
Category: Object
Platforms: All
DevKey: MAK2861
Summary: %Dictionary.CompiledClass:%ExistsId method
was returning true for a class that exists but is not compiled
Description:
This changes corrects a problem where the
%Dictionary.CompiledClass:%ExistsId method
would return true for a class
that exists but is not compiled yet.
Category: Object
Platforms: All
DevKey: MC1088
Summary: Better management of class reloading
Description:
This changes corrects a problem where a stale
version of a class could be used when connecting to a version of
Caché
2008.2 or older. Now the class is always refreshed for thse versions.
Category: Object.Class Compiler
Platforms: All
DevKey: MAK2864
Summary: Fix detection of 'Quit (1)' to return '1'
rather than '-1'
Description:
This change corrects a situation where a class method that exited with
could end up returning the value -1 instead.
Category: Object.Class Compiler
Platforms: All
DevKey: MAK2869, MAK2874
Summary: Do not normalize ##class or ##super when
precompiling an INC file
Description:
If you have a macro definition like this inside an INC
file:
#define createNewInstanceExt(%ClassName) ##class(%ClassName).%New()
the the macro compiler attempted to normalize the ##class
classname in the precompiled information associated with this INC
file.
However, this is context-sensitive and in this class '%ClassName'
is just the argument to the macro as well so it is not valid to expand
this inside an INC file.
Caché now detects this and avoids expanding this
until an application invokes this
macro.
Category: Object.Class Compiler
Platforms: All
DevKey: MAK2870
Summary: Do not use system implemented method when
multiple arguments
Description:
This change corrects a situation where
a method that just returns the value of one of its arguments could get
a <PARAMETER> error when there were two arguments to the method.
Category: Object.Class Compiler
Platforms: All
DevKey: MAK2885
Summary: Method with codemode=call could call
superclass when subclass had different implementation
Description:
This change corrects a problem with method
overriding. Suppose an application defined a method, X(), in a
superclass, and another
method, Y(), that was marked as "codemode=call", and method Y
just calls method X.
If the application was changed so that a subclass
overrode method, X, the class compiler was
not detecting this and calling the wrong method.
It now properly invokes the overriding method.
Category: Object.DotNet
Platforms: All
DevKey: IYB644
Summary: CacheProvider, exclude calculated properties
from meta information internal dictionary
Description:
This change fixes an error in the validation of meta
information when a class has more than one calculated property that
could result in an application crash.
Category: SQL.GateWay
Platforms: All
DevKey: MIT972
Summary: Clean some variables in JDBC linked table
queries
Description:
This change corrects a memory leak in the JDBC gateway.
Category: SQL.Privileges
Platforms: All
DevKey: DPV3580
Summary: SQL Privileges: Correct issue compiling a
view when view owner has select privileges on the view queries columns
via a role
Description:
A problem has been corrected where a view would not
compile even when the owner of the view has all the necessary
privileges on the view query's table(s) granted to the owner via a
role.
Category: Studio
Platforms: All
DevKey: DVU2700
Summary: Initialize Source Control for secondary
thread connection
Description:
This corrects a problem where class compilation had
been moved to a
secondary thread, but the source control informtaion for that thread
had not been initialized.
Category: System
Platforms: All
DevKey: GK824
Summary: Process routine cache release algorithm
change
Description:
This change modifies the release for cached routines
to be more aggressive when the system is out of routine buffers.
If a process
attempts to allocate another routine buf but all system routine buffers
are in-use, the algorithm reduces its own cached routines up to max
allowed - 10%. If still no routine buffer is available, then it drops
the system wide number of routines cached per process.
Category: System
Platforms: All
DevKey: GK825
Summary: Modified job creation to check and do some
house cleaning when waiting for a job to start
Description:
While waiting for a job to start, this change alters
Caché to handle various cleanup work to prevent
possible deadlock, for example, to release some routine buffers for the
child
process to use.
Category: System
Platforms: All
DevKey: GK835
Summary: Fixed sub-class loader error recovery
Description:
In a rare condition, if the superclass fails to
load because the database is unexpectedly not reachable, it may leave
that
superclass in a partially loaded state. This blocks loading any derived
classes of that same superclass. (They end up waiting forever for
the superclass to load).
This has now been corrected.
Category: System
Platforms: All
DevKey: SAP1282
Summary: Use /tmp on cache.ids shared memory object
to insure invisible to other nodes
Description:
In cases where CacheIDS<device #>.<inode
#> has same value on both nodes accessing a shared disk, confusion
can
arise. One symptom of this was false status messages being sent which
caused the partner node to crash.
Category: System
Platforms: All
DevKey: SAP1283
Summary: Harden startup against "impossible"
conditions
Description:
This change
hardens startup of an instance on a cluster node when the instance is
already running on another node.
Category: System
Platforms: All
DevKey: SAP1289
Summary: Windows message hang when target terminates
Description:
A message transmission that requires a reply (such
as JOBEXAM) may hang forever if the target of the message exits after
receiving the message but before responding to the request. This has
now been fixed.
Category: System
Platforms: All
DevKey: SAP1312
Summary: MONITOR fails to email on journal failure
and FreezeOnError=1
Description:
This correction addresses a situation where, if the
system fails on journal error and FreezeOnError is set, MONITOR does
not report the error via email.
Category: System
Platforms: All
DevKey: SAP1317
Summary: $ZUTIL(110) returns null even though system
has valid nodename
Description:
This correction fixes a situation where this
function returns null even though the underlying operating system
services return the actual system name.
Category: System
Platforms: All
DevKey: SML1175
Summary: Clean up dead job's resource before clean up
stuffs
Description:
This change fixes a situation where the cleanup
daemon might failed to clean up a dead job if its resource is used by
the cleanup daemon.
Category: System
Platforms: All
DevKey: SML1208
Summary: Fix job server crash on JRNSWITCH
Description:
This changes corrects an error where, when a job
server process was started to perform a database backup it could get
access violation.
Category: System.Backup/Restore
Platforms: All
DevKey: STC1793
Summary: Increase MaxServerConn if JoinCluster=1
Description:
When the parameter JoinCluster was set
to 1 in the CPF file, Caché would increase the parameter MaxServerConn
to
14 so other cluster members would be able to connect. This change
restores that behavior; it had been removed in version 2009.1,
Category: System.Cluster Specific
Platforms: All
DevKey: GK827
Summary: Modified Cluster session not to track jrn
position
Description:
The inter-cluster ECP session activity is not a
regular session, and the journal position is not tracked. This
change corrects a situation where if the slave didn't stay
idle for > 60 seconds (enough time to clear the old journal
position), it
prevented purging the old journal files.
Category: System.I/O
Platforms: All
DevKey: SAP1309
Summary: Return NOTIMPLEMENTED in FileCompact on 10.1
Description:
The ^DATABASE routine gives an option for File
Compaction.
This change disables the feature in 2010.1.
Category: System.Journaling
Platforms: All
DevKey: HYY1555
Summary: Fix a case of incorrect wij journal info
Description:
This change addresses an issue that could cause, among other problems,
journal recovery to fail at Cache startup with a <VALUE OUT
OF RANGE> error. In general, the more
frequent the journal switches, the more likely this error would occur.
Category: System.Journaling
Platforms: All
DevKey: SML1203
Summary: Handle Bitset rollback when a new global was
created
Description:
This change fixed a transaction rollback problem
when there are BITSET and Global SET journal records on the same global
node. Under some circumstances, the SET journal record might not be
rolled back
when it should be.
Category: System.Licensing
Platforms: All
DevKey: RJW1804
Summary: $System.License.Login can produce incorrect
license id in jobbed process
Description:
This change corrects an error that could insert
trailing null characters into the license identifier of a jobbed
process that called $SYSTEM.License.Login() if it's parent had also
called $SYSTEM.License.Login().
Category: System.Licensing
Platforms: All
DevKey: RJW1809
Summary: License Id is incorrect for processes jobbed
from a CSP page
Description:
Beginning in Cache 2010.1, a process started by the
job command from a CSP page when a user is logged in does not have the
correct license Id. Its license Id is the user name instead of
username@clientIPaddress. Consequently, it does not share a license
unit with the CSP session. This problem does not occur with anonymous
CSP connections. This change corrects the problem.
Category: System.Licensing
Platforms: All
DevKey: RJW1819
Summary: License units for CSP sessions may not be
released after timeout+grace period
Description:
This corrects a problem where, under some rare
circumstances, expired CSP sessions may remain in the license "grace
period" longer than the expected 5 minutes. This occurs only for
Single Server license keys if the interval between the expiration of a
single page CSP session and the next license login exceeds 17
minutes.
Category: System.Monitoring
Platforms: All
DevKey: RFD508
Summary: Better handling of stats unmapping for dead
jobs
Description:
This changes corrects a situation where cleanup algorithms for
processing dead jobs
did not properly update the system monitoring counters and statstics.
Category: Utilities.Configuration
Platforms: All
DevKey: STC1751
Summary: Do not validate collation of globals during
system startup
Description:
In previously releases, when a new global subscript-level mapping was
detected at startup, Caché validated that the collation of the
physical global in the database matched the collation, if the global
was populated with data. If the collation did not match, Caché
reported an error, and did not save the global SLM mapping.
If the configuration file
was edited by hand, this could cause problems at startup when
Caché attempted to mount the database.
This has been changed so that
Caché only checks the collation when it is entered
via the Management Portal.
Furthermore, it only checks the collation of the physical global when
the
mapping entered is a subscript-level mapping.
Category: Zen
Platforms: All
DevKey: DAD013
Summary: Corrects a bug where zenThreadId values were
based on server $JOB values instead of logical threads
Description:
This corrects a design shortcoming where zenThreadId
values were based on server $JOB values instead of logical threads.
If two independent events cause conflicting DOM
updates, then the user may be presented with an inconsistent user
interface. The $JOB value on the
server does not guarantee that threads will not be processed out of
order and can lead to false thread
assertion problems depending on how requests are processed.
This change uses a unique value generated on the client browser to
identify logical threads instead of
using the $JOB value from the server.
- CSP.Gateway
- DeepSee
- Ensemble.HL7/EDI
- Languages.COS
- Languages.MVQuery
- Migration.TSQL
- Networking.ECP
- Object.Class Compiler
- Object.LanguageBindings
- Object.Storage
- Object.XML
- SQL
- SQL.ODBC
- SQL.Statement
- Studio
- System
- System.Cluster Specific
- System.Journaling
- System.Licensing
- System.Shadowing
- Utilities
- Utilities.Configuration
- Zen
- Zen.ZenReports
Category: CSP.Gateway
Platforms: All
DevKey: CMT808
Summary: Ensure proper termination of output stream
Description:
This change ensures that the terminating CRLF is
discarded from the final output stream where response chunking is in
operation between CSPnsd and mod_csp, but a chunked response is not
expected by the client.
For cases where the client is not expecting a chunked response, the
final closing CRLF (after the optional message trailers) will be
discarded and not sent to the client.
Category: CSP.Gateway
Platforms: All
DevKey: CMT811
Summary: Resolve an access violation on session close
Description:
This change resolves an access violation that could
occur if a connection reserved for a state-aware session closed
unexpectedly.
Category: DeepSee
Platforms: All
DevKey: DPV3594
Summary: DEEPSEE: Correction for Excel Export
Description:
This change corrects an issue that prevented DeepSee from exporting
data to Microsoft Excel spreadsheets.
Category: Ensemble.HL7/EDI
Platforms: All
DevKey: TAP965
Summary: Fix $CASE handling in HL7 getReplyCode()
Description:
This change fixes an erroneous but syntactically legal construction in the
getReplyCode() method of the class EnsLib.HL7.Service.Standard. This bug resulted
in an <ILLEGAL VALUE> error when an HL7 service is configured
with
NakErrorCode=ContentE.
Category: Languages.COS
Platforms: All
DevKey: CDS1671
Summary: Add support for NEW $NAMESPACE in %STACK
Description:
When the execution stack is shown for a program that has NEW $NAMESPACE, the
NEW was shown as Unknown. This has been corrected.
Category: Languages.MVQuery
Platforms: All
DevKey: JPL1169
Summary: Fix CMQL routine that generates COS string source to handle trailing MV delimiters
Description:
This item corrects a situation where a terminating quote
character was always being appended when building a query string,
even if it was not needed. The quote is now added only if needed.
Category: Migration.TSQL
Platforms: All
DevKey: DPV3569
Summary: TSQL: Correction for statement level triggers
Description:
A problem has been corrected where a DELETE trigger
could return SQLCODE = -29, field not found under the following
circumstance:
- a row was deleted
from a table with a statement level AFTER DELETE trigger containing TSQL
code
- the trigger code deleted a row in other table
which did not have a TSQL statement AFTER DELETE trigger
- the trigger code
did have a TSQL
statement level AFTER UPDATE trigger
Category: Networking.ECP
Platforms: All
DevKey: GK828
Summary: On background block read job Q-ing failure, remove the block from the read blk list
Description:
This correction fixes a situation where the ECP
server could hang. The circumstance is that
a block appears to be queued up to be read by another requestor when,
in fact, there is no requestor and the read will never be completed.
Category: Object.Class Compiler
Platforms: All
DevKey: MAK2841
Summary: Rework %RoutineMgr algorithm to find related routines/classes
Description:
This change addresses two issues with Caché
routine and class handling:
- If the class was created from a
CSP compile, Caché did not detect that the routines generated were
derived from the class created by the CSP compile; this prevented the
class descriptor from automatically being regenerated when the class
was
saved in Studio.
- If a generated class routine was renamed,
Studio would still think it was part of this class and
so could attempt to lock the class when editing this routine even
though it was not totally separate.
Category: Object.Class Compiler
Platforms: All
DevKey: MAK2844
Summary: Make sure to report an error if a calculated property is overridden in a persistent or serial class
Description:
You can not override a calculated property in a
serial or a persistent class because it breaks assumptions about
storage for this class. This attempt now results in an error
message during compilation.
Category: Object.LanguageBindings
Platforms: All
DevKey: JSL2908
Summary: Fix concurrency issue in Java binding due to lost locks
Description:
This change corrects a situation
where an attempt to unlock object locks could result in
some of them being removed from the lock table while still locking the
object they refer to.
Category: Object.Storage
Platforms: All
DevKey: DLP2428
Summary: Object Storage - change the suspense structure for triggered stream delete
Description:
Streams are queued for deletion when their container
object is deleted. The queue of streams to be deleted is maintained in
a global. If the stream OID was long, a <SUBSCRIPT> error
would be generated. This structure now uses a simple integer
subscript to prevent <SUBSCRIPT> errors.
Category: Object.XML
Platforms: All
DevKey: JN857
Summary: %XML.TextReader fails to get very long CDATA value
Description:
This change corrects a situation where
%XML.TextReader failed to read a very long CDATA
value. This will also apply to any character, comment or CDATA value.
Category: Object.XML
Platforms: All
DevKey: JN861
Summary: Fix whitespace processing for %XML.TextReader
Description:
When using %XML.TextReader with the remove
whitespace option (the default) leading and trailing whitespace is
removed. However, in certain circumstances, whitespace which was
interior to the string could also be removed. This has been corrected.
Category: SQL
Platforms: All
DevKey: DPV3568
Summary: SQL: correct string search handling
Description:
This corrects an error that could occur when searching
a string for a matching substring and using default boundaries as
limits for the search.
Category: SQL.ODBC
Platforms: All
DevKey: AND1119
Summary: ODBC: Fix <STORE> error in static cursors
Description:
This change rectifies a defect where mismanagement
of static cursors could result in a <STORE> error.
Category: SQL.Statement
Platforms: All
DevKey: DLP2441
Summary: Dynamic SQL - fix public variable leak in old %ResultSet.SQL class
Description:
A bug in %ResultSet.SQL processing caused random
failures when a SELECT statement invoked a computed column that also
used %ResultSet.SQL for its calculation. The defect caused the value of a public variable,
%objqacn, to be inadvertently updated by nested statements. The error is
now fixed.
Category: Studio
Platforms: All
DevKey: DVU2694
Summary: Fix crash in attempt to FIND when no documents open
Description:
This corrects an error where, if the user kept the
Find dialog open but closed all document windows, clicking "Find"
would cause Studio to fail.
Category: Studio
Platforms: All
DevKey: RAW839
Summary: Studio editor: error underlining in 64-bit is slow
Description:
Due to a change in the Windows SDK for Vista and
Windows 7 64-bit, the GetPixel and SetPixel functions makes response
very slow when a user is entering code that temporarily has a lot of
errors. This change mitigates that problem.
Category: System
Platforms: All
DevKey: CDS1658
Summary: Fix <SYSTEM> error after CATCH of nested error
Description:
If a TRY/CATCH catches an error in a subroutine or method that is called as
an argument for another subroutine or method, there would be a <SYSTEM> error
when the subroutine with the CATCH quit. This change corrects that error.
Category: System
Platforms: All
DevKey: JO2310
Summary: Fix problem where clearing wdstop could cause jobs to be left stopped
Description:
A rare problem on Windows systems has been fixed.
The circumstances are that the control process
resumes a system that had been suspended due to lack of write daemon
activity (such as occurs during a long backup), but never wakes up a
small number of the jobs
that were waiting.
Category: System
Platforms: All
DevKey: RJW1762
Summary: $zu(163) doesn't help resolve existing <STORE> error
Description:
A problem existed where calling $zu(163) to
increase the symbol table size following a <STORE> error did
not increase the memory ($Storage) available to the process. The
problem occurred because a table of internal pointers to available
memory segments was exhausted.
The problem is mitigated by reserving
one element of the table to insure that $zu(163) is able to increase
memory available to the process following a <STORE> error.
NOTE: One
caveat is that this will work only one time for the process because
only one memory segment pointer is reserved. Calling $zu(163) a
second time following a <STORE> error will have no effect
because the one reserved memory block pointer will have already been
used.
Category: System
Platforms: All
DevKey: SAP1282
Summary: Use /tmp on cache.ids shared memory object to insure invisible to other nodes
Description:
In cases where CacheIDS<device #>.<inode
#> has same value on both nodes using a shared disk, confusion can
arise and a false status indicating a crash can be sent to the other
node. This is now fixed.
Category: System
Platforms: All
DevKey: SJ2603
Summary: Fix INTEGRIT to detect degradation where lower block doesn't have a right link, but pointer block does
Description:
This change fixes a problem where INTEGRIT did not
detect the case where a lower block did not have a right link, even
though the upper pointer blocks showed that more data followed. A new
error (36) will be reported by INTEGRIT in this case.
Category: System.Cluster Specific
Platforms: OpenVMS
DevKey: JO2314
Summary: Corrections for recovery of cluster mounted encrypted databases
Description:
A problem affecting OpenVMS Clusters and cluster mounted
encrypted databases has been resolved which would have resulted in
database degradation if blocks from an encrypted database were
recovered from the pij during cluster failover or during cluster
recovery at startup.
This change is compatible with the existing cluster code so that a
running cluster can be upgraded one node at a time without shutting
down the entire cluster. However, it is crucial that encrypted
databases must not not be cluster mounted until ALL of clustered
instances (for that Caché cluster) have been updated to this version.
CAUTION: A mistake in upgrading the cluster may damage cluster-mounted encrypted databases
during the next cluster failover/recovery.
Category: System.Journaling
Platforms: All
DevKey: HYY1533
Summary: Treat header-only journal.log as normal
Description:
This change addresses an issue where journaling would
fail to start during Caché startup if the journal.log (journal history log
file) contained only a log header, that is,
without any journal file entries.
In this case, the only message on cconsole.log would be, "Journaling
NOT started."
Category: System.Journaling
Platforms: All
DevKey: HYY1544
Summary: Cluster journal restore
Description:
This change corrects an error that could occur during a
journal restore of an ECP cluster. Under some circumstances,
the last journal records in the restore would not be posted to the
database because of an error in waiting for all the records to be
written
to disk.
Category: System.Licensing
Platforms: All
DevKey: RJW1810
Summary: Fix weblink license acquisition
Description:
A change to the way licenses were reported in
2010.1.0 by
$System.License.Login() interfered with license acquisition by
Weblink. This is now corrected.
Category: System.Shadowing
Platforms: All
DevKey: HYY1517
Summary: Prevent cluster shadow with filter from applying an update twice
Description:
This corrects an issue that caused cluster shadows
with a
filter to apply an update twice in a row. This unnecessarily inflated
the journal files on the shadow side and degraded shadowing
performance. It did not affect data integrity, however, as the
duplicate followed the original record immediately.
Category: System.Shadowing
Platforms: All
DevKey: HYY1532
Summary: Address a case of shadow corruption/hanging when journaling is restarted on the source side
Description:
This corrects a defect that could cause a shadow to
create a corrupted copy of source journal file and hang in certain
circumstances involving stopping and starting journaling on the source
side.
Category: Utilities
Platforms: All
DevKey: SML1197
Summary: Fix %SYS.Namespaces.GetGlobalDest() with single level subscript
Description:
A previous change caused %SYS.Namespaces.GetGlobalDest()
to fail if a single-level subscript was used as the third argument,
and it was not enclosed in quotes. This change restores the previous
capability.
Category: Utilities.Configuration
Platforms: All
DevKey: SML1189
Summary: Fix mapping when beginning point overlapped with an end point
Description:
This change fixes a mapping error with %-global and an overlap between two range such as:
%Z:%ZeUTT -> DBA
%ZeUTT -> DBB
%ZeUTTX:%a ->DBA
The mapping of %ZeUTT global would be mapped to %SYS instead of DBB.
Category: Utilities.Configuration
Platforms: All
DevKey: STC1744
Summary: Handle change password better for Delegated authentication
Description:
The ZAUTHENTICATE routine has been updated with
information regarding how to change passwords when using Delegated
Authentication. A new entry point has been added to the ZAUTHENTICATE
routine which handles changing passwords. See the updated
ZAUTHENTICATE routine in the SAMPLES namespace for
this information.
Category: Utilities.Configuration
Platforms: All
DevKey: STC1755
Summary: Changing CPF parameter locksiz should not require a restart
Description:
The "locksiz" entry in the CPF file contains the
size (in bytes) of memory allocated for locks. The startup activity rounds up
the value to the next multiple of 64 kilobytes. The default is 1,179,648
bytes.
On the HP platform, the default is four times the usual
default or 4,718,592 bytes.
The range is 65536 bytes up
to the gmheap size. If a system needs more room for the lock table, increase
the gmheap parameter as well.
The change takes effect immediately without the need for a restart.
Category: Utilities.Configuration
Platforms: All
DevKey: STC1759
Summary: Entering a null password using LDAP will no longer authenticate the user
Description:
When using LDAP for user authentication, if a user
entered a username, with a null password, they would always be
authenticated and allowed into the system. This is because the
operating system LDAP libraries treat this as an "anonymous" bind, and
uses the LDAP simple_bind_s function to succeed with a null
password.
With this change, Caché tests to see if a null password has been entered, and
reject the attempt.
This is a problem only on the following client to server connections:
- Unix or OpenVMS client to any LDAP server
- Windows client to non active directory LDAP
server
It is not a problem on a Windows client to a Windows Active Directory
LDAP server connection.
Category: Zen
Platforms: All
DevKey: SAM072
Summary: Correct keyboard event trapping under Internet Explorer
Description:
Other changes in Caché modified the way
events are routed to the zenPageEventHandler, specifically by defining
window level on{event} functions. This means that, under Internet
Explorer, keyboard events do not propagate up to the window level; any
unhandled events that make it past the <body> level of the DOM
are discarded from a JScript perspective.
The result is that the default keyboard handler that would be
routing keystrokes to individual onkeydownHandler() methods is,
itself, never seeing the keyboard events. This is does not happen
when using
FireFox, but the W3C specification about what is to be done is
ambiguous
in this area.
This fix modifies the initialization code for Zen Windows to detect
the case where
Internet Explorer is in use and
installs the keyboard event trap at the level of window.document.body so that it is within the
chain of handling the raw events.
Category: Zen.ZenReports
Platforms: All
DevKey: JSL2925
Summary: Fix problems with ZEN Reports displaying international characters on both UNICODE and 8-bit systems
Description:
This changes corrects the problem of improperly
displayed characters by
always using National Language support for character display.
© 2010, InterSystems Corporation. All rights reserved.