Skip to content

Handle server without <username> #3

Open
@hankolerd

Description

@hankolerd

Not all server definitions use the username element. I just want to suggest handling of those elements that use only password (when using OUATH), or just passphrase (when dealing with encrypted files). Examples:


<server>
	<!-- Works fine with username and password -->
	<id>central</id>
	<username>aibaioe</username>
	<password>{mBwLxJFyppMH2940209mabioawHA8HnHPnWCEwddpceLlunQ=}</password>
</server>
<server>
	<!-- Password-only throws IndexOutOfBoundsException -->
	<id>github</id>
	<password>656044bd7622c1981903n28492niban83a49224</password>
</server>
<server>
	<!-- Passphrase-only throws IndexOutOfBoundsException -->
	<id>gpg.passphrase</id>
	<passphrase>{pRfzVmCm7joHKeWh1y4p3c5ama2njfdITbrmhURqcwPMQij/gK5ue6e80uMqK4N}</passphrase>
</server>

Here is the stacktrace when field is missing:

Exception in thread "main" org.sonatype.plexus.components.cipher.PlexusCipherException: java.lang.ArrayIndexOutOfBoundsException
	at org.sonatype.plexus.components.cipher.PBECipher.decrypt64(PBECipher.java:193)
	at org.sonatype.plexus.components.cipher.DefaultPlexusCipher.decrypt(DefaultPlexusCipher.java:72)
	at org.sonatype.plexus.components.cipher.DefaultPlexusCipher.decryptDecorated(DefaultPlexusCipher.java:89)
	at org.github.jelmerk.maven.settings.Decorder.decodePassword(Decorder.java:66)
	at org.github.jelmerk.maven.settings.Decorder.printPasswords(Decorder.java:107)
	at org.github.jelmerk.maven.settings.Decorder.main(Decorder.java:61)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions