13.07.2015 Views

Caché Upgrade Checklists - InterSystems Documentation

Caché Upgrade Checklists - InterSystems Documentation

Caché Upgrade Checklists - InterSystems Documentation

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

AdministratorsThe program previously used for NLS management on Windows, “cnls.exe”, has been removed and replaced by the lineorientedroutine, ^NLS. The routines ^NLSMGR, ^%Wsnls, ^%Wsnls2, and LOCGEN have also been removed and newsystem classes, %SYS.NLS.Table, %SYS.NLS.Format, %SYS.NLS.Locale and %SYS.NLS.Device, have been added.^NLS is a line-oriented utility that provides basically the same functionality of CNLS.EXE in previous releases. Its mainoptions are:1. Locale definitions2. Table definitions3. Current system settingsThe first two options manipulate static definitions of the main NLS entities: locales and tables. The third option allows theuser to see currently active settings on a system-wide basis or just for the current process.7.1.7 Security-Related Changes7.1.7.1 New Resource Required For Secure LoginA new resource is now created during installation called, %Service_Login. This resource is now used by the$SYSTEM.Security.Login() function. The $SYSTEM.Security.Login function will now only succeed if the applicationcalling that function runs as a user who has USE access to this resource.Before this change, any application could call $SYSTEM.Security.Login(), and if presenting a valid userid and password,then login as that userid. Now, they must also be able to USE the resource.Note:This resource is not required if the calling process has Write permission on the resource that protects theCACHESYS database, or the calling routine is stored in the CACHESYS database.7.1.7.2 Adding Roles Prohibited From Command LineThe function, $SYSTEM.Security.AddRoles() can no longer be called from the command line, or from within thedebugger. Doing so could allow a user to inadvertently leave their process with elevated roles when the call returns. Callingthe method in this way will fail to elevate the roles, and the errorERROR #940: Insufficient privilege for operationwill be returned as the value of the function. Moreover, if• there is a routine which calls $SYSTEM.Security.AddRoles(), and• it encounters an unhandled <strong>Caché</strong> ObjectScript error in this routine while in programmer mode, and• the routine breaks at the debug prompt,the programmer can no longer call $SYSTEM.Security.AddRoles() from the debug prompt and escalate roles outside ofthe scope of the application.Note:It is recommended that any routine or class use error handling in the procedures which call$SYSTEM.Security.AddRoles().7.1.7.3 Privileges For Changing Database Properties ModifiedTo edit the properties of a database, the privilege %Admin_Secure:USE is now required. If a user without this privilegeattempts this action, the following error will occur:ERROR #921: Operation requires %Admin_Secure:USE privilege<strong>Caché</strong> <strong>Upgrade</strong> <strong>Checklists</strong> 169

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!