From 95b8ca0db01e6bbfc23cb304f51d9bfa0e6fcb04 Mon Sep 17 00:00:00 2001 From: dimitr Date: Wed, 4 Mar 2015 17:58:24 +0000 Subject: [PATCH] Fixed CORE-4704: Generator/exception permissions get corrupted after backup/restore. --- src/burp/restore.epp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/burp/restore.epp b/src/burp/restore.epp index db3f2ec13f..950391c262 100644 --- a/src/burp/restore.epp +++ b/src/burp/restore.epp @@ -2151,6 +2151,7 @@ bool get_character_set(BurpGlobals* tdgbl) if (tdgbl->RESTORE_format >= 10) { GET_TEXT(X.RDB$SECURITY_CLASS); + fix_security_class_name(tdgbl, X.RDB$SECURITY_CLASS, false); X.RDB$SECURITY_CLASS.NULL = FALSE; securityClass = true; } @@ -2452,6 +2453,7 @@ bool get_collation(BurpGlobals* tdgbl) if (tdgbl->RESTORE_format >= 10) { GET_TEXT(X.RDB$SECURITY_CLASS); + fix_security_class_name(tdgbl, X.RDB$SECURITY_CLASS, false); X.RDB$SECURITY_CLASS.NULL = FALSE; securityClass = true; } @@ -3306,6 +3308,7 @@ bool get_exception(BurpGlobals* tdgbl) if (tdgbl->RESTORE_format >= 10) { GET_TEXT(X.RDB$SECURITY_CLASS); + fix_security_class_name(tdgbl, X.RDB$SECURITY_CLASS, false); X.RDB$SECURITY_CLASS.NULL = FALSE; securityClass = true; } @@ -4305,6 +4308,7 @@ bool get_function(BurpGlobals* tdgbl) if (tdgbl->RESTORE_format >= 10) { GET_TEXT(X.RDB$SECURITY_CLASS); + fix_security_class_name(tdgbl, X.RDB$SECURITY_CLASS, false); X.RDB$SECURITY_CLASS.NULL = FALSE; securityClass = true; } @@ -5482,6 +5486,7 @@ bool get_global_field(BurpGlobals* tdgbl) if (tdgbl->RESTORE_format >= 10) { GET_TEXT(X.RDB$SECURITY_CLASS); + fix_security_class_name(tdgbl, X.RDB$SECURITY_CLASS, false); X.RDB$SECURITY_CLASS.NULL = FALSE; securityClass = true; } @@ -10209,6 +10214,7 @@ void store_blr_gen_id(BurpGlobals* tdgbl, const TEXT* gen_name, SINT64 value, SI if (secclass) { strcpy(X.RDB$SECURITY_CLASS, secclass); + fix_security_class_name(tdgbl, X.RDB$SECURITY_CLASS, false); X.RDB$SECURITY_CLASS.NULL = FALSE; } if (ownername)