connectbot/sshlib

View on GitHub

Showing 244 of 412 total issues

Method handleMessage has 81 lines of code (exceeds 25 allowed). Consider refactoring.
Open

    public void handleMessage(byte[] msg, int msglen) throws IOException
    {
        if (msg == null)
        {
            if (log.isEnabled())
Severity: Major
Found in src/main/java/com/trilead/ssh2/channel/ChannelManager.java - About 3 hrs to fix

    Method connect has 80 lines of code (exceeds 25 allowed). Consider refactoring.
    Open

        public synchronized ConnectionInfo connect(ServerHostKeyVerifier verifier, int connectTimeout, int kexTimeout)
                throws IOException
        {
            final class TimeoutState
            {
    Severity: Major
    Found in src/main/java/com/trilead/ssh2/Connection.java - About 3 hrs to fix

      Method desFunc has 79 lines of code (exceeds 25 allowed). Consider refactoring.
      Open

          protected void desFunc(int[] wKey, byte[] in, int inOff, byte[] out, int outOff)
          {
              int work, right, left;
      
              left = (in[inOff + 0] & 0xff) << 24;
      Severity: Major
      Found in src/main/java/com/trilead/ssh2/crypto/cipher/DES.java - About 3 hrs to fix

        Method getChannelData has 79 lines of code (exceeds 25 allowed). Consider refactoring.
        Open

            public int getChannelData(Channel c, boolean extended, byte[] target, int off, int len) throws IOException
            {
                int copylen = 0;
                int increment = 0;
                int remoteID = 0;
        Severity: Major
        Found in src/main/java/com/trilead/ssh2/channel/ChannelManager.java - About 3 hrs to fix

          Method msgChannelOpen has 79 lines of code (exceeds 25 allowed). Consider refactoring.
          Open

              public void msgChannelOpen(byte[] msg, int msglen) throws IOException
              {
                  TypesReader tr = new TypesReader(msg, 0, msglen);
          
                  tr.readByte(); // skip packet type
          Severity: Major
          Found in src/main/java/com/trilead/ssh2/channel/ChannelManager.java - About 3 hrs to fix

            Method createAttrs has a Cognitive Complexity of 22 (exceeds 5 allowed). Consider refactoring.
            Open

                private byte[] createAttrs(SFTPv3FileAttributes attr)
                {
                    TypesWriter tw = new TypesWriter();
            
                    int attrFlags = 0;
            Severity: Minor
            Found in src/main/java/com/trilead/ssh2/SFTPv3Client.java - About 3 hrs to fix

            Cognitive Complexity

            Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

            A method's cognitive complexity is based on a few simple rules:

            • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
            • Code is considered more complex for each "break in the linear flow of the code"
            • Code is considered more complex when "flow breaking structures are nested"

            Further reading

            Method openConnection has a Cognitive Complexity of 22 (exceeds 5 allowed). Consider refactoring.
            Open

                @Override
                public Socket openConnection(String hostname, int port, int connectTimeout) throws IOException {
                    Socket sock = new Socket();
            
                    InetAddress addr = InetAddress.getByName(proxyHost);
            Severity: Minor
            Found in src/main/java/com/trilead/ssh2/HTTPProxyData.java - About 3 hrs to fix

            Cognitive Complexity

            Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

            A method's cognitive complexity is based on a few simple rules:

            • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
            • Code is considered more complex for each "break in the linear flow of the code"
            • Code is considered more complex when "flow breaking structures are nested"

            Further reading

            Method openConnection has 77 lines of code (exceeds 25 allowed). Consider refactoring.
            Open

                @Override
                public Socket openConnection(String hostname, int port, int connectTimeout) throws IOException {
                    Socket sock = new Socket();
            
                    InetAddress addr = InetAddress.getByName(proxyHost);
            Severity: Major
            Found in src/main/java/com/trilead/ssh2/HTTPProxyData.java - About 3 hrs to fix

              Method parsePEM has 75 lines of code (exceeds 25 allowed). Consider refactoring.
              Open

                  public static final PEMStructure parsePEM(char[] pem) throws IOException
                  {
                      PEMStructure ps = new PEMStructure();
              
                      String line = null;
              Severity: Major
              Found in src/main/java/com/trilead/ssh2/crypto/PEMDecoder.java - About 3 hrs to fix

                Method decryptData has 74 lines of code (exceeds 25 allowed). Consider refactoring.
                Open

                    private static byte[] decryptData(byte[] data, byte[] pw, byte[] salt, int rounds, String algo) throws IOException
                    {
                        BlockCipher bc;
                        int keySize;
                
                
                Severity: Major
                Found in src/main/java/com/trilead/ssh2/crypto/PEMDecoder.java - About 2 hrs to fix

                  Method run has a Cognitive Complexity of 21 (exceeds 5 allowed). Consider refactoring.
                  Open

                          public void run()
                          {
                              byte[] buff = new byte[8192];
                  
                              while (true)
                  Severity: Minor
                  Found in src/main/java/com/trilead/ssh2/StreamGobbler.java - About 2 hrs to fix

                  Cognitive Complexity

                  Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

                  A method's cognitive complexity is based on a few simple rules:

                  • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
                  • Code is considered more complex for each "break in the linear flow of the code"
                  • Code is considered more complex when "flow breaking structures are nested"

                  Further reading

                  Method decryptData has a Cognitive Complexity of 21 (exceeds 5 allowed). Consider refactoring.
                  Open

                      private static byte[] decryptData(byte[] data, byte[] pw, byte[] salt, int rounds, String algo) throws IOException
                      {
                          BlockCipher bc;
                          int keySize;
                  
                  
                  Severity: Minor
                  Found in src/main/java/com/trilead/ssh2/crypto/PEMDecoder.java - About 2 hrs to fix

                  Cognitive Complexity

                  Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

                  A method's cognitive complexity is based on a few simple rules:

                  • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
                  • Code is considered more complex for each "break in the linear flow of the code"
                  • Code is considered more complex when "flow breaking structures are nested"

                  Further reading

                  File BlowFish.java has 287 lines of code (exceeds 250 allowed). Consider refactoring.
                  Open

                  
                  package com.trilead.ssh2.crypto.cipher;
                  
                  /*
                   * This file was shamelessly taken from the Bouncy Castle Crypto package.
                  Severity: Minor
                  Found in src/main/java/com/trilead/ssh2/crypto/cipher/BlowFish.java - About 2 hrs to fix

                    Method sendMessage has 71 lines of code (exceeds 25 allowed). Consider refactoring.
                    Open

                        public void sendMessage(byte[] message, int off, int len, int padd) throws IOException
                        {
                            if (padd < 4)
                                padd = 4;
                            else if (padd > 64)
                    Severity: Major
                    Found in src/main/java/com/trilead/ssh2/transport/TransportConnection.java - About 2 hrs to fix

                      Method decode has 69 lines of code (exceeds 25 allowed). Consider refactoring.
                      Open

                          public static byte[] decode(char[] message) throws IOException
                          {
                              byte buff[] = new byte[4];
                              byte dest[] = new byte[message.length];
                      
                      
                      Severity: Major
                      Found in src/main/java/com/trilead/ssh2/crypto/Base64.java - About 2 hrs to fix

                        Method run has a Cognitive Complexity of 20 (exceeds 5 allowed). Consider refactoring.
                        Open

                            @Override
                            public void run()
                            {
                                try
                                {
                        Severity: Minor
                        Found in src/main/java/com/trilead/ssh2/channel/AuthAgentForwardThread.java - About 2 hrs to fix

                        Cognitive Complexity

                        Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

                        A method's cognitive complexity is based on a few simple rules:

                        • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
                        • Code is considered more complex for each "break in the linear flow of the code"
                        • Code is considered more complex when "flow breaking structures are nested"

                        Further reading

                        Method run has 68 lines of code (exceeds 25 allowed). Consider refactoring.
                        Open

                            public void run()
                            {
                                try
                                {
                                    while (true)
                        Severity: Major
                        Found in src/main/java/com/trilead/ssh2/channel/StreamForwarder.java - About 2 hrs to fix

                          Method generateWorkingKey has 67 lines of code (exceeds 25 allowed). Consider refactoring.
                          Open

                              protected int[] generateWorkingKey(boolean encrypting, byte[] key, int off)
                              {
                                  int[] newKey = new int[32];
                                  boolean[] pc1m = new boolean[56], pcr = new boolean[56];
                          
                          
                          Severity: Major
                          Found in src/main/java/com/trilead/ssh2/crypto/cipher/DES.java - About 2 hrs to fix

                            TransportManager has 24 methods (exceeds 20 allowed). Consider refactoring.
                            Open

                            public class TransportManager
                            {
                                private static final Logger log = Logger.getLogger(TransportManager.class);
                            
                                class HandlerEntry
                            Severity: Minor
                            Found in src/main/java/com/trilead/ssh2/transport/TransportManager.java - About 2 hrs to fix

                              Method filterHostKeyTypes has a Cognitive Complexity of 19 (exceeds 5 allowed). Consider refactoring.
                              Open

                                  private void filterHostKeyTypes(CryptoWishList cwl) {
                                      if (verifier instanceof ExtendedServerHostKeyVerifier) {
                                          ExtendedServerHostKeyVerifier extendedVerifier = (ExtendedServerHostKeyVerifier) verifier;
                              
                                          List<String> knownAlgorithms = extendedVerifier.getKnownKeyAlgorithmsForHost(hostname, port);
                              Severity: Minor
                              Found in src/main/java/com/trilead/ssh2/transport/KexManager.java - About 2 hrs to fix

                              Cognitive Complexity

                              Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

                              A method's cognitive complexity is based on a few simple rules:

                              • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
                              • Code is considered more complex for each "break in the linear flow of the code"
                              • Code is considered more complex when "flow breaking structures are nested"

                              Further reading

                              Severity
                              Category
                              Status
                              Source
                              Language