check for empty strings, addtional error handling

This commit is contained in:
Justin Perdok
2021-11-13 23:26:08 +01:00
committed by GitHub
parent a5d5533acf
commit 5a0cbe2b08

View File

@ -10,25 +10,30 @@ GUIDE HERE: https://community.pwnagotchi.ai/t/setting-up-paw-gps-on-android
class PawGPS(plugins.Plugin): class PawGPS(plugins.Plugin):
__author__ = 'leont' __author__ = 'leont'
__version__ = '1.0.0' __version__ = '1.0.1'
__name__ = 'pawgps' __name__ = 'pawgps'
__license__ = 'GPL3' __license__ = 'GPL3'
__description__ = 'Saves GPS coordinates whenever an handshake is captured. The GPS data is get from PAW on android ' __description__ = 'Saves GPS coordinates whenever an handshake is captured. The GPS data is get from PAW on android.'
def on_loaded(self): def on_loaded(self):
logging.info("PAW-GPS loaded") logging.info("[paw-gps] plugin loaded")
if 'ip' not in self.options or ('ip' in self.options and self.options['ip'] is None): if 'ip' not in self.options or ('ip' in self.options and self.options['ip'] is None) or (len('ip' in self.options and self.options['ip']) is 0):
logging.info("PAW-GPS: No IP Address in the config file is defined, it uses the default (192.168.44.1:8080)") logging.info("[paw-gps] no IP Address defined in the config file, will uses paw server default (192.168.44.1:8080)")
def on_handshake(self, agent, filename, access_point, client_station): def on_handshake(self, agent, filename, access_point, client_station):
if 'ip' not in self.options or ('ip' in self.options and self.options['ip'] is None): if 'ip' not in self.options or ('ip' in self.options and self.options['ip'] is None or (len('ip' in self.options and self.options['ip']) is 0)):
ip = "192.168.44.1:8080" ip = "192.168.44.1:8080"
else: else:
ip = self.options['ip'] ip = self.options['ip']
try:
gps = requests.get('http://' + ip + '/gps.xhtml') gps = requests.get('http://' + ip + '/gps.xhtml')
try:
gps_filename = filename.replace('.pcap', '.paw-gps.json') gps_filename = filename.replace('.pcap', '.paw-gps.json')
logging.info("[paw-gps] saving GPS data to %s" % (gps_filename))
logging.info("saving GPS to %s (%s)" % (gps_filename, gps))
with open(gps_filename, 'w+t') as f: with open(gps_filename, 'w+t') as f:
f.write(gps.text) f.write(gps.text)
except Exception as error:
logging.error(f"[paw-gps] encountered error while saving gps data: {error}")
except Exception as error:
logging.error(f"[paw-gps] encountered error while getting gps data: {error}")