Changeset 35665 in osm for applications/editors/josm


Ignore:
Timestamp:
2020-12-07T18:10:16+01:00 (4 years ago)
Author:
Don-vip
Message:

update to latest JNA

Location:
applications/editors/josm/plugins/native-password-manager/src/org
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • applications/editors/josm/plugins/native-password-manager/src/org/netbeans/modules/keyring/fallback/FallbackProvider.java

    r34634 r35665  
    9191        byte[] randomArray = new byte[36];
    9292        new SecureRandom().nextBytes(randomArray);
    93         if (_save(SAMPLE_KEY, (SAMPLE_KEY + new String(randomArray, StandardCharsets.UTF_8)).toCharArray(),
    94                 "Sample value ensuring that decryption is working.")) {
     93        if (_save(SAMPLE_KEY, (SAMPLE_KEY + new String(randomArray, StandardCharsets.UTF_8)).toCharArray())) {
    9594            LOG.fine("saved sample key");
    9695            return true;
     
    117116    @Override
    118117    public void save(String key, char[] password, String description) {
    119         _save(key, password, description);
     118        _save(key, password);
    120119    }
    121     private boolean _save(String key, char[] password, String description) {
     120
     121    private boolean _save(String key, char[] password) {
    122122        try {
    123123            prefs.putByteArray(key, encryption.encrypt(password));
  • applications/editors/josm/plugins/native-password-manager/src/org/netbeans/modules/keyring/gnome/GnomeKeyringLibrary.java

    r34504 r35665  
    4343package org.netbeans.modules.keyring.gnome;
    4444
    45 import com.sun.jna.DefaultTypeMapper;
     45import com.sun.jna.DefaultTypeMapper; // NOSONAR
    4646import com.sun.jna.FromNativeContext;
    4747import com.sun.jna.Library;
     
    6868        // http://packages.ubuntu.com/search?suite=precise&arch=any&mode=exactfilename&searchon=contents&keywords=libgnome-keyring.so.0
    6969        private static final String EXPLICIT_ONEIRIC = "/usr/lib/libgnome-keyring.so.0";
    70         private static Object load(Map<String,?> options) {
     70        private static GnomeKeyringLibrary load(Map<String,?> options) {
    7171            try {
    72                 return Native.loadLibrary(GENERIC, GnomeKeyringLibrary.class, options);
     72                return Native.load(GENERIC, GnomeKeyringLibrary.class, options);
    7373            } catch (UnsatisfiedLinkError x) {
    7474                // #203735: on Oneiric, may have trouble finding right lib.
     
    7676                // Unclear if this workaround is still needed for Oneiric with 3.4, but seems harmless to leave it in for now.
    7777                if (new File(EXPLICIT_ONEIRIC).isFile()) {
    78                     return Native.loadLibrary(EXPLICIT_ONEIRIC, GnomeKeyringLibrary.class, options);
     78                    return Native.load(EXPLICIT_ONEIRIC, GnomeKeyringLibrary.class, options);
    7979                } else {
    8080                    throw x;
     
    8585    }
    8686
    87     GnomeKeyringLibrary LIBRARY = (GnomeKeyringLibrary) LibFinder.load(Collections.singletonMap(OPTION_TYPE_MAPPER, new DefaultTypeMapper() {
     87    GnomeKeyringLibrary LIBRARY = LibFinder.load(Collections.singletonMap(OPTION_TYPE_MAPPER, new DefaultTypeMapper() {
    8888        {
    8989            addTypeConverter(Boolean.TYPE, new TypeConverter() { // #198921
     
    107107
    108108    // GnomeKeyringAttributeList gnome_keyring_attribute_list_new() = g_array_new(FALSE, FALSE, sizeof(GnomeKeyringAttribute))
    109     int GnomeKeyringAttribute_SIZE = Pointer.SIZE * 3; // conservatively: 2 pointers + 1 enum
     109    int GnomeKeyringAttribute_SIZE = Native.POINTER_SIZE * 3; // conservatively: 2 pointers + 1 enum
    110110
    111111    void gnome_keyring_attribute_list_append_string(
     
    146146        @Override
    147147        protected List<String> getFieldOrder() {
    148             return Arrays.asList( new String[] {
     148            return Arrays.asList(
    149149                "keyring",
    150150                "item_id",
    151151                "attributes",
    152                 "secret",
    153             } );
     152                "secret"
     153            );
    154154        }
    155155    }
  • applications/editors/josm/plugins/native-password-manager/src/org/netbeans/modules/keyring/kde/KWalletProvider.java

    r34634 r35665  
    5454
    5555/**
    56  *
     56 * JNA wrapper for certain functions from KDE Wallet API.
    5757 * @author psychollek, ynov
    5858 */
    59 public class KWalletProvider implements KeyringProvider{
     59public class KWalletProvider implements KeyringProvider {
    6060
    6161    private static final Logger logger = Logger.getLogger(KWalletProvider.class.getName());
  • applications/editors/josm/plugins/native-password-manager/src/org/netbeans/modules/keyring/mac/SecurityLibrary.java

    r30822 r35665  
    4343package org.netbeans.modules.keyring.mac;
    4444
    45 import com.sun.jna.Library;
     45import com.sun.jna.Library; // NOSONAR
    4646import com.sun.jna.Native;
    4747import com.sun.jna.Pointer;
     
    5252public interface SecurityLibrary extends Library {
    5353
    54     SecurityLibrary LIBRARY = (SecurityLibrary) Native.loadLibrary("Security", SecurityLibrary.class);
     54    SecurityLibrary LIBRARY = Native.load("Security", SecurityLibrary.class);
    5555
    5656    int SecKeychainAddGenericPassword(
  • applications/editors/josm/plugins/native-password-manager/src/org/netbeans/modules/keyring/win32/Win32Protect.java

    r30822 r35665  
    4343package org.netbeans.modules.keyring.win32;
    4444
    45 import com.sun.jna.Memory;
     45import com.sun.jna.Memory; // NOSONAR
    4646import com.sun.jna.Native;
    4747import com.sun.jna.Pointer;
     
    126126
    127127    public interface CryptLib extends StdCallLibrary {
    128         CryptLib INSTANCE = (CryptLib) Native.loadLibrary("Crypt32", CryptLib.class); // NOI18N
     128        CryptLib INSTANCE = Native.load("Crypt32", CryptLib.class); // NOI18N
    129129        /** @see <a href="http://msdn.microsoft.com/en-us/library/aa380261(VS.85,printer).aspx">Reference</a> */
    130130        boolean CryptProtectData(
     
    167167        @Override
    168168        protected List<String> getFieldOrder() {
    169             return Arrays.asList( new String[] {
     169            return Arrays.asList(
    170170                "cbData",
    171                 "pbData",
    172             } );
     171                "pbData"
     172            );
    173173        }
    174174    }
  • applications/editors/josm/plugins/native-password-manager/src/org/openstreetmap/josm/plugins/npm/NPMCredentialsAgent.java

    r34634 r35665  
    2525import org.openstreetmap.josm.io.auth.CredentialsAgentException;
    2626import org.openstreetmap.josm.spi.preferences.Config;
    27 import org.openstreetmap.josm.tools.Utils;
    2827
    2928public class NPMCredentialsAgent extends AbstractCredentialsAgent {
     
    245244        }
    246245        if (!sensitive.isEmpty()) {
    247             text.append(tr("<br><strong>Warning:</strong> There may be sensitive data left in your preference file. ({0})", Utils.join(", ", sensitive)));
     246            text.append(tr("<br><strong>Warning:</strong> There may be sensitive data left in your preference file. ({0})", String.join(", ", sensitive)));
    248247        }
    249248        pnlMessage.setText(text.toString());
     
    255254        return tr("Save user and password ({0})", type.getName());
    256255    }
    257 
    258    
    259256}
  • applications/editors/josm/plugins/native-password-manager/src/org/openstreetmap/josm/plugins/npm/NPMType.java

    r34472 r35665  
    4141            tr("Encrypt data with Windows logon credentials")
    4242    );
    43    
     43
    4444    private static String genericIntro(String name) {
    4545        return tr("The native password manager plugin detected {0} on your system.", name);
    46 //                + "You can let {1} handle your sensitive data from now on. "
    47 //                + "This means your username and password is no longer saved in plain text in your preferences file. "
    48 //                + "(It is still transferred over the network unencrypted, though.)", name, name);
    4946    }
    50    
     47
    5148    private final String prefString;
    52     private final Class<? extends KeyringProvider> providerClass;
    5349    private final String name;
    54     private KeyringProvider provider;
     50    private final KeyringProvider provider;
    5551    private final String introText;
    5652    private final String selectionText;
     
    5854    NPMType(String prefString, Class<? extends KeyringProvider> providerClass, String name, String selectionText) {
    5955        this.prefString = prefString;
    60         this.providerClass = providerClass;
     56        if (providerClass != null) {
     57            try {
     58                this.provider = providerClass.getDeclaredConstructor().newInstance();
     59            } catch (IllegalArgumentException | ReflectiveOperationException | SecurityException ex) {
     60                throw new JosmRuntimeException(ex);
     61            }
     62        } else {
     63            this.provider = null;
     64        }
    6165        this.name = name;
    6266        this.introText = genericIntro(name);
     
    9094   
    9195    public KeyringProvider getProvider() {
    92         if (providerClass == null) return null;
    93         if (provider == null) {
    94             try {
    95                 provider = providerClass.getDeclaredConstructor().newInstance();
    96             } catch (IllegalArgumentException | ReflectiveOperationException | SecurityException ex) {
    97                 throw new JosmRuntimeException(ex);
    98             }
    99         }
    10096        return provider;
    10197    }
Note: See TracChangeset for help on using the changeset viewer.