simlar-android icon indicating copy to clipboard operation
simlar-android copied to clipboard

Network connection may not be being verified in method

Open caev03 opened this issue 3 years ago • 0 comments

Dear Developer!

My name is Camilo Escobar, I am a PhD Student at Universidad de los Andes, Colombia. I am part of a research on the usage of network libraries within android apps. As a result of this we identified that there is a missing validation of network connection within a method since some network operations are being performed in it.

As you might know, a device may not be connected to a network. In order to get such information see https://developer.android.com/reference/android/net/ConnectivityManager. Therefore it is recommended to identify whether the device has a network connection available before performing a network operation.

In order to address this issue we recommend you to visit:

  1. https://developer.android.com/training/basics/network-ops/managing
  2. https://developer.android.com/reference/android/net/ConnectivityManager.NetworkCallback

Note: public NetworkInfo getActiveNetworkInfo () returns details about the currently active default data network. When connected, this network is the default route for outgoing connections. You should always check NetworkInfo#isConnected() before initiating network traffic, it requires Manifest.permission.ACCESS_NETWORK_STATE. However, isConnected() was deprecated in API level 29, one could instead use the ConnectivityManager.NetworkCallback API to learn about connectivity changes, to be more specific the onAvailable() method.

Potential Code Location not verifying network connection before performing a network request:

https://github.com/simlar/simlar-android/blob/6af259d2c9c52dba69f508878679e21c77c484d4/app/src/main/java/org/simlar/https/HttpsPost.java#L79-L85

caev03 avatar Aug 16 '21 13:08 caev03