@@ -622,14 +622,22 @@ def HandleSendMessage(self, params):
622
622
elif len (params ) == 4 :
623
623
toAddress , fromAddress , subject , message = params
624
624
encodingType = 2
625
+ TTL = 4 * 24 * 60 * 60
625
626
elif len (params ) == 5 :
626
627
toAddress , fromAddress , subject , message , encodingType = params
628
+ TTL = 4 * 24 * 60 * 60
629
+ elif len (params ) == 6 :
630
+ toAddress , fromAddress , subject , message , encodingType , TTL = params
627
631
if encodingType != 2 :
628
632
raise APIError (6 , 'The encoding type must be 2 because that is the only one this program currently supports.' )
629
633
subject = self ._decode (subject , "base64" )
630
634
message = self ._decode (message , "base64" )
631
635
if len (subject + message ) > (2 ** 18 - 500 ):
632
636
raise APIError (27 , 'Message is too long.' )
637
+ if TTL < 60 * 60 :
638
+ TTL = 60 * 60
639
+ if TTL > 28 * 24 * 60 * 60 :
640
+ TTL = 28 * 24 * 60 * 60
633
641
toAddress = addBMIfNotPresent (toAddress )
634
642
fromAddress = addBMIfNotPresent (fromAddress )
635
643
status , addressVersionNumber , streamNumber , toRipe = self ._verifyAddress (toAddress )
@@ -644,8 +652,21 @@ def HandleSendMessage(self, params):
644
652
645
653
ackdata = OpenSSL .rand (32 )
646
654
647
- t = ('' , toAddress , toRipe , fromAddress , subject , message , ackdata , int (
648
- time .time ()), 'msgqueued' , 1 , 1 , 'sent' , 2 )
655
+ t = ('' ,
656
+ toAddress ,
657
+ toRipe ,
658
+ fromAddress ,
659
+ subject ,
660
+ message ,
661
+ ackdata ,
662
+ int (time .time ()), # sentTime (this won't change)
663
+ int (time .time ()), # lastActionTime
664
+ 0 ,
665
+ 'msgqueued' ,
666
+ 0 ,
667
+ 'sent' ,
668
+ 2 ,
669
+ TTL )
649
670
helper_sent .insert (t )
650
671
651
672
toLabel = ''
@@ -667,14 +688,22 @@ def HandleSendBroadcast(self, params):
667
688
if len (params ) == 3 :
668
689
fromAddress , subject , message = params
669
690
encodingType = 2
691
+ TTL = 4 * 24 * 60 * 60
670
692
elif len (params ) == 4 :
671
693
fromAddress , subject , message , encodingType = params
694
+ TTL = 4 * 24 * 60 * 60
695
+ elif len (params ) == 5 :
696
+ fromAddress , subject , message , encodingType , TTL = params
672
697
if encodingType != 2 :
673
698
raise APIError (6 , 'The encoding type must be 2 because that is the only one this program currently supports.' )
674
699
subject = self ._decode (subject , "base64" )
675
700
message = self ._decode (message , "base64" )
676
701
if len (subject + message ) > (2 ** 18 - 500 ):
677
702
raise APIError (27 , 'Message is too long.' )
703
+ if TTL < 60 * 60 :
704
+ TTL = 60 * 60
705
+ if TTL > 28 * 24 * 60 * 60 :
706
+ TTL = 28 * 24 * 60 * 60
678
707
fromAddress = addBMIfNotPresent (fromAddress )
679
708
self ._verifyAddress (fromAddress )
680
709
try :
@@ -686,9 +715,21 @@ def HandleSendBroadcast(self, params):
686
715
toAddress = '[Broadcast subscribers]'
687
716
ripe = ''
688
717
689
-
690
- t = ('' , toAddress , ripe , fromAddress , subject , message , ackdata , int (
691
- time .time ()), 'broadcastqueued' , 1 , 1 , 'sent' , 2 )
718
+ t = ('' ,
719
+ toAddress ,
720
+ ripe ,
721
+ fromAddress ,
722
+ subject ,
723
+ message ,
724
+ ackdata ,
725
+ int (time .time ()), # sentTime (this doesn't change)
726
+ int (time .time ()), # lastActionTime
727
+ 0 ,
728
+ 'broadcastqueued' ,
729
+ 0 ,
730
+ 'sent' ,
731
+ 2 ,
732
+ TTL )
692
733
helper_sent .insert (t )
693
734
694
735
toLabel = '[Broadcast subscribers]'
@@ -884,23 +925,6 @@ def HandleGetMessageDataByDestinationHash(self, params):
884
925
data += ']}'
885
926
return data
886
927
887
- def HandleGetPubKeyByHash (self , params ):
888
- # Method will eventually be used by a particular Android app to
889
- # retrieve pubkeys. Please do not yet add this to the api docs.
890
- if len (params ) != 1 :
891
- raise APIError (0 , 'I need 1 parameter!' )
892
- requestedHash , = params
893
- if len (requestedHash ) != 40 :
894
- raise APIError (19 , 'The length of hash should be 20 bytes (encoded in hex thus 40 characters).' )
895
- requestedHash = self ._decode (requestedHash , "hex" )
896
- queryreturn = sqlQuery ('''SELECT transmitdata FROM pubkeys WHERE hash = ? ; ''' , requestedHash )
897
- data = '{"pubkey":['
898
- for row in queryreturn :
899
- transmitdata , = row
900
- data += json .dumps ({'data' :transmitdata .encode ('hex' )}, indent = 4 , separators = (',' , ': ' ))
901
- data += ']}'
902
- return data
903
-
904
928
def HandleClientStatus (self , params ):
905
929
if len (shared .connectedHostsList ) == 0 :
906
930
networkStatus = 'notConnected'
@@ -980,7 +1004,6 @@ def HandleStatusBar(self, params):
980
1004
handlers ['disseminatePubkey' ] = HandleDissimatePubKey
981
1005
handlers ['getMessageDataByDestinationHash' ] = HandleGetMessageDataByDestinationHash
982
1006
handlers ['getMessageDataByDestinationTag' ] = HandleGetMessageDataByDestinationHash
983
- handlers ['getPubkeyByHash' ] = HandleGetPubKeyByHash
984
1007
handlers ['clientStatus' ] = HandleClientStatus
985
1008
handlers ['decodeAddress' ] = HandleDecodeAddress
986
1009
0 commit comments