@@ -14,7 +14,7 @@ use nostr_gossip::error::GossipError;
1414use nostr_gossip:: { BestRelaySelection , GossipListKind , GossipPublicKeyStatus , NostrGossip } ;
1515use tokio:: sync:: Mutex ;
1616
17- use crate :: constant:: PUBKEY_METADATA_OUTDATED_AFTER ;
17+ use crate :: constant:: { MAX_NIP17_SIZE , MAX_NIP65_SIZE , PUBKEY_METADATA_OUTDATED_AFTER } ;
1818use crate :: flags:: Flags ;
1919
2020#[ derive( Default ) ]
@@ -70,7 +70,7 @@ impl NostrGossipMemory {
7070 let pk_data: & mut PkData =
7171 public_keys. get_or_insert_mut ( event. pubkey , PkData :: default) ;
7272
73- for ( relay_url, metadata) in nip65:: extract_relay_list ( event) {
73+ for ( relay_url, metadata) in nip65:: extract_relay_list ( event) . take ( MAX_NIP65_SIZE ) {
7474 // New bitflag for the relay
7575 let bitflag: Flags = match metadata {
7676 Some ( RelayMetadata :: Read ) => Flags :: READ ,
@@ -100,7 +100,7 @@ impl NostrGossipMemory {
100100 let pk_data: & mut PkData =
101101 public_keys. get_or_insert_mut ( event. pubkey , PkData :: default) ;
102102
103- for relay_url in nip17:: extract_relay_list ( event) {
103+ for relay_url in nip17:: extract_relay_list ( event) . take ( MAX_NIP17_SIZE ) {
104104 let relay_data = pk_data
105105 . relays
106106 . get_or_insert_mut ( relay_url. clone ( ) , PkRelayData :: default) ;
0 commit comments