diff options
author | awnuk <awnuk@c9f7a03b-bd48-0410-a16d-cbbf54688b0b> | 2011-09-30 21:30:17 +0000 |
---|---|---|
committer | awnuk <awnuk@c9f7a03b-bd48-0410-a16d-cbbf54688b0b> | 2011-09-30 21:30:17 +0000 |
commit | c5571fb22c7d08b13836b0dd57e30d540298b02d (patch) | |
tree | ec729a42b65d4d6d80a876f0fce30749d5add925 | |
parent | 572d04610fac275601a55f02787fcb9608d28fbb (diff) | |
download | pki-c5571fb22c7d08b13836b0dd57e30d540298b02d.tar.gz pki-c5571fb22c7d08b13836b0dd57e30d540298b02d.tar.xz pki-c5571fb22c7d08b13836b0dd57e30d540298b02d.zip |
Fixed bugzilla bug #737217.
git-svn-id: svn+ssh://svn.fedorahosted.org/svn/pki/trunk@2248 c9f7a03b-bd48-0410-a16d-cbbf54688b0b
-rw-r--r-- | pki/base/migrate/TxtTo80/classes/CS80LdifParser.class | bin | 8232 -> 8542 bytes | |||
-rw-r--r-- | pki/base/migrate/TxtTo80/src/Main.java | 40 |
2 files changed, 36 insertions, 4 deletions
diff --git a/pki/base/migrate/TxtTo80/classes/CS80LdifParser.class b/pki/base/migrate/TxtTo80/classes/CS80LdifParser.class Binary files differindex 33a36fa4..1265fd15 100644 --- a/pki/base/migrate/TxtTo80/classes/CS80LdifParser.class +++ b/pki/base/migrate/TxtTo80/classes/CS80LdifParser.class diff --git a/pki/base/migrate/TxtTo80/src/Main.java b/pki/base/migrate/TxtTo80/src/Main.java index 890a92ad..ad9eb6b1 100644 --- a/pki/base/migrate/TxtTo80/src/Main.java +++ b/pki/base/migrate/TxtTo80/src/Main.java @@ -418,8 +418,22 @@ class CS80LdifParser // CMS 6.1: created new "com.netscape.certsrv.base.IArgBlock" and // moved old "com.netscape.certsrv.base.ArgBlock" // to "com.netscape.cmscore.base.ArgBlock" - System.out.println( extAttrPrefix + encodeKey( key ) + ": " + - formatData( data ) ); + + // Bugzilla Bug #737217 - adding proper "ext-data" array format + int secondEqual = data.indexOf('='); + if (secondEqual == -1) { + if( mErrorPrintWriter != null ) { + if( dn != null ) { + mErrorPrintWriter.println( dn ); + } + mErrorPrintWriter.println( "Skipped " + attr ); + } + return; + } + String subKey = data.substring( 0, secondEqual ); + String subKeyData = data.substring( secondEqual + 1 ); + System.out.println( extAttrPrefix + encodeKey( key ) + ";" + + subKey + ": " + formatData( subKeyData ) ); } else if( type.startsWith( "com.netscape.certsrv.authentication.AuthToken" ) ) { // Processes 'java.math.BigInteger[]': // @@ -430,8 +444,26 @@ class CS80LdifParser // Bugzilla Bug #224763 (a.k.a - Raidzilla Bug #57949) // Bugzilla Bug #252240 // - System.out.println( extAttrPrefix + encodeKey( key ) + ": " + - formatData( data ) ); + + // Bugzilla Bug #737217 - adding proper "ext-data" array format + int secondColon = data.indexOf(':'); + int secondEqual = data.indexOf('='); + if (secondEqual == -1 || secondColon >= secondEqual) { + if( mErrorPrintWriter != null ) { + if( dn != null ) { + mErrorPrintWriter.println( dn ); + } + mErrorPrintWriter.println( "Skipped " + attr ); + } + return; + } + if (secondColon == -1) { + secondColon = secondEqual; + } + String subKey = data.substring( 0, secondColon ); + String subKeyData = data.substring( secondEqual + 1 ); + System.out.println( extAttrPrefix + encodeKey( key ) + ";" + + subKey + ": " + formatData( subKeyData ) ); } else if( type.startsWith( "java.math.BigInteger[" ) ) { // Bugzilla Bug #238779 System.out.println( extAttrPrefix + encodeKey( key ) + ": " + |