Accept addresses which lack the prepended BM-; useful for copying and pasting
This commit is contained in:
parent
7cef4958ca
commit
64fad80f44
15
addresses.py
15
addresses.py
|
@ -117,12 +117,18 @@ def encodeAddress(version,stream,ripe):
|
||||||
def decodeAddress(address):
|
def decodeAddress(address):
|
||||||
#returns (status, address version number, stream number, data (almost certainly a ripe hash))
|
#returns (status, address version number, stream number, data (almost certainly a ripe hash))
|
||||||
|
|
||||||
#check for the BM- at the front of the address. If it isn't there, this address might be for a different version of Bitmessage
|
"""#check for the BM- at the front of the address. If it isn't there, this address might be for a different version of Bitmessage
|
||||||
if address[:3] != 'BM-':
|
if address[:3] != 'BM-':
|
||||||
status = 'missingbm'
|
status = 'missingbm'
|
||||||
return status,0,0,0
|
return status,0,0,0
|
||||||
#take off the BM-
|
#take off the BM-
|
||||||
integer = decodeBase58(address[3:])
|
integer = decodeBase58(address[3:])"""
|
||||||
|
|
||||||
|
#changed Bitmessage to accept addresses that lack the "BM-" prefix.
|
||||||
|
if address[:3] == 'BM-':
|
||||||
|
integer = decodeBase58(address[3:])
|
||||||
|
else:
|
||||||
|
integer = decodeBase58(address)
|
||||||
if integer == 0:
|
if integer == 0:
|
||||||
status = 'invalidcharacters'
|
status = 'invalidcharacters'
|
||||||
return status,0,0,0
|
return status,0,0,0
|
||||||
|
@ -166,6 +172,11 @@ def decodeAddress(address):
|
||||||
status = 'success'
|
status = 'success'
|
||||||
return status,addressVersionNumber,streamNumber,data[-24:-4]
|
return status,addressVersionNumber,streamNumber,data[-24:-4]
|
||||||
|
|
||||||
|
def addBMIfNotPresent(address):
|
||||||
|
if address[:3] != 'BM-':
|
||||||
|
return 'BM-'+address
|
||||||
|
else:
|
||||||
|
return address
|
||||||
|
|
||||||
def addressStream(address):
|
def addressStream(address):
|
||||||
#returns the stream number of an address or False if there is a problem with the address.
|
#returns the stream number of an address or False if there is a problem with the address.
|
||||||
|
|
|
@ -545,7 +545,6 @@ class receiveDataThread(QThread):
|
||||||
|
|
||||||
if messageEncodingType == 2:
|
if messageEncodingType == 2:
|
||||||
bodyPositionIndex = string.find(message,'\nBody:')
|
bodyPositionIndex = string.find(message,'\nBody:')
|
||||||
print 'bodyPositionIndex', bodyPositionIndex
|
|
||||||
if bodyPositionIndex > 1:
|
if bodyPositionIndex > 1:
|
||||||
subject = message[8:bodyPositionIndex]
|
subject = message[8:bodyPositionIndex]
|
||||||
body = message[bodyPositionIndex+6:]
|
body = message[bodyPositionIndex+6:]
|
||||||
|
@ -2755,7 +2754,7 @@ class MyForm(QtGui.QMainWindow):
|
||||||
message = str(self.ui.textEditMessage.document().toPlainText().toUtf8())
|
message = str(self.ui.textEditMessage.document().toPlainText().toUtf8())
|
||||||
if self.ui.radioButtonSpecific.isChecked(): #To send a message to specific people (rather than broadcast)
|
if self.ui.radioButtonSpecific.isChecked(): #To send a message to specific people (rather than broadcast)
|
||||||
toAddressesList = [s.strip() for s in toAddresses.replace(',', ';').split(';')]
|
toAddressesList = [s.strip() for s in toAddresses.replace(',', ';').split(';')]
|
||||||
toAddressesList = list(set(toAddressesList)) #remove duplicate addresses
|
toAddressesList = list(set(toAddressesList)) #remove duplicate addresses. If the user has one address with a BM- and the same address without the BM-, this will not catch it. They'll send the message to the person twice.
|
||||||
for toAddress in toAddressesList:
|
for toAddress in toAddressesList:
|
||||||
if toAddress <> '':
|
if toAddress <> '':
|
||||||
status,addressVersionNumber,streamNumber,ripe = decodeAddress(toAddress)
|
status,addressVersionNumber,streamNumber,ripe = decodeAddress(toAddress)
|
||||||
|
@ -2773,6 +2772,7 @@ class MyForm(QtGui.QMainWindow):
|
||||||
print 'Status bar!', 'Error: you must specify a From address.'
|
print 'Status bar!', 'Error: you must specify a From address.'
|
||||||
self.statusBar().showMessage('Error: You must specify a From address. If you don''t have one, go to the ''Your Identities'' tab.')
|
self.statusBar().showMessage('Error: You must specify a From address. If you don''t have one, go to the ''Your Identities'' tab.')
|
||||||
else:
|
else:
|
||||||
|
toAddress = addBMIfNotPresent(toAddress)
|
||||||
self.statusBar().showMessage('')
|
self.statusBar().showMessage('')
|
||||||
if connectionsCount[streamNumber] == 0:
|
if connectionsCount[streamNumber] == 0:
|
||||||
self.statusBar().showMessage('Warning: You are currently not connected. Bitmessage will do the work necessary to send the message but it won\'t send until you connect.')
|
self.statusBar().showMessage('Warning: You are currently not connected. Bitmessage will do the work necessary to send the message but it won\'t send until you connect.')
|
||||||
|
@ -3022,7 +3022,7 @@ class MyForm(QtGui.QMainWindow):
|
||||||
if self.NewSubscriptionDialogInstance.ui.labelSubscriptionAddressCheck.text() == 'Address is valid.':
|
if self.NewSubscriptionDialogInstance.ui.labelSubscriptionAddressCheck.text() == 'Address is valid.':
|
||||||
#First we must check to see if the address is already in the address book. The user cannot add it again or else it will cause problems when updating and deleting the entry.
|
#First we must check to see if the address is already in the address book. The user cannot add it again or else it will cause problems when updating and deleting the entry.
|
||||||
sqlLock.acquire()
|
sqlLock.acquire()
|
||||||
t = (str(self.NewSubscriptionDialogInstance.ui.lineEditSubscriptionAddress.text()),)
|
t = (addBMIfNotPresent(str(self.NewSubscriptionDialogInstance.ui.lineEditSubscriptionAddress.text())),)
|
||||||
sqlSubmitQueue.put('''select * from addressbook where address=?''')
|
sqlSubmitQueue.put('''select * from addressbook where address=?''')
|
||||||
sqlSubmitQueue.put(t)
|
sqlSubmitQueue.put(t)
|
||||||
queryreturn = sqlReturnQueue.get()
|
queryreturn = sqlReturnQueue.get()
|
||||||
|
@ -3031,10 +3031,10 @@ class MyForm(QtGui.QMainWindow):
|
||||||
self.ui.tableWidgetAddressBook.insertRow(0)
|
self.ui.tableWidgetAddressBook.insertRow(0)
|
||||||
newItem = QtGui.QTableWidgetItem(unicode(self.NewSubscriptionDialogInstance.ui.newsubscriptionlabel.text().toUtf8(),'utf-8'))
|
newItem = QtGui.QTableWidgetItem(unicode(self.NewSubscriptionDialogInstance.ui.newsubscriptionlabel.text().toUtf8(),'utf-8'))
|
||||||
self.ui.tableWidgetAddressBook.setItem(0,0,newItem)
|
self.ui.tableWidgetAddressBook.setItem(0,0,newItem)
|
||||||
newItem = QtGui.QTableWidgetItem(self.NewSubscriptionDialogInstance.ui.lineEditSubscriptionAddress.text())
|
newItem = QtGui.QTableWidgetItem(addBMIfNotPresent(self.NewSubscriptionDialogInstance.ui.lineEditSubscriptionAddress.text()))
|
||||||
newItem.setFlags( QtCore.Qt.ItemIsSelectable | QtCore.Qt.ItemIsEnabled )
|
newItem.setFlags( QtCore.Qt.ItemIsSelectable | QtCore.Qt.ItemIsEnabled )
|
||||||
self.ui.tableWidgetAddressBook.setItem(0,1,newItem)
|
self.ui.tableWidgetAddressBook.setItem(0,1,newItem)
|
||||||
t = (str(self.NewSubscriptionDialogInstance.ui.newsubscriptionlabel.text().toUtf8()),str(self.NewSubscriptionDialogInstance.ui.lineEditSubscriptionAddress.text()))
|
t = (str(self.NewSubscriptionDialogInstance.ui.newsubscriptionlabel.text().toUtf8()),addBMIfNotPresent(str(self.NewSubscriptionDialogInstance.ui.lineEditSubscriptionAddress.text())))
|
||||||
sqlLock.acquire()
|
sqlLock.acquire()
|
||||||
sqlSubmitQueue.put('''INSERT INTO addressbook VALUES (?,?)''')
|
sqlSubmitQueue.put('''INSERT INTO addressbook VALUES (?,?)''')
|
||||||
sqlSubmitQueue.put(t)
|
sqlSubmitQueue.put(t)
|
||||||
|
@ -3053,7 +3053,7 @@ class MyForm(QtGui.QMainWindow):
|
||||||
if self.NewSubscriptionDialogInstance.ui.labelSubscriptionAddressCheck.text() == 'Address is valid.':
|
if self.NewSubscriptionDialogInstance.ui.labelSubscriptionAddressCheck.text() == 'Address is valid.':
|
||||||
#First we must check to see if the address is already in the address book. The user cannot add it again or else it will cause problems when updating and deleting the entry.
|
#First we must check to see if the address is already in the address book. The user cannot add it again or else it will cause problems when updating and deleting the entry.
|
||||||
sqlLock.acquire()
|
sqlLock.acquire()
|
||||||
t = (str(self.NewSubscriptionDialogInstance.ui.lineEditSubscriptionAddress.text()),)
|
t = (addBMIfNotPresent(str(self.NewSubscriptionDialogInstance.ui.lineEditSubscriptionAddress.text())),)
|
||||||
sqlSubmitQueue.put('''select * from subscriptions where address=?''')
|
sqlSubmitQueue.put('''select * from subscriptions where address=?''')
|
||||||
sqlSubmitQueue.put(t)
|
sqlSubmitQueue.put(t)
|
||||||
queryreturn = sqlReturnQueue.get()
|
queryreturn = sqlReturnQueue.get()
|
||||||
|
@ -3062,10 +3062,10 @@ class MyForm(QtGui.QMainWindow):
|
||||||
self.ui.tableWidgetSubscriptions.insertRow(0)
|
self.ui.tableWidgetSubscriptions.insertRow(0)
|
||||||
newItem = QtGui.QTableWidgetItem(unicode(self.NewSubscriptionDialogInstance.ui.newsubscriptionlabel.text().toUtf8(),'utf-8'))
|
newItem = QtGui.QTableWidgetItem(unicode(self.NewSubscriptionDialogInstance.ui.newsubscriptionlabel.text().toUtf8(),'utf-8'))
|
||||||
self.ui.tableWidgetSubscriptions.setItem(0,0,newItem)
|
self.ui.tableWidgetSubscriptions.setItem(0,0,newItem)
|
||||||
newItem = QtGui.QTableWidgetItem(self.NewSubscriptionDialogInstance.ui.lineEditSubscriptionAddress.text())
|
newItem = QtGui.QTableWidgetItem(addBMIfNotPresent(self.NewSubscriptionDialogInstance.ui.lineEditSubscriptionAddress.text()))
|
||||||
newItem.setFlags( QtCore.Qt.ItemIsSelectable | QtCore.Qt.ItemIsEnabled )
|
newItem.setFlags( QtCore.Qt.ItemIsSelectable | QtCore.Qt.ItemIsEnabled )
|
||||||
self.ui.tableWidgetSubscriptions.setItem(0,1,newItem)
|
self.ui.tableWidgetSubscriptions.setItem(0,1,newItem)
|
||||||
t = (str(self.NewSubscriptionDialogInstance.ui.newsubscriptionlabel.text().toUtf8()),str(self.NewSubscriptionDialogInstance.ui.lineEditSubscriptionAddress.text()),True)
|
t = (str(self.NewSubscriptionDialogInstance.ui.newsubscriptionlabel.text().toUtf8()),addBMIfNotPresent(str(self.NewSubscriptionDialogInstance.ui.lineEditSubscriptionAddress.text())),True)
|
||||||
sqlLock.acquire()
|
sqlLock.acquire()
|
||||||
sqlSubmitQueue.put('''INSERT INTO subscriptions VALUES (?,?,?)''')
|
sqlSubmitQueue.put('''INSERT INTO subscriptions VALUES (?,?,?)''')
|
||||||
sqlSubmitQueue.put(t)
|
sqlSubmitQueue.put(t)
|
||||||
|
@ -3180,7 +3180,7 @@ class MyForm(QtGui.QMainWindow):
|
||||||
if self.NewBlacklistDialogInstance.ui.labelSubscriptionAddressCheck.text() == 'Address is valid.':
|
if self.NewBlacklistDialogInstance.ui.labelSubscriptionAddressCheck.text() == 'Address is valid.':
|
||||||
#First we must check to see if the address is already in the address book. The user cannot add it again or else it will cause problems when updating and deleting the entry.
|
#First we must check to see if the address is already in the address book. The user cannot add it again or else it will cause problems when updating and deleting the entry.
|
||||||
sqlLock.acquire()
|
sqlLock.acquire()
|
||||||
t = (str(self.NewBlacklistDialogInstance.ui.lineEditSubscriptionAddress.text()),)
|
t = (addBMIfNotPresent(str(self.NewBlacklistDialogInstance.ui.lineEditSubscriptionAddress.text())),)
|
||||||
if config.get('bitmessagesettings', 'blackwhitelist') == 'black':
|
if config.get('bitmessagesettings', 'blackwhitelist') == 'black':
|
||||||
sqlSubmitQueue.put('''select * from blacklist where address=?''')
|
sqlSubmitQueue.put('''select * from blacklist where address=?''')
|
||||||
else:
|
else:
|
||||||
|
@ -3192,10 +3192,10 @@ class MyForm(QtGui.QMainWindow):
|
||||||
self.ui.tableWidgetBlacklist.insertRow(0)
|
self.ui.tableWidgetBlacklist.insertRow(0)
|
||||||
newItem = QtGui.QTableWidgetItem(unicode(self.NewBlacklistDialogInstance.ui.newsubscriptionlabel.text().toUtf8(),'utf-8'))
|
newItem = QtGui.QTableWidgetItem(unicode(self.NewBlacklistDialogInstance.ui.newsubscriptionlabel.text().toUtf8(),'utf-8'))
|
||||||
self.ui.tableWidgetBlacklist.setItem(0,0,newItem)
|
self.ui.tableWidgetBlacklist.setItem(0,0,newItem)
|
||||||
newItem = QtGui.QTableWidgetItem(self.NewBlacklistDialogInstance.ui.lineEditSubscriptionAddress.text())
|
newItem = QtGui.QTableWidgetItem(addBMIfNotPresent(self.NewBlacklistDialogInstance.ui.lineEditSubscriptionAddress.text()))
|
||||||
newItem.setFlags( QtCore.Qt.ItemIsSelectable | QtCore.Qt.ItemIsEnabled )
|
newItem.setFlags( QtCore.Qt.ItemIsSelectable | QtCore.Qt.ItemIsEnabled )
|
||||||
self.ui.tableWidgetBlacklist.setItem(0,1,newItem)
|
self.ui.tableWidgetBlacklist.setItem(0,1,newItem)
|
||||||
t = (str(self.NewBlacklistDialogInstance.ui.newsubscriptionlabel.text().toUtf8()),str(self.NewBlacklistDialogInstance.ui.lineEditSubscriptionAddress.text()),True)
|
t = (str(self.NewBlacklistDialogInstance.ui.newsubscriptionlabel.text().toUtf8()),addBMIfNotPresent(str(self.NewBlacklistDialogInstance.ui.lineEditSubscriptionAddress.text())),True)
|
||||||
sqlLock.acquire()
|
sqlLock.acquire()
|
||||||
if config.get('bitmessagesettings', 'blackwhitelist') == 'black':
|
if config.get('bitmessagesettings', 'blackwhitelist') == 'black':
|
||||||
sqlSubmitQueue.put('''INSERT INTO blacklist VALUES (?,?,?)''')
|
sqlSubmitQueue.put('''INSERT INTO blacklist VALUES (?,?,?)''')
|
||||||
|
|
Reference in New Issue
Block a user