Files
ginxsom/Trash/auth_debug_detailed.log
2025-09-02 12:54:22 -04:00

146 lines
10 KiB
Plaintext
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

═══════════════════════════════════════════════════════════════════
🔧 COMPREHENSIVE NOSTR EVENT VALIDATION DEBUG TEST 🔧
═══════════════════════════════════════════════════════════════════
🔍 STEP INIT-1: Initializing nostr library
✅ SUCCESS: Nostr library initialized
INFO: Testing Authorization header:
Nostr eyJraW5kIjoyNDI0MiwiaWQiOiI5NTYxNjA1YjEwNjJjZTM3ZTk1YWI5YjgxZDMwMGQ5YWQ1YmZiOWM1NDRhZTM5NWUxZWI0MWYwMDBjN2Q4OWY2IiwicHVia2V5IjoiNzliZTY2N2VmOWRjYmJhYzU1YTA2Mjk1Y2U4NzBiMDcwMjliZmNkYjJkY2UyOGQ5NTlmMjgxNWIxNmY4MTc5OCIsImNyZWF0ZWRfYXQiOjE3NTU2ODU0MjgsInRhZ3MiOltbInQiLCJ1cGxvYWQiXSxbIngiLCI4NDcxNjE3MWJhYjE2YWQwMjFiZDg5NTMwNTAxODlmZTYwNzU5MTc0MzZjZDExY2M5MzNmMDIxYmJjNWQ1YjBiIl0sWyJleHBpcmF0aW9uIiwiMTc1NTY4OTAyOCJdXSwiY29udGVudCI6IiIsInNpZyI6Ijk1MzE2YWI3NWY4ZDAyYmI5OTVhMTI0OGMyNzRiOTlmOWJjNWRjMGFmNTY0OWU2OTQ5MDE1ZDA2OTkwNGQ0YmRmM2EzYzc5NDI3YWM4MjQ1Njk4NmEyZTkzN2IxZDI1YjZkMmVlOGVlMWU0NDZhODQ5Y2IxOTc3NGRmOTQ4ZWFkIn0=
═══════════════════════════════════════════════════════════════════
🔍 STEP PARSE-1: Parsing Authorization header
DEBUG: parse_authorization_header called with header: Nostr eyJraW5kIjoyNDI0MiwiaWQiOiI5NTYxNjA1YjEwNjJj...
DEBUG: Extracted base64 event (length=616): eyJraW5kIjoyNDI0MiwiaWQiOiI5NTYxNjA1YjEwNjJjZTM3ZTk1YWI5YjgxZDMwMGQ5YWQ1YmZiOWM1NDRhZTM5NWUxZWI0MWYw...
DEBUG: Base64 decode result - decoded_len=461
DEBUG: Successfully decoded JSON (length=461): {"kind":24242,"id":"9561605b1062ce37e95ab9b81d300d9ad5bfb9c544ae395e1eb41f000c7d89f6","pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1755685428,"tags":[["t","upload"],["x","84716171bab16ad021bd8953050189fe6075917436cd11cc933f021bbc5d5b0b"],["expiration","1755689028"]],"content":"","sig":"95316ab75f8d02bb995a1248c274b99f9bc5dc0af5649e6949015d069904d4bdf3a3c79427ac82456986a2e937b1d25b6d2ee8ee1e446a849cb19774df948ead"}
✅ SUCCESS: Authorization header parsed successfully
INFO: Decoded JSON: {"kind":24242,"id":"9561605b1062ce37e95ab9b81d300d9ad5bfb9c544ae395e1eb41f000c7d89f6","pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1755685428,"tags":[["t","upload"],["x","84716171bab16ad021bd8953050189fe6075917436cd11cc933f021bbc5d5b0b"],["expiration","1755689028"]],"content":"","sig":"95316ab75f8d02bb995a1248c274b99f9bc5dc0af5649e6949015d069904d4bdf3a3c79427ac82456986a2e937b1d25b6d2ee8ee1e446a849cb19774df948ead"}
🔍 STEP PARSE-2: Parsing JSON string
✅ SUCCESS: JSON parsing successful
═══════════════════════════════════════════════════════════════════
🔍 STEP ANALYZE-1: Analyzing event field details
INFO: Field 'kind':
INFO: Type: Number
INFO: Value: 24242
INFO: Field 'id':
INFO: Type: String
INFO: Value: '9561605b1062ce37e95ab9b81d300d9ad5bfb9c544ae395e1eb41f000c7d89f6'
INFO: Length: 64
INFO: Field 'pubkey':
INFO: Type: String
INFO: Value: '79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798'
INFO: Length: 64
INFO: Field 'created_at':
INFO: Type: Number
INFO: Value: 1755685428
INFO: Field 'tags':
INFO: Type: Array
INFO: Size: 3
INFO: Field 'content':
INFO: Type: String
INFO: Value: ''
INFO: Length: 0
INFO: Field 'sig':
INFO: Type: String
INFO: Value: '95316ab75f8d02bb995a1248c274b99f9bc5dc0af5649e6949015d069904d4bdf3a3c79427ac82456986a2e937b1d25b6d2ee8ee1e446a849cb19774df948ead'
INFO: Length: 128
🔍 STEP MAIN-1: Running detailed structure validation
═══════════════════════════════════════════════════════════════════
🔍 STEP STRUCT-1: Starting detailed structure validation
✅ SUCCESS: Event is valid JSON object
🔍 STEP STRUCT-2: Checking required field existence
✅ SUCCESS: Field 'id' exists
✅ SUCCESS: Field 'pubkey' exists
✅ SUCCESS: Field 'created_at' exists
✅ SUCCESS: Field 'kind' exists
✅ SUCCESS: Field 'tags' exists
✅ SUCCESS: Field 'content' exists
✅ SUCCESS: Field 'sig' exists
🔍 STEP STRUCT-3: Validating field types
✅ SUCCESS: Field 'id' is string
✅ SUCCESS: Field 'pubkey' is string
✅ SUCCESS: Field 'created_at' is number
✅ SUCCESS: Field 'kind' is number
✅ SUCCESS: Field 'tags' is array
✅ SUCCESS: Field 'content' is string
✅ SUCCESS: Field 'sig' is string
🔍 STEP STRUCT-4: Validating hex string lengths
INFO: ID string: '9561605b1062ce37e95ab9b81d300d9ad5bfb9c544ae395e1eb41f000c7d89f6' (length: 64)
✅ SUCCESS: ID string length is correct (64 chars)
INFO: Pubkey string: '79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798' (length: 64)
✅ SUCCESS: Pubkey string length is correct (64 chars)
INFO: Signature string: '95316ab75f8d02bb995a1248c274b99f9bc5dc0af5649e6949015d069904d4bdf3a3c79427ac82456986a2e937b1d25b6d2ee8ee1e446a849cb19774df948ead' (length: 128)
✅ SUCCESS: Signature string length is correct (128 chars)
🔍 STEP STRUCT-5: Validating hex characters
INFO: Checking ID hex characters...
✅ SUCCESS: ID hex characters are valid (lowercase)
INFO: Checking pubkey hex characters...
✅ SUCCESS: Pubkey hex characters are valid (lowercase)
INFO: Checking signature hex characters...
✅ SUCCESS: Signature hex characters are valid (lowercase)
🔍 STEP STRUCT-6: Validating timestamp
INFO: Created_at timestamp: 1755685428
✅ SUCCESS: Timestamp is valid: 2025-08-20 10:23:48 UTC
🔍 STEP STRUCT-7: Validating kind
INFO: Event kind: 24242
✅ SUCCESS: Kind is valid: 24242
🔍 STEP STRUCT-8: Validating tags array structure
INFO: Tags array has 3 elements
INFO: Tag[0] has 2 elements
INFO: Tag[0][0]: 't'
INFO: Tag[0][1]: 'upload'
INFO: Tag[1] has 2 elements
INFO: Tag[1][0]: 'x'
INFO: Tag[1][1]: '84716171bab16ad021bd8953050189fe6075917436cd11cc933f021bbc5d5b0b'
INFO: Tag[2] has 2 elements
INFO: Tag[2][0]: 'expiration'
INFO: Tag[2][1]: '1755689028'
✅ SUCCESS: Tags array structure is valid
🔍 STEP STRUCT-9: Validating content
INFO: Content: '' (length: 0)
✅ SUCCESS: Content is valid string
✅ SUCCESS: Structure validation completed successfully
✅ SUCCESS: Detailed structure validation PASSED
🔍 STEP MAIN-2: Running detailed signature validation
═══════════════════════════════════════════════════════════════════
🔍 STEP CRYPTO-1: Starting detailed signature validation
🔍 STEP CRYPTO-2: Creating serialization array
✅ SUCCESS: Serialization array created
🔍 STEP CRYPTO-3: Converting to JSON string
✅ SUCCESS: JSON serialization string created
INFO: Serialization string (length 208): [0,"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798",1755685428,24242,[["t","upload"],["x","84716171bab16ad021bd8953050189fe6075917436cd11cc933f021bbc5d5b0b"],["expiration","1755689028"]],""]
🔍 STEP CRYPTO-4: Computing SHA256 hash
✅ SUCCESS: SHA256 hash computed
INFO: Event hash (32 bytes):
0000: 95 61 60 5b 10 62 ce 37 e9 5a b9 b8 1d 30 0d 9a |.a`[.b.7.Z...0..|
0010: d5 bf b9 c5 44 ae 39 5e 1e b4 1f 00 0c 7d 89 f6 |....D.9^.....}..|
🔍 STEP CRYPTO-5: Verifying event ID
INFO: Calculated ID: 9561605b1062ce37e95ab9b81d300d9ad5bfb9c544ae395e1eb41f000c7d89f6
INFO: Provided ID: 9561605b1062ce37e95ab9b81d300d9ad5bfb9c544ae395e1eb41f000c7d89f6
✅ SUCCESS: Event ID verification passed
🔍 STEP CRYPTO-6: Preparing signature verification
🔍 STEP CRYPTO-7: Converting hex strings to bytes
✅ SUCCESS: Pubkey hex converted to bytes
INFO: Pubkey bytes (32 bytes):
0000: 79 be 66 7e f9 dc bb ac 55 a0 62 95 ce 87 0b 07 |y.f~....U.b.....|
0010: 02 9b fc db 2d ce 28 d9 59 f2 81 5b 16 f8 17 98 |....-.(.Y..[....|
✅ SUCCESS: Signature hex converted to bytes
INFO: Signature bytes (64 bytes):
0000: 95 31 6a b7 5f 8d 02 bb 99 5a 12 48 c2 74 b9 9f |.1j._....Z.H.t..|
0010: 9b c5 dc 0a f5 64 9e 69 49 01 5d 06 99 04 d4 bd |.....d.iI.].....|
0020: f3 a3 c7 94 27 ac 82 45 69 86 a2 e9 37 b1 d2 5b |....'..Ei...7..[|
0030: 6d 2e e8 ee 1e 44 6a 84 9c b1 97 74 df 94 8e ad |m....Dj....t....|
🔍 STEP CRYPTO-8: Parsing public key into secp256k1 format
✅ SUCCESS: Public key parsed into secp256k1 format
🔍 STEP CRYPTO-9: Verifying Schnorr signature
✅ SUCCESS: Schnorr signature verification PASSED!
✅ SUCCESS: Detailed signature validation PASSED
═══════════════════════════════════════════════════════════════════
🔍 STEP COMPARE-1: Running standard nostr_validate_event for comparison
INFO: nostr_validate_event result: 0 (Success)
✅ SUCCESS: Standard validation PASSED - matches detailed validation
═══════════════════════════════════════════════════════════════════
✅ SUCCESS: 🎉 ALL VALIDATIONS PASSED! Event is completely valid.
✅ Structure validation: PASSED
✅ Signature validation: PASSED
✅ Standard validation: PASSED
═══════════════════════════════════════════════════════════════════