[ 
https://jira.duraspace.org/browse/DS-1569?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Mark H. Wood updated DS-1569:
-----------------------------

    Assignee: Mark H. Wood
    Reviewer: tdonohue
      Status: Accepted  (was: Received)
    
> RoleDisseminator fails to check for possible null password
> ----------------------------------------------------------
>
>                 Key: DS-1569
>                 URL: https://jira.duraspace.org/browse/DS-1569
>             Project: DSpace
>          Issue Type: Bug
>          Components: DSpace API
>    Affects Versions: 3.0, 3.1
>            Reporter: Tim Donohue
>            Assignee: Mark H. Wood
>
> If a single user in DSpace happens to have a "null" password (e.g. external 
> authentication system is being used), and the RoleDisseminator is called with 
> "emitPassword=true", then a NullPointerException will occur.
> For example, passing the "passwords=true" flag to the AIP Packager will 
> result in a NPE if a single user has a null password:
> dspace packager -d -a -t AIP -e [admin-email] -i 10673/0 -o passwords=true 
> [email protected]
> Here's the resulting error message:
> org.dspace.content.crosswalk.CrosswalkInternalException: Failed to export 
> Roles via packager (see wrapped error message                                 
>                       for more details)
>         at 
> org.dspace.content.crosswalk.RoleCrosswalk.disseminateElement(RoleCrosswalk.java:234)
>         at 
> org.dspace.content.packager.AbstractMETSDisseminator.crosswalkToMetsElement(AbstractMETSDisseminator.java:135
>                                                       9)
>         at 
> org.dspace.content.packager.AbstractMETSDisseminator.makeMdSec(AbstractMETSDisseminator.java:614)
>         at 
> org.dspace.content.packager.AbstractMETSDisseminator.addToAmdSec(AbstractMETSDisseminator.java:727)
>         at 
> org.dspace.content.packager.AbstractMETSDisseminator.addAmdSec(AbstractMETSDisseminator.java:753)
>         at 
> org.dspace.content.packager.AbstractMETSDisseminator.makeManifest(AbstractMETSDisseminator.java:839)
>         at 
> org.dspace.content.packager.AbstractMETSDisseminator.writeZipPackage(AbstractMETSDisseminator.java:311)
>         at 
> org.dspace.content.packager.AbstractMETSDisseminator.disseminate(AbstractMETSDisseminator.java:258)
>         at 
> org.dspace.content.packager.DSpaceAIPDisseminator.disseminate(DSpaceAIPDisseminator.java:160)
>         at 
> org.dspace.content.packager.AbstractPackageDisseminator.disseminateAll(AbstractPackageDisseminator.java:86)
>         at org.dspace.app.packager.Packager.disseminate(Packager.java:636)
>         at org.dspace.app.packager.Packager.main(Packager.java:460)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>         at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>         at java.lang.reflect.Method.invoke(Method.java:601)
>         at 
> org.dspace.app.launcher.ScriptLauncher.main(ScriptLauncher.java:183)
> Caused by: org.dspace.content.packager.PackageException: 
> java.lang.NullPointerException, Reason: java.lang.NullPointerEx               
>                                        ception
>         at 
> org.dspace.content.packager.RoleDisseminator.writeToStream(RoleDisseminator.java:257)
>         at 
> org.dspace.content.packager.RoleDisseminator.disseminate(RoleDisseminator.java:108)
>         at 
> org.dspace.content.crosswalk.RoleCrosswalk.disseminateElement(RoleCrosswalk.java:202)
>         ... 16 more
> Caused by: java.lang.NullPointerException
>         at 
> com.ctc.wstx.sw.BaseStreamWriter.writeCharacters(BaseStreamWriter.java:498)
>         at 
> org.dspace.content.packager.RoleDisseminator.writeEPerson(RoleDisseminator.java:493)
>         at 
> org.dspace.content.packager.RoleDisseminator.writeToStream(RoleDisseminator.java:244)
>         ... 18 more
> The problem area of the code is here -- it fails to check for a possible null 
> value.
> https://github.com/DSpace/DSpace/blob/master/dspace-api/src/main/java/org/dspace/content/packager/RoleDisseminator.java#L481

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

------------------------------------------------------------------------------
How ServiceNow helps IT people transform IT departments:
1. A cloud service to automate IT design, transition and operations
2. Dashboards that offer high-level views of enterprise services
3. A single system of record for all IT processes
http://p.sf.net/sfu/servicenow-d2d-j
_______________________________________________
Dspace-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/dspace-devel

Reply via email to