From eb7a9413ca97b82f7f8b458fdf6838ac58a2fbe7 Mon Sep 17 00:00:00 2001 From: Your Name Date: Wed, 20 Aug 2025 09:51:55 -0400 Subject: [PATCH] Lots o debugging --- put_test.sh => Trash/nginx/put_test.sh | 0 auth_debug.log | 28 + auth_debug_comprehensive.log | 202 + auth_debug_detailed.log | 145 + ...ab06d82bc6221e9176c65fe6c46e8d16f3b26e.txt | 1 + ...5ad015a3bf4f1b2b0b822cd15d6c15b0f00a08.txt | 1 + build/ginxsom-fcgi | Bin 191592 -> 204144 bytes build/main.o | Bin 102600 -> 137536 bytes db/ginxsom.db | Bin 122880 -> 122880 bytes debug.log | 0 debug_hash_data.log | 28 + debug_validation.log | 10 + fcgi-wrapper.sh | 5 + file_put.sh | 2 + logs/access.log | 48 + logs/error.log | 18769 ++++++++++++++++ logs/fcgi-stderr.log | 3 + logs/nginx.pid | 2 +- logs/spawn-fcgi.log | 0 restart-all.sh | 6 +- server_debug.log | 0 server_response.log | 10 + src/main.c | 1001 +- test_auth_debug | Bin 0 -> 164392 bytes test_auth_debug.c | 765 + test_hash_match.txt | 1 + 26 files changed, 20821 insertions(+), 206 deletions(-) rename put_test.sh => Trash/nginx/put_test.sh (100%) create mode 100644 auth_debug.log create mode 100644 auth_debug_comprehensive.log create mode 100644 auth_debug_detailed.log create mode 100644 blobs/49838edfd837a9cab272503012ab06d82bc6221e9176c65fe6c46e8d16f3b26e.txt create mode 100644 blobs/9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08.txt create mode 100644 debug.log create mode 100644 debug_hash_data.log create mode 100644 debug_validation.log create mode 100755 fcgi-wrapper.sh create mode 100644 logs/fcgi-stderr.log create mode 100644 logs/spawn-fcgi.log create mode 100644 server_debug.log create mode 100644 server_response.log create mode 100755 test_auth_debug create mode 100644 test_auth_debug.c create mode 100644 test_hash_match.txt diff --git a/put_test.sh b/Trash/nginx/put_test.sh similarity index 100% rename from put_test.sh rename to Trash/nginx/put_test.sh diff --git a/auth_debug.log b/auth_debug.log new file mode 100644 index 0000000..436a891 --- /dev/null +++ b/auth_debug.log @@ -0,0 +1,28 @@ +DEBUG: authenticate_request ENTRY - method: upload, hash: 59fbf16bd87c759e1a723b6b638d925bb0b589e6ef5169ff6ad187957345aa58 +DEBUG: authenticate_request - calling parse_authorization_header +DEBUG: authenticate_request - parse_authorization_header succeeded +DEBUG: authenticate_request - calling cJSON_Parse on: {"kind":24242,"id":"9561605b1062ce37e95ab9b81d300d9ad5bfb9c544ae395e1eb41f000c7d89f6","pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1755685428,"tags":[["t","upload"],["x","84716171bab16ad021bd8953050189fe6075917436cd11cc933f021bbc5d5b0b"],["expiration","1755689028"]],"content":"","sig":"95316ab75f8d02bb995a1248c274b99f9bc5dc0af5649e6949015d069904d4bdf3a3c79427ac82456986a2e937b1d25b6d2ee8ee1e446a849cb19774df948ead"} +DEBUG: authenticate_request - cJSON_Parse succeeded, event parsed +DEBUG: authenticate_request - Parsed JSON: { + "kind": 24242, + "id": "9561605b1062ce37e95ab9b81d300d9ad5bfb9c544ae395e1eb41f000c7d89f6", + "pubkey": "79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798", + "created_at": 1755685428, + "tags": [["t", "upload"], ["x", "84716171bab16ad021bd8953050189fe6075917436cd11cc933f021bbc5d5b0b"], ["expiration", "1755689028"]], + "content": "", + "sig": "95316ab75f8d02bb995a1248c274b99f9bc5dc0af5649e6949015d069904d4bdf3a3c79427ac82456986a2e937b1d25b6d2ee8ee1e446a849cb19774df948ead" +} +DEBUG: authenticate_request ENTRY - method: upload, hash: b22d8bb93c030bdff71a4bf00dc38c1e3d920e2535df3b9e2e513dfcb6249820 +DEBUG: authenticate_request - calling parse_authorization_header +DEBUG: authenticate_request - parse_authorization_header succeeded +DEBUG: authenticate_request - calling cJSON_Parse on: {"kind":24242,"id":"ee2631b20eaa4644827686119e3bf4d51caa70dfa0b48bd771e7d11a22620cfb","pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1755687299,"tags":[["t","upload"],["x","b22d8bb93c030bdff71a4bf00dc38c1e3d920e2535df3b9e2e513dfcb6249820"],["expiration","1755690899"]],"content":"","sig":"edb88c03d25ac22423c0d2f7cfdd5b9bba4b9780ab0d68471799150bb3548348b85886451c0fd260c1bacd38c75e96ad6ae0c9de61acb7e04a20f4338abf7419"} +DEBUG: authenticate_request - cJSON_Parse succeeded, event parsed +DEBUG: authenticate_request - Parsed JSON: { + "kind": 24242, + "id": "ee2631b20eaa4644827686119e3bf4d51caa70dfa0b48bd771e7d11a22620cfb", + "pubkey": "79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798", + "created_at": 1755687299, + "tags": [["t", "upload"], ["x", "b22d8bb93c030bdff71a4bf00dc38c1e3d920e2535df3b9e2e513dfcb6249820"], ["expiration", "1755690899"]], + "content": "", + "sig": "edb88c03d25ac22423c0d2f7cfdd5b9bba4b9780ab0d68471799150bb3548348b85886451c0fd260c1bacd38c75e96ad6ae0c9de61acb7e04a20f4338abf7419" +} diff --git a/auth_debug_comprehensive.log b/auth_debug_comprehensive.log new file mode 100644 index 0000000..9b39288 --- /dev/null +++ b/auth_debug_comprehensive.log @@ -0,0 +1,202 @@ +═══════════════════════════════════════════════════════════════════ +🔧 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 +🔍 STEP COMPARE-2: Running server-style authentication (exact mirror of server code) +═══════════════════════════════════════════════════════════════════ +🔍 STEP SERVER-1: Starting server-style authentication (mirroring main.c) +ℹ️ INFO: Server-style auth called with method: upload, hash: 84716171bab16ad021bd8953050189fe6075917436cd11cc933f021bbc5d5b0b +🔍 STEP SERVER-2: Calling parse_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: parse_authorization_header succeeded +🔍 STEP SERVER-3: Calling cJSON_Parse on JSON string +ℹ️ INFO: JSON to parse: {"kind":24242,"id":"9561605b1062ce37e95ab9b81d300d9ad5bfb9c544ae395e1eb41f000c7d89f6","pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1755685428,"tags":[["t","upload"],["x","84716171bab16ad021bd8953050189fe6075917436cd11cc933f021bbc5d5b0b"],["expiration","1755689028"]],"content":"","sig":"95316ab75f8d02bb995a1248c274b99f9bc5dc0af5649e6949015d069904d4bdf3a3c79427ac82456986a2e937b1d25b6d2ee8ee1e446a849cb19774df948ead"} +✅ SUCCESS: cJSON_Parse succeeded, event parsed +ℹ️ INFO: Parsed JSON: { + "kind": 24242, + "id": "9561605b1062ce37e95ab9b81d300d9ad5bfb9c544ae395e1eb41f000c7d89f6", + "pubkey": "79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798", + "created_at": 1755685428, + "tags": [["t", "upload"], ["x", "84716171bab16ad021bd8953050189fe6075917436cd11cc933f021bbc5d5b0b"], ["expiration", "1755689028"]], + "content": "", + "sig": "95316ab75f8d02bb995a1248c274b99f9bc5dc0af5649e6949015d069904d4bdf3a3c79427ac82456986a2e937b1d25b6d2ee8ee1e446a849cb19774df948ead" +} +🔍 STEP SERVER-4: Event fields before validation +ℹ️ INFO: id: 9561605b1062ce37e95ab9b81d300d9ad5bfb9c544ae395e1eb41f000c7d89f6 +ℹ️ INFO: pubkey: 79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 +ℹ️ INFO: sig: 95316ab75f8d02bb995a1248c274b99f9bc5dc0af5649e6949015d069904d4bdf3a3c79427ac82456986a2e937b1d25b6d2ee8ee1e446a849cb19774df948ead +ℹ️ INFO: kind: 24242 +ℹ️ INFO: created_at: 1755685428 +🔍 STEP SERVER-5: Detailed pubkey analysis +ℹ️ INFO: Pubkey: 79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 +ℹ️ INFO: Length: 64 +ℹ️ INFO: Character analysis (first 10): +7(0x37) 9(0x39) b(0x62) e(0x65) 6(0x36) 6(0x36) 7(0x37) e(0x65) f(0x66) 9(0x39) +🔍 STEP SERVER-6: Pre-validation pubkey analysis +ℹ️ INFO: Pubkey: 79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 +ℹ️ INFO: Length: 64 +ℹ️ INFO: Character analysis (first 10): +7(55) 9(57) b(98) e(101) 6(54) 6(54) 7(55) e(101) f(102) 9(57) +ℹ️ INFO: Character validation test: +ALL VALID (lowercase hex) +🔍 STEP SERVER-7: Starting detailed validation analysis +ℹ️ INFO: Testing structure validation... +ℹ️ INFO: nostr_validate_event_structure returned: 0 (Success) +✅ SUCCESS: Structure validation PASSED +ℹ️ INFO: Testing cryptographic verification... +ℹ️ INFO: nostr_verify_event_signature returned: 0 (Success) +✅ SUCCESS: Crypto verification PASSED +ℹ️ INFO: Testing complete validation... +ℹ️ INFO: nostr_validate_event returned: 0 (Success) +✅ SUCCESS: Complete validation PASSED +✅ SUCCESS: Server-style authentication successful, returning NOSTR_SUCCESS +ℹ️ INFO: server_style_authentication result: 0 (Success) +✅ SUCCESS: Server-style validation PASSED +═══════════════════════════════════════════════════════════════════ +✅ SUCCESS: 🎉 ALL DETAILED VALIDATIONS PASSED! Event is completely valid. +✅ Structure validation: PASSED +✅ Signature validation: PASSED +✅ Standard validation: PASSED +✅ Server-style validation: PASSED +═══════════════════════════════════════════════════════════════════ +✅ SUCCESS: 🔍 DETAILED COMPARISON COMPLETE +✅ SUCCESS: 🎯 ALL VALIDATION METHODS AGREE: Event is valid +═══════════════════════════════════════════════════════════════════ diff --git a/auth_debug_detailed.log b/auth_debug_detailed.log new file mode 100644 index 0000000..7305810 --- /dev/null +++ b/auth_debug_detailed.log @@ -0,0 +1,145 @@ +═══════════════════════════════════════════════════════════════════ +🔧 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 +═══════════════════════════════════════════════════════════════════ diff --git a/blobs/49838edfd837a9cab272503012ab06d82bc6221e9176c65fe6c46e8d16f3b26e.txt b/blobs/49838edfd837a9cab272503012ab06d82bc6221e9176c65fe6c46e8d16f3b26e.txt new file mode 100644 index 0000000..aef7030 --- /dev/null +++ b/blobs/49838edfd837a9cab272503012ab06d82bc6221e9176c65fe6c46e8d16f3b26e.txt @@ -0,0 +1 @@ +test data for debug \ No newline at end of file diff --git a/blobs/9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08.txt b/blobs/9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08.txt new file mode 100644 index 0000000..30d74d2 --- /dev/null +++ b/blobs/9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08.txt @@ -0,0 +1 @@ +test \ No newline at end of file diff --git a/build/ginxsom-fcgi b/build/ginxsom-fcgi index 8e9147837a1084d28c3e2a7890c3448ba58403a9..e3e4a00d77031638e54be310defadd7722ca707b 100755 GIT binary patch literal 204144 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 W(!g^)nhP{QivK=nsXI(zw%;CH$QdxDq(*XCW)% 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%0DJ&^7#szk1z!Sx3;q!t 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 ye#W`3XNaucJ~pp1#AXMt+y5VA{~bR7 literal 102600 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 diff --git a/db/ginxsom.db b/db/ginxsom.db index 97c7a5e115fa265cc716af107e4de1c3dce06b34..e7fa8ccf2ed40eeac98abc005e0e4defc9ae15df 100644 GIT binary patch delta 529 zcmbu5y-EW?6oqGYMv|4ps{|{RB&C%zvzf_kCHT{(P3!#Z5=F#9!On;;pzmPN)}*ko zvA41F0aA&DAOr=4xDq63w6VP0!{Pf*`!3hM%bhLY^7-OAE?;k5Kt6y5f=g)h=4RL6 zxEbV6invMM3eiBG+b>Lzx^in@?2Vq6%@l-I&KB?M1mURO@ZG*Pam679K4BP&!= zI!KNVR`z$z_Fk)VzthA&#c`^YXPRqWb9Jv|Y($zE!<>|6)iW+lWYb#8t+32$A)M#Z zE61f}DPx9dI@x@srx8K{93nV`+e~5`jyGxM@L&F5BWnr&g8hxPFbUgbw32Q7g5Vuq zGQ2)4BFfIj@;E)!3xIJ9yR`Bd8ez?I8cnDuf42;_V delta 50 zcmZoTz}|3xeS$Qj>_i!7M%j%COZYdlZ1^j`nbCk*0m%9zzvzI#rUQ%u&5RSaGfrUq G?+*aZ!4lR0 diff --git a/debug.log b/debug.log new file mode 100644 index 0000000..e69de29 diff --git a/debug_hash_data.log b/debug_hash_data.log new file mode 100644 index 0000000..408319f --- /dev/null +++ b/debug_hash_data.log @@ -0,0 +1,28 @@ +=== HASH DEBUG SESSION === +Content length: 296 +File data to hash: 5465737420626c6f6220636f6e74656e7420666f722047696e78736f6d20426c6f73736f6d207365727665720a54696d657374616d703a20323032352d30382d32305430393a33333a32362d30343a30300a52616e646f6d20646174613a20323465336130393961313333323063653530396562323334663735663334663733656239393966616133373764346361636231343165616536313933396665370a54657374206d6573736167653a2048656c6c6f2066726f6d207075745f746573742e7368210a0a546869732066696c65206973207573656420746f2074657374207468652075706c6f61642066756e6374696f6e616c6974790a6f66207468652047696e78736f6d20426c6f73736f6d2073657276657220696d706c656d656e746174696f6e2e0a +File data as string: Test blob content for Ginxsom Blossom server +Timestamp: 2025-08-20T09:33:26-04:00 +Random data: 24e3a099a13320ce509eb234f75f34f73eb999faa377d4cacb141eae61939fe7 +Test message: Hello from put_test.sh! + +This file is used to test the upload functionality +of the Ginxsom Blossom server implementation. + +Calculated SHA-256: 97ed52416da9b486cc21ff71911ebb10b7298b1b12cdb5735fb8cfd76bb3d18e +=== END DEBUG SESSION === + +=== HASH DEBUG SESSION === +Content length: 296 +File data to hash: 5465737420626c6f6220636f6e74656e7420666f722047696e78736f6d20426c6f73736f6d207365727665720a54696d657374616d703a20323032352d30382d32305430393a33393a32372d30343a30300a52616e646f6d20646174613a20383039303533333161616530366665333533313961366630666266383566636165313966663139346561643962643664363062393237636432303035616130330a54657374206d6573736167653a2048656c6c6f2066726f6d207075745f746573742e7368210a0a546869732066696c65206973207573656420746f2074657374207468652075706c6f61642066756e6374696f6e616c6974790a6f66207468652047696e78736f6d20426c6f73736f6d2073657276657220696d706c656d656e746174696f6e2e0a +File data as string: Test blob content for Ginxsom Blossom server +Timestamp: 2025-08-20T09:39:27-04:00 +Random data: 80905331aae06fe35319a6f0fbf85fcae19ff194ead9bd6d60b927cd2005aa03 +Test message: Hello from put_test.sh! + +This file is used to test the upload functionality +of the Ginxsom Blossom server implementation. + +Calculated SHA-256: 87714d44b5d3a3954de88a1ce6b46eaa0b0d11887879a23e649fce83f0adee62 +=== END DEBUG SESSION === + diff --git a/debug_validation.log b/debug_validation.log new file mode 100644 index 0000000..cb304c1 --- /dev/null +++ b/debug_validation.log @@ -0,0 +1,10 @@ +=== STRUCTURE VALIDATION DEBUG === +nostr_validate_event_structure result: 0 (Success) +=== END STRUCTURE DEBUG === + +=== CRYPTO VALIDATION DEBUG === +nostr_verify_event_signature result: -32 (Event has invalid public key) +CRYPTO VALIDATION FAILED! +Failed pubkey: 79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 (length: 64) +=== END CRYPTO DEBUG === + diff --git a/fcgi-wrapper.sh b/fcgi-wrapper.sh new file mode 100755 index 0000000..d3900fb --- /dev/null +++ b/fcgi-wrapper.sh @@ -0,0 +1,5 @@ +#!/bin/bash +# FastCGI wrapper script to redirect stderr to log file +exec 2>>logs/fcgi-stderr.log +echo "FastCGI wrapper starting at $(date)" >&2 +exec ./build/ginxsom-fcgi "$@" \ No newline at end of file diff --git a/file_put.sh b/file_put.sh index 8672a18..1ac1a79 100755 --- a/file_put.sh +++ b/file_put.sh @@ -120,6 +120,8 @@ calculate_hash() { log_info "Calculating SHA-256 hash..." HASH=$(sha256sum "${TEST_FILE}" | cut -d' ' -f1) + + log_success "Data to hash: ${TEST_FILE}" log_success "File hash: ${HASH}" } diff --git a/logs/access.log b/logs/access.log index b565fc3..4a2a135 100644 --- a/logs/access.log +++ b/logs/access.log @@ -179,3 +179,51 @@ 127.0.0.1 - - [19/Aug/2025:14:32:12 -0400] "PUT /upload HTTP/1.1" 401 242 "-" "curl/8.15.0" 127.0.0.1 - - [19/Aug/2025:14:37:30 -0400] "PUT /upload HTTP/1.1" 401 242 "-" "curl/8.15.0" 127.0.0.1 - - [19/Aug/2025:14:47:34 -0400] "PUT /upload HTTP/1.1" 200 224 "-" "curl/8.15.0" +127.0.0.1 - - [20/Aug/2025:06:23:49 -0400] "PUT /upload HTTP/1.1" 200 224 "-" "curl/8.15.0" +127.0.0.1 - - [20/Aug/2025:06:39:45 -0400] "PUT /upload HTTP/1.1" 502 166 "-" "curl/8.15.0" +127.0.0.1 - - [20/Aug/2025:06:39:45 -0400] "GET /f15a87843b9e4e06e359b08d584eed42b2fe32146431cf00124a96d4ef97e9d3 HTTP/1.1" 404 162 "-" "curl/8.15.0" +127.0.0.1 - - [20/Aug/2025:06:40:50 -0400] "PUT /upload HTTP/1.1" 502 166 "-" "curl/8.15.0" +127.0.0.1 - - [20/Aug/2025:06:40:50 -0400] "GET /bbe2b33bfb48215f723f804a07cb3ed17515bb800d8dede487f2ea56649e9709 HTTP/1.1" 404 162 "-" "curl/8.15.0" +127.0.0.1 - - [20/Aug/2025:06:41:26 -0400] "HEAD /84716171bab16ad021bd8953050189fe6075917436cd11cc933f021bbc5d5b0b HTTP/1.1" 404 0 "-" "curl/8.15.0" +127.0.0.1 - - [20/Aug/2025:06:45:33 -0400] "PUT /upload HTTP/1.1" 401 224 "-" "curl/8.15.0" +127.0.0.1 - - [20/Aug/2025:06:45:33 -0400] "GET /ca0b08e1d8d96b01602394bc379c5f491c5a010a3d4f8cb75569588311fcb7b3 HTTP/1.1" 404 162 "-" "curl/8.15.0" +127.0.0.1 - - [20/Aug/2025:06:46:15 -0400] "PUT /upload HTTP/1.1" 401 224 "-" "curl/8.15.0" +127.0.0.1 - - [20/Aug/2025:06:46:15 -0400] "GET /2448e6c01c531f227fe3f0c5aa26586f7039b3e2d9ad6b102c545b6d0ffa358c HTTP/1.1" 404 162 "-" "curl/8.15.0" +127.0.0.1 - - [20/Aug/2025:06:48:02 -0400] "PUT /upload HTTP/1.1" 502 166 "-" "curl/8.15.0" +127.0.0.1 - - [20/Aug/2025:06:49:28 -0400] "PUT /upload HTTP/1.1" 200 321 "-" "curl/8.15.0" +127.0.0.1 - - [20/Aug/2025:06:49:47 -0400] "PUT /upload HTTP/1.1" 401 224 "-" "curl/8.15.0" +127.0.0.1 - - [20/Aug/2025:06:51:41 -0400] "PUT /upload HTTP/1.1" 401 224 "-" "curl/8.15.0" +127.0.0.1 - - [20/Aug/2025:06:54:59 -0400] "PUT /upload HTTP/1.1" 401 224 "-" "curl/8.15.0" +127.0.0.1 - - [20/Aug/2025:06:54:59 -0400] "GET /b22d8bb93c030bdff71a4bf00dc38c1e3d920e2535df3b9e2e513dfcb6249820 HTTP/1.1" 404 162 "-" "curl/8.15.0" +127.0.0.1 - - [20/Aug/2025:07:18:55 -0400] "PUT /upload HTTP/1.1" 502 166 "-" "curl/8.15.0" +127.0.0.1 - - [20/Aug/2025:07:18:55 -0400] "GET /854b92286609bfea60bd5d0a9997f686891ca88bd96fb60e077b3afad2b1d6f9 HTTP/1.1" 404 162 "-" "curl/8.15.0" +127.0.0.1 - - [20/Aug/2025:07:19:52 -0400] "HEAD /9561605b1062ce37e95ab9b81d300d9ad5bfb9c544ae395e1eb41f000c7d89f6 HTTP/1.1" 404 0 "-" "curl/8.15.0" +127.0.0.1 - - [20/Aug/2025:07:23:47 -0400] "PUT /upload HTTP/1.1" 401 224 "-" "curl/8.15.0" +127.0.0.1 - - [20/Aug/2025:07:27:24 -0400] "PUT /upload HTTP/1.1" 502 166 "-" "curl/8.15.0" +127.0.0.1 - - [20/Aug/2025:07:37:36 -0400] "PUT /upload HTTP/1.1" 401 224 "-" "curl/8.15.0" +127.0.0.1 - - [20/Aug/2025:07:38:36 -0400] "PUT /upload HTTP/1.1" 401 224 "-" "curl/8.15.0" +127.0.0.1 - - [20/Aug/2025:07:53:48 -0400] "PUT /upload HTTP/1.1" 401 150 "-" "curl/8.15.0" +127.0.0.1 - - [20/Aug/2025:07:53:48 -0400] "GET /9067ecea175cf653a62aee40ff550a623e289b2f5269f2cd9099193f45547bc6 HTTP/1.1" 404 162 "-" "curl/8.15.0" +127.0.0.1 - - [20/Aug/2025:07:58:27 -0400] "PUT /upload HTTP/1.1" 401 150 "-" "curl/8.15.0" +127.0.0.1 - - [20/Aug/2025:07:58:27 -0400] "GET /ecc116e5a06066f45b6283a3f22950fe7ab5dc476c9fb5942742c9433bb2abc7 HTTP/1.1" 404 162 "-" "curl/8.15.0" +127.0.0.1 - - [20/Aug/2025:09:04:29 -0400] "PUT /upload HTTP/1.1" 401 150 "-" "curl/8.15.0" +127.0.0.1 - - [20/Aug/2025:09:04:29 -0400] "GET /5cda3d9745c61d91828fdfc2cf6b41cbc5851e0cc951366c5d7993e8ce3073aa HTTP/1.1" 404 162 "-" "curl/8.15.0" +127.0.0.1 - - [20/Aug/2025:09:05:14 -0400] "PUT /upload HTTP/1.1" 401 150 "-" "curl/8.15.0" +127.0.0.1 - - [20/Aug/2025:09:05:14 -0400] "GET /92bf39ce2ecfa788d8b5d97c65d99cc7a16f05d317df40cf7c824db55d861ee4 HTTP/1.1" 404 162 "-" "curl/8.15.0" +127.0.0.1 - - [20/Aug/2025:09:05:46 -0400] "PUT /upload HTTP/1.1" 401 150 "-" "curl/8.15.0" +127.0.0.1 - - [20/Aug/2025:09:08:02 -0400] "PUT /upload HTTP/1.1" 401 150 "-" "curl/8.15.0" +127.0.0.1 - - [20/Aug/2025:09:11:48 -0400] "PUT /upload HTTP/1.1" 200 260 "-" "curl/8.15.0" +127.0.0.1 - - [20/Aug/2025:09:13:05 -0400] "PUT /upload HTTP/1.1" 401 150 "-" "curl/8.15.0" +127.0.0.1 - - [20/Aug/2025:09:13:05 -0400] "GET /bf5b94bb06acd5771a41dc868764b41861789a76d1f312a1e7187df2f7ba7e72 HTTP/1.1" 404 162 "-" "curl/8.15.0" +127.0.0.1 - - [20/Aug/2025:09:14:03 -0400] "PUT /upload HTTP/1.1" 401 150 "-" "curl/8.15.0" +127.0.0.1 - - [20/Aug/2025:09:14:03 -0400] "GET /22dc4f8248770b17ad81e639f5c2657bbafe04fd048522fc08c242f30b11e3ba HTTP/1.1" 404 162 "-" "curl/8.15.0" +127.0.0.1 - - [20/Aug/2025:09:15:46 -0400] "PUT /upload HTTP/1.1" 401 150 "-" "curl/8.15.0" +127.0.0.1 - - [20/Aug/2025:09:15:46 -0400] "GET /c35f9cf23e088ba8e62d68c7baf7cbd4e6766c39e71080f925505ddff99b9f08 HTTP/1.1" 404 162 "-" "curl/8.15.0" +127.0.0.1 - - [20/Aug/2025:09:19:38 -0400] "PUT /upload HTTP/1.1" 200 261 "-" "curl/8.15.0" +127.0.0.1 - - [20/Aug/2025:09:22:38 -0400] "PUT /upload HTTP/1.1" 401 150 "-" "curl/8.15.0" +127.0.0.1 - - [20/Aug/2025:09:22:38 -0400] "GET /73733720de8e6bca0ab41a799132202d56049e288feb154b5f6becb5e9c24b67 HTTP/1.1" 404 162 "-" "curl/8.15.0" +127.0.0.1 - - [20/Aug/2025:09:28:16 -0400] "PUT /upload HTTP/1.1" 401 150 "-" "curl/8.15.0" +127.0.0.1 - - [20/Aug/2025:09:28:16 -0400] "GET /23e8292d0eef238139ae9a46be972955490e313e40320ff613ede7165d012fb2 HTTP/1.1" 404 162 "-" "curl/8.15.0" +127.0.0.1 - - [20/Aug/2025:09:31:55 -0400] "PUT /upload HTTP/1.1" 401 150 "-" "curl/8.15.0" +127.0.0.1 - - [20/Aug/2025:09:33:26 -0400] "PUT /upload HTTP/1.1" 401 150 "-" "curl/8.15.0" +127.0.0.1 - - [20/Aug/2025:09:39:27 -0400] "PUT /upload HTTP/1.1" 401 150 "-" "curl/8.15.0" diff --git a/logs/error.log b/logs/error.log index 1939991..1ed1457 100644 --- a/logs/error.log +++ b/logs/error.log @@ -25885,3 +25885,18772 @@ DEBUG: authenticate_request - calling cJSON_Parse on: {"kind":24242,"id":"195bf3 2025/08/20 06:17:08 [debug] 596585#596585: setproctitle: "nginx: worker process" 2025/08/20 06:17:08 [debug] 596585#596585: worker cycle 2025/08/20 06:17:08 [debug] 596585#596585: epoll timer: -1 +2025/08/20 06:23:49 [debug] 596585#596585: epoll: fd:5 ev:0001 d:00007B8241768010 +2025/08/20 06:23:49 [debug] 596585#596585: accept on 0.0.0.0:9001, ready: 0 +2025/08/20 06:23:49 [debug] 596585#596585: posix_memalign: 000063BBFB3AC840:512 @16 +2025/08/20 06:23:49 [debug] 596585#596585: *1 accept: 127.0.0.1:44990 fd:6 +2025/08/20 06:23:49 [debug] 596585#596585: *1 event timer add: 6: 60000:252222118 +2025/08/20 06:23:49 [debug] 596585#596585: *1 reusable connection: 1 +2025/08/20 06:23:49 [debug] 596585#596585: *1 epoll add event: fd:6 op:1 ev:80002001 +2025/08/20 06:23:49 [debug] 596585#596585: timer delta: 400497 +2025/08/20 06:23:49 [debug] 596585#596585: worker cycle +2025/08/20 06:23:49 [debug] 596585#596585: epoll timer: 60000 +2025/08/20 06:23:49 [debug] 596585#596585: epoll: fd:6 ev:0001 d:00007B82417681E0 +2025/08/20 06:23:49 [debug] 596585#596585: *1 http wait request handler +2025/08/20 06:23:49 [debug] 596585#596585: *1 malloc: 000063BBFB3AF0A0:1024 +2025/08/20 06:23:49 [debug] 596585#596585: *1 recv: eof:0, avail:-1 +2025/08/20 06:23:49 [debug] 596585#596585: *1 recv: fd:6 1024 of 1024 +2025/08/20 06:23:49 [debug] 596585#596585: *1 recv: avail:112 +2025/08/20 06:23:49 [debug] 596585#596585: *1 reusable connection: 0 +2025/08/20 06:23:49 [debug] 596585#596585: *1 posix_memalign: 000063BBFB3CBA30:4096 @16 +2025/08/20 06:23:49 [debug] 596585#596585: *1 http process request line +2025/08/20 06:23:49 [debug] 596585#596585: *1 http request line: "PUT /upload HTTP/1.1" +2025/08/20 06:23:49 [debug] 596585#596585: *1 http uri: "/upload" +2025/08/20 06:23:49 [debug] 596585#596585: *1 http args: "" +2025/08/20 06:23:49 [debug] 596585#596585: *1 http exten: "" +2025/08/20 06:23:49 [debug] 596585#596585: *1 posix_memalign: 000063BBFB3C1DA0:4096 @16 +2025/08/20 06:23:49 [debug] 596585#596585: *1 http process request header line +2025/08/20 06:23:49 [debug] 596585#596585: *1 http header: "Host: localhost:9001" +2025/08/20 06:23:49 [debug] 596585#596585: *1 http header: "User-Agent: curl/8.15.0" +2025/08/20 06:23:49 [debug] 596585#596585: *1 http header: "Accept: */*" +2025/08/20 06:23:49 [debug] 596585#596585: *1 http header: "Authorization: Nostr eyJraW5kIjoyNDI0MiwiaWQiOiI5NTYxNjA1YjEwNjJjZTM3ZTk1YWI5YjgxZDMwMGQ5YWQ1YmZiOWM1NDRhZTM5NWUxZWI0MWYwMDBjN2Q4OWY2IiwicHVia2V5IjoiNzliZTY2N2VmOWRjYmJhYzU1YTA2Mjk1Y2U4NzBiMDcwMjliZmNkYjJkY2UyOGQ5NTlmMjgxNWIxNmY4MTc5OCIsImNyZWF0ZWRfYXQiOjE3NTU2ODU0MjgsInRhZ3MiOltbInQiLCJ1cGxvYWQiXSxbIngiLCI4NDcxNjE3MWJhYjE2YWQwMjFiZDg5NTMwNTAxODlmZTYwNzU5MTc0MzZjZDExY2M5MzNmMDIxYmJjNWQ1YjBiIl0sWyJleHBpcmF0aW9uIiwiMTc1NTY4OTAyOCJdXSwiY29udGVudCI6IiIsInNpZyI6Ijk1MzE2YWI3NWY4ZDAyYmI5OTVhMTI0OGMyNzRiOTlmOWJjNWRjMGFmNTY0OWU2OTQ5MDE1ZDA2OTkwNGQ0YmRmM2EzYzc5NDI3YWM4MjQ1Njk4NmEyZTkzN2IxZDI1YjZkMmVlOGVlMWU0NDZhODQ5Y2IxOTc3NGRmOTQ4ZWFkIn0=" +2025/08/20 06:23:49 [debug] 596585#596585: *1 http header: "Content-Type: text/plain" +2025/08/20 06:23:49 [debug] 596585#596585: *1 http header: "Content-Disposition: attachment; filename="test_blob_1755685428.txt"" +2025/08/20 06:23:49 [debug] 596585#596585: *1 http header: "Content-Length: 296" +2025/08/20 06:23:49 [debug] 596585#596585: *1 http header done +2025/08/20 06:23:49 [debug] 596585#596585: *1 event timer del: 6: 252222118 +2025/08/20 06:23:49 [debug] 596585#596585: *1 generic phase: 0 +2025/08/20 06:23:49 [debug] 596585#596585: *1 rewrite phase: 1 +2025/08/20 06:23:49 [debug] 596585#596585: *1 test location: "/health" +2025/08/20 06:23:49 [debug] 596585#596585: *1 test location: "/upload" +2025/08/20 06:23:49 [debug] 596585#596585: *1 test location: ~ "^/([a-f0-9]{64}).*$" +2025/08/20 06:23:49 [debug] 596585#596585: *1 test location: ~ "^/([a-f0-9]{64})(\.[a-zA-Z0-9]+)?$" +2025/08/20 06:23:49 [debug] 596585#596585: *1 test location: ~ "^/fcgi-head/([a-f0-9]{64}).*$" +2025/08/20 06:23:49 [debug] 596585#596585: *1 test location: ~ "^/list/([a-f0-9]{64}).*$" +2025/08/20 06:23:49 [debug] 596585#596585: *1 using configuration "/upload" +2025/08/20 06:23:49 [debug] 596585#596585: *1 http cl:296 max:104857600 +2025/08/20 06:23:49 [debug] 596585#596585: *1 rewrite phase: 3 +2025/08/20 06:23:49 [debug] 596585#596585: *1 http script var +2025/08/20 06:23:49 [debug] 596585#596585: *1 http script var: "PUT" +2025/08/20 06:23:49 [debug] 596585#596585: *1 http script regex: "^(PUT)$" +2025/08/20 06:23:49 [notice] 596585#596585: *1 "^(PUT)$" matches "PUT", client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", host: "localhost:9001" +2025/08/20 06:23:49 [debug] 596585#596585: *1 http script if +2025/08/20 06:23:49 [debug] 596585#596585: *1 http script if: false +2025/08/20 06:23:49 [debug] 596585#596585: *1 post rewrite phase: 4 +2025/08/20 06:23:49 [debug] 596585#596585: *1 generic phase: 5 +2025/08/20 06:23:49 [debug] 596585#596585: *1 generic phase: 6 +2025/08/20 06:23:49 [debug] 596585#596585: *1 generic phase: 7 +2025/08/20 06:23:49 [debug] 596585#596585: *1 access phase: 8 +2025/08/20 06:23:49 [debug] 596585#596585: *1 access phase: 9 +2025/08/20 06:23:49 [debug] 596585#596585: *1 access phase: 10 +2025/08/20 06:23:49 [debug] 596585#596585: *1 post access phase: 11 +2025/08/20 06:23:49 [debug] 596585#596585: *1 generic phase: 12 +2025/08/20 06:23:49 [debug] 596585#596585: *1 generic phase: 13 +2025/08/20 06:23:49 [debug] 596585#596585: *1 http client request body preread 184 +2025/08/20 06:23:49 [debug] 596585#596585: *1 http request body content length filter +2025/08/20 06:23:49 [debug] 596585#596585: *1 http body new buf t:1 f:0 000063BBFB3AF3E8, pos 000063BBFB3AF3E8, size: 184 file: 0, size: 0 +2025/08/20 06:23:49 [debug] 596585#596585: *1 http read client request body +2025/08/20 06:23:49 [debug] 596585#596585: *1 recv: eof:0, avail:112 +2025/08/20 06:23:49 [debug] 596585#596585: *1 recv: fd:6 112 of 112 +2025/08/20 06:23:49 [debug] 596585#596585: *1 recv: avail:0 +2025/08/20 06:23:49 [debug] 596585#596585: *1 http client request body recv 112 +2025/08/20 06:23:49 [debug] 596585#596585: *1 http body new buf t:1 f:0 000063BBFB3C2830, pos 000063BBFB3C2830, size: 112 file: 0, size: 0 +2025/08/20 06:23:49 [debug] 596585#596585: *1 http client request body rest 0 +2025/08/20 06:23:49 [debug] 596585#596585: *1 http init upstream, client timer: 0 +2025/08/20 06:23:49 [debug] 596585#596585: *1 epoll add event: fd:6 op:3 ev:80002005 +2025/08/20 06:23:49 [debug] 596585#596585: *1 posix_memalign: 000063BBFB3B6150:4096 @16 +2025/08/20 06:23:49 [debug] 596585#596585: *1 http script copy: "QUERY_STRING" +2025/08/20 06:23:49 [debug] 596585#596585: *1 fastcgi param: "QUERY_STRING: " +2025/08/20 06:23:49 [debug] 596585#596585: *1 http script copy: "REQUEST_METHOD" +2025/08/20 06:23:49 [debug] 596585#596585: *1 http script var: "PUT" +2025/08/20 06:23:49 [debug] 596585#596585: *1 fastcgi param: "REQUEST_METHOD: PUT" +2025/08/20 06:23:49 [debug] 596585#596585: *1 http script copy: "CONTENT_TYPE" +2025/08/20 06:23:49 [debug] 596585#596585: *1 http script var: "text/plain" +2025/08/20 06:23:49 [debug] 596585#596585: *1 fastcgi param: "CONTENT_TYPE: text/plain" +2025/08/20 06:23:49 [debug] 596585#596585: *1 http script copy: "CONTENT_LENGTH" +2025/08/20 06:23:49 [debug] 596585#596585: *1 http script var: "296" +2025/08/20 06:23:49 [debug] 596585#596585: *1 fastcgi param: "CONTENT_LENGTH: 296" +2025/08/20 06:23:49 [debug] 596585#596585: *1 http script copy: "SCRIPT_NAME" +2025/08/20 06:23:49 [debug] 596585#596585: *1 http script var: "/upload" +2025/08/20 06:23:49 [debug] 596585#596585: *1 fastcgi param: "SCRIPT_NAME: /upload" +2025/08/20 06:23:49 [debug] 596585#596585: *1 http script copy: "REQUEST_URI" +2025/08/20 06:23:49 [debug] 596585#596585: *1 http script var: "/upload" +2025/08/20 06:23:49 [debug] 596585#596585: *1 fastcgi param: "REQUEST_URI: /upload" +2025/08/20 06:23:49 [debug] 596585#596585: *1 http script copy: "DOCUMENT_URI" +2025/08/20 06:23:49 [debug] 596585#596585: *1 http script var: "/upload" +2025/08/20 06:23:49 [debug] 596585#596585: *1 fastcgi param: "DOCUMENT_URI: /upload" +2025/08/20 06:23:49 [debug] 596585#596585: *1 http script copy: "DOCUMENT_ROOT" +2025/08/20 06:23:49 [debug] 596585#596585: *1 http script var: "./blobs" +2025/08/20 06:23:49 [debug] 596585#596585: *1 fastcgi param: "DOCUMENT_ROOT: ./blobs" +2025/08/20 06:23:49 [debug] 596585#596585: *1 http script copy: "SERVER_PROTOCOL" +2025/08/20 06:23:49 [debug] 596585#596585: *1 http script var: "HTTP/1.1" +2025/08/20 06:23:49 [debug] 596585#596585: *1 fastcgi param: "SERVER_PROTOCOL: HTTP/1.1" +2025/08/20 06:23:49 [debug] 596585#596585: *1 http script copy: "REQUEST_SCHEME" +2025/08/20 06:23:49 [debug] 596585#596585: *1 http script var: "http" +2025/08/20 06:23:49 [debug] 596585#596585: *1 fastcgi param: "REQUEST_SCHEME: http" +2025/08/20 06:23:49 [debug] 596585#596585: *1 http script copy: "" +2025/08/20 06:23:49 [debug] 596585#596585: *1 http script copy: "GATEWAY_INTERFACE" +2025/08/20 06:23:49 [debug] 596585#596585: *1 http script copy: "CGI/1.1" +2025/08/20 06:23:49 [debug] 596585#596585: *1 fastcgi param: "GATEWAY_INTERFACE: CGI/1.1" +2025/08/20 06:23:49 [debug] 596585#596585: *1 http script copy: "SERVER_SOFTWARE" +2025/08/20 06:23:49 [debug] 596585#596585: *1 http script copy: "nginx/" +2025/08/20 06:23:49 [debug] 596585#596585: *1 http script var: "1.18.0" +2025/08/20 06:23:49 [debug] 596585#596585: *1 fastcgi param: "SERVER_SOFTWARE: nginx/1.18.0" +2025/08/20 06:23:49 [debug] 596585#596585: *1 http script copy: "REMOTE_ADDR" +2025/08/20 06:23:49 [debug] 596585#596585: *1 http script var: "127.0.0.1" +2025/08/20 06:23:49 [debug] 596585#596585: *1 fastcgi param: "REMOTE_ADDR: 127.0.0.1" +2025/08/20 06:23:49 [debug] 596585#596585: *1 http script copy: "REMOTE_PORT" +2025/08/20 06:23:49 [debug] 596585#596585: *1 http script var: "44990" +2025/08/20 06:23:49 [debug] 596585#596585: *1 fastcgi param: "REMOTE_PORT: 44990" +2025/08/20 06:23:49 [debug] 596585#596585: *1 http script copy: "SERVER_ADDR" +2025/08/20 06:23:49 [debug] 596585#596585: *1 http script var: "127.0.0.1" +2025/08/20 06:23:49 [debug] 596585#596585: *1 fastcgi param: "SERVER_ADDR: 127.0.0.1" +2025/08/20 06:23:49 [debug] 596585#596585: *1 http script copy: "SERVER_PORT" +2025/08/20 06:23:49 [debug] 596585#596585: *1 http script var: "9001" +2025/08/20 06:23:49 [debug] 596585#596585: *1 fastcgi param: "SERVER_PORT: 9001" +2025/08/20 06:23:49 [debug] 596585#596585: *1 http script copy: "SERVER_NAME" +2025/08/20 06:23:49 [debug] 596585#596585: *1 http script var: "localhost" +2025/08/20 06:23:49 [debug] 596585#596585: *1 fastcgi param: "SERVER_NAME: localhost" +2025/08/20 06:23:49 [debug] 596585#596585: *1 http script copy: "REDIRECT_STATUS" +2025/08/20 06:23:49 [debug] 596585#596585: *1 http script copy: "200" +2025/08/20 06:23:49 [debug] 596585#596585: *1 fastcgi param: "REDIRECT_STATUS: 200" +2025/08/20 06:23:49 [debug] 596585#596585: *1 http script copy: "SCRIPT_FILENAME" +2025/08/20 06:23:49 [debug] 596585#596585: *1 http script var: "./blobs" +2025/08/20 06:23:49 [debug] 596585#596585: *1 http script copy: "/ginxsom.fcgi" +2025/08/20 06:23:49 [debug] 596585#596585: *1 fastcgi param: "SCRIPT_FILENAME: ./blobs/ginxsom.fcgi" +2025/08/20 06:23:49 [debug] 596585#596585: *1 fastcgi param: "HTTP_HOST: localhost:9001" +2025/08/20 06:23:49 [debug] 596585#596585: *1 fastcgi param: "HTTP_USER_AGENT: curl/8.15.0" +2025/08/20 06:23:49 [debug] 596585#596585: *1 fastcgi param: "HTTP_ACCEPT: */*" +2025/08/20 06:23:49 [debug] 596585#596585: *1 fastcgi param: "HTTP_AUTHORIZATION: Nostr eyJraW5kIjoyNDI0MiwiaWQiOiI5NTYxNjA1YjEwNjJjZTM3ZTk1YWI5YjgxZDMwMGQ5YWQ1YmZiOWM1NDRhZTM5NWUxZWI0MWYwMDBjN2Q4OWY2IiwicHVia2V5IjoiNzliZTY2N2VmOWRjYmJhYzU1YTA2Mjk1Y2U4NzBiMDcwMjliZmNkYjJkY2UyOGQ5NTlmMjgxNWIxNmY4MTc5OCIsImNyZWF0ZWRfYXQiOjE3NTU2ODU0MjgsInRhZ3MiOltbInQiLCJ1cGxvYWQiXSxbIngiLCI4NDcxNjE3MWJhYjE2YWQwMjFiZDg5NTMwNTAxODlmZTYwNzU5MTc0MzZjZDExY2M5MzNmMDIxYmJjNWQ1YjBiIl0sWyJleHBpcmF0aW9uIiwiMTc1NTY4OTAyOCJdXSwiY29udGVudCI6IiIsInNpZyI6Ijk1MzE2YWI3NWY4ZDAyYmI5OTVhMTI0OGMyNzRiOTlmOWJjNWRjMGFmNTY0OWU2OTQ5MDE1ZDA2OTkwNGQ0YmRmM2EzYzc5NDI3YWM4MjQ1Njk4NmEyZTkzN2IxZDI1YjZkMmVlOGVlMWU0NDZhODQ5Y2IxOTc3NGRmOTQ4ZWFkIn0=" +2025/08/20 06:23:49 [debug] 596585#596585: *1 fastcgi param: "HTTP_CONTENT_TYPE: text/plain" +2025/08/20 06:23:49 [debug] 596585#596585: *1 fastcgi param: "HTTP_CONTENT_DISPOSITION: attachment; filename="test_blob_1755685428.txt"" +2025/08/20 06:23:49 [debug] 596585#596585: *1 fastcgi param: "HTTP_CONTENT_LENGTH: 296" +2025/08/20 06:23:49 [debug] 596585#596585: *1 http cleanup add: 000063BBFB3C2B80 +2025/08/20 06:23:49 [debug] 596585#596585: *1 get rr peer, try: 1 +2025/08/20 06:23:49 [debug] 596585#596585: *1 stream socket 10 +2025/08/20 06:23:49 [debug] 596585#596585: *1 epoll add connection: fd:10 ev:80002005 +2025/08/20 06:23:49 [debug] 596585#596585: *1 connect to unix:/tmp/ginxsom-fcgi.sock, fd:10 #2 +2025/08/20 06:23:49 [debug] 596585#596585: *1 connected +2025/08/20 06:23:49 [debug] 596585#596585: *1 http upstream connect: 0 +2025/08/20 06:23:49 [debug] 596585#596585: *1 posix_memalign: 000063BBFB395F20:128 @16 +2025/08/20 06:23:49 [debug] 596585#596585: *1 http upstream send request +2025/08/20 06:23:49 [debug] 596585#596585: *1 http upstream send request body +2025/08/20 06:23:49 [debug] 596585#596585: *1 chain writer buf fl:0 s:1304 +2025/08/20 06:23:49 [debug] 596585#596585: *1 chain writer buf fl:0 s:184 +2025/08/20 06:23:49 [debug] 596585#596585: *1 chain writer buf fl:0 s:8 +2025/08/20 06:23:49 [debug] 596585#596585: *1 chain writer buf fl:0 s:112 +2025/08/20 06:23:49 [debug] 596585#596585: *1 chain writer buf fl:0 s:8 +2025/08/20 06:23:49 [debug] 596585#596585: *1 chain writer in: 000063BBFB3C2C10 +2025/08/20 06:23:49 [debug] 596585#596585: *1 writev: 1616 of 1616 +2025/08/20 06:23:49 [debug] 596585#596585: *1 chain writer out: 0000000000000000 +2025/08/20 06:23:49 [debug] 596585#596585: *1 event timer add: 10: 60000:252222118 +2025/08/20 06:23:49 [debug] 596585#596585: *1 http finalize request: -4, "/upload?" a:1, c:2 +2025/08/20 06:23:49 [debug] 596585#596585: *1 http request count:2 blk:0 +2025/08/20 06:23:49 [debug] 596585#596585: timer delta: 0 +2025/08/20 06:23:49 [debug] 596585#596585: worker cycle +2025/08/20 06:23:49 [debug] 596585#596585: epoll timer: 60000 +2025/08/20 06:23:49 [debug] 596585#596585: epoll: fd:6 ev:0004 d:00007B82417681E0 +2025/08/20 06:23:49 [debug] 596585#596585: *1 http run request: "/upload?" +2025/08/20 06:23:49 [debug] 596585#596585: *1 http upstream check client, write event:1, "/upload" +2025/08/20 06:23:49 [debug] 596585#596585: epoll: fd:10 ev:0004 d:00007B82417682C8 +2025/08/20 06:23:49 [debug] 596585#596585: *1 http upstream request: "/upload?" +2025/08/20 06:23:49 [debug] 596585#596585: *1 http upstream dummy handler +2025/08/20 06:23:49 [debug] 596585#596585: timer delta: 2 +2025/08/20 06:23:49 [debug] 596585#596585: worker cycle +2025/08/20 06:23:49 [debug] 596585#596585: epoll timer: 59998 +2025/08/20 06:23:49 [debug] 596585#596585: epoll: fd:10 ev:2005 d:00007B82417682C8 +2025/08/20 06:23:49 [debug] 596585#596585: *1 http upstream request: "/upload?" +2025/08/20 06:23:49 [debug] 596585#596585: *1 http upstream process header +2025/08/20 06:23:49 [debug] 596585#596585: *1 malloc: 000063BBFB3B7160:4096 +2025/08/20 06:23:49 [debug] 596585#596585: *1 recv: eof:1, avail:-1 +2025/08/20 06:23:49 [debug] 596585#596585: *1 recv: fd:10 3480 of 4096 +2025/08/20 06:23:49 [debug] 596585#596585: *1 http fastcgi record byte: 01 +2025/08/20 06:23:49 [debug] 596585#596585: *1 http fastcgi record byte: 06 +2025/08/20 06:23:49 [debug] 596585#596585: *1 http fastcgi record byte: 00 +2025/08/20 06:23:49 [debug] 596585#596585: *1 http fastcgi record byte: 01 +2025/08/20 06:23:49 [debug] 596585#596585: *1 http fastcgi record byte: 0D +2025/08/20 06:23:49 [debug] 596585#596585: *1 http fastcgi record byte: 76 +2025/08/20 06:23:49 [debug] 596585#596585: *1 http fastcgi record byte: 02 +2025/08/20 06:23:49 [debug] 596585#596585: *1 http fastcgi record byte: 00 +2025/08/20 06:23:49 [debug] 596585#596585: *1 http fastcgi record length: 3446 +2025/08/20 06:23:49 [debug] 596585#596585: *1 http fastcgi parser: 0 +2025/08/20 06:23:49 [debug] 596585#596585: *1 http fastcgi header: "DEBUG: FastCGI received request" +2025/08/20 06:23:49 [debug] 596585#596585: *1 http fastcgi parser: 0 +2025/08/20 06:23:49 [debug] 596585#596585: *1 http fastcgi header: "DEBUG: METHOD=PUT, URI=/upload" +2025/08/20 06:23:49 [debug] 596585#596585: *1 http fastcgi parser: 0 +2025/08/20 06:23:49 [debug] 596585#596585: *1 http fastcgi header: "DEBUG: handle_upload_request called" +2025/08/20 06:23:49 [debug] 596585#596585: *1 http fastcgi parser: 0 +2025/08/20 06:23:49 [debug] 596585#596585: *1 http fastcgi header: "LOG: [2025-08-20 06:23:49] PUT /upload - Auth: pending - Status: 0" +2025/08/20 06:23:49 [debug] 596585#596585: *1 http fastcgi parser: 0 +2025/08/20 06:23:49 [debug] 596585#596585: *1 http fastcgi header: "DEBUG: content_type=text/plain" +2025/08/20 06:23:49 [debug] 596585#596585: *1 http fastcgi parser: 0 +2025/08/20 06:23:49 [debug] 596585#596585: *1 http fastcgi header: "DEBUG: content_length=296" +2025/08/20 06:23:49 [debug] 596585#596585: *1 http fastcgi parser: 0 +2025/08/20 06:23:49 [debug] 596585#596585: *1 http fastcgi header: "DEBUG: Raw Authorization header: Nostr eyJraW5kIjoyNDI0MiwiaWQiOiI5NTYxNjA1YjEwNjJjZTM3ZTk1YWI5YjgxZDMwMGQ5YWQ1YmZiOWM1NDRhZTM5NWUxZWI0MWYwMDBjN2Q4OWY2IiwicHVia2V5IjoiNzliZTY2N2VmOWRjYmJhYzU1YTA2Mjk1Y2U4NzBiMDcwMjliZmNkYjJkY2UyOGQ5NTlmMjgxNWIxNmY4MTc5OCIsImNyZWF0ZWRfYXQiOjE3NTU2ODU0MjgsInRhZ3MiOltbInQiLCJ1cGxvYWQiXSxbIngiLCI4NDcxNjE3MWJhYjE2YWQwMjFiZDg5NTMwNTAxODlmZTYwNzU5MTc0MzZjZDExY2M5MzNmMDIxYmJjNWQ1YjBiIl0sWyJleHBpcmF0aW9uIiwiMTc1NTY4OTAyOCJdXSwiY29udGVudCI6IiIsInNpZyI6Ijk1MzE2YWI3NWY4ZDAyYmI5OTVhMTI0OGMyNzRiOTlmOWJjNWRjMGFmNTY0OWU2OTQ5MDE1ZDA2OTkwNGQ0YmRmM2EzYzc5NDI3YWM4MjQ1Njk4NmEyZTkzN2IxZDI1YjZkMmVlOGVlMWU0NDZhODQ5Y2IxOTc3NGRmOTQ4ZWFkIn0=" +2025/08/20 06:23:49 [debug] 596585#596585: *1 http fastcgi parser: 0 +2025/08/20 06:23:49 [debug] 596585#596585: *1 http fastcgi header: "LOG: [2025-08-20 06:23:49] PUT /upload - Auth: auth_provided - Status: 0" +2025/08/20 06:23:49 [debug] 596585#596585: *1 http fastcgi parser: 0 +2025/08/20 06:23:49 [debug] 596585#596585: *1 http fastcgi header: "DEBUG: Successfully read DEBUG: Calculated SHA-256: 84716171bab16ad021bd8953050189fe6075917436cd11cc933f021bbc5d5b0b" +2025/08/20 06:23:49 [debug] 596585#596585: *1 http fastcgi parser: 0 +2025/08/20 06:23:49 [debug] 596585#596585: *1 http fastcgi header: "DEBUG: authenticate_request ENTRY - method: upload, hash: 84716171bab16ad021bd8953050189fe6075917436cd11cc933f021bbc5d5b0b" +2025/08/20 06:23:49 [debug] 596585#596585: *1 http fastcgi parser: 0 +2025/08/20 06:23:49 [debug] 596585#596585: *1 http fastcgi header: "DEBUG: authenticate_request - calling parse_authorization_header" +2025/08/20 06:23:49 [debug] 596585#596585: *1 http fastcgi parser: 0 +2025/08/20 06:23:49 [debug] 596585#596585: *1 http fastcgi header: "DEBUG: parse_authorization_header called with header: Nostr eyJraW5kIjoyNDI0MiwiaWQiOiI5NTYxNjA1YjEwNjJj..." +2025/08/20 06:23:49 [debug] 596585#596585: *1 http fastcgi parser: 0 +2025/08/20 06:23:49 [debug] 596585#596585: *1 http fastcgi header: "DEBUG: Extracted base64 event (length=DEBUG: Base64 decode result - decoded_len=DEBUG: Successfully decoded JSON (length=DEBUG: authenticate_request - parse_authorization_header succeeded" +2025/08/20 06:23:49 [debug] 596585#596585: *1 http fastcgi parser: 0 +2025/08/20 06:23:49 [debug] 596585#596585: *1 http fastcgi header: "DEBUG: authenticate_request - calling cJSON_Parse on: {"kind":24242,"id":"9561605b1062ce37e95ab9b81d300d9ad5bfb9c544ae395e1eb41f000c7d89f6","pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1755685428,"tags":[["t","upload"],["x","84716171bab16ad021bd8953050189fe6075917436cd11cc933f021bbc5d5b0b"],["expiration","1755689028"]],"content":"","sig":"95316ab75f8d02bb995a1248c274b99f9bc5dc0af5649e6949015d069904d4bdf3a3c79427ac82456986a2e937b1d25b6d2ee8ee1e446a849cb19774df948ead"}" +2025/08/20 06:23:49 [debug] 596585#596585: *1 http fastcgi parser: 0 +2025/08/20 06:23:49 [debug] 596585#596585: *1 posix_memalign: 000063BBFB3B8170:4096 @16 +2025/08/20 06:23:49 [debug] 596585#596585: *1 http fastcgi header: "DEBUG: authenticate_request - cJSON_Parse succeeded, event parsed" +2025/08/20 06:23:49 [debug] 596585#596585: *1 http fastcgi parser: 0 +2025/08/20 06:23:49 [debug] 596585#596585: *1 http fastcgi header: "DEBUG: authenticate_request - Event fields before validation:" +2025/08/20 06:23:49 [debug] 596585#596585: *1 http fastcgi parser: 0 +2025/08/20 06:23:49 [debug] 596585#596585: *1 http fastcgi header: "DEBUG: id: 9561605b1062ce37e95ab9b81d300d9ad5bfb9c544ae395e1eb41f000c7d89f6" +2025/08/20 06:23:49 [debug] 596585#596585: *1 http fastcgi parser: 0 +2025/08/20 06:23:49 [debug] 596585#596585: *1 http fastcgi header: "DEBUG: pubkey: 79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798" +2025/08/20 06:23:49 [debug] 596585#596585: *1 http fastcgi parser: 0 +2025/08/20 06:23:49 [debug] 596585#596585: *1 http fastcgi header: "DEBUG: sig: 95316ab75f8d02bb995a1248c274b99f9bc5dc0af5649e6949015d069904d4bdf3a3c79427ac82456986a2e937b1d25b6d2ee8ee1e446a849cb19774df948ead" +2025/08/20 06:23:49 [debug] 596585#596585: *1 http fastcgi parser: 0 +2025/08/20 06:23:49 [debug] 596585#596585: *1 http fastcgi header: "DEBUG: kind: 24242" +2025/08/20 06:23:49 [debug] 596585#596585: *1 http fastcgi parser: 0 +2025/08/20 06:23:49 [debug] 596585#596585: *1 http fastcgi header: "DEBUG: created_at: 1755685428" +2025/08/20 06:23:49 [debug] 596585#596585: *1 http fastcgi parser: 0 +2025/08/20 06:23:49 [debug] 596585#596585: *1 http fastcgi header: "DEBUG: authenticate_request - calling nostr_validate_event" +2025/08/20 06:23:49 [debug] 596585#596585: *1 http fastcgi parser: 0 +2025/08/20 06:23:49 [debug] 596585#596585: *1 http fastcgi header: "DEBUG: authenticate_request - Pre-validation pubkey analysis:" +2025/08/20 06:23:49 [debug] 596585#596585: *1 http fastcgi parser: 0 +2025/08/20 06:23:49 [debug] 596585#596585: *1 http fastcgi header: "DEBUG: Pubkey: 79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798" +2025/08/20 06:23:49 [debug] 596585#596585: *1 http fastcgi parser: 0 +2025/08/20 06:23:49 [debug] 596585#596585: *1 http fastcgi header: "DEBUG: Length: DEBUG: Character analysis (first 10): 7(55) 9(57) b(98) e(101) 6(54) 6(54) 7(55) e(101) f(102) 9(57)" +2025/08/20 06:23:49 [debug] 596585#596585: *1 http fastcgi parser: 0 +2025/08/20 06:23:49 [debug] 596585#596585: *1 http fastcgi header: "DEBUG: Character validation test: ALL VALID (lowercase hex)" +2025/08/20 06:23:49 [debug] 596585#596585: *1 http fastcgi parser: 0 +2025/08/20 06:23:49 [debug] 596585#596585: *1 http fastcgi header: "DEBUG: authenticate_request - nostr_validate_event returned: -32" +2025/08/20 06:23:49 [debug] 596585#596585: *1 http fastcgi parser: 0 +2025/08/20 06:23:49 [debug] 596585#596585: *1 http fastcgi header: "DEBUG: authenticate_request - Nostr event validation FAILED: -32 (Event has invalid public key)" +2025/08/20 06:23:49 [debug] 596585#596585: *1 http fastcgi parser: 0 +2025/08/20 06:23:49 [debug] 596585#596585: *1 http fastcgi header: "DEBUG: authenticate_request - Pubkey length: Status: 401 Unauthorized" +2025/08/20 06:23:49 [debug] 596585#596585: *1 http fastcgi parser: 0 +2025/08/20 06:23:49 [debug] 596585#596585: *1 http fastcgi header: "Content-Type: application/json" +2025/08/20 06:23:49 [debug] 596585#596585: *1 http fastcgi parser: 1 +2025/08/20 06:23:49 [debug] 596585#596585: *1 http fastcgi header done +2025/08/20 06:23:49 [debug] 596585#596585: *1 posix_memalign: 000063BBFB3B9180:4096 @16 +2025/08/20 06:23:49 [debug] 596585#596585: *1 HTTP/1.1 200 OK +Server: nginx/1.18.0 (Ubuntu) +Date: Wed, 20 Aug 2025 10:23:49 GMT +Content-Type: application/json +Transfer-Encoding: chunked +Connection: keep-alive +DEBUG: FastCGI received request +DEBUG: METHOD=PUT, URI=/upload +DEBUG: handle_upload_request called +LOG: [2025-08-20 06:23:49] PUT /upload - Auth: pending - Status: 0 +DEBUG: content_type=text/plain +DEBUG: content_length=296 +DEBUG: Raw Authorization header: Nostr eyJraW5kIjoyNDI0MiwiaWQiOiI5NTYxNjA1YjEwNjJjZTM3ZTk1YWI5YjgxZDMwMGQ5YWQ1YmZiOWM1NDRhZTM5NWUxZWI0MWYwMDBjN2Q4OWY2IiwicHVia2V5IjoiNzliZTY2N2VmOWRjYmJhYzU1YTA2Mjk1Y2U4NzBiMDcwMjliZmNkYjJkY2UyOGQ5NTlmMjgxNWIxNmY4MTc5OCIsImNyZWF0ZWRfYXQiOjE3NTU2ODU0MjgsInRhZ3MiOltbInQiLCJ1cGxvYWQiXSxbIngiLCI4NDcxNjE3MWJhYjE2YWQwMjFiZDg5NTMwNTAxODlmZTYwNzU5MTc0MzZjZDExY2M5MzNmMDIxYmJjNWQ1YjBiIl0sWyJleHBpcmF0aW9uIiwiMTc1NTY4OTAyOCJdXSwiY29udGVudCI6IiIsInNpZyI6Ijk1MzE2YWI3NWY4ZDAyYmI5OTVhMTI0OGMyNzRiOTlmOWJjNWRjMGFmNTY0OWU2OTQ5MDE1ZDA2OTkwNGQ0YmRmM2EzYzc5NDI3YWM4MjQ1Njk4NmEyZTkzN2IxZDI1YjZkMmVlOGVlMWU0NDZhODQ5Y2IxOTc3NGRmOTQ4ZWFkIn0= +LOG: [2025-08-20 06:23:49] PUT /upload - Auth: auth_provided - Status: 0 +DEBUG: Successfully read DEBUG: Calculated SHA-256: 84716171bab16ad021bd8953050189fe6075917436cd11cc933f021bbc5d5b0b +DEBUG: authenticate_request ENTRY - method: upload, hash: 84716171bab16ad021bd8953050189fe6075917436cd11cc933f021bbc5d5b0b +DEBUG: authenticate_request - calling parse_authorization_header +DEBUG: parse_authorization_header called with header: Nostr eyJraW5kIjoyNDI0MiwiaWQiOiI5NTYxNjA1YjEwNjJj... +DEBUG: Extracted base64 event (length=DEBUG: Base64 decode result - decoded_len=DEBUG: Successfully decoded JSON (length=DEBUG: authenticate_request - parse_authorization_header succeeded +DEBUG: authenticate_request - calling cJSON_Parse on: {"kind":24242,"id":"9561605b1062ce37e95ab9b81d300d9ad5bfb9c544ae395e1eb41f000c7d89f6","pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1755685428,"tags":[["t","upload"],["x +2025/08/20 06:23:49 [debug] 596585#596585: *1 write new buf t:1 f:0 000063BBFB3B91A0, pos 000063BBFB3B91A0, size: 3442 file: 0, size: 0 +2025/08/20 06:23:49 [debug] 596585#596585: *1 http write filter: l:0 f:0 s:3442 +2025/08/20 06:23:49 [debug] 596585#596585: *1 http write filter limit 0 +2025/08/20 06:23:49 [debug] 596585#596585: *1 writev: 3442 of 3442 +2025/08/20 06:23:49 [debug] 596585#596585: *1 http write filter 0000000000000000 +2025/08/20 06:23:49 [debug] 596585#596585: *1 http cacheable: 0 +2025/08/20 06:23:49 [debug] 596585#596585: *1 http upstream process upstream +2025/08/20 06:23:49 [debug] 596585#596585: *1 pipe read upstream: 1 +2025/08/20 06:23:49 [debug] 596585#596585: *1 pipe preread: 239 +2025/08/20 06:23:49 [debug] 596585#596585: *1 readv: eof:1, avail:0 +2025/08/20 06:23:49 [debug] 596585#596585: *1 readv: 1, last:616 +2025/08/20 06:23:49 [debug] 596585#596585: *1 pipe recv chain: 0 +2025/08/20 06:23:49 [debug] 596585#596585: *1 pipe buf free s:0 t:1 f:0 000063BBFB3B7160, pos 000063BBFB3B7E09, size: 239 file: 0, size: 0 +2025/08/20 06:23:49 [debug] 596585#596585: *1 pipe length: -1 +2025/08/20 06:23:49 [debug] 596585#596585: *1 input buf #0 000063BBFB3B7E09 +2025/08/20 06:23:49 [debug] 596585#596585: *1 http fastcgi record byte: 01 +2025/08/20 06:23:49 [debug] 596585#596585: *1 http fastcgi record byte: 06 +2025/08/20 06:23:49 [debug] 596585#596585: *1 http fastcgi record byte: 00 +2025/08/20 06:23:49 [debug] 596585#596585: *1 http fastcgi record byte: 01 +2025/08/20 06:23:49 [debug] 596585#596585: *1 http fastcgi record byte: 00 +2025/08/20 06:23:49 [debug] 596585#596585: *1 http fastcgi record byte: 00 +2025/08/20 06:23:49 [debug] 596585#596585: *1 http fastcgi record byte: 00 +2025/08/20 06:23:49 [debug] 596585#596585: *1 http fastcgi record byte: 00 +2025/08/20 06:23:49 [debug] 596585#596585: *1 http fastcgi record length: 0 +2025/08/20 06:23:49 [debug] 596585#596585: *1 http fastcgi closed stdout +2025/08/20 06:23:49 [debug] 596585#596585: *1 http fastcgi record byte: 01 +2025/08/20 06:23:49 [debug] 596585#596585: *1 http fastcgi record byte: 03 +2025/08/20 06:23:49 [debug] 596585#596585: *1 http fastcgi record byte: 00 +2025/08/20 06:23:49 [debug] 596585#596585: *1 http fastcgi record byte: 01 +2025/08/20 06:23:49 [debug] 596585#596585: *1 http fastcgi record byte: 00 +2025/08/20 06:23:49 [debug] 596585#596585: *1 http fastcgi record byte: 08 +2025/08/20 06:23:49 [debug] 596585#596585: *1 http fastcgi record byte: 00 +2025/08/20 06:23:49 [debug] 596585#596585: *1 http fastcgi record byte: 00 +2025/08/20 06:23:49 [debug] 596585#596585: *1 http fastcgi record length: 8 +2025/08/20 06:23:49 [debug] 596585#596585: *1 http fastcgi sent end request +2025/08/20 06:23:49 [debug] 596585#596585: *1 input buf 000063BBFB3B7E09 213 +2025/08/20 06:23:49 [debug] 596585#596585: *1 pipe write downstream: 1 +2025/08/20 06:23:49 [debug] 596585#596585: *1 pipe write downstream flush in +2025/08/20 06:23:49 [debug] 596585#596585: *1 http output filter "/upload?" +2025/08/20 06:23:49 [debug] 596585#596585: *1 http copy filter: "/upload?" +2025/08/20 06:23:49 [debug] 596585#596585: *1 http postpone filter "/upload?" 000063BBFB3C2BF0 +2025/08/20 06:23:49 [debug] 596585#596585: *1 http chunk: 213 +2025/08/20 06:23:49 [debug] 596585#596585: *1 write new buf t:1 f:0 000063BBFB3B8FB0, pos 000063BBFB3B8FB0, size: 4 file: 0, size: 0 +2025/08/20 06:23:49 [debug] 596585#596585: *1 write new buf t:1 f:0 000063BBFB3B7160, pos 000063BBFB3B7E09, size: 213 file: 0, size: 0 +2025/08/20 06:23:49 [debug] 596585#596585: *1 write new buf t:0 f:0 0000000000000000, pos 000063BBF1BAC2E8, size: 2 file: 0, size: 0 +2025/08/20 06:23:49 [debug] 596585#596585: *1 http write filter: l:0 f:0 s:219 +2025/08/20 06:23:49 [debug] 596585#596585: *1 http copy filter: 0 "/upload?" +2025/08/20 06:23:49 [debug] 596585#596585: *1 pipe write downstream done +2025/08/20 06:23:49 [debug] 596585#596585: *1 event timer: 10, old: 252222118, new: 252222120 +2025/08/20 06:23:49 [debug] 596585#596585: *1 http upstream exit: 0000000000000000 +2025/08/20 06:23:49 [debug] 596585#596585: *1 finalize http upstream request: 0 +2025/08/20 06:23:49 [debug] 596585#596585: *1 finalize http fastcgi request +2025/08/20 06:23:49 [debug] 596585#596585: *1 free rr peer 1 0 +2025/08/20 06:23:49 [debug] 596585#596585: *1 close http upstream connection: 10 +2025/08/20 06:23:49 [debug] 596585#596585: *1 free: 000063BBFB395F20, unused: 48 +2025/08/20 06:23:49 [debug] 596585#596585: *1 event timer del: 10: 252222118 +2025/08/20 06:23:49 [debug] 596585#596585: *1 reusable connection: 0 +2025/08/20 06:23:49 [debug] 596585#596585: *1 http upstream temp fd: -1 +2025/08/20 06:23:49 [debug] 596585#596585: *1 http output filter "/upload?" +2025/08/20 06:23:49 [debug] 596585#596585: *1 http copy filter: "/upload?" +2025/08/20 06:23:49 [debug] 596585#596585: *1 http postpone filter "/upload?" 00007FFC50BA13A0 +2025/08/20 06:23:49 [debug] 596585#596585: *1 http chunk: 0 +2025/08/20 06:23:49 [debug] 596585#596585: *1 write old buf t:1 f:0 000063BBFB3B8FB0, pos 000063BBFB3B8FB0, size: 4 file: 0, size: 0 +2025/08/20 06:23:49 [debug] 596585#596585: *1 write old buf t:1 f:0 000063BBFB3B7160, pos 000063BBFB3B7E09, size: 213 file: 0, size: 0 +2025/08/20 06:23:49 [debug] 596585#596585: *1 write old buf t:0 f:0 0000000000000000, pos 000063BBF1BAC2E8, size: 2 file: 0, size: 0 +2025/08/20 06:23:49 [debug] 596585#596585: *1 write new buf t:0 f:0 0000000000000000, pos 000063BBF1BAC2E5, size: 5 file: 0, size: 0 +2025/08/20 06:23:49 [debug] 596585#596585: *1 http write filter: l:1 f:0 s:224 +2025/08/20 06:23:49 [debug] 596585#596585: *1 http write filter limit 0 +2025/08/20 06:23:49 [debug] 596585#596585: *1 writev: 224 of 224 +2025/08/20 06:23:49 [debug] 596585#596585: *1 http write filter 0000000000000000 +2025/08/20 06:23:49 [debug] 596585#596585: *1 http copy filter: 0 "/upload?" +2025/08/20 06:23:49 [debug] 596585#596585: *1 http finalize request: 0, "/upload?" a:1, c:1 +2025/08/20 06:23:49 [debug] 596585#596585: *1 set http keepalive handler +2025/08/20 06:23:49 [debug] 596585#596585: *1 http close request +2025/08/20 06:23:49 [debug] 596585#596585: *1 http log handler +2025/08/20 06:23:49 [debug] 596585#596585: *1 free: 000063BBFB3B7160 +2025/08/20 06:23:49 [debug] 596585#596585: *1 free: 000063BBFB3CBA30, unused: 3 +2025/08/20 06:23:49 [debug] 596585#596585: *1 free: 000063BBFB3C1DA0, unused: 0 +2025/08/20 06:23:49 [debug] 596585#596585: *1 free: 000063BBFB3B6150, unused: 1 +2025/08/20 06:23:49 [debug] 596585#596585: *1 free: 000063BBFB3B8170, unused: 58 +2025/08/20 06:23:49 [debug] 596585#596585: *1 free: 000063BBFB3B9180, unused: 622 +2025/08/20 06:23:49 [debug] 596585#596585: *1 free: 000063BBFB3AF0A0 +2025/08/20 06:23:49 [debug] 596585#596585: *1 hc free: 0000000000000000 +2025/08/20 06:23:49 [debug] 596585#596585: *1 hc busy: 0000000000000000 0 +2025/08/20 06:23:49 [debug] 596585#596585: *1 tcp_nodelay +2025/08/20 06:23:49 [debug] 596585#596585: *1 reusable connection: 1 +2025/08/20 06:23:49 [debug] 596585#596585: *1 event timer add: 6: 65000:252227120 +2025/08/20 06:23:49 [debug] 596585#596585: *1 post event 000063BBFB3FD770 +2025/08/20 06:23:49 [debug] 596585#596585: timer delta: 0 +2025/08/20 06:23:49 [debug] 596585#596585: posted event 000063BBFB3FD770 +2025/08/20 06:23:49 [debug] 596585#596585: *1 delete posted event 000063BBFB3FD770 +2025/08/20 06:23:49 [debug] 596585#596585: *1 http keepalive handler +2025/08/20 06:23:49 [debug] 596585#596585: *1 malloc: 000063BBFB3AF0A0:1024 +2025/08/20 06:23:49 [debug] 596585#596585: *1 recv: eof:0, avail:0 +2025/08/20 06:23:49 [debug] 596585#596585: *1 free: 000063BBFB3AF0A0 +2025/08/20 06:23:49 [debug] 596585#596585: worker cycle +2025/08/20 06:23:49 [debug] 596585#596585: epoll timer: 65000 +2025/08/20 06:23:49 [debug] 596585#596585: epoll: fd:6 ev:2005 d:00007B82417681E0 +2025/08/20 06:23:49 [debug] 596585#596585: *1 http keepalive handler +2025/08/20 06:23:49 [debug] 596585#596585: *1 malloc: 000063BBFB3AF0A0:1024 +2025/08/20 06:23:49 [debug] 596585#596585: *1 recv: eof:1, avail:-1 +2025/08/20 06:23:49 [debug] 596585#596585: *1 recv: fd:6 0 of 1024 +2025/08/20 06:23:49 [info] 596585#596585: *1 client 127.0.0.1 closed keepalive connection +2025/08/20 06:23:49 [debug] 596585#596585: *1 close http connection: 6 +2025/08/20 06:23:49 [debug] 596585#596585: *1 event timer del: 6: 252227120 +2025/08/20 06:23:49 [debug] 596585#596585: *1 reusable connection: 0 +2025/08/20 06:23:49 [debug] 596585#596585: *1 free: 000063BBFB3AF0A0 +2025/08/20 06:23:49 [debug] 596585#596585: *1 free: 000063BBFB3AC840, unused: 120 +2025/08/20 06:23:49 [debug] 596585#596585: timer delta: 2 +2025/08/20 06:23:49 [debug] 596585#596585: worker cycle +2025/08/20 06:23:49 [debug] 596585#596585: epoll timer: -1 +2025/08/20 06:39:33 [notice] 596584#596584: signal 15 (SIGTERM) received from 600292, exiting +2025/08/20 06:39:33 [debug] 596584#596584: wake up, sigio 0 +2025/08/20 06:39:33 [debug] 596584#596584: child: 0 596585 e:0 t:0 d:0 r:1 j:0 +2025/08/20 06:39:33 [debug] 596584#596584: termination cycle: 50 +2025/08/20 06:39:33 [debug] 596584#596584: sigsuspend +2025/08/20 06:39:33 [debug] 596585#596585: epoll: fd:7 ev:0001 d:00007B82417680F8 +2025/08/20 06:39:33 [debug] 596585#596585: channel handler +2025/08/20 06:39:33 [debug] 596585#596585: channel: 32 +2025/08/20 06:39:33 [debug] 596585#596585: channel command: 4 +2025/08/20 06:39:33 [debug] 596585#596585: channel: -2 +2025/08/20 06:39:33 [debug] 596585#596585: timer delta: 944187 +2025/08/20 06:39:33 [notice] 596585#596585: exiting +2025/08/20 06:39:33 [debug] 596585#596585: flush files +2025/08/20 06:39:33 [debug] 596585#596585: run cleanup: 000063BBFB3FAA80 +2025/08/20 06:39:33 [debug] 596585#596585: run cleanup: 000063BBFB3EDA18 +2025/08/20 06:39:33 [debug] 596585#596585: cleanup resolver +2025/08/20 06:39:33 [debug] 596585#596585: free: 000063BBFB3FBDE0 +2025/08/20 06:39:33 [debug] 596585#596585: free: 000063BBFB3EEBE0 +2025/08/20 06:39:33 [debug] 596585#596585: free: 000063BBFB3CDB50 +2025/08/20 06:39:33 [debug] 596585#596585: free: 000063BBFB3CCA40 +2025/08/20 06:39:33 [debug] 596585#596585: free: 000063BBFB3C6A10 +2025/08/20 06:39:33 [debug] 596585#596585: free: 000063BBFB3C5950 +2025/08/20 06:39:33 [debug] 596585#596585: free: 000063BBFB3C4890 +2025/08/20 06:39:33 [debug] 596585#596585: free: 000063BBFB3C37D0 +2025/08/20 06:39:33 [debug] 596585#596585: free: 000063BBFB3BB170 +2025/08/20 06:39:33 [debug] 596585#596585: free: 000063BBFB3B2140, unused: 0 +2025/08/20 06:39:33 [debug] 596585#596585: free: 000063BBFB3BC580, unused: 0 +2025/08/20 06:39:33 [debug] 596585#596585: free: 000063BBFB3C7A20, unused: 0 +2025/08/20 06:39:33 [debug] 596585#596585: free: 000063BBFB3CEB60, unused: 0 +2025/08/20 06:39:33 [debug] 596585#596585: free: 000063BBFB3D2B70, unused: 0 +2025/08/20 06:39:33 [debug] 596585#596585: free: 000063BBFB3D6B80, unused: 0 +2025/08/20 06:39:33 [debug] 596585#596585: free: 000063BBFB3DAB90, unused: 0 +2025/08/20 06:39:33 [debug] 596585#596585: free: 000063BBFB3DEBA0, unused: 0 +2025/08/20 06:39:33 [debug] 596585#596585: free: 000063BBFB3E2BB0, unused: 0 +2025/08/20 06:39:33 [debug] 596585#596585: free: 000063BBFB3E6BC0, unused: 0 +2025/08/20 06:39:33 [debug] 596585#596585: free: 000063BBFB3EABD0, unused: 0 +2025/08/20 06:39:33 [debug] 596585#596585: free: 000063BBFB3EFDB0, unused: 0 +2025/08/20 06:39:33 [debug] 596585#596585: free: 000063BBFB3F3DC0, unused: 0 +2025/08/20 06:39:33 [debug] 596585#596585: free: 000063BBFB3F7DD0, unused: 4920 +2025/08/20 06:39:33 [notice] 596585#596585: exit +2025/08/20 06:39:33 [notice] 596584#596584: signal 17 (SIGCHLD) received from 596585 +2025/08/20 06:39:33 [notice] 596584#596584: worker process 596585 exited with code 0 +2025/08/20 06:39:33 [debug] 596584#596584: shmtx forced unlock +2025/08/20 06:39:33 [debug] 596584#596584: wake up, sigio 3 +2025/08/20 06:39:33 [debug] 596584#596584: reap children +2025/08/20 06:39:33 [debug] 596584#596584: child: 0 596585 e:1 t:1 d:0 r:1 j:0 +2025/08/20 06:39:33 [notice] 596584#596584: exit +2025/08/20 06:39:33 [debug] 596584#596584: close listening 0.0.0.0:9001 #5 +2025/08/20 06:39:33 [debug] 596584#596584: run cleanup: 000063BBFB3EDA18 +2025/08/20 06:39:33 [debug] 596584#596584: cleanup resolver +2025/08/20 06:39:33 [debug] 596584#596584: free: 000063BBFB3FBDE0 +2025/08/20 06:39:33 [debug] 596584#596584: free: 000063BBFB3EEBE0 +2025/08/20 06:39:33 [debug] 596584#596584: free: 000063BBFB3CDB50 +2025/08/20 06:39:33 [debug] 596584#596584: free: 000063BBFB3CCA40 +2025/08/20 06:39:33 [debug] 596584#596584: free: 000063BBFB3C6A10 +2025/08/20 06:39:33 [debug] 596584#596584: free: 000063BBFB3C5950 +2025/08/20 06:39:33 [debug] 596584#596584: free: 000063BBFB3C4890 +2025/08/20 06:39:33 [debug] 596584#596584: free: 000063BBFB3C37D0 +2025/08/20 06:39:33 [debug] 596584#596584: free: 000063BBFB3BB170 +2025/08/20 06:39:33 [debug] 596584#596584: free: 000063BBFB3B2140, unused: 0 +2025/08/20 06:39:33 [debug] 596584#596584: free: 000063BBFB3BC580, unused: 0 +2025/08/20 06:39:33 [debug] 596584#596584: free: 000063BBFB3C7A20, unused: 0 +2025/08/20 06:39:33 [debug] 596584#596584: free: 000063BBFB3CEB60, unused: 0 +2025/08/20 06:39:33 [debug] 596584#596584: free: 000063BBFB3D2B70, unused: 0 +2025/08/20 06:39:33 [debug] 596584#596584: free: 000063BBFB3D6B80, unused: 0 +2025/08/20 06:39:33 [debug] 596584#596584: free: 000063BBFB3DAB90, unused: 0 +2025/08/20 06:39:33 [debug] 596584#596584: free: 000063BBFB3DEBA0, unused: 0 +2025/08/20 06:39:33 [debug] 596584#596584: free: 000063BBFB3E2BB0, unused: 0 +2025/08/20 06:39:33 [debug] 596584#596584: free: 000063BBFB3E6BC0, unused: 0 +2025/08/20 06:39:33 [debug] 596584#596584: free: 000063BBFB3EABD0, unused: 0 +2025/08/20 06:39:33 [debug] 596584#596584: free: 000063BBFB3EFDB0, unused: 0 +2025/08/20 06:39:33 [debug] 596584#596584: free: 000063BBFB3F3DC0, unused: 0 +2025/08/20 06:39:33 [debug] 596584#596584: free: 000063BBFB3F7DD0, unused: 4951 +2025/08/20 06:39:36 [debug] 600333#600333: bind() 0.0.0.0:9001 #5 +2025/08/20 06:39:36 [debug] 600333#600333: counter: 000078E5400EB080, 1 +2025/08/20 06:39:36 [debug] 600334#600334: bind() 0.0.0.0:9001 #5 +2025/08/20 06:39:36 [notice] 600334#600334: using the "epoll" event method +2025/08/20 06:39:36 [debug] 600334#600334: counter: 00007874A870C080, 1 +2025/08/20 06:39:36 [notice] 600334#600334: nginx/1.18.0 (Ubuntu) +2025/08/20 06:39:36 [notice] 600334#600334: OS: Linux 6.12.10-76061203-generic +2025/08/20 06:39:36 [notice] 600334#600334: getrlimit(RLIMIT_NOFILE): 1048576:1048576 +2025/08/20 06:39:36 [debug] 600335#600334: write: 6, 00007FFC3A90CE30, 7, 0 +2025/08/20 06:39:36 [debug] 600335#600335: setproctitle: "nginx: master process nginx -p . -c config/local-nginx.conf" +2025/08/20 06:39:36 [notice] 600335#600335: start worker processes +2025/08/20 06:39:36 [debug] 600335#600335: channel 6:7 +2025/08/20 06:39:36 [notice] 600335#600335: start worker process 600336 +2025/08/20 06:39:36 [debug] 600335#600335: sigsuspend +2025/08/20 06:39:36 [debug] 600336#600336: add cleanup: 000056D57978AA80 +2025/08/20 06:39:36 [debug] 600336#600336: malloc: 000056D57973DBD0:8 +2025/08/20 06:39:36 [debug] 600336#600336: notify eventfd: 9 +2025/08/20 06:39:36 [debug] 600336#600336: testing the EPOLLRDHUP flag: success +2025/08/20 06:39:36 [debug] 600336#600336: malloc: 000056D579750590:6144 +2025/08/20 06:39:36 [debug] 600336#600336: malloc: 00007874A8504010:237568 +2025/08/20 06:39:36 [debug] 600336#600336: malloc: 000056D57978D6B0:98304 +2025/08/20 06:39:36 [debug] 600336#600336: malloc: 000056D5797A56C0:98304 +2025/08/20 06:39:36 [debug] 600336#600336: epoll add event: fd:5 op:1 ev:00002001 +2025/08/20 06:39:36 [debug] 600336#600336: epoll add event: fd:7 op:1 ev:00002001 +2025/08/20 06:39:36 [debug] 600336#600336: setproctitle: "nginx: worker process" +2025/08/20 06:39:36 [debug] 600336#600336: worker cycle +2025/08/20 06:39:36 [debug] 600336#600336: epoll timer: -1 +2025/08/20 06:39:45 [debug] 600336#600336: epoll: fd:5 ev:0001 d:00007874A8504010 +2025/08/20 06:39:45 [debug] 600336#600336: accept on 0.0.0.0:9001, ready: 0 +2025/08/20 06:39:45 [debug] 600336#600336: posix_memalign: 000056D57973C840:512 @16 +2025/08/20 06:39:45 [debug] 600336#600336: *1 accept: 127.0.0.1:41008 fd:6 +2025/08/20 06:39:45 [debug] 600336#600336: *1 event timer add: 6: 60000:253178398 +2025/08/20 06:39:45 [debug] 600336#600336: *1 reusable connection: 1 +2025/08/20 06:39:45 [debug] 600336#600336: *1 epoll add event: fd:6 op:1 ev:80002001 +2025/08/20 06:39:45 [debug] 600336#600336: timer delta: 8326 +2025/08/20 06:39:45 [debug] 600336#600336: worker cycle +2025/08/20 06:39:45 [debug] 600336#600336: epoll timer: 60000 +2025/08/20 06:39:45 [debug] 600336#600336: epoll: fd:6 ev:0001 d:00007874A85041E0 +2025/08/20 06:39:45 [debug] 600336#600336: *1 http wait request handler +2025/08/20 06:39:45 [debug] 600336#600336: *1 malloc: 000056D57973F0A0:1024 +2025/08/20 06:39:45 [debug] 600336#600336: *1 recv: eof:0, avail:-1 +2025/08/20 06:39:45 [debug] 600336#600336: *1 recv: fd:6 84 of 1024 +2025/08/20 06:39:45 [debug] 600336#600336: *1 reusable connection: 0 +2025/08/20 06:39:45 [debug] 600336#600336: *1 posix_memalign: 000056D57975BA30:4096 @16 +2025/08/20 06:39:45 [debug] 600336#600336: *1 http process request line +2025/08/20 06:39:45 [debug] 600336#600336: *1 http request line: "GET /health HTTP/1.1" +2025/08/20 06:39:45 [debug] 600336#600336: *1 http uri: "/health" +2025/08/20 06:39:45 [debug] 600336#600336: *1 http args: "" +2025/08/20 06:39:45 [debug] 600336#600336: *1 http exten: "" +2025/08/20 06:39:45 [debug] 600336#600336: *1 posix_memalign: 000056D579751DA0:4096 @16 +2025/08/20 06:39:45 [debug] 600336#600336: *1 http process request header line +2025/08/20 06:39:45 [debug] 600336#600336: *1 http header: "Host: localhost:9001" +2025/08/20 06:39:45 [debug] 600336#600336: *1 http header: "User-Agent: curl/8.15.0" +2025/08/20 06:39:45 [debug] 600336#600336: *1 http header: "Accept: */*" +2025/08/20 06:39:45 [debug] 600336#600336: *1 http header done +2025/08/20 06:39:45 [debug] 600336#600336: *1 event timer del: 6: 253178398 +2025/08/20 06:39:45 [debug] 600336#600336: *1 generic phase: 0 +2025/08/20 06:39:45 [debug] 600336#600336: *1 rewrite phase: 1 +2025/08/20 06:39:45 [debug] 600336#600336: *1 test location: "/health" +2025/08/20 06:39:45 [debug] 600336#600336: *1 test location: ~ "^/([a-f0-9]{64}).*$" +2025/08/20 06:39:45 [debug] 600336#600336: *1 test location: ~ "^/([a-f0-9]{64})(\.[a-zA-Z0-9]+)?$" +2025/08/20 06:39:45 [debug] 600336#600336: *1 test location: ~ "^/fcgi-head/([a-f0-9]{64}).*$" +2025/08/20 06:39:45 [debug] 600336#600336: *1 test location: ~ "^/list/([a-f0-9]{64}).*$" +2025/08/20 06:39:45 [debug] 600336#600336: *1 using configuration "/health" +2025/08/20 06:39:45 [debug] 600336#600336: *1 http cl:-1 max:104857600 +2025/08/20 06:39:45 [debug] 600336#600336: *1 rewrite phase: 3 +2025/08/20 06:39:45 [debug] 600336#600336: *1 http set discard body +2025/08/20 06:39:45 [debug] 600336#600336: *1 HTTP/1.1 200 OK +Server: nginx/1.18.0 (Ubuntu) +Date: Wed, 20 Aug 2025 10:39:45 GMT +Content-Type: application/octet-stream +Content-Length: 3 +Connection: keep-alive +Content-Type: text/plain + +2025/08/20 06:39:45 [debug] 600336#600336: *1 write new buf t:1 f:0 000056D579752180, pos 000056D579752180, size: 196 file: 0, size: 0 +2025/08/20 06:39:45 [debug] 600336#600336: *1 http write filter: l:0 f:0 s:196 +2025/08/20 06:39:45 [debug] 600336#600336: *1 http output filter "/health?" +2025/08/20 06:39:45 [debug] 600336#600336: *1 http copy filter: "/health?" +2025/08/20 06:39:45 [debug] 600336#600336: *1 http postpone filter "/health?" 00007FFC3A90C9C0 +2025/08/20 06:39:45 [debug] 600336#600336: *1 write old buf t:1 f:0 000056D579752180, pos 000056D579752180, size: 196 file: 0, size: 0 +2025/08/20 06:39:45 [debug] 600336#600336: *1 write new buf t:0 f:0 0000000000000000, pos 000056D579779B42, size: 3 file: 0, size: 0 +2025/08/20 06:39:45 [debug] 600336#600336: *1 http write filter: l:1 f:0 s:199 +2025/08/20 06:39:45 [debug] 600336#600336: *1 http write filter limit 0 +2025/08/20 06:39:45 [debug] 600336#600336: *1 writev: 199 of 199 +2025/08/20 06:39:45 [debug] 600336#600336: *1 http write filter 0000000000000000 +2025/08/20 06:39:45 [debug] 600336#600336: *1 http copy filter: 0 "/health?" +2025/08/20 06:39:45 [debug] 600336#600336: *1 http finalize request: 0, "/health?" a:1, c:1 +2025/08/20 06:39:45 [debug] 600336#600336: *1 set http keepalive handler +2025/08/20 06:39:45 [debug] 600336#600336: *1 http close request +2025/08/20 06:39:45 [debug] 600336#600336: *1 http log handler +2025/08/20 06:39:45 [debug] 600336#600336: *1 free: 000056D57975BA30, unused: 0 +2025/08/20 06:39:45 [debug] 600336#600336: *1 free: 000056D579751DA0, unused: 2736 +2025/08/20 06:39:45 [debug] 600336#600336: *1 free: 000056D57973F0A0 +2025/08/20 06:39:45 [debug] 600336#600336: *1 hc free: 0000000000000000 +2025/08/20 06:39:45 [debug] 600336#600336: *1 hc busy: 0000000000000000 0 +2025/08/20 06:39:45 [debug] 600336#600336: *1 tcp_nodelay +2025/08/20 06:39:45 [debug] 600336#600336: *1 reusable connection: 1 +2025/08/20 06:39:45 [debug] 600336#600336: *1 event timer add: 6: 65000:253183398 +2025/08/20 06:39:45 [debug] 600336#600336: timer delta: 0 +2025/08/20 06:39:45 [debug] 600336#600336: worker cycle +2025/08/20 06:39:45 [debug] 600336#600336: epoll timer: 65000 +2025/08/20 06:39:45 [debug] 600336#600336: epoll: fd:6 ev:2001 d:00007874A85041E0 +2025/08/20 06:39:45 [debug] 600336#600336: *1 http keepalive handler +2025/08/20 06:39:45 [debug] 600336#600336: *1 malloc: 000056D57973F0A0:1024 +2025/08/20 06:39:45 [debug] 600336#600336: *1 recv: eof:1, avail:-1 +2025/08/20 06:39:45 [debug] 600336#600336: *1 recv: fd:6 0 of 1024 +2025/08/20 06:39:45 [info] 600336#600336: *1 client 127.0.0.1 closed keepalive connection +2025/08/20 06:39:45 [debug] 600336#600336: *1 close http connection: 6 +2025/08/20 06:39:45 [debug] 600336#600336: *1 event timer del: 6: 253183398 +2025/08/20 06:39:45 [debug] 600336#600336: *1 reusable connection: 0 +2025/08/20 06:39:45 [debug] 600336#600336: *1 free: 000056D57973F0A0 +2025/08/20 06:39:45 [debug] 600336#600336: *1 free: 000056D57973C840, unused: 136 +2025/08/20 06:39:45 [debug] 600336#600336: timer delta: 1 +2025/08/20 06:39:45 [debug] 600336#600336: worker cycle +2025/08/20 06:39:45 [debug] 600336#600336: epoll timer: -1 +2025/08/20 06:39:45 [debug] 600336#600336: epoll: fd:5 ev:0001 d:00007874A8504010 +2025/08/20 06:39:45 [debug] 600336#600336: accept on 0.0.0.0:9001, ready: 0 +2025/08/20 06:39:45 [debug] 600336#600336: posix_memalign: 000056D57973C840:512 @16 +2025/08/20 06:39:45 [debug] 600336#600336: *2 accept: 127.0.0.1:41010 fd:6 +2025/08/20 06:39:45 [debug] 600336#600336: *2 event timer add: 6: 60000:253178719 +2025/08/20 06:39:45 [debug] 600336#600336: *2 reusable connection: 1 +2025/08/20 06:39:45 [debug] 600336#600336: *2 epoll add event: fd:6 op:1 ev:80002001 +2025/08/20 06:39:45 [debug] 600336#600336: timer delta: 320 +2025/08/20 06:39:45 [debug] 600336#600336: worker cycle +2025/08/20 06:39:45 [debug] 600336#600336: epoll timer: 60000 +2025/08/20 06:39:45 [debug] 600336#600336: epoll: fd:6 ev:0001 d:00007874A85041E1 +2025/08/20 06:39:45 [debug] 600336#600336: *2 http wait request handler +2025/08/20 06:39:45 [debug] 600336#600336: *2 malloc: 000056D57973F0A0:1024 +2025/08/20 06:39:45 [debug] 600336#600336: *2 recv: eof:0, avail:-1 +2025/08/20 06:39:45 [debug] 600336#600336: *2 recv: fd:6 1024 of 1024 +2025/08/20 06:39:45 [debug] 600336#600336: *2 recv: avail:112 +2025/08/20 06:39:45 [debug] 600336#600336: *2 reusable connection: 0 +2025/08/20 06:39:45 [debug] 600336#600336: *2 posix_memalign: 000056D57975BA30:4096 @16 +2025/08/20 06:39:45 [debug] 600336#600336: *2 http process request line +2025/08/20 06:39:45 [debug] 600336#600336: *2 http request line: "PUT /upload HTTP/1.1" +2025/08/20 06:39:45 [debug] 600336#600336: *2 http uri: "/upload" +2025/08/20 06:39:45 [debug] 600336#600336: *2 http args: "" +2025/08/20 06:39:45 [debug] 600336#600336: *2 http exten: "" +2025/08/20 06:39:45 [debug] 600336#600336: *2 posix_memalign: 000056D579751DA0:4096 @16 +2025/08/20 06:39:45 [debug] 600336#600336: *2 http process request header line +2025/08/20 06:39:45 [debug] 600336#600336: *2 http header: "Host: localhost:9001" +2025/08/20 06:39:45 [debug] 600336#600336: *2 http header: "User-Agent: curl/8.15.0" +2025/08/20 06:39:45 [debug] 600336#600336: *2 http header: "Accept: */*" +2025/08/20 06:39:45 [debug] 600336#600336: *2 http header: "Authorization: Nostr eyJraW5kIjoyNDI0MiwiaWQiOiIxM2I1NTU3ZWQwYjBkMzgzOWM1YmQ0YmNjMTg4NDIwMWRhNDIzYmVmZDU5YmVlMTI2MmU2MjA0ZTFhMzYyNjNmIiwicHVia2V5IjoiNzliZTY2N2VmOWRjYmJhYzU1YTA2Mjk1Y2U4NzBiMDcwMjliZmNkYjJkY2UyOGQ5NTlmMjgxNWIxNmY4MTc5OCIsImNyZWF0ZWRfYXQiOjE3NTU2ODYzODUsInRhZ3MiOltbInQiLCJ1cGxvYWQiXSxbIngiLCJmMTVhODc4NDNiOWU0ZTA2ZTM1OWIwOGQ1ODRlZWQ0MmIyZmUzMjE0NjQzMWNmMDAxMjRhOTZkNGVmOTdlOWQzIl0sWyJleHBpcmF0aW9uIiwiMTc1NTY4OTk4NSJdXSwiY29udGVudCI6IiIsInNpZyI6ImY1OTc1Y2Q5YmY4ZTU1ZWM4ODExZjFjOGI4ZmYyMmFkN2E3ZGE3NjY2ZGZkNDI2YzI4NjUyNmE5ODNiNGNmYmUwZWE0NWM1NDMyOTZiOWI2NWE0MDg3MzhiOWM5ZmUzYjNjYzAzZGQ1NmI0NDQ5NjMxMDNjMzYzYjUyMzNlMmMwIn0=" +2025/08/20 06:39:45 [debug] 600336#600336: *2 http header: "Content-Type: text/plain" +2025/08/20 06:39:45 [debug] 600336#600336: *2 http header: "Content-Disposition: attachment; filename="test_blob_1755686385.txt"" +2025/08/20 06:39:45 [debug] 600336#600336: *2 http header: "Content-Length: 296" +2025/08/20 06:39:45 [debug] 600336#600336: *2 http header done +2025/08/20 06:39:45 [debug] 600336#600336: *2 event timer del: 6: 253178719 +2025/08/20 06:39:45 [debug] 600336#600336: *2 generic phase: 0 +2025/08/20 06:39:45 [debug] 600336#600336: *2 rewrite phase: 1 +2025/08/20 06:39:45 [debug] 600336#600336: *2 test location: "/health" +2025/08/20 06:39:45 [debug] 600336#600336: *2 test location: "/upload" +2025/08/20 06:39:45 [debug] 600336#600336: *2 test location: ~ "^/([a-f0-9]{64}).*$" +2025/08/20 06:39:45 [debug] 600336#600336: *2 test location: ~ "^/([a-f0-9]{64})(\.[a-zA-Z0-9]+)?$" +2025/08/20 06:39:45 [debug] 600336#600336: *2 test location: ~ "^/fcgi-head/([a-f0-9]{64}).*$" +2025/08/20 06:39:45 [debug] 600336#600336: *2 test location: ~ "^/list/([a-f0-9]{64}).*$" +2025/08/20 06:39:45 [debug] 600336#600336: *2 using configuration "/upload" +2025/08/20 06:39:45 [debug] 600336#600336: *2 http cl:296 max:104857600 +2025/08/20 06:39:45 [debug] 600336#600336: *2 rewrite phase: 3 +2025/08/20 06:39:45 [debug] 600336#600336: *2 http script var +2025/08/20 06:39:45 [debug] 600336#600336: *2 http script var: "PUT" +2025/08/20 06:39:45 [debug] 600336#600336: *2 http script regex: "^(PUT)$" +2025/08/20 06:39:45 [notice] 600336#600336: *2 "^(PUT)$" matches "PUT", client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", host: "localhost:9001" +2025/08/20 06:39:45 [debug] 600336#600336: *2 http script if +2025/08/20 06:39:45 [debug] 600336#600336: *2 http script if: false +2025/08/20 06:39:45 [debug] 600336#600336: *2 post rewrite phase: 4 +2025/08/20 06:39:45 [debug] 600336#600336: *2 generic phase: 5 +2025/08/20 06:39:45 [debug] 600336#600336: *2 generic phase: 6 +2025/08/20 06:39:45 [debug] 600336#600336: *2 generic phase: 7 +2025/08/20 06:39:45 [debug] 600336#600336: *2 access phase: 8 +2025/08/20 06:39:45 [debug] 600336#600336: *2 access phase: 9 +2025/08/20 06:39:45 [debug] 600336#600336: *2 access phase: 10 +2025/08/20 06:39:45 [debug] 600336#600336: *2 post access phase: 11 +2025/08/20 06:39:45 [debug] 600336#600336: *2 generic phase: 12 +2025/08/20 06:39:45 [debug] 600336#600336: *2 generic phase: 13 +2025/08/20 06:39:45 [debug] 600336#600336: *2 http client request body preread 184 +2025/08/20 06:39:45 [debug] 600336#600336: *2 http request body content length filter +2025/08/20 06:39:45 [debug] 600336#600336: *2 http body new buf t:1 f:0 000056D57973F3E8, pos 000056D57973F3E8, size: 184 file: 0, size: 0 +2025/08/20 06:39:45 [debug] 600336#600336: *2 http read client request body +2025/08/20 06:39:45 [debug] 600336#600336: *2 recv: eof:0, avail:112 +2025/08/20 06:39:45 [debug] 600336#600336: *2 recv: fd:6 112 of 112 +2025/08/20 06:39:45 [debug] 600336#600336: *2 recv: avail:0 +2025/08/20 06:39:45 [debug] 600336#600336: *2 http client request body recv 112 +2025/08/20 06:39:45 [debug] 600336#600336: *2 http body new buf t:1 f:0 000056D579752830, pos 000056D579752830, size: 112 file: 0, size: 0 +2025/08/20 06:39:45 [debug] 600336#600336: *2 http client request body rest 0 +2025/08/20 06:39:45 [debug] 600336#600336: *2 http init upstream, client timer: 0 +2025/08/20 06:39:45 [debug] 600336#600336: *2 epoll add event: fd:6 op:3 ev:80002005 +2025/08/20 06:39:45 [debug] 600336#600336: *2 posix_memalign: 000056D579746150:4096 @16 +2025/08/20 06:39:45 [debug] 600336#600336: *2 http script copy: "QUERY_STRING" +2025/08/20 06:39:45 [debug] 600336#600336: *2 fastcgi param: "QUERY_STRING: " +2025/08/20 06:39:45 [debug] 600336#600336: *2 http script copy: "REQUEST_METHOD" +2025/08/20 06:39:45 [debug] 600336#600336: *2 http script var: "PUT" +2025/08/20 06:39:45 [debug] 600336#600336: *2 fastcgi param: "REQUEST_METHOD: PUT" +2025/08/20 06:39:45 [debug] 600336#600336: *2 http script copy: "CONTENT_TYPE" +2025/08/20 06:39:45 [debug] 600336#600336: *2 http script var: "text/plain" +2025/08/20 06:39:45 [debug] 600336#600336: *2 fastcgi param: "CONTENT_TYPE: text/plain" +2025/08/20 06:39:45 [debug] 600336#600336: *2 http script copy: "CONTENT_LENGTH" +2025/08/20 06:39:45 [debug] 600336#600336: *2 http script var: "296" +2025/08/20 06:39:45 [debug] 600336#600336: *2 fastcgi param: "CONTENT_LENGTH: 296" +2025/08/20 06:39:45 [debug] 600336#600336: *2 http script copy: "SCRIPT_NAME" +2025/08/20 06:39:45 [debug] 600336#600336: *2 http script var: "/upload" +2025/08/20 06:39:45 [debug] 600336#600336: *2 fastcgi param: "SCRIPT_NAME: /upload" +2025/08/20 06:39:45 [debug] 600336#600336: *2 http script copy: "REQUEST_URI" +2025/08/20 06:39:45 [debug] 600336#600336: *2 http script var: "/upload" +2025/08/20 06:39:45 [debug] 600336#600336: *2 fastcgi param: "REQUEST_URI: /upload" +2025/08/20 06:39:45 [debug] 600336#600336: *2 http script copy: "DOCUMENT_URI" +2025/08/20 06:39:45 [debug] 600336#600336: *2 http script var: "/upload" +2025/08/20 06:39:45 [debug] 600336#600336: *2 fastcgi param: "DOCUMENT_URI: /upload" +2025/08/20 06:39:45 [debug] 600336#600336: *2 http script copy: "DOCUMENT_ROOT" +2025/08/20 06:39:45 [debug] 600336#600336: *2 http script var: "./blobs" +2025/08/20 06:39:45 [debug] 600336#600336: *2 fastcgi param: "DOCUMENT_ROOT: ./blobs" +2025/08/20 06:39:45 [debug] 600336#600336: *2 http script copy: "SERVER_PROTOCOL" +2025/08/20 06:39:45 [debug] 600336#600336: *2 http script var: "HTTP/1.1" +2025/08/20 06:39:45 [debug] 600336#600336: *2 fastcgi param: "SERVER_PROTOCOL: HTTP/1.1" +2025/08/20 06:39:45 [debug] 600336#600336: *2 http script copy: "REQUEST_SCHEME" +2025/08/20 06:39:45 [debug] 600336#600336: *2 http script var: "http" +2025/08/20 06:39:45 [debug] 600336#600336: *2 fastcgi param: "REQUEST_SCHEME: http" +2025/08/20 06:39:45 [debug] 600336#600336: *2 http script copy: "" +2025/08/20 06:39:45 [debug] 600336#600336: *2 http script copy: "GATEWAY_INTERFACE" +2025/08/20 06:39:45 [debug] 600336#600336: *2 http script copy: "CGI/1.1" +2025/08/20 06:39:45 [debug] 600336#600336: *2 fastcgi param: "GATEWAY_INTERFACE: CGI/1.1" +2025/08/20 06:39:45 [debug] 600336#600336: *2 http script copy: "SERVER_SOFTWARE" +2025/08/20 06:39:45 [debug] 600336#600336: *2 http script copy: "nginx/" +2025/08/20 06:39:45 [debug] 600336#600336: *2 http script var: "1.18.0" +2025/08/20 06:39:45 [debug] 600336#600336: *2 fastcgi param: "SERVER_SOFTWARE: nginx/1.18.0" +2025/08/20 06:39:45 [debug] 600336#600336: *2 http script copy: "REMOTE_ADDR" +2025/08/20 06:39:45 [debug] 600336#600336: *2 http script var: "127.0.0.1" +2025/08/20 06:39:45 [debug] 600336#600336: *2 fastcgi param: "REMOTE_ADDR: 127.0.0.1" +2025/08/20 06:39:45 [debug] 600336#600336: *2 http script copy: "REMOTE_PORT" +2025/08/20 06:39:45 [debug] 600336#600336: *2 http script var: "41010" +2025/08/20 06:39:45 [debug] 600336#600336: *2 fastcgi param: "REMOTE_PORT: 41010" +2025/08/20 06:39:45 [debug] 600336#600336: *2 http script copy: "SERVER_ADDR" +2025/08/20 06:39:45 [debug] 600336#600336: *2 http script var: "127.0.0.1" +2025/08/20 06:39:45 [debug] 600336#600336: *2 fastcgi param: "SERVER_ADDR: 127.0.0.1" +2025/08/20 06:39:45 [debug] 600336#600336: *2 http script copy: "SERVER_PORT" +2025/08/20 06:39:45 [debug] 600336#600336: *2 http script var: "9001" +2025/08/20 06:39:45 [debug] 600336#600336: *2 fastcgi param: "SERVER_PORT: 9001" +2025/08/20 06:39:45 [debug] 600336#600336: *2 http script copy: "SERVER_NAME" +2025/08/20 06:39:45 [debug] 600336#600336: *2 http script var: "localhost" +2025/08/20 06:39:45 [debug] 600336#600336: *2 fastcgi param: "SERVER_NAME: localhost" +2025/08/20 06:39:45 [debug] 600336#600336: *2 http script copy: "REDIRECT_STATUS" +2025/08/20 06:39:45 [debug] 600336#600336: *2 http script copy: "200" +2025/08/20 06:39:45 [debug] 600336#600336: *2 fastcgi param: "REDIRECT_STATUS: 200" +2025/08/20 06:39:45 [debug] 600336#600336: *2 http script copy: "SCRIPT_FILENAME" +2025/08/20 06:39:45 [debug] 600336#600336: *2 http script var: "./blobs" +2025/08/20 06:39:45 [debug] 600336#600336: *2 http script copy: "/ginxsom.fcgi" +2025/08/20 06:39:45 [debug] 600336#600336: *2 fastcgi param: "SCRIPT_FILENAME: ./blobs/ginxsom.fcgi" +2025/08/20 06:39:45 [debug] 600336#600336: *2 fastcgi param: "HTTP_HOST: localhost:9001" +2025/08/20 06:39:45 [debug] 600336#600336: *2 fastcgi param: "HTTP_USER_AGENT: curl/8.15.0" +2025/08/20 06:39:45 [debug] 600336#600336: *2 fastcgi param: "HTTP_ACCEPT: */*" +2025/08/20 06:39:45 [debug] 600336#600336: *2 fastcgi param: "HTTP_AUTHORIZATION: Nostr eyJraW5kIjoyNDI0MiwiaWQiOiIxM2I1NTU3ZWQwYjBkMzgzOWM1YmQ0YmNjMTg4NDIwMWRhNDIzYmVmZDU5YmVlMTI2MmU2MjA0ZTFhMzYyNjNmIiwicHVia2V5IjoiNzliZTY2N2VmOWRjYmJhYzU1YTA2Mjk1Y2U4NzBiMDcwMjliZmNkYjJkY2UyOGQ5NTlmMjgxNWIxNmY4MTc5OCIsImNyZWF0ZWRfYXQiOjE3NTU2ODYzODUsInRhZ3MiOltbInQiLCJ1cGxvYWQiXSxbIngiLCJmMTVhODc4NDNiOWU0ZTA2ZTM1OWIwOGQ1ODRlZWQ0MmIyZmUzMjE0NjQzMWNmMDAxMjRhOTZkNGVmOTdlOWQzIl0sWyJleHBpcmF0aW9uIiwiMTc1NTY4OTk4NSJdXSwiY29udGVudCI6IiIsInNpZyI6ImY1OTc1Y2Q5YmY4ZTU1ZWM4ODExZjFjOGI4ZmYyMmFkN2E3ZGE3NjY2ZGZkNDI2YzI4NjUyNmE5ODNiNGNmYmUwZWE0NWM1NDMyOTZiOWI2NWE0MDg3MzhiOWM5ZmUzYjNjYzAzZGQ1NmI0NDQ5NjMxMDNjMzYzYjUyMzNlMmMwIn0=" +2025/08/20 06:39:45 [debug] 600336#600336: *2 fastcgi param: "HTTP_CONTENT_TYPE: text/plain" +2025/08/20 06:39:45 [debug] 600336#600336: *2 fastcgi param: "HTTP_CONTENT_DISPOSITION: attachment; filename="test_blob_1755686385.txt"" +2025/08/20 06:39:45 [debug] 600336#600336: *2 fastcgi param: "HTTP_CONTENT_LENGTH: 296" +2025/08/20 06:39:45 [debug] 600336#600336: *2 http cleanup add: 000056D579752B80 +2025/08/20 06:39:45 [debug] 600336#600336: *2 get rr peer, try: 1 +2025/08/20 06:39:45 [debug] 600336#600336: *2 stream socket 10 +2025/08/20 06:39:45 [debug] 600336#600336: *2 epoll add connection: fd:10 ev:80002005 +2025/08/20 06:39:45 [debug] 600336#600336: *2 connect to unix:/tmp/ginxsom-fcgi.sock, fd:10 #3 +2025/08/20 06:39:45 [debug] 600336#600336: *2 connected +2025/08/20 06:39:45 [debug] 600336#600336: *2 http upstream connect: 0 +2025/08/20 06:39:45 [debug] 600336#600336: *2 posix_memalign: 000056D579725F20:128 @16 +2025/08/20 06:39:45 [debug] 600336#600336: *2 http upstream send request +2025/08/20 06:39:45 [debug] 600336#600336: *2 http upstream send request body +2025/08/20 06:39:45 [debug] 600336#600336: *2 chain writer buf fl:0 s:1304 +2025/08/20 06:39:45 [debug] 600336#600336: *2 chain writer buf fl:0 s:184 +2025/08/20 06:39:45 [debug] 600336#600336: *2 chain writer buf fl:0 s:8 +2025/08/20 06:39:45 [debug] 600336#600336: *2 chain writer buf fl:0 s:112 +2025/08/20 06:39:45 [debug] 600336#600336: *2 chain writer buf fl:0 s:8 +2025/08/20 06:39:45 [debug] 600336#600336: *2 chain writer in: 000056D579752C10 +2025/08/20 06:39:45 [debug] 600336#600336: *2 writev: 1616 of 1616 +2025/08/20 06:39:45 [debug] 600336#600336: *2 chain writer out: 0000000000000000 +2025/08/20 06:39:45 [debug] 600336#600336: *2 event timer add: 10: 60000:253178719 +2025/08/20 06:39:45 [debug] 600336#600336: *2 http finalize request: -4, "/upload?" a:1, c:2 +2025/08/20 06:39:45 [debug] 600336#600336: *2 http request count:2 blk:0 +2025/08/20 06:39:45 [debug] 600336#600336: timer delta: 0 +2025/08/20 06:39:45 [debug] 600336#600336: worker cycle +2025/08/20 06:39:45 [debug] 600336#600336: epoll timer: 60000 +2025/08/20 06:39:45 [debug] 600336#600336: epoll: fd:6 ev:0004 d:00007874A85041E1 +2025/08/20 06:39:45 [debug] 600336#600336: *2 http run request: "/upload?" +2025/08/20 06:39:45 [debug] 600336#600336: *2 http upstream check client, write event:1, "/upload" +2025/08/20 06:39:45 [debug] 600336#600336: epoll: fd:10 ev:0004 d:00007874A85042C8 +2025/08/20 06:39:45 [debug] 600336#600336: *2 http upstream request: "/upload?" +2025/08/20 06:39:45 [debug] 600336#600336: *2 http upstream dummy handler +2025/08/20 06:39:45 [debug] 600336#600336: timer delta: 2 +2025/08/20 06:39:45 [debug] 600336#600336: worker cycle +2025/08/20 06:39:45 [debug] 600336#600336: epoll timer: 59998 +2025/08/20 06:39:45 [debug] 600336#600336: epoll: fd:10 ev:2005 d:00007874A85042C8 +2025/08/20 06:39:45 [debug] 600336#600336: *2 http upstream request: "/upload?" +2025/08/20 06:39:45 [debug] 600336#600336: *2 http upstream process header +2025/08/20 06:39:45 [debug] 600336#600336: *2 malloc: 000056D579747160:4096 +2025/08/20 06:39:45 [debug] 600336#600336: *2 recv: eof:1, avail:-1 +2025/08/20 06:39:45 [debug] 600336#600336: *2 recv: fd:10 4096 of 4096 +2025/08/20 06:39:45 [debug] 600336#600336: *2 recv: avail:616 +2025/08/20 06:39:45 [debug] 600336#600336: *2 http fastcgi record byte: 01 +2025/08/20 06:39:45 [debug] 600336#600336: *2 http fastcgi record byte: 06 +2025/08/20 06:39:45 [debug] 600336#600336: *2 http fastcgi record byte: 00 +2025/08/20 06:39:45 [debug] 600336#600336: *2 http fastcgi record byte: 01 +2025/08/20 06:39:45 [debug] 600336#600336: *2 http fastcgi record byte: 12 +2025/08/20 06:39:45 [debug] 600336#600336: *2 http fastcgi record byte: 45 +2025/08/20 06:39:45 [debug] 600336#600336: *2 http fastcgi record byte: 03 +2025/08/20 06:39:45 [debug] 600336#600336: *2 http fastcgi record byte: 00 +2025/08/20 06:39:45 [debug] 600336#600336: *2 http fastcgi record length: 4677 +2025/08/20 06:39:45 [debug] 600336#600336: *2 http fastcgi parser: 0 +2025/08/20 06:39:45 [debug] 600336#600336: *2 http fastcgi header: "DEBUG: FastCGI received request" +2025/08/20 06:39:45 [debug] 600336#600336: *2 http fastcgi parser: 0 +2025/08/20 06:39:45 [debug] 600336#600336: *2 http fastcgi header: "DEBUG: METHOD=PUT, URI=/upload" +2025/08/20 06:39:45 [debug] 600336#600336: *2 http fastcgi parser: 0 +2025/08/20 06:39:45 [debug] 600336#600336: *2 http fastcgi header: "DEBUG: handle_upload_request called" +2025/08/20 06:39:45 [debug] 600336#600336: *2 http fastcgi parser: 0 +2025/08/20 06:39:45 [debug] 600336#600336: *2 http fastcgi header: "LOG: [2025-08-20 06:39:45] PUT /upload - Auth: pending - Status: 0" +2025/08/20 06:39:45 [debug] 600336#600336: *2 http fastcgi parser: 0 +2025/08/20 06:39:45 [debug] 600336#600336: *2 http fastcgi header: "DEBUG: content_type=text/plain" +2025/08/20 06:39:45 [debug] 600336#600336: *2 http fastcgi parser: 0 +2025/08/20 06:39:45 [debug] 600336#600336: *2 http fastcgi header: "DEBUG: content_length=296" +2025/08/20 06:39:45 [debug] 600336#600336: *2 http fastcgi parser: 0 +2025/08/20 06:39:45 [debug] 600336#600336: *2 http fastcgi header: "DEBUG: Raw Authorization header: Nostr eyJraW5kIjoyNDI0MiwiaWQiOiIxM2I1NTU3ZWQwYjBkMzgzOWM1YmQ0YmNjMTg4NDIwMWRhNDIzYmVmZDU5YmVlMTI2MmU2MjA0ZTFhMzYyNjNmIiwicHVia2V5IjoiNzliZTY2N2VmOWRjYmJhYzU1YTA2Mjk1Y2U4NzBiMDcwMjliZmNkYjJkY2UyOGQ5NTlmMjgxNWIxNmY4MTc5OCIsImNyZWF0ZWRfYXQiOjE3NTU2ODYzODUsInRhZ3MiOltbInQiLCJ1cGxvYWQiXSxbIngiLCJmMTVhODc4NDNiOWU0ZTA2ZTM1OWIwOGQ1ODRlZWQ0MmIyZmUzMjE0NjQzMWNmMDAxMjRhOTZkNGVmOTdlOWQzIl0sWyJleHBpcmF0aW9uIiwiMTc1NTY4OTk4NSJdXSwiY29udGVudCI6IiIsInNpZyI6ImY1OTc1Y2Q5YmY4ZTU1ZWM4ODExZjFjOGI4ZmYyMmFkN2E3ZGE3NjY2ZGZkNDI2YzI4NjUyNmE5ODNiNGNmYmUwZWE0NWM1NDMyOTZiOWI2NWE0MDg3MzhiOWM5ZmUzYjNjYzAzZGQ1NmI0NDQ5NjMxMDNjMzYzYjUyMzNlMmMwIn0=" +2025/08/20 06:39:45 [debug] 600336#600336: *2 http fastcgi parser: 0 +2025/08/20 06:39:45 [debug] 600336#600336: *2 http fastcgi header: "LOG: [2025-08-20 06:39:45] PUT /upload - Auth: auth_provided - Status: 0" +2025/08/20 06:39:45 [debug] 600336#600336: *2 http fastcgi parser: 0 +2025/08/20 06:39:45 [debug] 600336#600336: *2 http fastcgi header: "DEBUG: Successfully read DEBUG: Calculated SHA-256: f15a87843b9e4e06e359b08d584eed42b2fe32146431cf00124a96d4ef97e9d3" +2025/08/20 06:39:45 [debug] 600336#600336: *2 http fastcgi parser: 0 +2025/08/20 06:39:45 [debug] 600336#600336: *2 http fastcgi header: "DEBUG: authenticate_request ENTRY - method: upload, hash: f15a87843b9e4e06e359b08d584eed42b2fe32146431cf00124a96d4ef97e9d3" +2025/08/20 06:39:45 [debug] 600336#600336: *2 http fastcgi parser: 0 +2025/08/20 06:39:45 [debug] 600336#600336: *2 http fastcgi header: "DEBUG: authenticate_request - calling parse_authorization_header" +2025/08/20 06:39:45 [debug] 600336#600336: *2 http fastcgi parser: 0 +2025/08/20 06:39:45 [debug] 600336#600336: *2 http fastcgi header: "DEBUG: parse_authorization_header called with header: Nostr eyJraW5kIjoyNDI0MiwiaWQiOiIxM2I1NTU3ZWQwYjBk..." +2025/08/20 06:39:45 [debug] 600336#600336: *2 http fastcgi parser: 0 +2025/08/20 06:39:45 [debug] 600336#600336: *2 http fastcgi header: "DEBUG: Extracted base64 event (length=DEBUG: Base64 decode result - decoded_len=DEBUG: Successfully decoded JSON (length=DEBUG: authenticate_request - parse_authorization_header succeeded" +2025/08/20 06:39:45 [debug] 600336#600336: *2 http fastcgi parser: 0 +2025/08/20 06:39:45 [debug] 600336#600336: *2 http fastcgi header: "DEBUG: authenticate_request - calling cJSON_Parse on: {"kind":24242,"id":"13b5557ed0b0d3839c5bd4bcc1884201da423befd59bee1262e6204e1a36263f","pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1755686385,"tags":[["t","upload"],["x","f15a87843b9e4e06e359b08d584eed42b2fe32146431cf00124a96d4ef97e9d3"],["expiration","1755689985"]],"content":"","sig":"f5975cd9bf8e55ec8811f1c8b8ff22ad7a7da7666dfd426c286526a983b4cfbe0ea45c543296b9b65a408738b9c9fe3b3cc03dd56b444963103c363b5233e2c0"}" +2025/08/20 06:39:45 [debug] 600336#600336: *2 http fastcgi parser: 0 +2025/08/20 06:39:45 [debug] 600336#600336: *2 posix_memalign: 000056D579748170:4096 @16 +2025/08/20 06:39:45 [debug] 600336#600336: *2 http fastcgi header: "DEBUG: authenticate_request - cJSON_Parse succeeded, event parsed" +2025/08/20 06:39:45 [debug] 600336#600336: *2 http fastcgi parser: 0 +2025/08/20 06:39:45 [debug] 600336#600336: *2 http fastcgi header: "DEBUG: authenticate_request - Parsed JSON: {" +2025/08/20 06:39:45 [debug] 600336#600336: *2 http fastcgi parser: 0 +2025/08/20 06:39:45 [debug] 600336#600336: *2 http fastcgi header: " "kind": 24242," +2025/08/20 06:39:45 [debug] 600336#600336: *2 http fastcgi parser: 0 +2025/08/20 06:39:45 [debug] 600336#600336: *2 http fastcgi header: " "id": "13b5557ed0b0d3839c5bd4bcc1884201da423befd59bee1262e6204e1a36263f"," +2025/08/20 06:39:45 [debug] 600336#600336: *2 http fastcgi parser: 0 +2025/08/20 06:39:45 [debug] 600336#600336: *2 http fastcgi header: " "pubkey": "79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"," +2025/08/20 06:39:45 [debug] 600336#600336: *2 http fastcgi parser: 0 +2025/08/20 06:39:45 [debug] 600336#600336: *2 http fastcgi header: " "created_at": 1755686385," +2025/08/20 06:39:45 [debug] 600336#600336: *2 http fastcgi parser: 0 +2025/08/20 06:39:45 [debug] 600336#600336: *2 http fastcgi header: " "tags": [["t", "upload"], ["x", "f15a87843b9e4e06e359b08d584eed42b2fe32146431cf00124a96d4ef97e9d3"], ["expiration", "1755689985"]]," +2025/08/20 06:39:45 [debug] 600336#600336: *2 http fastcgi parser: 0 +2025/08/20 06:39:45 [debug] 600336#600336: *2 http fastcgi header: " "content": ""," +2025/08/20 06:39:45 [debug] 600336#600336: *2 http fastcgi parser: 0 +2025/08/20 06:39:45 [debug] 600336#600336: *2 http fastcgi header: " "sig": "f5975cd9bf8e55ec8811f1c8b8ff22ad7a7da7666dfd426c286526a983b4cfbe0ea45c543296b9b65a408738b9c9fe3b3cc03dd56b444963103c363b5233e2c0"" +2025/08/20 06:39:45 [debug] 600336#600336: *2 http fastcgi parser: 0 +2025/08/20 06:39:45 [debug] 600336#600336: *2 http fastcgi header: "}: " +2025/08/20 06:39:45 [debug] 600336#600336: *2 http fastcgi parser: 0 +2025/08/20 06:39:45 [debug] 600336#600336: *2 http fastcgi header: "DEBUG: authenticate_request - Event fields before validation:" +2025/08/20 06:39:45 [debug] 600336#600336: *2 http fastcgi parser: 0 +2025/08/20 06:39:45 [debug] 600336#600336: *2 http fastcgi header: "DEBUG: id: 13b5557ed0b0d3839c5bd4bcc1884201da423befd59bee1262e6204e1a36263f" +2025/08/20 06:39:45 [debug] 600336#600336: *2 http fastcgi parser: 0 +2025/08/20 06:39:45 [debug] 600336#600336: *2 http fastcgi header: "DEBUG: pubkey: 79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798" +2025/08/20 06:39:45 [debug] 600336#600336: *2 http fastcgi parser: 0 +2025/08/20 06:39:45 [debug] 600336#600336: *2 http fastcgi header: "DEBUG: sig: f5975cd9bf8e55ec8811f1c8b8ff22ad7a7da7666dfd426c286526a983b4cfbe0ea45c543296b9b65a408738b9c9fe3b3cc03dd56b444963103c363b5233e2c0" +2025/08/20 06:39:45 [debug] 600336#600336: *2 http fastcgi parser: 0 +2025/08/20 06:39:45 [debug] 600336#600336: *2 http fastcgi header: "DEBUG: kind: 24242" +2025/08/20 06:39:45 [debug] 600336#600336: *2 http fastcgi parser: 0 +2025/08/20 06:39:45 [debug] 600336#600336: *2 http fastcgi header: "DEBUG: created_at: 1755686385" +2025/08/20 06:39:45 [debug] 600336#600336: *2 http fastcgi parser: 0 +2025/08/20 06:39:45 [debug] 600336#600336: *2 http fastcgi header: "DEBUG: authenticate_request - Detailed pubkey analysis:" +2025/08/20 06:39:45 [debug] 600336#600336: *2 http fastcgi parser: 0 +2025/08/20 06:39:45 [debug] 600336#600336: *2 http fastcgi header: "DEBUG: Pubkey: 79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798" +2025/08/20 06:39:45 [debug] 600336#600336: *2 http fastcgi parser: 0 +2025/08/20 06:39:45 [debug] 600336#600336: *2 http fastcgi header: "DEBUG: Length: DEBUG: Character analysis (first 10): 7(0x37) 9(0x39) b(0x62) e(0x65) 6(0x36) 6(0x36) 7(0x37) e(0x65) f(0x66) 9(0x39)" +2025/08/20 06:39:45 [debug] 600336#600336: *2 http fastcgi parser: 0 +2025/08/20 06:39:45 [debug] 600336#600336: *2 http fastcgi header: "DEBUG: authenticate_request - calling nostr_validate_event" +2025/08/20 06:39:45 [debug] 600336#600336: *2 http fastcgi parser: 0 +2025/08/20 06:39:45 [debug] 600336#600336: *2 http fastcgi header: "DEBUG: authenticate_request - Pre-validation pubkey analysis:" +2025/08/20 06:39:45 [debug] 600336#600336: *2 http fastcgi parser: 0 +2025/08/20 06:39:45 [debug] 600336#600336: *2 http fastcgi header: "DEBUG: Pubkey: 79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798" +2025/08/20 06:39:45 [debug] 600336#600336: *2 http fastcgi parser: 0 +2025/08/20 06:39:45 [debug] 600336#600336: *2 http fastcgi header: "DEBUG: Length: DEBUG: Character analysis (first 10): 7(55) 9(57) b(98) e(101) 6(54) 6(54) 7(55) e(101) f(102) 9(57)" +2025/08/20 06:39:45 [debug] 600336#600336: *2 http fastcgi parser: 0 +2025/08/20 06:39:45 [debug] 600336#600336: *2 http fastcgi header: "DEBUG: Character validation test: ALL VALID (lowercase hex)" +2025/08/20 06:39:45 [debug] 600336#600336: *2 http fastcgi parser: 0 +2025/08/20 06:39:45 [debug] 600336#600336: *2 http fastcgi header: "DEBUG: authenticate_request - Starting detailed validation analysis" +2025/08/20 06:39:45 [debug] 600336#600336: *2 http fastcgi parser: 0 +2025/08/20 06:39:45 [debug] 600336#600336: *2 http fastcgi header: "DEBUG: authenticate_request - Testing structure validation..." +2025/08/20 06:39:45 [debug] 600336#600336: *2 http fastcgi parser: 0 +2025/08/20 06:39:45 [debug] 600336#600336: *2 http fastcgi header: "DEBUG: authenticate_request - nostr_validate_event_structure returned: 0 (Success)" +2025/08/20 06:39:45 [debug] 600336#600336: *2 http fastcgi parser: 0 +2025/08/20 06:39:45 [debug] 600336#600336: *2 http fastcgi header: "DEBUG: authenticate_request - Structure validation PASSED" +2025/08/20 06:39:45 [debug] 600336#600336: *2 http fastcgi parser: -2 +2025/08/20 06:39:45 [debug] 600336#600336: *2 upstream split a header line in FastCGI records +2025/08/20 06:39:45 [error] 600336#600336: *2 upstream sent too big header while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 06:39:45 [debug] 600336#600336: *2 http next upstream, 8 +2025/08/20 06:39:45 [debug] 600336#600336: *2 free rr peer 1 4 +2025/08/20 06:39:45 [debug] 600336#600336: *2 finalize http upstream request: 502 +2025/08/20 06:39:45 [debug] 600336#600336: *2 finalize http fastcgi request +2025/08/20 06:39:45 [debug] 600336#600336: *2 close http upstream connection: 10 +2025/08/20 06:39:45 [debug] 600336#600336: *2 free: 000056D579725F20, unused: 48 +2025/08/20 06:39:45 [debug] 600336#600336: *2 event timer del: 10: 253178719 +2025/08/20 06:39:45 [debug] 600336#600336: *2 reusable connection: 0 +2025/08/20 06:39:45 [debug] 600336#600336: *2 http finalize request: 502, "/upload?" a:1, c:1 +2025/08/20 06:39:45 [debug] 600336#600336: *2 http special response: 502, "/upload?" +2025/08/20 06:39:45 [debug] 600336#600336: *2 HTTP/1.1 502 Bad Gateway +Server: nginx/1.18.0 (Ubuntu) +Date: Wed, 20 Aug 2025 10:39:45 GMT +Content-Type: text/html +Content-Length: 166 +Connection: keep-alive + +2025/08/20 06:39:45 [debug] 600336#600336: *2 write new buf t:1 f:0 000056D579749068, pos 000056D579749068, size: 166 file: 0, size: 0 +2025/08/20 06:39:45 [debug] 600336#600336: *2 http write filter: l:0 f:0 s:166 +2025/08/20 06:39:45 [debug] 600336#600336: *2 posix_memalign: 000056D579749180:4096 @16 +2025/08/20 06:39:45 [debug] 600336#600336: *2 http output filter "/upload?" +2025/08/20 06:39:45 [debug] 600336#600336: *2 http copy filter: "/upload?" +2025/08/20 06:39:45 [debug] 600336#600336: *2 http postpone filter "/upload?" 000056D579752BF0 +2025/08/20 06:39:45 [debug] 600336#600336: *2 write old buf t:1 f:0 000056D579749068, pos 000056D579749068, size: 166 file: 0, size: 0 +2025/08/20 06:39:45 [debug] 600336#600336: *2 write new buf t:0 f:0 0000000000000000, pos 000056D55A6E5A40, size: 104 file: 0, size: 0 +2025/08/20 06:39:45 [debug] 600336#600336: *2 write new buf t:0 f:0 0000000000000000, pos 000056D55A6E6C80, size: 62 file: 0, size: 0 +2025/08/20 06:39:45 [debug] 600336#600336: *2 http write filter: l:1 f:0 s:332 +2025/08/20 06:39:45 [debug] 600336#600336: *2 http write filter limit 0 +2025/08/20 06:39:45 [debug] 600336#600336: *2 writev: 332 of 332 +2025/08/20 06:39:45 [debug] 600336#600336: *2 http write filter 0000000000000000 +2025/08/20 06:39:45 [debug] 600336#600336: *2 http copy filter: 0 "/upload?" +2025/08/20 06:39:45 [debug] 600336#600336: *2 http finalize request: 0, "/upload?" a:1, c:1 +2025/08/20 06:39:45 [debug] 600336#600336: *2 set http keepalive handler +2025/08/20 06:39:45 [debug] 600336#600336: *2 http close request +2025/08/20 06:39:45 [debug] 600336#600336: *2 http log handler +2025/08/20 06:39:45 [debug] 600336#600336: *2 free: 000056D579747160 +2025/08/20 06:39:45 [debug] 600336#600336: *2 free: 000056D57975BA30, unused: 3 +2025/08/20 06:39:45 [debug] 600336#600336: *2 free: 000056D579751DA0, unused: 0 +2025/08/20 06:39:45 [debug] 600336#600336: *2 free: 000056D579746150, unused: 2 +2025/08/20 06:39:45 [debug] 600336#600336: *2 free: 000056D579748170, unused: 0 +2025/08/20 06:39:45 [debug] 600336#600336: *2 free: 000056D579749180, unused: 3722 +2025/08/20 06:39:45 [debug] 600336#600336: *2 free: 000056D57973F0A0 +2025/08/20 06:39:45 [debug] 600336#600336: *2 hc free: 0000000000000000 +2025/08/20 06:39:45 [debug] 600336#600336: *2 hc busy: 0000000000000000 0 +2025/08/20 06:39:45 [debug] 600336#600336: *2 tcp_nodelay +2025/08/20 06:39:45 [debug] 600336#600336: *2 reusable connection: 1 +2025/08/20 06:39:45 [debug] 600336#600336: *2 event timer add: 6: 65000:253183722 +2025/08/20 06:39:45 [debug] 600336#600336: *2 post event 000056D57978D770 +2025/08/20 06:39:45 [debug] 600336#600336: timer delta: 1 +2025/08/20 06:39:45 [debug] 600336#600336: posted event 000056D57978D770 +2025/08/20 06:39:45 [debug] 600336#600336: *2 delete posted event 000056D57978D770 +2025/08/20 06:39:45 [debug] 600336#600336: *2 http keepalive handler +2025/08/20 06:39:45 [debug] 600336#600336: *2 malloc: 000056D57973F0A0:1024 +2025/08/20 06:39:45 [debug] 600336#600336: *2 recv: eof:0, avail:0 +2025/08/20 06:39:45 [debug] 600336#600336: *2 free: 000056D57973F0A0 +2025/08/20 06:39:45 [debug] 600336#600336: worker cycle +2025/08/20 06:39:45 [debug] 600336#600336: epoll timer: 65000 +2025/08/20 06:39:45 [debug] 600336#600336: epoll: fd:6 ev:2005 d:00007874A85041E1 +2025/08/20 06:39:45 [debug] 600336#600336: *2 http keepalive handler +2025/08/20 06:39:45 [debug] 600336#600336: *2 malloc: 000056D57973F0A0:1024 +2025/08/20 06:39:45 [debug] 600336#600336: *2 recv: eof:1, avail:-1 +2025/08/20 06:39:45 [debug] 600336#600336: *2 recv: fd:6 0 of 1024 +2025/08/20 06:39:45 [info] 600336#600336: *2 client 127.0.0.1 closed keepalive connection +2025/08/20 06:39:45 [debug] 600336#600336: *2 close http connection: 6 +2025/08/20 06:39:45 [debug] 600336#600336: *2 event timer del: 6: 253183722 +2025/08/20 06:39:45 [debug] 600336#600336: *2 reusable connection: 0 +2025/08/20 06:39:45 [debug] 600336#600336: *2 free: 000056D57973F0A0 +2025/08/20 06:39:45 [debug] 600336#600336: *2 free: 000056D57973C840, unused: 120 +2025/08/20 06:39:45 [debug] 600336#600336: timer delta: 2 +2025/08/20 06:39:45 [debug] 600336#600336: worker cycle +2025/08/20 06:39:45 [debug] 600336#600336: epoll timer: -1 +2025/08/20 06:39:45 [debug] 600336#600336: epoll: fd:5 ev:0001 d:00007874A8504010 +2025/08/20 06:39:45 [debug] 600336#600336: accept on 0.0.0.0:9001, ready: 0 +2025/08/20 06:39:45 [debug] 600336#600336: posix_memalign: 000056D57973C840:512 @16 +2025/08/20 06:39:45 [debug] 600336#600336: *4 accept: 127.0.0.1:41014 fd:6 +2025/08/20 06:39:45 [debug] 600336#600336: *4 event timer add: 6: 60000:253178735 +2025/08/20 06:39:45 [debug] 600336#600336: *4 reusable connection: 1 +2025/08/20 06:39:45 [debug] 600336#600336: *4 epoll add event: fd:6 op:1 ev:80002001 +2025/08/20 06:39:45 [debug] 600336#600336: timer delta: 11 +2025/08/20 06:39:45 [debug] 600336#600336: worker cycle +2025/08/20 06:39:45 [debug] 600336#600336: epoll timer: 60000 +2025/08/20 06:39:45 [debug] 600336#600336: epoll: fd:6 ev:0001 d:00007874A85041E0 +2025/08/20 06:39:45 [debug] 600336#600336: *4 http wait request handler +2025/08/20 06:39:45 [debug] 600336#600336: *4 malloc: 000056D57973F0A0:1024 +2025/08/20 06:39:45 [debug] 600336#600336: *4 recv: eof:0, avail:-1 +2025/08/20 06:39:45 [debug] 600336#600336: *4 recv: fd:6 142 of 1024 +2025/08/20 06:39:45 [debug] 600336#600336: *4 reusable connection: 0 +2025/08/20 06:39:45 [debug] 600336#600336: *4 posix_memalign: 000056D57975BA30:4096 @16 +2025/08/20 06:39:45 [debug] 600336#600336: *4 http process request line +2025/08/20 06:39:45 [debug] 600336#600336: *4 http request line: "GET /f15a87843b9e4e06e359b08d584eed42b2fe32146431cf00124a96d4ef97e9d3 HTTP/1.1" +2025/08/20 06:39:45 [debug] 600336#600336: *4 http uri: "/f15a87843b9e4e06e359b08d584eed42b2fe32146431cf00124a96d4ef97e9d3" +2025/08/20 06:39:45 [debug] 600336#600336: *4 http args: "" +2025/08/20 06:39:45 [debug] 600336#600336: *4 http exten: "" +2025/08/20 06:39:45 [debug] 600336#600336: *4 posix_memalign: 000056D579751DA0:4096 @16 +2025/08/20 06:39:45 [debug] 600336#600336: *4 http process request header line +2025/08/20 06:39:45 [debug] 600336#600336: *4 http header: "Host: localhost:9001" +2025/08/20 06:39:45 [debug] 600336#600336: *4 http header: "User-Agent: curl/8.15.0" +2025/08/20 06:39:45 [debug] 600336#600336: *4 http header: "Accept: */*" +2025/08/20 06:39:45 [debug] 600336#600336: *4 http header done +2025/08/20 06:39:45 [debug] 600336#600336: *4 event timer del: 6: 253178735 +2025/08/20 06:39:45 [debug] 600336#600336: *4 generic phase: 0 +2025/08/20 06:39:45 [debug] 600336#600336: *4 rewrite phase: 1 +2025/08/20 06:39:45 [debug] 600336#600336: *4 test location: "/health" +2025/08/20 06:39:45 [debug] 600336#600336: *4 test location: "/debug/list" +2025/08/20 06:39:45 [debug] 600336#600336: *4 test location: ~ "^/([a-f0-9]{64}).*$" +2025/08/20 06:39:45 [debug] 600336#600336: *4 using configuration "^/([a-f0-9]{64}).*$" +2025/08/20 06:39:45 [debug] 600336#600336: *4 http cl:-1 max:104857600 +2025/08/20 06:39:45 [debug] 600336#600336: *4 rewrite phase: 3 +2025/08/20 06:39:45 [debug] 600336#600336: *4 http script var +2025/08/20 06:39:45 [debug] 600336#600336: *4 http script var: "GET" +2025/08/20 06:39:45 [debug] 600336#600336: *4 http script value: "DELETE" +2025/08/20 06:39:45 [debug] 600336#600336: *4 http script not equal +2025/08/20 06:39:45 [debug] 600336#600336: *4 http script if +2025/08/20 06:39:45 [debug] 600336#600336: *4 http finalize request: 404, "/f15a87843b9e4e06e359b08d584eed42b2fe32146431cf00124a96d4ef97e9d3?" a:1, c:1 +2025/08/20 06:39:45 [debug] 600336#600336: *4 http special response: 404, "/f15a87843b9e4e06e359b08d584eed42b2fe32146431cf00124a96d4ef97e9d3?" +2025/08/20 06:39:45 [debug] 600336#600336: *4 http set discard body +2025/08/20 06:39:45 [debug] 600336#600336: *4 HTTP/1.1 404 Not Found +Server: nginx/1.18.0 (Ubuntu) +Date: Wed, 20 Aug 2025 10:39:45 GMT +Content-Type: text/html +Content-Length: 162 +Connection: keep-alive + +2025/08/20 06:39:45 [debug] 600336#600336: *4 write new buf t:1 f:0 000056D579752180, pos 000056D579752180, size: 164 file: 0, size: 0 +2025/08/20 06:39:45 [debug] 600336#600336: *4 http write filter: l:0 f:0 s:164 +2025/08/20 06:39:45 [debug] 600336#600336: *4 http output filter "/f15a87843b9e4e06e359b08d584eed42b2fe32146431cf00124a96d4ef97e9d3?" +2025/08/20 06:39:45 [debug] 600336#600336: *4 http copy filter: "/f15a87843b9e4e06e359b08d584eed42b2fe32146431cf00124a96d4ef97e9d3?" +2025/08/20 06:39:45 [debug] 600336#600336: *4 http postpone filter "/f15a87843b9e4e06e359b08d584eed42b2fe32146431cf00124a96d4ef97e9d3?" 000056D579752310 +2025/08/20 06:39:45 [debug] 600336#600336: *4 write old buf t:1 f:0 000056D579752180, pos 000056D579752180, size: 164 file: 0, size: 0 +2025/08/20 06:39:45 [debug] 600336#600336: *4 write new buf t:0 f:0 0000000000000000, pos 000056D55A6E6580, size: 100 file: 0, size: 0 +2025/08/20 06:39:45 [debug] 600336#600336: *4 write new buf t:0 f:0 0000000000000000, pos 000056D55A6E6C80, size: 62 file: 0, size: 0 +2025/08/20 06:39:45 [debug] 600336#600336: *4 http write filter: l:1 f:0 s:326 +2025/08/20 06:39:45 [debug] 600336#600336: *4 http write filter limit 0 +2025/08/20 06:39:45 [debug] 600336#600336: *4 writev: 326 of 326 +2025/08/20 06:39:45 [debug] 600336#600336: *4 http write filter 0000000000000000 +2025/08/20 06:39:45 [debug] 600336#600336: *4 http copy filter: 0 "/f15a87843b9e4e06e359b08d584eed42b2fe32146431cf00124a96d4ef97e9d3?" +2025/08/20 06:39:45 [debug] 600336#600336: *4 http finalize request: 0, "/f15a87843b9e4e06e359b08d584eed42b2fe32146431cf00124a96d4ef97e9d3?" a:1, c:1 +2025/08/20 06:39:45 [debug] 600336#600336: *4 set http keepalive handler +2025/08/20 06:39:45 [debug] 600336#600336: *4 http close request +2025/08/20 06:39:45 [debug] 600336#600336: *4 http log handler +2025/08/20 06:39:45 [debug] 600336#600336: *4 free: 000056D57975BA30, unused: 0 +2025/08/20 06:39:45 [debug] 600336#600336: *4 free: 000056D579751DA0, unused: 2456 +2025/08/20 06:39:45 [debug] 600336#600336: *4 free: 000056D57973F0A0 +2025/08/20 06:39:45 [debug] 600336#600336: *4 hc free: 0000000000000000 +2025/08/20 06:39:45 [debug] 600336#600336: *4 hc busy: 0000000000000000 0 +2025/08/20 06:39:45 [debug] 600336#600336: *4 tcp_nodelay +2025/08/20 06:39:45 [debug] 600336#600336: *4 reusable connection: 1 +2025/08/20 06:39:45 [debug] 600336#600336: *4 event timer add: 6: 65000:253183735 +2025/08/20 06:39:45 [debug] 600336#600336: timer delta: 0 +2025/08/20 06:39:45 [debug] 600336#600336: worker cycle +2025/08/20 06:39:45 [debug] 600336#600336: epoll timer: 65000 +2025/08/20 06:39:45 [debug] 600336#600336: epoll: fd:6 ev:2001 d:00007874A85041E0 +2025/08/20 06:39:45 [debug] 600336#600336: *4 http keepalive handler +2025/08/20 06:39:45 [debug] 600336#600336: *4 malloc: 000056D57973F0A0:1024 +2025/08/20 06:39:45 [debug] 600336#600336: *4 recv: eof:1, avail:-1 +2025/08/20 06:39:45 [debug] 600336#600336: *4 recv: fd:6 0 of 1024 +2025/08/20 06:39:45 [info] 600336#600336: *4 client 127.0.0.1 closed keepalive connection +2025/08/20 06:39:45 [debug] 600336#600336: *4 close http connection: 6 +2025/08/20 06:39:45 [debug] 600336#600336: *4 event timer del: 6: 253183735 +2025/08/20 06:39:45 [debug] 600336#600336: *4 reusable connection: 0 +2025/08/20 06:39:45 [debug] 600336#600336: *4 free: 000056D57973F0A0 +2025/08/20 06:39:45 [debug] 600336#600336: *4 free: 000056D57973C840, unused: 136 +2025/08/20 06:39:45 [debug] 600336#600336: timer delta: 1 +2025/08/20 06:39:45 [debug] 600336#600336: worker cycle +2025/08/20 06:39:45 [debug] 600336#600336: epoll timer: -1 +2025/08/20 06:40:50 [debug] 600336#600336: epoll: fd:5 ev:0001 d:00007874A8504010 +2025/08/20 06:40:50 [debug] 600336#600336: accept on 0.0.0.0:9001, ready: 0 +2025/08/20 06:40:50 [debug] 600336#600336: posix_memalign: 000056D57973C840:512 @16 +2025/08/20 06:40:50 [debug] 600336#600336: *5 accept: 127.0.0.1:35090 fd:6 +2025/08/20 06:40:50 [debug] 600336#600336: *5 event timer add: 6: 60000:253243554 +2025/08/20 06:40:50 [debug] 600336#600336: *5 reusable connection: 1 +2025/08/20 06:40:50 [debug] 600336#600336: *5 epoll add event: fd:6 op:1 ev:80002001 +2025/08/20 06:40:50 [debug] 600336#600336: timer delta: 64818 +2025/08/20 06:40:50 [debug] 600336#600336: worker cycle +2025/08/20 06:40:50 [debug] 600336#600336: epoll timer: 60000 +2025/08/20 06:40:50 [debug] 600336#600336: epoll: fd:6 ev:0001 d:00007874A85041E1 +2025/08/20 06:40:50 [debug] 600336#600336: *5 http wait request handler +2025/08/20 06:40:50 [debug] 600336#600336: *5 malloc: 000056D57973F0A0:1024 +2025/08/20 06:40:50 [debug] 600336#600336: *5 recv: eof:0, avail:-1 +2025/08/20 06:40:50 [debug] 600336#600336: *5 recv: fd:6 84 of 1024 +2025/08/20 06:40:50 [debug] 600336#600336: *5 reusable connection: 0 +2025/08/20 06:40:50 [debug] 600336#600336: *5 posix_memalign: 000056D57975BA30:4096 @16 +2025/08/20 06:40:50 [debug] 600336#600336: *5 http process request line +2025/08/20 06:40:50 [debug] 600336#600336: *5 http request line: "GET /health HTTP/1.1" +2025/08/20 06:40:50 [debug] 600336#600336: *5 http uri: "/health" +2025/08/20 06:40:50 [debug] 600336#600336: *5 http args: "" +2025/08/20 06:40:50 [debug] 600336#600336: *5 http exten: "" +2025/08/20 06:40:50 [debug] 600336#600336: *5 posix_memalign: 000056D579751DA0:4096 @16 +2025/08/20 06:40:50 [debug] 600336#600336: *5 http process request header line +2025/08/20 06:40:50 [debug] 600336#600336: *5 http header: "Host: localhost:9001" +2025/08/20 06:40:50 [debug] 600336#600336: *5 http header: "User-Agent: curl/8.15.0" +2025/08/20 06:40:50 [debug] 600336#600336: *5 http header: "Accept: */*" +2025/08/20 06:40:50 [debug] 600336#600336: *5 http header done +2025/08/20 06:40:50 [debug] 600336#600336: *5 event timer del: 6: 253243554 +2025/08/20 06:40:50 [debug] 600336#600336: *5 generic phase: 0 +2025/08/20 06:40:50 [debug] 600336#600336: *5 rewrite phase: 1 +2025/08/20 06:40:50 [debug] 600336#600336: *5 test location: "/health" +2025/08/20 06:40:50 [debug] 600336#600336: *5 test location: ~ "^/([a-f0-9]{64}).*$" +2025/08/20 06:40:50 [debug] 600336#600336: *5 test location: ~ "^/([a-f0-9]{64})(\.[a-zA-Z0-9]+)?$" +2025/08/20 06:40:50 [debug] 600336#600336: *5 test location: ~ "^/fcgi-head/([a-f0-9]{64}).*$" +2025/08/20 06:40:50 [debug] 600336#600336: *5 test location: ~ "^/list/([a-f0-9]{64}).*$" +2025/08/20 06:40:50 [debug] 600336#600336: *5 using configuration "/health" +2025/08/20 06:40:50 [debug] 600336#600336: *5 http cl:-1 max:104857600 +2025/08/20 06:40:50 [debug] 600336#600336: *5 rewrite phase: 3 +2025/08/20 06:40:50 [debug] 600336#600336: *5 http set discard body +2025/08/20 06:40:50 [debug] 600336#600336: *5 HTTP/1.1 200 OK +Server: nginx/1.18.0 (Ubuntu) +Date: Wed, 20 Aug 2025 10:40:50 GMT +Content-Type: application/octet-stream +Content-Length: 3 +Connection: keep-alive +Content-Type: text/plain + +2025/08/20 06:40:50 [debug] 600336#600336: *5 write new buf t:1 f:0 000056D579752180, pos 000056D579752180, size: 196 file: 0, size: 0 +2025/08/20 06:40:50 [debug] 600336#600336: *5 http write filter: l:0 f:0 s:196 +2025/08/20 06:40:50 [debug] 600336#600336: *5 http output filter "/health?" +2025/08/20 06:40:50 [debug] 600336#600336: *5 http copy filter: "/health?" +2025/08/20 06:40:50 [debug] 600336#600336: *5 http postpone filter "/health?" 00007FFC3A90C9C0 +2025/08/20 06:40:50 [debug] 600336#600336: *5 write old buf t:1 f:0 000056D579752180, pos 000056D579752180, size: 196 file: 0, size: 0 +2025/08/20 06:40:50 [debug] 600336#600336: *5 write new buf t:0 f:0 0000000000000000, pos 000056D579779B42, size: 3 file: 0, size: 0 +2025/08/20 06:40:50 [debug] 600336#600336: *5 http write filter: l:1 f:0 s:199 +2025/08/20 06:40:50 [debug] 600336#600336: *5 http write filter limit 0 +2025/08/20 06:40:50 [debug] 600336#600336: *5 writev: 199 of 199 +2025/08/20 06:40:50 [debug] 600336#600336: *5 http write filter 0000000000000000 +2025/08/20 06:40:50 [debug] 600336#600336: *5 http copy filter: 0 "/health?" +2025/08/20 06:40:50 [debug] 600336#600336: *5 http finalize request: 0, "/health?" a:1, c:1 +2025/08/20 06:40:50 [debug] 600336#600336: *5 set http keepalive handler +2025/08/20 06:40:50 [debug] 600336#600336: *5 http close request +2025/08/20 06:40:50 [debug] 600336#600336: *5 http log handler +2025/08/20 06:40:50 [debug] 600336#600336: *5 free: 000056D57975BA30, unused: 0 +2025/08/20 06:40:50 [debug] 600336#600336: *5 free: 000056D579751DA0, unused: 2736 +2025/08/20 06:40:50 [debug] 600336#600336: *5 free: 000056D57973F0A0 +2025/08/20 06:40:50 [debug] 600336#600336: *5 hc free: 0000000000000000 +2025/08/20 06:40:50 [debug] 600336#600336: *5 hc busy: 0000000000000000 0 +2025/08/20 06:40:50 [debug] 600336#600336: *5 tcp_nodelay +2025/08/20 06:40:50 [debug] 600336#600336: *5 reusable connection: 1 +2025/08/20 06:40:50 [debug] 600336#600336: *5 event timer add: 6: 65000:253248554 +2025/08/20 06:40:50 [debug] 600336#600336: timer delta: 0 +2025/08/20 06:40:50 [debug] 600336#600336: worker cycle +2025/08/20 06:40:50 [debug] 600336#600336: epoll timer: 65000 +2025/08/20 06:40:50 [debug] 600336#600336: epoll: fd:6 ev:2001 d:00007874A85041E1 +2025/08/20 06:40:50 [debug] 600336#600336: *5 http keepalive handler +2025/08/20 06:40:50 [debug] 600336#600336: *5 malloc: 000056D57973F0A0:1024 +2025/08/20 06:40:50 [debug] 600336#600336: *5 recv: eof:1, avail:-1 +2025/08/20 06:40:50 [debug] 600336#600336: *5 recv: fd:6 0 of 1024 +2025/08/20 06:40:50 [info] 600336#600336: *5 client 127.0.0.1 closed keepalive connection +2025/08/20 06:40:50 [debug] 600336#600336: *5 close http connection: 6 +2025/08/20 06:40:50 [debug] 600336#600336: *5 event timer del: 6: 253248554 +2025/08/20 06:40:50 [debug] 600336#600336: *5 reusable connection: 0 +2025/08/20 06:40:50 [debug] 600336#600336: *5 free: 000056D57973F0A0 +2025/08/20 06:40:50 [debug] 600336#600336: *5 free: 000056D57973C840, unused: 136 +2025/08/20 06:40:50 [debug] 600336#600336: timer delta: 1 +2025/08/20 06:40:50 [debug] 600336#600336: worker cycle +2025/08/20 06:40:50 [debug] 600336#600336: epoll timer: -1 +2025/08/20 06:40:50 [debug] 600336#600336: epoll: fd:5 ev:0001 d:00007874A8504010 +2025/08/20 06:40:50 [debug] 600336#600336: accept on 0.0.0.0:9001, ready: 0 +2025/08/20 06:40:50 [debug] 600336#600336: posix_memalign: 000056D57973C840:512 @16 +2025/08/20 06:40:50 [debug] 600336#600336: *6 accept: 127.0.0.1:42428 fd:6 +2025/08/20 06:40:50 [debug] 600336#600336: *6 event timer add: 6: 60000:253243829 +2025/08/20 06:40:50 [debug] 600336#600336: *6 reusable connection: 1 +2025/08/20 06:40:50 [debug] 600336#600336: *6 epoll add event: fd:6 op:1 ev:80002001 +2025/08/20 06:40:50 [debug] 600336#600336: timer delta: 274 +2025/08/20 06:40:50 [debug] 600336#600336: worker cycle +2025/08/20 06:40:50 [debug] 600336#600336: epoll timer: 60000 +2025/08/20 06:40:50 [debug] 600336#600336: epoll: fd:6 ev:0001 d:00007874A85041E0 +2025/08/20 06:40:50 [debug] 600336#600336: *6 http wait request handler +2025/08/20 06:40:50 [debug] 600336#600336: *6 malloc: 000056D57973F0A0:1024 +2025/08/20 06:40:50 [debug] 600336#600336: *6 recv: eof:0, avail:-1 +2025/08/20 06:40:50 [debug] 600336#600336: *6 recv: fd:6 1024 of 1024 +2025/08/20 06:40:50 [debug] 600336#600336: *6 recv: avail:112 +2025/08/20 06:40:50 [debug] 600336#600336: *6 reusable connection: 0 +2025/08/20 06:40:50 [debug] 600336#600336: *6 posix_memalign: 000056D57975BA30:4096 @16 +2025/08/20 06:40:50 [debug] 600336#600336: *6 http process request line +2025/08/20 06:40:50 [debug] 600336#600336: *6 http request line: "PUT /upload HTTP/1.1" +2025/08/20 06:40:50 [debug] 600336#600336: *6 http uri: "/upload" +2025/08/20 06:40:50 [debug] 600336#600336: *6 http args: "" +2025/08/20 06:40:50 [debug] 600336#600336: *6 http exten: "" +2025/08/20 06:40:50 [debug] 600336#600336: *6 posix_memalign: 000056D579751DA0:4096 @16 +2025/08/20 06:40:50 [debug] 600336#600336: *6 http process request header line +2025/08/20 06:40:50 [debug] 600336#600336: *6 http header: "Host: localhost:9001" +2025/08/20 06:40:50 [debug] 600336#600336: *6 http header: "User-Agent: curl/8.15.0" +2025/08/20 06:40:50 [debug] 600336#600336: *6 http header: "Accept: */*" +2025/08/20 06:40:50 [debug] 600336#600336: *6 http header: "Authorization: Nostr eyJraW5kIjoyNDI0MiwiaWQiOiIyMjI3MzU5M2ZmNmQyNDZiNWI5ZjE0ZTAyYjJlNTY0Njc5OTIzNDgwNGE1ODNkYmEzYWE5YThlNTU2OTQ3NjRjIiwicHVia2V5IjoiNzliZTY2N2VmOWRjYmJhYzU1YTA2Mjk1Y2U4NzBiMDcwMjliZmNkYjJkY2UyOGQ5NTlmMjgxNWIxNmY4MTc5OCIsImNyZWF0ZWRfYXQiOjE3NTU2ODY0NTAsInRhZ3MiOltbInQiLCJ1cGxvYWQiXSxbIngiLCJiYmUyYjMzYmZiNDgyMTVmNzIzZjgwNGEwN2NiM2VkMTc1MTViYjgwMGQ4ZGVkZTQ4N2YyZWE1NjY0OWU5NzA5Il0sWyJleHBpcmF0aW9uIiwiMTc1NTY5MDA1MCJdXSwiY29udGVudCI6IiIsInNpZyI6IjlkOGYxMmE1Y2E3Y2ZhM2IyNTAxZDUzZmJiYjAwMzI5NmRlMTNkNTQ5ODQxYzQ0OWNjODk0NWQxNzA5MDMyM2Y0MmYzMGEwOTkyOWNiN2QxNzhlZjE2ODI4YTljN2ZhMTM3MWFjNzc5ZDRlZTFkMzZlNzg0NjFkNmM0OGE4NDE5In0=" +2025/08/20 06:40:50 [debug] 600336#600336: *6 http header: "Content-Type: text/plain" +2025/08/20 06:40:50 [debug] 600336#600336: *6 http header: "Content-Disposition: attachment; filename="test_blob_1755686450.txt"" +2025/08/20 06:40:50 [debug] 600336#600336: *6 http header: "Content-Length: 296" +2025/08/20 06:40:50 [debug] 600336#600336: *6 http header done +2025/08/20 06:40:50 [debug] 600336#600336: *6 event timer del: 6: 253243829 +2025/08/20 06:40:50 [debug] 600336#600336: *6 generic phase: 0 +2025/08/20 06:40:50 [debug] 600336#600336: *6 rewrite phase: 1 +2025/08/20 06:40:50 [debug] 600336#600336: *6 test location: "/health" +2025/08/20 06:40:50 [debug] 600336#600336: *6 test location: "/upload" +2025/08/20 06:40:50 [debug] 600336#600336: *6 test location: ~ "^/([a-f0-9]{64}).*$" +2025/08/20 06:40:50 [debug] 600336#600336: *6 test location: ~ "^/([a-f0-9]{64})(\.[a-zA-Z0-9]+)?$" +2025/08/20 06:40:50 [debug] 600336#600336: *6 test location: ~ "^/fcgi-head/([a-f0-9]{64}).*$" +2025/08/20 06:40:50 [debug] 600336#600336: *6 test location: ~ "^/list/([a-f0-9]{64}).*$" +2025/08/20 06:40:50 [debug] 600336#600336: *6 using configuration "/upload" +2025/08/20 06:40:50 [debug] 600336#600336: *6 http cl:296 max:104857600 +2025/08/20 06:40:50 [debug] 600336#600336: *6 rewrite phase: 3 +2025/08/20 06:40:50 [debug] 600336#600336: *6 http script var +2025/08/20 06:40:50 [debug] 600336#600336: *6 http script var: "PUT" +2025/08/20 06:40:50 [debug] 600336#600336: *6 http script regex: "^(PUT)$" +2025/08/20 06:40:50 [notice] 600336#600336: *6 "^(PUT)$" matches "PUT", client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", host: "localhost:9001" +2025/08/20 06:40:50 [debug] 600336#600336: *6 http script if +2025/08/20 06:40:50 [debug] 600336#600336: *6 http script if: false +2025/08/20 06:40:50 [debug] 600336#600336: *6 post rewrite phase: 4 +2025/08/20 06:40:50 [debug] 600336#600336: *6 generic phase: 5 +2025/08/20 06:40:50 [debug] 600336#600336: *6 generic phase: 6 +2025/08/20 06:40:50 [debug] 600336#600336: *6 generic phase: 7 +2025/08/20 06:40:50 [debug] 600336#600336: *6 access phase: 8 +2025/08/20 06:40:50 [debug] 600336#600336: *6 access phase: 9 +2025/08/20 06:40:50 [debug] 600336#600336: *6 access phase: 10 +2025/08/20 06:40:50 [debug] 600336#600336: *6 post access phase: 11 +2025/08/20 06:40:50 [debug] 600336#600336: *6 generic phase: 12 +2025/08/20 06:40:50 [debug] 600336#600336: *6 generic phase: 13 +2025/08/20 06:40:50 [debug] 600336#600336: *6 http client request body preread 184 +2025/08/20 06:40:50 [debug] 600336#600336: *6 http request body content length filter +2025/08/20 06:40:50 [debug] 600336#600336: *6 http body new buf t:1 f:0 000056D57973F3E8, pos 000056D57973F3E8, size: 184 file: 0, size: 0 +2025/08/20 06:40:50 [debug] 600336#600336: *6 http read client request body +2025/08/20 06:40:50 [debug] 600336#600336: *6 recv: eof:0, avail:112 +2025/08/20 06:40:50 [debug] 600336#600336: *6 recv: fd:6 112 of 112 +2025/08/20 06:40:50 [debug] 600336#600336: *6 recv: avail:0 +2025/08/20 06:40:50 [debug] 600336#600336: *6 http client request body recv 112 +2025/08/20 06:40:50 [debug] 600336#600336: *6 http body new buf t:1 f:0 000056D579752830, pos 000056D579752830, size: 112 file: 0, size: 0 +2025/08/20 06:40:50 [debug] 600336#600336: *6 http client request body rest 0 +2025/08/20 06:40:50 [debug] 600336#600336: *6 http init upstream, client timer: 0 +2025/08/20 06:40:50 [debug] 600336#600336: *6 epoll add event: fd:6 op:3 ev:80002005 +2025/08/20 06:40:50 [debug] 600336#600336: *6 posix_memalign: 000056D579746150:4096 @16 +2025/08/20 06:40:50 [debug] 600336#600336: *6 http script copy: "QUERY_STRING" +2025/08/20 06:40:50 [debug] 600336#600336: *6 fastcgi param: "QUERY_STRING: " +2025/08/20 06:40:50 [debug] 600336#600336: *6 http script copy: "REQUEST_METHOD" +2025/08/20 06:40:50 [debug] 600336#600336: *6 http script var: "PUT" +2025/08/20 06:40:50 [debug] 600336#600336: *6 fastcgi param: "REQUEST_METHOD: PUT" +2025/08/20 06:40:50 [debug] 600336#600336: *6 http script copy: "CONTENT_TYPE" +2025/08/20 06:40:50 [debug] 600336#600336: *6 http script var: "text/plain" +2025/08/20 06:40:50 [debug] 600336#600336: *6 fastcgi param: "CONTENT_TYPE: text/plain" +2025/08/20 06:40:50 [debug] 600336#600336: *6 http script copy: "CONTENT_LENGTH" +2025/08/20 06:40:50 [debug] 600336#600336: *6 http script var: "296" +2025/08/20 06:40:50 [debug] 600336#600336: *6 fastcgi param: "CONTENT_LENGTH: 296" +2025/08/20 06:40:50 [debug] 600336#600336: *6 http script copy: "SCRIPT_NAME" +2025/08/20 06:40:50 [debug] 600336#600336: *6 http script var: "/upload" +2025/08/20 06:40:50 [debug] 600336#600336: *6 fastcgi param: "SCRIPT_NAME: /upload" +2025/08/20 06:40:50 [debug] 600336#600336: *6 http script copy: "REQUEST_URI" +2025/08/20 06:40:50 [debug] 600336#600336: *6 http script var: "/upload" +2025/08/20 06:40:50 [debug] 600336#600336: *6 fastcgi param: "REQUEST_URI: /upload" +2025/08/20 06:40:50 [debug] 600336#600336: *6 http script copy: "DOCUMENT_URI" +2025/08/20 06:40:50 [debug] 600336#600336: *6 http script var: "/upload" +2025/08/20 06:40:50 [debug] 600336#600336: *6 fastcgi param: "DOCUMENT_URI: /upload" +2025/08/20 06:40:50 [debug] 600336#600336: *6 http script copy: "DOCUMENT_ROOT" +2025/08/20 06:40:50 [debug] 600336#600336: *6 http script var: "./blobs" +2025/08/20 06:40:50 [debug] 600336#600336: *6 fastcgi param: "DOCUMENT_ROOT: ./blobs" +2025/08/20 06:40:50 [debug] 600336#600336: *6 http script copy: "SERVER_PROTOCOL" +2025/08/20 06:40:50 [debug] 600336#600336: *6 http script var: "HTTP/1.1" +2025/08/20 06:40:50 [debug] 600336#600336: *6 fastcgi param: "SERVER_PROTOCOL: HTTP/1.1" +2025/08/20 06:40:50 [debug] 600336#600336: *6 http script copy: "REQUEST_SCHEME" +2025/08/20 06:40:50 [debug] 600336#600336: *6 http script var: "http" +2025/08/20 06:40:50 [debug] 600336#600336: *6 fastcgi param: "REQUEST_SCHEME: http" +2025/08/20 06:40:50 [debug] 600336#600336: *6 http script copy: "" +2025/08/20 06:40:50 [debug] 600336#600336: *6 http script copy: "GATEWAY_INTERFACE" +2025/08/20 06:40:50 [debug] 600336#600336: *6 http script copy: "CGI/1.1" +2025/08/20 06:40:50 [debug] 600336#600336: *6 fastcgi param: "GATEWAY_INTERFACE: CGI/1.1" +2025/08/20 06:40:50 [debug] 600336#600336: *6 http script copy: "SERVER_SOFTWARE" +2025/08/20 06:40:50 [debug] 600336#600336: *6 http script copy: "nginx/" +2025/08/20 06:40:50 [debug] 600336#600336: *6 http script var: "1.18.0" +2025/08/20 06:40:50 [debug] 600336#600336: *6 fastcgi param: "SERVER_SOFTWARE: nginx/1.18.0" +2025/08/20 06:40:50 [debug] 600336#600336: *6 http script copy: "REMOTE_ADDR" +2025/08/20 06:40:50 [debug] 600336#600336: *6 http script var: "127.0.0.1" +2025/08/20 06:40:50 [debug] 600336#600336: *6 fastcgi param: "REMOTE_ADDR: 127.0.0.1" +2025/08/20 06:40:50 [debug] 600336#600336: *6 http script copy: "REMOTE_PORT" +2025/08/20 06:40:50 [debug] 600336#600336: *6 http script var: "42428" +2025/08/20 06:40:50 [debug] 600336#600336: *6 fastcgi param: "REMOTE_PORT: 42428" +2025/08/20 06:40:50 [debug] 600336#600336: *6 http script copy: "SERVER_ADDR" +2025/08/20 06:40:50 [debug] 600336#600336: *6 http script var: "127.0.0.1" +2025/08/20 06:40:50 [debug] 600336#600336: *6 fastcgi param: "SERVER_ADDR: 127.0.0.1" +2025/08/20 06:40:50 [debug] 600336#600336: *6 http script copy: "SERVER_PORT" +2025/08/20 06:40:50 [debug] 600336#600336: *6 http script var: "9001" +2025/08/20 06:40:50 [debug] 600336#600336: *6 fastcgi param: "SERVER_PORT: 9001" +2025/08/20 06:40:50 [debug] 600336#600336: *6 http script copy: "SERVER_NAME" +2025/08/20 06:40:50 [debug] 600336#600336: *6 http script var: "localhost" +2025/08/20 06:40:50 [debug] 600336#600336: *6 fastcgi param: "SERVER_NAME: localhost" +2025/08/20 06:40:50 [debug] 600336#600336: *6 http script copy: "REDIRECT_STATUS" +2025/08/20 06:40:50 [debug] 600336#600336: *6 http script copy: "200" +2025/08/20 06:40:50 [debug] 600336#600336: *6 fastcgi param: "REDIRECT_STATUS: 200" +2025/08/20 06:40:50 [debug] 600336#600336: *6 http script copy: "SCRIPT_FILENAME" +2025/08/20 06:40:50 [debug] 600336#600336: *6 http script var: "./blobs" +2025/08/20 06:40:50 [debug] 600336#600336: *6 http script copy: "/ginxsom.fcgi" +2025/08/20 06:40:50 [debug] 600336#600336: *6 fastcgi param: "SCRIPT_FILENAME: ./blobs/ginxsom.fcgi" +2025/08/20 06:40:50 [debug] 600336#600336: *6 fastcgi param: "HTTP_HOST: localhost:9001" +2025/08/20 06:40:50 [debug] 600336#600336: *6 fastcgi param: "HTTP_USER_AGENT: curl/8.15.0" +2025/08/20 06:40:50 [debug] 600336#600336: *6 fastcgi param: "HTTP_ACCEPT: */*" +2025/08/20 06:40:50 [debug] 600336#600336: *6 fastcgi param: "HTTP_AUTHORIZATION: Nostr eyJraW5kIjoyNDI0MiwiaWQiOiIyMjI3MzU5M2ZmNmQyNDZiNWI5ZjE0ZTAyYjJlNTY0Njc5OTIzNDgwNGE1ODNkYmEzYWE5YThlNTU2OTQ3NjRjIiwicHVia2V5IjoiNzliZTY2N2VmOWRjYmJhYzU1YTA2Mjk1Y2U4NzBiMDcwMjliZmNkYjJkY2UyOGQ5NTlmMjgxNWIxNmY4MTc5OCIsImNyZWF0ZWRfYXQiOjE3NTU2ODY0NTAsInRhZ3MiOltbInQiLCJ1cGxvYWQiXSxbIngiLCJiYmUyYjMzYmZiNDgyMTVmNzIzZjgwNGEwN2NiM2VkMTc1MTViYjgwMGQ4ZGVkZTQ4N2YyZWE1NjY0OWU5NzA5Il0sWyJleHBpcmF0aW9uIiwiMTc1NTY5MDA1MCJdXSwiY29udGVudCI6IiIsInNpZyI6IjlkOGYxMmE1Y2E3Y2ZhM2IyNTAxZDUzZmJiYjAwMzI5NmRlMTNkNTQ5ODQxYzQ0OWNjODk0NWQxNzA5MDMyM2Y0MmYzMGEwOTkyOWNiN2QxNzhlZjE2ODI4YTljN2ZhMTM3MWFjNzc5ZDRlZTFkMzZlNzg0NjFkNmM0OGE4NDE5In0=" +2025/08/20 06:40:50 [debug] 600336#600336: *6 fastcgi param: "HTTP_CONTENT_TYPE: text/plain" +2025/08/20 06:40:50 [debug] 600336#600336: *6 fastcgi param: "HTTP_CONTENT_DISPOSITION: attachment; filename="test_blob_1755686450.txt"" +2025/08/20 06:40:50 [debug] 600336#600336: *6 fastcgi param: "HTTP_CONTENT_LENGTH: 296" +2025/08/20 06:40:50 [debug] 600336#600336: *6 http cleanup add: 000056D579752B80 +2025/08/20 06:40:50 [debug] 600336#600336: *6 get rr peer, try: 1 +2025/08/20 06:40:50 [debug] 600336#600336: *6 stream socket 10 +2025/08/20 06:40:50 [debug] 600336#600336: *6 epoll add connection: fd:10 ev:80002005 +2025/08/20 06:40:50 [debug] 600336#600336: *6 connect to unix:/tmp/ginxsom-fcgi.sock, fd:10 #7 +2025/08/20 06:40:50 [debug] 600336#600336: *6 connected +2025/08/20 06:40:50 [debug] 600336#600336: *6 http upstream connect: 0 +2025/08/20 06:40:50 [debug] 600336#600336: *6 posix_memalign: 000056D579725F20:128 @16 +2025/08/20 06:40:50 [debug] 600336#600336: *6 http upstream send request +2025/08/20 06:40:50 [debug] 600336#600336: *6 http upstream send request body +2025/08/20 06:40:50 [debug] 600336#600336: *6 chain writer buf fl:0 s:1304 +2025/08/20 06:40:50 [debug] 600336#600336: *6 chain writer buf fl:0 s:184 +2025/08/20 06:40:50 [debug] 600336#600336: *6 chain writer buf fl:0 s:8 +2025/08/20 06:40:50 [debug] 600336#600336: *6 chain writer buf fl:0 s:112 +2025/08/20 06:40:50 [debug] 600336#600336: *6 chain writer buf fl:0 s:8 +2025/08/20 06:40:50 [debug] 600336#600336: *6 chain writer in: 000056D579752C10 +2025/08/20 06:40:50 [debug] 600336#600336: *6 writev: 1616 of 1616 +2025/08/20 06:40:50 [debug] 600336#600336: *6 chain writer out: 0000000000000000 +2025/08/20 06:40:50 [debug] 600336#600336: *6 event timer add: 10: 60000:253243829 +2025/08/20 06:40:50 [debug] 600336#600336: *6 http finalize request: -4, "/upload?" a:1, c:2 +2025/08/20 06:40:50 [debug] 600336#600336: *6 http request count:2 blk:0 +2025/08/20 06:40:50 [debug] 600336#600336: timer delta: 0 +2025/08/20 06:40:50 [debug] 600336#600336: worker cycle +2025/08/20 06:40:50 [debug] 600336#600336: epoll timer: 60000 +2025/08/20 06:40:50 [debug] 600336#600336: epoll: fd:6 ev:0004 d:00007874A85041E0 +2025/08/20 06:40:50 [debug] 600336#600336: *6 http run request: "/upload?" +2025/08/20 06:40:50 [debug] 600336#600336: *6 http upstream check client, write event:1, "/upload" +2025/08/20 06:40:50 [debug] 600336#600336: epoll: fd:10 ev:0004 d:00007874A85042C9 +2025/08/20 06:40:50 [debug] 600336#600336: *6 http upstream request: "/upload?" +2025/08/20 06:40:50 [debug] 600336#600336: *6 http upstream dummy handler +2025/08/20 06:40:50 [debug] 600336#600336: timer delta: 2 +2025/08/20 06:40:50 [debug] 600336#600336: worker cycle +2025/08/20 06:40:50 [debug] 600336#600336: epoll timer: 59998 +2025/08/20 06:40:50 [debug] 600336#600336: epoll: fd:10 ev:2005 d:00007874A85042C9 +2025/08/20 06:40:50 [debug] 600336#600336: *6 http upstream request: "/upload?" +2025/08/20 06:40:50 [debug] 600336#600336: *6 http upstream process header +2025/08/20 06:40:50 [debug] 600336#600336: *6 malloc: 000056D579747160:4096 +2025/08/20 06:40:50 [debug] 600336#600336: *6 recv: eof:1, avail:-1 +2025/08/20 06:40:50 [debug] 600336#600336: *6 recv: fd:10 4096 of 4096 +2025/08/20 06:40:50 [debug] 600336#600336: *6 recv: avail:616 +2025/08/20 06:40:50 [debug] 600336#600336: *6 http fastcgi record byte: 01 +2025/08/20 06:40:50 [debug] 600336#600336: *6 http fastcgi record byte: 06 +2025/08/20 06:40:50 [debug] 600336#600336: *6 http fastcgi record byte: 00 +2025/08/20 06:40:50 [debug] 600336#600336: *6 http fastcgi record byte: 01 +2025/08/20 06:40:50 [debug] 600336#600336: *6 http fastcgi record byte: 12 +2025/08/20 06:40:50 [debug] 600336#600336: *6 http fastcgi record byte: 45 +2025/08/20 06:40:50 [debug] 600336#600336: *6 http fastcgi record byte: 03 +2025/08/20 06:40:50 [debug] 600336#600336: *6 http fastcgi record byte: 00 +2025/08/20 06:40:50 [debug] 600336#600336: *6 http fastcgi record length: 4677 +2025/08/20 06:40:50 [debug] 600336#600336: *6 http fastcgi parser: 0 +2025/08/20 06:40:50 [debug] 600336#600336: *6 http fastcgi header: "DEBUG: FastCGI received request" +2025/08/20 06:40:50 [debug] 600336#600336: *6 http fastcgi parser: 0 +2025/08/20 06:40:50 [debug] 600336#600336: *6 http fastcgi header: "DEBUG: METHOD=PUT, URI=/upload" +2025/08/20 06:40:50 [debug] 600336#600336: *6 http fastcgi parser: 0 +2025/08/20 06:40:50 [debug] 600336#600336: *6 http fastcgi header: "DEBUG: handle_upload_request called" +2025/08/20 06:40:50 [debug] 600336#600336: *6 http fastcgi parser: 0 +2025/08/20 06:40:50 [debug] 600336#600336: *6 http fastcgi header: "LOG: [2025-08-20 06:40:50] PUT /upload - Auth: pending - Status: 0" +2025/08/20 06:40:50 [debug] 600336#600336: *6 http fastcgi parser: 0 +2025/08/20 06:40:50 [debug] 600336#600336: *6 http fastcgi header: "DEBUG: content_type=text/plain" +2025/08/20 06:40:50 [debug] 600336#600336: *6 http fastcgi parser: 0 +2025/08/20 06:40:50 [debug] 600336#600336: *6 http fastcgi header: "DEBUG: content_length=296" +2025/08/20 06:40:50 [debug] 600336#600336: *6 http fastcgi parser: 0 +2025/08/20 06:40:50 [debug] 600336#600336: *6 http fastcgi header: "DEBUG: Raw Authorization header: Nostr eyJraW5kIjoyNDI0MiwiaWQiOiIyMjI3MzU5M2ZmNmQyNDZiNWI5ZjE0ZTAyYjJlNTY0Njc5OTIzNDgwNGE1ODNkYmEzYWE5YThlNTU2OTQ3NjRjIiwicHVia2V5IjoiNzliZTY2N2VmOWRjYmJhYzU1YTA2Mjk1Y2U4NzBiMDcwMjliZmNkYjJkY2UyOGQ5NTlmMjgxNWIxNmY4MTc5OCIsImNyZWF0ZWRfYXQiOjE3NTU2ODY0NTAsInRhZ3MiOltbInQiLCJ1cGxvYWQiXSxbIngiLCJiYmUyYjMzYmZiNDgyMTVmNzIzZjgwNGEwN2NiM2VkMTc1MTViYjgwMGQ4ZGVkZTQ4N2YyZWE1NjY0OWU5NzA5Il0sWyJleHBpcmF0aW9uIiwiMTc1NTY5MDA1MCJdXSwiY29udGVudCI6IiIsInNpZyI6IjlkOGYxMmE1Y2E3Y2ZhM2IyNTAxZDUzZmJiYjAwMzI5NmRlMTNkNTQ5ODQxYzQ0OWNjODk0NWQxNzA5MDMyM2Y0MmYzMGEwOTkyOWNiN2QxNzhlZjE2ODI4YTljN2ZhMTM3MWFjNzc5ZDRlZTFkMzZlNzg0NjFkNmM0OGE4NDE5In0=" +2025/08/20 06:40:50 [debug] 600336#600336: *6 http fastcgi parser: 0 +2025/08/20 06:40:50 [debug] 600336#600336: *6 http fastcgi header: "LOG: [2025-08-20 06:40:50] PUT /upload - Auth: auth_provided - Status: 0" +2025/08/20 06:40:50 [debug] 600336#600336: *6 http fastcgi parser: 0 +2025/08/20 06:40:50 [debug] 600336#600336: *6 http fastcgi header: "DEBUG: Successfully read DEBUG: Calculated SHA-256: bbe2b33bfb48215f723f804a07cb3ed17515bb800d8dede487f2ea56649e9709" +2025/08/20 06:40:50 [debug] 600336#600336: *6 http fastcgi parser: 0 +2025/08/20 06:40:50 [debug] 600336#600336: *6 http fastcgi header: "DEBUG: authenticate_request ENTRY - method: upload, hash: bbe2b33bfb48215f723f804a07cb3ed17515bb800d8dede487f2ea56649e9709" +2025/08/20 06:40:50 [debug] 600336#600336: *6 http fastcgi parser: 0 +2025/08/20 06:40:50 [debug] 600336#600336: *6 http fastcgi header: "DEBUG: authenticate_request - calling parse_authorization_header" +2025/08/20 06:40:50 [debug] 600336#600336: *6 http fastcgi parser: 0 +2025/08/20 06:40:50 [debug] 600336#600336: *6 http fastcgi header: "DEBUG: parse_authorization_header called with header: Nostr eyJraW5kIjoyNDI0MiwiaWQiOiIyMjI3MzU5M2ZmNmQy..." +2025/08/20 06:40:50 [debug] 600336#600336: *6 http fastcgi parser: 0 +2025/08/20 06:40:50 [debug] 600336#600336: *6 http fastcgi header: "DEBUG: Extracted base64 event (length=DEBUG: Base64 decode result - decoded_len=DEBUG: Successfully decoded JSON (length=DEBUG: authenticate_request - parse_authorization_header succeeded" +2025/08/20 06:40:50 [debug] 600336#600336: *6 http fastcgi parser: 0 +2025/08/20 06:40:50 [debug] 600336#600336: *6 http fastcgi header: "DEBUG: authenticate_request - calling cJSON_Parse on: {"kind":24242,"id":"22273593ff6d246b5b9f14e02b2e5646799234804a583dba3aa9a8e55694764c","pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1755686450,"tags":[["t","upload"],["x","bbe2b33bfb48215f723f804a07cb3ed17515bb800d8dede487f2ea56649e9709"],["expiration","1755690050"]],"content":"","sig":"9d8f12a5ca7cfa3b2501d53fbbb003296de13d549841c449cc8945d17090323f42f30a09929cb7d178ef16828a9c7fa1371ac779d4ee1d36e78461d6c48a8419"}" +2025/08/20 06:40:50 [debug] 600336#600336: *6 http fastcgi parser: 0 +2025/08/20 06:40:50 [debug] 600336#600336: *6 posix_memalign: 000056D579748170:4096 @16 +2025/08/20 06:40:50 [debug] 600336#600336: *6 http fastcgi header: "DEBUG: authenticate_request - cJSON_Parse succeeded, event parsed" +2025/08/20 06:40:50 [debug] 600336#600336: *6 http fastcgi parser: 0 +2025/08/20 06:40:50 [debug] 600336#600336: *6 http fastcgi header: "DEBUG: authenticate_request - Parsed JSON: {" +2025/08/20 06:40:50 [debug] 600336#600336: *6 http fastcgi parser: 0 +2025/08/20 06:40:50 [debug] 600336#600336: *6 http fastcgi header: " "kind": 24242," +2025/08/20 06:40:50 [debug] 600336#600336: *6 http fastcgi parser: 0 +2025/08/20 06:40:50 [debug] 600336#600336: *6 http fastcgi header: " "id": "22273593ff6d246b5b9f14e02b2e5646799234804a583dba3aa9a8e55694764c"," +2025/08/20 06:40:50 [debug] 600336#600336: *6 http fastcgi parser: 0 +2025/08/20 06:40:50 [debug] 600336#600336: *6 http fastcgi header: " "pubkey": "79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"," +2025/08/20 06:40:50 [debug] 600336#600336: *6 http fastcgi parser: 0 +2025/08/20 06:40:50 [debug] 600336#600336: *6 http fastcgi header: " "created_at": 1755686450," +2025/08/20 06:40:50 [debug] 600336#600336: *6 http fastcgi parser: 0 +2025/08/20 06:40:50 [debug] 600336#600336: *6 http fastcgi header: " "tags": [["t", "upload"], ["x", "bbe2b33bfb48215f723f804a07cb3ed17515bb800d8dede487f2ea56649e9709"], ["expiration", "1755690050"]]," +2025/08/20 06:40:50 [debug] 600336#600336: *6 http fastcgi parser: 0 +2025/08/20 06:40:50 [debug] 600336#600336: *6 http fastcgi header: " "content": ""," +2025/08/20 06:40:50 [debug] 600336#600336: *6 http fastcgi parser: 0 +2025/08/20 06:40:50 [debug] 600336#600336: *6 http fastcgi header: " "sig": "9d8f12a5ca7cfa3b2501d53fbbb003296de13d549841c449cc8945d17090323f42f30a09929cb7d178ef16828a9c7fa1371ac779d4ee1d36e78461d6c48a8419"" +2025/08/20 06:40:50 [debug] 600336#600336: *6 http fastcgi parser: 0 +2025/08/20 06:40:50 [debug] 600336#600336: *6 http fastcgi header: "}: " +2025/08/20 06:40:50 [debug] 600336#600336: *6 http fastcgi parser: 0 +2025/08/20 06:40:50 [debug] 600336#600336: *6 http fastcgi header: "DEBUG: authenticate_request - Event fields before validation:" +2025/08/20 06:40:50 [debug] 600336#600336: *6 http fastcgi parser: 0 +2025/08/20 06:40:50 [debug] 600336#600336: *6 http fastcgi header: "DEBUG: id: 22273593ff6d246b5b9f14e02b2e5646799234804a583dba3aa9a8e55694764c" +2025/08/20 06:40:50 [debug] 600336#600336: *6 http fastcgi parser: 0 +2025/08/20 06:40:50 [debug] 600336#600336: *6 http fastcgi header: "DEBUG: pubkey: 79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798" +2025/08/20 06:40:50 [debug] 600336#600336: *6 http fastcgi parser: 0 +2025/08/20 06:40:50 [debug] 600336#600336: *6 http fastcgi header: "DEBUG: sig: 9d8f12a5ca7cfa3b2501d53fbbb003296de13d549841c449cc8945d17090323f42f30a09929cb7d178ef16828a9c7fa1371ac779d4ee1d36e78461d6c48a8419" +2025/08/20 06:40:50 [debug] 600336#600336: *6 http fastcgi parser: 0 +2025/08/20 06:40:50 [debug] 600336#600336: *6 http fastcgi header: "DEBUG: kind: 24242" +2025/08/20 06:40:50 [debug] 600336#600336: *6 http fastcgi parser: 0 +2025/08/20 06:40:50 [debug] 600336#600336: *6 http fastcgi header: "DEBUG: created_at: 1755686450" +2025/08/20 06:40:50 [debug] 600336#600336: *6 http fastcgi parser: 0 +2025/08/20 06:40:50 [debug] 600336#600336: *6 http fastcgi header: "DEBUG: authenticate_request - Detailed pubkey analysis:" +2025/08/20 06:40:50 [debug] 600336#600336: *6 http fastcgi parser: 0 +2025/08/20 06:40:50 [debug] 600336#600336: *6 http fastcgi header: "DEBUG: Pubkey: 79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798" +2025/08/20 06:40:50 [debug] 600336#600336: *6 http fastcgi parser: 0 +2025/08/20 06:40:50 [debug] 600336#600336: *6 http fastcgi header: "DEBUG: Length: DEBUG: Character analysis (first 10): 7(0x37) 9(0x39) b(0x62) e(0x65) 6(0x36) 6(0x36) 7(0x37) e(0x65) f(0x66) 9(0x39)" +2025/08/20 06:40:50 [debug] 600336#600336: *6 http fastcgi parser: 0 +2025/08/20 06:40:50 [debug] 600336#600336: *6 http fastcgi header: "DEBUG: authenticate_request - calling nostr_validate_event" +2025/08/20 06:40:50 [debug] 600336#600336: *6 http fastcgi parser: 0 +2025/08/20 06:40:50 [debug] 600336#600336: *6 http fastcgi header: "DEBUG: authenticate_request - Pre-validation pubkey analysis:" +2025/08/20 06:40:50 [debug] 600336#600336: *6 http fastcgi parser: 0 +2025/08/20 06:40:50 [debug] 600336#600336: *6 http fastcgi header: "DEBUG: Pubkey: 79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798" +2025/08/20 06:40:50 [debug] 600336#600336: *6 http fastcgi parser: 0 +2025/08/20 06:40:50 [debug] 600336#600336: *6 http fastcgi header: "DEBUG: Length: DEBUG: Character analysis (first 10): 7(55) 9(57) b(98) e(101) 6(54) 6(54) 7(55) e(101) f(102) 9(57)" +2025/08/20 06:40:50 [debug] 600336#600336: *6 http fastcgi parser: 0 +2025/08/20 06:40:50 [debug] 600336#600336: *6 http fastcgi header: "DEBUG: Character validation test: ALL VALID (lowercase hex)" +2025/08/20 06:40:50 [debug] 600336#600336: *6 http fastcgi parser: 0 +2025/08/20 06:40:50 [debug] 600336#600336: *6 http fastcgi header: "DEBUG: authenticate_request - Starting detailed validation analysis" +2025/08/20 06:40:50 [debug] 600336#600336: *6 http fastcgi parser: 0 +2025/08/20 06:40:50 [debug] 600336#600336: *6 http fastcgi header: "DEBUG: authenticate_request - Testing structure validation..." +2025/08/20 06:40:50 [debug] 600336#600336: *6 http fastcgi parser: 0 +2025/08/20 06:40:50 [debug] 600336#600336: *6 http fastcgi header: "DEBUG: authenticate_request - nostr_validate_event_structure returned: 0 (Success)" +2025/08/20 06:40:50 [debug] 600336#600336: *6 http fastcgi parser: 0 +2025/08/20 06:40:50 [debug] 600336#600336: *6 http fastcgi header: "DEBUG: authenticate_request - Structure validation PASSED" +2025/08/20 06:40:50 [debug] 600336#600336: *6 http fastcgi parser: -2 +2025/08/20 06:40:50 [debug] 600336#600336: *6 upstream split a header line in FastCGI records +2025/08/20 06:40:50 [error] 600336#600336: *6 upstream sent too big header while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 06:40:50 [debug] 600336#600336: *6 http next upstream, 8 +2025/08/20 06:40:50 [debug] 600336#600336: *6 free rr peer 1 4 +2025/08/20 06:40:50 [debug] 600336#600336: *6 finalize http upstream request: 502 +2025/08/20 06:40:50 [debug] 600336#600336: *6 finalize http fastcgi request +2025/08/20 06:40:50 [debug] 600336#600336: *6 close http upstream connection: 10 +2025/08/20 06:40:50 [debug] 600336#600336: *6 free: 000056D579725F20, unused: 48 +2025/08/20 06:40:50 [debug] 600336#600336: *6 event timer del: 10: 253243829 +2025/08/20 06:40:50 [debug] 600336#600336: *6 reusable connection: 0 +2025/08/20 06:40:50 [debug] 600336#600336: *6 http finalize request: 502, "/upload?" a:1, c:1 +2025/08/20 06:40:50 [debug] 600336#600336: *6 http special response: 502, "/upload?" +2025/08/20 06:40:50 [debug] 600336#600336: *6 HTTP/1.1 502 Bad Gateway +Server: nginx/1.18.0 (Ubuntu) +Date: Wed, 20 Aug 2025 10:40:50 GMT +Content-Type: text/html +Content-Length: 166 +Connection: keep-alive + +2025/08/20 06:40:50 [debug] 600336#600336: *6 write new buf t:1 f:0 000056D579749068, pos 000056D579749068, size: 166 file: 0, size: 0 +2025/08/20 06:40:50 [debug] 600336#600336: *6 http write filter: l:0 f:0 s:166 +2025/08/20 06:40:50 [debug] 600336#600336: *6 posix_memalign: 000056D579749180:4096 @16 +2025/08/20 06:40:50 [debug] 600336#600336: *6 http output filter "/upload?" +2025/08/20 06:40:50 [debug] 600336#600336: *6 http copy filter: "/upload?" +2025/08/20 06:40:50 [debug] 600336#600336: *6 http postpone filter "/upload?" 000056D579752BF0 +2025/08/20 06:40:50 [debug] 600336#600336: *6 write old buf t:1 f:0 000056D579749068, pos 000056D579749068, size: 166 file: 0, size: 0 +2025/08/20 06:40:50 [debug] 600336#600336: *6 write new buf t:0 f:0 0000000000000000, pos 000056D55A6E5A40, size: 104 file: 0, size: 0 +2025/08/20 06:40:50 [debug] 600336#600336: *6 write new buf t:0 f:0 0000000000000000, pos 000056D55A6E6C80, size: 62 file: 0, size: 0 +2025/08/20 06:40:50 [debug] 600336#600336: *6 http write filter: l:1 f:0 s:332 +2025/08/20 06:40:50 [debug] 600336#600336: *6 http write filter limit 0 +2025/08/20 06:40:50 [debug] 600336#600336: *6 writev: 332 of 332 +2025/08/20 06:40:50 [debug] 600336#600336: *6 http write filter 0000000000000000 +2025/08/20 06:40:50 [debug] 600336#600336: *6 http copy filter: 0 "/upload?" +2025/08/20 06:40:50 [debug] 600336#600336: *6 http finalize request: 0, "/upload?" a:1, c:1 +2025/08/20 06:40:50 [debug] 600336#600336: *6 set http keepalive handler +2025/08/20 06:40:50 [debug] 600336#600336: *6 http close request +2025/08/20 06:40:50 [debug] 600336#600336: *6 http log handler +2025/08/20 06:40:50 [debug] 600336#600336: *6 free: 000056D579747160 +2025/08/20 06:40:50 [debug] 600336#600336: *6 free: 000056D57975BA30, unused: 3 +2025/08/20 06:40:50 [debug] 600336#600336: *6 free: 000056D579751DA0, unused: 0 +2025/08/20 06:40:50 [debug] 600336#600336: *6 free: 000056D579746150, unused: 2 +2025/08/20 06:40:50 [debug] 600336#600336: *6 free: 000056D579748170, unused: 0 +2025/08/20 06:40:50 [debug] 600336#600336: *6 free: 000056D579749180, unused: 3722 +2025/08/20 06:40:50 [debug] 600336#600336: *6 free: 000056D57973F0A0 +2025/08/20 06:40:50 [debug] 600336#600336: *6 hc free: 0000000000000000 +2025/08/20 06:40:50 [debug] 600336#600336: *6 hc busy: 0000000000000000 0 +2025/08/20 06:40:50 [debug] 600336#600336: *6 tcp_nodelay +2025/08/20 06:40:50 [debug] 600336#600336: *6 reusable connection: 1 +2025/08/20 06:40:50 [debug] 600336#600336: *6 event timer add: 6: 65000:253248832 +2025/08/20 06:40:50 [debug] 600336#600336: *6 post event 000056D57978D770 +2025/08/20 06:40:50 [debug] 600336#600336: timer delta: 1 +2025/08/20 06:40:50 [debug] 600336#600336: posted event 000056D57978D770 +2025/08/20 06:40:50 [debug] 600336#600336: *6 delete posted event 000056D57978D770 +2025/08/20 06:40:50 [debug] 600336#600336: *6 http keepalive handler +2025/08/20 06:40:50 [debug] 600336#600336: *6 malloc: 000056D57973F0A0:1024 +2025/08/20 06:40:50 [debug] 600336#600336: *6 recv: eof:0, avail:0 +2025/08/20 06:40:50 [debug] 600336#600336: *6 free: 000056D57973F0A0 +2025/08/20 06:40:50 [debug] 600336#600336: worker cycle +2025/08/20 06:40:50 [debug] 600336#600336: epoll timer: 65000 +2025/08/20 06:40:50 [debug] 600336#600336: epoll: fd:6 ev:2005 d:00007874A85041E0 +2025/08/20 06:40:50 [debug] 600336#600336: *6 http keepalive handler +2025/08/20 06:40:50 [debug] 600336#600336: *6 malloc: 000056D57973F0A0:1024 +2025/08/20 06:40:50 [debug] 600336#600336: *6 recv: eof:1, avail:-1 +2025/08/20 06:40:50 [debug] 600336#600336: *6 recv: fd:6 0 of 1024 +2025/08/20 06:40:50 [info] 600336#600336: *6 client 127.0.0.1 closed keepalive connection +2025/08/20 06:40:50 [debug] 600336#600336: *6 close http connection: 6 +2025/08/20 06:40:50 [debug] 600336#600336: *6 event timer del: 6: 253248832 +2025/08/20 06:40:50 [debug] 600336#600336: *6 reusable connection: 0 +2025/08/20 06:40:50 [debug] 600336#600336: *6 free: 000056D57973F0A0 +2025/08/20 06:40:50 [debug] 600336#600336: *6 free: 000056D57973C840, unused: 120 +2025/08/20 06:40:50 [debug] 600336#600336: timer delta: 2 +2025/08/20 06:40:50 [debug] 600336#600336: worker cycle +2025/08/20 06:40:50 [debug] 600336#600336: epoll timer: -1 +2025/08/20 06:40:50 [debug] 600336#600336: epoll: fd:5 ev:0001 d:00007874A8504010 +2025/08/20 06:40:50 [debug] 600336#600336: accept on 0.0.0.0:9001, ready: 0 +2025/08/20 06:40:50 [debug] 600336#600336: posix_memalign: 000056D57973C840:512 @16 +2025/08/20 06:40:50 [debug] 600336#600336: *8 accept: 127.0.0.1:42440 fd:6 +2025/08/20 06:40:50 [debug] 600336#600336: *8 event timer add: 6: 60000:253243846 +2025/08/20 06:40:50 [debug] 600336#600336: *8 reusable connection: 1 +2025/08/20 06:40:50 [debug] 600336#600336: *8 epoll add event: fd:6 op:1 ev:80002001 +2025/08/20 06:40:50 [debug] 600336#600336: timer delta: 12 +2025/08/20 06:40:50 [debug] 600336#600336: worker cycle +2025/08/20 06:40:50 [debug] 600336#600336: epoll timer: 60000 +2025/08/20 06:40:50 [debug] 600336#600336: epoll: fd:6 ev:0001 d:00007874A85041E1 +2025/08/20 06:40:50 [debug] 600336#600336: *8 http wait request handler +2025/08/20 06:40:50 [debug] 600336#600336: *8 malloc: 000056D57973F0A0:1024 +2025/08/20 06:40:50 [debug] 600336#600336: *8 recv: eof:0, avail:-1 +2025/08/20 06:40:50 [debug] 600336#600336: *8 recv: fd:6 142 of 1024 +2025/08/20 06:40:50 [debug] 600336#600336: *8 reusable connection: 0 +2025/08/20 06:40:50 [debug] 600336#600336: *8 posix_memalign: 000056D57975BA30:4096 @16 +2025/08/20 06:40:50 [debug] 600336#600336: *8 http process request line +2025/08/20 06:40:50 [debug] 600336#600336: *8 http request line: "GET /bbe2b33bfb48215f723f804a07cb3ed17515bb800d8dede487f2ea56649e9709 HTTP/1.1" +2025/08/20 06:40:50 [debug] 600336#600336: *8 http uri: "/bbe2b33bfb48215f723f804a07cb3ed17515bb800d8dede487f2ea56649e9709" +2025/08/20 06:40:50 [debug] 600336#600336: *8 http args: "" +2025/08/20 06:40:50 [debug] 600336#600336: *8 http exten: "" +2025/08/20 06:40:50 [debug] 600336#600336: *8 posix_memalign: 000056D579751DA0:4096 @16 +2025/08/20 06:40:50 [debug] 600336#600336: *8 http process request header line +2025/08/20 06:40:50 [debug] 600336#600336: *8 http header: "Host: localhost:9001" +2025/08/20 06:40:50 [debug] 600336#600336: *8 http header: "User-Agent: curl/8.15.0" +2025/08/20 06:40:50 [debug] 600336#600336: *8 http header: "Accept: */*" +2025/08/20 06:40:50 [debug] 600336#600336: *8 http header done +2025/08/20 06:40:50 [debug] 600336#600336: *8 event timer del: 6: 253243846 +2025/08/20 06:40:50 [debug] 600336#600336: *8 generic phase: 0 +2025/08/20 06:40:50 [debug] 600336#600336: *8 rewrite phase: 1 +2025/08/20 06:40:50 [debug] 600336#600336: *8 test location: "/health" +2025/08/20 06:40:50 [debug] 600336#600336: *8 test location: "/debug/list" +2025/08/20 06:40:50 [debug] 600336#600336: *8 test location: "/" +2025/08/20 06:40:50 [debug] 600336#600336: *8 test location: ~ "^/([a-f0-9]{64}).*$" +2025/08/20 06:40:50 [debug] 600336#600336: *8 using configuration "^/([a-f0-9]{64}).*$" +2025/08/20 06:40:50 [debug] 600336#600336: *8 http cl:-1 max:104857600 +2025/08/20 06:40:50 [debug] 600336#600336: *8 rewrite phase: 3 +2025/08/20 06:40:50 [debug] 600336#600336: *8 http script var +2025/08/20 06:40:50 [debug] 600336#600336: *8 http script var: "GET" +2025/08/20 06:40:50 [debug] 600336#600336: *8 http script value: "DELETE" +2025/08/20 06:40:50 [debug] 600336#600336: *8 http script not equal +2025/08/20 06:40:50 [debug] 600336#600336: *8 http script if +2025/08/20 06:40:50 [debug] 600336#600336: *8 http finalize request: 404, "/bbe2b33bfb48215f723f804a07cb3ed17515bb800d8dede487f2ea56649e9709?" a:1, c:1 +2025/08/20 06:40:50 [debug] 600336#600336: *8 http special response: 404, "/bbe2b33bfb48215f723f804a07cb3ed17515bb800d8dede487f2ea56649e9709?" +2025/08/20 06:40:50 [debug] 600336#600336: *8 http set discard body +2025/08/20 06:40:50 [debug] 600336#600336: *8 HTTP/1.1 404 Not Found +Server: nginx/1.18.0 (Ubuntu) +Date: Wed, 20 Aug 2025 10:40:50 GMT +Content-Type: text/html +Content-Length: 162 +Connection: keep-alive + +2025/08/20 06:40:50 [debug] 600336#600336: *8 write new buf t:1 f:0 000056D579752180, pos 000056D579752180, size: 164 file: 0, size: 0 +2025/08/20 06:40:50 [debug] 600336#600336: *8 http write filter: l:0 f:0 s:164 +2025/08/20 06:40:50 [debug] 600336#600336: *8 http output filter "/bbe2b33bfb48215f723f804a07cb3ed17515bb800d8dede487f2ea56649e9709?" +2025/08/20 06:40:50 [debug] 600336#600336: *8 http copy filter: "/bbe2b33bfb48215f723f804a07cb3ed17515bb800d8dede487f2ea56649e9709?" +2025/08/20 06:40:50 [debug] 600336#600336: *8 http postpone filter "/bbe2b33bfb48215f723f804a07cb3ed17515bb800d8dede487f2ea56649e9709?" 000056D579752310 +2025/08/20 06:40:50 [debug] 600336#600336: *8 write old buf t:1 f:0 000056D579752180, pos 000056D579752180, size: 164 file: 0, size: 0 +2025/08/20 06:40:50 [debug] 600336#600336: *8 write new buf t:0 f:0 0000000000000000, pos 000056D55A6E6580, size: 100 file: 0, size: 0 +2025/08/20 06:40:50 [debug] 600336#600336: *8 write new buf t:0 f:0 0000000000000000, pos 000056D55A6E6C80, size: 62 file: 0, size: 0 +2025/08/20 06:40:50 [debug] 600336#600336: *8 http write filter: l:1 f:0 s:326 +2025/08/20 06:40:50 [debug] 600336#600336: *8 http write filter limit 0 +2025/08/20 06:40:50 [debug] 600336#600336: *8 writev: 326 of 326 +2025/08/20 06:40:50 [debug] 600336#600336: *8 http write filter 0000000000000000 +2025/08/20 06:40:50 [debug] 600336#600336: *8 http copy filter: 0 "/bbe2b33bfb48215f723f804a07cb3ed17515bb800d8dede487f2ea56649e9709?" +2025/08/20 06:40:50 [debug] 600336#600336: *8 http finalize request: 0, "/bbe2b33bfb48215f723f804a07cb3ed17515bb800d8dede487f2ea56649e9709?" a:1, c:1 +2025/08/20 06:40:50 [debug] 600336#600336: *8 set http keepalive handler +2025/08/20 06:40:50 [debug] 600336#600336: *8 http close request +2025/08/20 06:40:50 [debug] 600336#600336: *8 http log handler +2025/08/20 06:40:50 [debug] 600336#600336: *8 free: 000056D57975BA30, unused: 0 +2025/08/20 06:40:50 [debug] 600336#600336: *8 free: 000056D579751DA0, unused: 2456 +2025/08/20 06:40:50 [debug] 600336#600336: *8 free: 000056D57973F0A0 +2025/08/20 06:40:50 [debug] 600336#600336: *8 hc free: 0000000000000000 +2025/08/20 06:40:50 [debug] 600336#600336: *8 hc busy: 0000000000000000 0 +2025/08/20 06:40:50 [debug] 600336#600336: *8 tcp_nodelay +2025/08/20 06:40:50 [debug] 600336#600336: *8 reusable connection: 1 +2025/08/20 06:40:50 [debug] 600336#600336: *8 event timer add: 6: 65000:253248846 +2025/08/20 06:40:50 [debug] 600336#600336: timer delta: 0 +2025/08/20 06:40:50 [debug] 600336#600336: worker cycle +2025/08/20 06:40:50 [debug] 600336#600336: epoll timer: 65000 +2025/08/20 06:40:50 [debug] 600336#600336: epoll: fd:6 ev:2001 d:00007874A85041E1 +2025/08/20 06:40:50 [debug] 600336#600336: *8 http keepalive handler +2025/08/20 06:40:50 [debug] 600336#600336: *8 malloc: 000056D57973F0A0:1024 +2025/08/20 06:40:50 [debug] 600336#600336: *8 recv: eof:1, avail:-1 +2025/08/20 06:40:50 [debug] 600336#600336: *8 recv: fd:6 0 of 1024 +2025/08/20 06:40:50 [info] 600336#600336: *8 client 127.0.0.1 closed keepalive connection +2025/08/20 06:40:50 [debug] 600336#600336: *8 close http connection: 6 +2025/08/20 06:40:50 [debug] 600336#600336: *8 event timer del: 6: 253248846 +2025/08/20 06:40:50 [debug] 600336#600336: *8 reusable connection: 0 +2025/08/20 06:40:50 [debug] 600336#600336: *8 free: 000056D57973F0A0 +2025/08/20 06:40:50 [debug] 600336#600336: *8 free: 000056D57973C840, unused: 136 +2025/08/20 06:40:50 [debug] 600336#600336: timer delta: 1 +2025/08/20 06:40:50 [debug] 600336#600336: worker cycle +2025/08/20 06:40:50 [debug] 600336#600336: epoll timer: -1 +2025/08/20 06:41:26 [debug] 600336#600336: epoll: fd:5 ev:0001 d:00007874A8504010 +2025/08/20 06:41:26 [debug] 600336#600336: accept on 0.0.0.0:9001, ready: 0 +2025/08/20 06:41:26 [debug] 600336#600336: posix_memalign: 000056D57973C840:512 @16 +2025/08/20 06:41:26 [debug] 600336#600336: *9 accept: 127.0.0.1:41444 fd:6 +2025/08/20 06:41:26 [debug] 600336#600336: *9 event timer add: 6: 60000:253279668 +2025/08/20 06:41:26 [debug] 600336#600336: *9 reusable connection: 1 +2025/08/20 06:41:26 [debug] 600336#600336: *9 epoll add event: fd:6 op:1 ev:80002001 +2025/08/20 06:41:26 [debug] 600336#600336: timer delta: 35821 +2025/08/20 06:41:26 [debug] 600336#600336: worker cycle +2025/08/20 06:41:26 [debug] 600336#600336: epoll timer: 60000 +2025/08/20 06:41:26 [debug] 600336#600336: epoll: fd:6 ev:0001 d:00007874A85041E0 +2025/08/20 06:41:26 [debug] 600336#600336: *9 http wait request handler +2025/08/20 06:41:26 [debug] 600336#600336: *9 malloc: 000056D57973F0A0:1024 +2025/08/20 06:41:26 [debug] 600336#600336: *9 recv: eof:0, avail:-1 +2025/08/20 06:41:26 [debug] 600336#600336: *9 recv: fd:6 143 of 1024 +2025/08/20 06:41:26 [debug] 600336#600336: *9 reusable connection: 0 +2025/08/20 06:41:26 [debug] 600336#600336: *9 posix_memalign: 000056D57975BA30:4096 @16 +2025/08/20 06:41:26 [debug] 600336#600336: *9 http process request line +2025/08/20 06:41:26 [debug] 600336#600336: *9 http request line: "HEAD /84716171bab16ad021bd8953050189fe6075917436cd11cc933f021bbc5d5b0b HTTP/1.1" +2025/08/20 06:41:26 [debug] 600336#600336: *9 http uri: "/84716171bab16ad021bd8953050189fe6075917436cd11cc933f021bbc5d5b0b" +2025/08/20 06:41:26 [debug] 600336#600336: *9 http args: "" +2025/08/20 06:41:26 [debug] 600336#600336: *9 http exten: "" +2025/08/20 06:41:26 [debug] 600336#600336: *9 posix_memalign: 000056D579751DA0:4096 @16 +2025/08/20 06:41:26 [debug] 600336#600336: *9 http process request header line +2025/08/20 06:41:26 [debug] 600336#600336: *9 http header: "Host: localhost:9001" +2025/08/20 06:41:26 [debug] 600336#600336: *9 http header: "User-Agent: curl/8.15.0" +2025/08/20 06:41:26 [debug] 600336#600336: *9 http header: "Accept: */*" +2025/08/20 06:41:26 [debug] 600336#600336: *9 http header done +2025/08/20 06:41:26 [debug] 600336#600336: *9 event timer del: 6: 253279668 +2025/08/20 06:41:26 [debug] 600336#600336: *9 generic phase: 0 +2025/08/20 06:41:26 [debug] 600336#600336: *9 rewrite phase: 1 +2025/08/20 06:41:26 [debug] 600336#600336: *9 test location: "/health" +2025/08/20 06:41:26 [debug] 600336#600336: *9 test location: "/debug/list" +2025/08/20 06:41:26 [debug] 600336#600336: *9 test location: "/" +2025/08/20 06:41:26 [debug] 600336#600336: *9 test location: ~ "^/([a-f0-9]{64}).*$" +2025/08/20 06:41:26 [debug] 600336#600336: *9 using configuration "^/([a-f0-9]{64}).*$" +2025/08/20 06:41:26 [debug] 600336#600336: *9 http cl:-1 max:104857600 +2025/08/20 06:41:26 [debug] 600336#600336: *9 rewrite phase: 3 +2025/08/20 06:41:26 [debug] 600336#600336: *9 http script var +2025/08/20 06:41:26 [debug] 600336#600336: *9 http script var: "HEAD" +2025/08/20 06:41:26 [debug] 600336#600336: *9 http script value: "DELETE" +2025/08/20 06:41:26 [debug] 600336#600336: *9 http script not equal +2025/08/20 06:41:26 [debug] 600336#600336: *9 http script if +2025/08/20 06:41:26 [debug] 600336#600336: *9 http finalize request: 404, "/84716171bab16ad021bd8953050189fe6075917436cd11cc933f021bbc5d5b0b?" a:1, c:1 +2025/08/20 06:41:26 [debug] 600336#600336: *9 http special response: 404, "/84716171bab16ad021bd8953050189fe6075917436cd11cc933f021bbc5d5b0b?" +2025/08/20 06:41:26 [debug] 600336#600336: *9 http set discard body +2025/08/20 06:41:26 [debug] 600336#600336: *9 HTTP/1.1 404 Not Found +Server: nginx/1.18.0 (Ubuntu) +Date: Wed, 20 Aug 2025 10:41:26 GMT +Content-Type: text/html +Content-Length: 162 +Connection: keep-alive + +2025/08/20 06:41:26 [debug] 600336#600336: *9 write new buf t:1 f:0 000056D579752180, pos 000056D579752180, size: 164 file: 0, size: 0 +2025/08/20 06:41:26 [debug] 600336#600336: *9 http write filter: l:1 f:0 s:164 +2025/08/20 06:41:26 [debug] 600336#600336: *9 http write filter limit 0 +2025/08/20 06:41:26 [debug] 600336#600336: *9 writev: 164 of 164 +2025/08/20 06:41:26 [debug] 600336#600336: *9 http write filter 0000000000000000 +2025/08/20 06:41:26 [debug] 600336#600336: *9 http finalize request: 0, "/84716171bab16ad021bd8953050189fe6075917436cd11cc933f021bbc5d5b0b?" a:1, c:1 +2025/08/20 06:41:26 [debug] 600336#600336: *9 set http keepalive handler +2025/08/20 06:41:26 [debug] 600336#600336: *9 http close request +2025/08/20 06:41:26 [debug] 600336#600336: *9 http log handler +2025/08/20 06:41:26 [debug] 600336#600336: *9 free: 000056D57975BA30, unused: 80 +2025/08/20 06:41:26 [debug] 600336#600336: *9 free: 000056D579751DA0, unused: 2738 +2025/08/20 06:41:26 [debug] 600336#600336: *9 free: 000056D57973F0A0 +2025/08/20 06:41:26 [debug] 600336#600336: *9 hc free: 0000000000000000 +2025/08/20 06:41:26 [debug] 600336#600336: *9 hc busy: 0000000000000000 0 +2025/08/20 06:41:26 [debug] 600336#600336: *9 tcp_nodelay +2025/08/20 06:41:26 [debug] 600336#600336: *9 reusable connection: 1 +2025/08/20 06:41:26 [debug] 600336#600336: *9 event timer add: 6: 65000:253284668 +2025/08/20 06:41:26 [debug] 600336#600336: timer delta: 0 +2025/08/20 06:41:26 [debug] 600336#600336: worker cycle +2025/08/20 06:41:26 [debug] 600336#600336: epoll timer: 65000 +2025/08/20 06:41:26 [debug] 600336#600336: epoll: fd:6 ev:2001 d:00007874A85041E0 +2025/08/20 06:41:26 [debug] 600336#600336: *9 http keepalive handler +2025/08/20 06:41:26 [debug] 600336#600336: *9 malloc: 000056D57973F0A0:1024 +2025/08/20 06:41:26 [debug] 600336#600336: *9 recv: eof:1, avail:-1 +2025/08/20 06:41:26 [debug] 600336#600336: *9 recv: fd:6 0 of 1024 +2025/08/20 06:41:26 [info] 600336#600336: *9 client 127.0.0.1 closed keepalive connection +2025/08/20 06:41:26 [debug] 600336#600336: *9 close http connection: 6 +2025/08/20 06:41:26 [debug] 600336#600336: *9 event timer del: 6: 253284668 +2025/08/20 06:41:26 [debug] 600336#600336: *9 reusable connection: 0 +2025/08/20 06:41:26 [debug] 600336#600336: *9 free: 000056D57973F0A0 +2025/08/20 06:41:26 [debug] 600336#600336: *9 free: 000056D57973C840, unused: 136 +2025/08/20 06:41:26 [debug] 600336#600336: timer delta: 2 +2025/08/20 06:41:26 [debug] 600336#600336: worker cycle +2025/08/20 06:41:26 [debug] 600336#600336: epoll timer: -1 +2025/08/20 06:45:17 [notice] 600335#600335: signal 15 (SIGTERM) received from 601543, exiting +2025/08/20 06:45:17 [debug] 600335#600335: wake up, sigio 0 +2025/08/20 06:45:17 [debug] 600335#600335: child: 0 600336 e:0 t:0 d:0 r:1 j:0 +2025/08/20 06:45:17 [debug] 600335#600335: termination cycle: 50 +2025/08/20 06:45:17 [debug] 600335#600335: sigsuspend +2025/08/20 06:45:17 [debug] 600336#600336: epoll: fd:7 ev:0001 d:00007874A85040F8 +2025/08/20 06:45:17 [debug] 600336#600336: channel handler +2025/08/20 06:45:17 [debug] 600336#600336: channel: 32 +2025/08/20 06:45:17 [debug] 600336#600336: channel command: 4 +2025/08/20 06:45:17 [debug] 600336#600336: channel: -2 +2025/08/20 06:45:17 [debug] 600336#600336: timer delta: 231395 +2025/08/20 06:45:17 [notice] 600336#600336: exiting +2025/08/20 06:45:17 [debug] 600336#600336: flush files +2025/08/20 06:45:17 [debug] 600336#600336: run cleanup: 000056D57978AA80 +2025/08/20 06:45:17 [debug] 600336#600336: run cleanup: 000056D57977DA18 +2025/08/20 06:45:17 [debug] 600336#600336: cleanup resolver +2025/08/20 06:45:17 [debug] 600336#600336: free: 000056D57978BDE0 +2025/08/20 06:45:17 [debug] 600336#600336: free: 000056D57977EBE0 +2025/08/20 06:45:17 [debug] 600336#600336: free: 000056D57975DB50 +2025/08/20 06:45:17 [debug] 600336#600336: free: 000056D57975CA40 +2025/08/20 06:45:17 [debug] 600336#600336: free: 000056D579756A10 +2025/08/20 06:45:17 [debug] 600336#600336: free: 000056D579755950 +2025/08/20 06:45:17 [debug] 600336#600336: free: 000056D579754890 +2025/08/20 06:45:17 [debug] 600336#600336: free: 000056D5797537D0 +2025/08/20 06:45:17 [debug] 600336#600336: free: 000056D57974B170 +2025/08/20 06:45:17 [debug] 600336#600336: free: 000056D579742140, unused: 0 +2025/08/20 06:45:17 [debug] 600336#600336: free: 000056D57974C580, unused: 0 +2025/08/20 06:45:17 [debug] 600336#600336: free: 000056D579757A20, unused: 0 +2025/08/20 06:45:17 [debug] 600336#600336: free: 000056D57975EB60, unused: 0 +2025/08/20 06:45:17 [debug] 600336#600336: free: 000056D579762B70, unused: 0 +2025/08/20 06:45:17 [debug] 600336#600336: free: 000056D579766B80, unused: 0 +2025/08/20 06:45:17 [debug] 600336#600336: free: 000056D57976AB90, unused: 0 +2025/08/20 06:45:17 [debug] 600336#600336: free: 000056D57976EBA0, unused: 0 +2025/08/20 06:45:17 [debug] 600336#600336: free: 000056D579772BB0, unused: 0 +2025/08/20 06:45:17 [debug] 600336#600336: free: 000056D579776BC0, unused: 0 +2025/08/20 06:45:17 [debug] 600336#600336: free: 000056D57977ABD0, unused: 0 +2025/08/20 06:45:17 [debug] 600336#600336: free: 000056D57977FDB0, unused: 0 +2025/08/20 06:45:17 [debug] 600336#600336: free: 000056D579783DC0, unused: 0 +2025/08/20 06:45:17 [debug] 600336#600336: free: 000056D579787DD0, unused: 4920 +2025/08/20 06:45:17 [notice] 600336#600336: exit +2025/08/20 06:45:17 [notice] 600335#600335: signal 17 (SIGCHLD) received from 600336 +2025/08/20 06:45:17 [notice] 600335#600335: worker process 600336 exited with code 0 +2025/08/20 06:45:17 [debug] 600335#600335: shmtx forced unlock +2025/08/20 06:45:17 [debug] 600335#600335: wake up, sigio 3 +2025/08/20 06:45:17 [debug] 600335#600335: reap children +2025/08/20 06:45:17 [debug] 600335#600335: child: 0 600336 e:1 t:1 d:0 r:1 j:0 +2025/08/20 06:45:17 [notice] 600335#600335: exit +2025/08/20 06:45:17 [debug] 600335#600335: close listening 0.0.0.0:9001 #5 +2025/08/20 06:45:17 [debug] 600335#600335: run cleanup: 000056D57977DA18 +2025/08/20 06:45:17 [debug] 600335#600335: cleanup resolver +2025/08/20 06:45:17 [debug] 600335#600335: free: 000056D57978BDE0 +2025/08/20 06:45:17 [debug] 600335#600335: free: 000056D57977EBE0 +2025/08/20 06:45:17 [debug] 600335#600335: free: 000056D57975DB50 +2025/08/20 06:45:17 [debug] 600335#600335: free: 000056D57975CA40 +2025/08/20 06:45:17 [debug] 600335#600335: free: 000056D579756A10 +2025/08/20 06:45:17 [debug] 600335#600335: free: 000056D579755950 +2025/08/20 06:45:17 [debug] 600335#600335: free: 000056D579754890 +2025/08/20 06:45:17 [debug] 600335#600335: free: 000056D5797537D0 +2025/08/20 06:45:17 [debug] 600335#600335: free: 000056D57974B170 +2025/08/20 06:45:17 [debug] 600335#600335: free: 000056D579742140, unused: 0 +2025/08/20 06:45:17 [debug] 600335#600335: free: 000056D57974C580, unused: 0 +2025/08/20 06:45:17 [debug] 600335#600335: free: 000056D579757A20, unused: 0 +2025/08/20 06:45:17 [debug] 600335#600335: free: 000056D57975EB60, unused: 0 +2025/08/20 06:45:17 [debug] 600335#600335: free: 000056D579762B70, unused: 0 +2025/08/20 06:45:17 [debug] 600335#600335: free: 000056D579766B80, unused: 0 +2025/08/20 06:45:17 [debug] 600335#600335: free: 000056D57976AB90, unused: 0 +2025/08/20 06:45:17 [debug] 600335#600335: free: 000056D57976EBA0, unused: 0 +2025/08/20 06:45:17 [debug] 600335#600335: free: 000056D579772BB0, unused: 0 +2025/08/20 06:45:17 [debug] 600335#600335: free: 000056D579776BC0, unused: 0 +2025/08/20 06:45:17 [debug] 600335#600335: free: 000056D57977ABD0, unused: 0 +2025/08/20 06:45:17 [debug] 600335#600335: free: 000056D57977FDB0, unused: 0 +2025/08/20 06:45:17 [debug] 600335#600335: free: 000056D579783DC0, unused: 0 +2025/08/20 06:45:17 [debug] 600335#600335: free: 000056D579787DD0, unused: 4951 +2025/08/20 06:45:22 [debug] 601586#601586: bind() 0.0.0.0:9001 #5 +2025/08/20 06:45:22 [debug] 601586#601586: counter: 000074E156B00080, 1 +2025/08/20 06:45:22 [debug] 601587#601587: bind() 0.0.0.0:9001 #5 +2025/08/20 06:45:22 [notice] 601587#601587: using the "epoll" event method +2025/08/20 06:45:22 [debug] 601587#601587: counter: 00007C850D4DB080, 1 +2025/08/20 06:45:22 [notice] 601587#601587: nginx/1.18.0 (Ubuntu) +2025/08/20 06:45:22 [notice] 601587#601587: OS: Linux 6.12.10-76061203-generic +2025/08/20 06:45:22 [notice] 601587#601587: getrlimit(RLIMIT_NOFILE): 1048576:1048576 +2025/08/20 06:45:22 [debug] 601588#601587: write: 6, 00007FFD28354410, 7, 0 +2025/08/20 06:45:22 [debug] 601588#601588: setproctitle: "nginx: master process nginx -p . -c config/local-nginx.conf" +2025/08/20 06:45:22 [notice] 601588#601588: start worker processes +2025/08/20 06:45:22 [debug] 601588#601588: channel 6:7 +2025/08/20 06:45:22 [notice] 601588#601588: start worker process 601589 +2025/08/20 06:45:22 [debug] 601588#601588: sigsuspend +2025/08/20 06:45:22 [debug] 601589#601589: add cleanup: 000061B8C8C9DA80 +2025/08/20 06:45:22 [debug] 601589#601589: malloc: 000061B8C8C50BD0:8 +2025/08/20 06:45:22 [debug] 601589#601589: notify eventfd: 9 +2025/08/20 06:45:22 [debug] 601589#601589: testing the EPOLLRDHUP flag: success +2025/08/20 06:45:22 [debug] 601589#601589: malloc: 000061B8C8C63590:6144 +2025/08/20 06:45:22 [debug] 601589#601589: malloc: 00007C850D2D3010:237568 +2025/08/20 06:45:22 [debug] 601589#601589: malloc: 000061B8C8CA06B0:98304 +2025/08/20 06:45:22 [debug] 601589#601589: malloc: 000061B8C8CB86C0:98304 +2025/08/20 06:45:22 [debug] 601589#601589: epoll add event: fd:5 op:1 ev:00002001 +2025/08/20 06:45:22 [debug] 601589#601589: epoll add event: fd:7 op:1 ev:00002001 +2025/08/20 06:45:22 [debug] 601589#601589: setproctitle: "nginx: worker process" +2025/08/20 06:45:22 [debug] 601589#601589: worker cycle +2025/08/20 06:45:22 [debug] 601589#601589: epoll timer: -1 +2025/08/20 06:45:33 [debug] 601589#601589: epoll: fd:5 ev:0001 d:00007C850D2D3010 +2025/08/20 06:45:33 [debug] 601589#601589: accept on 0.0.0.0:9001, ready: 0 +2025/08/20 06:45:33 [debug] 601589#601589: posix_memalign: 000061B8C8C4F840:512 @16 +2025/08/20 06:45:33 [debug] 601589#601589: *1 accept: 127.0.0.1:51944 fd:6 +2025/08/20 06:45:33 [debug] 601589#601589: *1 event timer add: 6: 60000:253526153 +2025/08/20 06:45:33 [debug] 601589#601589: *1 reusable connection: 1 +2025/08/20 06:45:33 [debug] 601589#601589: *1 epoll add event: fd:6 op:1 ev:80002001 +2025/08/20 06:45:33 [debug] 601589#601589: timer delta: 10278 +2025/08/20 06:45:33 [debug] 601589#601589: worker cycle +2025/08/20 06:45:33 [debug] 601589#601589: epoll timer: 60000 +2025/08/20 06:45:33 [debug] 601589#601589: epoll: fd:6 ev:0001 d:00007C850D2D31E0 +2025/08/20 06:45:33 [debug] 601589#601589: *1 http wait request handler +2025/08/20 06:45:33 [debug] 601589#601589: *1 malloc: 000061B8C8C520A0:1024 +2025/08/20 06:45:33 [debug] 601589#601589: *1 recv: eof:0, avail:-1 +2025/08/20 06:45:33 [debug] 601589#601589: *1 recv: fd:6 84 of 1024 +2025/08/20 06:45:33 [debug] 601589#601589: *1 reusable connection: 0 +2025/08/20 06:45:33 [debug] 601589#601589: *1 posix_memalign: 000061B8C8C6EA30:4096 @16 +2025/08/20 06:45:33 [debug] 601589#601589: *1 http process request line +2025/08/20 06:45:33 [debug] 601589#601589: *1 http request line: "GET /health HTTP/1.1" +2025/08/20 06:45:33 [debug] 601589#601589: *1 http uri: "/health" +2025/08/20 06:45:33 [debug] 601589#601589: *1 http args: "" +2025/08/20 06:45:33 [debug] 601589#601589: *1 http exten: "" +2025/08/20 06:45:33 [debug] 601589#601589: *1 posix_memalign: 000061B8C8C64DA0:4096 @16 +2025/08/20 06:45:33 [debug] 601589#601589: *1 http process request header line +2025/08/20 06:45:33 [debug] 601589#601589: *1 http header: "Host: localhost:9001" +2025/08/20 06:45:33 [debug] 601589#601589: *1 http header: "User-Agent: curl/8.15.0" +2025/08/20 06:45:33 [debug] 601589#601589: *1 http header: "Accept: */*" +2025/08/20 06:45:33 [debug] 601589#601589: *1 http header done +2025/08/20 06:45:33 [debug] 601589#601589: *1 event timer del: 6: 253526153 +2025/08/20 06:45:33 [debug] 601589#601589: *1 generic phase: 0 +2025/08/20 06:45:33 [debug] 601589#601589: *1 rewrite phase: 1 +2025/08/20 06:45:33 [debug] 601589#601589: *1 test location: "/health" +2025/08/20 06:45:33 [debug] 601589#601589: *1 test location: ~ "^/([a-f0-9]{64}).*$" +2025/08/20 06:45:33 [debug] 601589#601589: *1 test location: ~ "^/([a-f0-9]{64})(\.[a-zA-Z0-9]+)?$" +2025/08/20 06:45:33 [debug] 601589#601589: *1 test location: ~ "^/fcgi-head/([a-f0-9]{64}).*$" +2025/08/20 06:45:33 [debug] 601589#601589: *1 test location: ~ "^/list/([a-f0-9]{64}).*$" +2025/08/20 06:45:33 [debug] 601589#601589: *1 using configuration "/health" +2025/08/20 06:45:33 [debug] 601589#601589: *1 http cl:-1 max:104857600 +2025/08/20 06:45:33 [debug] 601589#601589: *1 rewrite phase: 3 +2025/08/20 06:45:33 [debug] 601589#601589: *1 http set discard body +2025/08/20 06:45:33 [debug] 601589#601589: *1 HTTP/1.1 200 OK +Server: nginx/1.18.0 (Ubuntu) +Date: Wed, 20 Aug 2025 10:45:33 GMT +Content-Type: application/octet-stream +Content-Length: 3 +Connection: keep-alive +Content-Type: text/plain + +2025/08/20 06:45:33 [debug] 601589#601589: *1 write new buf t:1 f:0 000061B8C8C65180, pos 000061B8C8C65180, size: 196 file: 0, size: 0 +2025/08/20 06:45:33 [debug] 601589#601589: *1 http write filter: l:0 f:0 s:196 +2025/08/20 06:45:33 [debug] 601589#601589: *1 http output filter "/health?" +2025/08/20 06:45:33 [debug] 601589#601589: *1 http copy filter: "/health?" +2025/08/20 06:45:33 [debug] 601589#601589: *1 http postpone filter "/health?" 00007FFD28353FA0 +2025/08/20 06:45:33 [debug] 601589#601589: *1 write old buf t:1 f:0 000061B8C8C65180, pos 000061B8C8C65180, size: 196 file: 0, size: 0 +2025/08/20 06:45:33 [debug] 601589#601589: *1 write new buf t:0 f:0 0000000000000000, pos 000061B8C8C8CB42, size: 3 file: 0, size: 0 +2025/08/20 06:45:33 [debug] 601589#601589: *1 http write filter: l:1 f:0 s:199 +2025/08/20 06:45:33 [debug] 601589#601589: *1 http write filter limit 0 +2025/08/20 06:45:33 [debug] 601589#601589: *1 writev: 199 of 199 +2025/08/20 06:45:33 [debug] 601589#601589: *1 http write filter 0000000000000000 +2025/08/20 06:45:33 [debug] 601589#601589: *1 http copy filter: 0 "/health?" +2025/08/20 06:45:33 [debug] 601589#601589: *1 http finalize request: 0, "/health?" a:1, c:1 +2025/08/20 06:45:33 [debug] 601589#601589: *1 set http keepalive handler +2025/08/20 06:45:33 [debug] 601589#601589: *1 http close request +2025/08/20 06:45:33 [debug] 601589#601589: *1 http log handler +2025/08/20 06:45:33 [debug] 601589#601589: *1 free: 000061B8C8C6EA30, unused: 0 +2025/08/20 06:45:33 [debug] 601589#601589: *1 free: 000061B8C8C64DA0, unused: 2736 +2025/08/20 06:45:33 [debug] 601589#601589: *1 free: 000061B8C8C520A0 +2025/08/20 06:45:33 [debug] 601589#601589: *1 hc free: 0000000000000000 +2025/08/20 06:45:33 [debug] 601589#601589: *1 hc busy: 0000000000000000 0 +2025/08/20 06:45:33 [debug] 601589#601589: *1 tcp_nodelay +2025/08/20 06:45:33 [debug] 601589#601589: *1 reusable connection: 1 +2025/08/20 06:45:33 [debug] 601589#601589: *1 event timer add: 6: 65000:253531154 +2025/08/20 06:45:33 [debug] 601589#601589: timer delta: 1 +2025/08/20 06:45:33 [debug] 601589#601589: worker cycle +2025/08/20 06:45:33 [debug] 601589#601589: epoll timer: 65000 +2025/08/20 06:45:33 [debug] 601589#601589: epoll: fd:6 ev:2001 d:00007C850D2D31E0 +2025/08/20 06:45:33 [debug] 601589#601589: *1 http keepalive handler +2025/08/20 06:45:33 [debug] 601589#601589: *1 malloc: 000061B8C8C520A0:1024 +2025/08/20 06:45:33 [debug] 601589#601589: *1 recv: eof:1, avail:-1 +2025/08/20 06:45:33 [debug] 601589#601589: *1 recv: fd:6 0 of 1024 +2025/08/20 06:45:33 [info] 601589#601589: *1 client 127.0.0.1 closed keepalive connection +2025/08/20 06:45:33 [debug] 601589#601589: *1 close http connection: 6 +2025/08/20 06:45:33 [debug] 601589#601589: *1 event timer del: 6: 253531154 +2025/08/20 06:45:33 [debug] 601589#601589: *1 reusable connection: 0 +2025/08/20 06:45:33 [debug] 601589#601589: *1 free: 000061B8C8C520A0 +2025/08/20 06:45:33 [debug] 601589#601589: *1 free: 000061B8C8C4F840, unused: 136 +2025/08/20 06:45:33 [debug] 601589#601589: timer delta: 1 +2025/08/20 06:45:33 [debug] 601589#601589: worker cycle +2025/08/20 06:45:33 [debug] 601589#601589: epoll timer: -1 +2025/08/20 06:45:33 [debug] 601589#601589: epoll: fd:5 ev:0001 d:00007C850D2D3010 +2025/08/20 06:45:33 [debug] 601589#601589: accept on 0.0.0.0:9001, ready: 0 +2025/08/20 06:45:33 [debug] 601589#601589: posix_memalign: 000061B8C8C4F840:512 @16 +2025/08/20 06:45:33 [debug] 601589#601589: *2 accept: 127.0.0.1:51952 fd:6 +2025/08/20 06:45:33 [debug] 601589#601589: *2 event timer add: 6: 60000:253526461 +2025/08/20 06:45:33 [debug] 601589#601589: *2 reusable connection: 1 +2025/08/20 06:45:33 [debug] 601589#601589: *2 epoll add event: fd:6 op:1 ev:80002001 +2025/08/20 06:45:33 [debug] 601589#601589: timer delta: 306 +2025/08/20 06:45:33 [debug] 601589#601589: worker cycle +2025/08/20 06:45:33 [debug] 601589#601589: epoll timer: 60000 +2025/08/20 06:45:33 [debug] 601589#601589: epoll: fd:6 ev:0001 d:00007C850D2D31E1 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http wait request handler +2025/08/20 06:45:33 [debug] 601589#601589: *2 malloc: 000061B8C8C520A0:1024 +2025/08/20 06:45:33 [debug] 601589#601589: *2 recv: eof:0, avail:-1 +2025/08/20 06:45:33 [debug] 601589#601589: *2 recv: fd:6 1024 of 1024 +2025/08/20 06:45:33 [debug] 601589#601589: *2 recv: avail:112 +2025/08/20 06:45:33 [debug] 601589#601589: *2 reusable connection: 0 +2025/08/20 06:45:33 [debug] 601589#601589: *2 posix_memalign: 000061B8C8C6EA30:4096 @16 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http process request line +2025/08/20 06:45:33 [debug] 601589#601589: *2 http request line: "PUT /upload HTTP/1.1" +2025/08/20 06:45:33 [debug] 601589#601589: *2 http uri: "/upload" +2025/08/20 06:45:33 [debug] 601589#601589: *2 http args: "" +2025/08/20 06:45:33 [debug] 601589#601589: *2 http exten: "" +2025/08/20 06:45:33 [debug] 601589#601589: *2 posix_memalign: 000061B8C8C64DA0:4096 @16 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http process request header line +2025/08/20 06:45:33 [debug] 601589#601589: *2 http header: "Host: localhost:9001" +2025/08/20 06:45:33 [debug] 601589#601589: *2 http header: "User-Agent: curl/8.15.0" +2025/08/20 06:45:33 [debug] 601589#601589: *2 http header: "Accept: */*" +2025/08/20 06:45:33 [debug] 601589#601589: *2 http header: "Authorization: Nostr eyJraW5kIjoyNDI0MiwiaWQiOiJmNDA2ZjIxYjQ4NjA4YmJjZTExN2E0OTA1MmU0MjI4ZGVmYTA5NzQ4MTljNTlkNTA2MzAyNjZmZjE3NGRkNzQ3IiwicHVia2V5IjoiNzliZTY2N2VmOWRjYmJhYzU1YTA2Mjk1Y2U4NzBiMDcwMjliZmNkYjJkY2UyOGQ5NTlmMjgxNWIxNmY4MTc5OCIsImNyZWF0ZWRfYXQiOjE3NTU2ODY3MzMsInRhZ3MiOltbInQiLCJ1cGxvYWQiXSxbIngiLCJjYTBiMDhlMWQ4ZDk2YjAxNjAyMzk0YmMzNzljNWY0OTFjNWEwMTBhM2Q0ZjhjYjc1NTY5NTg4MzExZmNiN2IzIl0sWyJleHBpcmF0aW9uIiwiMTc1NTY5MDMzMyJdXSwiY29udGVudCI6IiIsInNpZyI6Ijk1M2ZjOTYxMGFjNWM0OGU3M2ExMzg5YjNkNjhhOTY5MDA4NGMyMWQ4NTYwYWZiMDQ3NTE5ZjRjY2UxMWRlZjlhOWU5YjJhYThlNTFmMDUxYWY4ZGJmODAzMDdhNjk4OWQ1YzNiMDdmMDIzZjA4ZjhhOGE0ZTQ0NmNjYmNkZWM3In0=" +2025/08/20 06:45:33 [debug] 601589#601589: *2 http header: "Content-Type: text/plain" +2025/08/20 06:45:33 [debug] 601589#601589: *2 http header: "Content-Disposition: attachment; filename="test_blob_1755686733.txt"" +2025/08/20 06:45:33 [debug] 601589#601589: *2 http header: "Content-Length: 296" +2025/08/20 06:45:33 [debug] 601589#601589: *2 http header done +2025/08/20 06:45:33 [debug] 601589#601589: *2 event timer del: 6: 253526461 +2025/08/20 06:45:33 [debug] 601589#601589: *2 generic phase: 0 +2025/08/20 06:45:33 [debug] 601589#601589: *2 rewrite phase: 1 +2025/08/20 06:45:33 [debug] 601589#601589: *2 test location: "/health" +2025/08/20 06:45:33 [debug] 601589#601589: *2 test location: "/upload" +2025/08/20 06:45:33 [debug] 601589#601589: *2 test location: ~ "^/([a-f0-9]{64}).*$" +2025/08/20 06:45:33 [debug] 601589#601589: *2 test location: ~ "^/([a-f0-9]{64})(\.[a-zA-Z0-9]+)?$" +2025/08/20 06:45:33 [debug] 601589#601589: *2 test location: ~ "^/fcgi-head/([a-f0-9]{64}).*$" +2025/08/20 06:45:33 [debug] 601589#601589: *2 test location: ~ "^/list/([a-f0-9]{64}).*$" +2025/08/20 06:45:33 [debug] 601589#601589: *2 using configuration "/upload" +2025/08/20 06:45:33 [debug] 601589#601589: *2 http cl:296 max:104857600 +2025/08/20 06:45:33 [debug] 601589#601589: *2 rewrite phase: 3 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http script var +2025/08/20 06:45:33 [debug] 601589#601589: *2 http script var: "PUT" +2025/08/20 06:45:33 [debug] 601589#601589: *2 http script regex: "^(PUT)$" +2025/08/20 06:45:33 [notice] 601589#601589: *2 "^(PUT)$" matches "PUT", client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", host: "localhost:9001" +2025/08/20 06:45:33 [debug] 601589#601589: *2 http script if +2025/08/20 06:45:33 [debug] 601589#601589: *2 http script if: false +2025/08/20 06:45:33 [debug] 601589#601589: *2 post rewrite phase: 4 +2025/08/20 06:45:33 [debug] 601589#601589: *2 generic phase: 5 +2025/08/20 06:45:33 [debug] 601589#601589: *2 generic phase: 6 +2025/08/20 06:45:33 [debug] 601589#601589: *2 generic phase: 7 +2025/08/20 06:45:33 [debug] 601589#601589: *2 access phase: 8 +2025/08/20 06:45:33 [debug] 601589#601589: *2 access phase: 9 +2025/08/20 06:45:33 [debug] 601589#601589: *2 access phase: 10 +2025/08/20 06:45:33 [debug] 601589#601589: *2 post access phase: 11 +2025/08/20 06:45:33 [debug] 601589#601589: *2 generic phase: 12 +2025/08/20 06:45:33 [debug] 601589#601589: *2 generic phase: 13 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http client request body preread 184 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http request body content length filter +2025/08/20 06:45:33 [debug] 601589#601589: *2 http body new buf t:1 f:0 000061B8C8C523E8, pos 000061B8C8C523E8, size: 184 file: 0, size: 0 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http read client request body +2025/08/20 06:45:33 [debug] 601589#601589: *2 recv: eof:0, avail:112 +2025/08/20 06:45:33 [debug] 601589#601589: *2 recv: fd:6 112 of 112 +2025/08/20 06:45:33 [debug] 601589#601589: *2 recv: avail:0 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http client request body recv 112 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http body new buf t:1 f:0 000061B8C8C65830, pos 000061B8C8C65830, size: 112 file: 0, size: 0 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http client request body rest 0 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http init upstream, client timer: 0 +2025/08/20 06:45:33 [debug] 601589#601589: *2 epoll add event: fd:6 op:3 ev:80002005 +2025/08/20 06:45:33 [debug] 601589#601589: *2 posix_memalign: 000061B8C8C59150:4096 @16 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http script copy: "QUERY_STRING" +2025/08/20 06:45:33 [debug] 601589#601589: *2 fastcgi param: "QUERY_STRING: " +2025/08/20 06:45:33 [debug] 601589#601589: *2 http script copy: "REQUEST_METHOD" +2025/08/20 06:45:33 [debug] 601589#601589: *2 http script var: "PUT" +2025/08/20 06:45:33 [debug] 601589#601589: *2 fastcgi param: "REQUEST_METHOD: PUT" +2025/08/20 06:45:33 [debug] 601589#601589: *2 http script copy: "CONTENT_TYPE" +2025/08/20 06:45:33 [debug] 601589#601589: *2 http script var: "text/plain" +2025/08/20 06:45:33 [debug] 601589#601589: *2 fastcgi param: "CONTENT_TYPE: text/plain" +2025/08/20 06:45:33 [debug] 601589#601589: *2 http script copy: "CONTENT_LENGTH" +2025/08/20 06:45:33 [debug] 601589#601589: *2 http script var: "296" +2025/08/20 06:45:33 [debug] 601589#601589: *2 fastcgi param: "CONTENT_LENGTH: 296" +2025/08/20 06:45:33 [debug] 601589#601589: *2 http script copy: "SCRIPT_NAME" +2025/08/20 06:45:33 [debug] 601589#601589: *2 http script var: "/upload" +2025/08/20 06:45:33 [debug] 601589#601589: *2 fastcgi param: "SCRIPT_NAME: /upload" +2025/08/20 06:45:33 [debug] 601589#601589: *2 http script copy: "REQUEST_URI" +2025/08/20 06:45:33 [debug] 601589#601589: *2 http script var: "/upload" +2025/08/20 06:45:33 [debug] 601589#601589: *2 fastcgi param: "REQUEST_URI: /upload" +2025/08/20 06:45:33 [debug] 601589#601589: *2 http script copy: "DOCUMENT_URI" +2025/08/20 06:45:33 [debug] 601589#601589: *2 http script var: "/upload" +2025/08/20 06:45:33 [debug] 601589#601589: *2 fastcgi param: "DOCUMENT_URI: /upload" +2025/08/20 06:45:33 [debug] 601589#601589: *2 http script copy: "DOCUMENT_ROOT" +2025/08/20 06:45:33 [debug] 601589#601589: *2 http script var: "./blobs" +2025/08/20 06:45:33 [debug] 601589#601589: *2 fastcgi param: "DOCUMENT_ROOT: ./blobs" +2025/08/20 06:45:33 [debug] 601589#601589: *2 http script copy: "SERVER_PROTOCOL" +2025/08/20 06:45:33 [debug] 601589#601589: *2 http script var: "HTTP/1.1" +2025/08/20 06:45:33 [debug] 601589#601589: *2 fastcgi param: "SERVER_PROTOCOL: HTTP/1.1" +2025/08/20 06:45:33 [debug] 601589#601589: *2 http script copy: "REQUEST_SCHEME" +2025/08/20 06:45:33 [debug] 601589#601589: *2 http script var: "http" +2025/08/20 06:45:33 [debug] 601589#601589: *2 fastcgi param: "REQUEST_SCHEME: http" +2025/08/20 06:45:33 [debug] 601589#601589: *2 http script copy: "" +2025/08/20 06:45:33 [debug] 601589#601589: *2 http script copy: "GATEWAY_INTERFACE" +2025/08/20 06:45:33 [debug] 601589#601589: *2 http script copy: "CGI/1.1" +2025/08/20 06:45:33 [debug] 601589#601589: *2 fastcgi param: "GATEWAY_INTERFACE: CGI/1.1" +2025/08/20 06:45:33 [debug] 601589#601589: *2 http script copy: "SERVER_SOFTWARE" +2025/08/20 06:45:33 [debug] 601589#601589: *2 http script copy: "nginx/" +2025/08/20 06:45:33 [debug] 601589#601589: *2 http script var: "1.18.0" +2025/08/20 06:45:33 [debug] 601589#601589: *2 fastcgi param: "SERVER_SOFTWARE: nginx/1.18.0" +2025/08/20 06:45:33 [debug] 601589#601589: *2 http script copy: "REMOTE_ADDR" +2025/08/20 06:45:33 [debug] 601589#601589: *2 http script var: "127.0.0.1" +2025/08/20 06:45:33 [debug] 601589#601589: *2 fastcgi param: "REMOTE_ADDR: 127.0.0.1" +2025/08/20 06:45:33 [debug] 601589#601589: *2 http script copy: "REMOTE_PORT" +2025/08/20 06:45:33 [debug] 601589#601589: *2 http script var: "51952" +2025/08/20 06:45:33 [debug] 601589#601589: *2 fastcgi param: "REMOTE_PORT: 51952" +2025/08/20 06:45:33 [debug] 601589#601589: *2 http script copy: "SERVER_ADDR" +2025/08/20 06:45:33 [debug] 601589#601589: *2 http script var: "127.0.0.1" +2025/08/20 06:45:33 [debug] 601589#601589: *2 fastcgi param: "SERVER_ADDR: 127.0.0.1" +2025/08/20 06:45:33 [debug] 601589#601589: *2 http script copy: "SERVER_PORT" +2025/08/20 06:45:33 [debug] 601589#601589: *2 http script var: "9001" +2025/08/20 06:45:33 [debug] 601589#601589: *2 fastcgi param: "SERVER_PORT: 9001" +2025/08/20 06:45:33 [debug] 601589#601589: *2 http script copy: "SERVER_NAME" +2025/08/20 06:45:33 [debug] 601589#601589: *2 http script var: "localhost" +2025/08/20 06:45:33 [debug] 601589#601589: *2 fastcgi param: "SERVER_NAME: localhost" +2025/08/20 06:45:33 [debug] 601589#601589: *2 http script copy: "REDIRECT_STATUS" +2025/08/20 06:45:33 [debug] 601589#601589: *2 http script copy: "200" +2025/08/20 06:45:33 [debug] 601589#601589: *2 fastcgi param: "REDIRECT_STATUS: 200" +2025/08/20 06:45:33 [debug] 601589#601589: *2 http script copy: "SCRIPT_FILENAME" +2025/08/20 06:45:33 [debug] 601589#601589: *2 http script var: "./blobs" +2025/08/20 06:45:33 [debug] 601589#601589: *2 http script copy: "/ginxsom.fcgi" +2025/08/20 06:45:33 [debug] 601589#601589: *2 fastcgi param: "SCRIPT_FILENAME: ./blobs/ginxsom.fcgi" +2025/08/20 06:45:33 [debug] 601589#601589: *2 fastcgi param: "HTTP_HOST: localhost:9001" +2025/08/20 06:45:33 [debug] 601589#601589: *2 fastcgi param: "HTTP_USER_AGENT: curl/8.15.0" +2025/08/20 06:45:33 [debug] 601589#601589: *2 fastcgi param: "HTTP_ACCEPT: */*" +2025/08/20 06:45:33 [debug] 601589#601589: *2 fastcgi param: "HTTP_AUTHORIZATION: Nostr eyJraW5kIjoyNDI0MiwiaWQiOiJmNDA2ZjIxYjQ4NjA4YmJjZTExN2E0OTA1MmU0MjI4ZGVmYTA5NzQ4MTljNTlkNTA2MzAyNjZmZjE3NGRkNzQ3IiwicHVia2V5IjoiNzliZTY2N2VmOWRjYmJhYzU1YTA2Mjk1Y2U4NzBiMDcwMjliZmNkYjJkY2UyOGQ5NTlmMjgxNWIxNmY4MTc5OCIsImNyZWF0ZWRfYXQiOjE3NTU2ODY3MzMsInRhZ3MiOltbInQiLCJ1cGxvYWQiXSxbIngiLCJjYTBiMDhlMWQ4ZDk2YjAxNjAyMzk0YmMzNzljNWY0OTFjNWEwMTBhM2Q0ZjhjYjc1NTY5NTg4MzExZmNiN2IzIl0sWyJleHBpcmF0aW9uIiwiMTc1NTY5MDMzMyJdXSwiY29udGVudCI6IiIsInNpZyI6Ijk1M2ZjOTYxMGFjNWM0OGU3M2ExMzg5YjNkNjhhOTY5MDA4NGMyMWQ4NTYwYWZiMDQ3NTE5ZjRjY2UxMWRlZjlhOWU5YjJhYThlNTFmMDUxYWY4ZGJmODAzMDdhNjk4OWQ1YzNiMDdmMDIzZjA4ZjhhOGE0ZTQ0NmNjYmNkZWM3In0=" +2025/08/20 06:45:33 [debug] 601589#601589: *2 fastcgi param: "HTTP_CONTENT_TYPE: text/plain" +2025/08/20 06:45:33 [debug] 601589#601589: *2 fastcgi param: "HTTP_CONTENT_DISPOSITION: attachment; filename="test_blob_1755686733.txt"" +2025/08/20 06:45:33 [debug] 601589#601589: *2 fastcgi param: "HTTP_CONTENT_LENGTH: 296" +2025/08/20 06:45:33 [debug] 601589#601589: *2 http cleanup add: 000061B8C8C65B80 +2025/08/20 06:45:33 [debug] 601589#601589: *2 get rr peer, try: 1 +2025/08/20 06:45:33 [debug] 601589#601589: *2 stream socket 10 +2025/08/20 06:45:33 [debug] 601589#601589: *2 epoll add connection: fd:10 ev:80002005 +2025/08/20 06:45:33 [debug] 601589#601589: *2 connect to unix:/tmp/ginxsom-fcgi.sock, fd:10 #3 +2025/08/20 06:45:33 [debug] 601589#601589: *2 connected +2025/08/20 06:45:33 [debug] 601589#601589: *2 http upstream connect: 0 +2025/08/20 06:45:33 [debug] 601589#601589: *2 posix_memalign: 000061B8C8C38F20:128 @16 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http upstream send request +2025/08/20 06:45:33 [debug] 601589#601589: *2 http upstream send request body +2025/08/20 06:45:33 [debug] 601589#601589: *2 chain writer buf fl:0 s:1304 +2025/08/20 06:45:33 [debug] 601589#601589: *2 chain writer buf fl:0 s:184 +2025/08/20 06:45:33 [debug] 601589#601589: *2 chain writer buf fl:0 s:8 +2025/08/20 06:45:33 [debug] 601589#601589: *2 chain writer buf fl:0 s:112 +2025/08/20 06:45:33 [debug] 601589#601589: *2 chain writer buf fl:0 s:8 +2025/08/20 06:45:33 [debug] 601589#601589: *2 chain writer in: 000061B8C8C65C10 +2025/08/20 06:45:33 [debug] 601589#601589: *2 writev: 1616 of 1616 +2025/08/20 06:45:33 [debug] 601589#601589: *2 chain writer out: 0000000000000000 +2025/08/20 06:45:33 [debug] 601589#601589: *2 event timer add: 10: 60000:253526462 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http finalize request: -4, "/upload?" a:1, c:2 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http request count:2 blk:0 +2025/08/20 06:45:33 [debug] 601589#601589: timer delta: 1 +2025/08/20 06:45:33 [debug] 601589#601589: worker cycle +2025/08/20 06:45:33 [debug] 601589#601589: epoll timer: 60000 +2025/08/20 06:45:33 [debug] 601589#601589: epoll: fd:6 ev:0004 d:00007C850D2D31E1 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http run request: "/upload?" +2025/08/20 06:45:33 [debug] 601589#601589: *2 http upstream check client, write event:1, "/upload" +2025/08/20 06:45:33 [debug] 601589#601589: epoll: fd:10 ev:0004 d:00007C850D2D32C8 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http upstream request: "/upload?" +2025/08/20 06:45:33 [debug] 601589#601589: *2 http upstream dummy handler +2025/08/20 06:45:33 [debug] 601589#601589: timer delta: 2 +2025/08/20 06:45:33 [debug] 601589#601589: worker cycle +2025/08/20 06:45:33 [debug] 601589#601589: epoll timer: 59998 +2025/08/20 06:45:33 [debug] 601589#601589: epoll: fd:10 ev:0005 d:00007C850D2D32C8 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http upstream request: "/upload?" +2025/08/20 06:45:33 [debug] 601589#601589: *2 http upstream process header +2025/08/20 06:45:33 [debug] 601589#601589: *2 malloc: 000061B8C8C5A160:4096 +2025/08/20 06:45:33 [debug] 601589#601589: *2 recv: eof:0, avail:-1 +2025/08/20 06:45:33 [debug] 601589#601589: *2 recv: fd:10 2560 of 4096 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http fastcgi record byte: 01 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http fastcgi record byte: 07 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http fastcgi record byte: 00 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http fastcgi record byte: 01 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http fastcgi record byte: 01 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http fastcgi record byte: F8 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http fastcgi record byte: 00 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http fastcgi record byte: 00 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http fastcgi record length: 504 +2025/08/20 06:45:33 [error] 601589#601589: *2 FastCGI sent in stderr: "DEBUG: authenticate_request ENTRY - method: upload, hash: ca0b08e1d8d96b01602394bc379c5f491c5a010a3d4f8cb75569588311fcb7b3 +DEBUG: authenticate_request - calling parse_authorization_header +DEBUG: parse_authorization_header called with header: Nostr eyJraW5kIjoyNDI0MiwiaWQiOiJmNDA2ZjIxYjQ4NjA4... +DEBUG: Extracted base64 event (length=DEBUG: Base64 decode result - decoded_len=DEBUG: Successfully decoded JSON (length=DEBUG: authenticate_request - parse_authorization_header succeeded +DEBUG: authenticate_" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 06:45:33 [debug] 601589#601589: *2 http fastcgi record byte: 01 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http fastcgi record byte: 07 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http fastcgi record byte: 00 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http fastcgi record byte: 01 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http fastcgi record byte: 01 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http fastcgi record byte: F8 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http fastcgi record byte: 00 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http fastcgi record byte: 00 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http fastcgi record length: 504 +2025/08/20 06:45:33 [error] 601589#601589: *2 FastCGI sent in stderr: "request - calling cJSON_Parse on: {"kind":24242,"id":"f406f21b48608bbce117a49052e4228defa0974819c59d50630266ff174dd747","pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1755686733,"tags":[["t","upload"],["x","ca0b08e1d8d96b01602394bc379c5f491c5a010a3d4f8cb75569588311fcb7b3"],["expiration","1755690333"]],"content":"","sig":"953fc9610ac5c48e73a1389b3d68a9690084c21d8560afb047519f4cce11def9a9e9b2aa8e51f051af8dbf80307a6989d5c3b07f023f08f8a8a4e446ccbcdec7"} +DEBUG: a" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 06:45:33 [debug] 601589#601589: *2 http fastcgi record byte: 01 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http fastcgi record byte: 07 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http fastcgi record byte: 00 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http fastcgi record byte: 01 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http fastcgi record byte: 01 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http fastcgi record byte: F8 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http fastcgi record byte: 00 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http fastcgi record byte: 00 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http fastcgi record length: 504 +2025/08/20 06:45:33 [error] 601589#601589: *2 FastCGI sent in stderr: "uthenticate_request - cJSON_Parse succeeded, event parsed +DEBUG: authenticate_request - Parsed JSON: { + "kind": 24242, + "id": "f406f21b48608bbce117a49052e4228defa0974819c59d50630266ff174dd747", + "pubkey": "79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798", + "created_at": 1755686733, + "tags": [["t", "upload"], ["x", "ca0b08e1d8d96b01602394bc379c5f491c5a010a3d4f8cb75569588311fcb7b3"], ["expiration", "1755690333"]], + "content": "", + "sig": "953fc9610ac5c48e73a1389b3d68a9690084c21d8560af" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 06:45:33 [debug] 601589#601589: *2 http fastcgi record byte: 01 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http fastcgi record byte: 07 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http fastcgi record byte: 00 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http fastcgi record byte: 01 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http fastcgi record byte: 01 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http fastcgi record byte: F8 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http fastcgi record byte: 00 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http fastcgi record byte: 00 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http fastcgi record length: 504 +2025/08/20 06:45:33 [error] 601589#601589: *2 FastCGI sent in stderr: "b047519f4cce11def9a9e9b2aa8e51f051af8dbf80307a6989d5c3b07f023f08f8a8a4e446ccbcdec7" +} +DEBUG: authenticate_request - Event fields before validation: +DEBUG: id: f406f21b48608bbce117a49052e4228defa0974819c59d50630266ff174dd747 +DEBUG: pubkey: 79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 +DEBUG: sig: 953fc9610ac5c48e73a1389b3d68a9690084c21d8560afb047519f4cce11def9a9e9b2aa8e51f051af8dbf80307a6989d5c3b07f023f08f8a8a4e446ccbcdec7 +DEBUG: kind: 24242 +DEBUG: created_at: 1755686733" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 06:45:33 [debug] 601589#601589: *2 http fastcgi record byte: 01 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http fastcgi record byte: 07 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http fastcgi record byte: 00 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http fastcgi record byte: 01 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http fastcgi record byte: 01 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http fastcgi record byte: F8 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http fastcgi record byte: 00 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http fastcgi record byte: 00 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http fastcgi record length: 504 +2025/08/20 06:45:33 [error] 601589#601589: *2 FastCGI sent in stderr: "DEBUG: authenticate_request - Detailed pubkey analysis: +DEBUG: Pubkey: 79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 +DEBUG: Length: DEBUG: Character analysis (first 10): 7(0x37) 9(0x39) b(0x62) e(0x65) 6(0x36) 6(0x36) 7(0x37) e(0x65) f(0x66) 9(0x39) +DEBUG: authenticate_request - calling nostr_validate_event +DEBUG: authenticate_request - Pre-validation pubkey analysis: +DEBUG: Pubkey: 79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 +DEBUG: Length: DEBUG:" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 06:45:33 [debug] 601589#601589: *2 recv: eof:0, avail:0 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http upstream request: "/upload?" +2025/08/20 06:45:33 [debug] 601589#601589: *2 http upstream dummy handler +2025/08/20 06:45:33 [debug] 601589#601589: timer delta: 0 +2025/08/20 06:45:33 [debug] 601589#601589: worker cycle +2025/08/20 06:45:33 [debug] 601589#601589: epoll timer: 59998 +2025/08/20 06:45:33 [debug] 601589#601589: epoll: fd:10 ev:2005 d:00007C850D2D32C8 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http upstream request: "/upload?" +2025/08/20 06:45:33 [debug] 601589#601589: *2 http upstream process header +2025/08/20 06:45:33 [debug] 601589#601589: *2 recv: eof:1, avail:-1 +2025/08/20 06:45:33 [debug] 601589#601589: *2 recv: fd:10 2192 of 4096 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http fastcgi record byte: 01 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http fastcgi record byte: 07 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http fastcgi record byte: 00 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http fastcgi record byte: 01 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http fastcgi record byte: 01 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http fastcgi record byte: F8 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http fastcgi record byte: 00 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http fastcgi record byte: 00 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http fastcgi record length: 504 +2025/08/20 06:45:33 [error] 601589#601589: *2 FastCGI sent in stderr: " Character analysis (first 10): 7(55) 9(57) b(98) e(101) 6(54) 6(54) 7(55) e(101) f(102) 9(57) +DEBUG: Character validation test: ALL VALID (lowercase hex) +DEBUG: authenticate_request - Starting detailed validation analysis +DEBUG: authenticate_request - Testing structure validation... +DEBUG: authenticate_request - nostr_validate_event_structure returned: 0 (Success) +DEBUG: authenticate_request - Structure validation PASSED +DEBUG: authenticate_request - Testing cryptographic verification... +DEBUG:" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 06:45:33 [debug] 601589#601589: *2 http fastcgi record byte: 01 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http fastcgi record byte: 07 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http fastcgi record byte: 00 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http fastcgi record byte: 01 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http fastcgi record byte: 01 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http fastcgi record byte: 12 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http fastcgi record byte: 06 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http fastcgi record byte: 00 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http fastcgi record length: 274 +2025/08/20 06:45:33 [error] 601589#601589: *2 FastCGI sent in stderr: "authenticate_request - nostr_verify_event_signature returned: -32 (Event has invalid public key) +DEBUG: authenticate_request - CRYPTO verification failed! +DEBUG: authenticate_request - Failed pubkey: 79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 (length:" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 06:45:33 [debug] 601589#601589: *2 http fastcgi record byte: 01 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http fastcgi record byte: 07 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http fastcgi record byte: 00 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http fastcgi record byte: 01 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http fastcgi record byte: 00 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http fastcgi record byte: 00 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http fastcgi record byte: 00 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http fastcgi record byte: 00 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http fastcgi record length: 0 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http fastcgi record byte: 01 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http fastcgi record byte: 06 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http fastcgi record byte: 00 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http fastcgi record byte: 01 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http fastcgi record byte: 05 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http fastcgi record byte: 47 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http fastcgi record byte: 01 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http fastcgi record byte: 00 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http fastcgi record length: 1351 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http fastcgi parser: 0 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http fastcgi header: "DEBUG: FastCGI received request" +2025/08/20 06:45:33 [debug] 601589#601589: *2 http fastcgi parser: 0 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http fastcgi header: "DEBUG: METHOD=PUT, URI=/upload" +2025/08/20 06:45:33 [debug] 601589#601589: *2 http fastcgi parser: 0 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http fastcgi header: "DEBUG: handle_upload_request called" +2025/08/20 06:45:33 [debug] 601589#601589: *2 http fastcgi parser: 0 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http fastcgi header: "LOG: [2025-08-20 06:45:33] PUT /upload - Auth: pending - Status: 0" +2025/08/20 06:45:33 [debug] 601589#601589: *2 http fastcgi parser: 0 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http fastcgi header: "DEBUG: content_type=text/plain" +2025/08/20 06:45:33 [debug] 601589#601589: *2 http fastcgi parser: 0 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http fastcgi header: "DEBUG: content_length=296" +2025/08/20 06:45:33 [debug] 601589#601589: *2 http fastcgi parser: 0 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http fastcgi header: "DEBUG: Raw Authorization header: Nostr eyJraW5kIjoyNDI0MiwiaWQiOiJmNDA2ZjIxYjQ4NjA4YmJjZTExN2E0OTA1MmU0MjI4ZGVmYTA5NzQ4MTljNTlkNTA2MzAyNjZmZjE3NGRkNzQ3IiwicHVia2V5IjoiNzliZTY2N2VmOWRjYmJhYzU1YTA2Mjk1Y2U4NzBiMDcwMjliZmNkYjJkY2UyOGQ5NTlmMjgxNWIxNmY4MTc5OCIsImNyZWF0ZWRfYXQiOjE3NTU2ODY3MzMsInRhZ3MiOltbInQiLCJ1cGxvYWQiXSxbIngiLCJjYTBiMDhlMWQ4ZDk2YjAxNjAyMzk0YmMzNzljNWY0OTFjNWEwMTBhM2Q0ZjhjYjc1NTY5NTg4MzExZmNiN2IzIl0sWyJleHBpcmF0aW9uIiwiMTc1NTY5MDMzMyJdXSwiY29udGVudCI6IiIsInNpZyI6Ijk1M2ZjOTYxMGFjNWM0OGU3M2ExMzg5YjNkNjhhOTY5MDA4NGMyMWQ4NTYwYWZiMDQ3NTE5ZjRjY2UxMWRlZjlhOWU5YjJhYThlNTFmMDUxYWY4ZGJmODAzMDdhNjk4OWQ1YzNiMDdmMDIzZjA4ZjhhOGE0ZTQ0NmNjYmNkZWM3In0=" +2025/08/20 06:45:33 [debug] 601589#601589: *2 http fastcgi parser: 0 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http fastcgi header: "LOG: [2025-08-20 06:45:33] PUT /upload - Auth: auth_provided - Status: 0" +2025/08/20 06:45:33 [debug] 601589#601589: *2 http fastcgi parser: 0 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http fastcgi header: "DEBUG: Successfully read DEBUG: Calculated SHA-256: ca0b08e1d8d96b01602394bc379c5f491c5a010a3d4f8cb75569588311fcb7b3" +2025/08/20 06:45:33 [debug] 601589#601589: *2 http fastcgi parser: 0 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http fastcgi header: "Status: 401 Unauthorized" +2025/08/20 06:45:33 [debug] 601589#601589: *2 http fastcgi parser: 0 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http fastcgi header: "Content-Type: application/json" +2025/08/20 06:45:33 [debug] 601589#601589: *2 http fastcgi parser: 1 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http fastcgi header done +2025/08/20 06:45:33 [debug] 601589#601589: *2 posix_memalign: 000061B8C8C5B170:4096 @16 +2025/08/20 06:45:33 [debug] 601589#601589: *2 HTTP/1.1 401 Unauthorized +Server: nginx/1.18.0 (Ubuntu) +Date: Wed, 20 Aug 2025 10:45:33 GMT +Content-Type: application/json +Transfer-Encoding: chunked +Connection: keep-alive +DEBUG: FastCGI received request +DEBUG: METHOD=PUT, URI=/upload +DEBUG: handle_upload_request called +LOG: [2025-08-20 06:45:33] PUT /upload - Auth: pending - Status: 0 +DEBUG: content_type=text/plain +DEBUG: content_length=296 +DEBUG: Raw Authorization header: Nostr eyJraW5kIjoyNDI0MiwiaWQiOiJmNDA2ZjIxYjQ4NjA4YmJjZTExN2E0OTA1MmU0MjI4ZGVmYTA5NzQ4MTljNTlkNTA2MzAyNjZmZjE3NGRkNzQ3IiwicHVia2V5IjoiNzliZTY2N2VmOWRjYmJhYzU1YTA2Mjk1Y2U4NzBiMDcwMjliZmNkYjJkY2UyOGQ5NTlmMjgxNWIxNmY4MTc5OCIsImNyZWF0ZWRfYXQiOjE3NTU2ODY3MzMsInRhZ3MiOltbInQiLCJ1cGxvYWQiXSxbIngiLCJjYTBiMDhlMWQ4ZDk2YjAxNjAyMzk0YmMzNzljNWY0OTFjNWEwMTBhM2Q0ZjhjYjc1NTY5NTg4MzExZmNiN2IzIl0sWyJleHBpcmF0aW9uIiwiMTc1NTY5MDMzMyJdXSwiY29udGVudCI6IiIsInNpZyI6Ijk1M2ZjOTYxMGFjNWM0OGU3M2ExMzg5YjNkNjhhOTY5MDA4NGMyMWQ4NTYwYWZiMDQ3NTE5ZjRjY2UxMWRlZjlhOWU5YjJhYThlNTFmMDUxYWY4ZGJmODAzMDdhNjk4OWQ1YzNiMDdmMDIzZjA4ZjhhOGE0ZTQ0NmNjYmNkZWM3In0= +LOG: [2025-08-20 06:45:33] PUT /upload - Auth: auth_provided - Status: 0 +DEBUG: Successfully read DEBUG: Calculated SHA-256: ca0b08e1d8d96b01602394bc379c5f491c5a010a3d4f8cb75569588311fcb7b3 + +2025/08/20 06:45:33 [debug] 601589#601589: *2 write new buf t:1 f:0 000061B8C8C5B190, pos 000061B8C8C5B190, size: 1259 file: 0, size: 0 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http write filter: l:0 f:0 s:1259 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http cacheable: 0 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http upstream process upstream +2025/08/20 06:45:33 [debug] 601589#601589: *2 pipe read upstream: 1 +2025/08/20 06:45:33 [debug] 601589#601589: *2 pipe preread: 238 +2025/08/20 06:45:33 [debug] 601589#601589: *2 readv: eof:1, avail:0 +2025/08/20 06:45:33 [debug] 601589#601589: *2 readv: 1, last:1904 +2025/08/20 06:45:33 [debug] 601589#601589: *2 pipe recv chain: 0 +2025/08/20 06:45:33 [debug] 601589#601589: *2 pipe buf free s:0 t:1 f:0 000061B8C8C5A160, pos 000061B8C8C5A902, size: 238 file: 0, size: 0 +2025/08/20 06:45:33 [debug] 601589#601589: *2 pipe length: -1 +2025/08/20 06:45:33 [debug] 601589#601589: *2 input buf #0 000061B8C8C5A902 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http fastcgi record byte: 01 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http fastcgi record byte: 06 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http fastcgi record byte: 00 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http fastcgi record byte: 01 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http fastcgi record byte: 00 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http fastcgi record byte: 00 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http fastcgi record byte: 00 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http fastcgi record byte: 00 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http fastcgi record length: 0 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http fastcgi closed stdout +2025/08/20 06:45:33 [debug] 601589#601589: *2 http fastcgi record byte: 01 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http fastcgi record byte: 03 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http fastcgi record byte: 00 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http fastcgi record byte: 01 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http fastcgi record byte: 00 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http fastcgi record byte: 08 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http fastcgi record byte: 00 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http fastcgi record byte: 00 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http fastcgi record length: 8 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http fastcgi sent end request +2025/08/20 06:45:33 [debug] 601589#601589: *2 input buf 000061B8C8C5A902 213 +2025/08/20 06:45:33 [debug] 601589#601589: *2 pipe write downstream: 1 +2025/08/20 06:45:33 [debug] 601589#601589: *2 pipe write downstream flush in +2025/08/20 06:45:33 [debug] 601589#601589: *2 http output filter "/upload?" +2025/08/20 06:45:33 [debug] 601589#601589: *2 http copy filter: "/upload?" +2025/08/20 06:45:33 [debug] 601589#601589: *2 http postpone filter "/upload?" 000061B8C8C65BE0 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http chunk: 213 +2025/08/20 06:45:33 [debug] 601589#601589: *2 write old buf t:1 f:0 000061B8C8C5B190, pos 000061B8C8C5B190, size: 1259 file: 0, size: 0 +2025/08/20 06:45:33 [debug] 601589#601589: *2 write new buf t:1 f:0 000061B8C8C5A010, pos 000061B8C8C5A010, size: 4 file: 0, size: 0 +2025/08/20 06:45:33 [debug] 601589#601589: *2 write new buf t:1 f:0 000061B8C8C5A160, pos 000061B8C8C5A902, size: 213 file: 0, size: 0 +2025/08/20 06:45:33 [debug] 601589#601589: *2 write new buf t:0 f:0 0000000000000000, pos 000061B8BE9DD2E8, size: 2 file: 0, size: 0 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http write filter: l:0 f:0 s:1478 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http write filter limit 0 +2025/08/20 06:45:33 [debug] 601589#601589: *2 writev: 1478 of 1478 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http write filter 0000000000000000 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http copy filter: 0 "/upload?" +2025/08/20 06:45:33 [debug] 601589#601589: *2 pipe write downstream done +2025/08/20 06:45:33 [debug] 601589#601589: *2 event timer: 10, old: 253526462, new: 253526465 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http upstream exit: 0000000000000000 +2025/08/20 06:45:33 [debug] 601589#601589: *2 finalize http upstream request: 0 +2025/08/20 06:45:33 [debug] 601589#601589: *2 finalize http fastcgi request +2025/08/20 06:45:33 [debug] 601589#601589: *2 free rr peer 1 0 +2025/08/20 06:45:33 [debug] 601589#601589: *2 close http upstream connection: 10 +2025/08/20 06:45:33 [debug] 601589#601589: *2 free: 000061B8C8C38F20, unused: 48 +2025/08/20 06:45:33 [debug] 601589#601589: *2 event timer del: 10: 253526462 +2025/08/20 06:45:33 [debug] 601589#601589: *2 reusable connection: 0 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http upstream temp fd: -1 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http output filter "/upload?" +2025/08/20 06:45:33 [debug] 601589#601589: *2 http copy filter: "/upload?" +2025/08/20 06:45:33 [debug] 601589#601589: *2 http postpone filter "/upload?" 00007FFD28354050 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http chunk: 0 +2025/08/20 06:45:33 [debug] 601589#601589: *2 write new buf t:0 f:0 0000000000000000, pos 000061B8BE9DD2E5, size: 5 file: 0, size: 0 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http write filter: l:1 f:0 s:5 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http write filter limit 0 +2025/08/20 06:45:33 [debug] 601589#601589: *2 writev: 5 of 5 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http write filter 0000000000000000 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http copy filter: 0 "/upload?" +2025/08/20 06:45:33 [debug] 601589#601589: *2 http finalize request: 0, "/upload?" a:1, c:1 +2025/08/20 06:45:33 [debug] 601589#601589: *2 set http keepalive handler +2025/08/20 06:45:33 [debug] 601589#601589: *2 http close request +2025/08/20 06:45:33 [debug] 601589#601589: *2 http log handler +2025/08/20 06:45:33 [debug] 601589#601589: *2 free: 000061B8C8C5A160 +2025/08/20 06:45:33 [debug] 601589#601589: *2 free: 000061B8C8C6EA30, unused: 3 +2025/08/20 06:45:33 [debug] 601589#601589: *2 free: 000061B8C8C64DA0, unused: 0 +2025/08/20 06:45:33 [debug] 601589#601589: *2 free: 000061B8C8C59150, unused: 10 +2025/08/20 06:45:33 [debug] 601589#601589: *2 free: 000061B8C8C5B170, unused: 2805 +2025/08/20 06:45:33 [debug] 601589#601589: *2 free: 000061B8C8C520A0 +2025/08/20 06:45:33 [debug] 601589#601589: *2 hc free: 0000000000000000 +2025/08/20 06:45:33 [debug] 601589#601589: *2 hc busy: 0000000000000000 0 +2025/08/20 06:45:33 [debug] 601589#601589: *2 tcp_nodelay +2025/08/20 06:45:33 [debug] 601589#601589: *2 reusable connection: 1 +2025/08/20 06:45:33 [debug] 601589#601589: *2 event timer add: 6: 65000:253531465 +2025/08/20 06:45:33 [debug] 601589#601589: *2 post event 000061B8C8CA0770 +2025/08/20 06:45:33 [debug] 601589#601589: timer delta: 1 +2025/08/20 06:45:33 [debug] 601589#601589: posted event 000061B8C8CA0770 +2025/08/20 06:45:33 [debug] 601589#601589: *2 delete posted event 000061B8C8CA0770 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http keepalive handler +2025/08/20 06:45:33 [debug] 601589#601589: *2 malloc: 000061B8C8C520A0:1024 +2025/08/20 06:45:33 [debug] 601589#601589: *2 recv: eof:0, avail:0 +2025/08/20 06:45:33 [debug] 601589#601589: *2 free: 000061B8C8C520A0 +2025/08/20 06:45:33 [debug] 601589#601589: worker cycle +2025/08/20 06:45:33 [debug] 601589#601589: epoll timer: 65000 +2025/08/20 06:45:33 [debug] 601589#601589: epoll: fd:6 ev:2005 d:00007C850D2D31E1 +2025/08/20 06:45:33 [debug] 601589#601589: *2 http keepalive handler +2025/08/20 06:45:33 [debug] 601589#601589: *2 malloc: 000061B8C8C520A0:1024 +2025/08/20 06:45:33 [debug] 601589#601589: *2 recv: eof:1, avail:-1 +2025/08/20 06:45:33 [debug] 601589#601589: *2 recv: fd:6 0 of 1024 +2025/08/20 06:45:33 [info] 601589#601589: *2 client 127.0.0.1 closed keepalive connection +2025/08/20 06:45:33 [debug] 601589#601589: *2 close http connection: 6 +2025/08/20 06:45:33 [debug] 601589#601589: *2 event timer del: 6: 253531465 +2025/08/20 06:45:33 [debug] 601589#601589: *2 reusable connection: 0 +2025/08/20 06:45:33 [debug] 601589#601589: *2 free: 000061B8C8C520A0 +2025/08/20 06:45:33 [debug] 601589#601589: *2 free: 000061B8C8C4F840, unused: 120 +2025/08/20 06:45:33 [debug] 601589#601589: timer delta: 2 +2025/08/20 06:45:33 [debug] 601589#601589: worker cycle +2025/08/20 06:45:33 [debug] 601589#601589: epoll timer: -1 +2025/08/20 06:45:33 [debug] 601589#601589: epoll: fd:5 ev:0001 d:00007C850D2D3010 +2025/08/20 06:45:33 [debug] 601589#601589: accept on 0.0.0.0:9001, ready: 0 +2025/08/20 06:45:33 [debug] 601589#601589: posix_memalign: 000061B8C8C4F840:512 @16 +2025/08/20 06:45:33 [debug] 601589#601589: *4 accept: 127.0.0.1:51968 fd:6 +2025/08/20 06:45:33 [debug] 601589#601589: *4 event timer add: 6: 60000:253526478 +2025/08/20 06:45:33 [debug] 601589#601589: *4 reusable connection: 1 +2025/08/20 06:45:33 [debug] 601589#601589: *4 epoll add event: fd:6 op:1 ev:80002001 +2025/08/20 06:45:33 [debug] 601589#601589: timer delta: 11 +2025/08/20 06:45:33 [debug] 601589#601589: worker cycle +2025/08/20 06:45:33 [debug] 601589#601589: epoll timer: 60000 +2025/08/20 06:45:33 [debug] 601589#601589: epoll: fd:6 ev:0001 d:00007C850D2D31E0 +2025/08/20 06:45:33 [debug] 601589#601589: *4 http wait request handler +2025/08/20 06:45:33 [debug] 601589#601589: *4 malloc: 000061B8C8C520A0:1024 +2025/08/20 06:45:33 [debug] 601589#601589: *4 recv: eof:0, avail:-1 +2025/08/20 06:45:33 [debug] 601589#601589: *4 recv: fd:6 142 of 1024 +2025/08/20 06:45:33 [debug] 601589#601589: *4 reusable connection: 0 +2025/08/20 06:45:33 [debug] 601589#601589: *4 posix_memalign: 000061B8C8C6EA30:4096 @16 +2025/08/20 06:45:33 [debug] 601589#601589: *4 http process request line +2025/08/20 06:45:33 [debug] 601589#601589: *4 http request line: "GET /ca0b08e1d8d96b01602394bc379c5f491c5a010a3d4f8cb75569588311fcb7b3 HTTP/1.1" +2025/08/20 06:45:33 [debug] 601589#601589: *4 http uri: "/ca0b08e1d8d96b01602394bc379c5f491c5a010a3d4f8cb75569588311fcb7b3" +2025/08/20 06:45:33 [debug] 601589#601589: *4 http args: "" +2025/08/20 06:45:33 [debug] 601589#601589: *4 http exten: "" +2025/08/20 06:45:33 [debug] 601589#601589: *4 posix_memalign: 000061B8C8C64DA0:4096 @16 +2025/08/20 06:45:33 [debug] 601589#601589: *4 http process request header line +2025/08/20 06:45:33 [debug] 601589#601589: *4 http header: "Host: localhost:9001" +2025/08/20 06:45:33 [debug] 601589#601589: *4 http header: "User-Agent: curl/8.15.0" +2025/08/20 06:45:33 [debug] 601589#601589: *4 http header: "Accept: */*" +2025/08/20 06:45:33 [debug] 601589#601589: *4 http header done +2025/08/20 06:45:33 [debug] 601589#601589: *4 event timer del: 6: 253526478 +2025/08/20 06:45:33 [debug] 601589#601589: *4 generic phase: 0 +2025/08/20 06:45:33 [debug] 601589#601589: *4 rewrite phase: 1 +2025/08/20 06:45:33 [debug] 601589#601589: *4 test location: "/health" +2025/08/20 06:45:33 [debug] 601589#601589: *4 test location: "/debug/list" +2025/08/20 06:45:33 [debug] 601589#601589: *4 test location: "/" +2025/08/20 06:45:33 [debug] 601589#601589: *4 test location: ~ "^/([a-f0-9]{64}).*$" +2025/08/20 06:45:33 [debug] 601589#601589: *4 using configuration "^/([a-f0-9]{64}).*$" +2025/08/20 06:45:33 [debug] 601589#601589: *4 http cl:-1 max:104857600 +2025/08/20 06:45:33 [debug] 601589#601589: *4 rewrite phase: 3 +2025/08/20 06:45:33 [debug] 601589#601589: *4 http script var +2025/08/20 06:45:33 [debug] 601589#601589: *4 http script var: "GET" +2025/08/20 06:45:33 [debug] 601589#601589: *4 http script value: "DELETE" +2025/08/20 06:45:33 [debug] 601589#601589: *4 http script not equal +2025/08/20 06:45:33 [debug] 601589#601589: *4 http script if +2025/08/20 06:45:33 [debug] 601589#601589: *4 http finalize request: 404, "/ca0b08e1d8d96b01602394bc379c5f491c5a010a3d4f8cb75569588311fcb7b3?" a:1, c:1 +2025/08/20 06:45:33 [debug] 601589#601589: *4 http special response: 404, "/ca0b08e1d8d96b01602394bc379c5f491c5a010a3d4f8cb75569588311fcb7b3?" +2025/08/20 06:45:33 [debug] 601589#601589: *4 http set discard body +2025/08/20 06:45:33 [debug] 601589#601589: *4 HTTP/1.1 404 Not Found +Server: nginx/1.18.0 (Ubuntu) +Date: Wed, 20 Aug 2025 10:45:33 GMT +Content-Type: text/html +Content-Length: 162 +Connection: keep-alive + +2025/08/20 06:45:33 [debug] 601589#601589: *4 write new buf t:1 f:0 000061B8C8C65180, pos 000061B8C8C65180, size: 164 file: 0, size: 0 +2025/08/20 06:45:33 [debug] 601589#601589: *4 http write filter: l:0 f:0 s:164 +2025/08/20 06:45:33 [debug] 601589#601589: *4 http output filter "/ca0b08e1d8d96b01602394bc379c5f491c5a010a3d4f8cb75569588311fcb7b3?" +2025/08/20 06:45:33 [debug] 601589#601589: *4 http copy filter: "/ca0b08e1d8d96b01602394bc379c5f491c5a010a3d4f8cb75569588311fcb7b3?" +2025/08/20 06:45:33 [debug] 601589#601589: *4 http postpone filter "/ca0b08e1d8d96b01602394bc379c5f491c5a010a3d4f8cb75569588311fcb7b3?" 000061B8C8C65310 +2025/08/20 06:45:33 [debug] 601589#601589: *4 write old buf t:1 f:0 000061B8C8C65180, pos 000061B8C8C65180, size: 164 file: 0, size: 0 +2025/08/20 06:45:33 [debug] 601589#601589: *4 write new buf t:0 f:0 0000000000000000, pos 000061B8BEA1C580, size: 100 file: 0, size: 0 +2025/08/20 06:45:33 [debug] 601589#601589: *4 write new buf t:0 f:0 0000000000000000, pos 000061B8BEA1CC80, size: 62 file: 0, size: 0 +2025/08/20 06:45:33 [debug] 601589#601589: *4 http write filter: l:1 f:0 s:326 +2025/08/20 06:45:33 [debug] 601589#601589: *4 http write filter limit 0 +2025/08/20 06:45:33 [debug] 601589#601589: *4 writev: 326 of 326 +2025/08/20 06:45:33 [debug] 601589#601589: *4 http write filter 0000000000000000 +2025/08/20 06:45:33 [debug] 601589#601589: *4 http copy filter: 0 "/ca0b08e1d8d96b01602394bc379c5f491c5a010a3d4f8cb75569588311fcb7b3?" +2025/08/20 06:45:33 [debug] 601589#601589: *4 http finalize request: 0, "/ca0b08e1d8d96b01602394bc379c5f491c5a010a3d4f8cb75569588311fcb7b3?" a:1, c:1 +2025/08/20 06:45:33 [debug] 601589#601589: *4 set http keepalive handler +2025/08/20 06:45:33 [debug] 601589#601589: *4 http close request +2025/08/20 06:45:33 [debug] 601589#601589: *4 http log handler +2025/08/20 06:45:33 [debug] 601589#601589: *4 free: 000061B8C8C6EA30, unused: 0 +2025/08/20 06:45:33 [debug] 601589#601589: *4 free: 000061B8C8C64DA0, unused: 2456 +2025/08/20 06:45:33 [debug] 601589#601589: *4 free: 000061B8C8C520A0 +2025/08/20 06:45:33 [debug] 601589#601589: *4 hc free: 0000000000000000 +2025/08/20 06:45:33 [debug] 601589#601589: *4 hc busy: 0000000000000000 0 +2025/08/20 06:45:33 [debug] 601589#601589: *4 tcp_nodelay +2025/08/20 06:45:33 [debug] 601589#601589: *4 reusable connection: 1 +2025/08/20 06:45:33 [debug] 601589#601589: *4 event timer add: 6: 65000:253531478 +2025/08/20 06:45:33 [debug] 601589#601589: timer delta: 0 +2025/08/20 06:45:33 [debug] 601589#601589: worker cycle +2025/08/20 06:45:33 [debug] 601589#601589: epoll timer: 65000 +2025/08/20 06:45:33 [debug] 601589#601589: epoll: fd:6 ev:2001 d:00007C850D2D31E0 +2025/08/20 06:45:33 [debug] 601589#601589: *4 http keepalive handler +2025/08/20 06:45:33 [debug] 601589#601589: *4 malloc: 000061B8C8C520A0:1024 +2025/08/20 06:45:33 [debug] 601589#601589: *4 recv: eof:1, avail:-1 +2025/08/20 06:45:33 [debug] 601589#601589: *4 recv: fd:6 0 of 1024 +2025/08/20 06:45:33 [info] 601589#601589: *4 client 127.0.0.1 closed keepalive connection +2025/08/20 06:45:33 [debug] 601589#601589: *4 close http connection: 6 +2025/08/20 06:45:33 [debug] 601589#601589: *4 event timer del: 6: 253531478 +2025/08/20 06:45:33 [debug] 601589#601589: *4 reusable connection: 0 +2025/08/20 06:45:33 [debug] 601589#601589: *4 free: 000061B8C8C520A0 +2025/08/20 06:45:33 [debug] 601589#601589: *4 free: 000061B8C8C4F840, unused: 136 +2025/08/20 06:45:33 [debug] 601589#601589: timer delta: 1 +2025/08/20 06:45:33 [debug] 601589#601589: worker cycle +2025/08/20 06:45:33 [debug] 601589#601589: epoll timer: -1 +2025/08/20 06:46:15 [debug] 601589#601589: epoll: fd:5 ev:0001 d:00007C850D2D3010 +2025/08/20 06:46:15 [debug] 601589#601589: accept on 0.0.0.0:9001, ready: 0 +2025/08/20 06:46:15 [debug] 601589#601589: posix_memalign: 000061B8C8C4F840:512 @16 +2025/08/20 06:46:15 [debug] 601589#601589: *5 accept: 127.0.0.1:54844 fd:6 +2025/08/20 06:46:15 [debug] 601589#601589: *5 event timer add: 6: 60000:253568357 +2025/08/20 06:46:15 [debug] 601589#601589: *5 reusable connection: 1 +2025/08/20 06:46:15 [debug] 601589#601589: *5 epoll add event: fd:6 op:1 ev:80002001 +2025/08/20 06:46:15 [debug] 601589#601589: timer delta: 41878 +2025/08/20 06:46:15 [debug] 601589#601589: worker cycle +2025/08/20 06:46:15 [debug] 601589#601589: epoll timer: 60000 +2025/08/20 06:46:15 [debug] 601589#601589: epoll: fd:6 ev:0001 d:00007C850D2D31E1 +2025/08/20 06:46:15 [debug] 601589#601589: *5 http wait request handler +2025/08/20 06:46:15 [debug] 601589#601589: *5 malloc: 000061B8C8C520A0:1024 +2025/08/20 06:46:15 [debug] 601589#601589: *5 recv: eof:0, avail:-1 +2025/08/20 06:46:15 [debug] 601589#601589: *5 recv: fd:6 84 of 1024 +2025/08/20 06:46:15 [debug] 601589#601589: *5 reusable connection: 0 +2025/08/20 06:46:15 [debug] 601589#601589: *5 posix_memalign: 000061B8C8C6EA30:4096 @16 +2025/08/20 06:46:15 [debug] 601589#601589: *5 http process request line +2025/08/20 06:46:15 [debug] 601589#601589: *5 http request line: "GET /health HTTP/1.1" +2025/08/20 06:46:15 [debug] 601589#601589: *5 http uri: "/health" +2025/08/20 06:46:15 [debug] 601589#601589: *5 http args: "" +2025/08/20 06:46:15 [debug] 601589#601589: *5 http exten: "" +2025/08/20 06:46:15 [debug] 601589#601589: *5 posix_memalign: 000061B8C8C64DA0:4096 @16 +2025/08/20 06:46:15 [debug] 601589#601589: *5 http process request header line +2025/08/20 06:46:15 [debug] 601589#601589: *5 http header: "Host: localhost:9001" +2025/08/20 06:46:15 [debug] 601589#601589: *5 http header: "User-Agent: curl/8.15.0" +2025/08/20 06:46:15 [debug] 601589#601589: *5 http header: "Accept: */*" +2025/08/20 06:46:15 [debug] 601589#601589: *5 http header done +2025/08/20 06:46:15 [debug] 601589#601589: *5 event timer del: 6: 253568357 +2025/08/20 06:46:15 [debug] 601589#601589: *5 generic phase: 0 +2025/08/20 06:46:15 [debug] 601589#601589: *5 rewrite phase: 1 +2025/08/20 06:46:15 [debug] 601589#601589: *5 test location: "/health" +2025/08/20 06:46:15 [debug] 601589#601589: *5 test location: ~ "^/([a-f0-9]{64}).*$" +2025/08/20 06:46:15 [debug] 601589#601589: *5 test location: ~ "^/([a-f0-9]{64})(\.[a-zA-Z0-9]+)?$" +2025/08/20 06:46:15 [debug] 601589#601589: *5 test location: ~ "^/fcgi-head/([a-f0-9]{64}).*$" +2025/08/20 06:46:15 [debug] 601589#601589: *5 test location: ~ "^/list/([a-f0-9]{64}).*$" +2025/08/20 06:46:15 [debug] 601589#601589: *5 using configuration "/health" +2025/08/20 06:46:15 [debug] 601589#601589: *5 http cl:-1 max:104857600 +2025/08/20 06:46:15 [debug] 601589#601589: *5 rewrite phase: 3 +2025/08/20 06:46:15 [debug] 601589#601589: *5 http set discard body +2025/08/20 06:46:15 [debug] 601589#601589: *5 HTTP/1.1 200 OK +Server: nginx/1.18.0 (Ubuntu) +Date: Wed, 20 Aug 2025 10:46:15 GMT +Content-Type: application/octet-stream +Content-Length: 3 +Connection: keep-alive +Content-Type: text/plain + +2025/08/20 06:46:15 [debug] 601589#601589: *5 write new buf t:1 f:0 000061B8C8C65180, pos 000061B8C8C65180, size: 196 file: 0, size: 0 +2025/08/20 06:46:15 [debug] 601589#601589: *5 http write filter: l:0 f:0 s:196 +2025/08/20 06:46:15 [debug] 601589#601589: *5 http output filter "/health?" +2025/08/20 06:46:15 [debug] 601589#601589: *5 http copy filter: "/health?" +2025/08/20 06:46:15 [debug] 601589#601589: *5 http postpone filter "/health?" 00007FFD28353FA0 +2025/08/20 06:46:15 [debug] 601589#601589: *5 write old buf t:1 f:0 000061B8C8C65180, pos 000061B8C8C65180, size: 196 file: 0, size: 0 +2025/08/20 06:46:15 [debug] 601589#601589: *5 write new buf t:0 f:0 0000000000000000, pos 000061B8C8C8CB42, size: 3 file: 0, size: 0 +2025/08/20 06:46:15 [debug] 601589#601589: *5 http write filter: l:1 f:0 s:199 +2025/08/20 06:46:15 [debug] 601589#601589: *5 http write filter limit 0 +2025/08/20 06:46:15 [debug] 601589#601589: *5 writev: 199 of 199 +2025/08/20 06:46:15 [debug] 601589#601589: *5 http write filter 0000000000000000 +2025/08/20 06:46:15 [debug] 601589#601589: *5 http copy filter: 0 "/health?" +2025/08/20 06:46:15 [debug] 601589#601589: *5 http finalize request: 0, "/health?" a:1, c:1 +2025/08/20 06:46:15 [debug] 601589#601589: *5 set http keepalive handler +2025/08/20 06:46:15 [debug] 601589#601589: *5 http close request +2025/08/20 06:46:15 [debug] 601589#601589: *5 http log handler +2025/08/20 06:46:15 [debug] 601589#601589: *5 free: 000061B8C8C6EA30, unused: 0 +2025/08/20 06:46:15 [debug] 601589#601589: *5 free: 000061B8C8C64DA0, unused: 2736 +2025/08/20 06:46:15 [debug] 601589#601589: *5 free: 000061B8C8C520A0 +2025/08/20 06:46:15 [debug] 601589#601589: *5 hc free: 0000000000000000 +2025/08/20 06:46:15 [debug] 601589#601589: *5 hc busy: 0000000000000000 0 +2025/08/20 06:46:15 [debug] 601589#601589: *5 tcp_nodelay +2025/08/20 06:46:15 [debug] 601589#601589: *5 reusable connection: 1 +2025/08/20 06:46:15 [debug] 601589#601589: *5 event timer add: 6: 65000:253573357 +2025/08/20 06:46:15 [debug] 601589#601589: timer delta: 0 +2025/08/20 06:46:15 [debug] 601589#601589: worker cycle +2025/08/20 06:46:15 [debug] 601589#601589: epoll timer: 65000 +2025/08/20 06:46:15 [debug] 601589#601589: epoll: fd:6 ev:2001 d:00007C850D2D31E1 +2025/08/20 06:46:15 [debug] 601589#601589: *5 http keepalive handler +2025/08/20 06:46:15 [debug] 601589#601589: *5 malloc: 000061B8C8C520A0:1024 +2025/08/20 06:46:15 [debug] 601589#601589: *5 recv: eof:1, avail:-1 +2025/08/20 06:46:15 [debug] 601589#601589: *5 recv: fd:6 0 of 1024 +2025/08/20 06:46:15 [info] 601589#601589: *5 client 127.0.0.1 closed keepalive connection +2025/08/20 06:46:15 [debug] 601589#601589: *5 close http connection: 6 +2025/08/20 06:46:15 [debug] 601589#601589: *5 event timer del: 6: 253573357 +2025/08/20 06:46:15 [debug] 601589#601589: *5 reusable connection: 0 +2025/08/20 06:46:15 [debug] 601589#601589: *5 free: 000061B8C8C520A0 +2025/08/20 06:46:15 [debug] 601589#601589: *5 free: 000061B8C8C4F840, unused: 136 +2025/08/20 06:46:15 [debug] 601589#601589: timer delta: 0 +2025/08/20 06:46:15 [debug] 601589#601589: worker cycle +2025/08/20 06:46:15 [debug] 601589#601589: epoll timer: -1 +2025/08/20 06:46:15 [debug] 601589#601589: epoll: fd:5 ev:0001 d:00007C850D2D3010 +2025/08/20 06:46:15 [debug] 601589#601589: accept on 0.0.0.0:9001, ready: 0 +2025/08/20 06:46:15 [debug] 601589#601589: posix_memalign: 000061B8C8C4F840:512 @16 +2025/08/20 06:46:15 [debug] 601589#601589: *6 accept: 127.0.0.1:54846 fd:6 +2025/08/20 06:46:15 [debug] 601589#601589: *6 event timer add: 6: 60000:253568578 +2025/08/20 06:46:15 [debug] 601589#601589: *6 reusable connection: 1 +2025/08/20 06:46:15 [debug] 601589#601589: *6 epoll add event: fd:6 op:1 ev:80002001 +2025/08/20 06:46:15 [debug] 601589#601589: timer delta: 221 +2025/08/20 06:46:15 [debug] 601589#601589: worker cycle +2025/08/20 06:46:15 [debug] 601589#601589: epoll timer: 60000 +2025/08/20 06:46:15 [debug] 601589#601589: epoll: fd:6 ev:0001 d:00007C850D2D31E0 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http wait request handler +2025/08/20 06:46:15 [debug] 601589#601589: *6 malloc: 000061B8C8C520A0:1024 +2025/08/20 06:46:15 [debug] 601589#601589: *6 recv: eof:0, avail:-1 +2025/08/20 06:46:15 [debug] 601589#601589: *6 recv: fd:6 1024 of 1024 +2025/08/20 06:46:15 [debug] 601589#601589: *6 recv: avail:112 +2025/08/20 06:46:15 [debug] 601589#601589: *6 reusable connection: 0 +2025/08/20 06:46:15 [debug] 601589#601589: *6 posix_memalign: 000061B8C8C6EA30:4096 @16 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http process request line +2025/08/20 06:46:15 [debug] 601589#601589: *6 http request line: "PUT /upload HTTP/1.1" +2025/08/20 06:46:15 [debug] 601589#601589: *6 http uri: "/upload" +2025/08/20 06:46:15 [debug] 601589#601589: *6 http args: "" +2025/08/20 06:46:15 [debug] 601589#601589: *6 http exten: "" +2025/08/20 06:46:15 [debug] 601589#601589: *6 posix_memalign: 000061B8C8C64DA0:4096 @16 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http process request header line +2025/08/20 06:46:15 [debug] 601589#601589: *6 http header: "Host: localhost:9001" +2025/08/20 06:46:15 [debug] 601589#601589: *6 http header: "User-Agent: curl/8.15.0" +2025/08/20 06:46:15 [debug] 601589#601589: *6 http header: "Accept: */*" +2025/08/20 06:46:15 [debug] 601589#601589: *6 http header: "Authorization: Nostr eyJraW5kIjoyNDI0MiwiaWQiOiI4ZGZmNzBhNzZjMjFhMzFiY2M4MDlhZDllYmNiM2Q1NjAxNzVjZmMwNDlmNjk4MjRkZDI0NDY0ZTAwOWQwZTc2IiwicHVia2V5IjoiNzliZTY2N2VmOWRjYmJhYzU1YTA2Mjk1Y2U4NzBiMDcwMjliZmNkYjJkY2UyOGQ5NTlmMjgxNWIxNmY4MTc5OCIsImNyZWF0ZWRfYXQiOjE3NTU2ODY3NzUsInRhZ3MiOltbInQiLCJ1cGxvYWQiXSxbIngiLCIyNDQ4ZTZjMDFjNTMxZjIyN2ZlM2YwYzVhYTI2NTg2ZjcwMzliM2UyZDlhZDZiMTAyYzU0NWI2ZDBmZmEzNThjIl0sWyJleHBpcmF0aW9uIiwiMTc1NTY5MDM3NSJdXSwiY29udGVudCI6IiIsInNpZyI6ImNkNDE5N2E5MDQ5MTc5ODAyY2NlNTFlNjFkM2M1M2U5OTVjYzc0YTk5MTkxZGZjMzlmNjgxM2FlZDVkZmI2ODE5OTA2MWMxNzY2ZTkyNTQ0NTkwYTQ2MWQ0N2YzNmViMjhlMWE1ODk1ZjU2NTg2YWExYzFjMWJjOTk5NDU0OGQxIn0=" +2025/08/20 06:46:15 [debug] 601589#601589: *6 http header: "Content-Type: text/plain" +2025/08/20 06:46:15 [debug] 601589#601589: *6 http header: "Content-Disposition: attachment; filename="test_blob_1755686775.txt"" +2025/08/20 06:46:15 [debug] 601589#601589: *6 http header: "Content-Length: 296" +2025/08/20 06:46:15 [debug] 601589#601589: *6 http header done +2025/08/20 06:46:15 [debug] 601589#601589: *6 event timer del: 6: 253568578 +2025/08/20 06:46:15 [debug] 601589#601589: *6 generic phase: 0 +2025/08/20 06:46:15 [debug] 601589#601589: *6 rewrite phase: 1 +2025/08/20 06:46:15 [debug] 601589#601589: *6 test location: "/health" +2025/08/20 06:46:15 [debug] 601589#601589: *6 test location: "/upload" +2025/08/20 06:46:15 [debug] 601589#601589: *6 test location: ~ "^/([a-f0-9]{64}).*$" +2025/08/20 06:46:15 [debug] 601589#601589: *6 test location: ~ "^/([a-f0-9]{64})(\.[a-zA-Z0-9]+)?$" +2025/08/20 06:46:15 [debug] 601589#601589: *6 test location: ~ "^/fcgi-head/([a-f0-9]{64}).*$" +2025/08/20 06:46:15 [debug] 601589#601589: *6 test location: ~ "^/list/([a-f0-9]{64}).*$" +2025/08/20 06:46:15 [debug] 601589#601589: *6 using configuration "/upload" +2025/08/20 06:46:15 [debug] 601589#601589: *6 http cl:296 max:104857600 +2025/08/20 06:46:15 [debug] 601589#601589: *6 rewrite phase: 3 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http script var +2025/08/20 06:46:15 [debug] 601589#601589: *6 http script var: "PUT" +2025/08/20 06:46:15 [debug] 601589#601589: *6 http script regex: "^(PUT)$" +2025/08/20 06:46:15 [notice] 601589#601589: *6 "^(PUT)$" matches "PUT", client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", host: "localhost:9001" +2025/08/20 06:46:15 [debug] 601589#601589: *6 http script if +2025/08/20 06:46:15 [debug] 601589#601589: *6 http script if: false +2025/08/20 06:46:15 [debug] 601589#601589: *6 post rewrite phase: 4 +2025/08/20 06:46:15 [debug] 601589#601589: *6 generic phase: 5 +2025/08/20 06:46:15 [debug] 601589#601589: *6 generic phase: 6 +2025/08/20 06:46:15 [debug] 601589#601589: *6 generic phase: 7 +2025/08/20 06:46:15 [debug] 601589#601589: *6 access phase: 8 +2025/08/20 06:46:15 [debug] 601589#601589: *6 access phase: 9 +2025/08/20 06:46:15 [debug] 601589#601589: *6 access phase: 10 +2025/08/20 06:46:15 [debug] 601589#601589: *6 post access phase: 11 +2025/08/20 06:46:15 [debug] 601589#601589: *6 generic phase: 12 +2025/08/20 06:46:15 [debug] 601589#601589: *6 generic phase: 13 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http client request body preread 184 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http request body content length filter +2025/08/20 06:46:15 [debug] 601589#601589: *6 http body new buf t:1 f:0 000061B8C8C523E8, pos 000061B8C8C523E8, size: 184 file: 0, size: 0 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http read client request body +2025/08/20 06:46:15 [debug] 601589#601589: *6 recv: eof:0, avail:112 +2025/08/20 06:46:15 [debug] 601589#601589: *6 recv: fd:6 112 of 112 +2025/08/20 06:46:15 [debug] 601589#601589: *6 recv: avail:0 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http client request body recv 112 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http body new buf t:1 f:0 000061B8C8C65830, pos 000061B8C8C65830, size: 112 file: 0, size: 0 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http client request body rest 0 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http init upstream, client timer: 0 +2025/08/20 06:46:15 [debug] 601589#601589: *6 epoll add event: fd:6 op:3 ev:80002005 +2025/08/20 06:46:15 [debug] 601589#601589: *6 posix_memalign: 000061B8C8C59150:4096 @16 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http script copy: "QUERY_STRING" +2025/08/20 06:46:15 [debug] 601589#601589: *6 fastcgi param: "QUERY_STRING: " +2025/08/20 06:46:15 [debug] 601589#601589: *6 http script copy: "REQUEST_METHOD" +2025/08/20 06:46:15 [debug] 601589#601589: *6 http script var: "PUT" +2025/08/20 06:46:15 [debug] 601589#601589: *6 fastcgi param: "REQUEST_METHOD: PUT" +2025/08/20 06:46:15 [debug] 601589#601589: *6 http script copy: "CONTENT_TYPE" +2025/08/20 06:46:15 [debug] 601589#601589: *6 http script var: "text/plain" +2025/08/20 06:46:15 [debug] 601589#601589: *6 fastcgi param: "CONTENT_TYPE: text/plain" +2025/08/20 06:46:15 [debug] 601589#601589: *6 http script copy: "CONTENT_LENGTH" +2025/08/20 06:46:15 [debug] 601589#601589: *6 http script var: "296" +2025/08/20 06:46:15 [debug] 601589#601589: *6 fastcgi param: "CONTENT_LENGTH: 296" +2025/08/20 06:46:15 [debug] 601589#601589: *6 http script copy: "SCRIPT_NAME" +2025/08/20 06:46:15 [debug] 601589#601589: *6 http script var: "/upload" +2025/08/20 06:46:15 [debug] 601589#601589: *6 fastcgi param: "SCRIPT_NAME: /upload" +2025/08/20 06:46:15 [debug] 601589#601589: *6 http script copy: "REQUEST_URI" +2025/08/20 06:46:15 [debug] 601589#601589: *6 http script var: "/upload" +2025/08/20 06:46:15 [debug] 601589#601589: *6 fastcgi param: "REQUEST_URI: /upload" +2025/08/20 06:46:15 [debug] 601589#601589: *6 http script copy: "DOCUMENT_URI" +2025/08/20 06:46:15 [debug] 601589#601589: *6 http script var: "/upload" +2025/08/20 06:46:15 [debug] 601589#601589: *6 fastcgi param: "DOCUMENT_URI: /upload" +2025/08/20 06:46:15 [debug] 601589#601589: *6 http script copy: "DOCUMENT_ROOT" +2025/08/20 06:46:15 [debug] 601589#601589: *6 http script var: "./blobs" +2025/08/20 06:46:15 [debug] 601589#601589: *6 fastcgi param: "DOCUMENT_ROOT: ./blobs" +2025/08/20 06:46:15 [debug] 601589#601589: *6 http script copy: "SERVER_PROTOCOL" +2025/08/20 06:46:15 [debug] 601589#601589: *6 http script var: "HTTP/1.1" +2025/08/20 06:46:15 [debug] 601589#601589: *6 fastcgi param: "SERVER_PROTOCOL: HTTP/1.1" +2025/08/20 06:46:15 [debug] 601589#601589: *6 http script copy: "REQUEST_SCHEME" +2025/08/20 06:46:15 [debug] 601589#601589: *6 http script var: "http" +2025/08/20 06:46:15 [debug] 601589#601589: *6 fastcgi param: "REQUEST_SCHEME: http" +2025/08/20 06:46:15 [debug] 601589#601589: *6 http script copy: "" +2025/08/20 06:46:15 [debug] 601589#601589: *6 http script copy: "GATEWAY_INTERFACE" +2025/08/20 06:46:15 [debug] 601589#601589: *6 http script copy: "CGI/1.1" +2025/08/20 06:46:15 [debug] 601589#601589: *6 fastcgi param: "GATEWAY_INTERFACE: CGI/1.1" +2025/08/20 06:46:15 [debug] 601589#601589: *6 http script copy: "SERVER_SOFTWARE" +2025/08/20 06:46:15 [debug] 601589#601589: *6 http script copy: "nginx/" +2025/08/20 06:46:15 [debug] 601589#601589: *6 http script var: "1.18.0" +2025/08/20 06:46:15 [debug] 601589#601589: *6 fastcgi param: "SERVER_SOFTWARE: nginx/1.18.0" +2025/08/20 06:46:15 [debug] 601589#601589: *6 http script copy: "REMOTE_ADDR" +2025/08/20 06:46:15 [debug] 601589#601589: *6 http script var: "127.0.0.1" +2025/08/20 06:46:15 [debug] 601589#601589: *6 fastcgi param: "REMOTE_ADDR: 127.0.0.1" +2025/08/20 06:46:15 [debug] 601589#601589: *6 http script copy: "REMOTE_PORT" +2025/08/20 06:46:15 [debug] 601589#601589: *6 http script var: "54846" +2025/08/20 06:46:15 [debug] 601589#601589: *6 fastcgi param: "REMOTE_PORT: 54846" +2025/08/20 06:46:15 [debug] 601589#601589: *6 http script copy: "SERVER_ADDR" +2025/08/20 06:46:15 [debug] 601589#601589: *6 http script var: "127.0.0.1" +2025/08/20 06:46:15 [debug] 601589#601589: *6 fastcgi param: "SERVER_ADDR: 127.0.0.1" +2025/08/20 06:46:15 [debug] 601589#601589: *6 http script copy: "SERVER_PORT" +2025/08/20 06:46:15 [debug] 601589#601589: *6 http script var: "9001" +2025/08/20 06:46:15 [debug] 601589#601589: *6 fastcgi param: "SERVER_PORT: 9001" +2025/08/20 06:46:15 [debug] 601589#601589: *6 http script copy: "SERVER_NAME" +2025/08/20 06:46:15 [debug] 601589#601589: *6 http script var: "localhost" +2025/08/20 06:46:15 [debug] 601589#601589: *6 fastcgi param: "SERVER_NAME: localhost" +2025/08/20 06:46:15 [debug] 601589#601589: *6 http script copy: "REDIRECT_STATUS" +2025/08/20 06:46:15 [debug] 601589#601589: *6 http script copy: "200" +2025/08/20 06:46:15 [debug] 601589#601589: *6 fastcgi param: "REDIRECT_STATUS: 200" +2025/08/20 06:46:15 [debug] 601589#601589: *6 http script copy: "SCRIPT_FILENAME" +2025/08/20 06:46:15 [debug] 601589#601589: *6 http script var: "./blobs" +2025/08/20 06:46:15 [debug] 601589#601589: *6 http script copy: "/ginxsom.fcgi" +2025/08/20 06:46:15 [debug] 601589#601589: *6 fastcgi param: "SCRIPT_FILENAME: ./blobs/ginxsom.fcgi" +2025/08/20 06:46:15 [debug] 601589#601589: *6 fastcgi param: "HTTP_HOST: localhost:9001" +2025/08/20 06:46:15 [debug] 601589#601589: *6 fastcgi param: "HTTP_USER_AGENT: curl/8.15.0" +2025/08/20 06:46:15 [debug] 601589#601589: *6 fastcgi param: "HTTP_ACCEPT: */*" +2025/08/20 06:46:15 [debug] 601589#601589: *6 fastcgi param: "HTTP_AUTHORIZATION: Nostr eyJraW5kIjoyNDI0MiwiaWQiOiI4ZGZmNzBhNzZjMjFhMzFiY2M4MDlhZDllYmNiM2Q1NjAxNzVjZmMwNDlmNjk4MjRkZDI0NDY0ZTAwOWQwZTc2IiwicHVia2V5IjoiNzliZTY2N2VmOWRjYmJhYzU1YTA2Mjk1Y2U4NzBiMDcwMjliZmNkYjJkY2UyOGQ5NTlmMjgxNWIxNmY4MTc5OCIsImNyZWF0ZWRfYXQiOjE3NTU2ODY3NzUsInRhZ3MiOltbInQiLCJ1cGxvYWQiXSxbIngiLCIyNDQ4ZTZjMDFjNTMxZjIyN2ZlM2YwYzVhYTI2NTg2ZjcwMzliM2UyZDlhZDZiMTAyYzU0NWI2ZDBmZmEzNThjIl0sWyJleHBpcmF0aW9uIiwiMTc1NTY5MDM3NSJdXSwiY29udGVudCI6IiIsInNpZyI6ImNkNDE5N2E5MDQ5MTc5ODAyY2NlNTFlNjFkM2M1M2U5OTVjYzc0YTk5MTkxZGZjMzlmNjgxM2FlZDVkZmI2ODE5OTA2MWMxNzY2ZTkyNTQ0NTkwYTQ2MWQ0N2YzNmViMjhlMWE1ODk1ZjU2NTg2YWExYzFjMWJjOTk5NDU0OGQxIn0=" +2025/08/20 06:46:15 [debug] 601589#601589: *6 fastcgi param: "HTTP_CONTENT_TYPE: text/plain" +2025/08/20 06:46:15 [debug] 601589#601589: *6 fastcgi param: "HTTP_CONTENT_DISPOSITION: attachment; filename="test_blob_1755686775.txt"" +2025/08/20 06:46:15 [debug] 601589#601589: *6 fastcgi param: "HTTP_CONTENT_LENGTH: 296" +2025/08/20 06:46:15 [debug] 601589#601589: *6 http cleanup add: 000061B8C8C65B80 +2025/08/20 06:46:15 [debug] 601589#601589: *6 get rr peer, try: 1 +2025/08/20 06:46:15 [debug] 601589#601589: *6 stream socket 10 +2025/08/20 06:46:15 [debug] 601589#601589: *6 epoll add connection: fd:10 ev:80002005 +2025/08/20 06:46:15 [debug] 601589#601589: *6 connect to unix:/tmp/ginxsom-fcgi.sock, fd:10 #7 +2025/08/20 06:46:15 [debug] 601589#601589: *6 connected +2025/08/20 06:46:15 [debug] 601589#601589: *6 http upstream connect: 0 +2025/08/20 06:46:15 [debug] 601589#601589: *6 posix_memalign: 000061B8C8C38F20:128 @16 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http upstream send request +2025/08/20 06:46:15 [debug] 601589#601589: *6 http upstream send request body +2025/08/20 06:46:15 [debug] 601589#601589: *6 chain writer buf fl:0 s:1304 +2025/08/20 06:46:15 [debug] 601589#601589: *6 chain writer buf fl:0 s:184 +2025/08/20 06:46:15 [debug] 601589#601589: *6 chain writer buf fl:0 s:8 +2025/08/20 06:46:15 [debug] 601589#601589: *6 chain writer buf fl:0 s:112 +2025/08/20 06:46:15 [debug] 601589#601589: *6 chain writer buf fl:0 s:8 +2025/08/20 06:46:15 [debug] 601589#601589: *6 chain writer in: 000061B8C8C65C10 +2025/08/20 06:46:15 [debug] 601589#601589: *6 writev: 1616 of 1616 +2025/08/20 06:46:15 [debug] 601589#601589: *6 chain writer out: 0000000000000000 +2025/08/20 06:46:15 [debug] 601589#601589: *6 event timer add: 10: 60000:253568578 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http finalize request: -4, "/upload?" a:1, c:2 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http request count:2 blk:0 +2025/08/20 06:46:15 [debug] 601589#601589: timer delta: 0 +2025/08/20 06:46:15 [debug] 601589#601589: worker cycle +2025/08/20 06:46:15 [debug] 601589#601589: epoll timer: 60000 +2025/08/20 06:46:15 [debug] 601589#601589: epoll: fd:6 ev:0004 d:00007C850D2D31E0 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http run request: "/upload?" +2025/08/20 06:46:15 [debug] 601589#601589: *6 http upstream check client, write event:1, "/upload" +2025/08/20 06:46:15 [debug] 601589#601589: epoll: fd:10 ev:0004 d:00007C850D2D32C9 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http upstream request: "/upload?" +2025/08/20 06:46:15 [debug] 601589#601589: *6 http upstream dummy handler +2025/08/20 06:46:15 [debug] 601589#601589: timer delta: 1 +2025/08/20 06:46:15 [debug] 601589#601589: worker cycle +2025/08/20 06:46:15 [debug] 601589#601589: epoll timer: 59999 +2025/08/20 06:46:15 [debug] 601589#601589: epoll: fd:10 ev:0005 d:00007C850D2D32C9 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http upstream request: "/upload?" +2025/08/20 06:46:15 [debug] 601589#601589: *6 http upstream process header +2025/08/20 06:46:15 [debug] 601589#601589: *6 malloc: 000061B8C8C5A160:4096 +2025/08/20 06:46:15 [debug] 601589#601589: *6 recv: eof:0, avail:-1 +2025/08/20 06:46:15 [debug] 601589#601589: *6 recv: fd:10 1024 of 4096 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http fastcgi record byte: 01 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http fastcgi record byte: 07 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http fastcgi record byte: 00 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http fastcgi record byte: 01 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http fastcgi record byte: 01 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http fastcgi record byte: F8 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http fastcgi record byte: 00 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http fastcgi record byte: 00 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http fastcgi record length: 504 +2025/08/20 06:46:15 [error] 601589#601589: *6 FastCGI sent in stderr: "DEBUG: authenticate_request ENTRY - method: upload, hash: 2448e6c01c531f227fe3f0c5aa26586f7039b3e2d9ad6b102c545b6d0ffa358c +DEBUG: authenticate_request - calling parse_authorization_header +DEBUG: parse_authorization_header called with header: Nostr eyJraW5kIjoyNDI0MiwiaWQiOiI4ZGZmNzBhNzZjMjFh... +DEBUG: Extracted base64 event (length=DEBUG: Base64 decode result - decoded_len=DEBUG: Successfully decoded JSON (length=DEBUG: authenticate_request - parse_authorization_header succeeded +DEBUG: authenticate_" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 06:46:15 [debug] 601589#601589: *6 http fastcgi record byte: 01 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http fastcgi record byte: 07 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http fastcgi record byte: 00 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http fastcgi record byte: 01 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http fastcgi record byte: 01 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http fastcgi record byte: F8 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http fastcgi record byte: 00 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http fastcgi record byte: 00 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http fastcgi record length: 504 +2025/08/20 06:46:15 [error] 601589#601589: *6 FastCGI sent in stderr: "request - calling cJSON_Parse on: {"kind":24242,"id":"8dff70a76c21a31bcc809ad9ebcb3d560175cfc049f69824dd24464e009d0e76","pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1755686775,"tags":[["t","upload"],["x","2448e6c01c531f227fe3f0c5aa26586f7039b3e2d9ad6b102c545b6d0ffa358c"],["expiration","1755690375"]],"content":"","sig":"cd4197a9049179802cce51e61d3c53e995cc74a99191dfc39f6813aed5dfb68199061c1766e92544590a461d47f36eb28e1a5895f56586aa1c1c1bc9994548d1"} +DEBUG: a" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 06:46:15 [debug] 601589#601589: *6 recv: eof:0, avail:0 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http upstream request: "/upload?" +2025/08/20 06:46:15 [debug] 601589#601589: *6 http upstream dummy handler +2025/08/20 06:46:15 [debug] 601589#601589: timer delta: 0 +2025/08/20 06:46:15 [debug] 601589#601589: worker cycle +2025/08/20 06:46:15 [debug] 601589#601589: epoll timer: 59999 +2025/08/20 06:46:15 [debug] 601589#601589: epoll: fd:10 ev:0005 d:00007C850D2D32C9 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http upstream request: "/upload?" +2025/08/20 06:46:15 [debug] 601589#601589: *6 http upstream process header +2025/08/20 06:46:15 [debug] 601589#601589: *6 recv: eof:0, avail:-1 +2025/08/20 06:46:15 [debug] 601589#601589: *6 recv: fd:10 2048 of 4096 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http fastcgi record byte: 01 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http fastcgi record byte: 07 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http fastcgi record byte: 00 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http fastcgi record byte: 01 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http fastcgi record byte: 01 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http fastcgi record byte: F8 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http fastcgi record byte: 00 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http fastcgi record byte: 00 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http fastcgi record length: 504 +2025/08/20 06:46:15 [error] 601589#601589: *6 FastCGI sent in stderr: "uthenticate_request - cJSON_Parse succeeded, event parsed +DEBUG: authenticate_request - Parsed JSON: { + "kind": 24242, + "id": "8dff70a76c21a31bcc809ad9ebcb3d560175cfc049f69824dd24464e009d0e76", + "pubkey": "79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798", + "created_at": 1755686775, + "tags": [["t", "upload"], ["x", "2448e6c01c531f227fe3f0c5aa26586f7039b3e2d9ad6b102c545b6d0ffa358c"], ["expiration", "1755690375"]], + "content": "", + "sig": "cd4197a9049179802cce51e61d3c53e995cc74a99191df" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 06:46:15 [debug] 601589#601589: *6 http fastcgi record byte: 01 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http fastcgi record byte: 07 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http fastcgi record byte: 00 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http fastcgi record byte: 01 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http fastcgi record byte: 01 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http fastcgi record byte: F8 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http fastcgi record byte: 00 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http fastcgi record byte: 00 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http fastcgi record length: 504 +2025/08/20 06:46:15 [error] 601589#601589: *6 FastCGI sent in stderr: "c39f6813aed5dfb68199061c1766e92544590a461d47f36eb28e1a5895f56586aa1c1c1bc9994548d1" +} +DEBUG: authenticate_request - Event fields before validation: +DEBUG: id: 8dff70a76c21a31bcc809ad9ebcb3d560175cfc049f69824dd24464e009d0e76 +DEBUG: pubkey: 79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 +DEBUG: sig: cd4197a9049179802cce51e61d3c53e995cc74a99191dfc39f6813aed5dfb68199061c1766e92544590a461d47f36eb28e1a5895f56586aa1c1c1bc9994548d1 +DEBUG: kind: 24242 +DEBUG: created_at: 1755686775" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 06:46:15 [debug] 601589#601589: *6 http fastcgi record byte: 01 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http fastcgi record byte: 07 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http fastcgi record byte: 00 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http fastcgi record byte: 01 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http fastcgi record byte: 01 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http fastcgi record byte: F8 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http fastcgi record byte: 00 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http fastcgi record byte: 00 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http fastcgi record length: 504 +2025/08/20 06:46:15 [error] 601589#601589: *6 FastCGI sent in stderr: "DEBUG: authenticate_request - Detailed pubkey analysis: +DEBUG: Pubkey: 79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 +DEBUG: Length: DEBUG: Character analysis (first 10): 7(0x37) 9(0x39) b(0x62) e(0x65) 6(0x36) 6(0x36) 7(0x37) e(0x65) f(0x66) 9(0x39) +DEBUG: authenticate_request - calling nostr_validate_event +DEBUG: authenticate_request - Pre-validation pubkey analysis: +DEBUG: Pubkey: 79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 +DEBUG: Length: DEBUG:" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 06:46:15 [debug] 601589#601589: *6 http fastcgi record byte: 01 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http fastcgi record byte: 07 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http fastcgi record byte: 00 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http fastcgi record byte: 01 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http fastcgi record byte: 01 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http fastcgi record byte: F8 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http fastcgi record byte: 00 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http fastcgi record byte: 00 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http fastcgi record length: 504 +2025/08/20 06:46:15 [error] 601589#601589: *6 FastCGI sent in stderr: " Character analysis (first 10): 7(55) 9(57) b(98) e(101) 6(54) 6(54) 7(55) e(101) f(102) 9(57) +DEBUG: Character validation test: ALL VALID (lowercase hex) +DEBUG: authenticate_request - Starting detailed validation analysis +DEBUG: authenticate_request - Testing structure validation... +DEBUG: authenticate_request - nostr_validate_event_structure returned: 0 (Success) +DEBUG: authenticate_request - Structure validation PASSED +DEBUG: authenticate_request - Testing cryptographic verification... +DEBUG:" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 06:46:15 [debug] 601589#601589: *6 recv: eof:0, avail:0 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http upstream request: "/upload?" +2025/08/20 06:46:15 [debug] 601589#601589: *6 http upstream dummy handler +2025/08/20 06:46:15 [debug] 601589#601589: timer delta: 0 +2025/08/20 06:46:15 [debug] 601589#601589: worker cycle +2025/08/20 06:46:15 [debug] 601589#601589: epoll timer: 59999 +2025/08/20 06:46:15 [debug] 601589#601589: epoll: fd:10 ev:2005 d:00007C850D2D32C9 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http upstream request: "/upload?" +2025/08/20 06:46:15 [debug] 601589#601589: *6 http upstream process header +2025/08/20 06:46:15 [debug] 601589#601589: *6 recv: eof:1, avail:-1 +2025/08/20 06:46:15 [debug] 601589#601589: *6 recv: fd:10 1680 of 4096 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http fastcgi record byte: 01 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http fastcgi record byte: 07 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http fastcgi record byte: 00 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http fastcgi record byte: 01 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http fastcgi record byte: 01 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http fastcgi record byte: 12 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http fastcgi record byte: 06 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http fastcgi record byte: 00 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http fastcgi record length: 274 +2025/08/20 06:46:15 [error] 601589#601589: *6 FastCGI sent in stderr: "authenticate_request - nostr_verify_event_signature returned: -32 (Event has invalid public key) +DEBUG: authenticate_request - CRYPTO verification failed! +DEBUG: authenticate_request - Failed pubkey: 79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 (length:" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 06:46:15 [debug] 601589#601589: *6 http fastcgi record byte: 01 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http fastcgi record byte: 07 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http fastcgi record byte: 00 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http fastcgi record byte: 01 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http fastcgi record byte: 00 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http fastcgi record byte: 00 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http fastcgi record byte: 00 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http fastcgi record byte: 00 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http fastcgi record length: 0 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http fastcgi record byte: 01 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http fastcgi record byte: 06 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http fastcgi record byte: 00 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http fastcgi record byte: 01 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http fastcgi record byte: 05 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http fastcgi record byte: 47 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http fastcgi record byte: 01 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http fastcgi record byte: 00 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http fastcgi record length: 1351 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http fastcgi parser: 0 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http fastcgi header: "DEBUG: FastCGI received request" +2025/08/20 06:46:15 [debug] 601589#601589: *6 http fastcgi parser: 0 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http fastcgi header: "DEBUG: METHOD=PUT, URI=/upload" +2025/08/20 06:46:15 [debug] 601589#601589: *6 http fastcgi parser: 0 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http fastcgi header: "DEBUG: handle_upload_request called" +2025/08/20 06:46:15 [debug] 601589#601589: *6 http fastcgi parser: 0 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http fastcgi header: "LOG: [2025-08-20 06:46:15] PUT /upload - Auth: pending - Status: 0" +2025/08/20 06:46:15 [debug] 601589#601589: *6 http fastcgi parser: 0 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http fastcgi header: "DEBUG: content_type=text/plain" +2025/08/20 06:46:15 [debug] 601589#601589: *6 http fastcgi parser: 0 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http fastcgi header: "DEBUG: content_length=296" +2025/08/20 06:46:15 [debug] 601589#601589: *6 http fastcgi parser: 0 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http fastcgi header: "DEBUG: Raw Authorization header: Nostr eyJraW5kIjoyNDI0MiwiaWQiOiI4ZGZmNzBhNzZjMjFhMzFiY2M4MDlhZDllYmNiM2Q1NjAxNzVjZmMwNDlmNjk4MjRkZDI0NDY0ZTAwOWQwZTc2IiwicHVia2V5IjoiNzliZTY2N2VmOWRjYmJhYzU1YTA2Mjk1Y2U4NzBiMDcwMjliZmNkYjJkY2UyOGQ5NTlmMjgxNWIxNmY4MTc5OCIsImNyZWF0ZWRfYXQiOjE3NTU2ODY3NzUsInRhZ3MiOltbInQiLCJ1cGxvYWQiXSxbIngiLCIyNDQ4ZTZjMDFjNTMxZjIyN2ZlM2YwYzVhYTI2NTg2ZjcwMzliM2UyZDlhZDZiMTAyYzU0NWI2ZDBmZmEzNThjIl0sWyJleHBpcmF0aW9uIiwiMTc1NTY5MDM3NSJdXSwiY29udGVudCI6IiIsInNpZyI6ImNkNDE5N2E5MDQ5MTc5ODAyY2NlNTFlNjFkM2M1M2U5OTVjYzc0YTk5MTkxZGZjMzlmNjgxM2FlZDVkZmI2ODE5OTA2MWMxNzY2ZTkyNTQ0NTkwYTQ2MWQ0N2YzNmViMjhlMWE1ODk1ZjU2NTg2YWExYzFjMWJjOTk5NDU0OGQxIn0=" +2025/08/20 06:46:15 [debug] 601589#601589: *6 http fastcgi parser: 0 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http fastcgi header: "LOG: [2025-08-20 06:46:15] PUT /upload - Auth: auth_provided - Status: 0" +2025/08/20 06:46:15 [debug] 601589#601589: *6 http fastcgi parser: 0 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http fastcgi header: "DEBUG: Successfully read DEBUG: Calculated SHA-256: 2448e6c01c531f227fe3f0c5aa26586f7039b3e2d9ad6b102c545b6d0ffa358c" +2025/08/20 06:46:15 [debug] 601589#601589: *6 http fastcgi parser: 0 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http fastcgi header: "Status: 401 Unauthorized" +2025/08/20 06:46:15 [debug] 601589#601589: *6 http fastcgi parser: 0 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http fastcgi header: "Content-Type: application/json" +2025/08/20 06:46:15 [debug] 601589#601589: *6 http fastcgi parser: 1 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http fastcgi header done +2025/08/20 06:46:15 [debug] 601589#601589: *6 posix_memalign: 000061B8C8C5B170:4096 @16 +2025/08/20 06:46:15 [debug] 601589#601589: *6 HTTP/1.1 401 Unauthorized +Server: nginx/1.18.0 (Ubuntu) +Date: Wed, 20 Aug 2025 10:46:15 GMT +Content-Type: application/json +Transfer-Encoding: chunked +Connection: keep-alive +DEBUG: FastCGI received request +DEBUG: METHOD=PUT, URI=/upload +DEBUG: handle_upload_request called +LOG: [2025-08-20 06:46:15] PUT /upload - Auth: pending - Status: 0 +DEBUG: content_type=text/plain +DEBUG: content_length=296 +DEBUG: Raw Authorization header: Nostr eyJraW5kIjoyNDI0MiwiaWQiOiI4ZGZmNzBhNzZjMjFhMzFiY2M4MDlhZDllYmNiM2Q1NjAxNzVjZmMwNDlmNjk4MjRkZDI0NDY0ZTAwOWQwZTc2IiwicHVia2V5IjoiNzliZTY2N2VmOWRjYmJhYzU1YTA2Mjk1Y2U4NzBiMDcwMjliZmNkYjJkY2UyOGQ5NTlmMjgxNWIxNmY4MTc5OCIsImNyZWF0ZWRfYXQiOjE3NTU2ODY3NzUsInRhZ3MiOltbInQiLCJ1cGxvYWQiXSxbIngiLCIyNDQ4ZTZjMDFjNTMxZjIyN2ZlM2YwYzVhYTI2NTg2ZjcwMzliM2UyZDlhZDZiMTAyYzU0NWI2ZDBmZmEzNThjIl0sWyJleHBpcmF0aW9uIiwiMTc1NTY5MDM3NSJdXSwiY29udGVudCI6IiIsInNpZyI6ImNkNDE5N2E5MDQ5MTc5ODAyY2NlNTFlNjFkM2M1M2U5OTVjYzc0YTk5MTkxZGZjMzlmNjgxM2FlZDVkZmI2ODE5OTA2MWMxNzY2ZTkyNTQ0NTkwYTQ2MWQ0N2YzNmViMjhlMWE1ODk1ZjU2NTg2YWExYzFjMWJjOTk5NDU0OGQxIn0= +LOG: [2025-08-20 06:46:15] PUT /upload - Auth: auth_provided - Status: 0 +DEBUG: Successfully read DEBUG: Calculated SHA-256: 2448e6c01c531f227fe3f0c5aa26586f7039b3e2d9ad6b102c545b6d0ffa358c + +2025/08/20 06:46:15 [debug] 601589#601589: *6 write new buf t:1 f:0 000061B8C8C5B190, pos 000061B8C8C5B190, size: 1259 file: 0, size: 0 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http write filter: l:0 f:0 s:1259 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http cacheable: 0 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http upstream process upstream +2025/08/20 06:46:15 [debug] 601589#601589: *6 pipe read upstream: 1 +2025/08/20 06:46:15 [debug] 601589#601589: *6 pipe preread: 238 +2025/08/20 06:46:15 [debug] 601589#601589: *6 readv: eof:1, avail:0 +2025/08/20 06:46:15 [debug] 601589#601589: *6 readv: 1, last:2416 +2025/08/20 06:46:15 [debug] 601589#601589: *6 pipe recv chain: 0 +2025/08/20 06:46:15 [debug] 601589#601589: *6 pipe buf free s:0 t:1 f:0 000061B8C8C5A160, pos 000061B8C8C5A702, size: 238 file: 0, size: 0 +2025/08/20 06:46:15 [debug] 601589#601589: *6 pipe length: -1 +2025/08/20 06:46:15 [debug] 601589#601589: *6 input buf #0 000061B8C8C5A702 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http fastcgi record byte: 01 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http fastcgi record byte: 06 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http fastcgi record byte: 00 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http fastcgi record byte: 01 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http fastcgi record byte: 00 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http fastcgi record byte: 00 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http fastcgi record byte: 00 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http fastcgi record byte: 00 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http fastcgi record length: 0 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http fastcgi closed stdout +2025/08/20 06:46:15 [debug] 601589#601589: *6 http fastcgi record byte: 01 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http fastcgi record byte: 03 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http fastcgi record byte: 00 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http fastcgi record byte: 01 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http fastcgi record byte: 00 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http fastcgi record byte: 08 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http fastcgi record byte: 00 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http fastcgi record byte: 00 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http fastcgi record length: 8 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http fastcgi sent end request +2025/08/20 06:46:15 [debug] 601589#601589: *6 input buf 000061B8C8C5A702 213 +2025/08/20 06:46:15 [debug] 601589#601589: *6 pipe write downstream: 1 +2025/08/20 06:46:15 [debug] 601589#601589: *6 pipe write downstream flush in +2025/08/20 06:46:15 [debug] 601589#601589: *6 http output filter "/upload?" +2025/08/20 06:46:15 [debug] 601589#601589: *6 http copy filter: "/upload?" +2025/08/20 06:46:15 [debug] 601589#601589: *6 http postpone filter "/upload?" 000061B8C8C65BE0 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http chunk: 213 +2025/08/20 06:46:15 [debug] 601589#601589: *6 write old buf t:1 f:0 000061B8C8C5B190, pos 000061B8C8C5B190, size: 1259 file: 0, size: 0 +2025/08/20 06:46:15 [debug] 601589#601589: *6 write new buf t:1 f:0 000061B8C8C5A010, pos 000061B8C8C5A010, size: 4 file: 0, size: 0 +2025/08/20 06:46:15 [debug] 601589#601589: *6 write new buf t:1 f:0 000061B8C8C5A160, pos 000061B8C8C5A702, size: 213 file: 0, size: 0 +2025/08/20 06:46:15 [debug] 601589#601589: *6 write new buf t:0 f:0 0000000000000000, pos 000061B8BE9DD2E8, size: 2 file: 0, size: 0 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http write filter: l:0 f:0 s:1478 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http write filter limit 0 +2025/08/20 06:46:15 [debug] 601589#601589: *6 writev: 1478 of 1478 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http write filter 0000000000000000 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http copy filter: 0 "/upload?" +2025/08/20 06:46:15 [debug] 601589#601589: *6 pipe write downstream done +2025/08/20 06:46:15 [debug] 601589#601589: *6 event timer: 10, old: 253568578, new: 253568580 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http upstream exit: 0000000000000000 +2025/08/20 06:46:15 [debug] 601589#601589: *6 finalize http upstream request: 0 +2025/08/20 06:46:15 [debug] 601589#601589: *6 finalize http fastcgi request +2025/08/20 06:46:15 [debug] 601589#601589: *6 free rr peer 1 0 +2025/08/20 06:46:15 [debug] 601589#601589: *6 close http upstream connection: 10 +2025/08/20 06:46:15 [debug] 601589#601589: *6 free: 000061B8C8C38F20, unused: 48 +2025/08/20 06:46:15 [debug] 601589#601589: *6 event timer del: 10: 253568578 +2025/08/20 06:46:15 [debug] 601589#601589: *6 reusable connection: 0 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http upstream temp fd: -1 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http output filter "/upload?" +2025/08/20 06:46:15 [debug] 601589#601589: *6 http copy filter: "/upload?" +2025/08/20 06:46:15 [debug] 601589#601589: *6 http postpone filter "/upload?" 00007FFD28354050 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http chunk: 0 +2025/08/20 06:46:15 [debug] 601589#601589: *6 write new buf t:0 f:0 0000000000000000, pos 000061B8BE9DD2E5, size: 5 file: 0, size: 0 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http write filter: l:1 f:0 s:5 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http write filter limit 0 +2025/08/20 06:46:15 [debug] 601589#601589: *6 writev: 5 of 5 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http write filter 0000000000000000 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http copy filter: 0 "/upload?" +2025/08/20 06:46:15 [debug] 601589#601589: *6 http finalize request: 0, "/upload?" a:1, c:1 +2025/08/20 06:46:15 [debug] 601589#601589: *6 set http keepalive handler +2025/08/20 06:46:15 [debug] 601589#601589: *6 http close request +2025/08/20 06:46:15 [debug] 601589#601589: *6 http log handler +2025/08/20 06:46:15 [debug] 601589#601589: *6 free: 000061B8C8C5A160 +2025/08/20 06:46:15 [debug] 601589#601589: *6 free: 000061B8C8C6EA30, unused: 3 +2025/08/20 06:46:15 [debug] 601589#601589: *6 free: 000061B8C8C64DA0, unused: 0 +2025/08/20 06:46:15 [debug] 601589#601589: *6 free: 000061B8C8C59150, unused: 10 +2025/08/20 06:46:15 [debug] 601589#601589: *6 free: 000061B8C8C5B170, unused: 2805 +2025/08/20 06:46:15 [debug] 601589#601589: *6 free: 000061B8C8C520A0 +2025/08/20 06:46:15 [debug] 601589#601589: *6 hc free: 0000000000000000 +2025/08/20 06:46:15 [debug] 601589#601589: *6 hc busy: 0000000000000000 0 +2025/08/20 06:46:15 [debug] 601589#601589: *6 tcp_nodelay +2025/08/20 06:46:15 [debug] 601589#601589: *6 reusable connection: 1 +2025/08/20 06:46:15 [debug] 601589#601589: *6 event timer add: 6: 65000:253573580 +2025/08/20 06:46:15 [debug] 601589#601589: *6 post event 000061B8C8CA0770 +2025/08/20 06:46:15 [debug] 601589#601589: timer delta: 1 +2025/08/20 06:46:15 [debug] 601589#601589: posted event 000061B8C8CA0770 +2025/08/20 06:46:15 [debug] 601589#601589: *6 delete posted event 000061B8C8CA0770 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http keepalive handler +2025/08/20 06:46:15 [debug] 601589#601589: *6 malloc: 000061B8C8C520A0:1024 +2025/08/20 06:46:15 [debug] 601589#601589: *6 recv: eof:0, avail:0 +2025/08/20 06:46:15 [debug] 601589#601589: *6 free: 000061B8C8C520A0 +2025/08/20 06:46:15 [debug] 601589#601589: worker cycle +2025/08/20 06:46:15 [debug] 601589#601589: epoll timer: 65000 +2025/08/20 06:46:15 [debug] 601589#601589: epoll: fd:6 ev:2005 d:00007C850D2D31E0 +2025/08/20 06:46:15 [debug] 601589#601589: *6 http keepalive handler +2025/08/20 06:46:15 [debug] 601589#601589: *6 malloc: 000061B8C8C520A0:1024 +2025/08/20 06:46:15 [debug] 601589#601589: *6 recv: eof:1, avail:-1 +2025/08/20 06:46:15 [debug] 601589#601589: *6 recv: fd:6 0 of 1024 +2025/08/20 06:46:15 [info] 601589#601589: *6 client 127.0.0.1 closed keepalive connection +2025/08/20 06:46:15 [debug] 601589#601589: *6 close http connection: 6 +2025/08/20 06:46:15 [debug] 601589#601589: *6 event timer del: 6: 253573580 +2025/08/20 06:46:15 [debug] 601589#601589: *6 reusable connection: 0 +2025/08/20 06:46:15 [debug] 601589#601589: *6 free: 000061B8C8C520A0 +2025/08/20 06:46:15 [debug] 601589#601589: *6 free: 000061B8C8C4F840, unused: 120 +2025/08/20 06:46:15 [debug] 601589#601589: timer delta: 1 +2025/08/20 06:46:15 [debug] 601589#601589: worker cycle +2025/08/20 06:46:15 [debug] 601589#601589: epoll timer: -1 +2025/08/20 06:46:15 [debug] 601589#601589: epoll: fd:5 ev:0001 d:00007C850D2D3010 +2025/08/20 06:46:15 [debug] 601589#601589: accept on 0.0.0.0:9001, ready: 0 +2025/08/20 06:46:15 [debug] 601589#601589: posix_memalign: 000061B8C8C4F840:512 @16 +2025/08/20 06:46:15 [debug] 601589#601589: *8 accept: 127.0.0.1:54852 fd:6 +2025/08/20 06:46:15 [debug] 601589#601589: *8 event timer add: 6: 60000:253568586 +2025/08/20 06:46:15 [debug] 601589#601589: *8 reusable connection: 1 +2025/08/20 06:46:15 [debug] 601589#601589: *8 epoll add event: fd:6 op:1 ev:80002001 +2025/08/20 06:46:15 [debug] 601589#601589: timer delta: 5 +2025/08/20 06:46:15 [debug] 601589#601589: worker cycle +2025/08/20 06:46:15 [debug] 601589#601589: epoll timer: 60000 +2025/08/20 06:46:15 [debug] 601589#601589: epoll: fd:6 ev:0001 d:00007C850D2D31E1 +2025/08/20 06:46:15 [debug] 601589#601589: *8 http wait request handler +2025/08/20 06:46:15 [debug] 601589#601589: *8 malloc: 000061B8C8C520A0:1024 +2025/08/20 06:46:15 [debug] 601589#601589: *8 recv: eof:0, avail:-1 +2025/08/20 06:46:15 [debug] 601589#601589: *8 recv: fd:6 142 of 1024 +2025/08/20 06:46:15 [debug] 601589#601589: *8 reusable connection: 0 +2025/08/20 06:46:15 [debug] 601589#601589: *8 posix_memalign: 000061B8C8C6EA30:4096 @16 +2025/08/20 06:46:15 [debug] 601589#601589: *8 http process request line +2025/08/20 06:46:15 [debug] 601589#601589: *8 http request line: "GET /2448e6c01c531f227fe3f0c5aa26586f7039b3e2d9ad6b102c545b6d0ffa358c HTTP/1.1" +2025/08/20 06:46:15 [debug] 601589#601589: *8 http uri: "/2448e6c01c531f227fe3f0c5aa26586f7039b3e2d9ad6b102c545b6d0ffa358c" +2025/08/20 06:46:15 [debug] 601589#601589: *8 http args: "" +2025/08/20 06:46:15 [debug] 601589#601589: *8 http exten: "" +2025/08/20 06:46:15 [debug] 601589#601589: *8 posix_memalign: 000061B8C8C64DA0:4096 @16 +2025/08/20 06:46:15 [debug] 601589#601589: *8 http process request header line +2025/08/20 06:46:15 [debug] 601589#601589: *8 http header: "Host: localhost:9001" +2025/08/20 06:46:15 [debug] 601589#601589: *8 http header: "User-Agent: curl/8.15.0" +2025/08/20 06:46:15 [debug] 601589#601589: *8 http header: "Accept: */*" +2025/08/20 06:46:15 [debug] 601589#601589: *8 http header done +2025/08/20 06:46:15 [debug] 601589#601589: *8 event timer del: 6: 253568586 +2025/08/20 06:46:15 [debug] 601589#601589: *8 generic phase: 0 +2025/08/20 06:46:15 [debug] 601589#601589: *8 rewrite phase: 1 +2025/08/20 06:46:15 [debug] 601589#601589: *8 test location: "/health" +2025/08/20 06:46:15 [debug] 601589#601589: *8 test location: "/debug/list" +2025/08/20 06:46:15 [debug] 601589#601589: *8 test location: "/" +2025/08/20 06:46:15 [debug] 601589#601589: *8 test location: ~ "^/([a-f0-9]{64}).*$" +2025/08/20 06:46:15 [debug] 601589#601589: *8 using configuration "^/([a-f0-9]{64}).*$" +2025/08/20 06:46:15 [debug] 601589#601589: *8 http cl:-1 max:104857600 +2025/08/20 06:46:15 [debug] 601589#601589: *8 rewrite phase: 3 +2025/08/20 06:46:15 [debug] 601589#601589: *8 http script var +2025/08/20 06:46:15 [debug] 601589#601589: *8 http script var: "GET" +2025/08/20 06:46:15 [debug] 601589#601589: *8 http script value: "DELETE" +2025/08/20 06:46:15 [debug] 601589#601589: *8 http script not equal +2025/08/20 06:46:15 [debug] 601589#601589: *8 http script if +2025/08/20 06:46:15 [debug] 601589#601589: *8 http finalize request: 404, "/2448e6c01c531f227fe3f0c5aa26586f7039b3e2d9ad6b102c545b6d0ffa358c?" a:1, c:1 +2025/08/20 06:46:15 [debug] 601589#601589: *8 http special response: 404, "/2448e6c01c531f227fe3f0c5aa26586f7039b3e2d9ad6b102c545b6d0ffa358c?" +2025/08/20 06:46:15 [debug] 601589#601589: *8 http set discard body +2025/08/20 06:46:15 [debug] 601589#601589: *8 HTTP/1.1 404 Not Found +Server: nginx/1.18.0 (Ubuntu) +Date: Wed, 20 Aug 2025 10:46:15 GMT +Content-Type: text/html +Content-Length: 162 +Connection: keep-alive + +2025/08/20 06:46:15 [debug] 601589#601589: *8 write new buf t:1 f:0 000061B8C8C65180, pos 000061B8C8C65180, size: 164 file: 0, size: 0 +2025/08/20 06:46:15 [debug] 601589#601589: *8 http write filter: l:0 f:0 s:164 +2025/08/20 06:46:15 [debug] 601589#601589: *8 http output filter "/2448e6c01c531f227fe3f0c5aa26586f7039b3e2d9ad6b102c545b6d0ffa358c?" +2025/08/20 06:46:15 [debug] 601589#601589: *8 http copy filter: "/2448e6c01c531f227fe3f0c5aa26586f7039b3e2d9ad6b102c545b6d0ffa358c?" +2025/08/20 06:46:15 [debug] 601589#601589: *8 http postpone filter "/2448e6c01c531f227fe3f0c5aa26586f7039b3e2d9ad6b102c545b6d0ffa358c?" 000061B8C8C65310 +2025/08/20 06:46:15 [debug] 601589#601589: *8 write old buf t:1 f:0 000061B8C8C65180, pos 000061B8C8C65180, size: 164 file: 0, size: 0 +2025/08/20 06:46:15 [debug] 601589#601589: *8 write new buf t:0 f:0 0000000000000000, pos 000061B8BEA1C580, size: 100 file: 0, size: 0 +2025/08/20 06:46:15 [debug] 601589#601589: *8 write new buf t:0 f:0 0000000000000000, pos 000061B8BEA1CC80, size: 62 file: 0, size: 0 +2025/08/20 06:46:15 [debug] 601589#601589: *8 http write filter: l:1 f:0 s:326 +2025/08/20 06:46:15 [debug] 601589#601589: *8 http write filter limit 0 +2025/08/20 06:46:15 [debug] 601589#601589: *8 writev: 326 of 326 +2025/08/20 06:46:15 [debug] 601589#601589: *8 http write filter 0000000000000000 +2025/08/20 06:46:15 [debug] 601589#601589: *8 http copy filter: 0 "/2448e6c01c531f227fe3f0c5aa26586f7039b3e2d9ad6b102c545b6d0ffa358c?" +2025/08/20 06:46:15 [debug] 601589#601589: *8 http finalize request: 0, "/2448e6c01c531f227fe3f0c5aa26586f7039b3e2d9ad6b102c545b6d0ffa358c?" a:1, c:1 +2025/08/20 06:46:15 [debug] 601589#601589: *8 set http keepalive handler +2025/08/20 06:46:15 [debug] 601589#601589: *8 http close request +2025/08/20 06:46:15 [debug] 601589#601589: *8 http log handler +2025/08/20 06:46:15 [debug] 601589#601589: *8 free: 000061B8C8C6EA30, unused: 0 +2025/08/20 06:46:15 [debug] 601589#601589: *8 free: 000061B8C8C64DA0, unused: 2456 +2025/08/20 06:46:15 [debug] 601589#601589: *8 free: 000061B8C8C520A0 +2025/08/20 06:46:15 [debug] 601589#601589: *8 hc free: 0000000000000000 +2025/08/20 06:46:15 [debug] 601589#601589: *8 hc busy: 0000000000000000 0 +2025/08/20 06:46:15 [debug] 601589#601589: *8 tcp_nodelay +2025/08/20 06:46:15 [debug] 601589#601589: *8 reusable connection: 1 +2025/08/20 06:46:15 [debug] 601589#601589: *8 event timer add: 6: 65000:253573586 +2025/08/20 06:46:15 [debug] 601589#601589: timer delta: 0 +2025/08/20 06:46:15 [debug] 601589#601589: worker cycle +2025/08/20 06:46:15 [debug] 601589#601589: epoll timer: 65000 +2025/08/20 06:46:15 [debug] 601589#601589: epoll: fd:6 ev:2001 d:00007C850D2D31E1 +2025/08/20 06:46:15 [debug] 601589#601589: *8 http keepalive handler +2025/08/20 06:46:15 [debug] 601589#601589: *8 malloc: 000061B8C8C520A0:1024 +2025/08/20 06:46:15 [debug] 601589#601589: *8 recv: eof:1, avail:-1 +2025/08/20 06:46:15 [debug] 601589#601589: *8 recv: fd:6 0 of 1024 +2025/08/20 06:46:15 [info] 601589#601589: *8 client 127.0.0.1 closed keepalive connection +2025/08/20 06:46:15 [debug] 601589#601589: *8 close http connection: 6 +2025/08/20 06:46:15 [debug] 601589#601589: *8 event timer del: 6: 253573586 +2025/08/20 06:46:15 [debug] 601589#601589: *8 reusable connection: 0 +2025/08/20 06:46:15 [debug] 601589#601589: *8 free: 000061B8C8C520A0 +2025/08/20 06:46:15 [debug] 601589#601589: *8 free: 000061B8C8C4F840, unused: 136 +2025/08/20 06:46:15 [debug] 601589#601589: timer delta: 1 +2025/08/20 06:46:15 [debug] 601589#601589: worker cycle +2025/08/20 06:46:15 [debug] 601589#601589: epoll timer: -1 +2025/08/20 06:47:14 [notice] 601588#601588: signal 15 (SIGTERM) received from 602356, exiting +2025/08/20 06:47:14 [debug] 601588#601588: wake up, sigio 0 +2025/08/20 06:47:14 [debug] 601588#601588: child: 0 601589 e:0 t:0 d:0 r:1 j:0 +2025/08/20 06:47:14 [debug] 601588#601588: termination cycle: 50 +2025/08/20 06:47:14 [debug] 601588#601588: sigsuspend +2025/08/20 06:47:14 [debug] 601589#601589: epoll: fd:7 ev:0001 d:00007C850D2D30F8 +2025/08/20 06:47:14 [debug] 601589#601589: channel handler +2025/08/20 06:47:14 [debug] 601589#601589: channel: 32 +2025/08/20 06:47:14 [debug] 601589#601589: channel command: 4 +2025/08/20 06:47:14 [debug] 601589#601589: channel: -2 +2025/08/20 06:47:14 [debug] 601589#601589: timer delta: 59056 +2025/08/20 06:47:14 [notice] 601589#601589: exiting +2025/08/20 06:47:14 [debug] 601589#601589: flush files +2025/08/20 06:47:14 [debug] 601589#601589: run cleanup: 000061B8C8C9DA80 +2025/08/20 06:47:14 [debug] 601589#601589: run cleanup: 000061B8C8C90A18 +2025/08/20 06:47:14 [debug] 601589#601589: cleanup resolver +2025/08/20 06:47:14 [debug] 601589#601589: free: 000061B8C8C9EDE0 +2025/08/20 06:47:14 [debug] 601589#601589: free: 000061B8C8C91BE0 +2025/08/20 06:47:14 [debug] 601589#601589: free: 000061B8C8C70B50 +2025/08/20 06:47:14 [debug] 601589#601589: free: 000061B8C8C6FA40 +2025/08/20 06:47:14 [debug] 601589#601589: free: 000061B8C8C69A10 +2025/08/20 06:47:14 [debug] 601589#601589: free: 000061B8C8C68950 +2025/08/20 06:47:14 [debug] 601589#601589: free: 000061B8C8C67890 +2025/08/20 06:47:14 [debug] 601589#601589: free: 000061B8C8C667D0 +2025/08/20 06:47:14 [debug] 601589#601589: free: 000061B8C8C5E170 +2025/08/20 06:47:14 [debug] 601589#601589: free: 000061B8C8C55140, unused: 0 +2025/08/20 06:47:14 [debug] 601589#601589: free: 000061B8C8C5F580, unused: 0 +2025/08/20 06:47:14 [debug] 601589#601589: free: 000061B8C8C6AA20, unused: 0 +2025/08/20 06:47:14 [debug] 601589#601589: free: 000061B8C8C71B60, unused: 0 +2025/08/20 06:47:14 [debug] 601589#601589: free: 000061B8C8C75B70, unused: 0 +2025/08/20 06:47:14 [debug] 601589#601589: free: 000061B8C8C79B80, unused: 0 +2025/08/20 06:47:14 [debug] 601589#601589: free: 000061B8C8C7DB90, unused: 0 +2025/08/20 06:47:14 [debug] 601589#601589: free: 000061B8C8C81BA0, unused: 0 +2025/08/20 06:47:14 [debug] 601589#601589: free: 000061B8C8C85BB0, unused: 0 +2025/08/20 06:47:14 [debug] 601589#601589: free: 000061B8C8C89BC0, unused: 0 +2025/08/20 06:47:14 [debug] 601589#601589: free: 000061B8C8C8DBD0, unused: 0 +2025/08/20 06:47:14 [debug] 601589#601589: free: 000061B8C8C92DB0, unused: 0 +2025/08/20 06:47:14 [debug] 601589#601589: free: 000061B8C8C96DC0, unused: 0 +2025/08/20 06:47:14 [debug] 601589#601589: free: 000061B8C8C9ADD0, unused: 4920 +2025/08/20 06:47:14 [notice] 601589#601589: exit +2025/08/20 06:47:14 [notice] 601588#601588: signal 17 (SIGCHLD) received from 601589 +2025/08/20 06:47:14 [notice] 601588#601588: worker process 601589 exited with code 0 +2025/08/20 06:47:14 [debug] 601588#601588: shmtx forced unlock +2025/08/20 06:47:14 [debug] 601588#601588: wake up, sigio 3 +2025/08/20 06:47:14 [debug] 601588#601588: reap children +2025/08/20 06:47:14 [debug] 601588#601588: child: 0 601589 e:1 t:1 d:0 r:1 j:0 +2025/08/20 06:47:14 [notice] 601588#601588: exit +2025/08/20 06:47:14 [debug] 601588#601588: close listening 0.0.0.0:9001 #5 +2025/08/20 06:47:14 [debug] 601588#601588: run cleanup: 000061B8C8C90A18 +2025/08/20 06:47:14 [debug] 601588#601588: cleanup resolver +2025/08/20 06:47:14 [debug] 601588#601588: free: 000061B8C8C9EDE0 +2025/08/20 06:47:14 [debug] 601588#601588: free: 000061B8C8C91BE0 +2025/08/20 06:47:14 [debug] 601588#601588: free: 000061B8C8C70B50 +2025/08/20 06:47:14 [debug] 601588#601588: free: 000061B8C8C6FA40 +2025/08/20 06:47:14 [debug] 601588#601588: free: 000061B8C8C69A10 +2025/08/20 06:47:14 [debug] 601588#601588: free: 000061B8C8C68950 +2025/08/20 06:47:14 [debug] 601588#601588: free: 000061B8C8C67890 +2025/08/20 06:47:14 [debug] 601588#601588: free: 000061B8C8C667D0 +2025/08/20 06:47:14 [debug] 601588#601588: free: 000061B8C8C5E170 +2025/08/20 06:47:14 [debug] 601588#601588: free: 000061B8C8C55140, unused: 0 +2025/08/20 06:47:14 [debug] 601588#601588: free: 000061B8C8C5F580, unused: 0 +2025/08/20 06:47:14 [debug] 601588#601588: free: 000061B8C8C6AA20, unused: 0 +2025/08/20 06:47:14 [debug] 601588#601588: free: 000061B8C8C71B60, unused: 0 +2025/08/20 06:47:14 [debug] 601588#601588: free: 000061B8C8C75B70, unused: 0 +2025/08/20 06:47:14 [debug] 601588#601588: free: 000061B8C8C79B80, unused: 0 +2025/08/20 06:47:14 [debug] 601588#601588: free: 000061B8C8C7DB90, unused: 0 +2025/08/20 06:47:14 [debug] 601588#601588: free: 000061B8C8C81BA0, unused: 0 +2025/08/20 06:47:14 [debug] 601588#601588: free: 000061B8C8C85BB0, unused: 0 +2025/08/20 06:47:14 [debug] 601588#601588: free: 000061B8C8C89BC0, unused: 0 +2025/08/20 06:47:14 [debug] 601588#601588: free: 000061B8C8C8DBD0, unused: 0 +2025/08/20 06:47:14 [debug] 601588#601588: free: 000061B8C8C92DB0, unused: 0 +2025/08/20 06:47:14 [debug] 601588#601588: free: 000061B8C8C96DC0, unused: 0 +2025/08/20 06:47:14 [debug] 601588#601588: free: 000061B8C8C9ADD0, unused: 4951 +2025/08/20 06:47:18 [debug] 602392#602392: bind() 0.0.0.0:9001 #5 +2025/08/20 06:47:18 [debug] 602392#602392: counter: 00007C5814144080, 1 +2025/08/20 06:47:18 [debug] 602393#602393: bind() 0.0.0.0:9001 #5 +2025/08/20 06:47:18 [notice] 602393#602393: using the "epoll" event method +2025/08/20 06:47:18 [debug] 602393#602393: counter: 0000766FE7D1B080, 1 +2025/08/20 06:47:18 [notice] 602393#602393: nginx/1.18.0 (Ubuntu) +2025/08/20 06:47:18 [notice] 602393#602393: OS: Linux 6.12.10-76061203-generic +2025/08/20 06:47:18 [notice] 602393#602393: getrlimit(RLIMIT_NOFILE): 1048576:1048576 +2025/08/20 06:47:18 [debug] 602394#602393: write: 6, 00007FFC67C2B320, 7, 0 +2025/08/20 06:47:18 [debug] 602394#602394: setproctitle: "nginx: master process nginx -p . -c config/local-nginx.conf" +2025/08/20 06:47:18 [notice] 602394#602394: start worker processes +2025/08/20 06:47:18 [debug] 602394#602394: channel 6:7 +2025/08/20 06:47:18 [notice] 602394#602394: start worker process 602395 +2025/08/20 06:47:18 [debug] 602394#602394: sigsuspend +2025/08/20 06:47:18 [debug] 602395#602395: add cleanup: 00005E702F9E5A80 +2025/08/20 06:47:18 [debug] 602395#602395: malloc: 00005E702F998BD0:8 +2025/08/20 06:47:18 [debug] 602395#602395: notify eventfd: 9 +2025/08/20 06:47:18 [debug] 602395#602395: testing the EPOLLRDHUP flag: success +2025/08/20 06:47:18 [debug] 602395#602395: malloc: 00005E702F9AB590:6144 +2025/08/20 06:47:18 [debug] 602395#602395: malloc: 0000766FE7B13010:237568 +2025/08/20 06:47:18 [debug] 602395#602395: malloc: 00005E702F9E86B0:98304 +2025/08/20 06:47:18 [debug] 602395#602395: malloc: 00005E702FA006C0:98304 +2025/08/20 06:47:18 [debug] 602395#602395: epoll add event: fd:5 op:1 ev:00002001 +2025/08/20 06:47:18 [debug] 602395#602395: epoll add event: fd:7 op:1 ev:00002001 +2025/08/20 06:47:18 [debug] 602395#602395: setproctitle: "nginx: worker process" +2025/08/20 06:47:18 [debug] 602395#602395: worker cycle +2025/08/20 06:47:18 [debug] 602395#602395: epoll timer: -1 +2025/08/20 06:48:02 [debug] 602395#602395: epoll: fd:5 ev:0001 d:0000766FE7B13010 +2025/08/20 06:48:02 [debug] 602395#602395: accept on 0.0.0.0:9001, ready: 0 +2025/08/20 06:48:02 [debug] 602395#602395: posix_memalign: 00005E702F997840:512 @16 +2025/08/20 06:48:02 [debug] 602395#602395: *1 accept: 127.0.0.1:47590 fd:6 +2025/08/20 06:48:02 [debug] 602395#602395: *1 event timer add: 6: 60000:253675464 +2025/08/20 06:48:02 [debug] 602395#602395: *1 reusable connection: 1 +2025/08/20 06:48:02 [debug] 602395#602395: *1 epoll add event: fd:6 op:1 ev:80002001 +2025/08/20 06:48:02 [debug] 602395#602395: timer delta: 43571 +2025/08/20 06:48:02 [debug] 602395#602395: worker cycle +2025/08/20 06:48:02 [debug] 602395#602395: epoll timer: 60000 +2025/08/20 06:48:02 [debug] 602395#602395: epoll: fd:6 ev:0001 d:0000766FE7B131E0 +2025/08/20 06:48:02 [debug] 602395#602395: *1 http wait request handler +2025/08/20 06:48:02 [debug] 602395#602395: *1 malloc: 00005E702F99A0A0:1024 +2025/08/20 06:48:02 [debug] 602395#602395: *1 recv: eof:0, avail:-1 +2025/08/20 06:48:02 [debug] 602395#602395: *1 recv: fd:6 785 of 1024 +2025/08/20 06:48:02 [debug] 602395#602395: *1 reusable connection: 0 +2025/08/20 06:48:02 [debug] 602395#602395: *1 posix_memalign: 00005E702F9B6A30:4096 @16 +2025/08/20 06:48:02 [debug] 602395#602395: *1 http process request line +2025/08/20 06:48:02 [debug] 602395#602395: *1 http request line: "PUT /upload HTTP/1.1" +2025/08/20 06:48:02 [debug] 602395#602395: *1 http uri: "/upload" +2025/08/20 06:48:02 [debug] 602395#602395: *1 http args: "" +2025/08/20 06:48:02 [debug] 602395#602395: *1 http exten: "" +2025/08/20 06:48:02 [debug] 602395#602395: *1 posix_memalign: 00005E702F9ACDA0:4096 @16 +2025/08/20 06:48:02 [debug] 602395#602395: *1 http process request header line +2025/08/20 06:48:02 [debug] 602395#602395: *1 http header: "Host: localhost:9001" +2025/08/20 06:48:02 [debug] 602395#602395: *1 http header: "User-Agent: curl/8.15.0" +2025/08/20 06:48:02 [debug] 602395#602395: *1 http header: "Accept: */*" +2025/08/20 06:48:02 [debug] 602395#602395: *1 http header: "Content-Type: text/plain" +2025/08/20 06:48:02 [debug] 602395#602395: *1 http header: "Authorization: Nostr eyJraW5kIjoyNDI0MiwiaWQiOiI5NTYxNjA1YjEwNjJjZTM3ZTk1YWI5YjgxZDMwMGQ5YWQ1YmZiOWM1NDRhZTM5NWUxZWI0MWYwMDBjN2Q4OWY2IiwicHVia2V5IjoiNzliZTY2N2VmOWRjYmJhYzU1YTA2Mjk1Y2U4NzBiMDcwMjliZmNkYjJkY2UyOGQ5NTlmMjgxNWIxNmY4MTc5OCIsImNyZWF0ZWRfYXQiOjE3NTU2ODU0MjgsInRhZ3MiOltbInQiLCJ1cGxvYWQiXSxbIngiLCI4NDcxNjE3MWJhYjE2YWQwMjFiZDg5NTMwNTAxODlmZTYwNzU5MTc0MzZjZDExY2M5MzNmMDIxYmJjNWQ1YjBiIl0sWyJleHBpcmF0aW9uIiwiMTc1NTY4OTAyOCJdXSwiY29udGVudCI6IiIsInNpZyI6Ijk1MzE2YWI3NWY4ZDAyYmI5OTVhMTI0OGMyNzRiOTlmOWJjNWRjMGFmNTY0OWU2OTQ5MDE1ZDA2OTkwNGQ0YmRmM2EzYzc5NDI3YWM4MjQ1Njk4NmEyZTkzN2IxZDI1YjZkMmVlOGVlMWU0NDZhODQ5Y2IxOTc3NGRmOTQ4ZWFkIn0=" +2025/08/20 06:48:02 [debug] 602395#602395: *1 http header: "Content-Length: 16" +2025/08/20 06:48:02 [debug] 602395#602395: *1 http header done +2025/08/20 06:48:02 [debug] 602395#602395: *1 event timer del: 6: 253675464 +2025/08/20 06:48:02 [debug] 602395#602395: *1 generic phase: 0 +2025/08/20 06:48:02 [debug] 602395#602395: *1 rewrite phase: 1 +2025/08/20 06:48:02 [debug] 602395#602395: *1 test location: "/health" +2025/08/20 06:48:02 [debug] 602395#602395: *1 test location: "/upload" +2025/08/20 06:48:02 [debug] 602395#602395: *1 test location: ~ "^/([a-f0-9]{64}).*$" +2025/08/20 06:48:02 [debug] 602395#602395: *1 test location: ~ "^/([a-f0-9]{64})(\.[a-zA-Z0-9]+)?$" +2025/08/20 06:48:02 [debug] 602395#602395: *1 test location: ~ "^/fcgi-head/([a-f0-9]{64}).*$" +2025/08/20 06:48:02 [debug] 602395#602395: *1 test location: ~ "^/list/([a-f0-9]{64}).*$" +2025/08/20 06:48:02 [debug] 602395#602395: *1 using configuration "/upload" +2025/08/20 06:48:02 [debug] 602395#602395: *1 http cl:16 max:104857600 +2025/08/20 06:48:02 [debug] 602395#602395: *1 rewrite phase: 3 +2025/08/20 06:48:02 [debug] 602395#602395: *1 http script var +2025/08/20 06:48:02 [debug] 602395#602395: *1 http script var: "PUT" +2025/08/20 06:48:02 [debug] 602395#602395: *1 http script regex: "^(PUT)$" +2025/08/20 06:48:02 [notice] 602395#602395: *1 "^(PUT)$" matches "PUT", client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", host: "localhost:9001" +2025/08/20 06:48:02 [debug] 602395#602395: *1 http script if +2025/08/20 06:48:02 [debug] 602395#602395: *1 http script if: false +2025/08/20 06:48:02 [debug] 602395#602395: *1 post rewrite phase: 4 +2025/08/20 06:48:02 [debug] 602395#602395: *1 generic phase: 5 +2025/08/20 06:48:02 [debug] 602395#602395: *1 generic phase: 6 +2025/08/20 06:48:02 [debug] 602395#602395: *1 generic phase: 7 +2025/08/20 06:48:02 [debug] 602395#602395: *1 access phase: 8 +2025/08/20 06:48:02 [debug] 602395#602395: *1 access phase: 9 +2025/08/20 06:48:02 [debug] 602395#602395: *1 access phase: 10 +2025/08/20 06:48:02 [debug] 602395#602395: *1 post access phase: 11 +2025/08/20 06:48:02 [debug] 602395#602395: *1 generic phase: 12 +2025/08/20 06:48:02 [debug] 602395#602395: *1 generic phase: 13 +2025/08/20 06:48:02 [debug] 602395#602395: *1 http client request body preread 16 +2025/08/20 06:48:02 [debug] 602395#602395: *1 http request body content length filter +2025/08/20 06:48:02 [debug] 602395#602395: *1 http body new buf t:1 f:0 00005E702F99A3A1, pos 00005E702F99A3A1, size: 16 file: 0, size: 0 +2025/08/20 06:48:02 [debug] 602395#602395: *1 http init upstream, client timer: 0 +2025/08/20 06:48:02 [debug] 602395#602395: *1 epoll add event: fd:6 op:3 ev:80002005 +2025/08/20 06:48:02 [debug] 602395#602395: *1 http script copy: "QUERY_STRING" +2025/08/20 06:48:02 [debug] 602395#602395: *1 fastcgi param: "QUERY_STRING: " +2025/08/20 06:48:02 [debug] 602395#602395: *1 http script copy: "REQUEST_METHOD" +2025/08/20 06:48:02 [debug] 602395#602395: *1 http script var: "PUT" +2025/08/20 06:48:02 [debug] 602395#602395: *1 fastcgi param: "REQUEST_METHOD: PUT" +2025/08/20 06:48:02 [debug] 602395#602395: *1 http script copy: "CONTENT_TYPE" +2025/08/20 06:48:02 [debug] 602395#602395: *1 http script var: "text/plain" +2025/08/20 06:48:02 [debug] 602395#602395: *1 fastcgi param: "CONTENT_TYPE: text/plain" +2025/08/20 06:48:02 [debug] 602395#602395: *1 http script copy: "CONTENT_LENGTH" +2025/08/20 06:48:02 [debug] 602395#602395: *1 http script var: "16" +2025/08/20 06:48:02 [debug] 602395#602395: *1 fastcgi param: "CONTENT_LENGTH: 16" +2025/08/20 06:48:02 [debug] 602395#602395: *1 http script copy: "SCRIPT_NAME" +2025/08/20 06:48:02 [debug] 602395#602395: *1 http script var: "/upload" +2025/08/20 06:48:02 [debug] 602395#602395: *1 fastcgi param: "SCRIPT_NAME: /upload" +2025/08/20 06:48:02 [debug] 602395#602395: *1 http script copy: "REQUEST_URI" +2025/08/20 06:48:02 [debug] 602395#602395: *1 http script var: "/upload" +2025/08/20 06:48:02 [debug] 602395#602395: *1 fastcgi param: "REQUEST_URI: /upload" +2025/08/20 06:48:02 [debug] 602395#602395: *1 http script copy: "DOCUMENT_URI" +2025/08/20 06:48:02 [debug] 602395#602395: *1 http script var: "/upload" +2025/08/20 06:48:02 [debug] 602395#602395: *1 fastcgi param: "DOCUMENT_URI: /upload" +2025/08/20 06:48:02 [debug] 602395#602395: *1 http script copy: "DOCUMENT_ROOT" +2025/08/20 06:48:02 [debug] 602395#602395: *1 http script var: "./blobs" +2025/08/20 06:48:02 [debug] 602395#602395: *1 fastcgi param: "DOCUMENT_ROOT: ./blobs" +2025/08/20 06:48:02 [debug] 602395#602395: *1 http script copy: "SERVER_PROTOCOL" +2025/08/20 06:48:02 [debug] 602395#602395: *1 http script var: "HTTP/1.1" +2025/08/20 06:48:02 [debug] 602395#602395: *1 fastcgi param: "SERVER_PROTOCOL: HTTP/1.1" +2025/08/20 06:48:02 [debug] 602395#602395: *1 http script copy: "REQUEST_SCHEME" +2025/08/20 06:48:02 [debug] 602395#602395: *1 http script var: "http" +2025/08/20 06:48:02 [debug] 602395#602395: *1 fastcgi param: "REQUEST_SCHEME: http" +2025/08/20 06:48:02 [debug] 602395#602395: *1 http script copy: "" +2025/08/20 06:48:02 [debug] 602395#602395: *1 http script copy: "GATEWAY_INTERFACE" +2025/08/20 06:48:02 [debug] 602395#602395: *1 http script copy: "CGI/1.1" +2025/08/20 06:48:02 [debug] 602395#602395: *1 fastcgi param: "GATEWAY_INTERFACE: CGI/1.1" +2025/08/20 06:48:02 [debug] 602395#602395: *1 http script copy: "SERVER_SOFTWARE" +2025/08/20 06:48:02 [debug] 602395#602395: *1 http script copy: "nginx/" +2025/08/20 06:48:02 [debug] 602395#602395: *1 http script var: "1.18.0" +2025/08/20 06:48:02 [debug] 602395#602395: *1 fastcgi param: "SERVER_SOFTWARE: nginx/1.18.0" +2025/08/20 06:48:02 [debug] 602395#602395: *1 http script copy: "REMOTE_ADDR" +2025/08/20 06:48:02 [debug] 602395#602395: *1 http script var: "127.0.0.1" +2025/08/20 06:48:02 [debug] 602395#602395: *1 fastcgi param: "REMOTE_ADDR: 127.0.0.1" +2025/08/20 06:48:02 [debug] 602395#602395: *1 http script copy: "REMOTE_PORT" +2025/08/20 06:48:02 [debug] 602395#602395: *1 http script var: "47590" +2025/08/20 06:48:02 [debug] 602395#602395: *1 fastcgi param: "REMOTE_PORT: 47590" +2025/08/20 06:48:02 [debug] 602395#602395: *1 http script copy: "SERVER_ADDR" +2025/08/20 06:48:02 [debug] 602395#602395: *1 http script var: "127.0.0.1" +2025/08/20 06:48:02 [debug] 602395#602395: *1 fastcgi param: "SERVER_ADDR: 127.0.0.1" +2025/08/20 06:48:02 [debug] 602395#602395: *1 http script copy: "SERVER_PORT" +2025/08/20 06:48:02 [debug] 602395#602395: *1 http script var: "9001" +2025/08/20 06:48:02 [debug] 602395#602395: *1 fastcgi param: "SERVER_PORT: 9001" +2025/08/20 06:48:02 [debug] 602395#602395: *1 http script copy: "SERVER_NAME" +2025/08/20 06:48:02 [debug] 602395#602395: *1 http script var: "localhost" +2025/08/20 06:48:02 [debug] 602395#602395: *1 fastcgi param: "SERVER_NAME: localhost" +2025/08/20 06:48:02 [debug] 602395#602395: *1 http script copy: "REDIRECT_STATUS" +2025/08/20 06:48:02 [debug] 602395#602395: *1 http script copy: "200" +2025/08/20 06:48:02 [debug] 602395#602395: *1 fastcgi param: "REDIRECT_STATUS: 200" +2025/08/20 06:48:02 [debug] 602395#602395: *1 http script copy: "SCRIPT_FILENAME" +2025/08/20 06:48:02 [debug] 602395#602395: *1 http script var: "./blobs" +2025/08/20 06:48:02 [debug] 602395#602395: *1 http script copy: "/ginxsom.fcgi" +2025/08/20 06:48:02 [debug] 602395#602395: *1 fastcgi param: "SCRIPT_FILENAME: ./blobs/ginxsom.fcgi" +2025/08/20 06:48:02 [debug] 602395#602395: *1 fastcgi param: "HTTP_HOST: localhost:9001" +2025/08/20 06:48:02 [debug] 602395#602395: *1 fastcgi param: "HTTP_USER_AGENT: curl/8.15.0" +2025/08/20 06:48:02 [debug] 602395#602395: *1 fastcgi param: "HTTP_ACCEPT: */*" +2025/08/20 06:48:02 [debug] 602395#602395: *1 fastcgi param: "HTTP_CONTENT_TYPE: text/plain" +2025/08/20 06:48:02 [debug] 602395#602395: *1 fastcgi param: "HTTP_AUTHORIZATION: Nostr eyJraW5kIjoyNDI0MiwiaWQiOiI5NTYxNjA1YjEwNjJjZTM3ZTk1YWI5YjgxZDMwMGQ5YWQ1YmZiOWM1NDRhZTM5NWUxZWI0MWYwMDBjN2Q4OWY2IiwicHVia2V5IjoiNzliZTY2N2VmOWRjYmJhYzU1YTA2Mjk1Y2U4NzBiMDcwMjliZmNkYjJkY2UyOGQ5NTlmMjgxNWIxNmY4MTc5OCIsImNyZWF0ZWRfYXQiOjE3NTU2ODU0MjgsInRhZ3MiOltbInQiLCJ1cGxvYWQiXSxbIngiLCI4NDcxNjE3MWJhYjE2YWQwMjFiZDg5NTMwNTAxODlmZTYwNzU5MTc0MzZjZDExY2M5MzNmMDIxYmJjNWQ1YjBiIl0sWyJleHBpcmF0aW9uIiwiMTc1NTY4OTAyOCJdXSwiY29udGVudCI6IiIsInNpZyI6Ijk1MzE2YWI3NWY4ZDAyYmI5OTVhMTI0OGMyNzRiOTlmOWJjNWRjMGFmNTY0OWU2OTQ5MDE1ZDA2OTkwNGQ0YmRmM2EzYzc5NDI3YWM4MjQ1Njk4NmEyZTkzN2IxZDI1YjZkMmVlOGVlMWU0NDZhODQ5Y2IxOTc3NGRmOTQ4ZWFkIn0=" +2025/08/20 06:48:02 [debug] 602395#602395: *1 fastcgi param: "HTTP_CONTENT_LENGTH: 16" +2025/08/20 06:48:02 [debug] 602395#602395: *1 posix_memalign: 00005E702F9A1150:4096 @16 +2025/08/20 06:48:02 [debug] 602395#602395: *1 http cleanup add: 00005E702F9ADD80 +2025/08/20 06:48:02 [debug] 602395#602395: *1 get rr peer, try: 1 +2025/08/20 06:48:02 [debug] 602395#602395: *1 stream socket 10 +2025/08/20 06:48:02 [debug] 602395#602395: *1 epoll add connection: fd:10 ev:80002005 +2025/08/20 06:48:02 [debug] 602395#602395: *1 connect to unix:/tmp/ginxsom-fcgi.sock, fd:10 #2 +2025/08/20 06:48:02 [debug] 602395#602395: *1 connected +2025/08/20 06:48:02 [debug] 602395#602395: *1 http upstream connect: 0 +2025/08/20 06:48:02 [debug] 602395#602395: *1 posix_memalign: 00005E702F980F20:128 @16 +2025/08/20 06:48:02 [debug] 602395#602395: *1 http upstream send request +2025/08/20 06:48:02 [debug] 602395#602395: *1 http upstream send request body +2025/08/20 06:48:02 [debug] 602395#602395: *1 chain writer buf fl:0 s:1224 +2025/08/20 06:48:02 [debug] 602395#602395: *1 chain writer buf fl:0 s:16 +2025/08/20 06:48:02 [debug] 602395#602395: *1 chain writer buf fl:0 s:8 +2025/08/20 06:48:02 [debug] 602395#602395: *1 chain writer in: 00005E702F9A1288 +2025/08/20 06:48:02 [debug] 602395#602395: *1 writev: 1248 of 1248 +2025/08/20 06:48:02 [debug] 602395#602395: *1 chain writer out: 0000000000000000 +2025/08/20 06:48:02 [debug] 602395#602395: *1 event timer add: 10: 60000:253675464 +2025/08/20 06:48:02 [debug] 602395#602395: *1 http finalize request: -4, "/upload?" a:1, c:2 +2025/08/20 06:48:02 [debug] 602395#602395: *1 http request count:2 blk:0 +2025/08/20 06:48:02 [debug] 602395#602395: timer delta: 0 +2025/08/20 06:48:02 [debug] 602395#602395: worker cycle +2025/08/20 06:48:02 [debug] 602395#602395: epoll timer: 60000 +2025/08/20 06:48:02 [debug] 602395#602395: epoll: fd:6 ev:0004 d:0000766FE7B131E0 +2025/08/20 06:48:02 [debug] 602395#602395: *1 http run request: "/upload?" +2025/08/20 06:48:02 [debug] 602395#602395: *1 http upstream check client, write event:1, "/upload" +2025/08/20 06:48:02 [debug] 602395#602395: epoll: fd:10 ev:0004 d:0000766FE7B132C8 +2025/08/20 06:48:02 [debug] 602395#602395: *1 http upstream request: "/upload?" +2025/08/20 06:48:02 [debug] 602395#602395: *1 http upstream dummy handler +2025/08/20 06:48:02 [debug] 602395#602395: timer delta: 1 +2025/08/20 06:48:02 [debug] 602395#602395: worker cycle +2025/08/20 06:48:02 [debug] 602395#602395: epoll timer: 59999 +2025/08/20 06:48:02 [debug] 602395#602395: epoll: fd:10 ev:2005 d:0000766FE7B132C8 +2025/08/20 06:48:02 [debug] 602395#602395: *1 http upstream request: "/upload?" +2025/08/20 06:48:02 [debug] 602395#602395: *1 http upstream process header +2025/08/20 06:48:02 [debug] 602395#602395: *1 malloc: 00005E702F9A2160:4096 +2025/08/20 06:48:02 [debug] 602395#602395: *1 recv: eof:1, avail:-1 +2025/08/20 06:48:02 [debug] 602395#602395: *1 recv: fd:10 4096 of 4096 +2025/08/20 06:48:02 [debug] 602395#602395: *1 recv: avail:656 +2025/08/20 06:48:02 [debug] 602395#602395: *1 http fastcgi record byte: 01 +2025/08/20 06:48:02 [debug] 602395#602395: *1 http fastcgi record byte: 07 +2025/08/20 06:48:02 [debug] 602395#602395: *1 http fastcgi record byte: 00 +2025/08/20 06:48:02 [debug] 602395#602395: *1 http fastcgi record byte: 01 +2025/08/20 06:48:02 [debug] 602395#602395: *1 http fastcgi record byte: 01 +2025/08/20 06:48:02 [debug] 602395#602395: *1 http fastcgi record byte: F8 +2025/08/20 06:48:02 [debug] 602395#602395: *1 http fastcgi record byte: 00 +2025/08/20 06:48:02 [debug] 602395#602395: *1 http fastcgi record byte: 00 +2025/08/20 06:48:02 [debug] 602395#602395: *1 http fastcgi record length: 504 +2025/08/20 06:48:02 [error] 602395#602395: *1 FastCGI sent in stderr: "DEBUG: authenticate_request ENTRY - method: upload, hash: 59fbf16bd87c759e1a723b6b638d925bb0b589e6ef5169ff6ad187957345aa58 +DEBUG: authenticate_request - calling parse_authorization_header +DEBUG: parse_authorization_header called with header: Nostr eyJraW5kIjoyNDI0MiwiaWQiOiI5NTYxNjA1YjEwNjJj... +DEBUG: Extracted base64 event (length=DEBUG: Base64 decode result - decoded_len=DEBUG: Successfully decoded JSON (length=DEBUG: authenticate_request - parse_authorization_header succeeded +DEBUG: authenticate_" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 06:48:02 [debug] 602395#602395: *1 http fastcgi record byte: 01 +2025/08/20 06:48:02 [debug] 602395#602395: *1 http fastcgi record byte: 07 +2025/08/20 06:48:02 [debug] 602395#602395: *1 http fastcgi record byte: 00 +2025/08/20 06:48:02 [debug] 602395#602395: *1 http fastcgi record byte: 01 +2025/08/20 06:48:02 [debug] 602395#602395: *1 http fastcgi record byte: 01 +2025/08/20 06:48:02 [debug] 602395#602395: *1 http fastcgi record byte: F8 +2025/08/20 06:48:02 [debug] 602395#602395: *1 http fastcgi record byte: 00 +2025/08/20 06:48:02 [debug] 602395#602395: *1 http fastcgi record byte: 00 +2025/08/20 06:48:02 [debug] 602395#602395: *1 http fastcgi record length: 504 +2025/08/20 06:48:02 [error] 602395#602395: *1 FastCGI sent in stderr: "request - calling cJSON_Parse on: {"kind":24242,"id":"9561605b1062ce37e95ab9b81d300d9ad5bfb9c544ae395e1eb41f000c7d89f6","pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1755685428,"tags":[["t","upload"],["x","84716171bab16ad021bd8953050189fe6075917436cd11cc933f021bbc5d5b0b"],["expiration","1755689028"]],"content":"","sig":"95316ab75f8d02bb995a1248c274b99f9bc5dc0af5649e6949015d069904d4bdf3a3c79427ac82456986a2e937b1d25b6d2ee8ee1e446a849cb19774df948ead"} +DEBUG: a" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 06:48:02 [debug] 602395#602395: *1 http fastcgi record byte: 01 +2025/08/20 06:48:02 [debug] 602395#602395: *1 http fastcgi record byte: 07 +2025/08/20 06:48:02 [debug] 602395#602395: *1 http fastcgi record byte: 00 +2025/08/20 06:48:02 [debug] 602395#602395: *1 http fastcgi record byte: 01 +2025/08/20 06:48:02 [debug] 602395#602395: *1 http fastcgi record byte: 01 +2025/08/20 06:48:02 [debug] 602395#602395: *1 http fastcgi record byte: F8 +2025/08/20 06:48:02 [debug] 602395#602395: *1 http fastcgi record byte: 00 +2025/08/20 06:48:02 [debug] 602395#602395: *1 http fastcgi record byte: 00 +2025/08/20 06:48:02 [debug] 602395#602395: *1 http fastcgi record length: 504 +2025/08/20 06:48:02 [error] 602395#602395: *1 FastCGI sent in stderr: "uthenticate_request - cJSON_Parse succeeded, event parsed +DEBUG: authenticate_request - Parsed JSON: { + "kind": 24242, + "id": "9561605b1062ce37e95ab9b81d300d9ad5bfb9c544ae395e1eb41f000c7d89f6", + "pubkey": "79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798", + "created_at": 1755685428, + "tags": [["t", "upload"], ["x", "84716171bab16ad021bd8953050189fe6075917436cd11cc933f021bbc5d5b0b"], ["expiration", "1755689028"]], + "content": "", + "sig": "95316ab75f8d02bb995a1248c274b99f9bc5dc0af5649e" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 06:48:02 [debug] 602395#602395: *1 http fastcgi record byte: 01 +2025/08/20 06:48:02 [debug] 602395#602395: *1 http fastcgi record byte: 07 +2025/08/20 06:48:02 [debug] 602395#602395: *1 http fastcgi record byte: 00 +2025/08/20 06:48:02 [debug] 602395#602395: *1 http fastcgi record byte: 01 +2025/08/20 06:48:02 [debug] 602395#602395: *1 http fastcgi record byte: 01 +2025/08/20 06:48:02 [debug] 602395#602395: *1 http fastcgi record byte: F8 +2025/08/20 06:48:02 [debug] 602395#602395: *1 http fastcgi record byte: 00 +2025/08/20 06:48:02 [debug] 602395#602395: *1 http fastcgi record byte: 00 +2025/08/20 06:48:02 [debug] 602395#602395: *1 http fastcgi record length: 504 +2025/08/20 06:48:02 [error] 602395#602395: *1 FastCGI sent in stderr: "6949015d069904d4bdf3a3c79427ac82456986a2e937b1d25b6d2ee8ee1e446a849cb19774df948ead" +} +DEBUG: authenticate_request - Event fields before validation: +DEBUG: id: 9561605b1062ce37e95ab9b81d300d9ad5bfb9c544ae395e1eb41f000c7d89f6 +DEBUG: pubkey: 79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 +DEBUG: sig: 95316ab75f8d02bb995a1248c274b99f9bc5dc0af5649e6949015d069904d4bdf3a3c79427ac82456986a2e937b1d25b6d2ee8ee1e446a849cb19774df948ead +DEBUG: kind: 24242 +DEBUG: created_at: 1755685428" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 06:48:02 [debug] 602395#602395: *1 http fastcgi record byte: 01 +2025/08/20 06:48:02 [debug] 602395#602395: *1 http fastcgi record byte: 07 +2025/08/20 06:48:02 [debug] 602395#602395: *1 http fastcgi record byte: 00 +2025/08/20 06:48:02 [debug] 602395#602395: *1 http fastcgi record byte: 01 +2025/08/20 06:48:02 [debug] 602395#602395: *1 http fastcgi record byte: 01 +2025/08/20 06:48:02 [debug] 602395#602395: *1 http fastcgi record byte: F8 +2025/08/20 06:48:02 [debug] 602395#602395: *1 http fastcgi record byte: 00 +2025/08/20 06:48:02 [debug] 602395#602395: *1 http fastcgi record byte: 00 +2025/08/20 06:48:02 [debug] 602395#602395: *1 http fastcgi record length: 504 +2025/08/20 06:48:02 [error] 602395#602395: *1 FastCGI sent in stderr: "DEBUG: authenticate_request - Detailed pubkey analysis: +DEBUG: Pubkey: 79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 +DEBUG: Length: DEBUG: Character analysis (first 10): 7(0x37) 9(0x39) b(0x62) e(0x65) 6(0x36) 6(0x36) 7(0x37) e(0x65) f(0x66) 9(0x39) +DEBUG: authenticate_request - calling nostr_validate_event +DEBUG: authenticate_request - Pre-validation pubkey analysis: +DEBUG: Pubkey: 79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 +DEBUG: Length: DEBUG:" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 06:48:02 [debug] 602395#602395: *1 http fastcgi record byte: 01 +2025/08/20 06:48:02 [debug] 602395#602395: *1 http fastcgi record byte: 07 +2025/08/20 06:48:02 [debug] 602395#602395: *1 http fastcgi record byte: 00 +2025/08/20 06:48:02 [debug] 602395#602395: *1 http fastcgi record byte: 01 +2025/08/20 06:48:02 [debug] 602395#602395: *1 http fastcgi record byte: 01 +2025/08/20 06:48:02 [debug] 602395#602395: *1 http fastcgi record byte: F8 +2025/08/20 06:48:02 [debug] 602395#602395: *1 http fastcgi record byte: 00 +2025/08/20 06:48:02 [debug] 602395#602395: *1 http fastcgi record byte: 00 +2025/08/20 06:48:02 [debug] 602395#602395: *1 http fastcgi record length: 504 +2025/08/20 06:48:02 [error] 602395#602395: *1 FastCGI sent in stderr: " Character analysis (first 10): 7(55) 9(57) b(98) e(101) 6(54) 6(54) 7(55) e(101) f(102) 9(57) +DEBUG: Character validation test: ALL VALID (lowercase hex) +DEBUG: authenticate_request - Starting detailed validation analysis +DEBUG: authenticate_request - Testing structure validation... +DEBUG: authenticate_request - nostr_validate_event_structure returned: 0 (Success) +DEBUG: authenticate_request - Structure validation PASSED +DEBUG: authenticate_request - Testing cryptographic verification... +DEBUG:" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 06:48:02 [debug] 602395#602395: *1 http fastcgi record byte: 01 +2025/08/20 06:48:02 [debug] 602395#602395: *1 http fastcgi record byte: 07 +2025/08/20 06:48:02 [debug] 602395#602395: *1 http fastcgi record byte: 00 +2025/08/20 06:48:02 [debug] 602395#602395: *1 http fastcgi record byte: 01 +2025/08/20 06:48:02 [debug] 602395#602395: *1 http fastcgi record byte: 01 +2025/08/20 06:48:02 [debug] 602395#602395: *1 http fastcgi record byte: 12 +2025/08/20 06:48:02 [debug] 602395#602395: *1 http fastcgi record byte: 06 +2025/08/20 06:48:02 [debug] 602395#602395: *1 http fastcgi record byte: 00 +2025/08/20 06:48:02 [debug] 602395#602395: *1 http fastcgi record length: 274 +2025/08/20 06:48:02 [error] 602395#602395: *1 FastCGI sent in stderr: "authenticate_request - nostr_verify_event_signature returned: -32 (Event has invalid public key) +DEBUG: authenticate_request - CRYPTO verification failed! +DEBUG: authenticate_request - Failed pubkey: 79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 (length:" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 06:48:02 [debug] 602395#602395: *1 http fastcgi record byte: 01 +2025/08/20 06:48:02 [debug] 602395#602395: *1 http fastcgi record byte: 07 +2025/08/20 06:48:02 [debug] 602395#602395: *1 http fastcgi record byte: 00 +2025/08/20 06:48:02 [debug] 602395#602395: *1 http fastcgi record byte: 01 +2025/08/20 06:48:02 [debug] 602395#602395: *1 http fastcgi record byte: 00 +2025/08/20 06:48:02 [debug] 602395#602395: *1 http fastcgi record byte: 00 +2025/08/20 06:48:02 [debug] 602395#602395: *1 http fastcgi record byte: 00 +2025/08/20 06:48:02 [debug] 602395#602395: *1 http fastcgi record byte: 00 +2025/08/20 06:48:02 [debug] 602395#602395: *1 http fastcgi record length: 0 +2025/08/20 06:48:02 [debug] 602395#602395: *1 http fastcgi record byte: 01 +2025/08/20 06:48:02 [debug] 602395#602395: *1 http fastcgi record byte: 06 +2025/08/20 06:48:02 [debug] 602395#602395: *1 http fastcgi record byte: 00 +2025/08/20 06:48:02 [debug] 602395#602395: *1 http fastcgi record byte: 01 +2025/08/20 06:48:02 [debug] 602395#602395: *1 http fastcgi record byte: 05 +2025/08/20 06:48:02 [debug] 602395#602395: *1 http fastcgi record byte: 46 +2025/08/20 06:48:02 [debug] 602395#602395: *1 http fastcgi record byte: 02 +2025/08/20 06:48:02 [debug] 602395#602395: *1 http fastcgi record byte: 00 +2025/08/20 06:48:02 [debug] 602395#602395: *1 http fastcgi record length: 1350 +2025/08/20 06:48:02 [debug] 602395#602395: *1 http fastcgi parser: 0 +2025/08/20 06:48:02 [debug] 602395#602395: *1 http fastcgi header: "DEBUG: FastCGI received request" +2025/08/20 06:48:02 [debug] 602395#602395: *1 http fastcgi parser: 0 +2025/08/20 06:48:02 [debug] 602395#602395: *1 http fastcgi header: "DEBUG: METHOD=PUT, URI=/upload" +2025/08/20 06:48:02 [debug] 602395#602395: *1 http fastcgi parser: 0 +2025/08/20 06:48:02 [debug] 602395#602395: *1 http fastcgi header: "DEBUG: handle_upload_request called" +2025/08/20 06:48:02 [debug] 602395#602395: *1 http fastcgi parser: 0 +2025/08/20 06:48:02 [debug] 602395#602395: *1 http fastcgi header: "LOG: [2025-08-20 06:48:02] PUT /upload - Auth: pending - Status: 0" +2025/08/20 06:48:02 [debug] 602395#602395: *1 http fastcgi parser: 0 +2025/08/20 06:48:02 [debug] 602395#602395: *1 http fastcgi header: "DEBUG: content_type=text/plain" +2025/08/20 06:48:02 [debug] 602395#602395: *1 http fastcgi parser: 0 +2025/08/20 06:48:02 [debug] 602395#602395: *1 http fastcgi header: "DEBUG: content_length=16" +2025/08/20 06:48:02 [debug] 602395#602395: *1 http fastcgi parser: -2 +2025/08/20 06:48:02 [debug] 602395#602395: *1 upstream split a header line in FastCGI records +2025/08/20 06:48:02 [error] 602395#602395: *1 upstream sent too big header while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 06:48:02 [debug] 602395#602395: *1 http next upstream, 8 +2025/08/20 06:48:02 [debug] 602395#602395: *1 free rr peer 1 4 +2025/08/20 06:48:02 [debug] 602395#602395: *1 finalize http upstream request: 502 +2025/08/20 06:48:02 [debug] 602395#602395: *1 finalize http fastcgi request +2025/08/20 06:48:02 [debug] 602395#602395: *1 close http upstream connection: 10 +2025/08/20 06:48:02 [debug] 602395#602395: *1 free: 00005E702F980F20, unused: 48 +2025/08/20 06:48:02 [debug] 602395#602395: *1 event timer del: 10: 253675464 +2025/08/20 06:48:02 [debug] 602395#602395: *1 reusable connection: 0 +2025/08/20 06:48:02 [debug] 602395#602395: *1 http finalize request: 502, "/upload?" a:1, c:1 +2025/08/20 06:48:02 [debug] 602395#602395: *1 http special response: 502, "/upload?" +2025/08/20 06:48:02 [debug] 602395#602395: *1 HTTP/1.1 502 Bad Gateway +Server: nginx/1.18.0 (Ubuntu) +Date: Wed, 20 Aug 2025 10:48:02 GMT +Content-Type: text/html +Content-Length: 166 +Connection: keep-alive + +2025/08/20 06:48:02 [debug] 602395#602395: *1 write new buf t:1 f:0 00005E702F9A1628, pos 00005E702F9A1628, size: 166 file: 0, size: 0 +2025/08/20 06:48:02 [debug] 602395#602395: *1 http write filter: l:0 f:0 s:166 +2025/08/20 06:48:02 [debug] 602395#602395: *1 http output filter "/upload?" +2025/08/20 06:48:02 [debug] 602395#602395: *1 http copy filter: "/upload?" +2025/08/20 06:48:02 [debug] 602395#602395: *1 http postpone filter "/upload?" 00005E702F9A1268 +2025/08/20 06:48:02 [debug] 602395#602395: *1 write old buf t:1 f:0 00005E702F9A1628, pos 00005E702F9A1628, size: 166 file: 0, size: 0 +2025/08/20 06:48:02 [debug] 602395#602395: *1 write new buf t:0 f:0 0000000000000000, pos 00005E700E00EA40, size: 104 file: 0, size: 0 +2025/08/20 06:48:02 [debug] 602395#602395: *1 write new buf t:0 f:0 0000000000000000, pos 00005E700E00FC80, size: 62 file: 0, size: 0 +2025/08/20 06:48:02 [debug] 602395#602395: *1 http write filter: l:1 f:0 s:332 +2025/08/20 06:48:02 [debug] 602395#602395: *1 http write filter limit 0 +2025/08/20 06:48:02 [debug] 602395#602395: *1 writev: 332 of 332 +2025/08/20 06:48:02 [debug] 602395#602395: *1 http write filter 0000000000000000 +2025/08/20 06:48:02 [debug] 602395#602395: *1 http copy filter: 0 "/upload?" +2025/08/20 06:48:02 [debug] 602395#602395: *1 http finalize request: 0, "/upload?" a:1, c:1 +2025/08/20 06:48:02 [debug] 602395#602395: *1 set http keepalive handler +2025/08/20 06:48:02 [debug] 602395#602395: *1 http close request +2025/08/20 06:48:02 [debug] 602395#602395: *1 http log handler +2025/08/20 06:48:02 [debug] 602395#602395: *1 free: 00005E702F9A2160 +2025/08/20 06:48:02 [debug] 602395#602395: *1 free: 00005E702F9B6A30, unused: 3 +2025/08/20 06:48:02 [debug] 602395#602395: *1 free: 00005E702F9ACDA0, unused: 8 +2025/08/20 06:48:02 [debug] 602395#602395: *1 free: 00005E702F9A1150, unused: 2250 +2025/08/20 06:48:02 [debug] 602395#602395: *1 free: 00005E702F99A0A0 +2025/08/20 06:48:02 [debug] 602395#602395: *1 hc free: 0000000000000000 +2025/08/20 06:48:02 [debug] 602395#602395: *1 hc busy: 0000000000000000 0 +2025/08/20 06:48:02 [debug] 602395#602395: *1 tcp_nodelay +2025/08/20 06:48:02 [debug] 602395#602395: *1 reusable connection: 1 +2025/08/20 06:48:02 [debug] 602395#602395: *1 event timer add: 6: 65000:253680466 +2025/08/20 06:48:02 [debug] 602395#602395: timer delta: 1 +2025/08/20 06:48:02 [debug] 602395#602395: worker cycle +2025/08/20 06:48:02 [debug] 602395#602395: epoll timer: 65000 +2025/08/20 06:48:02 [debug] 602395#602395: epoll: fd:6 ev:2005 d:0000766FE7B131E0 +2025/08/20 06:48:02 [debug] 602395#602395: *1 http keepalive handler +2025/08/20 06:48:02 [debug] 602395#602395: *1 malloc: 00005E702F99A0A0:1024 +2025/08/20 06:48:02 [debug] 602395#602395: *1 recv: eof:1, avail:-1 +2025/08/20 06:48:02 [debug] 602395#602395: *1 recv: fd:6 0 of 1024 +2025/08/20 06:48:02 [info] 602395#602395: *1 client 127.0.0.1 closed keepalive connection +2025/08/20 06:48:02 [debug] 602395#602395: *1 close http connection: 6 +2025/08/20 06:48:02 [debug] 602395#602395: *1 event timer del: 6: 253680466 +2025/08/20 06:48:02 [debug] 602395#602395: *1 reusable connection: 0 +2025/08/20 06:48:02 [debug] 602395#602395: *1 free: 00005E702F99A0A0 +2025/08/20 06:48:02 [debug] 602395#602395: *1 free: 00005E702F997840, unused: 120 +2025/08/20 06:48:02 [debug] 602395#602395: timer delta: 1 +2025/08/20 06:48:02 [debug] 602395#602395: worker cycle +2025/08/20 06:48:02 [debug] 602395#602395: epoll timer: -1 +2025/08/20 06:48:33 [debug] 602395#602395: epoll: fd:5 ev:0001 d:0000766FE7B13010 +2025/08/20 06:48:33 [debug] 602395#602395: accept on 0.0.0.0:9001, ready: 0 +2025/08/20 06:48:33 [debug] 602395#602395: posix_memalign: 00005E702F997840:512 @16 +2025/08/20 06:48:33 [debug] 602395#602395: *3 accept: 127.0.0.1:34702 fd:6 +2025/08/20 06:48:33 [debug] 602395#602395: *3 event timer add: 6: 60000:253707047 +2025/08/20 06:48:33 [debug] 602395#602395: *3 reusable connection: 1 +2025/08/20 06:48:33 [debug] 602395#602395: *3 epoll add event: fd:6 op:1 ev:80002001 +2025/08/20 06:48:33 [debug] 602395#602395: timer delta: 31580 +2025/08/20 06:48:33 [debug] 602395#602395: worker cycle +2025/08/20 06:48:33 [debug] 602395#602395: epoll timer: 60000 +2025/08/20 06:48:33 [debug] 602395#602395: epoll: fd:6 ev:0001 d:0000766FE7B131E1 +2025/08/20 06:48:33 [debug] 602395#602395: *3 http wait request handler +2025/08/20 06:48:33 [debug] 602395#602395: *3 malloc: 00005E702F99A0A0:1024 +2025/08/20 06:48:33 [debug] 602395#602395: *3 recv: eof:0, avail:-1 +2025/08/20 06:48:33 [debug] 602395#602395: *3 recv: fd:6 84 of 1024 +2025/08/20 06:48:33 [debug] 602395#602395: *3 reusable connection: 0 +2025/08/20 06:48:33 [debug] 602395#602395: *3 posix_memalign: 00005E702F9B6A30:4096 @16 +2025/08/20 06:48:33 [debug] 602395#602395: *3 http process request line +2025/08/20 06:48:33 [debug] 602395#602395: *3 http request line: "GET /health HTTP/1.1" +2025/08/20 06:48:33 [debug] 602395#602395: *3 http uri: "/health" +2025/08/20 06:48:33 [debug] 602395#602395: *3 http args: "" +2025/08/20 06:48:33 [debug] 602395#602395: *3 http exten: "" +2025/08/20 06:48:33 [debug] 602395#602395: *3 posix_memalign: 00005E702F9ACDA0:4096 @16 +2025/08/20 06:48:33 [debug] 602395#602395: *3 http process request header line +2025/08/20 06:48:33 [debug] 602395#602395: *3 http header: "Host: localhost:9001" +2025/08/20 06:48:33 [debug] 602395#602395: *3 http header: "User-Agent: curl/8.15.0" +2025/08/20 06:48:33 [debug] 602395#602395: *3 http header: "Accept: */*" +2025/08/20 06:48:33 [debug] 602395#602395: *3 http header done +2025/08/20 06:48:33 [debug] 602395#602395: *3 event timer del: 6: 253707047 +2025/08/20 06:48:33 [debug] 602395#602395: *3 generic phase: 0 +2025/08/20 06:48:33 [debug] 602395#602395: *3 rewrite phase: 1 +2025/08/20 06:48:33 [debug] 602395#602395: *3 test location: "/health" +2025/08/20 06:48:33 [debug] 602395#602395: *3 test location: ~ "^/([a-f0-9]{64}).*$" +2025/08/20 06:48:33 [debug] 602395#602395: *3 test location: ~ "^/([a-f0-9]{64})(\.[a-zA-Z0-9]+)?$" +2025/08/20 06:48:33 [debug] 602395#602395: *3 test location: ~ "^/fcgi-head/([a-f0-9]{64}).*$" +2025/08/20 06:48:33 [debug] 602395#602395: *3 test location: ~ "^/list/([a-f0-9]{64}).*$" +2025/08/20 06:48:33 [debug] 602395#602395: *3 using configuration "/health" +2025/08/20 06:48:33 [debug] 602395#602395: *3 http cl:-1 max:104857600 +2025/08/20 06:48:33 [debug] 602395#602395: *3 rewrite phase: 3 +2025/08/20 06:48:33 [debug] 602395#602395: *3 http set discard body +2025/08/20 06:48:33 [debug] 602395#602395: *3 HTTP/1.1 200 OK +Server: nginx/1.18.0 (Ubuntu) +Date: Wed, 20 Aug 2025 10:48:33 GMT +Content-Type: application/octet-stream +Content-Length: 3 +Connection: keep-alive +Content-Type: text/plain + +2025/08/20 06:48:33 [debug] 602395#602395: *3 write new buf t:1 f:0 00005E702F9AD180, pos 00005E702F9AD180, size: 196 file: 0, size: 0 +2025/08/20 06:48:33 [debug] 602395#602395: *3 http write filter: l:0 f:0 s:196 +2025/08/20 06:48:33 [debug] 602395#602395: *3 http output filter "/health?" +2025/08/20 06:48:33 [debug] 602395#602395: *3 http copy filter: "/health?" +2025/08/20 06:48:33 [debug] 602395#602395: *3 http postpone filter "/health?" 00007FFC67C2AEB0 +2025/08/20 06:48:33 [debug] 602395#602395: *3 write old buf t:1 f:0 00005E702F9AD180, pos 00005E702F9AD180, size: 196 file: 0, size: 0 +2025/08/20 06:48:33 [debug] 602395#602395: *3 write new buf t:0 f:0 0000000000000000, pos 00005E702F9D4B42, size: 3 file: 0, size: 0 +2025/08/20 06:48:33 [debug] 602395#602395: *3 http write filter: l:1 f:0 s:199 +2025/08/20 06:48:33 [debug] 602395#602395: *3 http write filter limit 0 +2025/08/20 06:48:33 [debug] 602395#602395: *3 writev: 199 of 199 +2025/08/20 06:48:33 [debug] 602395#602395: *3 http write filter 0000000000000000 +2025/08/20 06:48:33 [debug] 602395#602395: *3 http copy filter: 0 "/health?" +2025/08/20 06:48:33 [debug] 602395#602395: *3 http finalize request: 0, "/health?" a:1, c:1 +2025/08/20 06:48:33 [debug] 602395#602395: *3 set http keepalive handler +2025/08/20 06:48:33 [debug] 602395#602395: *3 http close request +2025/08/20 06:48:33 [debug] 602395#602395: *3 http log handler +2025/08/20 06:48:33 [debug] 602395#602395: *3 free: 00005E702F9B6A30, unused: 0 +2025/08/20 06:48:33 [debug] 602395#602395: *3 free: 00005E702F9ACDA0, unused: 2736 +2025/08/20 06:48:33 [debug] 602395#602395: *3 free: 00005E702F99A0A0 +2025/08/20 06:48:33 [debug] 602395#602395: *3 hc free: 0000000000000000 +2025/08/20 06:48:33 [debug] 602395#602395: *3 hc busy: 0000000000000000 0 +2025/08/20 06:48:33 [debug] 602395#602395: *3 tcp_nodelay +2025/08/20 06:48:33 [debug] 602395#602395: *3 reusable connection: 1 +2025/08/20 06:48:33 [debug] 602395#602395: *3 event timer add: 6: 65000:253712047 +2025/08/20 06:48:33 [debug] 602395#602395: timer delta: 0 +2025/08/20 06:48:33 [debug] 602395#602395: worker cycle +2025/08/20 06:48:33 [debug] 602395#602395: epoll timer: 65000 +2025/08/20 06:48:33 [debug] 602395#602395: epoll: fd:6 ev:2001 d:0000766FE7B131E1 +2025/08/20 06:48:33 [debug] 602395#602395: *3 http keepalive handler +2025/08/20 06:48:33 [debug] 602395#602395: *3 malloc: 00005E702F99A0A0:1024 +2025/08/20 06:48:33 [debug] 602395#602395: *3 recv: eof:1, avail:-1 +2025/08/20 06:48:33 [debug] 602395#602395: *3 recv: fd:6 0 of 1024 +2025/08/20 06:48:33 [info] 602395#602395: *3 client 127.0.0.1 closed keepalive connection +2025/08/20 06:48:33 [debug] 602395#602395: *3 close http connection: 6 +2025/08/20 06:48:33 [debug] 602395#602395: *3 event timer del: 6: 253712047 +2025/08/20 06:48:33 [debug] 602395#602395: *3 reusable connection: 0 +2025/08/20 06:48:33 [debug] 602395#602395: *3 free: 00005E702F99A0A0 +2025/08/20 06:48:33 [debug] 602395#602395: *3 free: 00005E702F997840, unused: 136 +2025/08/20 06:48:33 [debug] 602395#602395: timer delta: 1 +2025/08/20 06:48:33 [debug] 602395#602395: worker cycle +2025/08/20 06:48:33 [debug] 602395#602395: epoll timer: -1 +2025/08/20 06:49:28 [debug] 602395#602395: epoll: fd:5 ev:0001 d:0000766FE7B13010 +2025/08/20 06:49:28 [debug] 602395#602395: accept on 0.0.0.0:9001, ready: 0 +2025/08/20 06:49:28 [debug] 602395#602395: posix_memalign: 00005E702F997840:512 @16 +2025/08/20 06:49:28 [debug] 602395#602395: *4 accept: 127.0.0.1:51166 fd:6 +2025/08/20 06:49:28 [debug] 602395#602395: *4 event timer add: 6: 60000:253761319 +2025/08/20 06:49:28 [debug] 602395#602395: *4 reusable connection: 1 +2025/08/20 06:49:28 [debug] 602395#602395: *4 epoll add event: fd:6 op:1 ev:80002001 +2025/08/20 06:49:28 [debug] 602395#602395: timer delta: 54271 +2025/08/20 06:49:28 [debug] 602395#602395: worker cycle +2025/08/20 06:49:28 [debug] 602395#602395: epoll timer: 60000 +2025/08/20 06:49:28 [debug] 602395#602395: epoll: fd:6 ev:0001 d:0000766FE7B131E0 +2025/08/20 06:49:28 [debug] 602395#602395: *4 http wait request handler +2025/08/20 06:49:28 [debug] 602395#602395: *4 malloc: 00005E702F99A0A0:1024 +2025/08/20 06:49:28 [debug] 602395#602395: *4 recv: eof:0, avail:-1 +2025/08/20 06:49:28 [debug] 602395#602395: *4 recv: fd:6 133 of 1024 +2025/08/20 06:49:28 [debug] 602395#602395: *4 reusable connection: 0 +2025/08/20 06:49:28 [debug] 602395#602395: *4 posix_memalign: 00005E702F9B6A30:4096 @16 +2025/08/20 06:49:28 [debug] 602395#602395: *4 http process request line +2025/08/20 06:49:28 [debug] 602395#602395: *4 http request line: "PUT /upload HTTP/1.1" +2025/08/20 06:49:28 [debug] 602395#602395: *4 http uri: "/upload" +2025/08/20 06:49:28 [debug] 602395#602395: *4 http args: "" +2025/08/20 06:49:28 [debug] 602395#602395: *4 http exten: "" +2025/08/20 06:49:28 [debug] 602395#602395: *4 posix_memalign: 00005E702F9ACDA0:4096 @16 +2025/08/20 06:49:28 [debug] 602395#602395: *4 http process request header line +2025/08/20 06:49:28 [debug] 602395#602395: *4 http header: "Host: localhost:9001" +2025/08/20 06:49:28 [debug] 602395#602395: *4 http header: "User-Agent: curl/8.15.0" +2025/08/20 06:49:28 [debug] 602395#602395: *4 http header: "Accept: */*" +2025/08/20 06:49:28 [debug] 602395#602395: *4 http header: "Content-Type: text/plain" +2025/08/20 06:49:28 [debug] 602395#602395: *4 http header: "Content-Length: 4" +2025/08/20 06:49:28 [debug] 602395#602395: *4 http header done +2025/08/20 06:49:28 [debug] 602395#602395: *4 event timer del: 6: 253761319 +2025/08/20 06:49:28 [debug] 602395#602395: *4 generic phase: 0 +2025/08/20 06:49:28 [debug] 602395#602395: *4 rewrite phase: 1 +2025/08/20 06:49:28 [debug] 602395#602395: *4 test location: "/health" +2025/08/20 06:49:28 [debug] 602395#602395: *4 test location: "/upload" +2025/08/20 06:49:28 [debug] 602395#602395: *4 test location: ~ "^/([a-f0-9]{64}).*$" +2025/08/20 06:49:28 [debug] 602395#602395: *4 test location: ~ "^/([a-f0-9]{64})(\.[a-zA-Z0-9]+)?$" +2025/08/20 06:49:28 [debug] 602395#602395: *4 test location: ~ "^/fcgi-head/([a-f0-9]{64}).*$" +2025/08/20 06:49:28 [debug] 602395#602395: *4 test location: ~ "^/list/([a-f0-9]{64}).*$" +2025/08/20 06:49:28 [debug] 602395#602395: *4 using configuration "/upload" +2025/08/20 06:49:28 [debug] 602395#602395: *4 http cl:4 max:104857600 +2025/08/20 06:49:28 [debug] 602395#602395: *4 rewrite phase: 3 +2025/08/20 06:49:28 [debug] 602395#602395: *4 http script var +2025/08/20 06:49:28 [debug] 602395#602395: *4 http script var: "PUT" +2025/08/20 06:49:28 [debug] 602395#602395: *4 http script regex: "^(PUT)$" +2025/08/20 06:49:28 [notice] 602395#602395: *4 "^(PUT)$" matches "PUT", client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", host: "localhost:9001" +2025/08/20 06:49:28 [debug] 602395#602395: *4 http script if +2025/08/20 06:49:28 [debug] 602395#602395: *4 http script if: false +2025/08/20 06:49:28 [debug] 602395#602395: *4 post rewrite phase: 4 +2025/08/20 06:49:28 [debug] 602395#602395: *4 generic phase: 5 +2025/08/20 06:49:28 [debug] 602395#602395: *4 generic phase: 6 +2025/08/20 06:49:28 [debug] 602395#602395: *4 generic phase: 7 +2025/08/20 06:49:28 [debug] 602395#602395: *4 access phase: 8 +2025/08/20 06:49:28 [debug] 602395#602395: *4 access phase: 9 +2025/08/20 06:49:28 [debug] 602395#602395: *4 access phase: 10 +2025/08/20 06:49:28 [debug] 602395#602395: *4 post access phase: 11 +2025/08/20 06:49:28 [debug] 602395#602395: *4 generic phase: 12 +2025/08/20 06:49:28 [debug] 602395#602395: *4 generic phase: 13 +2025/08/20 06:49:28 [debug] 602395#602395: *4 http client request body preread 4 +2025/08/20 06:49:28 [debug] 602395#602395: *4 http request body content length filter +2025/08/20 06:49:28 [debug] 602395#602395: *4 http body new buf t:1 f:0 00005E702F99A121, pos 00005E702F99A121, size: 4 file: 0, size: 0 +2025/08/20 06:49:28 [debug] 602395#602395: *4 http init upstream, client timer: 0 +2025/08/20 06:49:28 [debug] 602395#602395: *4 epoll add event: fd:6 op:3 ev:80002005 +2025/08/20 06:49:28 [debug] 602395#602395: *4 http script copy: "QUERY_STRING" +2025/08/20 06:49:28 [debug] 602395#602395: *4 fastcgi param: "QUERY_STRING: " +2025/08/20 06:49:28 [debug] 602395#602395: *4 http script copy: "REQUEST_METHOD" +2025/08/20 06:49:28 [debug] 602395#602395: *4 http script var: "PUT" +2025/08/20 06:49:28 [debug] 602395#602395: *4 fastcgi param: "REQUEST_METHOD: PUT" +2025/08/20 06:49:28 [debug] 602395#602395: *4 http script copy: "CONTENT_TYPE" +2025/08/20 06:49:28 [debug] 602395#602395: *4 http script var: "text/plain" +2025/08/20 06:49:28 [debug] 602395#602395: *4 fastcgi param: "CONTENT_TYPE: text/plain" +2025/08/20 06:49:28 [debug] 602395#602395: *4 http script copy: "CONTENT_LENGTH" +2025/08/20 06:49:28 [debug] 602395#602395: *4 http script var: "4" +2025/08/20 06:49:28 [debug] 602395#602395: *4 fastcgi param: "CONTENT_LENGTH: 4" +2025/08/20 06:49:28 [debug] 602395#602395: *4 http script copy: "SCRIPT_NAME" +2025/08/20 06:49:28 [debug] 602395#602395: *4 http script var: "/upload" +2025/08/20 06:49:28 [debug] 602395#602395: *4 fastcgi param: "SCRIPT_NAME: /upload" +2025/08/20 06:49:28 [debug] 602395#602395: *4 http script copy: "REQUEST_URI" +2025/08/20 06:49:28 [debug] 602395#602395: *4 http script var: "/upload" +2025/08/20 06:49:28 [debug] 602395#602395: *4 fastcgi param: "REQUEST_URI: /upload" +2025/08/20 06:49:28 [debug] 602395#602395: *4 http script copy: "DOCUMENT_URI" +2025/08/20 06:49:28 [debug] 602395#602395: *4 http script var: "/upload" +2025/08/20 06:49:28 [debug] 602395#602395: *4 fastcgi param: "DOCUMENT_URI: /upload" +2025/08/20 06:49:28 [debug] 602395#602395: *4 http script copy: "DOCUMENT_ROOT" +2025/08/20 06:49:28 [debug] 602395#602395: *4 http script var: "./blobs" +2025/08/20 06:49:28 [debug] 602395#602395: *4 fastcgi param: "DOCUMENT_ROOT: ./blobs" +2025/08/20 06:49:28 [debug] 602395#602395: *4 http script copy: "SERVER_PROTOCOL" +2025/08/20 06:49:28 [debug] 602395#602395: *4 http script var: "HTTP/1.1" +2025/08/20 06:49:28 [debug] 602395#602395: *4 fastcgi param: "SERVER_PROTOCOL: HTTP/1.1" +2025/08/20 06:49:28 [debug] 602395#602395: *4 http script copy: "REQUEST_SCHEME" +2025/08/20 06:49:28 [debug] 602395#602395: *4 http script var: "http" +2025/08/20 06:49:28 [debug] 602395#602395: *4 fastcgi param: "REQUEST_SCHEME: http" +2025/08/20 06:49:28 [debug] 602395#602395: *4 http script copy: "" +2025/08/20 06:49:28 [debug] 602395#602395: *4 http script copy: "GATEWAY_INTERFACE" +2025/08/20 06:49:28 [debug] 602395#602395: *4 http script copy: "CGI/1.1" +2025/08/20 06:49:28 [debug] 602395#602395: *4 fastcgi param: "GATEWAY_INTERFACE: CGI/1.1" +2025/08/20 06:49:28 [debug] 602395#602395: *4 http script copy: "SERVER_SOFTWARE" +2025/08/20 06:49:28 [debug] 602395#602395: *4 http script copy: "nginx/" +2025/08/20 06:49:28 [debug] 602395#602395: *4 http script var: "1.18.0" +2025/08/20 06:49:28 [debug] 602395#602395: *4 fastcgi param: "SERVER_SOFTWARE: nginx/1.18.0" +2025/08/20 06:49:28 [debug] 602395#602395: *4 http script copy: "REMOTE_ADDR" +2025/08/20 06:49:28 [debug] 602395#602395: *4 http script var: "127.0.0.1" +2025/08/20 06:49:28 [debug] 602395#602395: *4 fastcgi param: "REMOTE_ADDR: 127.0.0.1" +2025/08/20 06:49:28 [debug] 602395#602395: *4 http script copy: "REMOTE_PORT" +2025/08/20 06:49:28 [debug] 602395#602395: *4 http script var: "51166" +2025/08/20 06:49:28 [debug] 602395#602395: *4 fastcgi param: "REMOTE_PORT: 51166" +2025/08/20 06:49:28 [debug] 602395#602395: *4 http script copy: "SERVER_ADDR" +2025/08/20 06:49:28 [debug] 602395#602395: *4 http script var: "127.0.0.1" +2025/08/20 06:49:28 [debug] 602395#602395: *4 fastcgi param: "SERVER_ADDR: 127.0.0.1" +2025/08/20 06:49:28 [debug] 602395#602395: *4 http script copy: "SERVER_PORT" +2025/08/20 06:49:28 [debug] 602395#602395: *4 http script var: "9001" +2025/08/20 06:49:28 [debug] 602395#602395: *4 fastcgi param: "SERVER_PORT: 9001" +2025/08/20 06:49:28 [debug] 602395#602395: *4 http script copy: "SERVER_NAME" +2025/08/20 06:49:28 [debug] 602395#602395: *4 http script var: "localhost" +2025/08/20 06:49:28 [debug] 602395#602395: *4 fastcgi param: "SERVER_NAME: localhost" +2025/08/20 06:49:28 [debug] 602395#602395: *4 http script copy: "REDIRECT_STATUS" +2025/08/20 06:49:28 [debug] 602395#602395: *4 http script copy: "200" +2025/08/20 06:49:28 [debug] 602395#602395: *4 fastcgi param: "REDIRECT_STATUS: 200" +2025/08/20 06:49:28 [debug] 602395#602395: *4 http script copy: "SCRIPT_FILENAME" +2025/08/20 06:49:28 [debug] 602395#602395: *4 http script var: "./blobs" +2025/08/20 06:49:28 [debug] 602395#602395: *4 http script copy: "/ginxsom.fcgi" +2025/08/20 06:49:28 [debug] 602395#602395: *4 fastcgi param: "SCRIPT_FILENAME: ./blobs/ginxsom.fcgi" +2025/08/20 06:49:28 [debug] 602395#602395: *4 fastcgi param: "HTTP_HOST: localhost:9001" +2025/08/20 06:49:28 [debug] 602395#602395: *4 fastcgi param: "HTTP_USER_AGENT: curl/8.15.0" +2025/08/20 06:49:28 [debug] 602395#602395: *4 fastcgi param: "HTTP_ACCEPT: */*" +2025/08/20 06:49:28 [debug] 602395#602395: *4 fastcgi param: "HTTP_CONTENT_TYPE: text/plain" +2025/08/20 06:49:28 [debug] 602395#602395: *4 fastcgi param: "HTTP_CONTENT_LENGTH: 4" +2025/08/20 06:49:28 [debug] 602395#602395: *4 http cleanup add: 00005E702F9ADBB0 +2025/08/20 06:49:28 [debug] 602395#602395: *4 get rr peer, try: 1 +2025/08/20 06:49:28 [debug] 602395#602395: *4 stream socket 10 +2025/08/20 06:49:28 [debug] 602395#602395: *4 epoll add connection: fd:10 ev:80002005 +2025/08/20 06:49:28 [debug] 602395#602395: *4 connect to unix:/tmp/ginxsom-fcgi.sock, fd:10 #5 +2025/08/20 06:49:28 [debug] 602395#602395: *4 connected +2025/08/20 06:49:28 [debug] 602395#602395: *4 http upstream connect: 0 +2025/08/20 06:49:28 [debug] 602395#602395: *4 posix_memalign: 00005E702F980F20:128 @16 +2025/08/20 06:49:28 [debug] 602395#602395: *4 http upstream send request +2025/08/20 06:49:28 [debug] 602395#602395: *4 http upstream send request body +2025/08/20 06:49:28 [debug] 602395#602395: *4 chain writer buf fl:0 s:576 +2025/08/20 06:49:28 [debug] 602395#602395: *4 chain writer buf fl:0 s:4 +2025/08/20 06:49:28 [debug] 602395#602395: *4 chain writer buf fl:0 s:12 +2025/08/20 06:49:28 [debug] 602395#602395: *4 chain writer in: 00005E702F9ADC20 +2025/08/20 06:49:28 [debug] 602395#602395: *4 writev: 592 of 592 +2025/08/20 06:49:28 [debug] 602395#602395: *4 chain writer out: 0000000000000000 +2025/08/20 06:49:28 [debug] 602395#602395: *4 event timer add: 10: 60000:253761319 +2025/08/20 06:49:28 [debug] 602395#602395: *4 http finalize request: -4, "/upload?" a:1, c:2 +2025/08/20 06:49:28 [debug] 602395#602395: *4 http request count:2 blk:0 +2025/08/20 06:49:28 [debug] 602395#602395: timer delta: 0 +2025/08/20 06:49:28 [debug] 602395#602395: worker cycle +2025/08/20 06:49:28 [debug] 602395#602395: epoll timer: 60000 +2025/08/20 06:49:28 [debug] 602395#602395: epoll: fd:6 ev:0004 d:0000766FE7B131E0 +2025/08/20 06:49:28 [debug] 602395#602395: *4 http run request: "/upload?" +2025/08/20 06:49:28 [debug] 602395#602395: *4 http upstream check client, write event:1, "/upload" +2025/08/20 06:49:28 [debug] 602395#602395: epoll: fd:10 ev:0004 d:0000766FE7B132C9 +2025/08/20 06:49:28 [debug] 602395#602395: *4 http upstream request: "/upload?" +2025/08/20 06:49:28 [debug] 602395#602395: *4 http upstream dummy handler +2025/08/20 06:49:28 [debug] 602395#602395: timer delta: 2 +2025/08/20 06:49:28 [debug] 602395#602395: worker cycle +2025/08/20 06:49:28 [debug] 602395#602395: epoll timer: 59998 +2025/08/20 06:49:28 [debug] 602395#602395: epoll: fd:10 ev:2005 d:0000766FE7B132C9 +2025/08/20 06:49:28 [debug] 602395#602395: *4 http upstream request: "/upload?" +2025/08/20 06:49:28 [debug] 602395#602395: *4 http upstream process header +2025/08/20 06:49:28 [debug] 602395#602395: *4 malloc: 00005E702F9A1150:4096 +2025/08/20 06:49:28 [debug] 602395#602395: *4 posix_memalign: 00005E702F9A2160:4096 @16 +2025/08/20 06:49:28 [debug] 602395#602395: *4 recv: eof:1, avail:-1 +2025/08/20 06:49:28 [debug] 602395#602395: *4 recv: fd:10 2312 of 4096 +2025/08/20 06:49:28 [debug] 602395#602395: *4 http fastcgi record byte: 01 +2025/08/20 06:49:28 [debug] 602395#602395: *4 http fastcgi record byte: 06 +2025/08/20 06:49:28 [debug] 602395#602395: *4 http fastcgi record byte: 00 +2025/08/20 06:49:28 [debug] 602395#602395: *4 http fastcgi record byte: 01 +2025/08/20 06:49:28 [debug] 602395#602395: *4 http fastcgi record byte: 08 +2025/08/20 06:49:28 [debug] 602395#602395: *4 http fastcgi record byte: E5 +2025/08/20 06:49:28 [debug] 602395#602395: *4 http fastcgi record byte: 03 +2025/08/20 06:49:28 [debug] 602395#602395: *4 http fastcgi record byte: 00 +2025/08/20 06:49:28 [debug] 602395#602395: *4 http fastcgi record length: 2277 +2025/08/20 06:49:28 [debug] 602395#602395: *4 http fastcgi parser: 0 +2025/08/20 06:49:28 [debug] 602395#602395: *4 http fastcgi header: "DEBUG: FastCGI received request" +2025/08/20 06:49:28 [debug] 602395#602395: *4 http fastcgi parser: 0 +2025/08/20 06:49:28 [debug] 602395#602395: *4 http fastcgi header: "DEBUG: METHOD=PUT, URI=/upload" +2025/08/20 06:49:28 [debug] 602395#602395: *4 http fastcgi parser: 0 +2025/08/20 06:49:28 [debug] 602395#602395: *4 http fastcgi header: "DEBUG: handle_upload_request called" +2025/08/20 06:49:28 [debug] 602395#602395: *4 http fastcgi parser: 0 +2025/08/20 06:49:28 [debug] 602395#602395: *4 http fastcgi header: "LOG: [2025-08-20 06:49:28] PUT /upload - Auth: pending - Status: 0" +2025/08/20 06:49:28 [debug] 602395#602395: *4 http fastcgi parser: 0 +2025/08/20 06:49:28 [debug] 602395#602395: *4 http fastcgi header: "DEBUG: content_type=text/plain" +2025/08/20 06:49:28 [debug] 602395#602395: *4 http fastcgi parser: 0 +2025/08/20 06:49:28 [debug] 602395#602395: *4 http fastcgi header: "DEBUG: content_length=4" +2025/08/20 06:49:28 [debug] 602395#602395: *4 http fastcgi parser: 0 +2025/08/20 06:49:28 [debug] 602395#602395: *4 http fastcgi header: "DEBUG: Raw Authorization header: NULL" +2025/08/20 06:49:28 [debug] 602395#602395: *4 http fastcgi parser: 0 +2025/08/20 06:49:28 [debug] 602395#602395: *4 http fastcgi header: "LOG: [2025-08-20 06:49:28] PUT /upload - Auth: anonymous - Status: 0" +2025/08/20 06:49:28 [debug] 602395#602395: *4 http fastcgi parser: 0 +2025/08/20 06:49:28 [debug] 602395#602395: *4 http fastcgi header: "DEBUG: Successfully read DEBUG: Calculated SHA-256: 9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08" +2025/08/20 06:49:28 [debug] 602395#602395: *4 http fastcgi parser: 0 +2025/08/20 06:49:28 [debug] 602395#602395: *4 http fastcgi header: "DEBUG: Authentication passed, uploader_pubkey: anonymous" +2025/08/20 06:49:28 [debug] 602395#602395: *4 http fastcgi parser: 0 +2025/08/20 06:49:28 [debug] 602395#602395: *4 http fastcgi header: "DEBUG: Saving file to: blobs/9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08.txt" +2025/08/20 06:49:28 [debug] 602395#602395: *4 http fastcgi parser: 0 +2025/08/20 06:49:28 [debug] 602395#602395: *4 http fastcgi header: "DEBUG: Successfully saved DEBUG: Content-Disposition header: NULL" +2025/08/20 06:49:28 [debug] 602395#602395: *4 http fastcgi parser: 0 +2025/08/20 06:49:28 [debug] 602395#602395: *4 http fastcgi header: "DEBUG: No Content-Disposition header provided" +2025/08/20 06:49:28 [debug] 602395#602395: *4 http fastcgi parser: 0 +2025/08/20 06:49:28 [debug] 602395#602395: *4 http fastcgi header: "DEBUG: Final filename after extraction: NULL" +2025/08/20 06:49:28 [debug] 602395#602395: *4 http fastcgi parser: 0 +2025/08/20 06:49:28 [debug] 602395#602395: *4 http fastcgi header: "DEBUG: insert_blob_metadata() called for sha256='9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08'" +2025/08/20 06:49:28 [debug] 602395#602395: *4 http fastcgi parser: 0 +2025/08/20 06:49:28 [debug] 602395#602395: *4 http fastcgi header: "DEBUG: Opening database at path: db/ginxsom.db" +2025/08/20 06:49:28 [debug] 602395#602395: *4 http fastcgi parser: 0 +2025/08/20 06:49:28 [debug] 602395#602395: *4 http fastcgi header: "DEBUG: Database opened successfully for writing" +2025/08/20 06:49:28 [debug] 602395#602395: *4 http fastcgi parser: 0 +2025/08/20 06:49:28 [debug] 602395#602395: *4 http fastcgi header: "DEBUG: Preparing SQL: INSERT INTO blobs (sha256, size, type, uploaded_at, uploader_pubkey, filename) VALUES (?, ?, ?, ?, ?, ?)" +2025/08/20 06:49:28 [debug] 602395#602395: *4 http fastcgi parser: 0 +2025/08/20 06:49:28 [debug] 602395#602395: *4 http fastcgi header: "DEBUG: SQL prepared successfully, binding parameters" +2025/08/20 06:49:28 [debug] 602395#602395: *4 http fastcgi parser: 0 +2025/08/20 06:49:28 [debug] 602395#602395: *4 http fastcgi header: "DEBUG: Parameter values to bind:" +2025/08/20 06:49:28 [debug] 602395#602395: *4 http fastcgi parser: 0 +2025/08/20 06:49:28 [debug] 602395#602395: *4 http fastcgi header: "DEBUG: 1. sha256 = '9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08'" +2025/08/20 06:49:28 [debug] 602395#602395: *4 http fastcgi parser: 0 +2025/08/20 06:49:28 [debug] 602395#602395: *4 http fastcgi header: "DEBUG: 2. size = 4" +2025/08/20 06:49:28 [debug] 602395#602395: *4 http fastcgi parser: 0 +2025/08/20 06:49:28 [debug] 602395#602395: *4 http fastcgi header: "DEBUG: 3. type = 'text/plain'" +2025/08/20 06:49:28 [debug] 602395#602395: *4 http fastcgi parser: 0 +2025/08/20 06:49:28 [debug] 602395#602395: *4 http fastcgi header: "DEBUG: 4. uploaded_at = 1755686968" +2025/08/20 06:49:28 [debug] 602395#602395: *4 http fastcgi parser: 0 +2025/08/20 06:49:28 [debug] 602395#602395: *4 http fastcgi header: "DEBUG: 5. uploader_pubkey = 'NULL'" +2025/08/20 06:49:28 [debug] 602395#602395: *4 http fastcgi parser: 0 +2025/08/20 06:49:28 [debug] 602395#602395: *4 http fastcgi header: "DEBUG: 6. filename = 'NULL'" +2025/08/20 06:49:28 [debug] 602395#602395: *4 http fastcgi parser: 0 +2025/08/20 06:49:28 [debug] 602395#602395: *4 http fastcgi header: "DEBUG: Binding parameter 1 (sha256)" +2025/08/20 06:49:28 [debug] 602395#602395: *4 http fastcgi parser: 0 +2025/08/20 06:49:28 [debug] 602395#602395: *4 http fastcgi header: "DEBUG: Binding parameter 2 (size)" +2025/08/20 06:49:28 [debug] 602395#602395: *4 http fastcgi parser: 0 +2025/08/20 06:49:28 [debug] 602395#602395: *4 http fastcgi header: "DEBUG: Binding parameter 3 (type)" +2025/08/20 06:49:28 [debug] 602395#602395: *4 http fastcgi parser: 0 +2025/08/20 06:49:28 [debug] 602395#602395: *4 http fastcgi header: "DEBUG: Binding parameter 4 (uploaded_at)" +2025/08/20 06:49:28 [debug] 602395#602395: *4 http fastcgi parser: 0 +2025/08/20 06:49:28 [debug] 602395#602395: *4 http fastcgi header: "DEBUG: Binding parameter 5 (uploader_pubkey)" +2025/08/20 06:49:28 [debug] 602395#602395: *4 http fastcgi parser: 0 +2025/08/20 06:49:28 [debug] 602395#602395: *4 http fastcgi header: "DEBUG: Binding uploader_pubkey as NULL" +2025/08/20 06:49:28 [debug] 602395#602395: *4 http fastcgi parser: 0 +2025/08/20 06:49:28 [debug] 602395#602395: *4 http fastcgi header: "DEBUG: Binding parameter 6 (filename)" +2025/08/20 06:49:28 [debug] 602395#602395: *4 http fastcgi parser: 0 +2025/08/20 06:49:28 [debug] 602395#602395: *4 http fastcgi header: "DEBUG: Binding filename as NULL" +2025/08/20 06:49:28 [debug] 602395#602395: *4 http fastcgi parser: 0 +2025/08/20 06:49:28 [debug] 602395#602395: *4 http fastcgi header: "DEBUG: Parameters bound, executing INSERT" +2025/08/20 06:49:28 [debug] 602395#602395: *4 http fastcgi parser: 0 +2025/08/20 06:49:28 [debug] 602395#602395: *4 http fastcgi header: "DEBUG: INSERT successful" +2025/08/20 06:49:28 [debug] 602395#602395: *4 http fastcgi parser: 0 +2025/08/20 06:49:28 [debug] 602395#602395: *4 http fastcgi header: "DEBUG: Database closed, returning 1" +2025/08/20 06:49:28 [debug] 602395#602395: *4 http fastcgi parser: 0 +2025/08/20 06:49:28 [debug] 602395#602395: *4 http fastcgi header: "DEBUG: Blob metadata successfully stored in database" +2025/08/20 06:49:28 [debug] 602395#602395: *4 http fastcgi parser: 0 +2025/08/20 06:49:28 [debug] 602395#602395: *4 http fastcgi header: "Status: 200 OK" +2025/08/20 06:49:28 [debug] 602395#602395: *4 http fastcgi parser: 0 +2025/08/20 06:49:28 [debug] 602395#602395: *4 http fastcgi header: "Content-Type: application/json" +2025/08/20 06:49:28 [debug] 602395#602395: *4 http fastcgi parser: 1 +2025/08/20 06:49:28 [debug] 602395#602395: *4 http fastcgi header done +2025/08/20 06:49:28 [debug] 602395#602395: *4 posix_memalign: 00005E702F9A3170:4096 @16 +2025/08/20 06:49:28 [debug] 602395#602395: *4 posix_memalign: 00005E702F9A4180:4096 @16 +2025/08/20 06:49:28 [debug] 602395#602395: *4 HTTP/1.1 200 OK +Server: nginx/1.18.0 (Ubuntu) +Date: Wed, 20 Aug 2025 10:49:28 GMT +Content-Type: application/json +Transfer-Encoding: chunked +Connection: keep-alive +DEBUG: FastCGI received request +DEBUG: METHOD=PUT, URI=/upload +DEBUG: handle_upload_request called +LOG: [2025-08-20 06:49:28] PUT /upload - Auth: pending - Status: 0 +DEBUG: content_type=text/plain +DEBUG: content_length=4 +DEBUG: Raw Authorization header: NULL +LOG: [2025-08-20 06:49:28] PUT /upload - Auth: anonymous - Status: 0 +DEBUG: Successfully read DEBUG: Calculated SHA-256: 9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08 +DEBUG: Authentication passed, uploader_pubkey: anonymous +DEBUG: Saving file to: blobs/9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08.txt +DEBUG: Successfully saved DEBUG: Content-Disposition header: NULL +DEBUG: No Content-Disposition header provided +DEBUG: Final filename after extraction: NULL +DEBUG: insert_blob_metadata() called for sha256='9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08' +DEBUG: Opening database at path: db/ginxsom.db +DEBUG: Database opened successfully for writing +DEBUG: Preparing SQL: INSERT INTO blobs (sha256, size, type, uploaded_at, uploader_pubkey, filename) VALUES (?, ?, ?, ?, ?, ?) +DEBUG: SQL prepared successfully, binding parameters +DEBUG: Parameter values to bind: +DEBUG: 1. sha256 = '9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08' +DEBUG: 2. size = 4 +DEBUG: 3. type = 'text/plain' +DEBUG: 4. uploaded_at = 1755686968 +DEBUG: 5. uploader_pubkey = 'NULL' +DEBUG: 6. filename = 'NULL' +DEBUG: Binding parameter 1 (sha256) +DEBUG: Binding parameter 2 (size) +DEBUG: Binding parameter 3 (type) +DEBUG: Binding parameter 4 (uploaded_at) +DEBUG: Binding parameter 5 (uploader_pubkey) +DEBUG: Binding uploader_pubkey as NULL +DEBUG: Binding parameter 6 (filename) +DEBUG: Binding filename as NULL +DEBUG: Parameters bound, executing INSERT +DEBUG: INSERT successful +DEBUG: Database c +2025/08/20 06:49:28 [debug] 602395#602395: *4 write new buf t:1 f:0 00005E702F9A41A0, pos 00005E702F9A41A0, size: 2166 file: 0, size: 0 +2025/08/20 06:49:28 [debug] 602395#602395: *4 http write filter: l:0 f:0 s:2166 +2025/08/20 06:49:28 [debug] 602395#602395: *4 http write filter limit 0 +2025/08/20 06:49:28 [debug] 602395#602395: *4 writev: 2166 of 2166 +2025/08/20 06:49:28 [debug] 602395#602395: *4 http write filter 0000000000000000 +2025/08/20 06:49:28 [debug] 602395#602395: *4 http cacheable: 0 +2025/08/20 06:49:28 [debug] 602395#602395: *4 http upstream process upstream +2025/08/20 06:49:28 [debug] 602395#602395: *4 pipe read upstream: 1 +2025/08/20 06:49:28 [debug] 602395#602395: *4 pipe preread: 336 +2025/08/20 06:49:28 [debug] 602395#602395: *4 readv: eof:1, avail:0 +2025/08/20 06:49:28 [debug] 602395#602395: *4 readv: 1, last:1784 +2025/08/20 06:49:28 [debug] 602395#602395: *4 pipe recv chain: 0 +2025/08/20 06:49:28 [debug] 602395#602395: *4 pipe buf free s:0 t:1 f:0 00005E702F9A1150, pos 00005E702F9A1908, size: 336 file: 0, size: 0 +2025/08/20 06:49:28 [debug] 602395#602395: *4 pipe length: -1 +2025/08/20 06:49:28 [debug] 602395#602395: *4 input buf #0 00005E702F9A1908 +2025/08/20 06:49:28 [debug] 602395#602395: *4 http fastcgi record byte: 01 +2025/08/20 06:49:28 [debug] 602395#602395: *4 http fastcgi record byte: 06 +2025/08/20 06:49:28 [debug] 602395#602395: *4 http fastcgi record byte: 00 +2025/08/20 06:49:28 [debug] 602395#602395: *4 http fastcgi record byte: 01 +2025/08/20 06:49:28 [debug] 602395#602395: *4 http fastcgi record byte: 00 +2025/08/20 06:49:28 [debug] 602395#602395: *4 http fastcgi record byte: 00 +2025/08/20 06:49:28 [debug] 602395#602395: *4 http fastcgi record byte: 00 +2025/08/20 06:49:28 [debug] 602395#602395: *4 http fastcgi record byte: 00 +2025/08/20 06:49:28 [debug] 602395#602395: *4 http fastcgi record length: 0 +2025/08/20 06:49:28 [debug] 602395#602395: *4 http fastcgi closed stdout +2025/08/20 06:49:28 [debug] 602395#602395: *4 http fastcgi record byte: 01 +2025/08/20 06:49:28 [debug] 602395#602395: *4 http fastcgi record byte: 03 +2025/08/20 06:49:28 [debug] 602395#602395: *4 http fastcgi record byte: 00 +2025/08/20 06:49:28 [debug] 602395#602395: *4 http fastcgi record byte: 01 +2025/08/20 06:49:28 [debug] 602395#602395: *4 http fastcgi record byte: 00 +2025/08/20 06:49:28 [debug] 602395#602395: *4 http fastcgi record byte: 08 +2025/08/20 06:49:28 [debug] 602395#602395: *4 http fastcgi record byte: 00 +2025/08/20 06:49:28 [debug] 602395#602395: *4 http fastcgi record byte: 00 +2025/08/20 06:49:28 [debug] 602395#602395: *4 http fastcgi record length: 8 +2025/08/20 06:49:28 [debug] 602395#602395: *4 http fastcgi sent end request +2025/08/20 06:49:28 [debug] 602395#602395: *4 input buf 00005E702F9A1908 309 +2025/08/20 06:49:28 [debug] 602395#602395: *4 pipe write downstream: 1 +2025/08/20 06:49:28 [debug] 602395#602395: *4 pipe write downstream flush in +2025/08/20 06:49:28 [debug] 602395#602395: *4 http output filter "/upload?" +2025/08/20 06:49:28 [debug] 602395#602395: *4 http copy filter: "/upload?" +2025/08/20 06:49:28 [debug] 602395#602395: *4 http postpone filter "/upload?" 00005E702F9ADC00 +2025/08/20 06:49:28 [debug] 602395#602395: *4 http chunk: 309 +2025/08/20 06:49:28 [debug] 602395#602395: *4 write new buf t:1 f:0 00005E702F9A3140, pos 00005E702F9A3140, size: 5 file: 0, size: 0 +2025/08/20 06:49:28 [debug] 602395#602395: *4 write new buf t:1 f:0 00005E702F9A1150, pos 00005E702F9A1908, size: 309 file: 0, size: 0 +2025/08/20 06:49:28 [debug] 602395#602395: *4 write new buf t:0 f:0 0000000000000000, pos 00005E700DFD02E8, size: 2 file: 0, size: 0 +2025/08/20 06:49:28 [debug] 602395#602395: *4 http write filter: l:0 f:0 s:316 +2025/08/20 06:49:28 [debug] 602395#602395: *4 http copy filter: 0 "/upload?" +2025/08/20 06:49:28 [debug] 602395#602395: *4 pipe write downstream done +2025/08/20 06:49:28 [debug] 602395#602395: *4 event timer: 10, old: 253761319, new: 253761324 +2025/08/20 06:49:28 [debug] 602395#602395: *4 http upstream exit: 0000000000000000 +2025/08/20 06:49:28 [debug] 602395#602395: *4 finalize http upstream request: 0 +2025/08/20 06:49:28 [debug] 602395#602395: *4 finalize http fastcgi request +2025/08/20 06:49:28 [debug] 602395#602395: *4 free rr peer 1 0 +2025/08/20 06:49:28 [debug] 602395#602395: *4 close http upstream connection: 10 +2025/08/20 06:49:28 [debug] 602395#602395: *4 free: 00005E702F980F20, unused: 48 +2025/08/20 06:49:28 [debug] 602395#602395: *4 event timer del: 10: 253761319 +2025/08/20 06:49:28 [debug] 602395#602395: *4 reusable connection: 0 +2025/08/20 06:49:28 [debug] 602395#602395: *4 http upstream temp fd: -1 +2025/08/20 06:49:28 [debug] 602395#602395: *4 http output filter "/upload?" +2025/08/20 06:49:28 [debug] 602395#602395: *4 http copy filter: "/upload?" +2025/08/20 06:49:28 [debug] 602395#602395: *4 http postpone filter "/upload?" 00007FFC67C2AF60 +2025/08/20 06:49:28 [debug] 602395#602395: *4 http chunk: 0 +2025/08/20 06:49:28 [debug] 602395#602395: *4 write old buf t:1 f:0 00005E702F9A3140, pos 00005E702F9A3140, size: 5 file: 0, size: 0 +2025/08/20 06:49:28 [debug] 602395#602395: *4 write old buf t:1 f:0 00005E702F9A1150, pos 00005E702F9A1908, size: 309 file: 0, size: 0 +2025/08/20 06:49:28 [debug] 602395#602395: *4 write old buf t:0 f:0 0000000000000000, pos 00005E700DFD02E8, size: 2 file: 0, size: 0 +2025/08/20 06:49:28 [debug] 602395#602395: *4 write new buf t:0 f:0 0000000000000000, pos 00005E700DFD02E5, size: 5 file: 0, size: 0 +2025/08/20 06:49:28 [debug] 602395#602395: *4 http write filter: l:1 f:0 s:321 +2025/08/20 06:49:28 [debug] 602395#602395: *4 http write filter limit 0 +2025/08/20 06:49:28 [debug] 602395#602395: *4 writev: 321 of 321 +2025/08/20 06:49:28 [debug] 602395#602395: *4 http write filter 0000000000000000 +2025/08/20 06:49:28 [debug] 602395#602395: *4 http copy filter: 0 "/upload?" +2025/08/20 06:49:28 [debug] 602395#602395: *4 http finalize request: 0, "/upload?" a:1, c:1 +2025/08/20 06:49:28 [debug] 602395#602395: *4 set http keepalive handler +2025/08/20 06:49:28 [debug] 602395#602395: *4 http close request +2025/08/20 06:49:28 [debug] 602395#602395: *4 http log handler +2025/08/20 06:49:28 [debug] 602395#602395: *4 free: 00005E702F9A1150 +2025/08/20 06:49:28 [debug] 602395#602395: *4 free: 00005E702F9B6A30, unused: 3 +2025/08/20 06:49:28 [debug] 602395#602395: *4 free: 00005E702F9ACDA0, unused: 9 +2025/08/20 06:49:28 [debug] 602395#602395: *4 free: 00005E702F9A2160, unused: 14 +2025/08/20 06:49:28 [debug] 602395#602395: *4 free: 00005E702F9A3170, unused: 1138 +2025/08/20 06:49:28 [debug] 602395#602395: *4 free: 00005E702F9A4180, unused: 1898 +2025/08/20 06:49:28 [debug] 602395#602395: *4 free: 00005E702F99A0A0 +2025/08/20 06:49:28 [debug] 602395#602395: *4 hc free: 0000000000000000 +2025/08/20 06:49:28 [debug] 602395#602395: *4 hc busy: 0000000000000000 0 +2025/08/20 06:49:28 [debug] 602395#602395: *4 tcp_nodelay +2025/08/20 06:49:28 [debug] 602395#602395: *4 reusable connection: 1 +2025/08/20 06:49:28 [debug] 602395#602395: *4 event timer add: 6: 65000:253766324 +2025/08/20 06:49:28 [debug] 602395#602395: timer delta: 3 +2025/08/20 06:49:28 [debug] 602395#602395: worker cycle +2025/08/20 06:49:28 [debug] 602395#602395: epoll timer: 65000 +2025/08/20 06:49:28 [debug] 602395#602395: epoll: fd:6 ev:2005 d:0000766FE7B131E0 +2025/08/20 06:49:28 [debug] 602395#602395: *4 http keepalive handler +2025/08/20 06:49:28 [debug] 602395#602395: *4 malloc: 00005E702F99A0A0:1024 +2025/08/20 06:49:28 [debug] 602395#602395: *4 recv: eof:1, avail:-1 +2025/08/20 06:49:28 [debug] 602395#602395: *4 recv: fd:6 0 of 1024 +2025/08/20 06:49:28 [info] 602395#602395: *4 client 127.0.0.1 closed keepalive connection +2025/08/20 06:49:28 [debug] 602395#602395: *4 close http connection: 6 +2025/08/20 06:49:28 [debug] 602395#602395: *4 event timer del: 6: 253766324 +2025/08/20 06:49:28 [debug] 602395#602395: *4 reusable connection: 0 +2025/08/20 06:49:28 [debug] 602395#602395: *4 free: 00005E702F99A0A0 +2025/08/20 06:49:28 [debug] 602395#602395: *4 free: 00005E702F997840, unused: 120 +2025/08/20 06:49:28 [debug] 602395#602395: timer delta: 2 +2025/08/20 06:49:28 [debug] 602395#602395: worker cycle +2025/08/20 06:49:28 [debug] 602395#602395: epoll timer: -1 +2025/08/20 06:49:47 [debug] 602395#602395: epoll: fd:5 ev:0001 d:0000766FE7B13010 +2025/08/20 06:49:47 [debug] 602395#602395: accept on 0.0.0.0:9001, ready: 0 +2025/08/20 06:49:47 [debug] 602395#602395: posix_memalign: 00005E702F997840:512 @16 +2025/08/20 06:49:47 [debug] 602395#602395: *6 accept: 127.0.0.1:45398 fd:6 +2025/08/20 06:49:47 [debug] 602395#602395: *6 event timer add: 6: 60000:253780450 +2025/08/20 06:49:47 [debug] 602395#602395: *6 reusable connection: 1 +2025/08/20 06:49:47 [debug] 602395#602395: *6 epoll add event: fd:6 op:1 ev:80002001 +2025/08/20 06:49:47 [debug] 602395#602395: timer delta: 19124 +2025/08/20 06:49:47 [debug] 602395#602395: worker cycle +2025/08/20 06:49:47 [debug] 602395#602395: epoll timer: 60000 +2025/08/20 06:49:47 [debug] 602395#602395: epoll: fd:6 ev:0001 d:0000766FE7B131E1 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http wait request handler +2025/08/20 06:49:47 [debug] 602395#602395: *6 malloc: 00005E702F99A0A0:1024 +2025/08/20 06:49:47 [debug] 602395#602395: *6 recv: eof:0, avail:-1 +2025/08/20 06:49:47 [debug] 602395#602395: *6 recv: fd:6 785 of 1024 +2025/08/20 06:49:47 [debug] 602395#602395: *6 reusable connection: 0 +2025/08/20 06:49:47 [debug] 602395#602395: *6 posix_memalign: 00005E702F9B6A30:4096 @16 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http process request line +2025/08/20 06:49:47 [debug] 602395#602395: *6 http request line: "PUT /upload HTTP/1.1" +2025/08/20 06:49:47 [debug] 602395#602395: *6 http uri: "/upload" +2025/08/20 06:49:47 [debug] 602395#602395: *6 http args: "" +2025/08/20 06:49:47 [debug] 602395#602395: *6 http exten: "" +2025/08/20 06:49:47 [debug] 602395#602395: *6 posix_memalign: 00005E702F9ACDA0:4096 @16 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http process request header line +2025/08/20 06:49:47 [debug] 602395#602395: *6 http header: "Host: localhost:9001" +2025/08/20 06:49:47 [debug] 602395#602395: *6 http header: "User-Agent: curl/8.15.0" +2025/08/20 06:49:47 [debug] 602395#602395: *6 http header: "Accept: */*" +2025/08/20 06:49:47 [debug] 602395#602395: *6 http header: "Content-Type: text/plain" +2025/08/20 06:49:47 [debug] 602395#602395: *6 http header: "Authorization: Nostr eyJraW5kIjoyNDI0MiwiaWQiOiI5NTYxNjA1YjEwNjJjZTM3ZTk1YWI5YjgxZDMwMGQ5YWQ1YmZiOWM1NDRhZTM5NWUxZWI0MWYwMDBjN2Q4OWY2IiwicHVia2V5IjoiNzliZTY2N2VmOWRjYmJhYzU1YTA2Mjk1Y2U4NzBiMDcwMjliZmNkYjJkY2UyOGQ5NTlmMjgxNWIxNmY4MTc5OCIsImNyZWF0ZWRfYXQiOjE3NTU2ODU0MjgsInRhZ3MiOltbInQiLCJ1cGxvYWQiXSxbIngiLCI4NDcxNjE3MWJhYjE2YWQwMjFiZDg5NTMwNTAxODlmZTYwNzU5MTc0MzZjZDExY2M5MzNmMDIxYmJjNWQ1YjBiIl0sWyJleHBpcmF0aW9uIiwiMTc1NTY4OTAyOCJdXSwiY29udGVudCI6IiIsInNpZyI6Ijk1MzE2YWI3NWY4ZDAyYmI5OTVhMTI0OGMyNzRiOTlmOWJjNWRjMGFmNTY0OWU2OTQ5MDE1ZDA2OTkwNGQ0YmRmM2EzYzc5NDI3YWM4MjQ1Njk4NmEyZTkzN2IxZDI1YjZkMmVlOGVlMWU0NDZhODQ5Y2IxOTc3NGRmOTQ4ZWFkIn0=" +2025/08/20 06:49:47 [debug] 602395#602395: *6 http header: "Content-Length: 16" +2025/08/20 06:49:47 [debug] 602395#602395: *6 http header done +2025/08/20 06:49:47 [debug] 602395#602395: *6 event timer del: 6: 253780450 +2025/08/20 06:49:47 [debug] 602395#602395: *6 generic phase: 0 +2025/08/20 06:49:47 [debug] 602395#602395: *6 rewrite phase: 1 +2025/08/20 06:49:47 [debug] 602395#602395: *6 test location: "/health" +2025/08/20 06:49:47 [debug] 602395#602395: *6 test location: "/upload" +2025/08/20 06:49:47 [debug] 602395#602395: *6 test location: ~ "^/([a-f0-9]{64}).*$" +2025/08/20 06:49:47 [debug] 602395#602395: *6 test location: ~ "^/([a-f0-9]{64})(\.[a-zA-Z0-9]+)?$" +2025/08/20 06:49:47 [debug] 602395#602395: *6 test location: ~ "^/fcgi-head/([a-f0-9]{64}).*$" +2025/08/20 06:49:47 [debug] 602395#602395: *6 test location: ~ "^/list/([a-f0-9]{64}).*$" +2025/08/20 06:49:47 [debug] 602395#602395: *6 using configuration "/upload" +2025/08/20 06:49:47 [debug] 602395#602395: *6 http cl:16 max:104857600 +2025/08/20 06:49:47 [debug] 602395#602395: *6 rewrite phase: 3 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http script var +2025/08/20 06:49:47 [debug] 602395#602395: *6 http script var: "PUT" +2025/08/20 06:49:47 [debug] 602395#602395: *6 http script regex: "^(PUT)$" +2025/08/20 06:49:47 [notice] 602395#602395: *6 "^(PUT)$" matches "PUT", client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", host: "localhost:9001" +2025/08/20 06:49:47 [debug] 602395#602395: *6 http script if +2025/08/20 06:49:47 [debug] 602395#602395: *6 http script if: false +2025/08/20 06:49:47 [debug] 602395#602395: *6 post rewrite phase: 4 +2025/08/20 06:49:47 [debug] 602395#602395: *6 generic phase: 5 +2025/08/20 06:49:47 [debug] 602395#602395: *6 generic phase: 6 +2025/08/20 06:49:47 [debug] 602395#602395: *6 generic phase: 7 +2025/08/20 06:49:47 [debug] 602395#602395: *6 access phase: 8 +2025/08/20 06:49:47 [debug] 602395#602395: *6 access phase: 9 +2025/08/20 06:49:47 [debug] 602395#602395: *6 access phase: 10 +2025/08/20 06:49:47 [debug] 602395#602395: *6 post access phase: 11 +2025/08/20 06:49:47 [debug] 602395#602395: *6 generic phase: 12 +2025/08/20 06:49:47 [debug] 602395#602395: *6 generic phase: 13 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http client request body preread 16 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http request body content length filter +2025/08/20 06:49:47 [debug] 602395#602395: *6 http body new buf t:1 f:0 00005E702F99A3A1, pos 00005E702F99A3A1, size: 16 file: 0, size: 0 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http init upstream, client timer: 0 +2025/08/20 06:49:47 [debug] 602395#602395: *6 epoll add event: fd:6 op:3 ev:80002005 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http script copy: "QUERY_STRING" +2025/08/20 06:49:47 [debug] 602395#602395: *6 fastcgi param: "QUERY_STRING: " +2025/08/20 06:49:47 [debug] 602395#602395: *6 http script copy: "REQUEST_METHOD" +2025/08/20 06:49:47 [debug] 602395#602395: *6 http script var: "PUT" +2025/08/20 06:49:47 [debug] 602395#602395: *6 fastcgi param: "REQUEST_METHOD: PUT" +2025/08/20 06:49:47 [debug] 602395#602395: *6 http script copy: "CONTENT_TYPE" +2025/08/20 06:49:47 [debug] 602395#602395: *6 http script var: "text/plain" +2025/08/20 06:49:47 [debug] 602395#602395: *6 fastcgi param: "CONTENT_TYPE: text/plain" +2025/08/20 06:49:47 [debug] 602395#602395: *6 http script copy: "CONTENT_LENGTH" +2025/08/20 06:49:47 [debug] 602395#602395: *6 http script var: "16" +2025/08/20 06:49:47 [debug] 602395#602395: *6 fastcgi param: "CONTENT_LENGTH: 16" +2025/08/20 06:49:47 [debug] 602395#602395: *6 http script copy: "SCRIPT_NAME" +2025/08/20 06:49:47 [debug] 602395#602395: *6 http script var: "/upload" +2025/08/20 06:49:47 [debug] 602395#602395: *6 fastcgi param: "SCRIPT_NAME: /upload" +2025/08/20 06:49:47 [debug] 602395#602395: *6 http script copy: "REQUEST_URI" +2025/08/20 06:49:47 [debug] 602395#602395: *6 http script var: "/upload" +2025/08/20 06:49:47 [debug] 602395#602395: *6 fastcgi param: "REQUEST_URI: /upload" +2025/08/20 06:49:47 [debug] 602395#602395: *6 http script copy: "DOCUMENT_URI" +2025/08/20 06:49:47 [debug] 602395#602395: *6 http script var: "/upload" +2025/08/20 06:49:47 [debug] 602395#602395: *6 fastcgi param: "DOCUMENT_URI: /upload" +2025/08/20 06:49:47 [debug] 602395#602395: *6 http script copy: "DOCUMENT_ROOT" +2025/08/20 06:49:47 [debug] 602395#602395: *6 http script var: "./blobs" +2025/08/20 06:49:47 [debug] 602395#602395: *6 fastcgi param: "DOCUMENT_ROOT: ./blobs" +2025/08/20 06:49:47 [debug] 602395#602395: *6 http script copy: "SERVER_PROTOCOL" +2025/08/20 06:49:47 [debug] 602395#602395: *6 http script var: "HTTP/1.1" +2025/08/20 06:49:47 [debug] 602395#602395: *6 fastcgi param: "SERVER_PROTOCOL: HTTP/1.1" +2025/08/20 06:49:47 [debug] 602395#602395: *6 http script copy: "REQUEST_SCHEME" +2025/08/20 06:49:47 [debug] 602395#602395: *6 http script var: "http" +2025/08/20 06:49:47 [debug] 602395#602395: *6 fastcgi param: "REQUEST_SCHEME: http" +2025/08/20 06:49:47 [debug] 602395#602395: *6 http script copy: "" +2025/08/20 06:49:47 [debug] 602395#602395: *6 http script copy: "GATEWAY_INTERFACE" +2025/08/20 06:49:47 [debug] 602395#602395: *6 http script copy: "CGI/1.1" +2025/08/20 06:49:47 [debug] 602395#602395: *6 fastcgi param: "GATEWAY_INTERFACE: CGI/1.1" +2025/08/20 06:49:47 [debug] 602395#602395: *6 http script copy: "SERVER_SOFTWARE" +2025/08/20 06:49:47 [debug] 602395#602395: *6 http script copy: "nginx/" +2025/08/20 06:49:47 [debug] 602395#602395: *6 http script var: "1.18.0" +2025/08/20 06:49:47 [debug] 602395#602395: *6 fastcgi param: "SERVER_SOFTWARE: nginx/1.18.0" +2025/08/20 06:49:47 [debug] 602395#602395: *6 http script copy: "REMOTE_ADDR" +2025/08/20 06:49:47 [debug] 602395#602395: *6 http script var: "127.0.0.1" +2025/08/20 06:49:47 [debug] 602395#602395: *6 fastcgi param: "REMOTE_ADDR: 127.0.0.1" +2025/08/20 06:49:47 [debug] 602395#602395: *6 http script copy: "REMOTE_PORT" +2025/08/20 06:49:47 [debug] 602395#602395: *6 http script var: "45398" +2025/08/20 06:49:47 [debug] 602395#602395: *6 fastcgi param: "REMOTE_PORT: 45398" +2025/08/20 06:49:47 [debug] 602395#602395: *6 http script copy: "SERVER_ADDR" +2025/08/20 06:49:47 [debug] 602395#602395: *6 http script var: "127.0.0.1" +2025/08/20 06:49:47 [debug] 602395#602395: *6 fastcgi param: "SERVER_ADDR: 127.0.0.1" +2025/08/20 06:49:47 [debug] 602395#602395: *6 http script copy: "SERVER_PORT" +2025/08/20 06:49:47 [debug] 602395#602395: *6 http script var: "9001" +2025/08/20 06:49:47 [debug] 602395#602395: *6 fastcgi param: "SERVER_PORT: 9001" +2025/08/20 06:49:47 [debug] 602395#602395: *6 http script copy: "SERVER_NAME" +2025/08/20 06:49:47 [debug] 602395#602395: *6 http script var: "localhost" +2025/08/20 06:49:47 [debug] 602395#602395: *6 fastcgi param: "SERVER_NAME: localhost" +2025/08/20 06:49:47 [debug] 602395#602395: *6 http script copy: "REDIRECT_STATUS" +2025/08/20 06:49:47 [debug] 602395#602395: *6 http script copy: "200" +2025/08/20 06:49:47 [debug] 602395#602395: *6 fastcgi param: "REDIRECT_STATUS: 200" +2025/08/20 06:49:47 [debug] 602395#602395: *6 http script copy: "SCRIPT_FILENAME" +2025/08/20 06:49:47 [debug] 602395#602395: *6 http script var: "./blobs" +2025/08/20 06:49:47 [debug] 602395#602395: *6 http script copy: "/ginxsom.fcgi" +2025/08/20 06:49:47 [debug] 602395#602395: *6 fastcgi param: "SCRIPT_FILENAME: ./blobs/ginxsom.fcgi" +2025/08/20 06:49:47 [debug] 602395#602395: *6 fastcgi param: "HTTP_HOST: localhost:9001" +2025/08/20 06:49:47 [debug] 602395#602395: *6 fastcgi param: "HTTP_USER_AGENT: curl/8.15.0" +2025/08/20 06:49:47 [debug] 602395#602395: *6 fastcgi param: "HTTP_ACCEPT: */*" +2025/08/20 06:49:47 [debug] 602395#602395: *6 fastcgi param: "HTTP_CONTENT_TYPE: text/plain" +2025/08/20 06:49:47 [debug] 602395#602395: *6 fastcgi param: "HTTP_AUTHORIZATION: Nostr eyJraW5kIjoyNDI0MiwiaWQiOiI5NTYxNjA1YjEwNjJjZTM3ZTk1YWI5YjgxZDMwMGQ5YWQ1YmZiOWM1NDRhZTM5NWUxZWI0MWYwMDBjN2Q4OWY2IiwicHVia2V5IjoiNzliZTY2N2VmOWRjYmJhYzU1YTA2Mjk1Y2U4NzBiMDcwMjliZmNkYjJkY2UyOGQ5NTlmMjgxNWIxNmY4MTc5OCIsImNyZWF0ZWRfYXQiOjE3NTU2ODU0MjgsInRhZ3MiOltbInQiLCJ1cGxvYWQiXSxbIngiLCI4NDcxNjE3MWJhYjE2YWQwMjFiZDg5NTMwNTAxODlmZTYwNzU5MTc0MzZjZDExY2M5MzNmMDIxYmJjNWQ1YjBiIl0sWyJleHBpcmF0aW9uIiwiMTc1NTY4OTAyOCJdXSwiY29udGVudCI6IiIsInNpZyI6Ijk1MzE2YWI3NWY4ZDAyYmI5OTVhMTI0OGMyNzRiOTlmOWJjNWRjMGFmNTY0OWU2OTQ5MDE1ZDA2OTkwNGQ0YmRmM2EzYzc5NDI3YWM4MjQ1Njk4NmEyZTkzN2IxZDI1YjZkMmVlOGVlMWU0NDZhODQ5Y2IxOTc3NGRmOTQ4ZWFkIn0=" +2025/08/20 06:49:47 [debug] 602395#602395: *6 fastcgi param: "HTTP_CONTENT_LENGTH: 16" +2025/08/20 06:49:47 [debug] 602395#602395: *6 posix_memalign: 00005E702F9A1150:4096 @16 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http cleanup add: 00005E702F9ADD80 +2025/08/20 06:49:47 [debug] 602395#602395: *6 get rr peer, try: 1 +2025/08/20 06:49:47 [debug] 602395#602395: *6 stream socket 10 +2025/08/20 06:49:47 [debug] 602395#602395: *6 epoll add connection: fd:10 ev:80002005 +2025/08/20 06:49:47 [debug] 602395#602395: *6 connect to unix:/tmp/ginxsom-fcgi.sock, fd:10 #7 +2025/08/20 06:49:47 [debug] 602395#602395: *6 connected +2025/08/20 06:49:47 [debug] 602395#602395: *6 http upstream connect: 0 +2025/08/20 06:49:47 [debug] 602395#602395: *6 posix_memalign: 00005E702F980F20:128 @16 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http upstream send request +2025/08/20 06:49:47 [debug] 602395#602395: *6 http upstream send request body +2025/08/20 06:49:47 [debug] 602395#602395: *6 chain writer buf fl:0 s:1224 +2025/08/20 06:49:47 [debug] 602395#602395: *6 chain writer buf fl:0 s:16 +2025/08/20 06:49:47 [debug] 602395#602395: *6 chain writer buf fl:0 s:8 +2025/08/20 06:49:47 [debug] 602395#602395: *6 chain writer in: 00005E702F9A1288 +2025/08/20 06:49:47 [debug] 602395#602395: *6 writev: 1248 of 1248 +2025/08/20 06:49:47 [debug] 602395#602395: *6 chain writer out: 0000000000000000 +2025/08/20 06:49:47 [debug] 602395#602395: *6 event timer add: 10: 60000:253780451 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http finalize request: -4, "/upload?" a:1, c:2 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http request count:2 blk:0 +2025/08/20 06:49:47 [debug] 602395#602395: timer delta: 1 +2025/08/20 06:49:47 [debug] 602395#602395: worker cycle +2025/08/20 06:49:47 [debug] 602395#602395: epoll timer: 60000 +2025/08/20 06:49:47 [debug] 602395#602395: epoll: fd:6 ev:0004 d:0000766FE7B131E1 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http run request: "/upload?" +2025/08/20 06:49:47 [debug] 602395#602395: *6 http upstream check client, write event:1, "/upload" +2025/08/20 06:49:47 [debug] 602395#602395: epoll: fd:10 ev:0004 d:0000766FE7B132C8 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http upstream request: "/upload?" +2025/08/20 06:49:47 [debug] 602395#602395: *6 http upstream dummy handler +2025/08/20 06:49:47 [debug] 602395#602395: timer delta: 2 +2025/08/20 06:49:47 [debug] 602395#602395: worker cycle +2025/08/20 06:49:47 [debug] 602395#602395: epoll timer: 59998 +2025/08/20 06:49:47 [debug] 602395#602395: epoll: fd:10 ev:0005 d:0000766FE7B132C8 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http upstream request: "/upload?" +2025/08/20 06:49:47 [debug] 602395#602395: *6 http upstream process header +2025/08/20 06:49:47 [debug] 602395#602395: *6 malloc: 00005E702F9A2160:4096 +2025/08/20 06:49:47 [debug] 602395#602395: *6 recv: eof:0, avail:-1 +2025/08/20 06:49:47 [debug] 602395#602395: *6 recv: fd:10 2560 of 4096 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http fastcgi record byte: 01 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http fastcgi record byte: 07 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http fastcgi record byte: 00 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http fastcgi record byte: 01 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http fastcgi record byte: 01 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http fastcgi record byte: F8 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http fastcgi record byte: 00 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http fastcgi record byte: 00 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http fastcgi record length: 504 +2025/08/20 06:49:47 [error] 602395#602395: *6 FastCGI sent in stderr: "DEBUG: authenticate_request ENTRY - method: upload, hash: 59fbf16bd87c759e1a723b6b638d925bb0b589e6ef5169ff6ad187957345aa58 +DEBUG: authenticate_request - calling parse_authorization_header +DEBUG: parse_authorization_header called with header: Nostr eyJraW5kIjoyNDI0MiwiaWQiOiI5NTYxNjA1YjEwNjJj... +DEBUG: Extracted base64 event (length=DEBUG: Base64 decode result - decoded_len=DEBUG: Successfully decoded JSON (length=DEBUG: authenticate_request - parse_authorization_header succeeded +DEBUG: authenticate_" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 06:49:47 [debug] 602395#602395: *6 http fastcgi record byte: 01 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http fastcgi record byte: 07 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http fastcgi record byte: 00 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http fastcgi record byte: 01 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http fastcgi record byte: 01 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http fastcgi record byte: F8 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http fastcgi record byte: 00 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http fastcgi record byte: 00 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http fastcgi record length: 504 +2025/08/20 06:49:47 [error] 602395#602395: *6 FastCGI sent in stderr: "request - calling cJSON_Parse on: {"kind":24242,"id":"9561605b1062ce37e95ab9b81d300d9ad5bfb9c544ae395e1eb41f000c7d89f6","pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1755685428,"tags":[["t","upload"],["x","84716171bab16ad021bd8953050189fe6075917436cd11cc933f021bbc5d5b0b"],["expiration","1755689028"]],"content":"","sig":"95316ab75f8d02bb995a1248c274b99f9bc5dc0af5649e6949015d069904d4bdf3a3c79427ac82456986a2e937b1d25b6d2ee8ee1e446a849cb19774df948ead"} +DEBUG: a" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 06:49:47 [debug] 602395#602395: *6 http fastcgi record byte: 01 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http fastcgi record byte: 07 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http fastcgi record byte: 00 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http fastcgi record byte: 01 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http fastcgi record byte: 01 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http fastcgi record byte: F8 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http fastcgi record byte: 00 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http fastcgi record byte: 00 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http fastcgi record length: 504 +2025/08/20 06:49:47 [error] 602395#602395: *6 FastCGI sent in stderr: "uthenticate_request - cJSON_Parse succeeded, event parsed +DEBUG: authenticate_request - Parsed JSON: { + "kind": 24242, + "id": "9561605b1062ce37e95ab9b81d300d9ad5bfb9c544ae395e1eb41f000c7d89f6", + "pubkey": "79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798", + "created_at": 1755685428, + "tags": [["t", "upload"], ["x", "84716171bab16ad021bd8953050189fe6075917436cd11cc933f021bbc5d5b0b"], ["expiration", "1755689028"]], + "content": "", + "sig": "95316ab75f8d02bb995a1248c274b99f9bc5dc0af5649e" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 06:49:47 [debug] 602395#602395: *6 http fastcgi record byte: 01 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http fastcgi record byte: 07 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http fastcgi record byte: 00 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http fastcgi record byte: 01 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http fastcgi record byte: 01 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http fastcgi record byte: F8 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http fastcgi record byte: 00 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http fastcgi record byte: 00 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http fastcgi record length: 504 +2025/08/20 06:49:47 [error] 602395#602395: *6 FastCGI sent in stderr: "6949015d069904d4bdf3a3c79427ac82456986a2e937b1d25b6d2ee8ee1e446a849cb19774df948ead" +} +DEBUG: authenticate_request - Event fields before validation: +DEBUG: id: 9561605b1062ce37e95ab9b81d300d9ad5bfb9c544ae395e1eb41f000c7d89f6 +DEBUG: pubkey: 79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 +DEBUG: sig: 95316ab75f8d02bb995a1248c274b99f9bc5dc0af5649e6949015d069904d4bdf3a3c79427ac82456986a2e937b1d25b6d2ee8ee1e446a849cb19774df948ead +DEBUG: kind: 24242 +DEBUG: created_at: 1755685428" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 06:49:47 [debug] 602395#602395: *6 http fastcgi record byte: 01 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http fastcgi record byte: 07 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http fastcgi record byte: 00 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http fastcgi record byte: 01 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http fastcgi record byte: 01 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http fastcgi record byte: F8 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http fastcgi record byte: 00 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http fastcgi record byte: 00 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http fastcgi record length: 504 +2025/08/20 06:49:47 [error] 602395#602395: *6 FastCGI sent in stderr: "DEBUG: authenticate_request - Detailed pubkey analysis: +DEBUG: Pubkey: 79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 +DEBUG: Length: DEBUG: Character analysis (first 10): 7(0x37) 9(0x39) b(0x62) e(0x65) 6(0x36) 6(0x36) 7(0x37) e(0x65) f(0x66) 9(0x39) +DEBUG: authenticate_request - calling nostr_validate_event +DEBUG: authenticate_request - Pre-validation pubkey analysis: +DEBUG: Pubkey: 79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 +DEBUG: Length: DEBUG:" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 06:49:47 [debug] 602395#602395: *6 recv: eof:0, avail:0 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http upstream request: "/upload?" +2025/08/20 06:49:47 [debug] 602395#602395: *6 http upstream dummy handler +2025/08/20 06:49:47 [debug] 602395#602395: timer delta: 0 +2025/08/20 06:49:47 [debug] 602395#602395: worker cycle +2025/08/20 06:49:47 [debug] 602395#602395: epoll timer: 59998 +2025/08/20 06:49:47 [debug] 602395#602395: epoll: fd:10 ev:2005 d:0000766FE7B132C8 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http upstream request: "/upload?" +2025/08/20 06:49:47 [debug] 602395#602395: *6 http upstream process header +2025/08/20 06:49:47 [debug] 602395#602395: *6 recv: eof:1, avail:-1 +2025/08/20 06:49:47 [debug] 602395#602395: *6 recv: fd:10 2192 of 4096 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http fastcgi record byte: 01 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http fastcgi record byte: 07 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http fastcgi record byte: 00 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http fastcgi record byte: 01 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http fastcgi record byte: 01 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http fastcgi record byte: F8 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http fastcgi record byte: 00 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http fastcgi record byte: 00 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http fastcgi record length: 504 +2025/08/20 06:49:47 [error] 602395#602395: *6 FastCGI sent in stderr: " Character analysis (first 10): 7(55) 9(57) b(98) e(101) 6(54) 6(54) 7(55) e(101) f(102) 9(57) +DEBUG: Character validation test: ALL VALID (lowercase hex) +DEBUG: authenticate_request - Starting detailed validation analysis +DEBUG: authenticate_request - Testing structure validation... +DEBUG: authenticate_request - nostr_validate_event_structure returned: 0 (Success) +DEBUG: authenticate_request - Structure validation PASSED +DEBUG: authenticate_request - Testing cryptographic verification... +DEBUG:" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 06:49:47 [debug] 602395#602395: *6 http fastcgi record byte: 01 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http fastcgi record byte: 07 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http fastcgi record byte: 00 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http fastcgi record byte: 01 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http fastcgi record byte: 01 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http fastcgi record byte: 12 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http fastcgi record byte: 06 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http fastcgi record byte: 00 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http fastcgi record length: 274 +2025/08/20 06:49:47 [error] 602395#602395: *6 FastCGI sent in stderr: "authenticate_request - nostr_verify_event_signature returned: -32 (Event has invalid public key) +DEBUG: authenticate_request - CRYPTO verification failed! +DEBUG: authenticate_request - Failed pubkey: 79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 (length:" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 06:49:47 [debug] 602395#602395: *6 http fastcgi record byte: 01 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http fastcgi record byte: 07 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http fastcgi record byte: 00 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http fastcgi record byte: 01 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http fastcgi record byte: 00 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http fastcgi record byte: 00 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http fastcgi record byte: 00 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http fastcgi record byte: 00 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http fastcgi record length: 0 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http fastcgi record byte: 01 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http fastcgi record byte: 06 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http fastcgi record byte: 00 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http fastcgi record byte: 01 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http fastcgi record byte: 05 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http fastcgi record byte: 46 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http fastcgi record byte: 02 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http fastcgi record byte: 00 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http fastcgi record length: 1350 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http fastcgi parser: 0 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http fastcgi header: "DEBUG: FastCGI received request" +2025/08/20 06:49:47 [debug] 602395#602395: *6 http fastcgi parser: 0 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http fastcgi header: "DEBUG: METHOD=PUT, URI=/upload" +2025/08/20 06:49:47 [debug] 602395#602395: *6 http fastcgi parser: 0 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http fastcgi header: "DEBUG: handle_upload_request called" +2025/08/20 06:49:47 [debug] 602395#602395: *6 http fastcgi parser: 0 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http fastcgi header: "LOG: [2025-08-20 06:49:47] PUT /upload - Auth: pending - Status: 0" +2025/08/20 06:49:47 [debug] 602395#602395: *6 http fastcgi parser: 0 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http fastcgi header: "DEBUG: content_type=text/plain" +2025/08/20 06:49:47 [debug] 602395#602395: *6 http fastcgi parser: 0 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http fastcgi header: "DEBUG: content_length=16" +2025/08/20 06:49:47 [debug] 602395#602395: *6 http fastcgi parser: 0 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http fastcgi header: "DEBUG: Raw Authorization header: Nostr eyJraW5kIjoyNDI0MiwiaWQiOiI5NTYxNjA1YjEwNjJjZTM3ZTk1YWI5YjgxZDMwMGQ5YWQ1YmZiOWM1NDRhZTM5NWUxZWI0MWYwMDBjN2Q4OWY2IiwicHVia2V5IjoiNzliZTY2N2VmOWRjYmJhYzU1YTA2Mjk1Y2U4NzBiMDcwMjliZmNkYjJkY2UyOGQ5NTlmMjgxNWIxNmY4MTc5OCIsImNyZWF0ZWRfYXQiOjE3NTU2ODU0MjgsInRhZ3MiOltbInQiLCJ1cGxvYWQiXSxbIngiLCI4NDcxNjE3MWJhYjE2YWQwMjFiZDg5NTMwNTAxODlmZTYwNzU5MTc0MzZjZDExY2M5MzNmMDIxYmJjNWQ1YjBiIl0sWyJleHBpcmF0aW9uIiwiMTc1NTY4OTAyOCJdXSwiY29udGVudCI6IiIsInNpZyI6Ijk1MzE2YWI3NWY4ZDAyYmI5OTVhMTI0OGMyNzRiOTlmOWJjNWRjMGFmNTY0OWU2OTQ5MDE1ZDA2OTkwNGQ0YmRmM2EzYzc5NDI3YWM4MjQ1Njk4NmEyZTkzN2IxZDI1YjZkMmVlOGVlMWU0NDZhODQ5Y2IxOTc3NGRmOTQ4ZWFkIn0=" +2025/08/20 06:49:47 [debug] 602395#602395: *6 http fastcgi parser: 0 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http fastcgi header: "LOG: [2025-08-20 06:49:47] PUT /upload - Auth: auth_provided - Status: 0" +2025/08/20 06:49:47 [debug] 602395#602395: *6 http fastcgi parser: 0 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http fastcgi header: "DEBUG: Successfully read DEBUG: Calculated SHA-256: 59fbf16bd87c759e1a723b6b638d925bb0b589e6ef5169ff6ad187957345aa58" +2025/08/20 06:49:47 [debug] 602395#602395: *6 http fastcgi parser: 0 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http fastcgi header: "Status: 401 Unauthorized" +2025/08/20 06:49:47 [debug] 602395#602395: *6 http fastcgi parser: 0 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http fastcgi header: "Content-Type: application/json" +2025/08/20 06:49:47 [debug] 602395#602395: *6 http fastcgi parser: 1 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http fastcgi header done +2025/08/20 06:49:47 [debug] 602395#602395: *6 HTTP/1.1 401 Unauthorized +Server: nginx/1.18.0 (Ubuntu) +Date: Wed, 20 Aug 2025 10:49:47 GMT +Content-Type: application/json +Transfer-Encoding: chunked +Connection: keep-alive +DEBUG: FastCGI received request +DEBUG: METHOD=PUT, URI=/upload +DEBUG: handle_upload_request called +LOG: [2025-08-20 06:49:47] PUT /upload - Auth: pending - Status: 0 +DEBUG: content_type=text/plain +DEBUG: content_length=16 +DEBUG: Raw Authorization header: Nostr eyJraW5kIjoyNDI0MiwiaWQiOiI5NTYxNjA1YjEwNjJjZTM3ZTk1YWI5YjgxZDMwMGQ5YWQ1YmZiOWM1NDRhZTM5NWUxZWI0MWYwMDBjN2Q4OWY2IiwicHVia2V5IjoiNzliZTY2N2VmOWRjYmJhYzU1YTA2Mjk1Y2U4NzBiMDcwMjliZmNkYjJkY2UyOGQ5NTlmMjgxNWIxNmY4MTc5OCIsImNyZWF0ZWRfYXQiOjE3NTU2ODU0MjgsInRhZ3MiOltbInQiLCJ1cGxvYWQiXSxbIngiLCI4NDcxNjE3MWJhYjE2YWQwMjFiZDg5NTMwNTAxODlmZTYwNzU5MTc0MzZjZDExY2M5MzNmMDIxYmJjNWQ1YjBiIl0sWyJleHBpcmF0aW9uIiwiMTc1NTY4OTAyOCJdXSwiY29udGVudCI6IiIsInNpZyI6Ijk1MzE2YWI3NWY4ZDAyYmI5OTVhMTI0OGMyNzRiOTlmOWJjNWRjMGFmNTY0OWU2OTQ5MDE1ZDA2OTkwNGQ0YmRmM2EzYzc5NDI3YWM4MjQ1Njk4NmEyZTkzN2IxZDI1YjZkMmVlOGVlMWU0NDZhODQ5Y2IxOTc3NGRmOTQ4ZWFkIn0= +LOG: [2025-08-20 06:49:47] PUT /upload - Auth: auth_provided - Status: 0 +DEBUG: Successfully read DEBUG: Calculated SHA-256: 59fbf16bd87c759e1a723b6b638d925bb0b589e6ef5169ff6ad187957345aa58 + +2025/08/20 06:49:47 [debug] 602395#602395: *6 write new buf t:1 f:0 00005E702F9A1B40, pos 00005E702F9A1B40, size: 1258 file: 0, size: 0 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http write filter: l:0 f:0 s:1258 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http cacheable: 0 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http upstream process upstream +2025/08/20 06:49:47 [debug] 602395#602395: *6 pipe read upstream: 1 +2025/08/20 06:49:47 [debug] 602395#602395: *6 pipe preread: 239 +2025/08/20 06:49:47 [debug] 602395#602395: *6 readv: eof:1, avail:0 +2025/08/20 06:49:47 [debug] 602395#602395: *6 readv: 1, last:1904 +2025/08/20 06:49:47 [debug] 602395#602395: *6 pipe recv chain: 0 +2025/08/20 06:49:47 [debug] 602395#602395: *6 pipe buf free s:0 t:1 f:0 00005E702F9A2160, pos 00005E702F9A2901, size: 239 file: 0, size: 0 +2025/08/20 06:49:47 [debug] 602395#602395: *6 pipe length: -1 +2025/08/20 06:49:47 [debug] 602395#602395: *6 posix_memalign: 00005E702F9A3170:4096 @16 +2025/08/20 06:49:47 [debug] 602395#602395: *6 input buf #0 00005E702F9A2901 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http fastcgi record byte: 01 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http fastcgi record byte: 06 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http fastcgi record byte: 00 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http fastcgi record byte: 01 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http fastcgi record byte: 00 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http fastcgi record byte: 00 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http fastcgi record byte: 00 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http fastcgi record byte: 00 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http fastcgi record length: 0 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http fastcgi closed stdout +2025/08/20 06:49:47 [debug] 602395#602395: *6 http fastcgi record byte: 01 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http fastcgi record byte: 03 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http fastcgi record byte: 00 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http fastcgi record byte: 01 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http fastcgi record byte: 00 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http fastcgi record byte: 08 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http fastcgi record byte: 00 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http fastcgi record byte: 00 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http fastcgi record length: 8 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http fastcgi sent end request +2025/08/20 06:49:47 [debug] 602395#602395: *6 input buf 00005E702F9A2901 213 +2025/08/20 06:49:47 [debug] 602395#602395: *6 pipe write downstream: 1 +2025/08/20 06:49:47 [debug] 602395#602395: *6 pipe write downstream flush in +2025/08/20 06:49:47 [debug] 602395#602395: *6 http output filter "/upload?" +2025/08/20 06:49:47 [debug] 602395#602395: *6 http copy filter: "/upload?" +2025/08/20 06:49:47 [debug] 602395#602395: *6 http postpone filter "/upload?" 00005E702F9A1258 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http chunk: 213 +2025/08/20 06:49:47 [debug] 602395#602395: *6 write old buf t:1 f:0 00005E702F9A1B40, pos 00005E702F9A1B40, size: 1258 file: 0, size: 0 +2025/08/20 06:49:47 [debug] 602395#602395: *6 write new buf t:1 f:0 00005E702F9A32B8, pos 00005E702F9A32B8, size: 4 file: 0, size: 0 +2025/08/20 06:49:47 [debug] 602395#602395: *6 write new buf t:1 f:0 00005E702F9A2160, pos 00005E702F9A2901, size: 213 file: 0, size: 0 +2025/08/20 06:49:47 [debug] 602395#602395: *6 write new buf t:0 f:0 0000000000000000, pos 00005E700DFD02E8, size: 2 file: 0, size: 0 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http write filter: l:0 f:0 s:1477 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http write filter limit 0 +2025/08/20 06:49:47 [debug] 602395#602395: *6 writev: 1477 of 1477 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http write filter 0000000000000000 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http copy filter: 0 "/upload?" +2025/08/20 06:49:47 [debug] 602395#602395: *6 pipe write downstream done +2025/08/20 06:49:47 [debug] 602395#602395: *6 event timer: 10, old: 253780451, new: 253780454 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http upstream exit: 0000000000000000 +2025/08/20 06:49:47 [debug] 602395#602395: *6 finalize http upstream request: 0 +2025/08/20 06:49:47 [debug] 602395#602395: *6 finalize http fastcgi request +2025/08/20 06:49:47 [debug] 602395#602395: *6 free rr peer 1 0 +2025/08/20 06:49:47 [debug] 602395#602395: *6 close http upstream connection: 10 +2025/08/20 06:49:47 [debug] 602395#602395: *6 free: 00005E702F980F20, unused: 48 +2025/08/20 06:49:47 [debug] 602395#602395: *6 event timer del: 10: 253780451 +2025/08/20 06:49:47 [debug] 602395#602395: *6 reusable connection: 0 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http upstream temp fd: -1 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http output filter "/upload?" +2025/08/20 06:49:47 [debug] 602395#602395: *6 http copy filter: "/upload?" +2025/08/20 06:49:47 [debug] 602395#602395: *6 http postpone filter "/upload?" 00007FFC67C2AF60 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http chunk: 0 +2025/08/20 06:49:47 [debug] 602395#602395: *6 write new buf t:0 f:0 0000000000000000, pos 00005E700DFD02E5, size: 5 file: 0, size: 0 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http write filter: l:1 f:0 s:5 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http write filter limit 0 +2025/08/20 06:49:47 [debug] 602395#602395: *6 writev: 5 of 5 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http write filter 0000000000000000 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http copy filter: 0 "/upload?" +2025/08/20 06:49:47 [debug] 602395#602395: *6 http finalize request: 0, "/upload?" a:1, c:1 +2025/08/20 06:49:47 [debug] 602395#602395: *6 set http keepalive handler +2025/08/20 06:49:47 [debug] 602395#602395: *6 http close request +2025/08/20 06:49:47 [debug] 602395#602395: *6 http log handler +2025/08/20 06:49:47 [debug] 602395#602395: *6 free: 00005E702F9A2160 +2025/08/20 06:49:47 [debug] 602395#602395: *6 free: 00005E702F9B6A30, unused: 3 +2025/08/20 06:49:47 [debug] 602395#602395: *6 free: 00005E702F9ACDA0, unused: 8 +2025/08/20 06:49:47 [debug] 602395#602395: *6 free: 00005E702F9A1150, unused: 8 +2025/08/20 06:49:47 [debug] 602395#602395: *6 free: 00005E702F9A3170, unused: 3410 +2025/08/20 06:49:47 [debug] 602395#602395: *6 free: 00005E702F99A0A0 +2025/08/20 06:49:47 [debug] 602395#602395: *6 hc free: 0000000000000000 +2025/08/20 06:49:47 [debug] 602395#602395: *6 hc busy: 0000000000000000 0 +2025/08/20 06:49:47 [debug] 602395#602395: *6 tcp_nodelay +2025/08/20 06:49:47 [debug] 602395#602395: *6 reusable connection: 1 +2025/08/20 06:49:47 [debug] 602395#602395: *6 event timer add: 6: 65000:253785454 +2025/08/20 06:49:47 [debug] 602395#602395: timer delta: 1 +2025/08/20 06:49:47 [debug] 602395#602395: worker cycle +2025/08/20 06:49:47 [debug] 602395#602395: epoll timer: 65000 +2025/08/20 06:49:47 [debug] 602395#602395: epoll: fd:6 ev:2005 d:0000766FE7B131E1 +2025/08/20 06:49:47 [debug] 602395#602395: *6 http keepalive handler +2025/08/20 06:49:47 [debug] 602395#602395: *6 malloc: 00005E702F99A0A0:1024 +2025/08/20 06:49:47 [debug] 602395#602395: *6 recv: eof:1, avail:-1 +2025/08/20 06:49:47 [debug] 602395#602395: *6 recv: fd:6 0 of 1024 +2025/08/20 06:49:47 [info] 602395#602395: *6 client 127.0.0.1 closed keepalive connection +2025/08/20 06:49:47 [debug] 602395#602395: *6 close http connection: 6 +2025/08/20 06:49:47 [debug] 602395#602395: *6 event timer del: 6: 253785454 +2025/08/20 06:49:47 [debug] 602395#602395: *6 reusable connection: 0 +2025/08/20 06:49:47 [debug] 602395#602395: *6 free: 00005E702F99A0A0 +2025/08/20 06:49:47 [debug] 602395#602395: *6 free: 00005E702F997840, unused: 120 +2025/08/20 06:49:47 [debug] 602395#602395: timer delta: 2 +2025/08/20 06:49:47 [debug] 602395#602395: worker cycle +2025/08/20 06:49:47 [debug] 602395#602395: epoll timer: -1 +2025/08/20 06:51:41 [debug] 602395#602395: epoll: fd:5 ev:0001 d:0000766FE7B13010 +2025/08/20 06:51:41 [debug] 602395#602395: accept on 0.0.0.0:9001, ready: 0 +2025/08/20 06:51:41 [debug] 602395#602395: posix_memalign: 00005E702F997840:512 @16 +2025/08/20 06:51:41 [debug] 602395#602395: *8 accept: 127.0.0.1:50504 fd:6 +2025/08/20 06:51:41 [debug] 602395#602395: *8 event timer add: 6: 60000:253894596 +2025/08/20 06:51:41 [debug] 602395#602395: *8 reusable connection: 1 +2025/08/20 06:51:41 [debug] 602395#602395: *8 epoll add event: fd:6 op:1 ev:80002001 +2025/08/20 06:51:41 [debug] 602395#602395: timer delta: 114140 +2025/08/20 06:51:41 [debug] 602395#602395: worker cycle +2025/08/20 06:51:41 [debug] 602395#602395: epoll timer: 60000 +2025/08/20 06:51:41 [debug] 602395#602395: epoll: fd:6 ev:0001 d:0000766FE7B131E0 +2025/08/20 06:51:41 [debug] 602395#602395: *8 http wait request handler +2025/08/20 06:51:41 [debug] 602395#602395: *8 malloc: 00005E702F99A0A0:1024 +2025/08/20 06:51:41 [debug] 602395#602395: *8 recv: eof:0, avail:-1 +2025/08/20 06:51:41 [debug] 602395#602395: *8 recv: fd:6 785 of 1024 +2025/08/20 06:51:41 [debug] 602395#602395: *8 reusable connection: 0 +2025/08/20 06:51:41 [debug] 602395#602395: *8 posix_memalign: 00005E702F9B6A30:4096 @16 +2025/08/20 06:51:41 [debug] 602395#602395: *8 http process request line +2025/08/20 06:51:41 [debug] 602395#602395: *8 http request line: "PUT /upload HTTP/1.1" +2025/08/20 06:51:41 [debug] 602395#602395: *8 http uri: "/upload" +2025/08/20 06:51:41 [debug] 602395#602395: *8 http args: "" +2025/08/20 06:51:41 [debug] 602395#602395: *8 http exten: "" +2025/08/20 06:51:41 [debug] 602395#602395: *8 posix_memalign: 00005E702F9ACDA0:4096 @16 +2025/08/20 06:51:41 [debug] 602395#602395: *8 http process request header line +2025/08/20 06:51:41 [debug] 602395#602395: *8 http header: "Host: localhost:9001" +2025/08/20 06:51:41 [debug] 602395#602395: *8 http header: "User-Agent: curl/8.15.0" +2025/08/20 06:51:41 [debug] 602395#602395: *8 http header: "Accept: */*" +2025/08/20 06:51:41 [debug] 602395#602395: *8 http header: "Content-Type: text/plain" +2025/08/20 06:51:41 [debug] 602395#602395: *8 http header: "Authorization: Nostr eyJraW5kIjoyNDI0MiwiaWQiOiI5NTYxNjA1YjEwNjJjZTM3ZTk1YWI5YjgxZDMwMGQ5YWQ1YmZiOWM1NDRhZTM5NWUxZWI0MWYwMDBjN2Q4OWY2IiwicHVia2V5IjoiNzliZTY2N2VmOWRjYmJhYzU1YTA2Mjk1Y2U4NzBiMDcwMjliZmNkYjJkY2UyOGQ5NTlmMjgxNWIxNmY4MTc5OCIsImNyZWF0ZWRfYXQiOjE3NTU2ODU0MjgsInRhZ3MiOltbInQiLCJ1cGxvYWQiXSxbIngiLCI4NDcxNjE3MWJhYjE2YWQwMjFiZDg5NTMwNTAxODlmZTYwNzU5MTc0MzZjZDExY2M5MzNmMDIxYmJjNWQ1YjBiIl0sWyJleHBpcmF0aW9uIiwiMTc1NTY4OTAyOCJdXSwiY29udGVudCI6IiIsInNpZyI6Ijk1MzE2YWI3NWY4ZDAyYmI5OTVhMTI0OGMyNzRiOTlmOWJjNWRjMGFmNTY0OWU2OTQ5MDE1ZDA2OTkwNGQ0YmRmM2EzYzc5NDI3YWM4MjQ1Njk4NmEyZTkzN2IxZDI1YjZkMmVlOGVlMWU0NDZhODQ5Y2IxOTc3NGRmOTQ4ZWFkIn0=" +2025/08/20 06:51:41 [debug] 602395#602395: *8 http header: "Content-Length: 16" +2025/08/20 06:51:41 [debug] 602395#602395: *8 http header done +2025/08/20 06:51:41 [debug] 602395#602395: *8 event timer del: 6: 253894596 +2025/08/20 06:51:41 [debug] 602395#602395: *8 generic phase: 0 +2025/08/20 06:51:41 [debug] 602395#602395: *8 rewrite phase: 1 +2025/08/20 06:51:41 [debug] 602395#602395: *8 test location: "/health" +2025/08/20 06:51:41 [debug] 602395#602395: *8 test location: "/upload" +2025/08/20 06:51:41 [debug] 602395#602395: *8 test location: ~ "^/([a-f0-9]{64}).*$" +2025/08/20 06:51:41 [debug] 602395#602395: *8 test location: ~ "^/([a-f0-9]{64})(\.[a-zA-Z0-9]+)?$" +2025/08/20 06:51:41 [debug] 602395#602395: *8 test location: ~ "^/fcgi-head/([a-f0-9]{64}).*$" +2025/08/20 06:51:41 [debug] 602395#602395: *8 test location: ~ "^/list/([a-f0-9]{64}).*$" +2025/08/20 06:51:41 [debug] 602395#602395: *8 using configuration "/upload" +2025/08/20 06:51:41 [debug] 602395#602395: *8 http cl:16 max:104857600 +2025/08/20 06:51:41 [debug] 602395#602395: *8 rewrite phase: 3 +2025/08/20 06:51:41 [debug] 602395#602395: *8 http script var +2025/08/20 06:51:41 [debug] 602395#602395: *8 http script var: "PUT" +2025/08/20 06:51:41 [debug] 602395#602395: *8 http script regex: "^(PUT)$" +2025/08/20 06:51:41 [notice] 602395#602395: *8 "^(PUT)$" matches "PUT", client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", host: "localhost:9001" +2025/08/20 06:51:41 [debug] 602395#602395: *8 http script if +2025/08/20 06:51:41 [debug] 602395#602395: *8 http script if: false +2025/08/20 06:51:41 [debug] 602395#602395: *8 post rewrite phase: 4 +2025/08/20 06:51:41 [debug] 602395#602395: *8 generic phase: 5 +2025/08/20 06:51:41 [debug] 602395#602395: *8 generic phase: 6 +2025/08/20 06:51:41 [debug] 602395#602395: *8 generic phase: 7 +2025/08/20 06:51:41 [debug] 602395#602395: *8 access phase: 8 +2025/08/20 06:51:41 [debug] 602395#602395: *8 access phase: 9 +2025/08/20 06:51:41 [debug] 602395#602395: *8 access phase: 10 +2025/08/20 06:51:41 [debug] 602395#602395: *8 post access phase: 11 +2025/08/20 06:51:41 [debug] 602395#602395: *8 generic phase: 12 +2025/08/20 06:51:41 [debug] 602395#602395: *8 generic phase: 13 +2025/08/20 06:51:41 [debug] 602395#602395: *8 http client request body preread 16 +2025/08/20 06:51:41 [debug] 602395#602395: *8 http request body content length filter +2025/08/20 06:51:41 [debug] 602395#602395: *8 http body new buf t:1 f:0 00005E702F99A3A1, pos 00005E702F99A3A1, size: 16 file: 0, size: 0 +2025/08/20 06:51:41 [debug] 602395#602395: *8 http init upstream, client timer: 0 +2025/08/20 06:51:41 [debug] 602395#602395: *8 epoll add event: fd:6 op:3 ev:80002005 +2025/08/20 06:51:41 [debug] 602395#602395: *8 http script copy: "QUERY_STRING" +2025/08/20 06:51:41 [debug] 602395#602395: *8 fastcgi param: "QUERY_STRING: " +2025/08/20 06:51:41 [debug] 602395#602395: *8 http script copy: "REQUEST_METHOD" +2025/08/20 06:51:41 [debug] 602395#602395: *8 http script var: "PUT" +2025/08/20 06:51:41 [debug] 602395#602395: *8 fastcgi param: "REQUEST_METHOD: PUT" +2025/08/20 06:51:41 [debug] 602395#602395: *8 http script copy: "CONTENT_TYPE" +2025/08/20 06:51:41 [debug] 602395#602395: *8 http script var: "text/plain" +2025/08/20 06:51:41 [debug] 602395#602395: *8 fastcgi param: "CONTENT_TYPE: text/plain" +2025/08/20 06:51:41 [debug] 602395#602395: *8 http script copy: "CONTENT_LENGTH" +2025/08/20 06:51:41 [debug] 602395#602395: *8 http script var: "16" +2025/08/20 06:51:41 [debug] 602395#602395: *8 fastcgi param: "CONTENT_LENGTH: 16" +2025/08/20 06:51:41 [debug] 602395#602395: *8 http script copy: "SCRIPT_NAME" +2025/08/20 06:51:41 [debug] 602395#602395: *8 http script var: "/upload" +2025/08/20 06:51:41 [debug] 602395#602395: *8 fastcgi param: "SCRIPT_NAME: /upload" +2025/08/20 06:51:41 [debug] 602395#602395: *8 http script copy: "REQUEST_URI" +2025/08/20 06:51:41 [debug] 602395#602395: *8 http script var: "/upload" +2025/08/20 06:51:41 [debug] 602395#602395: *8 fastcgi param: "REQUEST_URI: /upload" +2025/08/20 06:51:41 [debug] 602395#602395: *8 http script copy: "DOCUMENT_URI" +2025/08/20 06:51:41 [debug] 602395#602395: *8 http script var: "/upload" +2025/08/20 06:51:41 [debug] 602395#602395: *8 fastcgi param: "DOCUMENT_URI: /upload" +2025/08/20 06:51:41 [debug] 602395#602395: *8 http script copy: "DOCUMENT_ROOT" +2025/08/20 06:51:41 [debug] 602395#602395: *8 http script var: "./blobs" +2025/08/20 06:51:41 [debug] 602395#602395: *8 fastcgi param: "DOCUMENT_ROOT: ./blobs" +2025/08/20 06:51:41 [debug] 602395#602395: *8 http script copy: "SERVER_PROTOCOL" +2025/08/20 06:51:41 [debug] 602395#602395: *8 http script var: "HTTP/1.1" +2025/08/20 06:51:41 [debug] 602395#602395: *8 fastcgi param: "SERVER_PROTOCOL: HTTP/1.1" +2025/08/20 06:51:41 [debug] 602395#602395: *8 http script copy: "REQUEST_SCHEME" +2025/08/20 06:51:41 [debug] 602395#602395: *8 http script var: "http" +2025/08/20 06:51:41 [debug] 602395#602395: *8 fastcgi param: "REQUEST_SCHEME: http" +2025/08/20 06:51:41 [debug] 602395#602395: *8 http script copy: "" +2025/08/20 06:51:41 [debug] 602395#602395: *8 http script copy: "GATEWAY_INTERFACE" +2025/08/20 06:51:41 [debug] 602395#602395: *8 http script copy: "CGI/1.1" +2025/08/20 06:51:41 [debug] 602395#602395: *8 fastcgi param: "GATEWAY_INTERFACE: CGI/1.1" +2025/08/20 06:51:41 [debug] 602395#602395: *8 http script copy: "SERVER_SOFTWARE" +2025/08/20 06:51:41 [debug] 602395#602395: *8 http script copy: "nginx/" +2025/08/20 06:51:41 [debug] 602395#602395: *8 http script var: "1.18.0" +2025/08/20 06:51:41 [debug] 602395#602395: *8 fastcgi param: "SERVER_SOFTWARE: nginx/1.18.0" +2025/08/20 06:51:41 [debug] 602395#602395: *8 http script copy: "REMOTE_ADDR" +2025/08/20 06:51:41 [debug] 602395#602395: *8 http script var: "127.0.0.1" +2025/08/20 06:51:41 [debug] 602395#602395: *8 fastcgi param: "REMOTE_ADDR: 127.0.0.1" +2025/08/20 06:51:41 [debug] 602395#602395: *8 http script copy: "REMOTE_PORT" +2025/08/20 06:51:41 [debug] 602395#602395: *8 http script var: "50504" +2025/08/20 06:51:41 [debug] 602395#602395: *8 fastcgi param: "REMOTE_PORT: 50504" +2025/08/20 06:51:41 [debug] 602395#602395: *8 http script copy: "SERVER_ADDR" +2025/08/20 06:51:41 [debug] 602395#602395: *8 http script var: "127.0.0.1" +2025/08/20 06:51:41 [debug] 602395#602395: *8 fastcgi param: "SERVER_ADDR: 127.0.0.1" +2025/08/20 06:51:41 [debug] 602395#602395: *8 http script copy: "SERVER_PORT" +2025/08/20 06:51:41 [debug] 602395#602395: *8 http script var: "9001" +2025/08/20 06:51:41 [debug] 602395#602395: *8 fastcgi param: "SERVER_PORT: 9001" +2025/08/20 06:51:41 [debug] 602395#602395: *8 http script copy: "SERVER_NAME" +2025/08/20 06:51:41 [debug] 602395#602395: *8 http script var: "localhost" +2025/08/20 06:51:41 [debug] 602395#602395: *8 fastcgi param: "SERVER_NAME: localhost" +2025/08/20 06:51:41 [debug] 602395#602395: *8 http script copy: "REDIRECT_STATUS" +2025/08/20 06:51:41 [debug] 602395#602395: *8 http script copy: "200" +2025/08/20 06:51:41 [debug] 602395#602395: *8 fastcgi param: "REDIRECT_STATUS: 200" +2025/08/20 06:51:41 [debug] 602395#602395: *8 http script copy: "SCRIPT_FILENAME" +2025/08/20 06:51:41 [debug] 602395#602395: *8 http script var: "./blobs" +2025/08/20 06:51:41 [debug] 602395#602395: *8 http script copy: "/ginxsom.fcgi" +2025/08/20 06:51:41 [debug] 602395#602395: *8 fastcgi param: "SCRIPT_FILENAME: ./blobs/ginxsom.fcgi" +2025/08/20 06:51:41 [debug] 602395#602395: *8 fastcgi param: "HTTP_HOST: localhost:9001" +2025/08/20 06:51:41 [debug] 602395#602395: *8 fastcgi param: "HTTP_USER_AGENT: curl/8.15.0" +2025/08/20 06:51:41 [debug] 602395#602395: *8 fastcgi param: "HTTP_ACCEPT: */*" +2025/08/20 06:51:41 [debug] 602395#602395: *8 fastcgi param: "HTTP_CONTENT_TYPE: text/plain" +2025/08/20 06:51:41 [debug] 602395#602395: *8 fastcgi param: "HTTP_AUTHORIZATION: Nostr eyJraW5kIjoyNDI0MiwiaWQiOiI5NTYxNjA1YjEwNjJjZTM3ZTk1YWI5YjgxZDMwMGQ5YWQ1YmZiOWM1NDRhZTM5NWUxZWI0MWYwMDBjN2Q4OWY2IiwicHVia2V5IjoiNzliZTY2N2VmOWRjYmJhYzU1YTA2Mjk1Y2U4NzBiMDcwMjliZmNkYjJkY2UyOGQ5NTlmMjgxNWIxNmY4MTc5OCIsImNyZWF0ZWRfYXQiOjE3NTU2ODU0MjgsInRhZ3MiOltbInQiLCJ1cGxvYWQiXSxbIngiLCI4NDcxNjE3MWJhYjE2YWQwMjFiZDg5NTMwNTAxODlmZTYwNzU5MTc0MzZjZDExY2M5MzNmMDIxYmJjNWQ1YjBiIl0sWyJleHBpcmF0aW9uIiwiMTc1NTY4OTAyOCJdXSwiY29udGVudCI6IiIsInNpZyI6Ijk1MzE2YWI3NWY4ZDAyYmI5OTVhMTI0OGMyNzRiOTlmOWJjNWRjMGFmNTY0OWU2OTQ5MDE1ZDA2OTkwNGQ0YmRmM2EzYzc5NDI3YWM4MjQ1Njk4NmEyZTkzN2IxZDI1YjZkMmVlOGVlMWU0NDZhODQ5Y2IxOTc3NGRmOTQ4ZWFkIn0=" +2025/08/20 06:51:41 [debug] 602395#602395: *8 fastcgi param: "HTTP_CONTENT_LENGTH: 16" +2025/08/20 06:51:41 [debug] 602395#602395: *8 posix_memalign: 00005E702F9A1150:4096 @16 +2025/08/20 06:51:41 [debug] 602395#602395: *8 http cleanup add: 00005E702F9ADD80 +2025/08/20 06:51:41 [debug] 602395#602395: *8 get rr peer, try: 1 +2025/08/20 06:51:41 [debug] 602395#602395: *8 stream socket 10 +2025/08/20 06:51:41 [debug] 602395#602395: *8 epoll add connection: fd:10 ev:80002005 +2025/08/20 06:51:41 [debug] 602395#602395: *8 connect to unix:/tmp/ginxsom-fcgi.sock, fd:10 #9 +2025/08/20 06:51:41 [debug] 602395#602395: *8 connected +2025/08/20 06:51:41 [debug] 602395#602395: *8 http upstream connect: 0 +2025/08/20 06:51:41 [debug] 602395#602395: *8 posix_memalign: 00005E702F980F20:128 @16 +2025/08/20 06:51:41 [debug] 602395#602395: *8 http upstream send request +2025/08/20 06:51:41 [debug] 602395#602395: *8 http upstream send request body +2025/08/20 06:51:41 [debug] 602395#602395: *8 chain writer buf fl:0 s:1224 +2025/08/20 06:51:41 [debug] 602395#602395: *8 chain writer buf fl:0 s:16 +2025/08/20 06:51:41 [debug] 602395#602395: *8 chain writer buf fl:0 s:8 +2025/08/20 06:51:41 [debug] 602395#602395: *8 chain writer in: 00005E702F9A1288 +2025/08/20 06:51:41 [debug] 602395#602395: *8 writev: 1248 of 1248 +2025/08/20 06:51:41 [debug] 602395#602395: *8 chain writer out: 0000000000000000 +2025/08/20 06:51:41 [debug] 602395#602395: *8 event timer add: 10: 60000:253894596 +2025/08/20 06:51:41 [debug] 602395#602395: *8 http finalize request: -4, "/upload?" a:1, c:2 +2025/08/20 06:51:41 [debug] 602395#602395: *8 http request count:2 blk:0 +2025/08/20 06:51:41 [debug] 602395#602395: timer delta: 0 +2025/08/20 06:51:41 [debug] 602395#602395: worker cycle +2025/08/20 06:51:41 [debug] 602395#602395: epoll timer: 60000 +2025/08/20 06:51:41 [debug] 602395#602395: epoll: fd:6 ev:0004 d:0000766FE7B131E0 +2025/08/20 06:51:41 [debug] 602395#602395: *8 http run request: "/upload?" +2025/08/20 06:51:41 [debug] 602395#602395: *8 http upstream check client, write event:1, "/upload" +2025/08/20 06:51:41 [debug] 602395#602395: epoll: fd:10 ev:0004 d:0000766FE7B132C9 +2025/08/20 06:51:41 [debug] 602395#602395: *8 http upstream request: "/upload?" +2025/08/20 06:51:41 [debug] 602395#602395: *8 http upstream dummy handler +2025/08/20 06:51:41 [debug] 602395#602395: timer delta: 1 +2025/08/20 06:51:41 [debug] 602395#602395: worker cycle +2025/08/20 06:51:41 [debug] 602395#602395: epoll timer: 59999 +2025/08/20 06:51:41 [debug] 602395#602395: epoll: fd:10 ev:0005 d:0000766FE7B132C9 +2025/08/20 06:51:41 [debug] 602395#602395: *8 http upstream request: "/upload?" +2025/08/20 06:51:41 [debug] 602395#602395: *8 http upstream process header +2025/08/20 06:51:41 [debug] 602395#602395: *8 malloc: 00005E702F9A2160:4096 +2025/08/20 06:51:41 [debug] 602395#602395: *8 recv: eof:0, avail:-1 +2025/08/20 06:51:41 [debug] 602395#602395: *8 recv: fd:10 1536 of 4096 +2025/08/20 06:51:41 [debug] 602395#602395: *8 http fastcgi record byte: 01 +2025/08/20 06:51:41 [debug] 602395#602395: *8 http fastcgi record byte: 07 +2025/08/20 06:51:41 [debug] 602395#602395: *8 http fastcgi record byte: 00 +2025/08/20 06:51:41 [debug] 602395#602395: *8 http fastcgi record byte: 01 +2025/08/20 06:51:41 [debug] 602395#602395: *8 http fastcgi record byte: 01 +2025/08/20 06:51:41 [debug] 602395#602395: *8 http fastcgi record byte: F8 +2025/08/20 06:51:41 [debug] 602395#602395: *8 http fastcgi record byte: 00 +2025/08/20 06:51:41 [debug] 602395#602395: *8 http fastcgi record byte: 00 +2025/08/20 06:51:41 [debug] 602395#602395: *8 http fastcgi record length: 504 +2025/08/20 06:51:41 [error] 602395#602395: *8 FastCGI sent in stderr: "DEBUG: parse_authorization_header called with header: Nostr eyJraW5kIjoyNDI0MiwiaWQiOiI5NTYxNjA1YjEwNjJj... +DEBUG: Extracted base64 event (length=DEBUG: Base64 decode result - decoded_len=DEBUG: Successfully decoded JSON (length=DEBUG: authenticate_request - Event fields before validation: +DEBUG: id: 9561605b1062ce37e95ab9b81d300d9ad5bfb9c544ae395e1eb41f000c7d89f6 +DEBUG: pubkey: 79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 +DEBUG: sig: 95316ab75f8d02bb995a1248c274b99f9bc5dc0" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 06:51:41 [debug] 602395#602395: *8 http fastcgi record byte: 01 +2025/08/20 06:51:41 [debug] 602395#602395: *8 http fastcgi record byte: 07 +2025/08/20 06:51:41 [debug] 602395#602395: *8 http fastcgi record byte: 00 +2025/08/20 06:51:41 [debug] 602395#602395: *8 http fastcgi record byte: 01 +2025/08/20 06:51:41 [debug] 602395#602395: *8 http fastcgi record byte: 01 +2025/08/20 06:51:41 [debug] 602395#602395: *8 http fastcgi record byte: F8 +2025/08/20 06:51:41 [debug] 602395#602395: *8 http fastcgi record byte: 00 +2025/08/20 06:51:41 [debug] 602395#602395: *8 http fastcgi record byte: 00 +2025/08/20 06:51:41 [debug] 602395#602395: *8 http fastcgi record length: 504 +2025/08/20 06:51:41 [error] 602395#602395: *8 FastCGI sent in stderr: "af5649e6949015d069904d4bdf3a3c79427ac82456986a2e937b1d25b6d2ee8ee1e446a849cb19774df948ead +DEBUG: kind: 24242 +DEBUG: created_at: 1755685428 +DEBUG: authenticate_request - Detailed pubkey analysis: +DEBUG: Pubkey: 79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 +DEBUG: Length: DEBUG: Character analysis (first 10): 7(0x37) 9(0x39) b(0x62) e(0x65) 6(0x36) 6(0x36) 7(0x37) e(0x65) f(0x66) 9(0x39) +DEBUG: authenticate_request - calling nostr_validate_event +DEBUG: authenticate_reques" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 06:51:41 [debug] 602395#602395: *8 http fastcgi record byte: 01 +2025/08/20 06:51:41 [debug] 602395#602395: *8 http fastcgi record byte: 07 +2025/08/20 06:51:41 [debug] 602395#602395: *8 http fastcgi record byte: 00 +2025/08/20 06:51:41 [debug] 602395#602395: *8 http fastcgi record byte: 01 +2025/08/20 06:51:41 [debug] 602395#602395: *8 http fastcgi record byte: 01 +2025/08/20 06:51:41 [debug] 602395#602395: *8 http fastcgi record byte: F8 +2025/08/20 06:51:41 [debug] 602395#602395: *8 http fastcgi record byte: 00 +2025/08/20 06:51:41 [debug] 602395#602395: *8 http fastcgi record byte: 00 +2025/08/20 06:51:41 [debug] 602395#602395: *8 http fastcgi record length: 504 +2025/08/20 06:51:41 [error] 602395#602395: *8 FastCGI sent in stderr: "t - Pre-validation pubkey analysis: +DEBUG: Pubkey: 79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 +DEBUG: Length: DEBUG: Character analysis (first 10): 7(55) 9(57) b(98) e(101) 6(54) 6(54) 7(55) e(101) f(102) 9(57) +DEBUG: Character validation test: ALL VALID (lowercase hex) +DEBUG: authenticate_request - Starting detailed validation analysis +DEBUG: authenticate_request - Testing structure validation... +DEBUG: authenticate_request - nostr_validate_event_structure returned: 0" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 06:51:41 [debug] 602395#602395: *8 recv: eof:0, avail:0 +2025/08/20 06:51:41 [debug] 602395#602395: *8 http upstream request: "/upload?" +2025/08/20 06:51:41 [debug] 602395#602395: *8 http upstream dummy handler +2025/08/20 06:51:41 [debug] 602395#602395: timer delta: 0 +2025/08/20 06:51:41 [debug] 602395#602395: worker cycle +2025/08/20 06:51:41 [debug] 602395#602395: epoll timer: 59999 +2025/08/20 06:51:41 [debug] 602395#602395: epoll: fd:10 ev:2005 d:0000766FE7B132C9 +2025/08/20 06:51:41 [debug] 602395#602395: *8 http upstream request: "/upload?" +2025/08/20 06:51:41 [debug] 602395#602395: *8 http upstream process header +2025/08/20 06:51:41 [debug] 602395#602395: *8 recv: eof:1, avail:-1 +2025/08/20 06:51:41 [debug] 602395#602395: *8 recv: fd:10 1824 of 4096 +2025/08/20 06:51:41 [debug] 602395#602395: *8 http fastcgi record byte: 01 +2025/08/20 06:51:41 [debug] 602395#602395: *8 http fastcgi record byte: 07 +2025/08/20 06:51:41 [debug] 602395#602395: *8 http fastcgi record byte: 00 +2025/08/20 06:51:41 [debug] 602395#602395: *8 http fastcgi record byte: 01 +2025/08/20 06:51:41 [debug] 602395#602395: *8 http fastcgi record byte: 01 +2025/08/20 06:51:41 [debug] 602395#602395: *8 http fastcgi record byte: A1 +2025/08/20 06:51:41 [debug] 602395#602395: *8 http fastcgi record byte: 07 +2025/08/20 06:51:41 [debug] 602395#602395: *8 http fastcgi record byte: 00 +2025/08/20 06:51:41 [debug] 602395#602395: *8 http fastcgi record length: 417 +2025/08/20 06:51:41 [error] 602395#602395: *8 FastCGI sent in stderr: "(Success) +DEBUG: authenticate_request - Structure validation PASSED +DEBUG: authenticate_request - Testing cryptographic verification... +DEBUG: authenticate_request - nostr_verify_event_signature returned: -32 (Event has invalid public key) +DEBUG: authenticate_request - CRYPTO verification failed! +DEBUG: authenticate_request - Failed pubkey: 79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 (length:" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 06:51:41 [debug] 602395#602395: *8 http fastcgi record byte: 01 +2025/08/20 06:51:41 [debug] 602395#602395: *8 http fastcgi record byte: 07 +2025/08/20 06:51:41 [debug] 602395#602395: *8 http fastcgi record byte: 00 +2025/08/20 06:51:41 [debug] 602395#602395: *8 http fastcgi record byte: 01 +2025/08/20 06:51:41 [debug] 602395#602395: *8 http fastcgi record byte: 00 +2025/08/20 06:51:41 [debug] 602395#602395: *8 http fastcgi record byte: 00 +2025/08/20 06:51:41 [debug] 602395#602395: *8 http fastcgi record byte: 00 +2025/08/20 06:51:41 [debug] 602395#602395: *8 http fastcgi record byte: 00 +2025/08/20 06:51:41 [debug] 602395#602395: *8 http fastcgi record length: 0 +2025/08/20 06:51:41 [debug] 602395#602395: *8 http fastcgi record byte: 01 +2025/08/20 06:51:41 [debug] 602395#602395: *8 http fastcgi record byte: 06 +2025/08/20 06:51:41 [debug] 602395#602395: *8 http fastcgi record byte: 00 +2025/08/20 06:51:41 [debug] 602395#602395: *8 http fastcgi record byte: 01 +2025/08/20 06:51:41 [debug] 602395#602395: *8 http fastcgi record byte: 05 +2025/08/20 06:51:41 [debug] 602395#602395: *8 http fastcgi record byte: 46 +2025/08/20 06:51:41 [debug] 602395#602395: *8 http fastcgi record byte: 02 +2025/08/20 06:51:41 [debug] 602395#602395: *8 http fastcgi record byte: 00 +2025/08/20 06:51:41 [debug] 602395#602395: *8 http fastcgi record length: 1350 +2025/08/20 06:51:41 [debug] 602395#602395: *8 http fastcgi parser: 0 +2025/08/20 06:51:41 [debug] 602395#602395: *8 http fastcgi header: "DEBUG: FastCGI received request" +2025/08/20 06:51:41 [debug] 602395#602395: *8 http fastcgi parser: 0 +2025/08/20 06:51:41 [debug] 602395#602395: *8 http fastcgi header: "DEBUG: METHOD=PUT, URI=/upload" +2025/08/20 06:51:41 [debug] 602395#602395: *8 http fastcgi parser: 0 +2025/08/20 06:51:41 [debug] 602395#602395: *8 http fastcgi header: "DEBUG: handle_upload_request called" +2025/08/20 06:51:41 [debug] 602395#602395: *8 http fastcgi parser: 0 +2025/08/20 06:51:41 [debug] 602395#602395: *8 http fastcgi header: "LOG: [2025-08-20 06:51:41] PUT /upload - Auth: pending - Status: 0" +2025/08/20 06:51:41 [debug] 602395#602395: *8 http fastcgi parser: 0 +2025/08/20 06:51:41 [debug] 602395#602395: *8 http fastcgi header: "DEBUG: content_type=text/plain" +2025/08/20 06:51:41 [debug] 602395#602395: *8 http fastcgi parser: 0 +2025/08/20 06:51:41 [debug] 602395#602395: *8 http fastcgi header: "DEBUG: content_length=16" +2025/08/20 06:51:41 [debug] 602395#602395: *8 http fastcgi parser: 0 +2025/08/20 06:51:41 [debug] 602395#602395: *8 http fastcgi header: "DEBUG: Raw Authorization header: Nostr eyJraW5kIjoyNDI0MiwiaWQiOiI5NTYxNjA1YjEwNjJjZTM3ZTk1YWI5YjgxZDMwMGQ5YWQ1YmZiOWM1NDRhZTM5NWUxZWI0MWYwMDBjN2Q4OWY2IiwicHVia2V5IjoiNzliZTY2N2VmOWRjYmJhYzU1YTA2Mjk1Y2U4NzBiMDcwMjliZmNkYjJkY2UyOGQ5NTlmMjgxNWIxNmY4MTc5OCIsImNyZWF0ZWRfYXQiOjE3NTU2ODU0MjgsInRhZ3MiOltbInQiLCJ1cGxvYWQiXSxbIngiLCI4NDcxNjE3MWJhYjE2YWQwMjFiZDg5NTMwNTAxODlmZTYwNzU5MTc0MzZjZDExY2M5MzNmMDIxYmJjNWQ1YjBiIl0sWyJleHBpcmF0aW9uIiwiMTc1NTY4OTAyOCJdXSwiY29udGVudCI6IiIsInNpZyI6Ijk1MzE2YWI3NWY4ZDAyYmI5OTVhMTI0OGMyNzRiOTlmOWJjNWRjMGFmNTY0OWU2OTQ5MDE1ZDA2OTkwNGQ0YmRmM2EzYzc5NDI3YWM4MjQ1Njk4NmEyZTkzN2IxZDI1YjZkMmVlOGVlMWU0NDZhODQ5Y2IxOTc3NGRmOTQ4ZWFkIn0=" +2025/08/20 06:51:41 [debug] 602395#602395: *8 http fastcgi parser: 0 +2025/08/20 06:51:41 [debug] 602395#602395: *8 http fastcgi header: "LOG: [2025-08-20 06:51:41] PUT /upload - Auth: auth_provided - Status: 0" +2025/08/20 06:51:41 [debug] 602395#602395: *8 http fastcgi parser: 0 +2025/08/20 06:51:41 [debug] 602395#602395: *8 http fastcgi header: "DEBUG: Successfully read DEBUG: Calculated SHA-256: 59fbf16bd87c759e1a723b6b638d925bb0b589e6ef5169ff6ad187957345aa58" +2025/08/20 06:51:41 [debug] 602395#602395: *8 http fastcgi parser: 0 +2025/08/20 06:51:41 [debug] 602395#602395: *8 http fastcgi header: "Status: 401 Unauthorized" +2025/08/20 06:51:41 [debug] 602395#602395: *8 http fastcgi parser: 0 +2025/08/20 06:51:41 [debug] 602395#602395: *8 http fastcgi header: "Content-Type: application/json" +2025/08/20 06:51:41 [debug] 602395#602395: *8 http fastcgi parser: 1 +2025/08/20 06:51:41 [debug] 602395#602395: *8 http fastcgi header done +2025/08/20 06:51:41 [debug] 602395#602395: *8 HTTP/1.1 401 Unauthorized +Server: nginx/1.18.0 (Ubuntu) +Date: Wed, 20 Aug 2025 10:51:41 GMT +Content-Type: application/json +Transfer-Encoding: chunked +Connection: keep-alive +DEBUG: FastCGI received request +DEBUG: METHOD=PUT, URI=/upload +DEBUG: handle_upload_request called +LOG: [2025-08-20 06:51:41] PUT /upload - Auth: pending - Status: 0 +DEBUG: content_type=text/plain +DEBUG: content_length=16 +DEBUG: Raw Authorization header: Nostr eyJraW5kIjoyNDI0MiwiaWQiOiI5NTYxNjA1YjEwNjJjZTM3ZTk1YWI5YjgxZDMwMGQ5YWQ1YmZiOWM1NDRhZTM5NWUxZWI0MWYwMDBjN2Q4OWY2IiwicHVia2V5IjoiNzliZTY2N2VmOWRjYmJhYzU1YTA2Mjk1Y2U4NzBiMDcwMjliZmNkYjJkY2UyOGQ5NTlmMjgxNWIxNmY4MTc5OCIsImNyZWF0ZWRfYXQiOjE3NTU2ODU0MjgsInRhZ3MiOltbInQiLCJ1cGxvYWQiXSxbIngiLCI4NDcxNjE3MWJhYjE2YWQwMjFiZDg5NTMwNTAxODlmZTYwNzU5MTc0MzZjZDExY2M5MzNmMDIxYmJjNWQ1YjBiIl0sWyJleHBpcmF0aW9uIiwiMTc1NTY4OTAyOCJdXSwiY29udGVudCI6IiIsInNpZyI6Ijk1MzE2YWI3NWY4ZDAyYmI5OTVhMTI0OGMyNzRiOTlmOWJjNWRjMGFmNTY0OWU2OTQ5MDE1ZDA2OTkwNGQ0YmRmM2EzYzc5NDI3YWM4MjQ1Njk4NmEyZTkzN2IxZDI1YjZkMmVlOGVlMWU0NDZhODQ5Y2IxOTc3NGRmOTQ4ZWFkIn0= +LOG: [2025-08-20 06:51:41] PUT /upload - Auth: auth_provided - Status: 0 +DEBUG: Successfully read DEBUG: Calculated SHA-256: 59fbf16bd87c759e1a723b6b638d925bb0b589e6ef5169ff6ad187957345aa58 + +2025/08/20 06:51:41 [debug] 602395#602395: *8 write new buf t:1 f:0 00005E702F9A1B40, pos 00005E702F9A1B40, size: 1258 file: 0, size: 0 +2025/08/20 06:51:41 [debug] 602395#602395: *8 http write filter: l:0 f:0 s:1258 +2025/08/20 06:51:41 [debug] 602395#602395: *8 http cacheable: 0 +2025/08/20 06:51:41 [debug] 602395#602395: *8 http upstream process upstream +2025/08/20 06:51:41 [debug] 602395#602395: *8 pipe read upstream: 1 +2025/08/20 06:51:41 [debug] 602395#602395: *8 pipe preread: 239 +2025/08/20 06:51:41 [debug] 602395#602395: *8 readv: eof:1, avail:0 +2025/08/20 06:51:41 [debug] 602395#602395: *8 readv: 1, last:2272 +2025/08/20 06:51:41 [debug] 602395#602395: *8 pipe recv chain: 0 +2025/08/20 06:51:41 [debug] 602395#602395: *8 pipe buf free s:0 t:1 f:0 00005E702F9A2160, pos 00005E702F9A2791, size: 239 file: 0, size: 0 +2025/08/20 06:51:41 [debug] 602395#602395: *8 pipe length: -1 +2025/08/20 06:51:41 [debug] 602395#602395: *8 posix_memalign: 00005E702F9A3170:4096 @16 +2025/08/20 06:51:41 [debug] 602395#602395: *8 input buf #0 00005E702F9A2791 +2025/08/20 06:51:41 [debug] 602395#602395: *8 http fastcgi record byte: 01 +2025/08/20 06:51:41 [debug] 602395#602395: *8 http fastcgi record byte: 06 +2025/08/20 06:51:41 [debug] 602395#602395: *8 http fastcgi record byte: 00 +2025/08/20 06:51:41 [debug] 602395#602395: *8 http fastcgi record byte: 01 +2025/08/20 06:51:41 [debug] 602395#602395: *8 http fastcgi record byte: 00 +2025/08/20 06:51:41 [debug] 602395#602395: *8 http fastcgi record byte: 00 +2025/08/20 06:51:41 [debug] 602395#602395: *8 http fastcgi record byte: 00 +2025/08/20 06:51:41 [debug] 602395#602395: *8 http fastcgi record byte: 00 +2025/08/20 06:51:41 [debug] 602395#602395: *8 http fastcgi record length: 0 +2025/08/20 06:51:41 [debug] 602395#602395: *8 http fastcgi closed stdout +2025/08/20 06:51:41 [debug] 602395#602395: *8 http fastcgi record byte: 01 +2025/08/20 06:51:41 [debug] 602395#602395: *8 http fastcgi record byte: 03 +2025/08/20 06:51:41 [debug] 602395#602395: *8 http fastcgi record byte: 00 +2025/08/20 06:51:41 [debug] 602395#602395: *8 http fastcgi record byte: 01 +2025/08/20 06:51:41 [debug] 602395#602395: *8 http fastcgi record byte: 00 +2025/08/20 06:51:41 [debug] 602395#602395: *8 http fastcgi record byte: 08 +2025/08/20 06:51:41 [debug] 602395#602395: *8 http fastcgi record byte: 00 +2025/08/20 06:51:41 [debug] 602395#602395: *8 http fastcgi record byte: 00 +2025/08/20 06:51:41 [debug] 602395#602395: *8 http fastcgi record length: 8 +2025/08/20 06:51:41 [debug] 602395#602395: *8 http fastcgi sent end request +2025/08/20 06:51:41 [debug] 602395#602395: *8 input buf 00005E702F9A2791 213 +2025/08/20 06:51:41 [debug] 602395#602395: *8 pipe write downstream: 1 +2025/08/20 06:51:41 [debug] 602395#602395: *8 pipe write downstream flush in +2025/08/20 06:51:41 [debug] 602395#602395: *8 http output filter "/upload?" +2025/08/20 06:51:41 [debug] 602395#602395: *8 http copy filter: "/upload?" +2025/08/20 06:51:41 [debug] 602395#602395: *8 http postpone filter "/upload?" 00005E702F9A1258 +2025/08/20 06:51:41 [debug] 602395#602395: *8 http chunk: 213 +2025/08/20 06:51:41 [debug] 602395#602395: *8 write old buf t:1 f:0 00005E702F9A1B40, pos 00005E702F9A1B40, size: 1258 file: 0, size: 0 +2025/08/20 06:51:41 [debug] 602395#602395: *8 write new buf t:1 f:0 00005E702F9A32B8, pos 00005E702F9A32B8, size: 4 file: 0, size: 0 +2025/08/20 06:51:41 [debug] 602395#602395: *8 write new buf t:1 f:0 00005E702F9A2160, pos 00005E702F9A2791, size: 213 file: 0, size: 0 +2025/08/20 06:51:41 [debug] 602395#602395: *8 write new buf t:0 f:0 0000000000000000, pos 00005E700DFD02E8, size: 2 file: 0, size: 0 +2025/08/20 06:51:41 [debug] 602395#602395: *8 http write filter: l:0 f:0 s:1477 +2025/08/20 06:51:41 [debug] 602395#602395: *8 http write filter limit 0 +2025/08/20 06:51:41 [debug] 602395#602395: *8 writev: 1477 of 1477 +2025/08/20 06:51:41 [debug] 602395#602395: *8 http write filter 0000000000000000 +2025/08/20 06:51:41 [debug] 602395#602395: *8 http copy filter: 0 "/upload?" +2025/08/20 06:51:41 [debug] 602395#602395: *8 pipe write downstream done +2025/08/20 06:51:41 [debug] 602395#602395: *8 event timer: 10, old: 253894596, new: 253894597 +2025/08/20 06:51:41 [debug] 602395#602395: *8 http upstream exit: 0000000000000000 +2025/08/20 06:51:41 [debug] 602395#602395: *8 finalize http upstream request: 0 +2025/08/20 06:51:41 [debug] 602395#602395: *8 finalize http fastcgi request +2025/08/20 06:51:41 [debug] 602395#602395: *8 free rr peer 1 0 +2025/08/20 06:51:41 [debug] 602395#602395: *8 close http upstream connection: 10 +2025/08/20 06:51:41 [debug] 602395#602395: *8 free: 00005E702F980F20, unused: 48 +2025/08/20 06:51:41 [debug] 602395#602395: *8 event timer del: 10: 253894596 +2025/08/20 06:51:41 [debug] 602395#602395: *8 reusable connection: 0 +2025/08/20 06:51:41 [debug] 602395#602395: *8 http upstream temp fd: -1 +2025/08/20 06:51:41 [debug] 602395#602395: *8 http output filter "/upload?" +2025/08/20 06:51:41 [debug] 602395#602395: *8 http copy filter: "/upload?" +2025/08/20 06:51:41 [debug] 602395#602395: *8 http postpone filter "/upload?" 00007FFC67C2AF60 +2025/08/20 06:51:41 [debug] 602395#602395: *8 http chunk: 0 +2025/08/20 06:51:41 [debug] 602395#602395: *8 write new buf t:0 f:0 0000000000000000, pos 00005E700DFD02E5, size: 5 file: 0, size: 0 +2025/08/20 06:51:41 [debug] 602395#602395: *8 http write filter: l:1 f:0 s:5 +2025/08/20 06:51:41 [debug] 602395#602395: *8 http write filter limit 0 +2025/08/20 06:51:41 [debug] 602395#602395: *8 writev: 5 of 5 +2025/08/20 06:51:41 [debug] 602395#602395: *8 http write filter 0000000000000000 +2025/08/20 06:51:41 [debug] 602395#602395: *8 http copy filter: 0 "/upload?" +2025/08/20 06:51:41 [debug] 602395#602395: *8 http finalize request: 0, "/upload?" a:1, c:1 +2025/08/20 06:51:41 [debug] 602395#602395: *8 set http keepalive handler +2025/08/20 06:51:41 [debug] 602395#602395: *8 http close request +2025/08/20 06:51:41 [debug] 602395#602395: *8 http log handler +2025/08/20 06:51:41 [debug] 602395#602395: *8 free: 00005E702F9A2160 +2025/08/20 06:51:41 [debug] 602395#602395: *8 free: 00005E702F9B6A30, unused: 3 +2025/08/20 06:51:41 [debug] 602395#602395: *8 free: 00005E702F9ACDA0, unused: 8 +2025/08/20 06:51:41 [debug] 602395#602395: *8 free: 00005E702F9A1150, unused: 8 +2025/08/20 06:51:41 [debug] 602395#602395: *8 free: 00005E702F9A3170, unused: 3410 +2025/08/20 06:51:41 [debug] 602395#602395: *8 free: 00005E702F99A0A0 +2025/08/20 06:51:41 [debug] 602395#602395: *8 hc free: 0000000000000000 +2025/08/20 06:51:41 [debug] 602395#602395: *8 hc busy: 0000000000000000 0 +2025/08/20 06:51:41 [debug] 602395#602395: *8 tcp_nodelay +2025/08/20 06:51:41 [debug] 602395#602395: *8 reusable connection: 1 +2025/08/20 06:51:41 [debug] 602395#602395: *8 event timer add: 6: 65000:253899597 +2025/08/20 06:51:41 [debug] 602395#602395: timer delta: 0 +2025/08/20 06:51:41 [debug] 602395#602395: worker cycle +2025/08/20 06:51:41 [debug] 602395#602395: epoll timer: 65000 +2025/08/20 06:51:41 [debug] 602395#602395: epoll: fd:6 ev:2005 d:0000766FE7B131E0 +2025/08/20 06:51:41 [debug] 602395#602395: *8 http keepalive handler +2025/08/20 06:51:41 [debug] 602395#602395: *8 malloc: 00005E702F99A0A0:1024 +2025/08/20 06:51:41 [debug] 602395#602395: *8 recv: eof:1, avail:-1 +2025/08/20 06:51:41 [debug] 602395#602395: *8 recv: fd:6 0 of 1024 +2025/08/20 06:51:41 [info] 602395#602395: *8 client 127.0.0.1 closed keepalive connection +2025/08/20 06:51:41 [debug] 602395#602395: *8 close http connection: 6 +2025/08/20 06:51:41 [debug] 602395#602395: *8 event timer del: 6: 253899597 +2025/08/20 06:51:41 [debug] 602395#602395: *8 reusable connection: 0 +2025/08/20 06:51:41 [debug] 602395#602395: *8 free: 00005E702F99A0A0 +2025/08/20 06:51:41 [debug] 602395#602395: *8 free: 00005E702F997840, unused: 120 +2025/08/20 06:51:41 [debug] 602395#602395: timer delta: 1 +2025/08/20 06:51:41 [debug] 602395#602395: worker cycle +2025/08/20 06:51:41 [debug] 602395#602395: epoll timer: -1 +2025/08/20 06:54:59 [debug] 602395#602395: epoll: fd:5 ev:0001 d:0000766FE7B13010 +2025/08/20 06:54:59 [debug] 602395#602395: accept on 0.0.0.0:9001, ready: 0 +2025/08/20 06:54:59 [debug] 602395#602395: posix_memalign: 00005E702F997840:512 @16 +2025/08/20 06:54:59 [debug] 602395#602395: *10 accept: 127.0.0.1:44188 fd:6 +2025/08/20 06:54:59 [debug] 602395#602395: *10 event timer add: 6: 60000:254092686 +2025/08/20 06:54:59 [debug] 602395#602395: *10 reusable connection: 1 +2025/08/20 06:54:59 [debug] 602395#602395: *10 epoll add event: fd:6 op:1 ev:80002001 +2025/08/20 06:54:59 [debug] 602395#602395: timer delta: 198088 +2025/08/20 06:54:59 [debug] 602395#602395: worker cycle +2025/08/20 06:54:59 [debug] 602395#602395: epoll timer: 60000 +2025/08/20 06:54:59 [debug] 602395#602395: epoll: fd:6 ev:0001 d:0000766FE7B131E1 +2025/08/20 06:54:59 [debug] 602395#602395: *10 http wait request handler +2025/08/20 06:54:59 [debug] 602395#602395: *10 malloc: 00005E702F99A0A0:1024 +2025/08/20 06:54:59 [debug] 602395#602395: *10 recv: eof:0, avail:-1 +2025/08/20 06:54:59 [debug] 602395#602395: *10 recv: fd:6 84 of 1024 +2025/08/20 06:54:59 [debug] 602395#602395: *10 reusable connection: 0 +2025/08/20 06:54:59 [debug] 602395#602395: *10 posix_memalign: 00005E702F9B6A30:4096 @16 +2025/08/20 06:54:59 [debug] 602395#602395: *10 http process request line +2025/08/20 06:54:59 [debug] 602395#602395: *10 http request line: "GET /health HTTP/1.1" +2025/08/20 06:54:59 [debug] 602395#602395: *10 http uri: "/health" +2025/08/20 06:54:59 [debug] 602395#602395: *10 http args: "" +2025/08/20 06:54:59 [debug] 602395#602395: *10 http exten: "" +2025/08/20 06:54:59 [debug] 602395#602395: *10 posix_memalign: 00005E702F9ACDA0:4096 @16 +2025/08/20 06:54:59 [debug] 602395#602395: *10 http process request header line +2025/08/20 06:54:59 [debug] 602395#602395: *10 http header: "Host: localhost:9001" +2025/08/20 06:54:59 [debug] 602395#602395: *10 http header: "User-Agent: curl/8.15.0" +2025/08/20 06:54:59 [debug] 602395#602395: *10 http header: "Accept: */*" +2025/08/20 06:54:59 [debug] 602395#602395: *10 http header done +2025/08/20 06:54:59 [debug] 602395#602395: *10 event timer del: 6: 254092686 +2025/08/20 06:54:59 [debug] 602395#602395: *10 generic phase: 0 +2025/08/20 06:54:59 [debug] 602395#602395: *10 rewrite phase: 1 +2025/08/20 06:54:59 [debug] 602395#602395: *10 test location: "/health" +2025/08/20 06:54:59 [debug] 602395#602395: *10 test location: ~ "^/([a-f0-9]{64}).*$" +2025/08/20 06:54:59 [debug] 602395#602395: *10 test location: ~ "^/([a-f0-9]{64})(\.[a-zA-Z0-9]+)?$" +2025/08/20 06:54:59 [debug] 602395#602395: *10 test location: ~ "^/fcgi-head/([a-f0-9]{64}).*$" +2025/08/20 06:54:59 [debug] 602395#602395: *10 test location: ~ "^/list/([a-f0-9]{64}).*$" +2025/08/20 06:54:59 [debug] 602395#602395: *10 using configuration "/health" +2025/08/20 06:54:59 [debug] 602395#602395: *10 http cl:-1 max:104857600 +2025/08/20 06:54:59 [debug] 602395#602395: *10 rewrite phase: 3 +2025/08/20 06:54:59 [debug] 602395#602395: *10 http set discard body +2025/08/20 06:54:59 [debug] 602395#602395: *10 HTTP/1.1 200 OK +Server: nginx/1.18.0 (Ubuntu) +Date: Wed, 20 Aug 2025 10:54:59 GMT +Content-Type: application/octet-stream +Content-Length: 3 +Connection: keep-alive +Content-Type: text/plain + +2025/08/20 06:54:59 [debug] 602395#602395: *10 write new buf t:1 f:0 00005E702F9AD180, pos 00005E702F9AD180, size: 196 file: 0, size: 0 +2025/08/20 06:54:59 [debug] 602395#602395: *10 http write filter: l:0 f:0 s:196 +2025/08/20 06:54:59 [debug] 602395#602395: *10 http output filter "/health?" +2025/08/20 06:54:59 [debug] 602395#602395: *10 http copy filter: "/health?" +2025/08/20 06:54:59 [debug] 602395#602395: *10 http postpone filter "/health?" 00007FFC67C2AEB0 +2025/08/20 06:54:59 [debug] 602395#602395: *10 write old buf t:1 f:0 00005E702F9AD180, pos 00005E702F9AD180, size: 196 file: 0, size: 0 +2025/08/20 06:54:59 [debug] 602395#602395: *10 write new buf t:0 f:0 0000000000000000, pos 00005E702F9D4B42, size: 3 file: 0, size: 0 +2025/08/20 06:54:59 [debug] 602395#602395: *10 http write filter: l:1 f:0 s:199 +2025/08/20 06:54:59 [debug] 602395#602395: *10 http write filter limit 0 +2025/08/20 06:54:59 [debug] 602395#602395: *10 writev: 199 of 199 +2025/08/20 06:54:59 [debug] 602395#602395: *10 http write filter 0000000000000000 +2025/08/20 06:54:59 [debug] 602395#602395: *10 http copy filter: 0 "/health?" +2025/08/20 06:54:59 [debug] 602395#602395: *10 http finalize request: 0, "/health?" a:1, c:1 +2025/08/20 06:54:59 [debug] 602395#602395: *10 set http keepalive handler +2025/08/20 06:54:59 [debug] 602395#602395: *10 http close request +2025/08/20 06:54:59 [debug] 602395#602395: *10 http log handler +2025/08/20 06:54:59 [debug] 602395#602395: *10 free: 00005E702F9B6A30, unused: 0 +2025/08/20 06:54:59 [debug] 602395#602395: *10 free: 00005E702F9ACDA0, unused: 2736 +2025/08/20 06:54:59 [debug] 602395#602395: *10 free: 00005E702F99A0A0 +2025/08/20 06:54:59 [debug] 602395#602395: *10 hc free: 0000000000000000 +2025/08/20 06:54:59 [debug] 602395#602395: *10 hc busy: 0000000000000000 0 +2025/08/20 06:54:59 [debug] 602395#602395: *10 tcp_nodelay +2025/08/20 06:54:59 [debug] 602395#602395: *10 reusable connection: 1 +2025/08/20 06:54:59 [debug] 602395#602395: *10 event timer add: 6: 65000:254097686 +2025/08/20 06:54:59 [debug] 602395#602395: timer delta: 0 +2025/08/20 06:54:59 [debug] 602395#602395: worker cycle +2025/08/20 06:54:59 [debug] 602395#602395: epoll timer: 65000 +2025/08/20 06:54:59 [debug] 602395#602395: epoll: fd:6 ev:2001 d:0000766FE7B131E1 +2025/08/20 06:54:59 [debug] 602395#602395: *10 http keepalive handler +2025/08/20 06:54:59 [debug] 602395#602395: *10 malloc: 00005E702F99A0A0:1024 +2025/08/20 06:54:59 [debug] 602395#602395: *10 recv: eof:1, avail:-1 +2025/08/20 06:54:59 [debug] 602395#602395: *10 recv: fd:6 0 of 1024 +2025/08/20 06:54:59 [info] 602395#602395: *10 client 127.0.0.1 closed keepalive connection +2025/08/20 06:54:59 [debug] 602395#602395: *10 close http connection: 6 +2025/08/20 06:54:59 [debug] 602395#602395: *10 event timer del: 6: 254097686 +2025/08/20 06:54:59 [debug] 602395#602395: *10 reusable connection: 0 +2025/08/20 06:54:59 [debug] 602395#602395: *10 free: 00005E702F99A0A0 +2025/08/20 06:54:59 [debug] 602395#602395: *10 free: 00005E702F997840, unused: 136 +2025/08/20 06:54:59 [debug] 602395#602395: timer delta: 1 +2025/08/20 06:54:59 [debug] 602395#602395: worker cycle +2025/08/20 06:54:59 [debug] 602395#602395: epoll timer: -1 +2025/08/20 06:54:59 [debug] 602395#602395: epoll: fd:5 ev:0001 d:0000766FE7B13010 +2025/08/20 06:54:59 [debug] 602395#602395: accept on 0.0.0.0:9001, ready: 0 +2025/08/20 06:54:59 [debug] 602395#602395: posix_memalign: 00005E702F997840:512 @16 +2025/08/20 06:54:59 [debug] 602395#602395: *11 accept: 127.0.0.1:44198 fd:6 +2025/08/20 06:54:59 [debug] 602395#602395: *11 event timer add: 6: 60000:254092984 +2025/08/20 06:54:59 [debug] 602395#602395: *11 reusable connection: 1 +2025/08/20 06:54:59 [debug] 602395#602395: *11 epoll add event: fd:6 op:1 ev:80002001 +2025/08/20 06:54:59 [debug] 602395#602395: timer delta: 297 +2025/08/20 06:54:59 [debug] 602395#602395: worker cycle +2025/08/20 06:54:59 [debug] 602395#602395: epoll timer: 60000 +2025/08/20 06:54:59 [debug] 602395#602395: epoll: fd:6 ev:0001 d:0000766FE7B131E0 +2025/08/20 06:54:59 [debug] 602395#602395: *11 http wait request handler +2025/08/20 06:54:59 [debug] 602395#602395: *11 malloc: 00005E702F99A0A0:1024 +2025/08/20 06:54:59 [debug] 602395#602395: *11 recv: eof:0, avail:-1 +2025/08/20 06:54:59 [debug] 602395#602395: *11 recv: fd:6 1024 of 1024 +2025/08/20 06:54:59 [debug] 602395#602395: *11 recv: avail:112 +2025/08/20 06:54:59 [debug] 602395#602395: *11 reusable connection: 0 +2025/08/20 06:54:59 [debug] 602395#602395: *11 posix_memalign: 00005E702F9B6A30:4096 @16 +2025/08/20 06:54:59 [debug] 602395#602395: *11 http process request line +2025/08/20 06:54:59 [debug] 602395#602395: *11 http request line: "PUT /upload HTTP/1.1" +2025/08/20 06:54:59 [debug] 602395#602395: *11 http uri: "/upload" +2025/08/20 06:54:59 [debug] 602395#602395: *11 http args: "" +2025/08/20 06:54:59 [debug] 602395#602395: *11 http exten: "" +2025/08/20 06:54:59 [debug] 602395#602395: *11 posix_memalign: 00005E702F9ACDA0:4096 @16 +2025/08/20 06:54:59 [debug] 602395#602395: *11 http process request header line +2025/08/20 06:54:59 [debug] 602395#602395: *11 http header: "Host: localhost:9001" +2025/08/20 06:54:59 [debug] 602395#602395: *11 http header: "User-Agent: curl/8.15.0" +2025/08/20 06:54:59 [debug] 602395#602395: *11 http header: "Accept: */*" +2025/08/20 06:54:59 [debug] 602395#602395: *11 http header: "Authorization: Nostr eyJraW5kIjoyNDI0MiwiaWQiOiJlZTI2MzFiMjBlYWE0NjQ0ODI3Njg2MTE5ZTNiZjRkNTFjYWE3MGRmYTBiNDhiZDc3MWU3ZDExYTIyNjIwY2ZiIiwicHVia2V5IjoiNzliZTY2N2VmOWRjYmJhYzU1YTA2Mjk1Y2U4NzBiMDcwMjliZmNkYjJkY2UyOGQ5NTlmMjgxNWIxNmY4MTc5OCIsImNyZWF0ZWRfYXQiOjE3NTU2ODcyOTksInRhZ3MiOltbInQiLCJ1cGxvYWQiXSxbIngiLCJiMjJkOGJiOTNjMDMwYmRmZjcxYTRiZjAwZGMzOGMxZTNkOTIwZTI1MzVkZjNiOWUyZTUxM2RmY2I2MjQ5ODIwIl0sWyJleHBpcmF0aW9uIiwiMTc1NTY5MDg5OSJdXSwiY29udGVudCI6IiIsInNpZyI6ImVkYjg4YzAzZDI1YWMyMjQyM2MwZDJmN2NmZGQ1YjliYmE0Yjk3ODBhYjBkNjg0NzE3OTkxNTBiYjM1NDgzNDhiODU4ODY0NTFjMGZkMjYwYzFiYWNkMzhjNzVlOTZhZDZhZTBjOWRlNjFhY2I3ZTA0YTIwZjQzMzhhYmY3NDE5In0=" +2025/08/20 06:54:59 [debug] 602395#602395: *11 http header: "Content-Type: text/plain" +2025/08/20 06:54:59 [debug] 602395#602395: *11 http header: "Content-Disposition: attachment; filename="test_blob_1755687299.txt"" +2025/08/20 06:54:59 [debug] 602395#602395: *11 http header: "Content-Length: 296" +2025/08/20 06:54:59 [debug] 602395#602395: *11 http header done +2025/08/20 06:54:59 [debug] 602395#602395: *11 event timer del: 6: 254092984 +2025/08/20 06:54:59 [debug] 602395#602395: *11 generic phase: 0 +2025/08/20 06:54:59 [debug] 602395#602395: *11 rewrite phase: 1 +2025/08/20 06:54:59 [debug] 602395#602395: *11 test location: "/health" +2025/08/20 06:54:59 [debug] 602395#602395: *11 test location: "/upload" +2025/08/20 06:54:59 [debug] 602395#602395: *11 test location: ~ "^/([a-f0-9]{64}).*$" +2025/08/20 06:54:59 [debug] 602395#602395: *11 test location: ~ "^/([a-f0-9]{64})(\.[a-zA-Z0-9]+)?$" +2025/08/20 06:54:59 [debug] 602395#602395: *11 test location: ~ "^/fcgi-head/([a-f0-9]{64}).*$" +2025/08/20 06:54:59 [debug] 602395#602395: *11 test location: ~ "^/list/([a-f0-9]{64}).*$" +2025/08/20 06:54:59 [debug] 602395#602395: *11 using configuration "/upload" +2025/08/20 06:54:59 [debug] 602395#602395: *11 http cl:296 max:104857600 +2025/08/20 06:54:59 [debug] 602395#602395: *11 rewrite phase: 3 +2025/08/20 06:54:59 [debug] 602395#602395: *11 http script var +2025/08/20 06:54:59 [debug] 602395#602395: *11 http script var: "PUT" +2025/08/20 06:54:59 [debug] 602395#602395: *11 http script regex: "^(PUT)$" +2025/08/20 06:54:59 [notice] 602395#602395: *11 "^(PUT)$" matches "PUT", client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", host: "localhost:9001" +2025/08/20 06:54:59 [debug] 602395#602395: *11 http script if +2025/08/20 06:54:59 [debug] 602395#602395: *11 http script if: false +2025/08/20 06:54:59 [debug] 602395#602395: *11 post rewrite phase: 4 +2025/08/20 06:54:59 [debug] 602395#602395: *11 generic phase: 5 +2025/08/20 06:54:59 [debug] 602395#602395: *11 generic phase: 6 +2025/08/20 06:54:59 [debug] 602395#602395: *11 generic phase: 7 +2025/08/20 06:54:59 [debug] 602395#602395: *11 access phase: 8 +2025/08/20 06:54:59 [debug] 602395#602395: *11 access phase: 9 +2025/08/20 06:54:59 [debug] 602395#602395: *11 access phase: 10 +2025/08/20 06:54:59 [debug] 602395#602395: *11 post access phase: 11 +2025/08/20 06:54:59 [debug] 602395#602395: *11 generic phase: 12 +2025/08/20 06:54:59 [debug] 602395#602395: *11 generic phase: 13 +2025/08/20 06:54:59 [debug] 602395#602395: *11 http client request body preread 184 +2025/08/20 06:54:59 [debug] 602395#602395: *11 http request body content length filter +2025/08/20 06:54:59 [debug] 602395#602395: *11 http body new buf t:1 f:0 00005E702F99A3E8, pos 00005E702F99A3E8, size: 184 file: 0, size: 0 +2025/08/20 06:54:59 [debug] 602395#602395: *11 http read client request body +2025/08/20 06:54:59 [debug] 602395#602395: *11 recv: eof:0, avail:112 +2025/08/20 06:54:59 [debug] 602395#602395: *11 recv: fd:6 112 of 112 +2025/08/20 06:54:59 [debug] 602395#602395: *11 recv: avail:0 +2025/08/20 06:54:59 [debug] 602395#602395: *11 http client request body recv 112 +2025/08/20 06:54:59 [debug] 602395#602395: *11 http body new buf t:1 f:0 00005E702F9AD830, pos 00005E702F9AD830, size: 112 file: 0, size: 0 +2025/08/20 06:54:59 [debug] 602395#602395: *11 http client request body rest 0 +2025/08/20 06:54:59 [debug] 602395#602395: *11 http init upstream, client timer: 0 +2025/08/20 06:54:59 [debug] 602395#602395: *11 epoll add event: fd:6 op:3 ev:80002005 +2025/08/20 06:54:59 [debug] 602395#602395: *11 posix_memalign: 00005E702F9A1150:4096 @16 +2025/08/20 06:54:59 [debug] 602395#602395: *11 http script copy: "QUERY_STRING" +2025/08/20 06:54:59 [debug] 602395#602395: *11 fastcgi param: "QUERY_STRING: " +2025/08/20 06:54:59 [debug] 602395#602395: *11 http script copy: "REQUEST_METHOD" +2025/08/20 06:54:59 [debug] 602395#602395: *11 http script var: "PUT" +2025/08/20 06:54:59 [debug] 602395#602395: *11 fastcgi param: "REQUEST_METHOD: PUT" +2025/08/20 06:54:59 [debug] 602395#602395: *11 http script copy: "CONTENT_TYPE" +2025/08/20 06:54:59 [debug] 602395#602395: *11 http script var: "text/plain" +2025/08/20 06:54:59 [debug] 602395#602395: *11 fastcgi param: "CONTENT_TYPE: text/plain" +2025/08/20 06:54:59 [debug] 602395#602395: *11 http script copy: "CONTENT_LENGTH" +2025/08/20 06:54:59 [debug] 602395#602395: *11 http script var: "296" +2025/08/20 06:54:59 [debug] 602395#602395: *11 fastcgi param: "CONTENT_LENGTH: 296" +2025/08/20 06:54:59 [debug] 602395#602395: *11 http script copy: "SCRIPT_NAME" +2025/08/20 06:54:59 [debug] 602395#602395: *11 http script var: "/upload" +2025/08/20 06:54:59 [debug] 602395#602395: *11 fastcgi param: "SCRIPT_NAME: /upload" +2025/08/20 06:54:59 [debug] 602395#602395: *11 http script copy: "REQUEST_URI" +2025/08/20 06:54:59 [debug] 602395#602395: *11 http script var: "/upload" +2025/08/20 06:54:59 [debug] 602395#602395: *11 fastcgi param: "REQUEST_URI: /upload" +2025/08/20 06:54:59 [debug] 602395#602395: *11 http script copy: "DOCUMENT_URI" +2025/08/20 06:54:59 [debug] 602395#602395: *11 http script var: "/upload" +2025/08/20 06:54:59 [debug] 602395#602395: *11 fastcgi param: "DOCUMENT_URI: /upload" +2025/08/20 06:54:59 [debug] 602395#602395: *11 http script copy: "DOCUMENT_ROOT" +2025/08/20 06:54:59 [debug] 602395#602395: *11 http script var: "./blobs" +2025/08/20 06:54:59 [debug] 602395#602395: *11 fastcgi param: "DOCUMENT_ROOT: ./blobs" +2025/08/20 06:54:59 [debug] 602395#602395: *11 http script copy: "SERVER_PROTOCOL" +2025/08/20 06:54:59 [debug] 602395#602395: *11 http script var: "HTTP/1.1" +2025/08/20 06:54:59 [debug] 602395#602395: *11 fastcgi param: "SERVER_PROTOCOL: HTTP/1.1" +2025/08/20 06:54:59 [debug] 602395#602395: *11 http script copy: "REQUEST_SCHEME" +2025/08/20 06:54:59 [debug] 602395#602395: *11 http script var: "http" +2025/08/20 06:54:59 [debug] 602395#602395: *11 fastcgi param: "REQUEST_SCHEME: http" +2025/08/20 06:54:59 [debug] 602395#602395: *11 http script copy: "" +2025/08/20 06:54:59 [debug] 602395#602395: *11 http script copy: "GATEWAY_INTERFACE" +2025/08/20 06:54:59 [debug] 602395#602395: *11 http script copy: "CGI/1.1" +2025/08/20 06:54:59 [debug] 602395#602395: *11 fastcgi param: "GATEWAY_INTERFACE: CGI/1.1" +2025/08/20 06:54:59 [debug] 602395#602395: *11 http script copy: "SERVER_SOFTWARE" +2025/08/20 06:54:59 [debug] 602395#602395: *11 http script copy: "nginx/" +2025/08/20 06:54:59 [debug] 602395#602395: *11 http script var: "1.18.0" +2025/08/20 06:54:59 [debug] 602395#602395: *11 fastcgi param: "SERVER_SOFTWARE: nginx/1.18.0" +2025/08/20 06:54:59 [debug] 602395#602395: *11 http script copy: "REMOTE_ADDR" +2025/08/20 06:54:59 [debug] 602395#602395: *11 http script var: "127.0.0.1" +2025/08/20 06:54:59 [debug] 602395#602395: *11 fastcgi param: "REMOTE_ADDR: 127.0.0.1" +2025/08/20 06:54:59 [debug] 602395#602395: *11 http script copy: "REMOTE_PORT" +2025/08/20 06:54:59 [debug] 602395#602395: *11 http script var: "44198" +2025/08/20 06:54:59 [debug] 602395#602395: *11 fastcgi param: "REMOTE_PORT: 44198" +2025/08/20 06:54:59 [debug] 602395#602395: *11 http script copy: "SERVER_ADDR" +2025/08/20 06:54:59 [debug] 602395#602395: *11 http script var: "127.0.0.1" +2025/08/20 06:54:59 [debug] 602395#602395: *11 fastcgi param: "SERVER_ADDR: 127.0.0.1" +2025/08/20 06:54:59 [debug] 602395#602395: *11 http script copy: "SERVER_PORT" +2025/08/20 06:54:59 [debug] 602395#602395: *11 http script var: "9001" +2025/08/20 06:54:59 [debug] 602395#602395: *11 fastcgi param: "SERVER_PORT: 9001" +2025/08/20 06:54:59 [debug] 602395#602395: *11 http script copy: "SERVER_NAME" +2025/08/20 06:54:59 [debug] 602395#602395: *11 http script var: "localhost" +2025/08/20 06:54:59 [debug] 602395#602395: *11 fastcgi param: "SERVER_NAME: localhost" +2025/08/20 06:54:59 [debug] 602395#602395: *11 http script copy: "REDIRECT_STATUS" +2025/08/20 06:54:59 [debug] 602395#602395: *11 http script copy: "200" +2025/08/20 06:54:59 [debug] 602395#602395: *11 fastcgi param: "REDIRECT_STATUS: 200" +2025/08/20 06:54:59 [debug] 602395#602395: *11 http script copy: "SCRIPT_FILENAME" +2025/08/20 06:54:59 [debug] 602395#602395: *11 http script var: "./blobs" +2025/08/20 06:54:59 [debug] 602395#602395: *11 http script copy: "/ginxsom.fcgi" +2025/08/20 06:54:59 [debug] 602395#602395: *11 fastcgi param: "SCRIPT_FILENAME: ./blobs/ginxsom.fcgi" +2025/08/20 06:54:59 [debug] 602395#602395: *11 fastcgi param: "HTTP_HOST: localhost:9001" +2025/08/20 06:54:59 [debug] 602395#602395: *11 fastcgi param: "HTTP_USER_AGENT: curl/8.15.0" +2025/08/20 06:54:59 [debug] 602395#602395: *11 fastcgi param: "HTTP_ACCEPT: */*" +2025/08/20 06:54:59 [debug] 602395#602395: *11 fastcgi param: "HTTP_AUTHORIZATION: Nostr eyJraW5kIjoyNDI0MiwiaWQiOiJlZTI2MzFiMjBlYWE0NjQ0ODI3Njg2MTE5ZTNiZjRkNTFjYWE3MGRmYTBiNDhiZDc3MWU3ZDExYTIyNjIwY2ZiIiwicHVia2V5IjoiNzliZTY2N2VmOWRjYmJhYzU1YTA2Mjk1Y2U4NzBiMDcwMjliZmNkYjJkY2UyOGQ5NTlmMjgxNWIxNmY4MTc5OCIsImNyZWF0ZWRfYXQiOjE3NTU2ODcyOTksInRhZ3MiOltbInQiLCJ1cGxvYWQiXSxbIngiLCJiMjJkOGJiOTNjMDMwYmRmZjcxYTRiZjAwZGMzOGMxZTNkOTIwZTI1MzVkZjNiOWUyZTUxM2RmY2I2MjQ5ODIwIl0sWyJleHBpcmF0aW9uIiwiMTc1NTY5MDg5OSJdXSwiY29udGVudCI6IiIsInNpZyI6ImVkYjg4YzAzZDI1YWMyMjQyM2MwZDJmN2NmZGQ1YjliYmE0Yjk3ODBhYjBkNjg0NzE3OTkxNTBiYjM1NDgzNDhiODU4ODY0NTFjMGZkMjYwYzFiYWNkMzhjNzVlOTZhZDZhZTBjOWRlNjFhY2I3ZTA0YTIwZjQzMzhhYmY3NDE5In0=" +2025/08/20 06:54:59 [debug] 602395#602395: *11 fastcgi param: "HTTP_CONTENT_TYPE: text/plain" +2025/08/20 06:54:59 [debug] 602395#602395: *11 fastcgi param: "HTTP_CONTENT_DISPOSITION: attachment; filename="test_blob_1755687299.txt"" +2025/08/20 06:54:59 [debug] 602395#602395: *11 fastcgi param: "HTTP_CONTENT_LENGTH: 296" +2025/08/20 06:54:59 [debug] 602395#602395: *11 http cleanup add: 00005E702F9ADB80 +2025/08/20 06:54:59 [debug] 602395#602395: *11 get rr peer, try: 1 +2025/08/20 06:54:59 [debug] 602395#602395: *11 stream socket 10 +2025/08/20 06:54:59 [debug] 602395#602395: *11 epoll add connection: fd:10 ev:80002005 +2025/08/20 06:54:59 [debug] 602395#602395: *11 connect to unix:/tmp/ginxsom-fcgi.sock, fd:10 #12 +2025/08/20 06:54:59 [debug] 602395#602395: *11 connected +2025/08/20 06:54:59 [debug] 602395#602395: *11 http upstream connect: 0 +2025/08/20 06:54:59 [debug] 602395#602395: *11 posix_memalign: 00005E702F980F20:128 @16 +2025/08/20 06:54:59 [debug] 602395#602395: *11 http upstream send request +2025/08/20 06:54:59 [debug] 602395#602395: *11 http upstream send request body +2025/08/20 06:54:59 [debug] 602395#602395: *11 chain writer buf fl:0 s:1304 +2025/08/20 06:54:59 [debug] 602395#602395: *11 chain writer buf fl:0 s:184 +2025/08/20 06:54:59 [debug] 602395#602395: *11 chain writer buf fl:0 s:8 +2025/08/20 06:54:59 [debug] 602395#602395: *11 chain writer buf fl:0 s:112 +2025/08/20 06:54:59 [debug] 602395#602395: *11 chain writer buf fl:0 s:8 +2025/08/20 06:54:59 [debug] 602395#602395: *11 chain writer in: 00005E702F9ADC10 +2025/08/20 06:54:59 [debug] 602395#602395: *11 writev: 1616 of 1616 +2025/08/20 06:54:59 [debug] 602395#602395: *11 chain writer out: 0000000000000000 +2025/08/20 06:54:59 [debug] 602395#602395: *11 event timer add: 10: 60000:254092984 +2025/08/20 06:54:59 [debug] 602395#602395: *11 http finalize request: -4, "/upload?" a:1, c:2 +2025/08/20 06:54:59 [debug] 602395#602395: *11 http request count:2 blk:0 +2025/08/20 06:54:59 [debug] 602395#602395: timer delta: 0 +2025/08/20 06:54:59 [debug] 602395#602395: worker cycle +2025/08/20 06:54:59 [debug] 602395#602395: epoll timer: 60000 +2025/08/20 06:54:59 [debug] 602395#602395: epoll: fd:6 ev:0004 d:0000766FE7B131E0 +2025/08/20 06:54:59 [debug] 602395#602395: *11 http run request: "/upload?" +2025/08/20 06:54:59 [debug] 602395#602395: *11 http upstream check client, write event:1, "/upload" +2025/08/20 06:54:59 [debug] 602395#602395: epoll: fd:10 ev:0004 d:0000766FE7B132C8 +2025/08/20 06:54:59 [debug] 602395#602395: *11 http upstream request: "/upload?" +2025/08/20 06:54:59 [debug] 602395#602395: *11 http upstream dummy handler +2025/08/20 06:54:59 [debug] 602395#602395: timer delta: 2 +2025/08/20 06:54:59 [debug] 602395#602395: worker cycle +2025/08/20 06:54:59 [debug] 602395#602395: epoll timer: 59998 +2025/08/20 06:54:59 [debug] 602395#602395: epoll: fd:10 ev:0005 d:0000766FE7B132C8 +2025/08/20 06:54:59 [debug] 602395#602395: *11 http upstream request: "/upload?" +2025/08/20 06:54:59 [debug] 602395#602395: *11 http upstream process header +2025/08/20 06:54:59 [debug] 602395#602395: *11 malloc: 00005E702F9A2160:4096 +2025/08/20 06:54:59 [debug] 602395#602395: *11 recv: eof:0, avail:-1 +2025/08/20 06:54:59 [debug] 602395#602395: *11 recv: fd:10 1536 of 4096 +2025/08/20 06:54:59 [debug] 602395#602395: *11 http fastcgi record byte: 01 +2025/08/20 06:54:59 [debug] 602395#602395: *11 http fastcgi record byte: 07 +2025/08/20 06:54:59 [debug] 602395#602395: *11 http fastcgi record byte: 00 +2025/08/20 06:54:59 [debug] 602395#602395: *11 http fastcgi record byte: 01 +2025/08/20 06:54:59 [debug] 602395#602395: *11 http fastcgi record byte: 01 +2025/08/20 06:54:59 [debug] 602395#602395: *11 http fastcgi record byte: F8 +2025/08/20 06:54:59 [debug] 602395#602395: *11 http fastcgi record byte: 00 +2025/08/20 06:54:59 [debug] 602395#602395: *11 http fastcgi record byte: 00 +2025/08/20 06:54:59 [debug] 602395#602395: *11 http fastcgi record length: 504 +2025/08/20 06:54:59 [error] 602395#602395: *11 FastCGI sent in stderr: "DEBUG: parse_authorization_header called with header: Nostr eyJraW5kIjoyNDI0MiwiaWQiOiJlZTI2MzFiMjBlYWE0... +DEBUG: Extracted base64 event (length=DEBUG: Base64 decode result - decoded_len=DEBUG: Successfully decoded JSON (length=DEBUG: authenticate_request - Event fields before validation: +DEBUG: id: ee2631b20eaa4644827686119e3bf4d51caa70dfa0b48bd771e7d11a22620cfb +DEBUG: pubkey: 79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 +DEBUG: sig: edb88c03d25ac22423c0d2f7cfdd5b9bba4b978" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 06:54:59 [debug] 602395#602395: *11 http fastcgi record byte: 01 +2025/08/20 06:54:59 [debug] 602395#602395: *11 http fastcgi record byte: 07 +2025/08/20 06:54:59 [debug] 602395#602395: *11 http fastcgi record byte: 00 +2025/08/20 06:54:59 [debug] 602395#602395: *11 http fastcgi record byte: 01 +2025/08/20 06:54:59 [debug] 602395#602395: *11 http fastcgi record byte: 01 +2025/08/20 06:54:59 [debug] 602395#602395: *11 http fastcgi record byte: F8 +2025/08/20 06:54:59 [debug] 602395#602395: *11 http fastcgi record byte: 00 +2025/08/20 06:54:59 [debug] 602395#602395: *11 http fastcgi record byte: 00 +2025/08/20 06:54:59 [debug] 602395#602395: *11 http fastcgi record length: 504 +2025/08/20 06:54:59 [error] 602395#602395: *11 FastCGI sent in stderr: "0ab0d68471799150bb3548348b85886451c0fd260c1bacd38c75e96ad6ae0c9de61acb7e04a20f4338abf7419 +DEBUG: kind: 24242 +DEBUG: created_at: 1755687299 +DEBUG: authenticate_request - Detailed pubkey analysis: +DEBUG: Pubkey: 79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 +DEBUG: Length: DEBUG: Character analysis (first 10): 7(0x37) 9(0x39) b(0x62) e(0x65) 6(0x36) 6(0x36) 7(0x37) e(0x65) f(0x66) 9(0x39) +DEBUG: authenticate_request - calling nostr_validate_event +DEBUG: authenticate_reques" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 06:54:59 [debug] 602395#602395: *11 http fastcgi record byte: 01 +2025/08/20 06:54:59 [debug] 602395#602395: *11 http fastcgi record byte: 07 +2025/08/20 06:54:59 [debug] 602395#602395: *11 http fastcgi record byte: 00 +2025/08/20 06:54:59 [debug] 602395#602395: *11 http fastcgi record byte: 01 +2025/08/20 06:54:59 [debug] 602395#602395: *11 http fastcgi record byte: 01 +2025/08/20 06:54:59 [debug] 602395#602395: *11 http fastcgi record byte: F8 +2025/08/20 06:54:59 [debug] 602395#602395: *11 http fastcgi record byte: 00 +2025/08/20 06:54:59 [debug] 602395#602395: *11 http fastcgi record byte: 00 +2025/08/20 06:54:59 [debug] 602395#602395: *11 http fastcgi record length: 504 +2025/08/20 06:54:59 [error] 602395#602395: *11 FastCGI sent in stderr: "t - Pre-validation pubkey analysis: +DEBUG: Pubkey: 79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 +DEBUG: Length: DEBUG: Character analysis (first 10): 7(55) 9(57) b(98) e(101) 6(54) 6(54) 7(55) e(101) f(102) 9(57) +DEBUG: Character validation test: ALL VALID (lowercase hex) +DEBUG: authenticate_request - Starting detailed validation analysis +DEBUG: authenticate_request - Testing structure validation... +DEBUG: authenticate_request - nostr_validate_event_structure returned: 0" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 06:54:59 [debug] 602395#602395: *11 recv: eof:0, avail:0 +2025/08/20 06:54:59 [debug] 602395#602395: *11 http upstream request: "/upload?" +2025/08/20 06:54:59 [debug] 602395#602395: *11 http upstream dummy handler +2025/08/20 06:54:59 [debug] 602395#602395: timer delta: 0 +2025/08/20 06:54:59 [debug] 602395#602395: worker cycle +2025/08/20 06:54:59 [debug] 602395#602395: epoll timer: 59998 +2025/08/20 06:54:59 [debug] 602395#602395: epoll: fd:10 ev:2005 d:0000766FE7B132C8 +2025/08/20 06:54:59 [debug] 602395#602395: *11 http upstream request: "/upload?" +2025/08/20 06:54:59 [debug] 602395#602395: *11 http upstream process header +2025/08/20 06:54:59 [debug] 602395#602395: *11 recv: eof:1, avail:-1 +2025/08/20 06:54:59 [debug] 602395#602395: *11 recv: fd:10 1824 of 4096 +2025/08/20 06:54:59 [debug] 602395#602395: *11 http fastcgi record byte: 01 +2025/08/20 06:54:59 [debug] 602395#602395: *11 http fastcgi record byte: 07 +2025/08/20 06:54:59 [debug] 602395#602395: *11 http fastcgi record byte: 00 +2025/08/20 06:54:59 [debug] 602395#602395: *11 http fastcgi record byte: 01 +2025/08/20 06:54:59 [debug] 602395#602395: *11 http fastcgi record byte: 01 +2025/08/20 06:54:59 [debug] 602395#602395: *11 http fastcgi record byte: A1 +2025/08/20 06:54:59 [debug] 602395#602395: *11 http fastcgi record byte: 07 +2025/08/20 06:54:59 [debug] 602395#602395: *11 http fastcgi record byte: 00 +2025/08/20 06:54:59 [debug] 602395#602395: *11 http fastcgi record length: 417 +2025/08/20 06:54:59 [error] 602395#602395: *11 FastCGI sent in stderr: "(Success) +DEBUG: authenticate_request - Structure validation PASSED +DEBUG: authenticate_request - Testing cryptographic verification... +DEBUG: authenticate_request - nostr_verify_event_signature returned: -32 (Event has invalid public key) +DEBUG: authenticate_request - CRYPTO verification failed! +DEBUG: authenticate_request - Failed pubkey: 79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 (length:" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 06:54:59 [debug] 602395#602395: *11 http fastcgi record byte: 01 +2025/08/20 06:54:59 [debug] 602395#602395: *11 http fastcgi record byte: 07 +2025/08/20 06:54:59 [debug] 602395#602395: *11 http fastcgi record byte: 00 +2025/08/20 06:54:59 [debug] 602395#602395: *11 http fastcgi record byte: 01 +2025/08/20 06:54:59 [debug] 602395#602395: *11 http fastcgi record byte: 00 +2025/08/20 06:54:59 [debug] 602395#602395: *11 http fastcgi record byte: 00 +2025/08/20 06:54:59 [debug] 602395#602395: *11 http fastcgi record byte: 00 +2025/08/20 06:54:59 [debug] 602395#602395: *11 http fastcgi record byte: 00 +2025/08/20 06:54:59 [debug] 602395#602395: *11 http fastcgi record length: 0 +2025/08/20 06:54:59 [debug] 602395#602395: *11 http fastcgi record byte: 01 +2025/08/20 06:54:59 [debug] 602395#602395: *11 http fastcgi record byte: 06 +2025/08/20 06:54:59 [debug] 602395#602395: *11 http fastcgi record byte: 00 +2025/08/20 06:54:59 [debug] 602395#602395: *11 http fastcgi record byte: 01 +2025/08/20 06:54:59 [debug] 602395#602395: *11 http fastcgi record byte: 05 +2025/08/20 06:54:59 [debug] 602395#602395: *11 http fastcgi record byte: 47 +2025/08/20 06:54:59 [debug] 602395#602395: *11 http fastcgi record byte: 01 +2025/08/20 06:54:59 [debug] 602395#602395: *11 http fastcgi record byte: 00 +2025/08/20 06:54:59 [debug] 602395#602395: *11 http fastcgi record length: 1351 +2025/08/20 06:54:59 [debug] 602395#602395: *11 http fastcgi parser: 0 +2025/08/20 06:54:59 [debug] 602395#602395: *11 http fastcgi header: "DEBUG: FastCGI received request" +2025/08/20 06:54:59 [debug] 602395#602395: *11 http fastcgi parser: 0 +2025/08/20 06:54:59 [debug] 602395#602395: *11 http fastcgi header: "DEBUG: METHOD=PUT, URI=/upload" +2025/08/20 06:54:59 [debug] 602395#602395: *11 http fastcgi parser: 0 +2025/08/20 06:54:59 [debug] 602395#602395: *11 http fastcgi header: "DEBUG: handle_upload_request called" +2025/08/20 06:54:59 [debug] 602395#602395: *11 http fastcgi parser: 0 +2025/08/20 06:54:59 [debug] 602395#602395: *11 http fastcgi header: "LOG: [2025-08-20 06:54:59] PUT /upload - Auth: pending - Status: 0" +2025/08/20 06:54:59 [debug] 602395#602395: *11 http fastcgi parser: 0 +2025/08/20 06:54:59 [debug] 602395#602395: *11 http fastcgi header: "DEBUG: content_type=text/plain" +2025/08/20 06:54:59 [debug] 602395#602395: *11 http fastcgi parser: 0 +2025/08/20 06:54:59 [debug] 602395#602395: *11 http fastcgi header: "DEBUG: content_length=296" +2025/08/20 06:54:59 [debug] 602395#602395: *11 http fastcgi parser: 0 +2025/08/20 06:54:59 [debug] 602395#602395: *11 http fastcgi header: "DEBUG: Raw Authorization header: Nostr eyJraW5kIjoyNDI0MiwiaWQiOiJlZTI2MzFiMjBlYWE0NjQ0ODI3Njg2MTE5ZTNiZjRkNTFjYWE3MGRmYTBiNDhiZDc3MWU3ZDExYTIyNjIwY2ZiIiwicHVia2V5IjoiNzliZTY2N2VmOWRjYmJhYzU1YTA2Mjk1Y2U4NzBiMDcwMjliZmNkYjJkY2UyOGQ5NTlmMjgxNWIxNmY4MTc5OCIsImNyZWF0ZWRfYXQiOjE3NTU2ODcyOTksInRhZ3MiOltbInQiLCJ1cGxvYWQiXSxbIngiLCJiMjJkOGJiOTNjMDMwYmRmZjcxYTRiZjAwZGMzOGMxZTNkOTIwZTI1MzVkZjNiOWUyZTUxM2RmY2I2MjQ5ODIwIl0sWyJleHBpcmF0aW9uIiwiMTc1NTY5MDg5OSJdXSwiY29udGVudCI6IiIsInNpZyI6ImVkYjg4YzAzZDI1YWMyMjQyM2MwZDJmN2NmZGQ1YjliYmE0Yjk3ODBhYjBkNjg0NzE3OTkxNTBiYjM1NDgzNDhiODU4ODY0NTFjMGZkMjYwYzFiYWNkMzhjNzVlOTZhZDZhZTBjOWRlNjFhY2I3ZTA0YTIwZjQzMzhhYmY3NDE5In0=" +2025/08/20 06:54:59 [debug] 602395#602395: *11 http fastcgi parser: 0 +2025/08/20 06:54:59 [debug] 602395#602395: *11 http fastcgi header: "LOG: [2025-08-20 06:54:59] PUT /upload - Auth: auth_provided - Status: 0" +2025/08/20 06:54:59 [debug] 602395#602395: *11 http fastcgi parser: 0 +2025/08/20 06:54:59 [debug] 602395#602395: *11 http fastcgi header: "DEBUG: Successfully read DEBUG: Calculated SHA-256: b22d8bb93c030bdff71a4bf00dc38c1e3d920e2535df3b9e2e513dfcb6249820" +2025/08/20 06:54:59 [debug] 602395#602395: *11 http fastcgi parser: 0 +2025/08/20 06:54:59 [debug] 602395#602395: *11 http fastcgi header: "Status: 401 Unauthorized" +2025/08/20 06:54:59 [debug] 602395#602395: *11 http fastcgi parser: 0 +2025/08/20 06:54:59 [debug] 602395#602395: *11 http fastcgi header: "Content-Type: application/json" +2025/08/20 06:54:59 [debug] 602395#602395: *11 http fastcgi parser: 1 +2025/08/20 06:54:59 [debug] 602395#602395: *11 http fastcgi header done +2025/08/20 06:54:59 [debug] 602395#602395: *11 posix_memalign: 00005E702F9A3170:4096 @16 +2025/08/20 06:54:59 [debug] 602395#602395: *11 HTTP/1.1 401 Unauthorized +Server: nginx/1.18.0 (Ubuntu) +Date: Wed, 20 Aug 2025 10:54:59 GMT +Content-Type: application/json +Transfer-Encoding: chunked +Connection: keep-alive +DEBUG: FastCGI received request +DEBUG: METHOD=PUT, URI=/upload +DEBUG: handle_upload_request called +LOG: [2025-08-20 06:54:59] PUT /upload - Auth: pending - Status: 0 +DEBUG: content_type=text/plain +DEBUG: content_length=296 +DEBUG: Raw Authorization header: Nostr eyJraW5kIjoyNDI0MiwiaWQiOiJlZTI2MzFiMjBlYWE0NjQ0ODI3Njg2MTE5ZTNiZjRkNTFjYWE3MGRmYTBiNDhiZDc3MWU3ZDExYTIyNjIwY2ZiIiwicHVia2V5IjoiNzliZTY2N2VmOWRjYmJhYzU1YTA2Mjk1Y2U4NzBiMDcwMjliZmNkYjJkY2UyOGQ5NTlmMjgxNWIxNmY4MTc5OCIsImNyZWF0ZWRfYXQiOjE3NTU2ODcyOTksInRhZ3MiOltbInQiLCJ1cGxvYWQiXSxbIngiLCJiMjJkOGJiOTNjMDMwYmRmZjcxYTRiZjAwZGMzOGMxZTNkOTIwZTI1MzVkZjNiOWUyZTUxM2RmY2I2MjQ5ODIwIl0sWyJleHBpcmF0aW9uIiwiMTc1NTY5MDg5OSJdXSwiY29udGVudCI6IiIsInNpZyI6ImVkYjg4YzAzZDI1YWMyMjQyM2MwZDJmN2NmZGQ1YjliYmE0Yjk3ODBhYjBkNjg0NzE3OTkxNTBiYjM1NDgzNDhiODU4ODY0NTFjMGZkMjYwYzFiYWNkMzhjNzVlOTZhZDZhZTBjOWRlNjFhY2I3ZTA0YTIwZjQzMzhhYmY3NDE5In0= +LOG: [2025-08-20 06:54:59] PUT /upload - Auth: auth_provided - Status: 0 +DEBUG: Successfully read DEBUG: Calculated SHA-256: b22d8bb93c030bdff71a4bf00dc38c1e3d920e2535df3b9e2e513dfcb6249820 + +2025/08/20 06:54:59 [debug] 602395#602395: *11 write new buf t:1 f:0 00005E702F9A3190, pos 00005E702F9A3190, size: 1259 file: 0, size: 0 +2025/08/20 06:54:59 [debug] 602395#602395: *11 http write filter: l:0 f:0 s:1259 +2025/08/20 06:54:59 [debug] 602395#602395: *11 http cacheable: 0 +2025/08/20 06:54:59 [debug] 602395#602395: *11 http upstream process upstream +2025/08/20 06:54:59 [debug] 602395#602395: *11 pipe read upstream: 1 +2025/08/20 06:54:59 [debug] 602395#602395: *11 pipe preread: 238 +2025/08/20 06:54:59 [debug] 602395#602395: *11 readv: eof:1, avail:0 +2025/08/20 06:54:59 [debug] 602395#602395: *11 readv: 1, last:2272 +2025/08/20 06:54:59 [debug] 602395#602395: *11 pipe recv chain: 0 +2025/08/20 06:54:59 [debug] 602395#602395: *11 pipe buf free s:0 t:1 f:0 00005E702F9A2160, pos 00005E702F9A2792, size: 238 file: 0, size: 0 +2025/08/20 06:54:59 [debug] 602395#602395: *11 pipe length: -1 +2025/08/20 06:54:59 [debug] 602395#602395: *11 input buf #0 00005E702F9A2792 +2025/08/20 06:54:59 [debug] 602395#602395: *11 http fastcgi record byte: 01 +2025/08/20 06:54:59 [debug] 602395#602395: *11 http fastcgi record byte: 06 +2025/08/20 06:54:59 [debug] 602395#602395: *11 http fastcgi record byte: 00 +2025/08/20 06:54:59 [debug] 602395#602395: *11 http fastcgi record byte: 01 +2025/08/20 06:54:59 [debug] 602395#602395: *11 http fastcgi record byte: 00 +2025/08/20 06:54:59 [debug] 602395#602395: *11 http fastcgi record byte: 00 +2025/08/20 06:54:59 [debug] 602395#602395: *11 http fastcgi record byte: 00 +2025/08/20 06:54:59 [debug] 602395#602395: *11 http fastcgi record byte: 00 +2025/08/20 06:54:59 [debug] 602395#602395: *11 http fastcgi record length: 0 +2025/08/20 06:54:59 [debug] 602395#602395: *11 http fastcgi closed stdout +2025/08/20 06:54:59 [debug] 602395#602395: *11 http fastcgi record byte: 01 +2025/08/20 06:54:59 [debug] 602395#602395: *11 http fastcgi record byte: 03 +2025/08/20 06:54:59 [debug] 602395#602395: *11 http fastcgi record byte: 00 +2025/08/20 06:54:59 [debug] 602395#602395: *11 http fastcgi record byte: 01 +2025/08/20 06:54:59 [debug] 602395#602395: *11 http fastcgi record byte: 00 +2025/08/20 06:54:59 [debug] 602395#602395: *11 http fastcgi record byte: 08 +2025/08/20 06:54:59 [debug] 602395#602395: *11 http fastcgi record byte: 00 +2025/08/20 06:54:59 [debug] 602395#602395: *11 http fastcgi record byte: 00 +2025/08/20 06:54:59 [debug] 602395#602395: *11 http fastcgi record length: 8 +2025/08/20 06:54:59 [debug] 602395#602395: *11 http fastcgi sent end request +2025/08/20 06:54:59 [debug] 602395#602395: *11 input buf 00005E702F9A2792 213 +2025/08/20 06:54:59 [debug] 602395#602395: *11 pipe write downstream: 1 +2025/08/20 06:54:59 [debug] 602395#602395: *11 pipe write downstream flush in +2025/08/20 06:54:59 [debug] 602395#602395: *11 http output filter "/upload?" +2025/08/20 06:54:59 [debug] 602395#602395: *11 http copy filter: "/upload?" +2025/08/20 06:54:59 [debug] 602395#602395: *11 http postpone filter "/upload?" 00005E702F9ADBE0 +2025/08/20 06:54:59 [debug] 602395#602395: *11 http chunk: 213 +2025/08/20 06:54:59 [debug] 602395#602395: *11 write old buf t:1 f:0 00005E702F9A3190, pos 00005E702F9A3190, size: 1259 file: 0, size: 0 +2025/08/20 06:54:59 [debug] 602395#602395: *11 write new buf t:1 f:0 00005E702F9A2010, pos 00005E702F9A2010, size: 4 file: 0, size: 0 +2025/08/20 06:54:59 [debug] 602395#602395: *11 write new buf t:1 f:0 00005E702F9A2160, pos 00005E702F9A2792, size: 213 file: 0, size: 0 +2025/08/20 06:54:59 [debug] 602395#602395: *11 write new buf t:0 f:0 0000000000000000, pos 00005E700DFD02E8, size: 2 file: 0, size: 0 +2025/08/20 06:54:59 [debug] 602395#602395: *11 http write filter: l:0 f:0 s:1478 +2025/08/20 06:54:59 [debug] 602395#602395: *11 http write filter limit 0 +2025/08/20 06:54:59 [debug] 602395#602395: *11 writev: 1478 of 1478 +2025/08/20 06:54:59 [debug] 602395#602395: *11 http write filter 0000000000000000 +2025/08/20 06:54:59 [debug] 602395#602395: *11 http copy filter: 0 "/upload?" +2025/08/20 06:54:59 [debug] 602395#602395: *11 pipe write downstream done +2025/08/20 06:54:59 [debug] 602395#602395: *11 event timer: 10, old: 254092984, new: 254092987 +2025/08/20 06:54:59 [debug] 602395#602395: *11 http upstream exit: 0000000000000000 +2025/08/20 06:54:59 [debug] 602395#602395: *11 finalize http upstream request: 0 +2025/08/20 06:54:59 [debug] 602395#602395: *11 finalize http fastcgi request +2025/08/20 06:54:59 [debug] 602395#602395: *11 free rr peer 1 0 +2025/08/20 06:54:59 [debug] 602395#602395: *11 close http upstream connection: 10 +2025/08/20 06:54:59 [debug] 602395#602395: *11 free: 00005E702F980F20, unused: 48 +2025/08/20 06:54:59 [debug] 602395#602395: *11 event timer del: 10: 254092984 +2025/08/20 06:54:59 [debug] 602395#602395: *11 reusable connection: 0 +2025/08/20 06:54:59 [debug] 602395#602395: *11 http upstream temp fd: -1 +2025/08/20 06:54:59 [debug] 602395#602395: *11 http output filter "/upload?" +2025/08/20 06:54:59 [debug] 602395#602395: *11 http copy filter: "/upload?" +2025/08/20 06:54:59 [debug] 602395#602395: *11 http postpone filter "/upload?" 00007FFC67C2AF60 +2025/08/20 06:54:59 [debug] 602395#602395: *11 http chunk: 0 +2025/08/20 06:54:59 [debug] 602395#602395: *11 write new buf t:0 f:0 0000000000000000, pos 00005E700DFD02E5, size: 5 file: 0, size: 0 +2025/08/20 06:54:59 [debug] 602395#602395: *11 http write filter: l:1 f:0 s:5 +2025/08/20 06:54:59 [debug] 602395#602395: *11 http write filter limit 0 +2025/08/20 06:54:59 [debug] 602395#602395: *11 writev: 5 of 5 +2025/08/20 06:54:59 [debug] 602395#602395: *11 http write filter 0000000000000000 +2025/08/20 06:54:59 [debug] 602395#602395: *11 http copy filter: 0 "/upload?" +2025/08/20 06:54:59 [debug] 602395#602395: *11 http finalize request: 0, "/upload?" a:1, c:1 +2025/08/20 06:54:59 [debug] 602395#602395: *11 set http keepalive handler +2025/08/20 06:54:59 [debug] 602395#602395: *11 http close request +2025/08/20 06:54:59 [debug] 602395#602395: *11 http log handler +2025/08/20 06:54:59 [debug] 602395#602395: *11 free: 00005E702F9A2160 +2025/08/20 06:54:59 [debug] 602395#602395: *11 free: 00005E702F9B6A30, unused: 3 +2025/08/20 06:54:59 [debug] 602395#602395: *11 free: 00005E702F9ACDA0, unused: 0 +2025/08/20 06:54:59 [debug] 602395#602395: *11 free: 00005E702F9A1150, unused: 10 +2025/08/20 06:54:59 [debug] 602395#602395: *11 free: 00005E702F9A3170, unused: 2805 +2025/08/20 06:54:59 [debug] 602395#602395: *11 free: 00005E702F99A0A0 +2025/08/20 06:54:59 [debug] 602395#602395: *11 hc free: 0000000000000000 +2025/08/20 06:54:59 [debug] 602395#602395: *11 hc busy: 0000000000000000 0 +2025/08/20 06:54:59 [debug] 602395#602395: *11 tcp_nodelay +2025/08/20 06:54:59 [debug] 602395#602395: *11 reusable connection: 1 +2025/08/20 06:54:59 [debug] 602395#602395: *11 event timer add: 6: 65000:254097987 +2025/08/20 06:54:59 [debug] 602395#602395: *11 post event 00005E702F9E8770 +2025/08/20 06:54:59 [debug] 602395#602395: timer delta: 1 +2025/08/20 06:54:59 [debug] 602395#602395: posted event 00005E702F9E8770 +2025/08/20 06:54:59 [debug] 602395#602395: *11 delete posted event 00005E702F9E8770 +2025/08/20 06:54:59 [debug] 602395#602395: *11 http keepalive handler +2025/08/20 06:54:59 [debug] 602395#602395: *11 malloc: 00005E702F99A0A0:1024 +2025/08/20 06:54:59 [debug] 602395#602395: *11 recv: eof:0, avail:0 +2025/08/20 06:54:59 [debug] 602395#602395: *11 free: 00005E702F99A0A0 +2025/08/20 06:54:59 [debug] 602395#602395: worker cycle +2025/08/20 06:54:59 [debug] 602395#602395: epoll timer: 65000 +2025/08/20 06:54:59 [debug] 602395#602395: epoll: fd:6 ev:2005 d:0000766FE7B131E0 +2025/08/20 06:54:59 [debug] 602395#602395: *11 http keepalive handler +2025/08/20 06:54:59 [debug] 602395#602395: *11 malloc: 00005E702F99A0A0:1024 +2025/08/20 06:54:59 [debug] 602395#602395: *11 recv: eof:1, avail:-1 +2025/08/20 06:54:59 [debug] 602395#602395: *11 recv: fd:6 0 of 1024 +2025/08/20 06:54:59 [info] 602395#602395: *11 client 127.0.0.1 closed keepalive connection +2025/08/20 06:54:59 [debug] 602395#602395: *11 close http connection: 6 +2025/08/20 06:54:59 [debug] 602395#602395: *11 event timer del: 6: 254097987 +2025/08/20 06:54:59 [debug] 602395#602395: *11 reusable connection: 0 +2025/08/20 06:54:59 [debug] 602395#602395: *11 free: 00005E702F99A0A0 +2025/08/20 06:54:59 [debug] 602395#602395: *11 free: 00005E702F997840, unused: 120 +2025/08/20 06:54:59 [debug] 602395#602395: timer delta: 2 +2025/08/20 06:54:59 [debug] 602395#602395: worker cycle +2025/08/20 06:54:59 [debug] 602395#602395: epoll timer: -1 +2025/08/20 06:54:59 [debug] 602395#602395: epoll: fd:5 ev:0001 d:0000766FE7B13010 +2025/08/20 06:54:59 [debug] 602395#602395: accept on 0.0.0.0:9001, ready: 0 +2025/08/20 06:54:59 [debug] 602395#602395: posix_memalign: 00005E702F997840:512 @16 +2025/08/20 06:54:59 [debug] 602395#602395: *13 accept: 127.0.0.1:44204 fd:6 +2025/08/20 06:54:59 [debug] 602395#602395: *13 event timer add: 6: 60000:254092996 +2025/08/20 06:54:59 [debug] 602395#602395: *13 reusable connection: 1 +2025/08/20 06:54:59 [debug] 602395#602395: *13 epoll add event: fd:6 op:1 ev:80002001 +2025/08/20 06:54:59 [debug] 602395#602395: timer delta: 7 +2025/08/20 06:54:59 [debug] 602395#602395: worker cycle +2025/08/20 06:54:59 [debug] 602395#602395: epoll timer: 60000 +2025/08/20 06:54:59 [debug] 602395#602395: epoll: fd:6 ev:0001 d:0000766FE7B131E1 +2025/08/20 06:54:59 [debug] 602395#602395: *13 http wait request handler +2025/08/20 06:54:59 [debug] 602395#602395: *13 malloc: 00005E702F99A0A0:1024 +2025/08/20 06:54:59 [debug] 602395#602395: *13 recv: eof:0, avail:-1 +2025/08/20 06:54:59 [debug] 602395#602395: *13 recv: fd:6 142 of 1024 +2025/08/20 06:54:59 [debug] 602395#602395: *13 reusable connection: 0 +2025/08/20 06:54:59 [debug] 602395#602395: *13 posix_memalign: 00005E702F9B6A30:4096 @16 +2025/08/20 06:54:59 [debug] 602395#602395: *13 http process request line +2025/08/20 06:54:59 [debug] 602395#602395: *13 http request line: "GET /b22d8bb93c030bdff71a4bf00dc38c1e3d920e2535df3b9e2e513dfcb6249820 HTTP/1.1" +2025/08/20 06:54:59 [debug] 602395#602395: *13 http uri: "/b22d8bb93c030bdff71a4bf00dc38c1e3d920e2535df3b9e2e513dfcb6249820" +2025/08/20 06:54:59 [debug] 602395#602395: *13 http args: "" +2025/08/20 06:54:59 [debug] 602395#602395: *13 http exten: "" +2025/08/20 06:54:59 [debug] 602395#602395: *13 posix_memalign: 00005E702F9ACDA0:4096 @16 +2025/08/20 06:54:59 [debug] 602395#602395: *13 http process request header line +2025/08/20 06:54:59 [debug] 602395#602395: *13 http header: "Host: localhost:9001" +2025/08/20 06:54:59 [debug] 602395#602395: *13 http header: "User-Agent: curl/8.15.0" +2025/08/20 06:54:59 [debug] 602395#602395: *13 http header: "Accept: */*" +2025/08/20 06:54:59 [debug] 602395#602395: *13 http header done +2025/08/20 06:54:59 [debug] 602395#602395: *13 event timer del: 6: 254092996 +2025/08/20 06:54:59 [debug] 602395#602395: *13 generic phase: 0 +2025/08/20 06:54:59 [debug] 602395#602395: *13 rewrite phase: 1 +2025/08/20 06:54:59 [debug] 602395#602395: *13 test location: "/health" +2025/08/20 06:54:59 [debug] 602395#602395: *13 test location: "/debug/list" +2025/08/20 06:54:59 [debug] 602395#602395: *13 test location: "/" +2025/08/20 06:54:59 [debug] 602395#602395: *13 test location: ~ "^/([a-f0-9]{64}).*$" +2025/08/20 06:54:59 [debug] 602395#602395: *13 using configuration "^/([a-f0-9]{64}).*$" +2025/08/20 06:54:59 [debug] 602395#602395: *13 http cl:-1 max:104857600 +2025/08/20 06:54:59 [debug] 602395#602395: *13 rewrite phase: 3 +2025/08/20 06:54:59 [debug] 602395#602395: *13 http script var +2025/08/20 06:54:59 [debug] 602395#602395: *13 http script var: "GET" +2025/08/20 06:54:59 [debug] 602395#602395: *13 http script value: "DELETE" +2025/08/20 06:54:59 [debug] 602395#602395: *13 http script not equal +2025/08/20 06:54:59 [debug] 602395#602395: *13 http script if +2025/08/20 06:54:59 [debug] 602395#602395: *13 http finalize request: 404, "/b22d8bb93c030bdff71a4bf00dc38c1e3d920e2535df3b9e2e513dfcb6249820?" a:1, c:1 +2025/08/20 06:54:59 [debug] 602395#602395: *13 http special response: 404, "/b22d8bb93c030bdff71a4bf00dc38c1e3d920e2535df3b9e2e513dfcb6249820?" +2025/08/20 06:54:59 [debug] 602395#602395: *13 http set discard body +2025/08/20 06:54:59 [debug] 602395#602395: *13 HTTP/1.1 404 Not Found +Server: nginx/1.18.0 (Ubuntu) +Date: Wed, 20 Aug 2025 10:54:59 GMT +Content-Type: text/html +Content-Length: 162 +Connection: keep-alive + +2025/08/20 06:54:59 [debug] 602395#602395: *13 write new buf t:1 f:0 00005E702F9AD180, pos 00005E702F9AD180, size: 164 file: 0, size: 0 +2025/08/20 06:54:59 [debug] 602395#602395: *13 http write filter: l:0 f:0 s:164 +2025/08/20 06:54:59 [debug] 602395#602395: *13 http output filter "/b22d8bb93c030bdff71a4bf00dc38c1e3d920e2535df3b9e2e513dfcb6249820?" +2025/08/20 06:54:59 [debug] 602395#602395: *13 http copy filter: "/b22d8bb93c030bdff71a4bf00dc38c1e3d920e2535df3b9e2e513dfcb6249820?" +2025/08/20 06:54:59 [debug] 602395#602395: *13 http postpone filter "/b22d8bb93c030bdff71a4bf00dc38c1e3d920e2535df3b9e2e513dfcb6249820?" 00005E702F9AD310 +2025/08/20 06:54:59 [debug] 602395#602395: *13 write old buf t:1 f:0 00005E702F9AD180, pos 00005E702F9AD180, size: 164 file: 0, size: 0 +2025/08/20 06:54:59 [debug] 602395#602395: *13 write new buf t:0 f:0 0000000000000000, pos 00005E700E00F580, size: 100 file: 0, size: 0 +2025/08/20 06:54:59 [debug] 602395#602395: *13 write new buf t:0 f:0 0000000000000000, pos 00005E700E00FC80, size: 62 file: 0, size: 0 +2025/08/20 06:54:59 [debug] 602395#602395: *13 http write filter: l:1 f:0 s:326 +2025/08/20 06:54:59 [debug] 602395#602395: *13 http write filter limit 0 +2025/08/20 06:54:59 [debug] 602395#602395: *13 writev: 326 of 326 +2025/08/20 06:54:59 [debug] 602395#602395: *13 http write filter 0000000000000000 +2025/08/20 06:54:59 [debug] 602395#602395: *13 http copy filter: 0 "/b22d8bb93c030bdff71a4bf00dc38c1e3d920e2535df3b9e2e513dfcb6249820?" +2025/08/20 06:54:59 [debug] 602395#602395: *13 http finalize request: 0, "/b22d8bb93c030bdff71a4bf00dc38c1e3d920e2535df3b9e2e513dfcb6249820?" a:1, c:1 +2025/08/20 06:54:59 [debug] 602395#602395: *13 set http keepalive handler +2025/08/20 06:54:59 [debug] 602395#602395: *13 http close request +2025/08/20 06:54:59 [debug] 602395#602395: *13 http log handler +2025/08/20 06:54:59 [debug] 602395#602395: *13 free: 00005E702F9B6A30, unused: 0 +2025/08/20 06:54:59 [debug] 602395#602395: *13 free: 00005E702F9ACDA0, unused: 2456 +2025/08/20 06:54:59 [debug] 602395#602395: *13 free: 00005E702F99A0A0 +2025/08/20 06:54:59 [debug] 602395#602395: *13 hc free: 0000000000000000 +2025/08/20 06:54:59 [debug] 602395#602395: *13 hc busy: 0000000000000000 0 +2025/08/20 06:54:59 [debug] 602395#602395: *13 tcp_nodelay +2025/08/20 06:54:59 [debug] 602395#602395: *13 reusable connection: 1 +2025/08/20 06:54:59 [debug] 602395#602395: *13 event timer add: 6: 65000:254097996 +2025/08/20 06:54:59 [debug] 602395#602395: timer delta: 0 +2025/08/20 06:54:59 [debug] 602395#602395: worker cycle +2025/08/20 06:54:59 [debug] 602395#602395: epoll timer: 65000 +2025/08/20 06:54:59 [debug] 602395#602395: epoll: fd:6 ev:2001 d:0000766FE7B131E1 +2025/08/20 06:54:59 [debug] 602395#602395: *13 http keepalive handler +2025/08/20 06:54:59 [debug] 602395#602395: *13 malloc: 00005E702F99A0A0:1024 +2025/08/20 06:54:59 [debug] 602395#602395: *13 recv: eof:1, avail:-1 +2025/08/20 06:54:59 [debug] 602395#602395: *13 recv: fd:6 0 of 1024 +2025/08/20 06:54:59 [info] 602395#602395: *13 client 127.0.0.1 closed keepalive connection +2025/08/20 06:54:59 [debug] 602395#602395: *13 close http connection: 6 +2025/08/20 06:54:59 [debug] 602395#602395: *13 event timer del: 6: 254097996 +2025/08/20 06:54:59 [debug] 602395#602395: *13 reusable connection: 0 +2025/08/20 06:54:59 [debug] 602395#602395: *13 free: 00005E702F99A0A0 +2025/08/20 06:54:59 [debug] 602395#602395: *13 free: 00005E702F997840, unused: 136 +2025/08/20 06:54:59 [debug] 602395#602395: timer delta: 1 +2025/08/20 06:54:59 [debug] 602395#602395: worker cycle +2025/08/20 06:54:59 [debug] 602395#602395: epoll timer: -1 +2025/08/20 07:18:34 [notice] 602394#602394: signal 15 (SIGTERM) received from 606628, exiting +2025/08/20 07:18:34 [debug] 602394#602394: wake up, sigio 0 +2025/08/20 07:18:34 [debug] 602394#602394: child: 0 602395 e:0 t:0 d:0 r:1 j:0 +2025/08/20 07:18:34 [debug] 602394#602394: termination cycle: 50 +2025/08/20 07:18:34 [debug] 602394#602394: sigsuspend +2025/08/20 07:18:34 [debug] 602395#602395: epoll: fd:7 ev:0001 d:0000766FE7B130F8 +2025/08/20 07:18:34 [debug] 602395#602395: channel handler +2025/08/20 07:18:34 [debug] 602395#602395: channel: 32 +2025/08/20 07:18:34 [debug] 602395#602395: channel command: 4 +2025/08/20 07:18:34 [debug] 602395#602395: channel: -2 +2025/08/20 07:18:34 [debug] 602395#602395: timer delta: 1414440 +2025/08/20 07:18:34 [notice] 602395#602395: exiting +2025/08/20 07:18:34 [debug] 602395#602395: flush files +2025/08/20 07:18:34 [debug] 602395#602395: run cleanup: 00005E702F9E5A80 +2025/08/20 07:18:34 [debug] 602395#602395: run cleanup: 00005E702F9D8A18 +2025/08/20 07:18:34 [debug] 602395#602395: cleanup resolver +2025/08/20 07:18:34 [debug] 602395#602395: free: 00005E702F9E6DE0 +2025/08/20 07:18:34 [debug] 602395#602395: free: 00005E702F9D9BE0 +2025/08/20 07:18:34 [debug] 602395#602395: free: 00005E702F9B8B50 +2025/08/20 07:18:34 [debug] 602395#602395: free: 00005E702F9B7A40 +2025/08/20 07:18:34 [debug] 602395#602395: free: 00005E702F9B1A10 +2025/08/20 07:18:34 [debug] 602395#602395: free: 00005E702F9B0950 +2025/08/20 07:18:34 [debug] 602395#602395: free: 00005E702F9AF890 +2025/08/20 07:18:34 [debug] 602395#602395: free: 00005E702F9AE7D0 +2025/08/20 07:18:34 [debug] 602395#602395: free: 00005E702F9A6170 +2025/08/20 07:18:34 [debug] 602395#602395: free: 00005E702F99D140, unused: 0 +2025/08/20 07:18:34 [debug] 602395#602395: free: 00005E702F9A7580, unused: 0 +2025/08/20 07:18:34 [debug] 602395#602395: free: 00005E702F9B2A20, unused: 0 +2025/08/20 07:18:34 [debug] 602395#602395: free: 00005E702F9B9B60, unused: 0 +2025/08/20 07:18:34 [debug] 602395#602395: free: 00005E702F9BDB70, unused: 0 +2025/08/20 07:18:34 [debug] 602395#602395: free: 00005E702F9C1B80, unused: 0 +2025/08/20 07:18:34 [debug] 602395#602395: free: 00005E702F9C5B90, unused: 0 +2025/08/20 07:18:34 [debug] 602395#602395: free: 00005E702F9C9BA0, unused: 0 +2025/08/20 07:18:34 [debug] 602395#602395: free: 00005E702F9CDBB0, unused: 0 +2025/08/20 07:18:34 [debug] 602395#602395: free: 00005E702F9D1BC0, unused: 0 +2025/08/20 07:18:34 [debug] 602395#602395: free: 00005E702F9D5BD0, unused: 0 +2025/08/20 07:18:34 [debug] 602395#602395: free: 00005E702F9DADB0, unused: 0 +2025/08/20 07:18:34 [debug] 602395#602395: free: 00005E702F9DEDC0, unused: 0 +2025/08/20 07:18:34 [debug] 602395#602395: free: 00005E702F9E2DD0, unused: 4920 +2025/08/20 07:18:34 [notice] 602395#602395: exit +2025/08/20 07:18:34 [notice] 602394#602394: signal 17 (SIGCHLD) received from 602395 +2025/08/20 07:18:34 [notice] 602394#602394: worker process 602395 exited with code 0 +2025/08/20 07:18:34 [debug] 602394#602394: shmtx forced unlock +2025/08/20 07:18:34 [debug] 602394#602394: wake up, sigio 3 +2025/08/20 07:18:34 [debug] 602394#602394: reap children +2025/08/20 07:18:34 [debug] 602394#602394: child: 0 602395 e:1 t:1 d:0 r:1 j:0 +2025/08/20 07:18:34 [notice] 602394#602394: exit +2025/08/20 07:18:34 [debug] 602394#602394: close listening 0.0.0.0:9001 #5 +2025/08/20 07:18:34 [debug] 602394#602394: run cleanup: 00005E702F9D8A18 +2025/08/20 07:18:34 [debug] 602394#602394: cleanup resolver +2025/08/20 07:18:34 [debug] 602394#602394: free: 00005E702F9E6DE0 +2025/08/20 07:18:34 [debug] 602394#602394: free: 00005E702F9D9BE0 +2025/08/20 07:18:34 [debug] 602394#602394: free: 00005E702F9B8B50 +2025/08/20 07:18:34 [debug] 602394#602394: free: 00005E702F9B7A40 +2025/08/20 07:18:34 [debug] 602394#602394: free: 00005E702F9B1A10 +2025/08/20 07:18:34 [debug] 602394#602394: free: 00005E702F9B0950 +2025/08/20 07:18:34 [debug] 602394#602394: free: 00005E702F9AF890 +2025/08/20 07:18:34 [debug] 602394#602394: free: 00005E702F9AE7D0 +2025/08/20 07:18:34 [debug] 602394#602394: free: 00005E702F9A6170 +2025/08/20 07:18:34 [debug] 602394#602394: free: 00005E702F99D140, unused: 0 +2025/08/20 07:18:34 [debug] 602394#602394: free: 00005E702F9A7580, unused: 0 +2025/08/20 07:18:34 [debug] 602394#602394: free: 00005E702F9B2A20, unused: 0 +2025/08/20 07:18:34 [debug] 602394#602394: free: 00005E702F9B9B60, unused: 0 +2025/08/20 07:18:34 [debug] 602394#602394: free: 00005E702F9BDB70, unused: 0 +2025/08/20 07:18:34 [debug] 602394#602394: free: 00005E702F9C1B80, unused: 0 +2025/08/20 07:18:34 [debug] 602394#602394: free: 00005E702F9C5B90, unused: 0 +2025/08/20 07:18:34 [debug] 602394#602394: free: 00005E702F9C9BA0, unused: 0 +2025/08/20 07:18:34 [debug] 602394#602394: free: 00005E702F9CDBB0, unused: 0 +2025/08/20 07:18:34 [debug] 602394#602394: free: 00005E702F9D1BC0, unused: 0 +2025/08/20 07:18:34 [debug] 602394#602394: free: 00005E702F9D5BD0, unused: 0 +2025/08/20 07:18:34 [debug] 602394#602394: free: 00005E702F9DADB0, unused: 0 +2025/08/20 07:18:34 [debug] 602394#602394: free: 00005E702F9DEDC0, unused: 0 +2025/08/20 07:18:34 [debug] 602394#602394: free: 00005E702F9E2DD0, unused: 4951 +2025/08/20 07:18:38 [debug] 606681#606681: bind() 0.0.0.0:9001 #5 +2025/08/20 07:18:38 [debug] 606681#606681: counter: 00007BA83A725080, 1 +2025/08/20 07:18:38 [debug] 606682#606682: bind() 0.0.0.0:9001 #5 +2025/08/20 07:18:38 [notice] 606682#606682: using the "epoll" event method +2025/08/20 07:18:38 [debug] 606682#606682: counter: 00007E70208A0080, 1 +2025/08/20 07:18:38 [notice] 606682#606682: nginx/1.18.0 (Ubuntu) +2025/08/20 07:18:38 [notice] 606682#606682: OS: Linux 6.12.10-76061203-generic +2025/08/20 07:18:38 [notice] 606682#606682: getrlimit(RLIMIT_NOFILE): 1048576:1048576 +2025/08/20 07:18:38 [debug] 606683#606682: write: 6, 00007FFE26EA83B0, 7, 0 +2025/08/20 07:18:38 [debug] 606683#606683: setproctitle: "nginx: master process nginx -p . -c config/local-nginx.conf" +2025/08/20 07:18:38 [notice] 606683#606683: start worker processes +2025/08/20 07:18:38 [debug] 606683#606683: channel 6:7 +2025/08/20 07:18:38 [notice] 606683#606683: start worker process 606684 +2025/08/20 07:18:38 [debug] 606683#606683: sigsuspend +2025/08/20 07:18:38 [debug] 606684#606684: add cleanup: 00005FE57006DA80 +2025/08/20 07:18:38 [debug] 606684#606684: malloc: 00005FE570020BD0:8 +2025/08/20 07:18:38 [debug] 606684#606684: notify eventfd: 9 +2025/08/20 07:18:38 [debug] 606684#606684: testing the EPOLLRDHUP flag: success +2025/08/20 07:18:38 [debug] 606684#606684: malloc: 00005FE570033590:6144 +2025/08/20 07:18:38 [debug] 606684#606684: malloc: 00007E7020698010:237568 +2025/08/20 07:18:38 [debug] 606684#606684: malloc: 00005FE5700706B0:98304 +2025/08/20 07:18:38 [debug] 606684#606684: malloc: 00005FE5700886C0:98304 +2025/08/20 07:18:38 [debug] 606684#606684: epoll add event: fd:5 op:1 ev:00002001 +2025/08/20 07:18:38 [debug] 606684#606684: epoll add event: fd:7 op:1 ev:00002001 +2025/08/20 07:18:38 [debug] 606684#606684: setproctitle: "nginx: worker process" +2025/08/20 07:18:38 [debug] 606684#606684: worker cycle +2025/08/20 07:18:38 [debug] 606684#606684: epoll timer: -1 +2025/08/20 07:18:55 [debug] 606684#606684: epoll: fd:5 ev:0001 d:00007E7020698010 +2025/08/20 07:18:55 [debug] 606684#606684: accept on 0.0.0.0:9001, ready: 0 +2025/08/20 07:18:55 [debug] 606684#606684: posix_memalign: 00005FE57001F840:512 @16 +2025/08/20 07:18:55 [debug] 606684#606684: *1 accept: 127.0.0.1:53826 fd:6 +2025/08/20 07:18:55 [debug] 606684#606684: *1 event timer add: 6: 60000:255528425 +2025/08/20 07:18:55 [debug] 606684#606684: *1 reusable connection: 1 +2025/08/20 07:18:55 [debug] 606684#606684: *1 epoll add event: fd:6 op:1 ev:80002001 +2025/08/20 07:18:55 [debug] 606684#606684: timer delta: 16732 +2025/08/20 07:18:55 [debug] 606684#606684: worker cycle +2025/08/20 07:18:55 [debug] 606684#606684: epoll timer: 60000 +2025/08/20 07:18:55 [debug] 606684#606684: epoll: fd:6 ev:0001 d:00007E70206981E0 +2025/08/20 07:18:55 [debug] 606684#606684: *1 http wait request handler +2025/08/20 07:18:55 [debug] 606684#606684: *1 malloc: 00005FE5700220A0:1024 +2025/08/20 07:18:55 [debug] 606684#606684: *1 recv: eof:0, avail:-1 +2025/08/20 07:18:55 [debug] 606684#606684: *1 recv: fd:6 84 of 1024 +2025/08/20 07:18:55 [debug] 606684#606684: *1 reusable connection: 0 +2025/08/20 07:18:55 [debug] 606684#606684: *1 posix_memalign: 00005FE57003EA30:4096 @16 +2025/08/20 07:18:55 [debug] 606684#606684: *1 http process request line +2025/08/20 07:18:55 [debug] 606684#606684: *1 http request line: "GET /health HTTP/1.1" +2025/08/20 07:18:55 [debug] 606684#606684: *1 http uri: "/health" +2025/08/20 07:18:55 [debug] 606684#606684: *1 http args: "" +2025/08/20 07:18:55 [debug] 606684#606684: *1 http exten: "" +2025/08/20 07:18:55 [debug] 606684#606684: *1 posix_memalign: 00005FE570034DA0:4096 @16 +2025/08/20 07:18:55 [debug] 606684#606684: *1 http process request header line +2025/08/20 07:18:55 [debug] 606684#606684: *1 http header: "Host: localhost:9001" +2025/08/20 07:18:55 [debug] 606684#606684: *1 http header: "User-Agent: curl/8.15.0" +2025/08/20 07:18:55 [debug] 606684#606684: *1 http header: "Accept: */*" +2025/08/20 07:18:55 [debug] 606684#606684: *1 http header done +2025/08/20 07:18:55 [debug] 606684#606684: *1 event timer del: 6: 255528425 +2025/08/20 07:18:55 [debug] 606684#606684: *1 generic phase: 0 +2025/08/20 07:18:55 [debug] 606684#606684: *1 rewrite phase: 1 +2025/08/20 07:18:55 [debug] 606684#606684: *1 test location: "/health" +2025/08/20 07:18:55 [debug] 606684#606684: *1 test location: ~ "^/([a-f0-9]{64}).*$" +2025/08/20 07:18:55 [debug] 606684#606684: *1 test location: ~ "^/([a-f0-9]{64})(\.[a-zA-Z0-9]+)?$" +2025/08/20 07:18:55 [debug] 606684#606684: *1 test location: ~ "^/fcgi-head/([a-f0-9]{64}).*$" +2025/08/20 07:18:55 [debug] 606684#606684: *1 test location: ~ "^/list/([a-f0-9]{64}).*$" +2025/08/20 07:18:55 [debug] 606684#606684: *1 using configuration "/health" +2025/08/20 07:18:55 [debug] 606684#606684: *1 http cl:-1 max:104857600 +2025/08/20 07:18:55 [debug] 606684#606684: *1 rewrite phase: 3 +2025/08/20 07:18:55 [debug] 606684#606684: *1 http set discard body +2025/08/20 07:18:55 [debug] 606684#606684: *1 HTTP/1.1 200 OK +Server: nginx/1.18.0 (Ubuntu) +Date: Wed, 20 Aug 2025 11:18:55 GMT +Content-Type: application/octet-stream +Content-Length: 3 +Connection: keep-alive +Content-Type: text/plain + +2025/08/20 07:18:55 [debug] 606684#606684: *1 write new buf t:1 f:0 00005FE570035180, pos 00005FE570035180, size: 196 file: 0, size: 0 +2025/08/20 07:18:55 [debug] 606684#606684: *1 http write filter: l:0 f:0 s:196 +2025/08/20 07:18:55 [debug] 606684#606684: *1 http output filter "/health?" +2025/08/20 07:18:55 [debug] 606684#606684: *1 http copy filter: "/health?" +2025/08/20 07:18:55 [debug] 606684#606684: *1 http postpone filter "/health?" 00007FFE26EA7F40 +2025/08/20 07:18:55 [debug] 606684#606684: *1 write old buf t:1 f:0 00005FE570035180, pos 00005FE570035180, size: 196 file: 0, size: 0 +2025/08/20 07:18:55 [debug] 606684#606684: *1 write new buf t:0 f:0 0000000000000000, pos 00005FE57005CB42, size: 3 file: 0, size: 0 +2025/08/20 07:18:55 [debug] 606684#606684: *1 http write filter: l:1 f:0 s:199 +2025/08/20 07:18:55 [debug] 606684#606684: *1 http write filter limit 0 +2025/08/20 07:18:55 [debug] 606684#606684: *1 writev: 199 of 199 +2025/08/20 07:18:55 [debug] 606684#606684: *1 http write filter 0000000000000000 +2025/08/20 07:18:55 [debug] 606684#606684: *1 http copy filter: 0 "/health?" +2025/08/20 07:18:55 [debug] 606684#606684: *1 http finalize request: 0, "/health?" a:1, c:1 +2025/08/20 07:18:55 [debug] 606684#606684: *1 set http keepalive handler +2025/08/20 07:18:55 [debug] 606684#606684: *1 http close request +2025/08/20 07:18:55 [debug] 606684#606684: *1 http log handler +2025/08/20 07:18:55 [debug] 606684#606684: *1 free: 00005FE57003EA30, unused: 0 +2025/08/20 07:18:55 [debug] 606684#606684: *1 free: 00005FE570034DA0, unused: 2736 +2025/08/20 07:18:55 [debug] 606684#606684: *1 free: 00005FE5700220A0 +2025/08/20 07:18:55 [debug] 606684#606684: *1 hc free: 0000000000000000 +2025/08/20 07:18:55 [debug] 606684#606684: *1 hc busy: 0000000000000000 0 +2025/08/20 07:18:55 [debug] 606684#606684: *1 tcp_nodelay +2025/08/20 07:18:55 [debug] 606684#606684: *1 reusable connection: 1 +2025/08/20 07:18:55 [debug] 606684#606684: *1 event timer add: 6: 65000:255533425 +2025/08/20 07:18:55 [debug] 606684#606684: timer delta: 0 +2025/08/20 07:18:55 [debug] 606684#606684: worker cycle +2025/08/20 07:18:55 [debug] 606684#606684: epoll timer: 65000 +2025/08/20 07:18:55 [debug] 606684#606684: epoll: fd:6 ev:2001 d:00007E70206981E0 +2025/08/20 07:18:55 [debug] 606684#606684: *1 http keepalive handler +2025/08/20 07:18:55 [debug] 606684#606684: *1 malloc: 00005FE5700220A0:1024 +2025/08/20 07:18:55 [debug] 606684#606684: *1 recv: eof:1, avail:-1 +2025/08/20 07:18:55 [debug] 606684#606684: *1 recv: fd:6 0 of 1024 +2025/08/20 07:18:55 [info] 606684#606684: *1 client 127.0.0.1 closed keepalive connection +2025/08/20 07:18:55 [debug] 606684#606684: *1 close http connection: 6 +2025/08/20 07:18:55 [debug] 606684#606684: *1 event timer del: 6: 255533425 +2025/08/20 07:18:55 [debug] 606684#606684: *1 reusable connection: 0 +2025/08/20 07:18:55 [debug] 606684#606684: *1 free: 00005FE5700220A0 +2025/08/20 07:18:55 [debug] 606684#606684: *1 free: 00005FE57001F840, unused: 136 +2025/08/20 07:18:55 [debug] 606684#606684: timer delta: 1 +2025/08/20 07:18:55 [debug] 606684#606684: worker cycle +2025/08/20 07:18:55 [debug] 606684#606684: epoll timer: -1 +2025/08/20 07:18:55 [debug] 606684#606684: epoll: fd:5 ev:0001 d:00007E7020698010 +2025/08/20 07:18:55 [debug] 606684#606684: accept on 0.0.0.0:9001, ready: 0 +2025/08/20 07:18:55 [debug] 606684#606684: posix_memalign: 00005FE57001F840:512 @16 +2025/08/20 07:18:55 [debug] 606684#606684: *2 accept: 127.0.0.1:53836 fd:6 +2025/08/20 07:18:55 [debug] 606684#606684: *2 event timer add: 6: 60000:255528672 +2025/08/20 07:18:55 [debug] 606684#606684: *2 reusable connection: 1 +2025/08/20 07:18:55 [debug] 606684#606684: *2 epoll add event: fd:6 op:1 ev:80002001 +2025/08/20 07:18:55 [debug] 606684#606684: timer delta: 246 +2025/08/20 07:18:55 [debug] 606684#606684: worker cycle +2025/08/20 07:18:55 [debug] 606684#606684: epoll timer: 60000 +2025/08/20 07:18:55 [debug] 606684#606684: epoll: fd:6 ev:0001 d:00007E70206981E1 +2025/08/20 07:18:55 [debug] 606684#606684: *2 http wait request handler +2025/08/20 07:18:55 [debug] 606684#606684: *2 malloc: 00005FE5700220A0:1024 +2025/08/20 07:18:55 [debug] 606684#606684: *2 recv: eof:0, avail:-1 +2025/08/20 07:18:55 [debug] 606684#606684: *2 recv: fd:6 1024 of 1024 +2025/08/20 07:18:55 [debug] 606684#606684: *2 recv: avail:112 +2025/08/20 07:18:55 [debug] 606684#606684: *2 reusable connection: 0 +2025/08/20 07:18:55 [debug] 606684#606684: *2 posix_memalign: 00005FE57003EA30:4096 @16 +2025/08/20 07:18:55 [debug] 606684#606684: *2 http process request line +2025/08/20 07:18:55 [debug] 606684#606684: *2 http request line: "PUT /upload HTTP/1.1" +2025/08/20 07:18:55 [debug] 606684#606684: *2 http uri: "/upload" +2025/08/20 07:18:55 [debug] 606684#606684: *2 http args: "" +2025/08/20 07:18:55 [debug] 606684#606684: *2 http exten: "" +2025/08/20 07:18:55 [debug] 606684#606684: *2 posix_memalign: 00005FE570034DA0:4096 @16 +2025/08/20 07:18:55 [debug] 606684#606684: *2 http process request header line +2025/08/20 07:18:55 [debug] 606684#606684: *2 http header: "Host: localhost:9001" +2025/08/20 07:18:55 [debug] 606684#606684: *2 http header: "User-Agent: curl/8.15.0" +2025/08/20 07:18:55 [debug] 606684#606684: *2 http header: "Accept: */*" +2025/08/20 07:18:55 [debug] 606684#606684: *2 http header: "Authorization: Nostr eyJraW5kIjoyNDI0MiwiaWQiOiI2ZDNjZDc1YmJlMTRkM2U5MzAwMjJlNGQ2YmI2MGY5YzAxY2U4OTMzMGFmZjA1ZjI4NjcyYjJlZTg3ZDkyZTBhIiwicHVia2V5IjoiNzliZTY2N2VmOWRjYmJhYzU1YTA2Mjk1Y2U4NzBiMDcwMjliZmNkYjJkY2UyOGQ5NTlmMjgxNWIxNmY4MTc5OCIsImNyZWF0ZWRfYXQiOjE3NTU2ODg3MzUsInRhZ3MiOltbInQiLCJ1cGxvYWQiXSxbIngiLCI4NTRiOTIyODY2MDliZmVhNjBiZDVkMGE5OTk3ZjY4Njg5MWNhODhiZDk2ZmI2MGUwNzdiM2FmYWQyYjFkNmY5Il0sWyJleHBpcmF0aW9uIiwiMTc1NTY5MjMzNSJdXSwiY29udGVudCI6IiIsInNpZyI6ImE4Mzk5MzVhYzVkMjllMzUyMzEwNDEwMTg0M2NlMzA3NGJkY2YyYzM5Y2RhOTc4ODViOWIwYjk5MmJkMTAyYjY2ODYzMWM5ZDc2OWMwNzZmYmVhMWQ3ODk4ZTQ2MmUyNWJkYjdhY2VkYTU0ZmY4ZDQyMmJkYzA3MTEwMTljZjAzIn0=" +2025/08/20 07:18:55 [debug] 606684#606684: *2 http header: "Content-Type: text/plain" +2025/08/20 07:18:55 [debug] 606684#606684: *2 http header: "Content-Disposition: attachment; filename="test_blob_1755688735.txt"" +2025/08/20 07:18:55 [debug] 606684#606684: *2 http header: "Content-Length: 296" +2025/08/20 07:18:55 [debug] 606684#606684: *2 http header done +2025/08/20 07:18:55 [debug] 606684#606684: *2 event timer del: 6: 255528672 +2025/08/20 07:18:55 [debug] 606684#606684: *2 generic phase: 0 +2025/08/20 07:18:55 [debug] 606684#606684: *2 rewrite phase: 1 +2025/08/20 07:18:55 [debug] 606684#606684: *2 test location: "/health" +2025/08/20 07:18:55 [debug] 606684#606684: *2 test location: "/upload" +2025/08/20 07:18:55 [debug] 606684#606684: *2 test location: ~ "^/([a-f0-9]{64}).*$" +2025/08/20 07:18:55 [debug] 606684#606684: *2 test location: ~ "^/([a-f0-9]{64})(\.[a-zA-Z0-9]+)?$" +2025/08/20 07:18:55 [debug] 606684#606684: *2 test location: ~ "^/fcgi-head/([a-f0-9]{64}).*$" +2025/08/20 07:18:55 [debug] 606684#606684: *2 test location: ~ "^/list/([a-f0-9]{64}).*$" +2025/08/20 07:18:55 [debug] 606684#606684: *2 using configuration "/upload" +2025/08/20 07:18:55 [debug] 606684#606684: *2 http cl:296 max:104857600 +2025/08/20 07:18:55 [debug] 606684#606684: *2 rewrite phase: 3 +2025/08/20 07:18:55 [debug] 606684#606684: *2 http script var +2025/08/20 07:18:55 [debug] 606684#606684: *2 http script var: "PUT" +2025/08/20 07:18:55 [debug] 606684#606684: *2 http script regex: "^(PUT)$" +2025/08/20 07:18:55 [notice] 606684#606684: *2 "^(PUT)$" matches "PUT", client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", host: "localhost:9001" +2025/08/20 07:18:55 [debug] 606684#606684: *2 http script if +2025/08/20 07:18:55 [debug] 606684#606684: *2 http script if: false +2025/08/20 07:18:55 [debug] 606684#606684: *2 post rewrite phase: 4 +2025/08/20 07:18:55 [debug] 606684#606684: *2 generic phase: 5 +2025/08/20 07:18:55 [debug] 606684#606684: *2 generic phase: 6 +2025/08/20 07:18:55 [debug] 606684#606684: *2 generic phase: 7 +2025/08/20 07:18:55 [debug] 606684#606684: *2 access phase: 8 +2025/08/20 07:18:55 [debug] 606684#606684: *2 access phase: 9 +2025/08/20 07:18:55 [debug] 606684#606684: *2 access phase: 10 +2025/08/20 07:18:55 [debug] 606684#606684: *2 post access phase: 11 +2025/08/20 07:18:55 [debug] 606684#606684: *2 generic phase: 12 +2025/08/20 07:18:55 [debug] 606684#606684: *2 generic phase: 13 +2025/08/20 07:18:55 [debug] 606684#606684: *2 http client request body preread 184 +2025/08/20 07:18:55 [debug] 606684#606684: *2 http request body content length filter +2025/08/20 07:18:55 [debug] 606684#606684: *2 http body new buf t:1 f:0 00005FE5700223E8, pos 00005FE5700223E8, size: 184 file: 0, size: 0 +2025/08/20 07:18:55 [debug] 606684#606684: *2 http read client request body +2025/08/20 07:18:55 [debug] 606684#606684: *2 recv: eof:0, avail:112 +2025/08/20 07:18:55 [debug] 606684#606684: *2 recv: fd:6 112 of 112 +2025/08/20 07:18:55 [debug] 606684#606684: *2 recv: avail:0 +2025/08/20 07:18:55 [debug] 606684#606684: *2 http client request body recv 112 +2025/08/20 07:18:55 [debug] 606684#606684: *2 http body new buf t:1 f:0 00005FE570035830, pos 00005FE570035830, size: 112 file: 0, size: 0 +2025/08/20 07:18:55 [debug] 606684#606684: *2 http client request body rest 0 +2025/08/20 07:18:55 [debug] 606684#606684: *2 http init upstream, client timer: 0 +2025/08/20 07:18:55 [debug] 606684#606684: *2 epoll add event: fd:6 op:3 ev:80002005 +2025/08/20 07:18:55 [debug] 606684#606684: *2 posix_memalign: 00005FE570029150:4096 @16 +2025/08/20 07:18:55 [debug] 606684#606684: *2 http script copy: "QUERY_STRING" +2025/08/20 07:18:55 [debug] 606684#606684: *2 fastcgi param: "QUERY_STRING: " +2025/08/20 07:18:55 [debug] 606684#606684: *2 http script copy: "REQUEST_METHOD" +2025/08/20 07:18:55 [debug] 606684#606684: *2 http script var: "PUT" +2025/08/20 07:18:55 [debug] 606684#606684: *2 fastcgi param: "REQUEST_METHOD: PUT" +2025/08/20 07:18:55 [debug] 606684#606684: *2 http script copy: "CONTENT_TYPE" +2025/08/20 07:18:55 [debug] 606684#606684: *2 http script var: "text/plain" +2025/08/20 07:18:55 [debug] 606684#606684: *2 fastcgi param: "CONTENT_TYPE: text/plain" +2025/08/20 07:18:55 [debug] 606684#606684: *2 http script copy: "CONTENT_LENGTH" +2025/08/20 07:18:55 [debug] 606684#606684: *2 http script var: "296" +2025/08/20 07:18:55 [debug] 606684#606684: *2 fastcgi param: "CONTENT_LENGTH: 296" +2025/08/20 07:18:55 [debug] 606684#606684: *2 http script copy: "SCRIPT_NAME" +2025/08/20 07:18:55 [debug] 606684#606684: *2 http script var: "/upload" +2025/08/20 07:18:55 [debug] 606684#606684: *2 fastcgi param: "SCRIPT_NAME: /upload" +2025/08/20 07:18:55 [debug] 606684#606684: *2 http script copy: "REQUEST_URI" +2025/08/20 07:18:55 [debug] 606684#606684: *2 http script var: "/upload" +2025/08/20 07:18:55 [debug] 606684#606684: *2 fastcgi param: "REQUEST_URI: /upload" +2025/08/20 07:18:55 [debug] 606684#606684: *2 http script copy: "DOCUMENT_URI" +2025/08/20 07:18:55 [debug] 606684#606684: *2 http script var: "/upload" +2025/08/20 07:18:55 [debug] 606684#606684: *2 fastcgi param: "DOCUMENT_URI: /upload" +2025/08/20 07:18:55 [debug] 606684#606684: *2 http script copy: "DOCUMENT_ROOT" +2025/08/20 07:18:55 [debug] 606684#606684: *2 http script var: "./blobs" +2025/08/20 07:18:55 [debug] 606684#606684: *2 fastcgi param: "DOCUMENT_ROOT: ./blobs" +2025/08/20 07:18:55 [debug] 606684#606684: *2 http script copy: "SERVER_PROTOCOL" +2025/08/20 07:18:55 [debug] 606684#606684: *2 http script var: "HTTP/1.1" +2025/08/20 07:18:55 [debug] 606684#606684: *2 fastcgi param: "SERVER_PROTOCOL: HTTP/1.1" +2025/08/20 07:18:55 [debug] 606684#606684: *2 http script copy: "REQUEST_SCHEME" +2025/08/20 07:18:55 [debug] 606684#606684: *2 http script var: "http" +2025/08/20 07:18:55 [debug] 606684#606684: *2 fastcgi param: "REQUEST_SCHEME: http" +2025/08/20 07:18:55 [debug] 606684#606684: *2 http script copy: "" +2025/08/20 07:18:55 [debug] 606684#606684: *2 http script copy: "GATEWAY_INTERFACE" +2025/08/20 07:18:55 [debug] 606684#606684: *2 http script copy: "CGI/1.1" +2025/08/20 07:18:55 [debug] 606684#606684: *2 fastcgi param: "GATEWAY_INTERFACE: CGI/1.1" +2025/08/20 07:18:55 [debug] 606684#606684: *2 http script copy: "SERVER_SOFTWARE" +2025/08/20 07:18:55 [debug] 606684#606684: *2 http script copy: "nginx/" +2025/08/20 07:18:55 [debug] 606684#606684: *2 http script var: "1.18.0" +2025/08/20 07:18:55 [debug] 606684#606684: *2 fastcgi param: "SERVER_SOFTWARE: nginx/1.18.0" +2025/08/20 07:18:55 [debug] 606684#606684: *2 http script copy: "REMOTE_ADDR" +2025/08/20 07:18:55 [debug] 606684#606684: *2 http script var: "127.0.0.1" +2025/08/20 07:18:55 [debug] 606684#606684: *2 fastcgi param: "REMOTE_ADDR: 127.0.0.1" +2025/08/20 07:18:55 [debug] 606684#606684: *2 http script copy: "REMOTE_PORT" +2025/08/20 07:18:55 [debug] 606684#606684: *2 http script var: "53836" +2025/08/20 07:18:55 [debug] 606684#606684: *2 fastcgi param: "REMOTE_PORT: 53836" +2025/08/20 07:18:55 [debug] 606684#606684: *2 http script copy: "SERVER_ADDR" +2025/08/20 07:18:55 [debug] 606684#606684: *2 http script var: "127.0.0.1" +2025/08/20 07:18:55 [debug] 606684#606684: *2 fastcgi param: "SERVER_ADDR: 127.0.0.1" +2025/08/20 07:18:55 [debug] 606684#606684: *2 http script copy: "SERVER_PORT" +2025/08/20 07:18:55 [debug] 606684#606684: *2 http script var: "9001" +2025/08/20 07:18:55 [debug] 606684#606684: *2 fastcgi param: "SERVER_PORT: 9001" +2025/08/20 07:18:55 [debug] 606684#606684: *2 http script copy: "SERVER_NAME" +2025/08/20 07:18:55 [debug] 606684#606684: *2 http script var: "localhost" +2025/08/20 07:18:55 [debug] 606684#606684: *2 fastcgi param: "SERVER_NAME: localhost" +2025/08/20 07:18:55 [debug] 606684#606684: *2 http script copy: "REDIRECT_STATUS" +2025/08/20 07:18:55 [debug] 606684#606684: *2 http script copy: "200" +2025/08/20 07:18:55 [debug] 606684#606684: *2 fastcgi param: "REDIRECT_STATUS: 200" +2025/08/20 07:18:55 [debug] 606684#606684: *2 http script copy: "SCRIPT_FILENAME" +2025/08/20 07:18:55 [debug] 606684#606684: *2 http script var: "./blobs" +2025/08/20 07:18:55 [debug] 606684#606684: *2 http script copy: "/ginxsom.fcgi" +2025/08/20 07:18:55 [debug] 606684#606684: *2 fastcgi param: "SCRIPT_FILENAME: ./blobs/ginxsom.fcgi" +2025/08/20 07:18:55 [debug] 606684#606684: *2 fastcgi param: "HTTP_HOST: localhost:9001" +2025/08/20 07:18:55 [debug] 606684#606684: *2 fastcgi param: "HTTP_USER_AGENT: curl/8.15.0" +2025/08/20 07:18:55 [debug] 606684#606684: *2 fastcgi param: "HTTP_ACCEPT: */*" +2025/08/20 07:18:55 [debug] 606684#606684: *2 fastcgi param: "HTTP_AUTHORIZATION: Nostr eyJraW5kIjoyNDI0MiwiaWQiOiI2ZDNjZDc1YmJlMTRkM2U5MzAwMjJlNGQ2YmI2MGY5YzAxY2U4OTMzMGFmZjA1ZjI4NjcyYjJlZTg3ZDkyZTBhIiwicHVia2V5IjoiNzliZTY2N2VmOWRjYmJhYzU1YTA2Mjk1Y2U4NzBiMDcwMjliZmNkYjJkY2UyOGQ5NTlmMjgxNWIxNmY4MTc5OCIsImNyZWF0ZWRfYXQiOjE3NTU2ODg3MzUsInRhZ3MiOltbInQiLCJ1cGxvYWQiXSxbIngiLCI4NTRiOTIyODY2MDliZmVhNjBiZDVkMGE5OTk3ZjY4Njg5MWNhODhiZDk2ZmI2MGUwNzdiM2FmYWQyYjFkNmY5Il0sWyJleHBpcmF0aW9uIiwiMTc1NTY5MjMzNSJdXSwiY29udGVudCI6IiIsInNpZyI6ImE4Mzk5MzVhYzVkMjllMzUyMzEwNDEwMTg0M2NlMzA3NGJkY2YyYzM5Y2RhOTc4ODViOWIwYjk5MmJkMTAyYjY2ODYzMWM5ZDc2OWMwNzZmYmVhMWQ3ODk4ZTQ2MmUyNWJkYjdhY2VkYTU0ZmY4ZDQyMmJkYzA3MTEwMTljZjAzIn0=" +2025/08/20 07:18:55 [debug] 606684#606684: *2 fastcgi param: "HTTP_CONTENT_TYPE: text/plain" +2025/08/20 07:18:55 [debug] 606684#606684: *2 fastcgi param: "HTTP_CONTENT_DISPOSITION: attachment; filename="test_blob_1755688735.txt"" +2025/08/20 07:18:55 [debug] 606684#606684: *2 fastcgi param: "HTTP_CONTENT_LENGTH: 296" +2025/08/20 07:18:55 [debug] 606684#606684: *2 http cleanup add: 00005FE570035B80 +2025/08/20 07:18:55 [debug] 606684#606684: *2 get rr peer, try: 1 +2025/08/20 07:18:55 [debug] 606684#606684: *2 stream socket 10 +2025/08/20 07:18:55 [debug] 606684#606684: *2 epoll add connection: fd:10 ev:80002005 +2025/08/20 07:18:55 [debug] 606684#606684: *2 connect to unix:/tmp/ginxsom-fcgi.sock, fd:10 #3 +2025/08/20 07:18:55 [debug] 606684#606684: *2 connected +2025/08/20 07:18:55 [debug] 606684#606684: *2 http upstream connect: 0 +2025/08/20 07:18:55 [debug] 606684#606684: *2 posix_memalign: 00005FE570008F20:128 @16 +2025/08/20 07:18:55 [debug] 606684#606684: *2 http upstream send request +2025/08/20 07:18:55 [debug] 606684#606684: *2 http upstream send request body +2025/08/20 07:18:55 [debug] 606684#606684: *2 chain writer buf fl:0 s:1304 +2025/08/20 07:18:55 [debug] 606684#606684: *2 chain writer buf fl:0 s:184 +2025/08/20 07:18:55 [debug] 606684#606684: *2 chain writer buf fl:0 s:8 +2025/08/20 07:18:55 [debug] 606684#606684: *2 chain writer buf fl:0 s:112 +2025/08/20 07:18:55 [debug] 606684#606684: *2 chain writer buf fl:0 s:8 +2025/08/20 07:18:55 [debug] 606684#606684: *2 chain writer in: 00005FE570035C10 +2025/08/20 07:18:55 [debug] 606684#606684: *2 writev: 1616 of 1616 +2025/08/20 07:18:55 [debug] 606684#606684: *2 chain writer out: 0000000000000000 +2025/08/20 07:18:55 [debug] 606684#606684: *2 event timer add: 10: 60000:255528672 +2025/08/20 07:18:55 [debug] 606684#606684: *2 http finalize request: -4, "/upload?" a:1, c:2 +2025/08/20 07:18:55 [debug] 606684#606684: *2 http request count:2 blk:0 +2025/08/20 07:18:55 [debug] 606684#606684: timer delta: 0 +2025/08/20 07:18:55 [debug] 606684#606684: worker cycle +2025/08/20 07:18:55 [debug] 606684#606684: epoll timer: 60000 +2025/08/20 07:18:55 [debug] 606684#606684: epoll: fd:6 ev:0004 d:00007E70206981E1 +2025/08/20 07:18:55 [debug] 606684#606684: *2 http run request: "/upload?" +2025/08/20 07:18:55 [debug] 606684#606684: *2 http upstream check client, write event:1, "/upload" +2025/08/20 07:18:55 [debug] 606684#606684: epoll: fd:10 ev:0004 d:00007E70206982C8 +2025/08/20 07:18:55 [debug] 606684#606684: *2 http upstream request: "/upload?" +2025/08/20 07:18:55 [debug] 606684#606684: *2 http upstream dummy handler +2025/08/20 07:18:55 [debug] 606684#606684: timer delta: 3 +2025/08/20 07:18:55 [debug] 606684#606684: worker cycle +2025/08/20 07:18:55 [debug] 606684#606684: epoll timer: 59997 +2025/08/20 07:18:55 [debug] 606684#606684: epoll: fd:10 ev:0005 d:00007E70206982C8 +2025/08/20 07:18:55 [debug] 606684#606684: *2 http upstream request: "/upload?" +2025/08/20 07:18:55 [debug] 606684#606684: *2 http upstream process header +2025/08/20 07:18:55 [debug] 606684#606684: *2 malloc: 00005FE57002A160:4096 +2025/08/20 07:18:55 [debug] 606684#606684: *2 recv: eof:0, avail:-1 +2025/08/20 07:18:55 [debug] 606684#606684: *2 recv: fd:10 4096 of 4096 +2025/08/20 07:18:55 [debug] 606684#606684: *2 recv: avail:784 +2025/08/20 07:18:55 [debug] 606684#606684: *2 http fastcgi record byte: 01 +2025/08/20 07:18:55 [debug] 606684#606684: *2 http fastcgi record byte: 07 +2025/08/20 07:18:55 [debug] 606684#606684: *2 http fastcgi record byte: 00 +2025/08/20 07:18:55 [debug] 606684#606684: *2 http fastcgi record byte: 01 +2025/08/20 07:18:55 [debug] 606684#606684: *2 http fastcgi record byte: 01 +2025/08/20 07:18:55 [debug] 606684#606684: *2 http fastcgi record byte: F8 +2025/08/20 07:18:55 [debug] 606684#606684: *2 http fastcgi record byte: 00 +2025/08/20 07:18:55 [debug] 606684#606684: *2 http fastcgi record byte: 00 +2025/08/20 07:18:55 [debug] 606684#606684: *2 http fastcgi record length: 504 +2025/08/20 07:18:55 [error] 606684#606684: *2 FastCGI sent in stderr: "═══════════════════════════════════════════════════════════════════ +🔍 STEP SERVER-1: Starting server-style authentication (mirroring test_auth_debug.c) +ℹ️ INFO: Server-style auth called with method: upload, hash: 854b92286609bfea60bd5d0a9997f686891ca88bd96fb60e077b3afad2b1d6f9 +🔍 STEP SERVER-2: Calling parse_authorization_header +DEBUG: parse_authorization_he" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 07:18:55 [debug] 606684#606684: *2 http fastcgi record byte: 01 +2025/08/20 07:18:55 [debug] 606684#606684: *2 http fastcgi record byte: 07 +2025/08/20 07:18:55 [debug] 606684#606684: *2 http fastcgi record byte: 00 +2025/08/20 07:18:55 [debug] 606684#606684: *2 http fastcgi record byte: 01 +2025/08/20 07:18:55 [debug] 606684#606684: *2 http fastcgi record byte: 01 +2025/08/20 07:18:55 [debug] 606684#606684: *2 http fastcgi record byte: F8 +2025/08/20 07:18:55 [debug] 606684#606684: *2 http fastcgi record byte: 00 +2025/08/20 07:18:55 [debug] 606684#606684: *2 http fastcgi record byte: 00 +2025/08/20 07:18:55 [debug] 606684#606684: *2 http fastcgi record length: 504 +2025/08/20 07:18:55 [error] 606684#606684: *2 FastCGI sent in stderr: "ader called with header: Nostr eyJraW5kIjoyNDI0MiwiaWQiOiI2ZDNjZDc1YmJlMTRk... +DEBUG: Extracted base64 event (length=DEBUG: Base64 decode result - decoded_len=DEBUG: Successfully decoded JSON (length=✅ SUCCESS: parse_authorization_header succeeded +🔍 STEP SERVER-3: Calling cJSON_Parse on JSON string +ℹ️ INFO: JSON to parse: {"kind":24242,"id":"6d3cd75bbe14d3e930022e4d6bb60f9c01ce89330aff05f28672b2ee87d92e0a","pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 07:18:55 [debug] 606684#606684: *2 http fastcgi record byte: 01 +2025/08/20 07:18:55 [debug] 606684#606684: *2 http fastcgi record byte: 07 +2025/08/20 07:18:55 [debug] 606684#606684: *2 http fastcgi record byte: 00 +2025/08/20 07:18:55 [debug] 606684#606684: *2 http fastcgi record byte: 01 +2025/08/20 07:18:55 [debug] 606684#606684: *2 http fastcgi record byte: 01 +2025/08/20 07:18:55 [debug] 606684#606684: *2 http fastcgi record byte: F8 +2025/08/20 07:18:55 [debug] 606684#606684: *2 http fastcgi record byte: 00 +2025/08/20 07:18:55 [debug] 606684#606684: *2 http fastcgi record byte: 00 +2025/08/20 07:18:55 [debug] 606684#606684: *2 http fastcgi record length: 504 +2025/08/20 07:18:55 [error] 606684#606684: *2 FastCGI sent in stderr: "_at":1755688735,"tags":[["t","upload"],["x","854b92286609bfea60bd5d0a9997f686891ca88bd96fb60e077b3afad2b1d6f9"],["expiration","1755692335"]],"content":"","sig":"a839935ac5d29e3523104101843ce3074bdcf2c39cda97885b9b0b992bd102b668631c9d769c076fbea1d7898e462e25bdb7aceda54ff8d422bdc0711019cf03"} +✅ SUCCESS: cJSON_Parse succeeded, event parsed +ℹ️ INFO: Parsed JSON: { + "kind": 24242, + "id": "6d3cd75bbe14d3e930022e4d6bb60f9c01ce89330aff05f28672b2ee87d92e0a", + "pubkey": "79be667ef9dcbbac55a06295ce870b0" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 07:18:55 [debug] 606684#606684: *2 http fastcgi record byte: 01 +2025/08/20 07:18:55 [debug] 606684#606684: *2 http fastcgi record byte: 07 +2025/08/20 07:18:55 [debug] 606684#606684: *2 http fastcgi record byte: 00 +2025/08/20 07:18:55 [debug] 606684#606684: *2 http fastcgi record byte: 01 +2025/08/20 07:18:55 [debug] 606684#606684: *2 http fastcgi record byte: 01 +2025/08/20 07:18:55 [debug] 606684#606684: *2 http fastcgi record byte: F8 +2025/08/20 07:18:55 [debug] 606684#606684: *2 http fastcgi record byte: 00 +2025/08/20 07:18:55 [debug] 606684#606684: *2 http fastcgi record byte: 00 +2025/08/20 07:18:55 [debug] 606684#606684: *2 http fastcgi record length: 504 +2025/08/20 07:18:55 [error] 606684#606684: *2 FastCGI sent in stderr: "7029bfcdb2dce28d959f2815b16f81798", + "created_at": 1755688735, + "tags": [["t", "upload"], ["x", "854b92286609bfea60bd5d0a9997f686891ca88bd96fb60e077b3afad2b1d6f9"], ["expiration", "1755692335"]], + "content": "", + "sig": "a839935ac5d29e3523104101843ce3074bdcf2c39cda97885b9b0b992bd102b668631c9d769c076fbea1d7898e462e25bdb7aceda54ff8d422bdc0711019cf03" +} +🔍 STEP SERVER-4: Event fields before validation +ℹ️ INFO: id: 6d3cd75bbe14d3e930022e4d6bb60f9c01ce89330aff05f28672b2ee87d92e0a +ℹ️ INFO:" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 07:18:55 [debug] 606684#606684: *2 http fastcgi record byte: 01 +2025/08/20 07:18:55 [debug] 606684#606684: *2 http fastcgi record byte: 07 +2025/08/20 07:18:55 [debug] 606684#606684: *2 http fastcgi record byte: 00 +2025/08/20 07:18:55 [debug] 606684#606684: *2 http fastcgi record byte: 01 +2025/08/20 07:18:55 [debug] 606684#606684: *2 http fastcgi record byte: 01 +2025/08/20 07:18:55 [debug] 606684#606684: *2 http fastcgi record byte: F8 +2025/08/20 07:18:55 [debug] 606684#606684: *2 http fastcgi record byte: 00 +2025/08/20 07:18:55 [debug] 606684#606684: *2 http fastcgi record byte: 00 +2025/08/20 07:18:55 [debug] 606684#606684: *2 http fastcgi record length: 504 +2025/08/20 07:18:55 [error] 606684#606684: *2 FastCGI sent in stderr: " pubkey: 79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 +ℹ️ INFO: sig: a839935ac5d29e3523104101843ce3074bdcf2c39cda97885b9b0b992bd102b668631c9d769c076fbea1d7898e462e25bdb7aceda54ff8d422bdc0711019cf03 +ℹ️ INFO: kind: 24242 +ℹ️ INFO: created_at: 1755688735 +🔍 STEP SERVER-5: Detailed pubkey analysis +ℹ️ INFO: Pubkey: 79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 +ℹ️ INFO: Length: ℹ️ INFO: Character analysis (first 10): +7(0x37)" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 07:18:55 [debug] 606684#606684: *2 http fastcgi record byte: 01 +2025/08/20 07:18:55 [debug] 606684#606684: *2 http fastcgi record byte: 07 +2025/08/20 07:18:55 [debug] 606684#606684: *2 http fastcgi record byte: 00 +2025/08/20 07:18:55 [debug] 606684#606684: *2 http fastcgi record byte: 01 +2025/08/20 07:18:55 [debug] 606684#606684: *2 http fastcgi record byte: 01 +2025/08/20 07:18:55 [debug] 606684#606684: *2 http fastcgi record byte: F8 +2025/08/20 07:18:55 [debug] 606684#606684: *2 http fastcgi record byte: 00 +2025/08/20 07:18:55 [debug] 606684#606684: *2 http fastcgi record byte: 00 +2025/08/20 07:18:55 [debug] 606684#606684: *2 http fastcgi record length: 504 +2025/08/20 07:18:55 [error] 606684#606684: *2 FastCGI sent in stderr: " 9(0x39) b(0x62) e(0x65) 6(0x36) 6(0x36) 7(0x37) e(0x65) f(0x66) 9(0x39) +🔍 STEP SERVER-6: Pre-validation pubkey analysis +ℹ️ INFO: Pubkey: 79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 +ℹ️ INFO: Length: ℹ️ INFO: Character analysis (first 10): +7(55) 9(57) b(98) e(101) 6(54) 6(54) 7(55) e(101) f(102) 9(57) +ℹ️ INFO: Character validation test: +ALL VALID (lowercase hex) +🔍 STEP SERVER-7: Starting detailed validation analysis +ℹ️ INFO: Testing stru" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 07:18:55 [debug] 606684#606684: *2 http fastcgi record byte: 01 +2025/08/20 07:18:55 [debug] 606684#606684: *2 http fastcgi record byte: 07 +2025/08/20 07:18:55 [debug] 606684#606684: *2 http fastcgi record byte: 00 +2025/08/20 07:18:55 [debug] 606684#606684: *2 http fastcgi record byte: 01 +2025/08/20 07:18:55 [debug] 606684#606684: *2 http fastcgi record byte: 01 +2025/08/20 07:18:55 [debug] 606684#606684: *2 http fastcgi record byte: 97 +2025/08/20 07:18:55 [debug] 606684#606684: *2 http fastcgi record byte: 01 +2025/08/20 07:18:55 [debug] 606684#606684: *2 http fastcgi record byte: 00 +2025/08/20 07:18:55 [debug] 606684#606684: *2 http fastcgi record length: 407 +2025/08/20 07:18:55 [error] 606684#606684: *2 FastCGI sent in stderr: "cture validation... +ℹ️ INFO: nostr_validate_event_structure returned: 0 (Success) +✅ SUCCESS: Structure validation PASSED +ℹ️ INFO: Testing cryptographic verification... +ℹ️ INFO: nostr_verify_event_signature returned: -32 (Event has invalid public key) +❌ ERROR: CRYPTO verification failed! +❌ ERROR: Failed pubkey: 79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 (length:" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 07:18:55 [debug] 606684#606684: *2 http fastcgi record byte: 01 +2025/08/20 07:18:55 [debug] 606684#606684: *2 http fastcgi record byte: 07 +2025/08/20 07:18:55 [debug] 606684#606684: *2 http fastcgi record byte: 00 +2025/08/20 07:18:55 [debug] 606684#606684: *2 http fastcgi record byte: 01 +2025/08/20 07:18:55 [debug] 606684#606684: *2 http fastcgi record byte: 00 +2025/08/20 07:18:55 [debug] 606684#606684: *2 http fastcgi record byte: 00 +2025/08/20 07:18:55 [debug] 606684#606684: *2 http fastcgi record byte: 00 +2025/08/20 07:18:55 [debug] 606684#606684: *2 http fastcgi record byte: 00 +2025/08/20 07:18:55 [debug] 606684#606684: *2 http fastcgi record length: 0 +2025/08/20 07:18:55 [debug] 606684#606684: *2 http fastcgi record byte: 01 +2025/08/20 07:18:55 [debug] 606684#606684: *2 http fastcgi record byte: 06 +2025/08/20 07:18:55 [debug] 606684#606684: *2 http fastcgi record byte: 00 +2025/08/20 07:18:55 [debug] 606684#606684: *2 http fastcgi record byte: 01 +2025/08/20 07:18:55 [debug] 606684#606684: *2 http fastcgi record byte: 05 +2025/08/20 07:18:55 [debug] 606684#606684: *2 http fastcgi record byte: 47 +2025/08/20 07:18:55 [debug] 606684#606684: *2 http fastcgi record byte: 01 +2025/08/20 07:18:55 [debug] 606684#606684: *2 http fastcgi record byte: 00 +2025/08/20 07:18:55 [debug] 606684#606684: *2 http fastcgi record length: 1351 +2025/08/20 07:18:55 [debug] 606684#606684: *2 http fastcgi parser: 0 +2025/08/20 07:18:55 [debug] 606684#606684: *2 http fastcgi header: "DEBUG: FastCGI received request" +2025/08/20 07:18:55 [debug] 606684#606684: *2 http fastcgi parser: 0 +2025/08/20 07:18:55 [debug] 606684#606684: *2 http fastcgi header: "DEBUG: METHOD=PUT, URI=/upload" +2025/08/20 07:18:55 [debug] 606684#606684: *2 http fastcgi parser: 0 +2025/08/20 07:18:55 [debug] 606684#606684: *2 http fastcgi header: "DEBUG: handle_upload_request called" +2025/08/20 07:18:55 [debug] 606684#606684: *2 http fastcgi parser: 0 +2025/08/20 07:18:55 [debug] 606684#606684: *2 http fastcgi header: "LOG: [2025-08-20 07:18:55] PUT /upload - Auth: pending - Status: 0" +2025/08/20 07:18:55 [debug] 606684#606684: *2 http fastcgi parser: 0 +2025/08/20 07:18:55 [debug] 606684#606684: *2 http fastcgi header: "DEBUG: content_type=text/plain" +2025/08/20 07:18:55 [debug] 606684#606684: *2 http fastcgi parser: 0 +2025/08/20 07:18:55 [debug] 606684#606684: *2 http fastcgi header: "DEBUG: content_length=296" +2025/08/20 07:18:55 [debug] 606684#606684: *2 http fastcgi parser: -2 +2025/08/20 07:18:55 [debug] 606684#606684: *2 upstream split a header line in FastCGI records +2025/08/20 07:18:55 [error] 606684#606684: *2 upstream sent too big header while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 07:18:55 [debug] 606684#606684: *2 http next upstream, 8 +2025/08/20 07:18:55 [debug] 606684#606684: *2 free rr peer 1 4 +2025/08/20 07:18:55 [debug] 606684#606684: *2 finalize http upstream request: 502 +2025/08/20 07:18:55 [debug] 606684#606684: *2 finalize http fastcgi request +2025/08/20 07:18:55 [debug] 606684#606684: *2 close http upstream connection: 10 +2025/08/20 07:18:55 [debug] 606684#606684: *2 free: 00005FE570008F20, unused: 48 +2025/08/20 07:18:55 [debug] 606684#606684: *2 event timer del: 10: 255528672 +2025/08/20 07:18:55 [debug] 606684#606684: *2 reusable connection: 0 +2025/08/20 07:18:55 [debug] 606684#606684: *2 http finalize request: 502, "/upload?" a:1, c:1 +2025/08/20 07:18:55 [debug] 606684#606684: *2 http special response: 502, "/upload?" +2025/08/20 07:18:55 [debug] 606684#606684: *2 HTTP/1.1 502 Bad Gateway +Server: nginx/1.18.0 (Ubuntu) +Date: Wed, 20 Aug 2025 11:18:55 GMT +Content-Type: text/html +Content-Length: 166 +Connection: keep-alive + +2025/08/20 07:18:55 [debug] 606684#606684: *2 write new buf t:1 f:0 00005FE5700298C8, pos 00005FE5700298C8, size: 166 file: 0, size: 0 +2025/08/20 07:18:55 [debug] 606684#606684: *2 http write filter: l:0 f:0 s:166 +2025/08/20 07:18:55 [debug] 606684#606684: *2 http output filter "/upload?" +2025/08/20 07:18:55 [debug] 606684#606684: *2 http copy filter: "/upload?" +2025/08/20 07:18:55 [debug] 606684#606684: *2 http postpone filter "/upload?" 00005FE570035BF0 +2025/08/20 07:18:55 [debug] 606684#606684: *2 write old buf t:1 f:0 00005FE5700298C8, pos 00005FE5700298C8, size: 166 file: 0, size: 0 +2025/08/20 07:18:55 [debug] 606684#606684: *2 write new buf t:0 f:0 0000000000000000, pos 00005FE55B961A40, size: 104 file: 0, size: 0 +2025/08/20 07:18:55 [debug] 606684#606684: *2 write new buf t:0 f:0 0000000000000000, pos 00005FE55B962C80, size: 62 file: 0, size: 0 +2025/08/20 07:18:55 [debug] 606684#606684: *2 http write filter: l:1 f:0 s:332 +2025/08/20 07:18:55 [debug] 606684#606684: *2 http write filter limit 0 +2025/08/20 07:18:55 [debug] 606684#606684: *2 writev: 332 of 332 +2025/08/20 07:18:55 [debug] 606684#606684: *2 http write filter 0000000000000000 +2025/08/20 07:18:55 [debug] 606684#606684: *2 http copy filter: 0 "/upload?" +2025/08/20 07:18:55 [debug] 606684#606684: *2 http finalize request: 0, "/upload?" a:1, c:1 +2025/08/20 07:18:55 [debug] 606684#606684: *2 set http keepalive handler +2025/08/20 07:18:55 [debug] 606684#606684: *2 http close request +2025/08/20 07:18:55 [debug] 606684#606684: *2 http log handler +2025/08/20 07:18:55 [debug] 606684#606684: *2 free: 00005FE57002A160 +2025/08/20 07:18:55 [debug] 606684#606684: *2 free: 00005FE57003EA30, unused: 3 +2025/08/20 07:18:55 [debug] 606684#606684: *2 free: 00005FE570034DA0, unused: 8 +2025/08/20 07:18:55 [debug] 606684#606684: *2 free: 00005FE570029150, unused: 1578 +2025/08/20 07:18:55 [debug] 606684#606684: *2 free: 00005FE5700220A0 +2025/08/20 07:18:55 [debug] 606684#606684: *2 hc free: 0000000000000000 +2025/08/20 07:18:55 [debug] 606684#606684: *2 hc busy: 0000000000000000 0 +2025/08/20 07:18:55 [debug] 606684#606684: *2 tcp_nodelay +2025/08/20 07:18:55 [debug] 606684#606684: *2 reusable connection: 1 +2025/08/20 07:18:55 [debug] 606684#606684: *2 event timer add: 6: 65000:255533675 +2025/08/20 07:18:55 [debug] 606684#606684: *2 post event 00005FE570070770 +2025/08/20 07:18:55 [debug] 606684#606684: timer delta: 0 +2025/08/20 07:18:55 [debug] 606684#606684: posted event 00005FE570070770 +2025/08/20 07:18:55 [debug] 606684#606684: *2 delete posted event 00005FE570070770 +2025/08/20 07:18:55 [debug] 606684#606684: *2 http keepalive handler +2025/08/20 07:18:55 [debug] 606684#606684: *2 malloc: 00005FE5700220A0:1024 +2025/08/20 07:18:55 [debug] 606684#606684: *2 recv: eof:0, avail:0 +2025/08/20 07:18:55 [debug] 606684#606684: *2 free: 00005FE5700220A0 +2025/08/20 07:18:55 [debug] 606684#606684: worker cycle +2025/08/20 07:18:55 [debug] 606684#606684: epoll timer: 65000 +2025/08/20 07:18:55 [debug] 606684#606684: epoll: fd:6 ev:2005 d:00007E70206981E1 +2025/08/20 07:18:55 [debug] 606684#606684: *2 http keepalive handler +2025/08/20 07:18:55 [debug] 606684#606684: *2 malloc: 00005FE5700220A0:1024 +2025/08/20 07:18:55 [debug] 606684#606684: *2 recv: eof:1, avail:-1 +2025/08/20 07:18:55 [debug] 606684#606684: *2 recv: fd:6 0 of 1024 +2025/08/20 07:18:55 [info] 606684#606684: *2 client 127.0.0.1 closed keepalive connection +2025/08/20 07:18:55 [debug] 606684#606684: *2 close http connection: 6 +2025/08/20 07:18:55 [debug] 606684#606684: *2 event timer del: 6: 255533675 +2025/08/20 07:18:55 [debug] 606684#606684: *2 reusable connection: 0 +2025/08/20 07:18:55 [debug] 606684#606684: *2 free: 00005FE5700220A0 +2025/08/20 07:18:55 [debug] 606684#606684: *2 free: 00005FE57001F840, unused: 120 +2025/08/20 07:18:55 [debug] 606684#606684: timer delta: 2 +2025/08/20 07:18:55 [debug] 606684#606684: worker cycle +2025/08/20 07:18:55 [debug] 606684#606684: epoll timer: -1 +2025/08/20 07:18:55 [debug] 606684#606684: epoll: fd:5 ev:0001 d:00007E7020698010 +2025/08/20 07:18:55 [debug] 606684#606684: accept on 0.0.0.0:9001, ready: 0 +2025/08/20 07:18:55 [debug] 606684#606684: posix_memalign: 00005FE57001F840:512 @16 +2025/08/20 07:18:55 [debug] 606684#606684: *4 accept: 127.0.0.1:53848 fd:6 +2025/08/20 07:18:55 [debug] 606684#606684: *4 event timer add: 6: 60000:255528683 +2025/08/20 07:18:55 [debug] 606684#606684: *4 reusable connection: 1 +2025/08/20 07:18:55 [debug] 606684#606684: *4 epoll add event: fd:6 op:1 ev:80002001 +2025/08/20 07:18:55 [debug] 606684#606684: timer delta: 6 +2025/08/20 07:18:55 [debug] 606684#606684: worker cycle +2025/08/20 07:18:55 [debug] 606684#606684: epoll timer: 60000 +2025/08/20 07:18:55 [debug] 606684#606684: epoll: fd:6 ev:0001 d:00007E70206981E0 +2025/08/20 07:18:55 [debug] 606684#606684: *4 http wait request handler +2025/08/20 07:18:55 [debug] 606684#606684: *4 malloc: 00005FE5700220A0:1024 +2025/08/20 07:18:55 [debug] 606684#606684: *4 recv: eof:0, avail:-1 +2025/08/20 07:18:55 [debug] 606684#606684: *4 recv: fd:6 142 of 1024 +2025/08/20 07:18:55 [debug] 606684#606684: *4 reusable connection: 0 +2025/08/20 07:18:55 [debug] 606684#606684: *4 posix_memalign: 00005FE57003EA30:4096 @16 +2025/08/20 07:18:55 [debug] 606684#606684: *4 http process request line +2025/08/20 07:18:55 [debug] 606684#606684: *4 http request line: "GET /854b92286609bfea60bd5d0a9997f686891ca88bd96fb60e077b3afad2b1d6f9 HTTP/1.1" +2025/08/20 07:18:55 [debug] 606684#606684: *4 http uri: "/854b92286609bfea60bd5d0a9997f686891ca88bd96fb60e077b3afad2b1d6f9" +2025/08/20 07:18:55 [debug] 606684#606684: *4 http args: "" +2025/08/20 07:18:55 [debug] 606684#606684: *4 http exten: "" +2025/08/20 07:18:55 [debug] 606684#606684: *4 posix_memalign: 00005FE570034DA0:4096 @16 +2025/08/20 07:18:55 [debug] 606684#606684: *4 http process request header line +2025/08/20 07:18:55 [debug] 606684#606684: *4 http header: "Host: localhost:9001" +2025/08/20 07:18:55 [debug] 606684#606684: *4 http header: "User-Agent: curl/8.15.0" +2025/08/20 07:18:55 [debug] 606684#606684: *4 http header: "Accept: */*" +2025/08/20 07:18:55 [debug] 606684#606684: *4 http header done +2025/08/20 07:18:55 [debug] 606684#606684: *4 event timer del: 6: 255528683 +2025/08/20 07:18:55 [debug] 606684#606684: *4 generic phase: 0 +2025/08/20 07:18:55 [debug] 606684#606684: *4 rewrite phase: 1 +2025/08/20 07:18:55 [debug] 606684#606684: *4 test location: "/health" +2025/08/20 07:18:55 [debug] 606684#606684: *4 test location: "/debug/list" +2025/08/20 07:18:55 [debug] 606684#606684: *4 test location: "/" +2025/08/20 07:18:55 [debug] 606684#606684: *4 test location: ~ "^/([a-f0-9]{64}).*$" +2025/08/20 07:18:55 [debug] 606684#606684: *4 using configuration "^/([a-f0-9]{64}).*$" +2025/08/20 07:18:55 [debug] 606684#606684: *4 http cl:-1 max:104857600 +2025/08/20 07:18:55 [debug] 606684#606684: *4 rewrite phase: 3 +2025/08/20 07:18:55 [debug] 606684#606684: *4 http script var +2025/08/20 07:18:55 [debug] 606684#606684: *4 http script var: "GET" +2025/08/20 07:18:55 [debug] 606684#606684: *4 http script value: "DELETE" +2025/08/20 07:18:55 [debug] 606684#606684: *4 http script not equal +2025/08/20 07:18:55 [debug] 606684#606684: *4 http script if +2025/08/20 07:18:55 [debug] 606684#606684: *4 http finalize request: 404, "/854b92286609bfea60bd5d0a9997f686891ca88bd96fb60e077b3afad2b1d6f9?" a:1, c:1 +2025/08/20 07:18:55 [debug] 606684#606684: *4 http special response: 404, "/854b92286609bfea60bd5d0a9997f686891ca88bd96fb60e077b3afad2b1d6f9?" +2025/08/20 07:18:55 [debug] 606684#606684: *4 http set discard body +2025/08/20 07:18:55 [debug] 606684#606684: *4 HTTP/1.1 404 Not Found +Server: nginx/1.18.0 (Ubuntu) +Date: Wed, 20 Aug 2025 11:18:55 GMT +Content-Type: text/html +Content-Length: 162 +Connection: keep-alive + +2025/08/20 07:18:55 [debug] 606684#606684: *4 write new buf t:1 f:0 00005FE570035180, pos 00005FE570035180, size: 164 file: 0, size: 0 +2025/08/20 07:18:55 [debug] 606684#606684: *4 http write filter: l:0 f:0 s:164 +2025/08/20 07:18:55 [debug] 606684#606684: *4 http output filter "/854b92286609bfea60bd5d0a9997f686891ca88bd96fb60e077b3afad2b1d6f9?" +2025/08/20 07:18:55 [debug] 606684#606684: *4 http copy filter: "/854b92286609bfea60bd5d0a9997f686891ca88bd96fb60e077b3afad2b1d6f9?" +2025/08/20 07:18:55 [debug] 606684#606684: *4 http postpone filter "/854b92286609bfea60bd5d0a9997f686891ca88bd96fb60e077b3afad2b1d6f9?" 00005FE570035310 +2025/08/20 07:18:55 [debug] 606684#606684: *4 write old buf t:1 f:0 00005FE570035180, pos 00005FE570035180, size: 164 file: 0, size: 0 +2025/08/20 07:18:55 [debug] 606684#606684: *4 write new buf t:0 f:0 0000000000000000, pos 00005FE55B962580, size: 100 file: 0, size: 0 +2025/08/20 07:18:55 [debug] 606684#606684: *4 write new buf t:0 f:0 0000000000000000, pos 00005FE55B962C80, size: 62 file: 0, size: 0 +2025/08/20 07:18:55 [debug] 606684#606684: *4 http write filter: l:1 f:0 s:326 +2025/08/20 07:18:55 [debug] 606684#606684: *4 http write filter limit 0 +2025/08/20 07:18:55 [debug] 606684#606684: *4 writev: 326 of 326 +2025/08/20 07:18:55 [debug] 606684#606684: *4 http write filter 0000000000000000 +2025/08/20 07:18:55 [debug] 606684#606684: *4 http copy filter: 0 "/854b92286609bfea60bd5d0a9997f686891ca88bd96fb60e077b3afad2b1d6f9?" +2025/08/20 07:18:55 [debug] 606684#606684: *4 http finalize request: 0, "/854b92286609bfea60bd5d0a9997f686891ca88bd96fb60e077b3afad2b1d6f9?" a:1, c:1 +2025/08/20 07:18:55 [debug] 606684#606684: *4 set http keepalive handler +2025/08/20 07:18:55 [debug] 606684#606684: *4 http close request +2025/08/20 07:18:55 [debug] 606684#606684: *4 http log handler +2025/08/20 07:18:55 [debug] 606684#606684: *4 free: 00005FE57003EA30, unused: 0 +2025/08/20 07:18:55 [debug] 606684#606684: *4 free: 00005FE570034DA0, unused: 2456 +2025/08/20 07:18:55 [debug] 606684#606684: *4 free: 00005FE5700220A0 +2025/08/20 07:18:55 [debug] 606684#606684: *4 hc free: 0000000000000000 +2025/08/20 07:18:55 [debug] 606684#606684: *4 hc busy: 0000000000000000 0 +2025/08/20 07:18:55 [debug] 606684#606684: *4 tcp_nodelay +2025/08/20 07:18:55 [debug] 606684#606684: *4 reusable connection: 1 +2025/08/20 07:18:55 [debug] 606684#606684: *4 event timer add: 6: 65000:255533684 +2025/08/20 07:18:55 [debug] 606684#606684: timer delta: 1 +2025/08/20 07:18:55 [debug] 606684#606684: worker cycle +2025/08/20 07:18:55 [debug] 606684#606684: epoll timer: 65000 +2025/08/20 07:18:55 [debug] 606684#606684: epoll: fd:6 ev:2001 d:00007E70206981E0 +2025/08/20 07:18:55 [debug] 606684#606684: *4 http keepalive handler +2025/08/20 07:18:55 [debug] 606684#606684: *4 malloc: 00005FE5700220A0:1024 +2025/08/20 07:18:55 [debug] 606684#606684: *4 recv: eof:1, avail:-1 +2025/08/20 07:18:55 [debug] 606684#606684: *4 recv: fd:6 0 of 1024 +2025/08/20 07:18:55 [info] 606684#606684: *4 client 127.0.0.1 closed keepalive connection +2025/08/20 07:18:55 [debug] 606684#606684: *4 close http connection: 6 +2025/08/20 07:18:55 [debug] 606684#606684: *4 event timer del: 6: 255533684 +2025/08/20 07:18:55 [debug] 606684#606684: *4 reusable connection: 0 +2025/08/20 07:18:55 [debug] 606684#606684: *4 free: 00005FE5700220A0 +2025/08/20 07:18:55 [debug] 606684#606684: *4 free: 00005FE57001F840, unused: 136 +2025/08/20 07:18:55 [debug] 606684#606684: timer delta: 0 +2025/08/20 07:18:55 [debug] 606684#606684: worker cycle +2025/08/20 07:18:55 [debug] 606684#606684: epoll timer: -1 +2025/08/20 07:19:52 [debug] 606684#606684: epoll: fd:5 ev:0001 d:00007E7020698010 +2025/08/20 07:19:52 [debug] 606684#606684: accept on 0.0.0.0:9001, ready: 0 +2025/08/20 07:19:52 [debug] 606684#606684: posix_memalign: 00005FE57001F840:512 @16 +2025/08/20 07:19:52 [debug] 606684#606684: *5 accept: 127.0.0.1:55770 fd:6 +2025/08/20 07:19:52 [debug] 606684#606684: *5 event timer add: 6: 60000:255585480 +2025/08/20 07:19:52 [debug] 606684#606684: *5 reusable connection: 1 +2025/08/20 07:19:52 [debug] 606684#606684: *5 epoll add event: fd:6 op:1 ev:80002001 +2025/08/20 07:19:52 [debug] 606684#606684: timer delta: 56796 +2025/08/20 07:19:52 [debug] 606684#606684: worker cycle +2025/08/20 07:19:52 [debug] 606684#606684: epoll timer: 60000 +2025/08/20 07:19:52 [debug] 606684#606684: epoll: fd:6 ev:0001 d:00007E70206981E1 +2025/08/20 07:19:52 [debug] 606684#606684: *5 http wait request handler +2025/08/20 07:19:52 [debug] 606684#606684: *5 malloc: 00005FE5700220A0:1024 +2025/08/20 07:19:52 [debug] 606684#606684: *5 recv: eof:0, avail:-1 +2025/08/20 07:19:52 [debug] 606684#606684: *5 recv: fd:6 143 of 1024 +2025/08/20 07:19:52 [debug] 606684#606684: *5 reusable connection: 0 +2025/08/20 07:19:52 [debug] 606684#606684: *5 posix_memalign: 00005FE57003EA30:4096 @16 +2025/08/20 07:19:52 [debug] 606684#606684: *5 http process request line +2025/08/20 07:19:52 [debug] 606684#606684: *5 http request line: "HEAD /9561605b1062ce37e95ab9b81d300d9ad5bfb9c544ae395e1eb41f000c7d89f6 HTTP/1.1" +2025/08/20 07:19:52 [debug] 606684#606684: *5 http uri: "/9561605b1062ce37e95ab9b81d300d9ad5bfb9c544ae395e1eb41f000c7d89f6" +2025/08/20 07:19:52 [debug] 606684#606684: *5 http args: "" +2025/08/20 07:19:52 [debug] 606684#606684: *5 http exten: "" +2025/08/20 07:19:52 [debug] 606684#606684: *5 posix_memalign: 00005FE570034DA0:4096 @16 +2025/08/20 07:19:52 [debug] 606684#606684: *5 http process request header line +2025/08/20 07:19:52 [debug] 606684#606684: *5 http header: "Host: localhost:9001" +2025/08/20 07:19:52 [debug] 606684#606684: *5 http header: "User-Agent: curl/8.15.0" +2025/08/20 07:19:52 [debug] 606684#606684: *5 http header: "Accept: */*" +2025/08/20 07:19:52 [debug] 606684#606684: *5 http header done +2025/08/20 07:19:52 [debug] 606684#606684: *5 event timer del: 6: 255585480 +2025/08/20 07:19:52 [debug] 606684#606684: *5 generic phase: 0 +2025/08/20 07:19:52 [debug] 606684#606684: *5 rewrite phase: 1 +2025/08/20 07:19:52 [debug] 606684#606684: *5 test location: "/health" +2025/08/20 07:19:52 [debug] 606684#606684: *5 test location: "/debug/list" +2025/08/20 07:19:52 [debug] 606684#606684: *5 test location: "/" +2025/08/20 07:19:52 [debug] 606684#606684: *5 test location: ~ "^/([a-f0-9]{64}).*$" +2025/08/20 07:19:52 [debug] 606684#606684: *5 using configuration "^/([a-f0-9]{64}).*$" +2025/08/20 07:19:52 [debug] 606684#606684: *5 http cl:-1 max:104857600 +2025/08/20 07:19:52 [debug] 606684#606684: *5 rewrite phase: 3 +2025/08/20 07:19:52 [debug] 606684#606684: *5 http script var +2025/08/20 07:19:52 [debug] 606684#606684: *5 http script var: "HEAD" +2025/08/20 07:19:52 [debug] 606684#606684: *5 http script value: "DELETE" +2025/08/20 07:19:52 [debug] 606684#606684: *5 http script not equal +2025/08/20 07:19:52 [debug] 606684#606684: *5 http script if +2025/08/20 07:19:52 [debug] 606684#606684: *5 http finalize request: 404, "/9561605b1062ce37e95ab9b81d300d9ad5bfb9c544ae395e1eb41f000c7d89f6?" a:1, c:1 +2025/08/20 07:19:52 [debug] 606684#606684: *5 http special response: 404, "/9561605b1062ce37e95ab9b81d300d9ad5bfb9c544ae395e1eb41f000c7d89f6?" +2025/08/20 07:19:52 [debug] 606684#606684: *5 http set discard body +2025/08/20 07:19:52 [debug] 606684#606684: *5 HTTP/1.1 404 Not Found +Server: nginx/1.18.0 (Ubuntu) +Date: Wed, 20 Aug 2025 11:19:52 GMT +Content-Type: text/html +Content-Length: 162 +Connection: keep-alive + +2025/08/20 07:19:52 [debug] 606684#606684: *5 write new buf t:1 f:0 00005FE570035180, pos 00005FE570035180, size: 164 file: 0, size: 0 +2025/08/20 07:19:52 [debug] 606684#606684: *5 http write filter: l:1 f:0 s:164 +2025/08/20 07:19:52 [debug] 606684#606684: *5 http write filter limit 0 +2025/08/20 07:19:52 [debug] 606684#606684: *5 writev: 164 of 164 +2025/08/20 07:19:52 [debug] 606684#606684: *5 http write filter 0000000000000000 +2025/08/20 07:19:52 [debug] 606684#606684: *5 http finalize request: 0, "/9561605b1062ce37e95ab9b81d300d9ad5bfb9c544ae395e1eb41f000c7d89f6?" a:1, c:1 +2025/08/20 07:19:52 [debug] 606684#606684: *5 set http keepalive handler +2025/08/20 07:19:52 [debug] 606684#606684: *5 http close request +2025/08/20 07:19:52 [debug] 606684#606684: *5 http log handler +2025/08/20 07:19:52 [debug] 606684#606684: *5 free: 00005FE57003EA30, unused: 80 +2025/08/20 07:19:52 [debug] 606684#606684: *5 free: 00005FE570034DA0, unused: 2738 +2025/08/20 07:19:52 [debug] 606684#606684: *5 free: 00005FE5700220A0 +2025/08/20 07:19:52 [debug] 606684#606684: *5 hc free: 0000000000000000 +2025/08/20 07:19:52 [debug] 606684#606684: *5 hc busy: 0000000000000000 0 +2025/08/20 07:19:52 [debug] 606684#606684: *5 tcp_nodelay +2025/08/20 07:19:52 [debug] 606684#606684: *5 reusable connection: 1 +2025/08/20 07:19:52 [debug] 606684#606684: *5 event timer add: 6: 65000:255590480 +2025/08/20 07:19:52 [debug] 606684#606684: timer delta: 0 +2025/08/20 07:19:52 [debug] 606684#606684: worker cycle +2025/08/20 07:19:52 [debug] 606684#606684: epoll timer: 65000 +2025/08/20 07:19:52 [debug] 606684#606684: epoll: fd:6 ev:2001 d:00007E70206981E1 +2025/08/20 07:19:52 [debug] 606684#606684: *5 http keepalive handler +2025/08/20 07:19:52 [debug] 606684#606684: *5 malloc: 00005FE5700220A0:1024 +2025/08/20 07:19:52 [debug] 606684#606684: *5 recv: eof:1, avail:-1 +2025/08/20 07:19:52 [debug] 606684#606684: *5 recv: fd:6 0 of 1024 +2025/08/20 07:19:52 [info] 606684#606684: *5 client 127.0.0.1 closed keepalive connection +2025/08/20 07:19:52 [debug] 606684#606684: *5 close http connection: 6 +2025/08/20 07:19:52 [debug] 606684#606684: *5 event timer del: 6: 255590480 +2025/08/20 07:19:52 [debug] 606684#606684: *5 reusable connection: 0 +2025/08/20 07:19:52 [debug] 606684#606684: *5 free: 00005FE5700220A0 +2025/08/20 07:19:52 [debug] 606684#606684: *5 free: 00005FE57001F840, unused: 136 +2025/08/20 07:19:52 [debug] 606684#606684: timer delta: 1 +2025/08/20 07:19:52 [debug] 606684#606684: worker cycle +2025/08/20 07:19:52 [debug] 606684#606684: epoll timer: -1 +2025/08/20 07:22:17 [notice] 606683#606683: signal 15 (SIGTERM) received from 607010, exiting +2025/08/20 07:22:17 [debug] 606683#606683: wake up, sigio 0 +2025/08/20 07:22:17 [debug] 606683#606683: child: 0 606684 e:0 t:0 d:0 r:1 j:0 +2025/08/20 07:22:17 [debug] 606683#606683: termination cycle: 50 +2025/08/20 07:22:17 [debug] 606683#606683: sigsuspend +2025/08/20 07:22:17 [debug] 606684#606684: epoll: fd:7 ev:0001 d:00007E70206980F8 +2025/08/20 07:22:17 [debug] 606684#606684: channel handler +2025/08/20 07:22:17 [debug] 606684#606684: channel: 32 +2025/08/20 07:22:17 [debug] 606684#606684: channel command: 4 +2025/08/20 07:22:17 [debug] 606684#606684: channel: -2 +2025/08/20 07:22:17 [debug] 606684#606684: timer delta: 145233 +2025/08/20 07:22:17 [notice] 606684#606684: exiting +2025/08/20 07:22:17 [debug] 606684#606684: flush files +2025/08/20 07:22:17 [debug] 606684#606684: run cleanup: 00005FE57006DA80 +2025/08/20 07:22:17 [debug] 606684#606684: run cleanup: 00005FE570060A18 +2025/08/20 07:22:17 [debug] 606684#606684: cleanup resolver +2025/08/20 07:22:17 [debug] 606684#606684: free: 00005FE57006EDE0 +2025/08/20 07:22:17 [debug] 606684#606684: free: 00005FE570061BE0 +2025/08/20 07:22:17 [debug] 606684#606684: free: 00005FE570040B50 +2025/08/20 07:22:17 [debug] 606684#606684: free: 00005FE57003FA40 +2025/08/20 07:22:17 [debug] 606684#606684: free: 00005FE570039A10 +2025/08/20 07:22:17 [debug] 606684#606684: free: 00005FE570038950 +2025/08/20 07:22:17 [debug] 606684#606684: free: 00005FE570037890 +2025/08/20 07:22:17 [debug] 606684#606684: free: 00005FE5700367D0 +2025/08/20 07:22:17 [debug] 606684#606684: free: 00005FE57002E170 +2025/08/20 07:22:17 [debug] 606684#606684: free: 00005FE570025140, unused: 0 +2025/08/20 07:22:17 [debug] 606684#606684: free: 00005FE57002F580, unused: 0 +2025/08/20 07:22:17 [debug] 606684#606684: free: 00005FE57003AA20, unused: 0 +2025/08/20 07:22:17 [debug] 606684#606684: free: 00005FE570041B60, unused: 0 +2025/08/20 07:22:17 [debug] 606684#606684: free: 00005FE570045B70, unused: 0 +2025/08/20 07:22:17 [debug] 606684#606684: free: 00005FE570049B80, unused: 0 +2025/08/20 07:22:17 [debug] 606684#606684: free: 00005FE57004DB90, unused: 0 +2025/08/20 07:22:17 [debug] 606684#606684: free: 00005FE570051BA0, unused: 0 +2025/08/20 07:22:17 [debug] 606684#606684: free: 00005FE570055BB0, unused: 0 +2025/08/20 07:22:17 [debug] 606684#606684: free: 00005FE570059BC0, unused: 0 +2025/08/20 07:22:17 [debug] 606684#606684: free: 00005FE57005DBD0, unused: 0 +2025/08/20 07:22:17 [debug] 606684#606684: free: 00005FE570062DB0, unused: 0 +2025/08/20 07:22:17 [debug] 606684#606684: free: 00005FE570066DC0, unused: 0 +2025/08/20 07:22:17 [debug] 606684#606684: free: 00005FE57006ADD0, unused: 4920 +2025/08/20 07:22:17 [notice] 606684#606684: exit +2025/08/20 07:22:17 [notice] 606683#606683: signal 17 (SIGCHLD) received from 606684 +2025/08/20 07:22:17 [notice] 606683#606683: worker process 606684 exited with code 0 +2025/08/20 07:22:17 [debug] 606683#606683: shmtx forced unlock +2025/08/20 07:22:17 [debug] 606683#606683: wake up, sigio 3 +2025/08/20 07:22:17 [debug] 606683#606683: reap children +2025/08/20 07:22:17 [debug] 606683#606683: child: 0 606684 e:1 t:1 d:0 r:1 j:0 +2025/08/20 07:22:17 [notice] 606683#606683: exit +2025/08/20 07:22:17 [debug] 606683#606683: close listening 0.0.0.0:9001 #5 +2025/08/20 07:22:17 [debug] 606683#606683: run cleanup: 00005FE570060A18 +2025/08/20 07:22:17 [debug] 606683#606683: cleanup resolver +2025/08/20 07:22:17 [debug] 606683#606683: free: 00005FE57006EDE0 +2025/08/20 07:22:17 [debug] 606683#606683: free: 00005FE570061BE0 +2025/08/20 07:22:17 [debug] 606683#606683: free: 00005FE570040B50 +2025/08/20 07:22:17 [debug] 606683#606683: free: 00005FE57003FA40 +2025/08/20 07:22:17 [debug] 606683#606683: free: 00005FE570039A10 +2025/08/20 07:22:17 [debug] 606683#606683: free: 00005FE570038950 +2025/08/20 07:22:17 [debug] 606683#606683: free: 00005FE570037890 +2025/08/20 07:22:17 [debug] 606683#606683: free: 00005FE5700367D0 +2025/08/20 07:22:17 [debug] 606683#606683: free: 00005FE57002E170 +2025/08/20 07:22:17 [debug] 606683#606683: free: 00005FE570025140, unused: 0 +2025/08/20 07:22:17 [debug] 606683#606683: free: 00005FE57002F580, unused: 0 +2025/08/20 07:22:17 [debug] 606683#606683: free: 00005FE57003AA20, unused: 0 +2025/08/20 07:22:17 [debug] 606683#606683: free: 00005FE570041B60, unused: 0 +2025/08/20 07:22:17 [debug] 606683#606683: free: 00005FE570045B70, unused: 0 +2025/08/20 07:22:17 [debug] 606683#606683: free: 00005FE570049B80, unused: 0 +2025/08/20 07:22:17 [debug] 606683#606683: free: 00005FE57004DB90, unused: 0 +2025/08/20 07:22:17 [debug] 606683#606683: free: 00005FE570051BA0, unused: 0 +2025/08/20 07:22:17 [debug] 606683#606683: free: 00005FE570055BB0, unused: 0 +2025/08/20 07:22:17 [debug] 606683#606683: free: 00005FE570059BC0, unused: 0 +2025/08/20 07:22:17 [debug] 606683#606683: free: 00005FE57005DBD0, unused: 0 +2025/08/20 07:22:17 [debug] 606683#606683: free: 00005FE570062DB0, unused: 0 +2025/08/20 07:22:17 [debug] 606683#606683: free: 00005FE570066DC0, unused: 0 +2025/08/20 07:22:17 [debug] 606683#606683: free: 00005FE57006ADD0, unused: 4951 +2025/08/20 07:22:20 [debug] 607046#607046: bind() 0.0.0.0:9001 #5 +2025/08/20 07:22:20 [debug] 607046#607046: counter: 00007957D89F7080, 1 +2025/08/20 07:22:20 [debug] 607047#607047: bind() 0.0.0.0:9001 #5 +2025/08/20 07:22:20 [notice] 607047#607047: using the "epoll" event method +2025/08/20 07:22:20 [debug] 607047#607047: counter: 00007946B6E9B080, 1 +2025/08/20 07:22:20 [notice] 607047#607047: nginx/1.18.0 (Ubuntu) +2025/08/20 07:22:20 [notice] 607047#607047: OS: Linux 6.12.10-76061203-generic +2025/08/20 07:22:20 [notice] 607047#607047: getrlimit(RLIMIT_NOFILE): 1048576:1048576 +2025/08/20 07:22:20 [debug] 607048#607047: write: 6, 00007FFE5DE3F6D0, 7, 0 +2025/08/20 07:22:20 [debug] 607048#607048: setproctitle: "nginx: master process nginx -p . -c config/local-nginx.conf" +2025/08/20 07:22:20 [notice] 607048#607048: start worker processes +2025/08/20 07:22:20 [debug] 607048#607048: channel 6:7 +2025/08/20 07:22:20 [notice] 607048#607048: start worker process 607049 +2025/08/20 07:22:20 [debug] 607048#607048: sigsuspend +2025/08/20 07:22:20 [debug] 607049#607049: add cleanup: 00005D8319AD8A80 +2025/08/20 07:22:20 [debug] 607049#607049: malloc: 00005D8319A8BBD0:8 +2025/08/20 07:22:20 [debug] 607049#607049: notify eventfd: 9 +2025/08/20 07:22:20 [debug] 607049#607049: testing the EPOLLRDHUP flag: success +2025/08/20 07:22:20 [debug] 607049#607049: malloc: 00005D8319A9E590:6144 +2025/08/20 07:22:20 [debug] 607049#607049: malloc: 00007946B6C93010:237568 +2025/08/20 07:22:20 [debug] 607049#607049: malloc: 00005D8319ADB6B0:98304 +2025/08/20 07:22:20 [debug] 607049#607049: malloc: 00005D8319AF36C0:98304 +2025/08/20 07:22:20 [debug] 607049#607049: epoll add event: fd:5 op:1 ev:00002001 +2025/08/20 07:22:20 [debug] 607049#607049: epoll add event: fd:7 op:1 ev:00002001 +2025/08/20 07:22:20 [debug] 607049#607049: setproctitle: "nginx: worker process" +2025/08/20 07:22:20 [debug] 607049#607049: worker cycle +2025/08/20 07:22:20 [debug] 607049#607049: epoll timer: -1 +2025/08/20 07:23:47 [debug] 607049#607049: epoll: fd:5 ev:0001 d:00007946B6C93010 +2025/08/20 07:23:47 [debug] 607049#607049: accept on 0.0.0.0:9001, ready: 0 +2025/08/20 07:23:47 [debug] 607049#607049: posix_memalign: 00005D8319A8A840:512 @16 +2025/08/20 07:23:47 [debug] 607049#607049: *1 accept: 127.0.0.1:33128 fd:6 +2025/08/20 07:23:47 [debug] 607049#607049: *1 event timer add: 6: 60000:255820743 +2025/08/20 07:23:47 [debug] 607049#607049: *1 reusable connection: 1 +2025/08/20 07:23:47 [debug] 607049#607049: *1 epoll add event: fd:6 op:1 ev:80002001 +2025/08/20 07:23:47 [debug] 607049#607049: timer delta: 86799 +2025/08/20 07:23:47 [debug] 607049#607049: worker cycle +2025/08/20 07:23:47 [debug] 607049#607049: epoll timer: 60000 +2025/08/20 07:23:47 [debug] 607049#607049: epoll: fd:6 ev:0001 d:00007946B6C931E0 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http wait request handler +2025/08/20 07:23:47 [debug] 607049#607049: *1 malloc: 00005D8319A8D0A0:1024 +2025/08/20 07:23:47 [debug] 607049#607049: *1 recv: eof:0, avail:-1 +2025/08/20 07:23:47 [debug] 607049#607049: *1 recv: fd:6 782 of 1024 +2025/08/20 07:23:47 [debug] 607049#607049: *1 reusable connection: 0 +2025/08/20 07:23:47 [debug] 607049#607049: *1 posix_memalign: 00005D8319AA9A30:4096 @16 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http process request line +2025/08/20 07:23:47 [debug] 607049#607049: *1 http request line: "PUT /upload HTTP/1.1" +2025/08/20 07:23:47 [debug] 607049#607049: *1 http uri: "/upload" +2025/08/20 07:23:47 [debug] 607049#607049: *1 http args: "" +2025/08/20 07:23:47 [debug] 607049#607049: *1 http exten: "" +2025/08/20 07:23:47 [debug] 607049#607049: *1 posix_memalign: 00005D8319A9FDA0:4096 @16 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http process request header line +2025/08/20 07:23:47 [debug] 607049#607049: *1 http header: "Host: localhost:9001" +2025/08/20 07:23:47 [debug] 607049#607049: *1 http header: "User-Agent: curl/8.15.0" +2025/08/20 07:23:47 [debug] 607049#607049: *1 http header: "Accept: */*" +2025/08/20 07:23:47 [debug] 607049#607049: *1 http header: "Content-Type: text/plain" +2025/08/20 07:23:47 [debug] 607049#607049: *1 http header: "Authorization: Nostr eyJraW5kIjoyNDI0MiwiaWQiOiI5NTYxNjA1YjEwNjJjZTM3ZTk1YWI5YjgxZDMwMGQ5YWQ1YmZiOWM1NDRhZTM5NWUxZWI0MWYwMDBjN2Q4OWY2IiwicHVia2V5IjoiNzliZTY2N2VmOWRjYmJhYzU1YTA2Mjk1Y2U4NzBiMDcwMjliZmNkYjJkY2UyOGQ5NTlmMjgxNWIxNmY4MTc5OCIsImNyZWF0ZWRfYXQiOjE3NTU2ODU0MjgsInRhZ3MiOltbInQiLCJ1cGxvYWQiXSxbIngiLCI4NDcxNjE3MWJhYjE2YWQwMjFiZDg5NTMwNTAxODlmZTYwNzU5MTc0MzZjZDExY2M5MzNmMDIxYmJjNWQ1YjBiIl0sWyJleHBpcmF0aW9uIiwiMTc1NTY4OTAyOCJdXSwiY29udGVudCI6IiIsInNpZyI6Ijk1MzE2YWI3NWY4ZDAyYmI5OTVhMTI0OGMyNzRiOTlmOWJjNWRjMGFmNTY0OWU2OTQ5MDE1ZDA2OTkwNGQ0YmRmM2EzYzc5NDI3YWM4MjQ1Njk4NmEyZTkzN2IxZDI1YjZkMmVlOGVlMWU0NDZhODQ5Y2IxOTc3NGRmOTQ4ZWFkIn0=" +2025/08/20 07:23:47 [debug] 607049#607049: *1 http header: "Content-Length: 13" +2025/08/20 07:23:47 [debug] 607049#607049: *1 http header done +2025/08/20 07:23:47 [debug] 607049#607049: *1 event timer del: 6: 255820743 +2025/08/20 07:23:47 [debug] 607049#607049: *1 generic phase: 0 +2025/08/20 07:23:47 [debug] 607049#607049: *1 rewrite phase: 1 +2025/08/20 07:23:47 [debug] 607049#607049: *1 test location: "/health" +2025/08/20 07:23:47 [debug] 607049#607049: *1 test location: "/upload" +2025/08/20 07:23:47 [debug] 607049#607049: *1 test location: ~ "^/([a-f0-9]{64}).*$" +2025/08/20 07:23:47 [debug] 607049#607049: *1 test location: ~ "^/([a-f0-9]{64})(\.[a-zA-Z0-9]+)?$" +2025/08/20 07:23:47 [debug] 607049#607049: *1 test location: ~ "^/fcgi-head/([a-f0-9]{64}).*$" +2025/08/20 07:23:47 [debug] 607049#607049: *1 test location: ~ "^/list/([a-f0-9]{64}).*$" +2025/08/20 07:23:47 [debug] 607049#607049: *1 using configuration "/upload" +2025/08/20 07:23:47 [debug] 607049#607049: *1 http cl:13 max:104857600 +2025/08/20 07:23:47 [debug] 607049#607049: *1 rewrite phase: 3 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http script var +2025/08/20 07:23:47 [debug] 607049#607049: *1 http script var: "PUT" +2025/08/20 07:23:47 [debug] 607049#607049: *1 http script regex: "^(PUT)$" +2025/08/20 07:23:47 [notice] 607049#607049: *1 "^(PUT)$" matches "PUT", client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", host: "localhost:9001" +2025/08/20 07:23:47 [debug] 607049#607049: *1 http script if +2025/08/20 07:23:47 [debug] 607049#607049: *1 http script if: false +2025/08/20 07:23:47 [debug] 607049#607049: *1 post rewrite phase: 4 +2025/08/20 07:23:47 [debug] 607049#607049: *1 generic phase: 5 +2025/08/20 07:23:47 [debug] 607049#607049: *1 generic phase: 6 +2025/08/20 07:23:47 [debug] 607049#607049: *1 generic phase: 7 +2025/08/20 07:23:47 [debug] 607049#607049: *1 access phase: 8 +2025/08/20 07:23:47 [debug] 607049#607049: *1 access phase: 9 +2025/08/20 07:23:47 [debug] 607049#607049: *1 access phase: 10 +2025/08/20 07:23:47 [debug] 607049#607049: *1 post access phase: 11 +2025/08/20 07:23:47 [debug] 607049#607049: *1 generic phase: 12 +2025/08/20 07:23:47 [debug] 607049#607049: *1 generic phase: 13 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http client request body preread 13 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http request body content length filter +2025/08/20 07:23:47 [debug] 607049#607049: *1 http body new buf t:1 f:0 00005D8319A8D3A1, pos 00005D8319A8D3A1, size: 13 file: 0, size: 0 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http init upstream, client timer: 0 +2025/08/20 07:23:47 [debug] 607049#607049: *1 epoll add event: fd:6 op:3 ev:80002005 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http script copy: "QUERY_STRING" +2025/08/20 07:23:47 [debug] 607049#607049: *1 fastcgi param: "QUERY_STRING: " +2025/08/20 07:23:47 [debug] 607049#607049: *1 http script copy: "REQUEST_METHOD" +2025/08/20 07:23:47 [debug] 607049#607049: *1 http script var: "PUT" +2025/08/20 07:23:47 [debug] 607049#607049: *1 fastcgi param: "REQUEST_METHOD: PUT" +2025/08/20 07:23:47 [debug] 607049#607049: *1 http script copy: "CONTENT_TYPE" +2025/08/20 07:23:47 [debug] 607049#607049: *1 http script var: "text/plain" +2025/08/20 07:23:47 [debug] 607049#607049: *1 fastcgi param: "CONTENT_TYPE: text/plain" +2025/08/20 07:23:47 [debug] 607049#607049: *1 http script copy: "CONTENT_LENGTH" +2025/08/20 07:23:47 [debug] 607049#607049: *1 http script var: "13" +2025/08/20 07:23:47 [debug] 607049#607049: *1 fastcgi param: "CONTENT_LENGTH: 13" +2025/08/20 07:23:47 [debug] 607049#607049: *1 http script copy: "SCRIPT_NAME" +2025/08/20 07:23:47 [debug] 607049#607049: *1 http script var: "/upload" +2025/08/20 07:23:47 [debug] 607049#607049: *1 fastcgi param: "SCRIPT_NAME: /upload" +2025/08/20 07:23:47 [debug] 607049#607049: *1 http script copy: "REQUEST_URI" +2025/08/20 07:23:47 [debug] 607049#607049: *1 http script var: "/upload" +2025/08/20 07:23:47 [debug] 607049#607049: *1 fastcgi param: "REQUEST_URI: /upload" +2025/08/20 07:23:47 [debug] 607049#607049: *1 http script copy: "DOCUMENT_URI" +2025/08/20 07:23:47 [debug] 607049#607049: *1 http script var: "/upload" +2025/08/20 07:23:47 [debug] 607049#607049: *1 fastcgi param: "DOCUMENT_URI: /upload" +2025/08/20 07:23:47 [debug] 607049#607049: *1 http script copy: "DOCUMENT_ROOT" +2025/08/20 07:23:47 [debug] 607049#607049: *1 http script var: "./blobs" +2025/08/20 07:23:47 [debug] 607049#607049: *1 fastcgi param: "DOCUMENT_ROOT: ./blobs" +2025/08/20 07:23:47 [debug] 607049#607049: *1 http script copy: "SERVER_PROTOCOL" +2025/08/20 07:23:47 [debug] 607049#607049: *1 http script var: "HTTP/1.1" +2025/08/20 07:23:47 [debug] 607049#607049: *1 fastcgi param: "SERVER_PROTOCOL: HTTP/1.1" +2025/08/20 07:23:47 [debug] 607049#607049: *1 http script copy: "REQUEST_SCHEME" +2025/08/20 07:23:47 [debug] 607049#607049: *1 http script var: "http" +2025/08/20 07:23:47 [debug] 607049#607049: *1 fastcgi param: "REQUEST_SCHEME: http" +2025/08/20 07:23:47 [debug] 607049#607049: *1 http script copy: "" +2025/08/20 07:23:47 [debug] 607049#607049: *1 http script copy: "GATEWAY_INTERFACE" +2025/08/20 07:23:47 [debug] 607049#607049: *1 http script copy: "CGI/1.1" +2025/08/20 07:23:47 [debug] 607049#607049: *1 fastcgi param: "GATEWAY_INTERFACE: CGI/1.1" +2025/08/20 07:23:47 [debug] 607049#607049: *1 http script copy: "SERVER_SOFTWARE" +2025/08/20 07:23:47 [debug] 607049#607049: *1 http script copy: "nginx/" +2025/08/20 07:23:47 [debug] 607049#607049: *1 http script var: "1.18.0" +2025/08/20 07:23:47 [debug] 607049#607049: *1 fastcgi param: "SERVER_SOFTWARE: nginx/1.18.0" +2025/08/20 07:23:47 [debug] 607049#607049: *1 http script copy: "REMOTE_ADDR" +2025/08/20 07:23:47 [debug] 607049#607049: *1 http script var: "127.0.0.1" +2025/08/20 07:23:47 [debug] 607049#607049: *1 fastcgi param: "REMOTE_ADDR: 127.0.0.1" +2025/08/20 07:23:47 [debug] 607049#607049: *1 http script copy: "REMOTE_PORT" +2025/08/20 07:23:47 [debug] 607049#607049: *1 http script var: "33128" +2025/08/20 07:23:47 [debug] 607049#607049: *1 fastcgi param: "REMOTE_PORT: 33128" +2025/08/20 07:23:47 [debug] 607049#607049: *1 http script copy: "SERVER_ADDR" +2025/08/20 07:23:47 [debug] 607049#607049: *1 http script var: "127.0.0.1" +2025/08/20 07:23:47 [debug] 607049#607049: *1 fastcgi param: "SERVER_ADDR: 127.0.0.1" +2025/08/20 07:23:47 [debug] 607049#607049: *1 http script copy: "SERVER_PORT" +2025/08/20 07:23:47 [debug] 607049#607049: *1 http script var: "9001" +2025/08/20 07:23:47 [debug] 607049#607049: *1 fastcgi param: "SERVER_PORT: 9001" +2025/08/20 07:23:47 [debug] 607049#607049: *1 http script copy: "SERVER_NAME" +2025/08/20 07:23:47 [debug] 607049#607049: *1 http script var: "localhost" +2025/08/20 07:23:47 [debug] 607049#607049: *1 fastcgi param: "SERVER_NAME: localhost" +2025/08/20 07:23:47 [debug] 607049#607049: *1 http script copy: "REDIRECT_STATUS" +2025/08/20 07:23:47 [debug] 607049#607049: *1 http script copy: "200" +2025/08/20 07:23:47 [debug] 607049#607049: *1 fastcgi param: "REDIRECT_STATUS: 200" +2025/08/20 07:23:47 [debug] 607049#607049: *1 http script copy: "SCRIPT_FILENAME" +2025/08/20 07:23:47 [debug] 607049#607049: *1 http script var: "./blobs" +2025/08/20 07:23:47 [debug] 607049#607049: *1 http script copy: "/ginxsom.fcgi" +2025/08/20 07:23:47 [debug] 607049#607049: *1 fastcgi param: "SCRIPT_FILENAME: ./blobs/ginxsom.fcgi" +2025/08/20 07:23:47 [debug] 607049#607049: *1 fastcgi param: "HTTP_HOST: localhost:9001" +2025/08/20 07:23:47 [debug] 607049#607049: *1 fastcgi param: "HTTP_USER_AGENT: curl/8.15.0" +2025/08/20 07:23:47 [debug] 607049#607049: *1 fastcgi param: "HTTP_ACCEPT: */*" +2025/08/20 07:23:47 [debug] 607049#607049: *1 fastcgi param: "HTTP_CONTENT_TYPE: text/plain" +2025/08/20 07:23:47 [debug] 607049#607049: *1 fastcgi param: "HTTP_AUTHORIZATION: Nostr eyJraW5kIjoyNDI0MiwiaWQiOiI5NTYxNjA1YjEwNjJjZTM3ZTk1YWI5YjgxZDMwMGQ5YWQ1YmZiOWM1NDRhZTM5NWUxZWI0MWYwMDBjN2Q4OWY2IiwicHVia2V5IjoiNzliZTY2N2VmOWRjYmJhYzU1YTA2Mjk1Y2U4NzBiMDcwMjliZmNkYjJkY2UyOGQ5NTlmMjgxNWIxNmY4MTc5OCIsImNyZWF0ZWRfYXQiOjE3NTU2ODU0MjgsInRhZ3MiOltbInQiLCJ1cGxvYWQiXSxbIngiLCI4NDcxNjE3MWJhYjE2YWQwMjFiZDg5NTMwNTAxODlmZTYwNzU5MTc0MzZjZDExY2M5MzNmMDIxYmJjNWQ1YjBiIl0sWyJleHBpcmF0aW9uIiwiMTc1NTY4OTAyOCJdXSwiY29udGVudCI6IiIsInNpZyI6Ijk1MzE2YWI3NWY4ZDAyYmI5OTVhMTI0OGMyNzRiOTlmOWJjNWRjMGFmNTY0OWU2OTQ5MDE1ZDA2OTkwNGQ0YmRmM2EzYzc5NDI3YWM4MjQ1Njk4NmEyZTkzN2IxZDI1YjZkMmVlOGVlMWU0NDZhODQ5Y2IxOTc3NGRmOTQ4ZWFkIn0=" +2025/08/20 07:23:47 [debug] 607049#607049: *1 fastcgi param: "HTTP_CONTENT_LENGTH: 13" +2025/08/20 07:23:47 [debug] 607049#607049: *1 posix_memalign: 00005D8319A94150:4096 @16 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http cleanup add: 00005D8319AA0D88 +2025/08/20 07:23:47 [debug] 607049#607049: *1 get rr peer, try: 1 +2025/08/20 07:23:47 [debug] 607049#607049: *1 stream socket 10 +2025/08/20 07:23:47 [debug] 607049#607049: *1 epoll add connection: fd:10 ev:80002005 +2025/08/20 07:23:47 [debug] 607049#607049: *1 connect to unix:/tmp/ginxsom-fcgi.sock, fd:10 #2 +2025/08/20 07:23:47 [debug] 607049#607049: *1 connected +2025/08/20 07:23:47 [debug] 607049#607049: *1 http upstream connect: 0 +2025/08/20 07:23:47 [debug] 607049#607049: *1 posix_memalign: 00005D8319A73F20:128 @16 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http upstream send request +2025/08/20 07:23:47 [debug] 607049#607049: *1 http upstream send request body +2025/08/20 07:23:47 [debug] 607049#607049: *1 chain writer buf fl:0 s:1224 +2025/08/20 07:23:47 [debug] 607049#607049: *1 chain writer buf fl:0 s:13 +2025/08/20 07:23:47 [debug] 607049#607049: *1 chain writer buf fl:0 s:11 +2025/08/20 07:23:47 [debug] 607049#607049: *1 chain writer in: 00005D8319A94288 +2025/08/20 07:23:47 [debug] 607049#607049: *1 writev: 1248 of 1248 +2025/08/20 07:23:47 [debug] 607049#607049: *1 chain writer out: 0000000000000000 +2025/08/20 07:23:47 [debug] 607049#607049: *1 event timer add: 10: 60000:255820743 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http finalize request: -4, "/upload?" a:1, c:2 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http request count:2 blk:0 +2025/08/20 07:23:47 [debug] 607049#607049: timer delta: 0 +2025/08/20 07:23:47 [debug] 607049#607049: worker cycle +2025/08/20 07:23:47 [debug] 607049#607049: epoll timer: 60000 +2025/08/20 07:23:47 [debug] 607049#607049: epoll: fd:6 ev:0004 d:00007946B6C931E0 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http run request: "/upload?" +2025/08/20 07:23:47 [debug] 607049#607049: *1 http upstream check client, write event:1, "/upload" +2025/08/20 07:23:47 [debug] 607049#607049: epoll: fd:10 ev:0004 d:00007946B6C932C8 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http upstream request: "/upload?" +2025/08/20 07:23:47 [debug] 607049#607049: *1 http upstream dummy handler +2025/08/20 07:23:47 [debug] 607049#607049: timer delta: 1 +2025/08/20 07:23:47 [debug] 607049#607049: worker cycle +2025/08/20 07:23:47 [debug] 607049#607049: epoll timer: 59999 +2025/08/20 07:23:47 [debug] 607049#607049: epoll: fd:10 ev:0005 d:00007946B6C932C8 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http upstream request: "/upload?" +2025/08/20 07:23:47 [debug] 607049#607049: *1 http upstream process header +2025/08/20 07:23:47 [debug] 607049#607049: *1 malloc: 00005D8319A95160:4096 +2025/08/20 07:23:47 [debug] 607049#607049: *1 recv: eof:0, avail:-1 +2025/08/20 07:23:47 [debug] 607049#607049: *1 recv: fd:10 3072 of 4096 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http fastcgi record byte: 01 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http fastcgi record byte: 07 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http fastcgi record byte: 00 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http fastcgi record byte: 01 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http fastcgi record byte: 01 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http fastcgi record byte: F8 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http fastcgi record byte: 00 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http fastcgi record byte: 00 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http fastcgi record length: 504 +2025/08/20 07:23:47 [error] 607049#607049: *1 FastCGI sent in stderr: "═══════════════════════════════════════════════════════════════════ +🔍 STEP SERVER-1: Starting server-style authentication (mirroring test_auth_debug.c) +ℹ️ INFO: Server-style auth called with method: upload, hash: a1fff0ffefb9eace7230c24e50731f0a91c62f9cefdfe77121c2f607125dffae +🔍 STEP SERVER-2: Calling parse_authorization_header +DEBUG: parse_authorization_he" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 07:23:47 [debug] 607049#607049: *1 http fastcgi record byte: 01 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http fastcgi record byte: 07 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http fastcgi record byte: 00 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http fastcgi record byte: 01 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http fastcgi record byte: 01 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http fastcgi record byte: F8 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http fastcgi record byte: 00 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http fastcgi record byte: 00 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http fastcgi record length: 504 +2025/08/20 07:23:47 [error] 607049#607049: *1 FastCGI sent in stderr: "ader called with header: Nostr eyJraW5kIjoyNDI0MiwiaWQiOiI5NTYxNjA1YjEwNjJj... +DEBUG: Extracted base64 event (length=DEBUG: Base64 decode result - decoded_len=DEBUG: Successfully decoded JSON (length=✅ SUCCESS: parse_authorization_header succeeded +🔍 STEP SERVER-3: Calling cJSON_Parse on JSON string +ℹ️ INFO: JSON to parse: {"kind":24242,"id":"9561605b1062ce37e95ab9b81d300d9ad5bfb9c544ae395e1eb41f000c7d89f6","pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 07:23:47 [debug] 607049#607049: *1 http fastcgi record byte: 01 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http fastcgi record byte: 07 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http fastcgi record byte: 00 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http fastcgi record byte: 01 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http fastcgi record byte: 01 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http fastcgi record byte: F8 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http fastcgi record byte: 00 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http fastcgi record byte: 00 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http fastcgi record length: 504 +2025/08/20 07:23:47 [error] 607049#607049: *1 FastCGI sent in stderr: "_at":1755685428,"tags":[["t","upload"],["x","84716171bab16ad021bd8953050189fe6075917436cd11cc933f021bbc5d5b0b"],["expiration","1755689028"]],"content":"","sig":"95316ab75f8d02bb995a1248c274b99f9bc5dc0af5649e6949015d069904d4bdf3a3c79427ac82456986a2e937b1d25b6d2ee8ee1e446a849cb19774df948ead"} +✅ SUCCESS: cJSON_Parse succeeded, event parsed +ℹ️ INFO: Parsed JSON: { + "kind": 24242, + "id": "9561605b1062ce37e95ab9b81d300d9ad5bfb9c544ae395e1eb41f000c7d89f6", + "pubkey": "79be667ef9dcbbac55a06295ce870b0" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 07:23:47 [debug] 607049#607049: *1 http fastcgi record byte: 01 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http fastcgi record byte: 07 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http fastcgi record byte: 00 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http fastcgi record byte: 01 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http fastcgi record byte: 01 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http fastcgi record byte: F8 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http fastcgi record byte: 00 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http fastcgi record byte: 00 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http fastcgi record length: 504 +2025/08/20 07:23:47 [error] 607049#607049: *1 FastCGI sent in stderr: "7029bfcdb2dce28d959f2815b16f81798", + "created_at": 1755685428, + "tags": [["t", "upload"], ["x", "84716171bab16ad021bd8953050189fe6075917436cd11cc933f021bbc5d5b0b"], ["expiration", "1755689028"]], + "content": "", + "sig": "95316ab75f8d02bb995a1248c274b99f9bc5dc0af5649e6949015d069904d4bdf3a3c79427ac82456986a2e937b1d25b6d2ee8ee1e446a849cb19774df948ead" +} +🔍 STEP SERVER-4: Event fields before validation +ℹ️ INFO: id: 9561605b1062ce37e95ab9b81d300d9ad5bfb9c544ae395e1eb41f000c7d89f6 +ℹ️ INFO:" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 07:23:47 [debug] 607049#607049: *1 http fastcgi record byte: 01 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http fastcgi record byte: 07 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http fastcgi record byte: 00 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http fastcgi record byte: 01 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http fastcgi record byte: 01 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http fastcgi record byte: F8 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http fastcgi record byte: 00 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http fastcgi record byte: 00 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http fastcgi record length: 504 +2025/08/20 07:23:47 [error] 607049#607049: *1 FastCGI sent in stderr: " pubkey: 79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 +ℹ️ INFO: sig: 95316ab75f8d02bb995a1248c274b99f9bc5dc0af5649e6949015d069904d4bdf3a3c79427ac82456986a2e937b1d25b6d2ee8ee1e446a849cb19774df948ead +ℹ️ INFO: kind: 24242 +ℹ️ INFO: created_at: 1755685428 +🔍 STEP SERVER-5: Detailed pubkey analysis +ℹ️ INFO: Pubkey: 79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 +ℹ️ INFO: Length: ℹ️ INFO: Character analysis (first 10): +7(0x37)" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 07:23:47 [debug] 607049#607049: *1 http fastcgi record byte: 01 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http fastcgi record byte: 07 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http fastcgi record byte: 00 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http fastcgi record byte: 01 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http fastcgi record byte: 01 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http fastcgi record byte: F8 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http fastcgi record byte: 00 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http fastcgi record byte: 00 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http fastcgi record length: 504 +2025/08/20 07:23:47 [error] 607049#607049: *1 FastCGI sent in stderr: " 9(0x39) b(0x62) e(0x65) 6(0x36) 6(0x36) 7(0x37) e(0x65) f(0x66) 9(0x39) +🔍 STEP SERVER-6: Pre-validation pubkey analysis +ℹ️ INFO: Pubkey: 79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 +ℹ️ INFO: Length: ℹ️ INFO: Character analysis (first 10): +7(55) 9(57) b(98) e(101) 6(54) 6(54) 7(55) e(101) f(102) 9(57) +ℹ️ INFO: Character validation test: +ALL VALID (lowercase hex) +🔍 STEP SERVER-7: Starting detailed validation analysis +ℹ️ INFO: Testing stru" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 07:23:47 [debug] 607049#607049: *1 recv: eof:0, avail:0 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http upstream request: "/upload?" +2025/08/20 07:23:47 [debug] 607049#607049: *1 http upstream dummy handler +2025/08/20 07:23:47 [debug] 607049#607049: timer delta: 0 +2025/08/20 07:23:47 [debug] 607049#607049: worker cycle +2025/08/20 07:23:47 [debug] 607049#607049: epoll timer: 59999 +2025/08/20 07:23:47 [debug] 607049#607049: epoll: fd:10 ev:2005 d:00007946B6C932C8 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http upstream request: "/upload?" +2025/08/20 07:23:47 [debug] 607049#607049: *1 http upstream process header +2025/08/20 07:23:47 [debug] 607049#607049: *1 recv: eof:1, avail:-1 +2025/08/20 07:23:47 [debug] 607049#607049: *1 recv: fd:10 1808 of 4096 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http fastcgi record byte: 01 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http fastcgi record byte: 07 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http fastcgi record byte: 00 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http fastcgi record byte: 01 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http fastcgi record byte: 01 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http fastcgi record byte: 97 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http fastcgi record byte: 01 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http fastcgi record byte: 00 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http fastcgi record length: 407 +2025/08/20 07:23:47 [error] 607049#607049: *1 FastCGI sent in stderr: "cture validation... +ℹ️ INFO: nostr_validate_event_structure returned: 0 (Success) +✅ SUCCESS: Structure validation PASSED +ℹ️ INFO: Testing cryptographic verification... +ℹ️ INFO: nostr_verify_event_signature returned: -32 (Event has invalid public key) +❌ ERROR: CRYPTO verification failed! +❌ ERROR: Failed pubkey: 79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 (length:" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 07:23:47 [debug] 607049#607049: *1 http fastcgi record byte: 01 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http fastcgi record byte: 07 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http fastcgi record byte: 00 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http fastcgi record byte: 01 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http fastcgi record byte: 00 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http fastcgi record byte: 00 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http fastcgi record byte: 00 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http fastcgi record byte: 00 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http fastcgi record length: 0 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http fastcgi record byte: 01 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http fastcgi record byte: 06 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http fastcgi record byte: 00 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http fastcgi record byte: 01 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http fastcgi record byte: 05 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http fastcgi record byte: 46 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http fastcgi record byte: 02 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http fastcgi record byte: 00 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http fastcgi record length: 1350 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http fastcgi parser: 0 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http fastcgi header: "DEBUG: FastCGI received request" +2025/08/20 07:23:47 [debug] 607049#607049: *1 http fastcgi parser: 0 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http fastcgi header: "DEBUG: METHOD=PUT, URI=/upload" +2025/08/20 07:23:47 [debug] 607049#607049: *1 http fastcgi parser: 0 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http fastcgi header: "DEBUG: handle_upload_request called" +2025/08/20 07:23:47 [debug] 607049#607049: *1 http fastcgi parser: 0 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http fastcgi header: "LOG: [2025-08-20 07:23:47] PUT /upload - Auth: pending - Status: 0" +2025/08/20 07:23:47 [debug] 607049#607049: *1 http fastcgi parser: 0 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http fastcgi header: "DEBUG: content_type=text/plain" +2025/08/20 07:23:47 [debug] 607049#607049: *1 http fastcgi parser: 0 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http fastcgi header: "DEBUG: content_length=13" +2025/08/20 07:23:47 [debug] 607049#607049: *1 http fastcgi parser: 0 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http fastcgi header: "DEBUG: Raw Authorization header: Nostr eyJraW5kIjoyNDI0MiwiaWQiOiI5NTYxNjA1YjEwNjJjZTM3ZTk1YWI5YjgxZDMwMGQ5YWQ1YmZiOWM1NDRhZTM5NWUxZWI0MWYwMDBjN2Q4OWY2IiwicHVia2V5IjoiNzliZTY2N2VmOWRjYmJhYzU1YTA2Mjk1Y2U4NzBiMDcwMjliZmNkYjJkY2UyOGQ5NTlmMjgxNWIxNmY4MTc5OCIsImNyZWF0ZWRfYXQiOjE3NTU2ODU0MjgsInRhZ3MiOltbInQiLCJ1cGxvYWQiXSxbIngiLCI4NDcxNjE3MWJhYjE2YWQwMjFiZDg5NTMwNTAxODlmZTYwNzU5MTc0MzZjZDExY2M5MzNmMDIxYmJjNWQ1YjBiIl0sWyJleHBpcmF0aW9uIiwiMTc1NTY4OTAyOCJdXSwiY29udGVudCI6IiIsInNpZyI6Ijk1MzE2YWI3NWY4ZDAyYmI5OTVhMTI0OGMyNzRiOTlmOWJjNWRjMGFmNTY0OWU2OTQ5MDE1ZDA2OTkwNGQ0YmRmM2EzYzc5NDI3YWM4MjQ1Njk4NmEyZTkzN2IxZDI1YjZkMmVlOGVlMWU0NDZhODQ5Y2IxOTc3NGRmOTQ4ZWFkIn0=" +2025/08/20 07:23:47 [debug] 607049#607049: *1 http fastcgi parser: 0 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http fastcgi header: "LOG: [2025-08-20 07:23:47] PUT /upload - Auth: auth_provided - Status: 0" +2025/08/20 07:23:47 [debug] 607049#607049: *1 http fastcgi parser: 0 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http fastcgi header: "DEBUG: Successfully read DEBUG: Calculated SHA-256: a1fff0ffefb9eace7230c24e50731f0a91c62f9cefdfe77121c2f607125dffae" +2025/08/20 07:23:47 [debug] 607049#607049: *1 http fastcgi parser: 0 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http fastcgi header: "Status: 401 Unauthorized" +2025/08/20 07:23:47 [debug] 607049#607049: *1 http fastcgi parser: 0 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http fastcgi header: "Content-Type: application/json" +2025/08/20 07:23:47 [debug] 607049#607049: *1 http fastcgi parser: 1 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http fastcgi header done +2025/08/20 07:23:47 [debug] 607049#607049: *1 HTTP/1.1 401 Unauthorized +Server: nginx/1.18.0 (Ubuntu) +Date: Wed, 20 Aug 2025 11:23:47 GMT +Content-Type: application/json +Transfer-Encoding: chunked +Connection: keep-alive +DEBUG: FastCGI received request +DEBUG: METHOD=PUT, URI=/upload +DEBUG: handle_upload_request called +LOG: [2025-08-20 07:23:47] PUT /upload - Auth: pending - Status: 0 +DEBUG: content_type=text/plain +DEBUG: content_length=13 +DEBUG: Raw Authorization header: Nostr eyJraW5kIjoyNDI0MiwiaWQiOiI5NTYxNjA1YjEwNjJjZTM3ZTk1YWI5YjgxZDMwMGQ5YWQ1YmZiOWM1NDRhZTM5NWUxZWI0MWYwMDBjN2Q4OWY2IiwicHVia2V5IjoiNzliZTY2N2VmOWRjYmJhYzU1YTA2Mjk1Y2U4NzBiMDcwMjliZmNkYjJkY2UyOGQ5NTlmMjgxNWIxNmY4MTc5OCIsImNyZWF0ZWRfYXQiOjE3NTU2ODU0MjgsInRhZ3MiOltbInQiLCJ1cGxvYWQiXSxbIngiLCI4NDcxNjE3MWJhYjE2YWQwMjFiZDg5NTMwNTAxODlmZTYwNzU5MTc0MzZjZDExY2M5MzNmMDIxYmJjNWQ1YjBiIl0sWyJleHBpcmF0aW9uIiwiMTc1NTY4OTAyOCJdXSwiY29udGVudCI6IiIsInNpZyI6Ijk1MzE2YWI3NWY4ZDAyYmI5OTVhMTI0OGMyNzRiOTlmOWJjNWRjMGFmNTY0OWU2OTQ5MDE1ZDA2OTkwNGQ0YmRmM2EzYzc5NDI3YWM4MjQ1Njk4NmEyZTkzN2IxZDI1YjZkMmVlOGVlMWU0NDZhODQ5Y2IxOTc3NGRmOTQ4ZWFkIn0= +LOG: [2025-08-20 07:23:47] PUT /upload - Auth: auth_provided - Status: 0 +DEBUG: Successfully read DEBUG: Calculated SHA-256: a1fff0ffefb9eace7230c24e50731f0a91c62f9cefdfe77121c2f607125dffae + +2025/08/20 07:23:47 [debug] 607049#607049: *1 write new buf t:1 f:0 00005D8319A94B40, pos 00005D8319A94B40, size: 1258 file: 0, size: 0 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http write filter: l:0 f:0 s:1258 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http cacheable: 0 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http upstream process upstream +2025/08/20 07:23:47 [debug] 607049#607049: *1 pipe read upstream: 1 +2025/08/20 07:23:47 [debug] 607049#607049: *1 pipe preread: 239 +2025/08/20 07:23:47 [debug] 607049#607049: *1 readv: eof:1, avail:0 +2025/08/20 07:23:47 [debug] 607049#607049: *1 readv: 1, last:2288 +2025/08/20 07:23:47 [debug] 607049#607049: *1 pipe recv chain: 0 +2025/08/20 07:23:47 [debug] 607049#607049: *1 pipe buf free s:0 t:1 f:0 00005D8319A95160, pos 00005D8319A95781, size: 239 file: 0, size: 0 +2025/08/20 07:23:47 [debug] 607049#607049: *1 pipe length: -1 +2025/08/20 07:23:47 [debug] 607049#607049: *1 posix_memalign: 00005D8319A96170:4096 @16 +2025/08/20 07:23:47 [debug] 607049#607049: *1 input buf #0 00005D8319A95781 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http fastcgi record byte: 01 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http fastcgi record byte: 06 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http fastcgi record byte: 00 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http fastcgi record byte: 01 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http fastcgi record byte: 00 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http fastcgi record byte: 00 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http fastcgi record byte: 00 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http fastcgi record byte: 00 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http fastcgi record length: 0 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http fastcgi closed stdout +2025/08/20 07:23:47 [debug] 607049#607049: *1 http fastcgi record byte: 01 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http fastcgi record byte: 03 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http fastcgi record byte: 00 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http fastcgi record byte: 01 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http fastcgi record byte: 00 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http fastcgi record byte: 08 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http fastcgi record byte: 00 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http fastcgi record byte: 00 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http fastcgi record length: 8 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http fastcgi sent end request +2025/08/20 07:23:47 [debug] 607049#607049: *1 input buf 00005D8319A95781 213 +2025/08/20 07:23:47 [debug] 607049#607049: *1 pipe write downstream: 1 +2025/08/20 07:23:47 [debug] 607049#607049: *1 pipe write downstream flush in +2025/08/20 07:23:47 [debug] 607049#607049: *1 http output filter "/upload?" +2025/08/20 07:23:47 [debug] 607049#607049: *1 http copy filter: "/upload?" +2025/08/20 07:23:47 [debug] 607049#607049: *1 http postpone filter "/upload?" 00005D8319A94258 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http chunk: 213 +2025/08/20 07:23:47 [debug] 607049#607049: *1 write old buf t:1 f:0 00005D8319A94B40, pos 00005D8319A94B40, size: 1258 file: 0, size: 0 +2025/08/20 07:23:47 [debug] 607049#607049: *1 write new buf t:1 f:0 00005D8319A962B8, pos 00005D8319A962B8, size: 4 file: 0, size: 0 +2025/08/20 07:23:47 [debug] 607049#607049: *1 write new buf t:1 f:0 00005D8319A95160, pos 00005D8319A95781, size: 213 file: 0, size: 0 +2025/08/20 07:23:47 [debug] 607049#607049: *1 write new buf t:0 f:0 0000000000000000, pos 00005D82F23CE2E8, size: 2 file: 0, size: 0 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http write filter: l:0 f:0 s:1477 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http write filter limit 0 +2025/08/20 07:23:47 [debug] 607049#607049: *1 writev: 1477 of 1477 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http write filter 0000000000000000 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http copy filter: 0 "/upload?" +2025/08/20 07:23:47 [debug] 607049#607049: *1 pipe write downstream done +2025/08/20 07:23:47 [debug] 607049#607049: *1 event timer: 10, old: 255820743, new: 255820744 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http upstream exit: 0000000000000000 +2025/08/20 07:23:47 [debug] 607049#607049: *1 finalize http upstream request: 0 +2025/08/20 07:23:47 [debug] 607049#607049: *1 finalize http fastcgi request +2025/08/20 07:23:47 [debug] 607049#607049: *1 free rr peer 1 0 +2025/08/20 07:23:47 [debug] 607049#607049: *1 close http upstream connection: 10 +2025/08/20 07:23:47 [debug] 607049#607049: *1 free: 00005D8319A73F20, unused: 48 +2025/08/20 07:23:47 [debug] 607049#607049: *1 event timer del: 10: 255820743 +2025/08/20 07:23:47 [debug] 607049#607049: *1 reusable connection: 0 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http upstream temp fd: -1 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http output filter "/upload?" +2025/08/20 07:23:47 [debug] 607049#607049: *1 http copy filter: "/upload?" +2025/08/20 07:23:47 [debug] 607049#607049: *1 http postpone filter "/upload?" 00007FFE5DE3F310 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http chunk: 0 +2025/08/20 07:23:47 [debug] 607049#607049: *1 write new buf t:0 f:0 0000000000000000, pos 00005D82F23CE2E5, size: 5 file: 0, size: 0 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http write filter: l:1 f:0 s:5 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http write filter limit 0 +2025/08/20 07:23:47 [debug] 607049#607049: *1 writev: 5 of 5 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http write filter 0000000000000000 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http copy filter: 0 "/upload?" +2025/08/20 07:23:47 [debug] 607049#607049: *1 http finalize request: 0, "/upload?" a:1, c:1 +2025/08/20 07:23:47 [debug] 607049#607049: *1 set http keepalive handler +2025/08/20 07:23:47 [debug] 607049#607049: *1 http close request +2025/08/20 07:23:47 [debug] 607049#607049: *1 http log handler +2025/08/20 07:23:47 [debug] 607049#607049: *1 free: 00005D8319A95160 +2025/08/20 07:23:47 [debug] 607049#607049: *1 free: 00005D8319AA9A30, unused: 3 +2025/08/20 07:23:47 [debug] 607049#607049: *1 free: 00005D8319A9FDA0, unused: 0 +2025/08/20 07:23:47 [debug] 607049#607049: *1 free: 00005D8319A94150, unused: 8 +2025/08/20 07:23:47 [debug] 607049#607049: *1 free: 00005D8319A96170, unused: 3410 +2025/08/20 07:23:47 [debug] 607049#607049: *1 free: 00005D8319A8D0A0 +2025/08/20 07:23:47 [debug] 607049#607049: *1 hc free: 0000000000000000 +2025/08/20 07:23:47 [debug] 607049#607049: *1 hc busy: 0000000000000000 0 +2025/08/20 07:23:47 [debug] 607049#607049: *1 tcp_nodelay +2025/08/20 07:23:47 [debug] 607049#607049: *1 reusable connection: 1 +2025/08/20 07:23:47 [debug] 607049#607049: *1 event timer add: 6: 65000:255825744 +2025/08/20 07:23:47 [debug] 607049#607049: timer delta: 0 +2025/08/20 07:23:47 [debug] 607049#607049: worker cycle +2025/08/20 07:23:47 [debug] 607049#607049: epoll timer: 65000 +2025/08/20 07:23:47 [debug] 607049#607049: epoll: fd:6 ev:2005 d:00007946B6C931E0 +2025/08/20 07:23:47 [debug] 607049#607049: *1 http keepalive handler +2025/08/20 07:23:47 [debug] 607049#607049: *1 malloc: 00005D8319A8D0A0:1024 +2025/08/20 07:23:47 [debug] 607049#607049: *1 recv: eof:1, avail:-1 +2025/08/20 07:23:47 [debug] 607049#607049: *1 recv: fd:6 0 of 1024 +2025/08/20 07:23:47 [info] 607049#607049: *1 client 127.0.0.1 closed keepalive connection +2025/08/20 07:23:47 [debug] 607049#607049: *1 close http connection: 6 +2025/08/20 07:23:47 [debug] 607049#607049: *1 event timer del: 6: 255825744 +2025/08/20 07:23:47 [debug] 607049#607049: *1 reusable connection: 0 +2025/08/20 07:23:47 [debug] 607049#607049: *1 free: 00005D8319A8D0A0 +2025/08/20 07:23:47 [debug] 607049#607049: *1 free: 00005D8319A8A840, unused: 120 +2025/08/20 07:23:47 [debug] 607049#607049: timer delta: 1 +2025/08/20 07:23:47 [debug] 607049#607049: worker cycle +2025/08/20 07:23:47 [debug] 607049#607049: epoll timer: -1 +2025/08/20 07:26:58 [notice] 607048#607048: signal 15 (SIGTERM) received from 607812, exiting +2025/08/20 07:26:58 [debug] 607048#607048: wake up, sigio 0 +2025/08/20 07:26:58 [debug] 607048#607048: child: 0 607049 e:0 t:0 d:0 r:1 j:0 +2025/08/20 07:26:58 [debug] 607048#607048: termination cycle: 50 +2025/08/20 07:26:58 [debug] 607048#607048: sigsuspend +2025/08/20 07:26:58 [debug] 607049#607049: epoll: fd:7 ev:0001 d:00007946B6C930F8 +2025/08/20 07:26:58 [debug] 607049#607049: channel handler +2025/08/20 07:26:58 [debug] 607049#607049: channel: 32 +2025/08/20 07:26:58 [debug] 607049#607049: channel command: 4 +2025/08/20 07:26:58 [debug] 607049#607049: channel: -2 +2025/08/20 07:26:58 [debug] 607049#607049: timer delta: 191127 +2025/08/20 07:26:58 [notice] 607049#607049: exiting +2025/08/20 07:26:58 [debug] 607049#607049: flush files +2025/08/20 07:26:58 [debug] 607049#607049: run cleanup: 00005D8319AD8A80 +2025/08/20 07:26:58 [debug] 607049#607049: run cleanup: 00005D8319ACBA18 +2025/08/20 07:26:58 [debug] 607049#607049: cleanup resolver +2025/08/20 07:26:58 [debug] 607049#607049: free: 00005D8319AD9DE0 +2025/08/20 07:26:58 [debug] 607049#607049: free: 00005D8319ACCBE0 +2025/08/20 07:26:58 [debug] 607049#607049: free: 00005D8319AABB50 +2025/08/20 07:26:58 [debug] 607049#607049: free: 00005D8319AAAA40 +2025/08/20 07:26:58 [debug] 607049#607049: free: 00005D8319AA4A10 +2025/08/20 07:26:58 [debug] 607049#607049: free: 00005D8319AA3950 +2025/08/20 07:26:58 [debug] 607049#607049: free: 00005D8319AA2890 +2025/08/20 07:26:58 [debug] 607049#607049: free: 00005D8319AA17D0 +2025/08/20 07:26:58 [debug] 607049#607049: free: 00005D8319A99170 +2025/08/20 07:26:58 [debug] 607049#607049: free: 00005D8319A90140, unused: 0 +2025/08/20 07:26:58 [debug] 607049#607049: free: 00005D8319A9A580, unused: 0 +2025/08/20 07:26:58 [debug] 607049#607049: free: 00005D8319AA5A20, unused: 0 +2025/08/20 07:26:58 [debug] 607049#607049: free: 00005D8319AACB60, unused: 0 +2025/08/20 07:26:58 [debug] 607049#607049: free: 00005D8319AB0B70, unused: 0 +2025/08/20 07:26:58 [debug] 607049#607049: free: 00005D8319AB4B80, unused: 0 +2025/08/20 07:26:58 [debug] 607049#607049: free: 00005D8319AB8B90, unused: 0 +2025/08/20 07:26:58 [debug] 607049#607049: free: 00005D8319ABCBA0, unused: 0 +2025/08/20 07:26:58 [debug] 607049#607049: free: 00005D8319AC0BB0, unused: 0 +2025/08/20 07:26:58 [debug] 607049#607049: free: 00005D8319AC4BC0, unused: 0 +2025/08/20 07:26:58 [debug] 607049#607049: free: 00005D8319AC8BD0, unused: 0 +2025/08/20 07:26:58 [debug] 607049#607049: free: 00005D8319ACDDB0, unused: 0 +2025/08/20 07:26:58 [debug] 607049#607049: free: 00005D8319AD1DC0, unused: 0 +2025/08/20 07:26:58 [debug] 607049#607049: free: 00005D8319AD5DD0, unused: 4920 +2025/08/20 07:26:58 [notice] 607049#607049: exit +2025/08/20 07:26:58 [notice] 607048#607048: signal 17 (SIGCHLD) received from 607049 +2025/08/20 07:26:58 [notice] 607048#607048: worker process 607049 exited with code 0 +2025/08/20 07:26:58 [debug] 607048#607048: shmtx forced unlock +2025/08/20 07:26:58 [debug] 607048#607048: wake up, sigio 3 +2025/08/20 07:26:58 [debug] 607048#607048: reap children +2025/08/20 07:26:58 [debug] 607048#607048: child: 0 607049 e:1 t:1 d:0 r:1 j:0 +2025/08/20 07:26:58 [notice] 607048#607048: exit +2025/08/20 07:26:58 [debug] 607048#607048: close listening 0.0.0.0:9001 #5 +2025/08/20 07:26:58 [debug] 607048#607048: run cleanup: 00005D8319ACBA18 +2025/08/20 07:26:58 [debug] 607048#607048: cleanup resolver +2025/08/20 07:26:58 [debug] 607048#607048: free: 00005D8319AD9DE0 +2025/08/20 07:26:58 [debug] 607048#607048: free: 00005D8319ACCBE0 +2025/08/20 07:26:58 [debug] 607048#607048: free: 00005D8319AABB50 +2025/08/20 07:26:58 [debug] 607048#607048: free: 00005D8319AAAA40 +2025/08/20 07:26:58 [debug] 607048#607048: free: 00005D8319AA4A10 +2025/08/20 07:26:58 [debug] 607048#607048: free: 00005D8319AA3950 +2025/08/20 07:26:58 [debug] 607048#607048: free: 00005D8319AA2890 +2025/08/20 07:26:58 [debug] 607048#607048: free: 00005D8319AA17D0 +2025/08/20 07:26:58 [debug] 607048#607048: free: 00005D8319A99170 +2025/08/20 07:26:58 [debug] 607048#607048: free: 00005D8319A90140, unused: 0 +2025/08/20 07:26:58 [debug] 607048#607048: free: 00005D8319A9A580, unused: 0 +2025/08/20 07:26:58 [debug] 607048#607048: free: 00005D8319AA5A20, unused: 0 +2025/08/20 07:26:58 [debug] 607048#607048: free: 00005D8319AACB60, unused: 0 +2025/08/20 07:26:58 [debug] 607048#607048: free: 00005D8319AB0B70, unused: 0 +2025/08/20 07:26:58 [debug] 607048#607048: free: 00005D8319AB4B80, unused: 0 +2025/08/20 07:26:58 [debug] 607048#607048: free: 00005D8319AB8B90, unused: 0 +2025/08/20 07:26:58 [debug] 607048#607048: free: 00005D8319ABCBA0, unused: 0 +2025/08/20 07:26:58 [debug] 607048#607048: free: 00005D8319AC0BB0, unused: 0 +2025/08/20 07:26:58 [debug] 607048#607048: free: 00005D8319AC4BC0, unused: 0 +2025/08/20 07:26:58 [debug] 607048#607048: free: 00005D8319AC8BD0, unused: 0 +2025/08/20 07:26:58 [debug] 607048#607048: free: 00005D8319ACDDB0, unused: 0 +2025/08/20 07:26:58 [debug] 607048#607048: free: 00005D8319AD1DC0, unused: 0 +2025/08/20 07:26:58 [debug] 607048#607048: free: 00005D8319AD5DD0, unused: 4951 +2025/08/20 07:27:00 [debug] 607846#607846: bind() 0.0.0.0:9001 #5 +2025/08/20 07:27:00 [debug] 607846#607846: counter: 000074248A063080, 1 +2025/08/20 07:27:00 [debug] 607847#607847: bind() 0.0.0.0:9001 #5 +2025/08/20 07:27:00 [notice] 607847#607847: using the "epoll" event method +2025/08/20 07:27:00 [debug] 607847#607847: counter: 0000736F3764B080, 1 +2025/08/20 07:27:00 [notice] 607847#607847: nginx/1.18.0 (Ubuntu) +2025/08/20 07:27:00 [notice] 607847#607847: OS: Linux 6.12.10-76061203-generic +2025/08/20 07:27:00 [notice] 607847#607847: getrlimit(RLIMIT_NOFILE): 1048576:1048576 +2025/08/20 07:27:00 [debug] 607848#607847: write: 6, 00007FFEEE189A80, 7, 0 +2025/08/20 07:27:00 [debug] 607848#607848: setproctitle: "nginx: master process nginx -p . -c config/local-nginx.conf" +2025/08/20 07:27:00 [notice] 607848#607848: start worker processes +2025/08/20 07:27:00 [debug] 607848#607848: channel 6:7 +2025/08/20 07:27:00 [notice] 607848#607848: start worker process 607849 +2025/08/20 07:27:00 [debug] 607848#607848: sigsuspend +2025/08/20 07:27:00 [debug] 607849#607849: add cleanup: 00006236391F4A80 +2025/08/20 07:27:00 [debug] 607849#607849: malloc: 00006236391A7BD0:8 +2025/08/20 07:27:00 [debug] 607849#607849: notify eventfd: 9 +2025/08/20 07:27:00 [debug] 607849#607849: testing the EPOLLRDHUP flag: success +2025/08/20 07:27:00 [debug] 607849#607849: malloc: 00006236391BA590:6144 +2025/08/20 07:27:00 [debug] 607849#607849: malloc: 0000736F36FC5010:237568 +2025/08/20 07:27:00 [debug] 607849#607849: malloc: 00006236391F76B0:98304 +2025/08/20 07:27:00 [debug] 607849#607849: malloc: 000062363920F6C0:98304 +2025/08/20 07:27:00 [debug] 607849#607849: epoll add event: fd:5 op:1 ev:00002001 +2025/08/20 07:27:00 [debug] 607849#607849: epoll add event: fd:7 op:1 ev:00002001 +2025/08/20 07:27:00 [debug] 607849#607849: setproctitle: "nginx: worker process" +2025/08/20 07:27:00 [debug] 607849#607849: worker cycle +2025/08/20 07:27:00 [debug] 607849#607849: epoll timer: -1 +2025/08/20 07:27:24 [debug] 607849#607849: epoll: fd:5 ev:0001 d:0000736F36FC5010 +2025/08/20 07:27:24 [debug] 607849#607849: accept on 0.0.0.0:9001, ready: 0 +2025/08/20 07:27:24 [debug] 607849#607849: posix_memalign: 00006236391A6840:512 @16 +2025/08/20 07:27:24 [debug] 607849#607849: *1 accept: 127.0.0.1:38178 fd:6 +2025/08/20 07:27:24 [debug] 607849#607849: *1 event timer add: 6: 60000:256037276 +2025/08/20 07:27:24 [debug] 607849#607849: *1 reusable connection: 1 +2025/08/20 07:27:24 [debug] 607849#607849: *1 epoll add event: fd:6 op:1 ev:80002001 +2025/08/20 07:27:24 [debug] 607849#607849: timer delta: 23180 +2025/08/20 07:27:24 [debug] 607849#607849: worker cycle +2025/08/20 07:27:24 [debug] 607849#607849: epoll timer: 60000 +2025/08/20 07:27:24 [debug] 607849#607849: epoll: fd:6 ev:0001 d:0000736F36FC51E0 +2025/08/20 07:27:24 [debug] 607849#607849: *1 http wait request handler +2025/08/20 07:27:24 [debug] 607849#607849: *1 malloc: 00006236391A90A0:1024 +2025/08/20 07:27:24 [debug] 607849#607849: *1 recv: eof:0, avail:-1 +2025/08/20 07:27:24 [debug] 607849#607849: *1 recv: fd:6 782 of 1024 +2025/08/20 07:27:24 [debug] 607849#607849: *1 reusable connection: 0 +2025/08/20 07:27:24 [debug] 607849#607849: *1 posix_memalign: 00006236391C5A30:4096 @16 +2025/08/20 07:27:24 [debug] 607849#607849: *1 http process request line +2025/08/20 07:27:24 [debug] 607849#607849: *1 http request line: "PUT /upload HTTP/1.1" +2025/08/20 07:27:24 [debug] 607849#607849: *1 http uri: "/upload" +2025/08/20 07:27:24 [debug] 607849#607849: *1 http args: "" +2025/08/20 07:27:24 [debug] 607849#607849: *1 http exten: "" +2025/08/20 07:27:24 [debug] 607849#607849: *1 posix_memalign: 00006236391BBDA0:4096 @16 +2025/08/20 07:27:24 [debug] 607849#607849: *1 http process request header line +2025/08/20 07:27:24 [debug] 607849#607849: *1 http header: "Host: localhost:9001" +2025/08/20 07:27:24 [debug] 607849#607849: *1 http header: "User-Agent: curl/8.15.0" +2025/08/20 07:27:24 [debug] 607849#607849: *1 http header: "Accept: */*" +2025/08/20 07:27:24 [debug] 607849#607849: *1 http header: "Content-Type: text/plain" +2025/08/20 07:27:24 [debug] 607849#607849: *1 http header: "Authorization: Nostr eyJraW5kIjoyNDI0MiwiaWQiOiI5NTYxNjA1YjEwNjJjZTM3ZTk1YWI5YjgxZDMwMGQ5YWQ1YmZiOWM1NDRhZTM5NWUxZWI0MWYwMDBjN2Q4OWY2IiwicHVia2V5IjoiNzliZTY2N2VmOWRjYmJhYzU1YTA2Mjk1Y2U4NzBiMDcwMjliZmNkYjJkY2UyOGQ5NTlmMjgxNWIxNmY4MTc5OCIsImNyZWF0ZWRfYXQiOjE3NTU2ODU0MjgsInRhZ3MiOltbInQiLCJ1cGxvYWQiXSxbIngiLCI4NDcxNjE3MWJhYjE2YWQwMjFiZDg5NTMwNTAxODlmZTYwNzU5MTc0MzZjZDExY2M5MzNmMDIxYmJjNWQ1YjBiIl0sWyJleHBpcmF0aW9uIiwiMTc1NTY4OTAyOCJdXSwiY29udGVudCI6IiIsInNpZyI6Ijk1MzE2YWI3NWY4ZDAyYmI5OTVhMTI0OGMyNzRiOTlmOWJjNWRjMGFmNTY0OWU2OTQ5MDE1ZDA2OTkwNGQ0YmRmM2EzYzc5NDI3YWM4MjQ1Njk4NmEyZTkzN2IxZDI1YjZkMmVlOGVlMWU0NDZhODQ5Y2IxOTc3NGRmOTQ4ZWFkIn0=" +2025/08/20 07:27:24 [debug] 607849#607849: *1 http header: "Content-Length: 13" +2025/08/20 07:27:24 [debug] 607849#607849: *1 http header done +2025/08/20 07:27:24 [debug] 607849#607849: *1 event timer del: 6: 256037276 +2025/08/20 07:27:24 [debug] 607849#607849: *1 generic phase: 0 +2025/08/20 07:27:24 [debug] 607849#607849: *1 rewrite phase: 1 +2025/08/20 07:27:24 [debug] 607849#607849: *1 test location: "/health" +2025/08/20 07:27:24 [debug] 607849#607849: *1 test location: "/upload" +2025/08/20 07:27:24 [debug] 607849#607849: *1 test location: ~ "^/([a-f0-9]{64}).*$" +2025/08/20 07:27:24 [debug] 607849#607849: *1 test location: ~ "^/([a-f0-9]{64})(\.[a-zA-Z0-9]+)?$" +2025/08/20 07:27:24 [debug] 607849#607849: *1 test location: ~ "^/fcgi-head/([a-f0-9]{64}).*$" +2025/08/20 07:27:24 [debug] 607849#607849: *1 test location: ~ "^/list/([a-f0-9]{64}).*$" +2025/08/20 07:27:24 [debug] 607849#607849: *1 using configuration "/upload" +2025/08/20 07:27:24 [debug] 607849#607849: *1 http cl:13 max:104857600 +2025/08/20 07:27:24 [debug] 607849#607849: *1 rewrite phase: 3 +2025/08/20 07:27:24 [debug] 607849#607849: *1 http script var +2025/08/20 07:27:24 [debug] 607849#607849: *1 http script var: "PUT" +2025/08/20 07:27:24 [debug] 607849#607849: *1 http script regex: "^(PUT)$" +2025/08/20 07:27:24 [notice] 607849#607849: *1 "^(PUT)$" matches "PUT", client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", host: "localhost:9001" +2025/08/20 07:27:24 [debug] 607849#607849: *1 http script if +2025/08/20 07:27:24 [debug] 607849#607849: *1 http script if: false +2025/08/20 07:27:24 [debug] 607849#607849: *1 post rewrite phase: 4 +2025/08/20 07:27:24 [debug] 607849#607849: *1 generic phase: 5 +2025/08/20 07:27:24 [debug] 607849#607849: *1 generic phase: 6 +2025/08/20 07:27:24 [debug] 607849#607849: *1 generic phase: 7 +2025/08/20 07:27:24 [debug] 607849#607849: *1 access phase: 8 +2025/08/20 07:27:24 [debug] 607849#607849: *1 access phase: 9 +2025/08/20 07:27:24 [debug] 607849#607849: *1 access phase: 10 +2025/08/20 07:27:24 [debug] 607849#607849: *1 post access phase: 11 +2025/08/20 07:27:24 [debug] 607849#607849: *1 generic phase: 12 +2025/08/20 07:27:24 [debug] 607849#607849: *1 generic phase: 13 +2025/08/20 07:27:24 [debug] 607849#607849: *1 http client request body preread 13 +2025/08/20 07:27:24 [debug] 607849#607849: *1 http request body content length filter +2025/08/20 07:27:24 [debug] 607849#607849: *1 http body new buf t:1 f:0 00006236391A93A1, pos 00006236391A93A1, size: 13 file: 0, size: 0 +2025/08/20 07:27:24 [debug] 607849#607849: *1 http init upstream, client timer: 0 +2025/08/20 07:27:24 [debug] 607849#607849: *1 epoll add event: fd:6 op:3 ev:80002005 +2025/08/20 07:27:24 [debug] 607849#607849: *1 http script copy: "QUERY_STRING" +2025/08/20 07:27:24 [debug] 607849#607849: *1 fastcgi param: "QUERY_STRING: " +2025/08/20 07:27:24 [debug] 607849#607849: *1 http script copy: "REQUEST_METHOD" +2025/08/20 07:27:24 [debug] 607849#607849: *1 http script var: "PUT" +2025/08/20 07:27:24 [debug] 607849#607849: *1 fastcgi param: "REQUEST_METHOD: PUT" +2025/08/20 07:27:24 [debug] 607849#607849: *1 http script copy: "CONTENT_TYPE" +2025/08/20 07:27:24 [debug] 607849#607849: *1 http script var: "text/plain" +2025/08/20 07:27:24 [debug] 607849#607849: *1 fastcgi param: "CONTENT_TYPE: text/plain" +2025/08/20 07:27:24 [debug] 607849#607849: *1 http script copy: "CONTENT_LENGTH" +2025/08/20 07:27:24 [debug] 607849#607849: *1 http script var: "13" +2025/08/20 07:27:24 [debug] 607849#607849: *1 fastcgi param: "CONTENT_LENGTH: 13" +2025/08/20 07:27:24 [debug] 607849#607849: *1 http script copy: "SCRIPT_NAME" +2025/08/20 07:27:24 [debug] 607849#607849: *1 http script var: "/upload" +2025/08/20 07:27:24 [debug] 607849#607849: *1 fastcgi param: "SCRIPT_NAME: /upload" +2025/08/20 07:27:24 [debug] 607849#607849: *1 http script copy: "REQUEST_URI" +2025/08/20 07:27:24 [debug] 607849#607849: *1 http script var: "/upload" +2025/08/20 07:27:24 [debug] 607849#607849: *1 fastcgi param: "REQUEST_URI: /upload" +2025/08/20 07:27:24 [debug] 607849#607849: *1 http script copy: "DOCUMENT_URI" +2025/08/20 07:27:24 [debug] 607849#607849: *1 http script var: "/upload" +2025/08/20 07:27:24 [debug] 607849#607849: *1 fastcgi param: "DOCUMENT_URI: /upload" +2025/08/20 07:27:24 [debug] 607849#607849: *1 http script copy: "DOCUMENT_ROOT" +2025/08/20 07:27:24 [debug] 607849#607849: *1 http script var: "./blobs" +2025/08/20 07:27:24 [debug] 607849#607849: *1 fastcgi param: "DOCUMENT_ROOT: ./blobs" +2025/08/20 07:27:24 [debug] 607849#607849: *1 http script copy: "SERVER_PROTOCOL" +2025/08/20 07:27:24 [debug] 607849#607849: *1 http script var: "HTTP/1.1" +2025/08/20 07:27:24 [debug] 607849#607849: *1 fastcgi param: "SERVER_PROTOCOL: HTTP/1.1" +2025/08/20 07:27:24 [debug] 607849#607849: *1 http script copy: "REQUEST_SCHEME" +2025/08/20 07:27:24 [debug] 607849#607849: *1 http script var: "http" +2025/08/20 07:27:24 [debug] 607849#607849: *1 fastcgi param: "REQUEST_SCHEME: http" +2025/08/20 07:27:24 [debug] 607849#607849: *1 http script copy: "" +2025/08/20 07:27:24 [debug] 607849#607849: *1 http script copy: "GATEWAY_INTERFACE" +2025/08/20 07:27:24 [debug] 607849#607849: *1 http script copy: "CGI/1.1" +2025/08/20 07:27:24 [debug] 607849#607849: *1 fastcgi param: "GATEWAY_INTERFACE: CGI/1.1" +2025/08/20 07:27:24 [debug] 607849#607849: *1 http script copy: "SERVER_SOFTWARE" +2025/08/20 07:27:24 [debug] 607849#607849: *1 http script copy: "nginx/" +2025/08/20 07:27:24 [debug] 607849#607849: *1 http script var: "1.18.0" +2025/08/20 07:27:24 [debug] 607849#607849: *1 fastcgi param: "SERVER_SOFTWARE: nginx/1.18.0" +2025/08/20 07:27:24 [debug] 607849#607849: *1 http script copy: "REMOTE_ADDR" +2025/08/20 07:27:24 [debug] 607849#607849: *1 http script var: "127.0.0.1" +2025/08/20 07:27:24 [debug] 607849#607849: *1 fastcgi param: "REMOTE_ADDR: 127.0.0.1" +2025/08/20 07:27:24 [debug] 607849#607849: *1 http script copy: "REMOTE_PORT" +2025/08/20 07:27:24 [debug] 607849#607849: *1 http script var: "38178" +2025/08/20 07:27:24 [debug] 607849#607849: *1 fastcgi param: "REMOTE_PORT: 38178" +2025/08/20 07:27:24 [debug] 607849#607849: *1 http script copy: "SERVER_ADDR" +2025/08/20 07:27:24 [debug] 607849#607849: *1 http script var: "127.0.0.1" +2025/08/20 07:27:24 [debug] 607849#607849: *1 fastcgi param: "SERVER_ADDR: 127.0.0.1" +2025/08/20 07:27:24 [debug] 607849#607849: *1 http script copy: "SERVER_PORT" +2025/08/20 07:27:24 [debug] 607849#607849: *1 http script var: "9001" +2025/08/20 07:27:24 [debug] 607849#607849: *1 fastcgi param: "SERVER_PORT: 9001" +2025/08/20 07:27:24 [debug] 607849#607849: *1 http script copy: "SERVER_NAME" +2025/08/20 07:27:24 [debug] 607849#607849: *1 http script var: "localhost" +2025/08/20 07:27:24 [debug] 607849#607849: *1 fastcgi param: "SERVER_NAME: localhost" +2025/08/20 07:27:24 [debug] 607849#607849: *1 http script copy: "REDIRECT_STATUS" +2025/08/20 07:27:24 [debug] 607849#607849: *1 http script copy: "200" +2025/08/20 07:27:24 [debug] 607849#607849: *1 fastcgi param: "REDIRECT_STATUS: 200" +2025/08/20 07:27:24 [debug] 607849#607849: *1 http script copy: "SCRIPT_FILENAME" +2025/08/20 07:27:24 [debug] 607849#607849: *1 http script var: "./blobs" +2025/08/20 07:27:24 [debug] 607849#607849: *1 http script copy: "/ginxsom.fcgi" +2025/08/20 07:27:24 [debug] 607849#607849: *1 fastcgi param: "SCRIPT_FILENAME: ./blobs/ginxsom.fcgi" +2025/08/20 07:27:24 [debug] 607849#607849: *1 fastcgi param: "HTTP_HOST: localhost:9001" +2025/08/20 07:27:24 [debug] 607849#607849: *1 fastcgi param: "HTTP_USER_AGENT: curl/8.15.0" +2025/08/20 07:27:24 [debug] 607849#607849: *1 fastcgi param: "HTTP_ACCEPT: */*" +2025/08/20 07:27:24 [debug] 607849#607849: *1 fastcgi param: "HTTP_CONTENT_TYPE: text/plain" +2025/08/20 07:27:24 [debug] 607849#607849: *1 fastcgi param: "HTTP_AUTHORIZATION: Nostr eyJraW5kIjoyNDI0MiwiaWQiOiI5NTYxNjA1YjEwNjJjZTM3ZTk1YWI5YjgxZDMwMGQ5YWQ1YmZiOWM1NDRhZTM5NWUxZWI0MWYwMDBjN2Q4OWY2IiwicHVia2V5IjoiNzliZTY2N2VmOWRjYmJhYzU1YTA2Mjk1Y2U4NzBiMDcwMjliZmNkYjJkY2UyOGQ5NTlmMjgxNWIxNmY4MTc5OCIsImNyZWF0ZWRfYXQiOjE3NTU2ODU0MjgsInRhZ3MiOltbInQiLCJ1cGxvYWQiXSxbIngiLCI4NDcxNjE3MWJhYjE2YWQwMjFiZDg5NTMwNTAxODlmZTYwNzU5MTc0MzZjZDExY2M5MzNmMDIxYmJjNWQ1YjBiIl0sWyJleHBpcmF0aW9uIiwiMTc1NTY4OTAyOCJdXSwiY29udGVudCI6IiIsInNpZyI6Ijk1MzE2YWI3NWY4ZDAyYmI5OTVhMTI0OGMyNzRiOTlmOWJjNWRjMGFmNTY0OWU2OTQ5MDE1ZDA2OTkwNGQ0YmRmM2EzYzc5NDI3YWM4MjQ1Njk4NmEyZTkzN2IxZDI1YjZkMmVlOGVlMWU0NDZhODQ5Y2IxOTc3NGRmOTQ4ZWFkIn0=" +2025/08/20 07:27:24 [debug] 607849#607849: *1 fastcgi param: "HTTP_CONTENT_LENGTH: 13" +2025/08/20 07:27:24 [debug] 607849#607849: *1 posix_memalign: 00006236391B0150:4096 @16 +2025/08/20 07:27:24 [debug] 607849#607849: *1 http cleanup add: 00006236391BCD88 +2025/08/20 07:27:24 [debug] 607849#607849: *1 get rr peer, try: 1 +2025/08/20 07:27:24 [debug] 607849#607849: *1 stream socket 10 +2025/08/20 07:27:24 [debug] 607849#607849: *1 epoll add connection: fd:10 ev:80002005 +2025/08/20 07:27:24 [debug] 607849#607849: *1 connect to unix:/tmp/ginxsom-fcgi.sock, fd:10 #2 +2025/08/20 07:27:24 [debug] 607849#607849: *1 connected +2025/08/20 07:27:24 [debug] 607849#607849: *1 http upstream connect: 0 +2025/08/20 07:27:24 [debug] 607849#607849: *1 posix_memalign: 000062363918FF20:128 @16 +2025/08/20 07:27:24 [debug] 607849#607849: *1 http upstream send request +2025/08/20 07:27:24 [debug] 607849#607849: *1 http upstream send request body +2025/08/20 07:27:24 [debug] 607849#607849: *1 chain writer buf fl:0 s:1224 +2025/08/20 07:27:24 [debug] 607849#607849: *1 chain writer buf fl:0 s:13 +2025/08/20 07:27:24 [debug] 607849#607849: *1 chain writer buf fl:0 s:11 +2025/08/20 07:27:24 [debug] 607849#607849: *1 chain writer in: 00006236391B0288 +2025/08/20 07:27:24 [debug] 607849#607849: *1 writev: 1248 of 1248 +2025/08/20 07:27:24 [debug] 607849#607849: *1 chain writer out: 0000000000000000 +2025/08/20 07:27:24 [debug] 607849#607849: *1 event timer add: 10: 60000:256037276 +2025/08/20 07:27:24 [debug] 607849#607849: *1 http finalize request: -4, "/upload?" a:1, c:2 +2025/08/20 07:27:24 [debug] 607849#607849: *1 http request count:2 blk:0 +2025/08/20 07:27:24 [debug] 607849#607849: timer delta: 0 +2025/08/20 07:27:24 [debug] 607849#607849: worker cycle +2025/08/20 07:27:24 [debug] 607849#607849: epoll timer: 60000 +2025/08/20 07:27:24 [debug] 607849#607849: epoll: fd:6 ev:0004 d:0000736F36FC51E0 +2025/08/20 07:27:24 [debug] 607849#607849: *1 http run request: "/upload?" +2025/08/20 07:27:24 [debug] 607849#607849: *1 http upstream check client, write event:1, "/upload" +2025/08/20 07:27:24 [debug] 607849#607849: epoll: fd:10 ev:0004 d:0000736F36FC52C8 +2025/08/20 07:27:24 [debug] 607849#607849: *1 http upstream request: "/upload?" +2025/08/20 07:27:24 [debug] 607849#607849: *1 http upstream dummy handler +2025/08/20 07:27:24 [debug] 607849#607849: timer delta: 3 +2025/08/20 07:27:24 [debug] 607849#607849: worker cycle +2025/08/20 07:27:24 [debug] 607849#607849: epoll timer: 59997 +2025/08/20 07:27:24 [debug] 607849#607849: epoll: fd:10 ev:0005 d:0000736F36FC52C8 +2025/08/20 07:27:24 [debug] 607849#607849: *1 http upstream request: "/upload?" +2025/08/20 07:27:24 [debug] 607849#607849: *1 http upstream process header +2025/08/20 07:27:24 [debug] 607849#607849: *1 malloc: 00006236391B1160:4096 +2025/08/20 07:27:24 [debug] 607849#607849: *1 recv: eof:0, avail:-1 +2025/08/20 07:27:24 [debug] 607849#607849: *1 recv: fd:10 4096 of 4096 +2025/08/20 07:27:24 [debug] 607849#607849: *1 recv: avail:784 +2025/08/20 07:27:24 [debug] 607849#607849: *1 http fastcgi record byte: 01 +2025/08/20 07:27:24 [debug] 607849#607849: *1 http fastcgi record byte: 07 +2025/08/20 07:27:24 [debug] 607849#607849: *1 http fastcgi record byte: 00 +2025/08/20 07:27:24 [debug] 607849#607849: *1 http fastcgi record byte: 01 +2025/08/20 07:27:24 [debug] 607849#607849: *1 http fastcgi record byte: 01 +2025/08/20 07:27:24 [debug] 607849#607849: *1 http fastcgi record byte: F8 +2025/08/20 07:27:24 [debug] 607849#607849: *1 http fastcgi record byte: 00 +2025/08/20 07:27:24 [debug] 607849#607849: *1 http fastcgi record byte: 00 +2025/08/20 07:27:24 [debug] 607849#607849: *1 http fastcgi record length: 504 +2025/08/20 07:27:24 [error] 607849#607849: *1 FastCGI sent in stderr: "═══════════════════════════════════════════════════════════════════ +🔍 STEP SERVER-1: Starting server-style authentication (mirroring test_auth_debug.c) +ℹ️ INFO: Server-style auth called with method: upload, hash: a1fff0ffefb9eace7230c24e50731f0a91c62f9cefdfe77121c2f607125dffae +🔍 STEP SERVER-2: Calling parse_authorization_header +DEBUG: parse_authorization_he" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 07:27:24 [debug] 607849#607849: *1 http fastcgi record byte: 01 +2025/08/20 07:27:24 [debug] 607849#607849: *1 http fastcgi record byte: 07 +2025/08/20 07:27:24 [debug] 607849#607849: *1 http fastcgi record byte: 00 +2025/08/20 07:27:24 [debug] 607849#607849: *1 http fastcgi record byte: 01 +2025/08/20 07:27:24 [debug] 607849#607849: *1 http fastcgi record byte: 01 +2025/08/20 07:27:24 [debug] 607849#607849: *1 http fastcgi record byte: F8 +2025/08/20 07:27:24 [debug] 607849#607849: *1 http fastcgi record byte: 00 +2025/08/20 07:27:24 [debug] 607849#607849: *1 http fastcgi record byte: 00 +2025/08/20 07:27:24 [debug] 607849#607849: *1 http fastcgi record length: 504 +2025/08/20 07:27:24 [error] 607849#607849: *1 FastCGI sent in stderr: "ader called with header: Nostr eyJraW5kIjoyNDI0MiwiaWQiOiI5NTYxNjA1YjEwNjJj... +DEBUG: Extracted base64 event (length=DEBUG: Base64 decode result - decoded_len=DEBUG: Successfully decoded JSON (length=✅ SUCCESS: parse_authorization_header succeeded +🔍 STEP SERVER-3: Calling cJSON_Parse on JSON string +ℹ️ INFO: JSON to parse: {"kind":24242,"id":"9561605b1062ce37e95ab9b81d300d9ad5bfb9c544ae395e1eb41f000c7d89f6","pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 07:27:24 [debug] 607849#607849: *1 http fastcgi record byte: 01 +2025/08/20 07:27:24 [debug] 607849#607849: *1 http fastcgi record byte: 07 +2025/08/20 07:27:24 [debug] 607849#607849: *1 http fastcgi record byte: 00 +2025/08/20 07:27:24 [debug] 607849#607849: *1 http fastcgi record byte: 01 +2025/08/20 07:27:24 [debug] 607849#607849: *1 http fastcgi record byte: 01 +2025/08/20 07:27:24 [debug] 607849#607849: *1 http fastcgi record byte: F8 +2025/08/20 07:27:24 [debug] 607849#607849: *1 http fastcgi record byte: 00 +2025/08/20 07:27:24 [debug] 607849#607849: *1 http fastcgi record byte: 00 +2025/08/20 07:27:24 [debug] 607849#607849: *1 http fastcgi record length: 504 +2025/08/20 07:27:24 [error] 607849#607849: *1 FastCGI sent in stderr: "_at":1755685428,"tags":[["t","upload"],["x","84716171bab16ad021bd8953050189fe6075917436cd11cc933f021bbc5d5b0b"],["expiration","1755689028"]],"content":"","sig":"95316ab75f8d02bb995a1248c274b99f9bc5dc0af5649e6949015d069904d4bdf3a3c79427ac82456986a2e937b1d25b6d2ee8ee1e446a849cb19774df948ead"} +✅ SUCCESS: cJSON_Parse succeeded, event parsed +ℹ️ INFO: Parsed JSON: { + "kind": 24242, + "id": "9561605b1062ce37e95ab9b81d300d9ad5bfb9c544ae395e1eb41f000c7d89f6", + "pubkey": "79be667ef9dcbbac55a06295ce870b0" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 07:27:24 [debug] 607849#607849: *1 http fastcgi record byte: 01 +2025/08/20 07:27:24 [debug] 607849#607849: *1 http fastcgi record byte: 07 +2025/08/20 07:27:24 [debug] 607849#607849: *1 http fastcgi record byte: 00 +2025/08/20 07:27:24 [debug] 607849#607849: *1 http fastcgi record byte: 01 +2025/08/20 07:27:24 [debug] 607849#607849: *1 http fastcgi record byte: 01 +2025/08/20 07:27:24 [debug] 607849#607849: *1 http fastcgi record byte: F8 +2025/08/20 07:27:24 [debug] 607849#607849: *1 http fastcgi record byte: 00 +2025/08/20 07:27:24 [debug] 607849#607849: *1 http fastcgi record byte: 00 +2025/08/20 07:27:24 [debug] 607849#607849: *1 http fastcgi record length: 504 +2025/08/20 07:27:24 [error] 607849#607849: *1 FastCGI sent in stderr: "7029bfcdb2dce28d959f2815b16f81798", + "created_at": 1755685428, + "tags": [["t", "upload"], ["x", "84716171bab16ad021bd8953050189fe6075917436cd11cc933f021bbc5d5b0b"], ["expiration", "1755689028"]], + "content": "", + "sig": "95316ab75f8d02bb995a1248c274b99f9bc5dc0af5649e6949015d069904d4bdf3a3c79427ac82456986a2e937b1d25b6d2ee8ee1e446a849cb19774df948ead" +} +🔍 STEP SERVER-4: Event fields before validation +ℹ️ INFO: id: 9561605b1062ce37e95ab9b81d300d9ad5bfb9c544ae395e1eb41f000c7d89f6 +ℹ️ INFO:" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 07:27:24 [debug] 607849#607849: *1 http fastcgi record byte: 01 +2025/08/20 07:27:24 [debug] 607849#607849: *1 http fastcgi record byte: 07 +2025/08/20 07:27:24 [debug] 607849#607849: *1 http fastcgi record byte: 00 +2025/08/20 07:27:24 [debug] 607849#607849: *1 http fastcgi record byte: 01 +2025/08/20 07:27:24 [debug] 607849#607849: *1 http fastcgi record byte: 01 +2025/08/20 07:27:24 [debug] 607849#607849: *1 http fastcgi record byte: F8 +2025/08/20 07:27:24 [debug] 607849#607849: *1 http fastcgi record byte: 00 +2025/08/20 07:27:24 [debug] 607849#607849: *1 http fastcgi record byte: 00 +2025/08/20 07:27:24 [debug] 607849#607849: *1 http fastcgi record length: 504 +2025/08/20 07:27:24 [error] 607849#607849: *1 FastCGI sent in stderr: " pubkey: 79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 +ℹ️ INFO: sig: 95316ab75f8d02bb995a1248c274b99f9bc5dc0af5649e6949015d069904d4bdf3a3c79427ac82456986a2e937b1d25b6d2ee8ee1e446a849cb19774df948ead +ℹ️ INFO: kind: 24242 +ℹ️ INFO: created_at: 1755685428 +🔍 STEP SERVER-5: Detailed pubkey analysis +ℹ️ INFO: Pubkey: 79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 +ℹ️ INFO: Length: ℹ️ INFO: Character analysis (first 10): +7(0x37)" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 07:27:24 [debug] 607849#607849: *1 http fastcgi record byte: 01 +2025/08/20 07:27:24 [debug] 607849#607849: *1 http fastcgi record byte: 07 +2025/08/20 07:27:24 [debug] 607849#607849: *1 http fastcgi record byte: 00 +2025/08/20 07:27:24 [debug] 607849#607849: *1 http fastcgi record byte: 01 +2025/08/20 07:27:24 [debug] 607849#607849: *1 http fastcgi record byte: 01 +2025/08/20 07:27:24 [debug] 607849#607849: *1 http fastcgi record byte: F8 +2025/08/20 07:27:24 [debug] 607849#607849: *1 http fastcgi record byte: 00 +2025/08/20 07:27:24 [debug] 607849#607849: *1 http fastcgi record byte: 00 +2025/08/20 07:27:24 [debug] 607849#607849: *1 http fastcgi record length: 504 +2025/08/20 07:27:24 [error] 607849#607849: *1 FastCGI sent in stderr: " 9(0x39) b(0x62) e(0x65) 6(0x36) 6(0x36) 7(0x37) e(0x65) f(0x66) 9(0x39) +🔍 STEP SERVER-6: Pre-validation pubkey analysis +ℹ️ INFO: Pubkey: 79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 +ℹ️ INFO: Length: ℹ️ INFO: Character analysis (first 10): +7(55) 9(57) b(98) e(101) 6(54) 6(54) 7(55) e(101) f(102) 9(57) +ℹ️ INFO: Character validation test: +ALL VALID (lowercase hex) +🔍 STEP SERVER-7: Starting detailed validation analysis +ℹ️ INFO: Testing stru" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 07:27:24 [debug] 607849#607849: *1 http fastcgi record byte: 01 +2025/08/20 07:27:24 [debug] 607849#607849: *1 http fastcgi record byte: 07 +2025/08/20 07:27:24 [debug] 607849#607849: *1 http fastcgi record byte: 00 +2025/08/20 07:27:24 [debug] 607849#607849: *1 http fastcgi record byte: 01 +2025/08/20 07:27:24 [debug] 607849#607849: *1 http fastcgi record byte: 01 +2025/08/20 07:27:24 [debug] 607849#607849: *1 http fastcgi record byte: 97 +2025/08/20 07:27:24 [debug] 607849#607849: *1 http fastcgi record byte: 01 +2025/08/20 07:27:24 [debug] 607849#607849: *1 http fastcgi record byte: 00 +2025/08/20 07:27:24 [debug] 607849#607849: *1 http fastcgi record length: 407 +2025/08/20 07:27:24 [error] 607849#607849: *1 FastCGI sent in stderr: "cture validation... +ℹ️ INFO: nostr_validate_event_structure returned: 0 (Success) +✅ SUCCESS: Structure validation PASSED +ℹ️ INFO: Testing cryptographic verification... +ℹ️ INFO: nostr_verify_event_signature returned: -32 (Event has invalid public key) +❌ ERROR: CRYPTO verification failed! +❌ ERROR: Failed pubkey: 79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 (length:" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 07:27:24 [debug] 607849#607849: *1 http fastcgi record byte: 01 +2025/08/20 07:27:24 [debug] 607849#607849: *1 http fastcgi record byte: 07 +2025/08/20 07:27:24 [debug] 607849#607849: *1 http fastcgi record byte: 00 +2025/08/20 07:27:24 [debug] 607849#607849: *1 http fastcgi record byte: 01 +2025/08/20 07:27:24 [debug] 607849#607849: *1 http fastcgi record byte: 00 +2025/08/20 07:27:24 [debug] 607849#607849: *1 http fastcgi record byte: 00 +2025/08/20 07:27:24 [debug] 607849#607849: *1 http fastcgi record byte: 00 +2025/08/20 07:27:24 [debug] 607849#607849: *1 http fastcgi record byte: 00 +2025/08/20 07:27:24 [debug] 607849#607849: *1 http fastcgi record length: 0 +2025/08/20 07:27:24 [debug] 607849#607849: *1 http fastcgi record byte: 01 +2025/08/20 07:27:24 [debug] 607849#607849: *1 http fastcgi record byte: 06 +2025/08/20 07:27:24 [debug] 607849#607849: *1 http fastcgi record byte: 00 +2025/08/20 07:27:24 [debug] 607849#607849: *1 http fastcgi record byte: 01 +2025/08/20 07:27:24 [debug] 607849#607849: *1 http fastcgi record byte: 05 +2025/08/20 07:27:24 [debug] 607849#607849: *1 http fastcgi record byte: 46 +2025/08/20 07:27:24 [debug] 607849#607849: *1 http fastcgi record byte: 02 +2025/08/20 07:27:24 [debug] 607849#607849: *1 http fastcgi record byte: 00 +2025/08/20 07:27:24 [debug] 607849#607849: *1 http fastcgi record length: 1350 +2025/08/20 07:27:24 [debug] 607849#607849: *1 http fastcgi parser: 0 +2025/08/20 07:27:24 [debug] 607849#607849: *1 http fastcgi header: "DEBUG: FastCGI received request" +2025/08/20 07:27:24 [debug] 607849#607849: *1 http fastcgi parser: 0 +2025/08/20 07:27:24 [debug] 607849#607849: *1 http fastcgi header: "DEBUG: METHOD=PUT, URI=/upload" +2025/08/20 07:27:24 [debug] 607849#607849: *1 http fastcgi parser: 0 +2025/08/20 07:27:24 [debug] 607849#607849: *1 http fastcgi header: "DEBUG: handle_upload_request called" +2025/08/20 07:27:24 [debug] 607849#607849: *1 http fastcgi parser: 0 +2025/08/20 07:27:24 [debug] 607849#607849: *1 http fastcgi header: "LOG: [2025-08-20 07:27:24] PUT /upload - Auth: pending - Status: 0" +2025/08/20 07:27:24 [debug] 607849#607849: *1 http fastcgi parser: 0 +2025/08/20 07:27:24 [debug] 607849#607849: *1 http fastcgi header: "DEBUG: content_type=text/plain" +2025/08/20 07:27:24 [debug] 607849#607849: *1 http fastcgi parser: 0 +2025/08/20 07:27:24 [debug] 607849#607849: *1 http fastcgi header: "DEBUG: content_length=13" +2025/08/20 07:27:24 [debug] 607849#607849: *1 http fastcgi parser: -2 +2025/08/20 07:27:24 [debug] 607849#607849: *1 upstream split a header line in FastCGI records +2025/08/20 07:27:24 [error] 607849#607849: *1 upstream sent too big header while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 07:27:24 [debug] 607849#607849: *1 http next upstream, 8 +2025/08/20 07:27:24 [debug] 607849#607849: *1 free rr peer 1 4 +2025/08/20 07:27:24 [debug] 607849#607849: *1 finalize http upstream request: 502 +2025/08/20 07:27:24 [debug] 607849#607849: *1 finalize http fastcgi request +2025/08/20 07:27:24 [debug] 607849#607849: *1 close http upstream connection: 10 +2025/08/20 07:27:24 [debug] 607849#607849: *1 free: 000062363918FF20, unused: 48 +2025/08/20 07:27:24 [debug] 607849#607849: *1 event timer del: 10: 256037276 +2025/08/20 07:27:24 [debug] 607849#607849: *1 reusable connection: 0 +2025/08/20 07:27:24 [debug] 607849#607849: *1 http finalize request: 502, "/upload?" a:1, c:1 +2025/08/20 07:27:24 [debug] 607849#607849: *1 http special response: 502, "/upload?" +2025/08/20 07:27:24 [debug] 607849#607849: *1 HTTP/1.1 502 Bad Gateway +Server: nginx/1.18.0 (Ubuntu) +Date: Wed, 20 Aug 2025 11:27:24 GMT +Content-Type: text/html +Content-Length: 166 +Connection: keep-alive + +2025/08/20 07:27:24 [debug] 607849#607849: *1 write new buf t:1 f:0 00006236391B0628, pos 00006236391B0628, size: 166 file: 0, size: 0 +2025/08/20 07:27:24 [debug] 607849#607849: *1 http write filter: l:0 f:0 s:166 +2025/08/20 07:27:24 [debug] 607849#607849: *1 http output filter "/upload?" +2025/08/20 07:27:24 [debug] 607849#607849: *1 http copy filter: "/upload?" +2025/08/20 07:27:24 [debug] 607849#607849: *1 http postpone filter "/upload?" 00006236391B0268 +2025/08/20 07:27:24 [debug] 607849#607849: *1 write old buf t:1 f:0 00006236391B0628, pos 00006236391B0628, size: 166 file: 0, size: 0 +2025/08/20 07:27:24 [debug] 607849#607849: *1 write new buf t:0 f:0 0000000000000000, pos 0000623639118A40, size: 104 file: 0, size: 0 +2025/08/20 07:27:24 [debug] 607849#607849: *1 write new buf t:0 f:0 0000000000000000, pos 0000623639119C80, size: 62 file: 0, size: 0 +2025/08/20 07:27:24 [debug] 607849#607849: *1 http write filter: l:1 f:0 s:332 +2025/08/20 07:27:24 [debug] 607849#607849: *1 http write filter limit 0 +2025/08/20 07:27:24 [debug] 607849#607849: *1 writev: 332 of 332 +2025/08/20 07:27:24 [debug] 607849#607849: *1 http write filter 0000000000000000 +2025/08/20 07:27:24 [debug] 607849#607849: *1 http copy filter: 0 "/upload?" +2025/08/20 07:27:24 [debug] 607849#607849: *1 http finalize request: 0, "/upload?" a:1, c:1 +2025/08/20 07:27:24 [debug] 607849#607849: *1 set http keepalive handler +2025/08/20 07:27:24 [debug] 607849#607849: *1 http close request +2025/08/20 07:27:24 [debug] 607849#607849: *1 http log handler +2025/08/20 07:27:24 [debug] 607849#607849: *1 free: 00006236391B1160 +2025/08/20 07:27:24 [debug] 607849#607849: *1 free: 00006236391C5A30, unused: 3 +2025/08/20 07:27:24 [debug] 607849#607849: *1 free: 00006236391BBDA0, unused: 0 +2025/08/20 07:27:24 [debug] 607849#607849: *1 free: 00006236391B0150, unused: 2250 +2025/08/20 07:27:24 [debug] 607849#607849: *1 free: 00006236391A90A0 +2025/08/20 07:27:24 [debug] 607849#607849: *1 hc free: 0000000000000000 +2025/08/20 07:27:24 [debug] 607849#607849: *1 hc busy: 0000000000000000 0 +2025/08/20 07:27:24 [debug] 607849#607849: *1 tcp_nodelay +2025/08/20 07:27:24 [debug] 607849#607849: *1 reusable connection: 1 +2025/08/20 07:27:24 [debug] 607849#607849: *1 event timer add: 6: 65000:256042279 +2025/08/20 07:27:24 [debug] 607849#607849: timer delta: 0 +2025/08/20 07:27:24 [debug] 607849#607849: worker cycle +2025/08/20 07:27:24 [debug] 607849#607849: epoll timer: 65000 +2025/08/20 07:27:24 [debug] 607849#607849: epoll: fd:6 ev:2005 d:0000736F36FC51E0 +2025/08/20 07:27:24 [debug] 607849#607849: *1 http keepalive handler +2025/08/20 07:27:24 [debug] 607849#607849: *1 malloc: 00006236391A90A0:1024 +2025/08/20 07:27:24 [debug] 607849#607849: *1 recv: eof:1, avail:-1 +2025/08/20 07:27:24 [debug] 607849#607849: *1 recv: fd:6 0 of 1024 +2025/08/20 07:27:24 [info] 607849#607849: *1 client 127.0.0.1 closed keepalive connection +2025/08/20 07:27:24 [debug] 607849#607849: *1 close http connection: 6 +2025/08/20 07:27:24 [debug] 607849#607849: *1 event timer del: 6: 256042279 +2025/08/20 07:27:24 [debug] 607849#607849: *1 reusable connection: 0 +2025/08/20 07:27:24 [debug] 607849#607849: *1 free: 00006236391A90A0 +2025/08/20 07:27:24 [debug] 607849#607849: *1 free: 00006236391A6840, unused: 120 +2025/08/20 07:27:24 [debug] 607849#607849: timer delta: 2 +2025/08/20 07:27:24 [debug] 607849#607849: worker cycle +2025/08/20 07:27:24 [debug] 607849#607849: epoll timer: -1 +2025/08/20 07:37:36 [debug] 607849#607849: epoll: fd:5 ev:0001 d:0000736F36FC5010 +2025/08/20 07:37:36 [debug] 607849#607849: accept on 0.0.0.0:9001, ready: 0 +2025/08/20 07:37:36 [debug] 607849#607849: posix_memalign: 00006236391A6840:512 @16 +2025/08/20 07:37:36 [debug] 607849#607849: *3 accept: 127.0.0.1:46770 fd:6 +2025/08/20 07:37:36 [debug] 607849#607849: *3 event timer add: 6: 60000:256649341 +2025/08/20 07:37:36 [debug] 607849#607849: *3 reusable connection: 1 +2025/08/20 07:37:36 [debug] 607849#607849: *3 epoll add event: fd:6 op:1 ev:80002001 +2025/08/20 07:37:36 [debug] 607849#607849: timer delta: 612060 +2025/08/20 07:37:36 [debug] 607849#607849: worker cycle +2025/08/20 07:37:36 [debug] 607849#607849: epoll timer: 60000 +2025/08/20 07:37:36 [debug] 607849#607849: epoll: fd:6 ev:0001 d:0000736F36FC51E1 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http wait request handler +2025/08/20 07:37:36 [debug] 607849#607849: *3 malloc: 00006236391A90A0:1024 +2025/08/20 07:37:36 [debug] 607849#607849: *3 recv: eof:0, avail:-1 +2025/08/20 07:37:36 [debug] 607849#607849: *3 recv: fd:6 1024 of 1024 +2025/08/20 07:37:36 [debug] 607849#607849: *3 recv: avail:112 +2025/08/20 07:37:36 [debug] 607849#607849: *3 reusable connection: 0 +2025/08/20 07:37:36 [debug] 607849#607849: *3 posix_memalign: 00006236391C5A30:4096 @16 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http process request line +2025/08/20 07:37:36 [debug] 607849#607849: *3 http request line: "PUT /upload HTTP/1.1" +2025/08/20 07:37:36 [debug] 607849#607849: *3 http uri: "/upload" +2025/08/20 07:37:36 [debug] 607849#607849: *3 http args: "" +2025/08/20 07:37:36 [debug] 607849#607849: *3 http exten: "" +2025/08/20 07:37:36 [debug] 607849#607849: *3 posix_memalign: 00006236391BBDA0:4096 @16 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http process request header line +2025/08/20 07:37:36 [debug] 607849#607849: *3 http header: "Host: localhost:9001" +2025/08/20 07:37:36 [debug] 607849#607849: *3 http header: "User-Agent: curl/8.15.0" +2025/08/20 07:37:36 [debug] 607849#607849: *3 http header: "Accept: */*" +2025/08/20 07:37:36 [debug] 607849#607849: *3 http header: "Authorization: Nostr eyJraW5kIjoyNDI0MiwiaWQiOiI2MmQzMWI0YzJlZmFjOWE3ZDQxNzRkNDc4YjYyNmExNGEzOTY1Nzc0MjY4ZWY0MWM3YWNjZGY1NWYyM2ZhMDg5IiwicHVia2V5IjoiNzliZTY2N2VmOWRjYmJhYzU1YTA2Mjk1Y2U4NzBiMDcwMjliZmNkYjJkY2UyOGQ5NTlmMjgxNWIxNmY4MTc5OCIsImNyZWF0ZWRfYXQiOjE3NTU2ODk4NTYsInRhZ3MiOltbInQiLCJ1cGxvYWQiXSxbIngiLCI0NzJhYzlhMzM0N2Q4MTQyMDllODExNzJjOTI0Y2JlNjE3MDlmNGEzOTY2MzlmYjEzODNkZWFmMmU3NmJhMDA4Il0sWyJleHBpcmF0aW9uIiwiMTc1NTY5MzQ1NSJdXSwiY29udGVudCI6IiIsInNpZyI6IjAxOTZjYzg1NjlkNWRjMTRjYzg4NzgwODY3YzMxMjc3NjA1MzMzNjAwZTJmNTA4ODlkYWM1Yzk0ZTcxNjcyYjFhZWFmYmM1Mzk0YTk3YWNmZjIzODgxZWI5NDQxOTQwMmI1MTk5MzRmNDRhZWFjNWFmYzc0ZjBhNzE5YzQxYTI3In0=" +2025/08/20 07:37:36 [debug] 607849#607849: *3 http header: "Content-Type: text/plain" +2025/08/20 07:37:36 [debug] 607849#607849: *3 http header: "Content-Disposition: attachment; filename="test_blob_1755689855.txt"" +2025/08/20 07:37:36 [debug] 607849#607849: *3 http header: "Content-Length: 296" +2025/08/20 07:37:36 [debug] 607849#607849: *3 http header done +2025/08/20 07:37:36 [debug] 607849#607849: *3 event timer del: 6: 256649341 +2025/08/20 07:37:36 [debug] 607849#607849: *3 generic phase: 0 +2025/08/20 07:37:36 [debug] 607849#607849: *3 rewrite phase: 1 +2025/08/20 07:37:36 [debug] 607849#607849: *3 test location: "/health" +2025/08/20 07:37:36 [debug] 607849#607849: *3 test location: "/upload" +2025/08/20 07:37:36 [debug] 607849#607849: *3 test location: ~ "^/([a-f0-9]{64}).*$" +2025/08/20 07:37:36 [debug] 607849#607849: *3 test location: ~ "^/([a-f0-9]{64})(\.[a-zA-Z0-9]+)?$" +2025/08/20 07:37:36 [debug] 607849#607849: *3 test location: ~ "^/fcgi-head/([a-f0-9]{64}).*$" +2025/08/20 07:37:36 [debug] 607849#607849: *3 test location: ~ "^/list/([a-f0-9]{64}).*$" +2025/08/20 07:37:36 [debug] 607849#607849: *3 using configuration "/upload" +2025/08/20 07:37:36 [debug] 607849#607849: *3 http cl:296 max:104857600 +2025/08/20 07:37:36 [debug] 607849#607849: *3 rewrite phase: 3 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http script var +2025/08/20 07:37:36 [debug] 607849#607849: *3 http script var: "PUT" +2025/08/20 07:37:36 [debug] 607849#607849: *3 http script regex: "^(PUT)$" +2025/08/20 07:37:36 [notice] 607849#607849: *3 "^(PUT)$" matches "PUT", client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", host: "localhost:9001" +2025/08/20 07:37:36 [debug] 607849#607849: *3 http script if +2025/08/20 07:37:36 [debug] 607849#607849: *3 http script if: false +2025/08/20 07:37:36 [debug] 607849#607849: *3 post rewrite phase: 4 +2025/08/20 07:37:36 [debug] 607849#607849: *3 generic phase: 5 +2025/08/20 07:37:36 [debug] 607849#607849: *3 generic phase: 6 +2025/08/20 07:37:36 [debug] 607849#607849: *3 generic phase: 7 +2025/08/20 07:37:36 [debug] 607849#607849: *3 access phase: 8 +2025/08/20 07:37:36 [debug] 607849#607849: *3 access phase: 9 +2025/08/20 07:37:36 [debug] 607849#607849: *3 access phase: 10 +2025/08/20 07:37:36 [debug] 607849#607849: *3 post access phase: 11 +2025/08/20 07:37:36 [debug] 607849#607849: *3 generic phase: 12 +2025/08/20 07:37:36 [debug] 607849#607849: *3 generic phase: 13 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http client request body preread 184 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http request body content length filter +2025/08/20 07:37:36 [debug] 607849#607849: *3 http body new buf t:1 f:0 00006236391A93E8, pos 00006236391A93E8, size: 184 file: 0, size: 0 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http read client request body +2025/08/20 07:37:36 [debug] 607849#607849: *3 recv: eof:0, avail:112 +2025/08/20 07:37:36 [debug] 607849#607849: *3 recv: fd:6 112 of 112 +2025/08/20 07:37:36 [debug] 607849#607849: *3 recv: avail:0 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http client request body recv 112 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http body new buf t:1 f:0 00006236391BC830, pos 00006236391BC830, size: 112 file: 0, size: 0 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http client request body rest 0 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http init upstream, client timer: 0 +2025/08/20 07:37:36 [debug] 607849#607849: *3 epoll add event: fd:6 op:3 ev:80002005 +2025/08/20 07:37:36 [debug] 607849#607849: *3 posix_memalign: 00006236391B0150:4096 @16 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http script copy: "QUERY_STRING" +2025/08/20 07:37:36 [debug] 607849#607849: *3 fastcgi param: "QUERY_STRING: " +2025/08/20 07:37:36 [debug] 607849#607849: *3 http script copy: "REQUEST_METHOD" +2025/08/20 07:37:36 [debug] 607849#607849: *3 http script var: "PUT" +2025/08/20 07:37:36 [debug] 607849#607849: *3 fastcgi param: "REQUEST_METHOD: PUT" +2025/08/20 07:37:36 [debug] 607849#607849: *3 http script copy: "CONTENT_TYPE" +2025/08/20 07:37:36 [debug] 607849#607849: *3 http script var: "text/plain" +2025/08/20 07:37:36 [debug] 607849#607849: *3 fastcgi param: "CONTENT_TYPE: text/plain" +2025/08/20 07:37:36 [debug] 607849#607849: *3 http script copy: "CONTENT_LENGTH" +2025/08/20 07:37:36 [debug] 607849#607849: *3 http script var: "296" +2025/08/20 07:37:36 [debug] 607849#607849: *3 fastcgi param: "CONTENT_LENGTH: 296" +2025/08/20 07:37:36 [debug] 607849#607849: *3 http script copy: "SCRIPT_NAME" +2025/08/20 07:37:36 [debug] 607849#607849: *3 http script var: "/upload" +2025/08/20 07:37:36 [debug] 607849#607849: *3 fastcgi param: "SCRIPT_NAME: /upload" +2025/08/20 07:37:36 [debug] 607849#607849: *3 http script copy: "REQUEST_URI" +2025/08/20 07:37:36 [debug] 607849#607849: *3 http script var: "/upload" +2025/08/20 07:37:36 [debug] 607849#607849: *3 fastcgi param: "REQUEST_URI: /upload" +2025/08/20 07:37:36 [debug] 607849#607849: *3 http script copy: "DOCUMENT_URI" +2025/08/20 07:37:36 [debug] 607849#607849: *3 http script var: "/upload" +2025/08/20 07:37:36 [debug] 607849#607849: *3 fastcgi param: "DOCUMENT_URI: /upload" +2025/08/20 07:37:36 [debug] 607849#607849: *3 http script copy: "DOCUMENT_ROOT" +2025/08/20 07:37:36 [debug] 607849#607849: *3 http script var: "./blobs" +2025/08/20 07:37:36 [debug] 607849#607849: *3 fastcgi param: "DOCUMENT_ROOT: ./blobs" +2025/08/20 07:37:36 [debug] 607849#607849: *3 http script copy: "SERVER_PROTOCOL" +2025/08/20 07:37:36 [debug] 607849#607849: *3 http script var: "HTTP/1.1" +2025/08/20 07:37:36 [debug] 607849#607849: *3 fastcgi param: "SERVER_PROTOCOL: HTTP/1.1" +2025/08/20 07:37:36 [debug] 607849#607849: *3 http script copy: "REQUEST_SCHEME" +2025/08/20 07:37:36 [debug] 607849#607849: *3 http script var: "http" +2025/08/20 07:37:36 [debug] 607849#607849: *3 fastcgi param: "REQUEST_SCHEME: http" +2025/08/20 07:37:36 [debug] 607849#607849: *3 http script copy: "" +2025/08/20 07:37:36 [debug] 607849#607849: *3 http script copy: "GATEWAY_INTERFACE" +2025/08/20 07:37:36 [debug] 607849#607849: *3 http script copy: "CGI/1.1" +2025/08/20 07:37:36 [debug] 607849#607849: *3 fastcgi param: "GATEWAY_INTERFACE: CGI/1.1" +2025/08/20 07:37:36 [debug] 607849#607849: *3 http script copy: "SERVER_SOFTWARE" +2025/08/20 07:37:36 [debug] 607849#607849: *3 http script copy: "nginx/" +2025/08/20 07:37:36 [debug] 607849#607849: *3 http script var: "1.18.0" +2025/08/20 07:37:36 [debug] 607849#607849: *3 fastcgi param: "SERVER_SOFTWARE: nginx/1.18.0" +2025/08/20 07:37:36 [debug] 607849#607849: *3 http script copy: "REMOTE_ADDR" +2025/08/20 07:37:36 [debug] 607849#607849: *3 http script var: "127.0.0.1" +2025/08/20 07:37:36 [debug] 607849#607849: *3 fastcgi param: "REMOTE_ADDR: 127.0.0.1" +2025/08/20 07:37:36 [debug] 607849#607849: *3 http script copy: "REMOTE_PORT" +2025/08/20 07:37:36 [debug] 607849#607849: *3 http script var: "46770" +2025/08/20 07:37:36 [debug] 607849#607849: *3 fastcgi param: "REMOTE_PORT: 46770" +2025/08/20 07:37:36 [debug] 607849#607849: *3 http script copy: "SERVER_ADDR" +2025/08/20 07:37:36 [debug] 607849#607849: *3 http script var: "127.0.0.1" +2025/08/20 07:37:36 [debug] 607849#607849: *3 fastcgi param: "SERVER_ADDR: 127.0.0.1" +2025/08/20 07:37:36 [debug] 607849#607849: *3 http script copy: "SERVER_PORT" +2025/08/20 07:37:36 [debug] 607849#607849: *3 http script var: "9001" +2025/08/20 07:37:36 [debug] 607849#607849: *3 fastcgi param: "SERVER_PORT: 9001" +2025/08/20 07:37:36 [debug] 607849#607849: *3 http script copy: "SERVER_NAME" +2025/08/20 07:37:36 [debug] 607849#607849: *3 http script var: "localhost" +2025/08/20 07:37:36 [debug] 607849#607849: *3 fastcgi param: "SERVER_NAME: localhost" +2025/08/20 07:37:36 [debug] 607849#607849: *3 http script copy: "REDIRECT_STATUS" +2025/08/20 07:37:36 [debug] 607849#607849: *3 http script copy: "200" +2025/08/20 07:37:36 [debug] 607849#607849: *3 fastcgi param: "REDIRECT_STATUS: 200" +2025/08/20 07:37:36 [debug] 607849#607849: *3 http script copy: "SCRIPT_FILENAME" +2025/08/20 07:37:36 [debug] 607849#607849: *3 http script var: "./blobs" +2025/08/20 07:37:36 [debug] 607849#607849: *3 http script copy: "/ginxsom.fcgi" +2025/08/20 07:37:36 [debug] 607849#607849: *3 fastcgi param: "SCRIPT_FILENAME: ./blobs/ginxsom.fcgi" +2025/08/20 07:37:36 [debug] 607849#607849: *3 fastcgi param: "HTTP_HOST: localhost:9001" +2025/08/20 07:37:36 [debug] 607849#607849: *3 fastcgi param: "HTTP_USER_AGENT: curl/8.15.0" +2025/08/20 07:37:36 [debug] 607849#607849: *3 fastcgi param: "HTTP_ACCEPT: */*" +2025/08/20 07:37:36 [debug] 607849#607849: *3 fastcgi param: "HTTP_AUTHORIZATION: Nostr eyJraW5kIjoyNDI0MiwiaWQiOiI2MmQzMWI0YzJlZmFjOWE3ZDQxNzRkNDc4YjYyNmExNGEzOTY1Nzc0MjY4ZWY0MWM3YWNjZGY1NWYyM2ZhMDg5IiwicHVia2V5IjoiNzliZTY2N2VmOWRjYmJhYzU1YTA2Mjk1Y2U4NzBiMDcwMjliZmNkYjJkY2UyOGQ5NTlmMjgxNWIxNmY4MTc5OCIsImNyZWF0ZWRfYXQiOjE3NTU2ODk4NTYsInRhZ3MiOltbInQiLCJ1cGxvYWQiXSxbIngiLCI0NzJhYzlhMzM0N2Q4MTQyMDllODExNzJjOTI0Y2JlNjE3MDlmNGEzOTY2MzlmYjEzODNkZWFmMmU3NmJhMDA4Il0sWyJleHBpcmF0aW9uIiwiMTc1NTY5MzQ1NSJdXSwiY29udGVudCI6IiIsInNpZyI6IjAxOTZjYzg1NjlkNWRjMTRjYzg4NzgwODY3YzMxMjc3NjA1MzMzNjAwZTJmNTA4ODlkYWM1Yzk0ZTcxNjcyYjFhZWFmYmM1Mzk0YTk3YWNmZjIzODgxZWI5NDQxOTQwMmI1MTk5MzRmNDRhZWFjNWFmYzc0ZjBhNzE5YzQxYTI3In0=" +2025/08/20 07:37:36 [debug] 607849#607849: *3 fastcgi param: "HTTP_CONTENT_TYPE: text/plain" +2025/08/20 07:37:36 [debug] 607849#607849: *3 fastcgi param: "HTTP_CONTENT_DISPOSITION: attachment; filename="test_blob_1755689855.txt"" +2025/08/20 07:37:36 [debug] 607849#607849: *3 fastcgi param: "HTTP_CONTENT_LENGTH: 296" +2025/08/20 07:37:36 [debug] 607849#607849: *3 http cleanup add: 00006236391BCB80 +2025/08/20 07:37:36 [debug] 607849#607849: *3 get rr peer, try: 1 +2025/08/20 07:37:36 [debug] 607849#607849: *3 stream socket 10 +2025/08/20 07:37:36 [debug] 607849#607849: *3 epoll add connection: fd:10 ev:80002005 +2025/08/20 07:37:36 [debug] 607849#607849: *3 connect to unix:/tmp/ginxsom-fcgi.sock, fd:10 #4 +2025/08/20 07:37:36 [debug] 607849#607849: *3 connected +2025/08/20 07:37:36 [debug] 607849#607849: *3 http upstream connect: 0 +2025/08/20 07:37:36 [debug] 607849#607849: *3 posix_memalign: 000062363918FF20:128 @16 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http upstream send request +2025/08/20 07:37:36 [debug] 607849#607849: *3 http upstream send request body +2025/08/20 07:37:36 [debug] 607849#607849: *3 chain writer buf fl:0 s:1304 +2025/08/20 07:37:36 [debug] 607849#607849: *3 chain writer buf fl:0 s:184 +2025/08/20 07:37:36 [debug] 607849#607849: *3 chain writer buf fl:0 s:8 +2025/08/20 07:37:36 [debug] 607849#607849: *3 chain writer buf fl:0 s:112 +2025/08/20 07:37:36 [debug] 607849#607849: *3 chain writer buf fl:0 s:8 +2025/08/20 07:37:36 [debug] 607849#607849: *3 chain writer in: 00006236391BCC10 +2025/08/20 07:37:36 [debug] 607849#607849: *3 writev: 1616 of 1616 +2025/08/20 07:37:36 [debug] 607849#607849: *3 chain writer out: 0000000000000000 +2025/08/20 07:37:36 [debug] 607849#607849: *3 event timer add: 10: 60000:256649341 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http finalize request: -4, "/upload?" a:1, c:2 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http request count:2 blk:0 +2025/08/20 07:37:36 [debug] 607849#607849: timer delta: 0 +2025/08/20 07:37:36 [debug] 607849#607849: worker cycle +2025/08/20 07:37:36 [debug] 607849#607849: epoll timer: 60000 +2025/08/20 07:37:36 [debug] 607849#607849: epoll: fd:6 ev:0004 d:0000736F36FC51E1 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http run request: "/upload?" +2025/08/20 07:37:36 [debug] 607849#607849: *3 http upstream check client, write event:1, "/upload" +2025/08/20 07:37:36 [debug] 607849#607849: epoll: fd:10 ev:0004 d:0000736F36FC52C9 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http upstream request: "/upload?" +2025/08/20 07:37:36 [debug] 607849#607849: *3 http upstream dummy handler +2025/08/20 07:37:36 [debug] 607849#607849: timer delta: 2 +2025/08/20 07:37:36 [debug] 607849#607849: worker cycle +2025/08/20 07:37:36 [debug] 607849#607849: epoll timer: 59998 +2025/08/20 07:37:36 [debug] 607849#607849: epoll: fd:10 ev:0005 d:0000736F36FC52C9 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http upstream request: "/upload?" +2025/08/20 07:37:36 [debug] 607849#607849: *3 http upstream process header +2025/08/20 07:37:36 [debug] 607849#607849: *3 malloc: 00006236391B1160:4096 +2025/08/20 07:37:36 [debug] 607849#607849: *3 recv: eof:0, avail:-1 +2025/08/20 07:37:36 [debug] 607849#607849: *3 recv: fd:10 3072 of 4096 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http fastcgi record byte: 01 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http fastcgi record byte: 07 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http fastcgi record byte: 00 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http fastcgi record byte: 01 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http fastcgi record byte: 01 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http fastcgi record byte: F8 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http fastcgi record byte: 00 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http fastcgi record byte: 00 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http fastcgi record length: 504 +2025/08/20 07:37:36 [error] 607849#607849: *3 FastCGI sent in stderr: "═══════════════════════════════════════════════════════════════════ +🔍 STEP SERVER-1: Starting server-style authentication (mirroring test_auth_debug.c) +ℹ️ INFO: Server-style auth called with method: upload, hash: 472ac9a3347d814209e81172c924cbe61709f4a396639fb1383deaf2e76ba008 +🔍 STEP SERVER-2: Calling parse_authorization_header +DEBUG: parse_authorization_he" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 07:37:36 [debug] 607849#607849: *3 http fastcgi record byte: 01 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http fastcgi record byte: 07 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http fastcgi record byte: 00 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http fastcgi record byte: 01 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http fastcgi record byte: 01 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http fastcgi record byte: F8 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http fastcgi record byte: 00 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http fastcgi record byte: 00 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http fastcgi record length: 504 +2025/08/20 07:37:36 [error] 607849#607849: *3 FastCGI sent in stderr: "ader called with header: Nostr eyJraW5kIjoyNDI0MiwiaWQiOiI2MmQzMWI0YzJlZmFj... +DEBUG: Extracted base64 event (length=DEBUG: Base64 decode result - decoded_len=DEBUG: Successfully decoded JSON (length=✅ SUCCESS: parse_authorization_header succeeded +🔍 STEP SERVER-3: Calling cJSON_Parse on JSON string +ℹ️ INFO: JSON to parse: {"kind":24242,"id":"62d31b4c2efac9a7d4174d478b626a14a3965774268ef41c7accdf55f23fa089","pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 07:37:36 [debug] 607849#607849: *3 http fastcgi record byte: 01 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http fastcgi record byte: 07 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http fastcgi record byte: 00 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http fastcgi record byte: 01 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http fastcgi record byte: 01 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http fastcgi record byte: F8 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http fastcgi record byte: 00 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http fastcgi record byte: 00 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http fastcgi record length: 504 +2025/08/20 07:37:36 [error] 607849#607849: *3 FastCGI sent in stderr: "_at":1755689856,"tags":[["t","upload"],["x","472ac9a3347d814209e81172c924cbe61709f4a396639fb1383deaf2e76ba008"],["expiration","1755693455"]],"content":"","sig":"0196cc8569d5dc14cc88780867c31277605333600e2f50889dac5c94e71672b1aeafbc5394a97acff23881eb94419402b519934f44aeac5afc74f0a719c41a27"} +✅ SUCCESS: cJSON_Parse succeeded, event parsed +ℹ️ INFO: Parsed JSON: { + "kind": 24242, + "id": "62d31b4c2efac9a7d4174d478b626a14a3965774268ef41c7accdf55f23fa089", + "pubkey": "79be667ef9dcbbac55a06295ce870b0" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 07:37:36 [debug] 607849#607849: *3 http fastcgi record byte: 01 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http fastcgi record byte: 07 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http fastcgi record byte: 00 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http fastcgi record byte: 01 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http fastcgi record byte: 01 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http fastcgi record byte: F8 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http fastcgi record byte: 00 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http fastcgi record byte: 00 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http fastcgi record length: 504 +2025/08/20 07:37:36 [error] 607849#607849: *3 FastCGI sent in stderr: "7029bfcdb2dce28d959f2815b16f81798", + "created_at": 1755689856, + "tags": [["t", "upload"], ["x", "472ac9a3347d814209e81172c924cbe61709f4a396639fb1383deaf2e76ba008"], ["expiration", "1755693455"]], + "content": "", + "sig": "0196cc8569d5dc14cc88780867c31277605333600e2f50889dac5c94e71672b1aeafbc5394a97acff23881eb94419402b519934f44aeac5afc74f0a719c41a27" +} +🔍 STEP SERVER-4: Event fields before validation +ℹ️ INFO: id: 62d31b4c2efac9a7d4174d478b626a14a3965774268ef41c7accdf55f23fa089 +ℹ️ INFO:" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 07:37:36 [debug] 607849#607849: *3 http fastcgi record byte: 01 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http fastcgi record byte: 07 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http fastcgi record byte: 00 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http fastcgi record byte: 01 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http fastcgi record byte: 01 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http fastcgi record byte: F8 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http fastcgi record byte: 00 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http fastcgi record byte: 00 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http fastcgi record length: 504 +2025/08/20 07:37:36 [error] 607849#607849: *3 FastCGI sent in stderr: " pubkey: 79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 +ℹ️ INFO: sig: 0196cc8569d5dc14cc88780867c31277605333600e2f50889dac5c94e71672b1aeafbc5394a97acff23881eb94419402b519934f44aeac5afc74f0a719c41a27 +ℹ️ INFO: kind: 24242 +ℹ️ INFO: created_at: 1755689856 +🔍 STEP SERVER-5: Detailed pubkey analysis +ℹ️ INFO: Pubkey: 79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 +ℹ️ INFO: Length: ℹ️ INFO: Character analysis (first 10): +7(0x37)" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 07:37:36 [debug] 607849#607849: *3 http fastcgi record byte: 01 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http fastcgi record byte: 07 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http fastcgi record byte: 00 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http fastcgi record byte: 01 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http fastcgi record byte: 01 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http fastcgi record byte: F8 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http fastcgi record byte: 00 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http fastcgi record byte: 00 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http fastcgi record length: 504 +2025/08/20 07:37:36 [error] 607849#607849: *3 FastCGI sent in stderr: " 9(0x39) b(0x62) e(0x65) 6(0x36) 6(0x36) 7(0x37) e(0x65) f(0x66) 9(0x39) +🔍 STEP SERVER-6: Pre-validation pubkey analysis +ℹ️ INFO: Pubkey: 79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 +ℹ️ INFO: Length: ℹ️ INFO: Character analysis (first 10): +7(55) 9(57) b(98) e(101) 6(54) 6(54) 7(55) e(101) f(102) 9(57) +ℹ️ INFO: Character validation test: +ALL VALID (lowercase hex) +🔍 STEP SERVER-7: Starting detailed validation analysis +ℹ️ INFO: Testing stru" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 07:37:36 [debug] 607849#607849: *3 recv: eof:0, avail:0 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http upstream request: "/upload?" +2025/08/20 07:37:36 [debug] 607849#607849: *3 http upstream dummy handler +2025/08/20 07:37:36 [debug] 607849#607849: timer delta: 0 +2025/08/20 07:37:36 [debug] 607849#607849: worker cycle +2025/08/20 07:37:36 [debug] 607849#607849: epoll timer: 59998 +2025/08/20 07:37:36 [debug] 607849#607849: epoll: fd:10 ev:2005 d:0000736F36FC52C9 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http upstream request: "/upload?" +2025/08/20 07:37:36 [debug] 607849#607849: *3 http upstream process header +2025/08/20 07:37:36 [debug] 607849#607849: *3 recv: eof:1, avail:-1 +2025/08/20 07:37:36 [debug] 607849#607849: *3 recv: fd:10 1808 of 4096 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http fastcgi record byte: 01 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http fastcgi record byte: 07 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http fastcgi record byte: 00 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http fastcgi record byte: 01 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http fastcgi record byte: 01 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http fastcgi record byte: 97 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http fastcgi record byte: 01 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http fastcgi record byte: 00 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http fastcgi record length: 407 +2025/08/20 07:37:36 [error] 607849#607849: *3 FastCGI sent in stderr: "cture validation... +ℹ️ INFO: nostr_validate_event_structure returned: 0 (Success) +✅ SUCCESS: Structure validation PASSED +ℹ️ INFO: Testing cryptographic verification... +ℹ️ INFO: nostr_verify_event_signature returned: -32 (Event has invalid public key) +❌ ERROR: CRYPTO verification failed! +❌ ERROR: Failed pubkey: 79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 (length:" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 07:37:36 [debug] 607849#607849: *3 http fastcgi record byte: 01 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http fastcgi record byte: 07 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http fastcgi record byte: 00 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http fastcgi record byte: 01 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http fastcgi record byte: 00 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http fastcgi record byte: 00 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http fastcgi record byte: 00 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http fastcgi record byte: 00 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http fastcgi record length: 0 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http fastcgi record byte: 01 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http fastcgi record byte: 06 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http fastcgi record byte: 00 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http fastcgi record byte: 01 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http fastcgi record byte: 05 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http fastcgi record byte: 47 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http fastcgi record byte: 01 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http fastcgi record byte: 00 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http fastcgi record length: 1351 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http fastcgi parser: 0 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http fastcgi header: "DEBUG: FastCGI received request" +2025/08/20 07:37:36 [debug] 607849#607849: *3 http fastcgi parser: 0 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http fastcgi header: "DEBUG: METHOD=PUT, URI=/upload" +2025/08/20 07:37:36 [debug] 607849#607849: *3 http fastcgi parser: 0 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http fastcgi header: "DEBUG: handle_upload_request called" +2025/08/20 07:37:36 [debug] 607849#607849: *3 http fastcgi parser: 0 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http fastcgi header: "LOG: [2025-08-20 07:37:36] PUT /upload - Auth: pending - Status: 0" +2025/08/20 07:37:36 [debug] 607849#607849: *3 http fastcgi parser: 0 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http fastcgi header: "DEBUG: content_type=text/plain" +2025/08/20 07:37:36 [debug] 607849#607849: *3 http fastcgi parser: 0 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http fastcgi header: "DEBUG: content_length=296" +2025/08/20 07:37:36 [debug] 607849#607849: *3 http fastcgi parser: 0 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http fastcgi header: "DEBUG: Raw Authorization header: Nostr eyJraW5kIjoyNDI0MiwiaWQiOiI2MmQzMWI0YzJlZmFjOWE3ZDQxNzRkNDc4YjYyNmExNGEzOTY1Nzc0MjY4ZWY0MWM3YWNjZGY1NWYyM2ZhMDg5IiwicHVia2V5IjoiNzliZTY2N2VmOWRjYmJhYzU1YTA2Mjk1Y2U4NzBiMDcwMjliZmNkYjJkY2UyOGQ5NTlmMjgxNWIxNmY4MTc5OCIsImNyZWF0ZWRfYXQiOjE3NTU2ODk4NTYsInRhZ3MiOltbInQiLCJ1cGxvYWQiXSxbIngiLCI0NzJhYzlhMzM0N2Q4MTQyMDllODExNzJjOTI0Y2JlNjE3MDlmNGEzOTY2MzlmYjEzODNkZWFmMmU3NmJhMDA4Il0sWyJleHBpcmF0aW9uIiwiMTc1NTY5MzQ1NSJdXSwiY29udGVudCI6IiIsInNpZyI6IjAxOTZjYzg1NjlkNWRjMTRjYzg4NzgwODY3YzMxMjc3NjA1MzMzNjAwZTJmNTA4ODlkYWM1Yzk0ZTcxNjcyYjFhZWFmYmM1Mzk0YTk3YWNmZjIzODgxZWI5NDQxOTQwMmI1MTk5MzRmNDRhZWFjNWFmYzc0ZjBhNzE5YzQxYTI3In0=" +2025/08/20 07:37:36 [debug] 607849#607849: *3 http fastcgi parser: 0 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http fastcgi header: "LOG: [2025-08-20 07:37:36] PUT /upload - Auth: auth_provided - Status: 0" +2025/08/20 07:37:36 [debug] 607849#607849: *3 http fastcgi parser: 0 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http fastcgi header: "DEBUG: Successfully read DEBUG: Calculated SHA-256: 472ac9a3347d814209e81172c924cbe61709f4a396639fb1383deaf2e76ba008" +2025/08/20 07:37:36 [debug] 607849#607849: *3 http fastcgi parser: 0 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http fastcgi header: "Status: 401 Unauthorized" +2025/08/20 07:37:36 [debug] 607849#607849: *3 http fastcgi parser: 0 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http fastcgi header: "Content-Type: application/json" +2025/08/20 07:37:36 [debug] 607849#607849: *3 http fastcgi parser: 1 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http fastcgi header done +2025/08/20 07:37:36 [debug] 607849#607849: *3 posix_memalign: 00006236391B2170:4096 @16 +2025/08/20 07:37:36 [debug] 607849#607849: *3 HTTP/1.1 401 Unauthorized +Server: nginx/1.18.0 (Ubuntu) +Date: Wed, 20 Aug 2025 11:37:36 GMT +Content-Type: application/json +Transfer-Encoding: chunked +Connection: keep-alive +DEBUG: FastCGI received request +DEBUG: METHOD=PUT, URI=/upload +DEBUG: handle_upload_request called +LOG: [2025-08-20 07:37:36] PUT /upload - Auth: pending - Status: 0 +DEBUG: content_type=text/plain +DEBUG: content_length=296 +DEBUG: Raw Authorization header: Nostr eyJraW5kIjoyNDI0MiwiaWQiOiI2MmQzMWI0YzJlZmFjOWE3ZDQxNzRkNDc4YjYyNmExNGEzOTY1Nzc0MjY4ZWY0MWM3YWNjZGY1NWYyM2ZhMDg5IiwicHVia2V5IjoiNzliZTY2N2VmOWRjYmJhYzU1YTA2Mjk1Y2U4NzBiMDcwMjliZmNkYjJkY2UyOGQ5NTlmMjgxNWIxNmY4MTc5OCIsImNyZWF0ZWRfYXQiOjE3NTU2ODk4NTYsInRhZ3MiOltbInQiLCJ1cGxvYWQiXSxbIngiLCI0NzJhYzlhMzM0N2Q4MTQyMDllODExNzJjOTI0Y2JlNjE3MDlmNGEzOTY2MzlmYjEzODNkZWFmMmU3NmJhMDA4Il0sWyJleHBpcmF0aW9uIiwiMTc1NTY5MzQ1NSJdXSwiY29udGVudCI6IiIsInNpZyI6IjAxOTZjYzg1NjlkNWRjMTRjYzg4NzgwODY3YzMxMjc3NjA1MzMzNjAwZTJmNTA4ODlkYWM1Yzk0ZTcxNjcyYjFhZWFmYmM1Mzk0YTk3YWNmZjIzODgxZWI5NDQxOTQwMmI1MTk5MzRmNDRhZWFjNWFmYzc0ZjBhNzE5YzQxYTI3In0= +LOG: [2025-08-20 07:37:36] PUT /upload - Auth: auth_provided - Status: 0 +DEBUG: Successfully read DEBUG: Calculated SHA-256: 472ac9a3347d814209e81172c924cbe61709f4a396639fb1383deaf2e76ba008 + +2025/08/20 07:37:36 [debug] 607849#607849: *3 write new buf t:1 f:0 00006236391B2190, pos 00006236391B2190, size: 1259 file: 0, size: 0 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http write filter: l:0 f:0 s:1259 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http cacheable: 0 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http upstream process upstream +2025/08/20 07:37:36 [debug] 607849#607849: *3 pipe read upstream: 1 +2025/08/20 07:37:36 [debug] 607849#607849: *3 pipe preread: 238 +2025/08/20 07:37:36 [debug] 607849#607849: *3 readv: eof:1, avail:0 +2025/08/20 07:37:36 [debug] 607849#607849: *3 readv: 1, last:2288 +2025/08/20 07:37:36 [debug] 607849#607849: *3 pipe recv chain: 0 +2025/08/20 07:37:36 [debug] 607849#607849: *3 pipe buf free s:0 t:1 f:0 00006236391B1160, pos 00006236391B1782, size: 238 file: 0, size: 0 +2025/08/20 07:37:36 [debug] 607849#607849: *3 pipe length: -1 +2025/08/20 07:37:36 [debug] 607849#607849: *3 input buf #0 00006236391B1782 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http fastcgi record byte: 01 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http fastcgi record byte: 06 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http fastcgi record byte: 00 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http fastcgi record byte: 01 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http fastcgi record byte: 00 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http fastcgi record byte: 00 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http fastcgi record byte: 00 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http fastcgi record byte: 00 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http fastcgi record length: 0 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http fastcgi closed stdout +2025/08/20 07:37:36 [debug] 607849#607849: *3 http fastcgi record byte: 01 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http fastcgi record byte: 03 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http fastcgi record byte: 00 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http fastcgi record byte: 01 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http fastcgi record byte: 00 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http fastcgi record byte: 08 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http fastcgi record byte: 00 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http fastcgi record byte: 00 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http fastcgi record length: 8 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http fastcgi sent end request +2025/08/20 07:37:36 [debug] 607849#607849: *3 input buf 00006236391B1782 213 +2025/08/20 07:37:36 [debug] 607849#607849: *3 pipe write downstream: 1 +2025/08/20 07:37:36 [debug] 607849#607849: *3 pipe write downstream flush in +2025/08/20 07:37:36 [debug] 607849#607849: *3 http output filter "/upload?" +2025/08/20 07:37:36 [debug] 607849#607849: *3 http copy filter: "/upload?" +2025/08/20 07:37:36 [debug] 607849#607849: *3 http postpone filter "/upload?" 00006236391BCBE0 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http chunk: 213 +2025/08/20 07:37:36 [debug] 607849#607849: *3 write old buf t:1 f:0 00006236391B2190, pos 00006236391B2190, size: 1259 file: 0, size: 0 +2025/08/20 07:37:36 [debug] 607849#607849: *3 write new buf t:1 f:0 00006236391B1010, pos 00006236391B1010, size: 4 file: 0, size: 0 +2025/08/20 07:37:36 [debug] 607849#607849: *3 write new buf t:1 f:0 00006236391B1160, pos 00006236391B1782, size: 213 file: 0, size: 0 +2025/08/20 07:37:36 [debug] 607849#607849: *3 write new buf t:0 f:0 0000000000000000, pos 00006236390DA2E8, size: 2 file: 0, size: 0 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http write filter: l:0 f:0 s:1478 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http write filter limit 0 +2025/08/20 07:37:36 [debug] 607849#607849: *3 writev: 1478 of 1478 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http write filter 0000000000000000 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http copy filter: 0 "/upload?" +2025/08/20 07:37:36 [debug] 607849#607849: *3 pipe write downstream done +2025/08/20 07:37:36 [debug] 607849#607849: *3 event timer: 10, old: 256649341, new: 256649344 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http upstream exit: 0000000000000000 +2025/08/20 07:37:36 [debug] 607849#607849: *3 finalize http upstream request: 0 +2025/08/20 07:37:36 [debug] 607849#607849: *3 finalize http fastcgi request +2025/08/20 07:37:36 [debug] 607849#607849: *3 free rr peer 1 0 +2025/08/20 07:37:36 [debug] 607849#607849: *3 close http upstream connection: 10 +2025/08/20 07:37:36 [debug] 607849#607849: *3 free: 000062363918FF20, unused: 48 +2025/08/20 07:37:36 [debug] 607849#607849: *3 event timer del: 10: 256649341 +2025/08/20 07:37:36 [debug] 607849#607849: *3 reusable connection: 0 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http upstream temp fd: -1 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http output filter "/upload?" +2025/08/20 07:37:36 [debug] 607849#607849: *3 http copy filter: "/upload?" +2025/08/20 07:37:36 [debug] 607849#607849: *3 http postpone filter "/upload?" 00007FFEEE1896C0 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http chunk: 0 +2025/08/20 07:37:36 [debug] 607849#607849: *3 write new buf t:0 f:0 0000000000000000, pos 00006236390DA2E5, size: 5 file: 0, size: 0 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http write filter: l:1 f:0 s:5 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http write filter limit 0 +2025/08/20 07:37:36 [debug] 607849#607849: *3 writev: 5 of 5 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http write filter 0000000000000000 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http copy filter: 0 "/upload?" +2025/08/20 07:37:36 [debug] 607849#607849: *3 http finalize request: 0, "/upload?" a:1, c:1 +2025/08/20 07:37:36 [debug] 607849#607849: *3 set http keepalive handler +2025/08/20 07:37:36 [debug] 607849#607849: *3 http close request +2025/08/20 07:37:36 [debug] 607849#607849: *3 http log handler +2025/08/20 07:37:36 [debug] 607849#607849: *3 free: 00006236391B1160 +2025/08/20 07:37:36 [debug] 607849#607849: *3 free: 00006236391C5A30, unused: 3 +2025/08/20 07:37:36 [debug] 607849#607849: *3 free: 00006236391BBDA0, unused: 0 +2025/08/20 07:37:36 [debug] 607849#607849: *3 free: 00006236391B0150, unused: 10 +2025/08/20 07:37:36 [debug] 607849#607849: *3 free: 00006236391B2170, unused: 2805 +2025/08/20 07:37:36 [debug] 607849#607849: *3 free: 00006236391A90A0 +2025/08/20 07:37:36 [debug] 607849#607849: *3 hc free: 0000000000000000 +2025/08/20 07:37:36 [debug] 607849#607849: *3 hc busy: 0000000000000000 0 +2025/08/20 07:37:36 [debug] 607849#607849: *3 tcp_nodelay +2025/08/20 07:37:36 [debug] 607849#607849: *3 reusable connection: 1 +2025/08/20 07:37:36 [debug] 607849#607849: *3 event timer add: 6: 65000:256654344 +2025/08/20 07:37:36 [debug] 607849#607849: *3 post event 00006236391F7770 +2025/08/20 07:37:36 [debug] 607849#607849: timer delta: 1 +2025/08/20 07:37:36 [debug] 607849#607849: posted event 00006236391F7770 +2025/08/20 07:37:36 [debug] 607849#607849: *3 delete posted event 00006236391F7770 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http keepalive handler +2025/08/20 07:37:36 [debug] 607849#607849: *3 malloc: 00006236391A90A0:1024 +2025/08/20 07:37:36 [debug] 607849#607849: *3 recv: eof:0, avail:0 +2025/08/20 07:37:36 [debug] 607849#607849: *3 free: 00006236391A90A0 +2025/08/20 07:37:36 [debug] 607849#607849: worker cycle +2025/08/20 07:37:36 [debug] 607849#607849: epoll timer: 65000 +2025/08/20 07:37:36 [debug] 607849#607849: epoll: fd:6 ev:2005 d:0000736F36FC51E1 +2025/08/20 07:37:36 [debug] 607849#607849: *3 http keepalive handler +2025/08/20 07:37:36 [debug] 607849#607849: *3 malloc: 00006236391A90A0:1024 +2025/08/20 07:37:36 [debug] 607849#607849: *3 recv: eof:1, avail:-1 +2025/08/20 07:37:36 [debug] 607849#607849: *3 recv: fd:6 0 of 1024 +2025/08/20 07:37:36 [info] 607849#607849: *3 client 127.0.0.1 closed keepalive connection +2025/08/20 07:37:36 [debug] 607849#607849: *3 close http connection: 6 +2025/08/20 07:37:36 [debug] 607849#607849: *3 event timer del: 6: 256654344 +2025/08/20 07:37:36 [debug] 607849#607849: *3 reusable connection: 0 +2025/08/20 07:37:36 [debug] 607849#607849: *3 free: 00006236391A90A0 +2025/08/20 07:37:36 [debug] 607849#607849: *3 free: 00006236391A6840, unused: 120 +2025/08/20 07:37:36 [debug] 607849#607849: timer delta: 2 +2025/08/20 07:37:36 [debug] 607849#607849: worker cycle +2025/08/20 07:37:36 [debug] 607849#607849: epoll timer: -1 +2025/08/20 07:38:36 [debug] 607849#607849: epoll: fd:5 ev:0001 d:0000736F36FC5010 +2025/08/20 07:38:36 [debug] 607849#607849: accept on 0.0.0.0:9001, ready: 0 +2025/08/20 07:38:36 [debug] 607849#607849: posix_memalign: 00006236391A6840:512 @16 +2025/08/20 07:38:36 [debug] 607849#607849: *5 accept: 127.0.0.1:50596 fd:6 +2025/08/20 07:38:36 [debug] 607849#607849: *5 event timer add: 6: 60000:256709221 +2025/08/20 07:38:36 [debug] 607849#607849: *5 reusable connection: 1 +2025/08/20 07:38:36 [debug] 607849#607849: *5 epoll add event: fd:6 op:1 ev:80002001 +2025/08/20 07:38:36 [debug] 607849#607849: timer delta: 59875 +2025/08/20 07:38:36 [debug] 607849#607849: worker cycle +2025/08/20 07:38:36 [debug] 607849#607849: epoll timer: 60000 +2025/08/20 07:38:36 [debug] 607849#607849: epoll: fd:6 ev:0001 d:0000736F36FC51E0 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http wait request handler +2025/08/20 07:38:36 [debug] 607849#607849: *5 malloc: 00006236391A90A0:1024 +2025/08/20 07:38:36 [debug] 607849#607849: *5 recv: eof:0, avail:-1 +2025/08/20 07:38:36 [debug] 607849#607849: *5 recv: fd:6 1024 of 1024 +2025/08/20 07:38:36 [debug] 607849#607849: *5 recv: avail:112 +2025/08/20 07:38:36 [debug] 607849#607849: *5 reusable connection: 0 +2025/08/20 07:38:36 [debug] 607849#607849: *5 posix_memalign: 00006236391C5A30:4096 @16 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http process request line +2025/08/20 07:38:36 [debug] 607849#607849: *5 http request line: "PUT /upload HTTP/1.1" +2025/08/20 07:38:36 [debug] 607849#607849: *5 http uri: "/upload" +2025/08/20 07:38:36 [debug] 607849#607849: *5 http args: "" +2025/08/20 07:38:36 [debug] 607849#607849: *5 http exten: "" +2025/08/20 07:38:36 [debug] 607849#607849: *5 posix_memalign: 00006236391BBDA0:4096 @16 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http process request header line +2025/08/20 07:38:36 [debug] 607849#607849: *5 http header: "Host: localhost:9001" +2025/08/20 07:38:36 [debug] 607849#607849: *5 http header: "User-Agent: curl/8.15.0" +2025/08/20 07:38:36 [debug] 607849#607849: *5 http header: "Accept: */*" +2025/08/20 07:38:36 [debug] 607849#607849: *5 http header: "Authorization: Nostr eyJraW5kIjoyNDI0MiwiaWQiOiIxMjgyZjk5YmVhYTMzMzQyNWIxY2QwODg1ZDA1YmQ5YjczMzc0MWNkNGRhMDRiYWVlMTAwY2VhMjY2YjEwNjkyIiwicHVia2V5IjoiNzliZTY2N2VmOWRjYmJhYzU1YTA2Mjk1Y2U4NzBiMDcwMjliZmNkYjJkY2UyOGQ5NTlmMjgxNWIxNmY4MTc5OCIsImNyZWF0ZWRfYXQiOjE3NTU2ODk5MTYsInRhZ3MiOltbInQiLCJ1cGxvYWQiXSxbIngiLCI1NjA2YTBiYjdmMGUzNDZlMzc2NWY2ODFmOGZmMjQ0OTkwMTViZTkwMzliMDQwNDMyZGEzNzdiYmUyMTZiYjZiIl0sWyJleHBpcmF0aW9uIiwiMTc1NTY5MzUxNSJdXSwiY29udGVudCI6IiIsInNpZyI6IjI5ZTExOTMyYTQ5ZmI3YzMyZjUxYjBmZTZiMGVjYmJkZWM3MTBlNDUyNWViNGUzNzIxZjUwZWVjMmQwMDlkZTQ0NmQ1MDYzNDU4NTc5ZGQxMWI0M2U3ZGRhNzMyMDNkZmQ0M2E0MGIzNWQyMzkyNWM0NGYzYTI4MTJkYTczNjg4In0=" +2025/08/20 07:38:36 [debug] 607849#607849: *5 http header: "Content-Type: text/plain" +2025/08/20 07:38:36 [debug] 607849#607849: *5 http header: "Content-Disposition: attachment; filename="test_blob_1755689915.txt"" +2025/08/20 07:38:36 [debug] 607849#607849: *5 http header: "Content-Length: 296" +2025/08/20 07:38:36 [debug] 607849#607849: *5 http header done +2025/08/20 07:38:36 [debug] 607849#607849: *5 event timer del: 6: 256709221 +2025/08/20 07:38:36 [debug] 607849#607849: *5 generic phase: 0 +2025/08/20 07:38:36 [debug] 607849#607849: *5 rewrite phase: 1 +2025/08/20 07:38:36 [debug] 607849#607849: *5 test location: "/health" +2025/08/20 07:38:36 [debug] 607849#607849: *5 test location: "/upload" +2025/08/20 07:38:36 [debug] 607849#607849: *5 test location: ~ "^/([a-f0-9]{64}).*$" +2025/08/20 07:38:36 [debug] 607849#607849: *5 test location: ~ "^/([a-f0-9]{64})(\.[a-zA-Z0-9]+)?$" +2025/08/20 07:38:36 [debug] 607849#607849: *5 test location: ~ "^/fcgi-head/([a-f0-9]{64}).*$" +2025/08/20 07:38:36 [debug] 607849#607849: *5 test location: ~ "^/list/([a-f0-9]{64}).*$" +2025/08/20 07:38:36 [debug] 607849#607849: *5 using configuration "/upload" +2025/08/20 07:38:36 [debug] 607849#607849: *5 http cl:296 max:104857600 +2025/08/20 07:38:36 [debug] 607849#607849: *5 rewrite phase: 3 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http script var +2025/08/20 07:38:36 [debug] 607849#607849: *5 http script var: "PUT" +2025/08/20 07:38:36 [debug] 607849#607849: *5 http script regex: "^(PUT)$" +2025/08/20 07:38:36 [notice] 607849#607849: *5 "^(PUT)$" matches "PUT", client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", host: "localhost:9001" +2025/08/20 07:38:36 [debug] 607849#607849: *5 http script if +2025/08/20 07:38:36 [debug] 607849#607849: *5 http script if: false +2025/08/20 07:38:36 [debug] 607849#607849: *5 post rewrite phase: 4 +2025/08/20 07:38:36 [debug] 607849#607849: *5 generic phase: 5 +2025/08/20 07:38:36 [debug] 607849#607849: *5 generic phase: 6 +2025/08/20 07:38:36 [debug] 607849#607849: *5 generic phase: 7 +2025/08/20 07:38:36 [debug] 607849#607849: *5 access phase: 8 +2025/08/20 07:38:36 [debug] 607849#607849: *5 access phase: 9 +2025/08/20 07:38:36 [debug] 607849#607849: *5 access phase: 10 +2025/08/20 07:38:36 [debug] 607849#607849: *5 post access phase: 11 +2025/08/20 07:38:36 [debug] 607849#607849: *5 generic phase: 12 +2025/08/20 07:38:36 [debug] 607849#607849: *5 generic phase: 13 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http client request body preread 184 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http request body content length filter +2025/08/20 07:38:36 [debug] 607849#607849: *5 http body new buf t:1 f:0 00006236391A93E8, pos 00006236391A93E8, size: 184 file: 0, size: 0 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http read client request body +2025/08/20 07:38:36 [debug] 607849#607849: *5 recv: eof:0, avail:112 +2025/08/20 07:38:36 [debug] 607849#607849: *5 recv: fd:6 112 of 112 +2025/08/20 07:38:36 [debug] 607849#607849: *5 recv: avail:0 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http client request body recv 112 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http body new buf t:1 f:0 00006236391BC830, pos 00006236391BC830, size: 112 file: 0, size: 0 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http client request body rest 0 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http init upstream, client timer: 0 +2025/08/20 07:38:36 [debug] 607849#607849: *5 epoll add event: fd:6 op:3 ev:80002005 +2025/08/20 07:38:36 [debug] 607849#607849: *5 posix_memalign: 00006236391B0150:4096 @16 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http script copy: "QUERY_STRING" +2025/08/20 07:38:36 [debug] 607849#607849: *5 fastcgi param: "QUERY_STRING: " +2025/08/20 07:38:36 [debug] 607849#607849: *5 http script copy: "REQUEST_METHOD" +2025/08/20 07:38:36 [debug] 607849#607849: *5 http script var: "PUT" +2025/08/20 07:38:36 [debug] 607849#607849: *5 fastcgi param: "REQUEST_METHOD: PUT" +2025/08/20 07:38:36 [debug] 607849#607849: *5 http script copy: "CONTENT_TYPE" +2025/08/20 07:38:36 [debug] 607849#607849: *5 http script var: "text/plain" +2025/08/20 07:38:36 [debug] 607849#607849: *5 fastcgi param: "CONTENT_TYPE: text/plain" +2025/08/20 07:38:36 [debug] 607849#607849: *5 http script copy: "CONTENT_LENGTH" +2025/08/20 07:38:36 [debug] 607849#607849: *5 http script var: "296" +2025/08/20 07:38:36 [debug] 607849#607849: *5 fastcgi param: "CONTENT_LENGTH: 296" +2025/08/20 07:38:36 [debug] 607849#607849: *5 http script copy: "SCRIPT_NAME" +2025/08/20 07:38:36 [debug] 607849#607849: *5 http script var: "/upload" +2025/08/20 07:38:36 [debug] 607849#607849: *5 fastcgi param: "SCRIPT_NAME: /upload" +2025/08/20 07:38:36 [debug] 607849#607849: *5 http script copy: "REQUEST_URI" +2025/08/20 07:38:36 [debug] 607849#607849: *5 http script var: "/upload" +2025/08/20 07:38:36 [debug] 607849#607849: *5 fastcgi param: "REQUEST_URI: /upload" +2025/08/20 07:38:36 [debug] 607849#607849: *5 http script copy: "DOCUMENT_URI" +2025/08/20 07:38:36 [debug] 607849#607849: *5 http script var: "/upload" +2025/08/20 07:38:36 [debug] 607849#607849: *5 fastcgi param: "DOCUMENT_URI: /upload" +2025/08/20 07:38:36 [debug] 607849#607849: *5 http script copy: "DOCUMENT_ROOT" +2025/08/20 07:38:36 [debug] 607849#607849: *5 http script var: "./blobs" +2025/08/20 07:38:36 [debug] 607849#607849: *5 fastcgi param: "DOCUMENT_ROOT: ./blobs" +2025/08/20 07:38:36 [debug] 607849#607849: *5 http script copy: "SERVER_PROTOCOL" +2025/08/20 07:38:36 [debug] 607849#607849: *5 http script var: "HTTP/1.1" +2025/08/20 07:38:36 [debug] 607849#607849: *5 fastcgi param: "SERVER_PROTOCOL: HTTP/1.1" +2025/08/20 07:38:36 [debug] 607849#607849: *5 http script copy: "REQUEST_SCHEME" +2025/08/20 07:38:36 [debug] 607849#607849: *5 http script var: "http" +2025/08/20 07:38:36 [debug] 607849#607849: *5 fastcgi param: "REQUEST_SCHEME: http" +2025/08/20 07:38:36 [debug] 607849#607849: *5 http script copy: "" +2025/08/20 07:38:36 [debug] 607849#607849: *5 http script copy: "GATEWAY_INTERFACE" +2025/08/20 07:38:36 [debug] 607849#607849: *5 http script copy: "CGI/1.1" +2025/08/20 07:38:36 [debug] 607849#607849: *5 fastcgi param: "GATEWAY_INTERFACE: CGI/1.1" +2025/08/20 07:38:36 [debug] 607849#607849: *5 http script copy: "SERVER_SOFTWARE" +2025/08/20 07:38:36 [debug] 607849#607849: *5 http script copy: "nginx/" +2025/08/20 07:38:36 [debug] 607849#607849: *5 http script var: "1.18.0" +2025/08/20 07:38:36 [debug] 607849#607849: *5 fastcgi param: "SERVER_SOFTWARE: nginx/1.18.0" +2025/08/20 07:38:36 [debug] 607849#607849: *5 http script copy: "REMOTE_ADDR" +2025/08/20 07:38:36 [debug] 607849#607849: *5 http script var: "127.0.0.1" +2025/08/20 07:38:36 [debug] 607849#607849: *5 fastcgi param: "REMOTE_ADDR: 127.0.0.1" +2025/08/20 07:38:36 [debug] 607849#607849: *5 http script copy: "REMOTE_PORT" +2025/08/20 07:38:36 [debug] 607849#607849: *5 http script var: "50596" +2025/08/20 07:38:36 [debug] 607849#607849: *5 fastcgi param: "REMOTE_PORT: 50596" +2025/08/20 07:38:36 [debug] 607849#607849: *5 http script copy: "SERVER_ADDR" +2025/08/20 07:38:36 [debug] 607849#607849: *5 http script var: "127.0.0.1" +2025/08/20 07:38:36 [debug] 607849#607849: *5 fastcgi param: "SERVER_ADDR: 127.0.0.1" +2025/08/20 07:38:36 [debug] 607849#607849: *5 http script copy: "SERVER_PORT" +2025/08/20 07:38:36 [debug] 607849#607849: *5 http script var: "9001" +2025/08/20 07:38:36 [debug] 607849#607849: *5 fastcgi param: "SERVER_PORT: 9001" +2025/08/20 07:38:36 [debug] 607849#607849: *5 http script copy: "SERVER_NAME" +2025/08/20 07:38:36 [debug] 607849#607849: *5 http script var: "localhost" +2025/08/20 07:38:36 [debug] 607849#607849: *5 fastcgi param: "SERVER_NAME: localhost" +2025/08/20 07:38:36 [debug] 607849#607849: *5 http script copy: "REDIRECT_STATUS" +2025/08/20 07:38:36 [debug] 607849#607849: *5 http script copy: "200" +2025/08/20 07:38:36 [debug] 607849#607849: *5 fastcgi param: "REDIRECT_STATUS: 200" +2025/08/20 07:38:36 [debug] 607849#607849: *5 http script copy: "SCRIPT_FILENAME" +2025/08/20 07:38:36 [debug] 607849#607849: *5 http script var: "./blobs" +2025/08/20 07:38:36 [debug] 607849#607849: *5 http script copy: "/ginxsom.fcgi" +2025/08/20 07:38:36 [debug] 607849#607849: *5 fastcgi param: "SCRIPT_FILENAME: ./blobs/ginxsom.fcgi" +2025/08/20 07:38:36 [debug] 607849#607849: *5 fastcgi param: "HTTP_HOST: localhost:9001" +2025/08/20 07:38:36 [debug] 607849#607849: *5 fastcgi param: "HTTP_USER_AGENT: curl/8.15.0" +2025/08/20 07:38:36 [debug] 607849#607849: *5 fastcgi param: "HTTP_ACCEPT: */*" +2025/08/20 07:38:36 [debug] 607849#607849: *5 fastcgi param: "HTTP_AUTHORIZATION: Nostr eyJraW5kIjoyNDI0MiwiaWQiOiIxMjgyZjk5YmVhYTMzMzQyNWIxY2QwODg1ZDA1YmQ5YjczMzc0MWNkNGRhMDRiYWVlMTAwY2VhMjY2YjEwNjkyIiwicHVia2V5IjoiNzliZTY2N2VmOWRjYmJhYzU1YTA2Mjk1Y2U4NzBiMDcwMjliZmNkYjJkY2UyOGQ5NTlmMjgxNWIxNmY4MTc5OCIsImNyZWF0ZWRfYXQiOjE3NTU2ODk5MTYsInRhZ3MiOltbInQiLCJ1cGxvYWQiXSxbIngiLCI1NjA2YTBiYjdmMGUzNDZlMzc2NWY2ODFmOGZmMjQ0OTkwMTViZTkwMzliMDQwNDMyZGEzNzdiYmUyMTZiYjZiIl0sWyJleHBpcmF0aW9uIiwiMTc1NTY5MzUxNSJdXSwiY29udGVudCI6IiIsInNpZyI6IjI5ZTExOTMyYTQ5ZmI3YzMyZjUxYjBmZTZiMGVjYmJkZWM3MTBlNDUyNWViNGUzNzIxZjUwZWVjMmQwMDlkZTQ0NmQ1MDYzNDU4NTc5ZGQxMWI0M2U3ZGRhNzMyMDNkZmQ0M2E0MGIzNWQyMzkyNWM0NGYzYTI4MTJkYTczNjg4In0=" +2025/08/20 07:38:36 [debug] 607849#607849: *5 fastcgi param: "HTTP_CONTENT_TYPE: text/plain" +2025/08/20 07:38:36 [debug] 607849#607849: *5 fastcgi param: "HTTP_CONTENT_DISPOSITION: attachment; filename="test_blob_1755689915.txt"" +2025/08/20 07:38:36 [debug] 607849#607849: *5 fastcgi param: "HTTP_CONTENT_LENGTH: 296" +2025/08/20 07:38:36 [debug] 607849#607849: *5 http cleanup add: 00006236391BCB80 +2025/08/20 07:38:36 [debug] 607849#607849: *5 get rr peer, try: 1 +2025/08/20 07:38:36 [debug] 607849#607849: *5 stream socket 10 +2025/08/20 07:38:36 [debug] 607849#607849: *5 epoll add connection: fd:10 ev:80002005 +2025/08/20 07:38:36 [debug] 607849#607849: *5 connect to unix:/tmp/ginxsom-fcgi.sock, fd:10 #6 +2025/08/20 07:38:36 [debug] 607849#607849: *5 connected +2025/08/20 07:38:36 [debug] 607849#607849: *5 http upstream connect: 0 +2025/08/20 07:38:36 [debug] 607849#607849: *5 posix_memalign: 000062363918FF20:128 @16 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http upstream send request +2025/08/20 07:38:36 [debug] 607849#607849: *5 http upstream send request body +2025/08/20 07:38:36 [debug] 607849#607849: *5 chain writer buf fl:0 s:1304 +2025/08/20 07:38:36 [debug] 607849#607849: *5 chain writer buf fl:0 s:184 +2025/08/20 07:38:36 [debug] 607849#607849: *5 chain writer buf fl:0 s:8 +2025/08/20 07:38:36 [debug] 607849#607849: *5 chain writer buf fl:0 s:112 +2025/08/20 07:38:36 [debug] 607849#607849: *5 chain writer buf fl:0 s:8 +2025/08/20 07:38:36 [debug] 607849#607849: *5 chain writer in: 00006236391BCC10 +2025/08/20 07:38:36 [debug] 607849#607849: *5 writev: 1616 of 1616 +2025/08/20 07:38:36 [debug] 607849#607849: *5 chain writer out: 0000000000000000 +2025/08/20 07:38:36 [debug] 607849#607849: *5 event timer add: 10: 60000:256709221 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http finalize request: -4, "/upload?" a:1, c:2 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http request count:2 blk:0 +2025/08/20 07:38:36 [debug] 607849#607849: timer delta: 0 +2025/08/20 07:38:36 [debug] 607849#607849: worker cycle +2025/08/20 07:38:36 [debug] 607849#607849: epoll timer: 60000 +2025/08/20 07:38:36 [debug] 607849#607849: epoll: fd:6 ev:0004 d:0000736F36FC51E0 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http run request: "/upload?" +2025/08/20 07:38:36 [debug] 607849#607849: *5 http upstream check client, write event:1, "/upload" +2025/08/20 07:38:36 [debug] 607849#607849: epoll: fd:10 ev:0004 d:0000736F36FC52C8 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http upstream request: "/upload?" +2025/08/20 07:38:36 [debug] 607849#607849: *5 http upstream dummy handler +2025/08/20 07:38:36 [debug] 607849#607849: timer delta: 2 +2025/08/20 07:38:36 [debug] 607849#607849: worker cycle +2025/08/20 07:38:36 [debug] 607849#607849: epoll timer: 59998 +2025/08/20 07:38:36 [debug] 607849#607849: epoll: fd:10 ev:0005 d:0000736F36FC52C8 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http upstream request: "/upload?" +2025/08/20 07:38:36 [debug] 607849#607849: *5 http upstream process header +2025/08/20 07:38:36 [debug] 607849#607849: *5 malloc: 00006236391B1160:4096 +2025/08/20 07:38:36 [debug] 607849#607849: *5 recv: eof:0, avail:-1 +2025/08/20 07:38:36 [debug] 607849#607849: *5 recv: fd:10 3072 of 4096 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http fastcgi record byte: 01 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http fastcgi record byte: 07 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http fastcgi record byte: 00 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http fastcgi record byte: 01 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http fastcgi record byte: 01 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http fastcgi record byte: F8 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http fastcgi record byte: 00 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http fastcgi record byte: 00 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http fastcgi record length: 504 +2025/08/20 07:38:36 [error] 607849#607849: *5 FastCGI sent in stderr: "═══════════════════════════════════════════════════════════════════ +🔍 STEP SERVER-1: Starting server-style authentication (mirroring test_auth_debug.c) +ℹ️ INFO: Server-style auth called with method: upload, hash: 5606a0bb7f0e346e3765f681f8ff24499015be9039b040432da377bbe216bb6b +🔍 STEP SERVER-2: Calling parse_authorization_header +DEBUG: parse_authorization_he" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 07:38:36 [debug] 607849#607849: *5 http fastcgi record byte: 01 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http fastcgi record byte: 07 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http fastcgi record byte: 00 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http fastcgi record byte: 01 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http fastcgi record byte: 01 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http fastcgi record byte: F8 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http fastcgi record byte: 00 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http fastcgi record byte: 00 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http fastcgi record length: 504 +2025/08/20 07:38:36 [error] 607849#607849: *5 FastCGI sent in stderr: "ader called with header: Nostr eyJraW5kIjoyNDI0MiwiaWQiOiIxMjgyZjk5YmVhYTMz... +DEBUG: Extracted base64 event (length=DEBUG: Base64 decode result - decoded_len=DEBUG: Successfully decoded JSON (length=✅ SUCCESS: parse_authorization_header succeeded +🔍 STEP SERVER-3: Calling cJSON_Parse on JSON string +ℹ️ INFO: JSON to parse: {"kind":24242,"id":"1282f99beaa333425b1cd0885d05bd9b733741cd4da04baee100cea266b10692","pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 07:38:36 [debug] 607849#607849: *5 http fastcgi record byte: 01 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http fastcgi record byte: 07 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http fastcgi record byte: 00 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http fastcgi record byte: 01 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http fastcgi record byte: 01 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http fastcgi record byte: F8 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http fastcgi record byte: 00 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http fastcgi record byte: 00 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http fastcgi record length: 504 +2025/08/20 07:38:36 [error] 607849#607849: *5 FastCGI sent in stderr: "_at":1755689916,"tags":[["t","upload"],["x","5606a0bb7f0e346e3765f681f8ff24499015be9039b040432da377bbe216bb6b"],["expiration","1755693515"]],"content":"","sig":"29e11932a49fb7c32f51b0fe6b0ecbbdec710e4525eb4e3721f50eec2d009de446d5063458579dd11b43e7dda73203dfd43a40b35d23925c44f3a2812da73688"} +✅ SUCCESS: cJSON_Parse succeeded, event parsed +ℹ️ INFO: Parsed JSON: { + "kind": 24242, + "id": "1282f99beaa333425b1cd0885d05bd9b733741cd4da04baee100cea266b10692", + "pubkey": "79be667ef9dcbbac55a06295ce870b0" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 07:38:36 [debug] 607849#607849: *5 http fastcgi record byte: 01 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http fastcgi record byte: 07 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http fastcgi record byte: 00 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http fastcgi record byte: 01 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http fastcgi record byte: 01 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http fastcgi record byte: F8 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http fastcgi record byte: 00 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http fastcgi record byte: 00 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http fastcgi record length: 504 +2025/08/20 07:38:36 [error] 607849#607849: *5 FastCGI sent in stderr: "7029bfcdb2dce28d959f2815b16f81798", + "created_at": 1755689916, + "tags": [["t", "upload"], ["x", "5606a0bb7f0e346e3765f681f8ff24499015be9039b040432da377bbe216bb6b"], ["expiration", "1755693515"]], + "content": "", + "sig": "29e11932a49fb7c32f51b0fe6b0ecbbdec710e4525eb4e3721f50eec2d009de446d5063458579dd11b43e7dda73203dfd43a40b35d23925c44f3a2812da73688" +} +🔍 STEP SERVER-4: Event fields before validation +ℹ️ INFO: id: 1282f99beaa333425b1cd0885d05bd9b733741cd4da04baee100cea266b10692 +ℹ️ INFO:" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 07:38:36 [debug] 607849#607849: *5 http fastcgi record byte: 01 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http fastcgi record byte: 07 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http fastcgi record byte: 00 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http fastcgi record byte: 01 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http fastcgi record byte: 01 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http fastcgi record byte: F8 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http fastcgi record byte: 00 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http fastcgi record byte: 00 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http fastcgi record length: 504 +2025/08/20 07:38:36 [error] 607849#607849: *5 FastCGI sent in stderr: " pubkey: 79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 +ℹ️ INFO: sig: 29e11932a49fb7c32f51b0fe6b0ecbbdec710e4525eb4e3721f50eec2d009de446d5063458579dd11b43e7dda73203dfd43a40b35d23925c44f3a2812da73688 +ℹ️ INFO: kind: 24242 +ℹ️ INFO: created_at: 1755689916 +🔍 STEP SERVER-5: Detailed pubkey analysis +ℹ️ INFO: Pubkey: 79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 +ℹ️ INFO: Length: ℹ️ INFO: Character analysis (first 10): +7(0x37)" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 07:38:36 [debug] 607849#607849: *5 http fastcgi record byte: 01 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http fastcgi record byte: 07 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http fastcgi record byte: 00 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http fastcgi record byte: 01 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http fastcgi record byte: 01 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http fastcgi record byte: F8 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http fastcgi record byte: 00 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http fastcgi record byte: 00 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http fastcgi record length: 504 +2025/08/20 07:38:36 [error] 607849#607849: *5 FastCGI sent in stderr: " 9(0x39) b(0x62) e(0x65) 6(0x36) 6(0x36) 7(0x37) e(0x65) f(0x66) 9(0x39) +🔍 STEP SERVER-6: Pre-validation pubkey analysis +ℹ️ INFO: Pubkey: 79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 +ℹ️ INFO: Length: ℹ️ INFO: Character analysis (first 10): +7(55) 9(57) b(98) e(101) 6(54) 6(54) 7(55) e(101) f(102) 9(57) +ℹ️ INFO: Character validation test: +ALL VALID (lowercase hex) +🔍 STEP SERVER-7: Starting detailed validation analysis +ℹ️ INFO: Testing stru" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 07:38:36 [debug] 607849#607849: *5 recv: eof:0, avail:0 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http upstream request: "/upload?" +2025/08/20 07:38:36 [debug] 607849#607849: *5 http upstream dummy handler +2025/08/20 07:38:36 [debug] 607849#607849: timer delta: 0 +2025/08/20 07:38:36 [debug] 607849#607849: worker cycle +2025/08/20 07:38:36 [debug] 607849#607849: epoll timer: 59998 +2025/08/20 07:38:36 [debug] 607849#607849: epoll: fd:10 ev:2005 d:0000736F36FC52C8 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http upstream request: "/upload?" +2025/08/20 07:38:36 [debug] 607849#607849: *5 http upstream process header +2025/08/20 07:38:36 [debug] 607849#607849: *5 recv: eof:1, avail:-1 +2025/08/20 07:38:36 [debug] 607849#607849: *5 recv: fd:10 1808 of 4096 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http fastcgi record byte: 01 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http fastcgi record byte: 07 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http fastcgi record byte: 00 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http fastcgi record byte: 01 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http fastcgi record byte: 01 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http fastcgi record byte: 97 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http fastcgi record byte: 01 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http fastcgi record byte: 00 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http fastcgi record length: 407 +2025/08/20 07:38:36 [error] 607849#607849: *5 FastCGI sent in stderr: "cture validation... +ℹ️ INFO: nostr_validate_event_structure returned: 0 (Success) +✅ SUCCESS: Structure validation PASSED +ℹ️ INFO: Testing cryptographic verification... +ℹ️ INFO: nostr_verify_event_signature returned: -32 (Event has invalid public key) +❌ ERROR: CRYPTO verification failed! +❌ ERROR: Failed pubkey: 79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 (length:" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 07:38:36 [debug] 607849#607849: *5 http fastcgi record byte: 01 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http fastcgi record byte: 07 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http fastcgi record byte: 00 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http fastcgi record byte: 01 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http fastcgi record byte: 00 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http fastcgi record byte: 00 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http fastcgi record byte: 00 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http fastcgi record byte: 00 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http fastcgi record length: 0 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http fastcgi record byte: 01 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http fastcgi record byte: 06 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http fastcgi record byte: 00 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http fastcgi record byte: 01 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http fastcgi record byte: 05 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http fastcgi record byte: 47 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http fastcgi record byte: 01 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http fastcgi record byte: 00 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http fastcgi record length: 1351 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http fastcgi parser: 0 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http fastcgi header: "DEBUG: FastCGI received request" +2025/08/20 07:38:36 [debug] 607849#607849: *5 http fastcgi parser: 0 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http fastcgi header: "DEBUG: METHOD=PUT, URI=/upload" +2025/08/20 07:38:36 [debug] 607849#607849: *5 http fastcgi parser: 0 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http fastcgi header: "DEBUG: handle_upload_request called" +2025/08/20 07:38:36 [debug] 607849#607849: *5 http fastcgi parser: 0 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http fastcgi header: "LOG: [2025-08-20 07:38:36] PUT /upload - Auth: pending - Status: 0" +2025/08/20 07:38:36 [debug] 607849#607849: *5 http fastcgi parser: 0 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http fastcgi header: "DEBUG: content_type=text/plain" +2025/08/20 07:38:36 [debug] 607849#607849: *5 http fastcgi parser: 0 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http fastcgi header: "DEBUG: content_length=296" +2025/08/20 07:38:36 [debug] 607849#607849: *5 http fastcgi parser: 0 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http fastcgi header: "DEBUG: Raw Authorization header: Nostr eyJraW5kIjoyNDI0MiwiaWQiOiIxMjgyZjk5YmVhYTMzMzQyNWIxY2QwODg1ZDA1YmQ5YjczMzc0MWNkNGRhMDRiYWVlMTAwY2VhMjY2YjEwNjkyIiwicHVia2V5IjoiNzliZTY2N2VmOWRjYmJhYzU1YTA2Mjk1Y2U4NzBiMDcwMjliZmNkYjJkY2UyOGQ5NTlmMjgxNWIxNmY4MTc5OCIsImNyZWF0ZWRfYXQiOjE3NTU2ODk5MTYsInRhZ3MiOltbInQiLCJ1cGxvYWQiXSxbIngiLCI1NjA2YTBiYjdmMGUzNDZlMzc2NWY2ODFmOGZmMjQ0OTkwMTViZTkwMzliMDQwNDMyZGEzNzdiYmUyMTZiYjZiIl0sWyJleHBpcmF0aW9uIiwiMTc1NTY5MzUxNSJdXSwiY29udGVudCI6IiIsInNpZyI6IjI5ZTExOTMyYTQ5ZmI3YzMyZjUxYjBmZTZiMGVjYmJkZWM3MTBlNDUyNWViNGUzNzIxZjUwZWVjMmQwMDlkZTQ0NmQ1MDYzNDU4NTc5ZGQxMWI0M2U3ZGRhNzMyMDNkZmQ0M2E0MGIzNWQyMzkyNWM0NGYzYTI4MTJkYTczNjg4In0=" +2025/08/20 07:38:36 [debug] 607849#607849: *5 http fastcgi parser: 0 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http fastcgi header: "LOG: [2025-08-20 07:38:36] PUT /upload - Auth: auth_provided - Status: 0" +2025/08/20 07:38:36 [debug] 607849#607849: *5 http fastcgi parser: 0 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http fastcgi header: "DEBUG: Successfully read DEBUG: Calculated SHA-256: 5606a0bb7f0e346e3765f681f8ff24499015be9039b040432da377bbe216bb6b" +2025/08/20 07:38:36 [debug] 607849#607849: *5 http fastcgi parser: 0 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http fastcgi header: "Status: 401 Unauthorized" +2025/08/20 07:38:36 [debug] 607849#607849: *5 http fastcgi parser: 0 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http fastcgi header: "Content-Type: application/json" +2025/08/20 07:38:36 [debug] 607849#607849: *5 http fastcgi parser: 1 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http fastcgi header done +2025/08/20 07:38:36 [debug] 607849#607849: *5 posix_memalign: 00006236391B2170:4096 @16 +2025/08/20 07:38:36 [debug] 607849#607849: *5 HTTP/1.1 401 Unauthorized +Server: nginx/1.18.0 (Ubuntu) +Date: Wed, 20 Aug 2025 11:38:36 GMT +Content-Type: application/json +Transfer-Encoding: chunked +Connection: keep-alive +DEBUG: FastCGI received request +DEBUG: METHOD=PUT, URI=/upload +DEBUG: handle_upload_request called +LOG: [2025-08-20 07:38:36] PUT /upload - Auth: pending - Status: 0 +DEBUG: content_type=text/plain +DEBUG: content_length=296 +DEBUG: Raw Authorization header: Nostr eyJraW5kIjoyNDI0MiwiaWQiOiIxMjgyZjk5YmVhYTMzMzQyNWIxY2QwODg1ZDA1YmQ5YjczMzc0MWNkNGRhMDRiYWVlMTAwY2VhMjY2YjEwNjkyIiwicHVia2V5IjoiNzliZTY2N2VmOWRjYmJhYzU1YTA2Mjk1Y2U4NzBiMDcwMjliZmNkYjJkY2UyOGQ5NTlmMjgxNWIxNmY4MTc5OCIsImNyZWF0ZWRfYXQiOjE3NTU2ODk5MTYsInRhZ3MiOltbInQiLCJ1cGxvYWQiXSxbIngiLCI1NjA2YTBiYjdmMGUzNDZlMzc2NWY2ODFmOGZmMjQ0OTkwMTViZTkwMzliMDQwNDMyZGEzNzdiYmUyMTZiYjZiIl0sWyJleHBpcmF0aW9uIiwiMTc1NTY5MzUxNSJdXSwiY29udGVudCI6IiIsInNpZyI6IjI5ZTExOTMyYTQ5ZmI3YzMyZjUxYjBmZTZiMGVjYmJkZWM3MTBlNDUyNWViNGUzNzIxZjUwZWVjMmQwMDlkZTQ0NmQ1MDYzNDU4NTc5ZGQxMWI0M2U3ZGRhNzMyMDNkZmQ0M2E0MGIzNWQyMzkyNWM0NGYzYTI4MTJkYTczNjg4In0= +LOG: [2025-08-20 07:38:36] PUT /upload - Auth: auth_provided - Status: 0 +DEBUG: Successfully read DEBUG: Calculated SHA-256: 5606a0bb7f0e346e3765f681f8ff24499015be9039b040432da377bbe216bb6b + +2025/08/20 07:38:36 [debug] 607849#607849: *5 write new buf t:1 f:0 00006236391B2190, pos 00006236391B2190, size: 1259 file: 0, size: 0 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http write filter: l:0 f:0 s:1259 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http cacheable: 0 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http upstream process upstream +2025/08/20 07:38:36 [debug] 607849#607849: *5 pipe read upstream: 1 +2025/08/20 07:38:36 [debug] 607849#607849: *5 pipe preread: 238 +2025/08/20 07:38:36 [debug] 607849#607849: *5 readv: eof:1, avail:0 +2025/08/20 07:38:36 [debug] 607849#607849: *5 readv: 1, last:2288 +2025/08/20 07:38:36 [debug] 607849#607849: *5 pipe recv chain: 0 +2025/08/20 07:38:36 [debug] 607849#607849: *5 pipe buf free s:0 t:1 f:0 00006236391B1160, pos 00006236391B1782, size: 238 file: 0, size: 0 +2025/08/20 07:38:36 [debug] 607849#607849: *5 pipe length: -1 +2025/08/20 07:38:36 [debug] 607849#607849: *5 input buf #0 00006236391B1782 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http fastcgi record byte: 01 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http fastcgi record byte: 06 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http fastcgi record byte: 00 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http fastcgi record byte: 01 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http fastcgi record byte: 00 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http fastcgi record byte: 00 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http fastcgi record byte: 00 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http fastcgi record byte: 00 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http fastcgi record length: 0 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http fastcgi closed stdout +2025/08/20 07:38:36 [debug] 607849#607849: *5 http fastcgi record byte: 01 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http fastcgi record byte: 03 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http fastcgi record byte: 00 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http fastcgi record byte: 01 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http fastcgi record byte: 00 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http fastcgi record byte: 08 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http fastcgi record byte: 00 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http fastcgi record byte: 00 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http fastcgi record length: 8 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http fastcgi sent end request +2025/08/20 07:38:36 [debug] 607849#607849: *5 input buf 00006236391B1782 213 +2025/08/20 07:38:36 [debug] 607849#607849: *5 pipe write downstream: 1 +2025/08/20 07:38:36 [debug] 607849#607849: *5 pipe write downstream flush in +2025/08/20 07:38:36 [debug] 607849#607849: *5 http output filter "/upload?" +2025/08/20 07:38:36 [debug] 607849#607849: *5 http copy filter: "/upload?" +2025/08/20 07:38:36 [debug] 607849#607849: *5 http postpone filter "/upload?" 00006236391BCBE0 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http chunk: 213 +2025/08/20 07:38:36 [debug] 607849#607849: *5 write old buf t:1 f:0 00006236391B2190, pos 00006236391B2190, size: 1259 file: 0, size: 0 +2025/08/20 07:38:36 [debug] 607849#607849: *5 write new buf t:1 f:0 00006236391B1010, pos 00006236391B1010, size: 4 file: 0, size: 0 +2025/08/20 07:38:36 [debug] 607849#607849: *5 write new buf t:1 f:0 00006236391B1160, pos 00006236391B1782, size: 213 file: 0, size: 0 +2025/08/20 07:38:36 [debug] 607849#607849: *5 write new buf t:0 f:0 0000000000000000, pos 00006236390DA2E8, size: 2 file: 0, size: 0 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http write filter: l:0 f:0 s:1478 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http write filter limit 0 +2025/08/20 07:38:36 [debug] 607849#607849: *5 writev: 1478 of 1478 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http write filter 0000000000000000 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http copy filter: 0 "/upload?" +2025/08/20 07:38:36 [debug] 607849#607849: *5 pipe write downstream done +2025/08/20 07:38:36 [debug] 607849#607849: *5 event timer: 10, old: 256709221, new: 256709224 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http upstream exit: 0000000000000000 +2025/08/20 07:38:36 [debug] 607849#607849: *5 finalize http upstream request: 0 +2025/08/20 07:38:36 [debug] 607849#607849: *5 finalize http fastcgi request +2025/08/20 07:38:36 [debug] 607849#607849: *5 free rr peer 1 0 +2025/08/20 07:38:36 [debug] 607849#607849: *5 close http upstream connection: 10 +2025/08/20 07:38:36 [debug] 607849#607849: *5 free: 000062363918FF20, unused: 48 +2025/08/20 07:38:36 [debug] 607849#607849: *5 event timer del: 10: 256709221 +2025/08/20 07:38:36 [debug] 607849#607849: *5 reusable connection: 0 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http upstream temp fd: -1 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http output filter "/upload?" +2025/08/20 07:38:36 [debug] 607849#607849: *5 http copy filter: "/upload?" +2025/08/20 07:38:36 [debug] 607849#607849: *5 http postpone filter "/upload?" 00007FFEEE1896C0 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http chunk: 0 +2025/08/20 07:38:36 [debug] 607849#607849: *5 write new buf t:0 f:0 0000000000000000, pos 00006236390DA2E5, size: 5 file: 0, size: 0 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http write filter: l:1 f:0 s:5 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http write filter limit 0 +2025/08/20 07:38:36 [debug] 607849#607849: *5 writev: 5 of 5 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http write filter 0000000000000000 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http copy filter: 0 "/upload?" +2025/08/20 07:38:36 [debug] 607849#607849: *5 http finalize request: 0, "/upload?" a:1, c:1 +2025/08/20 07:38:36 [debug] 607849#607849: *5 set http keepalive handler +2025/08/20 07:38:36 [debug] 607849#607849: *5 http close request +2025/08/20 07:38:36 [debug] 607849#607849: *5 http log handler +2025/08/20 07:38:36 [debug] 607849#607849: *5 free: 00006236391B1160 +2025/08/20 07:38:36 [debug] 607849#607849: *5 free: 00006236391C5A30, unused: 3 +2025/08/20 07:38:36 [debug] 607849#607849: *5 free: 00006236391BBDA0, unused: 0 +2025/08/20 07:38:36 [debug] 607849#607849: *5 free: 00006236391B0150, unused: 10 +2025/08/20 07:38:36 [debug] 607849#607849: *5 free: 00006236391B2170, unused: 2805 +2025/08/20 07:38:36 [debug] 607849#607849: *5 free: 00006236391A90A0 +2025/08/20 07:38:36 [debug] 607849#607849: *5 hc free: 0000000000000000 +2025/08/20 07:38:36 [debug] 607849#607849: *5 hc busy: 0000000000000000 0 +2025/08/20 07:38:36 [debug] 607849#607849: *5 tcp_nodelay +2025/08/20 07:38:36 [debug] 607849#607849: *5 reusable connection: 1 +2025/08/20 07:38:36 [debug] 607849#607849: *5 event timer add: 6: 65000:256714224 +2025/08/20 07:38:36 [debug] 607849#607849: *5 post event 00006236391F7770 +2025/08/20 07:38:36 [debug] 607849#607849: timer delta: 1 +2025/08/20 07:38:36 [debug] 607849#607849: posted event 00006236391F7770 +2025/08/20 07:38:36 [debug] 607849#607849: *5 delete posted event 00006236391F7770 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http keepalive handler +2025/08/20 07:38:36 [debug] 607849#607849: *5 malloc: 00006236391A90A0:1024 +2025/08/20 07:38:36 [debug] 607849#607849: *5 recv: eof:0, avail:0 +2025/08/20 07:38:36 [debug] 607849#607849: *5 free: 00006236391A90A0 +2025/08/20 07:38:36 [debug] 607849#607849: worker cycle +2025/08/20 07:38:36 [debug] 607849#607849: epoll timer: 65000 +2025/08/20 07:38:36 [debug] 607849#607849: epoll: fd:6 ev:2005 d:0000736F36FC51E0 +2025/08/20 07:38:36 [debug] 607849#607849: *5 http keepalive handler +2025/08/20 07:38:36 [debug] 607849#607849: *5 malloc: 00006236391A90A0:1024 +2025/08/20 07:38:36 [debug] 607849#607849: *5 recv: eof:1, avail:-1 +2025/08/20 07:38:36 [debug] 607849#607849: *5 recv: fd:6 0 of 1024 +2025/08/20 07:38:36 [info] 607849#607849: *5 client 127.0.0.1 closed keepalive connection +2025/08/20 07:38:36 [debug] 607849#607849: *5 close http connection: 6 +2025/08/20 07:38:36 [debug] 607849#607849: *5 event timer del: 6: 256714224 +2025/08/20 07:38:36 [debug] 607849#607849: *5 reusable connection: 0 +2025/08/20 07:38:36 [debug] 607849#607849: *5 free: 00006236391A90A0 +2025/08/20 07:38:36 [debug] 607849#607849: *5 free: 00006236391A6840, unused: 120 +2025/08/20 07:38:36 [debug] 607849#607849: timer delta: 2 +2025/08/20 07:38:36 [debug] 607849#607849: worker cycle +2025/08/20 07:38:36 [debug] 607849#607849: epoll timer: -1 +2025/08/20 07:53:36 [notice] 607848#607848: signal 15 (SIGTERM) received from 610631, exiting +2025/08/20 07:53:36 [debug] 607848#607848: wake up, sigio 0 +2025/08/20 07:53:36 [debug] 607848#607848: child: 0 607849 e:0 t:0 d:0 r:1 j:0 +2025/08/20 07:53:36 [debug] 607848#607848: termination cycle: 50 +2025/08/20 07:53:36 [debug] 607848#607848: sigsuspend +2025/08/20 07:53:36 [debug] 607849#607849: epoll: fd:7 ev:0001 d:0000736F36FC50F8 +2025/08/20 07:53:36 [debug] 607849#607849: channel handler +2025/08/20 07:53:36 [debug] 607849#607849: channel: 32 +2025/08/20 07:53:36 [debug] 607849#607849: channel command: 4 +2025/08/20 07:53:36 [debug] 607849#607849: channel: -2 +2025/08/20 07:53:36 [debug] 607849#607849: timer delta: 899892 +2025/08/20 07:53:36 [notice] 607849#607849: exiting +2025/08/20 07:53:36 [debug] 607849#607849: flush files +2025/08/20 07:53:36 [debug] 607849#607849: run cleanup: 00006236391F4A80 +2025/08/20 07:53:36 [debug] 607849#607849: run cleanup: 00006236391E7A18 +2025/08/20 07:53:36 [debug] 607849#607849: cleanup resolver +2025/08/20 07:53:36 [debug] 607849#607849: free: 00006236391F5DE0 +2025/08/20 07:53:36 [debug] 607849#607849: free: 00006236391E8BE0 +2025/08/20 07:53:36 [debug] 607849#607849: free: 00006236391C7B50 +2025/08/20 07:53:36 [debug] 607849#607849: free: 00006236391C6A40 +2025/08/20 07:53:36 [debug] 607849#607849: free: 00006236391C0A10 +2025/08/20 07:53:36 [debug] 607849#607849: free: 00006236391BF950 +2025/08/20 07:53:36 [debug] 607849#607849: free: 00006236391BE890 +2025/08/20 07:53:36 [debug] 607849#607849: free: 00006236391BD7D0 +2025/08/20 07:53:36 [debug] 607849#607849: free: 00006236391B5170 +2025/08/20 07:53:36 [debug] 607849#607849: free: 00006236391AC140, unused: 0 +2025/08/20 07:53:36 [debug] 607849#607849: free: 00006236391B6580, unused: 0 +2025/08/20 07:53:36 [debug] 607849#607849: free: 00006236391C1A20, unused: 0 +2025/08/20 07:53:36 [debug] 607849#607849: free: 00006236391C8B60, unused: 0 +2025/08/20 07:53:36 [debug] 607849#607849: free: 00006236391CCB70, unused: 0 +2025/08/20 07:53:36 [debug] 607849#607849: free: 00006236391D0B80, unused: 0 +2025/08/20 07:53:36 [debug] 607849#607849: free: 00006236391D4B90, unused: 0 +2025/08/20 07:53:36 [debug] 607849#607849: free: 00006236391D8BA0, unused: 0 +2025/08/20 07:53:36 [debug] 607849#607849: free: 00006236391DCBB0, unused: 0 +2025/08/20 07:53:36 [debug] 607849#607849: free: 00006236391E0BC0, unused: 0 +2025/08/20 07:53:36 [debug] 607849#607849: free: 00006236391E4BD0, unused: 0 +2025/08/20 07:53:36 [debug] 607849#607849: free: 00006236391E9DB0, unused: 0 +2025/08/20 07:53:36 [debug] 607849#607849: free: 00006236391EDDC0, unused: 0 +2025/08/20 07:53:36 [debug] 607849#607849: free: 00006236391F1DD0, unused: 4920 +2025/08/20 07:53:36 [notice] 607849#607849: exit +2025/08/20 07:53:36 [notice] 607848#607848: signal 17 (SIGCHLD) received from 607849 +2025/08/20 07:53:36 [notice] 607848#607848: worker process 607849 exited with code 0 +2025/08/20 07:53:36 [debug] 607848#607848: shmtx forced unlock +2025/08/20 07:53:36 [debug] 607848#607848: wake up, sigio 3 +2025/08/20 07:53:36 [debug] 607848#607848: reap children +2025/08/20 07:53:36 [debug] 607848#607848: child: 0 607849 e:1 t:1 d:0 r:1 j:0 +2025/08/20 07:53:36 [notice] 607848#607848: exit +2025/08/20 07:53:36 [debug] 607848#607848: close listening 0.0.0.0:9001 #5 +2025/08/20 07:53:36 [debug] 607848#607848: run cleanup: 00006236391E7A18 +2025/08/20 07:53:36 [debug] 607848#607848: cleanup resolver +2025/08/20 07:53:36 [debug] 607848#607848: free: 00006236391F5DE0 +2025/08/20 07:53:36 [debug] 607848#607848: free: 00006236391E8BE0 +2025/08/20 07:53:36 [debug] 607848#607848: free: 00006236391C7B50 +2025/08/20 07:53:36 [debug] 607848#607848: free: 00006236391C6A40 +2025/08/20 07:53:36 [debug] 607848#607848: free: 00006236391C0A10 +2025/08/20 07:53:36 [debug] 607848#607848: free: 00006236391BF950 +2025/08/20 07:53:36 [debug] 607848#607848: free: 00006236391BE890 +2025/08/20 07:53:36 [debug] 607848#607848: free: 00006236391BD7D0 +2025/08/20 07:53:36 [debug] 607848#607848: free: 00006236391B5170 +2025/08/20 07:53:36 [debug] 607848#607848: free: 00006236391AC140, unused: 0 +2025/08/20 07:53:36 [debug] 607848#607848: free: 00006236391B6580, unused: 0 +2025/08/20 07:53:36 [debug] 607848#607848: free: 00006236391C1A20, unused: 0 +2025/08/20 07:53:36 [debug] 607848#607848: free: 00006236391C8B60, unused: 0 +2025/08/20 07:53:36 [debug] 607848#607848: free: 00006236391CCB70, unused: 0 +2025/08/20 07:53:36 [debug] 607848#607848: free: 00006236391D0B80, unused: 0 +2025/08/20 07:53:36 [debug] 607848#607848: free: 00006236391D4B90, unused: 0 +2025/08/20 07:53:36 [debug] 607848#607848: free: 00006236391D8BA0, unused: 0 +2025/08/20 07:53:36 [debug] 607848#607848: free: 00006236391DCBB0, unused: 0 +2025/08/20 07:53:36 [debug] 607848#607848: free: 00006236391E0BC0, unused: 0 +2025/08/20 07:53:36 [debug] 607848#607848: free: 00006236391E4BD0, unused: 0 +2025/08/20 07:53:36 [debug] 607848#607848: free: 00006236391E9DB0, unused: 0 +2025/08/20 07:53:36 [debug] 607848#607848: free: 00006236391EDDC0, unused: 0 +2025/08/20 07:53:36 [debug] 607848#607848: free: 00006236391F1DD0, unused: 4951 +2025/08/20 07:53:39 [debug] 610665#610665: bind() 0.0.0.0:9001 #5 +2025/08/20 07:53:39 [debug] 610665#610665: counter: 0000782133DE6080, 1 +2025/08/20 07:53:39 [debug] 610666#610666: bind() 0.0.0.0:9001 #5 +2025/08/20 07:53:39 [notice] 610666#610666: using the "epoll" event method +2025/08/20 07:53:39 [debug] 610666#610666: counter: 000077BA99F99080, 1 +2025/08/20 07:53:39 [notice] 610666#610666: nginx/1.18.0 (Ubuntu) +2025/08/20 07:53:39 [notice] 610666#610666: OS: Linux 6.12.10-76061203-generic +2025/08/20 07:53:39 [notice] 610666#610666: getrlimit(RLIMIT_NOFILE): 1048576:1048576 +2025/08/20 07:53:39 [debug] 610667#610666: write: 6, 00007FFDF3EBD690, 7, 0 +2025/08/20 07:53:39 [debug] 610667#610667: setproctitle: "nginx: master process nginx -p . -c config/local-nginx.conf" +2025/08/20 07:53:39 [notice] 610667#610667: start worker processes +2025/08/20 07:53:39 [debug] 610667#610667: channel 6:7 +2025/08/20 07:53:39 [notice] 610667#610667: start worker process 610668 +2025/08/20 07:53:39 [debug] 610667#610667: sigsuspend +2025/08/20 07:53:39 [debug] 610668#610668: add cleanup: 00005CBBF1D58A80 +2025/08/20 07:53:39 [debug] 610668#610668: malloc: 00005CBBF1D0BBD0:8 +2025/08/20 07:53:39 [debug] 610668#610668: notify eventfd: 9 +2025/08/20 07:53:39 [debug] 610668#610668: testing the EPOLLRDHUP flag: success +2025/08/20 07:53:39 [debug] 610668#610668: malloc: 00005CBBF1D1E590:6144 +2025/08/20 07:53:39 [debug] 610668#610668: malloc: 000077BA99D91010:237568 +2025/08/20 07:53:39 [debug] 610668#610668: malloc: 00005CBBF1D5B6B0:98304 +2025/08/20 07:53:39 [debug] 610668#610668: malloc: 00005CBBF1D736C0:98304 +2025/08/20 07:53:39 [debug] 610668#610668: epoll add event: fd:5 op:1 ev:00002001 +2025/08/20 07:53:39 [debug] 610668#610668: epoll add event: fd:7 op:1 ev:00002001 +2025/08/20 07:53:39 [debug] 610668#610668: setproctitle: "nginx: worker process" +2025/08/20 07:53:39 [debug] 610668#610668: worker cycle +2025/08/20 07:53:39 [debug] 610668#610668: epoll timer: -1 +2025/08/20 07:53:48 [debug] 610668#610668: epoll: fd:5 ev:0001 d:000077BA99D91010 +2025/08/20 07:53:48 [debug] 610668#610668: accept on 0.0.0.0:9001, ready: 0 +2025/08/20 07:53:48 [debug] 610668#610668: posix_memalign: 00005CBBF1D0A840:512 @16 +2025/08/20 07:53:48 [debug] 610668#610668: *1 accept: 127.0.0.1:57652 fd:6 +2025/08/20 07:53:48 [debug] 610668#610668: *1 event timer add: 6: 60000:257621285 +2025/08/20 07:53:48 [debug] 610668#610668: *1 reusable connection: 1 +2025/08/20 07:53:48 [debug] 610668#610668: *1 epoll add event: fd:6 op:1 ev:80002001 +2025/08/20 07:53:48 [debug] 610668#610668: timer delta: 8969 +2025/08/20 07:53:48 [debug] 610668#610668: worker cycle +2025/08/20 07:53:48 [debug] 610668#610668: epoll timer: 60000 +2025/08/20 07:53:48 [debug] 610668#610668: epoll: fd:6 ev:0001 d:000077BA99D911E0 +2025/08/20 07:53:48 [debug] 610668#610668: *1 http wait request handler +2025/08/20 07:53:48 [debug] 610668#610668: *1 malloc: 00005CBBF1D0D0A0:1024 +2025/08/20 07:53:48 [debug] 610668#610668: *1 recv: eof:0, avail:-1 +2025/08/20 07:53:48 [debug] 610668#610668: *1 recv: fd:6 84 of 1024 +2025/08/20 07:53:48 [debug] 610668#610668: *1 reusable connection: 0 +2025/08/20 07:53:48 [debug] 610668#610668: *1 posix_memalign: 00005CBBF1D29A30:4096 @16 +2025/08/20 07:53:48 [debug] 610668#610668: *1 http process request line +2025/08/20 07:53:48 [debug] 610668#610668: *1 http request line: "GET /health HTTP/1.1" +2025/08/20 07:53:48 [debug] 610668#610668: *1 http uri: "/health" +2025/08/20 07:53:48 [debug] 610668#610668: *1 http args: "" +2025/08/20 07:53:48 [debug] 610668#610668: *1 http exten: "" +2025/08/20 07:53:48 [debug] 610668#610668: *1 posix_memalign: 00005CBBF1D1FDA0:4096 @16 +2025/08/20 07:53:48 [debug] 610668#610668: *1 http process request header line +2025/08/20 07:53:48 [debug] 610668#610668: *1 http header: "Host: localhost:9001" +2025/08/20 07:53:48 [debug] 610668#610668: *1 http header: "User-Agent: curl/8.15.0" +2025/08/20 07:53:48 [debug] 610668#610668: *1 http header: "Accept: */*" +2025/08/20 07:53:48 [debug] 610668#610668: *1 http header done +2025/08/20 07:53:48 [debug] 610668#610668: *1 event timer del: 6: 257621285 +2025/08/20 07:53:48 [debug] 610668#610668: *1 generic phase: 0 +2025/08/20 07:53:48 [debug] 610668#610668: *1 rewrite phase: 1 +2025/08/20 07:53:48 [debug] 610668#610668: *1 test location: "/health" +2025/08/20 07:53:48 [debug] 610668#610668: *1 test location: ~ "^/([a-f0-9]{64}).*$" +2025/08/20 07:53:48 [debug] 610668#610668: *1 test location: ~ "^/([a-f0-9]{64})(\.[a-zA-Z0-9]+)?$" +2025/08/20 07:53:48 [debug] 610668#610668: *1 test location: ~ "^/fcgi-head/([a-f0-9]{64}).*$" +2025/08/20 07:53:48 [debug] 610668#610668: *1 test location: ~ "^/list/([a-f0-9]{64}).*$" +2025/08/20 07:53:48 [debug] 610668#610668: *1 using configuration "/health" +2025/08/20 07:53:48 [debug] 610668#610668: *1 http cl:-1 max:104857600 +2025/08/20 07:53:48 [debug] 610668#610668: *1 rewrite phase: 3 +2025/08/20 07:53:48 [debug] 610668#610668: *1 http set discard body +2025/08/20 07:53:48 [debug] 610668#610668: *1 HTTP/1.1 200 OK +Server: nginx/1.18.0 (Ubuntu) +Date: Wed, 20 Aug 2025 11:53:48 GMT +Content-Type: application/octet-stream +Content-Length: 3 +Connection: keep-alive +Content-Type: text/plain + +2025/08/20 07:53:48 [debug] 610668#610668: *1 write new buf t:1 f:0 00005CBBF1D20180, pos 00005CBBF1D20180, size: 196 file: 0, size: 0 +2025/08/20 07:53:48 [debug] 610668#610668: *1 http write filter: l:0 f:0 s:196 +2025/08/20 07:53:48 [debug] 610668#610668: *1 http output filter "/health?" +2025/08/20 07:53:48 [debug] 610668#610668: *1 http copy filter: "/health?" +2025/08/20 07:53:48 [debug] 610668#610668: *1 http postpone filter "/health?" 00007FFDF3EBD220 +2025/08/20 07:53:48 [debug] 610668#610668: *1 write old buf t:1 f:0 00005CBBF1D20180, pos 00005CBBF1D20180, size: 196 file: 0, size: 0 +2025/08/20 07:53:48 [debug] 610668#610668: *1 write new buf t:0 f:0 0000000000000000, pos 00005CBBF1D47B42, size: 3 file: 0, size: 0 +2025/08/20 07:53:48 [debug] 610668#610668: *1 http write filter: l:1 f:0 s:199 +2025/08/20 07:53:48 [debug] 610668#610668: *1 http write filter limit 0 +2025/08/20 07:53:48 [debug] 610668#610668: *1 writev: 199 of 199 +2025/08/20 07:53:48 [debug] 610668#610668: *1 http write filter 0000000000000000 +2025/08/20 07:53:48 [debug] 610668#610668: *1 http copy filter: 0 "/health?" +2025/08/20 07:53:48 [debug] 610668#610668: *1 http finalize request: 0, "/health?" a:1, c:1 +2025/08/20 07:53:48 [debug] 610668#610668: *1 set http keepalive handler +2025/08/20 07:53:48 [debug] 610668#610668: *1 http close request +2025/08/20 07:53:48 [debug] 610668#610668: *1 http log handler +2025/08/20 07:53:48 [debug] 610668#610668: *1 free: 00005CBBF1D29A30, unused: 0 +2025/08/20 07:53:48 [debug] 610668#610668: *1 free: 00005CBBF1D1FDA0, unused: 2736 +2025/08/20 07:53:48 [debug] 610668#610668: *1 free: 00005CBBF1D0D0A0 +2025/08/20 07:53:48 [debug] 610668#610668: *1 hc free: 0000000000000000 +2025/08/20 07:53:48 [debug] 610668#610668: *1 hc busy: 0000000000000000 0 +2025/08/20 07:53:48 [debug] 610668#610668: *1 tcp_nodelay +2025/08/20 07:53:48 [debug] 610668#610668: *1 reusable connection: 1 +2025/08/20 07:53:48 [debug] 610668#610668: *1 event timer add: 6: 65000:257626285 +2025/08/20 07:53:48 [debug] 610668#610668: timer delta: 0 +2025/08/20 07:53:48 [debug] 610668#610668: worker cycle +2025/08/20 07:53:48 [debug] 610668#610668: epoll timer: 65000 +2025/08/20 07:53:48 [debug] 610668#610668: epoll: fd:6 ev:2001 d:000077BA99D911E0 +2025/08/20 07:53:48 [debug] 610668#610668: *1 http keepalive handler +2025/08/20 07:53:48 [debug] 610668#610668: *1 malloc: 00005CBBF1D0D0A0:1024 +2025/08/20 07:53:48 [debug] 610668#610668: *1 recv: eof:1, avail:-1 +2025/08/20 07:53:48 [debug] 610668#610668: *1 recv: fd:6 0 of 1024 +2025/08/20 07:53:48 [info] 610668#610668: *1 client 127.0.0.1 closed keepalive connection +2025/08/20 07:53:48 [debug] 610668#610668: *1 close http connection: 6 +2025/08/20 07:53:48 [debug] 610668#610668: *1 event timer del: 6: 257626285 +2025/08/20 07:53:48 [debug] 610668#610668: *1 reusable connection: 0 +2025/08/20 07:53:48 [debug] 610668#610668: *1 free: 00005CBBF1D0D0A0 +2025/08/20 07:53:48 [debug] 610668#610668: *1 free: 00005CBBF1D0A840, unused: 136 +2025/08/20 07:53:48 [debug] 610668#610668: timer delta: 1 +2025/08/20 07:53:48 [debug] 610668#610668: worker cycle +2025/08/20 07:53:48 [debug] 610668#610668: epoll timer: -1 +2025/08/20 07:53:48 [debug] 610668#610668: epoll: fd:5 ev:0001 d:000077BA99D91010 +2025/08/20 07:53:48 [debug] 610668#610668: accept on 0.0.0.0:9001, ready: 0 +2025/08/20 07:53:48 [debug] 610668#610668: posix_memalign: 00005CBBF1D0A840:512 @16 +2025/08/20 07:53:48 [debug] 610668#610668: *2 accept: 127.0.0.1:57668 fd:6 +2025/08/20 07:53:48 [debug] 610668#610668: *2 event timer add: 6: 60000:257621614 +2025/08/20 07:53:48 [debug] 610668#610668: *2 reusable connection: 1 +2025/08/20 07:53:48 [debug] 610668#610668: *2 epoll add event: fd:6 op:1 ev:80002001 +2025/08/20 07:53:48 [debug] 610668#610668: timer delta: 328 +2025/08/20 07:53:48 [debug] 610668#610668: worker cycle +2025/08/20 07:53:48 [debug] 610668#610668: epoll timer: 60000 +2025/08/20 07:53:48 [debug] 610668#610668: epoll: fd:6 ev:0001 d:000077BA99D911E1 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http wait request handler +2025/08/20 07:53:48 [debug] 610668#610668: *2 malloc: 00005CBBF1D0D0A0:1024 +2025/08/20 07:53:48 [debug] 610668#610668: *2 recv: eof:0, avail:-1 +2025/08/20 07:53:48 [debug] 610668#610668: *2 recv: fd:6 1024 of 1024 +2025/08/20 07:53:48 [debug] 610668#610668: *2 recv: avail:112 +2025/08/20 07:53:48 [debug] 610668#610668: *2 reusable connection: 0 +2025/08/20 07:53:48 [debug] 610668#610668: *2 posix_memalign: 00005CBBF1D29A30:4096 @16 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http process request line +2025/08/20 07:53:48 [debug] 610668#610668: *2 http request line: "PUT /upload HTTP/1.1" +2025/08/20 07:53:48 [debug] 610668#610668: *2 http uri: "/upload" +2025/08/20 07:53:48 [debug] 610668#610668: *2 http args: "" +2025/08/20 07:53:48 [debug] 610668#610668: *2 http exten: "" +2025/08/20 07:53:48 [debug] 610668#610668: *2 posix_memalign: 00005CBBF1D1FDA0:4096 @16 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http process request header line +2025/08/20 07:53:48 [debug] 610668#610668: *2 http header: "Host: localhost:9001" +2025/08/20 07:53:48 [debug] 610668#610668: *2 http header: "User-Agent: curl/8.15.0" +2025/08/20 07:53:48 [debug] 610668#610668: *2 http header: "Accept: */*" +2025/08/20 07:53:48 [debug] 610668#610668: *2 http header: "Authorization: Nostr eyJraW5kIjoyNDI0MiwiaWQiOiJjOWVmOWU3OTkzMDg0ZmNiNzc5ZTUwMDllNDAzNDUwOGZjNjU5YWNkNzEzZmU1NjlhMDliYjIzNmQyYzA4OTAxIiwicHVia2V5IjoiNzliZTY2N2VmOWRjYmJhYzU1YTA2Mjk1Y2U4NzBiMDcwMjliZmNkYjJkY2UyOGQ5NTlmMjgxNWIxNmY4MTc5OCIsImNyZWF0ZWRfYXQiOjE3NTU2OTA4MjgsInRhZ3MiOltbInQiLCJ1cGxvYWQiXSxbIngiLCI5MDY3ZWNlYTE3NWNmNjUzYTYyYWVlNDBmZjU1MGE2MjNlMjg5YjJmNTI2OWYyY2Q5MDk5MTkzZjQ1NTQ3YmM2Il0sWyJleHBpcmF0aW9uIiwiMTc1NTY5NDQyOCJdXSwiY29udGVudCI6IiIsInNpZyI6IjFkMDVmZjU5YzRiNDU1ODkyYTk0YWJmNjA0M2EzMzhkNDM3MzEyYmNiNGQ3ZDQ5ZGM1Nzk4Y2IwNGJhMjU0MDc1OGVmMzk2YmU4M2MzZmQ2ZWY4ZDAzZjMwYWY4YzNmOWZjZGU0MTQ3NjJmMWU0OWYxMzdmYWRiNTlmYzYwYmUwIn0=" +2025/08/20 07:53:48 [debug] 610668#610668: *2 http header: "Content-Type: text/plain" +2025/08/20 07:53:48 [debug] 610668#610668: *2 http header: "Content-Disposition: attachment; filename="test_blob_1755690828.txt"" +2025/08/20 07:53:48 [debug] 610668#610668: *2 http header: "Content-Length: 296" +2025/08/20 07:53:48 [debug] 610668#610668: *2 http header done +2025/08/20 07:53:48 [debug] 610668#610668: *2 event timer del: 6: 257621614 +2025/08/20 07:53:48 [debug] 610668#610668: *2 generic phase: 0 +2025/08/20 07:53:48 [debug] 610668#610668: *2 rewrite phase: 1 +2025/08/20 07:53:48 [debug] 610668#610668: *2 test location: "/health" +2025/08/20 07:53:48 [debug] 610668#610668: *2 test location: "/upload" +2025/08/20 07:53:48 [debug] 610668#610668: *2 test location: ~ "^/([a-f0-9]{64}).*$" +2025/08/20 07:53:48 [debug] 610668#610668: *2 test location: ~ "^/([a-f0-9]{64})(\.[a-zA-Z0-9]+)?$" +2025/08/20 07:53:48 [debug] 610668#610668: *2 test location: ~ "^/fcgi-head/([a-f0-9]{64}).*$" +2025/08/20 07:53:48 [debug] 610668#610668: *2 test location: ~ "^/list/([a-f0-9]{64}).*$" +2025/08/20 07:53:48 [debug] 610668#610668: *2 using configuration "/upload" +2025/08/20 07:53:48 [debug] 610668#610668: *2 http cl:296 max:104857600 +2025/08/20 07:53:48 [debug] 610668#610668: *2 rewrite phase: 3 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http script var +2025/08/20 07:53:48 [debug] 610668#610668: *2 http script var: "PUT" +2025/08/20 07:53:48 [debug] 610668#610668: *2 http script regex: "^(PUT)$" +2025/08/20 07:53:48 [notice] 610668#610668: *2 "^(PUT)$" matches "PUT", client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", host: "localhost:9001" +2025/08/20 07:53:48 [debug] 610668#610668: *2 http script if +2025/08/20 07:53:48 [debug] 610668#610668: *2 http script if: false +2025/08/20 07:53:48 [debug] 610668#610668: *2 post rewrite phase: 4 +2025/08/20 07:53:48 [debug] 610668#610668: *2 generic phase: 5 +2025/08/20 07:53:48 [debug] 610668#610668: *2 generic phase: 6 +2025/08/20 07:53:48 [debug] 610668#610668: *2 generic phase: 7 +2025/08/20 07:53:48 [debug] 610668#610668: *2 access phase: 8 +2025/08/20 07:53:48 [debug] 610668#610668: *2 access phase: 9 +2025/08/20 07:53:48 [debug] 610668#610668: *2 access phase: 10 +2025/08/20 07:53:48 [debug] 610668#610668: *2 post access phase: 11 +2025/08/20 07:53:48 [debug] 610668#610668: *2 generic phase: 12 +2025/08/20 07:53:48 [debug] 610668#610668: *2 generic phase: 13 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http client request body preread 184 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http request body content length filter +2025/08/20 07:53:48 [debug] 610668#610668: *2 http body new buf t:1 f:0 00005CBBF1D0D3E8, pos 00005CBBF1D0D3E8, size: 184 file: 0, size: 0 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http read client request body +2025/08/20 07:53:48 [debug] 610668#610668: *2 recv: eof:0, avail:112 +2025/08/20 07:53:48 [debug] 610668#610668: *2 recv: fd:6 112 of 112 +2025/08/20 07:53:48 [debug] 610668#610668: *2 recv: avail:0 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http client request body recv 112 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http body new buf t:1 f:0 00005CBBF1D20830, pos 00005CBBF1D20830, size: 112 file: 0, size: 0 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http client request body rest 0 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http init upstream, client timer: 0 +2025/08/20 07:53:48 [debug] 610668#610668: *2 epoll add event: fd:6 op:3 ev:80002005 +2025/08/20 07:53:48 [debug] 610668#610668: *2 posix_memalign: 00005CBBF1D14150:4096 @16 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http script copy: "QUERY_STRING" +2025/08/20 07:53:48 [debug] 610668#610668: *2 fastcgi param: "QUERY_STRING: " +2025/08/20 07:53:48 [debug] 610668#610668: *2 http script copy: "REQUEST_METHOD" +2025/08/20 07:53:48 [debug] 610668#610668: *2 http script var: "PUT" +2025/08/20 07:53:48 [debug] 610668#610668: *2 fastcgi param: "REQUEST_METHOD: PUT" +2025/08/20 07:53:48 [debug] 610668#610668: *2 http script copy: "CONTENT_TYPE" +2025/08/20 07:53:48 [debug] 610668#610668: *2 http script var: "text/plain" +2025/08/20 07:53:48 [debug] 610668#610668: *2 fastcgi param: "CONTENT_TYPE: text/plain" +2025/08/20 07:53:48 [debug] 610668#610668: *2 http script copy: "CONTENT_LENGTH" +2025/08/20 07:53:48 [debug] 610668#610668: *2 http script var: "296" +2025/08/20 07:53:48 [debug] 610668#610668: *2 fastcgi param: "CONTENT_LENGTH: 296" +2025/08/20 07:53:48 [debug] 610668#610668: *2 http script copy: "SCRIPT_NAME" +2025/08/20 07:53:48 [debug] 610668#610668: *2 http script var: "/upload" +2025/08/20 07:53:48 [debug] 610668#610668: *2 fastcgi param: "SCRIPT_NAME: /upload" +2025/08/20 07:53:48 [debug] 610668#610668: *2 http script copy: "REQUEST_URI" +2025/08/20 07:53:48 [debug] 610668#610668: *2 http script var: "/upload" +2025/08/20 07:53:48 [debug] 610668#610668: *2 fastcgi param: "REQUEST_URI: /upload" +2025/08/20 07:53:48 [debug] 610668#610668: *2 http script copy: "DOCUMENT_URI" +2025/08/20 07:53:48 [debug] 610668#610668: *2 http script var: "/upload" +2025/08/20 07:53:48 [debug] 610668#610668: *2 fastcgi param: "DOCUMENT_URI: /upload" +2025/08/20 07:53:48 [debug] 610668#610668: *2 http script copy: "DOCUMENT_ROOT" +2025/08/20 07:53:48 [debug] 610668#610668: *2 http script var: "./blobs" +2025/08/20 07:53:48 [debug] 610668#610668: *2 fastcgi param: "DOCUMENT_ROOT: ./blobs" +2025/08/20 07:53:48 [debug] 610668#610668: *2 http script copy: "SERVER_PROTOCOL" +2025/08/20 07:53:48 [debug] 610668#610668: *2 http script var: "HTTP/1.1" +2025/08/20 07:53:48 [debug] 610668#610668: *2 fastcgi param: "SERVER_PROTOCOL: HTTP/1.1" +2025/08/20 07:53:48 [debug] 610668#610668: *2 http script copy: "REQUEST_SCHEME" +2025/08/20 07:53:48 [debug] 610668#610668: *2 http script var: "http" +2025/08/20 07:53:48 [debug] 610668#610668: *2 fastcgi param: "REQUEST_SCHEME: http" +2025/08/20 07:53:48 [debug] 610668#610668: *2 http script copy: "" +2025/08/20 07:53:48 [debug] 610668#610668: *2 http script copy: "GATEWAY_INTERFACE" +2025/08/20 07:53:48 [debug] 610668#610668: *2 http script copy: "CGI/1.1" +2025/08/20 07:53:48 [debug] 610668#610668: *2 fastcgi param: "GATEWAY_INTERFACE: CGI/1.1" +2025/08/20 07:53:48 [debug] 610668#610668: *2 http script copy: "SERVER_SOFTWARE" +2025/08/20 07:53:48 [debug] 610668#610668: *2 http script copy: "nginx/" +2025/08/20 07:53:48 [debug] 610668#610668: *2 http script var: "1.18.0" +2025/08/20 07:53:48 [debug] 610668#610668: *2 fastcgi param: "SERVER_SOFTWARE: nginx/1.18.0" +2025/08/20 07:53:48 [debug] 610668#610668: *2 http script copy: "REMOTE_ADDR" +2025/08/20 07:53:48 [debug] 610668#610668: *2 http script var: "127.0.0.1" +2025/08/20 07:53:48 [debug] 610668#610668: *2 fastcgi param: "REMOTE_ADDR: 127.0.0.1" +2025/08/20 07:53:48 [debug] 610668#610668: *2 http script copy: "REMOTE_PORT" +2025/08/20 07:53:48 [debug] 610668#610668: *2 http script var: "57668" +2025/08/20 07:53:48 [debug] 610668#610668: *2 fastcgi param: "REMOTE_PORT: 57668" +2025/08/20 07:53:48 [debug] 610668#610668: *2 http script copy: "SERVER_ADDR" +2025/08/20 07:53:48 [debug] 610668#610668: *2 http script var: "127.0.0.1" +2025/08/20 07:53:48 [debug] 610668#610668: *2 fastcgi param: "SERVER_ADDR: 127.0.0.1" +2025/08/20 07:53:48 [debug] 610668#610668: *2 http script copy: "SERVER_PORT" +2025/08/20 07:53:48 [debug] 610668#610668: *2 http script var: "9001" +2025/08/20 07:53:48 [debug] 610668#610668: *2 fastcgi param: "SERVER_PORT: 9001" +2025/08/20 07:53:48 [debug] 610668#610668: *2 http script copy: "SERVER_NAME" +2025/08/20 07:53:48 [debug] 610668#610668: *2 http script var: "localhost" +2025/08/20 07:53:48 [debug] 610668#610668: *2 fastcgi param: "SERVER_NAME: localhost" +2025/08/20 07:53:48 [debug] 610668#610668: *2 http script copy: "REDIRECT_STATUS" +2025/08/20 07:53:48 [debug] 610668#610668: *2 http script copy: "200" +2025/08/20 07:53:48 [debug] 610668#610668: *2 fastcgi param: "REDIRECT_STATUS: 200" +2025/08/20 07:53:48 [debug] 610668#610668: *2 http script copy: "SCRIPT_FILENAME" +2025/08/20 07:53:48 [debug] 610668#610668: *2 http script var: "./blobs" +2025/08/20 07:53:48 [debug] 610668#610668: *2 http script copy: "/ginxsom.fcgi" +2025/08/20 07:53:48 [debug] 610668#610668: *2 fastcgi param: "SCRIPT_FILENAME: ./blobs/ginxsom.fcgi" +2025/08/20 07:53:48 [debug] 610668#610668: *2 fastcgi param: "HTTP_HOST: localhost:9001" +2025/08/20 07:53:48 [debug] 610668#610668: *2 fastcgi param: "HTTP_USER_AGENT: curl/8.15.0" +2025/08/20 07:53:48 [debug] 610668#610668: *2 fastcgi param: "HTTP_ACCEPT: */*" +2025/08/20 07:53:48 [debug] 610668#610668: *2 fastcgi param: "HTTP_AUTHORIZATION: Nostr eyJraW5kIjoyNDI0MiwiaWQiOiJjOWVmOWU3OTkzMDg0ZmNiNzc5ZTUwMDllNDAzNDUwOGZjNjU5YWNkNzEzZmU1NjlhMDliYjIzNmQyYzA4OTAxIiwicHVia2V5IjoiNzliZTY2N2VmOWRjYmJhYzU1YTA2Mjk1Y2U4NzBiMDcwMjliZmNkYjJkY2UyOGQ5NTlmMjgxNWIxNmY4MTc5OCIsImNyZWF0ZWRfYXQiOjE3NTU2OTA4MjgsInRhZ3MiOltbInQiLCJ1cGxvYWQiXSxbIngiLCI5MDY3ZWNlYTE3NWNmNjUzYTYyYWVlNDBmZjU1MGE2MjNlMjg5YjJmNTI2OWYyY2Q5MDk5MTkzZjQ1NTQ3YmM2Il0sWyJleHBpcmF0aW9uIiwiMTc1NTY5NDQyOCJdXSwiY29udGVudCI6IiIsInNpZyI6IjFkMDVmZjU5YzRiNDU1ODkyYTk0YWJmNjA0M2EzMzhkNDM3MzEyYmNiNGQ3ZDQ5ZGM1Nzk4Y2IwNGJhMjU0MDc1OGVmMzk2YmU4M2MzZmQ2ZWY4ZDAzZjMwYWY4YzNmOWZjZGU0MTQ3NjJmMWU0OWYxMzdmYWRiNTlmYzYwYmUwIn0=" +2025/08/20 07:53:48 [debug] 610668#610668: *2 fastcgi param: "HTTP_CONTENT_TYPE: text/plain" +2025/08/20 07:53:48 [debug] 610668#610668: *2 fastcgi param: "HTTP_CONTENT_DISPOSITION: attachment; filename="test_blob_1755690828.txt"" +2025/08/20 07:53:48 [debug] 610668#610668: *2 fastcgi param: "HTTP_CONTENT_LENGTH: 296" +2025/08/20 07:53:48 [debug] 610668#610668: *2 http cleanup add: 00005CBBF1D20B80 +2025/08/20 07:53:48 [debug] 610668#610668: *2 get rr peer, try: 1 +2025/08/20 07:53:48 [debug] 610668#610668: *2 stream socket 10 +2025/08/20 07:53:48 [debug] 610668#610668: *2 epoll add connection: fd:10 ev:80002005 +2025/08/20 07:53:48 [debug] 610668#610668: *2 connect to unix:/tmp/ginxsom-fcgi.sock, fd:10 #3 +2025/08/20 07:53:48 [debug] 610668#610668: *2 connected +2025/08/20 07:53:48 [debug] 610668#610668: *2 http upstream connect: 0 +2025/08/20 07:53:48 [debug] 610668#610668: *2 posix_memalign: 00005CBBF1CF3F20:128 @16 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http upstream send request +2025/08/20 07:53:48 [debug] 610668#610668: *2 http upstream send request body +2025/08/20 07:53:48 [debug] 610668#610668: *2 chain writer buf fl:0 s:1304 +2025/08/20 07:53:48 [debug] 610668#610668: *2 chain writer buf fl:0 s:184 +2025/08/20 07:53:48 [debug] 610668#610668: *2 chain writer buf fl:0 s:8 +2025/08/20 07:53:48 [debug] 610668#610668: *2 chain writer buf fl:0 s:112 +2025/08/20 07:53:48 [debug] 610668#610668: *2 chain writer buf fl:0 s:8 +2025/08/20 07:53:48 [debug] 610668#610668: *2 chain writer in: 00005CBBF1D20C10 +2025/08/20 07:53:48 [debug] 610668#610668: *2 writev: 1616 of 1616 +2025/08/20 07:53:48 [debug] 610668#610668: *2 chain writer out: 0000000000000000 +2025/08/20 07:53:48 [debug] 610668#610668: *2 event timer add: 10: 60000:257621615 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http finalize request: -4, "/upload?" a:1, c:2 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http request count:2 blk:0 +2025/08/20 07:53:48 [debug] 610668#610668: timer delta: 1 +2025/08/20 07:53:48 [debug] 610668#610668: worker cycle +2025/08/20 07:53:48 [debug] 610668#610668: epoll timer: 60000 +2025/08/20 07:53:48 [debug] 610668#610668: epoll: fd:6 ev:0004 d:000077BA99D911E1 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http run request: "/upload?" +2025/08/20 07:53:48 [debug] 610668#610668: *2 http upstream check client, write event:1, "/upload" +2025/08/20 07:53:48 [debug] 610668#610668: epoll: fd:10 ev:0004 d:000077BA99D912C8 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http upstream request: "/upload?" +2025/08/20 07:53:48 [debug] 610668#610668: *2 http upstream dummy handler +2025/08/20 07:53:48 [debug] 610668#610668: timer delta: 2 +2025/08/20 07:53:48 [debug] 610668#610668: worker cycle +2025/08/20 07:53:48 [debug] 610668#610668: epoll timer: 59998 +2025/08/20 07:53:48 [debug] 610668#610668: epoll: fd:10 ev:0005 d:000077BA99D912C8 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http upstream request: "/upload?" +2025/08/20 07:53:48 [debug] 610668#610668: *2 http upstream process header +2025/08/20 07:53:48 [debug] 610668#610668: *2 malloc: 00005CBBF1D15160:4096 +2025/08/20 07:53:48 [debug] 610668#610668: *2 recv: eof:0, avail:-1 +2025/08/20 07:53:48 [debug] 610668#610668: *2 recv: fd:10 2560 of 4096 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi record byte: 01 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi record byte: 07 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi record byte: 00 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi record byte: 01 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi record byte: 01 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi record byte: F8 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi record byte: 00 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi record byte: 00 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi record length: 504 +2025/08/20 07:53:48 [error] 610668#610668: *2 FastCGI sent in stderr: "DEBUG: FastCGI received request +DEBUG: METHOD=PUT, URI=/upload +DEBUG: handle_upload_request called +LOG: [2025-08-20 07:53:48] PUT /upload - Auth: pending - Status: 0 +DEBUG: content_type=text/plain +DEBUG: content_length=296 +DEBUG: Raw Authorization header: Nostr eyJraW5kIjoyNDI0MiwiaWQiOiJjOWVmOWU3OTkzMDg0ZmNiNzc5ZTUwMDllNDAzNDUwOGZjNjU5YWNkNzEzZmU1NjlhMDliYjIzNmQyYzA4OTAxIiwicHVia2V5IjoiNzliZTY2N2VmOWRjYmJhYzU1YTA2Mjk1Y2U4NzBiMDcwMjliZmNkYjJkY2UyOGQ5NTlmMjgxNWIxNmY4MTc5OCIsImNyZWF0ZWRfYXQiOjE3" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi record byte: 01 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi record byte: 07 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi record byte: 00 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi record byte: 01 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi record byte: 01 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi record byte: F8 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi record byte: 00 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi record byte: 00 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi record length: 504 +2025/08/20 07:53:48 [error] 610668#610668: *2 FastCGI sent in stderr: "NTU2OTA4MjgsInRhZ3MiOltbInQiLCJ1cGxvYWQiXSxbIngiLCI5MDY3ZWNlYTE3NWNmNjUzYTYyYWVlNDBmZjU1MGE2MjNlMjg5YjJmNTI2OWYyY2Q5MDk5MTkzZjQ1NTQ3YmM2Il0sWyJleHBpcmF0aW9uIiwiMTc1NTY5NDQyOCJdXSwiY29udGVudCI6IiIsInNpZyI6IjFkMDVmZjU5YzRiNDU1ODkyYTk0YWJmNjA0M2EzMzhkNDM3MzEyYmNiNGQ3ZDQ5ZGM1Nzk4Y2IwNGJhMjU0MDc1OGVmMzk2YmU4M2MzZmQ2ZWY4ZDAzZjMwYWY4YzNmOWZjZGU0MTQ3NjJmMWU0OWYxMzdmYWRiNTlmYzYwYmUwIn0= +LOG: [2025-08-20 07:53:48] PUT /upload - Auth: auth_provided - Status: 0 +DEBUG: Successfully read DEBUG-LAAN: DATA TO HAS" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi record byte: 01 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi record byte: 07 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi record byte: 00 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi record byte: 01 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi record byte: 01 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi record byte: F8 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi record byte: 00 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi record byte: 00 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi record length: 504 +2025/08/20 07:53:48 [error] 610668#610668: *2 FastCGI sent in stderr: "H: Test blob content for Ginxsom Blossom server +Timestamp: 2025-08-20T07:53:48-04:00 +Random data: 48cf531eb9f4747119e7737943ff0e055f5ec5a780fc9dff4eb0d7112e4be602 +Test message: Hello from put_test.sh! + +This file is used to test the upload functionality +of the Ginxsom Blossom server implementation. + +DEBUG-LAAN: Calculated SHA-256: 9067ecea175cf653a62aee40ff550a623e289b2f5269f2cd9099193f45547bc6 +══════════════════════════════════" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi record byte: 01 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi record byte: 07 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi record byte: 00 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi record byte: 01 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi record byte: 01 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi record byte: F8 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi record byte: 00 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi record byte: 00 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi record length: 504 +2025/08/20 07:53:48 [error] 610668#610668: *2 FastCGI sent in stderr: "════════════════════════════════ +🔍 STEP SERVER-1: Starting server-style authentication (mirroring test_auth_debug.c) +ℹ️ INFO: Server-style auth called with method: upload, hash: 9067ecea175cf653a62aee40ff550a623e289b2f5269f2cd9099193f45547bc6 +🔍 STEP SERVER-2: Calling parse_authorization_header +DEBUG: parse_authorization_header called with header: Nostr eyJraW5kIjoyNDI0MiwiaWQiOiJjOWVmOWU3OTkzMDg0... +DEBUG: Extracted base64" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi record byte: 01 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi record byte: 07 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi record byte: 00 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi record byte: 01 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi record byte: 01 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi record byte: F8 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi record byte: 00 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi record byte: 00 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi record length: 504 +2025/08/20 07:53:48 [error] 610668#610668: *2 FastCGI sent in stderr: "event (length=DEBUG: Base64 decode result - decoded_len=DEBUG: Successfully decoded JSON (length=✅ SUCCESS: parse_authorization_header succeeded +🔍 STEP SERVER-3: Calling cJSON_Parse on JSON string +ℹ️ INFO: JSON to parse: {"kind":24242,"id":"c9ef9e7993084fcb779e5009e4034508fc659acd713fe569a09bb236d2c08901","pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1755690828,"tags":[["t","upload"],["x","9067ecea175cf653a62aee40ff550a623e289b2f5269f2cd9099193f45" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 07:53:48 [debug] 610668#610668: *2 recv: eof:0, avail:0 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http upstream request: "/upload?" +2025/08/20 07:53:48 [debug] 610668#610668: *2 http upstream dummy handler +2025/08/20 07:53:48 [debug] 610668#610668: timer delta: 0 +2025/08/20 07:53:48 [debug] 610668#610668: worker cycle +2025/08/20 07:53:48 [debug] 610668#610668: epoll timer: 59998 +2025/08/20 07:53:48 [debug] 610668#610668: epoll: fd:10 ev:2005 d:000077BA99D912C8 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http upstream request: "/upload?" +2025/08/20 07:53:48 [debug] 610668#610668: *2 http upstream process header +2025/08/20 07:53:48 [debug] 610668#610668: *2 recv: eof:1, avail:-1 +2025/08/20 07:53:48 [debug] 610668#610668: *2 recv: fd:10 2680 of 4096 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi record byte: 01 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi record byte: 07 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi record byte: 00 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi record byte: 01 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi record byte: 01 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi record byte: F8 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi record byte: 00 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi record byte: 00 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi record length: 504 +2025/08/20 07:53:48 [error] 610668#610668: *2 FastCGI sent in stderr: "547bc6"],["expiration","1755694428"]],"content":"","sig":"1d05ff59c4b455892a94abf6043a338d437312bcb4d7d49dc5798cb04ba2540758ef396be83c3fd6ef8d03f30af8c3f9fcde414762f1e49f137fadb59fc60be0"} +✅ SUCCESS: cJSON_Parse succeeded, event parsed +ℹ️ INFO: Parsed JSON: { + "kind": 24242, + "id": "c9ef9e7993084fcb779e5009e4034508fc659acd713fe569a09bb236d2c08901", + "pubkey": "79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798", + "created_at": 1755690828, + "tags": [["t", "upload"], ["x", "9067ec" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi record byte: 01 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi record byte: 07 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi record byte: 00 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi record byte: 01 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi record byte: 01 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi record byte: F8 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi record byte: 00 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi record byte: 00 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi record length: 504 +2025/08/20 07:53:48 [error] 610668#610668: *2 FastCGI sent in stderr: "ea175cf653a62aee40ff550a623e289b2f5269f2cd9099193f45547bc6"], ["expiration", "1755694428"]], + "content": "", + "sig": "1d05ff59c4b455892a94abf6043a338d437312bcb4d7d49dc5798cb04ba2540758ef396be83c3fd6ef8d03f30af8c3f9fcde414762f1e49f137fadb59fc60be0" +} +🔍 STEP SERVER-4: Event fields before validation +ℹ️ INFO: id: c9ef9e7993084fcb779e5009e4034508fc659acd713fe569a09bb236d2c08901 +ℹ️ INFO: pubkey: 79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 +ℹ️ INFO: sig: 1d05ff59" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi record byte: 01 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi record byte: 07 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi record byte: 00 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi record byte: 01 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi record byte: 01 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi record byte: F8 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi record byte: 00 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi record byte: 00 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi record length: 504 +2025/08/20 07:53:48 [error] 610668#610668: *2 FastCGI sent in stderr: "c4b455892a94abf6043a338d437312bcb4d7d49dc5798cb04ba2540758ef396be83c3fd6ef8d03f30af8c3f9fcde414762f1e49f137fadb59fc60be0 +ℹ️ INFO: kind: 24242 +ℹ️ INFO: created_at: 1755690828 +🔍 STEP SERVER-5: Detailed pubkey analysis +ℹ️ INFO: Pubkey: 79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 +ℹ️ INFO: Length: ℹ️ INFO: Character analysis (first 10): +7(0x37) 9(0x39) b(0x62) e(0x65) 6(0x36) 6(0x36) 7(0x37) e(0x65) f(0x66) 9(0x39) +🔍 STEP SERVER-6: Pre-valid" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi record byte: 01 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi record byte: 07 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi record byte: 00 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi record byte: 01 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi record byte: 01 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi record byte: F8 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi record byte: 00 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi record byte: 00 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi record length: 504 +2025/08/20 07:53:48 [error] 610668#610668: *2 FastCGI sent in stderr: "ation pubkey analysis +ℹ️ INFO: Pubkey: 79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 +ℹ️ INFO: Length: ℹ️ INFO: Character analysis (first 10): +7(55) 9(57) b(98) e(101) 6(54) 6(54) 7(55) e(101) f(102) 9(57) +ℹ️ INFO: Character validation test: +ALL VALID (lowercase hex) +🔍 STEP SERVER-7: Starting detailed validation analysis +ℹ️ INFO: Testing structure validation... +ℹ️ INFO: nostr_validate_event_structure returned: 0 (Success) +✅ SUCCESS: Str" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi record byte: 01 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi record byte: 07 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi record byte: 00 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi record byte: 01 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi record byte: 01 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi record byte: 7A +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi record byte: 06 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi record byte: 00 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi record length: 378 +2025/08/20 07:53:48 [error] 610668#610668: *2 FastCGI sent in stderr: "ucture validation PASSED +ℹ️ INFO: Testing cryptographic verification... +ℹ️ INFO: nostr_verify_event_signature returned: -32 (Event has invalid public key) +❌ ERROR: CRYPTO verification failed! +❌ ERROR: Failed pubkey: 79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 (length: LOG: [2025-08-20 07:53:48] PUT /upload - Auth: auth_failed - Status: 401" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi record byte: 01 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi record byte: 07 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi record byte: 00 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi record byte: 01 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi record byte: 00 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi record byte: 00 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi record byte: 00 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi record byte: 00 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi record length: 0 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi record byte: 01 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi record byte: 06 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi record byte: 00 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi record byte: 01 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi record byte: 00 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi record byte: C7 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi record byte: 01 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi record byte: 00 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi record length: 199 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi parser: 0 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi header: "Status: 401 Unauthorized" +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi parser: 0 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi header: "Content-Type: application/json" +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi parser: 1 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi header done +2025/08/20 07:53:48 [debug] 610668#610668: *2 HTTP/1.1 401 Unauthorized +Server: nginx/1.18.0 (Ubuntu) +Date: Wed, 20 Aug 2025 11:53:48 GMT +Content-Type: application/json +Transfer-Encoding: chunked +Connection: keep-alive + +2025/08/20 07:53:48 [debug] 610668#610668: *2 write new buf t:1 f:0 00005CBBF1D14808, pos 00005CBBF1D14808, size: 181 file: 0, size: 0 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http write filter: l:0 f:0 s:181 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http cacheable: 0 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http upstream process upstream +2025/08/20 07:53:48 [debug] 610668#610668: *2 pipe read upstream: 1 +2025/08/20 07:53:48 [debug] 610668#610668: *2 pipe preread: 164 +2025/08/20 07:53:48 [debug] 610668#610668: *2 readv: eof:1, avail:0 +2025/08/20 07:53:48 [debug] 610668#610668: *2 readv: 1, last:1416 +2025/08/20 07:53:48 [debug] 610668#610668: *2 pipe recv chain: 0 +2025/08/20 07:53:48 [debug] 610668#610668: *2 pipe buf free s:0 t:1 f:0 00005CBBF1D15160, pos 00005CBBF1D15B34, size: 164 file: 0, size: 0 +2025/08/20 07:53:48 [debug] 610668#610668: *2 pipe length: -1 +2025/08/20 07:53:48 [debug] 610668#610668: *2 input buf #0 00005CBBF1D15B34 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi record byte: 01 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi record byte: 06 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi record byte: 00 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi record byte: 01 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi record byte: 00 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi record byte: 00 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi record byte: 00 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi record byte: 00 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi record length: 0 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi closed stdout +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi record byte: 01 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi record byte: 03 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi record byte: 00 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi record byte: 01 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi record byte: 00 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi record byte: 08 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi record byte: 00 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi record byte: 00 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi record length: 8 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http fastcgi sent end request +2025/08/20 07:53:48 [debug] 610668#610668: *2 input buf 00005CBBF1D15B34 139 +2025/08/20 07:53:48 [debug] 610668#610668: *2 pipe write downstream: 1 +2025/08/20 07:53:48 [debug] 610668#610668: *2 pipe write downstream flush in +2025/08/20 07:53:48 [debug] 610668#610668: *2 http output filter "/upload?" +2025/08/20 07:53:48 [debug] 610668#610668: *2 http copy filter: "/upload?" +2025/08/20 07:53:48 [debug] 610668#610668: *2 http postpone filter "/upload?" 00005CBBF1D20BE0 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http chunk: 139 +2025/08/20 07:53:48 [debug] 610668#610668: *2 write old buf t:1 f:0 00005CBBF1D14808, pos 00005CBBF1D14808, size: 181 file: 0, size: 0 +2025/08/20 07:53:48 [debug] 610668#610668: *2 write new buf t:1 f:0 00005CBBF1D20D78, pos 00005CBBF1D20D78, size: 4 file: 0, size: 0 +2025/08/20 07:53:48 [debug] 610668#610668: *2 write new buf t:1 f:0 00005CBBF1D15160, pos 00005CBBF1D15B34, size: 139 file: 0, size: 0 +2025/08/20 07:53:48 [debug] 610668#610668: *2 write new buf t:0 f:0 0000000000000000, pos 00005CBBDF0D22E8, size: 2 file: 0, size: 0 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http write filter: l:0 f:0 s:326 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http copy filter: 0 "/upload?" +2025/08/20 07:53:48 [debug] 610668#610668: *2 pipe write downstream done +2025/08/20 07:53:48 [debug] 610668#610668: *2 event timer: 10, old: 257621615, new: 257621618 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http upstream exit: 0000000000000000 +2025/08/20 07:53:48 [debug] 610668#610668: *2 finalize http upstream request: 0 +2025/08/20 07:53:48 [debug] 610668#610668: *2 finalize http fastcgi request +2025/08/20 07:53:48 [debug] 610668#610668: *2 free rr peer 1 0 +2025/08/20 07:53:48 [debug] 610668#610668: *2 close http upstream connection: 10 +2025/08/20 07:53:48 [debug] 610668#610668: *2 free: 00005CBBF1CF3F20, unused: 48 +2025/08/20 07:53:48 [debug] 610668#610668: *2 event timer del: 10: 257621615 +2025/08/20 07:53:48 [debug] 610668#610668: *2 reusable connection: 0 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http upstream temp fd: -1 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http output filter "/upload?" +2025/08/20 07:53:48 [debug] 610668#610668: *2 http copy filter: "/upload?" +2025/08/20 07:53:48 [debug] 610668#610668: *2 http postpone filter "/upload?" 00007FFDF3EBD2D0 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http chunk: 0 +2025/08/20 07:53:48 [debug] 610668#610668: *2 write old buf t:1 f:0 00005CBBF1D14808, pos 00005CBBF1D14808, size: 181 file: 0, size: 0 +2025/08/20 07:53:48 [debug] 610668#610668: *2 write old buf t:1 f:0 00005CBBF1D20D78, pos 00005CBBF1D20D78, size: 4 file: 0, size: 0 +2025/08/20 07:53:48 [debug] 610668#610668: *2 write old buf t:1 f:0 00005CBBF1D15160, pos 00005CBBF1D15B34, size: 139 file: 0, size: 0 +2025/08/20 07:53:48 [debug] 610668#610668: *2 write old buf t:0 f:0 0000000000000000, pos 00005CBBDF0D22E8, size: 2 file: 0, size: 0 +2025/08/20 07:53:48 [debug] 610668#610668: *2 write new buf t:0 f:0 0000000000000000, pos 00005CBBDF0D22E5, size: 5 file: 0, size: 0 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http write filter: l:1 f:0 s:331 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http write filter limit 0 +2025/08/20 07:53:48 [debug] 610668#610668: *2 writev: 331 of 331 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http write filter 0000000000000000 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http copy filter: 0 "/upload?" +2025/08/20 07:53:48 [debug] 610668#610668: *2 http finalize request: 0, "/upload?" a:1, c:1 +2025/08/20 07:53:48 [debug] 610668#610668: *2 set http keepalive handler +2025/08/20 07:53:48 [debug] 610668#610668: *2 http close request +2025/08/20 07:53:48 [debug] 610668#610668: *2 http log handler +2025/08/20 07:53:48 [debug] 610668#610668: *2 free: 00005CBBF1D15160 +2025/08/20 07:53:48 [debug] 610668#610668: *2 free: 00005CBBF1D29A30, unused: 3 +2025/08/20 07:53:48 [debug] 610668#610668: *2 free: 00005CBBF1D1FDA0, unused: 0 +2025/08/20 07:53:48 [debug] 610668#610668: *2 free: 00005CBBF1D14150, unused: 1250 +2025/08/20 07:53:48 [debug] 610668#610668: *2 free: 00005CBBF1D0D0A0 +2025/08/20 07:53:48 [debug] 610668#610668: *2 hc free: 0000000000000000 +2025/08/20 07:53:48 [debug] 610668#610668: *2 hc busy: 0000000000000000 0 +2025/08/20 07:53:48 [debug] 610668#610668: *2 tcp_nodelay +2025/08/20 07:53:48 [debug] 610668#610668: *2 reusable connection: 1 +2025/08/20 07:53:48 [debug] 610668#610668: *2 event timer add: 6: 65000:257626618 +2025/08/20 07:53:48 [debug] 610668#610668: *2 post event 00005CBBF1D5B770 +2025/08/20 07:53:48 [debug] 610668#610668: timer delta: 1 +2025/08/20 07:53:48 [debug] 610668#610668: posted event 00005CBBF1D5B770 +2025/08/20 07:53:48 [debug] 610668#610668: *2 delete posted event 00005CBBF1D5B770 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http keepalive handler +2025/08/20 07:53:48 [debug] 610668#610668: *2 malloc: 00005CBBF1D0D0A0:1024 +2025/08/20 07:53:48 [debug] 610668#610668: *2 recv: eof:0, avail:0 +2025/08/20 07:53:48 [debug] 610668#610668: *2 free: 00005CBBF1D0D0A0 +2025/08/20 07:53:48 [debug] 610668#610668: worker cycle +2025/08/20 07:53:48 [debug] 610668#610668: epoll timer: 65000 +2025/08/20 07:53:48 [debug] 610668#610668: epoll: fd:6 ev:2005 d:000077BA99D911E1 +2025/08/20 07:53:48 [debug] 610668#610668: *2 http keepalive handler +2025/08/20 07:53:48 [debug] 610668#610668: *2 malloc: 00005CBBF1D0D0A0:1024 +2025/08/20 07:53:48 [debug] 610668#610668: *2 recv: eof:1, avail:-1 +2025/08/20 07:53:48 [debug] 610668#610668: *2 recv: fd:6 0 of 1024 +2025/08/20 07:53:48 [info] 610668#610668: *2 client 127.0.0.1 closed keepalive connection +2025/08/20 07:53:48 [debug] 610668#610668: *2 close http connection: 6 +2025/08/20 07:53:48 [debug] 610668#610668: *2 event timer del: 6: 257626618 +2025/08/20 07:53:48 [debug] 610668#610668: *2 reusable connection: 0 +2025/08/20 07:53:48 [debug] 610668#610668: *2 free: 00005CBBF1D0D0A0 +2025/08/20 07:53:48 [debug] 610668#610668: *2 free: 00005CBBF1D0A840, unused: 120 +2025/08/20 07:53:48 [debug] 610668#610668: timer delta: 2 +2025/08/20 07:53:48 [debug] 610668#610668: worker cycle +2025/08/20 07:53:48 [debug] 610668#610668: epoll timer: -1 +2025/08/20 07:53:48 [debug] 610668#610668: epoll: fd:5 ev:0001 d:000077BA99D91010 +2025/08/20 07:53:48 [debug] 610668#610668: accept on 0.0.0.0:9001, ready: 0 +2025/08/20 07:53:48 [debug] 610668#610668: posix_memalign: 00005CBBF1D0A840:512 @16 +2025/08/20 07:53:48 [debug] 610668#610668: *4 accept: 127.0.0.1:57670 fd:6 +2025/08/20 07:53:48 [debug] 610668#610668: *4 event timer add: 6: 60000:257621632 +2025/08/20 07:53:48 [debug] 610668#610668: *4 reusable connection: 1 +2025/08/20 07:53:48 [debug] 610668#610668: *4 epoll add event: fd:6 op:1 ev:80002001 +2025/08/20 07:53:48 [debug] 610668#610668: timer delta: 12 +2025/08/20 07:53:48 [debug] 610668#610668: worker cycle +2025/08/20 07:53:48 [debug] 610668#610668: epoll timer: 60000 +2025/08/20 07:53:48 [debug] 610668#610668: epoll: fd:6 ev:0001 d:000077BA99D911E0 +2025/08/20 07:53:48 [debug] 610668#610668: *4 http wait request handler +2025/08/20 07:53:48 [debug] 610668#610668: *4 malloc: 00005CBBF1D0D0A0:1024 +2025/08/20 07:53:48 [debug] 610668#610668: *4 recv: eof:0, avail:-1 +2025/08/20 07:53:48 [debug] 610668#610668: *4 recv: fd:6 142 of 1024 +2025/08/20 07:53:48 [debug] 610668#610668: *4 reusable connection: 0 +2025/08/20 07:53:48 [debug] 610668#610668: *4 posix_memalign: 00005CBBF1D29A30:4096 @16 +2025/08/20 07:53:48 [debug] 610668#610668: *4 http process request line +2025/08/20 07:53:48 [debug] 610668#610668: *4 http request line: "GET /9067ecea175cf653a62aee40ff550a623e289b2f5269f2cd9099193f45547bc6 HTTP/1.1" +2025/08/20 07:53:48 [debug] 610668#610668: *4 http uri: "/9067ecea175cf653a62aee40ff550a623e289b2f5269f2cd9099193f45547bc6" +2025/08/20 07:53:48 [debug] 610668#610668: *4 http args: "" +2025/08/20 07:53:48 [debug] 610668#610668: *4 http exten: "" +2025/08/20 07:53:48 [debug] 610668#610668: *4 posix_memalign: 00005CBBF1D1FDA0:4096 @16 +2025/08/20 07:53:48 [debug] 610668#610668: *4 http process request header line +2025/08/20 07:53:48 [debug] 610668#610668: *4 http header: "Host: localhost:9001" +2025/08/20 07:53:48 [debug] 610668#610668: *4 http header: "User-Agent: curl/8.15.0" +2025/08/20 07:53:48 [debug] 610668#610668: *4 http header: "Accept: */*" +2025/08/20 07:53:48 [debug] 610668#610668: *4 http header done +2025/08/20 07:53:48 [debug] 610668#610668: *4 event timer del: 6: 257621632 +2025/08/20 07:53:48 [debug] 610668#610668: *4 generic phase: 0 +2025/08/20 07:53:48 [debug] 610668#610668: *4 rewrite phase: 1 +2025/08/20 07:53:48 [debug] 610668#610668: *4 test location: "/health" +2025/08/20 07:53:48 [debug] 610668#610668: *4 test location: "/debug/list" +2025/08/20 07:53:48 [debug] 610668#610668: *4 test location: "/" +2025/08/20 07:53:48 [debug] 610668#610668: *4 test location: ~ "^/([a-f0-9]{64}).*$" +2025/08/20 07:53:48 [debug] 610668#610668: *4 using configuration "^/([a-f0-9]{64}).*$" +2025/08/20 07:53:48 [debug] 610668#610668: *4 http cl:-1 max:104857600 +2025/08/20 07:53:48 [debug] 610668#610668: *4 rewrite phase: 3 +2025/08/20 07:53:48 [debug] 610668#610668: *4 http script var +2025/08/20 07:53:48 [debug] 610668#610668: *4 http script var: "GET" +2025/08/20 07:53:48 [debug] 610668#610668: *4 http script value: "DELETE" +2025/08/20 07:53:48 [debug] 610668#610668: *4 http script not equal +2025/08/20 07:53:48 [debug] 610668#610668: *4 http script if +2025/08/20 07:53:48 [debug] 610668#610668: *4 http finalize request: 404, "/9067ecea175cf653a62aee40ff550a623e289b2f5269f2cd9099193f45547bc6?" a:1, c:1 +2025/08/20 07:53:48 [debug] 610668#610668: *4 http special response: 404, "/9067ecea175cf653a62aee40ff550a623e289b2f5269f2cd9099193f45547bc6?" +2025/08/20 07:53:48 [debug] 610668#610668: *4 http set discard body +2025/08/20 07:53:48 [debug] 610668#610668: *4 HTTP/1.1 404 Not Found +Server: nginx/1.18.0 (Ubuntu) +Date: Wed, 20 Aug 2025 11:53:48 GMT +Content-Type: text/html +Content-Length: 162 +Connection: keep-alive + +2025/08/20 07:53:48 [debug] 610668#610668: *4 write new buf t:1 f:0 00005CBBF1D20180, pos 00005CBBF1D20180, size: 164 file: 0, size: 0 +2025/08/20 07:53:48 [debug] 610668#610668: *4 http write filter: l:0 f:0 s:164 +2025/08/20 07:53:48 [debug] 610668#610668: *4 http output filter "/9067ecea175cf653a62aee40ff550a623e289b2f5269f2cd9099193f45547bc6?" +2025/08/20 07:53:48 [debug] 610668#610668: *4 http copy filter: "/9067ecea175cf653a62aee40ff550a623e289b2f5269f2cd9099193f45547bc6?" +2025/08/20 07:53:48 [debug] 610668#610668: *4 http postpone filter "/9067ecea175cf653a62aee40ff550a623e289b2f5269f2cd9099193f45547bc6?" 00005CBBF1D20310 +2025/08/20 07:53:48 [debug] 610668#610668: *4 write old buf t:1 f:0 00005CBBF1D20180, pos 00005CBBF1D20180, size: 164 file: 0, size: 0 +2025/08/20 07:53:48 [debug] 610668#610668: *4 write new buf t:0 f:0 0000000000000000, pos 00005CBBDF111580, size: 100 file: 0, size: 0 +2025/08/20 07:53:48 [debug] 610668#610668: *4 write new buf t:0 f:0 0000000000000000, pos 00005CBBDF111C80, size: 62 file: 0, size: 0 +2025/08/20 07:53:48 [debug] 610668#610668: *4 http write filter: l:1 f:0 s:326 +2025/08/20 07:53:48 [debug] 610668#610668: *4 http write filter limit 0 +2025/08/20 07:53:48 [debug] 610668#610668: *4 writev: 326 of 326 +2025/08/20 07:53:48 [debug] 610668#610668: *4 http write filter 0000000000000000 +2025/08/20 07:53:48 [debug] 610668#610668: *4 http copy filter: 0 "/9067ecea175cf653a62aee40ff550a623e289b2f5269f2cd9099193f45547bc6?" +2025/08/20 07:53:48 [debug] 610668#610668: *4 http finalize request: 0, "/9067ecea175cf653a62aee40ff550a623e289b2f5269f2cd9099193f45547bc6?" a:1, c:1 +2025/08/20 07:53:48 [debug] 610668#610668: *4 set http keepalive handler +2025/08/20 07:53:48 [debug] 610668#610668: *4 http close request +2025/08/20 07:53:48 [debug] 610668#610668: *4 http log handler +2025/08/20 07:53:48 [debug] 610668#610668: *4 free: 00005CBBF1D29A30, unused: 0 +2025/08/20 07:53:48 [debug] 610668#610668: *4 free: 00005CBBF1D1FDA0, unused: 2456 +2025/08/20 07:53:48 [debug] 610668#610668: *4 free: 00005CBBF1D0D0A0 +2025/08/20 07:53:48 [debug] 610668#610668: *4 hc free: 0000000000000000 +2025/08/20 07:53:48 [debug] 610668#610668: *4 hc busy: 0000000000000000 0 +2025/08/20 07:53:48 [debug] 610668#610668: *4 tcp_nodelay +2025/08/20 07:53:48 [debug] 610668#610668: *4 reusable connection: 1 +2025/08/20 07:53:48 [debug] 610668#610668: *4 event timer add: 6: 65000:257626632 +2025/08/20 07:53:48 [debug] 610668#610668: timer delta: 0 +2025/08/20 07:53:48 [debug] 610668#610668: worker cycle +2025/08/20 07:53:48 [debug] 610668#610668: epoll timer: 65000 +2025/08/20 07:53:48 [debug] 610668#610668: epoll: fd:6 ev:2001 d:000077BA99D911E0 +2025/08/20 07:53:48 [debug] 610668#610668: *4 http keepalive handler +2025/08/20 07:53:48 [debug] 610668#610668: *4 malloc: 00005CBBF1D0D0A0:1024 +2025/08/20 07:53:48 [debug] 610668#610668: *4 recv: eof:1, avail:-1 +2025/08/20 07:53:48 [debug] 610668#610668: *4 recv: fd:6 0 of 1024 +2025/08/20 07:53:48 [info] 610668#610668: *4 client 127.0.0.1 closed keepalive connection +2025/08/20 07:53:48 [debug] 610668#610668: *4 close http connection: 6 +2025/08/20 07:53:48 [debug] 610668#610668: *4 event timer del: 6: 257626632 +2025/08/20 07:53:48 [debug] 610668#610668: *4 reusable connection: 0 +2025/08/20 07:53:48 [debug] 610668#610668: *4 free: 00005CBBF1D0D0A0 +2025/08/20 07:53:48 [debug] 610668#610668: *4 free: 00005CBBF1D0A840, unused: 136 +2025/08/20 07:53:48 [debug] 610668#610668: timer delta: 1 +2025/08/20 07:53:48 [debug] 610668#610668: worker cycle +2025/08/20 07:53:48 [debug] 610668#610668: epoll timer: -1 +2025/08/20 07:58:02 [notice] 610667#610667: signal 15 (SIGTERM) received from 611433, exiting +2025/08/20 07:58:02 [debug] 610667#610667: wake up, sigio 0 +2025/08/20 07:58:02 [debug] 610667#610667: child: 0 610668 e:0 t:0 d:0 r:1 j:0 +2025/08/20 07:58:02 [debug] 610667#610667: termination cycle: 50 +2025/08/20 07:58:02 [debug] 610667#610667: sigsuspend +2025/08/20 07:58:02 [debug] 610668#610668: epoll: fd:7 ev:0001 d:000077BA99D910F8 +2025/08/20 07:58:02 [debug] 610668#610668: channel handler +2025/08/20 07:58:02 [debug] 610668#610668: channel: 32 +2025/08/20 07:58:02 [debug] 610668#610668: channel command: 4 +2025/08/20 07:58:02 [debug] 610668#610668: channel: -2 +2025/08/20 07:58:02 [debug] 610668#610668: timer delta: 254205 +2025/08/20 07:58:02 [notice] 610668#610668: exiting +2025/08/20 07:58:02 [debug] 610668#610668: flush files +2025/08/20 07:58:02 [debug] 610668#610668: run cleanup: 00005CBBF1D58A80 +2025/08/20 07:58:02 [debug] 610668#610668: run cleanup: 00005CBBF1D4BA18 +2025/08/20 07:58:02 [debug] 610668#610668: cleanup resolver +2025/08/20 07:58:02 [debug] 610668#610668: free: 00005CBBF1D59DE0 +2025/08/20 07:58:02 [debug] 610668#610668: free: 00005CBBF1D4CBE0 +2025/08/20 07:58:02 [debug] 610668#610668: free: 00005CBBF1D2BB50 +2025/08/20 07:58:02 [debug] 610668#610668: free: 00005CBBF1D2AA40 +2025/08/20 07:58:02 [debug] 610668#610668: free: 00005CBBF1D24A10 +2025/08/20 07:58:02 [debug] 610668#610668: free: 00005CBBF1D23950 +2025/08/20 07:58:02 [debug] 610668#610668: free: 00005CBBF1D22890 +2025/08/20 07:58:02 [debug] 610668#610668: free: 00005CBBF1D217D0 +2025/08/20 07:58:02 [debug] 610668#610668: free: 00005CBBF1D19170 +2025/08/20 07:58:02 [debug] 610668#610668: free: 00005CBBF1D10140, unused: 0 +2025/08/20 07:58:02 [debug] 610668#610668: free: 00005CBBF1D1A580, unused: 0 +2025/08/20 07:58:02 [debug] 610668#610668: free: 00005CBBF1D25A20, unused: 0 +2025/08/20 07:58:02 [debug] 610668#610668: free: 00005CBBF1D2CB60, unused: 0 +2025/08/20 07:58:02 [debug] 610668#610668: free: 00005CBBF1D30B70, unused: 0 +2025/08/20 07:58:02 [debug] 610668#610668: free: 00005CBBF1D34B80, unused: 0 +2025/08/20 07:58:02 [debug] 610668#610668: free: 00005CBBF1D38B90, unused: 0 +2025/08/20 07:58:02 [debug] 610668#610668: free: 00005CBBF1D3CBA0, unused: 0 +2025/08/20 07:58:02 [debug] 610668#610668: free: 00005CBBF1D40BB0, unused: 0 +2025/08/20 07:58:02 [debug] 610668#610668: free: 00005CBBF1D44BC0, unused: 0 +2025/08/20 07:58:02 [debug] 610668#610668: free: 00005CBBF1D48BD0, unused: 0 +2025/08/20 07:58:02 [debug] 610668#610668: free: 00005CBBF1D4DDB0, unused: 0 +2025/08/20 07:58:02 [debug] 610668#610668: free: 00005CBBF1D51DC0, unused: 0 +2025/08/20 07:58:02 [debug] 610668#610668: free: 00005CBBF1D55DD0, unused: 4920 +2025/08/20 07:58:02 [notice] 610668#610668: exit +2025/08/20 07:58:02 [notice] 610667#610667: signal 17 (SIGCHLD) received from 610668 +2025/08/20 07:58:02 [notice] 610667#610667: worker process 610668 exited with code 0 +2025/08/20 07:58:02 [debug] 610667#610667: shmtx forced unlock +2025/08/20 07:58:02 [debug] 610667#610667: wake up, sigio 3 +2025/08/20 07:58:02 [debug] 610667#610667: reap children +2025/08/20 07:58:02 [debug] 610667#610667: child: 0 610668 e:1 t:1 d:0 r:1 j:0 +2025/08/20 07:58:02 [notice] 610667#610667: exit +2025/08/20 07:58:02 [debug] 610667#610667: close listening 0.0.0.0:9001 #5 +2025/08/20 07:58:02 [debug] 610667#610667: run cleanup: 00005CBBF1D4BA18 +2025/08/20 07:58:02 [debug] 610667#610667: cleanup resolver +2025/08/20 07:58:02 [debug] 610667#610667: free: 00005CBBF1D59DE0 +2025/08/20 07:58:02 [debug] 610667#610667: free: 00005CBBF1D4CBE0 +2025/08/20 07:58:02 [debug] 610667#610667: free: 00005CBBF1D2BB50 +2025/08/20 07:58:02 [debug] 610667#610667: free: 00005CBBF1D2AA40 +2025/08/20 07:58:02 [debug] 610667#610667: free: 00005CBBF1D24A10 +2025/08/20 07:58:02 [debug] 610667#610667: free: 00005CBBF1D23950 +2025/08/20 07:58:02 [debug] 610667#610667: free: 00005CBBF1D22890 +2025/08/20 07:58:02 [debug] 610667#610667: free: 00005CBBF1D217D0 +2025/08/20 07:58:02 [debug] 610667#610667: free: 00005CBBF1D19170 +2025/08/20 07:58:02 [debug] 610667#610667: free: 00005CBBF1D10140, unused: 0 +2025/08/20 07:58:02 [debug] 610667#610667: free: 00005CBBF1D1A580, unused: 0 +2025/08/20 07:58:02 [debug] 610667#610667: free: 00005CBBF1D25A20, unused: 0 +2025/08/20 07:58:02 [debug] 610667#610667: free: 00005CBBF1D2CB60, unused: 0 +2025/08/20 07:58:02 [debug] 610667#610667: free: 00005CBBF1D30B70, unused: 0 +2025/08/20 07:58:02 [debug] 610667#610667: free: 00005CBBF1D34B80, unused: 0 +2025/08/20 07:58:02 [debug] 610667#610667: free: 00005CBBF1D38B90, unused: 0 +2025/08/20 07:58:02 [debug] 610667#610667: free: 00005CBBF1D3CBA0, unused: 0 +2025/08/20 07:58:02 [debug] 610667#610667: free: 00005CBBF1D40BB0, unused: 0 +2025/08/20 07:58:02 [debug] 610667#610667: free: 00005CBBF1D44BC0, unused: 0 +2025/08/20 07:58:02 [debug] 610667#610667: free: 00005CBBF1D48BD0, unused: 0 +2025/08/20 07:58:02 [debug] 610667#610667: free: 00005CBBF1D4DDB0, unused: 0 +2025/08/20 07:58:02 [debug] 610667#610667: free: 00005CBBF1D51DC0, unused: 0 +2025/08/20 07:58:02 [debug] 610667#610667: free: 00005CBBF1D55DD0, unused: 4951 +2025/08/20 07:58:05 [debug] 611476#611476: bind() 0.0.0.0:9001 #5 +2025/08/20 07:58:05 [debug] 611476#611476: counter: 00007D354ED61080, 1 +2025/08/20 07:58:05 [debug] 611477#611477: bind() 0.0.0.0:9001 #5 +2025/08/20 07:58:05 [notice] 611477#611477: using the "epoll" event method +2025/08/20 07:58:05 [debug] 611477#611477: counter: 000077603C7D8080, 1 +2025/08/20 07:58:05 [notice] 611477#611477: nginx/1.18.0 (Ubuntu) +2025/08/20 07:58:05 [notice] 611477#611477: OS: Linux 6.12.10-76061203-generic +2025/08/20 07:58:05 [notice] 611477#611477: getrlimit(RLIMIT_NOFILE): 1048576:1048576 +2025/08/20 07:58:05 [debug] 611478#611477: write: 6, 00007FFFB0D98160, 7, 0 +2025/08/20 07:58:05 [debug] 611478#611478: setproctitle: "nginx: master process nginx -p . -c config/local-nginx.conf" +2025/08/20 07:58:05 [notice] 611478#611478: start worker processes +2025/08/20 07:58:05 [debug] 611478#611478: channel 6:7 +2025/08/20 07:58:05 [notice] 611478#611478: start worker process 611479 +2025/08/20 07:58:05 [debug] 611478#611478: sigsuspend +2025/08/20 07:58:05 [debug] 611479#611479: add cleanup: 00005A22F4A59A80 +2025/08/20 07:58:05 [debug] 611479#611479: malloc: 00005A22F4A0CBD0:8 +2025/08/20 07:58:05 [debug] 611479#611479: notify eventfd: 9 +2025/08/20 07:58:05 [debug] 611479#611479: testing the EPOLLRDHUP flag: success +2025/08/20 07:58:05 [debug] 611479#611479: malloc: 00005A22F4A1F590:6144 +2025/08/20 07:58:05 [debug] 611479#611479: malloc: 000077603C5D0010:237568 +2025/08/20 07:58:05 [debug] 611479#611479: malloc: 00005A22F4A5C6B0:98304 +2025/08/20 07:58:05 [debug] 611479#611479: malloc: 00005A22F4A746C0:98304 +2025/08/20 07:58:05 [debug] 611479#611479: epoll add event: fd:5 op:1 ev:00002001 +2025/08/20 07:58:05 [debug] 611479#611479: epoll add event: fd:7 op:1 ev:00002001 +2025/08/20 07:58:05 [debug] 611479#611479: setproctitle: "nginx: worker process" +2025/08/20 07:58:05 [debug] 611479#611479: worker cycle +2025/08/20 07:58:05 [debug] 611479#611479: epoll timer: -1 +2025/08/20 07:58:15 [notice] 611478#611478: signal 15 (SIGTERM) received from 611558, exiting +2025/08/20 07:58:15 [debug] 611478#611478: wake up, sigio 0 +2025/08/20 07:58:15 [debug] 611478#611478: child: 0 611479 e:0 t:0 d:0 r:1 j:0 +2025/08/20 07:58:15 [debug] 611478#611478: termination cycle: 50 +2025/08/20 07:58:15 [debug] 611478#611478: sigsuspend +2025/08/20 07:58:15 [debug] 611479#611479: epoll: fd:7 ev:0001 d:000077603C5D00F8 +2025/08/20 07:58:15 [debug] 611479#611479: channel handler +2025/08/20 07:58:15 [debug] 611479#611479: channel: 32 +2025/08/20 07:58:15 [debug] 611479#611479: channel command: 4 +2025/08/20 07:58:15 [debug] 611479#611479: channel: -2 +2025/08/20 07:58:15 [debug] 611479#611479: timer delta: 9394 +2025/08/20 07:58:15 [notice] 611479#611479: exiting +2025/08/20 07:58:15 [debug] 611479#611479: flush files +2025/08/20 07:58:15 [debug] 611479#611479: run cleanup: 00005A22F4A59A80 +2025/08/20 07:58:15 [debug] 611479#611479: run cleanup: 00005A22F4A4CA18 +2025/08/20 07:58:15 [debug] 611479#611479: cleanup resolver +2025/08/20 07:58:15 [debug] 611479#611479: free: 00005A22F4A5ADE0 +2025/08/20 07:58:15 [debug] 611479#611479: free: 00005A22F4A4DBE0 +2025/08/20 07:58:15 [debug] 611479#611479: free: 00005A22F4A2CB50 +2025/08/20 07:58:15 [debug] 611479#611479: free: 00005A22F4A2BA40 +2025/08/20 07:58:15 [debug] 611479#611479: free: 00005A22F4A25A10 +2025/08/20 07:58:15 [debug] 611479#611479: free: 00005A22F4A24950 +2025/08/20 07:58:15 [debug] 611479#611479: free: 00005A22F4A23890 +2025/08/20 07:58:15 [debug] 611479#611479: free: 00005A22F4A227D0 +2025/08/20 07:58:15 [debug] 611479#611479: free: 00005A22F4A1A170 +2025/08/20 07:58:15 [debug] 611479#611479: free: 00005A22F4A11140, unused: 0 +2025/08/20 07:58:15 [debug] 611479#611479: free: 00005A22F4A1B580, unused: 0 +2025/08/20 07:58:15 [debug] 611479#611479: free: 00005A22F4A26A20, unused: 0 +2025/08/20 07:58:15 [debug] 611479#611479: free: 00005A22F4A2DB60, unused: 0 +2025/08/20 07:58:15 [debug] 611479#611479: free: 00005A22F4A31B70, unused: 0 +2025/08/20 07:58:15 [debug] 611479#611479: free: 00005A22F4A35B80, unused: 0 +2025/08/20 07:58:15 [debug] 611479#611479: free: 00005A22F4A39B90, unused: 0 +2025/08/20 07:58:15 [debug] 611479#611479: free: 00005A22F4A3DBA0, unused: 0 +2025/08/20 07:58:15 [debug] 611479#611479: free: 00005A22F4A41BB0, unused: 0 +2025/08/20 07:58:15 [debug] 611479#611479: free: 00005A22F4A45BC0, unused: 0 +2025/08/20 07:58:15 [debug] 611479#611479: free: 00005A22F4A49BD0, unused: 0 +2025/08/20 07:58:15 [debug] 611479#611479: free: 00005A22F4A4EDB0, unused: 0 +2025/08/20 07:58:15 [debug] 611479#611479: free: 00005A22F4A52DC0, unused: 0 +2025/08/20 07:58:15 [debug] 611479#611479: free: 00005A22F4A56DD0, unused: 4920 +2025/08/20 07:58:15 [notice] 611479#611479: exit +2025/08/20 07:58:15 [notice] 611478#611478: signal 17 (SIGCHLD) received from 611479 +2025/08/20 07:58:15 [notice] 611478#611478: worker process 611479 exited with code 0 +2025/08/20 07:58:15 [debug] 611478#611478: shmtx forced unlock +2025/08/20 07:58:15 [debug] 611478#611478: wake up, sigio 3 +2025/08/20 07:58:15 [debug] 611478#611478: reap children +2025/08/20 07:58:15 [debug] 611478#611478: child: 0 611479 e:1 t:1 d:0 r:1 j:0 +2025/08/20 07:58:15 [notice] 611478#611478: exit +2025/08/20 07:58:15 [debug] 611478#611478: close listening 0.0.0.0:9001 #5 +2025/08/20 07:58:15 [debug] 611478#611478: run cleanup: 00005A22F4A4CA18 +2025/08/20 07:58:15 [debug] 611478#611478: cleanup resolver +2025/08/20 07:58:15 [debug] 611478#611478: free: 00005A22F4A5ADE0 +2025/08/20 07:58:15 [debug] 611478#611478: free: 00005A22F4A4DBE0 +2025/08/20 07:58:15 [debug] 611478#611478: free: 00005A22F4A2CB50 +2025/08/20 07:58:15 [debug] 611478#611478: free: 00005A22F4A2BA40 +2025/08/20 07:58:15 [debug] 611478#611478: free: 00005A22F4A25A10 +2025/08/20 07:58:15 [debug] 611478#611478: free: 00005A22F4A24950 +2025/08/20 07:58:15 [debug] 611478#611478: free: 00005A22F4A23890 +2025/08/20 07:58:15 [debug] 611478#611478: free: 00005A22F4A227D0 +2025/08/20 07:58:15 [debug] 611478#611478: free: 00005A22F4A1A170 +2025/08/20 07:58:15 [debug] 611478#611478: free: 00005A22F4A11140, unused: 0 +2025/08/20 07:58:15 [debug] 611478#611478: free: 00005A22F4A1B580, unused: 0 +2025/08/20 07:58:15 [debug] 611478#611478: free: 00005A22F4A26A20, unused: 0 +2025/08/20 07:58:15 [debug] 611478#611478: free: 00005A22F4A2DB60, unused: 0 +2025/08/20 07:58:15 [debug] 611478#611478: free: 00005A22F4A31B70, unused: 0 +2025/08/20 07:58:15 [debug] 611478#611478: free: 00005A22F4A35B80, unused: 0 +2025/08/20 07:58:15 [debug] 611478#611478: free: 00005A22F4A39B90, unused: 0 +2025/08/20 07:58:15 [debug] 611478#611478: free: 00005A22F4A3DBA0, unused: 0 +2025/08/20 07:58:15 [debug] 611478#611478: free: 00005A22F4A41BB0, unused: 0 +2025/08/20 07:58:15 [debug] 611478#611478: free: 00005A22F4A45BC0, unused: 0 +2025/08/20 07:58:15 [debug] 611478#611478: free: 00005A22F4A49BD0, unused: 0 +2025/08/20 07:58:15 [debug] 611478#611478: free: 00005A22F4A4EDB0, unused: 0 +2025/08/20 07:58:15 [debug] 611478#611478: free: 00005A22F4A52DC0, unused: 0 +2025/08/20 07:58:15 [debug] 611478#611478: free: 00005A22F4A56DD0, unused: 4951 +2025/08/20 07:58:18 [debug] 611586#611586: bind() 0.0.0.0:9001 #5 +2025/08/20 07:58:18 [debug] 611586#611586: counter: 0000714401CBE080, 1 +2025/08/20 07:58:18 [debug] 611587#611587: bind() 0.0.0.0:9001 #5 +2025/08/20 07:58:18 [notice] 611587#611587: using the "epoll" event method +2025/08/20 07:58:18 [debug] 611587#611587: counter: 0000718734997080, 1 +2025/08/20 07:58:18 [notice] 611587#611587: nginx/1.18.0 (Ubuntu) +2025/08/20 07:58:18 [notice] 611587#611587: OS: Linux 6.12.10-76061203-generic +2025/08/20 07:58:18 [notice] 611587#611587: getrlimit(RLIMIT_NOFILE): 1048576:1048576 +2025/08/20 07:58:18 [debug] 611588#611587: write: 6, 00007FFDAA9112C0, 7, 0 +2025/08/20 07:58:18 [debug] 611588#611588: setproctitle: "nginx: master process nginx -p . -c config/local-nginx.conf" +2025/08/20 07:58:18 [notice] 611588#611588: start worker processes +2025/08/20 07:58:18 [debug] 611588#611588: channel 6:7 +2025/08/20 07:58:18 [notice] 611588#611588: start worker process 611589 +2025/08/20 07:58:18 [debug] 611588#611588: sigsuspend +2025/08/20 07:58:18 [debug] 611589#611589: add cleanup: 0000576823B17A80 +2025/08/20 07:58:18 [debug] 611589#611589: malloc: 0000576823ACABD0:8 +2025/08/20 07:58:18 [debug] 611589#611589: notify eventfd: 9 +2025/08/20 07:58:18 [debug] 611589#611589: testing the EPOLLRDHUP flag: success +2025/08/20 07:58:18 [debug] 611589#611589: malloc: 0000576823ADD590:6144 +2025/08/20 07:58:18 [debug] 611589#611589: malloc: 000071873478F010:237568 +2025/08/20 07:58:18 [debug] 611589#611589: malloc: 0000576823B1A6B0:98304 +2025/08/20 07:58:18 [debug] 611589#611589: malloc: 0000576823B326C0:98304 +2025/08/20 07:58:18 [debug] 611589#611589: epoll add event: fd:5 op:1 ev:00002001 +2025/08/20 07:58:18 [debug] 611589#611589: epoll add event: fd:7 op:1 ev:00002001 +2025/08/20 07:58:18 [debug] 611589#611589: setproctitle: "nginx: worker process" +2025/08/20 07:58:18 [debug] 611589#611589: worker cycle +2025/08/20 07:58:18 [debug] 611589#611589: epoll timer: -1 +2025/08/20 07:58:26 [debug] 611589#611589: epoll: fd:5 ev:0001 d:000071873478F010 +2025/08/20 07:58:26 [debug] 611589#611589: accept on 0.0.0.0:9001, ready: 0 +2025/08/20 07:58:26 [debug] 611589#611589: posix_memalign: 0000576823AC9840:512 @16 +2025/08/20 07:58:26 [debug] 611589#611589: *1 accept: 127.0.0.1:34424 fd:6 +2025/08/20 07:58:26 [debug] 611589#611589: *1 event timer add: 6: 60000:257899986 +2025/08/20 07:58:26 [debug] 611589#611589: *1 reusable connection: 1 +2025/08/20 07:58:26 [debug] 611589#611589: *1 epoll add event: fd:6 op:1 ev:80002001 +2025/08/20 07:58:26 [debug] 611589#611589: timer delta: 8310 +2025/08/20 07:58:26 [debug] 611589#611589: worker cycle +2025/08/20 07:58:26 [debug] 611589#611589: epoll timer: 60000 +2025/08/20 07:58:26 [debug] 611589#611589: epoll: fd:6 ev:0001 d:000071873478F1E0 +2025/08/20 07:58:26 [debug] 611589#611589: *1 http wait request handler +2025/08/20 07:58:26 [debug] 611589#611589: *1 malloc: 0000576823ACC0A0:1024 +2025/08/20 07:58:26 [debug] 611589#611589: *1 recv: eof:0, avail:-1 +2025/08/20 07:58:26 [debug] 611589#611589: *1 recv: fd:6 84 of 1024 +2025/08/20 07:58:26 [debug] 611589#611589: *1 reusable connection: 0 +2025/08/20 07:58:26 [debug] 611589#611589: *1 posix_memalign: 0000576823AE8A30:4096 @16 +2025/08/20 07:58:26 [debug] 611589#611589: *1 http process request line +2025/08/20 07:58:26 [debug] 611589#611589: *1 http request line: "GET /health HTTP/1.1" +2025/08/20 07:58:26 [debug] 611589#611589: *1 http uri: "/health" +2025/08/20 07:58:26 [debug] 611589#611589: *1 http args: "" +2025/08/20 07:58:26 [debug] 611589#611589: *1 http exten: "" +2025/08/20 07:58:26 [debug] 611589#611589: *1 posix_memalign: 0000576823ADEDA0:4096 @16 +2025/08/20 07:58:26 [debug] 611589#611589: *1 http process request header line +2025/08/20 07:58:26 [debug] 611589#611589: *1 http header: "Host: localhost:9001" +2025/08/20 07:58:26 [debug] 611589#611589: *1 http header: "User-Agent: curl/8.15.0" +2025/08/20 07:58:26 [debug] 611589#611589: *1 http header: "Accept: */*" +2025/08/20 07:58:26 [debug] 611589#611589: *1 http header done +2025/08/20 07:58:26 [debug] 611589#611589: *1 event timer del: 6: 257899986 +2025/08/20 07:58:26 [debug] 611589#611589: *1 generic phase: 0 +2025/08/20 07:58:26 [debug] 611589#611589: *1 rewrite phase: 1 +2025/08/20 07:58:26 [debug] 611589#611589: *1 test location: "/health" +2025/08/20 07:58:26 [debug] 611589#611589: *1 test location: ~ "^/([a-f0-9]{64}).*$" +2025/08/20 07:58:26 [debug] 611589#611589: *1 test location: ~ "^/([a-f0-9]{64})(\.[a-zA-Z0-9]+)?$" +2025/08/20 07:58:26 [debug] 611589#611589: *1 test location: ~ "^/fcgi-head/([a-f0-9]{64}).*$" +2025/08/20 07:58:26 [debug] 611589#611589: *1 test location: ~ "^/list/([a-f0-9]{64}).*$" +2025/08/20 07:58:26 [debug] 611589#611589: *1 using configuration "/health" +2025/08/20 07:58:26 [debug] 611589#611589: *1 http cl:-1 max:104857600 +2025/08/20 07:58:26 [debug] 611589#611589: *1 rewrite phase: 3 +2025/08/20 07:58:26 [debug] 611589#611589: *1 http set discard body +2025/08/20 07:58:26 [debug] 611589#611589: *1 HTTP/1.1 200 OK +Server: nginx/1.18.0 (Ubuntu) +Date: Wed, 20 Aug 2025 11:58:26 GMT +Content-Type: application/octet-stream +Content-Length: 3 +Connection: keep-alive +Content-Type: text/plain + +2025/08/20 07:58:26 [debug] 611589#611589: *1 write new buf t:1 f:0 0000576823ADF180, pos 0000576823ADF180, size: 196 file: 0, size: 0 +2025/08/20 07:58:26 [debug] 611589#611589: *1 http write filter: l:0 f:0 s:196 +2025/08/20 07:58:26 [debug] 611589#611589: *1 http output filter "/health?" +2025/08/20 07:58:26 [debug] 611589#611589: *1 http copy filter: "/health?" +2025/08/20 07:58:26 [debug] 611589#611589: *1 http postpone filter "/health?" 00007FFDAA910E50 +2025/08/20 07:58:26 [debug] 611589#611589: *1 write old buf t:1 f:0 0000576823ADF180, pos 0000576823ADF180, size: 196 file: 0, size: 0 +2025/08/20 07:58:26 [debug] 611589#611589: *1 write new buf t:0 f:0 0000000000000000, pos 0000576823B06B42, size: 3 file: 0, size: 0 +2025/08/20 07:58:26 [debug] 611589#611589: *1 http write filter: l:1 f:0 s:199 +2025/08/20 07:58:26 [debug] 611589#611589: *1 http write filter limit 0 +2025/08/20 07:58:26 [debug] 611589#611589: *1 writev: 199 of 199 +2025/08/20 07:58:26 [debug] 611589#611589: *1 http write filter 0000000000000000 +2025/08/20 07:58:26 [debug] 611589#611589: *1 http copy filter: 0 "/health?" +2025/08/20 07:58:26 [debug] 611589#611589: *1 http finalize request: 0, "/health?" a:1, c:1 +2025/08/20 07:58:26 [debug] 611589#611589: *1 set http keepalive handler +2025/08/20 07:58:26 [debug] 611589#611589: *1 http close request +2025/08/20 07:58:26 [debug] 611589#611589: *1 http log handler +2025/08/20 07:58:26 [debug] 611589#611589: *1 free: 0000576823AE8A30, unused: 0 +2025/08/20 07:58:26 [debug] 611589#611589: *1 free: 0000576823ADEDA0, unused: 2736 +2025/08/20 07:58:26 [debug] 611589#611589: *1 free: 0000576823ACC0A0 +2025/08/20 07:58:26 [debug] 611589#611589: *1 hc free: 0000000000000000 +2025/08/20 07:58:26 [debug] 611589#611589: *1 hc busy: 0000000000000000 0 +2025/08/20 07:58:26 [debug] 611589#611589: *1 tcp_nodelay +2025/08/20 07:58:26 [debug] 611589#611589: *1 reusable connection: 1 +2025/08/20 07:58:26 [debug] 611589#611589: *1 event timer add: 6: 65000:257904986 +2025/08/20 07:58:26 [debug] 611589#611589: timer delta: 0 +2025/08/20 07:58:26 [debug] 611589#611589: worker cycle +2025/08/20 07:58:26 [debug] 611589#611589: epoll timer: 65000 +2025/08/20 07:58:26 [debug] 611589#611589: epoll: fd:6 ev:2001 d:000071873478F1E0 +2025/08/20 07:58:26 [debug] 611589#611589: *1 http keepalive handler +2025/08/20 07:58:26 [debug] 611589#611589: *1 malloc: 0000576823ACC0A0:1024 +2025/08/20 07:58:26 [debug] 611589#611589: *1 recv: eof:1, avail:-1 +2025/08/20 07:58:26 [debug] 611589#611589: *1 recv: fd:6 0 of 1024 +2025/08/20 07:58:26 [info] 611589#611589: *1 client 127.0.0.1 closed keepalive connection +2025/08/20 07:58:26 [debug] 611589#611589: *1 close http connection: 6 +2025/08/20 07:58:26 [debug] 611589#611589: *1 event timer del: 6: 257904986 +2025/08/20 07:58:26 [debug] 611589#611589: *1 reusable connection: 0 +2025/08/20 07:58:26 [debug] 611589#611589: *1 free: 0000576823ACC0A0 +2025/08/20 07:58:26 [debug] 611589#611589: *1 free: 0000576823AC9840, unused: 136 +2025/08/20 07:58:26 [debug] 611589#611589: timer delta: 1 +2025/08/20 07:58:26 [debug] 611589#611589: worker cycle +2025/08/20 07:58:26 [debug] 611589#611589: epoll timer: -1 +2025/08/20 07:58:27 [debug] 611589#611589: epoll: fd:5 ev:0001 d:000071873478F010 +2025/08/20 07:58:27 [debug] 611589#611589: accept on 0.0.0.0:9001, ready: 0 +2025/08/20 07:58:27 [debug] 611589#611589: posix_memalign: 0000576823AC9840:512 @16 +2025/08/20 07:58:27 [debug] 611589#611589: *2 accept: 127.0.0.1:34426 fd:6 +2025/08/20 07:58:27 [debug] 611589#611589: *2 event timer add: 6: 60000:257900310 +2025/08/20 07:58:27 [debug] 611589#611589: *2 reusable connection: 1 +2025/08/20 07:58:27 [debug] 611589#611589: *2 epoll add event: fd:6 op:1 ev:80002001 +2025/08/20 07:58:27 [debug] 611589#611589: timer delta: 323 +2025/08/20 07:58:27 [debug] 611589#611589: worker cycle +2025/08/20 07:58:27 [debug] 611589#611589: epoll timer: 60000 +2025/08/20 07:58:27 [debug] 611589#611589: epoll: fd:6 ev:0001 d:000071873478F1E1 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http wait request handler +2025/08/20 07:58:27 [debug] 611589#611589: *2 malloc: 0000576823ACC0A0:1024 +2025/08/20 07:58:27 [debug] 611589#611589: *2 recv: eof:0, avail:-1 +2025/08/20 07:58:27 [debug] 611589#611589: *2 recv: fd:6 1024 of 1024 +2025/08/20 07:58:27 [debug] 611589#611589: *2 recv: avail:112 +2025/08/20 07:58:27 [debug] 611589#611589: *2 reusable connection: 0 +2025/08/20 07:58:27 [debug] 611589#611589: *2 posix_memalign: 0000576823AE8A30:4096 @16 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http process request line +2025/08/20 07:58:27 [debug] 611589#611589: *2 http request line: "PUT /upload HTTP/1.1" +2025/08/20 07:58:27 [debug] 611589#611589: *2 http uri: "/upload" +2025/08/20 07:58:27 [debug] 611589#611589: *2 http args: "" +2025/08/20 07:58:27 [debug] 611589#611589: *2 http exten: "" +2025/08/20 07:58:27 [debug] 611589#611589: *2 posix_memalign: 0000576823ADEDA0:4096 @16 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http process request header line +2025/08/20 07:58:27 [debug] 611589#611589: *2 http header: "Host: localhost:9001" +2025/08/20 07:58:27 [debug] 611589#611589: *2 http header: "User-Agent: curl/8.15.0" +2025/08/20 07:58:27 [debug] 611589#611589: *2 http header: "Accept: */*" +2025/08/20 07:58:27 [debug] 611589#611589: *2 http header: "Authorization: Nostr eyJraW5kIjoyNDI0MiwiaWQiOiJiNjQ2ZjkwMjE4MWQ3YTQwMmQ1Y2E4YmJiN2E1YmE3NWQ1OWVlYmQwZTJkZmExZmQyM2E3Mjc1ZDY3Nzk0NTgyIiwicHVia2V5IjoiNzliZTY2N2VmOWRjYmJhYzU1YTA2Mjk1Y2U4NzBiMDcwMjliZmNkYjJkY2UyOGQ5NTlmMjgxNWIxNmY4MTc5OCIsImNyZWF0ZWRfYXQiOjE3NTU2OTExMDcsInRhZ3MiOltbInQiLCJ1cGxvYWQiXSxbIngiLCJlY2MxMTZlNWEwNjA2NmY0NWI2MjgzYTNmMjI5NTBmZTdhYjVkYzQ3NmM5ZmI1OTQyNzQyYzk0MzNiYjJhYmM3Il0sWyJleHBpcmF0aW9uIiwiMTc1NTY5NDcwNiJdXSwiY29udGVudCI6IiIsInNpZyI6IjY3OTk1NTY3ZDdlMWM5YzQ0YWY4Yjg4ZGM2Y2RmYjBkNTQyOTBiY2UzZDc5ZjJhODNlNzc0MThlMzJlMWVhN2Q0M2ZmZTE1YjRhYTA5YjVjN2MyMTRjNjBjMDQxY2IwZjkwNjg0MmQyOWZkZDYzODYyYmFhOTE3YzQzZWEwNjJlIn0=" +2025/08/20 07:58:27 [debug] 611589#611589: *2 http header: "Content-Type: text/plain" +2025/08/20 07:58:27 [debug] 611589#611589: *2 http header: "Content-Disposition: attachment; filename="test_blob_1755691106.txt"" +2025/08/20 07:58:27 [debug] 611589#611589: *2 http header: "Content-Length: 296" +2025/08/20 07:58:27 [debug] 611589#611589: *2 http header done +2025/08/20 07:58:27 [debug] 611589#611589: *2 event timer del: 6: 257900310 +2025/08/20 07:58:27 [debug] 611589#611589: *2 generic phase: 0 +2025/08/20 07:58:27 [debug] 611589#611589: *2 rewrite phase: 1 +2025/08/20 07:58:27 [debug] 611589#611589: *2 test location: "/health" +2025/08/20 07:58:27 [debug] 611589#611589: *2 test location: "/upload" +2025/08/20 07:58:27 [debug] 611589#611589: *2 test location: ~ "^/([a-f0-9]{64}).*$" +2025/08/20 07:58:27 [debug] 611589#611589: *2 test location: ~ "^/([a-f0-9]{64})(\.[a-zA-Z0-9]+)?$" +2025/08/20 07:58:27 [debug] 611589#611589: *2 test location: ~ "^/fcgi-head/([a-f0-9]{64}).*$" +2025/08/20 07:58:27 [debug] 611589#611589: *2 test location: ~ "^/list/([a-f0-9]{64}).*$" +2025/08/20 07:58:27 [debug] 611589#611589: *2 using configuration "/upload" +2025/08/20 07:58:27 [debug] 611589#611589: *2 http cl:296 max:104857600 +2025/08/20 07:58:27 [debug] 611589#611589: *2 rewrite phase: 3 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http script var +2025/08/20 07:58:27 [debug] 611589#611589: *2 http script var: "PUT" +2025/08/20 07:58:27 [debug] 611589#611589: *2 http script regex: "^(PUT)$" +2025/08/20 07:58:27 [notice] 611589#611589: *2 "^(PUT)$" matches "PUT", client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", host: "localhost:9001" +2025/08/20 07:58:27 [debug] 611589#611589: *2 http script if +2025/08/20 07:58:27 [debug] 611589#611589: *2 http script if: false +2025/08/20 07:58:27 [debug] 611589#611589: *2 post rewrite phase: 4 +2025/08/20 07:58:27 [debug] 611589#611589: *2 generic phase: 5 +2025/08/20 07:58:27 [debug] 611589#611589: *2 generic phase: 6 +2025/08/20 07:58:27 [debug] 611589#611589: *2 generic phase: 7 +2025/08/20 07:58:27 [debug] 611589#611589: *2 access phase: 8 +2025/08/20 07:58:27 [debug] 611589#611589: *2 access phase: 9 +2025/08/20 07:58:27 [debug] 611589#611589: *2 access phase: 10 +2025/08/20 07:58:27 [debug] 611589#611589: *2 post access phase: 11 +2025/08/20 07:58:27 [debug] 611589#611589: *2 generic phase: 12 +2025/08/20 07:58:27 [debug] 611589#611589: *2 generic phase: 13 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http client request body preread 184 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http request body content length filter +2025/08/20 07:58:27 [debug] 611589#611589: *2 http body new buf t:1 f:0 0000576823ACC3E8, pos 0000576823ACC3E8, size: 184 file: 0, size: 0 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http read client request body +2025/08/20 07:58:27 [debug] 611589#611589: *2 recv: eof:0, avail:112 +2025/08/20 07:58:27 [debug] 611589#611589: *2 recv: fd:6 112 of 112 +2025/08/20 07:58:27 [debug] 611589#611589: *2 recv: avail:0 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http client request body recv 112 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http body new buf t:1 f:0 0000576823ADF830, pos 0000576823ADF830, size: 112 file: 0, size: 0 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http client request body rest 0 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http init upstream, client timer: 0 +2025/08/20 07:58:27 [debug] 611589#611589: *2 epoll add event: fd:6 op:3 ev:80002005 +2025/08/20 07:58:27 [debug] 611589#611589: *2 posix_memalign: 0000576823AD3150:4096 @16 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http script copy: "QUERY_STRING" +2025/08/20 07:58:27 [debug] 611589#611589: *2 fastcgi param: "QUERY_STRING: " +2025/08/20 07:58:27 [debug] 611589#611589: *2 http script copy: "REQUEST_METHOD" +2025/08/20 07:58:27 [debug] 611589#611589: *2 http script var: "PUT" +2025/08/20 07:58:27 [debug] 611589#611589: *2 fastcgi param: "REQUEST_METHOD: PUT" +2025/08/20 07:58:27 [debug] 611589#611589: *2 http script copy: "CONTENT_TYPE" +2025/08/20 07:58:27 [debug] 611589#611589: *2 http script var: "text/plain" +2025/08/20 07:58:27 [debug] 611589#611589: *2 fastcgi param: "CONTENT_TYPE: text/plain" +2025/08/20 07:58:27 [debug] 611589#611589: *2 http script copy: "CONTENT_LENGTH" +2025/08/20 07:58:27 [debug] 611589#611589: *2 http script var: "296" +2025/08/20 07:58:27 [debug] 611589#611589: *2 fastcgi param: "CONTENT_LENGTH: 296" +2025/08/20 07:58:27 [debug] 611589#611589: *2 http script copy: "SCRIPT_NAME" +2025/08/20 07:58:27 [debug] 611589#611589: *2 http script var: "/upload" +2025/08/20 07:58:27 [debug] 611589#611589: *2 fastcgi param: "SCRIPT_NAME: /upload" +2025/08/20 07:58:27 [debug] 611589#611589: *2 http script copy: "REQUEST_URI" +2025/08/20 07:58:27 [debug] 611589#611589: *2 http script var: "/upload" +2025/08/20 07:58:27 [debug] 611589#611589: *2 fastcgi param: "REQUEST_URI: /upload" +2025/08/20 07:58:27 [debug] 611589#611589: *2 http script copy: "DOCUMENT_URI" +2025/08/20 07:58:27 [debug] 611589#611589: *2 http script var: "/upload" +2025/08/20 07:58:27 [debug] 611589#611589: *2 fastcgi param: "DOCUMENT_URI: /upload" +2025/08/20 07:58:27 [debug] 611589#611589: *2 http script copy: "DOCUMENT_ROOT" +2025/08/20 07:58:27 [debug] 611589#611589: *2 http script var: "./blobs" +2025/08/20 07:58:27 [debug] 611589#611589: *2 fastcgi param: "DOCUMENT_ROOT: ./blobs" +2025/08/20 07:58:27 [debug] 611589#611589: *2 http script copy: "SERVER_PROTOCOL" +2025/08/20 07:58:27 [debug] 611589#611589: *2 http script var: "HTTP/1.1" +2025/08/20 07:58:27 [debug] 611589#611589: *2 fastcgi param: "SERVER_PROTOCOL: HTTP/1.1" +2025/08/20 07:58:27 [debug] 611589#611589: *2 http script copy: "REQUEST_SCHEME" +2025/08/20 07:58:27 [debug] 611589#611589: *2 http script var: "http" +2025/08/20 07:58:27 [debug] 611589#611589: *2 fastcgi param: "REQUEST_SCHEME: http" +2025/08/20 07:58:27 [debug] 611589#611589: *2 http script copy: "" +2025/08/20 07:58:27 [debug] 611589#611589: *2 http script copy: "GATEWAY_INTERFACE" +2025/08/20 07:58:27 [debug] 611589#611589: *2 http script copy: "CGI/1.1" +2025/08/20 07:58:27 [debug] 611589#611589: *2 fastcgi param: "GATEWAY_INTERFACE: CGI/1.1" +2025/08/20 07:58:27 [debug] 611589#611589: *2 http script copy: "SERVER_SOFTWARE" +2025/08/20 07:58:27 [debug] 611589#611589: *2 http script copy: "nginx/" +2025/08/20 07:58:27 [debug] 611589#611589: *2 http script var: "1.18.0" +2025/08/20 07:58:27 [debug] 611589#611589: *2 fastcgi param: "SERVER_SOFTWARE: nginx/1.18.0" +2025/08/20 07:58:27 [debug] 611589#611589: *2 http script copy: "REMOTE_ADDR" +2025/08/20 07:58:27 [debug] 611589#611589: *2 http script var: "127.0.0.1" +2025/08/20 07:58:27 [debug] 611589#611589: *2 fastcgi param: "REMOTE_ADDR: 127.0.0.1" +2025/08/20 07:58:27 [debug] 611589#611589: *2 http script copy: "REMOTE_PORT" +2025/08/20 07:58:27 [debug] 611589#611589: *2 http script var: "34426" +2025/08/20 07:58:27 [debug] 611589#611589: *2 fastcgi param: "REMOTE_PORT: 34426" +2025/08/20 07:58:27 [debug] 611589#611589: *2 http script copy: "SERVER_ADDR" +2025/08/20 07:58:27 [debug] 611589#611589: *2 http script var: "127.0.0.1" +2025/08/20 07:58:27 [debug] 611589#611589: *2 fastcgi param: "SERVER_ADDR: 127.0.0.1" +2025/08/20 07:58:27 [debug] 611589#611589: *2 http script copy: "SERVER_PORT" +2025/08/20 07:58:27 [debug] 611589#611589: *2 http script var: "9001" +2025/08/20 07:58:27 [debug] 611589#611589: *2 fastcgi param: "SERVER_PORT: 9001" +2025/08/20 07:58:27 [debug] 611589#611589: *2 http script copy: "SERVER_NAME" +2025/08/20 07:58:27 [debug] 611589#611589: *2 http script var: "localhost" +2025/08/20 07:58:27 [debug] 611589#611589: *2 fastcgi param: "SERVER_NAME: localhost" +2025/08/20 07:58:27 [debug] 611589#611589: *2 http script copy: "REDIRECT_STATUS" +2025/08/20 07:58:27 [debug] 611589#611589: *2 http script copy: "200" +2025/08/20 07:58:27 [debug] 611589#611589: *2 fastcgi param: "REDIRECT_STATUS: 200" +2025/08/20 07:58:27 [debug] 611589#611589: *2 http script copy: "SCRIPT_FILENAME" +2025/08/20 07:58:27 [debug] 611589#611589: *2 http script var: "./blobs" +2025/08/20 07:58:27 [debug] 611589#611589: *2 http script copy: "/ginxsom.fcgi" +2025/08/20 07:58:27 [debug] 611589#611589: *2 fastcgi param: "SCRIPT_FILENAME: ./blobs/ginxsom.fcgi" +2025/08/20 07:58:27 [debug] 611589#611589: *2 fastcgi param: "HTTP_HOST: localhost:9001" +2025/08/20 07:58:27 [debug] 611589#611589: *2 fastcgi param: "HTTP_USER_AGENT: curl/8.15.0" +2025/08/20 07:58:27 [debug] 611589#611589: *2 fastcgi param: "HTTP_ACCEPT: */*" +2025/08/20 07:58:27 [debug] 611589#611589: *2 fastcgi param: "HTTP_AUTHORIZATION: Nostr eyJraW5kIjoyNDI0MiwiaWQiOiJiNjQ2ZjkwMjE4MWQ3YTQwMmQ1Y2E4YmJiN2E1YmE3NWQ1OWVlYmQwZTJkZmExZmQyM2E3Mjc1ZDY3Nzk0NTgyIiwicHVia2V5IjoiNzliZTY2N2VmOWRjYmJhYzU1YTA2Mjk1Y2U4NzBiMDcwMjliZmNkYjJkY2UyOGQ5NTlmMjgxNWIxNmY4MTc5OCIsImNyZWF0ZWRfYXQiOjE3NTU2OTExMDcsInRhZ3MiOltbInQiLCJ1cGxvYWQiXSxbIngiLCJlY2MxMTZlNWEwNjA2NmY0NWI2MjgzYTNmMjI5NTBmZTdhYjVkYzQ3NmM5ZmI1OTQyNzQyYzk0MzNiYjJhYmM3Il0sWyJleHBpcmF0aW9uIiwiMTc1NTY5NDcwNiJdXSwiY29udGVudCI6IiIsInNpZyI6IjY3OTk1NTY3ZDdlMWM5YzQ0YWY4Yjg4ZGM2Y2RmYjBkNTQyOTBiY2UzZDc5ZjJhODNlNzc0MThlMzJlMWVhN2Q0M2ZmZTE1YjRhYTA5YjVjN2MyMTRjNjBjMDQxY2IwZjkwNjg0MmQyOWZkZDYzODYyYmFhOTE3YzQzZWEwNjJlIn0=" +2025/08/20 07:58:27 [debug] 611589#611589: *2 fastcgi param: "HTTP_CONTENT_TYPE: text/plain" +2025/08/20 07:58:27 [debug] 611589#611589: *2 fastcgi param: "HTTP_CONTENT_DISPOSITION: attachment; filename="test_blob_1755691106.txt"" +2025/08/20 07:58:27 [debug] 611589#611589: *2 fastcgi param: "HTTP_CONTENT_LENGTH: 296" +2025/08/20 07:58:27 [debug] 611589#611589: *2 http cleanup add: 0000576823ADFB80 +2025/08/20 07:58:27 [debug] 611589#611589: *2 get rr peer, try: 1 +2025/08/20 07:58:27 [debug] 611589#611589: *2 stream socket 10 +2025/08/20 07:58:27 [debug] 611589#611589: *2 epoll add connection: fd:10 ev:80002005 +2025/08/20 07:58:27 [debug] 611589#611589: *2 connect to unix:/tmp/ginxsom-fcgi.sock, fd:10 #3 +2025/08/20 07:58:27 [debug] 611589#611589: *2 connected +2025/08/20 07:58:27 [debug] 611589#611589: *2 http upstream connect: 0 +2025/08/20 07:58:27 [debug] 611589#611589: *2 posix_memalign: 0000576823AB2F20:128 @16 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http upstream send request +2025/08/20 07:58:27 [debug] 611589#611589: *2 http upstream send request body +2025/08/20 07:58:27 [debug] 611589#611589: *2 chain writer buf fl:0 s:1304 +2025/08/20 07:58:27 [debug] 611589#611589: *2 chain writer buf fl:0 s:184 +2025/08/20 07:58:27 [debug] 611589#611589: *2 chain writer buf fl:0 s:8 +2025/08/20 07:58:27 [debug] 611589#611589: *2 chain writer buf fl:0 s:112 +2025/08/20 07:58:27 [debug] 611589#611589: *2 chain writer buf fl:0 s:8 +2025/08/20 07:58:27 [debug] 611589#611589: *2 chain writer in: 0000576823ADFC10 +2025/08/20 07:58:27 [debug] 611589#611589: *2 writev: 1616 of 1616 +2025/08/20 07:58:27 [debug] 611589#611589: *2 chain writer out: 0000000000000000 +2025/08/20 07:58:27 [debug] 611589#611589: *2 event timer add: 10: 60000:257900310 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http finalize request: -4, "/upload?" a:1, c:2 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http request count:2 blk:0 +2025/08/20 07:58:27 [debug] 611589#611589: timer delta: 0 +2025/08/20 07:58:27 [debug] 611589#611589: worker cycle +2025/08/20 07:58:27 [debug] 611589#611589: epoll timer: 60000 +2025/08/20 07:58:27 [debug] 611589#611589: epoll: fd:6 ev:0004 d:000071873478F1E1 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http run request: "/upload?" +2025/08/20 07:58:27 [debug] 611589#611589: *2 http upstream check client, write event:1, "/upload" +2025/08/20 07:58:27 [debug] 611589#611589: epoll: fd:10 ev:0004 d:000071873478F2C8 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http upstream request: "/upload?" +2025/08/20 07:58:27 [debug] 611589#611589: *2 http upstream dummy handler +2025/08/20 07:58:27 [debug] 611589#611589: timer delta: 2 +2025/08/20 07:58:27 [debug] 611589#611589: worker cycle +2025/08/20 07:58:27 [debug] 611589#611589: epoll timer: 59998 +2025/08/20 07:58:27 [debug] 611589#611589: epoll: fd:10 ev:0005 d:000071873478F2C8 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http upstream request: "/upload?" +2025/08/20 07:58:27 [debug] 611589#611589: *2 http upstream process header +2025/08/20 07:58:27 [debug] 611589#611589: *2 malloc: 0000576823AD4160:4096 +2025/08/20 07:58:27 [debug] 611589#611589: *2 recv: eof:0, avail:-1 +2025/08/20 07:58:27 [debug] 611589#611589: *2 recv: fd:10 1536 of 4096 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi record byte: 01 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi record byte: 07 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi record byte: 00 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi record byte: 01 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi record byte: 01 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi record byte: F8 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi record byte: 00 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi record byte: 00 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi record length: 504 +2025/08/20 07:58:27 [error] 611589#611589: *2 FastCGI sent in stderr: "DEBUG: FastCGI received request +DEBUG: METHOD=PUT, URI=/upload +DEBUG: handle_upload_request called +LOG: [2025-08-20 07:58:27] PUT /upload - Auth: pending - Status: 0 +DEBUG: content_type=text/plain +DEBUG: content_length=296 +DEBUG: Raw Authorization header: Nostr eyJraW5kIjoyNDI0MiwiaWQiOiJiNjQ2ZjkwMjE4MWQ3YTQwMmQ1Y2E4YmJiN2E1YmE3NWQ1OWVlYmQwZTJkZmExZmQyM2E3Mjc1ZDY3Nzk0NTgyIiwicHVia2V5IjoiNzliZTY2N2VmOWRjYmJhYzU1YTA2Mjk1Y2U4NzBiMDcwMjliZmNkYjJkY2UyOGQ5NTlmMjgxNWIxNmY4MTc5OCIsImNyZWF0ZWRfYXQiOjE3" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi record byte: 01 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi record byte: 07 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi record byte: 00 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi record byte: 01 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi record byte: 01 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi record byte: F8 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi record byte: 00 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi record byte: 00 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi record length: 504 +2025/08/20 07:58:27 [error] 611589#611589: *2 FastCGI sent in stderr: "NTU2OTExMDcsInRhZ3MiOltbInQiLCJ1cGxvYWQiXSxbIngiLCJlY2MxMTZlNWEwNjA2NmY0NWI2MjgzYTNmMjI5NTBmZTdhYjVkYzQ3NmM5ZmI1OTQyNzQyYzk0MzNiYjJhYmM3Il0sWyJleHBpcmF0aW9uIiwiMTc1NTY5NDcwNiJdXSwiY29udGVudCI6IiIsInNpZyI6IjY3OTk1NTY3ZDdlMWM5YzQ0YWY4Yjg4ZGM2Y2RmYjBkNTQyOTBiY2UzZDc5ZjJhODNlNzc0MThlMzJlMWVhN2Q0M2ZmZTE1YjRhYTA5YjVjN2MyMTRjNjBjMDQxY2IwZjkwNjg0MmQyOWZkZDYzODYyYmFhOTE3YzQzZWEwNjJlIn0= +LOG: [2025-08-20 07:58:27] PUT /upload - Auth: auth_provided - Status: 0 +DEBUG: Successfully read DEBUG-LAAN: DATA TO HAS" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi record byte: 01 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi record byte: 07 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi record byte: 00 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi record byte: 01 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi record byte: 01 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi record byte: F8 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi record byte: 00 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi record byte: 00 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi record length: 504 +2025/08/20 07:58:27 [error] 611589#611589: *2 FastCGI sent in stderr: "H: Test blob content for Ginxsom Blossom server +Timestamp: 2025-08-20T07:58:26-04:00 +Random data: c1ea3e4159f9996079d446601a2948818623399f073bfebcedac5086091db7cb +Test message: Hello from put_test.sh! + +This file is used to test the upload functionality +of the Ginxsom Blossom server implementation. + +DEBUG-LAAN: Calculated SHA-256: ecc116e5a06066f45b6283a3f22950fe7ab5dc476c9fb5942742c9433bb2abc7 +══════════════════════════════════" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 07:58:27 [debug] 611589#611589: *2 recv: eof:0, avail:0 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http upstream request: "/upload?" +2025/08/20 07:58:27 [debug] 611589#611589: *2 http upstream dummy handler +2025/08/20 07:58:27 [debug] 611589#611589: timer delta: 0 +2025/08/20 07:58:27 [debug] 611589#611589: worker cycle +2025/08/20 07:58:27 [debug] 611589#611589: epoll timer: 59998 +2025/08/20 07:58:27 [debug] 611589#611589: epoll: fd:10 ev:2005 d:000071873478F2C8 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http upstream request: "/upload?" +2025/08/20 07:58:27 [debug] 611589#611589: *2 http upstream process header +2025/08/20 07:58:27 [debug] 611589#611589: *2 recv: eof:1, avail:-1 +2025/08/20 07:58:27 [debug] 611589#611589: *2 recv: fd:10 3704 of 4096 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi record byte: 01 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi record byte: 07 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi record byte: 00 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi record byte: 01 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi record byte: 01 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi record byte: F8 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi record byte: 00 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi record byte: 00 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi record length: 504 +2025/08/20 07:58:27 [error] 611589#611589: *2 FastCGI sent in stderr: "════════════════════════════════ +🔍 STEP SERVER-1: Starting server-style authentication (mirroring test_auth_debug.c) +ℹ️ INFO: Server-style auth called with method: upload, hash: ecc116e5a06066f45b6283a3f22950fe7ab5dc476c9fb5942742c9433bb2abc7 +🔍 STEP SERVER-2: Calling parse_authorization_header +DEBUG: parse_authorization_header called with header: Nostr eyJraW5kIjoyNDI0MiwiaWQiOiJiNjQ2ZjkwMjE4MWQ3... +DEBUG: Extracted base64" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi record byte: 01 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi record byte: 07 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi record byte: 00 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi record byte: 01 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi record byte: 01 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi record byte: F8 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi record byte: 00 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi record byte: 00 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi record length: 504 +2025/08/20 07:58:27 [error] 611589#611589: *2 FastCGI sent in stderr: "event (length=DEBUG: Base64 decode result - decoded_len=DEBUG: Successfully decoded JSON (length=✅ SUCCESS: parse_authorization_header succeeded +🔍 STEP SERVER-3: Calling cJSON_Parse on JSON string +ℹ️ INFO: JSON to parse: {"kind":24242,"id":"b646f902181d7a402d5ca8bbb7a5ba75d59eebd0e2dfa1fd23a7275d67794582","pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1755691107,"tags":[["t","upload"],["x","ecc116e5a06066f45b6283a3f22950fe7ab5dc476c9fb5942742c9433b" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi record byte: 01 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi record byte: 07 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi record byte: 00 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi record byte: 01 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi record byte: 01 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi record byte: F8 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi record byte: 00 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi record byte: 00 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi record length: 504 +2025/08/20 07:58:27 [error] 611589#611589: *2 FastCGI sent in stderr: "b2abc7"],["expiration","1755694706"]],"content":"","sig":"67995567d7e1c9c44af8b88dc6cdfb0d54290bce3d79f2a83e77418e32e1ea7d43ffe15b4aa09b5c7c214c60c041cb0f906842d29fdd63862baa917c43ea062e"} +✅ SUCCESS: cJSON_Parse succeeded, event parsed +ℹ️ INFO: Parsed JSON: { + "kind": 24242, + "id": "b646f902181d7a402d5ca8bbb7a5ba75d59eebd0e2dfa1fd23a7275d67794582", + "pubkey": "79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798", + "created_at": 1755691107, + "tags": [["t", "upload"], ["x", "ecc116" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi record byte: 01 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi record byte: 07 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi record byte: 00 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi record byte: 01 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi record byte: 01 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi record byte: F8 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi record byte: 00 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi record byte: 00 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi record length: 504 +2025/08/20 07:58:27 [error] 611589#611589: *2 FastCGI sent in stderr: "e5a06066f45b6283a3f22950fe7ab5dc476c9fb5942742c9433bb2abc7"], ["expiration", "1755694706"]], + "content": "", + "sig": "67995567d7e1c9c44af8b88dc6cdfb0d54290bce3d79f2a83e77418e32e1ea7d43ffe15b4aa09b5c7c214c60c041cb0f906842d29fdd63862baa917c43ea062e" +} +🔍 STEP SERVER-4: Event fields before validation +ℹ️ INFO: id: b646f902181d7a402d5ca8bbb7a5ba75d59eebd0e2dfa1fd23a7275d67794582 +ℹ️ INFO: pubkey: 79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 +ℹ️ INFO: sig: 67995567" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi record byte: 01 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi record byte: 07 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi record byte: 00 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi record byte: 01 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi record byte: 01 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi record byte: F8 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi record byte: 00 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi record byte: 00 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi record length: 504 +2025/08/20 07:58:27 [error] 611589#611589: *2 FastCGI sent in stderr: "d7e1c9c44af8b88dc6cdfb0d54290bce3d79f2a83e77418e32e1ea7d43ffe15b4aa09b5c7c214c60c041cb0f906842d29fdd63862baa917c43ea062e +ℹ️ INFO: kind: 24242 +ℹ️ INFO: created_at: 1755691107 +🔍 STEP SERVER-5: Detailed pubkey analysis +ℹ️ INFO: Pubkey: 79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 +ℹ️ INFO: Length: ℹ️ INFO: Character analysis (first 10): +7(0x37) 9(0x39) b(0x62) e(0x65) 6(0x36) 6(0x36) 7(0x37) e(0x65) f(0x66) 9(0x39) +🔍 STEP SERVER-6: Pre-valid" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi record byte: 01 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi record byte: 07 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi record byte: 00 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi record byte: 01 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi record byte: 01 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi record byte: F8 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi record byte: 00 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi record byte: 00 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi record length: 504 +2025/08/20 07:58:27 [error] 611589#611589: *2 FastCGI sent in stderr: "ation pubkey analysis +ℹ️ INFO: Pubkey: 79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 +ℹ️ INFO: Length: ℹ️ INFO: Character analysis (first 10): +7(55) 9(57) b(98) e(101) 6(54) 6(54) 7(55) e(101) f(102) 9(57) +ℹ️ INFO: Character validation test: +ALL VALID (lowercase hex) +🔍 STEP SERVER-7: Starting detailed validation analysis +ℹ️ INFO: Testing structure validation... +ℹ️ INFO: nostr_validate_event_structure returned: 0 (Success) +✅ SUCCESS: Str" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi record byte: 01 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi record byte: 07 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi record byte: 00 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi record byte: 01 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi record byte: 01 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi record byte: 7A +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi record byte: 06 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi record byte: 00 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi record length: 378 +2025/08/20 07:58:27 [error] 611589#611589: *2 FastCGI sent in stderr: "ucture validation PASSED +ℹ️ INFO: Testing cryptographic verification... +ℹ️ INFO: nostr_verify_event_signature returned: -32 (Event has invalid public key) +❌ ERROR: CRYPTO verification failed! +❌ ERROR: Failed pubkey: 79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 (length: LOG: [2025-08-20 07:58:27] PUT /upload - Auth: auth_failed - Status: 401" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi record byte: 01 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi record byte: 07 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi record byte: 00 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi record byte: 01 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi record byte: 00 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi record byte: 00 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi record byte: 00 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi record byte: 00 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi record length: 0 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi record byte: 01 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi record byte: 06 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi record byte: 00 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi record byte: 01 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi record byte: 00 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi record byte: C7 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi record byte: 01 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi record byte: 00 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi record length: 199 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi parser: 0 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi header: "Status: 401 Unauthorized" +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi parser: 0 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi header: "Content-Type: application/json" +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi parser: 1 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi header done +2025/08/20 07:58:27 [debug] 611589#611589: *2 HTTP/1.1 401 Unauthorized +Server: nginx/1.18.0 (Ubuntu) +Date: Wed, 20 Aug 2025 11:58:27 GMT +Content-Type: application/json +Transfer-Encoding: chunked +Connection: keep-alive + +2025/08/20 07:58:27 [debug] 611589#611589: *2 write new buf t:1 f:0 0000576823AD3808, pos 0000576823AD3808, size: 181 file: 0, size: 0 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http write filter: l:0 f:0 s:181 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http cacheable: 0 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http upstream process upstream +2025/08/20 07:58:27 [debug] 611589#611589: *2 pipe read upstream: 1 +2025/08/20 07:58:27 [debug] 611589#611589: *2 pipe preread: 164 +2025/08/20 07:58:27 [debug] 611589#611589: *2 readv: eof:1, avail:0 +2025/08/20 07:58:27 [debug] 611589#611589: *2 readv: 1, last:392 +2025/08/20 07:58:27 [debug] 611589#611589: *2 pipe recv chain: 0 +2025/08/20 07:58:27 [debug] 611589#611589: *2 pipe buf free s:0 t:1 f:0 0000576823AD4160, pos 0000576823AD4F34, size: 164 file: 0, size: 0 +2025/08/20 07:58:27 [debug] 611589#611589: *2 pipe length: -1 +2025/08/20 07:58:27 [debug] 611589#611589: *2 input buf #0 0000576823AD4F34 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi record byte: 01 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi record byte: 06 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi record byte: 00 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi record byte: 01 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi record byte: 00 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi record byte: 00 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi record byte: 00 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi record byte: 00 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi record length: 0 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi closed stdout +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi record byte: 01 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi record byte: 03 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi record byte: 00 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi record byte: 01 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi record byte: 00 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi record byte: 08 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi record byte: 00 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi record byte: 00 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi record length: 8 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http fastcgi sent end request +2025/08/20 07:58:27 [debug] 611589#611589: *2 input buf 0000576823AD4F34 139 +2025/08/20 07:58:27 [debug] 611589#611589: *2 pipe write downstream: 1 +2025/08/20 07:58:27 [debug] 611589#611589: *2 pipe write downstream flush in +2025/08/20 07:58:27 [debug] 611589#611589: *2 http output filter "/upload?" +2025/08/20 07:58:27 [debug] 611589#611589: *2 http copy filter: "/upload?" +2025/08/20 07:58:27 [debug] 611589#611589: *2 http postpone filter "/upload?" 0000576823ADFBE0 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http chunk: 139 +2025/08/20 07:58:27 [debug] 611589#611589: *2 write old buf t:1 f:0 0000576823AD3808, pos 0000576823AD3808, size: 181 file: 0, size: 0 +2025/08/20 07:58:27 [debug] 611589#611589: *2 write new buf t:1 f:0 0000576823ADFD78, pos 0000576823ADFD78, size: 4 file: 0, size: 0 +2025/08/20 07:58:27 [debug] 611589#611589: *2 write new buf t:1 f:0 0000576823AD4160, pos 0000576823AD4F34, size: 139 file: 0, size: 0 +2025/08/20 07:58:27 [debug] 611589#611589: *2 write new buf t:0 f:0 0000000000000000, pos 00005767E40412E8, size: 2 file: 0, size: 0 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http write filter: l:0 f:0 s:326 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http copy filter: 0 "/upload?" +2025/08/20 07:58:27 [debug] 611589#611589: *2 pipe write downstream done +2025/08/20 07:58:27 [debug] 611589#611589: *2 event timer: 10, old: 257900310, new: 257900313 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http upstream exit: 0000000000000000 +2025/08/20 07:58:27 [debug] 611589#611589: *2 finalize http upstream request: 0 +2025/08/20 07:58:27 [debug] 611589#611589: *2 finalize http fastcgi request +2025/08/20 07:58:27 [debug] 611589#611589: *2 free rr peer 1 0 +2025/08/20 07:58:27 [debug] 611589#611589: *2 close http upstream connection: 10 +2025/08/20 07:58:27 [debug] 611589#611589: *2 free: 0000576823AB2F20, unused: 48 +2025/08/20 07:58:27 [debug] 611589#611589: *2 event timer del: 10: 257900310 +2025/08/20 07:58:27 [debug] 611589#611589: *2 reusable connection: 0 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http upstream temp fd: -1 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http output filter "/upload?" +2025/08/20 07:58:27 [debug] 611589#611589: *2 http copy filter: "/upload?" +2025/08/20 07:58:27 [debug] 611589#611589: *2 http postpone filter "/upload?" 00007FFDAA910F00 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http chunk: 0 +2025/08/20 07:58:27 [debug] 611589#611589: *2 write old buf t:1 f:0 0000576823AD3808, pos 0000576823AD3808, size: 181 file: 0, size: 0 +2025/08/20 07:58:27 [debug] 611589#611589: *2 write old buf t:1 f:0 0000576823ADFD78, pos 0000576823ADFD78, size: 4 file: 0, size: 0 +2025/08/20 07:58:27 [debug] 611589#611589: *2 write old buf t:1 f:0 0000576823AD4160, pos 0000576823AD4F34, size: 139 file: 0, size: 0 +2025/08/20 07:58:27 [debug] 611589#611589: *2 write old buf t:0 f:0 0000000000000000, pos 00005767E40412E8, size: 2 file: 0, size: 0 +2025/08/20 07:58:27 [debug] 611589#611589: *2 write new buf t:0 f:0 0000000000000000, pos 00005767E40412E5, size: 5 file: 0, size: 0 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http write filter: l:1 f:0 s:331 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http write filter limit 0 +2025/08/20 07:58:27 [debug] 611589#611589: *2 writev: 331 of 331 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http write filter 0000000000000000 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http copy filter: 0 "/upload?" +2025/08/20 07:58:27 [debug] 611589#611589: *2 http finalize request: 0, "/upload?" a:1, c:1 +2025/08/20 07:58:27 [debug] 611589#611589: *2 set http keepalive handler +2025/08/20 07:58:27 [debug] 611589#611589: *2 http close request +2025/08/20 07:58:27 [debug] 611589#611589: *2 http log handler +2025/08/20 07:58:27 [debug] 611589#611589: *2 free: 0000576823AD4160 +2025/08/20 07:58:27 [debug] 611589#611589: *2 free: 0000576823AE8A30, unused: 3 +2025/08/20 07:58:27 [debug] 611589#611589: *2 free: 0000576823ADEDA0, unused: 0 +2025/08/20 07:58:27 [debug] 611589#611589: *2 free: 0000576823AD3150, unused: 1250 +2025/08/20 07:58:27 [debug] 611589#611589: *2 free: 0000576823ACC0A0 +2025/08/20 07:58:27 [debug] 611589#611589: *2 hc free: 0000000000000000 +2025/08/20 07:58:27 [debug] 611589#611589: *2 hc busy: 0000000000000000 0 +2025/08/20 07:58:27 [debug] 611589#611589: *2 tcp_nodelay +2025/08/20 07:58:27 [debug] 611589#611589: *2 reusable connection: 1 +2025/08/20 07:58:27 [debug] 611589#611589: *2 event timer add: 6: 65000:257905313 +2025/08/20 07:58:27 [debug] 611589#611589: *2 post event 0000576823B1A770 +2025/08/20 07:58:27 [debug] 611589#611589: timer delta: 1 +2025/08/20 07:58:27 [debug] 611589#611589: posted event 0000576823B1A770 +2025/08/20 07:58:27 [debug] 611589#611589: *2 delete posted event 0000576823B1A770 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http keepalive handler +2025/08/20 07:58:27 [debug] 611589#611589: *2 malloc: 0000576823ACC0A0:1024 +2025/08/20 07:58:27 [debug] 611589#611589: *2 recv: eof:0, avail:0 +2025/08/20 07:58:27 [debug] 611589#611589: *2 free: 0000576823ACC0A0 +2025/08/20 07:58:27 [debug] 611589#611589: worker cycle +2025/08/20 07:58:27 [debug] 611589#611589: epoll timer: 65000 +2025/08/20 07:58:27 [debug] 611589#611589: epoll: fd:6 ev:2005 d:000071873478F1E1 +2025/08/20 07:58:27 [debug] 611589#611589: *2 http keepalive handler +2025/08/20 07:58:27 [debug] 611589#611589: *2 malloc: 0000576823ACC0A0:1024 +2025/08/20 07:58:27 [debug] 611589#611589: *2 recv: eof:1, avail:-1 +2025/08/20 07:58:27 [debug] 611589#611589: *2 recv: fd:6 0 of 1024 +2025/08/20 07:58:27 [info] 611589#611589: *2 client 127.0.0.1 closed keepalive connection +2025/08/20 07:58:27 [debug] 611589#611589: *2 close http connection: 6 +2025/08/20 07:58:27 [debug] 611589#611589: *2 event timer del: 6: 257905313 +2025/08/20 07:58:27 [debug] 611589#611589: *2 reusable connection: 0 +2025/08/20 07:58:27 [debug] 611589#611589: *2 free: 0000576823ACC0A0 +2025/08/20 07:58:27 [debug] 611589#611589: *2 free: 0000576823AC9840, unused: 120 +2025/08/20 07:58:27 [debug] 611589#611589: timer delta: 2 +2025/08/20 07:58:27 [debug] 611589#611589: worker cycle +2025/08/20 07:58:27 [debug] 611589#611589: epoll timer: -1 +2025/08/20 07:58:27 [debug] 611589#611589: epoll: fd:5 ev:0001 d:000071873478F010 +2025/08/20 07:58:27 [debug] 611589#611589: accept on 0.0.0.0:9001, ready: 0 +2025/08/20 07:58:27 [debug] 611589#611589: posix_memalign: 0000576823AC9840:512 @16 +2025/08/20 07:58:27 [debug] 611589#611589: *4 accept: 127.0.0.1:34442 fd:6 +2025/08/20 07:58:27 [debug] 611589#611589: *4 event timer add: 6: 60000:257900327 +2025/08/20 07:58:27 [debug] 611589#611589: *4 reusable connection: 1 +2025/08/20 07:58:27 [debug] 611589#611589: *4 epoll add event: fd:6 op:1 ev:80002001 +2025/08/20 07:58:27 [debug] 611589#611589: timer delta: 12 +2025/08/20 07:58:27 [debug] 611589#611589: worker cycle +2025/08/20 07:58:27 [debug] 611589#611589: epoll timer: 60000 +2025/08/20 07:58:27 [debug] 611589#611589: epoll: fd:6 ev:0001 d:000071873478F1E0 +2025/08/20 07:58:27 [debug] 611589#611589: *4 http wait request handler +2025/08/20 07:58:27 [debug] 611589#611589: *4 malloc: 0000576823ACC0A0:1024 +2025/08/20 07:58:27 [debug] 611589#611589: *4 recv: eof:0, avail:-1 +2025/08/20 07:58:27 [debug] 611589#611589: *4 recv: fd:6 142 of 1024 +2025/08/20 07:58:27 [debug] 611589#611589: *4 reusable connection: 0 +2025/08/20 07:58:27 [debug] 611589#611589: *4 posix_memalign: 0000576823AE8A30:4096 @16 +2025/08/20 07:58:27 [debug] 611589#611589: *4 http process request line +2025/08/20 07:58:27 [debug] 611589#611589: *4 http request line: "GET /ecc116e5a06066f45b6283a3f22950fe7ab5dc476c9fb5942742c9433bb2abc7 HTTP/1.1" +2025/08/20 07:58:27 [debug] 611589#611589: *4 http uri: "/ecc116e5a06066f45b6283a3f22950fe7ab5dc476c9fb5942742c9433bb2abc7" +2025/08/20 07:58:27 [debug] 611589#611589: *4 http args: "" +2025/08/20 07:58:27 [debug] 611589#611589: *4 http exten: "" +2025/08/20 07:58:27 [debug] 611589#611589: *4 posix_memalign: 0000576823ADEDA0:4096 @16 +2025/08/20 07:58:27 [debug] 611589#611589: *4 http process request header line +2025/08/20 07:58:27 [debug] 611589#611589: *4 http header: "Host: localhost:9001" +2025/08/20 07:58:27 [debug] 611589#611589: *4 http header: "User-Agent: curl/8.15.0" +2025/08/20 07:58:27 [debug] 611589#611589: *4 http header: "Accept: */*" +2025/08/20 07:58:27 [debug] 611589#611589: *4 http header done +2025/08/20 07:58:27 [debug] 611589#611589: *4 event timer del: 6: 257900327 +2025/08/20 07:58:27 [debug] 611589#611589: *4 generic phase: 0 +2025/08/20 07:58:27 [debug] 611589#611589: *4 rewrite phase: 1 +2025/08/20 07:58:27 [debug] 611589#611589: *4 test location: "/health" +2025/08/20 07:58:27 [debug] 611589#611589: *4 test location: "/debug/list" +2025/08/20 07:58:27 [debug] 611589#611589: *4 test location: ~ "^/([a-f0-9]{64}).*$" +2025/08/20 07:58:27 [debug] 611589#611589: *4 using configuration "^/([a-f0-9]{64}).*$" +2025/08/20 07:58:27 [debug] 611589#611589: *4 http cl:-1 max:104857600 +2025/08/20 07:58:27 [debug] 611589#611589: *4 rewrite phase: 3 +2025/08/20 07:58:27 [debug] 611589#611589: *4 http script var +2025/08/20 07:58:27 [debug] 611589#611589: *4 http script var: "GET" +2025/08/20 07:58:27 [debug] 611589#611589: *4 http script value: "DELETE" +2025/08/20 07:58:27 [debug] 611589#611589: *4 http script not equal +2025/08/20 07:58:27 [debug] 611589#611589: *4 http script if +2025/08/20 07:58:27 [debug] 611589#611589: *4 http finalize request: 404, "/ecc116e5a06066f45b6283a3f22950fe7ab5dc476c9fb5942742c9433bb2abc7?" a:1, c:1 +2025/08/20 07:58:27 [debug] 611589#611589: *4 http special response: 404, "/ecc116e5a06066f45b6283a3f22950fe7ab5dc476c9fb5942742c9433bb2abc7?" +2025/08/20 07:58:27 [debug] 611589#611589: *4 http set discard body +2025/08/20 07:58:27 [debug] 611589#611589: *4 HTTP/1.1 404 Not Found +Server: nginx/1.18.0 (Ubuntu) +Date: Wed, 20 Aug 2025 11:58:27 GMT +Content-Type: text/html +Content-Length: 162 +Connection: keep-alive + +2025/08/20 07:58:27 [debug] 611589#611589: *4 write new buf t:1 f:0 0000576823ADF180, pos 0000576823ADF180, size: 164 file: 0, size: 0 +2025/08/20 07:58:27 [debug] 611589#611589: *4 http write filter: l:0 f:0 s:164 +2025/08/20 07:58:27 [debug] 611589#611589: *4 http output filter "/ecc116e5a06066f45b6283a3f22950fe7ab5dc476c9fb5942742c9433bb2abc7?" +2025/08/20 07:58:27 [debug] 611589#611589: *4 http copy filter: "/ecc116e5a06066f45b6283a3f22950fe7ab5dc476c9fb5942742c9433bb2abc7?" +2025/08/20 07:58:27 [debug] 611589#611589: *4 http postpone filter "/ecc116e5a06066f45b6283a3f22950fe7ab5dc476c9fb5942742c9433bb2abc7?" 0000576823ADF310 +2025/08/20 07:58:27 [debug] 611589#611589: *4 write old buf t:1 f:0 0000576823ADF180, pos 0000576823ADF180, size: 164 file: 0, size: 0 +2025/08/20 07:58:27 [debug] 611589#611589: *4 write new buf t:0 f:0 0000000000000000, pos 00005767E4080580, size: 100 file: 0, size: 0 +2025/08/20 07:58:27 [debug] 611589#611589: *4 write new buf t:0 f:0 0000000000000000, pos 00005767E4080C80, size: 62 file: 0, size: 0 +2025/08/20 07:58:27 [debug] 611589#611589: *4 http write filter: l:1 f:0 s:326 +2025/08/20 07:58:27 [debug] 611589#611589: *4 http write filter limit 0 +2025/08/20 07:58:27 [debug] 611589#611589: *4 writev: 326 of 326 +2025/08/20 07:58:27 [debug] 611589#611589: *4 http write filter 0000000000000000 +2025/08/20 07:58:27 [debug] 611589#611589: *4 http copy filter: 0 "/ecc116e5a06066f45b6283a3f22950fe7ab5dc476c9fb5942742c9433bb2abc7?" +2025/08/20 07:58:27 [debug] 611589#611589: *4 http finalize request: 0, "/ecc116e5a06066f45b6283a3f22950fe7ab5dc476c9fb5942742c9433bb2abc7?" a:1, c:1 +2025/08/20 07:58:27 [debug] 611589#611589: *4 set http keepalive handler +2025/08/20 07:58:27 [debug] 611589#611589: *4 http close request +2025/08/20 07:58:27 [debug] 611589#611589: *4 http log handler +2025/08/20 07:58:27 [debug] 611589#611589: *4 free: 0000576823AE8A30, unused: 0 +2025/08/20 07:58:27 [debug] 611589#611589: *4 free: 0000576823ADEDA0, unused: 2456 +2025/08/20 07:58:27 [debug] 611589#611589: *4 free: 0000576823ACC0A0 +2025/08/20 07:58:27 [debug] 611589#611589: *4 hc free: 0000000000000000 +2025/08/20 07:58:27 [debug] 611589#611589: *4 hc busy: 0000000000000000 0 +2025/08/20 07:58:27 [debug] 611589#611589: *4 tcp_nodelay +2025/08/20 07:58:27 [debug] 611589#611589: *4 reusable connection: 1 +2025/08/20 07:58:27 [debug] 611589#611589: *4 event timer add: 6: 65000:257905327 +2025/08/20 07:58:27 [debug] 611589#611589: timer delta: 0 +2025/08/20 07:58:27 [debug] 611589#611589: worker cycle +2025/08/20 07:58:27 [debug] 611589#611589: epoll timer: 65000 +2025/08/20 07:58:27 [debug] 611589#611589: epoll: fd:6 ev:2001 d:000071873478F1E0 +2025/08/20 07:58:27 [debug] 611589#611589: *4 http keepalive handler +2025/08/20 07:58:27 [debug] 611589#611589: *4 malloc: 0000576823ACC0A0:1024 +2025/08/20 07:58:27 [debug] 611589#611589: *4 recv: eof:1, avail:-1 +2025/08/20 07:58:27 [debug] 611589#611589: *4 recv: fd:6 0 of 1024 +2025/08/20 07:58:27 [info] 611589#611589: *4 client 127.0.0.1 closed keepalive connection +2025/08/20 07:58:27 [debug] 611589#611589: *4 close http connection: 6 +2025/08/20 07:58:27 [debug] 611589#611589: *4 event timer del: 6: 257905327 +2025/08/20 07:58:27 [debug] 611589#611589: *4 reusable connection: 0 +2025/08/20 07:58:27 [debug] 611589#611589: *4 free: 0000576823ACC0A0 +2025/08/20 07:58:27 [debug] 611589#611589: *4 free: 0000576823AC9840, unused: 136 +2025/08/20 07:58:27 [debug] 611589#611589: timer delta: 1 +2025/08/20 07:58:27 [debug] 611589#611589: worker cycle +2025/08/20 07:58:27 [debug] 611589#611589: epoll timer: -1 +2025/08/20 09:03:49 [notice] 611588#611588: signal 15 (SIGTERM) received from 620856, exiting +2025/08/20 09:03:49 [debug] 611588#611588: wake up, sigio 0 +2025/08/20 09:03:49 [debug] 611588#611588: child: 0 611589 e:0 t:0 d:0 r:1 j:0 +2025/08/20 09:03:49 [debug] 611588#611588: termination cycle: 50 +2025/08/20 09:03:49 [debug] 611589#611589: epoll: fd:7 ev:0001 d:000071873478F0F8 +2025/08/20 09:03:49 [debug] 611588#611588: sigsuspend +2025/08/20 09:03:49 [debug] 611589#611589: channel handler +2025/08/20 09:03:49 [debug] 611589#611589: channel: 32 +2025/08/20 09:03:49 [debug] 611589#611589: channel command: 4 +2025/08/20 09:03:49 [debug] 611589#611589: channel: -2 +2025/08/20 09:03:49 [debug] 611589#611589: timer delta: 3921920 +2025/08/20 09:03:49 [notice] 611589#611589: exiting +2025/08/20 09:03:49 [debug] 611589#611589: flush files +2025/08/20 09:03:49 [debug] 611589#611589: run cleanup: 0000576823B17A80 +2025/08/20 09:03:49 [debug] 611589#611589: run cleanup: 0000576823B0AA18 +2025/08/20 09:03:49 [debug] 611589#611589: cleanup resolver +2025/08/20 09:03:49 [debug] 611589#611589: free: 0000576823B18DE0 +2025/08/20 09:03:49 [debug] 611589#611589: free: 0000576823B0BBE0 +2025/08/20 09:03:49 [debug] 611589#611589: free: 0000576823AEAB50 +2025/08/20 09:03:49 [debug] 611589#611589: free: 0000576823AE9A40 +2025/08/20 09:03:49 [debug] 611589#611589: free: 0000576823AE3A10 +2025/08/20 09:03:49 [debug] 611589#611589: free: 0000576823AE2950 +2025/08/20 09:03:49 [debug] 611589#611589: free: 0000576823AE1890 +2025/08/20 09:03:49 [debug] 611589#611589: free: 0000576823AE07D0 +2025/08/20 09:03:49 [debug] 611589#611589: free: 0000576823AD8170 +2025/08/20 09:03:49 [debug] 611589#611589: free: 0000576823ACF140, unused: 0 +2025/08/20 09:03:49 [debug] 611589#611589: free: 0000576823AD9580, unused: 0 +2025/08/20 09:03:49 [debug] 611589#611589: free: 0000576823AE4A20, unused: 0 +2025/08/20 09:03:49 [debug] 611589#611589: free: 0000576823AEBB60, unused: 0 +2025/08/20 09:03:49 [debug] 611589#611589: free: 0000576823AEFB70, unused: 0 +2025/08/20 09:03:49 [debug] 611589#611589: free: 0000576823AF3B80, unused: 0 +2025/08/20 09:03:49 [debug] 611589#611589: free: 0000576823AF7B90, unused: 0 +2025/08/20 09:03:49 [debug] 611589#611589: free: 0000576823AFBBA0, unused: 0 +2025/08/20 09:03:49 [debug] 611589#611589: free: 0000576823AFFBB0, unused: 0 +2025/08/20 09:03:49 [debug] 611589#611589: free: 0000576823B03BC0, unused: 0 +2025/08/20 09:03:49 [debug] 611589#611589: free: 0000576823B07BD0, unused: 0 +2025/08/20 09:03:49 [debug] 611589#611589: free: 0000576823B0CDB0, unused: 0 +2025/08/20 09:03:49 [debug] 611589#611589: free: 0000576823B10DC0, unused: 0 +2025/08/20 09:03:49 [debug] 611589#611589: free: 0000576823B14DD0, unused: 4920 +2025/08/20 09:03:49 [notice] 611589#611589: exit +2025/08/20 09:03:49 [notice] 611588#611588: signal 17 (SIGCHLD) received from 611589 +2025/08/20 09:03:49 [notice] 611588#611588: worker process 611589 exited with code 0 +2025/08/20 09:03:49 [debug] 611588#611588: shmtx forced unlock +2025/08/20 09:03:49 [debug] 611588#611588: wake up, sigio 3 +2025/08/20 09:03:49 [debug] 611588#611588: reap children +2025/08/20 09:03:49 [debug] 611588#611588: child: 0 611589 e:1 t:1 d:0 r:1 j:0 +2025/08/20 09:03:49 [notice] 611588#611588: exit +2025/08/20 09:03:49 [debug] 611588#611588: close listening 0.0.0.0:9001 #5 +2025/08/20 09:03:49 [debug] 611588#611588: run cleanup: 0000576823B0AA18 +2025/08/20 09:03:49 [debug] 611588#611588: cleanup resolver +2025/08/20 09:03:49 [debug] 611588#611588: free: 0000576823B18DE0 +2025/08/20 09:03:49 [debug] 611588#611588: free: 0000576823B0BBE0 +2025/08/20 09:03:49 [debug] 611588#611588: free: 0000576823AEAB50 +2025/08/20 09:03:49 [debug] 611588#611588: free: 0000576823AE9A40 +2025/08/20 09:03:49 [debug] 611588#611588: free: 0000576823AE3A10 +2025/08/20 09:03:49 [debug] 611588#611588: free: 0000576823AE2950 +2025/08/20 09:03:49 [debug] 611588#611588: free: 0000576823AE1890 +2025/08/20 09:03:49 [debug] 611588#611588: free: 0000576823AE07D0 +2025/08/20 09:03:49 [debug] 611588#611588: free: 0000576823AD8170 +2025/08/20 09:03:49 [debug] 611588#611588: free: 0000576823ACF140, unused: 0 +2025/08/20 09:03:49 [debug] 611588#611588: free: 0000576823AD9580, unused: 0 +2025/08/20 09:03:49 [debug] 611588#611588: free: 0000576823AE4A20, unused: 0 +2025/08/20 09:03:49 [debug] 611588#611588: free: 0000576823AEBB60, unused: 0 +2025/08/20 09:03:49 [debug] 611588#611588: free: 0000576823AEFB70, unused: 0 +2025/08/20 09:03:49 [debug] 611588#611588: free: 0000576823AF3B80, unused: 0 +2025/08/20 09:03:49 [debug] 611588#611588: free: 0000576823AF7B90, unused: 0 +2025/08/20 09:03:49 [debug] 611588#611588: free: 0000576823AFBBA0, unused: 0 +2025/08/20 09:03:49 [debug] 611588#611588: free: 0000576823AFFBB0, unused: 0 +2025/08/20 09:03:49 [debug] 611588#611588: free: 0000576823B03BC0, unused: 0 +2025/08/20 09:03:49 [debug] 611588#611588: free: 0000576823B07BD0, unused: 0 +2025/08/20 09:03:49 [debug] 611588#611588: free: 0000576823B0CDB0, unused: 0 +2025/08/20 09:03:49 [debug] 611588#611588: free: 0000576823B10DC0, unused: 0 +2025/08/20 09:03:49 [debug] 611588#611588: free: 0000576823B14DD0, unused: 4951 +2025/08/20 09:03:52 [debug] 620890#620890: bind() 0.0.0.0:9001 #5 +2025/08/20 09:03:52 [debug] 620890#620890: counter: 000071744BE47080, 1 +2025/08/20 09:03:52 [debug] 620891#620891: bind() 0.0.0.0:9001 #5 +2025/08/20 09:03:52 [notice] 620891#620891: using the "epoll" event method +2025/08/20 09:03:52 [debug] 620891#620891: counter: 00007580042B8080, 1 +2025/08/20 09:03:52 [notice] 620891#620891: nginx/1.18.0 (Ubuntu) +2025/08/20 09:03:52 [notice] 620891#620891: OS: Linux 6.12.10-76061203-generic +2025/08/20 09:03:52 [notice] 620891#620891: getrlimit(RLIMIT_NOFILE): 1048576:1048576 +2025/08/20 09:03:52 [debug] 620892#620891: write: 6, 00007FFE76083CE0, 7, 0 +2025/08/20 09:03:52 [debug] 620892#620892: setproctitle: "nginx: master process nginx -p . -c config/local-nginx.conf" +2025/08/20 09:03:52 [notice] 620892#620892: start worker processes +2025/08/20 09:03:52 [debug] 620892#620892: channel 6:7 +2025/08/20 09:03:52 [notice] 620892#620892: start worker process 620893 +2025/08/20 09:03:52 [debug] 620892#620892: sigsuspend +2025/08/20 09:03:52 [debug] 620893#620893: add cleanup: 00005FEA6773DA80 +2025/08/20 09:03:52 [debug] 620893#620893: malloc: 00005FEA676F0BD0:8 +2025/08/20 09:03:52 [debug] 620893#620893: notify eventfd: 9 +2025/08/20 09:03:52 [debug] 620893#620893: testing the EPOLLRDHUP flag: success +2025/08/20 09:03:52 [debug] 620893#620893: malloc: 00005FEA67703590:6144 +2025/08/20 09:03:52 [debug] 620893#620893: malloc: 00007580040B0010:237568 +2025/08/20 09:03:52 [debug] 620893#620893: malloc: 00005FEA677406B0:98304 +2025/08/20 09:03:52 [debug] 620893#620893: malloc: 00005FEA677586C0:98304 +2025/08/20 09:03:52 [debug] 620893#620893: epoll add event: fd:5 op:1 ev:00002001 +2025/08/20 09:03:52 [debug] 620893#620893: epoll add event: fd:7 op:1 ev:00002001 +2025/08/20 09:03:52 [debug] 620893#620893: setproctitle: "nginx: worker process" +2025/08/20 09:03:52 [debug] 620893#620893: worker cycle +2025/08/20 09:03:52 [debug] 620893#620893: epoll timer: -1 +2025/08/20 09:04:29 [debug] 620893#620893: epoll: fd:5 ev:0001 d:00007580040B0010 +2025/08/20 09:04:29 [debug] 620893#620893: accept on 0.0.0.0:9001, ready: 0 +2025/08/20 09:04:29 [debug] 620893#620893: posix_memalign: 00005FEA676EF840:512 @16 +2025/08/20 09:04:29 [debug] 620893#620893: *1 accept: 127.0.0.1:51212 fd:6 +2025/08/20 09:04:29 [debug] 620893#620893: *1 event timer add: 6: 60000:261862670 +2025/08/20 09:04:29 [debug] 620893#620893: *1 reusable connection: 1 +2025/08/20 09:04:29 [debug] 620893#620893: *1 epoll add event: fd:6 op:1 ev:80002001 +2025/08/20 09:04:29 [debug] 620893#620893: timer delta: 37194 +2025/08/20 09:04:29 [debug] 620893#620893: worker cycle +2025/08/20 09:04:29 [debug] 620893#620893: epoll timer: 60000 +2025/08/20 09:04:29 [debug] 620893#620893: epoll: fd:6 ev:0001 d:00007580040B01E0 +2025/08/20 09:04:29 [debug] 620893#620893: *1 http wait request handler +2025/08/20 09:04:29 [debug] 620893#620893: *1 malloc: 00005FEA676F20A0:1024 +2025/08/20 09:04:29 [debug] 620893#620893: *1 recv: eof:0, avail:-1 +2025/08/20 09:04:29 [debug] 620893#620893: *1 recv: fd:6 84 of 1024 +2025/08/20 09:04:29 [debug] 620893#620893: *1 reusable connection: 0 +2025/08/20 09:04:29 [debug] 620893#620893: *1 posix_memalign: 00005FEA6770EA30:4096 @16 +2025/08/20 09:04:29 [debug] 620893#620893: *1 http process request line +2025/08/20 09:04:29 [debug] 620893#620893: *1 http request line: "GET /health HTTP/1.1" +2025/08/20 09:04:29 [debug] 620893#620893: *1 http uri: "/health" +2025/08/20 09:04:29 [debug] 620893#620893: *1 http args: "" +2025/08/20 09:04:29 [debug] 620893#620893: *1 http exten: "" +2025/08/20 09:04:29 [debug] 620893#620893: *1 posix_memalign: 00005FEA67704DA0:4096 @16 +2025/08/20 09:04:29 [debug] 620893#620893: *1 http process request header line +2025/08/20 09:04:29 [debug] 620893#620893: *1 http header: "Host: localhost:9001" +2025/08/20 09:04:29 [debug] 620893#620893: *1 http header: "User-Agent: curl/8.15.0" +2025/08/20 09:04:29 [debug] 620893#620893: *1 http header: "Accept: */*" +2025/08/20 09:04:29 [debug] 620893#620893: *1 http header done +2025/08/20 09:04:29 [debug] 620893#620893: *1 event timer del: 6: 261862670 +2025/08/20 09:04:29 [debug] 620893#620893: *1 generic phase: 0 +2025/08/20 09:04:29 [debug] 620893#620893: *1 rewrite phase: 1 +2025/08/20 09:04:29 [debug] 620893#620893: *1 test location: "/health" +2025/08/20 09:04:29 [debug] 620893#620893: *1 test location: ~ "^/([a-f0-9]{64}).*$" +2025/08/20 09:04:29 [debug] 620893#620893: *1 test location: ~ "^/([a-f0-9]{64})(\.[a-zA-Z0-9]+)?$" +2025/08/20 09:04:29 [debug] 620893#620893: *1 test location: ~ "^/fcgi-head/([a-f0-9]{64}).*$" +2025/08/20 09:04:29 [debug] 620893#620893: *1 test location: ~ "^/list/([a-f0-9]{64}).*$" +2025/08/20 09:04:29 [debug] 620893#620893: *1 using configuration "/health" +2025/08/20 09:04:29 [debug] 620893#620893: *1 http cl:-1 max:104857600 +2025/08/20 09:04:29 [debug] 620893#620893: *1 rewrite phase: 3 +2025/08/20 09:04:29 [debug] 620893#620893: *1 http set discard body +2025/08/20 09:04:29 [debug] 620893#620893: *1 HTTP/1.1 200 OK +Server: nginx/1.18.0 (Ubuntu) +Date: Wed, 20 Aug 2025 13:04:29 GMT +Content-Type: application/octet-stream +Content-Length: 3 +Connection: keep-alive +Content-Type: text/plain + +2025/08/20 09:04:29 [debug] 620893#620893: *1 write new buf t:1 f:0 00005FEA67705180, pos 00005FEA67705180, size: 196 file: 0, size: 0 +2025/08/20 09:04:29 [debug] 620893#620893: *1 http write filter: l:0 f:0 s:196 +2025/08/20 09:04:29 [debug] 620893#620893: *1 http output filter "/health?" +2025/08/20 09:04:29 [debug] 620893#620893: *1 http copy filter: "/health?" +2025/08/20 09:04:29 [debug] 620893#620893: *1 http postpone filter "/health?" 00007FFE76083870 +2025/08/20 09:04:29 [debug] 620893#620893: *1 write old buf t:1 f:0 00005FEA67705180, pos 00005FEA67705180, size: 196 file: 0, size: 0 +2025/08/20 09:04:29 [debug] 620893#620893: *1 write new buf t:0 f:0 0000000000000000, pos 00005FEA6772CB42, size: 3 file: 0, size: 0 +2025/08/20 09:04:29 [debug] 620893#620893: *1 http write filter: l:1 f:0 s:199 +2025/08/20 09:04:29 [debug] 620893#620893: *1 http write filter limit 0 +2025/08/20 09:04:29 [debug] 620893#620893: *1 writev: 199 of 199 +2025/08/20 09:04:29 [debug] 620893#620893: *1 http write filter 0000000000000000 +2025/08/20 09:04:29 [debug] 620893#620893: *1 http copy filter: 0 "/health?" +2025/08/20 09:04:29 [debug] 620893#620893: *1 http finalize request: 0, "/health?" a:1, c:1 +2025/08/20 09:04:29 [debug] 620893#620893: *1 set http keepalive handler +2025/08/20 09:04:29 [debug] 620893#620893: *1 http close request +2025/08/20 09:04:29 [debug] 620893#620893: *1 http log handler +2025/08/20 09:04:29 [debug] 620893#620893: *1 free: 00005FEA6770EA30, unused: 0 +2025/08/20 09:04:29 [debug] 620893#620893: *1 free: 00005FEA67704DA0, unused: 2736 +2025/08/20 09:04:29 [debug] 620893#620893: *1 free: 00005FEA676F20A0 +2025/08/20 09:04:29 [debug] 620893#620893: *1 hc free: 0000000000000000 +2025/08/20 09:04:29 [debug] 620893#620893: *1 hc busy: 0000000000000000 0 +2025/08/20 09:04:29 [debug] 620893#620893: *1 tcp_nodelay +2025/08/20 09:04:29 [debug] 620893#620893: *1 reusable connection: 1 +2025/08/20 09:04:29 [debug] 620893#620893: *1 event timer add: 6: 65000:261867670 +2025/08/20 09:04:29 [debug] 620893#620893: timer delta: 0 +2025/08/20 09:04:29 [debug] 620893#620893: worker cycle +2025/08/20 09:04:29 [debug] 620893#620893: epoll timer: 65000 +2025/08/20 09:04:29 [debug] 620893#620893: epoll: fd:6 ev:2001 d:00007580040B01E0 +2025/08/20 09:04:29 [debug] 620893#620893: *1 http keepalive handler +2025/08/20 09:04:29 [debug] 620893#620893: *1 malloc: 00005FEA676F20A0:1024 +2025/08/20 09:04:29 [debug] 620893#620893: *1 recv: eof:1, avail:-1 +2025/08/20 09:04:29 [debug] 620893#620893: *1 recv: fd:6 0 of 1024 +2025/08/20 09:04:29 [info] 620893#620893: *1 client 127.0.0.1 closed keepalive connection +2025/08/20 09:04:29 [debug] 620893#620893: *1 close http connection: 6 +2025/08/20 09:04:29 [debug] 620893#620893: *1 event timer del: 6: 261867670 +2025/08/20 09:04:29 [debug] 620893#620893: *1 reusable connection: 0 +2025/08/20 09:04:29 [debug] 620893#620893: *1 free: 00005FEA676F20A0 +2025/08/20 09:04:29 [debug] 620893#620893: *1 free: 00005FEA676EF840, unused: 136 +2025/08/20 09:04:29 [debug] 620893#620893: timer delta: 1 +2025/08/20 09:04:29 [debug] 620893#620893: worker cycle +2025/08/20 09:04:29 [debug] 620893#620893: epoll timer: -1 +2025/08/20 09:04:29 [debug] 620893#620893: epoll: fd:5 ev:0001 d:00007580040B0010 +2025/08/20 09:04:29 [debug] 620893#620893: accept on 0.0.0.0:9001, ready: 0 +2025/08/20 09:04:29 [debug] 620893#620893: posix_memalign: 00005FEA676EF840:512 @16 +2025/08/20 09:04:29 [debug] 620893#620893: *2 accept: 127.0.0.1:51228 fd:6 +2025/08/20 09:04:29 [debug] 620893#620893: *2 event timer add: 6: 60000:261863026 +2025/08/20 09:04:29 [debug] 620893#620893: *2 reusable connection: 1 +2025/08/20 09:04:29 [debug] 620893#620893: *2 epoll add event: fd:6 op:1 ev:80002001 +2025/08/20 09:04:29 [debug] 620893#620893: timer delta: 355 +2025/08/20 09:04:29 [debug] 620893#620893: worker cycle +2025/08/20 09:04:29 [debug] 620893#620893: epoll timer: 60000 +2025/08/20 09:04:29 [debug] 620893#620893: epoll: fd:6 ev:0001 d:00007580040B01E1 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http wait request handler +2025/08/20 09:04:29 [debug] 620893#620893: *2 malloc: 00005FEA676F20A0:1024 +2025/08/20 09:04:29 [debug] 620893#620893: *2 recv: eof:0, avail:-1 +2025/08/20 09:04:29 [debug] 620893#620893: *2 recv: fd:6 1024 of 1024 +2025/08/20 09:04:29 [debug] 620893#620893: *2 recv: avail:112 +2025/08/20 09:04:29 [debug] 620893#620893: *2 reusable connection: 0 +2025/08/20 09:04:29 [debug] 620893#620893: *2 posix_memalign: 00005FEA6770EA30:4096 @16 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http process request line +2025/08/20 09:04:29 [debug] 620893#620893: *2 http request line: "PUT /upload HTTP/1.1" +2025/08/20 09:04:29 [debug] 620893#620893: *2 http uri: "/upload" +2025/08/20 09:04:29 [debug] 620893#620893: *2 http args: "" +2025/08/20 09:04:29 [debug] 620893#620893: *2 http exten: "" +2025/08/20 09:04:29 [debug] 620893#620893: *2 posix_memalign: 00005FEA67704DA0:4096 @16 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http process request header line +2025/08/20 09:04:29 [debug] 620893#620893: *2 http header: "Host: localhost:9001" +2025/08/20 09:04:29 [debug] 620893#620893: *2 http header: "User-Agent: curl/8.15.0" +2025/08/20 09:04:29 [debug] 620893#620893: *2 http header: "Accept: */*" +2025/08/20 09:04:29 [debug] 620893#620893: *2 http header: "Authorization: Nostr eyJraW5kIjoyNDI0MiwiaWQiOiI3YTc5YTg4MzU1NDAwYjBlOWU1OTE4YTQ5Mjc1YTBhZjljOGViZGRhNTA3ZGVhMjRmYjIzMGVhZTUwNzI1ZDRmIiwicHVia2V5IjoiNzliZTY2N2VmOWRjYmJhYzU1YTA2Mjk1Y2U4NzBiMDcwMjliZmNkYjJkY2UyOGQ5NTlmMjgxNWIxNmY4MTc5OCIsImNyZWF0ZWRfYXQiOjE3NTU2OTUwNjksInRhZ3MiOltbInQiLCJ1cGxvYWQiXSxbIngiLCI1Y2RhM2Q5NzQ1YzYxZDkxODI4ZmRmYzJjZjZiNDFjYmM1ODUxZTBjYzk1MTM2NmM1ZDc5OTNlOGNlMzA3M2FhIl0sWyJleHBpcmF0aW9uIiwiMTc1NTY5ODY2OSJdXSwiY29udGVudCI6IiIsInNpZyI6IjU3OGM2MWVjOTkzMGNkZmUyZWJhYWU5N2Y0NWRlZDFhYzJlYmRiY2RhZjlmNzM2NDliYTRlYWVlZTJmYTc4MGRiZWM2YmE3ZmFjMGZhMTUyNTQ4MmYyMjA1OTE2MWU1OGVhYjA4ODc2MTE3YWViODc3YmU3MGNjYTU5Njc5NDFhIn0=" +2025/08/20 09:04:29 [debug] 620893#620893: *2 http header: "Content-Type: text/plain" +2025/08/20 09:04:29 [debug] 620893#620893: *2 http header: "Content-Disposition: attachment; filename="test_blob_1755695069.txt"" +2025/08/20 09:04:29 [debug] 620893#620893: *2 http header: "Content-Length: 296" +2025/08/20 09:04:29 [debug] 620893#620893: *2 http header done +2025/08/20 09:04:29 [debug] 620893#620893: *2 event timer del: 6: 261863026 +2025/08/20 09:04:29 [debug] 620893#620893: *2 generic phase: 0 +2025/08/20 09:04:29 [debug] 620893#620893: *2 rewrite phase: 1 +2025/08/20 09:04:29 [debug] 620893#620893: *2 test location: "/health" +2025/08/20 09:04:29 [debug] 620893#620893: *2 test location: "/upload" +2025/08/20 09:04:29 [debug] 620893#620893: *2 test location: ~ "^/([a-f0-9]{64}).*$" +2025/08/20 09:04:29 [debug] 620893#620893: *2 test location: ~ "^/([a-f0-9]{64})(\.[a-zA-Z0-9]+)?$" +2025/08/20 09:04:29 [debug] 620893#620893: *2 test location: ~ "^/fcgi-head/([a-f0-9]{64}).*$" +2025/08/20 09:04:29 [debug] 620893#620893: *2 test location: ~ "^/list/([a-f0-9]{64}).*$" +2025/08/20 09:04:29 [debug] 620893#620893: *2 using configuration "/upload" +2025/08/20 09:04:29 [debug] 620893#620893: *2 http cl:296 max:104857600 +2025/08/20 09:04:29 [debug] 620893#620893: *2 rewrite phase: 3 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http script var +2025/08/20 09:04:29 [debug] 620893#620893: *2 http script var: "PUT" +2025/08/20 09:04:29 [debug] 620893#620893: *2 http script regex: "^(PUT)$" +2025/08/20 09:04:29 [notice] 620893#620893: *2 "^(PUT)$" matches "PUT", client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", host: "localhost:9001" +2025/08/20 09:04:29 [debug] 620893#620893: *2 http script if +2025/08/20 09:04:29 [debug] 620893#620893: *2 http script if: false +2025/08/20 09:04:29 [debug] 620893#620893: *2 post rewrite phase: 4 +2025/08/20 09:04:29 [debug] 620893#620893: *2 generic phase: 5 +2025/08/20 09:04:29 [debug] 620893#620893: *2 generic phase: 6 +2025/08/20 09:04:29 [debug] 620893#620893: *2 generic phase: 7 +2025/08/20 09:04:29 [debug] 620893#620893: *2 access phase: 8 +2025/08/20 09:04:29 [debug] 620893#620893: *2 access phase: 9 +2025/08/20 09:04:29 [debug] 620893#620893: *2 access phase: 10 +2025/08/20 09:04:29 [debug] 620893#620893: *2 post access phase: 11 +2025/08/20 09:04:29 [debug] 620893#620893: *2 generic phase: 12 +2025/08/20 09:04:29 [debug] 620893#620893: *2 generic phase: 13 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http client request body preread 184 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http request body content length filter +2025/08/20 09:04:29 [debug] 620893#620893: *2 http body new buf t:1 f:0 00005FEA676F23E8, pos 00005FEA676F23E8, size: 184 file: 0, size: 0 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http read client request body +2025/08/20 09:04:29 [debug] 620893#620893: *2 recv: eof:0, avail:112 +2025/08/20 09:04:29 [debug] 620893#620893: *2 recv: fd:6 112 of 112 +2025/08/20 09:04:29 [debug] 620893#620893: *2 recv: avail:0 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http client request body recv 112 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http body new buf t:1 f:0 00005FEA67705830, pos 00005FEA67705830, size: 112 file: 0, size: 0 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http client request body rest 0 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http init upstream, client timer: 0 +2025/08/20 09:04:29 [debug] 620893#620893: *2 epoll add event: fd:6 op:3 ev:80002005 +2025/08/20 09:04:29 [debug] 620893#620893: *2 posix_memalign: 00005FEA676F9150:4096 @16 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http script copy: "QUERY_STRING" +2025/08/20 09:04:29 [debug] 620893#620893: *2 fastcgi param: "QUERY_STRING: " +2025/08/20 09:04:29 [debug] 620893#620893: *2 http script copy: "REQUEST_METHOD" +2025/08/20 09:04:29 [debug] 620893#620893: *2 http script var: "PUT" +2025/08/20 09:04:29 [debug] 620893#620893: *2 fastcgi param: "REQUEST_METHOD: PUT" +2025/08/20 09:04:29 [debug] 620893#620893: *2 http script copy: "CONTENT_TYPE" +2025/08/20 09:04:29 [debug] 620893#620893: *2 http script var: "text/plain" +2025/08/20 09:04:29 [debug] 620893#620893: *2 fastcgi param: "CONTENT_TYPE: text/plain" +2025/08/20 09:04:29 [debug] 620893#620893: *2 http script copy: "CONTENT_LENGTH" +2025/08/20 09:04:29 [debug] 620893#620893: *2 http script var: "296" +2025/08/20 09:04:29 [debug] 620893#620893: *2 fastcgi param: "CONTENT_LENGTH: 296" +2025/08/20 09:04:29 [debug] 620893#620893: *2 http script copy: "SCRIPT_NAME" +2025/08/20 09:04:29 [debug] 620893#620893: *2 http script var: "/upload" +2025/08/20 09:04:29 [debug] 620893#620893: *2 fastcgi param: "SCRIPT_NAME: /upload" +2025/08/20 09:04:29 [debug] 620893#620893: *2 http script copy: "REQUEST_URI" +2025/08/20 09:04:29 [debug] 620893#620893: *2 http script var: "/upload" +2025/08/20 09:04:29 [debug] 620893#620893: *2 fastcgi param: "REQUEST_URI: /upload" +2025/08/20 09:04:29 [debug] 620893#620893: *2 http script copy: "DOCUMENT_URI" +2025/08/20 09:04:29 [debug] 620893#620893: *2 http script var: "/upload" +2025/08/20 09:04:29 [debug] 620893#620893: *2 fastcgi param: "DOCUMENT_URI: /upload" +2025/08/20 09:04:29 [debug] 620893#620893: *2 http script copy: "DOCUMENT_ROOT" +2025/08/20 09:04:29 [debug] 620893#620893: *2 http script var: "./blobs" +2025/08/20 09:04:29 [debug] 620893#620893: *2 fastcgi param: "DOCUMENT_ROOT: ./blobs" +2025/08/20 09:04:29 [debug] 620893#620893: *2 http script copy: "SERVER_PROTOCOL" +2025/08/20 09:04:29 [debug] 620893#620893: *2 http script var: "HTTP/1.1" +2025/08/20 09:04:29 [debug] 620893#620893: *2 fastcgi param: "SERVER_PROTOCOL: HTTP/1.1" +2025/08/20 09:04:29 [debug] 620893#620893: *2 http script copy: "REQUEST_SCHEME" +2025/08/20 09:04:29 [debug] 620893#620893: *2 http script var: "http" +2025/08/20 09:04:29 [debug] 620893#620893: *2 fastcgi param: "REQUEST_SCHEME: http" +2025/08/20 09:04:29 [debug] 620893#620893: *2 http script copy: "" +2025/08/20 09:04:29 [debug] 620893#620893: *2 http script copy: "GATEWAY_INTERFACE" +2025/08/20 09:04:29 [debug] 620893#620893: *2 http script copy: "CGI/1.1" +2025/08/20 09:04:29 [debug] 620893#620893: *2 fastcgi param: "GATEWAY_INTERFACE: CGI/1.1" +2025/08/20 09:04:29 [debug] 620893#620893: *2 http script copy: "SERVER_SOFTWARE" +2025/08/20 09:04:29 [debug] 620893#620893: *2 http script copy: "nginx/" +2025/08/20 09:04:29 [debug] 620893#620893: *2 http script var: "1.18.0" +2025/08/20 09:04:29 [debug] 620893#620893: *2 fastcgi param: "SERVER_SOFTWARE: nginx/1.18.0" +2025/08/20 09:04:29 [debug] 620893#620893: *2 http script copy: "REMOTE_ADDR" +2025/08/20 09:04:29 [debug] 620893#620893: *2 http script var: "127.0.0.1" +2025/08/20 09:04:29 [debug] 620893#620893: *2 fastcgi param: "REMOTE_ADDR: 127.0.0.1" +2025/08/20 09:04:29 [debug] 620893#620893: *2 http script copy: "REMOTE_PORT" +2025/08/20 09:04:29 [debug] 620893#620893: *2 http script var: "51228" +2025/08/20 09:04:29 [debug] 620893#620893: *2 fastcgi param: "REMOTE_PORT: 51228" +2025/08/20 09:04:29 [debug] 620893#620893: *2 http script copy: "SERVER_ADDR" +2025/08/20 09:04:29 [debug] 620893#620893: *2 http script var: "127.0.0.1" +2025/08/20 09:04:29 [debug] 620893#620893: *2 fastcgi param: "SERVER_ADDR: 127.0.0.1" +2025/08/20 09:04:29 [debug] 620893#620893: *2 http script copy: "SERVER_PORT" +2025/08/20 09:04:29 [debug] 620893#620893: *2 http script var: "9001" +2025/08/20 09:04:29 [debug] 620893#620893: *2 fastcgi param: "SERVER_PORT: 9001" +2025/08/20 09:04:29 [debug] 620893#620893: *2 http script copy: "SERVER_NAME" +2025/08/20 09:04:29 [debug] 620893#620893: *2 http script var: "localhost" +2025/08/20 09:04:29 [debug] 620893#620893: *2 fastcgi param: "SERVER_NAME: localhost" +2025/08/20 09:04:29 [debug] 620893#620893: *2 http script copy: "REDIRECT_STATUS" +2025/08/20 09:04:29 [debug] 620893#620893: *2 http script copy: "200" +2025/08/20 09:04:29 [debug] 620893#620893: *2 fastcgi param: "REDIRECT_STATUS: 200" +2025/08/20 09:04:29 [debug] 620893#620893: *2 http script copy: "SCRIPT_FILENAME" +2025/08/20 09:04:29 [debug] 620893#620893: *2 http script var: "./blobs" +2025/08/20 09:04:29 [debug] 620893#620893: *2 http script copy: "/ginxsom.fcgi" +2025/08/20 09:04:29 [debug] 620893#620893: *2 fastcgi param: "SCRIPT_FILENAME: ./blobs/ginxsom.fcgi" +2025/08/20 09:04:29 [debug] 620893#620893: *2 fastcgi param: "HTTP_HOST: localhost:9001" +2025/08/20 09:04:29 [debug] 620893#620893: *2 fastcgi param: "HTTP_USER_AGENT: curl/8.15.0" +2025/08/20 09:04:29 [debug] 620893#620893: *2 fastcgi param: "HTTP_ACCEPT: */*" +2025/08/20 09:04:29 [debug] 620893#620893: *2 fastcgi param: "HTTP_AUTHORIZATION: Nostr eyJraW5kIjoyNDI0MiwiaWQiOiI3YTc5YTg4MzU1NDAwYjBlOWU1OTE4YTQ5Mjc1YTBhZjljOGViZGRhNTA3ZGVhMjRmYjIzMGVhZTUwNzI1ZDRmIiwicHVia2V5IjoiNzliZTY2N2VmOWRjYmJhYzU1YTA2Mjk1Y2U4NzBiMDcwMjliZmNkYjJkY2UyOGQ5NTlmMjgxNWIxNmY4MTc5OCIsImNyZWF0ZWRfYXQiOjE3NTU2OTUwNjksInRhZ3MiOltbInQiLCJ1cGxvYWQiXSxbIngiLCI1Y2RhM2Q5NzQ1YzYxZDkxODI4ZmRmYzJjZjZiNDFjYmM1ODUxZTBjYzk1MTM2NmM1ZDc5OTNlOGNlMzA3M2FhIl0sWyJleHBpcmF0aW9uIiwiMTc1NTY5ODY2OSJdXSwiY29udGVudCI6IiIsInNpZyI6IjU3OGM2MWVjOTkzMGNkZmUyZWJhYWU5N2Y0NWRlZDFhYzJlYmRiY2RhZjlmNzM2NDliYTRlYWVlZTJmYTc4MGRiZWM2YmE3ZmFjMGZhMTUyNTQ4MmYyMjA1OTE2MWU1OGVhYjA4ODc2MTE3YWViODc3YmU3MGNjYTU5Njc5NDFhIn0=" +2025/08/20 09:04:29 [debug] 620893#620893: *2 fastcgi param: "HTTP_CONTENT_TYPE: text/plain" +2025/08/20 09:04:29 [debug] 620893#620893: *2 fastcgi param: "HTTP_CONTENT_DISPOSITION: attachment; filename="test_blob_1755695069.txt"" +2025/08/20 09:04:29 [debug] 620893#620893: *2 fastcgi param: "HTTP_CONTENT_LENGTH: 296" +2025/08/20 09:04:29 [debug] 620893#620893: *2 http cleanup add: 00005FEA67705B80 +2025/08/20 09:04:29 [debug] 620893#620893: *2 get rr peer, try: 1 +2025/08/20 09:04:29 [debug] 620893#620893: *2 stream socket 10 +2025/08/20 09:04:29 [debug] 620893#620893: *2 epoll add connection: fd:10 ev:80002005 +2025/08/20 09:04:29 [debug] 620893#620893: *2 connect to unix:/tmp/ginxsom-fcgi.sock, fd:10 #3 +2025/08/20 09:04:29 [debug] 620893#620893: *2 connected +2025/08/20 09:04:29 [debug] 620893#620893: *2 http upstream connect: 0 +2025/08/20 09:04:29 [debug] 620893#620893: *2 posix_memalign: 00005FEA676D8F20:128 @16 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http upstream send request +2025/08/20 09:04:29 [debug] 620893#620893: *2 http upstream send request body +2025/08/20 09:04:29 [debug] 620893#620893: *2 chain writer buf fl:0 s:1304 +2025/08/20 09:04:29 [debug] 620893#620893: *2 chain writer buf fl:0 s:184 +2025/08/20 09:04:29 [debug] 620893#620893: *2 chain writer buf fl:0 s:8 +2025/08/20 09:04:29 [debug] 620893#620893: *2 chain writer buf fl:0 s:112 +2025/08/20 09:04:29 [debug] 620893#620893: *2 chain writer buf fl:0 s:8 +2025/08/20 09:04:29 [debug] 620893#620893: *2 chain writer in: 00005FEA67705C10 +2025/08/20 09:04:29 [debug] 620893#620893: *2 writev: 1616 of 1616 +2025/08/20 09:04:29 [debug] 620893#620893: *2 chain writer out: 0000000000000000 +2025/08/20 09:04:29 [debug] 620893#620893: *2 event timer add: 10: 60000:261863026 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http finalize request: -4, "/upload?" a:1, c:2 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http request count:2 blk:0 +2025/08/20 09:04:29 [debug] 620893#620893: timer delta: 0 +2025/08/20 09:04:29 [debug] 620893#620893: worker cycle +2025/08/20 09:04:29 [debug] 620893#620893: epoll timer: 60000 +2025/08/20 09:04:29 [debug] 620893#620893: epoll: fd:6 ev:0004 d:00007580040B01E1 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http run request: "/upload?" +2025/08/20 09:04:29 [debug] 620893#620893: *2 http upstream check client, write event:1, "/upload" +2025/08/20 09:04:29 [debug] 620893#620893: epoll: fd:10 ev:0004 d:00007580040B02C8 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http upstream request: "/upload?" +2025/08/20 09:04:29 [debug] 620893#620893: *2 http upstream dummy handler +2025/08/20 09:04:29 [debug] 620893#620893: timer delta: 2 +2025/08/20 09:04:29 [debug] 620893#620893: worker cycle +2025/08/20 09:04:29 [debug] 620893#620893: epoll timer: 59998 +2025/08/20 09:04:29 [debug] 620893#620893: epoll: fd:10 ev:0005 d:00007580040B02C8 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http upstream request: "/upload?" +2025/08/20 09:04:29 [debug] 620893#620893: *2 http upstream process header +2025/08/20 09:04:29 [debug] 620893#620893: *2 malloc: 00005FEA676FA160:4096 +2025/08/20 09:04:29 [debug] 620893#620893: *2 recv: eof:0, avail:-1 +2025/08/20 09:04:29 [debug] 620893#620893: *2 recv: fd:10 2048 of 4096 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record byte: 01 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record byte: 07 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record byte: 00 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record byte: 01 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record byte: 01 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record byte: F8 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record byte: 00 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record byte: 00 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record length: 504 +2025/08/20 09:04:29 [error] 620893#620893: *2 FastCGI sent in stderr: "DEBUG: FastCGI received request +DEBUG: METHOD=PUT, URI=/upload +ENTRY: Entering handle_upload_request() function +DEBUG: handle_upload_request called +LOG: [2025-08-20 09:04:29] PUT /upload - Auth: pending - Status: 0 +DEBUG: content_type=text/plain +DEBUG: content_length=296 +DEBUG: Raw Authorization header: Nostr eyJraW5kIjoyNDI0MiwiaWQiOiI3YTc5YTg4MzU1NDAwYjBlOWU1OTE4YTQ5Mjc1YTBhZjljOGViZGRhNTA3ZGVhMjRmYjIzMGVhZTUwNzI1ZDRmIiwicHVia2V5IjoiNzliZTY2N2VmOWRjYmJhYzU1YTA2Mjk1Y2U4NzBiMDcwMjliZmNkYjJkY2" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record byte: 01 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record byte: 07 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record byte: 00 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record byte: 01 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record byte: 01 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record byte: F8 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record byte: 00 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record byte: 00 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record length: 504 +2025/08/20 09:04:29 [error] 620893#620893: *2 FastCGI sent in stderr: "UyOGQ5NTlmMjgxNWIxNmY4MTc5OCIsImNyZWF0ZWRfYXQiOjE3NTU2OTUwNjksInRhZ3MiOltbInQiLCJ1cGxvYWQiXSxbIngiLCI1Y2RhM2Q5NzQ1YzYxZDkxODI4ZmRmYzJjZjZiNDFjYmM1ODUxZTBjYzk1MTM2NmM1ZDc5OTNlOGNlMzA3M2FhIl0sWyJleHBpcmF0aW9uIiwiMTc1NTY5ODY2OSJdXSwiY29udGVudCI6IiIsInNpZyI6IjU3OGM2MWVjOTkzMGNkZmUyZWJhYWU5N2Y0NWRlZDFhYzJlYmRiY2RhZjlmNzM2NDliYTRlYWVlZTJmYTc4MGRiZWM2YmE3ZmFjMGZhMTUyNTQ4MmYyMjA1OTE2MWU1OGVhYjA4ODc2MTE3YWViODc3YmU3MGNjYTU5Njc5NDFhIn0= +LOG: [2025-08-20 09:04:29] PUT /upload - Auth: auth_provided - Status: 0" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record byte: 01 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record byte: 07 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record byte: 00 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record byte: 01 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record byte: 01 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record byte: F8 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record byte: 00 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record byte: 00 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record length: 504 +2025/08/20 09:04:29 [error] 620893#620893: *2 FastCGI sent in stderr: " +DEBUG: Successfully read DEBUG-LAAN: DATA TO HASH: Test blob content for Ginxsom Blossom server +Timestamp: 2025-08-20T09:04:29-04:00 +Random data: 853869ec9a7eea8cb6d544528eecbe766b37d430dc4a049917e7078830fed9dc +Test message: Hello from put_test.sh! + +This file is used to test the upload functionality +of the Ginxsom Blossom server implementation. + +DEBUG-LAAN: Calculated SHA-256: 5cda3d9745c61d91828fdfc2cf6b41cbc5851e0cc951366c5d7993e8ce3073aa +AUTH: About to perform authentication - auth_header p" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record byte: 01 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record byte: 07 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record byte: 00 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record byte: 01 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record byte: 01 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record byte: F8 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record byte: 00 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record byte: 00 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record length: 504 +2025/08/20 09:04:29 [error] 620893#620893: *2 FastCGI sent in stderr: "resent: YES +AUTH: Calling authenticate_request with hash: 5cda3d9745c61d91828fdfc2cf6b41cbc5851e0cc951366c5d7993e8ce3073aa +═══════════════════════════════════════════════════════════════════ +🔍 STEP SERVER-1: Starting server-style authentication (mirroring test_auth_debug.c) +ℹ️ INFO: Server-style auth called with method: upload, hash: 5cda3d9745c61d91828fdfc2" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:04:29 [debug] 620893#620893: *2 recv: eof:0, avail:0 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http upstream request: "/upload?" +2025/08/20 09:04:29 [debug] 620893#620893: *2 http upstream dummy handler +2025/08/20 09:04:29 [debug] 620893#620893: timer delta: 0 +2025/08/20 09:04:29 [debug] 620893#620893: worker cycle +2025/08/20 09:04:29 [debug] 620893#620893: epoll timer: 59998 +2025/08/20 09:04:29 [debug] 620893#620893: epoll: fd:10 ev:2005 d:00007580040B02C8 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http upstream request: "/upload?" +2025/08/20 09:04:29 [debug] 620893#620893: *2 http upstream process header +2025/08/20 09:04:29 [debug] 620893#620893: *2 recv: eof:1, avail:-1 +2025/08/20 09:04:29 [debug] 620893#620893: *2 recv: fd:10 3464 of 4096 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record byte: 01 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record byte: 07 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record byte: 00 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record byte: 01 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record byte: 01 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record byte: F8 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record byte: 00 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record byte: 00 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record length: 504 +2025/08/20 09:04:29 [error] 620893#620893: *2 FastCGI sent in stderr: "cf6b41cbc5851e0cc951366c5d7993e8ce3073aa +🔍 STEP SERVER-2: Calling parse_authorization_header +DEBUG: parse_authorization_header called with header: Nostr eyJraW5kIjoyNDI0MiwiaWQiOiI3YTc5YTg4MzU1NDAw... +DEBUG: Extracted base64 event (length=DEBUG: Base64 decode result - decoded_len=DEBUG: Successfully decoded JSON (length=✅ SUCCESS: parse_authorization_header succeeded +🔍 STEP SERVER-3: Calling cJSON_Parse on JSON string +ℹ️ INFO: JSON to parse: {"kind":24242,"id":"7a79a88355400b0e9e5918a49" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record byte: 01 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record byte: 07 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record byte: 00 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record byte: 01 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record byte: 01 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record byte: F8 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record byte: 00 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record byte: 00 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record length: 504 +2025/08/20 09:04:29 [error] 620893#620893: *2 FastCGI sent in stderr: "275a0af9c8ebdda507dea24fb230eae50725d4f","pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1755695069,"tags":[["t","upload"],["x","5cda3d9745c61d91828fdfc2cf6b41cbc5851e0cc951366c5d7993e8ce3073aa"],["expiration","1755698669"]],"content":"","sig":"578c61ec9930cdfe2ebaae97f45ded1ac2ebdbcdaf9f73649ba4eaeee2fa780dbec6ba7fac0fa1525482f22059161e58eab08876117aeb877be70cca5967941a"} +✅ SUCCESS: cJSON_Parse succeeded, event parsed +ℹ️ INFO: Parsed JSON: { + "kind": " while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record byte: 01 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record byte: 07 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record byte: 00 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record byte: 01 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record byte: 01 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record byte: F8 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record byte: 00 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record byte: 00 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record length: 504 +2025/08/20 09:04:29 [error] 620893#620893: *2 FastCGI sent in stderr: "24242, + "id": "7a79a88355400b0e9e5918a49275a0af9c8ebdda507dea24fb230eae50725d4f", + "pubkey": "79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798", + "created_at": 1755695069, + "tags": [["t", "upload"], ["x", "5cda3d9745c61d91828fdfc2cf6b41cbc5851e0cc951366c5d7993e8ce3073aa"], ["expiration", "1755698669"]], + "content": "", + "sig": "578c61ec9930cdfe2ebaae97f45ded1ac2ebdbcdaf9f73649ba4eaeee2fa780dbec6ba7fac0fa1525482f22059161e58eab08876117aeb877be70cca5967941a" +} +🔍 STEP SERVER-4: Event" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record byte: 01 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record byte: 07 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record byte: 00 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record byte: 01 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record byte: 01 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record byte: F8 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record byte: 00 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record byte: 00 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record length: 504 +2025/08/20 09:04:29 [error] 620893#620893: *2 FastCGI sent in stderr: "fields before validation +ℹ️ INFO: id: 7a79a88355400b0e9e5918a49275a0af9c8ebdda507dea24fb230eae50725d4f +ℹ️ INFO: pubkey: 79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 +ℹ️ INFO: sig: 578c61ec9930cdfe2ebaae97f45ded1ac2ebdbcdaf9f73649ba4eaeee2fa780dbec6ba7fac0fa1525482f22059161e58eab08876117aeb877be70cca5967941a +ℹ️ INFO: kind: 24242 +ℹ️ INFO: created_at: 1755695069 +🔍 STEP SERVER-5: Detailed pubkey analysis +ℹ️ INFO: Pubkey: 79be667ef9dcbbac55a" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record byte: 01 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record byte: 07 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record byte: 00 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record byte: 01 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record byte: 01 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record byte: F8 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record byte: 00 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record byte: 00 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record length: 504 +2025/08/20 09:04:29 [error] 620893#620893: *2 FastCGI sent in stderr: "06295ce870b07029bfcdb2dce28d959f2815b16f81798 +ℹ️ INFO: Length: ℹ️ INFO: Character analysis (first 10): +7(0x37) 9(0x39) b(0x62) e(0x65) 6(0x36) 6(0x36) 7(0x37) e(0x65) f(0x66) 9(0x39) +🔍 STEP SERVER-6: Pre-validation pubkey analysis +ℹ️ INFO: Pubkey: 79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 +ℹ️ INFO: Length: ℹ️ INFO: Character analysis (first 10): +7(55) 9(57) b(98) e(101) 6(54) 6(54) 7(55) e(101) f(102) 9(57) +ℹ️ INFO: Character val" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record byte: 01 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record byte: 07 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record byte: 00 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record byte: 01 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record byte: 01 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record byte: F8 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record byte: 00 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record byte: 00 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record length: 504 +2025/08/20 09:04:29 [error] 620893#620893: *2 FastCGI sent in stderr: "idation test: +ALL VALID (lowercase hex) +🔍 STEP SERVER-7: Starting detailed validation analysis +ℹ️ INFO: Testing structure validation... +ℹ️ INFO: nostr_validate_event_structure returned: 0 (Success) +✅ SUCCESS: Structure validation PASSED +ℹ️ INFO: Testing cryptographic verification... +ℹ️ INFO: nostr_verify_event_signature returned: -32 (Event has invalid public key) +❌ ERROR: CRYPTO verification failed! +❌ ERROR: Failed pubkey: 79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record byte: 01 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record byte: 07 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record byte: 00 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record byte: 01 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record byte: 00 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record byte: 90 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record byte: 00 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record byte: 00 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record length: 144 +2025/08/20 09:04:29 [error] 620893#620893: *2 FastCGI sent in stderr: "d959f2815b16f81798 (length: AUTH: authenticate_request returned: -32 +LOG: [2025-08-20 09:04:29] PUT /upload - Auth: auth_failed - Status: 401" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record byte: 01 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record byte: 07 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record byte: 00 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record byte: 01 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record byte: 00 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record byte: 00 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record byte: 00 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record byte: 00 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record length: 0 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record byte: 01 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record byte: 06 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record byte: 00 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record byte: 01 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record byte: 00 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record byte: C7 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record byte: 01 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record byte: 00 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record length: 199 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi parser: 0 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi header: "Status: 401 Unauthorized" +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi parser: 0 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi header: "Content-Type: application/json" +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi parser: 1 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi header done +2025/08/20 09:04:29 [debug] 620893#620893: *2 HTTP/1.1 401 Unauthorized +Server: nginx/1.18.0 (Ubuntu) +Date: Wed, 20 Aug 2025 13:04:29 GMT +Content-Type: application/json +Transfer-Encoding: chunked +Connection: keep-alive + +2025/08/20 09:04:29 [debug] 620893#620893: *2 write new buf t:1 f:0 00005FEA676F9808, pos 00005FEA676F9808, size: 181 file: 0, size: 0 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http write filter: l:0 f:0 s:181 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http cacheable: 0 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http upstream process upstream +2025/08/20 09:04:29 [debug] 620893#620893: *2 pipe read upstream: 1 +2025/08/20 09:04:29 [debug] 620893#620893: *2 pipe preread: 164 +2025/08/20 09:04:29 [debug] 620893#620893: *2 readv: eof:1, avail:0 +2025/08/20 09:04:29 [debug] 620893#620893: *2 readv: 1, last:632 +2025/08/20 09:04:29 [debug] 620893#620893: *2 pipe recv chain: 0 +2025/08/20 09:04:29 [debug] 620893#620893: *2 pipe buf free s:0 t:1 f:0 00005FEA676FA160, pos 00005FEA676FAE44, size: 164 file: 0, size: 0 +2025/08/20 09:04:29 [debug] 620893#620893: *2 pipe length: -1 +2025/08/20 09:04:29 [debug] 620893#620893: *2 input buf #0 00005FEA676FAE44 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record byte: 01 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record byte: 06 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record byte: 00 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record byte: 01 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record byte: 00 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record byte: 00 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record byte: 00 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record byte: 00 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record length: 0 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi closed stdout +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record byte: 01 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record byte: 03 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record byte: 00 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record byte: 01 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record byte: 00 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record byte: 08 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record byte: 00 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record byte: 00 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi record length: 8 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http fastcgi sent end request +2025/08/20 09:04:29 [debug] 620893#620893: *2 input buf 00005FEA676FAE44 139 +2025/08/20 09:04:29 [debug] 620893#620893: *2 pipe write downstream: 1 +2025/08/20 09:04:29 [debug] 620893#620893: *2 pipe write downstream flush in +2025/08/20 09:04:29 [debug] 620893#620893: *2 http output filter "/upload?" +2025/08/20 09:04:29 [debug] 620893#620893: *2 http copy filter: "/upload?" +2025/08/20 09:04:29 [debug] 620893#620893: *2 http postpone filter "/upload?" 00005FEA67705BE0 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http chunk: 139 +2025/08/20 09:04:29 [debug] 620893#620893: *2 write old buf t:1 f:0 00005FEA676F9808, pos 00005FEA676F9808, size: 181 file: 0, size: 0 +2025/08/20 09:04:29 [debug] 620893#620893: *2 write new buf t:1 f:0 00005FEA67705D78, pos 00005FEA67705D78, size: 4 file: 0, size: 0 +2025/08/20 09:04:29 [debug] 620893#620893: *2 write new buf t:1 f:0 00005FEA676FA160, pos 00005FEA676FAE44, size: 139 file: 0, size: 0 +2025/08/20 09:04:29 [debug] 620893#620893: *2 write new buf t:0 f:0 0000000000000000, pos 00005FEA4F9DB2E8, size: 2 file: 0, size: 0 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http write filter: l:0 f:0 s:326 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http copy filter: 0 "/upload?" +2025/08/20 09:04:29 [debug] 620893#620893: *2 pipe write downstream done +2025/08/20 09:04:29 [debug] 620893#620893: *2 event timer: 10, old: 261863026, new: 261863028 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http upstream exit: 0000000000000000 +2025/08/20 09:04:29 [debug] 620893#620893: *2 finalize http upstream request: 0 +2025/08/20 09:04:29 [debug] 620893#620893: *2 finalize http fastcgi request +2025/08/20 09:04:29 [debug] 620893#620893: *2 free rr peer 1 0 +2025/08/20 09:04:29 [debug] 620893#620893: *2 close http upstream connection: 10 +2025/08/20 09:04:29 [debug] 620893#620893: *2 free: 00005FEA676D8F20, unused: 48 +2025/08/20 09:04:29 [debug] 620893#620893: *2 event timer del: 10: 261863026 +2025/08/20 09:04:29 [debug] 620893#620893: *2 reusable connection: 0 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http upstream temp fd: -1 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http output filter "/upload?" +2025/08/20 09:04:29 [debug] 620893#620893: *2 http copy filter: "/upload?" +2025/08/20 09:04:29 [debug] 620893#620893: *2 http postpone filter "/upload?" 00007FFE76083920 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http chunk: 0 +2025/08/20 09:04:29 [debug] 620893#620893: *2 write old buf t:1 f:0 00005FEA676F9808, pos 00005FEA676F9808, size: 181 file: 0, size: 0 +2025/08/20 09:04:29 [debug] 620893#620893: *2 write old buf t:1 f:0 00005FEA67705D78, pos 00005FEA67705D78, size: 4 file: 0, size: 0 +2025/08/20 09:04:29 [debug] 620893#620893: *2 write old buf t:1 f:0 00005FEA676FA160, pos 00005FEA676FAE44, size: 139 file: 0, size: 0 +2025/08/20 09:04:29 [debug] 620893#620893: *2 write old buf t:0 f:0 0000000000000000, pos 00005FEA4F9DB2E8, size: 2 file: 0, size: 0 +2025/08/20 09:04:29 [debug] 620893#620893: *2 write new buf t:0 f:0 0000000000000000, pos 00005FEA4F9DB2E5, size: 5 file: 0, size: 0 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http write filter: l:1 f:0 s:331 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http write filter limit 0 +2025/08/20 09:04:29 [debug] 620893#620893: *2 writev: 331 of 331 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http write filter 0000000000000000 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http copy filter: 0 "/upload?" +2025/08/20 09:04:29 [debug] 620893#620893: *2 http finalize request: 0, "/upload?" a:1, c:1 +2025/08/20 09:04:29 [debug] 620893#620893: *2 set http keepalive handler +2025/08/20 09:04:29 [debug] 620893#620893: *2 http close request +2025/08/20 09:04:29 [debug] 620893#620893: *2 http log handler +2025/08/20 09:04:29 [debug] 620893#620893: *2 free: 00005FEA676FA160 +2025/08/20 09:04:29 [debug] 620893#620893: *2 free: 00005FEA6770EA30, unused: 3 +2025/08/20 09:04:29 [debug] 620893#620893: *2 free: 00005FEA67704DA0, unused: 0 +2025/08/20 09:04:29 [debug] 620893#620893: *2 free: 00005FEA676F9150, unused: 1250 +2025/08/20 09:04:29 [debug] 620893#620893: *2 free: 00005FEA676F20A0 +2025/08/20 09:04:29 [debug] 620893#620893: *2 hc free: 0000000000000000 +2025/08/20 09:04:29 [debug] 620893#620893: *2 hc busy: 0000000000000000 0 +2025/08/20 09:04:29 [debug] 620893#620893: *2 tcp_nodelay +2025/08/20 09:04:29 [debug] 620893#620893: *2 reusable connection: 1 +2025/08/20 09:04:29 [debug] 620893#620893: *2 event timer add: 6: 65000:261868028 +2025/08/20 09:04:29 [debug] 620893#620893: *2 post event 00005FEA67740770 +2025/08/20 09:04:29 [debug] 620893#620893: timer delta: 0 +2025/08/20 09:04:29 [debug] 620893#620893: posted event 00005FEA67740770 +2025/08/20 09:04:29 [debug] 620893#620893: *2 delete posted event 00005FEA67740770 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http keepalive handler +2025/08/20 09:04:29 [debug] 620893#620893: *2 malloc: 00005FEA676F20A0:1024 +2025/08/20 09:04:29 [debug] 620893#620893: *2 recv: eof:0, avail:0 +2025/08/20 09:04:29 [debug] 620893#620893: *2 free: 00005FEA676F20A0 +2025/08/20 09:04:29 [debug] 620893#620893: worker cycle +2025/08/20 09:04:29 [debug] 620893#620893: epoll timer: 65000 +2025/08/20 09:04:29 [debug] 620893#620893: epoll: fd:6 ev:2005 d:00007580040B01E1 +2025/08/20 09:04:29 [debug] 620893#620893: *2 http keepalive handler +2025/08/20 09:04:29 [debug] 620893#620893: *2 malloc: 00005FEA676F20A0:1024 +2025/08/20 09:04:29 [debug] 620893#620893: *2 recv: eof:1, avail:-1 +2025/08/20 09:04:29 [debug] 620893#620893: *2 recv: fd:6 0 of 1024 +2025/08/20 09:04:29 [info] 620893#620893: *2 client 127.0.0.1 closed keepalive connection +2025/08/20 09:04:29 [debug] 620893#620893: *2 close http connection: 6 +2025/08/20 09:04:29 [debug] 620893#620893: *2 event timer del: 6: 261868028 +2025/08/20 09:04:29 [debug] 620893#620893: *2 reusable connection: 0 +2025/08/20 09:04:29 [debug] 620893#620893: *2 free: 00005FEA676F20A0 +2025/08/20 09:04:29 [debug] 620893#620893: *2 free: 00005FEA676EF840, unused: 120 +2025/08/20 09:04:29 [debug] 620893#620893: timer delta: 3 +2025/08/20 09:04:29 [debug] 620893#620893: worker cycle +2025/08/20 09:04:29 [debug] 620893#620893: epoll timer: -1 +2025/08/20 09:04:29 [debug] 620893#620893: epoll: fd:5 ev:0001 d:00007580040B0010 +2025/08/20 09:04:29 [debug] 620893#620893: accept on 0.0.0.0:9001, ready: 0 +2025/08/20 09:04:29 [debug] 620893#620893: posix_memalign: 00005FEA676EF840:512 @16 +2025/08/20 09:04:29 [debug] 620893#620893: *4 accept: 127.0.0.1:51230 fd:6 +2025/08/20 09:04:29 [debug] 620893#620893: *4 event timer add: 6: 60000:261863042 +2025/08/20 09:04:29 [debug] 620893#620893: *4 reusable connection: 1 +2025/08/20 09:04:29 [debug] 620893#620893: *4 epoll add event: fd:6 op:1 ev:80002001 +2025/08/20 09:04:29 [debug] 620893#620893: timer delta: 11 +2025/08/20 09:04:29 [debug] 620893#620893: worker cycle +2025/08/20 09:04:29 [debug] 620893#620893: epoll timer: 60000 +2025/08/20 09:04:29 [debug] 620893#620893: epoll: fd:6 ev:0001 d:00007580040B01E0 +2025/08/20 09:04:29 [debug] 620893#620893: *4 http wait request handler +2025/08/20 09:04:29 [debug] 620893#620893: *4 malloc: 00005FEA676F20A0:1024 +2025/08/20 09:04:29 [debug] 620893#620893: *4 recv: eof:0, avail:-1 +2025/08/20 09:04:29 [debug] 620893#620893: *4 recv: fd:6 142 of 1024 +2025/08/20 09:04:29 [debug] 620893#620893: *4 reusable connection: 0 +2025/08/20 09:04:29 [debug] 620893#620893: *4 posix_memalign: 00005FEA6770EA30:4096 @16 +2025/08/20 09:04:29 [debug] 620893#620893: *4 http process request line +2025/08/20 09:04:29 [debug] 620893#620893: *4 http request line: "GET /5cda3d9745c61d91828fdfc2cf6b41cbc5851e0cc951366c5d7993e8ce3073aa HTTP/1.1" +2025/08/20 09:04:29 [debug] 620893#620893: *4 http uri: "/5cda3d9745c61d91828fdfc2cf6b41cbc5851e0cc951366c5d7993e8ce3073aa" +2025/08/20 09:04:29 [debug] 620893#620893: *4 http args: "" +2025/08/20 09:04:29 [debug] 620893#620893: *4 http exten: "" +2025/08/20 09:04:29 [debug] 620893#620893: *4 posix_memalign: 00005FEA67704DA0:4096 @16 +2025/08/20 09:04:29 [debug] 620893#620893: *4 http process request header line +2025/08/20 09:04:29 [debug] 620893#620893: *4 http header: "Host: localhost:9001" +2025/08/20 09:04:29 [debug] 620893#620893: *4 http header: "User-Agent: curl/8.15.0" +2025/08/20 09:04:29 [debug] 620893#620893: *4 http header: "Accept: */*" +2025/08/20 09:04:29 [debug] 620893#620893: *4 http header done +2025/08/20 09:04:29 [debug] 620893#620893: *4 event timer del: 6: 261863042 +2025/08/20 09:04:29 [debug] 620893#620893: *4 generic phase: 0 +2025/08/20 09:04:29 [debug] 620893#620893: *4 rewrite phase: 1 +2025/08/20 09:04:29 [debug] 620893#620893: *4 test location: "/health" +2025/08/20 09:04:29 [debug] 620893#620893: *4 test location: "/debug/list" +2025/08/20 09:04:29 [debug] 620893#620893: *4 test location: "/" +2025/08/20 09:04:29 [debug] 620893#620893: *4 test location: ~ "^/([a-f0-9]{64}).*$" +2025/08/20 09:04:29 [debug] 620893#620893: *4 using configuration "^/([a-f0-9]{64}).*$" +2025/08/20 09:04:29 [debug] 620893#620893: *4 http cl:-1 max:104857600 +2025/08/20 09:04:29 [debug] 620893#620893: *4 rewrite phase: 3 +2025/08/20 09:04:29 [debug] 620893#620893: *4 http script var +2025/08/20 09:04:29 [debug] 620893#620893: *4 http script var: "GET" +2025/08/20 09:04:29 [debug] 620893#620893: *4 http script value: "DELETE" +2025/08/20 09:04:29 [debug] 620893#620893: *4 http script not equal +2025/08/20 09:04:29 [debug] 620893#620893: *4 http script if +2025/08/20 09:04:29 [debug] 620893#620893: *4 http finalize request: 404, "/5cda3d9745c61d91828fdfc2cf6b41cbc5851e0cc951366c5d7993e8ce3073aa?" a:1, c:1 +2025/08/20 09:04:29 [debug] 620893#620893: *4 http special response: 404, "/5cda3d9745c61d91828fdfc2cf6b41cbc5851e0cc951366c5d7993e8ce3073aa?" +2025/08/20 09:04:29 [debug] 620893#620893: *4 http set discard body +2025/08/20 09:04:29 [debug] 620893#620893: *4 HTTP/1.1 404 Not Found +Server: nginx/1.18.0 (Ubuntu) +Date: Wed, 20 Aug 2025 13:04:29 GMT +Content-Type: text/html +Content-Length: 162 +Connection: keep-alive + +2025/08/20 09:04:29 [debug] 620893#620893: *4 write new buf t:1 f:0 00005FEA67705180, pos 00005FEA67705180, size: 164 file: 0, size: 0 +2025/08/20 09:04:29 [debug] 620893#620893: *4 http write filter: l:0 f:0 s:164 +2025/08/20 09:04:29 [debug] 620893#620893: *4 http output filter "/5cda3d9745c61d91828fdfc2cf6b41cbc5851e0cc951366c5d7993e8ce3073aa?" +2025/08/20 09:04:29 [debug] 620893#620893: *4 http copy filter: "/5cda3d9745c61d91828fdfc2cf6b41cbc5851e0cc951366c5d7993e8ce3073aa?" +2025/08/20 09:04:29 [debug] 620893#620893: *4 http postpone filter "/5cda3d9745c61d91828fdfc2cf6b41cbc5851e0cc951366c5d7993e8ce3073aa?" 00005FEA67705310 +2025/08/20 09:04:29 [debug] 620893#620893: *4 write old buf t:1 f:0 00005FEA67705180, pos 00005FEA67705180, size: 164 file: 0, size: 0 +2025/08/20 09:04:29 [debug] 620893#620893: *4 write new buf t:0 f:0 0000000000000000, pos 00005FEA4FA1A580, size: 100 file: 0, size: 0 +2025/08/20 09:04:29 [debug] 620893#620893: *4 write new buf t:0 f:0 0000000000000000, pos 00005FEA4FA1AC80, size: 62 file: 0, size: 0 +2025/08/20 09:04:29 [debug] 620893#620893: *4 http write filter: l:1 f:0 s:326 +2025/08/20 09:04:29 [debug] 620893#620893: *4 http write filter limit 0 +2025/08/20 09:04:29 [debug] 620893#620893: *4 writev: 326 of 326 +2025/08/20 09:04:29 [debug] 620893#620893: *4 http write filter 0000000000000000 +2025/08/20 09:04:29 [debug] 620893#620893: *4 http copy filter: 0 "/5cda3d9745c61d91828fdfc2cf6b41cbc5851e0cc951366c5d7993e8ce3073aa?" +2025/08/20 09:04:29 [debug] 620893#620893: *4 http finalize request: 0, "/5cda3d9745c61d91828fdfc2cf6b41cbc5851e0cc951366c5d7993e8ce3073aa?" a:1, c:1 +2025/08/20 09:04:29 [debug] 620893#620893: *4 set http keepalive handler +2025/08/20 09:04:29 [debug] 620893#620893: *4 http close request +2025/08/20 09:04:29 [debug] 620893#620893: *4 http log handler +2025/08/20 09:04:29 [debug] 620893#620893: *4 free: 00005FEA6770EA30, unused: 0 +2025/08/20 09:04:29 [debug] 620893#620893: *4 free: 00005FEA67704DA0, unused: 2456 +2025/08/20 09:04:29 [debug] 620893#620893: *4 free: 00005FEA676F20A0 +2025/08/20 09:04:29 [debug] 620893#620893: *4 hc free: 0000000000000000 +2025/08/20 09:04:29 [debug] 620893#620893: *4 hc busy: 0000000000000000 0 +2025/08/20 09:04:29 [debug] 620893#620893: *4 tcp_nodelay +2025/08/20 09:04:29 [debug] 620893#620893: *4 reusable connection: 1 +2025/08/20 09:04:29 [debug] 620893#620893: *4 event timer add: 6: 65000:261868042 +2025/08/20 09:04:29 [debug] 620893#620893: timer delta: 0 +2025/08/20 09:04:29 [debug] 620893#620893: worker cycle +2025/08/20 09:04:29 [debug] 620893#620893: epoll timer: 65000 +2025/08/20 09:04:29 [debug] 620893#620893: epoll: fd:6 ev:2001 d:00007580040B01E0 +2025/08/20 09:04:29 [debug] 620893#620893: *4 http keepalive handler +2025/08/20 09:04:29 [debug] 620893#620893: *4 malloc: 00005FEA676F20A0:1024 +2025/08/20 09:04:29 [debug] 620893#620893: *4 recv: eof:1, avail:-1 +2025/08/20 09:04:29 [debug] 620893#620893: *4 recv: fd:6 0 of 1024 +2025/08/20 09:04:29 [info] 620893#620893: *4 client 127.0.0.1 closed keepalive connection +2025/08/20 09:04:29 [debug] 620893#620893: *4 close http connection: 6 +2025/08/20 09:04:29 [debug] 620893#620893: *4 event timer del: 6: 261868042 +2025/08/20 09:04:29 [debug] 620893#620893: *4 reusable connection: 0 +2025/08/20 09:04:29 [debug] 620893#620893: *4 free: 00005FEA676F20A0 +2025/08/20 09:04:29 [debug] 620893#620893: *4 free: 00005FEA676EF840, unused: 136 +2025/08/20 09:04:29 [debug] 620893#620893: timer delta: 1 +2025/08/20 09:04:29 [debug] 620893#620893: worker cycle +2025/08/20 09:04:29 [debug] 620893#620893: epoll timer: -1 +2025/08/20 09:05:13 [debug] 620893#620893: epoll: fd:5 ev:0001 d:00007580040B0010 +2025/08/20 09:05:13 [debug] 620893#620893: accept on 0.0.0.0:9001, ready: 0 +2025/08/20 09:05:13 [debug] 620893#620893: posix_memalign: 00005FEA676EF840:512 @16 +2025/08/20 09:05:13 [debug] 620893#620893: *5 accept: 127.0.0.1:44926 fd:6 +2025/08/20 09:05:13 [debug] 620893#620893: *5 event timer add: 6: 60000:261906878 +2025/08/20 09:05:13 [debug] 620893#620893: *5 reusable connection: 1 +2025/08/20 09:05:13 [debug] 620893#620893: *5 epoll add event: fd:6 op:1 ev:80002001 +2025/08/20 09:05:13 [debug] 620893#620893: timer delta: 43835 +2025/08/20 09:05:13 [debug] 620893#620893: worker cycle +2025/08/20 09:05:13 [debug] 620893#620893: epoll timer: 60000 +2025/08/20 09:05:13 [debug] 620893#620893: epoll: fd:6 ev:0001 d:00007580040B01E1 +2025/08/20 09:05:13 [debug] 620893#620893: *5 http wait request handler +2025/08/20 09:05:13 [debug] 620893#620893: *5 malloc: 00005FEA676F20A0:1024 +2025/08/20 09:05:13 [debug] 620893#620893: *5 recv: eof:0, avail:-1 +2025/08/20 09:05:13 [debug] 620893#620893: *5 recv: fd:6 84 of 1024 +2025/08/20 09:05:13 [debug] 620893#620893: *5 reusable connection: 0 +2025/08/20 09:05:13 [debug] 620893#620893: *5 posix_memalign: 00005FEA6770EA30:4096 @16 +2025/08/20 09:05:13 [debug] 620893#620893: *5 http process request line +2025/08/20 09:05:13 [debug] 620893#620893: *5 http request line: "GET /health HTTP/1.1" +2025/08/20 09:05:13 [debug] 620893#620893: *5 http uri: "/health" +2025/08/20 09:05:13 [debug] 620893#620893: *5 http args: "" +2025/08/20 09:05:13 [debug] 620893#620893: *5 http exten: "" +2025/08/20 09:05:13 [debug] 620893#620893: *5 posix_memalign: 00005FEA67704DA0:4096 @16 +2025/08/20 09:05:13 [debug] 620893#620893: *5 http process request header line +2025/08/20 09:05:13 [debug] 620893#620893: *5 http header: "Host: localhost:9001" +2025/08/20 09:05:13 [debug] 620893#620893: *5 http header: "User-Agent: curl/8.15.0" +2025/08/20 09:05:13 [debug] 620893#620893: *5 http header: "Accept: */*" +2025/08/20 09:05:13 [debug] 620893#620893: *5 http header done +2025/08/20 09:05:13 [debug] 620893#620893: *5 event timer del: 6: 261906878 +2025/08/20 09:05:13 [debug] 620893#620893: *5 generic phase: 0 +2025/08/20 09:05:13 [debug] 620893#620893: *5 rewrite phase: 1 +2025/08/20 09:05:13 [debug] 620893#620893: *5 test location: "/health" +2025/08/20 09:05:13 [debug] 620893#620893: *5 test location: ~ "^/([a-f0-9]{64}).*$" +2025/08/20 09:05:13 [debug] 620893#620893: *5 test location: ~ "^/([a-f0-9]{64})(\.[a-zA-Z0-9]+)?$" +2025/08/20 09:05:13 [debug] 620893#620893: *5 test location: ~ "^/fcgi-head/([a-f0-9]{64}).*$" +2025/08/20 09:05:13 [debug] 620893#620893: *5 test location: ~ "^/list/([a-f0-9]{64}).*$" +2025/08/20 09:05:13 [debug] 620893#620893: *5 using configuration "/health" +2025/08/20 09:05:13 [debug] 620893#620893: *5 http cl:-1 max:104857600 +2025/08/20 09:05:13 [debug] 620893#620893: *5 rewrite phase: 3 +2025/08/20 09:05:13 [debug] 620893#620893: *5 http set discard body +2025/08/20 09:05:13 [debug] 620893#620893: *5 HTTP/1.1 200 OK +Server: nginx/1.18.0 (Ubuntu) +Date: Wed, 20 Aug 2025 13:05:13 GMT +Content-Type: application/octet-stream +Content-Length: 3 +Connection: keep-alive +Content-Type: text/plain + +2025/08/20 09:05:13 [debug] 620893#620893: *5 write new buf t:1 f:0 00005FEA67705180, pos 00005FEA67705180, size: 196 file: 0, size: 0 +2025/08/20 09:05:13 [debug] 620893#620893: *5 http write filter: l:0 f:0 s:196 +2025/08/20 09:05:13 [debug] 620893#620893: *5 http output filter "/health?" +2025/08/20 09:05:13 [debug] 620893#620893: *5 http copy filter: "/health?" +2025/08/20 09:05:13 [debug] 620893#620893: *5 http postpone filter "/health?" 00007FFE76083870 +2025/08/20 09:05:13 [debug] 620893#620893: *5 write old buf t:1 f:0 00005FEA67705180, pos 00005FEA67705180, size: 196 file: 0, size: 0 +2025/08/20 09:05:13 [debug] 620893#620893: *5 write new buf t:0 f:0 0000000000000000, pos 00005FEA6772CB42, size: 3 file: 0, size: 0 +2025/08/20 09:05:13 [debug] 620893#620893: *5 http write filter: l:1 f:0 s:199 +2025/08/20 09:05:13 [debug] 620893#620893: *5 http write filter limit 0 +2025/08/20 09:05:13 [debug] 620893#620893: *5 writev: 199 of 199 +2025/08/20 09:05:13 [debug] 620893#620893: *5 http write filter 0000000000000000 +2025/08/20 09:05:13 [debug] 620893#620893: *5 http copy filter: 0 "/health?" +2025/08/20 09:05:13 [debug] 620893#620893: *5 http finalize request: 0, "/health?" a:1, c:1 +2025/08/20 09:05:13 [debug] 620893#620893: *5 set http keepalive handler +2025/08/20 09:05:13 [debug] 620893#620893: *5 http close request +2025/08/20 09:05:13 [debug] 620893#620893: *5 http log handler +2025/08/20 09:05:13 [debug] 620893#620893: *5 free: 00005FEA6770EA30, unused: 0 +2025/08/20 09:05:13 [debug] 620893#620893: *5 free: 00005FEA67704DA0, unused: 2736 +2025/08/20 09:05:13 [debug] 620893#620893: *5 free: 00005FEA676F20A0 +2025/08/20 09:05:13 [debug] 620893#620893: *5 hc free: 0000000000000000 +2025/08/20 09:05:13 [debug] 620893#620893: *5 hc busy: 0000000000000000 0 +2025/08/20 09:05:13 [debug] 620893#620893: *5 tcp_nodelay +2025/08/20 09:05:13 [debug] 620893#620893: *5 reusable connection: 1 +2025/08/20 09:05:13 [debug] 620893#620893: *5 event timer add: 6: 65000:261911879 +2025/08/20 09:05:13 [debug] 620893#620893: timer delta: 1 +2025/08/20 09:05:13 [debug] 620893#620893: worker cycle +2025/08/20 09:05:13 [debug] 620893#620893: epoll timer: 65000 +2025/08/20 09:05:13 [debug] 620893#620893: epoll: fd:6 ev:2001 d:00007580040B01E1 +2025/08/20 09:05:13 [debug] 620893#620893: *5 http keepalive handler +2025/08/20 09:05:13 [debug] 620893#620893: *5 malloc: 00005FEA676F20A0:1024 +2025/08/20 09:05:13 [debug] 620893#620893: *5 recv: eof:1, avail:-1 +2025/08/20 09:05:13 [debug] 620893#620893: *5 recv: fd:6 0 of 1024 +2025/08/20 09:05:13 [info] 620893#620893: *5 client 127.0.0.1 closed keepalive connection +2025/08/20 09:05:13 [debug] 620893#620893: *5 close http connection: 6 +2025/08/20 09:05:13 [debug] 620893#620893: *5 event timer del: 6: 261911879 +2025/08/20 09:05:13 [debug] 620893#620893: *5 reusable connection: 0 +2025/08/20 09:05:13 [debug] 620893#620893: *5 free: 00005FEA676F20A0 +2025/08/20 09:05:13 [debug] 620893#620893: *5 free: 00005FEA676EF840, unused: 136 +2025/08/20 09:05:13 [debug] 620893#620893: timer delta: 1 +2025/08/20 09:05:13 [debug] 620893#620893: worker cycle +2025/08/20 09:05:13 [debug] 620893#620893: epoll timer: -1 +2025/08/20 09:05:14 [debug] 620893#620893: epoll: fd:5 ev:0001 d:00007580040B0010 +2025/08/20 09:05:14 [debug] 620893#620893: accept on 0.0.0.0:9001, ready: 0 +2025/08/20 09:05:14 [debug] 620893#620893: posix_memalign: 00005FEA676EF840:512 @16 +2025/08/20 09:05:14 [debug] 620893#620893: *6 accept: 127.0.0.1:44928 fd:6 +2025/08/20 09:05:14 [debug] 620893#620893: *6 event timer add: 6: 60000:261907136 +2025/08/20 09:05:14 [debug] 620893#620893: *6 reusable connection: 1 +2025/08/20 09:05:14 [debug] 620893#620893: *6 epoll add event: fd:6 op:1 ev:80002001 +2025/08/20 09:05:14 [debug] 620893#620893: timer delta: 256 +2025/08/20 09:05:14 [debug] 620893#620893: worker cycle +2025/08/20 09:05:14 [debug] 620893#620893: epoll timer: 60000 +2025/08/20 09:05:14 [debug] 620893#620893: epoll: fd:6 ev:0001 d:00007580040B01E0 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http wait request handler +2025/08/20 09:05:14 [debug] 620893#620893: *6 malloc: 00005FEA676F20A0:1024 +2025/08/20 09:05:14 [debug] 620893#620893: *6 recv: eof:0, avail:-1 +2025/08/20 09:05:14 [debug] 620893#620893: *6 recv: fd:6 1024 of 1024 +2025/08/20 09:05:14 [debug] 620893#620893: *6 recv: avail:112 +2025/08/20 09:05:14 [debug] 620893#620893: *6 reusable connection: 0 +2025/08/20 09:05:14 [debug] 620893#620893: *6 posix_memalign: 00005FEA6770EA30:4096 @16 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http process request line +2025/08/20 09:05:14 [debug] 620893#620893: *6 http request line: "PUT /upload HTTP/1.1" +2025/08/20 09:05:14 [debug] 620893#620893: *6 http uri: "/upload" +2025/08/20 09:05:14 [debug] 620893#620893: *6 http args: "" +2025/08/20 09:05:14 [debug] 620893#620893: *6 http exten: "" +2025/08/20 09:05:14 [debug] 620893#620893: *6 posix_memalign: 00005FEA67704DA0:4096 @16 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http process request header line +2025/08/20 09:05:14 [debug] 620893#620893: *6 http header: "Host: localhost:9001" +2025/08/20 09:05:14 [debug] 620893#620893: *6 http header: "User-Agent: curl/8.15.0" +2025/08/20 09:05:14 [debug] 620893#620893: *6 http header: "Accept: */*" +2025/08/20 09:05:14 [debug] 620893#620893: *6 http header: "Authorization: Nostr eyJraW5kIjoyNDI0MiwiaWQiOiIzYmRjMzUwZmM2ZDM3Njk0YzQyNjJkNWNhMWRiZTQzNjE5ZGM0MmE4NTFjMDVkYmQ3NzJmZWY3NTU5MGJmYTMxIiwicHVia2V5IjoiNzliZTY2N2VmOWRjYmJhYzU1YTA2Mjk1Y2U4NzBiMDcwMjliZmNkYjJkY2UyOGQ5NTlmMjgxNWIxNmY4MTc5OCIsImNyZWF0ZWRfYXQiOjE3NTU2OTUxMTQsInRhZ3MiOltbInQiLCJ1cGxvYWQiXSxbIngiLCI5MmJmMzljZTJlY2ZhNzg4ZDhiNWQ5N2M2NWQ5OWNjN2ExNmYwNWQzMTdkZjQwY2Y3YzgyNGRiNTVkODYxZWU0Il0sWyJleHBpcmF0aW9uIiwiMTc1NTY5ODcxMyJdXSwiY29udGVudCI6IiIsInNpZyI6IjdlYzYwNjUwNTFkZDhkMmM1NDU2MTI1NzBkMzNkNTcwMjM2YWQ2NTA0ZjlkMjg1ZTMwZjZmOGZhZTcyNjc2MjFjZTg3NDRkZDllZjJlNzdmMTJhNTNlMGViZGRkMzcwNTVjOTM1NTk0NGQ4M2IwZjQ0OTU0MDMyMTAzODlhMWY3In0=" +2025/08/20 09:05:14 [debug] 620893#620893: *6 http header: "Content-Type: text/plain" +2025/08/20 09:05:14 [debug] 620893#620893: *6 http header: "Content-Disposition: attachment; filename="test_blob_1755695113.txt"" +2025/08/20 09:05:14 [debug] 620893#620893: *6 http header: "Content-Length: 296" +2025/08/20 09:05:14 [debug] 620893#620893: *6 http header done +2025/08/20 09:05:14 [debug] 620893#620893: *6 event timer del: 6: 261907136 +2025/08/20 09:05:14 [debug] 620893#620893: *6 generic phase: 0 +2025/08/20 09:05:14 [debug] 620893#620893: *6 rewrite phase: 1 +2025/08/20 09:05:14 [debug] 620893#620893: *6 test location: "/health" +2025/08/20 09:05:14 [debug] 620893#620893: *6 test location: "/upload" +2025/08/20 09:05:14 [debug] 620893#620893: *6 test location: ~ "^/([a-f0-9]{64}).*$" +2025/08/20 09:05:14 [debug] 620893#620893: *6 test location: ~ "^/([a-f0-9]{64})(\.[a-zA-Z0-9]+)?$" +2025/08/20 09:05:14 [debug] 620893#620893: *6 test location: ~ "^/fcgi-head/([a-f0-9]{64}).*$" +2025/08/20 09:05:14 [debug] 620893#620893: *6 test location: ~ "^/list/([a-f0-9]{64}).*$" +2025/08/20 09:05:14 [debug] 620893#620893: *6 using configuration "/upload" +2025/08/20 09:05:14 [debug] 620893#620893: *6 http cl:296 max:104857600 +2025/08/20 09:05:14 [debug] 620893#620893: *6 rewrite phase: 3 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http script var +2025/08/20 09:05:14 [debug] 620893#620893: *6 http script var: "PUT" +2025/08/20 09:05:14 [debug] 620893#620893: *6 http script regex: "^(PUT)$" +2025/08/20 09:05:14 [notice] 620893#620893: *6 "^(PUT)$" matches "PUT", client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", host: "localhost:9001" +2025/08/20 09:05:14 [debug] 620893#620893: *6 http script if +2025/08/20 09:05:14 [debug] 620893#620893: *6 http script if: false +2025/08/20 09:05:14 [debug] 620893#620893: *6 post rewrite phase: 4 +2025/08/20 09:05:14 [debug] 620893#620893: *6 generic phase: 5 +2025/08/20 09:05:14 [debug] 620893#620893: *6 generic phase: 6 +2025/08/20 09:05:14 [debug] 620893#620893: *6 generic phase: 7 +2025/08/20 09:05:14 [debug] 620893#620893: *6 access phase: 8 +2025/08/20 09:05:14 [debug] 620893#620893: *6 access phase: 9 +2025/08/20 09:05:14 [debug] 620893#620893: *6 access phase: 10 +2025/08/20 09:05:14 [debug] 620893#620893: *6 post access phase: 11 +2025/08/20 09:05:14 [debug] 620893#620893: *6 generic phase: 12 +2025/08/20 09:05:14 [debug] 620893#620893: *6 generic phase: 13 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http client request body preread 184 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http request body content length filter +2025/08/20 09:05:14 [debug] 620893#620893: *6 http body new buf t:1 f:0 00005FEA676F23E8, pos 00005FEA676F23E8, size: 184 file: 0, size: 0 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http read client request body +2025/08/20 09:05:14 [debug] 620893#620893: *6 recv: eof:0, avail:112 +2025/08/20 09:05:14 [debug] 620893#620893: *6 recv: fd:6 112 of 112 +2025/08/20 09:05:14 [debug] 620893#620893: *6 recv: avail:0 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http client request body recv 112 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http body new buf t:1 f:0 00005FEA67705830, pos 00005FEA67705830, size: 112 file: 0, size: 0 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http client request body rest 0 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http init upstream, client timer: 0 +2025/08/20 09:05:14 [debug] 620893#620893: *6 epoll add event: fd:6 op:3 ev:80002005 +2025/08/20 09:05:14 [debug] 620893#620893: *6 posix_memalign: 00005FEA676F9150:4096 @16 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http script copy: "QUERY_STRING" +2025/08/20 09:05:14 [debug] 620893#620893: *6 fastcgi param: "QUERY_STRING: " +2025/08/20 09:05:14 [debug] 620893#620893: *6 http script copy: "REQUEST_METHOD" +2025/08/20 09:05:14 [debug] 620893#620893: *6 http script var: "PUT" +2025/08/20 09:05:14 [debug] 620893#620893: *6 fastcgi param: "REQUEST_METHOD: PUT" +2025/08/20 09:05:14 [debug] 620893#620893: *6 http script copy: "CONTENT_TYPE" +2025/08/20 09:05:14 [debug] 620893#620893: *6 http script var: "text/plain" +2025/08/20 09:05:14 [debug] 620893#620893: *6 fastcgi param: "CONTENT_TYPE: text/plain" +2025/08/20 09:05:14 [debug] 620893#620893: *6 http script copy: "CONTENT_LENGTH" +2025/08/20 09:05:14 [debug] 620893#620893: *6 http script var: "296" +2025/08/20 09:05:14 [debug] 620893#620893: *6 fastcgi param: "CONTENT_LENGTH: 296" +2025/08/20 09:05:14 [debug] 620893#620893: *6 http script copy: "SCRIPT_NAME" +2025/08/20 09:05:14 [debug] 620893#620893: *6 http script var: "/upload" +2025/08/20 09:05:14 [debug] 620893#620893: *6 fastcgi param: "SCRIPT_NAME: /upload" +2025/08/20 09:05:14 [debug] 620893#620893: *6 http script copy: "REQUEST_URI" +2025/08/20 09:05:14 [debug] 620893#620893: *6 http script var: "/upload" +2025/08/20 09:05:14 [debug] 620893#620893: *6 fastcgi param: "REQUEST_URI: /upload" +2025/08/20 09:05:14 [debug] 620893#620893: *6 http script copy: "DOCUMENT_URI" +2025/08/20 09:05:14 [debug] 620893#620893: *6 http script var: "/upload" +2025/08/20 09:05:14 [debug] 620893#620893: *6 fastcgi param: "DOCUMENT_URI: /upload" +2025/08/20 09:05:14 [debug] 620893#620893: *6 http script copy: "DOCUMENT_ROOT" +2025/08/20 09:05:14 [debug] 620893#620893: *6 http script var: "./blobs" +2025/08/20 09:05:14 [debug] 620893#620893: *6 fastcgi param: "DOCUMENT_ROOT: ./blobs" +2025/08/20 09:05:14 [debug] 620893#620893: *6 http script copy: "SERVER_PROTOCOL" +2025/08/20 09:05:14 [debug] 620893#620893: *6 http script var: "HTTP/1.1" +2025/08/20 09:05:14 [debug] 620893#620893: *6 fastcgi param: "SERVER_PROTOCOL: HTTP/1.1" +2025/08/20 09:05:14 [debug] 620893#620893: *6 http script copy: "REQUEST_SCHEME" +2025/08/20 09:05:14 [debug] 620893#620893: *6 http script var: "http" +2025/08/20 09:05:14 [debug] 620893#620893: *6 fastcgi param: "REQUEST_SCHEME: http" +2025/08/20 09:05:14 [debug] 620893#620893: *6 http script copy: "" +2025/08/20 09:05:14 [debug] 620893#620893: *6 http script copy: "GATEWAY_INTERFACE" +2025/08/20 09:05:14 [debug] 620893#620893: *6 http script copy: "CGI/1.1" +2025/08/20 09:05:14 [debug] 620893#620893: *6 fastcgi param: "GATEWAY_INTERFACE: CGI/1.1" +2025/08/20 09:05:14 [debug] 620893#620893: *6 http script copy: "SERVER_SOFTWARE" +2025/08/20 09:05:14 [debug] 620893#620893: *6 http script copy: "nginx/" +2025/08/20 09:05:14 [debug] 620893#620893: *6 http script var: "1.18.0" +2025/08/20 09:05:14 [debug] 620893#620893: *6 fastcgi param: "SERVER_SOFTWARE: nginx/1.18.0" +2025/08/20 09:05:14 [debug] 620893#620893: *6 http script copy: "REMOTE_ADDR" +2025/08/20 09:05:14 [debug] 620893#620893: *6 http script var: "127.0.0.1" +2025/08/20 09:05:14 [debug] 620893#620893: *6 fastcgi param: "REMOTE_ADDR: 127.0.0.1" +2025/08/20 09:05:14 [debug] 620893#620893: *6 http script copy: "REMOTE_PORT" +2025/08/20 09:05:14 [debug] 620893#620893: *6 http script var: "44928" +2025/08/20 09:05:14 [debug] 620893#620893: *6 fastcgi param: "REMOTE_PORT: 44928" +2025/08/20 09:05:14 [debug] 620893#620893: *6 http script copy: "SERVER_ADDR" +2025/08/20 09:05:14 [debug] 620893#620893: *6 http script var: "127.0.0.1" +2025/08/20 09:05:14 [debug] 620893#620893: *6 fastcgi param: "SERVER_ADDR: 127.0.0.1" +2025/08/20 09:05:14 [debug] 620893#620893: *6 http script copy: "SERVER_PORT" +2025/08/20 09:05:14 [debug] 620893#620893: *6 http script var: "9001" +2025/08/20 09:05:14 [debug] 620893#620893: *6 fastcgi param: "SERVER_PORT: 9001" +2025/08/20 09:05:14 [debug] 620893#620893: *6 http script copy: "SERVER_NAME" +2025/08/20 09:05:14 [debug] 620893#620893: *6 http script var: "localhost" +2025/08/20 09:05:14 [debug] 620893#620893: *6 fastcgi param: "SERVER_NAME: localhost" +2025/08/20 09:05:14 [debug] 620893#620893: *6 http script copy: "REDIRECT_STATUS" +2025/08/20 09:05:14 [debug] 620893#620893: *6 http script copy: "200" +2025/08/20 09:05:14 [debug] 620893#620893: *6 fastcgi param: "REDIRECT_STATUS: 200" +2025/08/20 09:05:14 [debug] 620893#620893: *6 http script copy: "SCRIPT_FILENAME" +2025/08/20 09:05:14 [debug] 620893#620893: *6 http script var: "./blobs" +2025/08/20 09:05:14 [debug] 620893#620893: *6 http script copy: "/ginxsom.fcgi" +2025/08/20 09:05:14 [debug] 620893#620893: *6 fastcgi param: "SCRIPT_FILENAME: ./blobs/ginxsom.fcgi" +2025/08/20 09:05:14 [debug] 620893#620893: *6 fastcgi param: "HTTP_HOST: localhost:9001" +2025/08/20 09:05:14 [debug] 620893#620893: *6 fastcgi param: "HTTP_USER_AGENT: curl/8.15.0" +2025/08/20 09:05:14 [debug] 620893#620893: *6 fastcgi param: "HTTP_ACCEPT: */*" +2025/08/20 09:05:14 [debug] 620893#620893: *6 fastcgi param: "HTTP_AUTHORIZATION: Nostr eyJraW5kIjoyNDI0MiwiaWQiOiIzYmRjMzUwZmM2ZDM3Njk0YzQyNjJkNWNhMWRiZTQzNjE5ZGM0MmE4NTFjMDVkYmQ3NzJmZWY3NTU5MGJmYTMxIiwicHVia2V5IjoiNzliZTY2N2VmOWRjYmJhYzU1YTA2Mjk1Y2U4NzBiMDcwMjliZmNkYjJkY2UyOGQ5NTlmMjgxNWIxNmY4MTc5OCIsImNyZWF0ZWRfYXQiOjE3NTU2OTUxMTQsInRhZ3MiOltbInQiLCJ1cGxvYWQiXSxbIngiLCI5MmJmMzljZTJlY2ZhNzg4ZDhiNWQ5N2M2NWQ5OWNjN2ExNmYwNWQzMTdkZjQwY2Y3YzgyNGRiNTVkODYxZWU0Il0sWyJleHBpcmF0aW9uIiwiMTc1NTY5ODcxMyJdXSwiY29udGVudCI6IiIsInNpZyI6IjdlYzYwNjUwNTFkZDhkMmM1NDU2MTI1NzBkMzNkNTcwMjM2YWQ2NTA0ZjlkMjg1ZTMwZjZmOGZhZTcyNjc2MjFjZTg3NDRkZDllZjJlNzdmMTJhNTNlMGViZGRkMzcwNTVjOTM1NTk0NGQ4M2IwZjQ0OTU0MDMyMTAzODlhMWY3In0=" +2025/08/20 09:05:14 [debug] 620893#620893: *6 fastcgi param: "HTTP_CONTENT_TYPE: text/plain" +2025/08/20 09:05:14 [debug] 620893#620893: *6 fastcgi param: "HTTP_CONTENT_DISPOSITION: attachment; filename="test_blob_1755695113.txt"" +2025/08/20 09:05:14 [debug] 620893#620893: *6 fastcgi param: "HTTP_CONTENT_LENGTH: 296" +2025/08/20 09:05:14 [debug] 620893#620893: *6 http cleanup add: 00005FEA67705B80 +2025/08/20 09:05:14 [debug] 620893#620893: *6 get rr peer, try: 1 +2025/08/20 09:05:14 [debug] 620893#620893: *6 stream socket 10 +2025/08/20 09:05:14 [debug] 620893#620893: *6 epoll add connection: fd:10 ev:80002005 +2025/08/20 09:05:14 [debug] 620893#620893: *6 connect to unix:/tmp/ginxsom-fcgi.sock, fd:10 #7 +2025/08/20 09:05:14 [debug] 620893#620893: *6 connected +2025/08/20 09:05:14 [debug] 620893#620893: *6 http upstream connect: 0 +2025/08/20 09:05:14 [debug] 620893#620893: *6 posix_memalign: 00005FEA676D8F20:128 @16 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http upstream send request +2025/08/20 09:05:14 [debug] 620893#620893: *6 http upstream send request body +2025/08/20 09:05:14 [debug] 620893#620893: *6 chain writer buf fl:0 s:1304 +2025/08/20 09:05:14 [debug] 620893#620893: *6 chain writer buf fl:0 s:184 +2025/08/20 09:05:14 [debug] 620893#620893: *6 chain writer buf fl:0 s:8 +2025/08/20 09:05:14 [debug] 620893#620893: *6 chain writer buf fl:0 s:112 +2025/08/20 09:05:14 [debug] 620893#620893: *6 chain writer buf fl:0 s:8 +2025/08/20 09:05:14 [debug] 620893#620893: *6 chain writer in: 00005FEA67705C10 +2025/08/20 09:05:14 [debug] 620893#620893: *6 writev: 1616 of 1616 +2025/08/20 09:05:14 [debug] 620893#620893: *6 chain writer out: 0000000000000000 +2025/08/20 09:05:14 [debug] 620893#620893: *6 event timer add: 10: 60000:261907136 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http finalize request: -4, "/upload?" a:1, c:2 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http request count:2 blk:0 +2025/08/20 09:05:14 [debug] 620893#620893: timer delta: 0 +2025/08/20 09:05:14 [debug] 620893#620893: worker cycle +2025/08/20 09:05:14 [debug] 620893#620893: epoll timer: 60000 +2025/08/20 09:05:14 [debug] 620893#620893: epoll: fd:6 ev:0004 d:00007580040B01E0 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http run request: "/upload?" +2025/08/20 09:05:14 [debug] 620893#620893: *6 http upstream check client, write event:1, "/upload" +2025/08/20 09:05:14 [debug] 620893#620893: epoll: fd:10 ev:0004 d:00007580040B02C9 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http upstream request: "/upload?" +2025/08/20 09:05:14 [debug] 620893#620893: *6 http upstream dummy handler +2025/08/20 09:05:14 [debug] 620893#620893: timer delta: 2 +2025/08/20 09:05:14 [debug] 620893#620893: worker cycle +2025/08/20 09:05:14 [debug] 620893#620893: epoll timer: 59998 +2025/08/20 09:05:14 [debug] 620893#620893: epoll: fd:10 ev:0005 d:00007580040B02C9 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http upstream request: "/upload?" +2025/08/20 09:05:14 [debug] 620893#620893: *6 http upstream process header +2025/08/20 09:05:14 [debug] 620893#620893: *6 malloc: 00005FEA676FA160:4096 +2025/08/20 09:05:14 [debug] 620893#620893: *6 recv: eof:0, avail:-1 +2025/08/20 09:05:14 [debug] 620893#620893: *6 recv: fd:10 1024 of 4096 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record byte: 01 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record byte: 07 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record byte: 00 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record byte: 01 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record byte: 01 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record byte: F8 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record byte: 00 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record byte: 00 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record length: 504 +2025/08/20 09:05:14 [error] 620893#620893: *6 FastCGI sent in stderr: "DEBUG: FastCGI received request +DEBUG: METHOD=PUT, URI=/upload +ENTRY: Entering handle_upload_request() function +DEBUG: handle_upload_request called +LOG: [2025-08-20 09:05:14] PUT /upload - Auth: pending - Status: 0 +DEBUG: content_type=text/plain +DEBUG: content_length=296 +DEBUG: Raw Authorization header: Nostr eyJraW5kIjoyNDI0MiwiaWQiOiIzYmRjMzUwZmM2ZDM3Njk0YzQyNjJkNWNhMWRiZTQzNjE5ZGM0MmE4NTFjMDVkYmQ3NzJmZWY3NTU5MGJmYTMxIiwicHVia2V5IjoiNzliZTY2N2VmOWRjYmJhYzU1YTA2Mjk1Y2U4NzBiMDcwMjliZmNkYjJkY2" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record byte: 01 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record byte: 07 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record byte: 00 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record byte: 01 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record byte: 01 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record byte: F8 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record byte: 00 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record byte: 00 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record length: 504 +2025/08/20 09:05:14 [error] 620893#620893: *6 FastCGI sent in stderr: "UyOGQ5NTlmMjgxNWIxNmY4MTc5OCIsImNyZWF0ZWRfYXQiOjE3NTU2OTUxMTQsInRhZ3MiOltbInQiLCJ1cGxvYWQiXSxbIngiLCI5MmJmMzljZTJlY2ZhNzg4ZDhiNWQ5N2M2NWQ5OWNjN2ExNmYwNWQzMTdkZjQwY2Y3YzgyNGRiNTVkODYxZWU0Il0sWyJleHBpcmF0aW9uIiwiMTc1NTY5ODcxMyJdXSwiY29udGVudCI6IiIsInNpZyI6IjdlYzYwNjUwNTFkZDhkMmM1NDU2MTI1NzBkMzNkNTcwMjM2YWQ2NTA0ZjlkMjg1ZTMwZjZmOGZhZTcyNjc2MjFjZTg3NDRkZDllZjJlNzdmMTJhNTNlMGViZGRkMzcwNTVjOTM1NTk0NGQ4M2IwZjQ0OTU0MDMyMTAzODlhMWY3In0= +LOG: [2025-08-20 09:05:14] PUT /upload - Auth: auth_provided - Status: 0" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:05:14 [debug] 620893#620893: *6 recv: eof:0, avail:0 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http upstream request: "/upload?" +2025/08/20 09:05:14 [debug] 620893#620893: *6 http upstream dummy handler +2025/08/20 09:05:14 [debug] 620893#620893: timer delta: 0 +2025/08/20 09:05:14 [debug] 620893#620893: worker cycle +2025/08/20 09:05:14 [debug] 620893#620893: epoll timer: 59998 +2025/08/20 09:05:14 [debug] 620893#620893: epoll: fd:10 ev:0005 d:00007580040B02C9 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http upstream request: "/upload?" +2025/08/20 09:05:14 [debug] 620893#620893: *6 http upstream process header +2025/08/20 09:05:14 [debug] 620893#620893: *6 recv: eof:0, avail:-1 +2025/08/20 09:05:14 [debug] 620893#620893: *6 recv: fd:10 3072 of 4096 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record byte: 01 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record byte: 07 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record byte: 00 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record byte: 01 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record byte: 01 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record byte: F8 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record byte: 00 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record byte: 00 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record length: 504 +2025/08/20 09:05:14 [error] 620893#620893: *6 FastCGI sent in stderr: " +DEBUG: Successfully read DEBUG-LAAN: DATA TO HASH: Test blob content for Ginxsom Blossom server +Timestamp: 2025-08-20T09:05:13-04:00 +Random data: db7810e2fb1ab96791cbe32deb13db017ae0ab4b722d99265054a45bad0b5a61 +Test message: Hello from put_test.sh! + +This file is used to test the upload functionality +of the Ginxsom Blossom server implementation. + +DEBUG-LAAN: Calculated SHA-256: 92bf39ce2ecfa788d8b5d97c65d99cc7a16f05d317df40cf7c824db55d861ee4 +AUTH: About to perform authentication - auth_header p" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record byte: 01 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record byte: 07 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record byte: 00 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record byte: 01 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record byte: 01 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record byte: F8 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record byte: 00 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record byte: 00 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record length: 504 +2025/08/20 09:05:14 [error] 620893#620893: *6 FastCGI sent in stderr: "resent: YES +AUTH: Calling authenticate_request with hash: 92bf39ce2ecfa788d8b5d97c65d99cc7a16f05d317df40cf7c824db55d861ee4 +═══════════════════════════════════════════════════════════════════ +🔍 STEP SERVER-1: Starting server-style authentication (mirroring test_auth_debug.c) +ℹ️ INFO: Server-style auth called with method: upload, hash: 92bf39ce2ecfa788d8b5d97c" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record byte: 01 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record byte: 07 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record byte: 00 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record byte: 01 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record byte: 01 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record byte: F8 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record byte: 00 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record byte: 00 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record length: 504 +2025/08/20 09:05:14 [error] 620893#620893: *6 FastCGI sent in stderr: "65d99cc7a16f05d317df40cf7c824db55d861ee4 +🔍 STEP SERVER-2: Calling parse_authorization_header +DEBUG: parse_authorization_header called with header: Nostr eyJraW5kIjoyNDI0MiwiaWQiOiIzYmRjMzUwZmM2ZDM3... +DEBUG: Extracted base64 event (length=DEBUG: Base64 decode result - decoded_len=DEBUG: Successfully decoded JSON (length=✅ SUCCESS: parse_authorization_header succeeded +🔍 STEP SERVER-3: Calling cJSON_Parse on JSON string +ℹ️ INFO: JSON to parse: {"kind":24242,"id":"3bdc350fc6d37694c4262d5ca" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record byte: 01 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record byte: 07 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record byte: 00 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record byte: 01 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record byte: 01 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record byte: F8 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record byte: 00 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record byte: 00 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record length: 504 +2025/08/20 09:05:14 [error] 620893#620893: *6 FastCGI sent in stderr: "1dbe43619dc42a851c05dbd772fef75590bfa31","pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1755695114,"tags":[["t","upload"],["x","92bf39ce2ecfa788d8b5d97c65d99cc7a16f05d317df40cf7c824db55d861ee4"],["expiration","1755698713"]],"content":"","sig":"7ec6065051dd8d2c545612570d33d570236ad6504f9d285e30f6f8fae7267621ce8744dd9ef2e77f12a53e0ebddd37055c9355944d83b0f4495403210389a1f7"} +✅ SUCCESS: cJSON_Parse succeeded, event parsed +ℹ️ INFO: Parsed JSON: { + "kind": " while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record byte: 01 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record byte: 07 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record byte: 00 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record byte: 01 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record byte: 01 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record byte: F8 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record byte: 00 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record byte: 00 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record length: 504 +2025/08/20 09:05:14 [error] 620893#620893: *6 FastCGI sent in stderr: "24242, + "id": "3bdc350fc6d37694c4262d5ca1dbe43619dc42a851c05dbd772fef75590bfa31", + "pubkey": "79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798", + "created_at": 1755695114, + "tags": [["t", "upload"], ["x", "92bf39ce2ecfa788d8b5d97c65d99cc7a16f05d317df40cf7c824db55d861ee4"], ["expiration", "1755698713"]], + "content": "", + "sig": "7ec6065051dd8d2c545612570d33d570236ad6504f9d285e30f6f8fae7267621ce8744dd9ef2e77f12a53e0ebddd37055c9355944d83b0f4495403210389a1f7" +} +🔍 STEP SERVER-4: Event" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record byte: 01 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record byte: 07 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record byte: 00 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record byte: 01 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record byte: 01 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record byte: F8 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record byte: 00 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record byte: 00 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record length: 504 +2025/08/20 09:05:14 [error] 620893#620893: *6 FastCGI sent in stderr: "fields before validation +ℹ️ INFO: id: 3bdc350fc6d37694c4262d5ca1dbe43619dc42a851c05dbd772fef75590bfa31 +ℹ️ INFO: pubkey: 79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 +ℹ️ INFO: sig: 7ec6065051dd8d2c545612570d33d570236ad6504f9d285e30f6f8fae7267621ce8744dd9ef2e77f12a53e0ebddd37055c9355944d83b0f4495403210389a1f7 +ℹ️ INFO: kind: 24242 +ℹ️ INFO: created_at: 1755695114 +🔍 STEP SERVER-5: Detailed pubkey analysis +ℹ️ INFO: Pubkey: 79be667ef9dcbbac55a" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:05:14 [debug] 620893#620893: *6 recv: eof:0, avail:0 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http upstream request: "/upload?" +2025/08/20 09:05:14 [debug] 620893#620893: *6 http upstream dummy handler +2025/08/20 09:05:14 [debug] 620893#620893: timer delta: 0 +2025/08/20 09:05:14 [debug] 620893#620893: worker cycle +2025/08/20 09:05:14 [debug] 620893#620893: epoll timer: 59998 +2025/08/20 09:05:14 [debug] 620893#620893: epoll: fd:10 ev:2005 d:00007580040B02C9 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http upstream request: "/upload?" +2025/08/20 09:05:14 [debug] 620893#620893: *6 http upstream process header +2025/08/20 09:05:14 [debug] 620893#620893: *6 recv: eof:1, avail:-1 +2025/08/20 09:05:14 [debug] 620893#620893: *6 recv: fd:10 1416 of 4096 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record byte: 01 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record byte: 07 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record byte: 00 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record byte: 01 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record byte: 01 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record byte: F8 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record byte: 00 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record byte: 00 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record length: 504 +2025/08/20 09:05:14 [error] 620893#620893: *6 FastCGI sent in stderr: "06295ce870b07029bfcdb2dce28d959f2815b16f81798 +ℹ️ INFO: Length: ℹ️ INFO: Character analysis (first 10): +7(0x37) 9(0x39) b(0x62) e(0x65) 6(0x36) 6(0x36) 7(0x37) e(0x65) f(0x66) 9(0x39) +🔍 STEP SERVER-6: Pre-validation pubkey analysis +ℹ️ INFO: Pubkey: 79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 +ℹ️ INFO: Length: ℹ️ INFO: Character analysis (first 10): +7(55) 9(57) b(98) e(101) 6(54) 6(54) 7(55) e(101) f(102) 9(57) +ℹ️ INFO: Character val" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record byte: 01 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record byte: 07 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record byte: 00 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record byte: 01 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record byte: 01 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record byte: F8 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record byte: 00 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record byte: 00 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record length: 504 +2025/08/20 09:05:14 [error] 620893#620893: *6 FastCGI sent in stderr: "idation test: +ALL VALID (lowercase hex) +🔍 STEP SERVER-7: Starting detailed validation analysis +ℹ️ INFO: Testing structure validation... +ℹ️ INFO: nostr_validate_event_structure returned: 0 (Success) +✅ SUCCESS: Structure validation PASSED +ℹ️ INFO: Testing cryptographic verification... +ℹ️ INFO: nostr_verify_event_signature returned: -32 (Event has invalid public key) +❌ ERROR: CRYPTO verification failed! +❌ ERROR: Failed pubkey: 79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record byte: 01 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record byte: 07 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record byte: 00 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record byte: 01 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record byte: 00 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record byte: 90 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record byte: 00 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record byte: 00 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record length: 144 +2025/08/20 09:05:14 [error] 620893#620893: *6 FastCGI sent in stderr: "d959f2815b16f81798 (length: AUTH: authenticate_request returned: -32 +LOG: [2025-08-20 09:05:14] PUT /upload - Auth: auth_failed - Status: 401" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record byte: 01 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record byte: 07 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record byte: 00 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record byte: 01 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record byte: 00 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record byte: 00 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record byte: 00 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record byte: 00 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record length: 0 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record byte: 01 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record byte: 06 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record byte: 00 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record byte: 01 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record byte: 00 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record byte: C7 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record byte: 01 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record byte: 00 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record length: 199 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi parser: 0 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi header: "Status: 401 Unauthorized" +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi parser: 0 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi header: "Content-Type: application/json" +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi parser: 1 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi header done +2025/08/20 09:05:14 [debug] 620893#620893: *6 HTTP/1.1 401 Unauthorized +Server: nginx/1.18.0 (Ubuntu) +Date: Wed, 20 Aug 2025 13:05:14 GMT +Content-Type: application/json +Transfer-Encoding: chunked +Connection: keep-alive + +2025/08/20 09:05:14 [debug] 620893#620893: *6 write new buf t:1 f:0 00005FEA676F9808, pos 00005FEA676F9808, size: 181 file: 0, size: 0 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http write filter: l:0 f:0 s:181 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http cacheable: 0 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http upstream process upstream +2025/08/20 09:05:14 [debug] 620893#620893: *6 pipe read upstream: 1 +2025/08/20 09:05:14 [debug] 620893#620893: *6 pipe preread: 164 +2025/08/20 09:05:14 [debug] 620893#620893: *6 readv: eof:1, avail:0 +2025/08/20 09:05:14 [debug] 620893#620893: *6 readv: 1, last:2680 +2025/08/20 09:05:14 [debug] 620893#620893: *6 pipe recv chain: 0 +2025/08/20 09:05:14 [debug] 620893#620893: *6 pipe buf free s:0 t:1 f:0 00005FEA676FA160, pos 00005FEA676FA644, size: 164 file: 0, size: 0 +2025/08/20 09:05:14 [debug] 620893#620893: *6 pipe length: -1 +2025/08/20 09:05:14 [debug] 620893#620893: *6 input buf #0 00005FEA676FA644 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record byte: 01 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record byte: 06 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record byte: 00 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record byte: 01 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record byte: 00 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record byte: 00 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record byte: 00 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record byte: 00 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record length: 0 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi closed stdout +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record byte: 01 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record byte: 03 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record byte: 00 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record byte: 01 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record byte: 00 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record byte: 08 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record byte: 00 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record byte: 00 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi record length: 8 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http fastcgi sent end request +2025/08/20 09:05:14 [debug] 620893#620893: *6 input buf 00005FEA676FA644 139 +2025/08/20 09:05:14 [debug] 620893#620893: *6 pipe write downstream: 1 +2025/08/20 09:05:14 [debug] 620893#620893: *6 pipe write downstream flush in +2025/08/20 09:05:14 [debug] 620893#620893: *6 http output filter "/upload?" +2025/08/20 09:05:14 [debug] 620893#620893: *6 http copy filter: "/upload?" +2025/08/20 09:05:14 [debug] 620893#620893: *6 http postpone filter "/upload?" 00005FEA67705BE0 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http chunk: 139 +2025/08/20 09:05:14 [debug] 620893#620893: *6 write old buf t:1 f:0 00005FEA676F9808, pos 00005FEA676F9808, size: 181 file: 0, size: 0 +2025/08/20 09:05:14 [debug] 620893#620893: *6 write new buf t:1 f:0 00005FEA67705D78, pos 00005FEA67705D78, size: 4 file: 0, size: 0 +2025/08/20 09:05:14 [debug] 620893#620893: *6 write new buf t:1 f:0 00005FEA676FA160, pos 00005FEA676FA644, size: 139 file: 0, size: 0 +2025/08/20 09:05:14 [debug] 620893#620893: *6 write new buf t:0 f:0 0000000000000000, pos 00005FEA4F9DB2E8, size: 2 file: 0, size: 0 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http write filter: l:0 f:0 s:326 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http copy filter: 0 "/upload?" +2025/08/20 09:05:14 [debug] 620893#620893: *6 pipe write downstream done +2025/08/20 09:05:14 [debug] 620893#620893: *6 event timer: 10, old: 261907136, new: 261907138 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http upstream exit: 0000000000000000 +2025/08/20 09:05:14 [debug] 620893#620893: *6 finalize http upstream request: 0 +2025/08/20 09:05:14 [debug] 620893#620893: *6 finalize http fastcgi request +2025/08/20 09:05:14 [debug] 620893#620893: *6 free rr peer 1 0 +2025/08/20 09:05:14 [debug] 620893#620893: *6 close http upstream connection: 10 +2025/08/20 09:05:14 [debug] 620893#620893: *6 free: 00005FEA676D8F20, unused: 48 +2025/08/20 09:05:14 [debug] 620893#620893: *6 event timer del: 10: 261907136 +2025/08/20 09:05:14 [debug] 620893#620893: *6 reusable connection: 0 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http upstream temp fd: -1 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http output filter "/upload?" +2025/08/20 09:05:14 [debug] 620893#620893: *6 http copy filter: "/upload?" +2025/08/20 09:05:14 [debug] 620893#620893: *6 http postpone filter "/upload?" 00007FFE76083920 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http chunk: 0 +2025/08/20 09:05:14 [debug] 620893#620893: *6 write old buf t:1 f:0 00005FEA676F9808, pos 00005FEA676F9808, size: 181 file: 0, size: 0 +2025/08/20 09:05:14 [debug] 620893#620893: *6 write old buf t:1 f:0 00005FEA67705D78, pos 00005FEA67705D78, size: 4 file: 0, size: 0 +2025/08/20 09:05:14 [debug] 620893#620893: *6 write old buf t:1 f:0 00005FEA676FA160, pos 00005FEA676FA644, size: 139 file: 0, size: 0 +2025/08/20 09:05:14 [debug] 620893#620893: *6 write old buf t:0 f:0 0000000000000000, pos 00005FEA4F9DB2E8, size: 2 file: 0, size: 0 +2025/08/20 09:05:14 [debug] 620893#620893: *6 write new buf t:0 f:0 0000000000000000, pos 00005FEA4F9DB2E5, size: 5 file: 0, size: 0 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http write filter: l:1 f:0 s:331 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http write filter limit 0 +2025/08/20 09:05:14 [debug] 620893#620893: *6 writev: 331 of 331 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http write filter 0000000000000000 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http copy filter: 0 "/upload?" +2025/08/20 09:05:14 [debug] 620893#620893: *6 http finalize request: 0, "/upload?" a:1, c:1 +2025/08/20 09:05:14 [debug] 620893#620893: *6 set http keepalive handler +2025/08/20 09:05:14 [debug] 620893#620893: *6 http close request +2025/08/20 09:05:14 [debug] 620893#620893: *6 http log handler +2025/08/20 09:05:14 [debug] 620893#620893: *6 free: 00005FEA676FA160 +2025/08/20 09:05:14 [debug] 620893#620893: *6 free: 00005FEA6770EA30, unused: 3 +2025/08/20 09:05:14 [debug] 620893#620893: *6 free: 00005FEA67704DA0, unused: 0 +2025/08/20 09:05:14 [debug] 620893#620893: *6 free: 00005FEA676F9150, unused: 1250 +2025/08/20 09:05:14 [debug] 620893#620893: *6 free: 00005FEA676F20A0 +2025/08/20 09:05:14 [debug] 620893#620893: *6 hc free: 0000000000000000 +2025/08/20 09:05:14 [debug] 620893#620893: *6 hc busy: 0000000000000000 0 +2025/08/20 09:05:14 [debug] 620893#620893: *6 tcp_nodelay +2025/08/20 09:05:14 [debug] 620893#620893: *6 reusable connection: 1 +2025/08/20 09:05:14 [debug] 620893#620893: *6 event timer add: 6: 65000:261912138 +2025/08/20 09:05:14 [debug] 620893#620893: *6 post event 00005FEA67740770 +2025/08/20 09:05:14 [debug] 620893#620893: timer delta: 0 +2025/08/20 09:05:14 [debug] 620893#620893: posted event 00005FEA67740770 +2025/08/20 09:05:14 [debug] 620893#620893: *6 delete posted event 00005FEA67740770 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http keepalive handler +2025/08/20 09:05:14 [debug] 620893#620893: *6 malloc: 00005FEA676F20A0:1024 +2025/08/20 09:05:14 [debug] 620893#620893: *6 recv: eof:0, avail:0 +2025/08/20 09:05:14 [debug] 620893#620893: *6 free: 00005FEA676F20A0 +2025/08/20 09:05:14 [debug] 620893#620893: worker cycle +2025/08/20 09:05:14 [debug] 620893#620893: epoll timer: 65000 +2025/08/20 09:05:14 [debug] 620893#620893: epoll: fd:6 ev:2005 d:00007580040B01E0 +2025/08/20 09:05:14 [debug] 620893#620893: *6 http keepalive handler +2025/08/20 09:05:14 [debug] 620893#620893: *6 malloc: 00005FEA676F20A0:1024 +2025/08/20 09:05:14 [debug] 620893#620893: *6 recv: eof:1, avail:-1 +2025/08/20 09:05:14 [debug] 620893#620893: *6 recv: fd:6 0 of 1024 +2025/08/20 09:05:14 [info] 620893#620893: *6 client 127.0.0.1 closed keepalive connection +2025/08/20 09:05:14 [debug] 620893#620893: *6 close http connection: 6 +2025/08/20 09:05:14 [debug] 620893#620893: *6 event timer del: 6: 261912138 +2025/08/20 09:05:14 [debug] 620893#620893: *6 reusable connection: 0 +2025/08/20 09:05:14 [debug] 620893#620893: *6 free: 00005FEA676F20A0 +2025/08/20 09:05:14 [debug] 620893#620893: *6 free: 00005FEA676EF840, unused: 120 +2025/08/20 09:05:14 [debug] 620893#620893: timer delta: 1 +2025/08/20 09:05:14 [debug] 620893#620893: worker cycle +2025/08/20 09:05:14 [debug] 620893#620893: epoll timer: -1 +2025/08/20 09:05:14 [debug] 620893#620893: epoll: fd:5 ev:0001 d:00007580040B0010 +2025/08/20 09:05:14 [debug] 620893#620893: accept on 0.0.0.0:9001, ready: 0 +2025/08/20 09:05:14 [debug] 620893#620893: posix_memalign: 00005FEA676EF840:512 @16 +2025/08/20 09:05:14 [debug] 620893#620893: *8 accept: 127.0.0.1:44934 fd:6 +2025/08/20 09:05:14 [debug] 620893#620893: *8 event timer add: 6: 60000:261907150 +2025/08/20 09:05:14 [debug] 620893#620893: *8 reusable connection: 1 +2025/08/20 09:05:14 [debug] 620893#620893: *8 epoll add event: fd:6 op:1 ev:80002001 +2025/08/20 09:05:14 [debug] 620893#620893: timer delta: 11 +2025/08/20 09:05:14 [debug] 620893#620893: worker cycle +2025/08/20 09:05:14 [debug] 620893#620893: epoll timer: 60000 +2025/08/20 09:05:14 [debug] 620893#620893: epoll: fd:6 ev:0001 d:00007580040B01E1 +2025/08/20 09:05:14 [debug] 620893#620893: *8 http wait request handler +2025/08/20 09:05:14 [debug] 620893#620893: *8 malloc: 00005FEA676F20A0:1024 +2025/08/20 09:05:14 [debug] 620893#620893: *8 recv: eof:0, avail:-1 +2025/08/20 09:05:14 [debug] 620893#620893: *8 recv: fd:6 142 of 1024 +2025/08/20 09:05:14 [debug] 620893#620893: *8 reusable connection: 0 +2025/08/20 09:05:14 [debug] 620893#620893: *8 posix_memalign: 00005FEA6770EA30:4096 @16 +2025/08/20 09:05:14 [debug] 620893#620893: *8 http process request line +2025/08/20 09:05:14 [debug] 620893#620893: *8 http request line: "GET /92bf39ce2ecfa788d8b5d97c65d99cc7a16f05d317df40cf7c824db55d861ee4 HTTP/1.1" +2025/08/20 09:05:14 [debug] 620893#620893: *8 http uri: "/92bf39ce2ecfa788d8b5d97c65d99cc7a16f05d317df40cf7c824db55d861ee4" +2025/08/20 09:05:14 [debug] 620893#620893: *8 http args: "" +2025/08/20 09:05:14 [debug] 620893#620893: *8 http exten: "" +2025/08/20 09:05:14 [debug] 620893#620893: *8 posix_memalign: 00005FEA67704DA0:4096 @16 +2025/08/20 09:05:14 [debug] 620893#620893: *8 http process request header line +2025/08/20 09:05:14 [debug] 620893#620893: *8 http header: "Host: localhost:9001" +2025/08/20 09:05:14 [debug] 620893#620893: *8 http header: "User-Agent: curl/8.15.0" +2025/08/20 09:05:14 [debug] 620893#620893: *8 http header: "Accept: */*" +2025/08/20 09:05:14 [debug] 620893#620893: *8 http header done +2025/08/20 09:05:14 [debug] 620893#620893: *8 event timer del: 6: 261907150 +2025/08/20 09:05:14 [debug] 620893#620893: *8 generic phase: 0 +2025/08/20 09:05:14 [debug] 620893#620893: *8 rewrite phase: 1 +2025/08/20 09:05:14 [debug] 620893#620893: *8 test location: "/health" +2025/08/20 09:05:14 [debug] 620893#620893: *8 test location: "/debug/list" +2025/08/20 09:05:14 [debug] 620893#620893: *8 test location: "/" +2025/08/20 09:05:14 [debug] 620893#620893: *8 test location: ~ "^/([a-f0-9]{64}).*$" +2025/08/20 09:05:14 [debug] 620893#620893: *8 using configuration "^/([a-f0-9]{64}).*$" +2025/08/20 09:05:14 [debug] 620893#620893: *8 http cl:-1 max:104857600 +2025/08/20 09:05:14 [debug] 620893#620893: *8 rewrite phase: 3 +2025/08/20 09:05:14 [debug] 620893#620893: *8 http script var +2025/08/20 09:05:14 [debug] 620893#620893: *8 http script var: "GET" +2025/08/20 09:05:14 [debug] 620893#620893: *8 http script value: "DELETE" +2025/08/20 09:05:14 [debug] 620893#620893: *8 http script not equal +2025/08/20 09:05:14 [debug] 620893#620893: *8 http script if +2025/08/20 09:05:14 [debug] 620893#620893: *8 http finalize request: 404, "/92bf39ce2ecfa788d8b5d97c65d99cc7a16f05d317df40cf7c824db55d861ee4?" a:1, c:1 +2025/08/20 09:05:14 [debug] 620893#620893: *8 http special response: 404, "/92bf39ce2ecfa788d8b5d97c65d99cc7a16f05d317df40cf7c824db55d861ee4?" +2025/08/20 09:05:14 [debug] 620893#620893: *8 http set discard body +2025/08/20 09:05:14 [debug] 620893#620893: *8 HTTP/1.1 404 Not Found +Server: nginx/1.18.0 (Ubuntu) +Date: Wed, 20 Aug 2025 13:05:14 GMT +Content-Type: text/html +Content-Length: 162 +Connection: keep-alive + +2025/08/20 09:05:14 [debug] 620893#620893: *8 write new buf t:1 f:0 00005FEA67705180, pos 00005FEA67705180, size: 164 file: 0, size: 0 +2025/08/20 09:05:14 [debug] 620893#620893: *8 http write filter: l:0 f:0 s:164 +2025/08/20 09:05:14 [debug] 620893#620893: *8 http output filter "/92bf39ce2ecfa788d8b5d97c65d99cc7a16f05d317df40cf7c824db55d861ee4?" +2025/08/20 09:05:14 [debug] 620893#620893: *8 http copy filter: "/92bf39ce2ecfa788d8b5d97c65d99cc7a16f05d317df40cf7c824db55d861ee4?" +2025/08/20 09:05:14 [debug] 620893#620893: *8 http postpone filter "/92bf39ce2ecfa788d8b5d97c65d99cc7a16f05d317df40cf7c824db55d861ee4?" 00005FEA67705310 +2025/08/20 09:05:14 [debug] 620893#620893: *8 write old buf t:1 f:0 00005FEA67705180, pos 00005FEA67705180, size: 164 file: 0, size: 0 +2025/08/20 09:05:14 [debug] 620893#620893: *8 write new buf t:0 f:0 0000000000000000, pos 00005FEA4FA1A580, size: 100 file: 0, size: 0 +2025/08/20 09:05:14 [debug] 620893#620893: *8 write new buf t:0 f:0 0000000000000000, pos 00005FEA4FA1AC80, size: 62 file: 0, size: 0 +2025/08/20 09:05:14 [debug] 620893#620893: *8 http write filter: l:1 f:0 s:326 +2025/08/20 09:05:14 [debug] 620893#620893: *8 http write filter limit 0 +2025/08/20 09:05:14 [debug] 620893#620893: *8 writev: 326 of 326 +2025/08/20 09:05:14 [debug] 620893#620893: *8 http write filter 0000000000000000 +2025/08/20 09:05:14 [debug] 620893#620893: *8 http copy filter: 0 "/92bf39ce2ecfa788d8b5d97c65d99cc7a16f05d317df40cf7c824db55d861ee4?" +2025/08/20 09:05:14 [debug] 620893#620893: *8 http finalize request: 0, "/92bf39ce2ecfa788d8b5d97c65d99cc7a16f05d317df40cf7c824db55d861ee4?" a:1, c:1 +2025/08/20 09:05:14 [debug] 620893#620893: *8 set http keepalive handler +2025/08/20 09:05:14 [debug] 620893#620893: *8 http close request +2025/08/20 09:05:14 [debug] 620893#620893: *8 http log handler +2025/08/20 09:05:14 [debug] 620893#620893: *8 free: 00005FEA6770EA30, unused: 0 +2025/08/20 09:05:14 [debug] 620893#620893: *8 free: 00005FEA67704DA0, unused: 2456 +2025/08/20 09:05:14 [debug] 620893#620893: *8 free: 00005FEA676F20A0 +2025/08/20 09:05:14 [debug] 620893#620893: *8 hc free: 0000000000000000 +2025/08/20 09:05:14 [debug] 620893#620893: *8 hc busy: 0000000000000000 0 +2025/08/20 09:05:14 [debug] 620893#620893: *8 tcp_nodelay +2025/08/20 09:05:14 [debug] 620893#620893: *8 reusable connection: 1 +2025/08/20 09:05:14 [debug] 620893#620893: *8 event timer add: 6: 65000:261912150 +2025/08/20 09:05:14 [debug] 620893#620893: timer delta: 0 +2025/08/20 09:05:14 [debug] 620893#620893: worker cycle +2025/08/20 09:05:14 [debug] 620893#620893: epoll timer: 65000 +2025/08/20 09:05:14 [debug] 620893#620893: epoll: fd:6 ev:2001 d:00007580040B01E1 +2025/08/20 09:05:14 [debug] 620893#620893: *8 http keepalive handler +2025/08/20 09:05:14 [debug] 620893#620893: *8 malloc: 00005FEA676F20A0:1024 +2025/08/20 09:05:14 [debug] 620893#620893: *8 recv: eof:1, avail:-1 +2025/08/20 09:05:14 [debug] 620893#620893: *8 recv: fd:6 0 of 1024 +2025/08/20 09:05:14 [info] 620893#620893: *8 client 127.0.0.1 closed keepalive connection +2025/08/20 09:05:14 [debug] 620893#620893: *8 close http connection: 6 +2025/08/20 09:05:14 [debug] 620893#620893: *8 event timer del: 6: 261912150 +2025/08/20 09:05:14 [debug] 620893#620893: *8 reusable connection: 0 +2025/08/20 09:05:14 [debug] 620893#620893: *8 free: 00005FEA676F20A0 +2025/08/20 09:05:14 [debug] 620893#620893: *8 free: 00005FEA676EF840, unused: 136 +2025/08/20 09:05:14 [debug] 620893#620893: timer delta: 1 +2025/08/20 09:05:14 [debug] 620893#620893: worker cycle +2025/08/20 09:05:14 [debug] 620893#620893: epoll timer: -1 +2025/08/20 09:05:46 [debug] 620893#620893: epoll: fd:5 ev:0001 d:00007580040B0010 +2025/08/20 09:05:46 [debug] 620893#620893: accept on 0.0.0.0:9001, ready: 0 +2025/08/20 09:05:46 [debug] 620893#620893: posix_memalign: 00005FEA676EF840:512 @16 +2025/08/20 09:05:46 [debug] 620893#620893: *9 accept: 127.0.0.1:55810 fd:6 +2025/08/20 09:05:46 [debug] 620893#620893: *9 event timer add: 6: 60000:261939606 +2025/08/20 09:05:46 [debug] 620893#620893: *9 reusable connection: 1 +2025/08/20 09:05:46 [debug] 620893#620893: *9 epoll add event: fd:6 op:1 ev:80002001 +2025/08/20 09:05:46 [debug] 620893#620893: timer delta: 32455 +2025/08/20 09:05:46 [debug] 620893#620893: worker cycle +2025/08/20 09:05:46 [debug] 620893#620893: epoll timer: 60000 +2025/08/20 09:05:46 [debug] 620893#620893: epoll: fd:6 ev:0001 d:00007580040B01E0 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http wait request handler +2025/08/20 09:05:46 [debug] 620893#620893: *9 malloc: 00005FEA676F20A0:1024 +2025/08/20 09:05:46 [debug] 620893#620893: *9 recv: eof:0, avail:-1 +2025/08/20 09:05:46 [debug] 620893#620893: *9 recv: fd:6 777 of 1024 +2025/08/20 09:05:46 [debug] 620893#620893: *9 reusable connection: 0 +2025/08/20 09:05:46 [debug] 620893#620893: *9 posix_memalign: 00005FEA6770EA30:4096 @16 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http process request line +2025/08/20 09:05:46 [debug] 620893#620893: *9 http request line: "PUT /upload HTTP/1.1" +2025/08/20 09:05:46 [debug] 620893#620893: *9 http uri: "/upload" +2025/08/20 09:05:46 [debug] 620893#620893: *9 http args: "" +2025/08/20 09:05:46 [debug] 620893#620893: *9 http exten: "" +2025/08/20 09:05:46 [debug] 620893#620893: *9 posix_memalign: 00005FEA67704DA0:4096 @16 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http process request header line +2025/08/20 09:05:46 [debug] 620893#620893: *9 http header: "Host: localhost:9001" +2025/08/20 09:05:46 [debug] 620893#620893: *9 http header: "User-Agent: curl/8.15.0" +2025/08/20 09:05:46 [debug] 620893#620893: *9 http header: "Accept: */*" +2025/08/20 09:05:46 [debug] 620893#620893: *9 http header: "Content-Type: text/plain" +2025/08/20 09:05:46 [debug] 620893#620893: *9 http header: "Authorization: Nostr eyJraW5kIjoyNDI0MiwiaWQiOiIzYmRjMzUwZmM2ZDM3Njk0YzQyNjJkNWNhMWRiZTQzNjE5ZGM0MmE4NTFjMDVkYmQ3NzJmZWY3NTU5MGJmYTMxIiwicHVia2V5IjoiNzliZTY2N2VmOWRjYmJhYzU1YTA2Mjk1Y2U4NzBiMDcwMjliZmNkYjJkY2UyOGQ5NTlmMjgxNWIxNmY4MTc5OCIsImNyZWF0ZWRfYXQiOjE3NTU2OTUxMTQsInRhZ3MiOltbInQiLCJ1cGxvYWQiXSxbIngiLCI5MmJmMzljZTJlY2ZhNzg4ZDhiNWQ5N2M2NWQ5OWNjN2ExNmYwNWQzMTdkZjQwY2Y3YzgyNGRiNTVkODYxZWU0Il0sWyJleHBpcmF0aW9uIiwiMTc1NTY5ODcxMyJdXSwiY29udGVudCI6IiIsInNpZyI6IjdlYzYwNjUwNTFkZDhkMmM1NDU2MTI1NzBkMzNkNTcwMjM2YWQ2NTA0ZjlkMjg1ZTMwZjZmOGZhZTcyNjc2MjFjZTg3NDRkZDllZjJlNzdmMTJhNTNlMGViZGRkMzcwNTVjOTM1NTk0NGQ4M2IwZjQ0OTU0MDMyMTAzODlhMWY3In0K" +2025/08/20 09:05:46 [debug] 620893#620893: *9 http header: "Content-Length: 9" +2025/08/20 09:05:46 [debug] 620893#620893: *9 http header done +2025/08/20 09:05:46 [debug] 620893#620893: *9 event timer del: 6: 261939606 +2025/08/20 09:05:46 [debug] 620893#620893: *9 generic phase: 0 +2025/08/20 09:05:46 [debug] 620893#620893: *9 rewrite phase: 1 +2025/08/20 09:05:46 [debug] 620893#620893: *9 test location: "/health" +2025/08/20 09:05:46 [debug] 620893#620893: *9 test location: "/upload" +2025/08/20 09:05:46 [debug] 620893#620893: *9 test location: ~ "^/([a-f0-9]{64}).*$" +2025/08/20 09:05:46 [debug] 620893#620893: *9 test location: ~ "^/([a-f0-9]{64})(\.[a-zA-Z0-9]+)?$" +2025/08/20 09:05:46 [debug] 620893#620893: *9 test location: ~ "^/fcgi-head/([a-f0-9]{64}).*$" +2025/08/20 09:05:46 [debug] 620893#620893: *9 test location: ~ "^/list/([a-f0-9]{64}).*$" +2025/08/20 09:05:46 [debug] 620893#620893: *9 using configuration "/upload" +2025/08/20 09:05:46 [debug] 620893#620893: *9 http cl:9 max:104857600 +2025/08/20 09:05:46 [debug] 620893#620893: *9 rewrite phase: 3 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http script var +2025/08/20 09:05:46 [debug] 620893#620893: *9 http script var: "PUT" +2025/08/20 09:05:46 [debug] 620893#620893: *9 http script regex: "^(PUT)$" +2025/08/20 09:05:46 [notice] 620893#620893: *9 "^(PUT)$" matches "PUT", client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", host: "localhost:9001" +2025/08/20 09:05:46 [debug] 620893#620893: *9 http script if +2025/08/20 09:05:46 [debug] 620893#620893: *9 http script if: false +2025/08/20 09:05:46 [debug] 620893#620893: *9 post rewrite phase: 4 +2025/08/20 09:05:46 [debug] 620893#620893: *9 generic phase: 5 +2025/08/20 09:05:46 [debug] 620893#620893: *9 generic phase: 6 +2025/08/20 09:05:46 [debug] 620893#620893: *9 generic phase: 7 +2025/08/20 09:05:46 [debug] 620893#620893: *9 access phase: 8 +2025/08/20 09:05:46 [debug] 620893#620893: *9 access phase: 9 +2025/08/20 09:05:46 [debug] 620893#620893: *9 access phase: 10 +2025/08/20 09:05:46 [debug] 620893#620893: *9 post access phase: 11 +2025/08/20 09:05:46 [debug] 620893#620893: *9 generic phase: 12 +2025/08/20 09:05:46 [debug] 620893#620893: *9 generic phase: 13 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http client request body preread 9 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http request body content length filter +2025/08/20 09:05:46 [debug] 620893#620893: *9 http body new buf t:1 f:0 00005FEA676F23A0, pos 00005FEA676F23A0, size: 9 file: 0, size: 0 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http init upstream, client timer: 0 +2025/08/20 09:05:46 [debug] 620893#620893: *9 epoll add event: fd:6 op:3 ev:80002005 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http script copy: "QUERY_STRING" +2025/08/20 09:05:46 [debug] 620893#620893: *9 fastcgi param: "QUERY_STRING: " +2025/08/20 09:05:46 [debug] 620893#620893: *9 http script copy: "REQUEST_METHOD" +2025/08/20 09:05:46 [debug] 620893#620893: *9 http script var: "PUT" +2025/08/20 09:05:46 [debug] 620893#620893: *9 fastcgi param: "REQUEST_METHOD: PUT" +2025/08/20 09:05:46 [debug] 620893#620893: *9 http script copy: "CONTENT_TYPE" +2025/08/20 09:05:46 [debug] 620893#620893: *9 http script var: "text/plain" +2025/08/20 09:05:46 [debug] 620893#620893: *9 fastcgi param: "CONTENT_TYPE: text/plain" +2025/08/20 09:05:46 [debug] 620893#620893: *9 http script copy: "CONTENT_LENGTH" +2025/08/20 09:05:46 [debug] 620893#620893: *9 http script var: "9" +2025/08/20 09:05:46 [debug] 620893#620893: *9 fastcgi param: "CONTENT_LENGTH: 9" +2025/08/20 09:05:46 [debug] 620893#620893: *9 http script copy: "SCRIPT_NAME" +2025/08/20 09:05:46 [debug] 620893#620893: *9 http script var: "/upload" +2025/08/20 09:05:46 [debug] 620893#620893: *9 fastcgi param: "SCRIPT_NAME: /upload" +2025/08/20 09:05:46 [debug] 620893#620893: *9 http script copy: "REQUEST_URI" +2025/08/20 09:05:46 [debug] 620893#620893: *9 http script var: "/upload" +2025/08/20 09:05:46 [debug] 620893#620893: *9 fastcgi param: "REQUEST_URI: /upload" +2025/08/20 09:05:46 [debug] 620893#620893: *9 http script copy: "DOCUMENT_URI" +2025/08/20 09:05:46 [debug] 620893#620893: *9 http script var: "/upload" +2025/08/20 09:05:46 [debug] 620893#620893: *9 fastcgi param: "DOCUMENT_URI: /upload" +2025/08/20 09:05:46 [debug] 620893#620893: *9 http script copy: "DOCUMENT_ROOT" +2025/08/20 09:05:46 [debug] 620893#620893: *9 http script var: "./blobs" +2025/08/20 09:05:46 [debug] 620893#620893: *9 fastcgi param: "DOCUMENT_ROOT: ./blobs" +2025/08/20 09:05:46 [debug] 620893#620893: *9 http script copy: "SERVER_PROTOCOL" +2025/08/20 09:05:46 [debug] 620893#620893: *9 http script var: "HTTP/1.1" +2025/08/20 09:05:46 [debug] 620893#620893: *9 fastcgi param: "SERVER_PROTOCOL: HTTP/1.1" +2025/08/20 09:05:46 [debug] 620893#620893: *9 http script copy: "REQUEST_SCHEME" +2025/08/20 09:05:46 [debug] 620893#620893: *9 http script var: "http" +2025/08/20 09:05:46 [debug] 620893#620893: *9 fastcgi param: "REQUEST_SCHEME: http" +2025/08/20 09:05:46 [debug] 620893#620893: *9 http script copy: "" +2025/08/20 09:05:46 [debug] 620893#620893: *9 http script copy: "GATEWAY_INTERFACE" +2025/08/20 09:05:46 [debug] 620893#620893: *9 http script copy: "CGI/1.1" +2025/08/20 09:05:46 [debug] 620893#620893: *9 fastcgi param: "GATEWAY_INTERFACE: CGI/1.1" +2025/08/20 09:05:46 [debug] 620893#620893: *9 http script copy: "SERVER_SOFTWARE" +2025/08/20 09:05:46 [debug] 620893#620893: *9 http script copy: "nginx/" +2025/08/20 09:05:46 [debug] 620893#620893: *9 http script var: "1.18.0" +2025/08/20 09:05:46 [debug] 620893#620893: *9 fastcgi param: "SERVER_SOFTWARE: nginx/1.18.0" +2025/08/20 09:05:46 [debug] 620893#620893: *9 http script copy: "REMOTE_ADDR" +2025/08/20 09:05:46 [debug] 620893#620893: *9 http script var: "127.0.0.1" +2025/08/20 09:05:46 [debug] 620893#620893: *9 fastcgi param: "REMOTE_ADDR: 127.0.0.1" +2025/08/20 09:05:46 [debug] 620893#620893: *9 http script copy: "REMOTE_PORT" +2025/08/20 09:05:46 [debug] 620893#620893: *9 http script var: "55810" +2025/08/20 09:05:46 [debug] 620893#620893: *9 fastcgi param: "REMOTE_PORT: 55810" +2025/08/20 09:05:46 [debug] 620893#620893: *9 http script copy: "SERVER_ADDR" +2025/08/20 09:05:46 [debug] 620893#620893: *9 http script var: "127.0.0.1" +2025/08/20 09:05:46 [debug] 620893#620893: *9 fastcgi param: "SERVER_ADDR: 127.0.0.1" +2025/08/20 09:05:46 [debug] 620893#620893: *9 http script copy: "SERVER_PORT" +2025/08/20 09:05:46 [debug] 620893#620893: *9 http script var: "9001" +2025/08/20 09:05:46 [debug] 620893#620893: *9 fastcgi param: "SERVER_PORT: 9001" +2025/08/20 09:05:46 [debug] 620893#620893: *9 http script copy: "SERVER_NAME" +2025/08/20 09:05:46 [debug] 620893#620893: *9 http script var: "localhost" +2025/08/20 09:05:46 [debug] 620893#620893: *9 fastcgi param: "SERVER_NAME: localhost" +2025/08/20 09:05:46 [debug] 620893#620893: *9 http script copy: "REDIRECT_STATUS" +2025/08/20 09:05:46 [debug] 620893#620893: *9 http script copy: "200" +2025/08/20 09:05:46 [debug] 620893#620893: *9 fastcgi param: "REDIRECT_STATUS: 200" +2025/08/20 09:05:46 [debug] 620893#620893: *9 http script copy: "SCRIPT_FILENAME" +2025/08/20 09:05:46 [debug] 620893#620893: *9 http script var: "./blobs" +2025/08/20 09:05:46 [debug] 620893#620893: *9 http script copy: "/ginxsom.fcgi" +2025/08/20 09:05:46 [debug] 620893#620893: *9 fastcgi param: "SCRIPT_FILENAME: ./blobs/ginxsom.fcgi" +2025/08/20 09:05:46 [debug] 620893#620893: *9 fastcgi param: "HTTP_HOST: localhost:9001" +2025/08/20 09:05:46 [debug] 620893#620893: *9 fastcgi param: "HTTP_USER_AGENT: curl/8.15.0" +2025/08/20 09:05:46 [debug] 620893#620893: *9 fastcgi param: "HTTP_ACCEPT: */*" +2025/08/20 09:05:46 [debug] 620893#620893: *9 fastcgi param: "HTTP_CONTENT_TYPE: text/plain" +2025/08/20 09:05:46 [debug] 620893#620893: *9 fastcgi param: "HTTP_AUTHORIZATION: Nostr eyJraW5kIjoyNDI0MiwiaWQiOiIzYmRjMzUwZmM2ZDM3Njk0YzQyNjJkNWNhMWRiZTQzNjE5ZGM0MmE4NTFjMDVkYmQ3NzJmZWY3NTU5MGJmYTMxIiwicHVia2V5IjoiNzliZTY2N2VmOWRjYmJhYzU1YTA2Mjk1Y2U4NzBiMDcwMjliZmNkYjJkY2UyOGQ5NTlmMjgxNWIxNmY4MTc5OCIsImNyZWF0ZWRfYXQiOjE3NTU2OTUxMTQsInRhZ3MiOltbInQiLCJ1cGxvYWQiXSxbIngiLCI5MmJmMzljZTJlY2ZhNzg4ZDhiNWQ5N2M2NWQ5OWNjN2ExNmYwNWQzMTdkZjQwY2Y3YzgyNGRiNTVkODYxZWU0Il0sWyJleHBpcmF0aW9uIiwiMTc1NTY5ODcxMyJdXSwiY29udGVudCI6IiIsInNpZyI6IjdlYzYwNjUwNTFkZDhkMmM1NDU2MTI1NzBkMzNkNTcwMjM2YWQ2NTA0ZjlkMjg1ZTMwZjZmOGZhZTcyNjc2MjFjZTg3NDRkZDllZjJlNzdmMTJhNTNlMGViZGRkMzcwNTVjOTM1NTk0NGQ4M2IwZjQ0OTU0MDMyMTAzODlhMWY3In0K" +2025/08/20 09:05:46 [debug] 620893#620893: *9 fastcgi param: "HTTP_CONTENT_LENGTH: 9" +2025/08/20 09:05:46 [debug] 620893#620893: *9 posix_memalign: 00005FEA676F9150:4096 @16 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http cleanup add: 00005FEA67705D88 +2025/08/20 09:05:46 [debug] 620893#620893: *9 get rr peer, try: 1 +2025/08/20 09:05:46 [debug] 620893#620893: *9 stream socket 10 +2025/08/20 09:05:46 [debug] 620893#620893: *9 epoll add connection: fd:10 ev:80002005 +2025/08/20 09:05:46 [debug] 620893#620893: *9 connect to unix:/tmp/ginxsom-fcgi.sock, fd:10 #10 +2025/08/20 09:05:46 [debug] 620893#620893: *9 connected +2025/08/20 09:05:46 [debug] 620893#620893: *9 http upstream connect: 0 +2025/08/20 09:05:46 [debug] 620893#620893: *9 posix_memalign: 00005FEA676D8F20:128 @16 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http upstream send request +2025/08/20 09:05:46 [debug] 620893#620893: *9 http upstream send request body +2025/08/20 09:05:46 [debug] 620893#620893: *9 chain writer buf fl:0 s:1224 +2025/08/20 09:05:46 [debug] 620893#620893: *9 chain writer buf fl:0 s:9 +2025/08/20 09:05:46 [debug] 620893#620893: *9 chain writer buf fl:0 s:15 +2025/08/20 09:05:46 [debug] 620893#620893: *9 chain writer in: 00005FEA676F9288 +2025/08/20 09:05:46 [debug] 620893#620893: *9 writev: 1248 of 1248 +2025/08/20 09:05:46 [debug] 620893#620893: *9 chain writer out: 0000000000000000 +2025/08/20 09:05:46 [debug] 620893#620893: *9 event timer add: 10: 60000:261939606 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http finalize request: -4, "/upload?" a:1, c:2 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http request count:2 blk:0 +2025/08/20 09:05:46 [debug] 620893#620893: timer delta: 0 +2025/08/20 09:05:46 [debug] 620893#620893: worker cycle +2025/08/20 09:05:46 [debug] 620893#620893: epoll timer: 60000 +2025/08/20 09:05:46 [debug] 620893#620893: epoll: fd:6 ev:0004 d:00007580040B01E0 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http run request: "/upload?" +2025/08/20 09:05:46 [debug] 620893#620893: *9 http upstream check client, write event:1, "/upload" +2025/08/20 09:05:46 [debug] 620893#620893: epoll: fd:10 ev:0004 d:00007580040B02C8 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http upstream request: "/upload?" +2025/08/20 09:05:46 [debug] 620893#620893: *9 http upstream dummy handler +2025/08/20 09:05:46 [debug] 620893#620893: timer delta: 2 +2025/08/20 09:05:46 [debug] 620893#620893: worker cycle +2025/08/20 09:05:46 [debug] 620893#620893: epoll timer: 59998 +2025/08/20 09:05:46 [debug] 620893#620893: epoll: fd:10 ev:0005 d:00007580040B02C8 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http upstream request: "/upload?" +2025/08/20 09:05:46 [debug] 620893#620893: *9 http upstream process header +2025/08/20 09:05:46 [debug] 620893#620893: *9 malloc: 00005FEA676FA160:4096 +2025/08/20 09:05:46 [debug] 620893#620893: *9 recv: eof:0, avail:-1 +2025/08/20 09:05:46 [debug] 620893#620893: *9 recv: fd:10 3072 of 4096 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi record byte: 01 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi record byte: 07 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi record byte: 00 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi record byte: 01 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi record byte: 01 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi record byte: F8 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi record byte: 00 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi record byte: 00 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi record length: 504 +2025/08/20 09:05:46 [error] 620893#620893: *9 FastCGI sent in stderr: "DEBUG: FastCGI received request +DEBUG: METHOD=PUT, URI=/upload +ENTRY: Entering handle_upload_request() function +DEBUG: handle_upload_request called +LOG: [2025-08-20 09:05:46] PUT /upload - Auth: pending - Status: 0 +DEBUG: content_type=text/plain +DEBUG: content_length=9 +DEBUG: Raw Authorization header: Nostr eyJraW5kIjoyNDI0MiwiaWQiOiIzYmRjMzUwZmM2ZDM3Njk0YzQyNjJkNWNhMWRiZTQzNjE5ZGM0MmE4NTFjMDVkYmQ3NzJmZWY3NTU5MGJmYTMxIiwicHVia2V5IjoiNzliZTY2N2VmOWRjYmJhYzU1YTA2Mjk1Y2U4NzBiMDcwMjliZmNkYjJkY2Uy" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi record byte: 01 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi record byte: 07 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi record byte: 00 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi record byte: 01 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi record byte: 01 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi record byte: F8 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi record byte: 00 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi record byte: 00 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi record length: 504 +2025/08/20 09:05:46 [error] 620893#620893: *9 FastCGI sent in stderr: "OGQ5NTlmMjgxNWIxNmY4MTc5OCIsImNyZWF0ZWRfYXQiOjE3NTU2OTUxMTQsInRhZ3MiOltbInQiLCJ1cGxvYWQiXSxbIngiLCI5MmJmMzljZTJlY2ZhNzg4ZDhiNWQ5N2M2NWQ5OWNjN2ExNmYwNWQzMTdkZjQwY2Y3YzgyNGRiNTVkODYxZWU0Il0sWyJleHBpcmF0aW9uIiwiMTc1NTY5ODcxMyJdXSwiY29udGVudCI6IiIsInNpZyI6IjdlYzYwNjUwNTFkZDhkMmM1NDU2MTI1NzBkMzNkNTcwMjM2YWQ2NTA0ZjlkMjg1ZTMwZjZmOGZhZTcyNjc2MjFjZTg3NDRkZDllZjJlNzdmMTJhNTNlMGViZGRkMzcwNTVjOTM1NTk0NGQ4M2IwZjQ0OTU0MDMyMTAzODlhMWY3In0K +LOG: [2025-08-20 09:05:46] PUT /upload - Auth: auth_provided - Status: 0" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi record byte: 01 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi record byte: 07 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi record byte: 00 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi record byte: 01 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi record byte: 01 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi record byte: F8 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi record byte: 00 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi record byte: 00 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi record length: 504 +2025/08/20 09:05:46 [error] 620893#620893: *9 FastCGI sent in stderr: "DEBUG: Successfully read DEBUG-LAAN: DATA TO HASH: test datada +DEBUG-LAAN: Calculated SHA-256: 916f0027a575074ce72a331777c3478d6513f786a591bd892da1a577bf2335f9 +AUTH: About to perform authentication - auth_header present: YES +AUTH: Calling authenticate_request with hash: 916f0027a575074ce72a331777c3478d6513f786a591bd892da1a577bf2335f9 +═════════════════════════════════════════════════════" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi record byte: 01 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi record byte: 07 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi record byte: 00 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi record byte: 01 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi record byte: 01 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi record byte: F8 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi record byte: 00 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi record byte: 00 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi record length: 504 +2025/08/20 09:05:46 [error] 620893#620893: *9 FastCGI sent in stderr: "═════════════ +🔍 STEP SERVER-1: Starting server-style authentication (mirroring test_auth_debug.c) +ℹ️ INFO: Server-style auth called with method: upload, hash: 916f0027a575074ce72a331777c3478d6513f786a591bd892da1a577bf2335f9 +🔍 STEP SERVER-2: Calling parse_authorization_header +DEBUG: parse_authorization_header called with header: Nostr eyJraW5kIjoyNDI0MiwiaWQiOiIzYmRjMzUwZmM2ZDM3... +DEBUG: Extracted base64 event (length=DEBUG: Base64 decode result - decoded_len=DE" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi record byte: 01 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi record byte: 07 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi record byte: 00 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi record byte: 01 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi record byte: 01 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi record byte: F8 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi record byte: 00 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi record byte: 00 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi record length: 504 +2025/08/20 09:05:46 [error] 620893#620893: *9 FastCGI sent in stderr: "BUG: Successfully decoded JSON (length=✅ SUCCESS: parse_authorization_header succeeded +🔍 STEP SERVER-3: Calling cJSON_Parse on JSON string +ℹ️ INFO: JSON to parse: {"kind":24242,"id":"3bdc350fc6d37694c4262d5ca1dbe43619dc42a851c05dbd772fef75590bfa31","pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1755695114,"tags":[["t","upload"],["x","92bf39ce2ecfa788d8b5d97c65d99cc7a16f05d317df40cf7c824db55d861ee4"],["expiration","1755698713"]],"content":"","sig":"" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi record byte: 01 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi record byte: 07 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi record byte: 00 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi record byte: 01 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi record byte: 01 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi record byte: F8 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi record byte: 00 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi record byte: 00 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi record length: 504 +2025/08/20 09:05:46 [error] 620893#620893: *9 FastCGI sent in stderr: "7ec6065051dd8d2c545612570d33d570236ad6504f9d285e30f6f8fae7267621ce8744dd9ef2e77f12a53e0ebddd37055c9355944d83b0f4495403210389a1f7"} + +✅ SUCCESS: cJSON_Parse succeeded, event parsed +ℹ️ INFO: Parsed JSON: { + "kind": 24242, + "id": "3bdc350fc6d37694c4262d5ca1dbe43619dc42a851c05dbd772fef75590bfa31", + "pubkey": "79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798", + "created_at": 1755695114, + "tags": [["t", "upload"], ["x", "92bf39ce2ecfa788d8b5d97c65d99cc7a16f05d317df40cf7c824db55d861ee" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:05:46 [debug] 620893#620893: *9 recv: eof:0, avail:0 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http upstream request: "/upload?" +2025/08/20 09:05:46 [debug] 620893#620893: *9 http upstream dummy handler +2025/08/20 09:05:46 [debug] 620893#620893: timer delta: 0 +2025/08/20 09:05:46 [debug] 620893#620893: worker cycle +2025/08/20 09:05:46 [debug] 620893#620893: epoll timer: 59998 +2025/08/20 09:05:46 [debug] 620893#620893: epoll: fd:10 ev:2005 d:00007580040B02C8 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http upstream request: "/upload?" +2025/08/20 09:05:46 [debug] 620893#620893: *9 http upstream process header +2025/08/20 09:05:46 [debug] 620893#620893: *9 recv: eof:1, avail:-1 +2025/08/20 09:05:46 [debug] 620893#620893: *9 recv: fd:10 2152 of 4096 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi record byte: 01 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi record byte: 07 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi record byte: 00 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi record byte: 01 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi record byte: 01 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi record byte: F8 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi record byte: 00 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi record byte: 00 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi record length: 504 +2025/08/20 09:05:46 [error] 620893#620893: *9 FastCGI sent in stderr: "4"], ["expiration", "1755698713"]], + "content": "", + "sig": "7ec6065051dd8d2c545612570d33d570236ad6504f9d285e30f6f8fae7267621ce8744dd9ef2e77f12a53e0ebddd37055c9355944d83b0f4495403210389a1f7" +} +🔍 STEP SERVER-4: Event fields before validation +ℹ️ INFO: id: 3bdc350fc6d37694c4262d5ca1dbe43619dc42a851c05dbd772fef75590bfa31 +ℹ️ INFO: pubkey: 79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 +ℹ️ INFO: sig: 7ec6065051dd8d2c545612570d33d570236ad6504f9d285e30f6f8fae7267621c" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi record byte: 01 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi record byte: 07 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi record byte: 00 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi record byte: 01 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi record byte: 01 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi record byte: F8 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi record byte: 00 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi record byte: 00 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi record length: 504 +2025/08/20 09:05:46 [error] 620893#620893: *9 FastCGI sent in stderr: "e8744dd9ef2e77f12a53e0ebddd37055c9355944d83b0f4495403210389a1f7 +ℹ️ INFO: kind: 24242 +ℹ️ INFO: created_at: 1755695114 +🔍 STEP SERVER-5: Detailed pubkey analysis +ℹ️ INFO: Pubkey: 79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 +ℹ️ INFO: Length: ℹ️ INFO: Character analysis (first 10): +7(0x37) 9(0x39) b(0x62) e(0x65) 6(0x36) 6(0x36) 7(0x37) e(0x65) f(0x66) 9(0x39) +🔍 STEP SERVER-6: Pre-validation pubkey analysis +ℹ️ INFO: Pubkey: 79be667ef9d" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi record byte: 01 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi record byte: 07 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi record byte: 00 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi record byte: 01 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi record byte: 01 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi record byte: F8 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi record byte: 00 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi record byte: 00 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi record length: 504 +2025/08/20 09:05:46 [error] 620893#620893: *9 FastCGI sent in stderr: "cbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 +ℹ️ INFO: Length: ℹ️ INFO: Character analysis (first 10): +7(55) 9(57) b(98) e(101) 6(54) 6(54) 7(55) e(101) f(102) 9(57) +ℹ️ INFO: Character validation test: +ALL VALID (lowercase hex) +🔍 STEP SERVER-7: Starting detailed validation analysis +ℹ️ INFO: Testing structure validation... +ℹ️ INFO: nostr_validate_event_structure returned: 0 (Success) +✅ SUCCESS: Structure validation PASSED +ℹ️ INFO: Testing cryptograp" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi record byte: 01 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi record byte: 07 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi record byte: 00 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi record byte: 01 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi record byte: 01 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi record byte: 6B +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi record byte: 05 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi record byte: 00 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi record length: 363 +2025/08/20 09:05:46 [error] 620893#620893: *9 FastCGI sent in stderr: "hic verification... +ℹ️ INFO: nostr_verify_event_signature returned: -32 (Event has invalid public key) +❌ ERROR: CRYPTO verification failed! +❌ ERROR: Failed pubkey: 79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 (length: AUTH: authenticate_request returned: -32 +LOG: [2025-08-20 09:05:46] PUT /upload - Auth: auth_failed - Status: 401" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi record byte: 01 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi record byte: 07 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi record byte: 00 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi record byte: 01 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi record byte: 00 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi record byte: 00 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi record byte: 00 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi record byte: 00 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi record length: 0 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi record byte: 01 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi record byte: 06 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi record byte: 00 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi record byte: 01 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi record byte: 00 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi record byte: C7 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi record byte: 01 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi record byte: 00 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi record length: 199 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi parser: 0 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi header: "Status: 401 Unauthorized" +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi parser: 0 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi header: "Content-Type: application/json" +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi parser: 1 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi header done +2025/08/20 09:05:46 [debug] 620893#620893: *9 HTTP/1.1 401 Unauthorized +Server: nginx/1.18.0 (Ubuntu) +Date: Wed, 20 Aug 2025 13:05:46 GMT +Content-Type: application/json +Transfer-Encoding: chunked +Connection: keep-alive + +2025/08/20 09:05:46 [debug] 620893#620893: *9 write new buf t:1 f:0 00005FEA676F9550, pos 00005FEA676F9550, size: 181 file: 0, size: 0 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http write filter: l:0 f:0 s:181 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http cacheable: 0 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http upstream process upstream +2025/08/20 09:05:46 [debug] 620893#620893: *9 pipe read upstream: 1 +2025/08/20 09:05:46 [debug] 620893#620893: *9 pipe preread: 164 +2025/08/20 09:05:46 [debug] 620893#620893: *9 readv: eof:1, avail:0 +2025/08/20 09:05:46 [debug] 620893#620893: *9 readv: 1, last:1944 +2025/08/20 09:05:46 [debug] 620893#620893: *9 pipe recv chain: 0 +2025/08/20 09:05:46 [debug] 620893#620893: *9 pipe buf free s:0 t:1 f:0 00005FEA676FA160, pos 00005FEA676FA924, size: 164 file: 0, size: 0 +2025/08/20 09:05:46 [debug] 620893#620893: *9 pipe length: -1 +2025/08/20 09:05:46 [debug] 620893#620893: *9 input buf #0 00005FEA676FA924 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi record byte: 01 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi record byte: 06 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi record byte: 00 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi record byte: 01 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi record byte: 00 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi record byte: 00 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi record byte: 00 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi record byte: 00 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi record length: 0 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi closed stdout +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi record byte: 01 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi record byte: 03 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi record byte: 00 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi record byte: 01 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi record byte: 00 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi record byte: 08 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi record byte: 00 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi record byte: 00 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi record length: 8 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http fastcgi sent end request +2025/08/20 09:05:46 [debug] 620893#620893: *9 input buf 00005FEA676FA924 139 +2025/08/20 09:05:46 [debug] 620893#620893: *9 pipe write downstream: 1 +2025/08/20 09:05:46 [debug] 620893#620893: *9 pipe write downstream flush in +2025/08/20 09:05:46 [debug] 620893#620893: *9 http output filter "/upload?" +2025/08/20 09:05:46 [debug] 620893#620893: *9 http copy filter: "/upload?" +2025/08/20 09:05:46 [debug] 620893#620893: *9 http postpone filter "/upload?" 00005FEA676F9258 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http chunk: 139 +2025/08/20 09:05:46 [debug] 620893#620893: *9 write old buf t:1 f:0 00005FEA676F9550, pos 00005FEA676F9550, size: 181 file: 0, size: 0 +2025/08/20 09:05:46 [debug] 620893#620893: *9 write new buf t:1 f:0 00005FEA676F9848, pos 00005FEA676F9848, size: 4 file: 0, size: 0 +2025/08/20 09:05:46 [debug] 620893#620893: *9 write new buf t:1 f:0 00005FEA676FA160, pos 00005FEA676FA924, size: 139 file: 0, size: 0 +2025/08/20 09:05:46 [debug] 620893#620893: *9 write new buf t:0 f:0 0000000000000000, pos 00005FEA4F9DB2E8, size: 2 file: 0, size: 0 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http write filter: l:0 f:0 s:326 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http copy filter: 0 "/upload?" +2025/08/20 09:05:46 [debug] 620893#620893: *9 pipe write downstream done +2025/08/20 09:05:46 [debug] 620893#620893: *9 event timer: 10, old: 261939606, new: 261939609 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http upstream exit: 0000000000000000 +2025/08/20 09:05:46 [debug] 620893#620893: *9 finalize http upstream request: 0 +2025/08/20 09:05:46 [debug] 620893#620893: *9 finalize http fastcgi request +2025/08/20 09:05:46 [debug] 620893#620893: *9 free rr peer 1 0 +2025/08/20 09:05:46 [debug] 620893#620893: *9 close http upstream connection: 10 +2025/08/20 09:05:46 [debug] 620893#620893: *9 free: 00005FEA676D8F20, unused: 48 +2025/08/20 09:05:46 [debug] 620893#620893: *9 event timer del: 10: 261939606 +2025/08/20 09:05:46 [debug] 620893#620893: *9 reusable connection: 0 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http upstream temp fd: -1 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http output filter "/upload?" +2025/08/20 09:05:46 [debug] 620893#620893: *9 http copy filter: "/upload?" +2025/08/20 09:05:46 [debug] 620893#620893: *9 http postpone filter "/upload?" 00007FFE76083920 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http chunk: 0 +2025/08/20 09:05:46 [debug] 620893#620893: *9 write old buf t:1 f:0 00005FEA676F9550, pos 00005FEA676F9550, size: 181 file: 0, size: 0 +2025/08/20 09:05:46 [debug] 620893#620893: *9 write old buf t:1 f:0 00005FEA676F9848, pos 00005FEA676F9848, size: 4 file: 0, size: 0 +2025/08/20 09:05:46 [debug] 620893#620893: *9 write old buf t:1 f:0 00005FEA676FA160, pos 00005FEA676FA924, size: 139 file: 0, size: 0 +2025/08/20 09:05:46 [debug] 620893#620893: *9 write old buf t:0 f:0 0000000000000000, pos 00005FEA4F9DB2E8, size: 2 file: 0, size: 0 +2025/08/20 09:05:46 [debug] 620893#620893: *9 write new buf t:0 f:0 0000000000000000, pos 00005FEA4F9DB2E5, size: 5 file: 0, size: 0 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http write filter: l:1 f:0 s:331 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http write filter limit 0 +2025/08/20 09:05:46 [debug] 620893#620893: *9 writev: 331 of 331 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http write filter 0000000000000000 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http copy filter: 0 "/upload?" +2025/08/20 09:05:46 [debug] 620893#620893: *9 http finalize request: 0, "/upload?" a:1, c:1 +2025/08/20 09:05:46 [debug] 620893#620893: *9 set http keepalive handler +2025/08/20 09:05:46 [debug] 620893#620893: *9 http close request +2025/08/20 09:05:46 [debug] 620893#620893: *9 http log handler +2025/08/20 09:05:46 [debug] 620893#620893: *9 free: 00005FEA676FA160 +2025/08/20 09:05:46 [debug] 620893#620893: *9 free: 00005FEA6770EA30, unused: 3 +2025/08/20 09:05:46 [debug] 620893#620893: *9 free: 00005FEA67704DA0, unused: 0 +2025/08/20 09:05:46 [debug] 620893#620893: *9 free: 00005FEA676F9150, unused: 1842 +2025/08/20 09:05:46 [debug] 620893#620893: *9 free: 00005FEA676F20A0 +2025/08/20 09:05:46 [debug] 620893#620893: *9 hc free: 0000000000000000 +2025/08/20 09:05:46 [debug] 620893#620893: *9 hc busy: 0000000000000000 0 +2025/08/20 09:05:46 [debug] 620893#620893: *9 tcp_nodelay +2025/08/20 09:05:46 [debug] 620893#620893: *9 reusable connection: 1 +2025/08/20 09:05:46 [debug] 620893#620893: *9 event timer add: 6: 65000:261944609 +2025/08/20 09:05:46 [debug] 620893#620893: timer delta: 1 +2025/08/20 09:05:46 [debug] 620893#620893: worker cycle +2025/08/20 09:05:46 [debug] 620893#620893: epoll timer: 65000 +2025/08/20 09:05:46 [debug] 620893#620893: epoll: fd:6 ev:2005 d:00007580040B01E0 +2025/08/20 09:05:46 [debug] 620893#620893: *9 http keepalive handler +2025/08/20 09:05:46 [debug] 620893#620893: *9 malloc: 00005FEA676F20A0:1024 +2025/08/20 09:05:46 [debug] 620893#620893: *9 recv: eof:1, avail:-1 +2025/08/20 09:05:46 [debug] 620893#620893: *9 recv: fd:6 0 of 1024 +2025/08/20 09:05:46 [info] 620893#620893: *9 client 127.0.0.1 closed keepalive connection +2025/08/20 09:05:46 [debug] 620893#620893: *9 close http connection: 6 +2025/08/20 09:05:46 [debug] 620893#620893: *9 event timer del: 6: 261944609 +2025/08/20 09:05:46 [debug] 620893#620893: *9 reusable connection: 0 +2025/08/20 09:05:46 [debug] 620893#620893: *9 free: 00005FEA676F20A0 +2025/08/20 09:05:46 [debug] 620893#620893: *9 free: 00005FEA676EF840, unused: 120 +2025/08/20 09:05:46 [debug] 620893#620893: timer delta: 2 +2025/08/20 09:05:46 [debug] 620893#620893: worker cycle +2025/08/20 09:05:46 [debug] 620893#620893: epoll timer: -1 +2025/08/20 09:07:01 [notice] 620892#620892: signal 15 (SIGTERM) received from 621539, exiting +2025/08/20 09:07:01 [debug] 620892#620892: wake up, sigio 0 +2025/08/20 09:07:01 [debug] 620892#620892: child: 0 620893 e:0 t:0 d:0 r:1 j:0 +2025/08/20 09:07:01 [debug] 620892#620892: termination cycle: 50 +2025/08/20 09:07:01 [debug] 620892#620892: sigsuspend +2025/08/20 09:07:01 [debug] 620893#620893: epoll: fd:7 ev:0001 d:00007580040B00F8 +2025/08/20 09:07:01 [debug] 620893#620893: channel handler +2025/08/20 09:07:01 [debug] 620893#620893: channel: 32 +2025/08/20 09:07:01 [debug] 620893#620893: channel command: 4 +2025/08/20 09:07:01 [debug] 620893#620893: channel: -2 +2025/08/20 09:07:01 [debug] 620893#620893: timer delta: 75014 +2025/08/20 09:07:01 [notice] 620893#620893: exiting +2025/08/20 09:07:01 [debug] 620893#620893: flush files +2025/08/20 09:07:01 [debug] 620893#620893: run cleanup: 00005FEA6773DA80 +2025/08/20 09:07:01 [debug] 620893#620893: run cleanup: 00005FEA67730A18 +2025/08/20 09:07:01 [debug] 620893#620893: cleanup resolver +2025/08/20 09:07:01 [debug] 620893#620893: free: 00005FEA6773EDE0 +2025/08/20 09:07:01 [debug] 620893#620893: free: 00005FEA67731BE0 +2025/08/20 09:07:01 [debug] 620893#620893: free: 00005FEA67710B50 +2025/08/20 09:07:01 [debug] 620893#620893: free: 00005FEA6770FA40 +2025/08/20 09:07:01 [debug] 620893#620893: free: 00005FEA67709A10 +2025/08/20 09:07:01 [debug] 620893#620893: free: 00005FEA67708950 +2025/08/20 09:07:01 [debug] 620893#620893: free: 00005FEA67707890 +2025/08/20 09:07:01 [debug] 620893#620893: free: 00005FEA677067D0 +2025/08/20 09:07:01 [debug] 620893#620893: free: 00005FEA676FE170 +2025/08/20 09:07:01 [debug] 620893#620893: free: 00005FEA676F5140, unused: 0 +2025/08/20 09:07:01 [debug] 620893#620893: free: 00005FEA676FF580, unused: 0 +2025/08/20 09:07:01 [debug] 620893#620893: free: 00005FEA6770AA20, unused: 0 +2025/08/20 09:07:01 [debug] 620893#620893: free: 00005FEA67711B60, unused: 0 +2025/08/20 09:07:01 [debug] 620893#620893: free: 00005FEA67715B70, unused: 0 +2025/08/20 09:07:01 [debug] 620893#620893: free: 00005FEA67719B80, unused: 0 +2025/08/20 09:07:01 [debug] 620893#620893: free: 00005FEA6771DB90, unused: 0 +2025/08/20 09:07:01 [debug] 620893#620893: free: 00005FEA67721BA0, unused: 0 +2025/08/20 09:07:01 [debug] 620893#620893: free: 00005FEA67725BB0, unused: 0 +2025/08/20 09:07:01 [debug] 620893#620893: free: 00005FEA67729BC0, unused: 0 +2025/08/20 09:07:01 [debug] 620893#620893: free: 00005FEA6772DBD0, unused: 0 +2025/08/20 09:07:01 [debug] 620893#620893: free: 00005FEA67732DB0, unused: 0 +2025/08/20 09:07:01 [debug] 620893#620893: free: 00005FEA67736DC0, unused: 0 +2025/08/20 09:07:01 [debug] 620893#620893: free: 00005FEA6773ADD0, unused: 4920 +2025/08/20 09:07:01 [notice] 620893#620893: exit +2025/08/20 09:07:01 [notice] 620892#620892: signal 17 (SIGCHLD) received from 620893 +2025/08/20 09:07:01 [notice] 620892#620892: worker process 620893 exited with code 0 +2025/08/20 09:07:01 [debug] 620892#620892: shmtx forced unlock +2025/08/20 09:07:01 [debug] 620892#620892: wake up, sigio 3 +2025/08/20 09:07:01 [debug] 620892#620892: reap children +2025/08/20 09:07:01 [debug] 620892#620892: child: 0 620893 e:1 t:1 d:0 r:1 j:0 +2025/08/20 09:07:01 [notice] 620892#620892: exit +2025/08/20 09:07:01 [debug] 620892#620892: close listening 0.0.0.0:9001 #5 +2025/08/20 09:07:01 [debug] 620892#620892: run cleanup: 00005FEA67730A18 +2025/08/20 09:07:01 [debug] 620892#620892: cleanup resolver +2025/08/20 09:07:01 [debug] 620892#620892: free: 00005FEA6773EDE0 +2025/08/20 09:07:01 [debug] 620892#620892: free: 00005FEA67731BE0 +2025/08/20 09:07:01 [debug] 620892#620892: free: 00005FEA67710B50 +2025/08/20 09:07:01 [debug] 620892#620892: free: 00005FEA6770FA40 +2025/08/20 09:07:01 [debug] 620892#620892: free: 00005FEA67709A10 +2025/08/20 09:07:01 [debug] 620892#620892: free: 00005FEA67708950 +2025/08/20 09:07:01 [debug] 620892#620892: free: 00005FEA67707890 +2025/08/20 09:07:01 [debug] 620892#620892: free: 00005FEA677067D0 +2025/08/20 09:07:01 [debug] 620892#620892: free: 00005FEA676FE170 +2025/08/20 09:07:01 [debug] 620892#620892: free: 00005FEA676F5140, unused: 0 +2025/08/20 09:07:01 [debug] 620892#620892: free: 00005FEA676FF580, unused: 0 +2025/08/20 09:07:01 [debug] 620892#620892: free: 00005FEA6770AA20, unused: 0 +2025/08/20 09:07:01 [debug] 620892#620892: free: 00005FEA67711B60, unused: 0 +2025/08/20 09:07:01 [debug] 620892#620892: free: 00005FEA67715B70, unused: 0 +2025/08/20 09:07:01 [debug] 620892#620892: free: 00005FEA67719B80, unused: 0 +2025/08/20 09:07:01 [debug] 620892#620892: free: 00005FEA6771DB90, unused: 0 +2025/08/20 09:07:01 [debug] 620892#620892: free: 00005FEA67721BA0, unused: 0 +2025/08/20 09:07:01 [debug] 620892#620892: free: 00005FEA67725BB0, unused: 0 +2025/08/20 09:07:01 [debug] 620892#620892: free: 00005FEA67729BC0, unused: 0 +2025/08/20 09:07:01 [debug] 620892#620892: free: 00005FEA6772DBD0, unused: 0 +2025/08/20 09:07:01 [debug] 620892#620892: free: 00005FEA67732DB0, unused: 0 +2025/08/20 09:07:01 [debug] 620892#620892: free: 00005FEA67736DC0, unused: 0 +2025/08/20 09:07:01 [debug] 620892#620892: free: 00005FEA6773ADD0, unused: 4951 +2025/08/20 09:07:41 [debug] 621846#621846: bind() 0.0.0.0:9001 #5 +2025/08/20 09:07:41 [notice] 621846#621846: using the "epoll" event method +2025/08/20 09:07:41 [debug] 621846#621846: counter: 00007C2A154A2080, 1 +2025/08/20 09:07:41 [notice] 621846#621846: nginx/1.18.0 (Ubuntu) +2025/08/20 09:07:41 [notice] 621846#621846: OS: Linux 6.12.10-76061203-generic +2025/08/20 09:07:41 [notice] 621846#621846: getrlimit(RLIMIT_NOFILE): 1048576:1048576 +2025/08/20 09:07:41 [debug] 621847#621846: write: 6, 00007FFFB4789E30, 7, 0 +2025/08/20 09:07:41 [debug] 621847#621847: setproctitle: "nginx: master process nginx -p . -c config/local-nginx.conf" +2025/08/20 09:07:41 [notice] 621847#621847: start worker processes +2025/08/20 09:07:41 [debug] 621847#621847: channel 6:7 +2025/08/20 09:07:41 [notice] 621847#621847: start worker process 621848 +2025/08/20 09:07:41 [debug] 621847#621847: sigsuspend +2025/08/20 09:07:41 [debug] 621848#621848: add cleanup: 00005A8EA5702A80 +2025/08/20 09:07:41 [debug] 621848#621848: malloc: 00005A8EA56B5BD0:8 +2025/08/20 09:07:41 [debug] 621848#621848: notify eventfd: 9 +2025/08/20 09:07:41 [debug] 621848#621848: testing the EPOLLRDHUP flag: success +2025/08/20 09:07:41 [debug] 621848#621848: malloc: 00005A8EA56C8590:6144 +2025/08/20 09:07:41 [debug] 621848#621848: malloc: 00007C2A1529A010:237568 +2025/08/20 09:07:41 [debug] 621848#621848: malloc: 00005A8EA57056B0:98304 +2025/08/20 09:07:41 [debug] 621848#621848: malloc: 00005A8EA571D6C0:98304 +2025/08/20 09:07:41 [debug] 621848#621848: epoll add event: fd:5 op:1 ev:00002001 +2025/08/20 09:07:41 [debug] 621848#621848: epoll add event: fd:7 op:1 ev:00002001 +2025/08/20 09:07:41 [debug] 621848#621848: setproctitle: "nginx: worker process" +2025/08/20 09:07:41 [debug] 621848#621848: worker cycle +2025/08/20 09:07:41 [debug] 621848#621848: epoll timer: -1 +2025/08/20 09:08:02 [debug] 621848#621848: epoll: fd:5 ev:0001 d:00007C2A1529A010 +2025/08/20 09:08:02 [debug] 621848#621848: accept on 0.0.0.0:9001, ready: 0 +2025/08/20 09:08:02 [debug] 621848#621848: posix_memalign: 00005A8EA56B4840:512 @16 +2025/08/20 09:08:02 [debug] 621848#621848: *1 accept: 127.0.0.1:49466 fd:6 +2025/08/20 09:08:02 [debug] 621848#621848: *1 event timer add: 6: 60000:262075928 +2025/08/20 09:08:02 [debug] 621848#621848: *1 reusable connection: 1 +2025/08/20 09:08:02 [debug] 621848#621848: *1 epoll add event: fd:6 op:1 ev:80002001 +2025/08/20 09:08:02 [debug] 621848#621848: timer delta: 21602 +2025/08/20 09:08:02 [debug] 621848#621848: worker cycle +2025/08/20 09:08:02 [debug] 621848#621848: epoll timer: 60000 +2025/08/20 09:08:02 [debug] 621848#621848: epoll: fd:6 ev:0001 d:00007C2A1529A1E0 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http wait request handler +2025/08/20 09:08:02 [debug] 621848#621848: *1 malloc: 00005A8EA56B70A0:1024 +2025/08/20 09:08:02 [debug] 621848#621848: *1 recv: eof:0, avail:-1 +2025/08/20 09:08:02 [debug] 621848#621848: *1 recv: fd:6 777 of 1024 +2025/08/20 09:08:02 [debug] 621848#621848: *1 reusable connection: 0 +2025/08/20 09:08:02 [debug] 621848#621848: *1 posix_memalign: 00005A8EA56D3A30:4096 @16 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http process request line +2025/08/20 09:08:02 [debug] 621848#621848: *1 http request line: "PUT /upload HTTP/1.1" +2025/08/20 09:08:02 [debug] 621848#621848: *1 http uri: "/upload" +2025/08/20 09:08:02 [debug] 621848#621848: *1 http args: "" +2025/08/20 09:08:02 [debug] 621848#621848: *1 http exten: "" +2025/08/20 09:08:02 [debug] 621848#621848: *1 posix_memalign: 00005A8EA56C9DA0:4096 @16 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http process request header line +2025/08/20 09:08:02 [debug] 621848#621848: *1 http header: "Host: localhost:9001" +2025/08/20 09:08:02 [debug] 621848#621848: *1 http header: "User-Agent: curl/8.15.0" +2025/08/20 09:08:02 [debug] 621848#621848: *1 http header: "Accept: */*" +2025/08/20 09:08:02 [debug] 621848#621848: *1 http header: "Content-Type: text/plain" +2025/08/20 09:08:02 [debug] 621848#621848: *1 http header: "Authorization: Nostr eyJraW5kIjoyNDI0MiwiaWQiOiIzYmRjMzUwZmM2ZDM3Njk0YzQyNjJkNWNhMWRiZTQzNjE5ZGM0MmE4NTFjMDVkYmQ3NzJmZWY3NTU5MGJmYTMxIiwicHVia2V5IjoiNzliZTY2N2VmOWRjYmJhYzU1YTA2Mjk1Y2U4NzBiMDcwMjliZmNkYjJkY2UyOGQ5NTlmMjgxNWIxNmY4MTc5OCIsImNyZWF0ZWRfYXQiOjE3NTU2OTUxMTQsInRhZ3MiOltbInQiLCJ1cGxvYWQiXSxbIngiLCI5MmJmMzljZTJlY2ZhNzg4ZDhiNWQ5N2M2NWQ5OWNjN2ExNmYwNWQzMTdkZjQwY2Y3YzgyNGRiNTVkODYxZWU0Il0sWyJleHBpcmF0aW9uIiwiMTc1NTY5ODcxMyJdXSwiY29udGVudCI6IiIsInNpZyI6IjdlYzYwNjUwNTFkZDhkMmM1NDU2MTI1NzBkMzNkNTcwMjM2YWQ2NTA0ZjlkMjg1ZTMwZjZmOGZhZTcyNjc2MjFjZTg3NDRkZDllZjJlNzdmMTJhNTNlMGViZGRkMzcwNTVjOTM1NTk0NGQ4M2IwZjQ0OTU0MDMyMTAzODlhMWY3In0K" +2025/08/20 09:08:02 [debug] 621848#621848: *1 http header: "Content-Length: 9" +2025/08/20 09:08:02 [debug] 621848#621848: *1 http header done +2025/08/20 09:08:02 [debug] 621848#621848: *1 event timer del: 6: 262075928 +2025/08/20 09:08:02 [debug] 621848#621848: *1 generic phase: 0 +2025/08/20 09:08:02 [debug] 621848#621848: *1 rewrite phase: 1 +2025/08/20 09:08:02 [debug] 621848#621848: *1 test location: "/health" +2025/08/20 09:08:02 [debug] 621848#621848: *1 test location: "/upload" +2025/08/20 09:08:02 [debug] 621848#621848: *1 test location: ~ "^/([a-f0-9]{64}).*$" +2025/08/20 09:08:02 [debug] 621848#621848: *1 test location: ~ "^/([a-f0-9]{64})(\.[a-zA-Z0-9]+)?$" +2025/08/20 09:08:02 [debug] 621848#621848: *1 test location: ~ "^/fcgi-head/([a-f0-9]{64}).*$" +2025/08/20 09:08:02 [debug] 621848#621848: *1 test location: ~ "^/list/([a-f0-9]{64}).*$" +2025/08/20 09:08:02 [debug] 621848#621848: *1 using configuration "/upload" +2025/08/20 09:08:02 [debug] 621848#621848: *1 http cl:9 max:104857600 +2025/08/20 09:08:02 [debug] 621848#621848: *1 rewrite phase: 3 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http script var +2025/08/20 09:08:02 [debug] 621848#621848: *1 http script var: "PUT" +2025/08/20 09:08:02 [debug] 621848#621848: *1 http script regex: "^(PUT)$" +2025/08/20 09:08:02 [notice] 621848#621848: *1 "^(PUT)$" matches "PUT", client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", host: "localhost:9001" +2025/08/20 09:08:02 [debug] 621848#621848: *1 http script if +2025/08/20 09:08:02 [debug] 621848#621848: *1 http script if: false +2025/08/20 09:08:02 [debug] 621848#621848: *1 post rewrite phase: 4 +2025/08/20 09:08:02 [debug] 621848#621848: *1 generic phase: 5 +2025/08/20 09:08:02 [debug] 621848#621848: *1 generic phase: 6 +2025/08/20 09:08:02 [debug] 621848#621848: *1 generic phase: 7 +2025/08/20 09:08:02 [debug] 621848#621848: *1 access phase: 8 +2025/08/20 09:08:02 [debug] 621848#621848: *1 access phase: 9 +2025/08/20 09:08:02 [debug] 621848#621848: *1 access phase: 10 +2025/08/20 09:08:02 [debug] 621848#621848: *1 post access phase: 11 +2025/08/20 09:08:02 [debug] 621848#621848: *1 generic phase: 12 +2025/08/20 09:08:02 [debug] 621848#621848: *1 generic phase: 13 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http client request body preread 9 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http request body content length filter +2025/08/20 09:08:02 [debug] 621848#621848: *1 http body new buf t:1 f:0 00005A8EA56B73A0, pos 00005A8EA56B73A0, size: 9 file: 0, size: 0 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http init upstream, client timer: 0 +2025/08/20 09:08:02 [debug] 621848#621848: *1 epoll add event: fd:6 op:3 ev:80002005 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http script copy: "QUERY_STRING" +2025/08/20 09:08:02 [debug] 621848#621848: *1 fastcgi param: "QUERY_STRING: " +2025/08/20 09:08:02 [debug] 621848#621848: *1 http script copy: "REQUEST_METHOD" +2025/08/20 09:08:02 [debug] 621848#621848: *1 http script var: "PUT" +2025/08/20 09:08:02 [debug] 621848#621848: *1 fastcgi param: "REQUEST_METHOD: PUT" +2025/08/20 09:08:02 [debug] 621848#621848: *1 http script copy: "CONTENT_TYPE" +2025/08/20 09:08:02 [debug] 621848#621848: *1 http script var: "text/plain" +2025/08/20 09:08:02 [debug] 621848#621848: *1 fastcgi param: "CONTENT_TYPE: text/plain" +2025/08/20 09:08:02 [debug] 621848#621848: *1 http script copy: "CONTENT_LENGTH" +2025/08/20 09:08:02 [debug] 621848#621848: *1 http script var: "9" +2025/08/20 09:08:02 [debug] 621848#621848: *1 fastcgi param: "CONTENT_LENGTH: 9" +2025/08/20 09:08:02 [debug] 621848#621848: *1 http script copy: "SCRIPT_NAME" +2025/08/20 09:08:02 [debug] 621848#621848: *1 http script var: "/upload" +2025/08/20 09:08:02 [debug] 621848#621848: *1 fastcgi param: "SCRIPT_NAME: /upload" +2025/08/20 09:08:02 [debug] 621848#621848: *1 http script copy: "REQUEST_URI" +2025/08/20 09:08:02 [debug] 621848#621848: *1 http script var: "/upload" +2025/08/20 09:08:02 [debug] 621848#621848: *1 fastcgi param: "REQUEST_URI: /upload" +2025/08/20 09:08:02 [debug] 621848#621848: *1 http script copy: "DOCUMENT_URI" +2025/08/20 09:08:02 [debug] 621848#621848: *1 http script var: "/upload" +2025/08/20 09:08:02 [debug] 621848#621848: *1 fastcgi param: "DOCUMENT_URI: /upload" +2025/08/20 09:08:02 [debug] 621848#621848: *1 http script copy: "DOCUMENT_ROOT" +2025/08/20 09:08:02 [debug] 621848#621848: *1 http script var: "./blobs" +2025/08/20 09:08:02 [debug] 621848#621848: *1 fastcgi param: "DOCUMENT_ROOT: ./blobs" +2025/08/20 09:08:02 [debug] 621848#621848: *1 http script copy: "SERVER_PROTOCOL" +2025/08/20 09:08:02 [debug] 621848#621848: *1 http script var: "HTTP/1.1" +2025/08/20 09:08:02 [debug] 621848#621848: *1 fastcgi param: "SERVER_PROTOCOL: HTTP/1.1" +2025/08/20 09:08:02 [debug] 621848#621848: *1 http script copy: "REQUEST_SCHEME" +2025/08/20 09:08:02 [debug] 621848#621848: *1 http script var: "http" +2025/08/20 09:08:02 [debug] 621848#621848: *1 fastcgi param: "REQUEST_SCHEME: http" +2025/08/20 09:08:02 [debug] 621848#621848: *1 http script copy: "" +2025/08/20 09:08:02 [debug] 621848#621848: *1 http script copy: "GATEWAY_INTERFACE" +2025/08/20 09:08:02 [debug] 621848#621848: *1 http script copy: "CGI/1.1" +2025/08/20 09:08:02 [debug] 621848#621848: *1 fastcgi param: "GATEWAY_INTERFACE: CGI/1.1" +2025/08/20 09:08:02 [debug] 621848#621848: *1 http script copy: "SERVER_SOFTWARE" +2025/08/20 09:08:02 [debug] 621848#621848: *1 http script copy: "nginx/" +2025/08/20 09:08:02 [debug] 621848#621848: *1 http script var: "1.18.0" +2025/08/20 09:08:02 [debug] 621848#621848: *1 fastcgi param: "SERVER_SOFTWARE: nginx/1.18.0" +2025/08/20 09:08:02 [debug] 621848#621848: *1 http script copy: "REMOTE_ADDR" +2025/08/20 09:08:02 [debug] 621848#621848: *1 http script var: "127.0.0.1" +2025/08/20 09:08:02 [debug] 621848#621848: *1 fastcgi param: "REMOTE_ADDR: 127.0.0.1" +2025/08/20 09:08:02 [debug] 621848#621848: *1 http script copy: "REMOTE_PORT" +2025/08/20 09:08:02 [debug] 621848#621848: *1 http script var: "49466" +2025/08/20 09:08:02 [debug] 621848#621848: *1 fastcgi param: "REMOTE_PORT: 49466" +2025/08/20 09:08:02 [debug] 621848#621848: *1 http script copy: "SERVER_ADDR" +2025/08/20 09:08:02 [debug] 621848#621848: *1 http script var: "127.0.0.1" +2025/08/20 09:08:02 [debug] 621848#621848: *1 fastcgi param: "SERVER_ADDR: 127.0.0.1" +2025/08/20 09:08:02 [debug] 621848#621848: *1 http script copy: "SERVER_PORT" +2025/08/20 09:08:02 [debug] 621848#621848: *1 http script var: "9001" +2025/08/20 09:08:02 [debug] 621848#621848: *1 fastcgi param: "SERVER_PORT: 9001" +2025/08/20 09:08:02 [debug] 621848#621848: *1 http script copy: "SERVER_NAME" +2025/08/20 09:08:02 [debug] 621848#621848: *1 http script var: "localhost" +2025/08/20 09:08:02 [debug] 621848#621848: *1 fastcgi param: "SERVER_NAME: localhost" +2025/08/20 09:08:02 [debug] 621848#621848: *1 http script copy: "REDIRECT_STATUS" +2025/08/20 09:08:02 [debug] 621848#621848: *1 http script copy: "200" +2025/08/20 09:08:02 [debug] 621848#621848: *1 fastcgi param: "REDIRECT_STATUS: 200" +2025/08/20 09:08:02 [debug] 621848#621848: *1 http script copy: "SCRIPT_FILENAME" +2025/08/20 09:08:02 [debug] 621848#621848: *1 http script var: "./blobs" +2025/08/20 09:08:02 [debug] 621848#621848: *1 http script copy: "/ginxsom.fcgi" +2025/08/20 09:08:02 [debug] 621848#621848: *1 fastcgi param: "SCRIPT_FILENAME: ./blobs/ginxsom.fcgi" +2025/08/20 09:08:02 [debug] 621848#621848: *1 fastcgi param: "HTTP_HOST: localhost:9001" +2025/08/20 09:08:02 [debug] 621848#621848: *1 fastcgi param: "HTTP_USER_AGENT: curl/8.15.0" +2025/08/20 09:08:02 [debug] 621848#621848: *1 fastcgi param: "HTTP_ACCEPT: */*" +2025/08/20 09:08:02 [debug] 621848#621848: *1 fastcgi param: "HTTP_CONTENT_TYPE: text/plain" +2025/08/20 09:08:02 [debug] 621848#621848: *1 fastcgi param: "HTTP_AUTHORIZATION: Nostr eyJraW5kIjoyNDI0MiwiaWQiOiIzYmRjMzUwZmM2ZDM3Njk0YzQyNjJkNWNhMWRiZTQzNjE5ZGM0MmE4NTFjMDVkYmQ3NzJmZWY3NTU5MGJmYTMxIiwicHVia2V5IjoiNzliZTY2N2VmOWRjYmJhYzU1YTA2Mjk1Y2U4NzBiMDcwMjliZmNkYjJkY2UyOGQ5NTlmMjgxNWIxNmY4MTc5OCIsImNyZWF0ZWRfYXQiOjE3NTU2OTUxMTQsInRhZ3MiOltbInQiLCJ1cGxvYWQiXSxbIngiLCI5MmJmMzljZTJlY2ZhNzg4ZDhiNWQ5N2M2NWQ5OWNjN2ExNmYwNWQzMTdkZjQwY2Y3YzgyNGRiNTVkODYxZWU0Il0sWyJleHBpcmF0aW9uIiwiMTc1NTY5ODcxMyJdXSwiY29udGVudCI6IiIsInNpZyI6IjdlYzYwNjUwNTFkZDhkMmM1NDU2MTI1NzBkMzNkNTcwMjM2YWQ2NTA0ZjlkMjg1ZTMwZjZmOGZhZTcyNjc2MjFjZTg3NDRkZDllZjJlNzdmMTJhNTNlMGViZGRkMzcwNTVjOTM1NTk0NGQ4M2IwZjQ0OTU0MDMyMTAzODlhMWY3In0K" +2025/08/20 09:08:02 [debug] 621848#621848: *1 fastcgi param: "HTTP_CONTENT_LENGTH: 9" +2025/08/20 09:08:02 [debug] 621848#621848: *1 posix_memalign: 00005A8EA56BE150:4096 @16 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http cleanup add: 00005A8EA56CAD88 +2025/08/20 09:08:02 [debug] 621848#621848: *1 get rr peer, try: 1 +2025/08/20 09:08:02 [debug] 621848#621848: *1 stream socket 10 +2025/08/20 09:08:02 [debug] 621848#621848: *1 epoll add connection: fd:10 ev:80002005 +2025/08/20 09:08:02 [debug] 621848#621848: *1 connect to unix:/tmp/ginxsom-fcgi.sock, fd:10 #2 +2025/08/20 09:08:02 [debug] 621848#621848: *1 connected +2025/08/20 09:08:02 [debug] 621848#621848: *1 http upstream connect: 0 +2025/08/20 09:08:02 [debug] 621848#621848: *1 posix_memalign: 00005A8EA569DF20:128 @16 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http upstream send request +2025/08/20 09:08:02 [debug] 621848#621848: *1 http upstream send request body +2025/08/20 09:08:02 [debug] 621848#621848: *1 chain writer buf fl:0 s:1224 +2025/08/20 09:08:02 [debug] 621848#621848: *1 chain writer buf fl:0 s:9 +2025/08/20 09:08:02 [debug] 621848#621848: *1 chain writer buf fl:0 s:15 +2025/08/20 09:08:02 [debug] 621848#621848: *1 chain writer in: 00005A8EA56BE288 +2025/08/20 09:08:02 [debug] 621848#621848: *1 writev: 1248 of 1248 +2025/08/20 09:08:02 [debug] 621848#621848: *1 chain writer out: 0000000000000000 +2025/08/20 09:08:02 [debug] 621848#621848: *1 event timer add: 10: 60000:262075929 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http finalize request: -4, "/upload?" a:1, c:2 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http request count:2 blk:0 +2025/08/20 09:08:02 [debug] 621848#621848: timer delta: 1 +2025/08/20 09:08:02 [debug] 621848#621848: worker cycle +2025/08/20 09:08:02 [debug] 621848#621848: epoll timer: 60000 +2025/08/20 09:08:02 [debug] 621848#621848: epoll: fd:6 ev:0004 d:00007C2A1529A1E0 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http run request: "/upload?" +2025/08/20 09:08:02 [debug] 621848#621848: *1 http upstream check client, write event:1, "/upload" +2025/08/20 09:08:02 [debug] 621848#621848: epoll: fd:10 ev:0004 d:00007C2A1529A2C8 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http upstream request: "/upload?" +2025/08/20 09:08:02 [debug] 621848#621848: *1 http upstream dummy handler +2025/08/20 09:08:02 [debug] 621848#621848: timer delta: 1 +2025/08/20 09:08:02 [debug] 621848#621848: worker cycle +2025/08/20 09:08:02 [debug] 621848#621848: epoll timer: 59999 +2025/08/20 09:08:02 [debug] 621848#621848: epoll: fd:10 ev:0005 d:00007C2A1529A2C8 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http upstream request: "/upload?" +2025/08/20 09:08:02 [debug] 621848#621848: *1 http upstream process header +2025/08/20 09:08:02 [debug] 621848#621848: *1 malloc: 00005A8EA56BF160:4096 +2025/08/20 09:08:02 [debug] 621848#621848: *1 recv: eof:0, avail:-1 +2025/08/20 09:08:02 [debug] 621848#621848: *1 recv: fd:10 2560 of 4096 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi record byte: 01 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi record byte: 07 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi record byte: 00 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi record byte: 01 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi record byte: 01 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi record byte: F8 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi record byte: 00 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi record byte: 00 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi record length: 504 +2025/08/20 09:08:02 [error] 621848#621848: *1 FastCGI sent in stderr: "DEBUG: FastCGI received request +DEBUG: METHOD=PUT, URI=/upload +ENTRY: Entering handle_upload_request() function +DEBUG: handle_upload_request called +LOG: [2025-08-20 09:08:02] PUT /upload - Auth: pending - Status: 0 +DEBUG: content_type=text/plain +DEBUG: content_length=9 +DEBUG: Raw Authorization header: Nostr eyJraW5kIjoyNDI0MiwiaWQiOiIzYmRjMzUwZmM2ZDM3Njk0YzQyNjJkNWNhMWRiZTQzNjE5ZGM0MmE4NTFjMDVkYmQ3NzJmZWY3NTU5MGJmYTMxIiwicHVia2V5IjoiNzliZTY2N2VmOWRjYmJhYzU1YTA2Mjk1Y2U4NzBiMDcwMjliZmNkYjJkY2Uy" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi record byte: 01 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi record byte: 07 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi record byte: 00 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi record byte: 01 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi record byte: 01 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi record byte: F8 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi record byte: 00 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi record byte: 00 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi record length: 504 +2025/08/20 09:08:02 [error] 621848#621848: *1 FastCGI sent in stderr: "OGQ5NTlmMjgxNWIxNmY4MTc5OCIsImNyZWF0ZWRfYXQiOjE3NTU2OTUxMTQsInRhZ3MiOltbInQiLCJ1cGxvYWQiXSxbIngiLCI5MmJmMzljZTJlY2ZhNzg4ZDhiNWQ5N2M2NWQ5OWNjN2ExNmYwNWQzMTdkZjQwY2Y3YzgyNGRiNTVkODYxZWU0Il0sWyJleHBpcmF0aW9uIiwiMTc1NTY5ODcxMyJdXSwiY29udGVudCI6IiIsInNpZyI6IjdlYzYwNjUwNTFkZDhkMmM1NDU2MTI1NzBkMzNkNTcwMjM2YWQ2NTA0ZjlkMjg1ZTMwZjZmOGZhZTcyNjc2MjFjZTg3NDRkZDllZjJlNzdmMTJhNTNlMGViZGRkMzcwNTVjOTM1NTk0NGQ4M2IwZjQ0OTU0MDMyMTAzODlhMWY3In0K +LOG: [2025-08-20 09:08:02] PUT /upload - Auth: auth_provided - Status: 0" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi record byte: 01 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi record byte: 07 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi record byte: 00 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi record byte: 01 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi record byte: 01 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi record byte: F8 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi record byte: 00 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi record byte: 00 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi record length: 504 +2025/08/20 09:08:02 [error] 621848#621848: *1 FastCGI sent in stderr: "DEBUG: Successfully read DEBUG-LAAN: DATA TO HASH: test dataX| +DEBUG-LAAN: Calculated SHA-256: 916f0027a575074ce72a331777c3478d6513f786a591bd892da1a577bf2335f9 +AUTH: About to perform authentication - auth_header present: YES +AUTH: Calling authenticate_request with hash: 916f0027a575074ce72a331777c3478d6513f786a591bd892da1a577bf2335f9 +═════════════════════════════════════════════════════" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi record byte: 01 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi record byte: 07 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi record byte: 00 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi record byte: 01 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi record byte: 01 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi record byte: F8 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi record byte: 00 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi record byte: 00 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi record length: 504 +2025/08/20 09:08:02 [error] 621848#621848: *1 FastCGI sent in stderr: "═════════════ +🔍 STEP SERVER-1: Starting server-style authentication (mirroring test_auth_debug.c) +ℹ️ INFO: Server-style auth called with method: upload, hash: 916f0027a575074ce72a331777c3478d6513f786a591bd892da1a577bf2335f9 +🔍 STEP SERVER-2: Calling parse_authorization_header +DEBUG: parse_authorization_header called with header: Nostr eyJraW5kIjoyNDI0MiwiaWQiOiIzYmRjMzUwZmM2ZDM3... +DEBUG: Extracted base64 event (length=DEBUG: Base64 decode result - decoded_len=DE" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi record byte: 01 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi record byte: 07 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi record byte: 00 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi record byte: 01 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi record byte: 01 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi record byte: F8 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi record byte: 00 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi record byte: 00 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi record length: 504 +2025/08/20 09:08:02 [error] 621848#621848: *1 FastCGI sent in stderr: "BUG: Successfully decoded JSON (length=✅ SUCCESS: parse_authorization_header succeeded +🔍 STEP SERVER-3: Calling cJSON_Parse on JSON string +ℹ️ INFO: JSON to parse: {"kind":24242,"id":"3bdc350fc6d37694c4262d5ca1dbe43619dc42a851c05dbd772fef75590bfa31","pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1755695114,"tags":[["t","upload"],["x","92bf39ce2ecfa788d8b5d97c65d99cc7a16f05d317df40cf7c824db55d861ee4"],["expiration","1755698713"]],"content":"","sig":"" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:08:02 [debug] 621848#621848: *1 recv: eof:0, avail:0 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http upstream request: "/upload?" +2025/08/20 09:08:02 [debug] 621848#621848: *1 http upstream dummy handler +2025/08/20 09:08:02 [debug] 621848#621848: timer delta: 0 +2025/08/20 09:08:02 [debug] 621848#621848: worker cycle +2025/08/20 09:08:02 [debug] 621848#621848: epoll timer: 59999 +2025/08/20 09:08:02 [debug] 621848#621848: epoll: fd:10 ev:2005 d:00007C2A1529A2C8 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http upstream request: "/upload?" +2025/08/20 09:08:02 [debug] 621848#621848: *1 http upstream process header +2025/08/20 09:08:02 [debug] 621848#621848: *1 recv: eof:1, avail:-1 +2025/08/20 09:08:02 [debug] 621848#621848: *1 recv: fd:10 2664 of 4096 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi record byte: 01 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi record byte: 07 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi record byte: 00 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi record byte: 01 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi record byte: 01 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi record byte: F8 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi record byte: 00 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi record byte: 00 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi record length: 504 +2025/08/20 09:08:02 [error] 621848#621848: *1 FastCGI sent in stderr: "7ec6065051dd8d2c545612570d33d570236ad6504f9d285e30f6f8fae7267621ce8744dd9ef2e77f12a53e0ebddd37055c9355944d83b0f4495403210389a1f7"} + +✅ SUCCESS: cJSON_Parse succeeded, event parsed +ℹ️ INFO: Parsed JSON: { + "kind": 24242, + "id": "3bdc350fc6d37694c4262d5ca1dbe43619dc42a851c05dbd772fef75590bfa31", + "pubkey": "79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798", + "created_at": 1755695114, + "tags": [["t", "upload"], ["x", "92bf39ce2ecfa788d8b5d97c65d99cc7a16f05d317df40cf7c824db55d861ee" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi record byte: 01 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi record byte: 07 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi record byte: 00 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi record byte: 01 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi record byte: 01 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi record byte: F8 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi record byte: 00 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi record byte: 00 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi record length: 504 +2025/08/20 09:08:02 [error] 621848#621848: *1 FastCGI sent in stderr: "4"], ["expiration", "1755698713"]], + "content": "", + "sig": "7ec6065051dd8d2c545612570d33d570236ad6504f9d285e30f6f8fae7267621ce8744dd9ef2e77f12a53e0ebddd37055c9355944d83b0f4495403210389a1f7" +} +🔍 STEP SERVER-4: Event fields before validation +ℹ️ INFO: id: 3bdc350fc6d37694c4262d5ca1dbe43619dc42a851c05dbd772fef75590bfa31 +ℹ️ INFO: pubkey: 79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 +ℹ️ INFO: sig: 7ec6065051dd8d2c545612570d33d570236ad6504f9d285e30f6f8fae7267621c" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi record byte: 01 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi record byte: 07 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi record byte: 00 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi record byte: 01 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi record byte: 01 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi record byte: F8 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi record byte: 00 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi record byte: 00 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi record length: 504 +2025/08/20 09:08:02 [error] 621848#621848: *1 FastCGI sent in stderr: "e8744dd9ef2e77f12a53e0ebddd37055c9355944d83b0f4495403210389a1f7 +ℹ️ INFO: kind: 24242 +ℹ️ INFO: created_at: 1755695114 +🔍 STEP SERVER-5: Detailed pubkey analysis +ℹ️ INFO: Pubkey: 79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 +ℹ️ INFO: Length: ℹ️ INFO: Character analysis (first 10): +7(0x37) 9(0x39) b(0x62) e(0x65) 6(0x36) 6(0x36) 7(0x37) e(0x65) f(0x66) 9(0x39) +🔍 STEP SERVER-6: Pre-validation pubkey analysis +ℹ️ INFO: Pubkey: 79be667ef9d" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi record byte: 01 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi record byte: 07 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi record byte: 00 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi record byte: 01 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi record byte: 01 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi record byte: F8 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi record byte: 00 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi record byte: 00 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi record length: 504 +2025/08/20 09:08:02 [error] 621848#621848: *1 FastCGI sent in stderr: "cbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 +ℹ️ INFO: Length: ℹ️ INFO: Character analysis (first 10): +7(55) 9(57) b(98) e(101) 6(54) 6(54) 7(55) e(101) f(102) 9(57) +ℹ️ INFO: Character validation test: +ALL VALID (lowercase hex) +🔍 STEP SERVER-7: Starting detailed validation analysis +ℹ️ INFO: Testing structure validation... +ℹ️ INFO: nostr_validate_event_structure returned: 0 (Success) +✅ SUCCESS: Structure validation PASSED +ℹ️ INFO: Testing cryptograp" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi record byte: 01 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi record byte: 07 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi record byte: 00 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi record byte: 01 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi record byte: 01 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi record byte: 6B +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi record byte: 05 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi record byte: 00 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi record length: 363 +2025/08/20 09:08:02 [error] 621848#621848: *1 FastCGI sent in stderr: "hic verification... +ℹ️ INFO: nostr_verify_event_signature returned: -32 (Event has invalid public key) +❌ ERROR: CRYPTO verification failed! +❌ ERROR: Failed pubkey: 79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 (length: AUTH: authenticate_request returned: -32 +LOG: [2025-08-20 09:08:02] PUT /upload - Auth: auth_failed - Status: 401" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi record byte: 01 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi record byte: 07 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi record byte: 00 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi record byte: 01 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi record byte: 00 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi record byte: 00 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi record byte: 00 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi record byte: 00 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi record length: 0 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi record byte: 01 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi record byte: 06 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi record byte: 00 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi record byte: 01 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi record byte: 00 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi record byte: C7 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi record byte: 01 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi record byte: 00 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi record length: 199 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi parser: 0 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi header: "Status: 401 Unauthorized" +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi parser: 0 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi header: "Content-Type: application/json" +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi parser: 1 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi header done +2025/08/20 09:08:02 [debug] 621848#621848: *1 HTTP/1.1 401 Unauthorized +Server: nginx/1.18.0 (Ubuntu) +Date: Wed, 20 Aug 2025 13:08:02 GMT +Content-Type: application/json +Transfer-Encoding: chunked +Connection: keep-alive + +2025/08/20 09:08:02 [debug] 621848#621848: *1 write new buf t:1 f:0 00005A8EA56BE550, pos 00005A8EA56BE550, size: 181 file: 0, size: 0 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http write filter: l:0 f:0 s:181 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http cacheable: 0 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http upstream process upstream +2025/08/20 09:08:02 [debug] 621848#621848: *1 pipe read upstream: 1 +2025/08/20 09:08:02 [debug] 621848#621848: *1 pipe preread: 164 +2025/08/20 09:08:02 [debug] 621848#621848: *1 readv: eof:1, avail:0 +2025/08/20 09:08:02 [debug] 621848#621848: *1 readv: 1, last:1432 +2025/08/20 09:08:02 [debug] 621848#621848: *1 pipe recv chain: 0 +2025/08/20 09:08:02 [debug] 621848#621848: *1 pipe buf free s:0 t:1 f:0 00005A8EA56BF160, pos 00005A8EA56BFB24, size: 164 file: 0, size: 0 +2025/08/20 09:08:02 [debug] 621848#621848: *1 pipe length: -1 +2025/08/20 09:08:02 [debug] 621848#621848: *1 input buf #0 00005A8EA56BFB24 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi record byte: 01 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi record byte: 06 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi record byte: 00 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi record byte: 01 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi record byte: 00 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi record byte: 00 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi record byte: 00 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi record byte: 00 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi record length: 0 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi closed stdout +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi record byte: 01 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi record byte: 03 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi record byte: 00 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi record byte: 01 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi record byte: 00 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi record byte: 08 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi record byte: 00 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi record byte: 00 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi record length: 8 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http fastcgi sent end request +2025/08/20 09:08:02 [debug] 621848#621848: *1 input buf 00005A8EA56BFB24 139 +2025/08/20 09:08:02 [debug] 621848#621848: *1 pipe write downstream: 1 +2025/08/20 09:08:02 [debug] 621848#621848: *1 pipe write downstream flush in +2025/08/20 09:08:02 [debug] 621848#621848: *1 http output filter "/upload?" +2025/08/20 09:08:02 [debug] 621848#621848: *1 http copy filter: "/upload?" +2025/08/20 09:08:02 [debug] 621848#621848: *1 http postpone filter "/upload?" 00005A8EA56BE258 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http chunk: 139 +2025/08/20 09:08:02 [debug] 621848#621848: *1 write old buf t:1 f:0 00005A8EA56BE550, pos 00005A8EA56BE550, size: 181 file: 0, size: 0 +2025/08/20 09:08:02 [debug] 621848#621848: *1 write new buf t:1 f:0 00005A8EA56BE848, pos 00005A8EA56BE848, size: 4 file: 0, size: 0 +2025/08/20 09:08:02 [debug] 621848#621848: *1 write new buf t:1 f:0 00005A8EA56BF160, pos 00005A8EA56BFB24, size: 139 file: 0, size: 0 +2025/08/20 09:08:02 [debug] 621848#621848: *1 write new buf t:0 f:0 0000000000000000, pos 00005A8E788CB2E8, size: 2 file: 0, size: 0 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http write filter: l:0 f:0 s:326 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http copy filter: 0 "/upload?" +2025/08/20 09:08:02 [debug] 621848#621848: *1 pipe write downstream done +2025/08/20 09:08:02 [debug] 621848#621848: *1 event timer: 10, old: 262075929, new: 262075931 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http upstream exit: 0000000000000000 +2025/08/20 09:08:02 [debug] 621848#621848: *1 finalize http upstream request: 0 +2025/08/20 09:08:02 [debug] 621848#621848: *1 finalize http fastcgi request +2025/08/20 09:08:02 [debug] 621848#621848: *1 free rr peer 1 0 +2025/08/20 09:08:02 [debug] 621848#621848: *1 close http upstream connection: 10 +2025/08/20 09:08:02 [debug] 621848#621848: *1 free: 00005A8EA569DF20, unused: 48 +2025/08/20 09:08:02 [debug] 621848#621848: *1 event timer del: 10: 262075929 +2025/08/20 09:08:02 [debug] 621848#621848: *1 reusable connection: 0 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http upstream temp fd: -1 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http output filter "/upload?" +2025/08/20 09:08:02 [debug] 621848#621848: *1 http copy filter: "/upload?" +2025/08/20 09:08:02 [debug] 621848#621848: *1 http postpone filter "/upload?" 00007FFFB4789A70 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http chunk: 0 +2025/08/20 09:08:02 [debug] 621848#621848: *1 write old buf t:1 f:0 00005A8EA56BE550, pos 00005A8EA56BE550, size: 181 file: 0, size: 0 +2025/08/20 09:08:02 [debug] 621848#621848: *1 write old buf t:1 f:0 00005A8EA56BE848, pos 00005A8EA56BE848, size: 4 file: 0, size: 0 +2025/08/20 09:08:02 [debug] 621848#621848: *1 write old buf t:1 f:0 00005A8EA56BF160, pos 00005A8EA56BFB24, size: 139 file: 0, size: 0 +2025/08/20 09:08:02 [debug] 621848#621848: *1 write old buf t:0 f:0 0000000000000000, pos 00005A8E788CB2E8, size: 2 file: 0, size: 0 +2025/08/20 09:08:02 [debug] 621848#621848: *1 write new buf t:0 f:0 0000000000000000, pos 00005A8E788CB2E5, size: 5 file: 0, size: 0 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http write filter: l:1 f:0 s:331 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http write filter limit 0 +2025/08/20 09:08:02 [debug] 621848#621848: *1 writev: 331 of 331 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http write filter 0000000000000000 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http copy filter: 0 "/upload?" +2025/08/20 09:08:02 [debug] 621848#621848: *1 http finalize request: 0, "/upload?" a:1, c:1 +2025/08/20 09:08:02 [debug] 621848#621848: *1 set http keepalive handler +2025/08/20 09:08:02 [debug] 621848#621848: *1 http close request +2025/08/20 09:08:02 [debug] 621848#621848: *1 http log handler +2025/08/20 09:08:02 [debug] 621848#621848: *1 free: 00005A8EA56BF160 +2025/08/20 09:08:02 [debug] 621848#621848: *1 free: 00005A8EA56D3A30, unused: 3 +2025/08/20 09:08:02 [debug] 621848#621848: *1 free: 00005A8EA56C9DA0, unused: 0 +2025/08/20 09:08:02 [debug] 621848#621848: *1 free: 00005A8EA56BE150, unused: 1842 +2025/08/20 09:08:02 [debug] 621848#621848: *1 free: 00005A8EA56B70A0 +2025/08/20 09:08:02 [debug] 621848#621848: *1 hc free: 0000000000000000 +2025/08/20 09:08:02 [debug] 621848#621848: *1 hc busy: 0000000000000000 0 +2025/08/20 09:08:02 [debug] 621848#621848: *1 tcp_nodelay +2025/08/20 09:08:02 [debug] 621848#621848: *1 reusable connection: 1 +2025/08/20 09:08:02 [debug] 621848#621848: *1 event timer add: 6: 65000:262080931 +2025/08/20 09:08:02 [debug] 621848#621848: timer delta: 1 +2025/08/20 09:08:02 [debug] 621848#621848: worker cycle +2025/08/20 09:08:02 [debug] 621848#621848: epoll timer: 65000 +2025/08/20 09:08:02 [debug] 621848#621848: epoll: fd:6 ev:2005 d:00007C2A1529A1E0 +2025/08/20 09:08:02 [debug] 621848#621848: *1 http keepalive handler +2025/08/20 09:08:02 [debug] 621848#621848: *1 malloc: 00005A8EA56B70A0:1024 +2025/08/20 09:08:02 [debug] 621848#621848: *1 recv: eof:1, avail:-1 +2025/08/20 09:08:02 [debug] 621848#621848: *1 recv: fd:6 0 of 1024 +2025/08/20 09:08:02 [info] 621848#621848: *1 client 127.0.0.1 closed keepalive connection +2025/08/20 09:08:02 [debug] 621848#621848: *1 close http connection: 6 +2025/08/20 09:08:02 [debug] 621848#621848: *1 event timer del: 6: 262080931 +2025/08/20 09:08:02 [debug] 621848#621848: *1 reusable connection: 0 +2025/08/20 09:08:02 [debug] 621848#621848: *1 free: 00005A8EA56B70A0 +2025/08/20 09:08:02 [debug] 621848#621848: *1 free: 00005A8EA56B4840, unused: 120 +2025/08/20 09:08:02 [debug] 621848#621848: timer delta: 1 +2025/08/20 09:08:02 [debug] 621848#621848: worker cycle +2025/08/20 09:08:02 [debug] 621848#621848: epoll timer: -1 +2025/08/20 09:10:35 [debug] 622124#622124: bind() 0.0.0.0:9001 #5 +2025/08/20 09:10:35 [emerg] 622124#622124: bind() to 0.0.0.0:9001 failed (98: Unknown error) +2025/08/20 09:10:35 [notice] 622124#622124: try again to bind() after 500ms +2025/08/20 09:10:35 [debug] 622124#622124: bind() 0.0.0.0:9001 #5 +2025/08/20 09:10:35 [emerg] 622124#622124: bind() to 0.0.0.0:9001 failed (98: Unknown error) +2025/08/20 09:10:35 [notice] 622124#622124: try again to bind() after 500ms +2025/08/20 09:10:35 [debug] 622124#622124: bind() 0.0.0.0:9001 #5 +2025/08/20 09:10:35 [emerg] 622124#622124: bind() to 0.0.0.0:9001 failed (98: Unknown error) +2025/08/20 09:10:35 [notice] 622124#622124: try again to bind() after 500ms +2025/08/20 09:10:35 [debug] 622124#622124: bind() 0.0.0.0:9001 #5 +2025/08/20 09:10:35 [emerg] 622124#622124: bind() to 0.0.0.0:9001 failed (98: Unknown error) +2025/08/20 09:10:35 [notice] 622124#622124: try again to bind() after 500ms +2025/08/20 09:10:35 [debug] 622124#622124: bind() 0.0.0.0:9001 #5 +2025/08/20 09:10:35 [emerg] 622124#622124: bind() to 0.0.0.0:9001 failed (98: Unknown error) +2025/08/20 09:10:35 [notice] 622124#622124: try again to bind() after 500ms +2025/08/20 09:10:35 [emerg] 622124#622124: still could not bind() +2025/08/20 09:10:50 [notice] 621848#621848: signal 15 (SIGTERM) received from 622163, exiting +2025/08/20 09:10:50 [notice] 621847#621847: signal 15 (SIGTERM) received from 622163, exiting +2025/08/20 09:10:50 [info] 621848#621848: epoll_wait() failed (4: Interrupted system call) +2025/08/20 09:10:50 [debug] 621848#621848: timer delta: 167629 +2025/08/20 09:10:50 [notice] 621848#621848: exiting +2025/08/20 09:10:50 [debug] 621848#621848: flush files +2025/08/20 09:10:50 [debug] 621847#621847: wake up, sigio 0 +2025/08/20 09:10:50 [debug] 621848#621848: run cleanup: 00005A8EA5702A80 +2025/08/20 09:10:50 [debug] 621847#621847: child: 0 621848 e:0 t:0 d:0 r:1 j:0 +2025/08/20 09:10:50 [debug] 621848#621848: run cleanup: 00005A8EA56F5A18 +2025/08/20 09:10:50 [debug] 621848#621848: cleanup resolver +2025/08/20 09:10:50 [debug] 621847#621847: termination cycle: 50 +2025/08/20 09:10:50 [debug] 621848#621848: free: 00005A8EA5703DE0 +2025/08/20 09:10:50 [debug] 621847#621847: sigsuspend +2025/08/20 09:10:50 [debug] 621848#621848: free: 00005A8EA56F6BE0 +2025/08/20 09:10:50 [debug] 621848#621848: free: 00005A8EA56D5B50 +2025/08/20 09:10:50 [debug] 621848#621848: free: 00005A8EA56D4A40 +2025/08/20 09:10:50 [debug] 621848#621848: free: 00005A8EA56CEA10 +2025/08/20 09:10:50 [debug] 621848#621848: free: 00005A8EA56CD950 +2025/08/20 09:10:50 [debug] 621848#621848: free: 00005A8EA56CC890 +2025/08/20 09:10:50 [debug] 621848#621848: free: 00005A8EA56CB7D0 +2025/08/20 09:10:50 [debug] 621848#621848: free: 00005A8EA56C3170 +2025/08/20 09:10:50 [debug] 621848#621848: free: 00005A8EA56BA140, unused: 0 +2025/08/20 09:10:50 [debug] 621848#621848: free: 00005A8EA56C4580, unused: 0 +2025/08/20 09:10:50 [debug] 621848#621848: free: 00005A8EA56CFA20, unused: 0 +2025/08/20 09:10:50 [debug] 621848#621848: free: 00005A8EA56D6B60, unused: 0 +2025/08/20 09:10:50 [debug] 621848#621848: free: 00005A8EA56DAB70, unused: 0 +2025/08/20 09:10:50 [debug] 621848#621848: free: 00005A8EA56DEB80, unused: 0 +2025/08/20 09:10:50 [debug] 621848#621848: free: 00005A8EA56E2B90, unused: 0 +2025/08/20 09:10:50 [debug] 621848#621848: free: 00005A8EA56E6BA0, unused: 0 +2025/08/20 09:10:50 [debug] 621848#621848: free: 00005A8EA56EABB0, unused: 0 +2025/08/20 09:10:50 [debug] 621848#621848: free: 00005A8EA56EEBC0, unused: 0 +2025/08/20 09:10:50 [debug] 621848#621848: free: 00005A8EA56F2BD0, unused: 0 +2025/08/20 09:10:50 [debug] 621848#621848: free: 00005A8EA56F7DB0, unused: 0 +2025/08/20 09:10:50 [debug] 621848#621848: free: 00005A8EA56FBDC0, unused: 0 +2025/08/20 09:10:50 [debug] 621848#621848: free: 00005A8EA56FFDD0, unused: 4920 +2025/08/20 09:10:50 [notice] 621848#621848: exit +2025/08/20 09:10:50 [notice] 621847#621847: signal 17 (SIGCHLD) received from 621848 +2025/08/20 09:10:50 [notice] 621847#621847: worker process 621848 exited with code 0 +2025/08/20 09:10:50 [debug] 621847#621847: shmtx forced unlock +2025/08/20 09:10:50 [debug] 621847#621847: wake up, sigio 3 +2025/08/20 09:10:50 [debug] 621847#621847: reap children +2025/08/20 09:10:50 [debug] 621847#621847: child: 0 621848 e:1 t:1 d:0 r:1 j:0 +2025/08/20 09:10:50 [notice] 621847#621847: exit +2025/08/20 09:10:50 [debug] 621847#621847: close listening 0.0.0.0:9001 #5 +2025/08/20 09:10:50 [debug] 621847#621847: run cleanup: 00005A8EA56F5A18 +2025/08/20 09:10:50 [debug] 621847#621847: cleanup resolver +2025/08/20 09:10:50 [debug] 621847#621847: free: 00005A8EA5703DE0 +2025/08/20 09:10:50 [debug] 621847#621847: free: 00005A8EA56F6BE0 +2025/08/20 09:10:50 [debug] 621847#621847: free: 00005A8EA56D5B50 +2025/08/20 09:10:50 [debug] 621847#621847: free: 00005A8EA56D4A40 +2025/08/20 09:10:50 [debug] 621847#621847: free: 00005A8EA56CEA10 +2025/08/20 09:10:50 [debug] 621847#621847: free: 00005A8EA56CD950 +2025/08/20 09:10:50 [debug] 621847#621847: free: 00005A8EA56CC890 +2025/08/20 09:10:50 [debug] 621847#621847: free: 00005A8EA56CB7D0 +2025/08/20 09:10:50 [debug] 621847#621847: free: 00005A8EA56C3170 +2025/08/20 09:10:50 [debug] 621847#621847: free: 00005A8EA56BA140, unused: 0 +2025/08/20 09:10:50 [debug] 621847#621847: free: 00005A8EA56C4580, unused: 0 +2025/08/20 09:10:50 [debug] 621847#621847: free: 00005A8EA56CFA20, unused: 0 +2025/08/20 09:10:50 [debug] 621847#621847: free: 00005A8EA56D6B60, unused: 0 +2025/08/20 09:10:50 [debug] 621847#621847: free: 00005A8EA56DAB70, unused: 0 +2025/08/20 09:10:50 [debug] 621847#621847: free: 00005A8EA56DEB80, unused: 0 +2025/08/20 09:10:50 [debug] 621847#621847: free: 00005A8EA56E2B90, unused: 0 +2025/08/20 09:10:50 [debug] 621847#621847: free: 00005A8EA56E6BA0, unused: 0 +2025/08/20 09:10:50 [debug] 621847#621847: free: 00005A8EA56EABB0, unused: 0 +2025/08/20 09:10:50 [debug] 621847#621847: free: 00005A8EA56EEBC0, unused: 0 +2025/08/20 09:10:50 [debug] 621847#621847: free: 00005A8EA56F2BD0, unused: 0 +2025/08/20 09:10:50 [debug] 621847#621847: free: 00005A8EA56F7DB0, unused: 0 +2025/08/20 09:10:50 [debug] 621847#621847: free: 00005A8EA56FBDC0, unused: 0 +2025/08/20 09:10:50 [debug] 621847#621847: free: 00005A8EA56FFDD0, unused: 4951 +2025/08/20 09:10:52 [debug] 622181#622181: bind() 0.0.0.0:9001 #5 +2025/08/20 09:10:52 [notice] 622181#622181: using the "epoll" event method +2025/08/20 09:10:52 [debug] 622181#622181: counter: 0000718FB55B6080, 1 +2025/08/20 09:10:52 [notice] 622181#622181: nginx/1.18.0 (Ubuntu) +2025/08/20 09:10:52 [notice] 622181#622181: OS: Linux 6.12.10-76061203-generic +2025/08/20 09:10:52 [notice] 622181#622181: getrlimit(RLIMIT_NOFILE): 1048576:1048576 +2025/08/20 09:10:52 [debug] 622182#622181: write: 6, 00007FFFAF45B5B0, 7, 0 +2025/08/20 09:10:52 [debug] 622182#622182: setproctitle: "nginx: master process nginx -p . -c config/local-nginx.conf" +2025/08/20 09:10:52 [notice] 622182#622182: start worker processes +2025/08/20 09:10:52 [debug] 622182#622182: channel 6:7 +2025/08/20 09:10:52 [notice] 622182#622182: start worker process 622183 +2025/08/20 09:10:52 [debug] 622182#622182: sigsuspend +2025/08/20 09:10:52 [debug] 622183#622183: add cleanup: 000064D666376A80 +2025/08/20 09:10:52 [debug] 622183#622183: malloc: 000064D666329BD0:8 +2025/08/20 09:10:52 [debug] 622183#622183: notify eventfd: 9 +2025/08/20 09:10:52 [debug] 622183#622183: testing the EPOLLRDHUP flag: success +2025/08/20 09:10:52 [debug] 622183#622183: malloc: 000064D66633C590:6144 +2025/08/20 09:10:52 [debug] 622183#622183: malloc: 0000718FB53AE010:237568 +2025/08/20 09:10:52 [debug] 622183#622183: malloc: 000064D6663796B0:98304 +2025/08/20 09:10:52 [debug] 622183#622183: malloc: 000064D6663916C0:98304 +2025/08/20 09:10:52 [debug] 622183#622183: epoll add event: fd:5 op:1 ev:00002001 +2025/08/20 09:10:52 [debug] 622183#622183: epoll add event: fd:7 op:1 ev:00002001 +2025/08/20 09:10:52 [debug] 622183#622183: setproctitle: "nginx: worker process" +2025/08/20 09:10:52 [debug] 622183#622183: worker cycle +2025/08/20 09:10:52 [debug] 622183#622183: epoll timer: -1 +2025/08/20 09:11:48 [debug] 622183#622183: epoll: fd:5 ev:0001 d:0000718FB53AE010 +2025/08/20 09:11:48 [debug] 622183#622183: accept on 0.0.0.0:9001, ready: 0 +2025/08/20 09:11:48 [debug] 622183#622183: posix_memalign: 000064D666328840:512 @16 +2025/08/20 09:11:48 [debug] 622183#622183: *1 accept: 127.0.0.1:55272 fd:6 +2025/08/20 09:11:48 [debug] 622183#622183: *1 event timer add: 6: 60000:262301583 +2025/08/20 09:11:48 [debug] 622183#622183: *1 reusable connection: 1 +2025/08/20 09:11:48 [debug] 622183#622183: *1 epoll add event: fd:6 op:1 ev:80002001 +2025/08/20 09:11:48 [debug] 622183#622183: timer delta: 56010 +2025/08/20 09:11:48 [debug] 622183#622183: worker cycle +2025/08/20 09:11:48 [debug] 622183#622183: epoll timer: 60000 +2025/08/20 09:11:48 [debug] 622183#622183: epoll: fd:6 ev:0001 d:0000718FB53AE1E0 +2025/08/20 09:11:48 [debug] 622183#622183: *1 http wait request handler +2025/08/20 09:11:48 [debug] 622183#622183: *1 malloc: 000064D66632B0A0:1024 +2025/08/20 09:11:48 [debug] 622183#622183: *1 recv: eof:0, avail:-1 +2025/08/20 09:11:48 [debug] 622183#622183: *1 recv: fd:6 133 of 1024 +2025/08/20 09:11:48 [debug] 622183#622183: *1 reusable connection: 0 +2025/08/20 09:11:48 [debug] 622183#622183: *1 posix_memalign: 000064D666347A30:4096 @16 +2025/08/20 09:11:48 [debug] 622183#622183: *1 http process request line +2025/08/20 09:11:48 [debug] 622183#622183: *1 http request line: "PUT /upload HTTP/1.1" +2025/08/20 09:11:48 [debug] 622183#622183: *1 http uri: "/upload" +2025/08/20 09:11:48 [debug] 622183#622183: *1 http args: "" +2025/08/20 09:11:48 [debug] 622183#622183: *1 http exten: "" +2025/08/20 09:11:48 [debug] 622183#622183: *1 posix_memalign: 000064D66633DDA0:4096 @16 +2025/08/20 09:11:48 [debug] 622183#622183: *1 http process request header line +2025/08/20 09:11:48 [debug] 622183#622183: *1 http header: "Host: localhost:9001" +2025/08/20 09:11:48 [debug] 622183#622183: *1 http header: "User-Agent: curl/8.15.0" +2025/08/20 09:11:48 [debug] 622183#622183: *1 http header: "Accept: */*" +2025/08/20 09:11:48 [debug] 622183#622183: *1 http header: "Content-Type: text/plain" +2025/08/20 09:11:48 [debug] 622183#622183: *1 http header: "Content-Length: 4" +2025/08/20 09:11:48 [debug] 622183#622183: *1 http header done +2025/08/20 09:11:48 [debug] 622183#622183: *1 event timer del: 6: 262301583 +2025/08/20 09:11:48 [debug] 622183#622183: *1 generic phase: 0 +2025/08/20 09:11:48 [debug] 622183#622183: *1 rewrite phase: 1 +2025/08/20 09:11:48 [debug] 622183#622183: *1 test location: "/health" +2025/08/20 09:11:48 [debug] 622183#622183: *1 test location: "/upload" +2025/08/20 09:11:48 [debug] 622183#622183: *1 test location: ~ "^/([a-f0-9]{64}).*$" +2025/08/20 09:11:48 [debug] 622183#622183: *1 test location: ~ "^/([a-f0-9]{64})(\.[a-zA-Z0-9]+)?$" +2025/08/20 09:11:48 [debug] 622183#622183: *1 test location: ~ "^/fcgi-head/([a-f0-9]{64}).*$" +2025/08/20 09:11:48 [debug] 622183#622183: *1 test location: ~ "^/list/([a-f0-9]{64}).*$" +2025/08/20 09:11:48 [debug] 622183#622183: *1 using configuration "/upload" +2025/08/20 09:11:48 [debug] 622183#622183: *1 http cl:4 max:104857600 +2025/08/20 09:11:48 [debug] 622183#622183: *1 rewrite phase: 3 +2025/08/20 09:11:48 [debug] 622183#622183: *1 http script var +2025/08/20 09:11:48 [debug] 622183#622183: *1 http script var: "PUT" +2025/08/20 09:11:48 [debug] 622183#622183: *1 http script regex: "^(PUT)$" +2025/08/20 09:11:48 [notice] 622183#622183: *1 "^(PUT)$" matches "PUT", client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", host: "localhost:9001" +2025/08/20 09:11:48 [debug] 622183#622183: *1 http script if +2025/08/20 09:11:48 [debug] 622183#622183: *1 http script if: false +2025/08/20 09:11:48 [debug] 622183#622183: *1 post rewrite phase: 4 +2025/08/20 09:11:48 [debug] 622183#622183: *1 generic phase: 5 +2025/08/20 09:11:48 [debug] 622183#622183: *1 generic phase: 6 +2025/08/20 09:11:48 [debug] 622183#622183: *1 generic phase: 7 +2025/08/20 09:11:48 [debug] 622183#622183: *1 access phase: 8 +2025/08/20 09:11:48 [debug] 622183#622183: *1 access phase: 9 +2025/08/20 09:11:48 [debug] 622183#622183: *1 access phase: 10 +2025/08/20 09:11:48 [debug] 622183#622183: *1 post access phase: 11 +2025/08/20 09:11:48 [debug] 622183#622183: *1 generic phase: 12 +2025/08/20 09:11:48 [debug] 622183#622183: *1 generic phase: 13 +2025/08/20 09:11:48 [debug] 622183#622183: *1 http client request body preread 4 +2025/08/20 09:11:48 [debug] 622183#622183: *1 http request body content length filter +2025/08/20 09:11:48 [debug] 622183#622183: *1 http body new buf t:1 f:0 000064D66632B121, pos 000064D66632B121, size: 4 file: 0, size: 0 +2025/08/20 09:11:48 [debug] 622183#622183: *1 http init upstream, client timer: 0 +2025/08/20 09:11:48 [debug] 622183#622183: *1 epoll add event: fd:6 op:3 ev:80002005 +2025/08/20 09:11:48 [debug] 622183#622183: *1 http script copy: "QUERY_STRING" +2025/08/20 09:11:48 [debug] 622183#622183: *1 fastcgi param: "QUERY_STRING: " +2025/08/20 09:11:48 [debug] 622183#622183: *1 http script copy: "REQUEST_METHOD" +2025/08/20 09:11:48 [debug] 622183#622183: *1 http script var: "PUT" +2025/08/20 09:11:48 [debug] 622183#622183: *1 fastcgi param: "REQUEST_METHOD: PUT" +2025/08/20 09:11:48 [debug] 622183#622183: *1 http script copy: "CONTENT_TYPE" +2025/08/20 09:11:48 [debug] 622183#622183: *1 http script var: "text/plain" +2025/08/20 09:11:48 [debug] 622183#622183: *1 fastcgi param: "CONTENT_TYPE: text/plain" +2025/08/20 09:11:48 [debug] 622183#622183: *1 http script copy: "CONTENT_LENGTH" +2025/08/20 09:11:48 [debug] 622183#622183: *1 http script var: "4" +2025/08/20 09:11:48 [debug] 622183#622183: *1 fastcgi param: "CONTENT_LENGTH: 4" +2025/08/20 09:11:48 [debug] 622183#622183: *1 http script copy: "SCRIPT_NAME" +2025/08/20 09:11:48 [debug] 622183#622183: *1 http script var: "/upload" +2025/08/20 09:11:48 [debug] 622183#622183: *1 fastcgi param: "SCRIPT_NAME: /upload" +2025/08/20 09:11:48 [debug] 622183#622183: *1 http script copy: "REQUEST_URI" +2025/08/20 09:11:48 [debug] 622183#622183: *1 http script var: "/upload" +2025/08/20 09:11:48 [debug] 622183#622183: *1 fastcgi param: "REQUEST_URI: /upload" +2025/08/20 09:11:48 [debug] 622183#622183: *1 http script copy: "DOCUMENT_URI" +2025/08/20 09:11:48 [debug] 622183#622183: *1 http script var: "/upload" +2025/08/20 09:11:48 [debug] 622183#622183: *1 fastcgi param: "DOCUMENT_URI: /upload" +2025/08/20 09:11:48 [debug] 622183#622183: *1 http script copy: "DOCUMENT_ROOT" +2025/08/20 09:11:48 [debug] 622183#622183: *1 http script var: "./blobs" +2025/08/20 09:11:48 [debug] 622183#622183: *1 fastcgi param: "DOCUMENT_ROOT: ./blobs" +2025/08/20 09:11:48 [debug] 622183#622183: *1 http script copy: "SERVER_PROTOCOL" +2025/08/20 09:11:48 [debug] 622183#622183: *1 http script var: "HTTP/1.1" +2025/08/20 09:11:48 [debug] 622183#622183: *1 fastcgi param: "SERVER_PROTOCOL: HTTP/1.1" +2025/08/20 09:11:48 [debug] 622183#622183: *1 http script copy: "REQUEST_SCHEME" +2025/08/20 09:11:48 [debug] 622183#622183: *1 http script var: "http" +2025/08/20 09:11:48 [debug] 622183#622183: *1 fastcgi param: "REQUEST_SCHEME: http" +2025/08/20 09:11:48 [debug] 622183#622183: *1 http script copy: "" +2025/08/20 09:11:48 [debug] 622183#622183: *1 http script copy: "GATEWAY_INTERFACE" +2025/08/20 09:11:48 [debug] 622183#622183: *1 http script copy: "CGI/1.1" +2025/08/20 09:11:48 [debug] 622183#622183: *1 fastcgi param: "GATEWAY_INTERFACE: CGI/1.1" +2025/08/20 09:11:48 [debug] 622183#622183: *1 http script copy: "SERVER_SOFTWARE" +2025/08/20 09:11:48 [debug] 622183#622183: *1 http script copy: "nginx/" +2025/08/20 09:11:48 [debug] 622183#622183: *1 http script var: "1.18.0" +2025/08/20 09:11:48 [debug] 622183#622183: *1 fastcgi param: "SERVER_SOFTWARE: nginx/1.18.0" +2025/08/20 09:11:48 [debug] 622183#622183: *1 http script copy: "REMOTE_ADDR" +2025/08/20 09:11:48 [debug] 622183#622183: *1 http script var: "127.0.0.1" +2025/08/20 09:11:48 [debug] 622183#622183: *1 fastcgi param: "REMOTE_ADDR: 127.0.0.1" +2025/08/20 09:11:48 [debug] 622183#622183: *1 http script copy: "REMOTE_PORT" +2025/08/20 09:11:48 [debug] 622183#622183: *1 http script var: "55272" +2025/08/20 09:11:48 [debug] 622183#622183: *1 fastcgi param: "REMOTE_PORT: 55272" +2025/08/20 09:11:48 [debug] 622183#622183: *1 http script copy: "SERVER_ADDR" +2025/08/20 09:11:48 [debug] 622183#622183: *1 http script var: "127.0.0.1" +2025/08/20 09:11:48 [debug] 622183#622183: *1 fastcgi param: "SERVER_ADDR: 127.0.0.1" +2025/08/20 09:11:48 [debug] 622183#622183: *1 http script copy: "SERVER_PORT" +2025/08/20 09:11:48 [debug] 622183#622183: *1 http script var: "9001" +2025/08/20 09:11:48 [debug] 622183#622183: *1 fastcgi param: "SERVER_PORT: 9001" +2025/08/20 09:11:48 [debug] 622183#622183: *1 http script copy: "SERVER_NAME" +2025/08/20 09:11:48 [debug] 622183#622183: *1 http script var: "localhost" +2025/08/20 09:11:48 [debug] 622183#622183: *1 fastcgi param: "SERVER_NAME: localhost" +2025/08/20 09:11:48 [debug] 622183#622183: *1 http script copy: "REDIRECT_STATUS" +2025/08/20 09:11:48 [debug] 622183#622183: *1 http script copy: "200" +2025/08/20 09:11:48 [debug] 622183#622183: *1 fastcgi param: "REDIRECT_STATUS: 200" +2025/08/20 09:11:48 [debug] 622183#622183: *1 http script copy: "SCRIPT_FILENAME" +2025/08/20 09:11:48 [debug] 622183#622183: *1 http script var: "./blobs" +2025/08/20 09:11:48 [debug] 622183#622183: *1 http script copy: "/ginxsom.fcgi" +2025/08/20 09:11:48 [debug] 622183#622183: *1 fastcgi param: "SCRIPT_FILENAME: ./blobs/ginxsom.fcgi" +2025/08/20 09:11:48 [debug] 622183#622183: *1 fastcgi param: "HTTP_HOST: localhost:9001" +2025/08/20 09:11:48 [debug] 622183#622183: *1 fastcgi param: "HTTP_USER_AGENT: curl/8.15.0" +2025/08/20 09:11:48 [debug] 622183#622183: *1 fastcgi param: "HTTP_ACCEPT: */*" +2025/08/20 09:11:48 [debug] 622183#622183: *1 fastcgi param: "HTTP_CONTENT_TYPE: text/plain" +2025/08/20 09:11:48 [debug] 622183#622183: *1 fastcgi param: "HTTP_CONTENT_LENGTH: 4" +2025/08/20 09:11:48 [debug] 622183#622183: *1 http cleanup add: 000064D66633EBB0 +2025/08/20 09:11:48 [debug] 622183#622183: *1 get rr peer, try: 1 +2025/08/20 09:11:48 [debug] 622183#622183: *1 stream socket 10 +2025/08/20 09:11:48 [debug] 622183#622183: *1 epoll add connection: fd:10 ev:80002005 +2025/08/20 09:11:48 [debug] 622183#622183: *1 connect to unix:/tmp/ginxsom-fcgi.sock, fd:10 #2 +2025/08/20 09:11:48 [debug] 622183#622183: *1 connected +2025/08/20 09:11:48 [debug] 622183#622183: *1 http upstream connect: 0 +2025/08/20 09:11:48 [debug] 622183#622183: *1 posix_memalign: 000064D666311F20:128 @16 +2025/08/20 09:11:48 [debug] 622183#622183: *1 http upstream send request +2025/08/20 09:11:48 [debug] 622183#622183: *1 http upstream send request body +2025/08/20 09:11:48 [debug] 622183#622183: *1 chain writer buf fl:0 s:576 +2025/08/20 09:11:48 [debug] 622183#622183: *1 chain writer buf fl:0 s:4 +2025/08/20 09:11:48 [debug] 622183#622183: *1 chain writer buf fl:0 s:12 +2025/08/20 09:11:48 [debug] 622183#622183: *1 chain writer in: 000064D66633EC20 +2025/08/20 09:11:48 [debug] 622183#622183: *1 writev: 592 of 592 +2025/08/20 09:11:48 [debug] 622183#622183: *1 chain writer out: 0000000000000000 +2025/08/20 09:11:48 [debug] 622183#622183: *1 event timer add: 10: 60000:262301583 +2025/08/20 09:11:48 [debug] 622183#622183: *1 http finalize request: -4, "/upload?" a:1, c:2 +2025/08/20 09:11:48 [debug] 622183#622183: *1 http request count:2 blk:0 +2025/08/20 09:11:48 [debug] 622183#622183: timer delta: 0 +2025/08/20 09:11:48 [debug] 622183#622183: worker cycle +2025/08/20 09:11:48 [debug] 622183#622183: epoll timer: 60000 +2025/08/20 09:11:48 [debug] 622183#622183: epoll: fd:6 ev:0004 d:0000718FB53AE1E0 +2025/08/20 09:11:48 [debug] 622183#622183: *1 http run request: "/upload?" +2025/08/20 09:11:48 [debug] 622183#622183: *1 http upstream check client, write event:1, "/upload" +2025/08/20 09:11:48 [debug] 622183#622183: epoll: fd:10 ev:0005 d:0000718FB53AE2C8 +2025/08/20 09:11:48 [debug] 622183#622183: *1 http upstream request: "/upload?" +2025/08/20 09:11:48 [debug] 622183#622183: *1 http upstream process header +2025/08/20 09:11:48 [debug] 622183#622183: *1 malloc: 000064D666332150:4096 +2025/08/20 09:11:48 [debug] 622183#622183: *1 posix_memalign: 000064D666333160:4096 @16 +2025/08/20 09:11:48 [debug] 622183#622183: *1 recv: eof:0, avail:-1 +2025/08/20 09:11:48 [debug] 622183#622183: *1 recv: fd:10 48 of 4096 +2025/08/20 09:11:48 [debug] 622183#622183: *1 http fastcgi record byte: 01 +2025/08/20 09:11:48 [debug] 622183#622183: *1 http fastcgi record byte: 07 +2025/08/20 09:11:48 [debug] 622183#622183: *1 http fastcgi record byte: 00 +2025/08/20 09:11:48 [debug] 622183#622183: *1 http fastcgi record byte: 01 +2025/08/20 09:11:48 [debug] 622183#622183: *1 http fastcgi record byte: 00 +2025/08/20 09:11:48 [debug] 622183#622183: *1 http fastcgi record byte: 21 +2025/08/20 09:11:48 [debug] 622183#622183: *1 http fastcgi record byte: 07 +2025/08/20 09:11:48 [debug] 622183#622183: *1 http fastcgi record byte: 00 +2025/08/20 09:11:48 [debug] 622183#622183: *1 http fastcgi record length: 33 +2025/08/20 09:11:48 [error] 622183#622183: *1 FastCGI sent in stderr: "DEBUG: FastCGI received request" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:11:48 [debug] 622183#622183: *1 recv: eof:0, avail:0 +2025/08/20 09:11:48 [debug] 622183#622183: *1 http upstream request: "/upload?" +2025/08/20 09:11:48 [debug] 622183#622183: *1 http upstream dummy handler +2025/08/20 09:11:48 [debug] 622183#622183: timer delta: 2 +2025/08/20 09:11:48 [debug] 622183#622183: worker cycle +2025/08/20 09:11:48 [debug] 622183#622183: epoll timer: 59998 +2025/08/20 09:11:48 [debug] 622183#622183: epoll: fd:10 ev:0005 d:0000718FB53AE2C8 +2025/08/20 09:11:48 [debug] 622183#622183: *1 http upstream request: "/upload?" +2025/08/20 09:11:48 [debug] 622183#622183: *1 http upstream process header +2025/08/20 09:11:48 [debug] 622183#622183: *1 recv: eof:0, avail:-1 +2025/08/20 09:11:48 [debug] 622183#622183: *1 recv: fd:10 512 of 4048 +2025/08/20 09:11:48 [debug] 622183#622183: *1 http fastcgi record byte: 01 +2025/08/20 09:11:48 [debug] 622183#622183: *1 http fastcgi record byte: 07 +2025/08/20 09:11:48 [debug] 622183#622183: *1 http fastcgi record byte: 00 +2025/08/20 09:11:48 [debug] 622183#622183: *1 http fastcgi record byte: 01 +2025/08/20 09:11:48 [debug] 622183#622183: *1 http fastcgi record byte: 01 +2025/08/20 09:11:48 [debug] 622183#622183: *1 http fastcgi record byte: F8 +2025/08/20 09:11:48 [debug] 622183#622183: *1 http fastcgi record byte: 00 +2025/08/20 09:11:48 [debug] 622183#622183: *1 http fastcgi record byte: 00 +2025/08/20 09:11:48 [debug] 622183#622183: *1 http fastcgi record length: 504 +2025/08/20 09:11:48 [error] 622183#622183: *1 FastCGI sent in stderr: "DEBUG: METHOD=PUT, URI=/upload +ENTRY: Entering handle_upload_request() function +DEBUG: handle_upload_request called +LOG: [2025-08-20 09:11:48] PUT /upload - Auth: pending - Status: 0 +DEBUG: content_type=text/plain +DEBUG: content_length=4 +DEBUG: Raw Authorization header: NULL +LOG: [2025-08-20 09:11:48] PUT /upload - Auth: anonymous - Status: 0 +DEBUG: Successfully read DEBUG-LAAN: DATA TO HASH: testrz +DEBUG-LAAN: Calculated SHA-256: 9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f0" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:11:48 [debug] 622183#622183: *1 recv: eof:0, avail:0 +2025/08/20 09:11:48 [debug] 622183#622183: *1 http upstream request: "/upload?" +2025/08/20 09:11:48 [debug] 622183#622183: *1 http upstream dummy handler +2025/08/20 09:11:48 [debug] 622183#622183: timer delta: 0 +2025/08/20 09:11:48 [debug] 622183#622183: worker cycle +2025/08/20 09:11:48 [debug] 622183#622183: epoll timer: 59998 +2025/08/20 09:11:48 [debug] 622183#622183: epoll: fd:10 ev:0005 d:0000718FB53AE2C8 +2025/08/20 09:11:48 [debug] 622183#622183: *1 http upstream request: "/upload?" +2025/08/20 09:11:48 [debug] 622183#622183: *1 http upstream process header +2025/08/20 09:11:48 [debug] 622183#622183: *1 recv: eof:0, avail:-1 +2025/08/20 09:11:48 [debug] 622183#622183: *1 recv: fd:10 512 of 4096 +2025/08/20 09:11:48 [debug] 622183#622183: *1 http fastcgi record byte: 01 +2025/08/20 09:11:48 [debug] 622183#622183: *1 http fastcgi record byte: 07 +2025/08/20 09:11:48 [debug] 622183#622183: *1 http fastcgi record byte: 00 +2025/08/20 09:11:48 [debug] 622183#622183: *1 http fastcgi record byte: 01 +2025/08/20 09:11:48 [debug] 622183#622183: *1 http fastcgi record byte: 01 +2025/08/20 09:11:48 [debug] 622183#622183: *1 http fastcgi record byte: F8 +2025/08/20 09:11:48 [debug] 622183#622183: *1 http fastcgi record byte: 00 +2025/08/20 09:11:48 [debug] 622183#622183: *1 http fastcgi record byte: 00 +2025/08/20 09:11:48 [debug] 622183#622183: *1 http fastcgi record length: 504 +2025/08/20 09:11:48 [error] 622183#622183: *1 FastCGI sent in stderr: "0a08 +AUTH: About to perform authentication - auth_header present: NO +DEBUG: Authentication passed, uploader_pubkey: anonymous +DEBUG: Saving file to: blobs/9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08.txt +DEBUG: Successfully saved DEBUG: Content-Disposition header: NULL +DEBUG: No Content-Disposition header provided +DEBUG: Final filename after extraction: NULL +DEBUG: insert_blob_metadata() called for sha256='9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08'" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:11:48 [debug] 622183#622183: *1 recv: eof:0, avail:0 +2025/08/20 09:11:48 [debug] 622183#622183: *1 http upstream request: "/upload?" +2025/08/20 09:11:48 [debug] 622183#622183: *1 http upstream dummy handler +2025/08/20 09:11:48 [debug] 622183#622183: timer delta: 0 +2025/08/20 09:11:48 [debug] 622183#622183: worker cycle +2025/08/20 09:11:48 [debug] 622183#622183: epoll timer: 59998 +2025/08/20 09:11:48 [debug] 622183#622183: epoll: fd:10 ev:0005 d:0000718FB53AE2C8 +2025/08/20 09:11:48 [debug] 622183#622183: *1 http upstream request: "/upload?" +2025/08/20 09:11:48 [debug] 622183#622183: *1 http upstream process header +2025/08/20 09:11:48 [debug] 622183#622183: *1 recv: eof:0, avail:-1 +2025/08/20 09:11:48 [debug] 622183#622183: *1 recv: fd:10 512 of 4096 +2025/08/20 09:11:48 [debug] 622183#622183: *1 http fastcgi record byte: 01 +2025/08/20 09:11:48 [debug] 622183#622183: *1 http fastcgi record byte: 07 +2025/08/20 09:11:48 [debug] 622183#622183: *1 http fastcgi record byte: 00 +2025/08/20 09:11:48 [debug] 622183#622183: *1 http fastcgi record byte: 01 +2025/08/20 09:11:48 [debug] 622183#622183: *1 http fastcgi record byte: 01 +2025/08/20 09:11:48 [debug] 622183#622183: *1 http fastcgi record byte: F8 +2025/08/20 09:11:48 [debug] 622183#622183: *1 http fastcgi record byte: 00 +2025/08/20 09:11:48 [debug] 622183#622183: *1 http fastcgi record byte: 00 +2025/08/20 09:11:48 [debug] 622183#622183: *1 http fastcgi record length: 504 +2025/08/20 09:11:48 [error] 622183#622183: *1 FastCGI sent in stderr: "DEBUG: Opening database at path: db/ginxsom.db +DEBUG: Database opened successfully for writing +DEBUG: Preparing SQL: INSERT INTO blobs (sha256, size, type, uploaded_at, uploader_pubkey, filename) VALUES (?, ?, ?, ?, ?, ?) +DEBUG: SQL prepared successfully, binding parameters +DEBUG: Parameter values to bind: +DEBUG: 1. sha256 = '9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08' +DEBUG: 2. size = 4 +DEBUG: 3. type = 'text/plain' +DEBUG: 4. uploaded_at = 1755695508 +DEBUG:" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:11:48 [debug] 622183#622183: *1 recv: eof:0, avail:0 +2025/08/20 09:11:48 [debug] 622183#622183: *1 http upstream request: "/upload?" +2025/08/20 09:11:48 [debug] 622183#622183: *1 http upstream dummy handler +2025/08/20 09:11:48 [debug] 622183#622183: timer delta: 2 +2025/08/20 09:11:48 [debug] 622183#622183: worker cycle +2025/08/20 09:11:48 [debug] 622183#622183: epoll timer: 59996 +2025/08/20 09:11:48 [debug] 622183#622183: epoll: fd:10 ev:2005 d:0000718FB53AE2C8 +2025/08/20 09:11:48 [debug] 622183#622183: *1 http upstream request: "/upload?" +2025/08/20 09:11:48 [debug] 622183#622183: *1 http upstream process header +2025/08/20 09:11:48 [debug] 622183#622183: *1 recv: eof:1, avail:-1 +2025/08/20 09:11:48 [debug] 622183#622183: *1 recv: fd:10 984 of 4096 +2025/08/20 09:11:48 [debug] 622183#622183: *1 http fastcgi record byte: 01 +2025/08/20 09:11:48 [debug] 622183#622183: *1 http fastcgi record byte: 07 +2025/08/20 09:11:48 [debug] 622183#622183: *1 http fastcgi record byte: 00 +2025/08/20 09:11:48 [debug] 622183#622183: *1 http fastcgi record byte: 01 +2025/08/20 09:11:48 [debug] 622183#622183: *1 http fastcgi record byte: 01 +2025/08/20 09:11:48 [debug] 622183#622183: *1 http fastcgi record byte: F8 +2025/08/20 09:11:48 [debug] 622183#622183: *1 http fastcgi record byte: 00 +2025/08/20 09:11:48 [debug] 622183#622183: *1 http fastcgi record byte: 00 +2025/08/20 09:11:48 [debug] 622183#622183: *1 http fastcgi record length: 504 +2025/08/20 09:11:48 [error] 622183#622183: *1 FastCGI sent in stderr: "5. uploader_pubkey = 'NULL' +DEBUG: 6. filename = 'NULL' +DEBUG: Binding parameter 1 (sha256) +DEBUG: Binding parameter 2 (size) +DEBUG: Binding parameter 3 (type) +DEBUG: Binding parameter 4 (uploaded_at) +DEBUG: Binding parameter 5 (uploader_pubkey) +DEBUG: Binding uploader_pubkey as NULL +DEBUG: Binding parameter 6 (filename) +DEBUG: Binding filename as NULL +DEBUG: Parameters bound, executing INSERT +DEBUG: INSERT failed - blob already exists (duplicate sha256) +DEBUG: Database closed, returni" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:11:48 [debug] 622183#622183: *1 http fastcgi record byte: 01 +2025/08/20 09:11:48 [debug] 622183#622183: *1 http fastcgi record byte: 07 +2025/08/20 09:11:48 [debug] 622183#622183: *1 http fastcgi record byte: 00 +2025/08/20 09:11:48 [debug] 622183#622183: *1 http fastcgi record byte: 01 +2025/08/20 09:11:48 [debug] 622183#622183: *1 http fastcgi record byte: 00 +2025/08/20 09:11:48 [debug] 622183#622183: *1 http fastcgi record byte: 78 +2025/08/20 09:11:48 [debug] 622183#622183: *1 http fastcgi record byte: 00 +2025/08/20 09:11:48 [debug] 622183#622183: *1 http fastcgi record byte: 00 +2025/08/20 09:11:48 [debug] 622183#622183: *1 http fastcgi record length: 120 +2025/08/20 09:11:48 [error] 622183#622183: *1 FastCGI sent in stderr: "ng 1 +DEBUG: Blob metadata successfully stored in database +DEBUG: Upload completed successfully with database storage" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:11:48 [debug] 622183#622183: *1 http fastcgi record byte: 01 +2025/08/20 09:11:48 [debug] 622183#622183: *1 http fastcgi record byte: 07 +2025/08/20 09:11:48 [debug] 622183#622183: *1 http fastcgi record byte: 00 +2025/08/20 09:11:48 [debug] 622183#622183: *1 http fastcgi record byte: 01 +2025/08/20 09:11:48 [debug] 622183#622183: *1 http fastcgi record byte: 00 +2025/08/20 09:11:48 [debug] 622183#622183: *1 http fastcgi record byte: 00 +2025/08/20 09:11:48 [debug] 622183#622183: *1 http fastcgi record byte: 00 +2025/08/20 09:11:48 [debug] 622183#622183: *1 http fastcgi record byte: 00 +2025/08/20 09:11:48 [debug] 622183#622183: *1 http fastcgi record length: 0 +2025/08/20 09:11:48 [debug] 622183#622183: *1 http fastcgi record byte: 01 +2025/08/20 09:11:48 [debug] 622183#622183: *1 http fastcgi record byte: 06 +2025/08/20 09:11:48 [debug] 622183#622183: *1 http fastcgi record byte: 00 +2025/08/20 09:11:48 [debug] 622183#622183: *1 http fastcgi record byte: 01 +2025/08/20 09:11:48 [debug] 622183#622183: *1 http fastcgi record byte: 01 +2025/08/20 09:11:48 [debug] 622183#622183: *1 http fastcgi record byte: 2B +2025/08/20 09:11:48 [debug] 622183#622183: *1 http fastcgi record byte: 05 +2025/08/20 09:11:48 [debug] 622183#622183: *1 http fastcgi record byte: 00 +2025/08/20 09:11:48 [debug] 622183#622183: *1 http fastcgi record length: 299 +2025/08/20 09:11:48 [debug] 622183#622183: *1 http fastcgi parser: 0 +2025/08/20 09:11:48 [debug] 622183#622183: *1 http fastcgi header: "Status: 200 OK" +2025/08/20 09:11:48 [debug] 622183#622183: *1 http fastcgi parser: 0 +2025/08/20 09:11:48 [debug] 622183#622183: *1 http fastcgi header: "Content-Type: application/json" +2025/08/20 09:11:48 [debug] 622183#622183: *1 http fastcgi parser: 1 +2025/08/20 09:11:48 [debug] 622183#622183: *1 http fastcgi header done +2025/08/20 09:11:48 [debug] 622183#622183: *1 HTTP/1.1 200 OK +Server: nginx/1.18.0 (Ubuntu) +Date: Wed, 20 Aug 2025 13:11:48 GMT +Content-Type: application/json +Transfer-Encoding: chunked +Connection: keep-alive +X-Content-Type-Options: nosniff +X-Frame-Options: DENY +X-XSS-Protection: 1; mode=block + +2025/08/20 09:11:48 [debug] 622183#622183: *1 write new buf t:1 f:0 000064D666333300, pos 000064D666333300, size: 260 file: 0, size: 0 +2025/08/20 09:11:48 [debug] 622183#622183: *1 http write filter: l:0 f:0 s:260 +2025/08/20 09:11:48 [debug] 622183#622183: *1 http cacheable: 0 +2025/08/20 09:11:48 [debug] 622183#622183: *1 http upstream process upstream +2025/08/20 09:11:48 [debug] 622183#622183: *1 pipe read upstream: 1 +2025/08/20 09:11:48 [debug] 622183#622183: *1 pipe preread: 278 +2025/08/20 09:11:48 [debug] 622183#622183: *1 readv: eof:1, avail:0 +2025/08/20 09:11:48 [debug] 622183#622183: *1 readv: 1, last:3112 +2025/08/20 09:11:48 [debug] 622183#622183: *1 pipe recv chain: 0 +2025/08/20 09:11:48 [debug] 622183#622183: *1 pipe buf free s:0 t:1 f:0 000064D666332150, pos 000064D666332412, size: 278 file: 0, size: 0 +2025/08/20 09:11:48 [debug] 622183#622183: *1 pipe length: -1 +2025/08/20 09:11:48 [debug] 622183#622183: *1 input buf #0 000064D666332412 +2025/08/20 09:11:48 [debug] 622183#622183: *1 http fastcgi record byte: 01 +2025/08/20 09:11:48 [debug] 622183#622183: *1 http fastcgi record byte: 06 +2025/08/20 09:11:48 [debug] 622183#622183: *1 http fastcgi record byte: 00 +2025/08/20 09:11:48 [debug] 622183#622183: *1 http fastcgi record byte: 01 +2025/08/20 09:11:48 [debug] 622183#622183: *1 http fastcgi record byte: 00 +2025/08/20 09:11:48 [debug] 622183#622183: *1 http fastcgi record byte: 00 +2025/08/20 09:11:48 [debug] 622183#622183: *1 http fastcgi record byte: 00 +2025/08/20 09:11:48 [debug] 622183#622183: *1 http fastcgi record byte: 00 +2025/08/20 09:11:48 [debug] 622183#622183: *1 http fastcgi record length: 0 +2025/08/20 09:11:48 [debug] 622183#622183: *1 http fastcgi closed stdout +2025/08/20 09:11:48 [debug] 622183#622183: *1 http fastcgi record byte: 01 +2025/08/20 09:11:48 [debug] 622183#622183: *1 http fastcgi record byte: 03 +2025/08/20 09:11:48 [debug] 622183#622183: *1 http fastcgi record byte: 00 +2025/08/20 09:11:48 [debug] 622183#622183: *1 http fastcgi record byte: 01 +2025/08/20 09:11:48 [debug] 622183#622183: *1 http fastcgi record byte: 00 +2025/08/20 09:11:48 [debug] 622183#622183: *1 http fastcgi record byte: 08 +2025/08/20 09:11:48 [debug] 622183#622183: *1 http fastcgi record byte: 00 +2025/08/20 09:11:48 [debug] 622183#622183: *1 http fastcgi record byte: 00 +2025/08/20 09:11:48 [debug] 622183#622183: *1 http fastcgi record length: 8 +2025/08/20 09:11:48 [debug] 622183#622183: *1 http fastcgi sent end request +2025/08/20 09:11:48 [debug] 622183#622183: *1 input buf 000064D666332412 249 +2025/08/20 09:11:48 [debug] 622183#622183: *1 pipe write downstream: 1 +2025/08/20 09:11:48 [debug] 622183#622183: *1 pipe write downstream flush in +2025/08/20 09:11:48 [debug] 622183#622183: *1 http output filter "/upload?" +2025/08/20 09:11:48 [debug] 622183#622183: *1 http copy filter: "/upload?" +2025/08/20 09:11:48 [debug] 622183#622183: *1 http postpone filter "/upload?" 000064D66633EBF0 +2025/08/20 09:11:48 [debug] 622183#622183: *1 http chunk: 249 +2025/08/20 09:11:48 [debug] 622183#622183: *1 write old buf t:1 f:0 000064D666333300, pos 000064D666333300, size: 260 file: 0, size: 0 +2025/08/20 09:11:48 [debug] 622183#622183: *1 write new buf t:1 f:0 000064D66633ED60, pos 000064D66633ED60, size: 4 file: 0, size: 0 +2025/08/20 09:11:48 [debug] 622183#622183: *1 write new buf t:1 f:0 000064D666332150, pos 000064D666332412, size: 249 file: 0, size: 0 +2025/08/20 09:11:48 [debug] 622183#622183: *1 write new buf t:0 f:0 0000000000000000, pos 000064D657F962E8, size: 2 file: 0, size: 0 +2025/08/20 09:11:48 [debug] 622183#622183: *1 http write filter: l:0 f:0 s:515 +2025/08/20 09:11:48 [debug] 622183#622183: *1 http copy filter: 0 "/upload?" +2025/08/20 09:11:48 [debug] 622183#622183: *1 pipe write downstream done +2025/08/20 09:11:48 [debug] 622183#622183: *1 event timer: 10, old: 262301583, new: 262301587 +2025/08/20 09:11:48 [debug] 622183#622183: *1 http upstream exit: 0000000000000000 +2025/08/20 09:11:48 [debug] 622183#622183: *1 finalize http upstream request: 0 +2025/08/20 09:11:48 [debug] 622183#622183: *1 finalize http fastcgi request +2025/08/20 09:11:48 [debug] 622183#622183: *1 free rr peer 1 0 +2025/08/20 09:11:48 [debug] 622183#622183: *1 close http upstream connection: 10 +2025/08/20 09:11:48 [debug] 622183#622183: *1 free: 000064D666311F20, unused: 48 +2025/08/20 09:11:48 [debug] 622183#622183: *1 event timer del: 10: 262301583 +2025/08/20 09:11:48 [debug] 622183#622183: *1 reusable connection: 0 +2025/08/20 09:11:48 [debug] 622183#622183: *1 http upstream temp fd: -1 +2025/08/20 09:11:48 [debug] 622183#622183: *1 http output filter "/upload?" +2025/08/20 09:11:48 [debug] 622183#622183: *1 http copy filter: "/upload?" +2025/08/20 09:11:48 [debug] 622183#622183: *1 http postpone filter "/upload?" 00007FFFAF45B1F0 +2025/08/20 09:11:48 [debug] 622183#622183: *1 http chunk: 0 +2025/08/20 09:11:48 [debug] 622183#622183: *1 write old buf t:1 f:0 000064D666333300, pos 000064D666333300, size: 260 file: 0, size: 0 +2025/08/20 09:11:48 [debug] 622183#622183: *1 write old buf t:1 f:0 000064D66633ED60, pos 000064D66633ED60, size: 4 file: 0, size: 0 +2025/08/20 09:11:48 [debug] 622183#622183: *1 write old buf t:1 f:0 000064D666332150, pos 000064D666332412, size: 249 file: 0, size: 0 +2025/08/20 09:11:48 [debug] 622183#622183: *1 write old buf t:0 f:0 0000000000000000, pos 000064D657F962E8, size: 2 file: 0, size: 0 +2025/08/20 09:11:48 [debug] 622183#622183: *1 write new buf t:0 f:0 0000000000000000, pos 000064D657F962E5, size: 5 file: 0, size: 0 +2025/08/20 09:11:48 [debug] 622183#622183: *1 http write filter: l:1 f:0 s:520 +2025/08/20 09:11:48 [debug] 622183#622183: *1 http write filter limit 0 +2025/08/20 09:11:48 [debug] 622183#622183: *1 writev: 520 of 520 +2025/08/20 09:11:48 [debug] 622183#622183: *1 http write filter 0000000000000000 +2025/08/20 09:11:48 [debug] 622183#622183: *1 http copy filter: 0 "/upload?" +2025/08/20 09:11:48 [debug] 622183#622183: *1 http finalize request: 0, "/upload?" a:1, c:1 +2025/08/20 09:11:48 [debug] 622183#622183: *1 set http keepalive handler +2025/08/20 09:11:48 [debug] 622183#622183: *1 http close request +2025/08/20 09:11:48 [debug] 622183#622183: *1 http log handler +2025/08/20 09:11:48 [debug] 622183#622183: *1 free: 000064D666332150 +2025/08/20 09:11:48 [debug] 622183#622183: *1 free: 000064D666347A30, unused: 3 +2025/08/20 09:11:48 [debug] 622183#622183: *1 free: 000064D66633DDA0, unused: 8 +2025/08/20 09:11:48 [debug] 622183#622183: *1 free: 000064D666333160, unused: 2426 +2025/08/20 09:11:48 [debug] 622183#622183: *1 free: 000064D66632B0A0 +2025/08/20 09:11:48 [debug] 622183#622183: *1 hc free: 0000000000000000 +2025/08/20 09:11:48 [debug] 622183#622183: *1 hc busy: 0000000000000000 0 +2025/08/20 09:11:48 [debug] 622183#622183: *1 tcp_nodelay +2025/08/20 09:11:48 [debug] 622183#622183: *1 reusable connection: 1 +2025/08/20 09:11:48 [debug] 622183#622183: *1 event timer add: 6: 65000:262306587 +2025/08/20 09:11:48 [debug] 622183#622183: timer delta: 0 +2025/08/20 09:11:48 [debug] 622183#622183: worker cycle +2025/08/20 09:11:48 [debug] 622183#622183: epoll timer: 65000 +2025/08/20 09:11:48 [debug] 622183#622183: epoll: fd:6 ev:2005 d:0000718FB53AE1E0 +2025/08/20 09:11:48 [debug] 622183#622183: *1 http keepalive handler +2025/08/20 09:11:48 [debug] 622183#622183: *1 malloc: 000064D66632B0A0:1024 +2025/08/20 09:11:48 [debug] 622183#622183: *1 recv: eof:1, avail:-1 +2025/08/20 09:11:48 [debug] 622183#622183: *1 recv: fd:6 0 of 1024 +2025/08/20 09:11:48 [info] 622183#622183: *1 client 127.0.0.1 closed keepalive connection +2025/08/20 09:11:48 [debug] 622183#622183: *1 close http connection: 6 +2025/08/20 09:11:48 [debug] 622183#622183: *1 event timer del: 6: 262306587 +2025/08/20 09:11:48 [debug] 622183#622183: *1 reusable connection: 0 +2025/08/20 09:11:48 [debug] 622183#622183: *1 free: 000064D66632B0A0 +2025/08/20 09:11:48 [debug] 622183#622183: *1 free: 000064D666328840, unused: 120 +2025/08/20 09:11:48 [debug] 622183#622183: timer delta: 2 +2025/08/20 09:11:48 [debug] 622183#622183: worker cycle +2025/08/20 09:11:48 [debug] 622183#622183: epoll timer: -1 +2025/08/20 09:13:05 [debug] 622183#622183: epoll: fd:5 ev:0001 d:0000718FB53AE010 +2025/08/20 09:13:05 [debug] 622183#622183: accept on 0.0.0.0:9001, ready: 0 +2025/08/20 09:13:05 [debug] 622183#622183: posix_memalign: 000064D666328840:512 @16 +2025/08/20 09:13:05 [debug] 622183#622183: *3 accept: 127.0.0.1:54670 fd:6 +2025/08/20 09:13:05 [debug] 622183#622183: *3 event timer add: 6: 60000:262378155 +2025/08/20 09:13:05 [debug] 622183#622183: *3 reusable connection: 1 +2025/08/20 09:13:05 [debug] 622183#622183: *3 epoll add event: fd:6 op:1 ev:80002001 +2025/08/20 09:13:05 [debug] 622183#622183: timer delta: 76566 +2025/08/20 09:13:05 [debug] 622183#622183: worker cycle +2025/08/20 09:13:05 [debug] 622183#622183: epoll timer: 60000 +2025/08/20 09:13:05 [debug] 622183#622183: epoll: fd:6 ev:0001 d:0000718FB53AE1E1 +2025/08/20 09:13:05 [debug] 622183#622183: *3 http wait request handler +2025/08/20 09:13:05 [debug] 622183#622183: *3 malloc: 000064D66632B0A0:1024 +2025/08/20 09:13:05 [debug] 622183#622183: *3 recv: eof:0, avail:-1 +2025/08/20 09:13:05 [debug] 622183#622183: *3 recv: fd:6 84 of 1024 +2025/08/20 09:13:05 [debug] 622183#622183: *3 reusable connection: 0 +2025/08/20 09:13:05 [debug] 622183#622183: *3 posix_memalign: 000064D666347A30:4096 @16 +2025/08/20 09:13:05 [debug] 622183#622183: *3 http process request line +2025/08/20 09:13:05 [debug] 622183#622183: *3 http request line: "GET /health HTTP/1.1" +2025/08/20 09:13:05 [debug] 622183#622183: *3 http uri: "/health" +2025/08/20 09:13:05 [debug] 622183#622183: *3 http args: "" +2025/08/20 09:13:05 [debug] 622183#622183: *3 http exten: "" +2025/08/20 09:13:05 [debug] 622183#622183: *3 posix_memalign: 000064D66633DDA0:4096 @16 +2025/08/20 09:13:05 [debug] 622183#622183: *3 http process request header line +2025/08/20 09:13:05 [debug] 622183#622183: *3 http header: "Host: localhost:9001" +2025/08/20 09:13:05 [debug] 622183#622183: *3 http header: "User-Agent: curl/8.15.0" +2025/08/20 09:13:05 [debug] 622183#622183: *3 http header: "Accept: */*" +2025/08/20 09:13:05 [debug] 622183#622183: *3 http header done +2025/08/20 09:13:05 [debug] 622183#622183: *3 event timer del: 6: 262378155 +2025/08/20 09:13:05 [debug] 622183#622183: *3 generic phase: 0 +2025/08/20 09:13:05 [debug] 622183#622183: *3 rewrite phase: 1 +2025/08/20 09:13:05 [debug] 622183#622183: *3 test location: "/health" +2025/08/20 09:13:05 [debug] 622183#622183: *3 test location: ~ "^/([a-f0-9]{64}).*$" +2025/08/20 09:13:05 [debug] 622183#622183: *3 test location: ~ "^/([a-f0-9]{64})(\.[a-zA-Z0-9]+)?$" +2025/08/20 09:13:05 [debug] 622183#622183: *3 test location: ~ "^/fcgi-head/([a-f0-9]{64}).*$" +2025/08/20 09:13:05 [debug] 622183#622183: *3 test location: ~ "^/list/([a-f0-9]{64}).*$" +2025/08/20 09:13:05 [debug] 622183#622183: *3 using configuration "/health" +2025/08/20 09:13:05 [debug] 622183#622183: *3 http cl:-1 max:104857600 +2025/08/20 09:13:05 [debug] 622183#622183: *3 rewrite phase: 3 +2025/08/20 09:13:05 [debug] 622183#622183: *3 http set discard body +2025/08/20 09:13:05 [debug] 622183#622183: *3 HTTP/1.1 200 OK +Server: nginx/1.18.0 (Ubuntu) +Date: Wed, 20 Aug 2025 13:13:05 GMT +Content-Type: application/octet-stream +Content-Length: 3 +Connection: keep-alive +Content-Type: text/plain + +2025/08/20 09:13:05 [debug] 622183#622183: *3 write new buf t:1 f:0 000064D66633E180, pos 000064D66633E180, size: 196 file: 0, size: 0 +2025/08/20 09:13:05 [debug] 622183#622183: *3 http write filter: l:0 f:0 s:196 +2025/08/20 09:13:05 [debug] 622183#622183: *3 http output filter "/health?" +2025/08/20 09:13:05 [debug] 622183#622183: *3 http copy filter: "/health?" +2025/08/20 09:13:05 [debug] 622183#622183: *3 http postpone filter "/health?" 00007FFFAF45B140 +2025/08/20 09:13:05 [debug] 622183#622183: *3 write old buf t:1 f:0 000064D66633E180, pos 000064D66633E180, size: 196 file: 0, size: 0 +2025/08/20 09:13:05 [debug] 622183#622183: *3 write new buf t:0 f:0 0000000000000000, pos 000064D666365B42, size: 3 file: 0, size: 0 +2025/08/20 09:13:05 [debug] 622183#622183: *3 http write filter: l:1 f:0 s:199 +2025/08/20 09:13:05 [debug] 622183#622183: *3 http write filter limit 0 +2025/08/20 09:13:05 [debug] 622183#622183: *3 writev: 199 of 199 +2025/08/20 09:13:05 [debug] 622183#622183: *3 http write filter 0000000000000000 +2025/08/20 09:13:05 [debug] 622183#622183: *3 http copy filter: 0 "/health?" +2025/08/20 09:13:05 [debug] 622183#622183: *3 http finalize request: 0, "/health?" a:1, c:1 +2025/08/20 09:13:05 [debug] 622183#622183: *3 set http keepalive handler +2025/08/20 09:13:05 [debug] 622183#622183: *3 http close request +2025/08/20 09:13:05 [debug] 622183#622183: *3 http log handler +2025/08/20 09:13:05 [debug] 622183#622183: *3 free: 000064D666347A30, unused: 0 +2025/08/20 09:13:05 [debug] 622183#622183: *3 free: 000064D66633DDA0, unused: 2736 +2025/08/20 09:13:05 [debug] 622183#622183: *3 free: 000064D66632B0A0 +2025/08/20 09:13:05 [debug] 622183#622183: *3 hc free: 0000000000000000 +2025/08/20 09:13:05 [debug] 622183#622183: *3 hc busy: 0000000000000000 0 +2025/08/20 09:13:05 [debug] 622183#622183: *3 tcp_nodelay +2025/08/20 09:13:05 [debug] 622183#622183: *3 reusable connection: 1 +2025/08/20 09:13:05 [debug] 622183#622183: *3 event timer add: 6: 65000:262383155 +2025/08/20 09:13:05 [debug] 622183#622183: timer delta: 0 +2025/08/20 09:13:05 [debug] 622183#622183: worker cycle +2025/08/20 09:13:05 [debug] 622183#622183: epoll timer: 65000 +2025/08/20 09:13:05 [debug] 622183#622183: epoll: fd:6 ev:2001 d:0000718FB53AE1E1 +2025/08/20 09:13:05 [debug] 622183#622183: *3 http keepalive handler +2025/08/20 09:13:05 [debug] 622183#622183: *3 malloc: 000064D66632B0A0:1024 +2025/08/20 09:13:05 [debug] 622183#622183: *3 recv: eof:1, avail:-1 +2025/08/20 09:13:05 [debug] 622183#622183: *3 recv: fd:6 0 of 1024 +2025/08/20 09:13:05 [info] 622183#622183: *3 client 127.0.0.1 closed keepalive connection +2025/08/20 09:13:05 [debug] 622183#622183: *3 close http connection: 6 +2025/08/20 09:13:05 [debug] 622183#622183: *3 event timer del: 6: 262383155 +2025/08/20 09:13:05 [debug] 622183#622183: *3 reusable connection: 0 +2025/08/20 09:13:05 [debug] 622183#622183: *3 free: 000064D66632B0A0 +2025/08/20 09:13:05 [debug] 622183#622183: *3 free: 000064D666328840, unused: 136 +2025/08/20 09:13:05 [debug] 622183#622183: timer delta: 1 +2025/08/20 09:13:05 [debug] 622183#622183: worker cycle +2025/08/20 09:13:05 [debug] 622183#622183: epoll timer: -1 +2025/08/20 09:13:05 [debug] 622183#622183: epoll: fd:5 ev:0001 d:0000718FB53AE010 +2025/08/20 09:13:05 [debug] 622183#622183: accept on 0.0.0.0:9001, ready: 0 +2025/08/20 09:13:05 [debug] 622183#622183: posix_memalign: 000064D666328840:512 @16 +2025/08/20 09:13:05 [debug] 622183#622183: *4 accept: 127.0.0.1:54672 fd:6 +2025/08/20 09:13:05 [debug] 622183#622183: *4 event timer add: 6: 60000:262378457 +2025/08/20 09:13:05 [debug] 622183#622183: *4 reusable connection: 1 +2025/08/20 09:13:05 [debug] 622183#622183: *4 epoll add event: fd:6 op:1 ev:80002001 +2025/08/20 09:13:05 [debug] 622183#622183: timer delta: 301 +2025/08/20 09:13:05 [debug] 622183#622183: worker cycle +2025/08/20 09:13:05 [debug] 622183#622183: epoll timer: 60000 +2025/08/20 09:13:05 [debug] 622183#622183: epoll: fd:6 ev:0001 d:0000718FB53AE1E0 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http wait request handler +2025/08/20 09:13:05 [debug] 622183#622183: *4 malloc: 000064D66632B0A0:1024 +2025/08/20 09:13:05 [debug] 622183#622183: *4 recv: eof:0, avail:-1 +2025/08/20 09:13:05 [debug] 622183#622183: *4 recv: fd:6 1024 of 1024 +2025/08/20 09:13:05 [debug] 622183#622183: *4 recv: avail:112 +2025/08/20 09:13:05 [debug] 622183#622183: *4 reusable connection: 0 +2025/08/20 09:13:05 [debug] 622183#622183: *4 posix_memalign: 000064D666347A30:4096 @16 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http process request line +2025/08/20 09:13:05 [debug] 622183#622183: *4 http request line: "PUT /upload HTTP/1.1" +2025/08/20 09:13:05 [debug] 622183#622183: *4 http uri: "/upload" +2025/08/20 09:13:05 [debug] 622183#622183: *4 http args: "" +2025/08/20 09:13:05 [debug] 622183#622183: *4 http exten: "" +2025/08/20 09:13:05 [debug] 622183#622183: *4 posix_memalign: 000064D66633DDA0:4096 @16 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http process request header line +2025/08/20 09:13:05 [debug] 622183#622183: *4 http header: "Host: localhost:9001" +2025/08/20 09:13:05 [debug] 622183#622183: *4 http header: "User-Agent: curl/8.15.0" +2025/08/20 09:13:05 [debug] 622183#622183: *4 http header: "Accept: */*" +2025/08/20 09:13:05 [debug] 622183#622183: *4 http header: "Authorization: Nostr eyJraW5kIjoyNDI0MiwiaWQiOiJhY2E4NmMzMDAwYWFiMmZmMDRjZTFjZGMwYWE2MWJmZTdmZjI0MmIxYTQ2ZjE4NmFlMTQ1NDRhZjJkNzNiOWRjIiwicHVia2V5IjoiNzliZTY2N2VmOWRjYmJhYzU1YTA2Mjk1Y2U4NzBiMDcwMjliZmNkYjJkY2UyOGQ5NTlmMjgxNWIxNmY4MTc5OCIsImNyZWF0ZWRfYXQiOjE3NTU2OTU1ODUsInRhZ3MiOltbInQiLCJ1cGxvYWQiXSxbIngiLCJiZjViOTRiYjA2YWNkNTc3MWE0MWRjODY4NzY0YjQxODYxNzg5YTc2ZDFmMzEyYTFlNzE4N2RmMmY3YmE3ZTcyIl0sWyJleHBpcmF0aW9uIiwiMTc1NTY5OTE4NSJdXSwiY29udGVudCI6IiIsInNpZyI6IjRlMGU3YmU5ZGQyYzgyN2M1ODFjMjQ2MWE5YjMxMzM2MTQ2YjZkMTFmZWIwODRhNGRhMzQ5NTVkODQ2NTc2YzljZTg0OTFkOWIwN2ZkZWM2ZTg2ODhmODcxODRjNGUzODQwYTAxMTk2NTk5ZWI0MjgxMWIyOWRjZWU5MGIxMjc5In0=" +2025/08/20 09:13:05 [debug] 622183#622183: *4 http header: "Content-Type: text/plain" +2025/08/20 09:13:05 [debug] 622183#622183: *4 http header: "Content-Disposition: attachment; filename="test_blob_1755695585.txt"" +2025/08/20 09:13:05 [debug] 622183#622183: *4 http header: "Content-Length: 296" +2025/08/20 09:13:05 [debug] 622183#622183: *4 http header done +2025/08/20 09:13:05 [debug] 622183#622183: *4 event timer del: 6: 262378457 +2025/08/20 09:13:05 [debug] 622183#622183: *4 generic phase: 0 +2025/08/20 09:13:05 [debug] 622183#622183: *4 rewrite phase: 1 +2025/08/20 09:13:05 [debug] 622183#622183: *4 test location: "/health" +2025/08/20 09:13:05 [debug] 622183#622183: *4 test location: "/upload" +2025/08/20 09:13:05 [debug] 622183#622183: *4 test location: ~ "^/([a-f0-9]{64}).*$" +2025/08/20 09:13:05 [debug] 622183#622183: *4 test location: ~ "^/([a-f0-9]{64})(\.[a-zA-Z0-9]+)?$" +2025/08/20 09:13:05 [debug] 622183#622183: *4 test location: ~ "^/fcgi-head/([a-f0-9]{64}).*$" +2025/08/20 09:13:05 [debug] 622183#622183: *4 test location: ~ "^/list/([a-f0-9]{64}).*$" +2025/08/20 09:13:05 [debug] 622183#622183: *4 using configuration "/upload" +2025/08/20 09:13:05 [debug] 622183#622183: *4 http cl:296 max:104857600 +2025/08/20 09:13:05 [debug] 622183#622183: *4 rewrite phase: 3 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http script var +2025/08/20 09:13:05 [debug] 622183#622183: *4 http script var: "PUT" +2025/08/20 09:13:05 [debug] 622183#622183: *4 http script regex: "^(PUT)$" +2025/08/20 09:13:05 [notice] 622183#622183: *4 "^(PUT)$" matches "PUT", client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", host: "localhost:9001" +2025/08/20 09:13:05 [debug] 622183#622183: *4 http script if +2025/08/20 09:13:05 [debug] 622183#622183: *4 http script if: false +2025/08/20 09:13:05 [debug] 622183#622183: *4 post rewrite phase: 4 +2025/08/20 09:13:05 [debug] 622183#622183: *4 generic phase: 5 +2025/08/20 09:13:05 [debug] 622183#622183: *4 generic phase: 6 +2025/08/20 09:13:05 [debug] 622183#622183: *4 generic phase: 7 +2025/08/20 09:13:05 [debug] 622183#622183: *4 access phase: 8 +2025/08/20 09:13:05 [debug] 622183#622183: *4 access phase: 9 +2025/08/20 09:13:05 [debug] 622183#622183: *4 access phase: 10 +2025/08/20 09:13:05 [debug] 622183#622183: *4 post access phase: 11 +2025/08/20 09:13:05 [debug] 622183#622183: *4 generic phase: 12 +2025/08/20 09:13:05 [debug] 622183#622183: *4 generic phase: 13 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http client request body preread 184 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http request body content length filter +2025/08/20 09:13:05 [debug] 622183#622183: *4 http body new buf t:1 f:0 000064D66632B3E8, pos 000064D66632B3E8, size: 184 file: 0, size: 0 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http read client request body +2025/08/20 09:13:05 [debug] 622183#622183: *4 recv: eof:0, avail:112 +2025/08/20 09:13:05 [debug] 622183#622183: *4 recv: fd:6 112 of 112 +2025/08/20 09:13:05 [debug] 622183#622183: *4 recv: avail:0 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http client request body recv 112 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http body new buf t:1 f:0 000064D66633E830, pos 000064D66633E830, size: 112 file: 0, size: 0 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http client request body rest 0 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http init upstream, client timer: 0 +2025/08/20 09:13:05 [debug] 622183#622183: *4 epoll add event: fd:6 op:3 ev:80002005 +2025/08/20 09:13:05 [debug] 622183#622183: *4 posix_memalign: 000064D666332150:4096 @16 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http script copy: "QUERY_STRING" +2025/08/20 09:13:05 [debug] 622183#622183: *4 fastcgi param: "QUERY_STRING: " +2025/08/20 09:13:05 [debug] 622183#622183: *4 http script copy: "REQUEST_METHOD" +2025/08/20 09:13:05 [debug] 622183#622183: *4 http script var: "PUT" +2025/08/20 09:13:05 [debug] 622183#622183: *4 fastcgi param: "REQUEST_METHOD: PUT" +2025/08/20 09:13:05 [debug] 622183#622183: *4 http script copy: "CONTENT_TYPE" +2025/08/20 09:13:05 [debug] 622183#622183: *4 http script var: "text/plain" +2025/08/20 09:13:05 [debug] 622183#622183: *4 fastcgi param: "CONTENT_TYPE: text/plain" +2025/08/20 09:13:05 [debug] 622183#622183: *4 http script copy: "CONTENT_LENGTH" +2025/08/20 09:13:05 [debug] 622183#622183: *4 http script var: "296" +2025/08/20 09:13:05 [debug] 622183#622183: *4 fastcgi param: "CONTENT_LENGTH: 296" +2025/08/20 09:13:05 [debug] 622183#622183: *4 http script copy: "SCRIPT_NAME" +2025/08/20 09:13:05 [debug] 622183#622183: *4 http script var: "/upload" +2025/08/20 09:13:05 [debug] 622183#622183: *4 fastcgi param: "SCRIPT_NAME: /upload" +2025/08/20 09:13:05 [debug] 622183#622183: *4 http script copy: "REQUEST_URI" +2025/08/20 09:13:05 [debug] 622183#622183: *4 http script var: "/upload" +2025/08/20 09:13:05 [debug] 622183#622183: *4 fastcgi param: "REQUEST_URI: /upload" +2025/08/20 09:13:05 [debug] 622183#622183: *4 http script copy: "DOCUMENT_URI" +2025/08/20 09:13:05 [debug] 622183#622183: *4 http script var: "/upload" +2025/08/20 09:13:05 [debug] 622183#622183: *4 fastcgi param: "DOCUMENT_URI: /upload" +2025/08/20 09:13:05 [debug] 622183#622183: *4 http script copy: "DOCUMENT_ROOT" +2025/08/20 09:13:05 [debug] 622183#622183: *4 http script var: "./blobs" +2025/08/20 09:13:05 [debug] 622183#622183: *4 fastcgi param: "DOCUMENT_ROOT: ./blobs" +2025/08/20 09:13:05 [debug] 622183#622183: *4 http script copy: "SERVER_PROTOCOL" +2025/08/20 09:13:05 [debug] 622183#622183: *4 http script var: "HTTP/1.1" +2025/08/20 09:13:05 [debug] 622183#622183: *4 fastcgi param: "SERVER_PROTOCOL: HTTP/1.1" +2025/08/20 09:13:05 [debug] 622183#622183: *4 http script copy: "REQUEST_SCHEME" +2025/08/20 09:13:05 [debug] 622183#622183: *4 http script var: "http" +2025/08/20 09:13:05 [debug] 622183#622183: *4 fastcgi param: "REQUEST_SCHEME: http" +2025/08/20 09:13:05 [debug] 622183#622183: *4 http script copy: "" +2025/08/20 09:13:05 [debug] 622183#622183: *4 http script copy: "GATEWAY_INTERFACE" +2025/08/20 09:13:05 [debug] 622183#622183: *4 http script copy: "CGI/1.1" +2025/08/20 09:13:05 [debug] 622183#622183: *4 fastcgi param: "GATEWAY_INTERFACE: CGI/1.1" +2025/08/20 09:13:05 [debug] 622183#622183: *4 http script copy: "SERVER_SOFTWARE" +2025/08/20 09:13:05 [debug] 622183#622183: *4 http script copy: "nginx/" +2025/08/20 09:13:05 [debug] 622183#622183: *4 http script var: "1.18.0" +2025/08/20 09:13:05 [debug] 622183#622183: *4 fastcgi param: "SERVER_SOFTWARE: nginx/1.18.0" +2025/08/20 09:13:05 [debug] 622183#622183: *4 http script copy: "REMOTE_ADDR" +2025/08/20 09:13:05 [debug] 622183#622183: *4 http script var: "127.0.0.1" +2025/08/20 09:13:05 [debug] 622183#622183: *4 fastcgi param: "REMOTE_ADDR: 127.0.0.1" +2025/08/20 09:13:05 [debug] 622183#622183: *4 http script copy: "REMOTE_PORT" +2025/08/20 09:13:05 [debug] 622183#622183: *4 http script var: "54672" +2025/08/20 09:13:05 [debug] 622183#622183: *4 fastcgi param: "REMOTE_PORT: 54672" +2025/08/20 09:13:05 [debug] 622183#622183: *4 http script copy: "SERVER_ADDR" +2025/08/20 09:13:05 [debug] 622183#622183: *4 http script var: "127.0.0.1" +2025/08/20 09:13:05 [debug] 622183#622183: *4 fastcgi param: "SERVER_ADDR: 127.0.0.1" +2025/08/20 09:13:05 [debug] 622183#622183: *4 http script copy: "SERVER_PORT" +2025/08/20 09:13:05 [debug] 622183#622183: *4 http script var: "9001" +2025/08/20 09:13:05 [debug] 622183#622183: *4 fastcgi param: "SERVER_PORT: 9001" +2025/08/20 09:13:05 [debug] 622183#622183: *4 http script copy: "SERVER_NAME" +2025/08/20 09:13:05 [debug] 622183#622183: *4 http script var: "localhost" +2025/08/20 09:13:05 [debug] 622183#622183: *4 fastcgi param: "SERVER_NAME: localhost" +2025/08/20 09:13:05 [debug] 622183#622183: *4 http script copy: "REDIRECT_STATUS" +2025/08/20 09:13:05 [debug] 622183#622183: *4 http script copy: "200" +2025/08/20 09:13:05 [debug] 622183#622183: *4 fastcgi param: "REDIRECT_STATUS: 200" +2025/08/20 09:13:05 [debug] 622183#622183: *4 http script copy: "SCRIPT_FILENAME" +2025/08/20 09:13:05 [debug] 622183#622183: *4 http script var: "./blobs" +2025/08/20 09:13:05 [debug] 622183#622183: *4 http script copy: "/ginxsom.fcgi" +2025/08/20 09:13:05 [debug] 622183#622183: *4 fastcgi param: "SCRIPT_FILENAME: ./blobs/ginxsom.fcgi" +2025/08/20 09:13:05 [debug] 622183#622183: *4 fastcgi param: "HTTP_HOST: localhost:9001" +2025/08/20 09:13:05 [debug] 622183#622183: *4 fastcgi param: "HTTP_USER_AGENT: curl/8.15.0" +2025/08/20 09:13:05 [debug] 622183#622183: *4 fastcgi param: "HTTP_ACCEPT: */*" +2025/08/20 09:13:05 [debug] 622183#622183: *4 fastcgi param: "HTTP_AUTHORIZATION: Nostr eyJraW5kIjoyNDI0MiwiaWQiOiJhY2E4NmMzMDAwYWFiMmZmMDRjZTFjZGMwYWE2MWJmZTdmZjI0MmIxYTQ2ZjE4NmFlMTQ1NDRhZjJkNzNiOWRjIiwicHVia2V5IjoiNzliZTY2N2VmOWRjYmJhYzU1YTA2Mjk1Y2U4NzBiMDcwMjliZmNkYjJkY2UyOGQ5NTlmMjgxNWIxNmY4MTc5OCIsImNyZWF0ZWRfYXQiOjE3NTU2OTU1ODUsInRhZ3MiOltbInQiLCJ1cGxvYWQiXSxbIngiLCJiZjViOTRiYjA2YWNkNTc3MWE0MWRjODY4NzY0YjQxODYxNzg5YTc2ZDFmMzEyYTFlNzE4N2RmMmY3YmE3ZTcyIl0sWyJleHBpcmF0aW9uIiwiMTc1NTY5OTE4NSJdXSwiY29udGVudCI6IiIsInNpZyI6IjRlMGU3YmU5ZGQyYzgyN2M1ODFjMjQ2MWE5YjMxMzM2MTQ2YjZkMTFmZWIwODRhNGRhMzQ5NTVkODQ2NTc2YzljZTg0OTFkOWIwN2ZkZWM2ZTg2ODhmODcxODRjNGUzODQwYTAxMTk2NTk5ZWI0MjgxMWIyOWRjZWU5MGIxMjc5In0=" +2025/08/20 09:13:05 [debug] 622183#622183: *4 fastcgi param: "HTTP_CONTENT_TYPE: text/plain" +2025/08/20 09:13:05 [debug] 622183#622183: *4 fastcgi param: "HTTP_CONTENT_DISPOSITION: attachment; filename="test_blob_1755695585.txt"" +2025/08/20 09:13:05 [debug] 622183#622183: *4 fastcgi param: "HTTP_CONTENT_LENGTH: 296" +2025/08/20 09:13:05 [debug] 622183#622183: *4 http cleanup add: 000064D66633EB80 +2025/08/20 09:13:05 [debug] 622183#622183: *4 get rr peer, try: 1 +2025/08/20 09:13:05 [debug] 622183#622183: *4 stream socket 10 +2025/08/20 09:13:05 [debug] 622183#622183: *4 epoll add connection: fd:10 ev:80002005 +2025/08/20 09:13:05 [debug] 622183#622183: *4 connect to unix:/tmp/ginxsom-fcgi.sock, fd:10 #5 +2025/08/20 09:13:05 [debug] 622183#622183: *4 connected +2025/08/20 09:13:05 [debug] 622183#622183: *4 http upstream connect: 0 +2025/08/20 09:13:05 [debug] 622183#622183: *4 posix_memalign: 000064D666311F20:128 @16 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http upstream send request +2025/08/20 09:13:05 [debug] 622183#622183: *4 http upstream send request body +2025/08/20 09:13:05 [debug] 622183#622183: *4 chain writer buf fl:0 s:1304 +2025/08/20 09:13:05 [debug] 622183#622183: *4 chain writer buf fl:0 s:184 +2025/08/20 09:13:05 [debug] 622183#622183: *4 chain writer buf fl:0 s:8 +2025/08/20 09:13:05 [debug] 622183#622183: *4 chain writer buf fl:0 s:112 +2025/08/20 09:13:05 [debug] 622183#622183: *4 chain writer buf fl:0 s:8 +2025/08/20 09:13:05 [debug] 622183#622183: *4 chain writer in: 000064D66633EC10 +2025/08/20 09:13:05 [debug] 622183#622183: *4 writev: 1616 of 1616 +2025/08/20 09:13:05 [debug] 622183#622183: *4 chain writer out: 0000000000000000 +2025/08/20 09:13:05 [debug] 622183#622183: *4 event timer add: 10: 60000:262378458 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http finalize request: -4, "/upload?" a:1, c:2 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http request count:2 blk:0 +2025/08/20 09:13:05 [debug] 622183#622183: timer delta: 1 +2025/08/20 09:13:05 [debug] 622183#622183: worker cycle +2025/08/20 09:13:05 [debug] 622183#622183: epoll timer: 60000 +2025/08/20 09:13:05 [debug] 622183#622183: epoll: fd:6 ev:0004 d:0000718FB53AE1E0 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http run request: "/upload?" +2025/08/20 09:13:05 [debug] 622183#622183: *4 http upstream check client, write event:1, "/upload" +2025/08/20 09:13:05 [debug] 622183#622183: epoll: fd:10 ev:0005 d:0000718FB53AE2C9 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http upstream request: "/upload?" +2025/08/20 09:13:05 [debug] 622183#622183: *4 http upstream process header +2025/08/20 09:13:05 [debug] 622183#622183: *4 malloc: 000064D666333160:4096 +2025/08/20 09:13:05 [debug] 622183#622183: *4 recv: eof:0, avail:-1 +2025/08/20 09:13:05 [debug] 622183#622183: *4 recv: fd:10 4096 of 4096 +2025/08/20 09:13:05 [debug] 622183#622183: *4 recv: avail:560 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record byte: 01 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record byte: 07 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record byte: 00 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record byte: 01 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record byte: 00 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record byte: 21 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record byte: 07 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record byte: 00 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record length: 33 +2025/08/20 09:13:05 [error] 622183#622183: *4 FastCGI sent in stderr: "DEBUG: FastCGI received request" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record byte: 01 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record byte: 07 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record byte: 00 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record byte: 01 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record byte: 01 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record byte: F8 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record byte: 00 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record byte: 00 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record length: 504 +2025/08/20 09:13:05 [error] 622183#622183: *4 FastCGI sent in stderr: "DEBUG: METHOD=PUT, URI=/upload +ENTRY: Entering handle_upload_request() function +DEBUG: handle_upload_request called +LOG: [2025-08-20 09:13:05] PUT /upload - Auth: pending - Status: 0 +DEBUG: content_type=text/plain +DEBUG: content_length=296 +DEBUG: Raw Authorization header: Nostr eyJraW5kIjoyNDI0MiwiaWQiOiJhY2E4NmMzMDAwYWFiMmZmMDRjZTFjZGMwYWE2MWJmZTdmZjI0MmIxYTQ2ZjE4NmFlMTQ1NDRhZjJkNzNiOWRjIiwicHVia2V5IjoiNzliZTY2N2VmOWRjYmJhYzU1YTA2Mjk1Y2U4NzBiMDcwMjliZmNkYjJkY2UyOGQ5NTlmMjgxNWIxNmY4MTc5OCIsImN" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record byte: 01 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record byte: 07 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record byte: 00 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record byte: 01 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record byte: 01 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record byte: F8 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record byte: 00 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record byte: 00 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record length: 504 +2025/08/20 09:13:05 [error] 622183#622183: *4 FastCGI sent in stderr: "yZWF0ZWRfYXQiOjE3NTU2OTU1ODUsInRhZ3MiOltbInQiLCJ1cGxvYWQiXSxbIngiLCJiZjViOTRiYjA2YWNkNTc3MWE0MWRjODY4NzY0YjQxODYxNzg5YTc2ZDFmMzEyYTFlNzE4N2RmMmY3YmE3ZTcyIl0sWyJleHBpcmF0aW9uIiwiMTc1NTY5OTE4NSJdXSwiY29udGVudCI6IiIsInNpZyI6IjRlMGU3YmU5ZGQyYzgyN2M1ODFjMjQ2MWE5YjMxMzM2MTQ2YjZkMTFmZWIwODRhNGRhMzQ5NTVkODQ2NTc2YzljZTg0OTFkOWIwN2ZkZWM2ZTg2ODhmODcxODRjNGUzODQwYTAxMTk2NTk5ZWI0MjgxMWIyOWRjZWU5MGIxMjc5In0= +LOG: [2025-08-20 09:13:05] PUT /upload - Auth: auth_provided - Status: 0 +DEBUG: Successfully read DEBUG-" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record byte: 01 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record byte: 07 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record byte: 00 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record byte: 01 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record byte: 01 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record byte: F8 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record byte: 00 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record byte: 00 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record length: 504 +2025/08/20 09:13:05 [error] 622183#622183: *4 FastCGI sent in stderr: "LAAN: DATA TO HASH: Test blob content for Ginxsom Blossom server +Timestamp: 2025-08-20T09:13:05-04:00 +Random data: cb2a9a84e71c705f9f91f7045a88251158f5f9ae640cfdbfce9546d292b1b424 +Test message: Hello from put_test.sh! + +This file is used to test the upload functionality +of the Ginxsom Blossom server implementation. +1 +DEBUG-LAAN: Calculated SHA-256: bf5b94bb06acd5771a41dc868764b41861789a76d1f312a1e7187df2f7ba7e72 +AUTH: About to perform authentication - auth_header present: YES +AUTH: Calling authent" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record byte: 01 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record byte: 07 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record byte: 00 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record byte: 01 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record byte: 01 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record byte: F8 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record byte: 00 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record byte: 00 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record length: 504 +2025/08/20 09:13:05 [error] 622183#622183: *4 FastCGI sent in stderr: "icate_request with hash: bf5b94bb06acd5771a41dc868764b41861789a76d1f312a1e7187df2f7ba7e72 +═══════════════════════════════════════════════════════════════════ +🔍 STEP SERVER-1: Starting server-style authentication (mirroring test_auth_debug.c) +ℹ️ INFO: Server-style auth called with method: upload, hash: bf5b94bb06acd5771a41dc868764b41861789a76d1f312a1e7187df2f7" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record byte: 01 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record byte: 07 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record byte: 00 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record byte: 01 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record byte: 01 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record byte: F8 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record byte: 00 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record byte: 00 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record length: 504 +2025/08/20 09:13:05 [error] 622183#622183: *4 FastCGI sent in stderr: "ba7e72 +🔍 STEP SERVER-2: Calling parse_authorization_header +DEBUG: parse_authorization_header called with header: Nostr eyJraW5kIjoyNDI0MiwiaWQiOiJhY2E4NmMzMDAwYWFi... +DEBUG: Extracted base64 event (length=DEBUG: Base64 decode result - decoded_len=DEBUG: Successfully decoded JSON (length=✅ SUCCESS: parse_authorization_header succeeded +🔍 STEP SERVER-3: Calling cJSON_Parse on JSON string +ℹ️ INFO: JSON to parse: {"kind":24242,"id":"aca86c3000aab2ff04ce1cdc0aa61bfe7ff242b1a46f186ae14544af2d7" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record byte: 01 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record byte: 07 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record byte: 00 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record byte: 01 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record byte: 01 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record byte: F8 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record byte: 00 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record byte: 00 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record length: 504 +2025/08/20 09:13:05 [error] 622183#622183: *4 FastCGI sent in stderr: "3b9dc","pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1755695585,"tags":[["t","upload"],["x","bf5b94bb06acd5771a41dc868764b41861789a76d1f312a1e7187df2f7ba7e72"],["expiration","1755699185"]],"content":"","sig":"4e0e7be9dd2c827c581c2461a9b31336146b6d11feb084a4da34955d846576c9ce8491d9b07fdec6e8688f87184c4e3840a01196599eb42811b29dcee90b1279"} +✅ SUCCESS: cJSON_Parse succeeded, event parsed +ℹ️ INFO: Parsed JSON: { + "kind": 24242, + "id": "aca86c3000aab2ff04c" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record byte: 01 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record byte: 07 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record byte: 00 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record byte: 01 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record byte: 01 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record byte: F8 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record byte: 00 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record byte: 00 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record length: 504 +2025/08/20 09:13:05 [error] 622183#622183: *4 FastCGI sent in stderr: "e1cdc0aa61bfe7ff242b1a46f186ae14544af2d73b9dc", + "pubkey": "79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798", + "created_at": 1755695585, + "tags": [["t", "upload"], ["x", "bf5b94bb06acd5771a41dc868764b41861789a76d1f312a1e7187df2f7ba7e72"], ["expiration", "1755699185"]], + "content": "", + "sig": "4e0e7be9dd2c827c581c2461a9b31336146b6d11feb084a4da34955d846576c9ce8491d9b07fdec6e8688f87184c4e3840a01196599eb42811b29dcee90b1279" +} +🔍 STEP SERVER-4: Event fields before validation +ℹ️ I" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record byte: 01 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record byte: 07 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record byte: 00 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record byte: 01 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record byte: 01 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record byte: F8 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record byte: 00 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record byte: 00 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record length: 504 +2025/08/20 09:13:05 [error] 622183#622183: *4 FastCGI sent in stderr: "NFO: id: aca86c3000aab2ff04ce1cdc0aa61bfe7ff242b1a46f186ae14544af2d73b9dc +ℹ️ INFO: pubkey: 79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 +ℹ️ INFO: sig: 4e0e7be9dd2c827c581c2461a9b31336146b6d11feb084a4da34955d846576c9ce8491d9b07fdec6e8688f87184c4e3840a01196599eb42811b29dcee90b1279 +ℹ️ INFO: kind: 24242 +ℹ️ INFO: created_at: 1755695585 +🔍 STEP SERVER-5: Detailed pubkey analysis +ℹ️ INFO: Pubkey: 79be6" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:13:05 [debug] 622183#622183: *4 recv: eof:0, avail:560 +2025/08/20 09:13:05 [debug] 622183#622183: *4 recv: fd:10 1432 of 4096 +2025/08/20 09:13:05 [debug] 622183#622183: *4 recv: avail:0 +2025/08/20 09:13:05 [error] 622183#622183: *4 FastCGI sent in stderr: "67ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f28" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record byte: 01 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record byte: 07 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record byte: 00 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record byte: 01 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record byte: 01 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record byte: F8 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record byte: 00 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record byte: 00 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record length: 504 +2025/08/20 09:13:05 [error] 622183#622183: *4 FastCGI sent in stderr: "15b16f81798 +ℹ️ INFO: Length: ℹ️ INFO: Character analysis (first 10): +7(0x37) 9(0x39) b(0x62) e(0x65) 6(0x36) 6(0x36) 7(0x37) e(0x65) f(0x66) 9(0x39) +🔍 STEP SERVER-6: Pre-validation pubkey analysis +ℹ️ INFO: Pubkey: 79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 +ℹ️ INFO: Length: ℹ️ INFO: Character analysis (first 10): +7(55) 9(57) b(98) e(101) 6(54) 6(54) 7(55) e(101) f(102) 9(57) +ℹ️ INFO: Character validation test: +ALL VALID (lowercas" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record byte: 01 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record byte: 07 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record byte: 00 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record byte: 01 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record byte: 01 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record byte: F8 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record byte: 00 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record byte: 00 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record length: 504 +2025/08/20 09:13:05 [error] 622183#622183: *4 FastCGI sent in stderr: "e hex) +🔍 STEP SERVER-7: Starting detailed validation analysis +ℹ️ INFO: Testing structure validation... +ℹ️ INFO: nostr_validate_event_structure returned: 0 (Success) +✅ SUCCESS: Structure validation PASSED +ℹ️ INFO: Testing cryptographic verification... +ℹ️ INFO: nostr_verify_event_signature returned: -32 (Event has invalid public key) +❌ ERROR: CRYPTO verification failed! +❌ ERROR: Failed pubkey: 79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 (length: AUTH:" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record byte: 01 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record byte: 07 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record byte: 00 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record byte: 01 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record byte: 00 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record byte: 6E +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record byte: 02 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record byte: 00 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record length: 110 +2025/08/20 09:13:05 [error] 622183#622183: *4 FastCGI sent in stderr: "authenticate_request returned: -32 +LOG: [2025-08-20 09:13:05] PUT /upload - Auth: auth_failed - Status: 401" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record byte: 01 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record byte: 07 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record byte: 00 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record byte: 01 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record byte: 00 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record byte: 00 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record byte: 00 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record byte: 00 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record length: 0 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record byte: 01 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record byte: 06 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record byte: 00 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record byte: 01 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record byte: 00 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record byte: C7 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record byte: 01 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record byte: 00 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record length: 199 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi parser: 0 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi header: "Status: 401 Unauthorized" +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi parser: 0 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi header: "Content-Type: application/json" +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi parser: 1 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi header done +2025/08/20 09:13:05 [debug] 622183#622183: *4 HTTP/1.1 401 Unauthorized +Server: nginx/1.18.0 (Ubuntu) +Date: Wed, 20 Aug 2025 13:13:05 GMT +Content-Type: application/json +Transfer-Encoding: chunked +Connection: keep-alive + +2025/08/20 09:13:05 [debug] 622183#622183: *4 write new buf t:1 f:0 000064D666332808, pos 000064D666332808, size: 181 file: 0, size: 0 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http write filter: l:0 f:0 s:181 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http cacheable: 0 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http upstream process upstream +2025/08/20 09:13:05 [debug] 622183#622183: *4 pipe read upstream: 0 +2025/08/20 09:13:05 [debug] 622183#622183: *4 pipe preread: 164 +2025/08/20 09:13:05 [debug] 622183#622183: *4 pipe buf free s:0 t:1 f:0 000064D666333160, pos 000064D666333654, size: 164 file: 0, size: 0 +2025/08/20 09:13:05 [debug] 622183#622183: *4 pipe length: -1 +2025/08/20 09:13:05 [debug] 622183#622183: *4 pipe write downstream: 1 +2025/08/20 09:13:05 [debug] 622183#622183: *4 pipe write busy: 0 +2025/08/20 09:13:05 [debug] 622183#622183: *4 pipe write: out:0000000000000000, f:0 +2025/08/20 09:13:05 [debug] 622183#622183: *4 pipe read upstream: 0 +2025/08/20 09:13:05 [debug] 622183#622183: *4 pipe buf free s:0 t:1 f:0 000064D666333160, pos 000064D666333654, size: 164 file: 0, size: 0 +2025/08/20 09:13:05 [debug] 622183#622183: *4 pipe length: -1 +2025/08/20 09:13:05 [debug] 622183#622183: *4 event timer: 10, old: 262378458, new: 262378460 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http upstream request: "/upload?" +2025/08/20 09:13:05 [debug] 622183#622183: *4 http upstream dummy handler +2025/08/20 09:13:05 [debug] 622183#622183: timer delta: 2 +2025/08/20 09:13:05 [debug] 622183#622183: worker cycle +2025/08/20 09:13:05 [debug] 622183#622183: epoll timer: 59998 +2025/08/20 09:13:05 [debug] 622183#622183: epoll: fd:10 ev:2005 d:0000718FB53AE2C9 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http upstream request: "/upload?" +2025/08/20 09:13:05 [debug] 622183#622183: *4 http upstream process upstream +2025/08/20 09:13:05 [debug] 622183#622183: *4 pipe read upstream: 1 +2025/08/20 09:13:05 [debug] 622183#622183: *4 readv: eof:1, avail:-1 +2025/08/20 09:13:05 [debug] 622183#622183: *4 readv: 1, last:2664 +2025/08/20 09:13:05 [debug] 622183#622183: *4 pipe recv chain: 0 +2025/08/20 09:13:05 [debug] 622183#622183: *4 pipe buf free s:0 t:1 f:0 000064D666333160, pos 000064D666333654, size: 164 file: 0, size: 0 +2025/08/20 09:13:05 [debug] 622183#622183: *4 pipe length: -1 +2025/08/20 09:13:05 [debug] 622183#622183: *4 input buf #0 000064D666333654 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record byte: 01 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record byte: 06 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record byte: 00 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record byte: 01 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record byte: 00 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record byte: 00 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record byte: 00 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record byte: 00 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record length: 0 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi closed stdout +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record byte: 01 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record byte: 03 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record byte: 00 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record byte: 01 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record byte: 00 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record byte: 08 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record byte: 00 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record byte: 00 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi record length: 8 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http fastcgi sent end request +2025/08/20 09:13:05 [debug] 622183#622183: *4 input buf 000064D666333654 139 +2025/08/20 09:13:05 [debug] 622183#622183: *4 pipe write downstream: 1 +2025/08/20 09:13:05 [debug] 622183#622183: *4 pipe write downstream flush in +2025/08/20 09:13:05 [debug] 622183#622183: *4 http output filter "/upload?" +2025/08/20 09:13:05 [debug] 622183#622183: *4 http copy filter: "/upload?" +2025/08/20 09:13:05 [debug] 622183#622183: *4 http postpone filter "/upload?" 000064D66633EBE0 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http chunk: 139 +2025/08/20 09:13:05 [debug] 622183#622183: *4 write old buf t:1 f:0 000064D666332808, pos 000064D666332808, size: 181 file: 0, size: 0 +2025/08/20 09:13:05 [debug] 622183#622183: *4 write new buf t:1 f:0 000064D66633ED78, pos 000064D66633ED78, size: 4 file: 0, size: 0 +2025/08/20 09:13:05 [debug] 622183#622183: *4 write new buf t:1 f:0 000064D666333160, pos 000064D666333654, size: 139 file: 0, size: 0 +2025/08/20 09:13:05 [debug] 622183#622183: *4 write new buf t:0 f:0 0000000000000000, pos 000064D657F962E8, size: 2 file: 0, size: 0 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http write filter: l:0 f:0 s:326 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http copy filter: 0 "/upload?" +2025/08/20 09:13:05 [debug] 622183#622183: *4 pipe write downstream done +2025/08/20 09:13:05 [debug] 622183#622183: *4 event timer: 10, old: 262378458, new: 262378462 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http upstream exit: 0000000000000000 +2025/08/20 09:13:05 [debug] 622183#622183: *4 finalize http upstream request: 0 +2025/08/20 09:13:05 [debug] 622183#622183: *4 finalize http fastcgi request +2025/08/20 09:13:05 [debug] 622183#622183: *4 free rr peer 1 0 +2025/08/20 09:13:05 [debug] 622183#622183: *4 close http upstream connection: 10 +2025/08/20 09:13:05 [debug] 622183#622183: *4 free: 000064D666311F20, unused: 48 +2025/08/20 09:13:05 [debug] 622183#622183: *4 event timer del: 10: 262378458 +2025/08/20 09:13:05 [debug] 622183#622183: *4 reusable connection: 0 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http upstream temp fd: -1 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http output filter "/upload?" +2025/08/20 09:13:05 [debug] 622183#622183: *4 http copy filter: "/upload?" +2025/08/20 09:13:05 [debug] 622183#622183: *4 http postpone filter "/upload?" 00007FFFAF45B1F0 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http chunk: 0 +2025/08/20 09:13:05 [debug] 622183#622183: *4 write old buf t:1 f:0 000064D666332808, pos 000064D666332808, size: 181 file: 0, size: 0 +2025/08/20 09:13:05 [debug] 622183#622183: *4 write old buf t:1 f:0 000064D66633ED78, pos 000064D66633ED78, size: 4 file: 0, size: 0 +2025/08/20 09:13:05 [debug] 622183#622183: *4 write old buf t:1 f:0 000064D666333160, pos 000064D666333654, size: 139 file: 0, size: 0 +2025/08/20 09:13:05 [debug] 622183#622183: *4 write old buf t:0 f:0 0000000000000000, pos 000064D657F962E8, size: 2 file: 0, size: 0 +2025/08/20 09:13:05 [debug] 622183#622183: *4 write new buf t:0 f:0 0000000000000000, pos 000064D657F962E5, size: 5 file: 0, size: 0 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http write filter: l:1 f:0 s:331 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http write filter limit 0 +2025/08/20 09:13:05 [debug] 622183#622183: *4 writev: 331 of 331 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http write filter 0000000000000000 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http copy filter: 0 "/upload?" +2025/08/20 09:13:05 [debug] 622183#622183: *4 http finalize request: 0, "/upload?" a:1, c:1 +2025/08/20 09:13:05 [debug] 622183#622183: *4 set http keepalive handler +2025/08/20 09:13:05 [debug] 622183#622183: *4 http close request +2025/08/20 09:13:05 [debug] 622183#622183: *4 http log handler +2025/08/20 09:13:05 [debug] 622183#622183: *4 free: 000064D666333160 +2025/08/20 09:13:05 [debug] 622183#622183: *4 free: 000064D666347A30, unused: 3 +2025/08/20 09:13:05 [debug] 622183#622183: *4 free: 000064D66633DDA0, unused: 0 +2025/08/20 09:13:05 [debug] 622183#622183: *4 free: 000064D666332150, unused: 1250 +2025/08/20 09:13:05 [debug] 622183#622183: *4 free: 000064D66632B0A0 +2025/08/20 09:13:05 [debug] 622183#622183: *4 hc free: 0000000000000000 +2025/08/20 09:13:05 [debug] 622183#622183: *4 hc busy: 0000000000000000 0 +2025/08/20 09:13:05 [debug] 622183#622183: *4 tcp_nodelay +2025/08/20 09:13:05 [debug] 622183#622183: *4 reusable connection: 1 +2025/08/20 09:13:05 [debug] 622183#622183: *4 event timer add: 6: 65000:262383462 +2025/08/20 09:13:05 [debug] 622183#622183: *4 post event 000064D666379770 +2025/08/20 09:13:05 [debug] 622183#622183: timer delta: 2 +2025/08/20 09:13:05 [debug] 622183#622183: posted event 000064D666379770 +2025/08/20 09:13:05 [debug] 622183#622183: *4 delete posted event 000064D666379770 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http keepalive handler +2025/08/20 09:13:05 [debug] 622183#622183: *4 malloc: 000064D66632B0A0:1024 +2025/08/20 09:13:05 [debug] 622183#622183: *4 recv: eof:0, avail:0 +2025/08/20 09:13:05 [debug] 622183#622183: *4 free: 000064D66632B0A0 +2025/08/20 09:13:05 [debug] 622183#622183: worker cycle +2025/08/20 09:13:05 [debug] 622183#622183: epoll timer: 65000 +2025/08/20 09:13:05 [debug] 622183#622183: epoll: fd:6 ev:2005 d:0000718FB53AE1E0 +2025/08/20 09:13:05 [debug] 622183#622183: *4 http keepalive handler +2025/08/20 09:13:05 [debug] 622183#622183: *4 malloc: 000064D66632B0A0:1024 +2025/08/20 09:13:05 [debug] 622183#622183: *4 recv: eof:1, avail:-1 +2025/08/20 09:13:05 [debug] 622183#622183: *4 recv: fd:6 0 of 1024 +2025/08/20 09:13:05 [info] 622183#622183: *4 client 127.0.0.1 closed keepalive connection +2025/08/20 09:13:05 [debug] 622183#622183: *4 close http connection: 6 +2025/08/20 09:13:05 [debug] 622183#622183: *4 event timer del: 6: 262383462 +2025/08/20 09:13:05 [debug] 622183#622183: *4 reusable connection: 0 +2025/08/20 09:13:05 [debug] 622183#622183: *4 free: 000064D66632B0A0 +2025/08/20 09:13:05 [debug] 622183#622183: *4 free: 000064D666328840, unused: 120 +2025/08/20 09:13:05 [debug] 622183#622183: timer delta: 2 +2025/08/20 09:13:05 [debug] 622183#622183: worker cycle +2025/08/20 09:13:05 [debug] 622183#622183: epoll timer: -1 +2025/08/20 09:13:05 [debug] 622183#622183: epoll: fd:5 ev:0001 d:0000718FB53AE010 +2025/08/20 09:13:05 [debug] 622183#622183: accept on 0.0.0.0:9001, ready: 0 +2025/08/20 09:13:05 [debug] 622183#622183: posix_memalign: 000064D666328840:512 @16 +2025/08/20 09:13:05 [debug] 622183#622183: *6 accept: 127.0.0.1:54684 fd:6 +2025/08/20 09:13:05 [debug] 622183#622183: *6 event timer add: 6: 60000:262378475 +2025/08/20 09:13:05 [debug] 622183#622183: *6 reusable connection: 1 +2025/08/20 09:13:05 [debug] 622183#622183: *6 epoll add event: fd:6 op:1 ev:80002001 +2025/08/20 09:13:05 [debug] 622183#622183: timer delta: 11 +2025/08/20 09:13:05 [debug] 622183#622183: worker cycle +2025/08/20 09:13:05 [debug] 622183#622183: epoll timer: 60000 +2025/08/20 09:13:05 [debug] 622183#622183: epoll: fd:6 ev:0001 d:0000718FB53AE1E1 +2025/08/20 09:13:05 [debug] 622183#622183: *6 http wait request handler +2025/08/20 09:13:05 [debug] 622183#622183: *6 malloc: 000064D66632B0A0:1024 +2025/08/20 09:13:05 [debug] 622183#622183: *6 recv: eof:0, avail:-1 +2025/08/20 09:13:05 [debug] 622183#622183: *6 recv: fd:6 142 of 1024 +2025/08/20 09:13:05 [debug] 622183#622183: *6 reusable connection: 0 +2025/08/20 09:13:05 [debug] 622183#622183: *6 posix_memalign: 000064D666347A30:4096 @16 +2025/08/20 09:13:05 [debug] 622183#622183: *6 http process request line +2025/08/20 09:13:05 [debug] 622183#622183: *6 http request line: "GET /bf5b94bb06acd5771a41dc868764b41861789a76d1f312a1e7187df2f7ba7e72 HTTP/1.1" +2025/08/20 09:13:05 [debug] 622183#622183: *6 http uri: "/bf5b94bb06acd5771a41dc868764b41861789a76d1f312a1e7187df2f7ba7e72" +2025/08/20 09:13:05 [debug] 622183#622183: *6 http args: "" +2025/08/20 09:13:05 [debug] 622183#622183: *6 http exten: "" +2025/08/20 09:13:05 [debug] 622183#622183: *6 posix_memalign: 000064D66633DDA0:4096 @16 +2025/08/20 09:13:05 [debug] 622183#622183: *6 http process request header line +2025/08/20 09:13:05 [debug] 622183#622183: *6 http header: "Host: localhost:9001" +2025/08/20 09:13:05 [debug] 622183#622183: *6 http header: "User-Agent: curl/8.15.0" +2025/08/20 09:13:05 [debug] 622183#622183: *6 http header: "Accept: */*" +2025/08/20 09:13:05 [debug] 622183#622183: *6 http header done +2025/08/20 09:13:05 [debug] 622183#622183: *6 event timer del: 6: 262378475 +2025/08/20 09:13:05 [debug] 622183#622183: *6 generic phase: 0 +2025/08/20 09:13:05 [debug] 622183#622183: *6 rewrite phase: 1 +2025/08/20 09:13:05 [debug] 622183#622183: *6 test location: "/health" +2025/08/20 09:13:05 [debug] 622183#622183: *6 test location: "/debug/list" +2025/08/20 09:13:05 [debug] 622183#622183: *6 test location: "/" +2025/08/20 09:13:05 [debug] 622183#622183: *6 test location: ~ "^/([a-f0-9]{64}).*$" +2025/08/20 09:13:05 [debug] 622183#622183: *6 using configuration "^/([a-f0-9]{64}).*$" +2025/08/20 09:13:05 [debug] 622183#622183: *6 http cl:-1 max:104857600 +2025/08/20 09:13:05 [debug] 622183#622183: *6 rewrite phase: 3 +2025/08/20 09:13:05 [debug] 622183#622183: *6 http script var +2025/08/20 09:13:05 [debug] 622183#622183: *6 http script var: "GET" +2025/08/20 09:13:05 [debug] 622183#622183: *6 http script value: "DELETE" +2025/08/20 09:13:05 [debug] 622183#622183: *6 http script not equal +2025/08/20 09:13:05 [debug] 622183#622183: *6 http script if +2025/08/20 09:13:05 [debug] 622183#622183: *6 http finalize request: 404, "/bf5b94bb06acd5771a41dc868764b41861789a76d1f312a1e7187df2f7ba7e72?" a:1, c:1 +2025/08/20 09:13:05 [debug] 622183#622183: *6 http special response: 404, "/bf5b94bb06acd5771a41dc868764b41861789a76d1f312a1e7187df2f7ba7e72?" +2025/08/20 09:13:05 [debug] 622183#622183: *6 http set discard body +2025/08/20 09:13:05 [debug] 622183#622183: *6 HTTP/1.1 404 Not Found +Server: nginx/1.18.0 (Ubuntu) +Date: Wed, 20 Aug 2025 13:13:05 GMT +Content-Type: text/html +Content-Length: 162 +Connection: keep-alive + +2025/08/20 09:13:05 [debug] 622183#622183: *6 write new buf t:1 f:0 000064D66633E180, pos 000064D66633E180, size: 164 file: 0, size: 0 +2025/08/20 09:13:05 [debug] 622183#622183: *6 http write filter: l:0 f:0 s:164 +2025/08/20 09:13:05 [debug] 622183#622183: *6 http output filter "/bf5b94bb06acd5771a41dc868764b41861789a76d1f312a1e7187df2f7ba7e72?" +2025/08/20 09:13:05 [debug] 622183#622183: *6 http copy filter: "/bf5b94bb06acd5771a41dc868764b41861789a76d1f312a1e7187df2f7ba7e72?" +2025/08/20 09:13:05 [debug] 622183#622183: *6 http postpone filter "/bf5b94bb06acd5771a41dc868764b41861789a76d1f312a1e7187df2f7ba7e72?" 000064D66633E310 +2025/08/20 09:13:05 [debug] 622183#622183: *6 write old buf t:1 f:0 000064D66633E180, pos 000064D66633E180, size: 164 file: 0, size: 0 +2025/08/20 09:13:05 [debug] 622183#622183: *6 write new buf t:0 f:0 0000000000000000, pos 000064D657FD5580, size: 100 file: 0, size: 0 +2025/08/20 09:13:05 [debug] 622183#622183: *6 write new buf t:0 f:0 0000000000000000, pos 000064D657FD5C80, size: 62 file: 0, size: 0 +2025/08/20 09:13:05 [debug] 622183#622183: *6 http write filter: l:1 f:0 s:326 +2025/08/20 09:13:05 [debug] 622183#622183: *6 http write filter limit 0 +2025/08/20 09:13:05 [debug] 622183#622183: *6 writev: 326 of 326 +2025/08/20 09:13:05 [debug] 622183#622183: *6 http write filter 0000000000000000 +2025/08/20 09:13:05 [debug] 622183#622183: *6 http copy filter: 0 "/bf5b94bb06acd5771a41dc868764b41861789a76d1f312a1e7187df2f7ba7e72?" +2025/08/20 09:13:05 [debug] 622183#622183: *6 http finalize request: 0, "/bf5b94bb06acd5771a41dc868764b41861789a76d1f312a1e7187df2f7ba7e72?" a:1, c:1 +2025/08/20 09:13:05 [debug] 622183#622183: *6 set http keepalive handler +2025/08/20 09:13:05 [debug] 622183#622183: *6 http close request +2025/08/20 09:13:05 [debug] 622183#622183: *6 http log handler +2025/08/20 09:13:05 [debug] 622183#622183: *6 free: 000064D666347A30, unused: 0 +2025/08/20 09:13:05 [debug] 622183#622183: *6 free: 000064D66633DDA0, unused: 2456 +2025/08/20 09:13:05 [debug] 622183#622183: *6 free: 000064D66632B0A0 +2025/08/20 09:13:05 [debug] 622183#622183: *6 hc free: 0000000000000000 +2025/08/20 09:13:05 [debug] 622183#622183: *6 hc busy: 0000000000000000 0 +2025/08/20 09:13:05 [debug] 622183#622183: *6 tcp_nodelay +2025/08/20 09:13:05 [debug] 622183#622183: *6 reusable connection: 1 +2025/08/20 09:13:05 [debug] 622183#622183: *6 event timer add: 6: 65000:262383475 +2025/08/20 09:13:05 [debug] 622183#622183: timer delta: 0 +2025/08/20 09:13:05 [debug] 622183#622183: worker cycle +2025/08/20 09:13:05 [debug] 622183#622183: epoll timer: 65000 +2025/08/20 09:13:05 [debug] 622183#622183: epoll: fd:6 ev:2001 d:0000718FB53AE1E1 +2025/08/20 09:13:05 [debug] 622183#622183: *6 http keepalive handler +2025/08/20 09:13:05 [debug] 622183#622183: *6 malloc: 000064D66632B0A0:1024 +2025/08/20 09:13:05 [debug] 622183#622183: *6 recv: eof:1, avail:-1 +2025/08/20 09:13:05 [debug] 622183#622183: *6 recv: fd:6 0 of 1024 +2025/08/20 09:13:05 [info] 622183#622183: *6 client 127.0.0.1 closed keepalive connection +2025/08/20 09:13:05 [debug] 622183#622183: *6 close http connection: 6 +2025/08/20 09:13:05 [debug] 622183#622183: *6 event timer del: 6: 262383475 +2025/08/20 09:13:05 [debug] 622183#622183: *6 reusable connection: 0 +2025/08/20 09:13:05 [debug] 622183#622183: *6 free: 000064D66632B0A0 +2025/08/20 09:13:05 [debug] 622183#622183: *6 free: 000064D666328840, unused: 136 +2025/08/20 09:13:05 [debug] 622183#622183: timer delta: 2 +2025/08/20 09:13:05 [debug] 622183#622183: worker cycle +2025/08/20 09:13:05 [debug] 622183#622183: epoll timer: -1 +2025/08/20 09:13:39 [notice] 622182#622182: signal 15 (SIGTERM) received from 623045, exiting +2025/08/20 09:13:39 [debug] 622182#622182: wake up, sigio 0 +2025/08/20 09:13:39 [debug] 622182#622182: child: 0 622183 e:0 t:0 d:0 r:1 j:0 +2025/08/20 09:13:39 [debug] 622182#622182: termination cycle: 50 +2025/08/20 09:13:39 [debug] 622182#622182: sigsuspend +2025/08/20 09:13:39 [debug] 622183#622183: epoll: fd:7 ev:0001 d:0000718FB53AE0F8 +2025/08/20 09:13:39 [debug] 622183#622183: channel handler +2025/08/20 09:13:39 [debug] 622183#622183: channel: 32 +2025/08/20 09:13:39 [debug] 622183#622183: channel command: 4 +2025/08/20 09:13:39 [debug] 622183#622183: channel: -2 +2025/08/20 09:13:39 [debug] 622183#622183: timer delta: 34527 +2025/08/20 09:13:39 [notice] 622183#622183: exiting +2025/08/20 09:13:39 [debug] 622183#622183: flush files +2025/08/20 09:13:39 [debug] 622183#622183: run cleanup: 000064D666376A80 +2025/08/20 09:13:39 [debug] 622183#622183: run cleanup: 000064D666369A18 +2025/08/20 09:13:39 [debug] 622183#622183: cleanup resolver +2025/08/20 09:13:39 [debug] 622183#622183: free: 000064D666377DE0 +2025/08/20 09:13:39 [debug] 622183#622183: free: 000064D66636ABE0 +2025/08/20 09:13:39 [debug] 622183#622183: free: 000064D666349B50 +2025/08/20 09:13:39 [debug] 622183#622183: free: 000064D666348A40 +2025/08/20 09:13:39 [debug] 622183#622183: free: 000064D666342A10 +2025/08/20 09:13:39 [debug] 622183#622183: free: 000064D666341950 +2025/08/20 09:13:39 [debug] 622183#622183: free: 000064D666340890 +2025/08/20 09:13:39 [debug] 622183#622183: free: 000064D66633F7D0 +2025/08/20 09:13:39 [debug] 622183#622183: free: 000064D666337170 +2025/08/20 09:13:39 [debug] 622183#622183: free: 000064D66632E140, unused: 0 +2025/08/20 09:13:39 [debug] 622183#622183: free: 000064D666338580, unused: 0 +2025/08/20 09:13:39 [debug] 622183#622183: free: 000064D666343A20, unused: 0 +2025/08/20 09:13:39 [debug] 622183#622183: free: 000064D66634AB60, unused: 0 +2025/08/20 09:13:39 [debug] 622183#622183: free: 000064D66634EB70, unused: 0 +2025/08/20 09:13:39 [debug] 622183#622183: free: 000064D666352B80, unused: 0 +2025/08/20 09:13:39 [debug] 622183#622183: free: 000064D666356B90, unused: 0 +2025/08/20 09:13:39 [debug] 622183#622183: free: 000064D66635ABA0, unused: 0 +2025/08/20 09:13:39 [debug] 622183#622183: free: 000064D66635EBB0, unused: 0 +2025/08/20 09:13:39 [debug] 622183#622183: free: 000064D666362BC0, unused: 0 +2025/08/20 09:13:39 [debug] 622183#622183: free: 000064D666366BD0, unused: 0 +2025/08/20 09:13:39 [debug] 622183#622183: free: 000064D66636BDB0, unused: 0 +2025/08/20 09:13:39 [debug] 622183#622183: free: 000064D66636FDC0, unused: 0 +2025/08/20 09:13:39 [debug] 622183#622183: free: 000064D666373DD0, unused: 4920 +2025/08/20 09:13:39 [notice] 622183#622183: exit +2025/08/20 09:13:39 [notice] 622182#622182: signal 17 (SIGCHLD) received from 622183 +2025/08/20 09:13:39 [notice] 622182#622182: worker process 622183 exited with code 0 +2025/08/20 09:13:39 [debug] 622182#622182: shmtx forced unlock +2025/08/20 09:13:39 [debug] 622182#622182: wake up, sigio 3 +2025/08/20 09:13:39 [debug] 622182#622182: reap children +2025/08/20 09:13:39 [debug] 622182#622182: child: 0 622183 e:1 t:1 d:0 r:1 j:0 +2025/08/20 09:13:39 [notice] 622182#622182: exit +2025/08/20 09:13:39 [debug] 622182#622182: close listening 0.0.0.0:9001 #5 +2025/08/20 09:13:39 [debug] 622182#622182: run cleanup: 000064D666369A18 +2025/08/20 09:13:39 [debug] 622182#622182: cleanup resolver +2025/08/20 09:13:39 [debug] 622182#622182: free: 000064D666377DE0 +2025/08/20 09:13:39 [debug] 622182#622182: free: 000064D66636ABE0 +2025/08/20 09:13:39 [debug] 622182#622182: free: 000064D666349B50 +2025/08/20 09:13:39 [debug] 622182#622182: free: 000064D666348A40 +2025/08/20 09:13:39 [debug] 622182#622182: free: 000064D666342A10 +2025/08/20 09:13:39 [debug] 622182#622182: free: 000064D666341950 +2025/08/20 09:13:39 [debug] 622182#622182: free: 000064D666340890 +2025/08/20 09:13:39 [debug] 622182#622182: free: 000064D66633F7D0 +2025/08/20 09:13:39 [debug] 622182#622182: free: 000064D666337170 +2025/08/20 09:13:39 [debug] 622182#622182: free: 000064D66632E140, unused: 0 +2025/08/20 09:13:39 [debug] 622182#622182: free: 000064D666338580, unused: 0 +2025/08/20 09:13:39 [debug] 622182#622182: free: 000064D666343A20, unused: 0 +2025/08/20 09:13:39 [debug] 622182#622182: free: 000064D66634AB60, unused: 0 +2025/08/20 09:13:39 [debug] 622182#622182: free: 000064D66634EB70, unused: 0 +2025/08/20 09:13:39 [debug] 622182#622182: free: 000064D666352B80, unused: 0 +2025/08/20 09:13:39 [debug] 622182#622182: free: 000064D666356B90, unused: 0 +2025/08/20 09:13:39 [debug] 622182#622182: free: 000064D66635ABA0, unused: 0 +2025/08/20 09:13:39 [debug] 622182#622182: free: 000064D66635EBB0, unused: 0 +2025/08/20 09:13:39 [debug] 622182#622182: free: 000064D666362BC0, unused: 0 +2025/08/20 09:13:39 [debug] 622182#622182: free: 000064D666366BD0, unused: 0 +2025/08/20 09:13:39 [debug] 622182#622182: free: 000064D66636BDB0, unused: 0 +2025/08/20 09:13:39 [debug] 622182#622182: free: 000064D66636FDC0, unused: 0 +2025/08/20 09:13:39 [debug] 622182#622182: free: 000064D666373DD0, unused: 4951 +2025/08/20 09:13:44 [debug] 623111#623111: bind() 0.0.0.0:9001 #5 +2025/08/20 09:13:44 [debug] 623111#623111: counter: 00007C6E1C3A0080, 1 +2025/08/20 09:13:44 [debug] 623112#623112: bind() 0.0.0.0:9001 #5 +2025/08/20 09:13:44 [notice] 623112#623112: using the "epoll" event method +2025/08/20 09:13:44 [debug] 623112#623112: counter: 00007F7B7C8F4080, 1 +2025/08/20 09:13:44 [notice] 623112#623112: nginx/1.18.0 (Ubuntu) +2025/08/20 09:13:44 [notice] 623112#623112: OS: Linux 6.12.10-76061203-generic +2025/08/20 09:13:44 [notice] 623112#623112: getrlimit(RLIMIT_NOFILE): 1048576:1048576 +2025/08/20 09:13:44 [debug] 623113#623112: write: 6, 00007FFC96668220, 7, 0 +2025/08/20 09:13:44 [debug] 623113#623113: setproctitle: "nginx: master process nginx -p . -c config/local-nginx.conf" +2025/08/20 09:13:44 [notice] 623113#623113: start worker processes +2025/08/20 09:13:44 [debug] 623113#623113: channel 6:7 +2025/08/20 09:13:44 [notice] 623113#623113: start worker process 623114 +2025/08/20 09:13:44 [debug] 623113#623113: sigsuspend +2025/08/20 09:13:44 [debug] 623114#623114: add cleanup: 0000627587190A80 +2025/08/20 09:13:44 [debug] 623114#623114: malloc: 0000627587143BD0:8 +2025/08/20 09:13:44 [debug] 623114#623114: notify eventfd: 9 +2025/08/20 09:13:44 [debug] 623114#623114: testing the EPOLLRDHUP flag: success +2025/08/20 09:13:44 [debug] 623114#623114: malloc: 0000627587156590:6144 +2025/08/20 09:13:44 [debug] 623114#623114: malloc: 00007F7B7C6EC010:237568 +2025/08/20 09:13:44 [debug] 623114#623114: malloc: 00006275871936B0:98304 +2025/08/20 09:13:44 [debug] 623114#623114: malloc: 00006275871AB6C0:98304 +2025/08/20 09:13:44 [debug] 623114#623114: epoll add event: fd:5 op:1 ev:00002001 +2025/08/20 09:13:44 [debug] 623114#623114: epoll add event: fd:7 op:1 ev:00002001 +2025/08/20 09:13:44 [debug] 623114#623114: setproctitle: "nginx: worker process" +2025/08/20 09:13:44 [debug] 623114#623114: worker cycle +2025/08/20 09:13:44 [debug] 623114#623114: epoll timer: -1 +2025/08/20 09:14:03 [debug] 623114#623114: epoll: fd:5 ev:0001 d:00007F7B7C6EC010 +2025/08/20 09:14:03 [debug] 623114#623114: accept on 0.0.0.0:9001, ready: 0 +2025/08/20 09:14:03 [debug] 623114#623114: posix_memalign: 0000627587142840:512 @16 +2025/08/20 09:14:03 [debug] 623114#623114: *1 accept: 127.0.0.1:55994 fd:6 +2025/08/20 09:14:03 [debug] 623114#623114: *1 event timer add: 6: 60000:262436338 +2025/08/20 09:14:03 [debug] 623114#623114: *1 reusable connection: 1 +2025/08/20 09:14:03 [debug] 623114#623114: *1 epoll add event: fd:6 op:1 ev:80002001 +2025/08/20 09:14:03 [debug] 623114#623114: timer delta: 19073 +2025/08/20 09:14:03 [debug] 623114#623114: worker cycle +2025/08/20 09:14:03 [debug] 623114#623114: epoll timer: 60000 +2025/08/20 09:14:03 [debug] 623114#623114: epoll: fd:6 ev:0001 d:00007F7B7C6EC1E0 +2025/08/20 09:14:03 [debug] 623114#623114: *1 http wait request handler +2025/08/20 09:14:03 [debug] 623114#623114: *1 malloc: 00006275871450A0:1024 +2025/08/20 09:14:03 [debug] 623114#623114: *1 recv: eof:0, avail:-1 +2025/08/20 09:14:03 [debug] 623114#623114: *1 recv: fd:6 84 of 1024 +2025/08/20 09:14:03 [debug] 623114#623114: *1 reusable connection: 0 +2025/08/20 09:14:03 [debug] 623114#623114: *1 posix_memalign: 0000627587161A30:4096 @16 +2025/08/20 09:14:03 [debug] 623114#623114: *1 http process request line +2025/08/20 09:14:03 [debug] 623114#623114: *1 http request line: "GET /health HTTP/1.1" +2025/08/20 09:14:03 [debug] 623114#623114: *1 http uri: "/health" +2025/08/20 09:14:03 [debug] 623114#623114: *1 http args: "" +2025/08/20 09:14:03 [debug] 623114#623114: *1 http exten: "" +2025/08/20 09:14:03 [debug] 623114#623114: *1 posix_memalign: 0000627587157DA0:4096 @16 +2025/08/20 09:14:03 [debug] 623114#623114: *1 http process request header line +2025/08/20 09:14:03 [debug] 623114#623114: *1 http header: "Host: localhost:9001" +2025/08/20 09:14:03 [debug] 623114#623114: *1 http header: "User-Agent: curl/8.15.0" +2025/08/20 09:14:03 [debug] 623114#623114: *1 http header: "Accept: */*" +2025/08/20 09:14:03 [debug] 623114#623114: *1 http header done +2025/08/20 09:14:03 [debug] 623114#623114: *1 event timer del: 6: 262436338 +2025/08/20 09:14:03 [debug] 623114#623114: *1 generic phase: 0 +2025/08/20 09:14:03 [debug] 623114#623114: *1 rewrite phase: 1 +2025/08/20 09:14:03 [debug] 623114#623114: *1 test location: "/health" +2025/08/20 09:14:03 [debug] 623114#623114: *1 test location: ~ "^/([a-f0-9]{64}).*$" +2025/08/20 09:14:03 [debug] 623114#623114: *1 test location: ~ "^/([a-f0-9]{64})(\.[a-zA-Z0-9]+)?$" +2025/08/20 09:14:03 [debug] 623114#623114: *1 test location: ~ "^/fcgi-head/([a-f0-9]{64}).*$" +2025/08/20 09:14:03 [debug] 623114#623114: *1 test location: ~ "^/list/([a-f0-9]{64}).*$" +2025/08/20 09:14:03 [debug] 623114#623114: *1 using configuration "/health" +2025/08/20 09:14:03 [debug] 623114#623114: *1 http cl:-1 max:104857600 +2025/08/20 09:14:03 [debug] 623114#623114: *1 rewrite phase: 3 +2025/08/20 09:14:03 [debug] 623114#623114: *1 http set discard body +2025/08/20 09:14:03 [debug] 623114#623114: *1 HTTP/1.1 200 OK +Server: nginx/1.18.0 (Ubuntu) +Date: Wed, 20 Aug 2025 13:14:03 GMT +Content-Type: application/octet-stream +Content-Length: 3 +Connection: keep-alive +Content-Type: text/plain + +2025/08/20 09:14:03 [debug] 623114#623114: *1 write new buf t:1 f:0 0000627587158180, pos 0000627587158180, size: 196 file: 0, size: 0 +2025/08/20 09:14:03 [debug] 623114#623114: *1 http write filter: l:0 f:0 s:196 +2025/08/20 09:14:03 [debug] 623114#623114: *1 http output filter "/health?" +2025/08/20 09:14:03 [debug] 623114#623114: *1 http copy filter: "/health?" +2025/08/20 09:14:03 [debug] 623114#623114: *1 http postpone filter "/health?" 00007FFC96667DB0 +2025/08/20 09:14:03 [debug] 623114#623114: *1 write old buf t:1 f:0 0000627587158180, pos 0000627587158180, size: 196 file: 0, size: 0 +2025/08/20 09:14:03 [debug] 623114#623114: *1 write new buf t:0 f:0 0000000000000000, pos 000062758717FB42, size: 3 file: 0, size: 0 +2025/08/20 09:14:03 [debug] 623114#623114: *1 http write filter: l:1 f:0 s:199 +2025/08/20 09:14:03 [debug] 623114#623114: *1 http write filter limit 0 +2025/08/20 09:14:03 [debug] 623114#623114: *1 writev: 199 of 199 +2025/08/20 09:14:03 [debug] 623114#623114: *1 http write filter 0000000000000000 +2025/08/20 09:14:03 [debug] 623114#623114: *1 http copy filter: 0 "/health?" +2025/08/20 09:14:03 [debug] 623114#623114: *1 http finalize request: 0, "/health?" a:1, c:1 +2025/08/20 09:14:03 [debug] 623114#623114: *1 set http keepalive handler +2025/08/20 09:14:03 [debug] 623114#623114: *1 http close request +2025/08/20 09:14:03 [debug] 623114#623114: *1 http log handler +2025/08/20 09:14:03 [debug] 623114#623114: *1 free: 0000627587161A30, unused: 0 +2025/08/20 09:14:03 [debug] 623114#623114: *1 free: 0000627587157DA0, unused: 2736 +2025/08/20 09:14:03 [debug] 623114#623114: *1 free: 00006275871450A0 +2025/08/20 09:14:03 [debug] 623114#623114: *1 hc free: 0000000000000000 +2025/08/20 09:14:03 [debug] 623114#623114: *1 hc busy: 0000000000000000 0 +2025/08/20 09:14:03 [debug] 623114#623114: *1 tcp_nodelay +2025/08/20 09:14:03 [debug] 623114#623114: *1 reusable connection: 1 +2025/08/20 09:14:03 [debug] 623114#623114: *1 event timer add: 6: 65000:262441339 +2025/08/20 09:14:03 [debug] 623114#623114: timer delta: 1 +2025/08/20 09:14:03 [debug] 623114#623114: worker cycle +2025/08/20 09:14:03 [debug] 623114#623114: epoll timer: 65000 +2025/08/20 09:14:03 [debug] 623114#623114: epoll: fd:6 ev:2001 d:00007F7B7C6EC1E0 +2025/08/20 09:14:03 [debug] 623114#623114: *1 http keepalive handler +2025/08/20 09:14:03 [debug] 623114#623114: *1 malloc: 00006275871450A0:1024 +2025/08/20 09:14:03 [debug] 623114#623114: *1 recv: eof:1, avail:-1 +2025/08/20 09:14:03 [debug] 623114#623114: *1 recv: fd:6 0 of 1024 +2025/08/20 09:14:03 [info] 623114#623114: *1 client 127.0.0.1 closed keepalive connection +2025/08/20 09:14:03 [debug] 623114#623114: *1 close http connection: 6 +2025/08/20 09:14:03 [debug] 623114#623114: *1 event timer del: 6: 262441339 +2025/08/20 09:14:03 [debug] 623114#623114: *1 reusable connection: 0 +2025/08/20 09:14:03 [debug] 623114#623114: *1 free: 00006275871450A0 +2025/08/20 09:14:03 [debug] 623114#623114: *1 free: 0000627587142840, unused: 136 +2025/08/20 09:14:03 [debug] 623114#623114: timer delta: 1 +2025/08/20 09:14:03 [debug] 623114#623114: worker cycle +2025/08/20 09:14:03 [debug] 623114#623114: epoll timer: -1 +2025/08/20 09:14:03 [debug] 623114#623114: epoll: fd:5 ev:0001 d:00007F7B7C6EC010 +2025/08/20 09:14:03 [debug] 623114#623114: accept on 0.0.0.0:9001, ready: 0 +2025/08/20 09:14:03 [debug] 623114#623114: posix_memalign: 0000627587142840:512 @16 +2025/08/20 09:14:03 [debug] 623114#623114: *2 accept: 127.0.0.1:55996 fd:6 +2025/08/20 09:14:03 [debug] 623114#623114: *2 event timer add: 6: 60000:262436645 +2025/08/20 09:14:03 [debug] 623114#623114: *2 reusable connection: 1 +2025/08/20 09:14:03 [debug] 623114#623114: *2 epoll add event: fd:6 op:1 ev:80002001 +2025/08/20 09:14:03 [debug] 623114#623114: timer delta: 305 +2025/08/20 09:14:03 [debug] 623114#623114: worker cycle +2025/08/20 09:14:03 [debug] 623114#623114: epoll timer: 60000 +2025/08/20 09:14:03 [debug] 623114#623114: epoll: fd:6 ev:0001 d:00007F7B7C6EC1E1 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http wait request handler +2025/08/20 09:14:03 [debug] 623114#623114: *2 malloc: 00006275871450A0:1024 +2025/08/20 09:14:03 [debug] 623114#623114: *2 recv: eof:0, avail:-1 +2025/08/20 09:14:03 [debug] 623114#623114: *2 recv: fd:6 1024 of 1024 +2025/08/20 09:14:03 [debug] 623114#623114: *2 recv: avail:112 +2025/08/20 09:14:03 [debug] 623114#623114: *2 reusable connection: 0 +2025/08/20 09:14:03 [debug] 623114#623114: *2 posix_memalign: 0000627587161A30:4096 @16 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http process request line +2025/08/20 09:14:03 [debug] 623114#623114: *2 http request line: "PUT /upload HTTP/1.1" +2025/08/20 09:14:03 [debug] 623114#623114: *2 http uri: "/upload" +2025/08/20 09:14:03 [debug] 623114#623114: *2 http args: "" +2025/08/20 09:14:03 [debug] 623114#623114: *2 http exten: "" +2025/08/20 09:14:03 [debug] 623114#623114: *2 posix_memalign: 0000627587157DA0:4096 @16 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http process request header line +2025/08/20 09:14:03 [debug] 623114#623114: *2 http header: "Host: localhost:9001" +2025/08/20 09:14:03 [debug] 623114#623114: *2 http header: "User-Agent: curl/8.15.0" +2025/08/20 09:14:03 [debug] 623114#623114: *2 http header: "Accept: */*" +2025/08/20 09:14:03 [debug] 623114#623114: *2 http header: "Authorization: Nostr eyJraW5kIjoyNDI0MiwiaWQiOiJhNzdlNTMxMzFmMjcyZWVhMjM3OWI2YjdhYzNiZGM2MGI3MGNkNjZjYTE3MzkzOWYyOWZjZjNhZDdkOTVhODg1IiwicHVia2V5IjoiNzliZTY2N2VmOWRjYmJhYzU1YTA2Mjk1Y2U4NzBiMDcwMjliZmNkYjJkY2UyOGQ5NTlmMjgxNWIxNmY4MTc5OCIsImNyZWF0ZWRfYXQiOjE3NTU2OTU2NDMsInRhZ3MiOltbInQiLCJ1cGxvYWQiXSxbIngiLCIyMmRjNGY4MjQ4NzcwYjE3YWQ4MWU2MzlmNWMyNjU3YmJhZmUwNGZkMDQ4NTIyZmMwOGMyNDJmMzBiMTFlM2JhIl0sWyJleHBpcmF0aW9uIiwiMTc1NTY5OTI0MyJdXSwiY29udGVudCI6IiIsInNpZyI6ImUxMjAzMTAwYmQ2ZDc5N2QxMzVmY2IwY2YxYWI1MzE3MzRhZTJlZDBiZmZjMGI4YjBkMjQxNTcwYmMzZTFmNmQ0YjdiYmIyMDhlNGYwMzQ2MzM3YWViYjBlNmY2YmJkOTFmZTA5YzM4ZTQ5ODIxNWVlOGU3MzE0ZjcwY2RlNGUyIn0=" +2025/08/20 09:14:03 [debug] 623114#623114: *2 http header: "Content-Type: text/plain" +2025/08/20 09:14:03 [debug] 623114#623114: *2 http header: "Content-Disposition: attachment; filename="test_blob_1755695643.txt"" +2025/08/20 09:14:03 [debug] 623114#623114: *2 http header: "Content-Length: 296" +2025/08/20 09:14:03 [debug] 623114#623114: *2 http header done +2025/08/20 09:14:03 [debug] 623114#623114: *2 event timer del: 6: 262436645 +2025/08/20 09:14:03 [debug] 623114#623114: *2 generic phase: 0 +2025/08/20 09:14:03 [debug] 623114#623114: *2 rewrite phase: 1 +2025/08/20 09:14:03 [debug] 623114#623114: *2 test location: "/health" +2025/08/20 09:14:03 [debug] 623114#623114: *2 test location: "/upload" +2025/08/20 09:14:03 [debug] 623114#623114: *2 test location: ~ "^/([a-f0-9]{64}).*$" +2025/08/20 09:14:03 [debug] 623114#623114: *2 test location: ~ "^/([a-f0-9]{64})(\.[a-zA-Z0-9]+)?$" +2025/08/20 09:14:03 [debug] 623114#623114: *2 test location: ~ "^/fcgi-head/([a-f0-9]{64}).*$" +2025/08/20 09:14:03 [debug] 623114#623114: *2 test location: ~ "^/list/([a-f0-9]{64}).*$" +2025/08/20 09:14:03 [debug] 623114#623114: *2 using configuration "/upload" +2025/08/20 09:14:03 [debug] 623114#623114: *2 http cl:296 max:104857600 +2025/08/20 09:14:03 [debug] 623114#623114: *2 rewrite phase: 3 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http script var +2025/08/20 09:14:03 [debug] 623114#623114: *2 http script var: "PUT" +2025/08/20 09:14:03 [debug] 623114#623114: *2 http script regex: "^(PUT)$" +2025/08/20 09:14:03 [notice] 623114#623114: *2 "^(PUT)$" matches "PUT", client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", host: "localhost:9001" +2025/08/20 09:14:03 [debug] 623114#623114: *2 http script if +2025/08/20 09:14:03 [debug] 623114#623114: *2 http script if: false +2025/08/20 09:14:03 [debug] 623114#623114: *2 post rewrite phase: 4 +2025/08/20 09:14:03 [debug] 623114#623114: *2 generic phase: 5 +2025/08/20 09:14:03 [debug] 623114#623114: *2 generic phase: 6 +2025/08/20 09:14:03 [debug] 623114#623114: *2 generic phase: 7 +2025/08/20 09:14:03 [debug] 623114#623114: *2 access phase: 8 +2025/08/20 09:14:03 [debug] 623114#623114: *2 access phase: 9 +2025/08/20 09:14:03 [debug] 623114#623114: *2 access phase: 10 +2025/08/20 09:14:03 [debug] 623114#623114: *2 post access phase: 11 +2025/08/20 09:14:03 [debug] 623114#623114: *2 generic phase: 12 +2025/08/20 09:14:03 [debug] 623114#623114: *2 generic phase: 13 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http client request body preread 184 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http request body content length filter +2025/08/20 09:14:03 [debug] 623114#623114: *2 http body new buf t:1 f:0 00006275871453E8, pos 00006275871453E8, size: 184 file: 0, size: 0 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http read client request body +2025/08/20 09:14:03 [debug] 623114#623114: *2 recv: eof:0, avail:112 +2025/08/20 09:14:03 [debug] 623114#623114: *2 recv: fd:6 112 of 112 +2025/08/20 09:14:03 [debug] 623114#623114: *2 recv: avail:0 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http client request body recv 112 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http body new buf t:1 f:0 0000627587158830, pos 0000627587158830, size: 112 file: 0, size: 0 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http client request body rest 0 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http init upstream, client timer: 0 +2025/08/20 09:14:03 [debug] 623114#623114: *2 epoll add event: fd:6 op:3 ev:80002005 +2025/08/20 09:14:03 [debug] 623114#623114: *2 posix_memalign: 000062758714C150:4096 @16 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http script copy: "QUERY_STRING" +2025/08/20 09:14:03 [debug] 623114#623114: *2 fastcgi param: "QUERY_STRING: " +2025/08/20 09:14:03 [debug] 623114#623114: *2 http script copy: "REQUEST_METHOD" +2025/08/20 09:14:03 [debug] 623114#623114: *2 http script var: "PUT" +2025/08/20 09:14:03 [debug] 623114#623114: *2 fastcgi param: "REQUEST_METHOD: PUT" +2025/08/20 09:14:03 [debug] 623114#623114: *2 http script copy: "CONTENT_TYPE" +2025/08/20 09:14:03 [debug] 623114#623114: *2 http script var: "text/plain" +2025/08/20 09:14:03 [debug] 623114#623114: *2 fastcgi param: "CONTENT_TYPE: text/plain" +2025/08/20 09:14:03 [debug] 623114#623114: *2 http script copy: "CONTENT_LENGTH" +2025/08/20 09:14:03 [debug] 623114#623114: *2 http script var: "296" +2025/08/20 09:14:03 [debug] 623114#623114: *2 fastcgi param: "CONTENT_LENGTH: 296" +2025/08/20 09:14:03 [debug] 623114#623114: *2 http script copy: "SCRIPT_NAME" +2025/08/20 09:14:03 [debug] 623114#623114: *2 http script var: "/upload" +2025/08/20 09:14:03 [debug] 623114#623114: *2 fastcgi param: "SCRIPT_NAME: /upload" +2025/08/20 09:14:03 [debug] 623114#623114: *2 http script copy: "REQUEST_URI" +2025/08/20 09:14:03 [debug] 623114#623114: *2 http script var: "/upload" +2025/08/20 09:14:03 [debug] 623114#623114: *2 fastcgi param: "REQUEST_URI: /upload" +2025/08/20 09:14:03 [debug] 623114#623114: *2 http script copy: "DOCUMENT_URI" +2025/08/20 09:14:03 [debug] 623114#623114: *2 http script var: "/upload" +2025/08/20 09:14:03 [debug] 623114#623114: *2 fastcgi param: "DOCUMENT_URI: /upload" +2025/08/20 09:14:03 [debug] 623114#623114: *2 http script copy: "DOCUMENT_ROOT" +2025/08/20 09:14:03 [debug] 623114#623114: *2 http script var: "./blobs" +2025/08/20 09:14:03 [debug] 623114#623114: *2 fastcgi param: "DOCUMENT_ROOT: ./blobs" +2025/08/20 09:14:03 [debug] 623114#623114: *2 http script copy: "SERVER_PROTOCOL" +2025/08/20 09:14:03 [debug] 623114#623114: *2 http script var: "HTTP/1.1" +2025/08/20 09:14:03 [debug] 623114#623114: *2 fastcgi param: "SERVER_PROTOCOL: HTTP/1.1" +2025/08/20 09:14:03 [debug] 623114#623114: *2 http script copy: "REQUEST_SCHEME" +2025/08/20 09:14:03 [debug] 623114#623114: *2 http script var: "http" +2025/08/20 09:14:03 [debug] 623114#623114: *2 fastcgi param: "REQUEST_SCHEME: http" +2025/08/20 09:14:03 [debug] 623114#623114: *2 http script copy: "" +2025/08/20 09:14:03 [debug] 623114#623114: *2 http script copy: "GATEWAY_INTERFACE" +2025/08/20 09:14:03 [debug] 623114#623114: *2 http script copy: "CGI/1.1" +2025/08/20 09:14:03 [debug] 623114#623114: *2 fastcgi param: "GATEWAY_INTERFACE: CGI/1.1" +2025/08/20 09:14:03 [debug] 623114#623114: *2 http script copy: "SERVER_SOFTWARE" +2025/08/20 09:14:03 [debug] 623114#623114: *2 http script copy: "nginx/" +2025/08/20 09:14:03 [debug] 623114#623114: *2 http script var: "1.18.0" +2025/08/20 09:14:03 [debug] 623114#623114: *2 fastcgi param: "SERVER_SOFTWARE: nginx/1.18.0" +2025/08/20 09:14:03 [debug] 623114#623114: *2 http script copy: "REMOTE_ADDR" +2025/08/20 09:14:03 [debug] 623114#623114: *2 http script var: "127.0.0.1" +2025/08/20 09:14:03 [debug] 623114#623114: *2 fastcgi param: "REMOTE_ADDR: 127.0.0.1" +2025/08/20 09:14:03 [debug] 623114#623114: *2 http script copy: "REMOTE_PORT" +2025/08/20 09:14:03 [debug] 623114#623114: *2 http script var: "55996" +2025/08/20 09:14:03 [debug] 623114#623114: *2 fastcgi param: "REMOTE_PORT: 55996" +2025/08/20 09:14:03 [debug] 623114#623114: *2 http script copy: "SERVER_ADDR" +2025/08/20 09:14:03 [debug] 623114#623114: *2 http script var: "127.0.0.1" +2025/08/20 09:14:03 [debug] 623114#623114: *2 fastcgi param: "SERVER_ADDR: 127.0.0.1" +2025/08/20 09:14:03 [debug] 623114#623114: *2 http script copy: "SERVER_PORT" +2025/08/20 09:14:03 [debug] 623114#623114: *2 http script var: "9001" +2025/08/20 09:14:03 [debug] 623114#623114: *2 fastcgi param: "SERVER_PORT: 9001" +2025/08/20 09:14:03 [debug] 623114#623114: *2 http script copy: "SERVER_NAME" +2025/08/20 09:14:03 [debug] 623114#623114: *2 http script var: "localhost" +2025/08/20 09:14:03 [debug] 623114#623114: *2 fastcgi param: "SERVER_NAME: localhost" +2025/08/20 09:14:03 [debug] 623114#623114: *2 http script copy: "REDIRECT_STATUS" +2025/08/20 09:14:03 [debug] 623114#623114: *2 http script copy: "200" +2025/08/20 09:14:03 [debug] 623114#623114: *2 fastcgi param: "REDIRECT_STATUS: 200" +2025/08/20 09:14:03 [debug] 623114#623114: *2 http script copy: "SCRIPT_FILENAME" +2025/08/20 09:14:03 [debug] 623114#623114: *2 http script var: "./blobs" +2025/08/20 09:14:03 [debug] 623114#623114: *2 http script copy: "/ginxsom.fcgi" +2025/08/20 09:14:03 [debug] 623114#623114: *2 fastcgi param: "SCRIPT_FILENAME: ./blobs/ginxsom.fcgi" +2025/08/20 09:14:03 [debug] 623114#623114: *2 fastcgi param: "HTTP_HOST: localhost:9001" +2025/08/20 09:14:03 [debug] 623114#623114: *2 fastcgi param: "HTTP_USER_AGENT: curl/8.15.0" +2025/08/20 09:14:03 [debug] 623114#623114: *2 fastcgi param: "HTTP_ACCEPT: */*" +2025/08/20 09:14:03 [debug] 623114#623114: *2 fastcgi param: "HTTP_AUTHORIZATION: Nostr eyJraW5kIjoyNDI0MiwiaWQiOiJhNzdlNTMxMzFmMjcyZWVhMjM3OWI2YjdhYzNiZGM2MGI3MGNkNjZjYTE3MzkzOWYyOWZjZjNhZDdkOTVhODg1IiwicHVia2V5IjoiNzliZTY2N2VmOWRjYmJhYzU1YTA2Mjk1Y2U4NzBiMDcwMjliZmNkYjJkY2UyOGQ5NTlmMjgxNWIxNmY4MTc5OCIsImNyZWF0ZWRfYXQiOjE3NTU2OTU2NDMsInRhZ3MiOltbInQiLCJ1cGxvYWQiXSxbIngiLCIyMmRjNGY4MjQ4NzcwYjE3YWQ4MWU2MzlmNWMyNjU3YmJhZmUwNGZkMDQ4NTIyZmMwOGMyNDJmMzBiMTFlM2JhIl0sWyJleHBpcmF0aW9uIiwiMTc1NTY5OTI0MyJdXSwiY29udGVudCI6IiIsInNpZyI6ImUxMjAzMTAwYmQ2ZDc5N2QxMzVmY2IwY2YxYWI1MzE3MzRhZTJlZDBiZmZjMGI4YjBkMjQxNTcwYmMzZTFmNmQ0YjdiYmIyMDhlNGYwMzQ2MzM3YWViYjBlNmY2YmJkOTFmZTA5YzM4ZTQ5ODIxNWVlOGU3MzE0ZjcwY2RlNGUyIn0=" +2025/08/20 09:14:03 [debug] 623114#623114: *2 fastcgi param: "HTTP_CONTENT_TYPE: text/plain" +2025/08/20 09:14:03 [debug] 623114#623114: *2 fastcgi param: "HTTP_CONTENT_DISPOSITION: attachment; filename="test_blob_1755695643.txt"" +2025/08/20 09:14:03 [debug] 623114#623114: *2 fastcgi param: "HTTP_CONTENT_LENGTH: 296" +2025/08/20 09:14:03 [debug] 623114#623114: *2 http cleanup add: 0000627587158B80 +2025/08/20 09:14:03 [debug] 623114#623114: *2 get rr peer, try: 1 +2025/08/20 09:14:03 [debug] 623114#623114: *2 stream socket 10 +2025/08/20 09:14:03 [debug] 623114#623114: *2 epoll add connection: fd:10 ev:80002005 +2025/08/20 09:14:03 [debug] 623114#623114: *2 connect to unix:/tmp/ginxsom-fcgi.sock, fd:10 #3 +2025/08/20 09:14:03 [debug] 623114#623114: *2 connected +2025/08/20 09:14:03 [debug] 623114#623114: *2 http upstream connect: 0 +2025/08/20 09:14:03 [debug] 623114#623114: *2 posix_memalign: 000062758712BF20:128 @16 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http upstream send request +2025/08/20 09:14:03 [debug] 623114#623114: *2 http upstream send request body +2025/08/20 09:14:03 [debug] 623114#623114: *2 chain writer buf fl:0 s:1304 +2025/08/20 09:14:03 [debug] 623114#623114: *2 chain writer buf fl:0 s:184 +2025/08/20 09:14:03 [debug] 623114#623114: *2 chain writer buf fl:0 s:8 +2025/08/20 09:14:03 [debug] 623114#623114: *2 chain writer buf fl:0 s:112 +2025/08/20 09:14:03 [debug] 623114#623114: *2 chain writer buf fl:0 s:8 +2025/08/20 09:14:03 [debug] 623114#623114: *2 chain writer in: 0000627587158C10 +2025/08/20 09:14:03 [debug] 623114#623114: *2 writev: 1616 of 1616 +2025/08/20 09:14:03 [debug] 623114#623114: *2 chain writer out: 0000000000000000 +2025/08/20 09:14:03 [debug] 623114#623114: *2 event timer add: 10: 60000:262436645 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http finalize request: -4, "/upload?" a:1, c:2 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http request count:2 blk:0 +2025/08/20 09:14:03 [debug] 623114#623114: timer delta: 0 +2025/08/20 09:14:03 [debug] 623114#623114: worker cycle +2025/08/20 09:14:03 [debug] 623114#623114: epoll timer: 60000 +2025/08/20 09:14:03 [debug] 623114#623114: epoll: fd:6 ev:0004 d:00007F7B7C6EC1E1 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http run request: "/upload?" +2025/08/20 09:14:03 [debug] 623114#623114: *2 http upstream check client, write event:1, "/upload" +2025/08/20 09:14:03 [debug] 623114#623114: epoll: fd:10 ev:0004 d:00007F7B7C6EC2C8 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http upstream request: "/upload?" +2025/08/20 09:14:03 [debug] 623114#623114: *2 http upstream dummy handler +2025/08/20 09:14:03 [debug] 623114#623114: timer delta: 1 +2025/08/20 09:14:03 [debug] 623114#623114: worker cycle +2025/08/20 09:14:03 [debug] 623114#623114: epoll timer: 59999 +2025/08/20 09:14:03 [debug] 623114#623114: epoll: fd:10 ev:0005 d:00007F7B7C6EC2C8 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http upstream request: "/upload?" +2025/08/20 09:14:03 [debug] 623114#623114: *2 http upstream process header +2025/08/20 09:14:03 [debug] 623114#623114: *2 malloc: 000062758714D160:4096 +2025/08/20 09:14:03 [debug] 623114#623114: *2 recv: eof:0, avail:-1 +2025/08/20 09:14:03 [debug] 623114#623114: *2 recv: fd:10 48 of 4096 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record byte: 01 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record byte: 07 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record byte: 00 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record byte: 01 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record byte: 00 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record byte: 21 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record byte: 07 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record byte: 00 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record length: 33 +2025/08/20 09:14:03 [error] 623114#623114: *2 FastCGI sent in stderr: "DEBUG: FastCGI received request" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:14:03 [debug] 623114#623114: *2 recv: eof:0, avail:0 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http upstream request: "/upload?" +2025/08/20 09:14:03 [debug] 623114#623114: *2 http upstream dummy handler +2025/08/20 09:14:03 [debug] 623114#623114: timer delta: 0 +2025/08/20 09:14:03 [debug] 623114#623114: worker cycle +2025/08/20 09:14:03 [debug] 623114#623114: epoll timer: 59999 +2025/08/20 09:14:03 [debug] 623114#623114: epoll: fd:10 ev:0005 d:00007F7B7C6EC2C8 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http upstream request: "/upload?" +2025/08/20 09:14:03 [debug] 623114#623114: *2 http upstream process header +2025/08/20 09:14:03 [debug] 623114#623114: *2 recv: eof:0, avail:-1 +2025/08/20 09:14:03 [debug] 623114#623114: *2 recv: fd:10 4048 of 4048 +2025/08/20 09:14:03 [debug] 623114#623114: *2 recv: avail:560 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record byte: 01 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record byte: 07 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record byte: 00 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record byte: 01 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record byte: 01 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record byte: F8 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record byte: 00 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record byte: 00 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record length: 504 +2025/08/20 09:14:03 [error] 623114#623114: *2 FastCGI sent in stderr: "DEBUG: METHOD=PUT, URI=/upload +ENTRY: Entering handle_upload_request() function +DEBUG: handle_upload_request called +LOG: [2025-08-20 09:14:03] PUT /upload - Auth: pending - Status: 0 +DEBUG: content_type=text/plain +DEBUG: content_length=296 +DEBUG: Raw Authorization header: Nostr eyJraW5kIjoyNDI0MiwiaWQiOiJhNzdlNTMxMzFmMjcyZWVhMjM3OWI2YjdhYzNiZGM2MGI3MGNkNjZjYTE3MzkzOWYyOWZjZjNhZDdkOTVhODg1IiwicHVia2V5IjoiNzliZTY2N2VmOWRjYmJhYzU1YTA2Mjk1Y2U4NzBiMDcwMjliZmNkYjJkY2UyOGQ5NTlmMjgxNWIxNmY4MTc5OCIsImN" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record byte: 01 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record byte: 07 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record byte: 00 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record byte: 01 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record byte: 01 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record byte: F8 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record byte: 00 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record byte: 00 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record length: 504 +2025/08/20 09:14:03 [error] 623114#623114: *2 FastCGI sent in stderr: "yZWF0ZWRfYXQiOjE3NTU2OTU2NDMsInRhZ3MiOltbInQiLCJ1cGxvYWQiXSxbIngiLCIyMmRjNGY4MjQ4NzcwYjE3YWQ4MWU2MzlmNWMyNjU3YmJhZmUwNGZkMDQ4NTIyZmMwOGMyNDJmMzBiMTFlM2JhIl0sWyJleHBpcmF0aW9uIiwiMTc1NTY5OTI0MyJdXSwiY29udGVudCI6IiIsInNpZyI6ImUxMjAzMTAwYmQ2ZDc5N2QxMzVmY2IwY2YxYWI1MzE3MzRhZTJlZDBiZmZjMGI4YjBkMjQxNTcwYmMzZTFmNmQ0YjdiYmIyMDhlNGYwMzQ2MzM3YWViYjBlNmY2YmJkOTFmZTA5YzM4ZTQ5ODIxNWVlOGU3MzE0ZjcwY2RlNGUyIn0= +LOG: [2025-08-20 09:14:03] PUT /upload - Auth: auth_provided - Status: 0 +DEBUG: Successfully read DEBUG-" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record byte: 01 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record byte: 07 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record byte: 00 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record byte: 01 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record byte: 01 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record byte: F8 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record byte: 00 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record byte: 00 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record length: 504 +2025/08/20 09:14:03 [error] 623114#623114: *2 FastCGI sent in stderr: "LAAN: DATA TO HASH: Test blob content for Ginxsom Blossom server +Timestamp: 2025-08-20T09:14:03-04:00 +Random data: cf19079d869e98a9b23a412efab34473018b949c5323a716cd90667445f344f7 +Test message: Hello from put_test.sh! + +This file is used to test the upload functionality +of the Ginxsom Blossom server implementation. + +DEBUG-LAAN: Calculated SHA-256: 22dc4f8248770b17ad81e639f5c2657bbafe04fd048522fc08c242f30b11e3ba +AUTH: About to perform authentication - auth_header present: YES +AUTH: Calling authen" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record byte: 01 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record byte: 07 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record byte: 00 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record byte: 01 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record byte: 01 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record byte: F8 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record byte: 00 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record byte: 00 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record length: 504 +2025/08/20 09:14:03 [error] 623114#623114: *2 FastCGI sent in stderr: "ticate_request with hash: 22dc4f8248770b17ad81e639f5c2657bbafe04fd048522fc08c242f30b11e3ba +═══════════════════════════════════════════════════════════════════ +🔍 STEP SERVER-1: Starting server-style authentication (mirroring test_auth_debug.c) +ℹ️ INFO: Server-style auth called with method: upload, hash: 22dc4f8248770b17ad81e639f5c2657bbafe04fd048522fc08c242f30" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record byte: 01 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record byte: 07 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record byte: 00 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record byte: 01 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record byte: 01 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record byte: F8 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record byte: 00 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record byte: 00 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record length: 504 +2025/08/20 09:14:03 [error] 623114#623114: *2 FastCGI sent in stderr: "b11e3ba +🔍 STEP SERVER-2: Calling parse_authorization_header +DEBUG: parse_authorization_header called with header: Nostr eyJraW5kIjoyNDI0MiwiaWQiOiJhNzdlNTMxMzFmMjcy... +DEBUG: Extracted base64 event (length=DEBUG: Base64 decode result - decoded_len=DEBUG: Successfully decoded JSON (length=✅ SUCCESS: parse_authorization_header succeeded +🔍 STEP SERVER-3: Calling cJSON_Parse on JSON string +ℹ️ INFO: JSON to parse: {"kind":24242,"id":"a77e53131f272eea2379b6b7ac3bdc60b70cd66ca173939f29fcf3ad7d" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record byte: 01 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record byte: 07 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record byte: 00 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record byte: 01 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record byte: 01 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record byte: F8 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record byte: 00 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record byte: 00 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record length: 504 +2025/08/20 09:14:03 [error] 623114#623114: *2 FastCGI sent in stderr: "95a885","pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1755695643,"tags":[["t","upload"],["x","22dc4f8248770b17ad81e639f5c2657bbafe04fd048522fc08c242f30b11e3ba"],["expiration","1755699243"]],"content":"","sig":"e1203100bd6d797d135fcb0cf1ab531734ae2ed0bffc0b8b0d241570bc3e1f6d4b7bbb208e4f0346337aebb0e6f6bbd91fe09c38e498215ee8e7314f70cde4e2"} +✅ SUCCESS: cJSON_Parse succeeded, event parsed +ℹ️ INFO: Parsed JSON: { + "kind": 24242, + "id": "a77e53131f272eea23" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record byte: 01 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record byte: 07 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record byte: 00 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record byte: 01 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record byte: 01 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record byte: F8 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record byte: 00 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record byte: 00 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record length: 504 +2025/08/20 09:14:03 [error] 623114#623114: *2 FastCGI sent in stderr: "79b6b7ac3bdc60b70cd66ca173939f29fcf3ad7d95a885", + "pubkey": "79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798", + "created_at": 1755695643, + "tags": [["t", "upload"], ["x", "22dc4f8248770b17ad81e639f5c2657bbafe04fd048522fc08c242f30b11e3ba"], ["expiration", "1755699243"]], + "content": "", + "sig": "e1203100bd6d797d135fcb0cf1ab531734ae2ed0bffc0b8b0d241570bc3e1f6d4b7bbb208e4f0346337aebb0e6f6bbd91fe09c38e498215ee8e7314f70cde4e2" +} +🔍 STEP SERVER-4: Event fields before validation +ℹ️" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record byte: 01 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record byte: 07 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record byte: 00 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record byte: 01 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record byte: 01 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record byte: F8 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record byte: 00 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record byte: 00 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record length: 504 +2025/08/20 09:14:03 [error] 623114#623114: *2 FastCGI sent in stderr: "INFO: id: a77e53131f272eea2379b6b7ac3bdc60b70cd66ca173939f29fcf3ad7d95a885 +ℹ️ INFO: pubkey: 79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 +ℹ️ INFO: sig: e1203100bd6d797d135fcb0cf1ab531734ae2ed0bffc0b8b0d241570bc3e1f6d4b7bbb208e4f0346337aebb0e6f6bbd91fe09c38e498215ee8e7314f70cde4e2 +ℹ️ INFO: kind: 24242 +ℹ️ INFO: created_at: 1755695643 +🔍 STEP SERVER-5: Detailed pubkey analysis +ℹ️ INFO: Pubkey: 79be" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:14:03 [debug] 623114#623114: *2 recv: eof:0, avail:560 +2025/08/20 09:14:03 [debug] 623114#623114: *2 recv: fd:10 1432 of 4096 +2025/08/20 09:14:03 [debug] 623114#623114: *2 recv: avail:0 +2025/08/20 09:14:03 [error] 623114#623114: *2 FastCGI sent in stderr: "667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record byte: 01 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record byte: 07 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record byte: 00 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record byte: 01 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record byte: 01 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record byte: F8 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record byte: 00 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record byte: 00 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record length: 504 +2025/08/20 09:14:03 [error] 623114#623114: *2 FastCGI sent in stderr: "815b16f81798 +ℹ️ INFO: Length: ℹ️ INFO: Character analysis (first 10): +7(0x37) 9(0x39) b(0x62) e(0x65) 6(0x36) 6(0x36) 7(0x37) e(0x65) f(0x66) 9(0x39) +🔍 STEP SERVER-6: Pre-validation pubkey analysis +ℹ️ INFO: Pubkey: 79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 +ℹ️ INFO: Length: ℹ️ INFO: Character analysis (first 10): +7(55) 9(57) b(98) e(101) 6(54) 6(54) 7(55) e(101) f(102) 9(57) +ℹ️ INFO: Character validation test: +ALL VALID (lowerca" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record byte: 01 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record byte: 07 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record byte: 00 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record byte: 01 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record byte: 01 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record byte: F8 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record byte: 00 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record byte: 00 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record length: 504 +2025/08/20 09:14:03 [error] 623114#623114: *2 FastCGI sent in stderr: "se hex) +🔍 STEP SERVER-7: Starting detailed validation analysis +ℹ️ INFO: Testing structure validation... +ℹ️ INFO: nostr_validate_event_structure returned: 0 (Success) +✅ SUCCESS: Structure validation PASSED +ℹ️ INFO: Testing cryptographic verification... +ℹ️ INFO: nostr_verify_event_signature returned: -32 (Event has invalid public key) +❌ ERROR: CRYPTO verification failed! +❌ ERROR: Failed pubkey: 79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 (length: AUTH:" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record byte: 01 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record byte: 07 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record byte: 00 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record byte: 01 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record byte: 00 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record byte: 6F +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record byte: 01 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record byte: 00 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record length: 111 +2025/08/20 09:14:03 [error] 623114#623114: *2 FastCGI sent in stderr: " authenticate_request returned: -32 +LOG: [2025-08-20 09:14:03] PUT /upload - Auth: auth_failed - Status: 401" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record byte: 01 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record byte: 07 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record byte: 00 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record byte: 01 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record byte: 00 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record byte: 00 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record byte: 00 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record byte: 00 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record length: 0 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record byte: 01 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record byte: 06 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record byte: 00 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record byte: 01 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record byte: 00 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record byte: C7 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record byte: 01 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record byte: 00 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record length: 199 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi parser: 0 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi header: "Status: 401 Unauthorized" +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi parser: 0 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi header: "Content-Type: application/json" +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi parser: 1 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi header done +2025/08/20 09:14:03 [debug] 623114#623114: *2 HTTP/1.1 401 Unauthorized +Server: nginx/1.18.0 (Ubuntu) +Date: Wed, 20 Aug 2025 13:14:03 GMT +Content-Type: application/json +Transfer-Encoding: chunked +Connection: keep-alive + +2025/08/20 09:14:03 [debug] 623114#623114: *2 write new buf t:1 f:0 000062758714C808, pos 000062758714C808, size: 181 file: 0, size: 0 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http write filter: l:0 f:0 s:181 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http cacheable: 0 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http upstream process upstream +2025/08/20 09:14:03 [debug] 623114#623114: *2 pipe read upstream: 0 +2025/08/20 09:14:03 [debug] 623114#623114: *2 pipe preread: 164 +2025/08/20 09:14:03 [debug] 623114#623114: *2 pipe buf free s:0 t:1 f:0 000062758714D160, pos 000062758714D654, size: 164 file: 0, size: 0 +2025/08/20 09:14:03 [debug] 623114#623114: *2 pipe length: -1 +2025/08/20 09:14:03 [debug] 623114#623114: *2 pipe write downstream: 1 +2025/08/20 09:14:03 [debug] 623114#623114: *2 pipe write busy: 0 +2025/08/20 09:14:03 [debug] 623114#623114: *2 pipe write: out:0000000000000000, f:0 +2025/08/20 09:14:03 [debug] 623114#623114: *2 pipe read upstream: 0 +2025/08/20 09:14:03 [debug] 623114#623114: *2 pipe buf free s:0 t:1 f:0 000062758714D160, pos 000062758714D654, size: 164 file: 0, size: 0 +2025/08/20 09:14:03 [debug] 623114#623114: *2 pipe length: -1 +2025/08/20 09:14:03 [debug] 623114#623114: *2 event timer: 10, old: 262436645, new: 262436646 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http upstream request: "/upload?" +2025/08/20 09:14:03 [debug] 623114#623114: *2 http upstream dummy handler +2025/08/20 09:14:03 [debug] 623114#623114: timer delta: 0 +2025/08/20 09:14:03 [debug] 623114#623114: worker cycle +2025/08/20 09:14:03 [debug] 623114#623114: epoll timer: 59999 +2025/08/20 09:14:03 [debug] 623114#623114: epoll: fd:10 ev:2005 d:00007F7B7C6EC2C8 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http upstream request: "/upload?" +2025/08/20 09:14:03 [debug] 623114#623114: *2 http upstream process upstream +2025/08/20 09:14:03 [debug] 623114#623114: *2 pipe read upstream: 1 +2025/08/20 09:14:03 [debug] 623114#623114: *2 readv: eof:1, avail:-1 +2025/08/20 09:14:03 [debug] 623114#623114: *2 readv: 1, last:2664 +2025/08/20 09:14:03 [debug] 623114#623114: *2 pipe recv chain: 0 +2025/08/20 09:14:03 [debug] 623114#623114: *2 pipe buf free s:0 t:1 f:0 000062758714D160, pos 000062758714D654, size: 164 file: 0, size: 0 +2025/08/20 09:14:03 [debug] 623114#623114: *2 pipe length: -1 +2025/08/20 09:14:03 [debug] 623114#623114: *2 input buf #0 000062758714D654 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record byte: 01 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record byte: 06 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record byte: 00 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record byte: 01 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record byte: 00 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record byte: 00 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record byte: 00 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record byte: 00 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record length: 0 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi closed stdout +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record byte: 01 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record byte: 03 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record byte: 00 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record byte: 01 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record byte: 00 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record byte: 08 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record byte: 00 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record byte: 00 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi record length: 8 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http fastcgi sent end request +2025/08/20 09:14:03 [debug] 623114#623114: *2 input buf 000062758714D654 139 +2025/08/20 09:14:03 [debug] 623114#623114: *2 pipe write downstream: 1 +2025/08/20 09:14:03 [debug] 623114#623114: *2 pipe write downstream flush in +2025/08/20 09:14:03 [debug] 623114#623114: *2 http output filter "/upload?" +2025/08/20 09:14:03 [debug] 623114#623114: *2 http copy filter: "/upload?" +2025/08/20 09:14:03 [debug] 623114#623114: *2 http postpone filter "/upload?" 0000627587158BE0 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http chunk: 139 +2025/08/20 09:14:03 [debug] 623114#623114: *2 write old buf t:1 f:0 000062758714C808, pos 000062758714C808, size: 181 file: 0, size: 0 +2025/08/20 09:14:03 [debug] 623114#623114: *2 write new buf t:1 f:0 0000627587158D78, pos 0000627587158D78, size: 4 file: 0, size: 0 +2025/08/20 09:14:03 [debug] 623114#623114: *2 write new buf t:1 f:0 000062758714D160, pos 000062758714D654, size: 139 file: 0, size: 0 +2025/08/20 09:14:03 [debug] 623114#623114: *2 write new buf t:0 f:0 0000000000000000, pos 0000627570E262E8, size: 2 file: 0, size: 0 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http write filter: l:0 f:0 s:326 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http copy filter: 0 "/upload?" +2025/08/20 09:14:03 [debug] 623114#623114: *2 pipe write downstream done +2025/08/20 09:14:03 [debug] 623114#623114: *2 event timer: 10, old: 262436645, new: 262436647 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http upstream exit: 0000000000000000 +2025/08/20 09:14:03 [debug] 623114#623114: *2 finalize http upstream request: 0 +2025/08/20 09:14:03 [debug] 623114#623114: *2 finalize http fastcgi request +2025/08/20 09:14:03 [debug] 623114#623114: *2 free rr peer 1 0 +2025/08/20 09:14:03 [debug] 623114#623114: *2 close http upstream connection: 10 +2025/08/20 09:14:03 [debug] 623114#623114: *2 free: 000062758712BF20, unused: 48 +2025/08/20 09:14:03 [debug] 623114#623114: *2 event timer del: 10: 262436645 +2025/08/20 09:14:03 [debug] 623114#623114: *2 reusable connection: 0 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http upstream temp fd: -1 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http output filter "/upload?" +2025/08/20 09:14:03 [debug] 623114#623114: *2 http copy filter: "/upload?" +2025/08/20 09:14:03 [debug] 623114#623114: *2 http postpone filter "/upload?" 00007FFC96667E60 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http chunk: 0 +2025/08/20 09:14:03 [debug] 623114#623114: *2 write old buf t:1 f:0 000062758714C808, pos 000062758714C808, size: 181 file: 0, size: 0 +2025/08/20 09:14:03 [debug] 623114#623114: *2 write old buf t:1 f:0 0000627587158D78, pos 0000627587158D78, size: 4 file: 0, size: 0 +2025/08/20 09:14:03 [debug] 623114#623114: *2 write old buf t:1 f:0 000062758714D160, pos 000062758714D654, size: 139 file: 0, size: 0 +2025/08/20 09:14:03 [debug] 623114#623114: *2 write old buf t:0 f:0 0000000000000000, pos 0000627570E262E8, size: 2 file: 0, size: 0 +2025/08/20 09:14:03 [debug] 623114#623114: *2 write new buf t:0 f:0 0000000000000000, pos 0000627570E262E5, size: 5 file: 0, size: 0 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http write filter: l:1 f:0 s:331 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http write filter limit 0 +2025/08/20 09:14:03 [debug] 623114#623114: *2 writev: 331 of 331 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http write filter 0000000000000000 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http copy filter: 0 "/upload?" +2025/08/20 09:14:03 [debug] 623114#623114: *2 http finalize request: 0, "/upload?" a:1, c:1 +2025/08/20 09:14:03 [debug] 623114#623114: *2 set http keepalive handler +2025/08/20 09:14:03 [debug] 623114#623114: *2 http close request +2025/08/20 09:14:03 [debug] 623114#623114: *2 http log handler +2025/08/20 09:14:03 [debug] 623114#623114: *2 free: 000062758714D160 +2025/08/20 09:14:03 [debug] 623114#623114: *2 free: 0000627587161A30, unused: 3 +2025/08/20 09:14:03 [debug] 623114#623114: *2 free: 0000627587157DA0, unused: 0 +2025/08/20 09:14:03 [debug] 623114#623114: *2 free: 000062758714C150, unused: 1250 +2025/08/20 09:14:03 [debug] 623114#623114: *2 free: 00006275871450A0 +2025/08/20 09:14:03 [debug] 623114#623114: *2 hc free: 0000000000000000 +2025/08/20 09:14:03 [debug] 623114#623114: *2 hc busy: 0000000000000000 0 +2025/08/20 09:14:03 [debug] 623114#623114: *2 tcp_nodelay +2025/08/20 09:14:03 [debug] 623114#623114: *2 reusable connection: 1 +2025/08/20 09:14:03 [debug] 623114#623114: *2 event timer add: 6: 65000:262441647 +2025/08/20 09:14:03 [debug] 623114#623114: *2 post event 0000627587193770 +2025/08/20 09:14:03 [debug] 623114#623114: timer delta: 1 +2025/08/20 09:14:03 [debug] 623114#623114: posted event 0000627587193770 +2025/08/20 09:14:03 [debug] 623114#623114: *2 delete posted event 0000627587193770 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http keepalive handler +2025/08/20 09:14:03 [debug] 623114#623114: *2 malloc: 00006275871450A0:1024 +2025/08/20 09:14:03 [debug] 623114#623114: *2 recv: eof:0, avail:0 +2025/08/20 09:14:03 [debug] 623114#623114: *2 free: 00006275871450A0 +2025/08/20 09:14:03 [debug] 623114#623114: worker cycle +2025/08/20 09:14:03 [debug] 623114#623114: epoll timer: 65000 +2025/08/20 09:14:03 [debug] 623114#623114: epoll: fd:6 ev:2005 d:00007F7B7C6EC1E1 +2025/08/20 09:14:03 [debug] 623114#623114: *2 http keepalive handler +2025/08/20 09:14:03 [debug] 623114#623114: *2 malloc: 00006275871450A0:1024 +2025/08/20 09:14:03 [debug] 623114#623114: *2 recv: eof:1, avail:-1 +2025/08/20 09:14:03 [debug] 623114#623114: *2 recv: fd:6 0 of 1024 +2025/08/20 09:14:03 [info] 623114#623114: *2 client 127.0.0.1 closed keepalive connection +2025/08/20 09:14:03 [debug] 623114#623114: *2 close http connection: 6 +2025/08/20 09:14:03 [debug] 623114#623114: *2 event timer del: 6: 262441647 +2025/08/20 09:14:03 [debug] 623114#623114: *2 reusable connection: 0 +2025/08/20 09:14:03 [debug] 623114#623114: *2 free: 00006275871450A0 +2025/08/20 09:14:03 [debug] 623114#623114: *2 free: 0000627587142840, unused: 120 +2025/08/20 09:14:03 [debug] 623114#623114: timer delta: 1 +2025/08/20 09:14:03 [debug] 623114#623114: worker cycle +2025/08/20 09:14:03 [debug] 623114#623114: epoll timer: -1 +2025/08/20 09:14:03 [debug] 623114#623114: epoll: fd:5 ev:0001 d:00007F7B7C6EC010 +2025/08/20 09:14:03 [debug] 623114#623114: accept on 0.0.0.0:9001, ready: 0 +2025/08/20 09:14:03 [debug] 623114#623114: posix_memalign: 0000627587142840:512 @16 +2025/08/20 09:14:03 [debug] 623114#623114: *4 accept: 127.0.0.1:56004 fd:6 +2025/08/20 09:14:03 [debug] 623114#623114: *4 event timer add: 6: 60000:262436653 +2025/08/20 09:14:03 [debug] 623114#623114: *4 reusable connection: 1 +2025/08/20 09:14:03 [debug] 623114#623114: *4 epoll add event: fd:6 op:1 ev:80002001 +2025/08/20 09:14:03 [debug] 623114#623114: timer delta: 5 +2025/08/20 09:14:03 [debug] 623114#623114: worker cycle +2025/08/20 09:14:03 [debug] 623114#623114: epoll timer: 60000 +2025/08/20 09:14:03 [debug] 623114#623114: epoll: fd:6 ev:0001 d:00007F7B7C6EC1E0 +2025/08/20 09:14:03 [debug] 623114#623114: *4 http wait request handler +2025/08/20 09:14:03 [debug] 623114#623114: *4 malloc: 00006275871450A0:1024 +2025/08/20 09:14:03 [debug] 623114#623114: *4 recv: eof:0, avail:-1 +2025/08/20 09:14:03 [debug] 623114#623114: *4 recv: fd:6 142 of 1024 +2025/08/20 09:14:03 [debug] 623114#623114: *4 reusable connection: 0 +2025/08/20 09:14:03 [debug] 623114#623114: *4 posix_memalign: 0000627587161A30:4096 @16 +2025/08/20 09:14:03 [debug] 623114#623114: *4 http process request line +2025/08/20 09:14:03 [debug] 623114#623114: *4 http request line: "GET /22dc4f8248770b17ad81e639f5c2657bbafe04fd048522fc08c242f30b11e3ba HTTP/1.1" +2025/08/20 09:14:03 [debug] 623114#623114: *4 http uri: "/22dc4f8248770b17ad81e639f5c2657bbafe04fd048522fc08c242f30b11e3ba" +2025/08/20 09:14:03 [debug] 623114#623114: *4 http args: "" +2025/08/20 09:14:03 [debug] 623114#623114: *4 http exten: "" +2025/08/20 09:14:03 [debug] 623114#623114: *4 posix_memalign: 0000627587157DA0:4096 @16 +2025/08/20 09:14:03 [debug] 623114#623114: *4 http process request header line +2025/08/20 09:14:03 [debug] 623114#623114: *4 http header: "Host: localhost:9001" +2025/08/20 09:14:03 [debug] 623114#623114: *4 http header: "User-Agent: curl/8.15.0" +2025/08/20 09:14:03 [debug] 623114#623114: *4 http header: "Accept: */*" +2025/08/20 09:14:03 [debug] 623114#623114: *4 http header done +2025/08/20 09:14:03 [debug] 623114#623114: *4 event timer del: 6: 262436653 +2025/08/20 09:14:03 [debug] 623114#623114: *4 generic phase: 0 +2025/08/20 09:14:03 [debug] 623114#623114: *4 rewrite phase: 1 +2025/08/20 09:14:03 [debug] 623114#623114: *4 test location: "/health" +2025/08/20 09:14:03 [debug] 623114#623114: *4 test location: "/debug/list" +2025/08/20 09:14:03 [debug] 623114#623114: *4 test location: "/" +2025/08/20 09:14:03 [debug] 623114#623114: *4 test location: ~ "^/([a-f0-9]{64}).*$" +2025/08/20 09:14:03 [debug] 623114#623114: *4 using configuration "^/([a-f0-9]{64}).*$" +2025/08/20 09:14:03 [debug] 623114#623114: *4 http cl:-1 max:104857600 +2025/08/20 09:14:03 [debug] 623114#623114: *4 rewrite phase: 3 +2025/08/20 09:14:03 [debug] 623114#623114: *4 http script var +2025/08/20 09:14:03 [debug] 623114#623114: *4 http script var: "GET" +2025/08/20 09:14:03 [debug] 623114#623114: *4 http script value: "DELETE" +2025/08/20 09:14:03 [debug] 623114#623114: *4 http script not equal +2025/08/20 09:14:03 [debug] 623114#623114: *4 http script if +2025/08/20 09:14:03 [debug] 623114#623114: *4 http finalize request: 404, "/22dc4f8248770b17ad81e639f5c2657bbafe04fd048522fc08c242f30b11e3ba?" a:1, c:1 +2025/08/20 09:14:03 [debug] 623114#623114: *4 http special response: 404, "/22dc4f8248770b17ad81e639f5c2657bbafe04fd048522fc08c242f30b11e3ba?" +2025/08/20 09:14:03 [debug] 623114#623114: *4 http set discard body +2025/08/20 09:14:03 [debug] 623114#623114: *4 HTTP/1.1 404 Not Found +Server: nginx/1.18.0 (Ubuntu) +Date: Wed, 20 Aug 2025 13:14:03 GMT +Content-Type: text/html +Content-Length: 162 +Connection: keep-alive + +2025/08/20 09:14:03 [debug] 623114#623114: *4 write new buf t:1 f:0 0000627587158180, pos 0000627587158180, size: 164 file: 0, size: 0 +2025/08/20 09:14:03 [debug] 623114#623114: *4 http write filter: l:0 f:0 s:164 +2025/08/20 09:14:03 [debug] 623114#623114: *4 http output filter "/22dc4f8248770b17ad81e639f5c2657bbafe04fd048522fc08c242f30b11e3ba?" +2025/08/20 09:14:03 [debug] 623114#623114: *4 http copy filter: "/22dc4f8248770b17ad81e639f5c2657bbafe04fd048522fc08c242f30b11e3ba?" +2025/08/20 09:14:03 [debug] 623114#623114: *4 http postpone filter "/22dc4f8248770b17ad81e639f5c2657bbafe04fd048522fc08c242f30b11e3ba?" 0000627587158310 +2025/08/20 09:14:03 [debug] 623114#623114: *4 write old buf t:1 f:0 0000627587158180, pos 0000627587158180, size: 164 file: 0, size: 0 +2025/08/20 09:14:03 [debug] 623114#623114: *4 write new buf t:0 f:0 0000000000000000, pos 0000627570E65580, size: 100 file: 0, size: 0 +2025/08/20 09:14:03 [debug] 623114#623114: *4 write new buf t:0 f:0 0000000000000000, pos 0000627570E65C80, size: 62 file: 0, size: 0 +2025/08/20 09:14:03 [debug] 623114#623114: *4 http write filter: l:1 f:0 s:326 +2025/08/20 09:14:03 [debug] 623114#623114: *4 http write filter limit 0 +2025/08/20 09:14:03 [debug] 623114#623114: *4 writev: 326 of 326 +2025/08/20 09:14:03 [debug] 623114#623114: *4 http write filter 0000000000000000 +2025/08/20 09:14:03 [debug] 623114#623114: *4 http copy filter: 0 "/22dc4f8248770b17ad81e639f5c2657bbafe04fd048522fc08c242f30b11e3ba?" +2025/08/20 09:14:03 [debug] 623114#623114: *4 http finalize request: 0, "/22dc4f8248770b17ad81e639f5c2657bbafe04fd048522fc08c242f30b11e3ba?" a:1, c:1 +2025/08/20 09:14:03 [debug] 623114#623114: *4 set http keepalive handler +2025/08/20 09:14:03 [debug] 623114#623114: *4 http close request +2025/08/20 09:14:03 [debug] 623114#623114: *4 http log handler +2025/08/20 09:14:03 [debug] 623114#623114: *4 free: 0000627587161A30, unused: 0 +2025/08/20 09:14:03 [debug] 623114#623114: *4 free: 0000627587157DA0, unused: 2456 +2025/08/20 09:14:03 [debug] 623114#623114: *4 free: 00006275871450A0 +2025/08/20 09:14:03 [debug] 623114#623114: *4 hc free: 0000000000000000 +2025/08/20 09:14:03 [debug] 623114#623114: *4 hc busy: 0000000000000000 0 +2025/08/20 09:14:03 [debug] 623114#623114: *4 tcp_nodelay +2025/08/20 09:14:03 [debug] 623114#623114: *4 reusable connection: 1 +2025/08/20 09:14:03 [debug] 623114#623114: *4 event timer add: 6: 65000:262441653 +2025/08/20 09:14:03 [debug] 623114#623114: timer delta: 0 +2025/08/20 09:14:03 [debug] 623114#623114: worker cycle +2025/08/20 09:14:03 [debug] 623114#623114: epoll timer: 65000 +2025/08/20 09:14:03 [debug] 623114#623114: epoll: fd:6 ev:2001 d:00007F7B7C6EC1E0 +2025/08/20 09:14:03 [debug] 623114#623114: *4 http keepalive handler +2025/08/20 09:14:03 [debug] 623114#623114: *4 malloc: 00006275871450A0:1024 +2025/08/20 09:14:03 [debug] 623114#623114: *4 recv: eof:1, avail:-1 +2025/08/20 09:14:03 [debug] 623114#623114: *4 recv: fd:6 0 of 1024 +2025/08/20 09:14:03 [info] 623114#623114: *4 client 127.0.0.1 closed keepalive connection +2025/08/20 09:14:03 [debug] 623114#623114: *4 close http connection: 6 +2025/08/20 09:14:03 [debug] 623114#623114: *4 event timer del: 6: 262441653 +2025/08/20 09:14:03 [debug] 623114#623114: *4 reusable connection: 0 +2025/08/20 09:14:03 [debug] 623114#623114: *4 free: 00006275871450A0 +2025/08/20 09:14:03 [debug] 623114#623114: *4 free: 0000627587142840, unused: 136 +2025/08/20 09:14:03 [debug] 623114#623114: timer delta: 0 +2025/08/20 09:14:03 [debug] 623114#623114: worker cycle +2025/08/20 09:14:03 [debug] 623114#623114: epoll timer: -1 +2025/08/20 09:15:25 [notice] 623113#623113: signal 15 (SIGTERM) received from 623337, exiting +2025/08/20 09:15:25 [debug] 623113#623113: wake up, sigio 0 +2025/08/20 09:15:25 [debug] 623113#623113: child: 0 623114 e:0 t:0 d:0 r:1 j:0 +2025/08/20 09:15:25 [debug] 623113#623113: termination cycle: 50 +2025/08/20 09:15:25 [debug] 623114#623114: epoll: fd:7 ev:0001 d:00007F7B7C6EC0F8 +2025/08/20 09:15:25 [debug] 623113#623113: sigsuspend +2025/08/20 09:15:25 [debug] 623114#623114: channel handler +2025/08/20 09:15:25 [debug] 623114#623114: channel: 32 +2025/08/20 09:15:25 [debug] 623114#623114: channel command: 4 +2025/08/20 09:15:25 [debug] 623114#623114: channel: -2 +2025/08/20 09:15:25 [debug] 623114#623114: timer delta: 82356 +2025/08/20 09:15:25 [notice] 623114#623114: exiting +2025/08/20 09:15:25 [debug] 623114#623114: flush files +2025/08/20 09:15:25 [debug] 623114#623114: run cleanup: 0000627587190A80 +2025/08/20 09:15:25 [debug] 623114#623114: run cleanup: 0000627587183A18 +2025/08/20 09:15:25 [debug] 623114#623114: cleanup resolver +2025/08/20 09:15:25 [debug] 623114#623114: free: 0000627587191DE0 +2025/08/20 09:15:25 [debug] 623114#623114: free: 0000627587184BE0 +2025/08/20 09:15:25 [debug] 623114#623114: free: 0000627587163B50 +2025/08/20 09:15:25 [debug] 623114#623114: free: 0000627587162A40 +2025/08/20 09:15:25 [debug] 623114#623114: free: 000062758715CA10 +2025/08/20 09:15:25 [debug] 623114#623114: free: 000062758715B950 +2025/08/20 09:15:25 [debug] 623114#623114: free: 000062758715A890 +2025/08/20 09:15:25 [debug] 623114#623114: free: 00006275871597D0 +2025/08/20 09:15:25 [debug] 623114#623114: free: 0000627587151170 +2025/08/20 09:15:25 [debug] 623114#623114: free: 0000627587148140, unused: 0 +2025/08/20 09:15:25 [debug] 623114#623114: free: 0000627587152580, unused: 0 +2025/08/20 09:15:25 [debug] 623114#623114: free: 000062758715DA20, unused: 0 +2025/08/20 09:15:25 [debug] 623114#623114: free: 0000627587164B60, unused: 0 +2025/08/20 09:15:25 [debug] 623114#623114: free: 0000627587168B70, unused: 0 +2025/08/20 09:15:25 [debug] 623114#623114: free: 000062758716CB80, unused: 0 +2025/08/20 09:15:25 [debug] 623114#623114: free: 0000627587170B90, unused: 0 +2025/08/20 09:15:25 [debug] 623114#623114: free: 0000627587174BA0, unused: 0 +2025/08/20 09:15:25 [debug] 623114#623114: free: 0000627587178BB0, unused: 0 +2025/08/20 09:15:25 [debug] 623114#623114: free: 000062758717CBC0, unused: 0 +2025/08/20 09:15:25 [debug] 623114#623114: free: 0000627587180BD0, unused: 0 +2025/08/20 09:15:25 [debug] 623114#623114: free: 0000627587185DB0, unused: 0 +2025/08/20 09:15:25 [debug] 623114#623114: free: 0000627587189DC0, unused: 0 +2025/08/20 09:15:25 [debug] 623114#623114: free: 000062758718DDD0, unused: 4920 +2025/08/20 09:15:25 [notice] 623114#623114: exit +2025/08/20 09:15:25 [notice] 623113#623113: signal 17 (SIGCHLD) received from 623114 +2025/08/20 09:15:25 [notice] 623113#623113: worker process 623114 exited with code 0 +2025/08/20 09:15:25 [debug] 623113#623113: shmtx forced unlock +2025/08/20 09:15:25 [debug] 623113#623113: wake up, sigio 3 +2025/08/20 09:15:25 [debug] 623113#623113: reap children +2025/08/20 09:15:25 [debug] 623113#623113: child: 0 623114 e:1 t:1 d:0 r:1 j:0 +2025/08/20 09:15:25 [notice] 623113#623113: exit +2025/08/20 09:15:25 [debug] 623113#623113: close listening 0.0.0.0:9001 #5 +2025/08/20 09:15:25 [debug] 623113#623113: run cleanup: 0000627587183A18 +2025/08/20 09:15:25 [debug] 623113#623113: cleanup resolver +2025/08/20 09:15:25 [debug] 623113#623113: free: 0000627587191DE0 +2025/08/20 09:15:25 [debug] 623113#623113: free: 0000627587184BE0 +2025/08/20 09:15:25 [debug] 623113#623113: free: 0000627587163B50 +2025/08/20 09:15:25 [debug] 623113#623113: free: 0000627587162A40 +2025/08/20 09:15:25 [debug] 623113#623113: free: 000062758715CA10 +2025/08/20 09:15:25 [debug] 623113#623113: free: 000062758715B950 +2025/08/20 09:15:25 [debug] 623113#623113: free: 000062758715A890 +2025/08/20 09:15:25 [debug] 623113#623113: free: 00006275871597D0 +2025/08/20 09:15:25 [debug] 623113#623113: free: 0000627587151170 +2025/08/20 09:15:25 [debug] 623113#623113: free: 0000627587148140, unused: 0 +2025/08/20 09:15:25 [debug] 623113#623113: free: 0000627587152580, unused: 0 +2025/08/20 09:15:25 [debug] 623113#623113: free: 000062758715DA20, unused: 0 +2025/08/20 09:15:25 [debug] 623113#623113: free: 0000627587164B60, unused: 0 +2025/08/20 09:15:25 [debug] 623113#623113: free: 0000627587168B70, unused: 0 +2025/08/20 09:15:25 [debug] 623113#623113: free: 000062758716CB80, unused: 0 +2025/08/20 09:15:25 [debug] 623113#623113: free: 0000627587170B90, unused: 0 +2025/08/20 09:15:25 [debug] 623113#623113: free: 0000627587174BA0, unused: 0 +2025/08/20 09:15:25 [debug] 623113#623113: free: 0000627587178BB0, unused: 0 +2025/08/20 09:15:25 [debug] 623113#623113: free: 000062758717CBC0, unused: 0 +2025/08/20 09:15:25 [debug] 623113#623113: free: 0000627587180BD0, unused: 0 +2025/08/20 09:15:25 [debug] 623113#623113: free: 0000627587185DB0, unused: 0 +2025/08/20 09:15:25 [debug] 623113#623113: free: 0000627587189DC0, unused: 0 +2025/08/20 09:15:25 [debug] 623113#623113: free: 000062758718DDD0, unused: 4951 +2025/08/20 09:15:29 [debug] 623372#623372: bind() 0.0.0.0:9001 #5 +2025/08/20 09:15:29 [debug] 623372#623372: counter: 00007640773E9080, 1 +2025/08/20 09:15:29 [debug] 623373#623373: bind() 0.0.0.0:9001 #5 +2025/08/20 09:15:29 [notice] 623373#623373: using the "epoll" event method +2025/08/20 09:15:29 [debug] 623373#623373: counter: 000079AFCE177080, 1 +2025/08/20 09:15:29 [notice] 623373#623373: nginx/1.18.0 (Ubuntu) +2025/08/20 09:15:29 [notice] 623373#623373: OS: Linux 6.12.10-76061203-generic +2025/08/20 09:15:29 [notice] 623373#623373: getrlimit(RLIMIT_NOFILE): 1048576:1048576 +2025/08/20 09:15:29 [debug] 623374#623373: write: 6, 00007FFFC1B0D3E0, 7, 0 +2025/08/20 09:15:29 [debug] 623374#623374: setproctitle: "nginx: master process nginx -p . -c config/local-nginx.conf" +2025/08/20 09:15:29 [notice] 623374#623374: start worker processes +2025/08/20 09:15:29 [debug] 623374#623374: channel 6:7 +2025/08/20 09:15:29 [notice] 623374#623374: start worker process 623375 +2025/08/20 09:15:29 [debug] 623374#623374: sigsuspend +2025/08/20 09:15:29 [debug] 623375#623375: add cleanup: 0000623287930A80 +2025/08/20 09:15:29 [debug] 623375#623375: malloc: 00006232878E3BD0:8 +2025/08/20 09:15:29 [debug] 623375#623375: notify eventfd: 9 +2025/08/20 09:15:29 [debug] 623375#623375: testing the EPOLLRDHUP flag: success +2025/08/20 09:15:29 [debug] 623375#623375: malloc: 00006232878F6590:6144 +2025/08/20 09:15:29 [debug] 623375#623375: malloc: 000079AFCDF6F010:237568 +2025/08/20 09:15:29 [debug] 623375#623375: malloc: 00006232879336B0:98304 +2025/08/20 09:15:29 [debug] 623375#623375: malloc: 000062328794B6C0:98304 +2025/08/20 09:15:29 [debug] 623375#623375: epoll add event: fd:5 op:1 ev:00002001 +2025/08/20 09:15:29 [debug] 623375#623375: epoll add event: fd:7 op:1 ev:00002001 +2025/08/20 09:15:29 [debug] 623375#623375: setproctitle: "nginx: worker process" +2025/08/20 09:15:29 [debug] 623375#623375: worker cycle +2025/08/20 09:15:29 [debug] 623375#623375: epoll timer: -1 +2025/08/20 09:15:46 [debug] 623375#623375: epoll: fd:5 ev:0001 d:000079AFCDF6F010 +2025/08/20 09:15:46 [debug] 623375#623375: accept on 0.0.0.0:9001, ready: 0 +2025/08/20 09:15:46 [debug] 623375#623375: posix_memalign: 00006232878E2840:512 @16 +2025/08/20 09:15:46 [debug] 623375#623375: *1 accept: 127.0.0.1:49390 fd:6 +2025/08/20 09:15:46 [debug] 623375#623375: *1 event timer add: 6: 60000:262539758 +2025/08/20 09:15:46 [debug] 623375#623375: *1 reusable connection: 1 +2025/08/20 09:15:46 [debug] 623375#623375: *1 epoll add event: fd:6 op:1 ev:80002001 +2025/08/20 09:15:46 [debug] 623375#623375: timer delta: 17518 +2025/08/20 09:15:46 [debug] 623375#623375: worker cycle +2025/08/20 09:15:46 [debug] 623375#623375: epoll timer: 60000 +2025/08/20 09:15:46 [debug] 623375#623375: epoll: fd:6 ev:0001 d:000079AFCDF6F1E0 +2025/08/20 09:15:46 [debug] 623375#623375: *1 http wait request handler +2025/08/20 09:15:46 [debug] 623375#623375: *1 malloc: 00006232878E50A0:1024 +2025/08/20 09:15:46 [debug] 623375#623375: *1 recv: eof:0, avail:-1 +2025/08/20 09:15:46 [debug] 623375#623375: *1 recv: fd:6 84 of 1024 +2025/08/20 09:15:46 [debug] 623375#623375: *1 reusable connection: 0 +2025/08/20 09:15:46 [debug] 623375#623375: *1 posix_memalign: 0000623287901A30:4096 @16 +2025/08/20 09:15:46 [debug] 623375#623375: *1 http process request line +2025/08/20 09:15:46 [debug] 623375#623375: *1 http request line: "GET /health HTTP/1.1" +2025/08/20 09:15:46 [debug] 623375#623375: *1 http uri: "/health" +2025/08/20 09:15:46 [debug] 623375#623375: *1 http args: "" +2025/08/20 09:15:46 [debug] 623375#623375: *1 http exten: "" +2025/08/20 09:15:46 [debug] 623375#623375: *1 posix_memalign: 00006232878F7DA0:4096 @16 +2025/08/20 09:15:46 [debug] 623375#623375: *1 http process request header line +2025/08/20 09:15:46 [debug] 623375#623375: *1 http header: "Host: localhost:9001" +2025/08/20 09:15:46 [debug] 623375#623375: *1 http header: "User-Agent: curl/8.15.0" +2025/08/20 09:15:46 [debug] 623375#623375: *1 http header: "Accept: */*" +2025/08/20 09:15:46 [debug] 623375#623375: *1 http header done +2025/08/20 09:15:46 [debug] 623375#623375: *1 event timer del: 6: 262539758 +2025/08/20 09:15:46 [debug] 623375#623375: *1 generic phase: 0 +2025/08/20 09:15:46 [debug] 623375#623375: *1 rewrite phase: 1 +2025/08/20 09:15:46 [debug] 623375#623375: *1 test location: "/health" +2025/08/20 09:15:46 [debug] 623375#623375: *1 test location: ~ "^/([a-f0-9]{64}).*$" +2025/08/20 09:15:46 [debug] 623375#623375: *1 test location: ~ "^/([a-f0-9]{64})(\.[a-zA-Z0-9]+)?$" +2025/08/20 09:15:46 [debug] 623375#623375: *1 test location: ~ "^/fcgi-head/([a-f0-9]{64}).*$" +2025/08/20 09:15:46 [debug] 623375#623375: *1 test location: ~ "^/list/([a-f0-9]{64}).*$" +2025/08/20 09:15:46 [debug] 623375#623375: *1 using configuration "/health" +2025/08/20 09:15:46 [debug] 623375#623375: *1 http cl:-1 max:104857600 +2025/08/20 09:15:46 [debug] 623375#623375: *1 rewrite phase: 3 +2025/08/20 09:15:46 [debug] 623375#623375: *1 http set discard body +2025/08/20 09:15:46 [debug] 623375#623375: *1 HTTP/1.1 200 OK +Server: nginx/1.18.0 (Ubuntu) +Date: Wed, 20 Aug 2025 13:15:46 GMT +Content-Type: application/octet-stream +Content-Length: 3 +Connection: keep-alive +Content-Type: text/plain + +2025/08/20 09:15:46 [debug] 623375#623375: *1 write new buf t:1 f:0 00006232878F8180, pos 00006232878F8180, size: 196 file: 0, size: 0 +2025/08/20 09:15:46 [debug] 623375#623375: *1 http write filter: l:0 f:0 s:196 +2025/08/20 09:15:46 [debug] 623375#623375: *1 http output filter "/health?" +2025/08/20 09:15:46 [debug] 623375#623375: *1 http copy filter: "/health?" +2025/08/20 09:15:46 [debug] 623375#623375: *1 http postpone filter "/health?" 00007FFFC1B0CF70 +2025/08/20 09:15:46 [debug] 623375#623375: *1 write old buf t:1 f:0 00006232878F8180, pos 00006232878F8180, size: 196 file: 0, size: 0 +2025/08/20 09:15:46 [debug] 623375#623375: *1 write new buf t:0 f:0 0000000000000000, pos 000062328791FB42, size: 3 file: 0, size: 0 +2025/08/20 09:15:46 [debug] 623375#623375: *1 http write filter: l:1 f:0 s:199 +2025/08/20 09:15:46 [debug] 623375#623375: *1 http write filter limit 0 +2025/08/20 09:15:46 [debug] 623375#623375: *1 writev: 199 of 199 +2025/08/20 09:15:46 [debug] 623375#623375: *1 http write filter 0000000000000000 +2025/08/20 09:15:46 [debug] 623375#623375: *1 http copy filter: 0 "/health?" +2025/08/20 09:15:46 [debug] 623375#623375: *1 http finalize request: 0, "/health?" a:1, c:1 +2025/08/20 09:15:46 [debug] 623375#623375: *1 set http keepalive handler +2025/08/20 09:15:46 [debug] 623375#623375: *1 http close request +2025/08/20 09:15:46 [debug] 623375#623375: *1 http log handler +2025/08/20 09:15:46 [debug] 623375#623375: *1 free: 0000623287901A30, unused: 0 +2025/08/20 09:15:46 [debug] 623375#623375: *1 free: 00006232878F7DA0, unused: 2736 +2025/08/20 09:15:46 [debug] 623375#623375: *1 free: 00006232878E50A0 +2025/08/20 09:15:46 [debug] 623375#623375: *1 hc free: 0000000000000000 +2025/08/20 09:15:46 [debug] 623375#623375: *1 hc busy: 0000000000000000 0 +2025/08/20 09:15:46 [debug] 623375#623375: *1 tcp_nodelay +2025/08/20 09:15:46 [debug] 623375#623375: *1 reusable connection: 1 +2025/08/20 09:15:46 [debug] 623375#623375: *1 event timer add: 6: 65000:262544758 +2025/08/20 09:15:46 [debug] 623375#623375: timer delta: 0 +2025/08/20 09:15:46 [debug] 623375#623375: worker cycle +2025/08/20 09:15:46 [debug] 623375#623375: epoll timer: 65000 +2025/08/20 09:15:46 [debug] 623375#623375: epoll: fd:6 ev:2001 d:000079AFCDF6F1E0 +2025/08/20 09:15:46 [debug] 623375#623375: *1 http keepalive handler +2025/08/20 09:15:46 [debug] 623375#623375: *1 malloc: 00006232878E50A0:1024 +2025/08/20 09:15:46 [debug] 623375#623375: *1 recv: eof:1, avail:-1 +2025/08/20 09:15:46 [debug] 623375#623375: *1 recv: fd:6 0 of 1024 +2025/08/20 09:15:46 [info] 623375#623375: *1 client 127.0.0.1 closed keepalive connection +2025/08/20 09:15:46 [debug] 623375#623375: *1 close http connection: 6 +2025/08/20 09:15:46 [debug] 623375#623375: *1 event timer del: 6: 262544758 +2025/08/20 09:15:46 [debug] 623375#623375: *1 reusable connection: 0 +2025/08/20 09:15:46 [debug] 623375#623375: *1 free: 00006232878E50A0 +2025/08/20 09:15:46 [debug] 623375#623375: *1 free: 00006232878E2840, unused: 136 +2025/08/20 09:15:46 [debug] 623375#623375: timer delta: 1 +2025/08/20 09:15:46 [debug] 623375#623375: worker cycle +2025/08/20 09:15:46 [debug] 623375#623375: epoll timer: -1 +2025/08/20 09:15:46 [debug] 623375#623375: epoll: fd:5 ev:0001 d:000079AFCDF6F010 +2025/08/20 09:15:46 [debug] 623375#623375: accept on 0.0.0.0:9001, ready: 0 +2025/08/20 09:15:46 [debug] 623375#623375: posix_memalign: 00006232878E2840:512 @16 +2025/08/20 09:15:46 [debug] 623375#623375: *2 accept: 127.0.0.1:49392 fd:6 +2025/08/20 09:15:46 [debug] 623375#623375: *2 event timer add: 6: 60000:262540032 +2025/08/20 09:15:46 [debug] 623375#623375: *2 reusable connection: 1 +2025/08/20 09:15:46 [debug] 623375#623375: *2 epoll add event: fd:6 op:1 ev:80002001 +2025/08/20 09:15:46 [debug] 623375#623375: timer delta: 273 +2025/08/20 09:15:46 [debug] 623375#623375: worker cycle +2025/08/20 09:15:46 [debug] 623375#623375: epoll timer: 60000 +2025/08/20 09:15:46 [debug] 623375#623375: epoll: fd:6 ev:0001 d:000079AFCDF6F1E1 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http wait request handler +2025/08/20 09:15:46 [debug] 623375#623375: *2 malloc: 00006232878E50A0:1024 +2025/08/20 09:15:46 [debug] 623375#623375: *2 recv: eof:0, avail:-1 +2025/08/20 09:15:46 [debug] 623375#623375: *2 recv: fd:6 1024 of 1024 +2025/08/20 09:15:46 [debug] 623375#623375: *2 recv: avail:112 +2025/08/20 09:15:46 [debug] 623375#623375: *2 reusable connection: 0 +2025/08/20 09:15:46 [debug] 623375#623375: *2 posix_memalign: 0000623287901A30:4096 @16 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http process request line +2025/08/20 09:15:46 [debug] 623375#623375: *2 http request line: "PUT /upload HTTP/1.1" +2025/08/20 09:15:46 [debug] 623375#623375: *2 http uri: "/upload" +2025/08/20 09:15:46 [debug] 623375#623375: *2 http args: "" +2025/08/20 09:15:46 [debug] 623375#623375: *2 http exten: "" +2025/08/20 09:15:46 [debug] 623375#623375: *2 posix_memalign: 00006232878F7DA0:4096 @16 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http process request header line +2025/08/20 09:15:46 [debug] 623375#623375: *2 http header: "Host: localhost:9001" +2025/08/20 09:15:46 [debug] 623375#623375: *2 http header: "User-Agent: curl/8.15.0" +2025/08/20 09:15:46 [debug] 623375#623375: *2 http header: "Accept: */*" +2025/08/20 09:15:46 [debug] 623375#623375: *2 http header: "Authorization: Nostr eyJraW5kIjoyNDI0MiwiaWQiOiJhODhiZmI1ZWZmZDJmYWI4NDBkNzNiN2JmNzNkYWJiMDQ0YzExMzY2OGMxNzk2MWM3YzM3MmQyYzg2MzhjNzc3IiwicHVia2V5IjoiNzliZTY2N2VmOWRjYmJhYzU1YTA2Mjk1Y2U4NzBiMDcwMjliZmNkYjJkY2UyOGQ5NTlmMjgxNWIxNmY4MTc5OCIsImNyZWF0ZWRfYXQiOjE3NTU2OTU3NDYsInRhZ3MiOltbInQiLCJ1cGxvYWQiXSxbIngiLCJjMzVmOWNmMjNlMDg4YmE4ZTYyZDY4YzdiYWY3Y2JkNGU2NzY2YzM5ZTcxMDgwZjkyNTUwNWRkZmY5OWI5ZjA4Il0sWyJleHBpcmF0aW9uIiwiMTc1NTY5OTM0NiJdXSwiY29udGVudCI6IiIsInNpZyI6ImIyNDE1MmM2YWUyYjcxNjU4MmM4ZTU5Y2MwZWI5MzdiNTUzN2YyYTE1NDQ0MTEwOWE0NjJlNzNmNmI4MmNhMmUyY2JiZGZkOWQwYzliZDYxMmU1ODUxN2YwYzJjYTczMjhlYTJiZDkzOGM2NDA5ZmNkZmEwM2VjZTkwYWIyMjVlIn0=" +2025/08/20 09:15:46 [debug] 623375#623375: *2 http header: "Content-Type: text/plain" +2025/08/20 09:15:46 [debug] 623375#623375: *2 http header: "Content-Disposition: attachment; filename="test_blob_1755695746.txt"" +2025/08/20 09:15:46 [debug] 623375#623375: *2 http header: "Content-Length: 296" +2025/08/20 09:15:46 [debug] 623375#623375: *2 http header done +2025/08/20 09:15:46 [debug] 623375#623375: *2 event timer del: 6: 262540032 +2025/08/20 09:15:46 [debug] 623375#623375: *2 generic phase: 0 +2025/08/20 09:15:46 [debug] 623375#623375: *2 rewrite phase: 1 +2025/08/20 09:15:46 [debug] 623375#623375: *2 test location: "/health" +2025/08/20 09:15:46 [debug] 623375#623375: *2 test location: "/upload" +2025/08/20 09:15:46 [debug] 623375#623375: *2 test location: ~ "^/([a-f0-9]{64}).*$" +2025/08/20 09:15:46 [debug] 623375#623375: *2 test location: ~ "^/([a-f0-9]{64})(\.[a-zA-Z0-9]+)?$" +2025/08/20 09:15:46 [debug] 623375#623375: *2 test location: ~ "^/fcgi-head/([a-f0-9]{64}).*$" +2025/08/20 09:15:46 [debug] 623375#623375: *2 test location: ~ "^/list/([a-f0-9]{64}).*$" +2025/08/20 09:15:46 [debug] 623375#623375: *2 using configuration "/upload" +2025/08/20 09:15:46 [debug] 623375#623375: *2 http cl:296 max:104857600 +2025/08/20 09:15:46 [debug] 623375#623375: *2 rewrite phase: 3 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http script var +2025/08/20 09:15:46 [debug] 623375#623375: *2 http script var: "PUT" +2025/08/20 09:15:46 [debug] 623375#623375: *2 http script regex: "^(PUT)$" +2025/08/20 09:15:46 [notice] 623375#623375: *2 "^(PUT)$" matches "PUT", client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", host: "localhost:9001" +2025/08/20 09:15:46 [debug] 623375#623375: *2 http script if +2025/08/20 09:15:46 [debug] 623375#623375: *2 http script if: false +2025/08/20 09:15:46 [debug] 623375#623375: *2 post rewrite phase: 4 +2025/08/20 09:15:46 [debug] 623375#623375: *2 generic phase: 5 +2025/08/20 09:15:46 [debug] 623375#623375: *2 generic phase: 6 +2025/08/20 09:15:46 [debug] 623375#623375: *2 generic phase: 7 +2025/08/20 09:15:46 [debug] 623375#623375: *2 access phase: 8 +2025/08/20 09:15:46 [debug] 623375#623375: *2 access phase: 9 +2025/08/20 09:15:46 [debug] 623375#623375: *2 access phase: 10 +2025/08/20 09:15:46 [debug] 623375#623375: *2 post access phase: 11 +2025/08/20 09:15:46 [debug] 623375#623375: *2 generic phase: 12 +2025/08/20 09:15:46 [debug] 623375#623375: *2 generic phase: 13 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http client request body preread 184 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http request body content length filter +2025/08/20 09:15:46 [debug] 623375#623375: *2 http body new buf t:1 f:0 00006232878E53E8, pos 00006232878E53E8, size: 184 file: 0, size: 0 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http read client request body +2025/08/20 09:15:46 [debug] 623375#623375: *2 recv: eof:0, avail:112 +2025/08/20 09:15:46 [debug] 623375#623375: *2 recv: fd:6 112 of 112 +2025/08/20 09:15:46 [debug] 623375#623375: *2 recv: avail:0 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http client request body recv 112 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http body new buf t:1 f:0 00006232878F8830, pos 00006232878F8830, size: 112 file: 0, size: 0 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http client request body rest 0 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http init upstream, client timer: 0 +2025/08/20 09:15:46 [debug] 623375#623375: *2 epoll add event: fd:6 op:3 ev:80002005 +2025/08/20 09:15:46 [debug] 623375#623375: *2 posix_memalign: 00006232878EC150:4096 @16 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http script copy: "QUERY_STRING" +2025/08/20 09:15:46 [debug] 623375#623375: *2 fastcgi param: "QUERY_STRING: " +2025/08/20 09:15:46 [debug] 623375#623375: *2 http script copy: "REQUEST_METHOD" +2025/08/20 09:15:46 [debug] 623375#623375: *2 http script var: "PUT" +2025/08/20 09:15:46 [debug] 623375#623375: *2 fastcgi param: "REQUEST_METHOD: PUT" +2025/08/20 09:15:46 [debug] 623375#623375: *2 http script copy: "CONTENT_TYPE" +2025/08/20 09:15:46 [debug] 623375#623375: *2 http script var: "text/plain" +2025/08/20 09:15:46 [debug] 623375#623375: *2 fastcgi param: "CONTENT_TYPE: text/plain" +2025/08/20 09:15:46 [debug] 623375#623375: *2 http script copy: "CONTENT_LENGTH" +2025/08/20 09:15:46 [debug] 623375#623375: *2 http script var: "296" +2025/08/20 09:15:46 [debug] 623375#623375: *2 fastcgi param: "CONTENT_LENGTH: 296" +2025/08/20 09:15:46 [debug] 623375#623375: *2 http script copy: "SCRIPT_NAME" +2025/08/20 09:15:46 [debug] 623375#623375: *2 http script var: "/upload" +2025/08/20 09:15:46 [debug] 623375#623375: *2 fastcgi param: "SCRIPT_NAME: /upload" +2025/08/20 09:15:46 [debug] 623375#623375: *2 http script copy: "REQUEST_URI" +2025/08/20 09:15:46 [debug] 623375#623375: *2 http script var: "/upload" +2025/08/20 09:15:46 [debug] 623375#623375: *2 fastcgi param: "REQUEST_URI: /upload" +2025/08/20 09:15:46 [debug] 623375#623375: *2 http script copy: "DOCUMENT_URI" +2025/08/20 09:15:46 [debug] 623375#623375: *2 http script var: "/upload" +2025/08/20 09:15:46 [debug] 623375#623375: *2 fastcgi param: "DOCUMENT_URI: /upload" +2025/08/20 09:15:46 [debug] 623375#623375: *2 http script copy: "DOCUMENT_ROOT" +2025/08/20 09:15:46 [debug] 623375#623375: *2 http script var: "./blobs" +2025/08/20 09:15:46 [debug] 623375#623375: *2 fastcgi param: "DOCUMENT_ROOT: ./blobs" +2025/08/20 09:15:46 [debug] 623375#623375: *2 http script copy: "SERVER_PROTOCOL" +2025/08/20 09:15:46 [debug] 623375#623375: *2 http script var: "HTTP/1.1" +2025/08/20 09:15:46 [debug] 623375#623375: *2 fastcgi param: "SERVER_PROTOCOL: HTTP/1.1" +2025/08/20 09:15:46 [debug] 623375#623375: *2 http script copy: "REQUEST_SCHEME" +2025/08/20 09:15:46 [debug] 623375#623375: *2 http script var: "http" +2025/08/20 09:15:46 [debug] 623375#623375: *2 fastcgi param: "REQUEST_SCHEME: http" +2025/08/20 09:15:46 [debug] 623375#623375: *2 http script copy: "" +2025/08/20 09:15:46 [debug] 623375#623375: *2 http script copy: "GATEWAY_INTERFACE" +2025/08/20 09:15:46 [debug] 623375#623375: *2 http script copy: "CGI/1.1" +2025/08/20 09:15:46 [debug] 623375#623375: *2 fastcgi param: "GATEWAY_INTERFACE: CGI/1.1" +2025/08/20 09:15:46 [debug] 623375#623375: *2 http script copy: "SERVER_SOFTWARE" +2025/08/20 09:15:46 [debug] 623375#623375: *2 http script copy: "nginx/" +2025/08/20 09:15:46 [debug] 623375#623375: *2 http script var: "1.18.0" +2025/08/20 09:15:46 [debug] 623375#623375: *2 fastcgi param: "SERVER_SOFTWARE: nginx/1.18.0" +2025/08/20 09:15:46 [debug] 623375#623375: *2 http script copy: "REMOTE_ADDR" +2025/08/20 09:15:46 [debug] 623375#623375: *2 http script var: "127.0.0.1" +2025/08/20 09:15:46 [debug] 623375#623375: *2 fastcgi param: "REMOTE_ADDR: 127.0.0.1" +2025/08/20 09:15:46 [debug] 623375#623375: *2 http script copy: "REMOTE_PORT" +2025/08/20 09:15:46 [debug] 623375#623375: *2 http script var: "49392" +2025/08/20 09:15:46 [debug] 623375#623375: *2 fastcgi param: "REMOTE_PORT: 49392" +2025/08/20 09:15:46 [debug] 623375#623375: *2 http script copy: "SERVER_ADDR" +2025/08/20 09:15:46 [debug] 623375#623375: *2 http script var: "127.0.0.1" +2025/08/20 09:15:46 [debug] 623375#623375: *2 fastcgi param: "SERVER_ADDR: 127.0.0.1" +2025/08/20 09:15:46 [debug] 623375#623375: *2 http script copy: "SERVER_PORT" +2025/08/20 09:15:46 [debug] 623375#623375: *2 http script var: "9001" +2025/08/20 09:15:46 [debug] 623375#623375: *2 fastcgi param: "SERVER_PORT: 9001" +2025/08/20 09:15:46 [debug] 623375#623375: *2 http script copy: "SERVER_NAME" +2025/08/20 09:15:46 [debug] 623375#623375: *2 http script var: "localhost" +2025/08/20 09:15:46 [debug] 623375#623375: *2 fastcgi param: "SERVER_NAME: localhost" +2025/08/20 09:15:46 [debug] 623375#623375: *2 http script copy: "REDIRECT_STATUS" +2025/08/20 09:15:46 [debug] 623375#623375: *2 http script copy: "200" +2025/08/20 09:15:46 [debug] 623375#623375: *2 fastcgi param: "REDIRECT_STATUS: 200" +2025/08/20 09:15:46 [debug] 623375#623375: *2 http script copy: "SCRIPT_FILENAME" +2025/08/20 09:15:46 [debug] 623375#623375: *2 http script var: "./blobs" +2025/08/20 09:15:46 [debug] 623375#623375: *2 http script copy: "/ginxsom.fcgi" +2025/08/20 09:15:46 [debug] 623375#623375: *2 fastcgi param: "SCRIPT_FILENAME: ./blobs/ginxsom.fcgi" +2025/08/20 09:15:46 [debug] 623375#623375: *2 fastcgi param: "HTTP_HOST: localhost:9001" +2025/08/20 09:15:46 [debug] 623375#623375: *2 fastcgi param: "HTTP_USER_AGENT: curl/8.15.0" +2025/08/20 09:15:46 [debug] 623375#623375: *2 fastcgi param: "HTTP_ACCEPT: */*" +2025/08/20 09:15:46 [debug] 623375#623375: *2 fastcgi param: "HTTP_AUTHORIZATION: Nostr eyJraW5kIjoyNDI0MiwiaWQiOiJhODhiZmI1ZWZmZDJmYWI4NDBkNzNiN2JmNzNkYWJiMDQ0YzExMzY2OGMxNzk2MWM3YzM3MmQyYzg2MzhjNzc3IiwicHVia2V5IjoiNzliZTY2N2VmOWRjYmJhYzU1YTA2Mjk1Y2U4NzBiMDcwMjliZmNkYjJkY2UyOGQ5NTlmMjgxNWIxNmY4MTc5OCIsImNyZWF0ZWRfYXQiOjE3NTU2OTU3NDYsInRhZ3MiOltbInQiLCJ1cGxvYWQiXSxbIngiLCJjMzVmOWNmMjNlMDg4YmE4ZTYyZDY4YzdiYWY3Y2JkNGU2NzY2YzM5ZTcxMDgwZjkyNTUwNWRkZmY5OWI5ZjA4Il0sWyJleHBpcmF0aW9uIiwiMTc1NTY5OTM0NiJdXSwiY29udGVudCI6IiIsInNpZyI6ImIyNDE1MmM2YWUyYjcxNjU4MmM4ZTU5Y2MwZWI5MzdiNTUzN2YyYTE1NDQ0MTEwOWE0NjJlNzNmNmI4MmNhMmUyY2JiZGZkOWQwYzliZDYxMmU1ODUxN2YwYzJjYTczMjhlYTJiZDkzOGM2NDA5ZmNkZmEwM2VjZTkwYWIyMjVlIn0=" +2025/08/20 09:15:46 [debug] 623375#623375: *2 fastcgi param: "HTTP_CONTENT_TYPE: text/plain" +2025/08/20 09:15:46 [debug] 623375#623375: *2 fastcgi param: "HTTP_CONTENT_DISPOSITION: attachment; filename="test_blob_1755695746.txt"" +2025/08/20 09:15:46 [debug] 623375#623375: *2 fastcgi param: "HTTP_CONTENT_LENGTH: 296" +2025/08/20 09:15:46 [debug] 623375#623375: *2 http cleanup add: 00006232878F8B80 +2025/08/20 09:15:46 [debug] 623375#623375: *2 get rr peer, try: 1 +2025/08/20 09:15:46 [debug] 623375#623375: *2 stream socket 10 +2025/08/20 09:15:46 [debug] 623375#623375: *2 epoll add connection: fd:10 ev:80002005 +2025/08/20 09:15:46 [debug] 623375#623375: *2 connect to unix:/tmp/ginxsom-fcgi.sock, fd:10 #3 +2025/08/20 09:15:46 [debug] 623375#623375: *2 connected +2025/08/20 09:15:46 [debug] 623375#623375: *2 http upstream connect: 0 +2025/08/20 09:15:46 [debug] 623375#623375: *2 posix_memalign: 00006232878CBF20:128 @16 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http upstream send request +2025/08/20 09:15:46 [debug] 623375#623375: *2 http upstream send request body +2025/08/20 09:15:46 [debug] 623375#623375: *2 chain writer buf fl:0 s:1304 +2025/08/20 09:15:46 [debug] 623375#623375: *2 chain writer buf fl:0 s:184 +2025/08/20 09:15:46 [debug] 623375#623375: *2 chain writer buf fl:0 s:8 +2025/08/20 09:15:46 [debug] 623375#623375: *2 chain writer buf fl:0 s:112 +2025/08/20 09:15:46 [debug] 623375#623375: *2 chain writer buf fl:0 s:8 +2025/08/20 09:15:46 [debug] 623375#623375: *2 chain writer in: 00006232878F8C10 +2025/08/20 09:15:46 [debug] 623375#623375: *2 writev: 1616 of 1616 +2025/08/20 09:15:46 [debug] 623375#623375: *2 chain writer out: 0000000000000000 +2025/08/20 09:15:46 [debug] 623375#623375: *2 event timer add: 10: 60000:262540032 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http finalize request: -4, "/upload?" a:1, c:2 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http request count:2 blk:0 +2025/08/20 09:15:46 [debug] 623375#623375: timer delta: 0 +2025/08/20 09:15:46 [debug] 623375#623375: worker cycle +2025/08/20 09:15:46 [debug] 623375#623375: epoll timer: 60000 +2025/08/20 09:15:46 [debug] 623375#623375: epoll: fd:6 ev:0004 d:000079AFCDF6F1E1 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http run request: "/upload?" +2025/08/20 09:15:46 [debug] 623375#623375: *2 http upstream check client, write event:1, "/upload" +2025/08/20 09:15:46 [debug] 623375#623375: epoll: fd:10 ev:0005 d:000079AFCDF6F2C8 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http upstream request: "/upload?" +2025/08/20 09:15:46 [debug] 623375#623375: *2 http upstream process header +2025/08/20 09:15:46 [debug] 623375#623375: *2 malloc: 00006232878ED160:4096 +2025/08/20 09:15:46 [debug] 623375#623375: *2 recv: eof:0, avail:-1 +2025/08/20 09:15:46 [debug] 623375#623375: *2 recv: fd:10 4096 of 4096 +2025/08/20 09:15:46 [debug] 623375#623375: *2 recv: avail:1432 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record byte: 01 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record byte: 07 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record byte: 00 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record byte: 01 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record byte: 00 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record byte: 21 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record byte: 07 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record byte: 00 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record length: 33 +2025/08/20 09:15:46 [error] 623375#623375: *2 FastCGI sent in stderr: "DEBUG: FastCGI received request" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record byte: 01 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record byte: 07 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record byte: 00 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record byte: 01 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record byte: 01 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record byte: F8 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record byte: 00 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record byte: 00 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record length: 504 +2025/08/20 09:15:46 [error] 623375#623375: *2 FastCGI sent in stderr: "DEBUG: METHOD=PUT, URI=/upload +ENTRY: Entering handle_upload_request() function +DEBUG: handle_upload_request called +LOG: [2025-08-20 09:15:46] PUT /upload - Auth: pending - Status: 0 +DEBUG: content_type=text/plain +DEBUG: content_length=296 +DEBUG: Raw Authorization header: Nostr eyJraW5kIjoyNDI0MiwiaWQiOiJhODhiZmI1ZWZmZDJmYWI4NDBkNzNiN2JmNzNkYWJiMDQ0YzExMzY2OGMxNzk2MWM3YzM3MmQyYzg2MzhjNzc3IiwicHVia2V5IjoiNzliZTY2N2VmOWRjYmJhYzU1YTA2Mjk1Y2U4NzBiMDcwMjliZmNkYjJkY2UyOGQ5NTlmMjgxNWIxNmY4MTc5OCIsImN" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record byte: 01 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record byte: 07 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record byte: 00 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record byte: 01 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record byte: 01 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record byte: F8 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record byte: 00 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record byte: 00 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record length: 504 +2025/08/20 09:15:46 [error] 623375#623375: *2 FastCGI sent in stderr: "yZWF0ZWRfYXQiOjE3NTU2OTU3NDYsInRhZ3MiOltbInQiLCJ1cGxvYWQiXSxbIngiLCJjMzVmOWNmMjNlMDg4YmE4ZTYyZDY4YzdiYWY3Y2JkNGU2NzY2YzM5ZTcxMDgwZjkyNTUwNWRkZmY5OWI5ZjA4Il0sWyJleHBpcmF0aW9uIiwiMTc1NTY5OTM0NiJdXSwiY29udGVudCI6IiIsInNpZyI6ImIyNDE1MmM2YWUyYjcxNjU4MmM4ZTU5Y2MwZWI5MzdiNTUzN2YyYTE1NDQ0MTEwOWE0NjJlNzNmNmI4MmNhMmUyY2JiZGZkOWQwYzliZDYxMmU1ODUxN2YwYzJjYTczMjhlYTJiZDkzOGM2NDA5ZmNkZmEwM2VjZTkwYWIyMjVlIn0= +LOG: [2025-08-20 09:15:46] PUT /upload - Auth: auth_provided - Status: 0 +DEBUG: Successfully read DEBUG-" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record byte: 01 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record byte: 07 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record byte: 00 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record byte: 01 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record byte: 01 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record byte: F8 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record byte: 00 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record byte: 00 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record length: 504 +2025/08/20 09:15:46 [error] 623375#623375: *2 FastCGI sent in stderr: "LAAN: DATA TO HASH: Test blob content for Ginxsom Blossom server +Timestamp: 2025-08-20T09:15:46-04:00 +Random data: 65462440cdc24dd33498ab3f2c4bc4ef096688db4a0952aaa7c3a8eaa6b4b7c3 +Test message: Hello from put_test.sh! + +This file is used to test the upload functionality +of the Ginxsom Blossom server implementation. + +DEBUG-LAAN: Calculated SHA-256: c35f9cf23e088ba8e62d68c7baf7cbd4e6766c39e71080f925505ddff99b9f08 +AUTH: About to perform authentication - auth_header present: YES +AUTH: Calling authen" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record byte: 01 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record byte: 07 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record byte: 00 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record byte: 01 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record byte: 01 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record byte: F8 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record byte: 00 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record byte: 00 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record length: 504 +2025/08/20 09:15:46 [error] 623375#623375: *2 FastCGI sent in stderr: "ticate_request with hash: c35f9cf23e088ba8e62d68c7baf7cbd4e6766c39e71080f925505ddff99b9f08 +═══════════════════════════════════════════════════════════════════ +🔍 STEP SERVER-1: Starting server-style authentication (mirroring test_auth_debug.c) +ℹ️ INFO: Server-style auth called with method: upload, hash: c35f9cf23e088ba8e62d68c7baf7cbd4e6766c39e71080f925505ddff" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record byte: 01 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record byte: 07 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record byte: 00 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record byte: 01 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record byte: 01 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record byte: F8 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record byte: 00 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record byte: 00 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record length: 504 +2025/08/20 09:15:46 [error] 623375#623375: *2 FastCGI sent in stderr: "99b9f08 +🔍 STEP SERVER-2: Calling parse_authorization_header +DEBUG: parse_authorization_header called with header: Nostr eyJraW5kIjoyNDI0MiwiaWQiOiJhODhiZmI1ZWZmZDJm... +DEBUG: Extracted base64 event (length=DEBUG: Base64 decode result - decoded_len=DEBUG: Successfully decoded JSON (length=✅ SUCCESS: parse_authorization_header succeeded +🔍 STEP SERVER-3: Calling cJSON_Parse on JSON string +ℹ️ INFO: JSON to parse: {"kind":24242,"id":"a88bfb5effd2fab840d73b7bf73dabb044c113668c17961c7c372d2c86" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record byte: 01 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record byte: 07 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record byte: 00 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record byte: 01 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record byte: 01 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record byte: F8 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record byte: 00 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record byte: 00 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record length: 504 +2025/08/20 09:15:46 [error] 623375#623375: *2 FastCGI sent in stderr: "38c777","pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1755695746,"tags":[["t","upload"],["x","c35f9cf23e088ba8e62d68c7baf7cbd4e6766c39e71080f925505ddff99b9f08"],["expiration","1755699346"]],"content":"","sig":"b24152c6ae2b716582c8e59cc0eb937b5537f2a154441109a462e73f6b82ca2e2cbbdfd9d0c9bd612e58517f0c2ca7328ea2bd938c6409fcdfa03ece90ab225e"} +✅ SUCCESS: cJSON_Parse succeeded, event parsed +ℹ️ INFO: Parsed JSON: { + "kind": 24242, + "id": "a88bfb5effd2fab840" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record byte: 01 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record byte: 07 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record byte: 00 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record byte: 01 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record byte: 01 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record byte: F8 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record byte: 00 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record byte: 00 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record length: 504 +2025/08/20 09:15:46 [error] 623375#623375: *2 FastCGI sent in stderr: "d73b7bf73dabb044c113668c17961c7c372d2c8638c777", + "pubkey": "79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798", + "created_at": 1755695746, + "tags": [["t", "upload"], ["x", "c35f9cf23e088ba8e62d68c7baf7cbd4e6766c39e71080f925505ddff99b9f08"], ["expiration", "1755699346"]], + "content": "", + "sig": "b24152c6ae2b716582c8e59cc0eb937b5537f2a154441109a462e73f6b82ca2e2cbbdfd9d0c9bd612e58517f0c2ca7328ea2bd938c6409fcdfa03ece90ab225e" +} +🔍 STEP SERVER-4: Event fields before validation +ℹ️" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record byte: 01 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record byte: 07 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record byte: 00 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record byte: 01 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record byte: 01 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record byte: F8 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record byte: 00 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record byte: 00 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record length: 504 +2025/08/20 09:15:46 [error] 623375#623375: *2 FastCGI sent in stderr: "INFO: id: a88bfb5effd2fab840d73b7bf73dabb044c113668c17961c7c372d2c8638c777 +ℹ️ INFO: pubkey: 79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 +ℹ️ INFO: sig: b24152c6ae2b716582c8e59cc0eb937b5537f2a154441109a462e73f6b82ca2e2cbbdfd9d0c9bd612e58517f0c2ca7328ea2bd938c6409fcdfa03ece90ab225e +ℹ️ INFO: kind: 24242 +ℹ️ INFO: created_at: 1755695746 +🔍 STEP SERVER-5: Detailed pubkey analysis +ℹ️ INFO: Pubkey: 79be" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:15:46 [debug] 623375#623375: *2 recv: eof:0, avail:1432 +2025/08/20 09:15:46 [debug] 623375#623375: *2 recv: fd:10 1432 of 4096 +2025/08/20 09:15:46 [debug] 623375#623375: *2 recv: avail:0 +2025/08/20 09:15:46 [error] 623375#623375: *2 FastCGI sent in stderr: "667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record byte: 01 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record byte: 07 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record byte: 00 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record byte: 01 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record byte: 01 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record byte: F8 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record byte: 00 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record byte: 00 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record length: 504 +2025/08/20 09:15:46 [error] 623375#623375: *2 FastCGI sent in stderr: "815b16f81798 +ℹ️ INFO: Length: ℹ️ INFO: Character analysis (first 10): +7(0x37) 9(0x39) b(0x62) e(0x65) 6(0x36) 6(0x36) 7(0x37) e(0x65) f(0x66) 9(0x39) +🔍 STEP SERVER-6: Pre-validation pubkey analysis +ℹ️ INFO: Pubkey: 79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 +ℹ️ INFO: Length: ℹ️ INFO: Character analysis (first 10): +7(55) 9(57) b(98) e(101) 6(54) 6(54) 7(55) e(101) f(102) 9(57) +ℹ️ INFO: Character validation test: +ALL VALID (lowerca" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record byte: 01 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record byte: 07 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record byte: 00 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record byte: 01 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record byte: 01 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record byte: F8 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record byte: 00 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record byte: 00 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record length: 504 +2025/08/20 09:15:46 [error] 623375#623375: *2 FastCGI sent in stderr: "se hex) +🔍 STEP SERVER-7: Starting detailed validation analysis +ℹ️ INFO: Testing structure validation... +ℹ️ INFO: nostr_validate_event_structure returned: 0 (Success) +✅ SUCCESS: Structure validation PASSED +ℹ️ INFO: Testing cryptographic verification... +ℹ️ INFO: nostr_verify_event_signature returned: -32 (Event has invalid public key) +❌ ERROR: CRYPTO verification failed! +❌ ERROR: Failed pubkey: 79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 (length: AUTH:" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record byte: 01 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record byte: 07 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record byte: 00 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record byte: 01 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record byte: 00 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record byte: 6F +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record byte: 01 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record byte: 00 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record length: 111 +2025/08/20 09:15:46 [error] 623375#623375: *2 FastCGI sent in stderr: " authenticate_request returned: -32 +LOG: [2025-08-20 09:15:46] PUT /upload - Auth: auth_failed - Status: 401" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record byte: 01 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record byte: 07 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record byte: 00 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record byte: 01 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record byte: 00 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record byte: 00 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record byte: 00 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record byte: 00 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record length: 0 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record byte: 01 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record byte: 06 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record byte: 00 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record byte: 01 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record byte: 00 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record byte: C7 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record byte: 01 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record byte: 00 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record length: 199 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi parser: 0 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi header: "Status: 401 Unauthorized" +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi parser: 0 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi header: "Content-Type: application/json" +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi parser: 1 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi header done +2025/08/20 09:15:46 [debug] 623375#623375: *2 HTTP/1.1 401 Unauthorized +Server: nginx/1.18.0 (Ubuntu) +Date: Wed, 20 Aug 2025 13:15:46 GMT +Content-Type: application/json +Transfer-Encoding: chunked +Connection: keep-alive + +2025/08/20 09:15:46 [debug] 623375#623375: *2 write new buf t:1 f:0 00006232878EC808, pos 00006232878EC808, size: 181 file: 0, size: 0 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http write filter: l:0 f:0 s:181 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http cacheable: 0 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http upstream process upstream +2025/08/20 09:15:46 [debug] 623375#623375: *2 pipe read upstream: 0 +2025/08/20 09:15:46 [debug] 623375#623375: *2 pipe preread: 164 +2025/08/20 09:15:46 [debug] 623375#623375: *2 pipe buf free s:0 t:1 f:0 00006232878ED160, pos 00006232878ED654, size: 164 file: 0, size: 0 +2025/08/20 09:15:46 [debug] 623375#623375: *2 pipe length: -1 +2025/08/20 09:15:46 [debug] 623375#623375: *2 pipe write downstream: 1 +2025/08/20 09:15:46 [debug] 623375#623375: *2 pipe write busy: 0 +2025/08/20 09:15:46 [debug] 623375#623375: *2 pipe write: out:0000000000000000, f:0 +2025/08/20 09:15:46 [debug] 623375#623375: *2 pipe read upstream: 0 +2025/08/20 09:15:46 [debug] 623375#623375: *2 pipe buf free s:0 t:1 f:0 00006232878ED160, pos 00006232878ED654, size: 164 file: 0, size: 0 +2025/08/20 09:15:46 [debug] 623375#623375: *2 pipe length: -1 +2025/08/20 09:15:46 [debug] 623375#623375: *2 event timer: 10, old: 262540032, new: 262540034 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http upstream request: "/upload?" +2025/08/20 09:15:46 [debug] 623375#623375: *2 http upstream dummy handler +2025/08/20 09:15:46 [debug] 623375#623375: timer delta: 2 +2025/08/20 09:15:46 [debug] 623375#623375: worker cycle +2025/08/20 09:15:46 [debug] 623375#623375: epoll timer: 59998 +2025/08/20 09:15:46 [debug] 623375#623375: epoll: fd:10 ev:2005 d:000079AFCDF6F2C8 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http upstream request: "/upload?" +2025/08/20 09:15:46 [debug] 623375#623375: *2 http upstream process upstream +2025/08/20 09:15:46 [debug] 623375#623375: *2 pipe read upstream: 1 +2025/08/20 09:15:46 [debug] 623375#623375: *2 readv: eof:1, avail:-1 +2025/08/20 09:15:46 [debug] 623375#623375: *2 readv: 1, last:2664 +2025/08/20 09:15:46 [debug] 623375#623375: *2 pipe recv chain: 0 +2025/08/20 09:15:46 [debug] 623375#623375: *2 pipe buf free s:0 t:1 f:0 00006232878ED160, pos 00006232878ED654, size: 164 file: 0, size: 0 +2025/08/20 09:15:46 [debug] 623375#623375: *2 pipe length: -1 +2025/08/20 09:15:46 [debug] 623375#623375: *2 input buf #0 00006232878ED654 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record byte: 01 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record byte: 06 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record byte: 00 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record byte: 01 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record byte: 00 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record byte: 00 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record byte: 00 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record byte: 00 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record length: 0 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi closed stdout +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record byte: 01 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record byte: 03 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record byte: 00 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record byte: 01 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record byte: 00 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record byte: 08 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record byte: 00 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record byte: 00 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi record length: 8 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http fastcgi sent end request +2025/08/20 09:15:46 [debug] 623375#623375: *2 input buf 00006232878ED654 139 +2025/08/20 09:15:46 [debug] 623375#623375: *2 pipe write downstream: 1 +2025/08/20 09:15:46 [debug] 623375#623375: *2 pipe write downstream flush in +2025/08/20 09:15:46 [debug] 623375#623375: *2 http output filter "/upload?" +2025/08/20 09:15:46 [debug] 623375#623375: *2 http copy filter: "/upload?" +2025/08/20 09:15:46 [debug] 623375#623375: *2 http postpone filter "/upload?" 00006232878F8BE0 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http chunk: 139 +2025/08/20 09:15:46 [debug] 623375#623375: *2 write old buf t:1 f:0 00006232878EC808, pos 00006232878EC808, size: 181 file: 0, size: 0 +2025/08/20 09:15:46 [debug] 623375#623375: *2 write new buf t:1 f:0 00006232878F8D78, pos 00006232878F8D78, size: 4 file: 0, size: 0 +2025/08/20 09:15:46 [debug] 623375#623375: *2 write new buf t:1 f:0 00006232878ED160, pos 00006232878ED654, size: 139 file: 0, size: 0 +2025/08/20 09:15:46 [debug] 623375#623375: *2 write new buf t:0 f:0 0000000000000000, pos 0000623266E602E8, size: 2 file: 0, size: 0 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http write filter: l:0 f:0 s:326 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http copy filter: 0 "/upload?" +2025/08/20 09:15:46 [debug] 623375#623375: *2 pipe write downstream done +2025/08/20 09:15:46 [debug] 623375#623375: *2 event timer: 10, old: 262540032, new: 262540036 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http upstream exit: 0000000000000000 +2025/08/20 09:15:46 [debug] 623375#623375: *2 finalize http upstream request: 0 +2025/08/20 09:15:46 [debug] 623375#623375: *2 finalize http fastcgi request +2025/08/20 09:15:46 [debug] 623375#623375: *2 free rr peer 1 0 +2025/08/20 09:15:46 [debug] 623375#623375: *2 close http upstream connection: 10 +2025/08/20 09:15:46 [debug] 623375#623375: *2 free: 00006232878CBF20, unused: 48 +2025/08/20 09:15:46 [debug] 623375#623375: *2 event timer del: 10: 262540032 +2025/08/20 09:15:46 [debug] 623375#623375: *2 reusable connection: 0 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http upstream temp fd: -1 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http output filter "/upload?" +2025/08/20 09:15:46 [debug] 623375#623375: *2 http copy filter: "/upload?" +2025/08/20 09:15:46 [debug] 623375#623375: *2 http postpone filter "/upload?" 00007FFFC1B0D020 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http chunk: 0 +2025/08/20 09:15:46 [debug] 623375#623375: *2 write old buf t:1 f:0 00006232878EC808, pos 00006232878EC808, size: 181 file: 0, size: 0 +2025/08/20 09:15:46 [debug] 623375#623375: *2 write old buf t:1 f:0 00006232878F8D78, pos 00006232878F8D78, size: 4 file: 0, size: 0 +2025/08/20 09:15:46 [debug] 623375#623375: *2 write old buf t:1 f:0 00006232878ED160, pos 00006232878ED654, size: 139 file: 0, size: 0 +2025/08/20 09:15:46 [debug] 623375#623375: *2 write old buf t:0 f:0 0000000000000000, pos 0000623266E602E8, size: 2 file: 0, size: 0 +2025/08/20 09:15:46 [debug] 623375#623375: *2 write new buf t:0 f:0 0000000000000000, pos 0000623266E602E5, size: 5 file: 0, size: 0 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http write filter: l:1 f:0 s:331 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http write filter limit 0 +2025/08/20 09:15:46 [debug] 623375#623375: *2 writev: 331 of 331 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http write filter 0000000000000000 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http copy filter: 0 "/upload?" +2025/08/20 09:15:46 [debug] 623375#623375: *2 http finalize request: 0, "/upload?" a:1, c:1 +2025/08/20 09:15:46 [debug] 623375#623375: *2 set http keepalive handler +2025/08/20 09:15:46 [debug] 623375#623375: *2 http close request +2025/08/20 09:15:46 [debug] 623375#623375: *2 http log handler +2025/08/20 09:15:46 [debug] 623375#623375: *2 free: 00006232878ED160 +2025/08/20 09:15:46 [debug] 623375#623375: *2 free: 0000623287901A30, unused: 3 +2025/08/20 09:15:46 [debug] 623375#623375: *2 free: 00006232878F7DA0, unused: 0 +2025/08/20 09:15:46 [debug] 623375#623375: *2 free: 00006232878EC150, unused: 1250 +2025/08/20 09:15:46 [debug] 623375#623375: *2 free: 00006232878E50A0 +2025/08/20 09:15:46 [debug] 623375#623375: *2 hc free: 0000000000000000 +2025/08/20 09:15:46 [debug] 623375#623375: *2 hc busy: 0000000000000000 0 +2025/08/20 09:15:46 [debug] 623375#623375: *2 tcp_nodelay +2025/08/20 09:15:46 [debug] 623375#623375: *2 reusable connection: 1 +2025/08/20 09:15:46 [debug] 623375#623375: *2 event timer add: 6: 65000:262545036 +2025/08/20 09:15:46 [debug] 623375#623375: *2 post event 0000623287933770 +2025/08/20 09:15:46 [debug] 623375#623375: timer delta: 2 +2025/08/20 09:15:46 [debug] 623375#623375: posted event 0000623287933770 +2025/08/20 09:15:46 [debug] 623375#623375: *2 delete posted event 0000623287933770 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http keepalive handler +2025/08/20 09:15:46 [debug] 623375#623375: *2 malloc: 00006232878E50A0:1024 +2025/08/20 09:15:46 [debug] 623375#623375: *2 recv: eof:0, avail:0 +2025/08/20 09:15:46 [debug] 623375#623375: *2 free: 00006232878E50A0 +2025/08/20 09:15:46 [debug] 623375#623375: worker cycle +2025/08/20 09:15:46 [debug] 623375#623375: epoll timer: 65000 +2025/08/20 09:15:46 [debug] 623375#623375: epoll: fd:6 ev:2005 d:000079AFCDF6F1E1 +2025/08/20 09:15:46 [debug] 623375#623375: *2 http keepalive handler +2025/08/20 09:15:46 [debug] 623375#623375: *2 malloc: 00006232878E50A0:1024 +2025/08/20 09:15:46 [debug] 623375#623375: *2 recv: eof:1, avail:-1 +2025/08/20 09:15:46 [debug] 623375#623375: *2 recv: fd:6 0 of 1024 +2025/08/20 09:15:46 [info] 623375#623375: *2 client 127.0.0.1 closed keepalive connection +2025/08/20 09:15:46 [debug] 623375#623375: *2 close http connection: 6 +2025/08/20 09:15:46 [debug] 623375#623375: *2 event timer del: 6: 262545036 +2025/08/20 09:15:46 [debug] 623375#623375: *2 reusable connection: 0 +2025/08/20 09:15:46 [debug] 623375#623375: *2 free: 00006232878E50A0 +2025/08/20 09:15:46 [debug] 623375#623375: *2 free: 00006232878E2840, unused: 120 +2025/08/20 09:15:46 [debug] 623375#623375: timer delta: 2 +2025/08/20 09:15:46 [debug] 623375#623375: worker cycle +2025/08/20 09:15:46 [debug] 623375#623375: epoll timer: -1 +2025/08/20 09:15:46 [debug] 623375#623375: epoll: fd:5 ev:0001 d:000079AFCDF6F010 +2025/08/20 09:15:46 [debug] 623375#623375: accept on 0.0.0.0:9001, ready: 0 +2025/08/20 09:15:46 [debug] 623375#623375: posix_memalign: 00006232878E2840:512 @16 +2025/08/20 09:15:46 [debug] 623375#623375: *4 accept: 127.0.0.1:49400 fd:6 +2025/08/20 09:15:46 [debug] 623375#623375: *4 event timer add: 6: 60000:262540046 +2025/08/20 09:15:46 [debug] 623375#623375: *4 reusable connection: 1 +2025/08/20 09:15:46 [debug] 623375#623375: *4 epoll add event: fd:6 op:1 ev:80002001 +2025/08/20 09:15:46 [debug] 623375#623375: timer delta: 8 +2025/08/20 09:15:46 [debug] 623375#623375: worker cycle +2025/08/20 09:15:46 [debug] 623375#623375: epoll timer: 60000 +2025/08/20 09:15:46 [debug] 623375#623375: epoll: fd:6 ev:0001 d:000079AFCDF6F1E0 +2025/08/20 09:15:46 [debug] 623375#623375: *4 http wait request handler +2025/08/20 09:15:46 [debug] 623375#623375: *4 malloc: 00006232878E50A0:1024 +2025/08/20 09:15:46 [debug] 623375#623375: *4 recv: eof:0, avail:-1 +2025/08/20 09:15:46 [debug] 623375#623375: *4 recv: fd:6 142 of 1024 +2025/08/20 09:15:46 [debug] 623375#623375: *4 reusable connection: 0 +2025/08/20 09:15:46 [debug] 623375#623375: *4 posix_memalign: 0000623287901A30:4096 @16 +2025/08/20 09:15:46 [debug] 623375#623375: *4 http process request line +2025/08/20 09:15:46 [debug] 623375#623375: *4 http request line: "GET /c35f9cf23e088ba8e62d68c7baf7cbd4e6766c39e71080f925505ddff99b9f08 HTTP/1.1" +2025/08/20 09:15:46 [debug] 623375#623375: *4 http uri: "/c35f9cf23e088ba8e62d68c7baf7cbd4e6766c39e71080f925505ddff99b9f08" +2025/08/20 09:15:46 [debug] 623375#623375: *4 http args: "" +2025/08/20 09:15:46 [debug] 623375#623375: *4 http exten: "" +2025/08/20 09:15:46 [debug] 623375#623375: *4 posix_memalign: 00006232878F7DA0:4096 @16 +2025/08/20 09:15:46 [debug] 623375#623375: *4 http process request header line +2025/08/20 09:15:46 [debug] 623375#623375: *4 http header: "Host: localhost:9001" +2025/08/20 09:15:46 [debug] 623375#623375: *4 http header: "User-Agent: curl/8.15.0" +2025/08/20 09:15:46 [debug] 623375#623375: *4 http header: "Accept: */*" +2025/08/20 09:15:46 [debug] 623375#623375: *4 http header done +2025/08/20 09:15:46 [debug] 623375#623375: *4 event timer del: 6: 262540046 +2025/08/20 09:15:46 [debug] 623375#623375: *4 generic phase: 0 +2025/08/20 09:15:46 [debug] 623375#623375: *4 rewrite phase: 1 +2025/08/20 09:15:46 [debug] 623375#623375: *4 test location: "/health" +2025/08/20 09:15:46 [debug] 623375#623375: *4 test location: "/debug/list" +2025/08/20 09:15:46 [debug] 623375#623375: *4 test location: "/" +2025/08/20 09:15:46 [debug] 623375#623375: *4 test location: ~ "^/([a-f0-9]{64}).*$" +2025/08/20 09:15:46 [debug] 623375#623375: *4 using configuration "^/([a-f0-9]{64}).*$" +2025/08/20 09:15:46 [debug] 623375#623375: *4 http cl:-1 max:104857600 +2025/08/20 09:15:46 [debug] 623375#623375: *4 rewrite phase: 3 +2025/08/20 09:15:46 [debug] 623375#623375: *4 http script var +2025/08/20 09:15:46 [debug] 623375#623375: *4 http script var: "GET" +2025/08/20 09:15:46 [debug] 623375#623375: *4 http script value: "DELETE" +2025/08/20 09:15:46 [debug] 623375#623375: *4 http script not equal +2025/08/20 09:15:46 [debug] 623375#623375: *4 http script if +2025/08/20 09:15:46 [debug] 623375#623375: *4 http finalize request: 404, "/c35f9cf23e088ba8e62d68c7baf7cbd4e6766c39e71080f925505ddff99b9f08?" a:1, c:1 +2025/08/20 09:15:46 [debug] 623375#623375: *4 http special response: 404, "/c35f9cf23e088ba8e62d68c7baf7cbd4e6766c39e71080f925505ddff99b9f08?" +2025/08/20 09:15:46 [debug] 623375#623375: *4 http set discard body +2025/08/20 09:15:46 [debug] 623375#623375: *4 HTTP/1.1 404 Not Found +Server: nginx/1.18.0 (Ubuntu) +Date: Wed, 20 Aug 2025 13:15:46 GMT +Content-Type: text/html +Content-Length: 162 +Connection: keep-alive + +2025/08/20 09:15:46 [debug] 623375#623375: *4 write new buf t:1 f:0 00006232878F8180, pos 00006232878F8180, size: 164 file: 0, size: 0 +2025/08/20 09:15:46 [debug] 623375#623375: *4 http write filter: l:0 f:0 s:164 +2025/08/20 09:15:46 [debug] 623375#623375: *4 http output filter "/c35f9cf23e088ba8e62d68c7baf7cbd4e6766c39e71080f925505ddff99b9f08?" +2025/08/20 09:15:46 [debug] 623375#623375: *4 http copy filter: "/c35f9cf23e088ba8e62d68c7baf7cbd4e6766c39e71080f925505ddff99b9f08?" +2025/08/20 09:15:46 [debug] 623375#623375: *4 http postpone filter "/c35f9cf23e088ba8e62d68c7baf7cbd4e6766c39e71080f925505ddff99b9f08?" 00006232878F8310 +2025/08/20 09:15:46 [debug] 623375#623375: *4 write old buf t:1 f:0 00006232878F8180, pos 00006232878F8180, size: 164 file: 0, size: 0 +2025/08/20 09:15:46 [debug] 623375#623375: *4 write new buf t:0 f:0 0000000000000000, pos 0000623266E9F580, size: 100 file: 0, size: 0 +2025/08/20 09:15:46 [debug] 623375#623375: *4 write new buf t:0 f:0 0000000000000000, pos 0000623266E9FC80, size: 62 file: 0, size: 0 +2025/08/20 09:15:46 [debug] 623375#623375: *4 http write filter: l:1 f:0 s:326 +2025/08/20 09:15:46 [debug] 623375#623375: *4 http write filter limit 0 +2025/08/20 09:15:46 [debug] 623375#623375: *4 writev: 326 of 326 +2025/08/20 09:15:46 [debug] 623375#623375: *4 http write filter 0000000000000000 +2025/08/20 09:15:46 [debug] 623375#623375: *4 http copy filter: 0 "/c35f9cf23e088ba8e62d68c7baf7cbd4e6766c39e71080f925505ddff99b9f08?" +2025/08/20 09:15:46 [debug] 623375#623375: *4 http finalize request: 0, "/c35f9cf23e088ba8e62d68c7baf7cbd4e6766c39e71080f925505ddff99b9f08?" a:1, c:1 +2025/08/20 09:15:46 [debug] 623375#623375: *4 set http keepalive handler +2025/08/20 09:15:46 [debug] 623375#623375: *4 http close request +2025/08/20 09:15:46 [debug] 623375#623375: *4 http log handler +2025/08/20 09:15:46 [debug] 623375#623375: *4 free: 0000623287901A30, unused: 0 +2025/08/20 09:15:46 [debug] 623375#623375: *4 free: 00006232878F7DA0, unused: 2456 +2025/08/20 09:15:46 [debug] 623375#623375: *4 free: 00006232878E50A0 +2025/08/20 09:15:46 [debug] 623375#623375: *4 hc free: 0000000000000000 +2025/08/20 09:15:46 [debug] 623375#623375: *4 hc busy: 0000000000000000 0 +2025/08/20 09:15:46 [debug] 623375#623375: *4 tcp_nodelay +2025/08/20 09:15:46 [debug] 623375#623375: *4 reusable connection: 1 +2025/08/20 09:15:46 [debug] 623375#623375: *4 event timer add: 6: 65000:262545046 +2025/08/20 09:15:46 [debug] 623375#623375: timer delta: 0 +2025/08/20 09:15:46 [debug] 623375#623375: worker cycle +2025/08/20 09:15:46 [debug] 623375#623375: epoll timer: 65000 +2025/08/20 09:15:46 [debug] 623375#623375: epoll: fd:6 ev:2001 d:000079AFCDF6F1E0 +2025/08/20 09:15:46 [debug] 623375#623375: *4 http keepalive handler +2025/08/20 09:15:46 [debug] 623375#623375: *4 malloc: 00006232878E50A0:1024 +2025/08/20 09:15:46 [debug] 623375#623375: *4 recv: eof:1, avail:-1 +2025/08/20 09:15:46 [debug] 623375#623375: *4 recv: fd:6 0 of 1024 +2025/08/20 09:15:46 [info] 623375#623375: *4 client 127.0.0.1 closed keepalive connection +2025/08/20 09:15:46 [debug] 623375#623375: *4 close http connection: 6 +2025/08/20 09:15:46 [debug] 623375#623375: *4 event timer del: 6: 262545046 +2025/08/20 09:15:46 [debug] 623375#623375: *4 reusable connection: 0 +2025/08/20 09:15:46 [debug] 623375#623375: *4 free: 00006232878E50A0 +2025/08/20 09:15:46 [debug] 623375#623375: *4 free: 00006232878E2840, unused: 136 +2025/08/20 09:15:46 [debug] 623375#623375: timer delta: 1 +2025/08/20 09:15:46 [debug] 623375#623375: worker cycle +2025/08/20 09:15:46 [debug] 623375#623375: epoll timer: -1 +2025/08/20 09:19:26 [notice] 623374#623374: signal 15 (SIGTERM) received from 624107, exiting +2025/08/20 09:19:26 [debug] 623374#623374: wake up, sigio 0 +2025/08/20 09:19:26 [debug] 623374#623374: child: 0 623375 e:0 t:0 d:0 r:1 j:0 +2025/08/20 09:19:26 [debug] 623374#623374: termination cycle: 50 +2025/08/20 09:19:26 [debug] 623374#623374: sigsuspend +2025/08/20 09:19:26 [debug] 623375#623375: epoll: fd:7 ev:0001 d:000079AFCDF6F0F8 +2025/08/20 09:19:26 [debug] 623375#623375: channel handler +2025/08/20 09:19:26 [debug] 623375#623375: channel: 32 +2025/08/20 09:19:26 [debug] 623375#623375: channel command: 4 +2025/08/20 09:19:26 [debug] 623375#623375: channel: -2 +2025/08/20 09:19:26 [debug] 623375#623375: timer delta: 219295 +2025/08/20 09:19:26 [notice] 623375#623375: exiting +2025/08/20 09:19:26 [debug] 623375#623375: flush files +2025/08/20 09:19:26 [debug] 623375#623375: run cleanup: 0000623287930A80 +2025/08/20 09:19:26 [debug] 623375#623375: run cleanup: 0000623287923A18 +2025/08/20 09:19:26 [debug] 623375#623375: cleanup resolver +2025/08/20 09:19:26 [debug] 623375#623375: free: 0000623287931DE0 +2025/08/20 09:19:26 [debug] 623375#623375: free: 0000623287924BE0 +2025/08/20 09:19:26 [debug] 623375#623375: free: 0000623287903B50 +2025/08/20 09:19:26 [debug] 623375#623375: free: 0000623287902A40 +2025/08/20 09:19:26 [debug] 623375#623375: free: 00006232878FCA10 +2025/08/20 09:19:26 [debug] 623375#623375: free: 00006232878FB950 +2025/08/20 09:19:26 [debug] 623375#623375: free: 00006232878FA890 +2025/08/20 09:19:26 [debug] 623375#623375: free: 00006232878F97D0 +2025/08/20 09:19:26 [debug] 623375#623375: free: 00006232878F1170 +2025/08/20 09:19:26 [debug] 623375#623375: free: 00006232878E8140, unused: 0 +2025/08/20 09:19:26 [debug] 623375#623375: free: 00006232878F2580, unused: 0 +2025/08/20 09:19:26 [debug] 623375#623375: free: 00006232878FDA20, unused: 0 +2025/08/20 09:19:26 [debug] 623375#623375: free: 0000623287904B60, unused: 0 +2025/08/20 09:19:26 [debug] 623375#623375: free: 0000623287908B70, unused: 0 +2025/08/20 09:19:26 [debug] 623375#623375: free: 000062328790CB80, unused: 0 +2025/08/20 09:19:26 [debug] 623375#623375: free: 0000623287910B90, unused: 0 +2025/08/20 09:19:26 [debug] 623375#623375: free: 0000623287914BA0, unused: 0 +2025/08/20 09:19:26 [debug] 623375#623375: free: 0000623287918BB0, unused: 0 +2025/08/20 09:19:26 [debug] 623375#623375: free: 000062328791CBC0, unused: 0 +2025/08/20 09:19:26 [debug] 623375#623375: free: 0000623287920BD0, unused: 0 +2025/08/20 09:19:26 [debug] 623375#623375: free: 0000623287925DB0, unused: 0 +2025/08/20 09:19:26 [debug] 623375#623375: free: 0000623287929DC0, unused: 0 +2025/08/20 09:19:26 [debug] 623375#623375: free: 000062328792DDD0, unused: 4920 +2025/08/20 09:19:26 [notice] 623375#623375: exit +2025/08/20 09:19:26 [notice] 623374#623374: signal 17 (SIGCHLD) received from 623375 +2025/08/20 09:19:26 [notice] 623374#623374: worker process 623375 exited with code 0 +2025/08/20 09:19:26 [debug] 623374#623374: shmtx forced unlock +2025/08/20 09:19:26 [debug] 623374#623374: wake up, sigio 3 +2025/08/20 09:19:26 [debug] 623374#623374: reap children +2025/08/20 09:19:26 [debug] 623374#623374: child: 0 623375 e:1 t:1 d:0 r:1 j:0 +2025/08/20 09:19:26 [notice] 623374#623374: exit +2025/08/20 09:19:26 [debug] 623374#623374: close listening 0.0.0.0:9001 #5 +2025/08/20 09:19:26 [debug] 623374#623374: run cleanup: 0000623287923A18 +2025/08/20 09:19:26 [debug] 623374#623374: cleanup resolver +2025/08/20 09:19:26 [debug] 623374#623374: free: 0000623287931DE0 +2025/08/20 09:19:26 [debug] 623374#623374: free: 0000623287924BE0 +2025/08/20 09:19:26 [debug] 623374#623374: free: 0000623287903B50 +2025/08/20 09:19:26 [debug] 623374#623374: free: 0000623287902A40 +2025/08/20 09:19:26 [debug] 623374#623374: free: 00006232878FCA10 +2025/08/20 09:19:26 [debug] 623374#623374: free: 00006232878FB950 +2025/08/20 09:19:26 [debug] 623374#623374: free: 00006232878FA890 +2025/08/20 09:19:26 [debug] 623374#623374: free: 00006232878F97D0 +2025/08/20 09:19:26 [debug] 623374#623374: free: 00006232878F1170 +2025/08/20 09:19:26 [debug] 623374#623374: free: 00006232878E8140, unused: 0 +2025/08/20 09:19:26 [debug] 623374#623374: free: 00006232878F2580, unused: 0 +2025/08/20 09:19:26 [debug] 623374#623374: free: 00006232878FDA20, unused: 0 +2025/08/20 09:19:26 [debug] 623374#623374: free: 0000623287904B60, unused: 0 +2025/08/20 09:19:26 [debug] 623374#623374: free: 0000623287908B70, unused: 0 +2025/08/20 09:19:26 [debug] 623374#623374: free: 000062328790CB80, unused: 0 +2025/08/20 09:19:26 [debug] 623374#623374: free: 0000623287910B90, unused: 0 +2025/08/20 09:19:26 [debug] 623374#623374: free: 0000623287914BA0, unused: 0 +2025/08/20 09:19:26 [debug] 623374#623374: free: 0000623287918BB0, unused: 0 +2025/08/20 09:19:26 [debug] 623374#623374: free: 000062328791CBC0, unused: 0 +2025/08/20 09:19:26 [debug] 623374#623374: free: 0000623287920BD0, unused: 0 +2025/08/20 09:19:26 [debug] 623374#623374: free: 0000623287925DB0, unused: 0 +2025/08/20 09:19:26 [debug] 623374#623374: free: 0000623287929DC0, unused: 0 +2025/08/20 09:19:26 [debug] 623374#623374: free: 000062328792DDD0, unused: 4951 +2025/08/20 09:19:29 [debug] 624144#624144: bind() 0.0.0.0:9001 #5 +2025/08/20 09:19:29 [debug] 624144#624144: counter: 00007D7AFE534080, 1 +2025/08/20 09:19:29 [debug] 624145#624145: bind() 0.0.0.0:9001 #5 +2025/08/20 09:19:29 [notice] 624145#624145: using the "epoll" event method +2025/08/20 09:19:29 [debug] 624145#624145: counter: 0000792816276080, 1 +2025/08/20 09:19:29 [notice] 624145#624145: nginx/1.18.0 (Ubuntu) +2025/08/20 09:19:29 [notice] 624145#624145: OS: Linux 6.12.10-76061203-generic +2025/08/20 09:19:29 [notice] 624145#624145: getrlimit(RLIMIT_NOFILE): 1048576:1048576 +2025/08/20 09:19:29 [debug] 624146#624145: write: 6, 00007FFEBE5AAC60, 7, 0 +2025/08/20 09:19:29 [debug] 624146#624146: setproctitle: "nginx: master process nginx -p . -c config/local-nginx.conf" +2025/08/20 09:19:29 [notice] 624146#624146: start worker processes +2025/08/20 09:19:29 [debug] 624146#624146: channel 6:7 +2025/08/20 09:19:29 [notice] 624146#624146: start worker process 624147 +2025/08/20 09:19:29 [debug] 624146#624146: sigsuspend +2025/08/20 09:19:29 [debug] 624147#624147: add cleanup: 0000650E7C494A80 +2025/08/20 09:19:29 [debug] 624147#624147: malloc: 0000650E7C447BD0:8 +2025/08/20 09:19:29 [debug] 624147#624147: notify eventfd: 9 +2025/08/20 09:19:29 [debug] 624147#624147: testing the EPOLLRDHUP flag: success +2025/08/20 09:19:29 [debug] 624147#624147: malloc: 0000650E7C45A590:6144 +2025/08/20 09:19:29 [debug] 624147#624147: malloc: 000079281606E010:237568 +2025/08/20 09:19:29 [debug] 624147#624147: malloc: 0000650E7C4976B0:98304 +2025/08/20 09:19:29 [debug] 624147#624147: malloc: 0000650E7C4AF6C0:98304 +2025/08/20 09:19:29 [debug] 624147#624147: epoll add event: fd:5 op:1 ev:00002001 +2025/08/20 09:19:29 [debug] 624147#624147: epoll add event: fd:7 op:1 ev:00002001 +2025/08/20 09:19:29 [debug] 624147#624147: setproctitle: "nginx: worker process" +2025/08/20 09:19:29 [debug] 624147#624147: worker cycle +2025/08/20 09:19:29 [debug] 624147#624147: epoll timer: -1 +2025/08/20 09:19:38 [debug] 624147#624147: epoll: fd:5 ev:0001 d:000079281606E010 +2025/08/20 09:19:38 [debug] 624147#624147: accept on 0.0.0.0:9001, ready: 0 +2025/08/20 09:19:38 [debug] 624147#624147: posix_memalign: 0000650E7C446840:512 @16 +2025/08/20 09:19:38 [debug] 624147#624147: *1 accept: 127.0.0.1:38914 fd:6 +2025/08/20 09:19:38 [debug] 624147#624147: *1 event timer add: 6: 60000:262771850 +2025/08/20 09:19:38 [debug] 624147#624147: *1 reusable connection: 1 +2025/08/20 09:19:38 [debug] 624147#624147: *1 epoll add event: fd:6 op:1 ev:80002001 +2025/08/20 09:19:38 [debug] 624147#624147: timer delta: 9298 +2025/08/20 09:19:38 [debug] 624147#624147: worker cycle +2025/08/20 09:19:38 [debug] 624147#624147: epoll timer: 60000 +2025/08/20 09:19:38 [debug] 624147#624147: epoll: fd:6 ev:0001 d:000079281606E1E0 +2025/08/20 09:19:38 [debug] 624147#624147: *1 http wait request handler +2025/08/20 09:19:38 [debug] 624147#624147: *1 malloc: 0000650E7C4490A0:1024 +2025/08/20 09:19:38 [debug] 624147#624147: *1 recv: eof:0, avail:-1 +2025/08/20 09:19:38 [debug] 624147#624147: *1 recv: fd:6 149 of 1024 +2025/08/20 09:19:38 [debug] 624147#624147: *1 reusable connection: 0 +2025/08/20 09:19:38 [debug] 624147#624147: *1 posix_memalign: 0000650E7C465A30:4096 @16 +2025/08/20 09:19:38 [debug] 624147#624147: *1 http process request line +2025/08/20 09:19:38 [debug] 624147#624147: *1 http request line: "PUT /upload HTTP/1.1" +2025/08/20 09:19:38 [debug] 624147#624147: *1 http uri: "/upload" +2025/08/20 09:19:38 [debug] 624147#624147: *1 http args: "" +2025/08/20 09:19:38 [debug] 624147#624147: *1 http exten: "" +2025/08/20 09:19:38 [debug] 624147#624147: *1 posix_memalign: 0000650E7C45BDA0:4096 @16 +2025/08/20 09:19:38 [debug] 624147#624147: *1 http process request header line +2025/08/20 09:19:38 [debug] 624147#624147: *1 http header: "Host: localhost:9001" +2025/08/20 09:19:38 [debug] 624147#624147: *1 http header: "User-Agent: curl/8.15.0" +2025/08/20 09:19:38 [debug] 624147#624147: *1 http header: "Accept: */*" +2025/08/20 09:19:38 [debug] 624147#624147: *1 http header: "Content-Type: text/plain" +2025/08/20 09:19:38 [debug] 624147#624147: *1 http header: "Content-Length: 19" +2025/08/20 09:19:38 [debug] 624147#624147: *1 http header done +2025/08/20 09:19:38 [debug] 624147#624147: *1 event timer del: 6: 262771850 +2025/08/20 09:19:38 [debug] 624147#624147: *1 generic phase: 0 +2025/08/20 09:19:38 [debug] 624147#624147: *1 rewrite phase: 1 +2025/08/20 09:19:38 [debug] 624147#624147: *1 test location: "/health" +2025/08/20 09:19:38 [debug] 624147#624147: *1 test location: "/upload" +2025/08/20 09:19:38 [debug] 624147#624147: *1 test location: ~ "^/([a-f0-9]{64}).*$" +2025/08/20 09:19:38 [debug] 624147#624147: *1 test location: ~ "^/([a-f0-9]{64})(\.[a-zA-Z0-9]+)?$" +2025/08/20 09:19:38 [debug] 624147#624147: *1 test location: ~ "^/fcgi-head/([a-f0-9]{64}).*$" +2025/08/20 09:19:38 [debug] 624147#624147: *1 test location: ~ "^/list/([a-f0-9]{64}).*$" +2025/08/20 09:19:38 [debug] 624147#624147: *1 using configuration "/upload" +2025/08/20 09:19:38 [debug] 624147#624147: *1 http cl:19 max:104857600 +2025/08/20 09:19:38 [debug] 624147#624147: *1 rewrite phase: 3 +2025/08/20 09:19:38 [debug] 624147#624147: *1 http script var +2025/08/20 09:19:38 [debug] 624147#624147: *1 http script var: "PUT" +2025/08/20 09:19:38 [debug] 624147#624147: *1 http script regex: "^(PUT)$" +2025/08/20 09:19:38 [notice] 624147#624147: *1 "^(PUT)$" matches "PUT", client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", host: "localhost:9001" +2025/08/20 09:19:38 [debug] 624147#624147: *1 http script if +2025/08/20 09:19:38 [debug] 624147#624147: *1 http script if: false +2025/08/20 09:19:38 [debug] 624147#624147: *1 post rewrite phase: 4 +2025/08/20 09:19:38 [debug] 624147#624147: *1 generic phase: 5 +2025/08/20 09:19:38 [debug] 624147#624147: *1 generic phase: 6 +2025/08/20 09:19:38 [debug] 624147#624147: *1 generic phase: 7 +2025/08/20 09:19:38 [debug] 624147#624147: *1 access phase: 8 +2025/08/20 09:19:38 [debug] 624147#624147: *1 access phase: 9 +2025/08/20 09:19:38 [debug] 624147#624147: *1 access phase: 10 +2025/08/20 09:19:38 [debug] 624147#624147: *1 post access phase: 11 +2025/08/20 09:19:38 [debug] 624147#624147: *1 generic phase: 12 +2025/08/20 09:19:38 [debug] 624147#624147: *1 generic phase: 13 +2025/08/20 09:19:38 [debug] 624147#624147: *1 http client request body preread 19 +2025/08/20 09:19:38 [debug] 624147#624147: *1 http request body content length filter +2025/08/20 09:19:38 [debug] 624147#624147: *1 http body new buf t:1 f:0 0000650E7C449122, pos 0000650E7C449122, size: 19 file: 0, size: 0 +2025/08/20 09:19:38 [debug] 624147#624147: *1 http init upstream, client timer: 0 +2025/08/20 09:19:38 [debug] 624147#624147: *1 epoll add event: fd:6 op:3 ev:80002005 +2025/08/20 09:19:38 [debug] 624147#624147: *1 http script copy: "QUERY_STRING" +2025/08/20 09:19:38 [debug] 624147#624147: *1 fastcgi param: "QUERY_STRING: " +2025/08/20 09:19:38 [debug] 624147#624147: *1 http script copy: "REQUEST_METHOD" +2025/08/20 09:19:38 [debug] 624147#624147: *1 http script var: "PUT" +2025/08/20 09:19:38 [debug] 624147#624147: *1 fastcgi param: "REQUEST_METHOD: PUT" +2025/08/20 09:19:38 [debug] 624147#624147: *1 http script copy: "CONTENT_TYPE" +2025/08/20 09:19:38 [debug] 624147#624147: *1 http script var: "text/plain" +2025/08/20 09:19:38 [debug] 624147#624147: *1 fastcgi param: "CONTENT_TYPE: text/plain" +2025/08/20 09:19:38 [debug] 624147#624147: *1 http script copy: "CONTENT_LENGTH" +2025/08/20 09:19:38 [debug] 624147#624147: *1 http script var: "19" +2025/08/20 09:19:38 [debug] 624147#624147: *1 fastcgi param: "CONTENT_LENGTH: 19" +2025/08/20 09:19:38 [debug] 624147#624147: *1 http script copy: "SCRIPT_NAME" +2025/08/20 09:19:38 [debug] 624147#624147: *1 http script var: "/upload" +2025/08/20 09:19:38 [debug] 624147#624147: *1 fastcgi param: "SCRIPT_NAME: /upload" +2025/08/20 09:19:38 [debug] 624147#624147: *1 http script copy: "REQUEST_URI" +2025/08/20 09:19:38 [debug] 624147#624147: *1 http script var: "/upload" +2025/08/20 09:19:38 [debug] 624147#624147: *1 fastcgi param: "REQUEST_URI: /upload" +2025/08/20 09:19:38 [debug] 624147#624147: *1 http script copy: "DOCUMENT_URI" +2025/08/20 09:19:38 [debug] 624147#624147: *1 http script var: "/upload" +2025/08/20 09:19:38 [debug] 624147#624147: *1 fastcgi param: "DOCUMENT_URI: /upload" +2025/08/20 09:19:38 [debug] 624147#624147: *1 http script copy: "DOCUMENT_ROOT" +2025/08/20 09:19:38 [debug] 624147#624147: *1 http script var: "./blobs" +2025/08/20 09:19:38 [debug] 624147#624147: *1 fastcgi param: "DOCUMENT_ROOT: ./blobs" +2025/08/20 09:19:38 [debug] 624147#624147: *1 http script copy: "SERVER_PROTOCOL" +2025/08/20 09:19:38 [debug] 624147#624147: *1 http script var: "HTTP/1.1" +2025/08/20 09:19:38 [debug] 624147#624147: *1 fastcgi param: "SERVER_PROTOCOL: HTTP/1.1" +2025/08/20 09:19:38 [debug] 624147#624147: *1 http script copy: "REQUEST_SCHEME" +2025/08/20 09:19:38 [debug] 624147#624147: *1 http script var: "http" +2025/08/20 09:19:38 [debug] 624147#624147: *1 fastcgi param: "REQUEST_SCHEME: http" +2025/08/20 09:19:38 [debug] 624147#624147: *1 http script copy: "" +2025/08/20 09:19:38 [debug] 624147#624147: *1 http script copy: "GATEWAY_INTERFACE" +2025/08/20 09:19:38 [debug] 624147#624147: *1 http script copy: "CGI/1.1" +2025/08/20 09:19:38 [debug] 624147#624147: *1 fastcgi param: "GATEWAY_INTERFACE: CGI/1.1" +2025/08/20 09:19:38 [debug] 624147#624147: *1 http script copy: "SERVER_SOFTWARE" +2025/08/20 09:19:38 [debug] 624147#624147: *1 http script copy: "nginx/" +2025/08/20 09:19:38 [debug] 624147#624147: *1 http script var: "1.18.0" +2025/08/20 09:19:38 [debug] 624147#624147: *1 fastcgi param: "SERVER_SOFTWARE: nginx/1.18.0" +2025/08/20 09:19:38 [debug] 624147#624147: *1 http script copy: "REMOTE_ADDR" +2025/08/20 09:19:38 [debug] 624147#624147: *1 http script var: "127.0.0.1" +2025/08/20 09:19:38 [debug] 624147#624147: *1 fastcgi param: "REMOTE_ADDR: 127.0.0.1" +2025/08/20 09:19:38 [debug] 624147#624147: *1 http script copy: "REMOTE_PORT" +2025/08/20 09:19:38 [debug] 624147#624147: *1 http script var: "38914" +2025/08/20 09:19:38 [debug] 624147#624147: *1 fastcgi param: "REMOTE_PORT: 38914" +2025/08/20 09:19:38 [debug] 624147#624147: *1 http script copy: "SERVER_ADDR" +2025/08/20 09:19:38 [debug] 624147#624147: *1 http script var: "127.0.0.1" +2025/08/20 09:19:38 [debug] 624147#624147: *1 fastcgi param: "SERVER_ADDR: 127.0.0.1" +2025/08/20 09:19:38 [debug] 624147#624147: *1 http script copy: "SERVER_PORT" +2025/08/20 09:19:38 [debug] 624147#624147: *1 http script var: "9001" +2025/08/20 09:19:38 [debug] 624147#624147: *1 fastcgi param: "SERVER_PORT: 9001" +2025/08/20 09:19:38 [debug] 624147#624147: *1 http script copy: "SERVER_NAME" +2025/08/20 09:19:38 [debug] 624147#624147: *1 http script var: "localhost" +2025/08/20 09:19:38 [debug] 624147#624147: *1 fastcgi param: "SERVER_NAME: localhost" +2025/08/20 09:19:38 [debug] 624147#624147: *1 http script copy: "REDIRECT_STATUS" +2025/08/20 09:19:38 [debug] 624147#624147: *1 http script copy: "200" +2025/08/20 09:19:38 [debug] 624147#624147: *1 fastcgi param: "REDIRECT_STATUS: 200" +2025/08/20 09:19:38 [debug] 624147#624147: *1 http script copy: "SCRIPT_FILENAME" +2025/08/20 09:19:38 [debug] 624147#624147: *1 http script var: "./blobs" +2025/08/20 09:19:38 [debug] 624147#624147: *1 http script copy: "/ginxsom.fcgi" +2025/08/20 09:19:38 [debug] 624147#624147: *1 fastcgi param: "SCRIPT_FILENAME: ./blobs/ginxsom.fcgi" +2025/08/20 09:19:38 [debug] 624147#624147: *1 fastcgi param: "HTTP_HOST: localhost:9001" +2025/08/20 09:19:38 [debug] 624147#624147: *1 fastcgi param: "HTTP_USER_AGENT: curl/8.15.0" +2025/08/20 09:19:38 [debug] 624147#624147: *1 fastcgi param: "HTTP_ACCEPT: */*" +2025/08/20 09:19:38 [debug] 624147#624147: *1 fastcgi param: "HTTP_CONTENT_TYPE: text/plain" +2025/08/20 09:19:38 [debug] 624147#624147: *1 fastcgi param: "HTTP_CONTENT_LENGTH: 19" +2025/08/20 09:19:38 [debug] 624147#624147: *1 http cleanup add: 0000650E7C45CBB8 +2025/08/20 09:19:38 [debug] 624147#624147: *1 get rr peer, try: 1 +2025/08/20 09:19:38 [debug] 624147#624147: *1 stream socket 10 +2025/08/20 09:19:38 [debug] 624147#624147: *1 epoll add connection: fd:10 ev:80002005 +2025/08/20 09:19:38 [debug] 624147#624147: *1 connect to unix:/tmp/ginxsom-fcgi.sock, fd:10 #2 +2025/08/20 09:19:38 [debug] 624147#624147: *1 connected +2025/08/20 09:19:38 [debug] 624147#624147: *1 http upstream connect: 0 +2025/08/20 09:19:38 [debug] 624147#624147: *1 posix_memalign: 0000650E7C42FF20:128 @16 +2025/08/20 09:19:38 [debug] 624147#624147: *1 http upstream send request +2025/08/20 09:19:38 [debug] 624147#624147: *1 http upstream send request body +2025/08/20 09:19:38 [debug] 624147#624147: *1 chain writer buf fl:0 s:584 +2025/08/20 09:19:38 [debug] 624147#624147: *1 chain writer buf fl:0 s:19 +2025/08/20 09:19:38 [debug] 624147#624147: *1 chain writer buf fl:0 s:13 +2025/08/20 09:19:38 [debug] 624147#624147: *1 chain writer in: 0000650E7C45CC28 +2025/08/20 09:19:38 [debug] 624147#624147: *1 writev: 616 of 616 +2025/08/20 09:19:38 [debug] 624147#624147: *1 chain writer out: 0000000000000000 +2025/08/20 09:19:38 [debug] 624147#624147: *1 event timer add: 10: 60000:262771850 +2025/08/20 09:19:38 [debug] 624147#624147: *1 http finalize request: -4, "/upload?" a:1, c:2 +2025/08/20 09:19:38 [debug] 624147#624147: *1 http request count:2 blk:0 +2025/08/20 09:19:38 [debug] 624147#624147: timer delta: 0 +2025/08/20 09:19:38 [debug] 624147#624147: worker cycle +2025/08/20 09:19:38 [debug] 624147#624147: epoll timer: 60000 +2025/08/20 09:19:38 [debug] 624147#624147: epoll: fd:6 ev:0004 d:000079281606E1E0 +2025/08/20 09:19:38 [debug] 624147#624147: *1 http run request: "/upload?" +2025/08/20 09:19:38 [debug] 624147#624147: *1 http upstream check client, write event:1, "/upload" +2025/08/20 09:19:38 [debug] 624147#624147: epoll: fd:10 ev:0005 d:000079281606E2C8 +2025/08/20 09:19:38 [debug] 624147#624147: *1 http upstream request: "/upload?" +2025/08/20 09:19:38 [debug] 624147#624147: *1 http upstream process header +2025/08/20 09:19:38 [debug] 624147#624147: *1 malloc: 0000650E7C450150:4096 +2025/08/20 09:19:38 [debug] 624147#624147: *1 posix_memalign: 0000650E7C451160:4096 @16 +2025/08/20 09:19:38 [debug] 624147#624147: *1 recv: eof:0, avail:-1 +2025/08/20 09:19:38 [debug] 624147#624147: *1 recv: fd:10 600 of 4096 +2025/08/20 09:19:38 [debug] 624147#624147: *1 http fastcgi record byte: 01 +2025/08/20 09:19:38 [debug] 624147#624147: *1 http fastcgi record byte: 07 +2025/08/20 09:19:38 [debug] 624147#624147: *1 http fastcgi record byte: 00 +2025/08/20 09:19:38 [debug] 624147#624147: *1 http fastcgi record byte: 01 +2025/08/20 09:19:38 [debug] 624147#624147: *1 http fastcgi record byte: 00 +2025/08/20 09:19:38 [debug] 624147#624147: *1 http fastcgi record byte: 21 +2025/08/20 09:19:38 [debug] 624147#624147: *1 http fastcgi record byte: 07 +2025/08/20 09:19:38 [debug] 624147#624147: *1 http fastcgi record byte: 00 +2025/08/20 09:19:38 [debug] 624147#624147: *1 http fastcgi record length: 33 +2025/08/20 09:19:38 [error] 624147#624147: *1 FastCGI sent in stderr: "DEBUG: FastCGI received request" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:19:38 [debug] 624147#624147: *1 http fastcgi record byte: 01 +2025/08/20 09:19:38 [debug] 624147#624147: *1 http fastcgi record byte: 07 +2025/08/20 09:19:38 [debug] 624147#624147: *1 http fastcgi record byte: 00 +2025/08/20 09:19:38 [debug] 624147#624147: *1 http fastcgi record byte: 01 +2025/08/20 09:19:38 [debug] 624147#624147: *1 http fastcgi record byte: 01 +2025/08/20 09:19:38 [debug] 624147#624147: *1 http fastcgi record byte: AA +2025/08/20 09:19:38 [debug] 624147#624147: *1 http fastcgi record byte: 06 +2025/08/20 09:19:38 [debug] 624147#624147: *1 http fastcgi record byte: 00 +2025/08/20 09:19:38 [debug] 624147#624147: *1 http fastcgi record length: 426 +2025/08/20 09:19:38 [error] 624147#624147: *1 FastCGI sent in stderr: "DEBUG: METHOD=PUT, URI=/upload +ENTRY: Entering handle_upload_request() function +DEBUG: handle_upload_request called +LOG: [2025-08-20 09:19:38] PUT /upload - Auth: pending - Status: 0 +DEBUG: content_type=text/plain +DEBUG: content_length=19 +DEBUG: Raw Authorization header: NULL +LOG: [2025-08-20 09:19:38] PUT /upload - Auth: anonymous - Status: 0 +DEBUG: Successfully read DEBUG-LAAN: DATA TO HASH: test data for debug" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:19:38 [debug] 624147#624147: *1 http fastcgi record byte: 01 +2025/08/20 09:19:38 [debug] 624147#624147: *1 http fastcgi record byte: 07 +2025/08/20 09:19:38 [debug] 624147#624147: *1 http fastcgi record byte: 00 +2025/08/20 09:19:38 [debug] 624147#624147: *1 http fastcgi record byte: 01 +2025/08/20 09:19:38 [debug] 624147#624147: *1 http fastcgi record byte: 00 +2025/08/20 09:19:38 [debug] 624147#624147: *1 http fastcgi record byte: 62 +2025/08/20 09:19:38 [debug] 624147#624147: *1 http fastcgi record byte: 06 +2025/08/20 09:19:38 [debug] 624147#624147: *1 http fastcgi record byte: 00 +2025/08/20 09:19:38 [debug] 624147#624147: *1 http fastcgi record length: 98 +2025/08/20 09:19:38 [error] 624147#624147: *1 FastCGI sent in stderr: "DEBUG-LAAN: Calculated SHA-256: 49838edfd837a9cab272503012ab06d82bc6221e9176c65fe6c46e8d16f3b26e" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:19:38 [debug] 624147#624147: *1 recv: eof:0, avail:0 +2025/08/20 09:19:38 [debug] 624147#624147: *1 http upstream request: "/upload?" +2025/08/20 09:19:38 [debug] 624147#624147: *1 http upstream dummy handler +2025/08/20 09:19:38 [debug] 624147#624147: timer delta: 3 +2025/08/20 09:19:38 [debug] 624147#624147: worker cycle +2025/08/20 09:19:38 [debug] 624147#624147: epoll timer: 59997 +2025/08/20 09:19:38 [debug] 624147#624147: epoll: fd:10 ev:0005 d:000079281606E2C8 +2025/08/20 09:19:38 [debug] 624147#624147: *1 http upstream request: "/upload?" +2025/08/20 09:19:38 [debug] 624147#624147: *1 http upstream process header +2025/08/20 09:19:38 [debug] 624147#624147: *1 recv: eof:0, avail:-1 +2025/08/20 09:19:38 [debug] 624147#624147: *1 recv: fd:10 512 of 3496 +2025/08/20 09:19:38 [debug] 624147#624147: *1 http fastcgi record byte: 01 +2025/08/20 09:19:38 [debug] 624147#624147: *1 http fastcgi record byte: 07 +2025/08/20 09:19:38 [debug] 624147#624147: *1 http fastcgi record byte: 00 +2025/08/20 09:19:38 [debug] 624147#624147: *1 http fastcgi record byte: 01 +2025/08/20 09:19:38 [debug] 624147#624147: *1 http fastcgi record byte: 01 +2025/08/20 09:19:38 [debug] 624147#624147: *1 http fastcgi record byte: F8 +2025/08/20 09:19:38 [debug] 624147#624147: *1 http fastcgi record byte: 00 +2025/08/20 09:19:38 [debug] 624147#624147: *1 http fastcgi record byte: 00 +2025/08/20 09:19:38 [debug] 624147#624147: *1 http fastcgi record length: 504 +2025/08/20 09:19:38 [error] 624147#624147: *1 FastCGI sent in stderr: "AUTH: About to perform authentication - auth_header present: NO +DEBUG: Authentication passed, uploader_pubkey: anonymous +DEBUG: Saving file to: blobs/49838edfd837a9cab272503012ab06d82bc6221e9176c65fe6c46e8d16f3b26e.txt +DEBUG: Successfully saved DEBUG: Content-Disposition header: NULL +DEBUG: No Content-Disposition header provided +DEBUG: Final filename after extraction: NULL +DEBUG: insert_blob_metadata() called for sha256='49838edfd837a9cab272503012ab06d82bc6221e9176c65fe6c46e8d16f3b26e' +DEBUG:" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:19:38 [debug] 624147#624147: *1 recv: eof:0, avail:0 +2025/08/20 09:19:38 [debug] 624147#624147: *1 http upstream request: "/upload?" +2025/08/20 09:19:38 [debug] 624147#624147: *1 http upstream dummy handler +2025/08/20 09:19:38 [debug] 624147#624147: timer delta: 0 +2025/08/20 09:19:38 [debug] 624147#624147: worker cycle +2025/08/20 09:19:38 [debug] 624147#624147: epoll timer: 59997 +2025/08/20 09:19:38 [debug] 624147#624147: epoll: fd:10 ev:0005 d:000079281606E2C8 +2025/08/20 09:19:38 [debug] 624147#624147: *1 http upstream request: "/upload?" +2025/08/20 09:19:38 [debug] 624147#624147: *1 http upstream process header +2025/08/20 09:19:38 [debug] 624147#624147: *1 recv: eof:0, avail:-1 +2025/08/20 09:19:38 [debug] 624147#624147: *1 recv: fd:10 512 of 4096 +2025/08/20 09:19:38 [debug] 624147#624147: *1 http fastcgi record byte: 01 +2025/08/20 09:19:38 [debug] 624147#624147: *1 http fastcgi record byte: 07 +2025/08/20 09:19:38 [debug] 624147#624147: *1 http fastcgi record byte: 00 +2025/08/20 09:19:38 [debug] 624147#624147: *1 http fastcgi record byte: 01 +2025/08/20 09:19:38 [debug] 624147#624147: *1 http fastcgi record byte: 01 +2025/08/20 09:19:38 [debug] 624147#624147: *1 http fastcgi record byte: F8 +2025/08/20 09:19:38 [debug] 624147#624147: *1 http fastcgi record byte: 00 +2025/08/20 09:19:38 [debug] 624147#624147: *1 http fastcgi record byte: 00 +2025/08/20 09:19:38 [debug] 624147#624147: *1 http fastcgi record length: 504 +2025/08/20 09:19:38 [error] 624147#624147: *1 FastCGI sent in stderr: " Opening database at path: db/ginxsom.db +DEBUG: Database opened successfully for writing +DEBUG: Preparing SQL: INSERT INTO blobs (sha256, size, type, uploaded_at, uploader_pubkey, filename) VALUES (?, ?, ?, ?, ?, ?) +DEBUG: SQL prepared successfully, binding parameters +DEBUG: Parameter values to bind: +DEBUG: 1. sha256 = '49838edfd837a9cab272503012ab06d82bc6221e9176c65fe6c46e8d16f3b26e' +DEBUG: 2. size = 19 +DEBUG: 3. type = 'text/plain' +DEBUG: 4. uploaded_at = 1755695978 +DEBUG: 5. up" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:19:38 [debug] 624147#624147: *1 recv: eof:0, avail:0 +2025/08/20 09:19:38 [debug] 624147#624147: *1 http upstream request: "/upload?" +2025/08/20 09:19:38 [debug] 624147#624147: *1 http upstream dummy handler +2025/08/20 09:19:38 [debug] 624147#624147: timer delta: 1 +2025/08/20 09:19:38 [debug] 624147#624147: worker cycle +2025/08/20 09:19:38 [debug] 624147#624147: epoll timer: 59996 +2025/08/20 09:19:38 [debug] 624147#624147: epoll: fd:10 ev:2005 d:000079281606E2C8 +2025/08/20 09:19:38 [debug] 624147#624147: *1 http upstream request: "/upload?" +2025/08/20 09:19:38 [debug] 624147#624147: *1 http upstream process header +2025/08/20 09:19:38 [debug] 624147#624147: *1 recv: eof:1, avail:-1 +2025/08/20 09:19:38 [debug] 624147#624147: *1 recv: fd:10 944 of 4096 +2025/08/20 09:19:38 [debug] 624147#624147: *1 http fastcgi record byte: 01 +2025/08/20 09:19:38 [debug] 624147#624147: *1 http fastcgi record byte: 07 +2025/08/20 09:19:38 [debug] 624147#624147: *1 http fastcgi record byte: 00 +2025/08/20 09:19:38 [debug] 624147#624147: *1 http fastcgi record byte: 01 +2025/08/20 09:19:38 [debug] 624147#624147: *1 http fastcgi record byte: 01 +2025/08/20 09:19:38 [debug] 624147#624147: *1 http fastcgi record byte: F8 +2025/08/20 09:19:38 [debug] 624147#624147: *1 http fastcgi record byte: 00 +2025/08/20 09:19:38 [debug] 624147#624147: *1 http fastcgi record byte: 00 +2025/08/20 09:19:38 [debug] 624147#624147: *1 http fastcgi record length: 504 +2025/08/20 09:19:38 [error] 624147#624147: *1 FastCGI sent in stderr: "loader_pubkey = 'NULL' +DEBUG: 6. filename = 'NULL' +DEBUG: Binding parameter 1 (sha256) +DEBUG: Binding parameter 2 (size) +DEBUG: Binding parameter 3 (type) +DEBUG: Binding parameter 4 (uploaded_at) +DEBUG: Binding parameter 5 (uploader_pubkey) +DEBUG: Binding uploader_pubkey as NULL +DEBUG: Binding parameter 6 (filename) +DEBUG: Binding filename as NULL +DEBUG: Parameters bound, executing INSERT +DEBUG: INSERT successful +DEBUG: Database closed, returning 1 +DEBUG: Blob metadata successfully st" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:19:38 [debug] 624147#624147: *1 http fastcgi record byte: 01 +2025/08/20 09:19:38 [debug] 624147#624147: *1 http fastcgi record byte: 07 +2025/08/20 09:19:38 [debug] 624147#624147: *1 http fastcgi record byte: 00 +2025/08/20 09:19:38 [debug] 624147#624147: *1 http fastcgi record byte: 01 +2025/08/20 09:19:38 [debug] 624147#624147: *1 http fastcgi record byte: 00 +2025/08/20 09:19:38 [debug] 624147#624147: *1 http fastcgi record byte: 4E +2025/08/20 09:19:38 [debug] 624147#624147: *1 http fastcgi record byte: 02 +2025/08/20 09:19:38 [debug] 624147#624147: *1 http fastcgi record byte: 00 +2025/08/20 09:19:38 [debug] 624147#624147: *1 http fastcgi record length: 78 +2025/08/20 09:19:38 [error] 624147#624147: *1 FastCGI sent in stderr: "ored in database +DEBUG: Upload completed successfully with database storage" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:19:38 [debug] 624147#624147: *1 http fastcgi record byte: 01 +2025/08/20 09:19:38 [debug] 624147#624147: *1 http fastcgi record byte: 07 +2025/08/20 09:19:38 [debug] 624147#624147: *1 http fastcgi record byte: 00 +2025/08/20 09:19:38 [debug] 624147#624147: *1 http fastcgi record byte: 01 +2025/08/20 09:19:38 [debug] 624147#624147: *1 http fastcgi record byte: 00 +2025/08/20 09:19:38 [debug] 624147#624147: *1 http fastcgi record byte: 00 +2025/08/20 09:19:38 [debug] 624147#624147: *1 http fastcgi record byte: 00 +2025/08/20 09:19:38 [debug] 624147#624147: *1 http fastcgi record byte: 00 +2025/08/20 09:19:38 [debug] 624147#624147: *1 http fastcgi record length: 0 +2025/08/20 09:19:38 [debug] 624147#624147: *1 http fastcgi record byte: 01 +2025/08/20 09:19:38 [debug] 624147#624147: *1 http fastcgi record byte: 06 +2025/08/20 09:19:38 [debug] 624147#624147: *1 http fastcgi record byte: 00 +2025/08/20 09:19:38 [debug] 624147#624147: *1 http fastcgi record byte: 01 +2025/08/20 09:19:38 [debug] 624147#624147: *1 http fastcgi record byte: 01 +2025/08/20 09:19:38 [debug] 624147#624147: *1 http fastcgi record byte: 2C +2025/08/20 09:19:38 [debug] 624147#624147: *1 http fastcgi record byte: 04 +2025/08/20 09:19:38 [debug] 624147#624147: *1 http fastcgi record byte: 00 +2025/08/20 09:19:38 [debug] 624147#624147: *1 http fastcgi record length: 300 +2025/08/20 09:19:38 [debug] 624147#624147: *1 http fastcgi parser: 0 +2025/08/20 09:19:38 [debug] 624147#624147: *1 http fastcgi header: "Status: 200 OK" +2025/08/20 09:19:38 [debug] 624147#624147: *1 http fastcgi parser: 0 +2025/08/20 09:19:38 [debug] 624147#624147: *1 http fastcgi header: "Content-Type: application/json" +2025/08/20 09:19:38 [debug] 624147#624147: *1 http fastcgi parser: 1 +2025/08/20 09:19:38 [debug] 624147#624147: *1 http fastcgi header done +2025/08/20 09:19:38 [debug] 624147#624147: *1 HTTP/1.1 200 OK +Server: nginx/1.18.0 (Ubuntu) +Date: Wed, 20 Aug 2025 13:19:38 GMT +Content-Type: application/json +Transfer-Encoding: chunked +Connection: keep-alive +X-Content-Type-Options: nosniff +X-Frame-Options: DENY +X-XSS-Protection: 1; mode=block + +2025/08/20 09:19:38 [debug] 624147#624147: *1 write new buf t:1 f:0 0000650E7C451300, pos 0000650E7C451300, size: 260 file: 0, size: 0 +2025/08/20 09:19:38 [debug] 624147#624147: *1 http write filter: l:0 f:0 s:260 +2025/08/20 09:19:38 [debug] 624147#624147: *1 http cacheable: 0 +2025/08/20 09:19:38 [debug] 624147#624147: *1 http upstream process upstream +2025/08/20 09:19:38 [debug] 624147#624147: *1 pipe read upstream: 1 +2025/08/20 09:19:38 [debug] 624147#624147: *1 pipe preread: 278 +2025/08/20 09:19:38 [debug] 624147#624147: *1 readv: eof:1, avail:0 +2025/08/20 09:19:38 [debug] 624147#624147: *1 readv: 1, last:3152 +2025/08/20 09:19:38 [debug] 624147#624147: *1 pipe recv chain: 0 +2025/08/20 09:19:38 [debug] 624147#624147: *1 pipe buf free s:0 t:1 f:0 0000650E7C450150, pos 0000650E7C4503EA, size: 278 file: 0, size: 0 +2025/08/20 09:19:38 [debug] 624147#624147: *1 pipe length: -1 +2025/08/20 09:19:38 [debug] 624147#624147: *1 input buf #0 0000650E7C4503EA +2025/08/20 09:19:38 [debug] 624147#624147: *1 http fastcgi record byte: 01 +2025/08/20 09:19:38 [debug] 624147#624147: *1 http fastcgi record byte: 06 +2025/08/20 09:19:38 [debug] 624147#624147: *1 http fastcgi record byte: 00 +2025/08/20 09:19:38 [debug] 624147#624147: *1 http fastcgi record byte: 01 +2025/08/20 09:19:38 [debug] 624147#624147: *1 http fastcgi record byte: 00 +2025/08/20 09:19:38 [debug] 624147#624147: *1 http fastcgi record byte: 00 +2025/08/20 09:19:38 [debug] 624147#624147: *1 http fastcgi record byte: 00 +2025/08/20 09:19:38 [debug] 624147#624147: *1 http fastcgi record byte: 00 +2025/08/20 09:19:38 [debug] 624147#624147: *1 http fastcgi record length: 0 +2025/08/20 09:19:38 [debug] 624147#624147: *1 http fastcgi closed stdout +2025/08/20 09:19:38 [debug] 624147#624147: *1 http fastcgi record byte: 01 +2025/08/20 09:19:38 [debug] 624147#624147: *1 http fastcgi record byte: 03 +2025/08/20 09:19:38 [debug] 624147#624147: *1 http fastcgi record byte: 00 +2025/08/20 09:19:38 [debug] 624147#624147: *1 http fastcgi record byte: 01 +2025/08/20 09:19:38 [debug] 624147#624147: *1 http fastcgi record byte: 00 +2025/08/20 09:19:38 [debug] 624147#624147: *1 http fastcgi record byte: 08 +2025/08/20 09:19:38 [debug] 624147#624147: *1 http fastcgi record byte: 00 +2025/08/20 09:19:38 [debug] 624147#624147: *1 http fastcgi record byte: 00 +2025/08/20 09:19:38 [debug] 624147#624147: *1 http fastcgi record length: 8 +2025/08/20 09:19:38 [debug] 624147#624147: *1 http fastcgi sent end request +2025/08/20 09:19:38 [debug] 624147#624147: *1 input buf 0000650E7C4503EA 250 +2025/08/20 09:19:38 [debug] 624147#624147: *1 pipe write downstream: 1 +2025/08/20 09:19:38 [debug] 624147#624147: *1 pipe write downstream flush in +2025/08/20 09:19:38 [debug] 624147#624147: *1 http output filter "/upload?" +2025/08/20 09:19:38 [debug] 624147#624147: *1 http copy filter: "/upload?" +2025/08/20 09:19:38 [debug] 624147#624147: *1 http postpone filter "/upload?" 0000650E7C45CBF8 +2025/08/20 09:19:38 [debug] 624147#624147: *1 http chunk: 250 +2025/08/20 09:19:38 [debug] 624147#624147: *1 write old buf t:1 f:0 0000650E7C451300, pos 0000650E7C451300, size: 260 file: 0, size: 0 +2025/08/20 09:19:38 [debug] 624147#624147: *1 write new buf t:1 f:0 0000650E7C45CD68, pos 0000650E7C45CD68, size: 4 file: 0, size: 0 +2025/08/20 09:19:38 [debug] 624147#624147: *1 write new buf t:1 f:0 0000650E7C450150, pos 0000650E7C4503EA, size: 250 file: 0, size: 0 +2025/08/20 09:19:38 [debug] 624147#624147: *1 write new buf t:0 f:0 0000000000000000, pos 0000650E5AD062E8, size: 2 file: 0, size: 0 +2025/08/20 09:19:38 [debug] 624147#624147: *1 http write filter: l:0 f:0 s:516 +2025/08/20 09:19:38 [debug] 624147#624147: *1 http copy filter: 0 "/upload?" +2025/08/20 09:19:38 [debug] 624147#624147: *1 pipe write downstream done +2025/08/20 09:19:38 [debug] 624147#624147: *1 event timer: 10, old: 262771850, new: 262771856 +2025/08/20 09:19:38 [debug] 624147#624147: *1 http upstream exit: 0000000000000000 +2025/08/20 09:19:38 [debug] 624147#624147: *1 finalize http upstream request: 0 +2025/08/20 09:19:38 [debug] 624147#624147: *1 finalize http fastcgi request +2025/08/20 09:19:38 [debug] 624147#624147: *1 free rr peer 1 0 +2025/08/20 09:19:38 [debug] 624147#624147: *1 close http upstream connection: 10 +2025/08/20 09:19:38 [debug] 624147#624147: *1 free: 0000650E7C42FF20, unused: 48 +2025/08/20 09:19:38 [debug] 624147#624147: *1 event timer del: 10: 262771850 +2025/08/20 09:19:38 [debug] 624147#624147: *1 reusable connection: 0 +2025/08/20 09:19:38 [debug] 624147#624147: *1 http upstream temp fd: -1 +2025/08/20 09:19:38 [debug] 624147#624147: *1 http output filter "/upload?" +2025/08/20 09:19:38 [debug] 624147#624147: *1 http copy filter: "/upload?" +2025/08/20 09:19:38 [debug] 624147#624147: *1 http postpone filter "/upload?" 00007FFEBE5AA8A0 +2025/08/20 09:19:38 [debug] 624147#624147: *1 http chunk: 0 +2025/08/20 09:19:38 [debug] 624147#624147: *1 write old buf t:1 f:0 0000650E7C451300, pos 0000650E7C451300, size: 260 file: 0, size: 0 +2025/08/20 09:19:38 [debug] 624147#624147: *1 write old buf t:1 f:0 0000650E7C45CD68, pos 0000650E7C45CD68, size: 4 file: 0, size: 0 +2025/08/20 09:19:38 [debug] 624147#624147: *1 write old buf t:1 f:0 0000650E7C450150, pos 0000650E7C4503EA, size: 250 file: 0, size: 0 +2025/08/20 09:19:38 [debug] 624147#624147: *1 write old buf t:0 f:0 0000000000000000, pos 0000650E5AD062E8, size: 2 file: 0, size: 0 +2025/08/20 09:19:38 [debug] 624147#624147: *1 write new buf t:0 f:0 0000000000000000, pos 0000650E5AD062E5, size: 5 file: 0, size: 0 +2025/08/20 09:19:38 [debug] 624147#624147: *1 http write filter: l:1 f:0 s:521 +2025/08/20 09:19:38 [debug] 624147#624147: *1 http write filter limit 0 +2025/08/20 09:19:38 [debug] 624147#624147: *1 writev: 521 of 521 +2025/08/20 09:19:38 [debug] 624147#624147: *1 http write filter 0000000000000000 +2025/08/20 09:19:38 [debug] 624147#624147: *1 http copy filter: 0 "/upload?" +2025/08/20 09:19:38 [debug] 624147#624147: *1 http finalize request: 0, "/upload?" a:1, c:1 +2025/08/20 09:19:38 [debug] 624147#624147: *1 set http keepalive handler +2025/08/20 09:19:38 [debug] 624147#624147: *1 http close request +2025/08/20 09:19:38 [debug] 624147#624147: *1 http log handler +2025/08/20 09:19:38 [debug] 624147#624147: *1 free: 0000650E7C450150 +2025/08/20 09:19:38 [debug] 624147#624147: *1 free: 0000650E7C465A30, unused: 3 +2025/08/20 09:19:38 [debug] 624147#624147: *1 free: 0000650E7C45BDA0, unused: 0 +2025/08/20 09:19:38 [debug] 624147#624147: *1 free: 0000650E7C451160, unused: 2426 +2025/08/20 09:19:38 [debug] 624147#624147: *1 free: 0000650E7C4490A0 +2025/08/20 09:19:38 [debug] 624147#624147: *1 hc free: 0000000000000000 +2025/08/20 09:19:38 [debug] 624147#624147: *1 hc busy: 0000000000000000 0 +2025/08/20 09:19:38 [debug] 624147#624147: *1 tcp_nodelay +2025/08/20 09:19:38 [debug] 624147#624147: *1 reusable connection: 1 +2025/08/20 09:19:38 [debug] 624147#624147: *1 event timer add: 6: 65000:262776856 +2025/08/20 09:19:38 [debug] 624147#624147: timer delta: 2 +2025/08/20 09:19:38 [debug] 624147#624147: worker cycle +2025/08/20 09:19:38 [debug] 624147#624147: epoll timer: 65000 +2025/08/20 09:19:38 [debug] 624147#624147: epoll: fd:6 ev:2005 d:000079281606E1E0 +2025/08/20 09:19:38 [debug] 624147#624147: *1 http keepalive handler +2025/08/20 09:19:38 [debug] 624147#624147: *1 malloc: 0000650E7C4490A0:1024 +2025/08/20 09:19:38 [debug] 624147#624147: *1 recv: eof:1, avail:-1 +2025/08/20 09:19:38 [debug] 624147#624147: *1 recv: fd:6 0 of 1024 +2025/08/20 09:19:38 [info] 624147#624147: *1 client 127.0.0.1 closed keepalive connection +2025/08/20 09:19:38 [debug] 624147#624147: *1 close http connection: 6 +2025/08/20 09:19:38 [debug] 624147#624147: *1 event timer del: 6: 262776856 +2025/08/20 09:19:38 [debug] 624147#624147: *1 reusable connection: 0 +2025/08/20 09:19:38 [debug] 624147#624147: *1 free: 0000650E7C4490A0 +2025/08/20 09:19:38 [debug] 624147#624147: *1 free: 0000650E7C446840, unused: 120 +2025/08/20 09:19:38 [debug] 624147#624147: timer delta: 2 +2025/08/20 09:19:38 [debug] 624147#624147: worker cycle +2025/08/20 09:19:38 [debug] 624147#624147: epoll timer: -1 +2025/08/20 09:22:37 [debug] 624147#624147: epoll: fd:5 ev:0001 d:000079281606E010 +2025/08/20 09:22:37 [debug] 624147#624147: accept on 0.0.0.0:9001, ready: 0 +2025/08/20 09:22:37 [debug] 624147#624147: posix_memalign: 0000650E7C446840:512 @16 +2025/08/20 09:22:37 [debug] 624147#624147: *3 accept: 127.0.0.1:55476 fd:6 +2025/08/20 09:22:37 [debug] 624147#624147: *3 event timer add: 6: 60000:262950889 +2025/08/20 09:22:37 [debug] 624147#624147: *3 reusable connection: 1 +2025/08/20 09:22:37 [debug] 624147#624147: *3 epoll add event: fd:6 op:1 ev:80002001 +2025/08/20 09:22:37 [debug] 624147#624147: timer delta: 179031 +2025/08/20 09:22:37 [debug] 624147#624147: worker cycle +2025/08/20 09:22:37 [debug] 624147#624147: epoll timer: 60000 +2025/08/20 09:22:37 [debug] 624147#624147: epoll: fd:6 ev:0001 d:000079281606E1E1 +2025/08/20 09:22:37 [debug] 624147#624147: *3 http wait request handler +2025/08/20 09:22:37 [debug] 624147#624147: *3 malloc: 0000650E7C4490A0:1024 +2025/08/20 09:22:37 [debug] 624147#624147: *3 recv: eof:0, avail:-1 +2025/08/20 09:22:37 [debug] 624147#624147: *3 recv: fd:6 84 of 1024 +2025/08/20 09:22:37 [debug] 624147#624147: *3 reusable connection: 0 +2025/08/20 09:22:37 [debug] 624147#624147: *3 posix_memalign: 0000650E7C465A30:4096 @16 +2025/08/20 09:22:37 [debug] 624147#624147: *3 http process request line +2025/08/20 09:22:37 [debug] 624147#624147: *3 http request line: "GET /health HTTP/1.1" +2025/08/20 09:22:37 [debug] 624147#624147: *3 http uri: "/health" +2025/08/20 09:22:37 [debug] 624147#624147: *3 http args: "" +2025/08/20 09:22:37 [debug] 624147#624147: *3 http exten: "" +2025/08/20 09:22:37 [debug] 624147#624147: *3 posix_memalign: 0000650E7C45BDA0:4096 @16 +2025/08/20 09:22:37 [debug] 624147#624147: *3 http process request header line +2025/08/20 09:22:37 [debug] 624147#624147: *3 http header: "Host: localhost:9001" +2025/08/20 09:22:37 [debug] 624147#624147: *3 http header: "User-Agent: curl/8.15.0" +2025/08/20 09:22:37 [debug] 624147#624147: *3 http header: "Accept: */*" +2025/08/20 09:22:37 [debug] 624147#624147: *3 http header done +2025/08/20 09:22:37 [debug] 624147#624147: *3 event timer del: 6: 262950889 +2025/08/20 09:22:37 [debug] 624147#624147: *3 generic phase: 0 +2025/08/20 09:22:37 [debug] 624147#624147: *3 rewrite phase: 1 +2025/08/20 09:22:37 [debug] 624147#624147: *3 test location: "/health" +2025/08/20 09:22:37 [debug] 624147#624147: *3 test location: ~ "^/([a-f0-9]{64}).*$" +2025/08/20 09:22:37 [debug] 624147#624147: *3 test location: ~ "^/([a-f0-9]{64})(\.[a-zA-Z0-9]+)?$" +2025/08/20 09:22:37 [debug] 624147#624147: *3 test location: ~ "^/fcgi-head/([a-f0-9]{64}).*$" +2025/08/20 09:22:37 [debug] 624147#624147: *3 test location: ~ "^/list/([a-f0-9]{64}).*$" +2025/08/20 09:22:37 [debug] 624147#624147: *3 using configuration "/health" +2025/08/20 09:22:37 [debug] 624147#624147: *3 http cl:-1 max:104857600 +2025/08/20 09:22:37 [debug] 624147#624147: *3 rewrite phase: 3 +2025/08/20 09:22:37 [debug] 624147#624147: *3 http set discard body +2025/08/20 09:22:37 [debug] 624147#624147: *3 HTTP/1.1 200 OK +Server: nginx/1.18.0 (Ubuntu) +Date: Wed, 20 Aug 2025 13:22:37 GMT +Content-Type: application/octet-stream +Content-Length: 3 +Connection: keep-alive +Content-Type: text/plain + +2025/08/20 09:22:37 [debug] 624147#624147: *3 write new buf t:1 f:0 0000650E7C45C180, pos 0000650E7C45C180, size: 196 file: 0, size: 0 +2025/08/20 09:22:37 [debug] 624147#624147: *3 http write filter: l:0 f:0 s:196 +2025/08/20 09:22:37 [debug] 624147#624147: *3 http output filter "/health?" +2025/08/20 09:22:37 [debug] 624147#624147: *3 http copy filter: "/health?" +2025/08/20 09:22:37 [debug] 624147#624147: *3 http postpone filter "/health?" 00007FFEBE5AA7F0 +2025/08/20 09:22:37 [debug] 624147#624147: *3 write old buf t:1 f:0 0000650E7C45C180, pos 0000650E7C45C180, size: 196 file: 0, size: 0 +2025/08/20 09:22:37 [debug] 624147#624147: *3 write new buf t:0 f:0 0000000000000000, pos 0000650E7C483B42, size: 3 file: 0, size: 0 +2025/08/20 09:22:37 [debug] 624147#624147: *3 http write filter: l:1 f:0 s:199 +2025/08/20 09:22:37 [debug] 624147#624147: *3 http write filter limit 0 +2025/08/20 09:22:37 [debug] 624147#624147: *3 writev: 199 of 199 +2025/08/20 09:22:37 [debug] 624147#624147: *3 http write filter 0000000000000000 +2025/08/20 09:22:37 [debug] 624147#624147: *3 http copy filter: 0 "/health?" +2025/08/20 09:22:37 [debug] 624147#624147: *3 http finalize request: 0, "/health?" a:1, c:1 +2025/08/20 09:22:37 [debug] 624147#624147: *3 set http keepalive handler +2025/08/20 09:22:37 [debug] 624147#624147: *3 http close request +2025/08/20 09:22:37 [debug] 624147#624147: *3 http log handler +2025/08/20 09:22:37 [debug] 624147#624147: *3 free: 0000650E7C465A30, unused: 0 +2025/08/20 09:22:37 [debug] 624147#624147: *3 free: 0000650E7C45BDA0, unused: 2736 +2025/08/20 09:22:37 [debug] 624147#624147: *3 free: 0000650E7C4490A0 +2025/08/20 09:22:37 [debug] 624147#624147: *3 hc free: 0000000000000000 +2025/08/20 09:22:37 [debug] 624147#624147: *3 hc busy: 0000000000000000 0 +2025/08/20 09:22:37 [debug] 624147#624147: *3 tcp_nodelay +2025/08/20 09:22:37 [debug] 624147#624147: *3 reusable connection: 1 +2025/08/20 09:22:37 [debug] 624147#624147: *3 event timer add: 6: 65000:262955890 +2025/08/20 09:22:37 [debug] 624147#624147: timer delta: 1 +2025/08/20 09:22:37 [debug] 624147#624147: worker cycle +2025/08/20 09:22:37 [debug] 624147#624147: epoll timer: 65000 +2025/08/20 09:22:37 [debug] 624147#624147: epoll: fd:6 ev:2001 d:000079281606E1E1 +2025/08/20 09:22:37 [debug] 624147#624147: *3 http keepalive handler +2025/08/20 09:22:37 [debug] 624147#624147: *3 malloc: 0000650E7C4490A0:1024 +2025/08/20 09:22:37 [debug] 624147#624147: *3 recv: eof:1, avail:-1 +2025/08/20 09:22:37 [debug] 624147#624147: *3 recv: fd:6 0 of 1024 +2025/08/20 09:22:37 [info] 624147#624147: *3 client 127.0.0.1 closed keepalive connection +2025/08/20 09:22:37 [debug] 624147#624147: *3 close http connection: 6 +2025/08/20 09:22:37 [debug] 624147#624147: *3 event timer del: 6: 262955890 +2025/08/20 09:22:37 [debug] 624147#624147: *3 reusable connection: 0 +2025/08/20 09:22:37 [debug] 624147#624147: *3 free: 0000650E7C4490A0 +2025/08/20 09:22:37 [debug] 624147#624147: *3 free: 0000650E7C446840, unused: 136 +2025/08/20 09:22:37 [debug] 624147#624147: timer delta: 1 +2025/08/20 09:22:37 [debug] 624147#624147: worker cycle +2025/08/20 09:22:37 [debug] 624147#624147: epoll timer: -1 +2025/08/20 09:22:38 [debug] 624147#624147: epoll: fd:5 ev:0001 d:000079281606E010 +2025/08/20 09:22:38 [debug] 624147#624147: accept on 0.0.0.0:9001, ready: 0 +2025/08/20 09:22:38 [debug] 624147#624147: posix_memalign: 0000650E7C446840:512 @16 +2025/08/20 09:22:38 [debug] 624147#624147: *4 accept: 127.0.0.1:55480 fd:6 +2025/08/20 09:22:38 [debug] 624147#624147: *4 event timer add: 6: 60000:262951211 +2025/08/20 09:22:38 [debug] 624147#624147: *4 reusable connection: 1 +2025/08/20 09:22:38 [debug] 624147#624147: *4 epoll add event: fd:6 op:1 ev:80002001 +2025/08/20 09:22:38 [debug] 624147#624147: timer delta: 320 +2025/08/20 09:22:38 [debug] 624147#624147: worker cycle +2025/08/20 09:22:38 [debug] 624147#624147: epoll timer: 60000 +2025/08/20 09:22:38 [debug] 624147#624147: epoll: fd:6 ev:0001 d:000079281606E1E0 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http wait request handler +2025/08/20 09:22:38 [debug] 624147#624147: *4 malloc: 0000650E7C4490A0:1024 +2025/08/20 09:22:38 [debug] 624147#624147: *4 recv: eof:0, avail:-1 +2025/08/20 09:22:38 [debug] 624147#624147: *4 recv: fd:6 1024 of 1024 +2025/08/20 09:22:38 [debug] 624147#624147: *4 recv: avail:112 +2025/08/20 09:22:38 [debug] 624147#624147: *4 reusable connection: 0 +2025/08/20 09:22:38 [debug] 624147#624147: *4 posix_memalign: 0000650E7C465A30:4096 @16 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http process request line +2025/08/20 09:22:38 [debug] 624147#624147: *4 http request line: "PUT /upload HTTP/1.1" +2025/08/20 09:22:38 [debug] 624147#624147: *4 http uri: "/upload" +2025/08/20 09:22:38 [debug] 624147#624147: *4 http args: "" +2025/08/20 09:22:38 [debug] 624147#624147: *4 http exten: "" +2025/08/20 09:22:38 [debug] 624147#624147: *4 posix_memalign: 0000650E7C45BDA0:4096 @16 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http process request header line +2025/08/20 09:22:38 [debug] 624147#624147: *4 http header: "Host: localhost:9001" +2025/08/20 09:22:38 [debug] 624147#624147: *4 http header: "User-Agent: curl/8.15.0" +2025/08/20 09:22:38 [debug] 624147#624147: *4 http header: "Accept: */*" +2025/08/20 09:22:38 [debug] 624147#624147: *4 http header: "Authorization: Nostr eyJraW5kIjoyNDI0MiwiaWQiOiJmMGQzMjQxMzU0M2JhYWU0MDllYjZkYTU0MDc1NDE4MDkzOTU3NTVjYmY3MjQyNWQ1MGNjOWYxNDQxYWMwMjhhIiwicHVia2V5IjoiNzliZTY2N2VmOWRjYmJhYzU1YTA2Mjk1Y2U4NzBiMDcwMjliZmNkYjJkY2UyOGQ5NTlmMjgxNWIxNmY4MTc5OCIsImNyZWF0ZWRfYXQiOjE3NTU2OTYxNTgsInRhZ3MiOltbInQiLCJ1cGxvYWQiXSxbIngiLCI3MzczMzcyMGRlOGU2YmNhMGFiNDFhNzk5MTMyMjAyZDU2MDQ5ZTI4OGZlYjE1NGI1ZjZiZWNiNWU5YzI0YjY3Il0sWyJleHBpcmF0aW9uIiwiMTc1NTY5OTc1NyJdXSwiY29udGVudCI6IiIsInNpZyI6IjEzYjA2NDc4MjI4M2Y1ZWM3ZTk5YzU5ZTVlNzgwMTczOWQ1NGMwMTc1YjA4MmM0OTg1ZDIyNGM0NDY1YTc4NjkwOTU2NjRmMDZiODU3ODgzYWU1NjBjMmNkMTNiYWFjODI1ZTQ2NWNiOTc5MGFlNjViZWY1NTExNDVlZDM1M2YwIn0=" +2025/08/20 09:22:38 [debug] 624147#624147: *4 http header: "Content-Type: text/plain" +2025/08/20 09:22:38 [debug] 624147#624147: *4 http header: "Content-Disposition: attachment; filename="test_blob_1755696157.txt"" +2025/08/20 09:22:38 [debug] 624147#624147: *4 http header: "Content-Length: 296" +2025/08/20 09:22:38 [debug] 624147#624147: *4 http header done +2025/08/20 09:22:38 [debug] 624147#624147: *4 event timer del: 6: 262951211 +2025/08/20 09:22:38 [debug] 624147#624147: *4 generic phase: 0 +2025/08/20 09:22:38 [debug] 624147#624147: *4 rewrite phase: 1 +2025/08/20 09:22:38 [debug] 624147#624147: *4 test location: "/health" +2025/08/20 09:22:38 [debug] 624147#624147: *4 test location: "/upload" +2025/08/20 09:22:38 [debug] 624147#624147: *4 test location: ~ "^/([a-f0-9]{64}).*$" +2025/08/20 09:22:38 [debug] 624147#624147: *4 test location: ~ "^/([a-f0-9]{64})(\.[a-zA-Z0-9]+)?$" +2025/08/20 09:22:38 [debug] 624147#624147: *4 test location: ~ "^/fcgi-head/([a-f0-9]{64}).*$" +2025/08/20 09:22:38 [debug] 624147#624147: *4 test location: ~ "^/list/([a-f0-9]{64}).*$" +2025/08/20 09:22:38 [debug] 624147#624147: *4 using configuration "/upload" +2025/08/20 09:22:38 [debug] 624147#624147: *4 http cl:296 max:104857600 +2025/08/20 09:22:38 [debug] 624147#624147: *4 rewrite phase: 3 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http script var +2025/08/20 09:22:38 [debug] 624147#624147: *4 http script var: "PUT" +2025/08/20 09:22:38 [debug] 624147#624147: *4 http script regex: "^(PUT)$" +2025/08/20 09:22:38 [notice] 624147#624147: *4 "^(PUT)$" matches "PUT", client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", host: "localhost:9001" +2025/08/20 09:22:38 [debug] 624147#624147: *4 http script if +2025/08/20 09:22:38 [debug] 624147#624147: *4 http script if: false +2025/08/20 09:22:38 [debug] 624147#624147: *4 post rewrite phase: 4 +2025/08/20 09:22:38 [debug] 624147#624147: *4 generic phase: 5 +2025/08/20 09:22:38 [debug] 624147#624147: *4 generic phase: 6 +2025/08/20 09:22:38 [debug] 624147#624147: *4 generic phase: 7 +2025/08/20 09:22:38 [debug] 624147#624147: *4 access phase: 8 +2025/08/20 09:22:38 [debug] 624147#624147: *4 access phase: 9 +2025/08/20 09:22:38 [debug] 624147#624147: *4 access phase: 10 +2025/08/20 09:22:38 [debug] 624147#624147: *4 post access phase: 11 +2025/08/20 09:22:38 [debug] 624147#624147: *4 generic phase: 12 +2025/08/20 09:22:38 [debug] 624147#624147: *4 generic phase: 13 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http client request body preread 184 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http request body content length filter +2025/08/20 09:22:38 [debug] 624147#624147: *4 http body new buf t:1 f:0 0000650E7C4493E8, pos 0000650E7C4493E8, size: 184 file: 0, size: 0 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http read client request body +2025/08/20 09:22:38 [debug] 624147#624147: *4 recv: eof:0, avail:112 +2025/08/20 09:22:38 [debug] 624147#624147: *4 recv: fd:6 112 of 112 +2025/08/20 09:22:38 [debug] 624147#624147: *4 recv: avail:0 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http client request body recv 112 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http body new buf t:1 f:0 0000650E7C45C830, pos 0000650E7C45C830, size: 112 file: 0, size: 0 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http client request body rest 0 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http init upstream, client timer: 0 +2025/08/20 09:22:38 [debug] 624147#624147: *4 epoll add event: fd:6 op:3 ev:80002005 +2025/08/20 09:22:38 [debug] 624147#624147: *4 posix_memalign: 0000650E7C450150:4096 @16 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http script copy: "QUERY_STRING" +2025/08/20 09:22:38 [debug] 624147#624147: *4 fastcgi param: "QUERY_STRING: " +2025/08/20 09:22:38 [debug] 624147#624147: *4 http script copy: "REQUEST_METHOD" +2025/08/20 09:22:38 [debug] 624147#624147: *4 http script var: "PUT" +2025/08/20 09:22:38 [debug] 624147#624147: *4 fastcgi param: "REQUEST_METHOD: PUT" +2025/08/20 09:22:38 [debug] 624147#624147: *4 http script copy: "CONTENT_TYPE" +2025/08/20 09:22:38 [debug] 624147#624147: *4 http script var: "text/plain" +2025/08/20 09:22:38 [debug] 624147#624147: *4 fastcgi param: "CONTENT_TYPE: text/plain" +2025/08/20 09:22:38 [debug] 624147#624147: *4 http script copy: "CONTENT_LENGTH" +2025/08/20 09:22:38 [debug] 624147#624147: *4 http script var: "296" +2025/08/20 09:22:38 [debug] 624147#624147: *4 fastcgi param: "CONTENT_LENGTH: 296" +2025/08/20 09:22:38 [debug] 624147#624147: *4 http script copy: "SCRIPT_NAME" +2025/08/20 09:22:38 [debug] 624147#624147: *4 http script var: "/upload" +2025/08/20 09:22:38 [debug] 624147#624147: *4 fastcgi param: "SCRIPT_NAME: /upload" +2025/08/20 09:22:38 [debug] 624147#624147: *4 http script copy: "REQUEST_URI" +2025/08/20 09:22:38 [debug] 624147#624147: *4 http script var: "/upload" +2025/08/20 09:22:38 [debug] 624147#624147: *4 fastcgi param: "REQUEST_URI: /upload" +2025/08/20 09:22:38 [debug] 624147#624147: *4 http script copy: "DOCUMENT_URI" +2025/08/20 09:22:38 [debug] 624147#624147: *4 http script var: "/upload" +2025/08/20 09:22:38 [debug] 624147#624147: *4 fastcgi param: "DOCUMENT_URI: /upload" +2025/08/20 09:22:38 [debug] 624147#624147: *4 http script copy: "DOCUMENT_ROOT" +2025/08/20 09:22:38 [debug] 624147#624147: *4 http script var: "./blobs" +2025/08/20 09:22:38 [debug] 624147#624147: *4 fastcgi param: "DOCUMENT_ROOT: ./blobs" +2025/08/20 09:22:38 [debug] 624147#624147: *4 http script copy: "SERVER_PROTOCOL" +2025/08/20 09:22:38 [debug] 624147#624147: *4 http script var: "HTTP/1.1" +2025/08/20 09:22:38 [debug] 624147#624147: *4 fastcgi param: "SERVER_PROTOCOL: HTTP/1.1" +2025/08/20 09:22:38 [debug] 624147#624147: *4 http script copy: "REQUEST_SCHEME" +2025/08/20 09:22:38 [debug] 624147#624147: *4 http script var: "http" +2025/08/20 09:22:38 [debug] 624147#624147: *4 fastcgi param: "REQUEST_SCHEME: http" +2025/08/20 09:22:38 [debug] 624147#624147: *4 http script copy: "" +2025/08/20 09:22:38 [debug] 624147#624147: *4 http script copy: "GATEWAY_INTERFACE" +2025/08/20 09:22:38 [debug] 624147#624147: *4 http script copy: "CGI/1.1" +2025/08/20 09:22:38 [debug] 624147#624147: *4 fastcgi param: "GATEWAY_INTERFACE: CGI/1.1" +2025/08/20 09:22:38 [debug] 624147#624147: *4 http script copy: "SERVER_SOFTWARE" +2025/08/20 09:22:38 [debug] 624147#624147: *4 http script copy: "nginx/" +2025/08/20 09:22:38 [debug] 624147#624147: *4 http script var: "1.18.0" +2025/08/20 09:22:38 [debug] 624147#624147: *4 fastcgi param: "SERVER_SOFTWARE: nginx/1.18.0" +2025/08/20 09:22:38 [debug] 624147#624147: *4 http script copy: "REMOTE_ADDR" +2025/08/20 09:22:38 [debug] 624147#624147: *4 http script var: "127.0.0.1" +2025/08/20 09:22:38 [debug] 624147#624147: *4 fastcgi param: "REMOTE_ADDR: 127.0.0.1" +2025/08/20 09:22:38 [debug] 624147#624147: *4 http script copy: "REMOTE_PORT" +2025/08/20 09:22:38 [debug] 624147#624147: *4 http script var: "55480" +2025/08/20 09:22:38 [debug] 624147#624147: *4 fastcgi param: "REMOTE_PORT: 55480" +2025/08/20 09:22:38 [debug] 624147#624147: *4 http script copy: "SERVER_ADDR" +2025/08/20 09:22:38 [debug] 624147#624147: *4 http script var: "127.0.0.1" +2025/08/20 09:22:38 [debug] 624147#624147: *4 fastcgi param: "SERVER_ADDR: 127.0.0.1" +2025/08/20 09:22:38 [debug] 624147#624147: *4 http script copy: "SERVER_PORT" +2025/08/20 09:22:38 [debug] 624147#624147: *4 http script var: "9001" +2025/08/20 09:22:38 [debug] 624147#624147: *4 fastcgi param: "SERVER_PORT: 9001" +2025/08/20 09:22:38 [debug] 624147#624147: *4 http script copy: "SERVER_NAME" +2025/08/20 09:22:38 [debug] 624147#624147: *4 http script var: "localhost" +2025/08/20 09:22:38 [debug] 624147#624147: *4 fastcgi param: "SERVER_NAME: localhost" +2025/08/20 09:22:38 [debug] 624147#624147: *4 http script copy: "REDIRECT_STATUS" +2025/08/20 09:22:38 [debug] 624147#624147: *4 http script copy: "200" +2025/08/20 09:22:38 [debug] 624147#624147: *4 fastcgi param: "REDIRECT_STATUS: 200" +2025/08/20 09:22:38 [debug] 624147#624147: *4 http script copy: "SCRIPT_FILENAME" +2025/08/20 09:22:38 [debug] 624147#624147: *4 http script var: "./blobs" +2025/08/20 09:22:38 [debug] 624147#624147: *4 http script copy: "/ginxsom.fcgi" +2025/08/20 09:22:38 [debug] 624147#624147: *4 fastcgi param: "SCRIPT_FILENAME: ./blobs/ginxsom.fcgi" +2025/08/20 09:22:38 [debug] 624147#624147: *4 fastcgi param: "HTTP_HOST: localhost:9001" +2025/08/20 09:22:38 [debug] 624147#624147: *4 fastcgi param: "HTTP_USER_AGENT: curl/8.15.0" +2025/08/20 09:22:38 [debug] 624147#624147: *4 fastcgi param: "HTTP_ACCEPT: */*" +2025/08/20 09:22:38 [debug] 624147#624147: *4 fastcgi param: "HTTP_AUTHORIZATION: Nostr eyJraW5kIjoyNDI0MiwiaWQiOiJmMGQzMjQxMzU0M2JhYWU0MDllYjZkYTU0MDc1NDE4MDkzOTU3NTVjYmY3MjQyNWQ1MGNjOWYxNDQxYWMwMjhhIiwicHVia2V5IjoiNzliZTY2N2VmOWRjYmJhYzU1YTA2Mjk1Y2U4NzBiMDcwMjliZmNkYjJkY2UyOGQ5NTlmMjgxNWIxNmY4MTc5OCIsImNyZWF0ZWRfYXQiOjE3NTU2OTYxNTgsInRhZ3MiOltbInQiLCJ1cGxvYWQiXSxbIngiLCI3MzczMzcyMGRlOGU2YmNhMGFiNDFhNzk5MTMyMjAyZDU2MDQ5ZTI4OGZlYjE1NGI1ZjZiZWNiNWU5YzI0YjY3Il0sWyJleHBpcmF0aW9uIiwiMTc1NTY5OTc1NyJdXSwiY29udGVudCI6IiIsInNpZyI6IjEzYjA2NDc4MjI4M2Y1ZWM3ZTk5YzU5ZTVlNzgwMTczOWQ1NGMwMTc1YjA4MmM0OTg1ZDIyNGM0NDY1YTc4NjkwOTU2NjRmMDZiODU3ODgzYWU1NjBjMmNkMTNiYWFjODI1ZTQ2NWNiOTc5MGFlNjViZWY1NTExNDVlZDM1M2YwIn0=" +2025/08/20 09:22:38 [debug] 624147#624147: *4 fastcgi param: "HTTP_CONTENT_TYPE: text/plain" +2025/08/20 09:22:38 [debug] 624147#624147: *4 fastcgi param: "HTTP_CONTENT_DISPOSITION: attachment; filename="test_blob_1755696157.txt"" +2025/08/20 09:22:38 [debug] 624147#624147: *4 fastcgi param: "HTTP_CONTENT_LENGTH: 296" +2025/08/20 09:22:38 [debug] 624147#624147: *4 http cleanup add: 0000650E7C45CB80 +2025/08/20 09:22:38 [debug] 624147#624147: *4 get rr peer, try: 1 +2025/08/20 09:22:38 [debug] 624147#624147: *4 stream socket 10 +2025/08/20 09:22:38 [debug] 624147#624147: *4 epoll add connection: fd:10 ev:80002005 +2025/08/20 09:22:38 [debug] 624147#624147: *4 connect to unix:/tmp/ginxsom-fcgi.sock, fd:10 #5 +2025/08/20 09:22:38 [debug] 624147#624147: *4 connected +2025/08/20 09:22:38 [debug] 624147#624147: *4 http upstream connect: 0 +2025/08/20 09:22:38 [debug] 624147#624147: *4 posix_memalign: 0000650E7C42FF20:128 @16 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http upstream send request +2025/08/20 09:22:38 [debug] 624147#624147: *4 http upstream send request body +2025/08/20 09:22:38 [debug] 624147#624147: *4 chain writer buf fl:0 s:1304 +2025/08/20 09:22:38 [debug] 624147#624147: *4 chain writer buf fl:0 s:184 +2025/08/20 09:22:38 [debug] 624147#624147: *4 chain writer buf fl:0 s:8 +2025/08/20 09:22:38 [debug] 624147#624147: *4 chain writer buf fl:0 s:112 +2025/08/20 09:22:38 [debug] 624147#624147: *4 chain writer buf fl:0 s:8 +2025/08/20 09:22:38 [debug] 624147#624147: *4 chain writer in: 0000650E7C45CC10 +2025/08/20 09:22:38 [debug] 624147#624147: *4 writev: 1616 of 1616 +2025/08/20 09:22:38 [debug] 624147#624147: *4 chain writer out: 0000000000000000 +2025/08/20 09:22:38 [debug] 624147#624147: *4 event timer add: 10: 60000:262951211 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http finalize request: -4, "/upload?" a:1, c:2 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http request count:2 blk:0 +2025/08/20 09:22:38 [debug] 624147#624147: timer delta: 0 +2025/08/20 09:22:38 [debug] 624147#624147: worker cycle +2025/08/20 09:22:38 [debug] 624147#624147: epoll timer: 60000 +2025/08/20 09:22:38 [debug] 624147#624147: epoll: fd:6 ev:0004 d:000079281606E1E0 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http run request: "/upload?" +2025/08/20 09:22:38 [debug] 624147#624147: *4 http upstream check client, write event:1, "/upload" +2025/08/20 09:22:38 [debug] 624147#624147: epoll: fd:10 ev:0004 d:000079281606E2C9 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http upstream request: "/upload?" +2025/08/20 09:22:38 [debug] 624147#624147: *4 http upstream dummy handler +2025/08/20 09:22:38 [debug] 624147#624147: timer delta: 2 +2025/08/20 09:22:38 [debug] 624147#624147: worker cycle +2025/08/20 09:22:38 [debug] 624147#624147: epoll timer: 59998 +2025/08/20 09:22:38 [debug] 624147#624147: epoll: fd:10 ev:0005 d:000079281606E2C9 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http upstream request: "/upload?" +2025/08/20 09:22:38 [debug] 624147#624147: *4 http upstream process header +2025/08/20 09:22:38 [debug] 624147#624147: *4 malloc: 0000650E7C451160:4096 +2025/08/20 09:22:38 [debug] 624147#624147: *4 recv: eof:0, avail:-1 +2025/08/20 09:22:38 [debug] 624147#624147: *4 recv: fd:10 1400 of 4096 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: 01 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: 07 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: 00 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: 01 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: 00 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: 21 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: 07 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: 00 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record length: 33 +2025/08/20 09:22:38 [error] 624147#624147: *4 FastCGI sent in stderr: "DEBUG: FastCGI received request" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: 01 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: 07 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: 00 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: 01 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: 01 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: F8 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: 00 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: 00 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record length: 504 +2025/08/20 09:22:38 [error] 624147#624147: *4 FastCGI sent in stderr: "DEBUG: METHOD=PUT, URI=/upload +ENTRY: Entering handle_upload_request() function +DEBUG: handle_upload_request called +LOG: [2025-08-20 09:22:38] PUT /upload - Auth: pending - Status: 0 +DEBUG: content_type=text/plain +DEBUG: content_length=296 +DEBUG: Raw Authorization header: Nostr eyJraW5kIjoyNDI0MiwiaWQiOiJmMGQzMjQxMzU0M2JhYWU0MDllYjZkYTU0MDc1NDE4MDkzOTU3NTVjYmY3MjQyNWQ1MGNjOWYxNDQxYWMwMjhhIiwicHVia2V5IjoiNzliZTY2N2VmOWRjYmJhYzU1YTA2Mjk1Y2U4NzBiMDcwMjliZmNkYjJkY2UyOGQ5NTlmMjgxNWIxNmY4MTc5OCIsImN" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: 01 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: 07 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: 00 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: 01 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: 01 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: F8 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: 00 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: 00 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record length: 504 +2025/08/20 09:22:38 [error] 624147#624147: *4 FastCGI sent in stderr: "yZWF0ZWRfYXQiOjE3NTU2OTYxNTgsInRhZ3MiOltbInQiLCJ1cGxvYWQiXSxbIngiLCI3MzczMzcyMGRlOGU2YmNhMGFiNDFhNzk5MTMyMjAyZDU2MDQ5ZTI4OGZlYjE1NGI1ZjZiZWNiNWU5YzI0YjY3Il0sWyJleHBpcmF0aW9uIiwiMTc1NTY5OTc1NyJdXSwiY29udGVudCI6IiIsInNpZyI6IjEzYjA2NDc4MjI4M2Y1ZWM3ZTk5YzU5ZTVlNzgwMTczOWQ1NGMwMTc1YjA4MmM0OTg1ZDIyNGM0NDY1YTc4NjkwOTU2NjRmMDZiODU3ODgzYWU1NjBjMmNkMTNiYWFjODI1ZTQ2NWNiOTc5MGFlNjViZWY1NTExNDVlZDM1M2YwIn0= +LOG: [2025-08-20 09:22:38] PUT /upload - Auth: auth_provided - Status: 0 +DEBUG: Successfully read DEBUG-" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: 01 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: 07 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: 00 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: 01 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: 01 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: 3F +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: 01 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: 00 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record length: 319 +2025/08/20 09:22:38 [error] 624147#624147: *4 FastCGI sent in stderr: "LAAN: DATA TO HASH: Test blob content for Ginxsom Blossom server +Timestamp: 2025-08-20T09:22:37-04:00 +Random data: 07d461bb0b6ab3990dbe69a3e0a3a0291ded1d551b0d14bfb05fee95b1097cb2 +Test message: Hello from put_test.sh! + +This file is used to test the upload functionality +of the Ginxsom Blossom server implementation. +1" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:22:38 [debug] 624147#624147: *4 recv: eof:0, avail:0 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http upstream request: "/upload?" +2025/08/20 09:22:38 [debug] 624147#624147: *4 http upstream dummy handler +2025/08/20 09:22:38 [debug] 624147#624147: timer delta: 0 +2025/08/20 09:22:38 [debug] 624147#624147: worker cycle +2025/08/20 09:22:38 [debug] 624147#624147: epoll timer: 59998 +2025/08/20 09:22:38 [debug] 624147#624147: epoll: fd:10 ev:2005 d:000079281606E2C9 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http upstream request: "/upload?" +2025/08/20 09:22:38 [debug] 624147#624147: *4 http upstream process header +2025/08/20 09:22:38 [debug] 624147#624147: *4 recv: eof:1, avail:-1 +2025/08/20 09:22:38 [debug] 624147#624147: *4 recv: fd:10 2696 of 2696 +2025/08/20 09:22:38 [debug] 624147#624147: *4 recv: avail:1448 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: 01 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: 07 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: 00 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: 01 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: 00 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: 62 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: 06 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: 00 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record length: 98 +2025/08/20 09:22:38 [error] 624147#624147: *4 FastCGI sent in stderr: "DEBUG-LAAN: Calculated SHA-256: 73733720de8e6bca0ab41a799132202d56049e288feb154b5f6becb5e9c24b67" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: 01 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: 07 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: 00 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: 01 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: 01 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: F8 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: 00 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: 00 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record length: 504 +2025/08/20 09:22:38 [error] 624147#624147: *4 FastCGI sent in stderr: "AUTH: About to perform authentication - auth_header present: YES +AUTH: Calling authenticate_request with hash: 73733720de8e6bca0ab41a799132202d56049e288feb154b5f6becb5e9c24b67 +═══════════════════════════════════════════════════════════════════ +🔍 STEP SERVER-1: Starting server-style authentication (mirroring test_auth_debug.c) +ℹ️ INFO: Server-style auth calle" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: 01 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: 07 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: 00 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: 01 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: 01 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: F8 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: 00 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: 00 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record length: 504 +2025/08/20 09:22:38 [error] 624147#624147: *4 FastCGI sent in stderr: "d with method: upload, hash: 73733720de8e6bca0ab41a799132202d56049e288feb154b5f6becb5e9c24b67 +🔍 STEP SERVER-2: Calling parse_authorization_header +DEBUG: parse_authorization_header called with header: Nostr eyJraW5kIjoyNDI0MiwiaWQiOiJmMGQzMjQxMzU0M2Jh... +DEBUG: Extracted base64 event (length=DEBUG: Base64 decode result - decoded_len=DEBUG: Successfully decoded JSON (length=✅ SUCCESS: parse_authorization_header succeeded +🔍 STEP SERVER-3: Calling cJSON_Parse on JSON string +ℹ️ INFO: JSON to" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: 01 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: 07 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: 00 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: 01 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: 01 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: F8 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: 00 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: 00 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record length: 504 +2025/08/20 09:22:38 [error] 624147#624147: *4 FastCGI sent in stderr: " parse: {"kind":24242,"id":"f0d32413543baae409eb6da5407541809395755cbf72425d50cc9f1441ac028a","pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1755696158,"tags":[["t","upload"],["x","73733720de8e6bca0ab41a799132202d56049e288feb154b5f6becb5e9c24b67"],["expiration","1755699757"]],"content":"","sig":"13b064782283f5ec7e99c59e5e7801739d54c0175b082c4985d224c4465a7869095664f06b857883ae560c2cd13baac825e465cb9790ae65bef551145ed353f0"} +✅ SUCCESS: cJSON_Parse succeeded" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: 01 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: 07 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: 00 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: 01 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: 01 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: F8 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: 00 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: 00 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record length: 504 +2025/08/20 09:22:38 [error] 624147#624147: *4 FastCGI sent in stderr: ", event parsed +ℹ️ INFO: Parsed JSON: { + "kind": 24242, + "id": "f0d32413543baae409eb6da5407541809395755cbf72425d50cc9f1441ac028a", + "pubkey": "79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798", + "created_at": 1755696158, + "tags": [["t", "upload"], ["x", "73733720de8e6bca0ab41a799132202d56049e288feb154b5f6becb5e9c24b67"], ["expiration", "1755699757"]], + "content": "", + "sig": "13b064782283f5ec7e99c59e5e7801739d54c0175b082c4985d224c4465a7869095664f06b857883ae560c2cd13baac825e465cb9" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: 01 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: 07 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: 00 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: 01 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: 01 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: F8 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: 00 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: 00 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record length: 504 +2025/08/20 09:22:38 [error] 624147#624147: *4 FastCGI sent in stderr: "790ae65bef551145ed353f0" +} +🔍 STEP SERVER-4: Event fields before validation +ℹ️ INFO: id: f0d32413543baae409eb6da5407541809395755cbf72425d50cc9f1441ac028a +ℹ️ INFO: pubkey: 79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 +ℹ️ INFO: sig: 13b064782283f5ec7e99c59e5e7801739d54c0175b082c4985d224c4465a7869095664f06b857883ae560c2cd13baac825e465cb9790ae65bef551145ed353f0 +ℹ️ INFO: kind: 24242 +ℹ️ INFO: created_at: 1755696158 +🔍 STEP SERVER-5: Detailed pubkey" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: 01 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: 07 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: 00 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: 01 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: 01 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: F8 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: 00 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: 00 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record length: 504 +2025/08/20 09:22:38 [error] 624147#624147: *4 FastCGI sent in stderr: " analysis +ℹ️" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:22:38 [debug] 624147#624147: *4 recv: eof:1, avail:1448 +2025/08/20 09:22:38 [debug] 624147#624147: *4 recv: fd:10 1448 of 4096 +2025/08/20 09:22:38 [debug] 624147#624147: *4 recv: avail:0 +2025/08/20 09:22:38 [error] 624147#624147: *4 FastCGI sent in stderr: " INFO: Pubkey: 79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 +ℹ️ INFO: Length: ℹ️ INFO: Character analysis (first 10): +7(0x37) 9(0x39) b(0x62) e(0x65) 6(0x36) 6(0x36) 7(0x37) e(0x65) f(0x66) 9(0x39) +🔍 STEP SERVER-6: Pre-validation pubkey analysis +ℹ️ INFO: Pubkey: 79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 +ℹ️ INFO: Length: ℹ️ INFO: Character analysis (first 10): +7(55) 9(57) b(98) e(101) 6(54) 6(54) 7(5" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: 01 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: 07 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: 00 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: 01 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: 01 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: F8 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: 00 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: 00 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record length: 504 +2025/08/20 09:22:38 [error] 624147#624147: *4 FastCGI sent in stderr: "5) e(101) f(102) 9(57) +ℹ️ INFO: Character validation test: +ALL VALID (lowercase hex) +🔍 STEP SERVER-7: Starting detailed validation analysis +ℹ️ INFO: Testing structure validation... +ℹ️ INFO: nostr_validate_event_structure returned: 0 (Success) +✅ SUCCESS: Structure validation PASSED +ℹ️ INFO: Testing cryptographic verification... +ℹ️ INFO: nostr_verify_event_signature returned: -32 (Event has invalid public key) +❌ ERROR: CRYPTO verification failed! +❌ ERROR: Failed p" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: 01 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: 07 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: 00 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: 01 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: 00 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: C5 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: 03 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: 00 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record length: 197 +2025/08/20 09:22:38 [error] 624147#624147: *4 FastCGI sent in stderr: "ubkey: 79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 (length: AUTH: authenticate_request returned: -32 +LOG: [2025-08-20 09:22:38] PUT /upload - Auth: auth_failed - Status: 401" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: 01 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: 07 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: 00 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: 01 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: 00 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: 00 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: 00 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: 00 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record length: 0 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: 01 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: 06 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: 00 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: 01 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: 00 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: C7 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: 01 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: 00 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record length: 199 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi parser: 0 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi header: "Status: 401 Unauthorized" +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi parser: 0 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi header: "Content-Type: application/json" +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi parser: 1 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi header done +2025/08/20 09:22:38 [debug] 624147#624147: *4 HTTP/1.1 401 Unauthorized +Server: nginx/1.18.0 (Ubuntu) +Date: Wed, 20 Aug 2025 13:22:38 GMT +Content-Type: application/json +Transfer-Encoding: chunked +Connection: keep-alive + +2025/08/20 09:22:38 [debug] 624147#624147: *4 write new buf t:1 f:0 0000650E7C450808, pos 0000650E7C450808, size: 181 file: 0, size: 0 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http write filter: l:0 f:0 s:181 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http cacheable: 0 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http upstream process upstream +2025/08/20 09:22:38 [debug] 624147#624147: *4 pipe read upstream: 1 +2025/08/20 09:22:38 [debug] 624147#624147: *4 pipe preread: 164 +2025/08/20 09:22:38 [debug] 624147#624147: *4 readv: eof:1, avail:0 +2025/08/20 09:22:38 [debug] 624147#624147: *4 readv: 1, last:2648 +2025/08/20 09:22:38 [debug] 624147#624147: *4 pipe recv chain: 0 +2025/08/20 09:22:38 [debug] 624147#624147: *4 pipe buf free s:0 t:1 f:0 0000650E7C451160, pos 0000650E7C451664, size: 164 file: 0, size: 0 +2025/08/20 09:22:38 [debug] 624147#624147: *4 pipe length: -1 +2025/08/20 09:22:38 [debug] 624147#624147: *4 input buf #0 0000650E7C451664 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: 01 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: 06 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: 00 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: 01 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: 00 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: 00 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: 00 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: 00 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record length: 0 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi closed stdout +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: 01 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: 03 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: 00 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: 01 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: 00 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: 08 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: 00 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record byte: 00 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi record length: 8 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http fastcgi sent end request +2025/08/20 09:22:38 [debug] 624147#624147: *4 input buf 0000650E7C451664 139 +2025/08/20 09:22:38 [debug] 624147#624147: *4 pipe write downstream: 1 +2025/08/20 09:22:38 [debug] 624147#624147: *4 pipe write downstream flush in +2025/08/20 09:22:38 [debug] 624147#624147: *4 http output filter "/upload?" +2025/08/20 09:22:38 [debug] 624147#624147: *4 http copy filter: "/upload?" +2025/08/20 09:22:38 [debug] 624147#624147: *4 http postpone filter "/upload?" 0000650E7C45CBE0 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http chunk: 139 +2025/08/20 09:22:38 [debug] 624147#624147: *4 write old buf t:1 f:0 0000650E7C450808, pos 0000650E7C450808, size: 181 file: 0, size: 0 +2025/08/20 09:22:38 [debug] 624147#624147: *4 write new buf t:1 f:0 0000650E7C45CD78, pos 0000650E7C45CD78, size: 4 file: 0, size: 0 +2025/08/20 09:22:38 [debug] 624147#624147: *4 write new buf t:1 f:0 0000650E7C451160, pos 0000650E7C451664, size: 139 file: 0, size: 0 +2025/08/20 09:22:38 [debug] 624147#624147: *4 write new buf t:0 f:0 0000000000000000, pos 0000650E5AD062E8, size: 2 file: 0, size: 0 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http write filter: l:0 f:0 s:326 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http copy filter: 0 "/upload?" +2025/08/20 09:22:38 [debug] 624147#624147: *4 pipe write downstream done +2025/08/20 09:22:38 [debug] 624147#624147: *4 event timer: 10, old: 262951211, new: 262951213 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http upstream exit: 0000000000000000 +2025/08/20 09:22:38 [debug] 624147#624147: *4 finalize http upstream request: 0 +2025/08/20 09:22:38 [debug] 624147#624147: *4 finalize http fastcgi request +2025/08/20 09:22:38 [debug] 624147#624147: *4 free rr peer 1 0 +2025/08/20 09:22:38 [debug] 624147#624147: *4 close http upstream connection: 10 +2025/08/20 09:22:38 [debug] 624147#624147: *4 free: 0000650E7C42FF20, unused: 48 +2025/08/20 09:22:38 [debug] 624147#624147: *4 event timer del: 10: 262951211 +2025/08/20 09:22:38 [debug] 624147#624147: *4 reusable connection: 0 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http upstream temp fd: -1 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http output filter "/upload?" +2025/08/20 09:22:38 [debug] 624147#624147: *4 http copy filter: "/upload?" +2025/08/20 09:22:38 [debug] 624147#624147: *4 http postpone filter "/upload?" 00007FFEBE5AA8A0 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http chunk: 0 +2025/08/20 09:22:38 [debug] 624147#624147: *4 write old buf t:1 f:0 0000650E7C450808, pos 0000650E7C450808, size: 181 file: 0, size: 0 +2025/08/20 09:22:38 [debug] 624147#624147: *4 write old buf t:1 f:0 0000650E7C45CD78, pos 0000650E7C45CD78, size: 4 file: 0, size: 0 +2025/08/20 09:22:38 [debug] 624147#624147: *4 write old buf t:1 f:0 0000650E7C451160, pos 0000650E7C451664, size: 139 file: 0, size: 0 +2025/08/20 09:22:38 [debug] 624147#624147: *4 write old buf t:0 f:0 0000000000000000, pos 0000650E5AD062E8, size: 2 file: 0, size: 0 +2025/08/20 09:22:38 [debug] 624147#624147: *4 write new buf t:0 f:0 0000000000000000, pos 0000650E5AD062E5, size: 5 file: 0, size: 0 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http write filter: l:1 f:0 s:331 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http write filter limit 0 +2025/08/20 09:22:38 [debug] 624147#624147: *4 writev: 331 of 331 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http write filter 0000000000000000 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http copy filter: 0 "/upload?" +2025/08/20 09:22:38 [debug] 624147#624147: *4 http finalize request: 0, "/upload?" a:1, c:1 +2025/08/20 09:22:38 [debug] 624147#624147: *4 set http keepalive handler +2025/08/20 09:22:38 [debug] 624147#624147: *4 http close request +2025/08/20 09:22:38 [debug] 624147#624147: *4 http log handler +2025/08/20 09:22:38 [debug] 624147#624147: *4 free: 0000650E7C451160 +2025/08/20 09:22:38 [debug] 624147#624147: *4 free: 0000650E7C465A30, unused: 3 +2025/08/20 09:22:38 [debug] 624147#624147: *4 free: 0000650E7C45BDA0, unused: 0 +2025/08/20 09:22:38 [debug] 624147#624147: *4 free: 0000650E7C450150, unused: 1250 +2025/08/20 09:22:38 [debug] 624147#624147: *4 free: 0000650E7C4490A0 +2025/08/20 09:22:38 [debug] 624147#624147: *4 hc free: 0000000000000000 +2025/08/20 09:22:38 [debug] 624147#624147: *4 hc busy: 0000000000000000 0 +2025/08/20 09:22:38 [debug] 624147#624147: *4 tcp_nodelay +2025/08/20 09:22:38 [debug] 624147#624147: *4 reusable connection: 1 +2025/08/20 09:22:38 [debug] 624147#624147: *4 event timer add: 6: 65000:262956213 +2025/08/20 09:22:38 [debug] 624147#624147: *4 post event 0000650E7C497770 +2025/08/20 09:22:38 [debug] 624147#624147: timer delta: 0 +2025/08/20 09:22:38 [debug] 624147#624147: posted event 0000650E7C497770 +2025/08/20 09:22:38 [debug] 624147#624147: *4 delete posted event 0000650E7C497770 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http keepalive handler +2025/08/20 09:22:38 [debug] 624147#624147: *4 malloc: 0000650E7C4490A0:1024 +2025/08/20 09:22:38 [debug] 624147#624147: *4 recv: eof:0, avail:0 +2025/08/20 09:22:38 [debug] 624147#624147: *4 free: 0000650E7C4490A0 +2025/08/20 09:22:38 [debug] 624147#624147: worker cycle +2025/08/20 09:22:38 [debug] 624147#624147: epoll timer: 65000 +2025/08/20 09:22:38 [debug] 624147#624147: epoll: fd:6 ev:2005 d:000079281606E1E0 +2025/08/20 09:22:38 [debug] 624147#624147: *4 http keepalive handler +2025/08/20 09:22:38 [debug] 624147#624147: *4 malloc: 0000650E7C4490A0:1024 +2025/08/20 09:22:38 [debug] 624147#624147: *4 recv: eof:1, avail:-1 +2025/08/20 09:22:38 [debug] 624147#624147: *4 recv: fd:6 0 of 1024 +2025/08/20 09:22:38 [info] 624147#624147: *4 client 127.0.0.1 closed keepalive connection +2025/08/20 09:22:38 [debug] 624147#624147: *4 close http connection: 6 +2025/08/20 09:22:38 [debug] 624147#624147: *4 event timer del: 6: 262956213 +2025/08/20 09:22:38 [debug] 624147#624147: *4 reusable connection: 0 +2025/08/20 09:22:38 [debug] 624147#624147: *4 free: 0000650E7C4490A0 +2025/08/20 09:22:38 [debug] 624147#624147: *4 free: 0000650E7C446840, unused: 120 +2025/08/20 09:22:38 [debug] 624147#624147: timer delta: 2 +2025/08/20 09:22:38 [debug] 624147#624147: worker cycle +2025/08/20 09:22:38 [debug] 624147#624147: epoll timer: -1 +2025/08/20 09:22:38 [debug] 624147#624147: epoll: fd:5 ev:0001 d:000079281606E010 +2025/08/20 09:22:38 [debug] 624147#624147: accept on 0.0.0.0:9001, ready: 0 +2025/08/20 09:22:38 [debug] 624147#624147: posix_memalign: 0000650E7C446840:512 @16 +2025/08/20 09:22:38 [debug] 624147#624147: *6 accept: 127.0.0.1:55488 fd:6 +2025/08/20 09:22:38 [debug] 624147#624147: *6 event timer add: 6: 60000:262951222 +2025/08/20 09:22:38 [debug] 624147#624147: *6 reusable connection: 1 +2025/08/20 09:22:38 [debug] 624147#624147: *6 epoll add event: fd:6 op:1 ev:80002001 +2025/08/20 09:22:38 [debug] 624147#624147: timer delta: 7 +2025/08/20 09:22:38 [debug] 624147#624147: worker cycle +2025/08/20 09:22:38 [debug] 624147#624147: epoll timer: 60000 +2025/08/20 09:22:38 [debug] 624147#624147: epoll: fd:6 ev:0001 d:000079281606E1E1 +2025/08/20 09:22:38 [debug] 624147#624147: *6 http wait request handler +2025/08/20 09:22:38 [debug] 624147#624147: *6 malloc: 0000650E7C4490A0:1024 +2025/08/20 09:22:38 [debug] 624147#624147: *6 recv: eof:0, avail:-1 +2025/08/20 09:22:38 [debug] 624147#624147: *6 recv: fd:6 142 of 1024 +2025/08/20 09:22:38 [debug] 624147#624147: *6 reusable connection: 0 +2025/08/20 09:22:38 [debug] 624147#624147: *6 posix_memalign: 0000650E7C465A30:4096 @16 +2025/08/20 09:22:38 [debug] 624147#624147: *6 http process request line +2025/08/20 09:22:38 [debug] 624147#624147: *6 http request line: "GET /73733720de8e6bca0ab41a799132202d56049e288feb154b5f6becb5e9c24b67 HTTP/1.1" +2025/08/20 09:22:38 [debug] 624147#624147: *6 http uri: "/73733720de8e6bca0ab41a799132202d56049e288feb154b5f6becb5e9c24b67" +2025/08/20 09:22:38 [debug] 624147#624147: *6 http args: "" +2025/08/20 09:22:38 [debug] 624147#624147: *6 http exten: "" +2025/08/20 09:22:38 [debug] 624147#624147: *6 posix_memalign: 0000650E7C45BDA0:4096 @16 +2025/08/20 09:22:38 [debug] 624147#624147: *6 http process request header line +2025/08/20 09:22:38 [debug] 624147#624147: *6 http header: "Host: localhost:9001" +2025/08/20 09:22:38 [debug] 624147#624147: *6 http header: "User-Agent: curl/8.15.0" +2025/08/20 09:22:38 [debug] 624147#624147: *6 http header: "Accept: */*" +2025/08/20 09:22:38 [debug] 624147#624147: *6 http header done +2025/08/20 09:22:38 [debug] 624147#624147: *6 event timer del: 6: 262951222 +2025/08/20 09:22:38 [debug] 624147#624147: *6 generic phase: 0 +2025/08/20 09:22:38 [debug] 624147#624147: *6 rewrite phase: 1 +2025/08/20 09:22:38 [debug] 624147#624147: *6 test location: "/health" +2025/08/20 09:22:38 [debug] 624147#624147: *6 test location: "/debug/list" +2025/08/20 09:22:38 [debug] 624147#624147: *6 test location: "/" +2025/08/20 09:22:38 [debug] 624147#624147: *6 test location: ~ "^/([a-f0-9]{64}).*$" +2025/08/20 09:22:38 [debug] 624147#624147: *6 using configuration "^/([a-f0-9]{64}).*$" +2025/08/20 09:22:38 [debug] 624147#624147: *6 http cl:-1 max:104857600 +2025/08/20 09:22:38 [debug] 624147#624147: *6 rewrite phase: 3 +2025/08/20 09:22:38 [debug] 624147#624147: *6 http script var +2025/08/20 09:22:38 [debug] 624147#624147: *6 http script var: "GET" +2025/08/20 09:22:38 [debug] 624147#624147: *6 http script value: "DELETE" +2025/08/20 09:22:38 [debug] 624147#624147: *6 http script not equal +2025/08/20 09:22:38 [debug] 624147#624147: *6 http script if +2025/08/20 09:22:38 [debug] 624147#624147: *6 http finalize request: 404, "/73733720de8e6bca0ab41a799132202d56049e288feb154b5f6becb5e9c24b67?" a:1, c:1 +2025/08/20 09:22:38 [debug] 624147#624147: *6 http special response: 404, "/73733720de8e6bca0ab41a799132202d56049e288feb154b5f6becb5e9c24b67?" +2025/08/20 09:22:38 [debug] 624147#624147: *6 http set discard body +2025/08/20 09:22:38 [debug] 624147#624147: *6 HTTP/1.1 404 Not Found +Server: nginx/1.18.0 (Ubuntu) +Date: Wed, 20 Aug 2025 13:22:38 GMT +Content-Type: text/html +Content-Length: 162 +Connection: keep-alive + +2025/08/20 09:22:38 [debug] 624147#624147: *6 write new buf t:1 f:0 0000650E7C45C180, pos 0000650E7C45C180, size: 164 file: 0, size: 0 +2025/08/20 09:22:38 [debug] 624147#624147: *6 http write filter: l:0 f:0 s:164 +2025/08/20 09:22:38 [debug] 624147#624147: *6 http output filter "/73733720de8e6bca0ab41a799132202d56049e288feb154b5f6becb5e9c24b67?" +2025/08/20 09:22:38 [debug] 624147#624147: *6 http copy filter: "/73733720de8e6bca0ab41a799132202d56049e288feb154b5f6becb5e9c24b67?" +2025/08/20 09:22:38 [debug] 624147#624147: *6 http postpone filter "/73733720de8e6bca0ab41a799132202d56049e288feb154b5f6becb5e9c24b67?" 0000650E7C45C310 +2025/08/20 09:22:38 [debug] 624147#624147: *6 write old buf t:1 f:0 0000650E7C45C180, pos 0000650E7C45C180, size: 164 file: 0, size: 0 +2025/08/20 09:22:38 [debug] 624147#624147: *6 write new buf t:0 f:0 0000000000000000, pos 0000650E5AD45580, size: 100 file: 0, size: 0 +2025/08/20 09:22:38 [debug] 624147#624147: *6 write new buf t:0 f:0 0000000000000000, pos 0000650E5AD45C80, size: 62 file: 0, size: 0 +2025/08/20 09:22:38 [debug] 624147#624147: *6 http write filter: l:1 f:0 s:326 +2025/08/20 09:22:38 [debug] 624147#624147: *6 http write filter limit 0 +2025/08/20 09:22:38 [debug] 624147#624147: *6 writev: 326 of 326 +2025/08/20 09:22:38 [debug] 624147#624147: *6 http write filter 0000000000000000 +2025/08/20 09:22:38 [debug] 624147#624147: *6 http copy filter: 0 "/73733720de8e6bca0ab41a799132202d56049e288feb154b5f6becb5e9c24b67?" +2025/08/20 09:22:38 [debug] 624147#624147: *6 http finalize request: 0, "/73733720de8e6bca0ab41a799132202d56049e288feb154b5f6becb5e9c24b67?" a:1, c:1 +2025/08/20 09:22:38 [debug] 624147#624147: *6 set http keepalive handler +2025/08/20 09:22:38 [debug] 624147#624147: *6 http close request +2025/08/20 09:22:38 [debug] 624147#624147: *6 http log handler +2025/08/20 09:22:38 [debug] 624147#624147: *6 free: 0000650E7C465A30, unused: 0 +2025/08/20 09:22:38 [debug] 624147#624147: *6 free: 0000650E7C45BDA0, unused: 2456 +2025/08/20 09:22:38 [debug] 624147#624147: *6 free: 0000650E7C4490A0 +2025/08/20 09:22:38 [debug] 624147#624147: *6 hc free: 0000000000000000 +2025/08/20 09:22:38 [debug] 624147#624147: *6 hc busy: 0000000000000000 0 +2025/08/20 09:22:38 [debug] 624147#624147: *6 tcp_nodelay +2025/08/20 09:22:38 [debug] 624147#624147: *6 reusable connection: 1 +2025/08/20 09:22:38 [debug] 624147#624147: *6 event timer add: 6: 65000:262956222 +2025/08/20 09:22:38 [debug] 624147#624147: timer delta: 0 +2025/08/20 09:22:38 [debug] 624147#624147: worker cycle +2025/08/20 09:22:38 [debug] 624147#624147: epoll timer: 65000 +2025/08/20 09:22:38 [debug] 624147#624147: epoll: fd:6 ev:2001 d:000079281606E1E1 +2025/08/20 09:22:38 [debug] 624147#624147: *6 http keepalive handler +2025/08/20 09:22:38 [debug] 624147#624147: *6 malloc: 0000650E7C4490A0:1024 +2025/08/20 09:22:38 [debug] 624147#624147: *6 recv: eof:1, avail:-1 +2025/08/20 09:22:38 [debug] 624147#624147: *6 recv: fd:6 0 of 1024 +2025/08/20 09:22:38 [info] 624147#624147: *6 client 127.0.0.1 closed keepalive connection +2025/08/20 09:22:38 [debug] 624147#624147: *6 close http connection: 6 +2025/08/20 09:22:38 [debug] 624147#624147: *6 event timer del: 6: 262956222 +2025/08/20 09:22:38 [debug] 624147#624147: *6 reusable connection: 0 +2025/08/20 09:22:38 [debug] 624147#624147: *6 free: 0000650E7C4490A0 +2025/08/20 09:22:38 [debug] 624147#624147: *6 free: 0000650E7C446840, unused: 136 +2025/08/20 09:22:38 [debug] 624147#624147: timer delta: 0 +2025/08/20 09:22:38 [debug] 624147#624147: worker cycle +2025/08/20 09:22:38 [debug] 624147#624147: epoll timer: -1 +2025/08/20 09:28:16 [debug] 624147#624147: epoll: fd:5 ev:0001 d:000079281606E010 +2025/08/20 09:28:16 [debug] 624147#624147: accept on 0.0.0.0:9001, ready: 0 +2025/08/20 09:28:16 [debug] 624147#624147: posix_memalign: 0000650E7C446840:512 @16 +2025/08/20 09:28:16 [debug] 624147#624147: *7 accept: 127.0.0.1:42390 fd:6 +2025/08/20 09:28:16 [debug] 624147#624147: *7 event timer add: 6: 60000:263289502 +2025/08/20 09:28:16 [debug] 624147#624147: *7 reusable connection: 1 +2025/08/20 09:28:16 [debug] 624147#624147: *7 epoll add event: fd:6 op:1 ev:80002001 +2025/08/20 09:28:16 [debug] 624147#624147: timer delta: 338280 +2025/08/20 09:28:16 [debug] 624147#624147: worker cycle +2025/08/20 09:28:16 [debug] 624147#624147: epoll timer: 60000 +2025/08/20 09:28:16 [debug] 624147#624147: epoll: fd:6 ev:0001 d:000079281606E1E0 +2025/08/20 09:28:16 [debug] 624147#624147: *7 http wait request handler +2025/08/20 09:28:16 [debug] 624147#624147: *7 malloc: 0000650E7C4490A0:1024 +2025/08/20 09:28:16 [debug] 624147#624147: *7 recv: eof:0, avail:-1 +2025/08/20 09:28:16 [debug] 624147#624147: *7 recv: fd:6 84 of 1024 +2025/08/20 09:28:16 [debug] 624147#624147: *7 reusable connection: 0 +2025/08/20 09:28:16 [debug] 624147#624147: *7 posix_memalign: 0000650E7C465A30:4096 @16 +2025/08/20 09:28:16 [debug] 624147#624147: *7 http process request line +2025/08/20 09:28:16 [debug] 624147#624147: *7 http request line: "GET /health HTTP/1.1" +2025/08/20 09:28:16 [debug] 624147#624147: *7 http uri: "/health" +2025/08/20 09:28:16 [debug] 624147#624147: *7 http args: "" +2025/08/20 09:28:16 [debug] 624147#624147: *7 http exten: "" +2025/08/20 09:28:16 [debug] 624147#624147: *7 posix_memalign: 0000650E7C45BDA0:4096 @16 +2025/08/20 09:28:16 [debug] 624147#624147: *7 http process request header line +2025/08/20 09:28:16 [debug] 624147#624147: *7 http header: "Host: localhost:9001" +2025/08/20 09:28:16 [debug] 624147#624147: *7 http header: "User-Agent: curl/8.15.0" +2025/08/20 09:28:16 [debug] 624147#624147: *7 http header: "Accept: */*" +2025/08/20 09:28:16 [debug] 624147#624147: *7 http header done +2025/08/20 09:28:16 [debug] 624147#624147: *7 event timer del: 6: 263289502 +2025/08/20 09:28:16 [debug] 624147#624147: *7 generic phase: 0 +2025/08/20 09:28:16 [debug] 624147#624147: *7 rewrite phase: 1 +2025/08/20 09:28:16 [debug] 624147#624147: *7 test location: "/health" +2025/08/20 09:28:16 [debug] 624147#624147: *7 test location: ~ "^/([a-f0-9]{64}).*$" +2025/08/20 09:28:16 [debug] 624147#624147: *7 test location: ~ "^/([a-f0-9]{64})(\.[a-zA-Z0-9]+)?$" +2025/08/20 09:28:16 [debug] 624147#624147: *7 test location: ~ "^/fcgi-head/([a-f0-9]{64}).*$" +2025/08/20 09:28:16 [debug] 624147#624147: *7 test location: ~ "^/list/([a-f0-9]{64}).*$" +2025/08/20 09:28:16 [debug] 624147#624147: *7 using configuration "/health" +2025/08/20 09:28:16 [debug] 624147#624147: *7 http cl:-1 max:104857600 +2025/08/20 09:28:16 [debug] 624147#624147: *7 rewrite phase: 3 +2025/08/20 09:28:16 [debug] 624147#624147: *7 http set discard body +2025/08/20 09:28:16 [debug] 624147#624147: *7 HTTP/1.1 200 OK +Server: nginx/1.18.0 (Ubuntu) +Date: Wed, 20 Aug 2025 13:28:16 GMT +Content-Type: application/octet-stream +Content-Length: 3 +Connection: keep-alive +Content-Type: text/plain + +2025/08/20 09:28:16 [debug] 624147#624147: *7 write new buf t:1 f:0 0000650E7C45C180, pos 0000650E7C45C180, size: 196 file: 0, size: 0 +2025/08/20 09:28:16 [debug] 624147#624147: *7 http write filter: l:0 f:0 s:196 +2025/08/20 09:28:16 [debug] 624147#624147: *7 http output filter "/health?" +2025/08/20 09:28:16 [debug] 624147#624147: *7 http copy filter: "/health?" +2025/08/20 09:28:16 [debug] 624147#624147: *7 http postpone filter "/health?" 00007FFEBE5AA7F0 +2025/08/20 09:28:16 [debug] 624147#624147: *7 write old buf t:1 f:0 0000650E7C45C180, pos 0000650E7C45C180, size: 196 file: 0, size: 0 +2025/08/20 09:28:16 [debug] 624147#624147: *7 write new buf t:0 f:0 0000000000000000, pos 0000650E7C483B42, size: 3 file: 0, size: 0 +2025/08/20 09:28:16 [debug] 624147#624147: *7 http write filter: l:1 f:0 s:199 +2025/08/20 09:28:16 [debug] 624147#624147: *7 http write filter limit 0 +2025/08/20 09:28:16 [debug] 624147#624147: *7 writev: 199 of 199 +2025/08/20 09:28:16 [debug] 624147#624147: *7 http write filter 0000000000000000 +2025/08/20 09:28:16 [debug] 624147#624147: *7 http copy filter: 0 "/health?" +2025/08/20 09:28:16 [debug] 624147#624147: *7 http finalize request: 0, "/health?" a:1, c:1 +2025/08/20 09:28:16 [debug] 624147#624147: *7 set http keepalive handler +2025/08/20 09:28:16 [debug] 624147#624147: *7 http close request +2025/08/20 09:28:16 [debug] 624147#624147: *7 http log handler +2025/08/20 09:28:16 [debug] 624147#624147: *7 free: 0000650E7C465A30, unused: 0 +2025/08/20 09:28:16 [debug] 624147#624147: *7 free: 0000650E7C45BDA0, unused: 2736 +2025/08/20 09:28:16 [debug] 624147#624147: *7 free: 0000650E7C4490A0 +2025/08/20 09:28:16 [debug] 624147#624147: *7 hc free: 0000000000000000 +2025/08/20 09:28:16 [debug] 624147#624147: *7 hc busy: 0000000000000000 0 +2025/08/20 09:28:16 [debug] 624147#624147: *7 tcp_nodelay +2025/08/20 09:28:16 [debug] 624147#624147: *7 reusable connection: 1 +2025/08/20 09:28:16 [debug] 624147#624147: *7 event timer add: 6: 65000:263294503 +2025/08/20 09:28:16 [debug] 624147#624147: timer delta: 1 +2025/08/20 09:28:16 [debug] 624147#624147: worker cycle +2025/08/20 09:28:16 [debug] 624147#624147: epoll timer: 65000 +2025/08/20 09:28:16 [debug] 624147#624147: epoll: fd:6 ev:2001 d:000079281606E1E0 +2025/08/20 09:28:16 [debug] 624147#624147: *7 http keepalive handler +2025/08/20 09:28:16 [debug] 624147#624147: *7 malloc: 0000650E7C4490A0:1024 +2025/08/20 09:28:16 [debug] 624147#624147: *7 recv: eof:1, avail:-1 +2025/08/20 09:28:16 [debug] 624147#624147: *7 recv: fd:6 0 of 1024 +2025/08/20 09:28:16 [info] 624147#624147: *7 client 127.0.0.1 closed keepalive connection +2025/08/20 09:28:16 [debug] 624147#624147: *7 close http connection: 6 +2025/08/20 09:28:16 [debug] 624147#624147: *7 event timer del: 6: 263294503 +2025/08/20 09:28:16 [debug] 624147#624147: *7 reusable connection: 0 +2025/08/20 09:28:16 [debug] 624147#624147: *7 free: 0000650E7C4490A0 +2025/08/20 09:28:16 [debug] 624147#624147: *7 free: 0000650E7C446840, unused: 136 +2025/08/20 09:28:16 [debug] 624147#624147: timer delta: 1 +2025/08/20 09:28:16 [debug] 624147#624147: worker cycle +2025/08/20 09:28:16 [debug] 624147#624147: epoll timer: -1 +2025/08/20 09:28:16 [debug] 624147#624147: epoll: fd:5 ev:0001 d:000079281606E010 +2025/08/20 09:28:16 [debug] 624147#624147: accept on 0.0.0.0:9001, ready: 0 +2025/08/20 09:28:16 [debug] 624147#624147: posix_memalign: 0000650E7C446840:512 @16 +2025/08/20 09:28:16 [debug] 624147#624147: *8 accept: 127.0.0.1:42404 fd:6 +2025/08/20 09:28:16 [debug] 624147#624147: *8 event timer add: 6: 60000:263289846 +2025/08/20 09:28:16 [debug] 624147#624147: *8 reusable connection: 1 +2025/08/20 09:28:16 [debug] 624147#624147: *8 epoll add event: fd:6 op:1 ev:80002001 +2025/08/20 09:28:16 [debug] 624147#624147: timer delta: 342 +2025/08/20 09:28:16 [debug] 624147#624147: worker cycle +2025/08/20 09:28:16 [debug] 624147#624147: epoll timer: 60000 +2025/08/20 09:28:16 [debug] 624147#624147: epoll: fd:6 ev:0001 d:000079281606E1E1 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http wait request handler +2025/08/20 09:28:16 [debug] 624147#624147: *8 malloc: 0000650E7C4490A0:1024 +2025/08/20 09:28:16 [debug] 624147#624147: *8 recv: eof:0, avail:-1 +2025/08/20 09:28:16 [debug] 624147#624147: *8 recv: fd:6 1024 of 1024 +2025/08/20 09:28:16 [debug] 624147#624147: *8 recv: avail:112 +2025/08/20 09:28:16 [debug] 624147#624147: *8 reusable connection: 0 +2025/08/20 09:28:16 [debug] 624147#624147: *8 posix_memalign: 0000650E7C465A30:4096 @16 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http process request line +2025/08/20 09:28:16 [debug] 624147#624147: *8 http request line: "PUT /upload HTTP/1.1" +2025/08/20 09:28:16 [debug] 624147#624147: *8 http uri: "/upload" +2025/08/20 09:28:16 [debug] 624147#624147: *8 http args: "" +2025/08/20 09:28:16 [debug] 624147#624147: *8 http exten: "" +2025/08/20 09:28:16 [debug] 624147#624147: *8 posix_memalign: 0000650E7C45BDA0:4096 @16 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http process request header line +2025/08/20 09:28:16 [debug] 624147#624147: *8 http header: "Host: localhost:9001" +2025/08/20 09:28:16 [debug] 624147#624147: *8 http header: "User-Agent: curl/8.15.0" +2025/08/20 09:28:16 [debug] 624147#624147: *8 http header: "Accept: */*" +2025/08/20 09:28:16 [debug] 624147#624147: *8 http header: "Authorization: Nostr eyJraW5kIjoyNDI0MiwiaWQiOiI1Y2ZkNjE1NzViZmE4MWFjMDljZGEyZGY2ZTQ1MTUzYzdhZmFmMGEwN2MyZjkyODIyNGE5NzU4MzM3MGE4MjYwIiwicHVia2V5IjoiNzliZTY2N2VmOWRjYmJhYzU1YTA2Mjk1Y2U4NzBiMDcwMjliZmNkYjJkY2UyOGQ5NTlmMjgxNWIxNmY4MTc5OCIsImNyZWF0ZWRfYXQiOjE3NTU2OTY0OTYsInRhZ3MiOltbInQiLCJ1cGxvYWQiXSxbIngiLCIyM2U4MjkyZDBlZWYyMzgxMzlhZTlhNDZiZTk3Mjk1NTQ5MGUzMTNlNDAzMjBmZjYxM2VkZTcxNjVkMDEyZmIyIl0sWyJleHBpcmF0aW9uIiwiMTc1NTcwMDA5NiJdXSwiY29udGVudCI6IiIsInNpZyI6IjM3ZWY0ZmMxZTgzZGJlMjU2NTQ1MDZlMGYzNDEzY2NjNjY0MjJjN2U1MWY1NzUyNGM5NDQzNTNkYWFjNzFmZTU5YWZjNTNlZjhhMDg0OGJlNzg5YTljZTM2ZjI1NzA2NDMxNmZlYTdiYWVlMWFlOWIwNzRjOWRiODMyNTVkZmI2In0=" +2025/08/20 09:28:16 [debug] 624147#624147: *8 http header: "Content-Type: text/plain" +2025/08/20 09:28:16 [debug] 624147#624147: *8 http header: "Content-Disposition: attachment; filename="test_blob_1755696496.txt"" +2025/08/20 09:28:16 [debug] 624147#624147: *8 http header: "Content-Length: 296" +2025/08/20 09:28:16 [debug] 624147#624147: *8 http header done +2025/08/20 09:28:16 [debug] 624147#624147: *8 event timer del: 6: 263289846 +2025/08/20 09:28:16 [debug] 624147#624147: *8 generic phase: 0 +2025/08/20 09:28:16 [debug] 624147#624147: *8 rewrite phase: 1 +2025/08/20 09:28:16 [debug] 624147#624147: *8 test location: "/health" +2025/08/20 09:28:16 [debug] 624147#624147: *8 test location: "/upload" +2025/08/20 09:28:16 [debug] 624147#624147: *8 test location: ~ "^/([a-f0-9]{64}).*$" +2025/08/20 09:28:16 [debug] 624147#624147: *8 test location: ~ "^/([a-f0-9]{64})(\.[a-zA-Z0-9]+)?$" +2025/08/20 09:28:16 [debug] 624147#624147: *8 test location: ~ "^/fcgi-head/([a-f0-9]{64}).*$" +2025/08/20 09:28:16 [debug] 624147#624147: *8 test location: ~ "^/list/([a-f0-9]{64}).*$" +2025/08/20 09:28:16 [debug] 624147#624147: *8 using configuration "/upload" +2025/08/20 09:28:16 [debug] 624147#624147: *8 http cl:296 max:104857600 +2025/08/20 09:28:16 [debug] 624147#624147: *8 rewrite phase: 3 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http script var +2025/08/20 09:28:16 [debug] 624147#624147: *8 http script var: "PUT" +2025/08/20 09:28:16 [debug] 624147#624147: *8 http script regex: "^(PUT)$" +2025/08/20 09:28:16 [notice] 624147#624147: *8 "^(PUT)$" matches "PUT", client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", host: "localhost:9001" +2025/08/20 09:28:16 [debug] 624147#624147: *8 http script if +2025/08/20 09:28:16 [debug] 624147#624147: *8 http script if: false +2025/08/20 09:28:16 [debug] 624147#624147: *8 post rewrite phase: 4 +2025/08/20 09:28:16 [debug] 624147#624147: *8 generic phase: 5 +2025/08/20 09:28:16 [debug] 624147#624147: *8 generic phase: 6 +2025/08/20 09:28:16 [debug] 624147#624147: *8 generic phase: 7 +2025/08/20 09:28:16 [debug] 624147#624147: *8 access phase: 8 +2025/08/20 09:28:16 [debug] 624147#624147: *8 access phase: 9 +2025/08/20 09:28:16 [debug] 624147#624147: *8 access phase: 10 +2025/08/20 09:28:16 [debug] 624147#624147: *8 post access phase: 11 +2025/08/20 09:28:16 [debug] 624147#624147: *8 generic phase: 12 +2025/08/20 09:28:16 [debug] 624147#624147: *8 generic phase: 13 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http client request body preread 184 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http request body content length filter +2025/08/20 09:28:16 [debug] 624147#624147: *8 http body new buf t:1 f:0 0000650E7C4493E8, pos 0000650E7C4493E8, size: 184 file: 0, size: 0 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http read client request body +2025/08/20 09:28:16 [debug] 624147#624147: *8 recv: eof:0, avail:112 +2025/08/20 09:28:16 [debug] 624147#624147: *8 recv: fd:6 112 of 112 +2025/08/20 09:28:16 [debug] 624147#624147: *8 recv: avail:0 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http client request body recv 112 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http body new buf t:1 f:0 0000650E7C45C830, pos 0000650E7C45C830, size: 112 file: 0, size: 0 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http client request body rest 0 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http init upstream, client timer: 0 +2025/08/20 09:28:16 [debug] 624147#624147: *8 epoll add event: fd:6 op:3 ev:80002005 +2025/08/20 09:28:16 [debug] 624147#624147: *8 posix_memalign: 0000650E7C450150:4096 @16 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http script copy: "QUERY_STRING" +2025/08/20 09:28:16 [debug] 624147#624147: *8 fastcgi param: "QUERY_STRING: " +2025/08/20 09:28:16 [debug] 624147#624147: *8 http script copy: "REQUEST_METHOD" +2025/08/20 09:28:16 [debug] 624147#624147: *8 http script var: "PUT" +2025/08/20 09:28:16 [debug] 624147#624147: *8 fastcgi param: "REQUEST_METHOD: PUT" +2025/08/20 09:28:16 [debug] 624147#624147: *8 http script copy: "CONTENT_TYPE" +2025/08/20 09:28:16 [debug] 624147#624147: *8 http script var: "text/plain" +2025/08/20 09:28:16 [debug] 624147#624147: *8 fastcgi param: "CONTENT_TYPE: text/plain" +2025/08/20 09:28:16 [debug] 624147#624147: *8 http script copy: "CONTENT_LENGTH" +2025/08/20 09:28:16 [debug] 624147#624147: *8 http script var: "296" +2025/08/20 09:28:16 [debug] 624147#624147: *8 fastcgi param: "CONTENT_LENGTH: 296" +2025/08/20 09:28:16 [debug] 624147#624147: *8 http script copy: "SCRIPT_NAME" +2025/08/20 09:28:16 [debug] 624147#624147: *8 http script var: "/upload" +2025/08/20 09:28:16 [debug] 624147#624147: *8 fastcgi param: "SCRIPT_NAME: /upload" +2025/08/20 09:28:16 [debug] 624147#624147: *8 http script copy: "REQUEST_URI" +2025/08/20 09:28:16 [debug] 624147#624147: *8 http script var: "/upload" +2025/08/20 09:28:16 [debug] 624147#624147: *8 fastcgi param: "REQUEST_URI: /upload" +2025/08/20 09:28:16 [debug] 624147#624147: *8 http script copy: "DOCUMENT_URI" +2025/08/20 09:28:16 [debug] 624147#624147: *8 http script var: "/upload" +2025/08/20 09:28:16 [debug] 624147#624147: *8 fastcgi param: "DOCUMENT_URI: /upload" +2025/08/20 09:28:16 [debug] 624147#624147: *8 http script copy: "DOCUMENT_ROOT" +2025/08/20 09:28:16 [debug] 624147#624147: *8 http script var: "./blobs" +2025/08/20 09:28:16 [debug] 624147#624147: *8 fastcgi param: "DOCUMENT_ROOT: ./blobs" +2025/08/20 09:28:16 [debug] 624147#624147: *8 http script copy: "SERVER_PROTOCOL" +2025/08/20 09:28:16 [debug] 624147#624147: *8 http script var: "HTTP/1.1" +2025/08/20 09:28:16 [debug] 624147#624147: *8 fastcgi param: "SERVER_PROTOCOL: HTTP/1.1" +2025/08/20 09:28:16 [debug] 624147#624147: *8 http script copy: "REQUEST_SCHEME" +2025/08/20 09:28:16 [debug] 624147#624147: *8 http script var: "http" +2025/08/20 09:28:16 [debug] 624147#624147: *8 fastcgi param: "REQUEST_SCHEME: http" +2025/08/20 09:28:16 [debug] 624147#624147: *8 http script copy: "" +2025/08/20 09:28:16 [debug] 624147#624147: *8 http script copy: "GATEWAY_INTERFACE" +2025/08/20 09:28:16 [debug] 624147#624147: *8 http script copy: "CGI/1.1" +2025/08/20 09:28:16 [debug] 624147#624147: *8 fastcgi param: "GATEWAY_INTERFACE: CGI/1.1" +2025/08/20 09:28:16 [debug] 624147#624147: *8 http script copy: "SERVER_SOFTWARE" +2025/08/20 09:28:16 [debug] 624147#624147: *8 http script copy: "nginx/" +2025/08/20 09:28:16 [debug] 624147#624147: *8 http script var: "1.18.0" +2025/08/20 09:28:16 [debug] 624147#624147: *8 fastcgi param: "SERVER_SOFTWARE: nginx/1.18.0" +2025/08/20 09:28:16 [debug] 624147#624147: *8 http script copy: "REMOTE_ADDR" +2025/08/20 09:28:16 [debug] 624147#624147: *8 http script var: "127.0.0.1" +2025/08/20 09:28:16 [debug] 624147#624147: *8 fastcgi param: "REMOTE_ADDR: 127.0.0.1" +2025/08/20 09:28:16 [debug] 624147#624147: *8 http script copy: "REMOTE_PORT" +2025/08/20 09:28:16 [debug] 624147#624147: *8 http script var: "42404" +2025/08/20 09:28:16 [debug] 624147#624147: *8 fastcgi param: "REMOTE_PORT: 42404" +2025/08/20 09:28:16 [debug] 624147#624147: *8 http script copy: "SERVER_ADDR" +2025/08/20 09:28:16 [debug] 624147#624147: *8 http script var: "127.0.0.1" +2025/08/20 09:28:16 [debug] 624147#624147: *8 fastcgi param: "SERVER_ADDR: 127.0.0.1" +2025/08/20 09:28:16 [debug] 624147#624147: *8 http script copy: "SERVER_PORT" +2025/08/20 09:28:16 [debug] 624147#624147: *8 http script var: "9001" +2025/08/20 09:28:16 [debug] 624147#624147: *8 fastcgi param: "SERVER_PORT: 9001" +2025/08/20 09:28:16 [debug] 624147#624147: *8 http script copy: "SERVER_NAME" +2025/08/20 09:28:16 [debug] 624147#624147: *8 http script var: "localhost" +2025/08/20 09:28:16 [debug] 624147#624147: *8 fastcgi param: "SERVER_NAME: localhost" +2025/08/20 09:28:16 [debug] 624147#624147: *8 http script copy: "REDIRECT_STATUS" +2025/08/20 09:28:16 [debug] 624147#624147: *8 http script copy: "200" +2025/08/20 09:28:16 [debug] 624147#624147: *8 fastcgi param: "REDIRECT_STATUS: 200" +2025/08/20 09:28:16 [debug] 624147#624147: *8 http script copy: "SCRIPT_FILENAME" +2025/08/20 09:28:16 [debug] 624147#624147: *8 http script var: "./blobs" +2025/08/20 09:28:16 [debug] 624147#624147: *8 http script copy: "/ginxsom.fcgi" +2025/08/20 09:28:16 [debug] 624147#624147: *8 fastcgi param: "SCRIPT_FILENAME: ./blobs/ginxsom.fcgi" +2025/08/20 09:28:16 [debug] 624147#624147: *8 fastcgi param: "HTTP_HOST: localhost:9001" +2025/08/20 09:28:16 [debug] 624147#624147: *8 fastcgi param: "HTTP_USER_AGENT: curl/8.15.0" +2025/08/20 09:28:16 [debug] 624147#624147: *8 fastcgi param: "HTTP_ACCEPT: */*" +2025/08/20 09:28:16 [debug] 624147#624147: *8 fastcgi param: "HTTP_AUTHORIZATION: Nostr eyJraW5kIjoyNDI0MiwiaWQiOiI1Y2ZkNjE1NzViZmE4MWFjMDljZGEyZGY2ZTQ1MTUzYzdhZmFmMGEwN2MyZjkyODIyNGE5NzU4MzM3MGE4MjYwIiwicHVia2V5IjoiNzliZTY2N2VmOWRjYmJhYzU1YTA2Mjk1Y2U4NzBiMDcwMjliZmNkYjJkY2UyOGQ5NTlmMjgxNWIxNmY4MTc5OCIsImNyZWF0ZWRfYXQiOjE3NTU2OTY0OTYsInRhZ3MiOltbInQiLCJ1cGxvYWQiXSxbIngiLCIyM2U4MjkyZDBlZWYyMzgxMzlhZTlhNDZiZTk3Mjk1NTQ5MGUzMTNlNDAzMjBmZjYxM2VkZTcxNjVkMDEyZmIyIl0sWyJleHBpcmF0aW9uIiwiMTc1NTcwMDA5NiJdXSwiY29udGVudCI6IiIsInNpZyI6IjM3ZWY0ZmMxZTgzZGJlMjU2NTQ1MDZlMGYzNDEzY2NjNjY0MjJjN2U1MWY1NzUyNGM5NDQzNTNkYWFjNzFmZTU5YWZjNTNlZjhhMDg0OGJlNzg5YTljZTM2ZjI1NzA2NDMxNmZlYTdiYWVlMWFlOWIwNzRjOWRiODMyNTVkZmI2In0=" +2025/08/20 09:28:16 [debug] 624147#624147: *8 fastcgi param: "HTTP_CONTENT_TYPE: text/plain" +2025/08/20 09:28:16 [debug] 624147#624147: *8 fastcgi param: "HTTP_CONTENT_DISPOSITION: attachment; filename="test_blob_1755696496.txt"" +2025/08/20 09:28:16 [debug] 624147#624147: *8 fastcgi param: "HTTP_CONTENT_LENGTH: 296" +2025/08/20 09:28:16 [debug] 624147#624147: *8 http cleanup add: 0000650E7C45CB80 +2025/08/20 09:28:16 [debug] 624147#624147: *8 get rr peer, try: 1 +2025/08/20 09:28:16 [debug] 624147#624147: *8 stream socket 10 +2025/08/20 09:28:16 [debug] 624147#624147: *8 epoll add connection: fd:10 ev:80002005 +2025/08/20 09:28:16 [debug] 624147#624147: *8 connect to unix:/tmp/ginxsom-fcgi.sock, fd:10 #9 +2025/08/20 09:28:16 [debug] 624147#624147: *8 connected +2025/08/20 09:28:16 [debug] 624147#624147: *8 http upstream connect: 0 +2025/08/20 09:28:16 [debug] 624147#624147: *8 posix_memalign: 0000650E7C42FF20:128 @16 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http upstream send request +2025/08/20 09:28:16 [debug] 624147#624147: *8 http upstream send request body +2025/08/20 09:28:16 [debug] 624147#624147: *8 chain writer buf fl:0 s:1304 +2025/08/20 09:28:16 [debug] 624147#624147: *8 chain writer buf fl:0 s:184 +2025/08/20 09:28:16 [debug] 624147#624147: *8 chain writer buf fl:0 s:8 +2025/08/20 09:28:16 [debug] 624147#624147: *8 chain writer buf fl:0 s:112 +2025/08/20 09:28:16 [debug] 624147#624147: *8 chain writer buf fl:0 s:8 +2025/08/20 09:28:16 [debug] 624147#624147: *8 chain writer in: 0000650E7C45CC10 +2025/08/20 09:28:16 [debug] 624147#624147: *8 writev: 1616 of 1616 +2025/08/20 09:28:16 [debug] 624147#624147: *8 chain writer out: 0000000000000000 +2025/08/20 09:28:16 [debug] 624147#624147: *8 event timer add: 10: 60000:263289846 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http finalize request: -4, "/upload?" a:1, c:2 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http request count:2 blk:0 +2025/08/20 09:28:16 [debug] 624147#624147: timer delta: 0 +2025/08/20 09:28:16 [debug] 624147#624147: worker cycle +2025/08/20 09:28:16 [debug] 624147#624147: epoll timer: 60000 +2025/08/20 09:28:16 [debug] 624147#624147: epoll: fd:6 ev:0004 d:000079281606E1E1 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http run request: "/upload?" +2025/08/20 09:28:16 [debug] 624147#624147: *8 http upstream check client, write event:1, "/upload" +2025/08/20 09:28:16 [debug] 624147#624147: epoll: fd:10 ev:0005 d:000079281606E2C8 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http upstream request: "/upload?" +2025/08/20 09:28:16 [debug] 624147#624147: *8 http upstream process header +2025/08/20 09:28:16 [debug] 624147#624147: *8 malloc: 0000650E7C451160:4096 +2025/08/20 09:28:16 [debug] 624147#624147: *8 recv: eof:0, avail:-1 +2025/08/20 09:28:16 [debug] 624147#624147: *8 recv: fd:10 1400 of 4096 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: 01 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: 07 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: 00 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: 01 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: 00 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: 21 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: 07 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: 00 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record length: 33 +2025/08/20 09:28:16 [error] 624147#624147: *8 FastCGI sent in stderr: "DEBUG: FastCGI received request" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: 01 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: 07 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: 00 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: 01 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: 01 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: F8 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: 00 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: 00 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record length: 504 +2025/08/20 09:28:16 [error] 624147#624147: *8 FastCGI sent in stderr: "DEBUG: METHOD=PUT, URI=/upload +ENTRY: Entering handle_upload_request() function +DEBUG: handle_upload_request called +LOG: [2025-08-20 09:28:16] PUT /upload - Auth: pending - Status: 0 +DEBUG: content_type=text/plain +DEBUG: content_length=296 +DEBUG: Raw Authorization header: Nostr eyJraW5kIjoyNDI0MiwiaWQiOiI1Y2ZkNjE1NzViZmE4MWFjMDljZGEyZGY2ZTQ1MTUzYzdhZmFmMGEwN2MyZjkyODIyNGE5NzU4MzM3MGE4MjYwIiwicHVia2V5IjoiNzliZTY2N2VmOWRjYmJhYzU1YTA2Mjk1Y2U4NzBiMDcwMjliZmNkYjJkY2UyOGQ5NTlmMjgxNWIxNmY4MTc5OCIsImN" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: 01 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: 07 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: 00 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: 01 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: 01 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: F8 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: 00 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: 00 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record length: 504 +2025/08/20 09:28:16 [error] 624147#624147: *8 FastCGI sent in stderr: "yZWF0ZWRfYXQiOjE3NTU2OTY0OTYsInRhZ3MiOltbInQiLCJ1cGxvYWQiXSxbIngiLCIyM2U4MjkyZDBlZWYyMzgxMzlhZTlhNDZiZTk3Mjk1NTQ5MGUzMTNlNDAzMjBmZjYxM2VkZTcxNjVkMDEyZmIyIl0sWyJleHBpcmF0aW9uIiwiMTc1NTcwMDA5NiJdXSwiY29udGVudCI6IiIsInNpZyI6IjM3ZWY0ZmMxZTgzZGJlMjU2NTQ1MDZlMGYzNDEzY2NjNjY0MjJjN2U1MWY1NzUyNGM5NDQzNTNkYWFjNzFmZTU5YWZjNTNlZjhhMDg0OGJlNzg5YTljZTM2ZjI1NzA2NDMxNmZlYTdiYWVlMWFlOWIwNzRjOWRiODMyNTVkZmI2In0= +LOG: [2025-08-20 09:28:16] PUT /upload - Auth: auth_provided - Status: 0 +DEBUG: Successfully read DEBUG-" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: 01 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: 07 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: 00 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: 01 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: 01 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: 3F +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: 01 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: 00 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record length: 319 +2025/08/20 09:28:16 [error] 624147#624147: *8 FastCGI sent in stderr: "LAAN: DATA TO HASH: Test blob content for Ginxsom Blossom server +Timestamp: 2025-08-20T09:28:16-04:00 +Random data: cb00d7883badd3b9ae8e6f07642d0678e346df4344912dc94c20783d77554c87 +Test message: Hello from put_test.sh! + +This file is used to test the upload functionality +of the Ginxsom Blossom server implementation. +1" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:28:16 [debug] 624147#624147: *8 recv: eof:0, avail:0 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http upstream request: "/upload?" +2025/08/20 09:28:16 [debug] 624147#624147: *8 http upstream dummy handler +2025/08/20 09:28:16 [debug] 624147#624147: timer delta: 2 +2025/08/20 09:28:16 [debug] 624147#624147: worker cycle +2025/08/20 09:28:16 [debug] 624147#624147: epoll timer: 59998 +2025/08/20 09:28:16 [debug] 624147#624147: epoll: fd:10 ev:2005 d:000079281606E2C8 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http upstream request: "/upload?" +2025/08/20 09:28:16 [debug] 624147#624147: *8 http upstream process header +2025/08/20 09:28:16 [debug] 624147#624147: *8 recv: eof:1, avail:-1 +2025/08/20 09:28:16 [debug] 624147#624147: *8 recv: fd:10 2696 of 2696 +2025/08/20 09:28:16 [debug] 624147#624147: *8 recv: avail:1448 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: 01 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: 07 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: 00 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: 01 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: 00 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: 62 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: 06 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: 00 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record length: 98 +2025/08/20 09:28:16 [error] 624147#624147: *8 FastCGI sent in stderr: "DEBUG-LAAN: Calculated SHA-256: 23e8292d0eef238139ae9a46be972955490e313e40320ff613ede7165d012fb2" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: 01 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: 07 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: 00 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: 01 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: 01 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: F8 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: 00 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: 00 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record length: 504 +2025/08/20 09:28:16 [error] 624147#624147: *8 FastCGI sent in stderr: "AUTH: About to perform authentication - auth_header present: YES +AUTH: Calling authenticate_request with hash: 23e8292d0eef238139ae9a46be972955490e313e40320ff613ede7165d012fb2 +═══════════════════════════════════════════════════════════════════ +🔍 STEP SERVER-1: Starting server-style authentication (mirroring test_auth_debug.c) +ℹ️ INFO: Server-style auth calle" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: 01 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: 07 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: 00 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: 01 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: 01 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: F8 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: 00 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: 00 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record length: 504 +2025/08/20 09:28:16 [error] 624147#624147: *8 FastCGI sent in stderr: "d with method: upload, hash: 23e8292d0eef238139ae9a46be972955490e313e40320ff613ede7165d012fb2 +🔍 STEP SERVER-2: Calling parse_authorization_header +DEBUG: parse_authorization_header called with header: Nostr eyJraW5kIjoyNDI0MiwiaWQiOiI1Y2ZkNjE1NzViZmE4... +DEBUG: Extracted base64 event (length=DEBUG: Base64 decode result - decoded_len=DEBUG: Successfully decoded JSON (length=✅ SUCCESS: parse_authorization_header succeeded +🔍 STEP SERVER-3: Calling cJSON_Parse on JSON string +ℹ️ INFO: JSON to" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: 01 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: 07 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: 00 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: 01 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: 01 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: F8 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: 00 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: 00 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record length: 504 +2025/08/20 09:28:16 [error] 624147#624147: *8 FastCGI sent in stderr: " parse: {"kind":24242,"id":"5cfd61575bfa81ac09cda2df6e45153c7afaf0a07c2f928224a97583370a8260","pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1755696496,"tags":[["t","upload"],["x","23e8292d0eef238139ae9a46be972955490e313e40320ff613ede7165d012fb2"],["expiration","1755700096"]],"content":"","sig":"37ef4fc1e83dbe25654506e0f3413ccc66422c7e51f57524c944353daac71fe59afc53ef8a0848be789a9ce36f257064316fea7baee1ae9b074c9db83255dfb6"} +✅ SUCCESS: cJSON_Parse succeeded" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: 01 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: 07 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: 00 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: 01 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: 01 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: F8 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: 00 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: 00 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record length: 504 +2025/08/20 09:28:16 [error] 624147#624147: *8 FastCGI sent in stderr: ", event parsed +ℹ️ INFO: Parsed JSON: { + "kind": 24242, + "id": "5cfd61575bfa81ac09cda2df6e45153c7afaf0a07c2f928224a97583370a8260", + "pubkey": "79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798", + "created_at": 1755696496, + "tags": [["t", "upload"], ["x", "23e8292d0eef238139ae9a46be972955490e313e40320ff613ede7165d012fb2"], ["expiration", "1755700096"]], + "content": "", + "sig": "37ef4fc1e83dbe25654506e0f3413ccc66422c7e51f57524c944353daac71fe59afc53ef8a0848be789a9ce36f257064316fea7ba" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: 01 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: 07 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: 00 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: 01 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: 01 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: F8 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: 00 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: 00 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record length: 504 +2025/08/20 09:28:16 [error] 624147#624147: *8 FastCGI sent in stderr: "ee1ae9b074c9db83255dfb6" +} +🔍 STEP SERVER-4: Event fields before validation +ℹ️ INFO: id: 5cfd61575bfa81ac09cda2df6e45153c7afaf0a07c2f928224a97583370a8260 +ℹ️ INFO: pubkey: 79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 +ℹ️ INFO: sig: 37ef4fc1e83dbe25654506e0f3413ccc66422c7e51f57524c944353daac71fe59afc53ef8a0848be789a9ce36f257064316fea7baee1ae9b074c9db83255dfb6 +ℹ️ INFO: kind: 24242 +ℹ️ INFO: created_at: 1755696496 +🔍 STEP SERVER-5: Detailed pubkey" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: 01 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: 07 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: 00 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: 01 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: 01 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: F8 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: 00 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: 00 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record length: 504 +2025/08/20 09:28:16 [error] 624147#624147: *8 FastCGI sent in stderr: " analysis +ℹ️" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:28:16 [debug] 624147#624147: *8 recv: eof:1, avail:1448 +2025/08/20 09:28:16 [debug] 624147#624147: *8 recv: fd:10 1448 of 4096 +2025/08/20 09:28:16 [debug] 624147#624147: *8 recv: avail:0 +2025/08/20 09:28:16 [error] 624147#624147: *8 FastCGI sent in stderr: " INFO: Pubkey: 79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 +ℹ️ INFO: Length: ℹ️ INFO: Character analysis (first 10): +7(0x37) 9(0x39) b(0x62) e(0x65) 6(0x36) 6(0x36) 7(0x37) e(0x65) f(0x66) 9(0x39) +🔍 STEP SERVER-6: Pre-validation pubkey analysis +ℹ️ INFO: Pubkey: 79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 +ℹ️ INFO: Length: ℹ️ INFO: Character analysis (first 10): +7(55) 9(57) b(98) e(101) 6(54) 6(54) 7(5" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: 01 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: 07 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: 00 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: 01 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: 01 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: F8 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: 00 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: 00 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record length: 504 +2025/08/20 09:28:16 [error] 624147#624147: *8 FastCGI sent in stderr: "5) e(101) f(102) 9(57) +ℹ️ INFO: Character validation test: +ALL VALID (lowercase hex) +🔍 STEP SERVER-7: Starting detailed validation analysis +ℹ️ INFO: Testing structure validation... +ℹ️ INFO: nostr_validate_event_structure returned: 0 (Success) +✅ SUCCESS: Structure validation PASSED +ℹ️ INFO: Testing cryptographic verification... +ℹ️ INFO: nostr_verify_event_signature returned: -32 (Event has invalid public key) +❌ ERROR: CRYPTO verification failed! +❌ ERROR: Failed p" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: 01 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: 07 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: 00 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: 01 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: 00 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: C5 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: 03 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: 00 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record length: 197 +2025/08/20 09:28:16 [error] 624147#624147: *8 FastCGI sent in stderr: "ubkey: 79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 (length: AUTH: authenticate_request returned: -32 +LOG: [2025-08-20 09:28:16] PUT /upload - Auth: auth_failed - Status: 401" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: 01 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: 07 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: 00 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: 01 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: 00 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: 00 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: 00 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: 00 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record length: 0 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: 01 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: 06 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: 00 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: 01 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: 00 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: C7 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: 01 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: 00 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record length: 199 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi parser: 0 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi header: "Status: 401 Unauthorized" +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi parser: 0 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi header: "Content-Type: application/json" +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi parser: 1 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi header done +2025/08/20 09:28:16 [debug] 624147#624147: *8 HTTP/1.1 401 Unauthorized +Server: nginx/1.18.0 (Ubuntu) +Date: Wed, 20 Aug 2025 13:28:16 GMT +Content-Type: application/json +Transfer-Encoding: chunked +Connection: keep-alive + +2025/08/20 09:28:16 [debug] 624147#624147: *8 write new buf t:1 f:0 0000650E7C450808, pos 0000650E7C450808, size: 181 file: 0, size: 0 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http write filter: l:0 f:0 s:181 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http cacheable: 0 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http upstream process upstream +2025/08/20 09:28:16 [debug] 624147#624147: *8 pipe read upstream: 1 +2025/08/20 09:28:16 [debug] 624147#624147: *8 pipe preread: 164 +2025/08/20 09:28:16 [debug] 624147#624147: *8 readv: eof:1, avail:0 +2025/08/20 09:28:16 [debug] 624147#624147: *8 readv: 1, last:2648 +2025/08/20 09:28:16 [debug] 624147#624147: *8 pipe recv chain: 0 +2025/08/20 09:28:16 [debug] 624147#624147: *8 pipe buf free s:0 t:1 f:0 0000650E7C451160, pos 0000650E7C451664, size: 164 file: 0, size: 0 +2025/08/20 09:28:16 [debug] 624147#624147: *8 pipe length: -1 +2025/08/20 09:28:16 [debug] 624147#624147: *8 input buf #0 0000650E7C451664 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: 01 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: 06 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: 00 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: 01 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: 00 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: 00 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: 00 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: 00 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record length: 0 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi closed stdout +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: 01 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: 03 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: 00 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: 01 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: 00 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: 08 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: 00 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record byte: 00 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi record length: 8 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http fastcgi sent end request +2025/08/20 09:28:16 [debug] 624147#624147: *8 input buf 0000650E7C451664 139 +2025/08/20 09:28:16 [debug] 624147#624147: *8 pipe write downstream: 1 +2025/08/20 09:28:16 [debug] 624147#624147: *8 pipe write downstream flush in +2025/08/20 09:28:16 [debug] 624147#624147: *8 http output filter "/upload?" +2025/08/20 09:28:16 [debug] 624147#624147: *8 http copy filter: "/upload?" +2025/08/20 09:28:16 [debug] 624147#624147: *8 http postpone filter "/upload?" 0000650E7C45CBE0 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http chunk: 139 +2025/08/20 09:28:16 [debug] 624147#624147: *8 write old buf t:1 f:0 0000650E7C450808, pos 0000650E7C450808, size: 181 file: 0, size: 0 +2025/08/20 09:28:16 [debug] 624147#624147: *8 write new buf t:1 f:0 0000650E7C45CD78, pos 0000650E7C45CD78, size: 4 file: 0, size: 0 +2025/08/20 09:28:16 [debug] 624147#624147: *8 write new buf t:1 f:0 0000650E7C451160, pos 0000650E7C451664, size: 139 file: 0, size: 0 +2025/08/20 09:28:16 [debug] 624147#624147: *8 write new buf t:0 f:0 0000000000000000, pos 0000650E5AD062E8, size: 2 file: 0, size: 0 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http write filter: l:0 f:0 s:326 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http copy filter: 0 "/upload?" +2025/08/20 09:28:16 [debug] 624147#624147: *8 pipe write downstream done +2025/08/20 09:28:16 [debug] 624147#624147: *8 event timer: 10, old: 263289846, new: 263289849 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http upstream exit: 0000000000000000 +2025/08/20 09:28:16 [debug] 624147#624147: *8 finalize http upstream request: 0 +2025/08/20 09:28:16 [debug] 624147#624147: *8 finalize http fastcgi request +2025/08/20 09:28:16 [debug] 624147#624147: *8 free rr peer 1 0 +2025/08/20 09:28:16 [debug] 624147#624147: *8 close http upstream connection: 10 +2025/08/20 09:28:16 [debug] 624147#624147: *8 free: 0000650E7C42FF20, unused: 48 +2025/08/20 09:28:16 [debug] 624147#624147: *8 event timer del: 10: 263289846 +2025/08/20 09:28:16 [debug] 624147#624147: *8 reusable connection: 0 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http upstream temp fd: -1 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http output filter "/upload?" +2025/08/20 09:28:16 [debug] 624147#624147: *8 http copy filter: "/upload?" +2025/08/20 09:28:16 [debug] 624147#624147: *8 http postpone filter "/upload?" 00007FFEBE5AA8A0 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http chunk: 0 +2025/08/20 09:28:16 [debug] 624147#624147: *8 write old buf t:1 f:0 0000650E7C450808, pos 0000650E7C450808, size: 181 file: 0, size: 0 +2025/08/20 09:28:16 [debug] 624147#624147: *8 write old buf t:1 f:0 0000650E7C45CD78, pos 0000650E7C45CD78, size: 4 file: 0, size: 0 +2025/08/20 09:28:16 [debug] 624147#624147: *8 write old buf t:1 f:0 0000650E7C451160, pos 0000650E7C451664, size: 139 file: 0, size: 0 +2025/08/20 09:28:16 [debug] 624147#624147: *8 write old buf t:0 f:0 0000000000000000, pos 0000650E5AD062E8, size: 2 file: 0, size: 0 +2025/08/20 09:28:16 [debug] 624147#624147: *8 write new buf t:0 f:0 0000000000000000, pos 0000650E5AD062E5, size: 5 file: 0, size: 0 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http write filter: l:1 f:0 s:331 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http write filter limit 0 +2025/08/20 09:28:16 [debug] 624147#624147: *8 writev: 331 of 331 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http write filter 0000000000000000 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http copy filter: 0 "/upload?" +2025/08/20 09:28:16 [debug] 624147#624147: *8 http finalize request: 0, "/upload?" a:1, c:1 +2025/08/20 09:28:16 [debug] 624147#624147: *8 set http keepalive handler +2025/08/20 09:28:16 [debug] 624147#624147: *8 http close request +2025/08/20 09:28:16 [debug] 624147#624147: *8 http log handler +2025/08/20 09:28:16 [debug] 624147#624147: *8 free: 0000650E7C451160 +2025/08/20 09:28:16 [debug] 624147#624147: *8 free: 0000650E7C465A30, unused: 3 +2025/08/20 09:28:16 [debug] 624147#624147: *8 free: 0000650E7C45BDA0, unused: 0 +2025/08/20 09:28:16 [debug] 624147#624147: *8 free: 0000650E7C450150, unused: 1250 +2025/08/20 09:28:16 [debug] 624147#624147: *8 free: 0000650E7C4490A0 +2025/08/20 09:28:16 [debug] 624147#624147: *8 hc free: 0000000000000000 +2025/08/20 09:28:16 [debug] 624147#624147: *8 hc busy: 0000000000000000 0 +2025/08/20 09:28:16 [debug] 624147#624147: *8 tcp_nodelay +2025/08/20 09:28:16 [debug] 624147#624147: *8 reusable connection: 1 +2025/08/20 09:28:16 [debug] 624147#624147: *8 event timer add: 6: 65000:263294849 +2025/08/20 09:28:16 [debug] 624147#624147: *8 post event 0000650E7C497770 +2025/08/20 09:28:16 [debug] 624147#624147: timer delta: 1 +2025/08/20 09:28:16 [debug] 624147#624147: posted event 0000650E7C497770 +2025/08/20 09:28:16 [debug] 624147#624147: *8 delete posted event 0000650E7C497770 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http keepalive handler +2025/08/20 09:28:16 [debug] 624147#624147: *8 malloc: 0000650E7C4490A0:1024 +2025/08/20 09:28:16 [debug] 624147#624147: *8 recv: eof:0, avail:0 +2025/08/20 09:28:16 [debug] 624147#624147: *8 free: 0000650E7C4490A0 +2025/08/20 09:28:16 [debug] 624147#624147: worker cycle +2025/08/20 09:28:16 [debug] 624147#624147: epoll timer: 65000 +2025/08/20 09:28:16 [debug] 624147#624147: epoll: fd:6 ev:2005 d:000079281606E1E1 +2025/08/20 09:28:16 [debug] 624147#624147: *8 http keepalive handler +2025/08/20 09:28:16 [debug] 624147#624147: *8 malloc: 0000650E7C4490A0:1024 +2025/08/20 09:28:16 [debug] 624147#624147: *8 recv: eof:1, avail:-1 +2025/08/20 09:28:16 [debug] 624147#624147: *8 recv: fd:6 0 of 1024 +2025/08/20 09:28:16 [info] 624147#624147: *8 client 127.0.0.1 closed keepalive connection +2025/08/20 09:28:16 [debug] 624147#624147: *8 close http connection: 6 +2025/08/20 09:28:16 [debug] 624147#624147: *8 event timer del: 6: 263294849 +2025/08/20 09:28:16 [debug] 624147#624147: *8 reusable connection: 0 +2025/08/20 09:28:16 [debug] 624147#624147: *8 free: 0000650E7C4490A0 +2025/08/20 09:28:16 [debug] 624147#624147: *8 free: 0000650E7C446840, unused: 120 +2025/08/20 09:28:16 [debug] 624147#624147: timer delta: 2 +2025/08/20 09:28:16 [debug] 624147#624147: worker cycle +2025/08/20 09:28:16 [debug] 624147#624147: epoll timer: -1 +2025/08/20 09:28:16 [debug] 624147#624147: epoll: fd:5 ev:0001 d:000079281606E010 +2025/08/20 09:28:16 [debug] 624147#624147: accept on 0.0.0.0:9001, ready: 0 +2025/08/20 09:28:16 [debug] 624147#624147: posix_memalign: 0000650E7C446840:512 @16 +2025/08/20 09:28:16 [debug] 624147#624147: *10 accept: 127.0.0.1:42406 fd:6 +2025/08/20 09:28:16 [debug] 624147#624147: *10 event timer add: 6: 60000:263289860 +2025/08/20 09:28:16 [debug] 624147#624147: *10 reusable connection: 1 +2025/08/20 09:28:16 [debug] 624147#624147: *10 epoll add event: fd:6 op:1 ev:80002001 +2025/08/20 09:28:16 [debug] 624147#624147: timer delta: 9 +2025/08/20 09:28:16 [debug] 624147#624147: worker cycle +2025/08/20 09:28:16 [debug] 624147#624147: epoll timer: 60000 +2025/08/20 09:28:16 [debug] 624147#624147: epoll: fd:6 ev:0001 d:000079281606E1E0 +2025/08/20 09:28:16 [debug] 624147#624147: *10 http wait request handler +2025/08/20 09:28:16 [debug] 624147#624147: *10 malloc: 0000650E7C4490A0:1024 +2025/08/20 09:28:16 [debug] 624147#624147: *10 recv: eof:0, avail:-1 +2025/08/20 09:28:16 [debug] 624147#624147: *10 recv: fd:6 142 of 1024 +2025/08/20 09:28:16 [debug] 624147#624147: *10 reusable connection: 0 +2025/08/20 09:28:16 [debug] 624147#624147: *10 posix_memalign: 0000650E7C465A30:4096 @16 +2025/08/20 09:28:16 [debug] 624147#624147: *10 http process request line +2025/08/20 09:28:16 [debug] 624147#624147: *10 http request line: "GET /23e8292d0eef238139ae9a46be972955490e313e40320ff613ede7165d012fb2 HTTP/1.1" +2025/08/20 09:28:16 [debug] 624147#624147: *10 http uri: "/23e8292d0eef238139ae9a46be972955490e313e40320ff613ede7165d012fb2" +2025/08/20 09:28:16 [debug] 624147#624147: *10 http args: "" +2025/08/20 09:28:16 [debug] 624147#624147: *10 http exten: "" +2025/08/20 09:28:16 [debug] 624147#624147: *10 posix_memalign: 0000650E7C45BDA0:4096 @16 +2025/08/20 09:28:16 [debug] 624147#624147: *10 http process request header line +2025/08/20 09:28:16 [debug] 624147#624147: *10 http header: "Host: localhost:9001" +2025/08/20 09:28:16 [debug] 624147#624147: *10 http header: "User-Agent: curl/8.15.0" +2025/08/20 09:28:16 [debug] 624147#624147: *10 http header: "Accept: */*" +2025/08/20 09:28:16 [debug] 624147#624147: *10 http header done +2025/08/20 09:28:16 [debug] 624147#624147: *10 event timer del: 6: 263289860 +2025/08/20 09:28:16 [debug] 624147#624147: *10 generic phase: 0 +2025/08/20 09:28:16 [debug] 624147#624147: *10 rewrite phase: 1 +2025/08/20 09:28:16 [debug] 624147#624147: *10 test location: "/health" +2025/08/20 09:28:16 [debug] 624147#624147: *10 test location: "/debug/list" +2025/08/20 09:28:16 [debug] 624147#624147: *10 test location: "/" +2025/08/20 09:28:16 [debug] 624147#624147: *10 test location: ~ "^/([a-f0-9]{64}).*$" +2025/08/20 09:28:16 [debug] 624147#624147: *10 using configuration "^/([a-f0-9]{64}).*$" +2025/08/20 09:28:16 [debug] 624147#624147: *10 http cl:-1 max:104857600 +2025/08/20 09:28:16 [debug] 624147#624147: *10 rewrite phase: 3 +2025/08/20 09:28:16 [debug] 624147#624147: *10 http script var +2025/08/20 09:28:16 [debug] 624147#624147: *10 http script var: "GET" +2025/08/20 09:28:16 [debug] 624147#624147: *10 http script value: "DELETE" +2025/08/20 09:28:16 [debug] 624147#624147: *10 http script not equal +2025/08/20 09:28:16 [debug] 624147#624147: *10 http script if +2025/08/20 09:28:16 [debug] 624147#624147: *10 http finalize request: 404, "/23e8292d0eef238139ae9a46be972955490e313e40320ff613ede7165d012fb2?" a:1, c:1 +2025/08/20 09:28:16 [debug] 624147#624147: *10 http special response: 404, "/23e8292d0eef238139ae9a46be972955490e313e40320ff613ede7165d012fb2?" +2025/08/20 09:28:16 [debug] 624147#624147: *10 http set discard body +2025/08/20 09:28:16 [debug] 624147#624147: *10 HTTP/1.1 404 Not Found +Server: nginx/1.18.0 (Ubuntu) +Date: Wed, 20 Aug 2025 13:28:16 GMT +Content-Type: text/html +Content-Length: 162 +Connection: keep-alive + +2025/08/20 09:28:16 [debug] 624147#624147: *10 write new buf t:1 f:0 0000650E7C45C180, pos 0000650E7C45C180, size: 164 file: 0, size: 0 +2025/08/20 09:28:16 [debug] 624147#624147: *10 http write filter: l:0 f:0 s:164 +2025/08/20 09:28:16 [debug] 624147#624147: *10 http output filter "/23e8292d0eef238139ae9a46be972955490e313e40320ff613ede7165d012fb2?" +2025/08/20 09:28:16 [debug] 624147#624147: *10 http copy filter: "/23e8292d0eef238139ae9a46be972955490e313e40320ff613ede7165d012fb2?" +2025/08/20 09:28:16 [debug] 624147#624147: *10 http postpone filter "/23e8292d0eef238139ae9a46be972955490e313e40320ff613ede7165d012fb2?" 0000650E7C45C310 +2025/08/20 09:28:16 [debug] 624147#624147: *10 write old buf t:1 f:0 0000650E7C45C180, pos 0000650E7C45C180, size: 164 file: 0, size: 0 +2025/08/20 09:28:16 [debug] 624147#624147: *10 write new buf t:0 f:0 0000000000000000, pos 0000650E5AD45580, size: 100 file: 0, size: 0 +2025/08/20 09:28:16 [debug] 624147#624147: *10 write new buf t:0 f:0 0000000000000000, pos 0000650E5AD45C80, size: 62 file: 0, size: 0 +2025/08/20 09:28:16 [debug] 624147#624147: *10 http write filter: l:1 f:0 s:326 +2025/08/20 09:28:16 [debug] 624147#624147: *10 http write filter limit 0 +2025/08/20 09:28:16 [debug] 624147#624147: *10 writev: 326 of 326 +2025/08/20 09:28:16 [debug] 624147#624147: *10 http write filter 0000000000000000 +2025/08/20 09:28:16 [debug] 624147#624147: *10 http copy filter: 0 "/23e8292d0eef238139ae9a46be972955490e313e40320ff613ede7165d012fb2?" +2025/08/20 09:28:16 [debug] 624147#624147: *10 http finalize request: 0, "/23e8292d0eef238139ae9a46be972955490e313e40320ff613ede7165d012fb2?" a:1, c:1 +2025/08/20 09:28:16 [debug] 624147#624147: *10 set http keepalive handler +2025/08/20 09:28:16 [debug] 624147#624147: *10 http close request +2025/08/20 09:28:16 [debug] 624147#624147: *10 http log handler +2025/08/20 09:28:16 [debug] 624147#624147: *10 free: 0000650E7C465A30, unused: 0 +2025/08/20 09:28:16 [debug] 624147#624147: *10 free: 0000650E7C45BDA0, unused: 2456 +2025/08/20 09:28:16 [debug] 624147#624147: *10 free: 0000650E7C4490A0 +2025/08/20 09:28:16 [debug] 624147#624147: *10 hc free: 0000000000000000 +2025/08/20 09:28:16 [debug] 624147#624147: *10 hc busy: 0000000000000000 0 +2025/08/20 09:28:16 [debug] 624147#624147: *10 tcp_nodelay +2025/08/20 09:28:16 [debug] 624147#624147: *10 reusable connection: 1 +2025/08/20 09:28:16 [debug] 624147#624147: *10 event timer add: 6: 65000:263294861 +2025/08/20 09:28:16 [debug] 624147#624147: timer delta: 1 +2025/08/20 09:28:16 [debug] 624147#624147: worker cycle +2025/08/20 09:28:16 [debug] 624147#624147: epoll timer: 65000 +2025/08/20 09:28:16 [debug] 624147#624147: epoll: fd:6 ev:2001 d:000079281606E1E0 +2025/08/20 09:28:16 [debug] 624147#624147: *10 http keepalive handler +2025/08/20 09:28:16 [debug] 624147#624147: *10 malloc: 0000650E7C4490A0:1024 +2025/08/20 09:28:16 [debug] 624147#624147: *10 recv: eof:1, avail:-1 +2025/08/20 09:28:16 [debug] 624147#624147: *10 recv: fd:6 0 of 1024 +2025/08/20 09:28:16 [info] 624147#624147: *10 client 127.0.0.1 closed keepalive connection +2025/08/20 09:28:16 [debug] 624147#624147: *10 close http connection: 6 +2025/08/20 09:28:16 [debug] 624147#624147: *10 event timer del: 6: 263294861 +2025/08/20 09:28:16 [debug] 624147#624147: *10 reusable connection: 0 +2025/08/20 09:28:16 [debug] 624147#624147: *10 free: 0000650E7C4490A0 +2025/08/20 09:28:16 [debug] 624147#624147: *10 free: 0000650E7C446840, unused: 136 +2025/08/20 09:28:16 [debug] 624147#624147: timer delta: 1 +2025/08/20 09:28:16 [debug] 624147#624147: worker cycle +2025/08/20 09:28:16 [debug] 624147#624147: epoll timer: -1 +2025/08/20 09:31:55 [debug] 624147#624147: epoll: fd:5 ev:0001 d:000079281606E010 +2025/08/20 09:31:55 [debug] 624147#624147: accept on 0.0.0.0:9001, ready: 0 +2025/08/20 09:31:55 [debug] 624147#624147: posix_memalign: 0000650E7C446840:512 @16 +2025/08/20 09:31:55 [debug] 624147#624147: *11 accept: 127.0.0.1:47718 fd:6 +2025/08/20 09:31:55 [debug] 624147#624147: *11 event timer add: 6: 60000:263508675 +2025/08/20 09:31:55 [debug] 624147#624147: *11 reusable connection: 1 +2025/08/20 09:31:55 [debug] 624147#624147: *11 epoll add event: fd:6 op:1 ev:80002001 +2025/08/20 09:31:55 [debug] 624147#624147: timer delta: 218813 +2025/08/20 09:31:55 [debug] 624147#624147: worker cycle +2025/08/20 09:31:55 [debug] 624147#624147: epoll timer: 60000 +2025/08/20 09:31:55 [debug] 624147#624147: epoll: fd:6 ev:0001 d:000079281606E1E1 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http wait request handler +2025/08/20 09:31:55 [debug] 624147#624147: *11 malloc: 0000650E7C4490A0:1024 +2025/08/20 09:31:55 [debug] 624147#624147: *11 recv: eof:0, avail:-1 +2025/08/20 09:31:55 [debug] 624147#624147: *11 recv: fd:6 1024 of 1024 +2025/08/20 09:31:55 [debug] 624147#624147: *11 recv: avail:112 +2025/08/20 09:31:55 [debug] 624147#624147: *11 reusable connection: 0 +2025/08/20 09:31:55 [debug] 624147#624147: *11 posix_memalign: 0000650E7C465A30:4096 @16 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http process request line +2025/08/20 09:31:55 [debug] 624147#624147: *11 http request line: "PUT /upload HTTP/1.1" +2025/08/20 09:31:55 [debug] 624147#624147: *11 http uri: "/upload" +2025/08/20 09:31:55 [debug] 624147#624147: *11 http args: "" +2025/08/20 09:31:55 [debug] 624147#624147: *11 http exten: "" +2025/08/20 09:31:55 [debug] 624147#624147: *11 posix_memalign: 0000650E7C45BDA0:4096 @16 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http process request header line +2025/08/20 09:31:55 [debug] 624147#624147: *11 http header: "Host: localhost:9001" +2025/08/20 09:31:55 [debug] 624147#624147: *11 http header: "User-Agent: curl/8.15.0" +2025/08/20 09:31:55 [debug] 624147#624147: *11 http header: "Accept: */*" +2025/08/20 09:31:55 [debug] 624147#624147: *11 http header: "Authorization: Nostr eyJraW5kIjoyNDI0MiwiaWQiOiI4MjM5OTc3NTAxMGYxZWI0OWIxOTdkOTIwZTkxN2Y0ZDNhODljNDA4MWM0NDc0MzcyMWQxNjIyN2VhN2ViYWQ2IiwicHVia2V5IjoiNzliZTY2N2VmOWRjYmJhYzU1YTA2Mjk1Y2U4NzBiMDcwMjliZmNkYjJkY2UyOGQ5NTlmMjgxNWIxNmY4MTc5OCIsImNyZWF0ZWRfYXQiOjE3NTU2OTY3MTUsInRhZ3MiOltbInQiLCJ1cGxvYWQiXSxbIngiLCJiYzE3OWRhYjNmODEzOGYxYjZjMGZmOTZkM2IwYTJlY2E5ZGM1OTI0NjMzMmEzZDczYTc2ZTU0ZDZlYmFlNDNjIl0sWyJleHBpcmF0aW9uIiwiMTc1NTcwMDMxNSJdXSwiY29udGVudCI6IiIsInNpZyI6IjZkZGEwNDIwOWUxM2RmOTQyYzBiMTc2ODczYjY4MmY3ODE1ZmEyZDI1YWM4ODk0ZDYyOTViZWQxYzE4N2VhM2IzODQ2YmNiMTU3NjEzMWM3NDY1ZmI0OWFkZTBjMTY1M2Q2YzU1ZTFjYWNiOWRhYTUyYmE3MTE4YTAwZjA4ODNmIn0=" +2025/08/20 09:31:55 [debug] 624147#624147: *11 http header: "Content-Type: text/plain" +2025/08/20 09:31:55 [debug] 624147#624147: *11 http header: "Content-Disposition: attachment; filename="test_blob_1755696715.txt"" +2025/08/20 09:31:55 [debug] 624147#624147: *11 http header: "Content-Length: 296" +2025/08/20 09:31:55 [debug] 624147#624147: *11 http header done +2025/08/20 09:31:55 [debug] 624147#624147: *11 event timer del: 6: 263508675 +2025/08/20 09:31:55 [debug] 624147#624147: *11 generic phase: 0 +2025/08/20 09:31:55 [debug] 624147#624147: *11 rewrite phase: 1 +2025/08/20 09:31:55 [debug] 624147#624147: *11 test location: "/health" +2025/08/20 09:31:55 [debug] 624147#624147: *11 test location: "/upload" +2025/08/20 09:31:55 [debug] 624147#624147: *11 test location: ~ "^/([a-f0-9]{64}).*$" +2025/08/20 09:31:55 [debug] 624147#624147: *11 test location: ~ "^/([a-f0-9]{64})(\.[a-zA-Z0-9]+)?$" +2025/08/20 09:31:55 [debug] 624147#624147: *11 test location: ~ "^/fcgi-head/([a-f0-9]{64}).*$" +2025/08/20 09:31:55 [debug] 624147#624147: *11 test location: ~ "^/list/([a-f0-9]{64}).*$" +2025/08/20 09:31:55 [debug] 624147#624147: *11 using configuration "/upload" +2025/08/20 09:31:55 [debug] 624147#624147: *11 http cl:296 max:104857600 +2025/08/20 09:31:55 [debug] 624147#624147: *11 rewrite phase: 3 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http script var +2025/08/20 09:31:55 [debug] 624147#624147: *11 http script var: "PUT" +2025/08/20 09:31:55 [debug] 624147#624147: *11 http script regex: "^(PUT)$" +2025/08/20 09:31:55 [notice] 624147#624147: *11 "^(PUT)$" matches "PUT", client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", host: "localhost:9001" +2025/08/20 09:31:55 [debug] 624147#624147: *11 http script if +2025/08/20 09:31:55 [debug] 624147#624147: *11 http script if: false +2025/08/20 09:31:55 [debug] 624147#624147: *11 post rewrite phase: 4 +2025/08/20 09:31:55 [debug] 624147#624147: *11 generic phase: 5 +2025/08/20 09:31:55 [debug] 624147#624147: *11 generic phase: 6 +2025/08/20 09:31:55 [debug] 624147#624147: *11 generic phase: 7 +2025/08/20 09:31:55 [debug] 624147#624147: *11 access phase: 8 +2025/08/20 09:31:55 [debug] 624147#624147: *11 access phase: 9 +2025/08/20 09:31:55 [debug] 624147#624147: *11 access phase: 10 +2025/08/20 09:31:55 [debug] 624147#624147: *11 post access phase: 11 +2025/08/20 09:31:55 [debug] 624147#624147: *11 generic phase: 12 +2025/08/20 09:31:55 [debug] 624147#624147: *11 generic phase: 13 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http client request body preread 184 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http request body content length filter +2025/08/20 09:31:55 [debug] 624147#624147: *11 http body new buf t:1 f:0 0000650E7C4493E8, pos 0000650E7C4493E8, size: 184 file: 0, size: 0 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http read client request body +2025/08/20 09:31:55 [debug] 624147#624147: *11 recv: eof:0, avail:112 +2025/08/20 09:31:55 [debug] 624147#624147: *11 recv: fd:6 112 of 112 +2025/08/20 09:31:55 [debug] 624147#624147: *11 recv: avail:0 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http client request body recv 112 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http body new buf t:1 f:0 0000650E7C45C830, pos 0000650E7C45C830, size: 112 file: 0, size: 0 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http client request body rest 0 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http init upstream, client timer: 0 +2025/08/20 09:31:55 [debug] 624147#624147: *11 epoll add event: fd:6 op:3 ev:80002005 +2025/08/20 09:31:55 [debug] 624147#624147: *11 posix_memalign: 0000650E7C450150:4096 @16 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http script copy: "QUERY_STRING" +2025/08/20 09:31:55 [debug] 624147#624147: *11 fastcgi param: "QUERY_STRING: " +2025/08/20 09:31:55 [debug] 624147#624147: *11 http script copy: "REQUEST_METHOD" +2025/08/20 09:31:55 [debug] 624147#624147: *11 http script var: "PUT" +2025/08/20 09:31:55 [debug] 624147#624147: *11 fastcgi param: "REQUEST_METHOD: PUT" +2025/08/20 09:31:55 [debug] 624147#624147: *11 http script copy: "CONTENT_TYPE" +2025/08/20 09:31:55 [debug] 624147#624147: *11 http script var: "text/plain" +2025/08/20 09:31:55 [debug] 624147#624147: *11 fastcgi param: "CONTENT_TYPE: text/plain" +2025/08/20 09:31:55 [debug] 624147#624147: *11 http script copy: "CONTENT_LENGTH" +2025/08/20 09:31:55 [debug] 624147#624147: *11 http script var: "296" +2025/08/20 09:31:55 [debug] 624147#624147: *11 fastcgi param: "CONTENT_LENGTH: 296" +2025/08/20 09:31:55 [debug] 624147#624147: *11 http script copy: "SCRIPT_NAME" +2025/08/20 09:31:55 [debug] 624147#624147: *11 http script var: "/upload" +2025/08/20 09:31:55 [debug] 624147#624147: *11 fastcgi param: "SCRIPT_NAME: /upload" +2025/08/20 09:31:55 [debug] 624147#624147: *11 http script copy: "REQUEST_URI" +2025/08/20 09:31:55 [debug] 624147#624147: *11 http script var: "/upload" +2025/08/20 09:31:55 [debug] 624147#624147: *11 fastcgi param: "REQUEST_URI: /upload" +2025/08/20 09:31:55 [debug] 624147#624147: *11 http script copy: "DOCUMENT_URI" +2025/08/20 09:31:55 [debug] 624147#624147: *11 http script var: "/upload" +2025/08/20 09:31:55 [debug] 624147#624147: *11 fastcgi param: "DOCUMENT_URI: /upload" +2025/08/20 09:31:55 [debug] 624147#624147: *11 http script copy: "DOCUMENT_ROOT" +2025/08/20 09:31:55 [debug] 624147#624147: *11 http script var: "./blobs" +2025/08/20 09:31:55 [debug] 624147#624147: *11 fastcgi param: "DOCUMENT_ROOT: ./blobs" +2025/08/20 09:31:55 [debug] 624147#624147: *11 http script copy: "SERVER_PROTOCOL" +2025/08/20 09:31:55 [debug] 624147#624147: *11 http script var: "HTTP/1.1" +2025/08/20 09:31:55 [debug] 624147#624147: *11 fastcgi param: "SERVER_PROTOCOL: HTTP/1.1" +2025/08/20 09:31:55 [debug] 624147#624147: *11 http script copy: "REQUEST_SCHEME" +2025/08/20 09:31:55 [debug] 624147#624147: *11 http script var: "http" +2025/08/20 09:31:55 [debug] 624147#624147: *11 fastcgi param: "REQUEST_SCHEME: http" +2025/08/20 09:31:55 [debug] 624147#624147: *11 http script copy: "" +2025/08/20 09:31:55 [debug] 624147#624147: *11 http script copy: "GATEWAY_INTERFACE" +2025/08/20 09:31:55 [debug] 624147#624147: *11 http script copy: "CGI/1.1" +2025/08/20 09:31:55 [debug] 624147#624147: *11 fastcgi param: "GATEWAY_INTERFACE: CGI/1.1" +2025/08/20 09:31:55 [debug] 624147#624147: *11 http script copy: "SERVER_SOFTWARE" +2025/08/20 09:31:55 [debug] 624147#624147: *11 http script copy: "nginx/" +2025/08/20 09:31:55 [debug] 624147#624147: *11 http script var: "1.18.0" +2025/08/20 09:31:55 [debug] 624147#624147: *11 fastcgi param: "SERVER_SOFTWARE: nginx/1.18.0" +2025/08/20 09:31:55 [debug] 624147#624147: *11 http script copy: "REMOTE_ADDR" +2025/08/20 09:31:55 [debug] 624147#624147: *11 http script var: "127.0.0.1" +2025/08/20 09:31:55 [debug] 624147#624147: *11 fastcgi param: "REMOTE_ADDR: 127.0.0.1" +2025/08/20 09:31:55 [debug] 624147#624147: *11 http script copy: "REMOTE_PORT" +2025/08/20 09:31:55 [debug] 624147#624147: *11 http script var: "47718" +2025/08/20 09:31:55 [debug] 624147#624147: *11 fastcgi param: "REMOTE_PORT: 47718" +2025/08/20 09:31:55 [debug] 624147#624147: *11 http script copy: "SERVER_ADDR" +2025/08/20 09:31:55 [debug] 624147#624147: *11 http script var: "127.0.0.1" +2025/08/20 09:31:55 [debug] 624147#624147: *11 fastcgi param: "SERVER_ADDR: 127.0.0.1" +2025/08/20 09:31:55 [debug] 624147#624147: *11 http script copy: "SERVER_PORT" +2025/08/20 09:31:55 [debug] 624147#624147: *11 http script var: "9001" +2025/08/20 09:31:55 [debug] 624147#624147: *11 fastcgi param: "SERVER_PORT: 9001" +2025/08/20 09:31:55 [debug] 624147#624147: *11 http script copy: "SERVER_NAME" +2025/08/20 09:31:55 [debug] 624147#624147: *11 http script var: "localhost" +2025/08/20 09:31:55 [debug] 624147#624147: *11 fastcgi param: "SERVER_NAME: localhost" +2025/08/20 09:31:55 [debug] 624147#624147: *11 http script copy: "REDIRECT_STATUS" +2025/08/20 09:31:55 [debug] 624147#624147: *11 http script copy: "200" +2025/08/20 09:31:55 [debug] 624147#624147: *11 fastcgi param: "REDIRECT_STATUS: 200" +2025/08/20 09:31:55 [debug] 624147#624147: *11 http script copy: "SCRIPT_FILENAME" +2025/08/20 09:31:55 [debug] 624147#624147: *11 http script var: "./blobs" +2025/08/20 09:31:55 [debug] 624147#624147: *11 http script copy: "/ginxsom.fcgi" +2025/08/20 09:31:55 [debug] 624147#624147: *11 fastcgi param: "SCRIPT_FILENAME: ./blobs/ginxsom.fcgi" +2025/08/20 09:31:55 [debug] 624147#624147: *11 fastcgi param: "HTTP_HOST: localhost:9001" +2025/08/20 09:31:55 [debug] 624147#624147: *11 fastcgi param: "HTTP_USER_AGENT: curl/8.15.0" +2025/08/20 09:31:55 [debug] 624147#624147: *11 fastcgi param: "HTTP_ACCEPT: */*" +2025/08/20 09:31:55 [debug] 624147#624147: *11 fastcgi param: "HTTP_AUTHORIZATION: Nostr eyJraW5kIjoyNDI0MiwiaWQiOiI4MjM5OTc3NTAxMGYxZWI0OWIxOTdkOTIwZTkxN2Y0ZDNhODljNDA4MWM0NDc0MzcyMWQxNjIyN2VhN2ViYWQ2IiwicHVia2V5IjoiNzliZTY2N2VmOWRjYmJhYzU1YTA2Mjk1Y2U4NzBiMDcwMjliZmNkYjJkY2UyOGQ5NTlmMjgxNWIxNmY4MTc5OCIsImNyZWF0ZWRfYXQiOjE3NTU2OTY3MTUsInRhZ3MiOltbInQiLCJ1cGxvYWQiXSxbIngiLCJiYzE3OWRhYjNmODEzOGYxYjZjMGZmOTZkM2IwYTJlY2E5ZGM1OTI0NjMzMmEzZDczYTc2ZTU0ZDZlYmFlNDNjIl0sWyJleHBpcmF0aW9uIiwiMTc1NTcwMDMxNSJdXSwiY29udGVudCI6IiIsInNpZyI6IjZkZGEwNDIwOWUxM2RmOTQyYzBiMTc2ODczYjY4MmY3ODE1ZmEyZDI1YWM4ODk0ZDYyOTViZWQxYzE4N2VhM2IzODQ2YmNiMTU3NjEzMWM3NDY1ZmI0OWFkZTBjMTY1M2Q2YzU1ZTFjYWNiOWRhYTUyYmE3MTE4YTAwZjA4ODNmIn0=" +2025/08/20 09:31:55 [debug] 624147#624147: *11 fastcgi param: "HTTP_CONTENT_TYPE: text/plain" +2025/08/20 09:31:55 [debug] 624147#624147: *11 fastcgi param: "HTTP_CONTENT_DISPOSITION: attachment; filename="test_blob_1755696715.txt"" +2025/08/20 09:31:55 [debug] 624147#624147: *11 fastcgi param: "HTTP_CONTENT_LENGTH: 296" +2025/08/20 09:31:55 [debug] 624147#624147: *11 http cleanup add: 0000650E7C45CB80 +2025/08/20 09:31:55 [debug] 624147#624147: *11 get rr peer, try: 1 +2025/08/20 09:31:55 [debug] 624147#624147: *11 stream socket 10 +2025/08/20 09:31:55 [debug] 624147#624147: *11 epoll add connection: fd:10 ev:80002005 +2025/08/20 09:31:55 [debug] 624147#624147: *11 connect to unix:/tmp/ginxsom-fcgi.sock, fd:10 #12 +2025/08/20 09:31:55 [debug] 624147#624147: *11 connected +2025/08/20 09:31:55 [debug] 624147#624147: *11 http upstream connect: 0 +2025/08/20 09:31:55 [debug] 624147#624147: *11 posix_memalign: 0000650E7C42FF20:128 @16 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http upstream send request +2025/08/20 09:31:55 [debug] 624147#624147: *11 http upstream send request body +2025/08/20 09:31:55 [debug] 624147#624147: *11 chain writer buf fl:0 s:1304 +2025/08/20 09:31:55 [debug] 624147#624147: *11 chain writer buf fl:0 s:184 +2025/08/20 09:31:55 [debug] 624147#624147: *11 chain writer buf fl:0 s:8 +2025/08/20 09:31:55 [debug] 624147#624147: *11 chain writer buf fl:0 s:112 +2025/08/20 09:31:55 [debug] 624147#624147: *11 chain writer buf fl:0 s:8 +2025/08/20 09:31:55 [debug] 624147#624147: *11 chain writer in: 0000650E7C45CC10 +2025/08/20 09:31:55 [debug] 624147#624147: *11 writev: 1616 of 1616 +2025/08/20 09:31:55 [debug] 624147#624147: *11 chain writer out: 0000000000000000 +2025/08/20 09:31:55 [debug] 624147#624147: *11 event timer add: 10: 60000:263508675 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http finalize request: -4, "/upload?" a:1, c:2 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http request count:2 blk:0 +2025/08/20 09:31:55 [debug] 624147#624147: timer delta: 0 +2025/08/20 09:31:55 [debug] 624147#624147: worker cycle +2025/08/20 09:31:55 [debug] 624147#624147: epoll timer: 60000 +2025/08/20 09:31:55 [debug] 624147#624147: epoll: fd:6 ev:0004 d:000079281606E1E1 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http run request: "/upload?" +2025/08/20 09:31:55 [debug] 624147#624147: *11 http upstream check client, write event:1, "/upload" +2025/08/20 09:31:55 [debug] 624147#624147: epoll: fd:10 ev:0005 d:000079281606E2C9 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http upstream request: "/upload?" +2025/08/20 09:31:55 [debug] 624147#624147: *11 http upstream process header +2025/08/20 09:31:55 [debug] 624147#624147: *11 malloc: 0000650E7C451160:4096 +2025/08/20 09:31:55 [debug] 624147#624147: *11 recv: eof:0, avail:-1 +2025/08/20 09:31:55 [debug] 624147#624147: *11 recv: fd:10 1400 of 4096 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: 01 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: 07 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: 00 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: 01 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: 00 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: 21 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: 07 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: 00 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record length: 33 +2025/08/20 09:31:55 [error] 624147#624147: *11 FastCGI sent in stderr: "DEBUG: FastCGI received request" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: 01 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: 07 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: 00 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: 01 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: 01 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: F8 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: 00 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: 00 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record length: 504 +2025/08/20 09:31:55 [error] 624147#624147: *11 FastCGI sent in stderr: "DEBUG: METHOD=PUT, URI=/upload +ENTRY: Entering handle_upload_request() function +DEBUG: handle_upload_request called +LOG: [2025-08-20 09:31:55] PUT /upload - Auth: pending - Status: 0 +DEBUG: content_type=text/plain +DEBUG: content_length=296 +DEBUG: Raw Authorization header: Nostr eyJraW5kIjoyNDI0MiwiaWQiOiI4MjM5OTc3NTAxMGYxZWI0OWIxOTdkOTIwZTkxN2Y0ZDNhODljNDA4MWM0NDc0MzcyMWQxNjIyN2VhN2ViYWQ2IiwicHVia2V5IjoiNzliZTY2N2VmOWRjYmJhYzU1YTA2Mjk1Y2U4NzBiMDcwMjliZmNkYjJkY2UyOGQ5NTlmMjgxNWIxNmY4MTc5OCIsImN" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: 01 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: 07 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: 00 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: 01 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: 01 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: F8 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: 00 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: 00 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record length: 504 +2025/08/20 09:31:55 [error] 624147#624147: *11 FastCGI sent in stderr: "yZWF0ZWRfYXQiOjE3NTU2OTY3MTUsInRhZ3MiOltbInQiLCJ1cGxvYWQiXSxbIngiLCJiYzE3OWRhYjNmODEzOGYxYjZjMGZmOTZkM2IwYTJlY2E5ZGM1OTI0NjMzMmEzZDczYTc2ZTU0ZDZlYmFlNDNjIl0sWyJleHBpcmF0aW9uIiwiMTc1NTcwMDMxNSJdXSwiY29udGVudCI6IiIsInNpZyI6IjZkZGEwNDIwOWUxM2RmOTQyYzBiMTc2ODczYjY4MmY3ODE1ZmEyZDI1YWM4ODk0ZDYyOTViZWQxYzE4N2VhM2IzODQ2YmNiMTU3NjEzMWM3NDY1ZmI0OWFkZTBjMTY1M2Q2YzU1ZTFjYWNiOWRhYTUyYmE3MTE4YTAwZjA4ODNmIn0= +LOG: [2025-08-20 09:31:55] PUT /upload - Auth: auth_provided - Status: 0 +DEBUG: Successfully read DEBUG-" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: 01 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: 07 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: 00 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: 01 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: 01 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: 3F +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: 01 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: 00 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record length: 319 +2025/08/20 09:31:55 [error] 624147#624147: *11 FastCGI sent in stderr: "LAAN: DATA TO HASH: Test blob content for Ginxsom Blossom server +Timestamp: 2025-08-20T09:31:55-04:00 +Random data: 81e5b41ff7697c6ec4489b7ab7426f31c23599b23fde4554f792da595ad18433 +Test message: Hello from put_test.sh! + +This file is used to test the upload functionality +of the Ginxsom Blossom server implementation. +1" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:31:55 [debug] 624147#624147: *11 recv: eof:0, avail:0 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http upstream request: "/upload?" +2025/08/20 09:31:55 [debug] 624147#624147: *11 http upstream dummy handler +2025/08/20 09:31:55 [debug] 624147#624147: timer delta: 2 +2025/08/20 09:31:55 [debug] 624147#624147: worker cycle +2025/08/20 09:31:55 [debug] 624147#624147: epoll timer: 59998 +2025/08/20 09:31:55 [debug] 624147#624147: epoll: fd:10 ev:2005 d:000079281606E2C9 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http upstream request: "/upload?" +2025/08/20 09:31:55 [debug] 624147#624147: *11 http upstream process header +2025/08/20 09:31:55 [debug] 624147#624147: *11 recv: eof:1, avail:-1 +2025/08/20 09:31:55 [debug] 624147#624147: *11 recv: fd:10 2696 of 2696 +2025/08/20 09:31:55 [debug] 624147#624147: *11 recv: avail:1448 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: 01 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: 07 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: 00 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: 01 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: 00 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: 62 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: 06 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: 00 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record length: 98 +2025/08/20 09:31:55 [error] 624147#624147: *11 FastCGI sent in stderr: "DEBUG-LAAN: Calculated SHA-256: bc179dab3f8138f1b6c0ff96d3b0a2eca9dc59246332a3d73a76e54d6ebae43c" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: 01 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: 07 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: 00 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: 01 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: 01 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: F8 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: 00 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: 00 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record length: 504 +2025/08/20 09:31:55 [error] 624147#624147: *11 FastCGI sent in stderr: "AUTH: About to perform authentication - auth_header present: YES +AUTH: Calling authenticate_request with hash: bc179dab3f8138f1b6c0ff96d3b0a2eca9dc59246332a3d73a76e54d6ebae43c +═══════════════════════════════════════════════════════════════════ +🔍 STEP SERVER-1: Starting server-style authentication (mirroring test_auth_debug.c) +ℹ️ INFO: Server-style auth calle" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: 01 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: 07 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: 00 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: 01 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: 01 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: F8 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: 00 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: 00 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record length: 504 +2025/08/20 09:31:55 [error] 624147#624147: *11 FastCGI sent in stderr: "d with method: upload, hash: bc179dab3f8138f1b6c0ff96d3b0a2eca9dc59246332a3d73a76e54d6ebae43c +🔍 STEP SERVER-2: Calling parse_authorization_header +DEBUG: parse_authorization_header called with header: Nostr eyJraW5kIjoyNDI0MiwiaWQiOiI4MjM5OTc3NTAxMGYx... +DEBUG: Extracted base64 event (length=DEBUG: Base64 decode result - decoded_len=DEBUG: Successfully decoded JSON (length=✅ SUCCESS: parse_authorization_header succeeded +🔍 STEP SERVER-3: Calling cJSON_Parse on JSON string +ℹ️ INFO: JSON to" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: 01 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: 07 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: 00 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: 01 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: 01 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: F8 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: 00 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: 00 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record length: 504 +2025/08/20 09:31:55 [error] 624147#624147: *11 FastCGI sent in stderr: " parse: {"kind":24242,"id":"82399775010f1eb49b197d920e917f4d3a89c4081c44743721d16227ea7ebad6","pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1755696715,"tags":[["t","upload"],["x","bc179dab3f8138f1b6c0ff96d3b0a2eca9dc59246332a3d73a76e54d6ebae43c"],["expiration","1755700315"]],"content":"","sig":"6dda04209e13df942c0b176873b682f7815fa2d25ac8894d6295bed1c187ea3b3846bcb1576131c7465fb49ade0c1653d6c55e1cacb9daa52ba7118a00f0883f"} +✅ SUCCESS: cJSON_Parse succeeded" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: 01 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: 07 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: 00 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: 01 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: 01 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: F8 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: 00 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: 00 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record length: 504 +2025/08/20 09:31:55 [error] 624147#624147: *11 FastCGI sent in stderr: ", event parsed +ℹ️ INFO: Parsed JSON: { + "kind": 24242, + "id": "82399775010f1eb49b197d920e917f4d3a89c4081c44743721d16227ea7ebad6", + "pubkey": "79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798", + "created_at": 1755696715, + "tags": [["t", "upload"], ["x", "bc179dab3f8138f1b6c0ff96d3b0a2eca9dc59246332a3d73a76e54d6ebae43c"], ["expiration", "1755700315"]], + "content": "", + "sig": "6dda04209e13df942c0b176873b682f7815fa2d25ac8894d6295bed1c187ea3b3846bcb1576131c7465fb49ade0c1653d6c55e1ca" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: 01 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: 07 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: 00 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: 01 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: 01 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: F8 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: 00 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: 00 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record length: 504 +2025/08/20 09:31:55 [error] 624147#624147: *11 FastCGI sent in stderr: "cb9daa52ba7118a00f0883f" +} +🔍 STEP SERVER-4: Event fields before validation +ℹ️ INFO: id: 82399775010f1eb49b197d920e917f4d3a89c4081c44743721d16227ea7ebad6 +ℹ️ INFO: pubkey: 79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 +ℹ️ INFO: sig: 6dda04209e13df942c0b176873b682f7815fa2d25ac8894d6295bed1c187ea3b3846bcb1576131c7465fb49ade0c1653d6c55e1cacb9daa52ba7118a00f0883f +ℹ️ INFO: kind: 24242 +ℹ️ INFO: created_at: 1755696715 +🔍 STEP SERVER-5: Detailed pubkey" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: 01 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: 07 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: 00 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: 01 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: 01 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: F8 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: 00 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: 00 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record length: 504 +2025/08/20 09:31:55 [error] 624147#624147: *11 FastCGI sent in stderr: " analysis +ℹ️" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:31:55 [debug] 624147#624147: *11 recv: eof:1, avail:1448 +2025/08/20 09:31:55 [debug] 624147#624147: *11 recv: fd:10 1448 of 4096 +2025/08/20 09:31:55 [debug] 624147#624147: *11 recv: avail:0 +2025/08/20 09:31:55 [error] 624147#624147: *11 FastCGI sent in stderr: " INFO: Pubkey: 79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 +ℹ️ INFO: Length: ℹ️ INFO: Character analysis (first 10): +7(0x37) 9(0x39) b(0x62) e(0x65) 6(0x36) 6(0x36) 7(0x37) e(0x65) f(0x66) 9(0x39) +🔍 STEP SERVER-6: Pre-validation pubkey analysis +ℹ️ INFO: Pubkey: 79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 +ℹ️ INFO: Length: ℹ️ INFO: Character analysis (first 10): +7(55) 9(57) b(98) e(101) 6(54) 6(54) 7(5" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: 01 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: 07 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: 00 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: 01 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: 01 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: F8 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: 00 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: 00 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record length: 504 +2025/08/20 09:31:55 [error] 624147#624147: *11 FastCGI sent in stderr: "5) e(101) f(102) 9(57) +ℹ️ INFO: Character validation test: +ALL VALID (lowercase hex) +🔍 STEP SERVER-7: Starting detailed validation analysis +ℹ️ INFO: Testing structure validation... +ℹ️ INFO: nostr_validate_event_structure returned: 0 (Success) +✅ SUCCESS: Structure validation PASSED +ℹ️ INFO: Testing cryptographic verification... +ℹ️ INFO: nostr_verify_event_signature returned: -32 (Event has invalid public key) +❌ ERROR: CRYPTO verification failed! +❌ ERROR: Failed p" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: 01 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: 07 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: 00 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: 01 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: 00 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: C5 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: 03 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: 00 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record length: 197 +2025/08/20 09:31:55 [error] 624147#624147: *11 FastCGI sent in stderr: "ubkey: 79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 (length: AUTH: authenticate_request returned: -32 +LOG: [2025-08-20 09:31:55] PUT /upload - Auth: auth_failed - Status: 401" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: 01 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: 07 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: 00 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: 01 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: 00 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: 00 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: 00 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: 00 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record length: 0 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: 01 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: 06 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: 00 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: 01 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: 00 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: C7 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: 01 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: 00 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record length: 199 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi parser: 0 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi header: "Status: 401 Unauthorized" +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi parser: 0 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi header: "Content-Type: application/json" +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi parser: 1 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi header done +2025/08/20 09:31:55 [debug] 624147#624147: *11 HTTP/1.1 401 Unauthorized +Server: nginx/1.18.0 (Ubuntu) +Date: Wed, 20 Aug 2025 13:31:55 GMT +Content-Type: application/json +Transfer-Encoding: chunked +Connection: keep-alive + +2025/08/20 09:31:55 [debug] 624147#624147: *11 write new buf t:1 f:0 0000650E7C450808, pos 0000650E7C450808, size: 181 file: 0, size: 0 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http write filter: l:0 f:0 s:181 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http cacheable: 0 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http upstream process upstream +2025/08/20 09:31:55 [debug] 624147#624147: *11 pipe read upstream: 1 +2025/08/20 09:31:55 [debug] 624147#624147: *11 pipe preread: 164 +2025/08/20 09:31:55 [debug] 624147#624147: *11 readv: eof:1, avail:0 +2025/08/20 09:31:55 [debug] 624147#624147: *11 readv: 1, last:2648 +2025/08/20 09:31:55 [debug] 624147#624147: *11 pipe recv chain: 0 +2025/08/20 09:31:55 [debug] 624147#624147: *11 pipe buf free s:0 t:1 f:0 0000650E7C451160, pos 0000650E7C451664, size: 164 file: 0, size: 0 +2025/08/20 09:31:55 [debug] 624147#624147: *11 pipe length: -1 +2025/08/20 09:31:55 [debug] 624147#624147: *11 input buf #0 0000650E7C451664 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: 01 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: 06 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: 00 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: 01 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: 00 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: 00 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: 00 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: 00 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record length: 0 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi closed stdout +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: 01 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: 03 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: 00 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: 01 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: 00 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: 08 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: 00 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record byte: 00 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi record length: 8 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http fastcgi sent end request +2025/08/20 09:31:55 [debug] 624147#624147: *11 input buf 0000650E7C451664 139 +2025/08/20 09:31:55 [debug] 624147#624147: *11 pipe write downstream: 1 +2025/08/20 09:31:55 [debug] 624147#624147: *11 pipe write downstream flush in +2025/08/20 09:31:55 [debug] 624147#624147: *11 http output filter "/upload?" +2025/08/20 09:31:55 [debug] 624147#624147: *11 http copy filter: "/upload?" +2025/08/20 09:31:55 [debug] 624147#624147: *11 http postpone filter "/upload?" 0000650E7C45CBE0 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http chunk: 139 +2025/08/20 09:31:55 [debug] 624147#624147: *11 write old buf t:1 f:0 0000650E7C450808, pos 0000650E7C450808, size: 181 file: 0, size: 0 +2025/08/20 09:31:55 [debug] 624147#624147: *11 write new buf t:1 f:0 0000650E7C45CD78, pos 0000650E7C45CD78, size: 4 file: 0, size: 0 +2025/08/20 09:31:55 [debug] 624147#624147: *11 write new buf t:1 f:0 0000650E7C451160, pos 0000650E7C451664, size: 139 file: 0, size: 0 +2025/08/20 09:31:55 [debug] 624147#624147: *11 write new buf t:0 f:0 0000000000000000, pos 0000650E5AD062E8, size: 2 file: 0, size: 0 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http write filter: l:0 f:0 s:326 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http copy filter: 0 "/upload?" +2025/08/20 09:31:55 [debug] 624147#624147: *11 pipe write downstream done +2025/08/20 09:31:55 [debug] 624147#624147: *11 event timer: 10, old: 263508675, new: 263508677 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http upstream exit: 0000000000000000 +2025/08/20 09:31:55 [debug] 624147#624147: *11 finalize http upstream request: 0 +2025/08/20 09:31:55 [debug] 624147#624147: *11 finalize http fastcgi request +2025/08/20 09:31:55 [debug] 624147#624147: *11 free rr peer 1 0 +2025/08/20 09:31:55 [debug] 624147#624147: *11 close http upstream connection: 10 +2025/08/20 09:31:55 [debug] 624147#624147: *11 free: 0000650E7C42FF20, unused: 48 +2025/08/20 09:31:55 [debug] 624147#624147: *11 event timer del: 10: 263508675 +2025/08/20 09:31:55 [debug] 624147#624147: *11 reusable connection: 0 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http upstream temp fd: -1 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http output filter "/upload?" +2025/08/20 09:31:55 [debug] 624147#624147: *11 http copy filter: "/upload?" +2025/08/20 09:31:55 [debug] 624147#624147: *11 http postpone filter "/upload?" 00007FFEBE5AA8A0 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http chunk: 0 +2025/08/20 09:31:55 [debug] 624147#624147: *11 write old buf t:1 f:0 0000650E7C450808, pos 0000650E7C450808, size: 181 file: 0, size: 0 +2025/08/20 09:31:55 [debug] 624147#624147: *11 write old buf t:1 f:0 0000650E7C45CD78, pos 0000650E7C45CD78, size: 4 file: 0, size: 0 +2025/08/20 09:31:55 [debug] 624147#624147: *11 write old buf t:1 f:0 0000650E7C451160, pos 0000650E7C451664, size: 139 file: 0, size: 0 +2025/08/20 09:31:55 [debug] 624147#624147: *11 write old buf t:0 f:0 0000000000000000, pos 0000650E5AD062E8, size: 2 file: 0, size: 0 +2025/08/20 09:31:55 [debug] 624147#624147: *11 write new buf t:0 f:0 0000000000000000, pos 0000650E5AD062E5, size: 5 file: 0, size: 0 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http write filter: l:1 f:0 s:331 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http write filter limit 0 +2025/08/20 09:31:55 [debug] 624147#624147: *11 writev: 331 of 331 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http write filter 0000000000000000 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http copy filter: 0 "/upload?" +2025/08/20 09:31:55 [debug] 624147#624147: *11 http finalize request: 0, "/upload?" a:1, c:1 +2025/08/20 09:31:55 [debug] 624147#624147: *11 set http keepalive handler +2025/08/20 09:31:55 [debug] 624147#624147: *11 http close request +2025/08/20 09:31:55 [debug] 624147#624147: *11 http log handler +2025/08/20 09:31:55 [debug] 624147#624147: *11 free: 0000650E7C451160 +2025/08/20 09:31:55 [debug] 624147#624147: *11 free: 0000650E7C465A30, unused: 3 +2025/08/20 09:31:55 [debug] 624147#624147: *11 free: 0000650E7C45BDA0, unused: 0 +2025/08/20 09:31:55 [debug] 624147#624147: *11 free: 0000650E7C450150, unused: 1250 +2025/08/20 09:31:55 [debug] 624147#624147: *11 free: 0000650E7C4490A0 +2025/08/20 09:31:55 [debug] 624147#624147: *11 hc free: 0000000000000000 +2025/08/20 09:31:55 [debug] 624147#624147: *11 hc busy: 0000000000000000 0 +2025/08/20 09:31:55 [debug] 624147#624147: *11 tcp_nodelay +2025/08/20 09:31:55 [debug] 624147#624147: *11 reusable connection: 1 +2025/08/20 09:31:55 [debug] 624147#624147: *11 event timer add: 6: 65000:263513677 +2025/08/20 09:31:55 [debug] 624147#624147: *11 post event 0000650E7C497770 +2025/08/20 09:31:55 [debug] 624147#624147: timer delta: 0 +2025/08/20 09:31:55 [debug] 624147#624147: posted event 0000650E7C497770 +2025/08/20 09:31:55 [debug] 624147#624147: *11 delete posted event 0000650E7C497770 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http keepalive handler +2025/08/20 09:31:55 [debug] 624147#624147: *11 malloc: 0000650E7C4490A0:1024 +2025/08/20 09:31:55 [debug] 624147#624147: *11 recv: eof:0, avail:0 +2025/08/20 09:31:55 [debug] 624147#624147: *11 free: 0000650E7C4490A0 +2025/08/20 09:31:55 [debug] 624147#624147: worker cycle +2025/08/20 09:31:55 [debug] 624147#624147: epoll timer: 65000 +2025/08/20 09:31:55 [debug] 624147#624147: epoll: fd:6 ev:2005 d:000079281606E1E1 +2025/08/20 09:31:55 [debug] 624147#624147: *11 http keepalive handler +2025/08/20 09:31:55 [debug] 624147#624147: *11 malloc: 0000650E7C4490A0:1024 +2025/08/20 09:31:55 [debug] 624147#624147: *11 recv: eof:1, avail:-1 +2025/08/20 09:31:55 [debug] 624147#624147: *11 recv: fd:6 0 of 1024 +2025/08/20 09:31:55 [info] 624147#624147: *11 client 127.0.0.1 closed keepalive connection +2025/08/20 09:31:55 [debug] 624147#624147: *11 close http connection: 6 +2025/08/20 09:31:55 [debug] 624147#624147: *11 event timer del: 6: 263513677 +2025/08/20 09:31:55 [debug] 624147#624147: *11 reusable connection: 0 +2025/08/20 09:31:55 [debug] 624147#624147: *11 free: 0000650E7C4490A0 +2025/08/20 09:31:55 [debug] 624147#624147: *11 free: 0000650E7C446840, unused: 120 +2025/08/20 09:31:55 [debug] 624147#624147: timer delta: 3 +2025/08/20 09:31:55 [debug] 624147#624147: worker cycle +2025/08/20 09:31:55 [debug] 624147#624147: epoll timer: -1 +2025/08/20 09:33:26 [debug] 624147#624147: epoll: fd:5 ev:0001 d:000079281606E010 +2025/08/20 09:33:26 [debug] 624147#624147: accept on 0.0.0.0:9001, ready: 0 +2025/08/20 09:33:26 [debug] 624147#624147: posix_memalign: 0000650E7C446840:512 @16 +2025/08/20 09:33:26 [debug] 624147#624147: *13 accept: 127.0.0.1:58156 fd:6 +2025/08/20 09:33:26 [debug] 624147#624147: *13 event timer add: 6: 60000:263599733 +2025/08/20 09:33:26 [debug] 624147#624147: *13 reusable connection: 1 +2025/08/20 09:33:26 [debug] 624147#624147: *13 epoll add event: fd:6 op:1 ev:80002001 +2025/08/20 09:33:26 [debug] 624147#624147: timer delta: 91053 +2025/08/20 09:33:26 [debug] 624147#624147: worker cycle +2025/08/20 09:33:26 [debug] 624147#624147: epoll timer: 60000 +2025/08/20 09:33:26 [debug] 624147#624147: epoll: fd:6 ev:0001 d:000079281606E1E0 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http wait request handler +2025/08/20 09:33:26 [debug] 624147#624147: *13 malloc: 0000650E7C4490A0:1024 +2025/08/20 09:33:26 [debug] 624147#624147: *13 recv: eof:0, avail:-1 +2025/08/20 09:33:26 [debug] 624147#624147: *13 recv: fd:6 1024 of 1024 +2025/08/20 09:33:26 [debug] 624147#624147: *13 recv: avail:112 +2025/08/20 09:33:26 [debug] 624147#624147: *13 reusable connection: 0 +2025/08/20 09:33:26 [debug] 624147#624147: *13 posix_memalign: 0000650E7C465A30:4096 @16 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http process request line +2025/08/20 09:33:26 [debug] 624147#624147: *13 http request line: "PUT /upload HTTP/1.1" +2025/08/20 09:33:26 [debug] 624147#624147: *13 http uri: "/upload" +2025/08/20 09:33:26 [debug] 624147#624147: *13 http args: "" +2025/08/20 09:33:26 [debug] 624147#624147: *13 http exten: "" +2025/08/20 09:33:26 [debug] 624147#624147: *13 posix_memalign: 0000650E7C45BDA0:4096 @16 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http process request header line +2025/08/20 09:33:26 [debug] 624147#624147: *13 http header: "Host: localhost:9001" +2025/08/20 09:33:26 [debug] 624147#624147: *13 http header: "User-Agent: curl/8.15.0" +2025/08/20 09:33:26 [debug] 624147#624147: *13 http header: "Accept: */*" +2025/08/20 09:33:26 [debug] 624147#624147: *13 http header: "Authorization: Nostr eyJraW5kIjoyNDI0MiwiaWQiOiJlM2Y0MTQ5MTJkYWYzY2RjZTA4M2M4Mzc4ZWY1NmNlMzNkNmUxMDUzNzc5MTVkZDI2YWI5YmFkNDkwMTA2YWYxIiwicHVia2V5IjoiNzliZTY2N2VmOWRjYmJhYzU1YTA2Mjk1Y2U4NzBiMDcwMjliZmNkYjJkY2UyOGQ5NTlmMjgxNWIxNmY4MTc5OCIsImNyZWF0ZWRfYXQiOjE3NTU2OTY4MDYsInRhZ3MiOltbInQiLCJ1cGxvYWQiXSxbIngiLCI5N2VkNTI0MTZkYTliNDg2Y2MyMWZmNzE5MTFlYmIxMGI3Mjk4YjFiMTJjZGI1NzM1ZmI4Y2ZkNzZiYjNkMThlIl0sWyJleHBpcmF0aW9uIiwiMTc1NTcwMDQwNiJdXSwiY29udGVudCI6IiIsInNpZyI6Ijc3MjkxMWZjMzVmMzMxNDQwNjQ4MTA0OGFkMjFmYmUxNzIwNmE4ZGUwYzJkYzk5ZTI0OWY5MzljMzdhNTNkNzk4ZDBhZWZmNzRiZjNiNDM0OTE0ZmRmYjhiNTBhNTUwYzVkOGEyYjljMGUyZWE5YWY3OGVkYjY1YWZlNWI4NGJkIn0=" +2025/08/20 09:33:26 [debug] 624147#624147: *13 http header: "Content-Type: text/plain" +2025/08/20 09:33:26 [debug] 624147#624147: *13 http header: "Content-Disposition: attachment; filename="test_blob_1755696806.txt"" +2025/08/20 09:33:26 [debug] 624147#624147: *13 http header: "Content-Length: 296" +2025/08/20 09:33:26 [debug] 624147#624147: *13 http header done +2025/08/20 09:33:26 [debug] 624147#624147: *13 event timer del: 6: 263599733 +2025/08/20 09:33:26 [debug] 624147#624147: *13 generic phase: 0 +2025/08/20 09:33:26 [debug] 624147#624147: *13 rewrite phase: 1 +2025/08/20 09:33:26 [debug] 624147#624147: *13 test location: "/health" +2025/08/20 09:33:26 [debug] 624147#624147: *13 test location: "/upload" +2025/08/20 09:33:26 [debug] 624147#624147: *13 test location: ~ "^/([a-f0-9]{64}).*$" +2025/08/20 09:33:26 [debug] 624147#624147: *13 test location: ~ "^/([a-f0-9]{64})(\.[a-zA-Z0-9]+)?$" +2025/08/20 09:33:26 [debug] 624147#624147: *13 test location: ~ "^/fcgi-head/([a-f0-9]{64}).*$" +2025/08/20 09:33:26 [debug] 624147#624147: *13 test location: ~ "^/list/([a-f0-9]{64}).*$" +2025/08/20 09:33:26 [debug] 624147#624147: *13 using configuration "/upload" +2025/08/20 09:33:26 [debug] 624147#624147: *13 http cl:296 max:104857600 +2025/08/20 09:33:26 [debug] 624147#624147: *13 rewrite phase: 3 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http script var +2025/08/20 09:33:26 [debug] 624147#624147: *13 http script var: "PUT" +2025/08/20 09:33:26 [debug] 624147#624147: *13 http script regex: "^(PUT)$" +2025/08/20 09:33:26 [notice] 624147#624147: *13 "^(PUT)$" matches "PUT", client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", host: "localhost:9001" +2025/08/20 09:33:26 [debug] 624147#624147: *13 http script if +2025/08/20 09:33:26 [debug] 624147#624147: *13 http script if: false +2025/08/20 09:33:26 [debug] 624147#624147: *13 post rewrite phase: 4 +2025/08/20 09:33:26 [debug] 624147#624147: *13 generic phase: 5 +2025/08/20 09:33:26 [debug] 624147#624147: *13 generic phase: 6 +2025/08/20 09:33:26 [debug] 624147#624147: *13 generic phase: 7 +2025/08/20 09:33:26 [debug] 624147#624147: *13 access phase: 8 +2025/08/20 09:33:26 [debug] 624147#624147: *13 access phase: 9 +2025/08/20 09:33:26 [debug] 624147#624147: *13 access phase: 10 +2025/08/20 09:33:26 [debug] 624147#624147: *13 post access phase: 11 +2025/08/20 09:33:26 [debug] 624147#624147: *13 generic phase: 12 +2025/08/20 09:33:26 [debug] 624147#624147: *13 generic phase: 13 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http client request body preread 184 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http request body content length filter +2025/08/20 09:33:26 [debug] 624147#624147: *13 http body new buf t:1 f:0 0000650E7C4493E8, pos 0000650E7C4493E8, size: 184 file: 0, size: 0 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http read client request body +2025/08/20 09:33:26 [debug] 624147#624147: *13 recv: eof:0, avail:112 +2025/08/20 09:33:26 [debug] 624147#624147: *13 recv: fd:6 112 of 112 +2025/08/20 09:33:26 [debug] 624147#624147: *13 recv: avail:0 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http client request body recv 112 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http body new buf t:1 f:0 0000650E7C45C830, pos 0000650E7C45C830, size: 112 file: 0, size: 0 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http client request body rest 0 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http init upstream, client timer: 0 +2025/08/20 09:33:26 [debug] 624147#624147: *13 epoll add event: fd:6 op:3 ev:80002005 +2025/08/20 09:33:26 [debug] 624147#624147: *13 posix_memalign: 0000650E7C450150:4096 @16 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http script copy: "QUERY_STRING" +2025/08/20 09:33:26 [debug] 624147#624147: *13 fastcgi param: "QUERY_STRING: " +2025/08/20 09:33:26 [debug] 624147#624147: *13 http script copy: "REQUEST_METHOD" +2025/08/20 09:33:26 [debug] 624147#624147: *13 http script var: "PUT" +2025/08/20 09:33:26 [debug] 624147#624147: *13 fastcgi param: "REQUEST_METHOD: PUT" +2025/08/20 09:33:26 [debug] 624147#624147: *13 http script copy: "CONTENT_TYPE" +2025/08/20 09:33:26 [debug] 624147#624147: *13 http script var: "text/plain" +2025/08/20 09:33:26 [debug] 624147#624147: *13 fastcgi param: "CONTENT_TYPE: text/plain" +2025/08/20 09:33:26 [debug] 624147#624147: *13 http script copy: "CONTENT_LENGTH" +2025/08/20 09:33:26 [debug] 624147#624147: *13 http script var: "296" +2025/08/20 09:33:26 [debug] 624147#624147: *13 fastcgi param: "CONTENT_LENGTH: 296" +2025/08/20 09:33:26 [debug] 624147#624147: *13 http script copy: "SCRIPT_NAME" +2025/08/20 09:33:26 [debug] 624147#624147: *13 http script var: "/upload" +2025/08/20 09:33:26 [debug] 624147#624147: *13 fastcgi param: "SCRIPT_NAME: /upload" +2025/08/20 09:33:26 [debug] 624147#624147: *13 http script copy: "REQUEST_URI" +2025/08/20 09:33:26 [debug] 624147#624147: *13 http script var: "/upload" +2025/08/20 09:33:26 [debug] 624147#624147: *13 fastcgi param: "REQUEST_URI: /upload" +2025/08/20 09:33:26 [debug] 624147#624147: *13 http script copy: "DOCUMENT_URI" +2025/08/20 09:33:26 [debug] 624147#624147: *13 http script var: "/upload" +2025/08/20 09:33:26 [debug] 624147#624147: *13 fastcgi param: "DOCUMENT_URI: /upload" +2025/08/20 09:33:26 [debug] 624147#624147: *13 http script copy: "DOCUMENT_ROOT" +2025/08/20 09:33:26 [debug] 624147#624147: *13 http script var: "./blobs" +2025/08/20 09:33:26 [debug] 624147#624147: *13 fastcgi param: "DOCUMENT_ROOT: ./blobs" +2025/08/20 09:33:26 [debug] 624147#624147: *13 http script copy: "SERVER_PROTOCOL" +2025/08/20 09:33:26 [debug] 624147#624147: *13 http script var: "HTTP/1.1" +2025/08/20 09:33:26 [debug] 624147#624147: *13 fastcgi param: "SERVER_PROTOCOL: HTTP/1.1" +2025/08/20 09:33:26 [debug] 624147#624147: *13 http script copy: "REQUEST_SCHEME" +2025/08/20 09:33:26 [debug] 624147#624147: *13 http script var: "http" +2025/08/20 09:33:26 [debug] 624147#624147: *13 fastcgi param: "REQUEST_SCHEME: http" +2025/08/20 09:33:26 [debug] 624147#624147: *13 http script copy: "" +2025/08/20 09:33:26 [debug] 624147#624147: *13 http script copy: "GATEWAY_INTERFACE" +2025/08/20 09:33:26 [debug] 624147#624147: *13 http script copy: "CGI/1.1" +2025/08/20 09:33:26 [debug] 624147#624147: *13 fastcgi param: "GATEWAY_INTERFACE: CGI/1.1" +2025/08/20 09:33:26 [debug] 624147#624147: *13 http script copy: "SERVER_SOFTWARE" +2025/08/20 09:33:26 [debug] 624147#624147: *13 http script copy: "nginx/" +2025/08/20 09:33:26 [debug] 624147#624147: *13 http script var: "1.18.0" +2025/08/20 09:33:26 [debug] 624147#624147: *13 fastcgi param: "SERVER_SOFTWARE: nginx/1.18.0" +2025/08/20 09:33:26 [debug] 624147#624147: *13 http script copy: "REMOTE_ADDR" +2025/08/20 09:33:26 [debug] 624147#624147: *13 http script var: "127.0.0.1" +2025/08/20 09:33:26 [debug] 624147#624147: *13 fastcgi param: "REMOTE_ADDR: 127.0.0.1" +2025/08/20 09:33:26 [debug] 624147#624147: *13 http script copy: "REMOTE_PORT" +2025/08/20 09:33:26 [debug] 624147#624147: *13 http script var: "58156" +2025/08/20 09:33:26 [debug] 624147#624147: *13 fastcgi param: "REMOTE_PORT: 58156" +2025/08/20 09:33:26 [debug] 624147#624147: *13 http script copy: "SERVER_ADDR" +2025/08/20 09:33:26 [debug] 624147#624147: *13 http script var: "127.0.0.1" +2025/08/20 09:33:26 [debug] 624147#624147: *13 fastcgi param: "SERVER_ADDR: 127.0.0.1" +2025/08/20 09:33:26 [debug] 624147#624147: *13 http script copy: "SERVER_PORT" +2025/08/20 09:33:26 [debug] 624147#624147: *13 http script var: "9001" +2025/08/20 09:33:26 [debug] 624147#624147: *13 fastcgi param: "SERVER_PORT: 9001" +2025/08/20 09:33:26 [debug] 624147#624147: *13 http script copy: "SERVER_NAME" +2025/08/20 09:33:26 [debug] 624147#624147: *13 http script var: "localhost" +2025/08/20 09:33:26 [debug] 624147#624147: *13 fastcgi param: "SERVER_NAME: localhost" +2025/08/20 09:33:26 [debug] 624147#624147: *13 http script copy: "REDIRECT_STATUS" +2025/08/20 09:33:26 [debug] 624147#624147: *13 http script copy: "200" +2025/08/20 09:33:26 [debug] 624147#624147: *13 fastcgi param: "REDIRECT_STATUS: 200" +2025/08/20 09:33:26 [debug] 624147#624147: *13 http script copy: "SCRIPT_FILENAME" +2025/08/20 09:33:26 [debug] 624147#624147: *13 http script var: "./blobs" +2025/08/20 09:33:26 [debug] 624147#624147: *13 http script copy: "/ginxsom.fcgi" +2025/08/20 09:33:26 [debug] 624147#624147: *13 fastcgi param: "SCRIPT_FILENAME: ./blobs/ginxsom.fcgi" +2025/08/20 09:33:26 [debug] 624147#624147: *13 fastcgi param: "HTTP_HOST: localhost:9001" +2025/08/20 09:33:26 [debug] 624147#624147: *13 fastcgi param: "HTTP_USER_AGENT: curl/8.15.0" +2025/08/20 09:33:26 [debug] 624147#624147: *13 fastcgi param: "HTTP_ACCEPT: */*" +2025/08/20 09:33:26 [debug] 624147#624147: *13 fastcgi param: "HTTP_AUTHORIZATION: Nostr eyJraW5kIjoyNDI0MiwiaWQiOiJlM2Y0MTQ5MTJkYWYzY2RjZTA4M2M4Mzc4ZWY1NmNlMzNkNmUxMDUzNzc5MTVkZDI2YWI5YmFkNDkwMTA2YWYxIiwicHVia2V5IjoiNzliZTY2N2VmOWRjYmJhYzU1YTA2Mjk1Y2U4NzBiMDcwMjliZmNkYjJkY2UyOGQ5NTlmMjgxNWIxNmY4MTc5OCIsImNyZWF0ZWRfYXQiOjE3NTU2OTY4MDYsInRhZ3MiOltbInQiLCJ1cGxvYWQiXSxbIngiLCI5N2VkNTI0MTZkYTliNDg2Y2MyMWZmNzE5MTFlYmIxMGI3Mjk4YjFiMTJjZGI1NzM1ZmI4Y2ZkNzZiYjNkMThlIl0sWyJleHBpcmF0aW9uIiwiMTc1NTcwMDQwNiJdXSwiY29udGVudCI6IiIsInNpZyI6Ijc3MjkxMWZjMzVmMzMxNDQwNjQ4MTA0OGFkMjFmYmUxNzIwNmE4ZGUwYzJkYzk5ZTI0OWY5MzljMzdhNTNkNzk4ZDBhZWZmNzRiZjNiNDM0OTE0ZmRmYjhiNTBhNTUwYzVkOGEyYjljMGUyZWE5YWY3OGVkYjY1YWZlNWI4NGJkIn0=" +2025/08/20 09:33:26 [debug] 624147#624147: *13 fastcgi param: "HTTP_CONTENT_TYPE: text/plain" +2025/08/20 09:33:26 [debug] 624147#624147: *13 fastcgi param: "HTTP_CONTENT_DISPOSITION: attachment; filename="test_blob_1755696806.txt"" +2025/08/20 09:33:26 [debug] 624147#624147: *13 fastcgi param: "HTTP_CONTENT_LENGTH: 296" +2025/08/20 09:33:26 [debug] 624147#624147: *13 http cleanup add: 0000650E7C45CB80 +2025/08/20 09:33:26 [debug] 624147#624147: *13 get rr peer, try: 1 +2025/08/20 09:33:26 [debug] 624147#624147: *13 stream socket 10 +2025/08/20 09:33:26 [debug] 624147#624147: *13 epoll add connection: fd:10 ev:80002005 +2025/08/20 09:33:26 [debug] 624147#624147: *13 connect to unix:/tmp/ginxsom-fcgi.sock, fd:10 #14 +2025/08/20 09:33:26 [debug] 624147#624147: *13 connected +2025/08/20 09:33:26 [debug] 624147#624147: *13 http upstream connect: 0 +2025/08/20 09:33:26 [debug] 624147#624147: *13 posix_memalign: 0000650E7C42FF20:128 @16 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http upstream send request +2025/08/20 09:33:26 [debug] 624147#624147: *13 http upstream send request body +2025/08/20 09:33:26 [debug] 624147#624147: *13 chain writer buf fl:0 s:1304 +2025/08/20 09:33:26 [debug] 624147#624147: *13 chain writer buf fl:0 s:184 +2025/08/20 09:33:26 [debug] 624147#624147: *13 chain writer buf fl:0 s:8 +2025/08/20 09:33:26 [debug] 624147#624147: *13 chain writer buf fl:0 s:112 +2025/08/20 09:33:26 [debug] 624147#624147: *13 chain writer buf fl:0 s:8 +2025/08/20 09:33:26 [debug] 624147#624147: *13 chain writer in: 0000650E7C45CC10 +2025/08/20 09:33:26 [debug] 624147#624147: *13 writev: 1616 of 1616 +2025/08/20 09:33:26 [debug] 624147#624147: *13 chain writer out: 0000000000000000 +2025/08/20 09:33:26 [debug] 624147#624147: *13 event timer add: 10: 60000:263599733 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http finalize request: -4, "/upload?" a:1, c:2 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http request count:2 blk:0 +2025/08/20 09:33:26 [debug] 624147#624147: timer delta: 0 +2025/08/20 09:33:26 [debug] 624147#624147: worker cycle +2025/08/20 09:33:26 [debug] 624147#624147: epoll timer: 60000 +2025/08/20 09:33:26 [debug] 624147#624147: epoll: fd:6 ev:0004 d:000079281606E1E0 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http run request: "/upload?" +2025/08/20 09:33:26 [debug] 624147#624147: *13 http upstream check client, write event:1, "/upload" +2025/08/20 09:33:26 [debug] 624147#624147: epoll: fd:10 ev:0005 d:000079281606E2C8 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http upstream request: "/upload?" +2025/08/20 09:33:26 [debug] 624147#624147: *13 http upstream process header +2025/08/20 09:33:26 [debug] 624147#624147: *13 malloc: 0000650E7C451160:4096 +2025/08/20 09:33:26 [debug] 624147#624147: *13 recv: eof:0, avail:-1 +2025/08/20 09:33:26 [debug] 624147#624147: *13 recv: fd:10 1400 of 4096 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: 01 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: 07 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: 00 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: 01 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: 00 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: 21 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: 07 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: 00 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record length: 33 +2025/08/20 09:33:26 [error] 624147#624147: *13 FastCGI sent in stderr: "DEBUG: FastCGI received request" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: 01 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: 07 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: 00 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: 01 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: 01 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: F8 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: 00 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: 00 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record length: 504 +2025/08/20 09:33:26 [error] 624147#624147: *13 FastCGI sent in stderr: "DEBUG: METHOD=PUT, URI=/upload +ENTRY: Entering handle_upload_request() function +DEBUG: handle_upload_request called +LOG: [2025-08-20 09:33:26] PUT /upload - Auth: pending - Status: 0 +DEBUG: content_type=text/plain +DEBUG: content_length=296 +DEBUG: Raw Authorization header: Nostr eyJraW5kIjoyNDI0MiwiaWQiOiJlM2Y0MTQ5MTJkYWYzY2RjZTA4M2M4Mzc4ZWY1NmNlMzNkNmUxMDUzNzc5MTVkZDI2YWI5YmFkNDkwMTA2YWYxIiwicHVia2V5IjoiNzliZTY2N2VmOWRjYmJhYzU1YTA2Mjk1Y2U4NzBiMDcwMjliZmNkYjJkY2UyOGQ5NTlmMjgxNWIxNmY4MTc5OCIsImN" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: 01 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: 07 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: 00 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: 01 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: 01 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: F8 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: 00 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: 00 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record length: 504 +2025/08/20 09:33:26 [error] 624147#624147: *13 FastCGI sent in stderr: "yZWF0ZWRfYXQiOjE3NTU2OTY4MDYsInRhZ3MiOltbInQiLCJ1cGxvYWQiXSxbIngiLCI5N2VkNTI0MTZkYTliNDg2Y2MyMWZmNzE5MTFlYmIxMGI3Mjk4YjFiMTJjZGI1NzM1ZmI4Y2ZkNzZiYjNkMThlIl0sWyJleHBpcmF0aW9uIiwiMTc1NTcwMDQwNiJdXSwiY29udGVudCI6IiIsInNpZyI6Ijc3MjkxMWZjMzVmMzMxNDQwNjQ4MTA0OGFkMjFmYmUxNzIwNmE4ZGUwYzJkYzk5ZTI0OWY5MzljMzdhNTNkNzk4ZDBhZWZmNzRiZjNiNDM0OTE0ZmRmYjhiNTBhNTUwYzVkOGEyYjljMGUyZWE5YWY3OGVkYjY1YWZlNWI4NGJkIn0= +LOG: [2025-08-20 09:33:26] PUT /upload - Auth: auth_provided - Status: 0 +DEBUG: Successfully read DEBUG-" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: 01 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: 07 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: 00 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: 01 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: 01 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: 3F +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: 01 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: 00 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record length: 319 +2025/08/20 09:33:26 [error] 624147#624147: *13 FastCGI sent in stderr: "LAAN: DATA TO HASH: Test blob content for Ginxsom Blossom server +Timestamp: 2025-08-20T09:33:26-04:00 +Random data: 24e3a099a13320ce509eb234f75f34f73eb999faa377d4cacb141eae61939fe7 +Test message: Hello from put_test.sh! + +This file is used to test the upload functionality +of the Ginxsom Blossom server implementation. +1" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:33:26 [debug] 624147#624147: *13 recv: eof:0, avail:0 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http upstream request: "/upload?" +2025/08/20 09:33:26 [debug] 624147#624147: *13 http upstream dummy handler +2025/08/20 09:33:26 [debug] 624147#624147: timer delta: 2 +2025/08/20 09:33:26 [debug] 624147#624147: worker cycle +2025/08/20 09:33:26 [debug] 624147#624147: epoll timer: 59998 +2025/08/20 09:33:26 [debug] 624147#624147: epoll: fd:10 ev:0005 d:000079281606E2C8 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http upstream request: "/upload?" +2025/08/20 09:33:26 [debug] 624147#624147: *13 http upstream process header +2025/08/20 09:33:26 [debug] 624147#624147: *13 recv: eof:0, avail:-1 +2025/08/20 09:33:26 [debug] 624147#624147: *13 recv: fd:10 2696 of 2696 +2025/08/20 09:33:26 [debug] 624147#624147: *13 recv: avail:488 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: 01 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: 07 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: 00 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: 01 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: 00 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: 62 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: 06 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: 00 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record length: 98 +2025/08/20 09:33:26 [error] 624147#624147: *13 FastCGI sent in stderr: "DEBUG-LAAN: Calculated SHA-256: 97ed52416da9b486cc21ff71911ebb10b7298b1b12cdb5735fb8cfd76bb3d18e" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: 01 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: 07 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: 00 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: 01 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: 01 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: F8 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: 00 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: 00 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record length: 504 +2025/08/20 09:33:26 [error] 624147#624147: *13 FastCGI sent in stderr: "AUTH: About to perform authentication - auth_header present: YES +AUTH: Calling authenticate_request with hash: 97ed52416da9b486cc21ff71911ebb10b7298b1b12cdb5735fb8cfd76bb3d18e +═══════════════════════════════════════════════════════════════════ +🔍 STEP SERVER-1: Starting server-style authentication (mirroring test_auth_debug.c) +ℹ️ INFO: Server-style auth calle" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: 01 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: 07 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: 00 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: 01 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: 01 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: F8 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: 00 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: 00 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record length: 504 +2025/08/20 09:33:26 [error] 624147#624147: *13 FastCGI sent in stderr: "d with method: upload, hash: 97ed52416da9b486cc21ff71911ebb10b7298b1b12cdb5735fb8cfd76bb3d18e +🔍 STEP SERVER-2: Calling parse_authorization_header +DEBUG: parse_authorization_header called with header: Nostr eyJraW5kIjoyNDI0MiwiaWQiOiJlM2Y0MTQ5MTJkYWYz... +DEBUG: Extracted base64 event (length=DEBUG: Base64 decode result - decoded_len=DEBUG: Successfully decoded JSON (length=✅ SUCCESS: parse_authorization_header succeeded +🔍 STEP SERVER-3: Calling cJSON_Parse on JSON string +ℹ️ INFO: JSON to" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: 01 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: 07 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: 00 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: 01 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: 01 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: F8 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: 00 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: 00 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record length: 504 +2025/08/20 09:33:26 [error] 624147#624147: *13 FastCGI sent in stderr: " parse: {"kind":24242,"id":"e3f414912daf3cdce083c8378ef56ce33d6e105377915dd26ab9bad490106af1","pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1755696806,"tags":[["t","upload"],["x","97ed52416da9b486cc21ff71911ebb10b7298b1b12cdb5735fb8cfd76bb3d18e"],["expiration","1755700406"]],"content":"","sig":"772911fc35f3314406481048ad21fbe17206a8de0c2dc99e249f939c37a53d798d0aeff74bf3b434914fdfb8b50a550c5d8a2b9c0e2ea9af78edb65afe5b84bd"} +✅ SUCCESS: cJSON_Parse succeeded" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: 01 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: 07 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: 00 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: 01 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: 01 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: F8 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: 00 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: 00 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record length: 504 +2025/08/20 09:33:26 [error] 624147#624147: *13 FastCGI sent in stderr: ", event parsed +ℹ️ INFO: Parsed JSON: { + "kind": 24242, + "id": "e3f414912daf3cdce083c8378ef56ce33d6e105377915dd26ab9bad490106af1", + "pubkey": "79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798", + "created_at": 1755696806, + "tags": [["t", "upload"], ["x", "97ed52416da9b486cc21ff71911ebb10b7298b1b12cdb5735fb8cfd76bb3d18e"], ["expiration", "1755700406"]], + "content": "", + "sig": "772911fc35f3314406481048ad21fbe17206a8de0c2dc99e249f939c37a53d798d0aeff74bf3b434914fdfb8b50a550c5d8a2b9c0" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: 01 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: 07 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: 00 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: 01 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: 01 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: F8 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: 00 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: 00 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record length: 504 +2025/08/20 09:33:26 [error] 624147#624147: *13 FastCGI sent in stderr: "e2ea9af78edb65afe5b84bd" +} +🔍 STEP SERVER-4: Event fields before validation +ℹ️ INFO: id: e3f414912daf3cdce083c8378ef56ce33d6e105377915dd26ab9bad490106af1 +ℹ️ INFO: pubkey: 79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 +ℹ️ INFO: sig: 772911fc35f3314406481048ad21fbe17206a8de0c2dc99e249f939c37a53d798d0aeff74bf3b434914fdfb8b50a550c5d8a2b9c0e2ea9af78edb65afe5b84bd +ℹ️ INFO: kind: 24242 +ℹ️ INFO: created_at: 1755696806 +🔍 STEP SERVER-5: Detailed pubkey" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: 01 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: 07 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: 00 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: 01 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: 01 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: F8 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: 00 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: 00 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record length: 504 +2025/08/20 09:33:26 [error] 624147#624147: *13 FastCGI sent in stderr: " analysis +ℹ️" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:33:26 [debug] 624147#624147: *13 recv: eof:0, avail:488 +2025/08/20 09:33:26 [debug] 624147#624147: *13 recv: fd:10 1448 of 4096 +2025/08/20 09:33:26 [debug] 624147#624147: *13 recv: avail:0 +2025/08/20 09:33:26 [error] 624147#624147: *13 FastCGI sent in stderr: " INFO: Pubkey: 79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 +ℹ️ INFO: Length: ℹ️ INFO: Character analysis (first 10): +7(0x37) 9(0x39) b(0x62) e(0x65) 6(0x36) 6(0x36) 7(0x37) e(0x65) f(0x66) 9(0x39) +🔍 STEP SERVER-6: Pre-validation pubkey analysis +ℹ️ INFO: Pubkey: 79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 +ℹ️ INFO: Length: ℹ️ INFO: Character analysis (first 10): +7(55) 9(57) b(98) e(101) 6(54) 6(54) 7(5" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: 01 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: 07 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: 00 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: 01 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: 01 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: F8 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: 00 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: 00 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record length: 504 +2025/08/20 09:33:26 [error] 624147#624147: *13 FastCGI sent in stderr: "5) e(101) f(102) 9(57) +ℹ️ INFO: Character validation test: +ALL VALID (lowercase hex) +🔍 STEP SERVER-7: Starting detailed validation analysis +ℹ️ INFO: Testing structure validation... +ℹ️ INFO: nostr_validate_event_structure returned: 0 (Success) +✅ SUCCESS: Structure validation PASSED +ℹ️ INFO: Testing cryptographic verification... +ℹ️ INFO: nostr_verify_event_signature returned: -32 (Event has invalid public key) +❌ ERROR: CRYPTO verification failed! +❌ ERROR: Failed p" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: 01 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: 07 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: 00 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: 01 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: 00 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: C5 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: 03 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: 00 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record length: 197 +2025/08/20 09:33:26 [error] 624147#624147: *13 FastCGI sent in stderr: "ubkey: 79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 (length: AUTH: authenticate_request returned: -32 +LOG: [2025-08-20 09:33:26] PUT /upload - Auth: auth_failed - Status: 401" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: 01 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: 07 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: 00 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: 01 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: 00 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: 00 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: 00 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: 00 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record length: 0 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: 01 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: 06 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: 00 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: 01 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: 00 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: C7 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: 01 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: 00 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record length: 199 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi parser: 0 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi header: "Status: 401 Unauthorized" +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi parser: 0 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi header: "Content-Type: application/json" +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi parser: 1 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi header done +2025/08/20 09:33:26 [debug] 624147#624147: *13 HTTP/1.1 401 Unauthorized +Server: nginx/1.18.0 (Ubuntu) +Date: Wed, 20 Aug 2025 13:33:26 GMT +Content-Type: application/json +Transfer-Encoding: chunked +Connection: keep-alive + +2025/08/20 09:33:26 [debug] 624147#624147: *13 write new buf t:1 f:0 0000650E7C450808, pos 0000650E7C450808, size: 181 file: 0, size: 0 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http write filter: l:0 f:0 s:181 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http cacheable: 0 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http upstream process upstream +2025/08/20 09:33:26 [debug] 624147#624147: *13 pipe read upstream: 0 +2025/08/20 09:33:26 [debug] 624147#624147: *13 pipe preread: 164 +2025/08/20 09:33:26 [debug] 624147#624147: *13 pipe buf free s:0 t:1 f:0 0000650E7C451160, pos 0000650E7C451664, size: 164 file: 0, size: 0 +2025/08/20 09:33:26 [debug] 624147#624147: *13 pipe length: -1 +2025/08/20 09:33:26 [debug] 624147#624147: *13 pipe write downstream: 1 +2025/08/20 09:33:26 [debug] 624147#624147: *13 pipe write busy: 0 +2025/08/20 09:33:26 [debug] 624147#624147: *13 pipe write: out:0000000000000000, f:0 +2025/08/20 09:33:26 [debug] 624147#624147: *13 pipe read upstream: 0 +2025/08/20 09:33:26 [debug] 624147#624147: *13 pipe buf free s:0 t:1 f:0 0000650E7C451160, pos 0000650E7C451664, size: 164 file: 0, size: 0 +2025/08/20 09:33:26 [debug] 624147#624147: *13 pipe length: -1 +2025/08/20 09:33:26 [debug] 624147#624147: *13 event timer: 10, old: 263599733, new: 263599736 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http upstream request: "/upload?" +2025/08/20 09:33:26 [debug] 624147#624147: *13 http upstream dummy handler +2025/08/20 09:33:26 [debug] 624147#624147: timer delta: 1 +2025/08/20 09:33:26 [debug] 624147#624147: worker cycle +2025/08/20 09:33:26 [debug] 624147#624147: epoll timer: 59997 +2025/08/20 09:33:26 [debug] 624147#624147: epoll: fd:10 ev:2005 d:000079281606E2C8 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http upstream request: "/upload?" +2025/08/20 09:33:26 [debug] 624147#624147: *13 http upstream process upstream +2025/08/20 09:33:26 [debug] 624147#624147: *13 pipe read upstream: 1 +2025/08/20 09:33:26 [debug] 624147#624147: *13 readv: eof:1, avail:-1 +2025/08/20 09:33:26 [debug] 624147#624147: *13 readv: 1, last:2648 +2025/08/20 09:33:26 [debug] 624147#624147: *13 pipe recv chain: 0 +2025/08/20 09:33:26 [debug] 624147#624147: *13 pipe buf free s:0 t:1 f:0 0000650E7C451160, pos 0000650E7C451664, size: 164 file: 0, size: 0 +2025/08/20 09:33:26 [debug] 624147#624147: *13 pipe length: -1 +2025/08/20 09:33:26 [debug] 624147#624147: *13 input buf #0 0000650E7C451664 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: 01 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: 06 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: 00 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: 01 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: 00 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: 00 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: 00 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: 00 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record length: 0 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi closed stdout +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: 01 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: 03 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: 00 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: 01 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: 00 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: 08 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: 00 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record byte: 00 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi record length: 8 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http fastcgi sent end request +2025/08/20 09:33:26 [debug] 624147#624147: *13 input buf 0000650E7C451664 139 +2025/08/20 09:33:26 [debug] 624147#624147: *13 pipe write downstream: 1 +2025/08/20 09:33:26 [debug] 624147#624147: *13 pipe write downstream flush in +2025/08/20 09:33:26 [debug] 624147#624147: *13 http output filter "/upload?" +2025/08/20 09:33:26 [debug] 624147#624147: *13 http copy filter: "/upload?" +2025/08/20 09:33:26 [debug] 624147#624147: *13 http postpone filter "/upload?" 0000650E7C45CBE0 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http chunk: 139 +2025/08/20 09:33:26 [debug] 624147#624147: *13 write old buf t:1 f:0 0000650E7C450808, pos 0000650E7C450808, size: 181 file: 0, size: 0 +2025/08/20 09:33:26 [debug] 624147#624147: *13 write new buf t:1 f:0 0000650E7C45CD78, pos 0000650E7C45CD78, size: 4 file: 0, size: 0 +2025/08/20 09:33:26 [debug] 624147#624147: *13 write new buf t:1 f:0 0000650E7C451160, pos 0000650E7C451664, size: 139 file: 0, size: 0 +2025/08/20 09:33:26 [debug] 624147#624147: *13 write new buf t:0 f:0 0000000000000000, pos 0000650E5AD062E8, size: 2 file: 0, size: 0 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http write filter: l:0 f:0 s:326 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http copy filter: 0 "/upload?" +2025/08/20 09:33:26 [debug] 624147#624147: *13 pipe write downstream done +2025/08/20 09:33:26 [debug] 624147#624147: *13 event timer: 10, old: 263599733, new: 263599737 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http upstream exit: 0000000000000000 +2025/08/20 09:33:26 [debug] 624147#624147: *13 finalize http upstream request: 0 +2025/08/20 09:33:26 [debug] 624147#624147: *13 finalize http fastcgi request +2025/08/20 09:33:26 [debug] 624147#624147: *13 free rr peer 1 0 +2025/08/20 09:33:26 [debug] 624147#624147: *13 close http upstream connection: 10 +2025/08/20 09:33:26 [debug] 624147#624147: *13 free: 0000650E7C42FF20, unused: 48 +2025/08/20 09:33:26 [debug] 624147#624147: *13 event timer del: 10: 263599733 +2025/08/20 09:33:26 [debug] 624147#624147: *13 reusable connection: 0 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http upstream temp fd: -1 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http output filter "/upload?" +2025/08/20 09:33:26 [debug] 624147#624147: *13 http copy filter: "/upload?" +2025/08/20 09:33:26 [debug] 624147#624147: *13 http postpone filter "/upload?" 00007FFEBE5AA8A0 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http chunk: 0 +2025/08/20 09:33:26 [debug] 624147#624147: *13 write old buf t:1 f:0 0000650E7C450808, pos 0000650E7C450808, size: 181 file: 0, size: 0 +2025/08/20 09:33:26 [debug] 624147#624147: *13 write old buf t:1 f:0 0000650E7C45CD78, pos 0000650E7C45CD78, size: 4 file: 0, size: 0 +2025/08/20 09:33:26 [debug] 624147#624147: *13 write old buf t:1 f:0 0000650E7C451160, pos 0000650E7C451664, size: 139 file: 0, size: 0 +2025/08/20 09:33:26 [debug] 624147#624147: *13 write old buf t:0 f:0 0000000000000000, pos 0000650E5AD062E8, size: 2 file: 0, size: 0 +2025/08/20 09:33:26 [debug] 624147#624147: *13 write new buf t:0 f:0 0000000000000000, pos 0000650E5AD062E5, size: 5 file: 0, size: 0 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http write filter: l:1 f:0 s:331 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http write filter limit 0 +2025/08/20 09:33:26 [debug] 624147#624147: *13 writev: 331 of 331 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http write filter 0000000000000000 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http copy filter: 0 "/upload?" +2025/08/20 09:33:26 [debug] 624147#624147: *13 http finalize request: 0, "/upload?" a:1, c:1 +2025/08/20 09:33:26 [debug] 624147#624147: *13 set http keepalive handler +2025/08/20 09:33:26 [debug] 624147#624147: *13 http close request +2025/08/20 09:33:26 [debug] 624147#624147: *13 http log handler +2025/08/20 09:33:26 [debug] 624147#624147: *13 free: 0000650E7C451160 +2025/08/20 09:33:26 [debug] 624147#624147: *13 free: 0000650E7C465A30, unused: 3 +2025/08/20 09:33:26 [debug] 624147#624147: *13 free: 0000650E7C45BDA0, unused: 0 +2025/08/20 09:33:26 [debug] 624147#624147: *13 free: 0000650E7C450150, unused: 1250 +2025/08/20 09:33:26 [debug] 624147#624147: *13 free: 0000650E7C4490A0 +2025/08/20 09:33:26 [debug] 624147#624147: *13 hc free: 0000000000000000 +2025/08/20 09:33:26 [debug] 624147#624147: *13 hc busy: 0000000000000000 0 +2025/08/20 09:33:26 [debug] 624147#624147: *13 tcp_nodelay +2025/08/20 09:33:26 [debug] 624147#624147: *13 reusable connection: 1 +2025/08/20 09:33:26 [debug] 624147#624147: *13 event timer add: 6: 65000:263604737 +2025/08/20 09:33:26 [debug] 624147#624147: *13 post event 0000650E7C497770 +2025/08/20 09:33:26 [debug] 624147#624147: timer delta: 1 +2025/08/20 09:33:26 [debug] 624147#624147: posted event 0000650E7C497770 +2025/08/20 09:33:26 [debug] 624147#624147: *13 delete posted event 0000650E7C497770 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http keepalive handler +2025/08/20 09:33:26 [debug] 624147#624147: *13 malloc: 0000650E7C4490A0:1024 +2025/08/20 09:33:26 [debug] 624147#624147: *13 recv: eof:0, avail:0 +2025/08/20 09:33:26 [debug] 624147#624147: *13 free: 0000650E7C4490A0 +2025/08/20 09:33:26 [debug] 624147#624147: worker cycle +2025/08/20 09:33:26 [debug] 624147#624147: epoll timer: 65000 +2025/08/20 09:33:26 [debug] 624147#624147: epoll: fd:6 ev:2005 d:000079281606E1E0 +2025/08/20 09:33:26 [debug] 624147#624147: *13 http keepalive handler +2025/08/20 09:33:26 [debug] 624147#624147: *13 malloc: 0000650E7C4490A0:1024 +2025/08/20 09:33:26 [debug] 624147#624147: *13 recv: eof:1, avail:-1 +2025/08/20 09:33:26 [debug] 624147#624147: *13 recv: fd:6 0 of 1024 +2025/08/20 09:33:26 [info] 624147#624147: *13 client 127.0.0.1 closed keepalive connection +2025/08/20 09:33:26 [debug] 624147#624147: *13 close http connection: 6 +2025/08/20 09:33:26 [debug] 624147#624147: *13 event timer del: 6: 263604737 +2025/08/20 09:33:26 [debug] 624147#624147: *13 reusable connection: 0 +2025/08/20 09:33:26 [debug] 624147#624147: *13 free: 0000650E7C4490A0 +2025/08/20 09:33:26 [debug] 624147#624147: *13 free: 0000650E7C446840, unused: 120 +2025/08/20 09:33:26 [debug] 624147#624147: timer delta: 1 +2025/08/20 09:33:26 [debug] 624147#624147: worker cycle +2025/08/20 09:33:26 [debug] 624147#624147: epoll timer: -1 +2025/08/20 09:38:54 [notice] 624146#624146: signal 15 (SIGTERM) received from 626500, exiting +2025/08/20 09:38:54 [debug] 624146#624146: wake up, sigio 0 +2025/08/20 09:38:54 [debug] 624146#624146: child: 0 624147 e:0 t:0 d:0 r:1 j:0 +2025/08/20 09:38:54 [debug] 624146#624146: termination cycle: 50 +2025/08/20 09:38:54 [debug] 624146#624146: sigsuspend +2025/08/20 09:38:54 [debug] 624147#624147: epoll: fd:7 ev:0001 d:000079281606E0F8 +2025/08/20 09:38:54 [debug] 624147#624147: channel handler +2025/08/20 09:38:54 [debug] 624147#624147: channel: 32 +2025/08/20 09:38:54 [debug] 624147#624147: channel command: 4 +2025/08/20 09:38:54 [debug] 624147#624147: channel: -2 +2025/08/20 09:38:54 [debug] 624147#624147: timer delta: 327731 +2025/08/20 09:38:54 [notice] 624147#624147: exiting +2025/08/20 09:38:54 [debug] 624147#624147: flush files +2025/08/20 09:38:54 [debug] 624147#624147: run cleanup: 0000650E7C494A80 +2025/08/20 09:38:54 [debug] 624147#624147: run cleanup: 0000650E7C487A18 +2025/08/20 09:38:54 [debug] 624147#624147: cleanup resolver +2025/08/20 09:38:54 [debug] 624147#624147: free: 0000650E7C495DE0 +2025/08/20 09:38:54 [debug] 624147#624147: free: 0000650E7C488BE0 +2025/08/20 09:38:54 [debug] 624147#624147: free: 0000650E7C467B50 +2025/08/20 09:38:54 [debug] 624147#624147: free: 0000650E7C466A40 +2025/08/20 09:38:54 [debug] 624147#624147: free: 0000650E7C460A10 +2025/08/20 09:38:54 [debug] 624147#624147: free: 0000650E7C45F950 +2025/08/20 09:38:54 [debug] 624147#624147: free: 0000650E7C45E890 +2025/08/20 09:38:54 [debug] 624147#624147: free: 0000650E7C45D7D0 +2025/08/20 09:38:54 [debug] 624147#624147: free: 0000650E7C455170 +2025/08/20 09:38:54 [debug] 624147#624147: free: 0000650E7C44C140, unused: 0 +2025/08/20 09:38:54 [debug] 624147#624147: free: 0000650E7C456580, unused: 0 +2025/08/20 09:38:54 [debug] 624147#624147: free: 0000650E7C461A20, unused: 0 +2025/08/20 09:38:54 [debug] 624147#624147: free: 0000650E7C468B60, unused: 0 +2025/08/20 09:38:54 [debug] 624147#624147: free: 0000650E7C46CB70, unused: 0 +2025/08/20 09:38:54 [debug] 624147#624147: free: 0000650E7C470B80, unused: 0 +2025/08/20 09:38:54 [debug] 624147#624147: free: 0000650E7C474B90, unused: 0 +2025/08/20 09:38:54 [debug] 624147#624147: free: 0000650E7C478BA0, unused: 0 +2025/08/20 09:38:54 [debug] 624147#624147: free: 0000650E7C47CBB0, unused: 0 +2025/08/20 09:38:54 [debug] 624147#624147: free: 0000650E7C480BC0, unused: 0 +2025/08/20 09:38:54 [debug] 624147#624147: free: 0000650E7C484BD0, unused: 0 +2025/08/20 09:38:54 [debug] 624147#624147: free: 0000650E7C489DB0, unused: 0 +2025/08/20 09:38:54 [debug] 624147#624147: free: 0000650E7C48DDC0, unused: 0 +2025/08/20 09:38:54 [debug] 624147#624147: free: 0000650E7C491DD0, unused: 4920 +2025/08/20 09:38:54 [notice] 624147#624147: exit +2025/08/20 09:38:54 [notice] 624146#624146: signal 17 (SIGCHLD) received from 624147 +2025/08/20 09:38:54 [notice] 624146#624146: worker process 624147 exited with code 0 +2025/08/20 09:38:54 [debug] 624146#624146: shmtx forced unlock +2025/08/20 09:38:54 [debug] 624146#624146: wake up, sigio 3 +2025/08/20 09:38:54 [debug] 624146#624146: reap children +2025/08/20 09:38:54 [debug] 624146#624146: child: 0 624147 e:1 t:1 d:0 r:1 j:0 +2025/08/20 09:38:54 [notice] 624146#624146: exit +2025/08/20 09:38:54 [debug] 624146#624146: close listening 0.0.0.0:9001 #5 +2025/08/20 09:38:54 [debug] 624146#624146: run cleanup: 0000650E7C487A18 +2025/08/20 09:38:54 [debug] 624146#624146: cleanup resolver +2025/08/20 09:38:54 [debug] 624146#624146: free: 0000650E7C495DE0 +2025/08/20 09:38:54 [debug] 624146#624146: free: 0000650E7C488BE0 +2025/08/20 09:38:54 [debug] 624146#624146: free: 0000650E7C467B50 +2025/08/20 09:38:54 [debug] 624146#624146: free: 0000650E7C466A40 +2025/08/20 09:38:54 [debug] 624146#624146: free: 0000650E7C460A10 +2025/08/20 09:38:54 [debug] 624146#624146: free: 0000650E7C45F950 +2025/08/20 09:38:54 [debug] 624146#624146: free: 0000650E7C45E890 +2025/08/20 09:38:54 [debug] 624146#624146: free: 0000650E7C45D7D0 +2025/08/20 09:38:54 [debug] 624146#624146: free: 0000650E7C455170 +2025/08/20 09:38:54 [debug] 624146#624146: free: 0000650E7C44C140, unused: 0 +2025/08/20 09:38:54 [debug] 624146#624146: free: 0000650E7C456580, unused: 0 +2025/08/20 09:38:54 [debug] 624146#624146: free: 0000650E7C461A20, unused: 0 +2025/08/20 09:38:54 [debug] 624146#624146: free: 0000650E7C468B60, unused: 0 +2025/08/20 09:38:54 [debug] 624146#624146: free: 0000650E7C46CB70, unused: 0 +2025/08/20 09:38:54 [debug] 624146#624146: free: 0000650E7C470B80, unused: 0 +2025/08/20 09:38:54 [debug] 624146#624146: free: 0000650E7C474B90, unused: 0 +2025/08/20 09:38:54 [debug] 624146#624146: free: 0000650E7C478BA0, unused: 0 +2025/08/20 09:38:54 [debug] 624146#624146: free: 0000650E7C47CBB0, unused: 0 +2025/08/20 09:38:54 [debug] 624146#624146: free: 0000650E7C480BC0, unused: 0 +2025/08/20 09:38:54 [debug] 624146#624146: free: 0000650E7C484BD0, unused: 0 +2025/08/20 09:38:54 [debug] 624146#624146: free: 0000650E7C489DB0, unused: 0 +2025/08/20 09:38:54 [debug] 624146#624146: free: 0000650E7C48DDC0, unused: 0 +2025/08/20 09:38:54 [debug] 624146#624146: free: 0000650E7C491DD0, unused: 4951 +2025/08/20 09:38:57 [debug] 626535#626535: bind() 0.0.0.0:9001 #5 +2025/08/20 09:38:57 [debug] 626535#626535: counter: 000075FCD21FE080, 1 +2025/08/20 09:38:57 [debug] 626536#626536: bind() 0.0.0.0:9001 #5 +2025/08/20 09:38:57 [notice] 626536#626536: using the "epoll" event method +2025/08/20 09:38:57 [debug] 626536#626536: counter: 000073B011458080, 1 +2025/08/20 09:38:57 [notice] 626536#626536: nginx/1.18.0 (Ubuntu) +2025/08/20 09:38:57 [notice] 626536#626536: OS: Linux 6.12.10-76061203-generic +2025/08/20 09:38:57 [notice] 626536#626536: getrlimit(RLIMIT_NOFILE): 1048576:1048576 +2025/08/20 09:38:57 [debug] 626537#626536: write: 6, 00007FFDBED42270, 7, 0 +2025/08/20 09:38:57 [debug] 626537#626537: setproctitle: "nginx: master process nginx -p . -c config/local-nginx.conf" +2025/08/20 09:38:57 [notice] 626537#626537: start worker processes +2025/08/20 09:38:57 [debug] 626537#626537: channel 6:7 +2025/08/20 09:38:57 [notice] 626537#626537: start worker process 626538 +2025/08/20 09:38:57 [debug] 626537#626537: sigsuspend +2025/08/20 09:38:57 [debug] 626538#626538: add cleanup: 00005C23627C6AC0 +2025/08/20 09:38:57 [debug] 626538#626538: malloc: 00005C2362779BD0:8 +2025/08/20 09:38:57 [debug] 626538#626538: notify eventfd: 9 +2025/08/20 09:38:57 [debug] 626538#626538: testing the EPOLLRDHUP flag: success +2025/08/20 09:38:57 [debug] 626538#626538: malloc: 00005C236278C5D0:6144 +2025/08/20 09:38:57 [debug] 626538#626538: malloc: 000073B011250010:237568 +2025/08/20 09:38:57 [debug] 626538#626538: malloc: 00005C23627C96F0:98304 +2025/08/20 09:38:57 [debug] 626538#626538: malloc: 00005C23627E1700:98304 +2025/08/20 09:38:57 [debug] 626538#626538: epoll add event: fd:5 op:1 ev:00002001 +2025/08/20 09:38:57 [debug] 626538#626538: epoll add event: fd:7 op:1 ev:00002001 +2025/08/20 09:38:57 [debug] 626538#626538: setproctitle: "nginx: worker process" +2025/08/20 09:38:57 [debug] 626538#626538: worker cycle +2025/08/20 09:38:57 [debug] 626538#626538: epoll timer: -1 +2025/08/20 09:39:27 [debug] 626538#626538: epoll: fd:5 ev:0001 d:000073B011250010 +2025/08/20 09:39:27 [debug] 626538#626538: accept on 0.0.0.0:9001, ready: 0 +2025/08/20 09:39:27 [debug] 626538#626538: posix_memalign: 00005C2362778840:512 @16 +2025/08/20 09:39:27 [debug] 626538#626538: *1 accept: 127.0.0.1:49730 fd:6 +2025/08/20 09:39:27 [debug] 626538#626538: *1 event timer add: 6: 60000:263960688 +2025/08/20 09:39:27 [debug] 626538#626538: *1 reusable connection: 1 +2025/08/20 09:39:27 [debug] 626538#626538: *1 epoll add event: fd:6 op:1 ev:80002001 +2025/08/20 09:39:27 [debug] 626538#626538: timer delta: 30003 +2025/08/20 09:39:27 [debug] 626538#626538: worker cycle +2025/08/20 09:39:27 [debug] 626538#626538: epoll timer: 60000 +2025/08/20 09:39:27 [debug] 626538#626538: epoll: fd:6 ev:0001 d:000073B0112501E0 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http wait request handler +2025/08/20 09:39:27 [debug] 626538#626538: *1 malloc: 00005C236277B0A0:1024 +2025/08/20 09:39:27 [debug] 626538#626538: *1 recv: eof:0, avail:-1 +2025/08/20 09:39:27 [debug] 626538#626538: *1 recv: fd:6 1024 of 1024 +2025/08/20 09:39:27 [debug] 626538#626538: *1 recv: avail:112 +2025/08/20 09:39:27 [debug] 626538#626538: *1 reusable connection: 0 +2025/08/20 09:39:27 [debug] 626538#626538: *1 posix_memalign: 00005C2362797A70:4096 @16 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http process request line +2025/08/20 09:39:27 [debug] 626538#626538: *1 http request line: "PUT /upload HTTP/1.1" +2025/08/20 09:39:27 [debug] 626538#626538: *1 http uri: "/upload" +2025/08/20 09:39:27 [debug] 626538#626538: *1 http args: "" +2025/08/20 09:39:27 [debug] 626538#626538: *1 http exten: "" +2025/08/20 09:39:27 [debug] 626538#626538: *1 posix_memalign: 00005C236278DDE0:4096 @16 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http process request header line +2025/08/20 09:39:27 [debug] 626538#626538: *1 http header: "Host: localhost:9001" +2025/08/20 09:39:27 [debug] 626538#626538: *1 http header: "User-Agent: curl/8.15.0" +2025/08/20 09:39:27 [debug] 626538#626538: *1 http header: "Accept: */*" +2025/08/20 09:39:27 [debug] 626538#626538: *1 http header: "Authorization: Nostr eyJraW5kIjoyNDI0MiwiaWQiOiIzMDI1MzhlNDVhYTVjYWQzZmY4NWE3ODdiMGNjZWZiZDE3ZTBhZjg1N2EwZTg2MThmZjdjZjIzZjAzZjEyYTFiIiwicHVia2V5IjoiNzliZTY2N2VmOWRjYmJhYzU1YTA2Mjk1Y2U4NzBiMDcwMjliZmNkYjJkY2UyOGQ5NTlmMjgxNWIxNmY4MTc5OCIsImNyZWF0ZWRfYXQiOjE3NTU2OTcxNjcsInRhZ3MiOltbInQiLCJ1cGxvYWQiXSxbIngiLCI4NzcxNGQ0NGI1ZDNhMzk1NGRlODhhMWNlNmI0NmVhYTBiMGQxMTg4Nzg3OWEyM2U2NDlmY2U4M2YwYWRlZTYyIl0sWyJleHBpcmF0aW9uIiwiMTc1NTcwMDc2NyJdXSwiY29udGVudCI6IiIsInNpZyI6IjgzYWZjYzdkMDYyOGRjYzJkMTRlODA1NjE0YmJlMGMwZDE4Yjk1ZWZlOTY4ODExZGRlMTQ1OGM3MzFmMjkyZTRiNjM4NmRhMzZiM2UzY2NiM2M1MDgyZThlMDIzMWQ0M2MzN2I5YTYyYWQ5Mjg1YjIwZTY1MTU2YTg1MjhjNTUzIn0=" +2025/08/20 09:39:27 [debug] 626538#626538: *1 http header: "Content-Type: text/plain" +2025/08/20 09:39:27 [debug] 626538#626538: *1 http header: "Content-Disposition: attachment; filename="test_blob_1755697167.txt"" +2025/08/20 09:39:27 [debug] 626538#626538: *1 http header: "Content-Length: 296" +2025/08/20 09:39:27 [debug] 626538#626538: *1 http header done +2025/08/20 09:39:27 [debug] 626538#626538: *1 event timer del: 6: 263960688 +2025/08/20 09:39:27 [debug] 626538#626538: *1 generic phase: 0 +2025/08/20 09:39:27 [debug] 626538#626538: *1 rewrite phase: 1 +2025/08/20 09:39:27 [debug] 626538#626538: *1 test location: "/health" +2025/08/20 09:39:27 [debug] 626538#626538: *1 test location: "/upload" +2025/08/20 09:39:27 [debug] 626538#626538: *1 test location: ~ "^/([a-f0-9]{64}).*$" +2025/08/20 09:39:27 [debug] 626538#626538: *1 test location: ~ "^/([a-f0-9]{64})(\.[a-zA-Z0-9]+)?$" +2025/08/20 09:39:27 [debug] 626538#626538: *1 test location: ~ "^/fcgi-head/([a-f0-9]{64}).*$" +2025/08/20 09:39:27 [debug] 626538#626538: *1 test location: ~ "^/list/([a-f0-9]{64}).*$" +2025/08/20 09:39:27 [debug] 626538#626538: *1 using configuration "/upload" +2025/08/20 09:39:27 [debug] 626538#626538: *1 http cl:296 max:104857600 +2025/08/20 09:39:27 [debug] 626538#626538: *1 rewrite phase: 3 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http script var +2025/08/20 09:39:27 [debug] 626538#626538: *1 http script var: "PUT" +2025/08/20 09:39:27 [debug] 626538#626538: *1 http script regex: "^(PUT)$" +2025/08/20 09:39:27 [notice] 626538#626538: *1 "^(PUT)$" matches "PUT", client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", host: "localhost:9001" +2025/08/20 09:39:27 [debug] 626538#626538: *1 http script if +2025/08/20 09:39:27 [debug] 626538#626538: *1 http script if: false +2025/08/20 09:39:27 [debug] 626538#626538: *1 post rewrite phase: 4 +2025/08/20 09:39:27 [debug] 626538#626538: *1 generic phase: 5 +2025/08/20 09:39:27 [debug] 626538#626538: *1 generic phase: 6 +2025/08/20 09:39:27 [debug] 626538#626538: *1 generic phase: 7 +2025/08/20 09:39:27 [debug] 626538#626538: *1 access phase: 8 +2025/08/20 09:39:27 [debug] 626538#626538: *1 access phase: 9 +2025/08/20 09:39:27 [debug] 626538#626538: *1 access phase: 10 +2025/08/20 09:39:27 [debug] 626538#626538: *1 post access phase: 11 +2025/08/20 09:39:27 [debug] 626538#626538: *1 generic phase: 12 +2025/08/20 09:39:27 [debug] 626538#626538: *1 generic phase: 13 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http client request body preread 184 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http request body content length filter +2025/08/20 09:39:27 [debug] 626538#626538: *1 http body new buf t:1 f:0 00005C236277B3E8, pos 00005C236277B3E8, size: 184 file: 0, size: 0 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http read client request body +2025/08/20 09:39:27 [debug] 626538#626538: *1 recv: eof:0, avail:112 +2025/08/20 09:39:27 [debug] 626538#626538: *1 recv: fd:6 112 of 112 +2025/08/20 09:39:27 [debug] 626538#626538: *1 recv: avail:0 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http client request body recv 112 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http body new buf t:1 f:0 00005C236278E870, pos 00005C236278E870, size: 112 file: 0, size: 0 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http client request body rest 0 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http init upstream, client timer: 0 +2025/08/20 09:39:27 [debug] 626538#626538: *1 epoll add event: fd:6 op:3 ev:80002005 +2025/08/20 09:39:27 [debug] 626538#626538: *1 posix_memalign: 00005C2362782190:4096 @16 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http script copy: "QUERY_STRING" +2025/08/20 09:39:27 [debug] 626538#626538: *1 fastcgi param: "QUERY_STRING: " +2025/08/20 09:39:27 [debug] 626538#626538: *1 http script copy: "REQUEST_METHOD" +2025/08/20 09:39:27 [debug] 626538#626538: *1 http script var: "PUT" +2025/08/20 09:39:27 [debug] 626538#626538: *1 fastcgi param: "REQUEST_METHOD: PUT" +2025/08/20 09:39:27 [debug] 626538#626538: *1 http script copy: "CONTENT_TYPE" +2025/08/20 09:39:27 [debug] 626538#626538: *1 http script var: "text/plain" +2025/08/20 09:39:27 [debug] 626538#626538: *1 fastcgi param: "CONTENT_TYPE: text/plain" +2025/08/20 09:39:27 [debug] 626538#626538: *1 http script copy: "CONTENT_LENGTH" +2025/08/20 09:39:27 [debug] 626538#626538: *1 http script var: "296" +2025/08/20 09:39:27 [debug] 626538#626538: *1 fastcgi param: "CONTENT_LENGTH: 296" +2025/08/20 09:39:27 [debug] 626538#626538: *1 http script copy: "SCRIPT_NAME" +2025/08/20 09:39:27 [debug] 626538#626538: *1 http script var: "/upload" +2025/08/20 09:39:27 [debug] 626538#626538: *1 fastcgi param: "SCRIPT_NAME: /upload" +2025/08/20 09:39:27 [debug] 626538#626538: *1 http script copy: "REQUEST_URI" +2025/08/20 09:39:27 [debug] 626538#626538: *1 http script var: "/upload" +2025/08/20 09:39:27 [debug] 626538#626538: *1 fastcgi param: "REQUEST_URI: /upload" +2025/08/20 09:39:27 [debug] 626538#626538: *1 http script copy: "DOCUMENT_URI" +2025/08/20 09:39:27 [debug] 626538#626538: *1 http script var: "/upload" +2025/08/20 09:39:27 [debug] 626538#626538: *1 fastcgi param: "DOCUMENT_URI: /upload" +2025/08/20 09:39:27 [debug] 626538#626538: *1 http script copy: "DOCUMENT_ROOT" +2025/08/20 09:39:27 [debug] 626538#626538: *1 http script var: "./blobs" +2025/08/20 09:39:27 [debug] 626538#626538: *1 fastcgi param: "DOCUMENT_ROOT: ./blobs" +2025/08/20 09:39:27 [debug] 626538#626538: *1 http script copy: "SERVER_PROTOCOL" +2025/08/20 09:39:27 [debug] 626538#626538: *1 http script var: "HTTP/1.1" +2025/08/20 09:39:27 [debug] 626538#626538: *1 fastcgi param: "SERVER_PROTOCOL: HTTP/1.1" +2025/08/20 09:39:27 [debug] 626538#626538: *1 http script copy: "REQUEST_SCHEME" +2025/08/20 09:39:27 [debug] 626538#626538: *1 http script var: "http" +2025/08/20 09:39:27 [debug] 626538#626538: *1 fastcgi param: "REQUEST_SCHEME: http" +2025/08/20 09:39:27 [debug] 626538#626538: *1 http script copy: "" +2025/08/20 09:39:27 [debug] 626538#626538: *1 http script copy: "GATEWAY_INTERFACE" +2025/08/20 09:39:27 [debug] 626538#626538: *1 http script copy: "CGI/1.1" +2025/08/20 09:39:27 [debug] 626538#626538: *1 fastcgi param: "GATEWAY_INTERFACE: CGI/1.1" +2025/08/20 09:39:27 [debug] 626538#626538: *1 http script copy: "SERVER_SOFTWARE" +2025/08/20 09:39:27 [debug] 626538#626538: *1 http script copy: "nginx/" +2025/08/20 09:39:27 [debug] 626538#626538: *1 http script var: "1.18.0" +2025/08/20 09:39:27 [debug] 626538#626538: *1 fastcgi param: "SERVER_SOFTWARE: nginx/1.18.0" +2025/08/20 09:39:27 [debug] 626538#626538: *1 http script copy: "REMOTE_ADDR" +2025/08/20 09:39:27 [debug] 626538#626538: *1 http script var: "127.0.0.1" +2025/08/20 09:39:27 [debug] 626538#626538: *1 fastcgi param: "REMOTE_ADDR: 127.0.0.1" +2025/08/20 09:39:27 [debug] 626538#626538: *1 http script copy: "REMOTE_PORT" +2025/08/20 09:39:27 [debug] 626538#626538: *1 http script var: "49730" +2025/08/20 09:39:27 [debug] 626538#626538: *1 fastcgi param: "REMOTE_PORT: 49730" +2025/08/20 09:39:27 [debug] 626538#626538: *1 http script copy: "SERVER_ADDR" +2025/08/20 09:39:27 [debug] 626538#626538: *1 http script var: "127.0.0.1" +2025/08/20 09:39:27 [debug] 626538#626538: *1 fastcgi param: "SERVER_ADDR: 127.0.0.1" +2025/08/20 09:39:27 [debug] 626538#626538: *1 http script copy: "SERVER_PORT" +2025/08/20 09:39:27 [debug] 626538#626538: *1 http script var: "9001" +2025/08/20 09:39:27 [debug] 626538#626538: *1 fastcgi param: "SERVER_PORT: 9001" +2025/08/20 09:39:27 [debug] 626538#626538: *1 http script copy: "SERVER_NAME" +2025/08/20 09:39:27 [debug] 626538#626538: *1 http script var: "localhost" +2025/08/20 09:39:27 [debug] 626538#626538: *1 fastcgi param: "SERVER_NAME: localhost" +2025/08/20 09:39:27 [debug] 626538#626538: *1 http script copy: "REDIRECT_STATUS" +2025/08/20 09:39:27 [debug] 626538#626538: *1 http script copy: "200" +2025/08/20 09:39:27 [debug] 626538#626538: *1 fastcgi param: "REDIRECT_STATUS: 200" +2025/08/20 09:39:27 [debug] 626538#626538: *1 http script copy: "SCRIPT_FILENAME" +2025/08/20 09:39:27 [debug] 626538#626538: *1 http script var: "./blobs" +2025/08/20 09:39:27 [debug] 626538#626538: *1 http script copy: "/ginxsom.fcgi" +2025/08/20 09:39:27 [debug] 626538#626538: *1 fastcgi param: "SCRIPT_FILENAME: ./blobs/ginxsom.fcgi" +2025/08/20 09:39:27 [debug] 626538#626538: *1 fastcgi param: "HTTP_HOST: localhost:9001" +2025/08/20 09:39:27 [debug] 626538#626538: *1 fastcgi param: "HTTP_USER_AGENT: curl/8.15.0" +2025/08/20 09:39:27 [debug] 626538#626538: *1 fastcgi param: "HTTP_ACCEPT: */*" +2025/08/20 09:39:27 [debug] 626538#626538: *1 fastcgi param: "HTTP_AUTHORIZATION: Nostr eyJraW5kIjoyNDI0MiwiaWQiOiIzMDI1MzhlNDVhYTVjYWQzZmY4NWE3ODdiMGNjZWZiZDE3ZTBhZjg1N2EwZTg2MThmZjdjZjIzZjAzZjEyYTFiIiwicHVia2V5IjoiNzliZTY2N2VmOWRjYmJhYzU1YTA2Mjk1Y2U4NzBiMDcwMjliZmNkYjJkY2UyOGQ5NTlmMjgxNWIxNmY4MTc5OCIsImNyZWF0ZWRfYXQiOjE3NTU2OTcxNjcsInRhZ3MiOltbInQiLCJ1cGxvYWQiXSxbIngiLCI4NzcxNGQ0NGI1ZDNhMzk1NGRlODhhMWNlNmI0NmVhYTBiMGQxMTg4Nzg3OWEyM2U2NDlmY2U4M2YwYWRlZTYyIl0sWyJleHBpcmF0aW9uIiwiMTc1NTcwMDc2NyJdXSwiY29udGVudCI6IiIsInNpZyI6IjgzYWZjYzdkMDYyOGRjYzJkMTRlODA1NjE0YmJlMGMwZDE4Yjk1ZWZlOTY4ODExZGRlMTQ1OGM3MzFmMjkyZTRiNjM4NmRhMzZiM2UzY2NiM2M1MDgyZThlMDIzMWQ0M2MzN2I5YTYyYWQ5Mjg1YjIwZTY1MTU2YTg1MjhjNTUzIn0=" +2025/08/20 09:39:27 [debug] 626538#626538: *1 fastcgi param: "HTTP_CONTENT_TYPE: text/plain" +2025/08/20 09:39:27 [debug] 626538#626538: *1 fastcgi param: "HTTP_CONTENT_DISPOSITION: attachment; filename="test_blob_1755697167.txt"" +2025/08/20 09:39:27 [debug] 626538#626538: *1 fastcgi param: "HTTP_CONTENT_LENGTH: 296" +2025/08/20 09:39:27 [debug] 626538#626538: *1 http cleanup add: 00005C236278EBC0 +2025/08/20 09:39:27 [debug] 626538#626538: *1 get rr peer, try: 1 +2025/08/20 09:39:27 [debug] 626538#626538: *1 stream socket 10 +2025/08/20 09:39:27 [debug] 626538#626538: *1 epoll add connection: fd:10 ev:80002005 +2025/08/20 09:39:27 [debug] 626538#626538: *1 connect to unix:/tmp/ginxsom-fcgi.sock, fd:10 #2 +2025/08/20 09:39:27 [debug] 626538#626538: *1 connected +2025/08/20 09:39:27 [debug] 626538#626538: *1 http upstream connect: 0 +2025/08/20 09:39:27 [debug] 626538#626538: *1 posix_memalign: 00005C2362761F20:128 @16 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http upstream send request +2025/08/20 09:39:27 [debug] 626538#626538: *1 http upstream send request body +2025/08/20 09:39:27 [debug] 626538#626538: *1 chain writer buf fl:0 s:1304 +2025/08/20 09:39:27 [debug] 626538#626538: *1 chain writer buf fl:0 s:184 +2025/08/20 09:39:27 [debug] 626538#626538: *1 chain writer buf fl:0 s:8 +2025/08/20 09:39:27 [debug] 626538#626538: *1 chain writer buf fl:0 s:112 +2025/08/20 09:39:27 [debug] 626538#626538: *1 chain writer buf fl:0 s:8 +2025/08/20 09:39:27 [debug] 626538#626538: *1 chain writer in: 00005C236278EC50 +2025/08/20 09:39:27 [debug] 626538#626538: *1 writev: 1616 of 1616 +2025/08/20 09:39:27 [debug] 626538#626538: *1 chain writer out: 0000000000000000 +2025/08/20 09:39:27 [debug] 626538#626538: *1 event timer add: 10: 60000:263960688 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http finalize request: -4, "/upload?" a:1, c:2 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http request count:2 blk:0 +2025/08/20 09:39:27 [debug] 626538#626538: timer delta: 0 +2025/08/20 09:39:27 [debug] 626538#626538: worker cycle +2025/08/20 09:39:27 [debug] 626538#626538: epoll timer: 60000 +2025/08/20 09:39:27 [debug] 626538#626538: epoll: fd:6 ev:0004 d:000073B0112501E0 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http run request: "/upload?" +2025/08/20 09:39:27 [debug] 626538#626538: *1 http upstream check client, write event:1, "/upload" +2025/08/20 09:39:27 [debug] 626538#626538: epoll: fd:10 ev:0005 d:000073B0112502C8 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http upstream request: "/upload?" +2025/08/20 09:39:27 [debug] 626538#626538: *1 http upstream process header +2025/08/20 09:39:27 [debug] 626538#626538: *1 malloc: 00005C23627831A0:4096 +2025/08/20 09:39:27 [debug] 626538#626538: *1 recv: eof:0, avail:-1 +2025/08/20 09:39:27 [debug] 626538#626538: *1 recv: fd:10 3200 of 4096 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record byte: 01 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record byte: 07 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record byte: 00 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record byte: 01 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record byte: 00 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record byte: 21 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record byte: 07 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record byte: 00 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record length: 33 +2025/08/20 09:39:27 [error] 626538#626538: *1 FastCGI sent in stderr: "DEBUG: FastCGI received request" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record byte: 01 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record byte: 07 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record byte: 00 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record byte: 01 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record byte: 01 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record byte: F8 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record byte: 00 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record byte: 00 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record length: 504 +2025/08/20 09:39:27 [error] 626538#626538: *1 FastCGI sent in stderr: "DEBUG: METHOD=PUT, URI=/upload +ENTRY: Entering handle_upload_request() function +DEBUG: handle_upload_request called +LOG: [2025-08-20 09:39:27] PUT /upload - Auth: pending - Status: 0 +DEBUG: content_type=text/plain +DEBUG: content_length=296 +DEBUG: Raw Authorization header: Nostr eyJraW5kIjoyNDI0MiwiaWQiOiIzMDI1MzhlNDVhYTVjYWQzZmY4NWE3ODdiMGNjZWZiZDE3ZTBhZjg1N2EwZTg2MThmZjdjZjIzZjAzZjEyYTFiIiwicHVia2V5IjoiNzliZTY2N2VmOWRjYmJhYzU1YTA2Mjk1Y2U4NzBiMDcwMjliZmNkYjJkY2UyOGQ5NTlmMjgxNWIxNmY4MTc5OCIsImN" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record byte: 01 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record byte: 07 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record byte: 00 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record byte: 01 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record byte: 01 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record byte: F8 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record byte: 00 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record byte: 00 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record length: 504 +2025/08/20 09:39:27 [error] 626538#626538: *1 FastCGI sent in stderr: "yZWF0ZWRfYXQiOjE3NTU2OTcxNjcsInRhZ3MiOltbInQiLCJ1cGxvYWQiXSxbIngiLCI4NzcxNGQ0NGI1ZDNhMzk1NGRlODhhMWNlNmI0NmVhYTBiMGQxMTg4Nzg3OWEyM2U2NDlmY2U4M2YwYWRlZTYyIl0sWyJleHBpcmF0aW9uIiwiMTc1NTcwMDc2NyJdXSwiY29udGVudCI6IiIsInNpZyI6IjgzYWZjYzdkMDYyOGRjYzJkMTRlODA1NjE0YmJlMGMwZDE4Yjk1ZWZlOTY4ODExZGRlMTQ1OGM3MzFmMjkyZTRiNjM4NmRhMzZiM2UzY2NiM2M1MDgyZThlMDIzMWQ0M2MzN2I5YTYyYWQ5Mjg1YjIwZTY1MTU2YTg1MjhjNTUzIn0= +LOG: [2025-08-20 09:39:27] PUT /upload - Auth: auth_provided - Status: 0 +DEBUG-LAAN: Calculated SHA-256:" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record byte: 01 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record byte: 07 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record byte: 00 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record byte: 01 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record byte: 00 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record byte: 43 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record byte: 05 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record byte: 00 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record length: 67 +2025/08/20 09:39:27 [error] 626538#626538: *1 FastCGI sent in stderr: " 87714d44b5d3a3954de88a1ce6b46eaa0b0d11887879a23e649fce83f0adee62" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record byte: 01 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record byte: 07 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record byte: 00 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record byte: 01 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record byte: 01 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record byte: F8 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record byte: 00 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record byte: 00 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record length: 504 +2025/08/20 09:39:27 [error] 626538#626538: *1 FastCGI sent in stderr: "AUTH: About to perform authentication - auth_header present: YES +AUTH: Calling authenticate_request with hash: 87714d44b5d3a3954de88a1ce6b46eaa0b0d11887879a23e649fce83f0adee62 +═══════════════════════════════════════════════════════════════════ +🔍 STEP SERVER-1: Starting server-style authentication (mirroring test_auth_debug.c) +ℹ️ INFO: Server-style auth calle" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record byte: 01 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record byte: 07 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record byte: 00 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record byte: 01 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record byte: 01 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record byte: F8 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record byte: 00 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record byte: 00 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record length: 504 +2025/08/20 09:39:27 [error] 626538#626538: *1 FastCGI sent in stderr: "d with method: upload, hash: 87714d44b5d3a3954de88a1ce6b46eaa0b0d11887879a23e649fce83f0adee62 +🔍 STEP SERVER-2: Calling parse_authorization_header +DEBUG: parse_authorization_header called with header: Nostr eyJraW5kIjoyNDI0MiwiaWQiOiIzMDI1MzhlNDVhYTVj... +DEBUG: Extracted base64 event (length=DEBUG: Base64 decode result - decoded_len=DEBUG: Successfully decoded JSON (length=✅ SUCCESS: parse_authorization_header succeeded +🔍 STEP SERVER-3: Calling cJSON_Parse on JSON string +ℹ️ INFO: JSON to" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record byte: 01 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record byte: 07 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record byte: 00 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record byte: 01 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record byte: 01 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record byte: F8 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record byte: 00 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record byte: 00 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record length: 504 +2025/08/20 09:39:27 [error] 626538#626538: *1 FastCGI sent in stderr: " parse: {"kind":24242,"id":"302538e45aa5cad3ff85a787b0ccefbd17e0af857a0e8618ff7cf23f03f12a1b","pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1755697167,"tags":[["t","upload"],["x","87714d44b5d3a3954de88a1ce6b46eaa0b0d11887879a23e649fce83f0adee62"],["expiration","1755700767"]],"content":"","sig":"83afcc7d0628dcc2d14e805614bbe0c0d18b95efe968811dde1458c731f292e4b6386da36b3e3ccb3c5082e8e0231d43c37b9a62ad9285b20e65156a8528c553"} +✅ SUCCESS: cJSON_Parse succeeded" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record byte: 01 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record byte: 07 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record byte: 00 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record byte: 01 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record byte: 01 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record byte: F8 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record byte: 00 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record byte: 00 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record length: 504 +2025/08/20 09:39:27 [error] 626538#626538: *1 FastCGI sent in stderr: ", event parsed +ℹ️ INFO: Parsed JSON: { + "kind": 24242, + "id": "302538e45aa5cad3ff85a787b0ccefbd17e0af857a0e8618ff7cf23f03f12a1b", + "pubkey": "79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798", + "created_at": 1755697167, + "tags": [["t", "upload"], ["x", "87714d44b5d3a3954de88a1ce6b46eaa0b0d11887879a23e649fce83f0adee62"], ["expiration", "1755700767"]], + "content": "", + "sig": "83afcc7d0628dcc2d14e805614bbe0c0d18b95efe968811dde1458c731f292e4b6386da36b3e3ccb3c5082e8e0231d43c37b9a62a" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:39:27 [debug] 626538#626538: *1 recv: eof:0, avail:0 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http upstream request: "/upload?" +2025/08/20 09:39:27 [debug] 626538#626538: *1 http upstream dummy handler +2025/08/20 09:39:27 [debug] 626538#626538: timer delta: 3 +2025/08/20 09:39:27 [debug] 626538#626538: worker cycle +2025/08/20 09:39:27 [debug] 626538#626538: epoll timer: 59997 +2025/08/20 09:39:27 [debug] 626538#626538: epoll: fd:10 ev:2005 d:000073B0112502C8 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http upstream request: "/upload?" +2025/08/20 09:39:27 [debug] 626538#626538: *1 http upstream process header +2025/08/20 09:39:27 [debug] 626538#626538: *1 recv: eof:1, avail:-1 +2025/08/20 09:39:27 [debug] 626538#626538: *1 recv: fd:10 1984 of 4096 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record byte: 01 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record byte: 07 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record byte: 00 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record byte: 01 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record byte: 01 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record byte: F8 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record byte: 00 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record byte: 00 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record length: 504 +2025/08/20 09:39:27 [error] 626538#626538: *1 FastCGI sent in stderr: "d9285b20e65156a8528c553" +} +🔍 STEP SERVER-4: Event fields before validation +ℹ️ INFO: id: 302538e45aa5cad3ff85a787b0ccefbd17e0af857a0e8618ff7cf23f03f12a1b +ℹ️ INFO: pubkey: 79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 +ℹ️ INFO: sig: 83afcc7d0628dcc2d14e805614bbe0c0d18b95efe968811dde1458c731f292e4b6386da36b3e3ccb3c5082e8e0231d43c37b9a62ad9285b20e65156a8528c553 +ℹ️ INFO: kind: 24242 +ℹ️ INFO: created_at: 1755697167 +🔍 STEP SERVER-5: Detailed pubkey" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record byte: 01 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record byte: 07 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record byte: 00 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record byte: 01 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record byte: 01 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record byte: F8 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record byte: 00 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record byte: 00 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record length: 504 +2025/08/20 09:39:27 [error] 626538#626538: *1 FastCGI sent in stderr: " analysis +ℹ️ INFO: Pubkey: 79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 +ℹ️ INFO: Length: ℹ️ INFO: Character analysis (first 10): +7(0x37) 9(0x39) b(0x62) e(0x65) 6(0x36) 6(0x36) 7(0x37) e(0x65) f(0x66) 9(0x39) +🔍 STEP SERVER-6: Pre-validation pubkey analysis +ℹ️ INFO: Pubkey: 79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 +ℹ️ INFO: Length: ℹ️ INFO: Character analysis (first 10): +7(55) 9(57) b(98) e(101) 6(54) 6(54) 7(5" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record byte: 01 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record byte: 07 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record byte: 00 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record byte: 01 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record byte: 01 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record byte: F8 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record byte: 00 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record byte: 00 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record length: 504 +2025/08/20 09:39:27 [error] 626538#626538: *1 FastCGI sent in stderr: "5) e(101) f(102) 9(57) +ℹ️ INFO: Character validation test: +ALL VALID (lowercase hex) +🔍 STEP SERVER-7: Starting detailed validation analysis +ℹ️ INFO: Testing structure validation... +ℹ️ INFO: nostr_validate_event_structure returned: 0 (Success) +✅ SUCCESS: Structure validation PASSED +ℹ️ INFO: Testing cryptographic verification... +ℹ️ INFO: nostr_verify_event_signature returned: -32 (Event has invalid public key) +❌ ERROR: CRYPTO verification failed! +❌ ERROR: Failed p" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record byte: 01 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record byte: 07 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record byte: 00 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record byte: 01 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record byte: 00 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record byte: C5 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record byte: 03 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record byte: 00 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record length: 197 +2025/08/20 09:39:27 [error] 626538#626538: *1 FastCGI sent in stderr: "ubkey: 79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 (length: AUTH: authenticate_request returned: -32 +LOG: [2025-08-20 09:39:27] PUT /upload - Auth: auth_failed - Status: 401" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "PUT /upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/ginxsom-fcgi.sock:", host: "localhost:9001" +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record byte: 01 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record byte: 07 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record byte: 00 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record byte: 01 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record byte: 00 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record byte: 00 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record byte: 00 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record byte: 00 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record length: 0 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record byte: 01 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record byte: 06 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record byte: 00 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record byte: 01 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record byte: 00 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record byte: C7 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record byte: 01 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record byte: 00 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record length: 199 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi parser: 0 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi header: "Status: 401 Unauthorized" +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi parser: 0 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi header: "Content-Type: application/json" +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi parser: 1 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi header done +2025/08/20 09:39:27 [debug] 626538#626538: *1 HTTP/1.1 401 Unauthorized +Server: nginx/1.18.0 (Ubuntu) +Date: Wed, 20 Aug 2025 13:39:27 GMT +Content-Type: application/json +Transfer-Encoding: chunked +Connection: keep-alive + +2025/08/20 09:39:27 [debug] 626538#626538: *1 write new buf t:1 f:0 00005C2362782848, pos 00005C2362782848, size: 181 file: 0, size: 0 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http write filter: l:0 f:0 s:181 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http cacheable: 0 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http upstream process upstream +2025/08/20 09:39:27 [debug] 626538#626538: *1 pipe read upstream: 1 +2025/08/20 09:39:27 [debug] 626538#626538: *1 pipe preread: 164 +2025/08/20 09:39:27 [debug] 626538#626538: *1 readv: eof:1, avail:0 +2025/08/20 09:39:27 [debug] 626538#626538: *1 readv: 1, last:2112 +2025/08/20 09:39:27 [debug] 626538#626538: *1 pipe recv chain: 0 +2025/08/20 09:39:27 [debug] 626538#626538: *1 pipe buf free s:0 t:1 f:0 00005C23627831A0, pos 00005C23627838BC, size: 164 file: 0, size: 0 +2025/08/20 09:39:27 [debug] 626538#626538: *1 pipe length: -1 +2025/08/20 09:39:27 [debug] 626538#626538: *1 input buf #0 00005C23627838BC +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record byte: 01 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record byte: 06 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record byte: 00 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record byte: 01 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record byte: 00 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record byte: 00 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record byte: 00 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record byte: 00 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record length: 0 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi closed stdout +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record byte: 01 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record byte: 03 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record byte: 00 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record byte: 01 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record byte: 00 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record byte: 08 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record byte: 00 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record byte: 00 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi record length: 8 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http fastcgi sent end request +2025/08/20 09:39:27 [debug] 626538#626538: *1 input buf 00005C23627838BC 139 +2025/08/20 09:39:27 [debug] 626538#626538: *1 pipe write downstream: 1 +2025/08/20 09:39:27 [debug] 626538#626538: *1 pipe write downstream flush in +2025/08/20 09:39:27 [debug] 626538#626538: *1 http output filter "/upload?" +2025/08/20 09:39:27 [debug] 626538#626538: *1 http copy filter: "/upload?" +2025/08/20 09:39:27 [debug] 626538#626538: *1 http postpone filter "/upload?" 00005C236278EC20 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http chunk: 139 +2025/08/20 09:39:27 [debug] 626538#626538: *1 write old buf t:1 f:0 00005C2362782848, pos 00005C2362782848, size: 181 file: 0, size: 0 +2025/08/20 09:39:27 [debug] 626538#626538: *1 write new buf t:1 f:0 00005C236278EDB8, pos 00005C236278EDB8, size: 4 file: 0, size: 0 +2025/08/20 09:39:27 [debug] 626538#626538: *1 write new buf t:1 f:0 00005C23627831A0, pos 00005C23627838BC, size: 139 file: 0, size: 0 +2025/08/20 09:39:27 [debug] 626538#626538: *1 write new buf t:0 f:0 0000000000000000, pos 00005C234DABC2E8, size: 2 file: 0, size: 0 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http write filter: l:0 f:0 s:326 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http copy filter: 0 "/upload?" +2025/08/20 09:39:27 [debug] 626538#626538: *1 pipe write downstream done +2025/08/20 09:39:27 [debug] 626538#626538: *1 event timer: 10, old: 263960688, new: 263960692 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http upstream exit: 0000000000000000 +2025/08/20 09:39:27 [debug] 626538#626538: *1 finalize http upstream request: 0 +2025/08/20 09:39:27 [debug] 626538#626538: *1 finalize http fastcgi request +2025/08/20 09:39:27 [debug] 626538#626538: *1 free rr peer 1 0 +2025/08/20 09:39:27 [debug] 626538#626538: *1 close http upstream connection: 10 +2025/08/20 09:39:27 [debug] 626538#626538: *1 free: 00005C2362761F20, unused: 48 +2025/08/20 09:39:27 [debug] 626538#626538: *1 event timer del: 10: 263960688 +2025/08/20 09:39:27 [debug] 626538#626538: *1 reusable connection: 0 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http upstream temp fd: -1 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http output filter "/upload?" +2025/08/20 09:39:27 [debug] 626538#626538: *1 http copy filter: "/upload?" +2025/08/20 09:39:27 [debug] 626538#626538: *1 http postpone filter "/upload?" 00007FFDBED41EB0 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http chunk: 0 +2025/08/20 09:39:27 [debug] 626538#626538: *1 write old buf t:1 f:0 00005C2362782848, pos 00005C2362782848, size: 181 file: 0, size: 0 +2025/08/20 09:39:27 [debug] 626538#626538: *1 write old buf t:1 f:0 00005C236278EDB8, pos 00005C236278EDB8, size: 4 file: 0, size: 0 +2025/08/20 09:39:27 [debug] 626538#626538: *1 write old buf t:1 f:0 00005C23627831A0, pos 00005C23627838BC, size: 139 file: 0, size: 0 +2025/08/20 09:39:27 [debug] 626538#626538: *1 write old buf t:0 f:0 0000000000000000, pos 00005C234DABC2E8, size: 2 file: 0, size: 0 +2025/08/20 09:39:27 [debug] 626538#626538: *1 write new buf t:0 f:0 0000000000000000, pos 00005C234DABC2E5, size: 5 file: 0, size: 0 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http write filter: l:1 f:0 s:331 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http write filter limit 0 +2025/08/20 09:39:27 [debug] 626538#626538: *1 writev: 331 of 331 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http write filter 0000000000000000 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http copy filter: 0 "/upload?" +2025/08/20 09:39:27 [debug] 626538#626538: *1 http finalize request: 0, "/upload?" a:1, c:1 +2025/08/20 09:39:27 [debug] 626538#626538: *1 set http keepalive handler +2025/08/20 09:39:27 [debug] 626538#626538: *1 http close request +2025/08/20 09:39:27 [debug] 626538#626538: *1 http log handler +2025/08/20 09:39:27 [debug] 626538#626538: *1 free: 00005C23627831A0 +2025/08/20 09:39:27 [debug] 626538#626538: *1 free: 00005C2362797A70, unused: 3 +2025/08/20 09:39:27 [debug] 626538#626538: *1 free: 00005C236278DDE0, unused: 0 +2025/08/20 09:39:27 [debug] 626538#626538: *1 free: 00005C2362782190, unused: 1250 +2025/08/20 09:39:27 [debug] 626538#626538: *1 free: 00005C236277B0A0 +2025/08/20 09:39:27 [debug] 626538#626538: *1 hc free: 0000000000000000 +2025/08/20 09:39:27 [debug] 626538#626538: *1 hc busy: 0000000000000000 0 +2025/08/20 09:39:27 [debug] 626538#626538: *1 tcp_nodelay +2025/08/20 09:39:27 [debug] 626538#626538: *1 reusable connection: 1 +2025/08/20 09:39:27 [debug] 626538#626538: *1 event timer add: 6: 65000:263965692 +2025/08/20 09:39:27 [debug] 626538#626538: *1 post event 00005C23627C97B0 +2025/08/20 09:39:27 [debug] 626538#626538: timer delta: 1 +2025/08/20 09:39:27 [debug] 626538#626538: posted event 00005C23627C97B0 +2025/08/20 09:39:27 [debug] 626538#626538: *1 delete posted event 00005C23627C97B0 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http keepalive handler +2025/08/20 09:39:27 [debug] 626538#626538: *1 malloc: 00005C236277B0A0:1024 +2025/08/20 09:39:27 [debug] 626538#626538: *1 recv: eof:0, avail:0 +2025/08/20 09:39:27 [debug] 626538#626538: *1 free: 00005C236277B0A0 +2025/08/20 09:39:27 [debug] 626538#626538: worker cycle +2025/08/20 09:39:27 [debug] 626538#626538: epoll timer: 65000 +2025/08/20 09:39:27 [debug] 626538#626538: epoll: fd:6 ev:2005 d:000073B0112501E0 +2025/08/20 09:39:27 [debug] 626538#626538: *1 http keepalive handler +2025/08/20 09:39:27 [debug] 626538#626538: *1 malloc: 00005C236277B0A0:1024 +2025/08/20 09:39:27 [debug] 626538#626538: *1 recv: eof:1, avail:-1 +2025/08/20 09:39:27 [debug] 626538#626538: *1 recv: fd:6 0 of 1024 +2025/08/20 09:39:27 [info] 626538#626538: *1 client 127.0.0.1 closed keepalive connection +2025/08/20 09:39:27 [debug] 626538#626538: *1 close http connection: 6 +2025/08/20 09:39:27 [debug] 626538#626538: *1 event timer del: 6: 263965692 +2025/08/20 09:39:27 [debug] 626538#626538: *1 reusable connection: 0 +2025/08/20 09:39:27 [debug] 626538#626538: *1 free: 00005C236277B0A0 +2025/08/20 09:39:27 [debug] 626538#626538: *1 free: 00005C2362778840, unused: 120 +2025/08/20 09:39:27 [debug] 626538#626538: timer delta: 2 +2025/08/20 09:39:27 [debug] 626538#626538: worker cycle +2025/08/20 09:39:27 [debug] 626538#626538: epoll timer: -1 diff --git a/logs/fcgi-stderr.log b/logs/fcgi-stderr.log new file mode 100644 index 0000000..e5b187b --- /dev/null +++ b/logs/fcgi-stderr.log @@ -0,0 +1,3 @@ +FastCGI wrapper starting at Wed Aug 20 09:15:29 AM EDT 2025 +FastCGI wrapper starting at Wed Aug 20 09:19:29 AM EDT 2025 +FastCGI wrapper starting at Wed Aug 20 09:38:57 AM EDT 2025 diff --git a/logs/nginx.pid b/logs/nginx.pid index 9dc9bcf..96547ef 100644 --- a/logs/nginx.pid +++ b/logs/nginx.pid @@ -1 +1 @@ -596584 +626537 diff --git a/logs/spawn-fcgi.log b/logs/spawn-fcgi.log new file mode 100644 index 0000000..e69de29 diff --git a/restart-all.sh b/restart-all.sh index 56d1791..545cacb 100755 --- a/restart-all.sh +++ b/restart-all.sh @@ -141,8 +141,8 @@ if ! command -v spawn-fcgi &> /dev/null; then exit 1 fi -# Start FastCGI application -spawn-fcgi -s "$SOCKET_PATH" -M 666 -u "$USER" -g "$USER" -f "$FCGI_BINARY" -P "$PID_FILE" +# Start FastCGI application with stderr logging using wrapper +spawn-fcgi -s "$SOCKET_PATH" -M 666 -u "$USER" -g "$USER" -f "./fcgi-wrapper.sh" -P "$PID_FILE" 2>logs/spawn-fcgi.log if [ $? -eq 0 ] && [ -f "$PID_FILE" ]; then PID=$(cat "$PID_FILE") @@ -226,4 +226,4 @@ fi echo -e "\n${GREEN}=== Restart sequence complete ===${NC}" echo -e "${YELLOW}Server should be available at: http://localhost:9001${NC}" echo -e "${YELLOW}To stop all processes, run: nginx -p . -c $NGINX_CONFIG -s stop && kill \$(cat $PID_FILE 2>/dev/null)${NC}" -echo -e "${YELLOW}To monitor logs, check: logs/error.log and logs/access.log${NC}" \ No newline at end of file +echo -e "${YELLOW}To monitor logs, check: logs/error.log, logs/access.log, and logs/fcgi-stderr.log${NC}" \ No newline at end of file diff --git a/server_debug.log b/server_debug.log new file mode 100644 index 0000000..e69de29 diff --git a/server_response.log b/server_response.log new file mode 100644 index 0000000..df279be --- /dev/null +++ b/server_response.log @@ -0,0 +1,10 @@ + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 179 100 166 100 13 25917 2029 --:--:-- --:--:-- --:--:-- 29833 + +502 Bad Gateway + +

502 Bad Gateway

+
nginx/1.18.0 (Ubuntu)
+ + diff --git a/src/main.c b/src/main.c index 0ee416b..2e23950 100644 --- a/src/main.c +++ b/src/main.c @@ -16,6 +16,13 @@ #include #include "ginxsom.h" +// Detailed debugging macros (matching test_auth_debug.c) +#define LOG_STEP(step, msg, ...) fprintf(stderr, "🔍 STEP %s: " msg "\n", step, ##__VA_ARGS__) +#define LOG_SUCCESS(msg, ...) fprintf(stderr, "✅ SUCCESS: " msg "\n", ##__VA_ARGS__) +#define LOG_ERROR(msg, ...) fprintf(stderr, "❌ ERROR: " msg "\n", ##__VA_ARGS__) +#define LOG_INFO(msg, ...) fprintf(stderr, "ℹ️ INFO: " msg "\n", ##__VA_ARGS__) +#define LOG_DIVIDER() fprintf(stderr, "═══════════════════════════════════════════════════════════════════\n") + #define MAX_SHA256_LEN 65 #define MAX_PATH_LEN 512 #define MAX_MIME_LEN 128 @@ -45,88 +52,88 @@ int insert_blob_metadata(const char* sha256, long size, const char* type, sqlite3_stmt* stmt; int rc; - printf("DEBUG: insert_blob_metadata() called for sha256='%s'\r\n", sha256); - printf("DEBUG: Opening database at path: %s\r\n", DB_PATH); + fprintf(stderr, "DEBUG: insert_blob_metadata() called for sha256='%s'\r\n", sha256); + fprintf(stderr, "DEBUG: Opening database at path: %s\r\n", DB_PATH); rc = sqlite3_open_v2(DB_PATH, &db, SQLITE_OPEN_READWRITE, NULL); if (rc) { - printf("DEBUG: Database open FAILED: %s\r\n", sqlite3_errmsg(db)); + fprintf(stderr, "DEBUG: Database open FAILED: %s\r\n", sqlite3_errmsg(db)); fprintf(stderr, "Can't open database: %s\n", sqlite3_errmsg(db)); return 0; } - printf("DEBUG: Database opened successfully for writing\r\n"); + fprintf(stderr, "DEBUG: Database opened successfully for writing\r\n"); const char* sql = "INSERT INTO blobs (sha256, size, type, uploaded_at, uploader_pubkey, filename) VALUES (?, ?, ?, ?, ?, ?)"; - printf("DEBUG: Preparing SQL: %s\r\n", sql); + fprintf(stderr, "DEBUG: Preparing SQL: %s\r\n", sql); rc = sqlite3_prepare_v2(db, sql, -1, &stmt, NULL); if (rc != SQLITE_OK) { - printf("DEBUG: SQL prepare FAILED: %s\r\n", sqlite3_errmsg(db)); + fprintf(stderr, "DEBUG: SQL prepare FAILED: %s\r\n", sqlite3_errmsg(db)); fprintf(stderr, "SQL error: %s\n", sqlite3_errmsg(db)); sqlite3_close(db); return 0; } - printf("DEBUG: SQL prepared successfully, binding parameters\r\n"); - printf("DEBUG: Parameter values to bind:\r\n"); - printf("DEBUG: 1. sha256 = '%s'\r\n", sha256 ? sha256 : "NULL"); - printf("DEBUG: 2. size = %ld\r\n", size); - printf("DEBUG: 3. type = '%s'\r\n", type ? type : "NULL"); - printf("DEBUG: 4. uploaded_at = %ld\r\n", uploaded_at); - printf("DEBUG: 5. uploader_pubkey = '%s'\r\n", uploader_pubkey ? uploader_pubkey : "NULL"); - printf("DEBUG: 6. filename = '%s'\r\n", filename ? filename : "NULL"); + fprintf(stderr, "DEBUG: SQL prepared successfully, binding parameters\r\n"); + fprintf(stderr, "DEBUG: Parameter values to bind:\r\n"); + fprintf(stderr, "DEBUG: 1. sha256 = '%s'\r\n", sha256 ? sha256 : "NULL"); + fprintf(stderr, "DEBUG: 2. size = %ld\r\n", size); + fprintf(stderr, "DEBUG: 3. type = '%s'\r\n", type ? type : "NULL"); + fprintf(stderr, "DEBUG: 4. uploaded_at = %ld\r\n", uploaded_at); + fprintf(stderr, "DEBUG: 5. uploader_pubkey = '%s'\r\n", uploader_pubkey ? uploader_pubkey : "NULL"); + fprintf(stderr, "DEBUG: 6. filename = '%s'\r\n", filename ? filename : "NULL"); // Bind parameters - printf("DEBUG: Binding parameter 1 (sha256)\r\n"); + fprintf(stderr, "DEBUG: Binding parameter 1 (sha256)\r\n"); sqlite3_bind_text(stmt, 1, sha256, -1, SQLITE_STATIC); - printf("DEBUG: Binding parameter 2 (size)\r\n"); + fprintf(stderr, "DEBUG: Binding parameter 2 (size)\r\n"); sqlite3_bind_int64(stmt, 2, size); - printf("DEBUG: Binding parameter 3 (type)\r\n"); + fprintf(stderr, "DEBUG: Binding parameter 3 (type)\r\n"); sqlite3_bind_text(stmt, 3, type, -1, SQLITE_STATIC); - printf("DEBUG: Binding parameter 4 (uploaded_at)\r\n"); + fprintf(stderr, "DEBUG: Binding parameter 4 (uploaded_at)\r\n"); sqlite3_bind_int64(stmt, 4, uploaded_at); - printf("DEBUG: Binding parameter 5 (uploader_pubkey)\r\n"); + fprintf(stderr, "DEBUG: Binding parameter 5 (uploader_pubkey)\r\n"); if (uploader_pubkey) { - printf("DEBUG: Binding uploader_pubkey as text: '%s'\r\n", uploader_pubkey); + fprintf(stderr, "DEBUG: Binding uploader_pubkey as text: '%s'\r\n", uploader_pubkey); sqlite3_bind_text(stmt, 5, uploader_pubkey, -1, SQLITE_STATIC); } else { - printf("DEBUG: Binding uploader_pubkey as NULL\r\n"); + fprintf(stderr, "DEBUG: Binding uploader_pubkey as NULL\r\n"); sqlite3_bind_null(stmt, 5); } - printf("DEBUG: Binding parameter 6 (filename)\r\n"); + fprintf(stderr, "DEBUG: Binding parameter 6 (filename)\r\n"); if (filename) { - printf("DEBUG: Binding filename as text: '%s'\r\n", filename); + fprintf(stderr, "DEBUG: Binding filename as text: '%s'\r\n", filename); sqlite3_bind_text(stmt, 6, filename, -1, SQLITE_STATIC); } else { - printf("DEBUG: Binding filename as NULL\r\n"); + fprintf(stderr, "DEBUG: Binding filename as NULL\r\n"); sqlite3_bind_null(stmt, 6); } - printf("DEBUG: Parameters bound, executing INSERT\r\n"); + fprintf(stderr, "DEBUG: Parameters bound, executing INSERT\r\n"); rc = sqlite3_step(stmt); int success = 0; if (rc == SQLITE_DONE) { - printf("DEBUG: INSERT successful\r\n"); + fprintf(stderr, "DEBUG: INSERT successful\r\n"); success = 1; } else if (rc == SQLITE_CONSTRAINT) { - printf("DEBUG: INSERT failed - blob already exists (duplicate sha256)\r\n"); + fprintf(stderr, "DEBUG: INSERT failed - blob already exists (duplicate sha256)\r\n"); // This is actually OK - blob already exists with same hash success = 1; } else { - printf("DEBUG: INSERT failed: %s\r\n", sqlite3_errmsg(db)); + fprintf(stderr, "DEBUG: INSERT failed: %s\r\n", sqlite3_errmsg(db)); success = 0; } sqlite3_finalize(stmt); sqlite3_close(db); - printf("DEBUG: Database closed, returning %d\r\n", success); + fprintf(stderr, "DEBUG: Database closed, returning %d\r\n", success); return success; } @@ -136,41 +143,41 @@ int get_blob_metadata(const char* sha256, blob_metadata_t* metadata) { sqlite3_stmt* stmt; int rc; - printf("DEBUG: get_blob_metadata() called with sha256='%s'\r\n", sha256); - printf("DEBUG: Opening database at path: %s\r\n", DB_PATH); + fprintf(stderr, "DEBUG: get_blob_metadata() called with sha256='%s'\r\n", sha256); + fprintf(stderr, "DEBUG: Opening database at path: %s\r\n", DB_PATH); rc = sqlite3_open_v2(DB_PATH, &db, SQLITE_OPEN_READONLY, NULL); if (rc) { - printf("DEBUG: Database open FAILED: %s\r\n", sqlite3_errmsg(db)); + fprintf(stderr, "DEBUG: Database open FAILED: %s\r\n", sqlite3_errmsg(db)); fprintf(stderr, "Can't open database: %s\n", sqlite3_errmsg(db)); return 0; } - printf("DEBUG: Database opened successfully\r\n"); + fprintf(stderr, "DEBUG: Database opened successfully\r\n"); const char* sql = "SELECT sha256, size, type, uploaded_at, filename FROM blobs WHERE sha256 = ?"; - printf("DEBUG: Preparing SQL: %s\r\n", sql); + fprintf(stderr, "DEBUG: Preparing SQL: %s\r\n", sql); rc = sqlite3_prepare_v2(db, sql, -1, &stmt, NULL); if (rc != SQLITE_OK) { - printf("DEBUG: SQL prepare FAILED: %s\r\n", sqlite3_errmsg(db)); + fprintf(stderr, "DEBUG: SQL prepare FAILED: %s\r\n", sqlite3_errmsg(db)); fprintf(stderr, "SQL error: %s\n", sqlite3_errmsg(db)); sqlite3_close(db); return 0; } - printf("DEBUG: SQL prepared successfully\r\n"); - printf("DEBUG: Binding parameter sha256='%s'\r\n", sha256); + fprintf(stderr, "DEBUG: SQL prepared successfully\r\n"); + fprintf(stderr, "DEBUG: Binding parameter sha256='%s'\r\n", sha256); sqlite3_bind_text(stmt, 1, sha256, -1, SQLITE_STATIC); - printf("DEBUG: Executing SQL query...\r\n"); + fprintf(stderr, "DEBUG: Executing SQL query...\r\n"); rc = sqlite3_step(stmt); - printf("DEBUG: sqlite3_step() returned: %d (SQLITE_ROW=%d, SQLITE_DONE=%d)\r\n", + fprintf(stderr, "DEBUG: sqlite3_step() returned: %d (SQLITE_ROW=%d, SQLITE_DONE=%d)\r\n", rc, SQLITE_ROW, SQLITE_DONE); if (rc == SQLITE_ROW) { - printf("DEBUG: Row found! Extracting metadata...\r\n"); + fprintf(stderr, "DEBUG: Row found! Extracting metadata...\r\n"); strncpy(metadata->sha256, (char*)sqlite3_column_text(stmt, 0), MAX_SHA256_LEN-1); metadata->size = sqlite3_column_int64(stmt, 1); strncpy(metadata->type, (char*)sqlite3_column_text(stmt, 2), MAX_MIME_LEN-1); @@ -182,16 +189,16 @@ int get_blob_metadata(const char* sha256, blob_metadata_t* metadata) { metadata->filename[0] = '\0'; } metadata->found = 1; - printf("DEBUG: Metadata extracted - size=%ld, type='%s'\r\n", + fprintf(stderr, "DEBUG: Metadata extracted - size=%ld, type='%s'\r\n", metadata->size, metadata->type); } else { - printf("DEBUG: No row found for sha256='%s'\r\n", sha256); + fprintf(stderr, "DEBUG: No row found for sha256='%s'\r\n", sha256); metadata->found = 0; } sqlite3_finalize(stmt); sqlite3_close(db); - printf("DEBUG: Database closed, returning %d\r\n", metadata->found); + fprintf(stderr, "DEBUG: Database closed, returning %d\r\n", metadata->found); return metadata->found; } @@ -223,17 +230,17 @@ int file_exists_with_type(const char* sha256, const char* mime_type) { snprintf(filepath, sizeof(filepath), "blobs/%s%s", sha256, extension); - printf("DEBUG: file_exists_with_type() checking path: '%s' (MIME: %s)\r\n", filepath, mime_type); + fprintf(stderr, "DEBUG: file_exists_with_type() checking path: '%s' (MIME: %s)\r\n", filepath, mime_type); struct stat st; int result = stat(filepath, &st); - printf("DEBUG: stat() returned: %d (0=success, -1=fail)\r\n", result); + fprintf(stderr, "DEBUG: stat() returned: %d (0=success, -1=fail)\r\n", result); if (result == 0) { - printf("DEBUG: File exists! Size: %ld bytes\r\n", st.st_size); + fprintf(stderr, "DEBUG: File exists! Size: %ld bytes\r\n", st.st_size); return 1; } else { - printf("DEBUG: File does not exist or stat failed\r\n"); + fprintf(stderr, "DEBUG: File does not exist or stat failed\r\n"); return 0; } } @@ -242,29 +249,29 @@ int file_exists_with_type(const char* sha256, const char* mime_type) { void handle_head_request(const char* sha256) { blob_metadata_t metadata = {0}; - printf("DEBUG: handle_head_request called with sha256=%s\r\n", sha256); + fprintf(stderr, "DEBUG: handle_head_request called with sha256=%s\r\n", sha256); // Validate SHA-256 format (64 hex characters) if (strlen(sha256) != 64) { - printf("DEBUG: SHA-256 length validation failed: %zu\r\n", strlen(sha256)); + fprintf(stderr, "DEBUG: SHA-256 length validation failed: %zu\r\n", strlen(sha256)); printf("Status: 400 Bad Request\r\n"); printf("Content-Type: text/plain\r\n\r\n"); printf("Invalid SHA-256 hash format\n"); return; } - printf("DEBUG: SHA-256 length validation passed\r\n"); + fprintf(stderr, "DEBUG: SHA-256 length validation passed\r\n"); // Check if blob exists in database - this is the single source of truth if (!get_blob_metadata(sha256, &metadata)) { - printf("DEBUG: Database lookup failed for sha256=%s\r\n", sha256); + fprintf(stderr, "DEBUG: Database lookup failed for sha256=%s\r\n", sha256); printf("Status: 404 Not Found\r\n"); printf("Content-Type: text/plain\r\n\r\n"); printf("Blob not found\n"); return; } - printf("DEBUG: Database lookup succeeded - blob exists\r\n"); + fprintf(stderr, "DEBUG: Database lookup succeeded - blob exists\r\n"); // Return successful HEAD response with metadata from database printf("Status: 200 OK\r\n"); @@ -328,39 +335,39 @@ const char* extract_sha256_from_uri(const char* uri) { // Parse Authorization header and extract JSON event int parse_authorization_header(const char* auth_header, char* event_json, size_t json_size) { if (!auth_header || !event_json) { - printf("DEBUG: parse_authorization_header - invalid parameters: auth_header=%p, event_json=%p\r\n", + fprintf(stderr, "DEBUG: parse_authorization_header - invalid parameters: auth_header=%p, event_json=%p\n", (void*)auth_header, (void*)event_json); return NOSTR_ERROR_INVALID_INPUT; } - printf("DEBUG: parse_authorization_header called with header: %.50s...\r\n", auth_header); + fprintf(stderr, "DEBUG: parse_authorization_header called with header: %.50s...\n", auth_header); // Check for "Nostr " prefix (case-insensitive) const char* prefix = "nostr "; size_t prefix_len = strlen(prefix); if (strncasecmp(auth_header, prefix, prefix_len) != 0) { - printf("DEBUG: Authorization header missing 'Nostr ' prefix (found: %.10s)\r\n", auth_header); + fprintf(stderr, "DEBUG: Authorization header missing 'Nostr ' prefix (found: %.10s)\n", auth_header); return NOSTR_ERROR_INVALID_INPUT; } // Extract base64 encoded event after "Nostr " const char* base64_event = auth_header + prefix_len; - printf("DEBUG: Extracted base64 event (length=%zu): %.100s...\r\n", strlen(base64_event), base64_event); + fprintf(stderr, "DEBUG: Extracted base64 event (length=%zu): %.100s...\n", strlen(base64_event), base64_event); // Decode base64 to JSON using nostr_core_lib base64 decode unsigned char decoded_buffer[4096]; size_t decoded_len = base64_decode(base64_event, decoded_buffer); - printf("DEBUG: Base64 decode result - decoded_len=%zu\r\n", decoded_len); + fprintf(stderr, "DEBUG: Base64 decode result - decoded_len=%zu\n", decoded_len); if (decoded_len == 0) { - printf("DEBUG: Failed to decode base64 event - base64_decode returned 0\r\n"); + fprintf(stderr, "DEBUG: Failed to decode base64 event - base64_decode returned 0\n"); return NOSTR_ERROR_INVALID_INPUT; } if (decoded_len >= json_size) { - printf("DEBUG: Decoded JSON too large for buffer (decoded_len=%zu, json_size=%zu)\r\n", decoded_len, json_size); + fprintf(stderr, "DEBUG: Decoded JSON too large for buffer (decoded_len=%zu, json_size=%zu)\n", decoded_len, json_size); return NOSTR_ERROR_INVALID_INPUT; } @@ -368,7 +375,7 @@ int parse_authorization_header(const char* auth_header, char* event_json, size_t memcpy(event_json, decoded_buffer, decoded_len); event_json[decoded_len] = '\0'; - printf("DEBUG: Successfully decoded JSON (length=%zu): %s\r\n", decoded_len, event_json); + fprintf(stderr, "DEBUG: Successfully decoded JSON (length=%zu): %s\n", decoded_len, event_json); return NOSTR_SUCCESS; } @@ -378,32 +385,32 @@ int validate_blossom_event(cJSON* event, const char* expected_hash, const char* return NOSTR_ERROR_INVALID_INPUT; } - printf("DEBUG: Validating Blossom event\r\n"); + fprintf(stderr, "DEBUG: Validating Blossom event\r\n"); // Check event kind (must be 24242 for Blossom uploads) cJSON* kind_json = cJSON_GetObjectItem(event, "kind"); if (!kind_json || !cJSON_IsNumber(kind_json)) { - printf("DEBUG: Event missing or invalid 'kind' field\r\n"); + fprintf(stderr, "DEBUG: Event missing or invalid 'kind' field\r\n"); return NOSTR_ERROR_EVENT_INVALID_CONTENT; } int kind = cJSON_GetNumberValue(kind_json); if (kind != 24242) { - printf("DEBUG: Event kind %d is not 24242 (Blossom upload)\r\n", kind); + fprintf(stderr, "DEBUG: Event kind %d is not 24242 (Blossom upload)\r\n", kind); return NOSTR_ERROR_EVENT_INVALID_CONTENT; } // Check that created_at exists (basic validation) cJSON* created_at_json = cJSON_GetObjectItem(event, "created_at"); if (!created_at_json || !cJSON_IsNumber(created_at_json)) { - printf("DEBUG: Event missing or invalid 'created_at' field\r\n"); + fprintf(stderr, "DEBUG: Event missing or invalid 'created_at' field\r\n"); return NOSTR_ERROR_EVENT_INVALID_CONTENT; } // Look for expiration in tags cJSON* tags = cJSON_GetObjectItem(event, "tags"); if (!tags || !cJSON_IsArray(tags)) { - printf("DEBUG: Event missing or invalid 'tags' field\r\n"); + fprintf(stderr, "DEBUG: Event missing or invalid 'tags' field\r\n"); return NOSTR_ERROR_EVENT_INVALID_CONTENT; } @@ -428,7 +435,7 @@ int validate_blossom_event(cJSON* event, const char* expected_hash, const char* const char* event_method = cJSON_GetStringValue(method_value); if (strcmp(event_method, method) == 0) { found_method = 1; - printf("DEBUG: Found matching method tag: %s\r\n", event_method); + fprintf(stderr, "DEBUG: Found matching method tag: %s\r\n", event_method); } } } else if (strcmp(tag_name_str, "x") == 0) { @@ -438,7 +445,7 @@ int validate_blossom_event(cJSON* event, const char* expected_hash, const char* const char* event_hash = cJSON_GetStringValue(hash_value); if (expected_hash && strcmp(event_hash, expected_hash) == 0) { found_hash = 1; - printf("DEBUG: Found matching hash tag: %s\r\n", event_hash); + fprintf(stderr, "DEBUG: Found matching hash tag: %s\r\n", event_hash); } } } else if (strcmp(tag_name_str, "expiration") == 0) { @@ -446,140 +453,700 @@ int validate_blossom_event(cJSON* event, const char* expected_hash, const char* cJSON* exp_value = cJSON_GetArrayItem(tag, 1); if (exp_value && cJSON_IsString(exp_value)) { expiration = (time_t)atol(cJSON_GetStringValue(exp_value)); - printf("DEBUG: Found expiration tag: %ld\r\n", expiration); + fprintf(stderr, "DEBUG: Found expiration tag: %ld\r\n", expiration); } } } // Check if method matches (required) if (!found_method) { - printf("DEBUG: Event missing or invalid method tag\r\n"); + fprintf(stderr, "DEBUG: Event missing or invalid method tag\r\n"); return NOSTR_ERROR_EVENT_INVALID_CONTENT; } // Check if hash matches (if provided) if (expected_hash && !found_hash) { - printf("DEBUG: Event hash doesn't match expected hash\r\n"); + fprintf(stderr, "DEBUG: Event hash doesn't match expected hash\r\n"); return NOSTR_ERROR_EVENT_INVALID_CONTENT; } // Check expiration time_t now = time(NULL); if (expiration > 0 && now > expiration) { - printf("DEBUG: Event expired (now: %ld, exp: %ld)\r\n", now, expiration); + fprintf(stderr, "DEBUG: Event expired (now: %ld, exp: %ld)\r\n", now, expiration); return NOSTR_ERROR_EVENT_INVALID_CONTENT; } - printf("DEBUG: Blossom event validation passed\r\n"); + fprintf(stderr, "DEBUG: Blossom event validation passed\r\n"); return NOSTR_SUCCESS; } -// Main authentication function -int authenticate_request(const char* auth_header, const char* method, const char* file_hash) { - if (!auth_header) { - printf("DEBUG: authenticate_request - No authorization header provided\r\n"); +// Forward declarations for detailed validation functions +int detailed_structure_validation(cJSON* event); +int detailed_signature_validation(cJSON* event); +void analyze_event_fields(cJSON* event); +void hex_dump(const char* label, const unsigned char* data, size_t len); + +/** + * Detailed structure validation with step-by-step logging + */ +int detailed_structure_validation(cJSON* event) { + LOG_DIVIDER(); + LOG_STEP("STRUCT-1", "Starting detailed structure validation"); + + if (!event || !cJSON_IsObject(event)) { + LOG_ERROR("Event is null or not a JSON object"); + return NOSTR_ERROR_EVENT_INVALID_STRUCTURE; + } + LOG_SUCCESS("Event is valid JSON object"); + + // Check each required field existence + LOG_STEP("STRUCT-2", "Checking required field existence"); + const char* required_fields[] = {"id", "pubkey", "created_at", "kind", "tags", "content", "sig"}; + for (int i = 0; i < 7; i++) { + cJSON* field = cJSON_GetObjectItem(event, required_fields[i]); + if (!field) { + LOG_ERROR("Missing required field: %s", required_fields[i]); + return NOSTR_ERROR_EVENT_INVALID_STRUCTURE; + } + LOG_SUCCESS("Field '%s' exists", required_fields[i]); + } + + // Get all fields for detailed validation + cJSON* id_item = cJSON_GetObjectItem(event, "id"); + cJSON* pubkey_item = cJSON_GetObjectItem(event, "pubkey"); + cJSON* created_at_item = cJSON_GetObjectItem(event, "created_at"); + cJSON* kind_item = cJSON_GetObjectItem(event, "kind"); + cJSON* tags_item = cJSON_GetObjectItem(event, "tags"); + cJSON* content_item = cJSON_GetObjectItem(event, "content"); + cJSON* sig_item = cJSON_GetObjectItem(event, "sig"); + + // Validate field types + LOG_STEP("STRUCT-3", "Validating field types"); + if (!cJSON_IsString(id_item)) { + LOG_ERROR("Field 'id' is not a string (type: %d)", id_item->type); + return NOSTR_ERROR_EVENT_INVALID_ID; + } + LOG_SUCCESS("Field 'id' is string"); + + if (!cJSON_IsString(pubkey_item)) { + LOG_ERROR("Field 'pubkey' is not a string (type: %d)", pubkey_item->type); + return NOSTR_ERROR_EVENT_INVALID_PUBKEY; + } + LOG_SUCCESS("Field 'pubkey' is string"); + + if (!cJSON_IsNumber(created_at_item)) { + LOG_ERROR("Field 'created_at' is not a number (type: %d)", created_at_item->type); + return NOSTR_ERROR_EVENT_INVALID_CREATED_AT; + } + LOG_SUCCESS("Field 'created_at' is number"); + + if (!cJSON_IsNumber(kind_item)) { + LOG_ERROR("Field 'kind' is not a number (type: %d)", kind_item->type); + return NOSTR_ERROR_EVENT_INVALID_KIND; + } + LOG_SUCCESS("Field 'kind' is number"); + + if (!cJSON_IsArray(tags_item)) { + LOG_ERROR("Field 'tags' is not an array (type: %d)", tags_item->type); + return NOSTR_ERROR_EVENT_INVALID_TAGS; + } + LOG_SUCCESS("Field 'tags' is array"); + + if (!cJSON_IsString(content_item)) { + LOG_ERROR("Field 'content' is not a string (type: %d)", content_item->type); + return NOSTR_ERROR_EVENT_INVALID_CONTENT; + } + LOG_SUCCESS("Field 'content' is string"); + + if (!cJSON_IsString(sig_item)) { + LOG_ERROR("Field 'sig' is not a string (type: %d)", sig_item->type); + return NOSTR_ERROR_EVENT_INVALID_SIGNATURE; + } + LOG_SUCCESS("Field 'sig' is string"); + + // Validate hex string lengths + LOG_STEP("STRUCT-4", "Validating hex string lengths"); + const char* id_str = cJSON_GetStringValue(id_item); + const char* pubkey_str = cJSON_GetStringValue(pubkey_item); + const char* sig_str = cJSON_GetStringValue(sig_item); + + LOG_INFO("ID string: '%s' (length: %zu)", id_str, id_str ? strlen(id_str) : 0); + if (!id_str || strlen(id_str) != 64) { + LOG_ERROR("ID string invalid length (expected 64, got %zu)", id_str ? strlen(id_str) : 0); + return NOSTR_ERROR_EVENT_INVALID_ID; + } + LOG_SUCCESS("ID string length is correct (64 chars)"); + + LOG_INFO("Pubkey string: '%s' (length: %zu)", pubkey_str, pubkey_str ? strlen(pubkey_str) : 0); + if (!pubkey_str || strlen(pubkey_str) != 64) { + LOG_ERROR("Pubkey string invalid length (expected 64, got %zu)", pubkey_str ? strlen(pubkey_str) : 0); + return NOSTR_ERROR_EVENT_INVALID_PUBKEY; + } + LOG_SUCCESS("Pubkey string length is correct (64 chars)"); + + LOG_INFO("Signature string: '%s' (length: %zu)", sig_str, sig_str ? strlen(sig_str) : 0); + if (!sig_str || strlen(sig_str) != 128) { + LOG_ERROR("Signature string invalid length (expected 128, got %zu)", sig_str ? strlen(sig_str) : 0); + return NOSTR_ERROR_EVENT_INVALID_SIGNATURE; + } + LOG_SUCCESS("Signature string length is correct (128 chars)"); + + // Validate hex characters + LOG_STEP("STRUCT-5", "Validating hex characters"); + LOG_INFO("Checking ID hex characters..."); + for (int i = 0; i < 64; i++) { + char c = id_str[i]; + if (!((c >= '0' && c <= '9') || (c >= 'a' && c <= 'f'))) { + LOG_ERROR("Invalid hex character in ID at position %d: '%c' (0x%02x)", i, c, (unsigned char)c); + return NOSTR_ERROR_EVENT_INVALID_ID; + } + } + LOG_SUCCESS("ID hex characters are valid (lowercase)"); + + LOG_INFO("Checking pubkey hex characters..."); + for (int i = 0; i < 64; i++) { + char c = pubkey_str[i]; + if (!((c >= '0' && c <= '9') || (c >= 'a' && c <= 'f'))) { + LOG_ERROR("Invalid hex character in pubkey at position %d: '%c' (0x%02x)", i, c, (unsigned char)c); + return NOSTR_ERROR_EVENT_INVALID_PUBKEY; + } + } + LOG_SUCCESS("Pubkey hex characters are valid (lowercase)"); + + LOG_INFO("Checking signature hex characters..."); + for (int i = 0; i < 128; i++) { + char c = sig_str[i]; + if (!((c >= '0' && c <= '9') || (c >= 'a' && c <= 'f'))) { + LOG_ERROR("Invalid hex character in signature at position %d: '%c' (0x%02x)", i, c, (unsigned char)c); + return NOSTR_ERROR_EVENT_INVALID_SIGNATURE; + } + } + LOG_SUCCESS("Signature hex characters are valid (lowercase)"); + + // Validate timestamp + LOG_STEP("STRUCT-6", "Validating timestamp"); + double created_at = cJSON_GetNumberValue(created_at_item); + LOG_INFO("Created_at timestamp: %.0f", created_at); + if (created_at < 0) { + LOG_ERROR("Invalid timestamp (negative): %.0f", created_at); + return NOSTR_ERROR_EVENT_INVALID_CREATED_AT; + } + + // Convert to human readable time + time_t timestamp = (time_t)created_at; + char time_str[100]; + struct tm* tm_info = gmtime(×tamp); + strftime(time_str, sizeof(time_str), "%Y-%m-%d %H:%M:%S UTC", tm_info); + LOG_SUCCESS("Timestamp is valid: %s", time_str); + + // Validate kind + LOG_STEP("STRUCT-7", "Validating kind"); + double kind = cJSON_GetNumberValue(kind_item); + LOG_INFO("Event kind: %.0f", kind); + if (kind < 0 || kind > 65535 || kind != (int)kind) { + LOG_ERROR("Invalid kind value: %.0f (must be integer 0-65535)", kind); + return NOSTR_ERROR_EVENT_INVALID_KIND; + } + LOG_SUCCESS("Kind is valid: %d", (int)kind); + + // Validate tags array structure + LOG_STEP("STRUCT-8", "Validating tags array structure"); + int tag_count = cJSON_GetArraySize(tags_item); + LOG_INFO("Tags array has %d elements", tag_count); + + cJSON* tag_item; + int tag_index = 0; + cJSON_ArrayForEach(tag_item, tags_item) { + if (!cJSON_IsArray(tag_item)) { + LOG_ERROR("Tag at index %d is not an array (type: %d)", tag_index, tag_item->type); + return NOSTR_ERROR_EVENT_INVALID_TAGS; + } + + int tag_element_count = cJSON_GetArraySize(tag_item); + LOG_INFO("Tag[%d] has %d elements", tag_index, tag_element_count); + + cJSON* tag_element; + int element_index = 0; + cJSON_ArrayForEach(tag_element, tag_item) { + if (!cJSON_IsString(tag_element)) { + LOG_ERROR("Tag[%d][%d] is not a string (type: %d)", tag_index, element_index, tag_element->type); + return NOSTR_ERROR_EVENT_INVALID_TAGS; + } + const char* tag_value = cJSON_GetStringValue(tag_element); + LOG_INFO("Tag[%d][%d]: '%s'", tag_index, element_index, tag_value); + element_index++; + } + tag_index++; + } + LOG_SUCCESS("Tags array structure is valid"); + + // Validate content + LOG_STEP("STRUCT-9", "Validating content"); + const char* content_str = cJSON_GetStringValue(content_item); + LOG_INFO("Content: '%s' (length: %zu)", content_str, content_str ? strlen(content_str) : 0); + LOG_SUCCESS("Content is valid string"); + + LOG_SUCCESS("Structure validation completed successfully"); + return NOSTR_SUCCESS; +} + +/** + * Detailed signature validation with step-by-step logging + */ +int detailed_signature_validation(cJSON* event) { + LOG_DIVIDER(); + LOG_STEP("CRYPTO-1", "Starting detailed signature validation"); + + if (!event) { + LOG_ERROR("Event is null"); return NOSTR_ERROR_INVALID_INPUT; } - printf("DEBUG: authenticate_request ENTRY - method: %s, hash: %s\r\n", - method ? method : "null", file_hash ? file_hash : "null"); + // Get event fields + cJSON* id_item = cJSON_GetObjectItem(event, "id"); + cJSON* pubkey_item = cJSON_GetObjectItem(event, "pubkey"); + cJSON* created_at_item = cJSON_GetObjectItem(event, "created_at"); + cJSON* kind_item = cJSON_GetObjectItem(event, "kind"); + cJSON* tags_item = cJSON_GetObjectItem(event, "tags"); + cJSON* content_item = cJSON_GetObjectItem(event, "content"); + cJSON* sig_item = cJSON_GetObjectItem(event, "sig"); - // Parse authorization header + if (!id_item || !pubkey_item || !created_at_item || !kind_item || + !tags_item || !content_item || !sig_item) { + LOG_ERROR("Missing required fields for signature validation"); + return NOSTR_ERROR_EVENT_INVALID_STRUCTURE; + } + + // Create serialization array + LOG_STEP("CRYPTO-2", "Creating serialization array"); + cJSON* serialize_array = cJSON_CreateArray(); + if (!serialize_array) { + LOG_ERROR("Failed to create serialization array"); + return NOSTR_ERROR_MEMORY_FAILED; + } + + cJSON_AddItemToArray(serialize_array, cJSON_CreateNumber(0)); + cJSON_AddItemToArray(serialize_array, cJSON_Duplicate(pubkey_item, 1)); + cJSON_AddItemToArray(serialize_array, cJSON_Duplicate(created_at_item, 1)); + cJSON_AddItemToArray(serialize_array, cJSON_Duplicate(kind_item, 1)); + cJSON_AddItemToArray(serialize_array, cJSON_Duplicate(tags_item, 1)); + cJSON_AddItemToArray(serialize_array, cJSON_Duplicate(content_item, 1)); + + LOG_SUCCESS("Serialization array created"); + + // Convert to JSON string + LOG_STEP("CRYPTO-3", "Converting to JSON string"); + char* serialize_string = cJSON_PrintUnformatted(serialize_array); + cJSON_Delete(serialize_array); + + if (!serialize_string) { + LOG_ERROR("Failed to serialize array to JSON string"); + return NOSTR_ERROR_MEMORY_FAILED; + } + + LOG_SUCCESS("JSON serialization string created"); + LOG_INFO("Serialization string (length %zu): %s", strlen(serialize_string), serialize_string); + + // Hash the serialized event + LOG_STEP("CRYPTO-4", "Computing SHA256 hash"); + unsigned char event_hash[32]; + if (nostr_sha256((const unsigned char*)serialize_string, strlen(serialize_string), event_hash) != 0) { + LOG_ERROR("SHA256 hashing failed"); + free(serialize_string); + return NOSTR_ERROR_CRYPTO_FAILED; + } + + LOG_SUCCESS("SHA256 hash computed"); + hex_dump("Event hash", event_hash, 32); + + // Convert hash to hex for event ID verification + LOG_STEP("CRYPTO-5", "Verifying event ID"); + char calculated_id[65]; + nostr_bytes_to_hex(event_hash, 32, calculated_id); + + const char* provided_id = cJSON_GetStringValue(id_item); + LOG_INFO("Calculated ID: %s", calculated_id); + LOG_INFO("Provided ID: %s", provided_id); + + if (!provided_id || strcmp(calculated_id, provided_id) != 0) { + LOG_ERROR("Event ID mismatch!"); + LOG_ERROR(" Expected: %s", calculated_id); + LOG_ERROR(" Got: %s", provided_id ? provided_id : "NULL"); + free(serialize_string); + return NOSTR_ERROR_EVENT_INVALID_ID; + } + LOG_SUCCESS("Event ID verification passed"); + + // Prepare signature verification + LOG_STEP("CRYPTO-6", "Preparing signature verification"); + const char* pubkey_str = cJSON_GetStringValue(pubkey_item); + const char* sig_str = cJSON_GetStringValue(sig_item); + + if (!pubkey_str || !sig_str) { + LOG_ERROR("Missing pubkey or signature strings"); + free(serialize_string); + return NOSTR_ERROR_EVENT_INVALID_STRUCTURE; + } + + // Convert hex strings to bytes + LOG_STEP("CRYPTO-7", "Converting hex strings to bytes"); + unsigned char pubkey_bytes[32]; + unsigned char sig_bytes[64]; + + if (nostr_hex_to_bytes(pubkey_str, pubkey_bytes, 32) != 0) { + LOG_ERROR("Failed to convert pubkey hex to bytes"); + free(serialize_string); + return NOSTR_ERROR_CRYPTO_FAILED; + } + LOG_SUCCESS("Pubkey hex converted to bytes"); + hex_dump("Pubkey bytes", pubkey_bytes, 32); + + if (nostr_hex_to_bytes(sig_str, sig_bytes, 64) != 0) { + LOG_ERROR("Failed to convert signature hex to bytes"); + free(serialize_string); + return NOSTR_ERROR_CRYPTO_FAILED; + } + LOG_SUCCESS("Signature hex converted to bytes"); + hex_dump("Signature bytes", sig_bytes, 64); + + // Verify signature using nostr_core_lib function (avoiding direct secp256k1 calls) + LOG_STEP("CRYPTO-8", "Verifying signature using nostr_verify_event_signature()"); + + // Create a temporary event structure for verification + cJSON* temp_event = cJSON_CreateObject(); + if (!temp_event) { + LOG_ERROR("Failed to create temporary event for verification"); + free(serialize_string); + return NOSTR_ERROR_MEMORY_FAILED; + } + + // Copy all required fields to temp event + cJSON_AddItemToObject(temp_event, "id", cJSON_Duplicate(id_item, 1)); + cJSON_AddItemToObject(temp_event, "pubkey", cJSON_Duplicate(pubkey_item, 1)); + cJSON_AddItemToObject(temp_event, "created_at", cJSON_Duplicate(created_at_item, 1)); + cJSON_AddItemToObject(temp_event, "kind", cJSON_Duplicate(kind_item, 1)); + cJSON_AddItemToObject(temp_event, "tags", cJSON_Duplicate(tags_item, 1)); + cJSON_AddItemToObject(temp_event, "content", cJSON_Duplicate(content_item, 1)); + cJSON_AddItemToObject(temp_event, "sig", cJSON_Duplicate(sig_item, 1)); + + LOG_INFO("Calling nostr_verify_event_signature() for detailed crypto validation"); + int crypto_verify_result = nostr_verify_event_signature(temp_event); + LOG_INFO("nostr_verify_event_signature returned: %d (%s)", + crypto_verify_result, nostr_strerror(crypto_verify_result)); + + cJSON_Delete(temp_event); + + if (crypto_verify_result != NOSTR_SUCCESS) { + LOG_ERROR("Signature verification FAILED!"); + LOG_ERROR("nostr_verify_event_signature returned error: %d (%s)", + crypto_verify_result, nostr_strerror(crypto_verify_result)); + free(serialize_string); + return crypto_verify_result; + } + + LOG_SUCCESS("Signature verification PASSED using nostr_core_lib!"); + free(serialize_string); + return NOSTR_SUCCESS; +} + +/** + * Analyze event fields in detail + */ +void analyze_event_fields(cJSON* event) { + LOG_DIVIDER(); + LOG_STEP("ANALYZE-1", "Analyzing event field details"); + + cJSON* field; + cJSON_ArrayForEach(field, event) { + if (field->string) { + LOG_INFO("Field '%s':", field->string); + if (cJSON_IsString(field)) { + const char* value = cJSON_GetStringValue(field); + LOG_INFO(" Type: String"); + LOG_INFO(" Value: '%s'", value); + LOG_INFO(" Length: %zu", value ? strlen(value) : 0); + } else if (cJSON_IsNumber(field)) { + double value = cJSON_GetNumberValue(field); + LOG_INFO(" Type: Number"); + LOG_INFO(" Value: %.0f", value); + } else if (cJSON_IsArray(field)) { + int size = cJSON_GetArraySize(field); + LOG_INFO(" Type: Array"); + LOG_INFO(" Size: %d", size); + } else { + LOG_INFO(" Type: Other (%d)", field->type); + } + } + } +} + +/** + * Print hex dump of binary data + */ +void hex_dump(const char* label, const unsigned char* data, size_t len) { + LOG_INFO("%s (%zu bytes):", label, len); + for (size_t i = 0; i < len; i += 16) { + fprintf(stderr, " %04zx: ", i); + for (size_t j = 0; j < 16; j++) { + if (i + j < len) { + fprintf(stderr, "%02x ", data[i + j]); + } else { + fprintf(stderr, " "); + } + } + fprintf(stderr, " |"); + for (size_t j = 0; j < 16 && i + j < len; j++) { + unsigned char c = data[i + j]; + fprintf(stderr, "%c", (c >= 32 && c <= 126) ? c : '.'); + } + fprintf(stderr, "|\n"); + } +} + +// Main authentication function with comprehensive step-by-step logging +int authenticate_request(const char* auth_header, const char* method, const char* file_hash) { + LOG_DIVIDER(); + LOG_STEP("SERVER-1", "Starting server-style authentication (mirroring test_auth_debug.c)"); + + if (!auth_header) { + LOG_ERROR("No authorization header provided"); + return NOSTR_ERROR_INVALID_INPUT; + } + + LOG_INFO("Server-style auth called with method: %s, hash: %s", + method ? method : "null", file_hash ? file_hash : "null"); + + // Parse authorization header (same as server) char event_json[4096]; - printf("DEBUG: authenticate_request - calling parse_authorization_header\r\n"); + LOG_STEP("SERVER-2", "Calling parse_authorization_header"); int parse_result = parse_authorization_header(auth_header, event_json, sizeof(event_json)); if (parse_result != NOSTR_SUCCESS) { - printf("DEBUG: authenticate_request - Authorization header parsing failed: %d\r\n", parse_result); + LOG_ERROR("Authorization header parsing failed: %d (%s)", parse_result, nostr_strerror(parse_result)); return parse_result; } - printf("DEBUG: authenticate_request - parse_authorization_header succeeded\r\n"); + LOG_SUCCESS("parse_authorization_header succeeded"); - // Parse JSON event - printf("DEBUG: authenticate_request - calling cJSON_Parse on: %s\r\n", event_json); + // Parse JSON event (same as server) + LOG_STEP("SERVER-3", "Calling cJSON_Parse on JSON string"); + LOG_INFO("JSON to parse: %s", event_json); cJSON* event = cJSON_Parse(event_json); if (!event) { - printf("DEBUG: authenticate_request - Failed to parse JSON event with cJSON_Parse\r\n"); + LOG_ERROR("Failed to parse JSON event with cJSON_Parse"); return NOSTR_ERROR_EVENT_INVALID_CONTENT; } - printf("DEBUG: authenticate_request - cJSON_Parse succeeded, event parsed\r\n"); + LOG_SUCCESS("cJSON_Parse succeeded, event parsed"); - // Debug: Print event fields before validation + // Print complete parsed JSON like server does + char* parsed_json_str = cJSON_Print(event); + LOG_INFO("Parsed JSON: %s", parsed_json_str ? parsed_json_str : "NULL"); + if (parsed_json_str) free(parsed_json_str); + + // Debug: Print event fields before validation (same as server) cJSON* id_json = cJSON_GetObjectItem(event, "id"); cJSON* pubkey_json = cJSON_GetObjectItem(event, "pubkey"); cJSON* sig_json = cJSON_GetObjectItem(event, "sig"); cJSON* kind_json = cJSON_GetObjectItem(event, "kind"); cJSON* created_at_json = cJSON_GetObjectItem(event, "created_at"); - printf("DEBUG: authenticate_request - Event fields before validation:\r\n"); - printf("DEBUG: id: %s\r\n", id_json && cJSON_IsString(id_json) ? cJSON_GetStringValue(id_json) : "MISSING/INVALID"); - printf("DEBUG: pubkey: %s\r\n", pubkey_json && cJSON_IsString(pubkey_json) ? cJSON_GetStringValue(pubkey_json) : "MISSING/INVALID"); - printf("DEBUG: sig: %s\r\n", sig_json && cJSON_IsString(sig_json) ? cJSON_GetStringValue(sig_json) : "MISSING/INVALID"); - printf("DEBUG: kind: %d\r\n", kind_json && cJSON_IsNumber(kind_json) ? (int)cJSON_GetNumberValue(kind_json) : -999); - printf("DEBUG: created_at: %ld\r\n", created_at_json && cJSON_IsNumber(created_at_json) ? (long)cJSON_GetNumberValue(created_at_json) : -999); + LOG_STEP("SERVER-4", "Event fields before validation"); + LOG_INFO(" id: %s", id_json && cJSON_IsString(id_json) ? cJSON_GetStringValue(id_json) : "MISSING/INVALID"); + LOG_INFO(" pubkey: %s", pubkey_json && cJSON_IsString(pubkey_json) ? cJSON_GetStringValue(pubkey_json) : "MISSING/INVALID"); + LOG_INFO(" sig: %s", sig_json && cJSON_IsString(sig_json) ? cJSON_GetStringValue(sig_json) : "MISSING/INVALID"); + LOG_INFO(" kind: %d", kind_json && cJSON_IsNumber(kind_json) ? (int)cJSON_GetNumberValue(kind_json) : -999); + LOG_INFO(" created_at: %ld", created_at_json && cJSON_IsNumber(created_at_json) ? (long)cJSON_GetNumberValue(created_at_json) : -999); - // Validate event structure and signature using nostr_core_lib - printf("DEBUG: authenticate_request - calling nostr_validate_event\r\n"); - - // Additional debug: Check pubkey characters before validation + // Detailed pubkey analysis (same as server) if (pubkey_json && cJSON_IsString(pubkey_json)) { const char* pubkey_str = cJSON_GetStringValue(pubkey_json); - printf("DEBUG: authenticate_request - Pre-validation pubkey analysis:\r\n"); - printf("DEBUG: Pubkey: %s\r\n", pubkey_str ? pubkey_str : "NULL"); - printf("DEBUG: Length: %zu\r\n", pubkey_str ? strlen(pubkey_str) : 0); + LOG_STEP("SERVER-5", "Detailed pubkey analysis"); + LOG_INFO(" Pubkey: %s", pubkey_str ? pubkey_str : "NULL"); + LOG_INFO(" Length: %zu", pubkey_str ? strlen(pubkey_str) : 0); if (pubkey_str && strlen(pubkey_str) == 64) { - printf("DEBUG: Character analysis (first 10): "); + LOG_INFO(" Character analysis (first 10): "); for (int i = 0; i < 10; i++) { char c = pubkey_str[i]; - printf("%c(%d) ", c, (int)c); + fprintf(stderr, "%c(0x%02x) ", c, (unsigned char)c); } - printf("\r\n"); - printf("DEBUG: Character validation test: "); + fprintf(stderr, "\n"); + } + } + + // Pre-validation pubkey analysis (same as server) + LOG_STEP("SERVER-6", "Pre-validation pubkey analysis"); + if (pubkey_json && cJSON_IsString(pubkey_json)) { + const char* pubkey_str = cJSON_GetStringValue(pubkey_json); + LOG_INFO(" Pubkey: %s", pubkey_str ? pubkey_str : "NULL"); + LOG_INFO(" Length: %zu", pubkey_str ? strlen(pubkey_str) : 0); + if (pubkey_str && strlen(pubkey_str) == 64) { + LOG_INFO(" Character analysis (first 10): "); + for (int i = 0; i < 10; i++) { + char c = pubkey_str[i]; + fprintf(stderr, "%c(%d) ", c, (int)c); + } + fprintf(stderr, "\n"); + LOG_INFO(" Character validation test: "); int valid_chars = 1; for (int i = 0; i < 64; i++) { char c = pubkey_str[i]; if (!((c >= '0' && c <= '9') || (c >= 'a' && c <= 'f'))) { - printf("INVALID at pos %d: %c(%d) ", i, c, (int)c); + fprintf(stderr, "INVALID at pos %d: %c(%d) ", i, c, (int)c); valid_chars = 0; } } if (valid_chars) { - printf("ALL VALID (lowercase hex)\r\n"); + fprintf(stderr, "ALL VALID (lowercase hex)\n"); } else { - printf("\r\n"); + fprintf(stderr, "\n"); } } } - int validation_result = nostr_validate_event(event); - printf("DEBUG: authenticate_request - nostr_validate_event returned: %d\r\n", validation_result); - if (validation_result != NOSTR_SUCCESS) { - printf("DEBUG: authenticate_request - Nostr event validation FAILED: %d (%s)\r\n", - validation_result, nostr_strerror(validation_result)); - - // Additional debug: Check specific validation issues + // Detailed validation analysis (same as server) + LOG_STEP("SERVER-7", "Starting detailed validation analysis"); + + // Test structure validation first (same as server) + LOG_INFO("Testing structure validation..."); + int structure_result = nostr_validate_event_structure(event); + LOG_INFO("nostr_validate_event_structure returned: %d (%s)", + structure_result, nostr_strerror(structure_result)); + + // EMERGENCY DEBUG: Write structure validation result to file + FILE* debug_file = fopen("debug_validation.log", "a"); + if (debug_file) { + fprintf(debug_file, "=== STRUCTURE VALIDATION DEBUG ===\n"); + fprintf(debug_file, "nostr_validate_event_structure result: %d (%s)\n", + structure_result, nostr_strerror(structure_result)); + if (structure_result != NOSTR_SUCCESS) { + fprintf(debug_file, "STRUCTURE VALIDATION FAILED!\n"); + // Log the event JSON for debugging + char* event_str = cJSON_Print(event); + if (event_str) { + fprintf(debug_file, "Event JSON: %s\n", event_str); + free(event_str); + } + } + fprintf(debug_file, "=== END STRUCTURE DEBUG ===\n\n"); + fclose(debug_file); + } + + if (structure_result != NOSTR_SUCCESS) { + LOG_ERROR("STRUCTURE validation failed!"); + cJSON_Delete(event); + return structure_result; + } + LOG_SUCCESS("Structure validation PASSED"); + + // Test crypto validation separately (same as server) + LOG_INFO("Testing cryptographic verification..."); + int crypto_result = nostr_verify_event_signature(event); + LOG_INFO("nostr_verify_event_signature returned: %d (%s)", + crypto_result, nostr_strerror(crypto_result)); + + // EMERGENCY DEBUG: Write crypto validation result to file + FILE* debug_file2 = fopen("debug_validation.log", "a"); + if (debug_file2) { + fprintf(debug_file2, "=== CRYPTO VALIDATION DEBUG ===\n"); + fprintf(debug_file2, "nostr_verify_event_signature result: %d (%s)\n", + crypto_result, nostr_strerror(crypto_result)); + if (crypto_result != NOSTR_SUCCESS) { + fprintf(debug_file2, "CRYPTO VALIDATION FAILED!\n"); + if (pubkey_json && cJSON_IsString(pubkey_json)) { + const char* pubkey_str = cJSON_GetStringValue(pubkey_json); + fprintf(debug_file2, "Failed pubkey: %s (length: %zu)\n", + pubkey_str ? pubkey_str : "NULL", pubkey_str ? strlen(pubkey_str) : 0); + } + } + fprintf(debug_file2, "=== END CRYPTO DEBUG ===\n\n"); + fclose(debug_file2); + } + + if (crypto_result != NOSTR_SUCCESS) { + LOG_ERROR("CRYPTO verification failed!"); if (pubkey_json && cJSON_IsString(pubkey_json)) { const char* pubkey_str = cJSON_GetStringValue(pubkey_json); - printf("DEBUG: authenticate_request - Pubkey length: %zu, value: %s\r\n", + LOG_ERROR("Failed pubkey: %s (length: %zu)", + pubkey_str ? pubkey_str : "NULL", pubkey_str ? strlen(pubkey_str) : 0); + } + cJSON_Delete(event); + return crypto_result; + } + LOG_SUCCESS("Crypto verification PASSED"); + + // Finally test complete validation (same as server) + LOG_INFO("Testing complete validation..."); + int validation_result = nostr_validate_event(event); + LOG_INFO("nostr_validate_event returned: %d (%s)", + validation_result, nostr_strerror(validation_result)); + + // EMERGENCY DEBUG: Write complete validation result to file + FILE* debug_file3 = fopen("debug_validation.log", "a"); + if (debug_file3) { + fprintf(debug_file3, "=== COMPLETE VALIDATION DEBUG ===\n"); + fprintf(debug_file3, "nostr_validate_event result: %d (%s)\n", + validation_result, nostr_strerror(validation_result)); + if (validation_result != NOSTR_SUCCESS) { + fprintf(debug_file3, "COMPLETE VALIDATION FAILED!\n"); + if (pubkey_json && cJSON_IsString(pubkey_json)) { + const char* pubkey_str = cJSON_GetStringValue(pubkey_json); + fprintf(debug_file3, "Pubkey length: %zu, value: %s\n", + pubkey_str ? strlen(pubkey_str) : 0, pubkey_str ? pubkey_str : "NULL"); + } + } + fprintf(debug_file3, "=== END COMPLETE DEBUG ===\n\n"); + fclose(debug_file3); + } + + if (validation_result != NOSTR_SUCCESS) { + LOG_ERROR("COMPLETE validation failed: %d (%s)", + validation_result, nostr_strerror(validation_result)); + + // Additional debug: Check specific validation issues (same as server) + if (pubkey_json && cJSON_IsString(pubkey_json)) { + const char* pubkey_str = cJSON_GetStringValue(pubkey_json); + LOG_ERROR("Pubkey length: %zu, value: %s", pubkey_str ? strlen(pubkey_str) : 0, pubkey_str ? pubkey_str : "NULL"); } cJSON_Delete(event); return validation_result; } - printf("DEBUG: authenticate_request - nostr_validate_event PASSED\r\n"); + LOG_SUCCESS("Complete validation PASSED"); + + // Run our detailed validations for additional debugging + LOG_STEP("SERVER-8", "Running detailed structure validation"); + int detailed_struct_result = detailed_structure_validation(event); + if (detailed_struct_result != NOSTR_SUCCESS) { + LOG_ERROR("Detailed structure validation failed: %d (%s)", detailed_struct_result, nostr_strerror(detailed_struct_result)); + cJSON_Delete(event); + return detailed_struct_result; + } + LOG_SUCCESS("Detailed structure validation PASSED"); + + LOG_STEP("SERVER-9", "Running detailed signature validation"); + int detailed_crypto_result = detailed_signature_validation(event); + if (detailed_crypto_result != NOSTR_SUCCESS) { + LOG_ERROR("Detailed signature validation failed: %d (%s)", detailed_crypto_result, nostr_strerror(detailed_crypto_result)); + cJSON_Delete(event); + return detailed_crypto_result; + } + LOG_SUCCESS("Detailed signature validation PASSED"); + + // Analyze event fields + analyze_event_fields(event); // Validate Blossom-specific requirements - printf("DEBUG: authenticate_request - calling validate_blossom_event\r\n"); + LOG_STEP("SERVER-10", "Validating Blossom-specific requirements"); int blossom_result = validate_blossom_event(event, file_hash, method); if (blossom_result != NOSTR_SUCCESS) { - printf("DEBUG: authenticate_request - Blossom event validation failed: %d\r\n", blossom_result); + LOG_ERROR("Blossom event validation failed: %d (%s)", blossom_result, nostr_strerror(blossom_result)); cJSON_Delete(event); return blossom_result; } - printf("DEBUG: authenticate_request - validate_blossom_event PASSED\r\n"); + LOG_SUCCESS("Blossom event validation PASSED"); cJSON_Delete(event); - printf("DEBUG: authenticate_request - Authentication successful, returning NOSTR_SUCCESS\r\n"); + LOG_SUCCESS("Server-style authentication successful, returning NOSTR_SUCCESS"); return NOSTR_SUCCESS; } @@ -605,7 +1172,7 @@ int auth_rules_enabled(void) { rc = sqlite3_open_v2(DB_PATH, &db, SQLITE_OPEN_READONLY, NULL); if (rc) { - printf("DEBUG: Database open failed in auth_rules_enabled: %s\r\n", sqlite3_errmsg(db)); + fprintf(stderr, "DEBUG: Database open failed in auth_rules_enabled: %s\r\n", sqlite3_errmsg(db)); return 0; // Disable rules if can't check database } @@ -998,7 +1565,7 @@ int check_auth_cache(const char* cache_key, auth_rule_result_t* result) { sqlite3_finalize(stmt); sqlite3_close(db); - printf("DEBUG: Cache hit for key: %.16s... (allowed=%d)\r\n", cache_key, result->allowed); + fprintf(stderr, "DEBUG: Cache hit for key: %.16s... (allowed=%d)\r\n", cache_key, result->allowed); return 1; } @@ -1019,7 +1586,7 @@ void store_auth_cache(const char* cache_key, const auth_rule_result_t* result) { rc = sqlite3_open_v2(DB_PATH, &db, SQLITE_OPEN_READWRITE, NULL); if (rc) { - printf("DEBUG: Failed to open database for caching: %s\r\n", sqlite3_errmsg(db)); + fprintf(stderr, "DEBUG: Failed to open database for caching: %s\r\n", sqlite3_errmsg(db)); return; } @@ -1053,9 +1620,9 @@ void store_auth_cache(const char* cache_key, const auth_rule_result_t* result) { rc = sqlite3_step(stmt); if (rc == SQLITE_DONE) { - printf("DEBUG: Cached auth decision for key: %.16s... (TTL=%d)\r\n", cache_key, cache_ttl); + fprintf(stderr, "DEBUG: Cached auth decision for key: %.16s... (TTL=%d)\r\n", cache_key, cache_ttl); } else { - printf("DEBUG: Failed to cache auth decision: %s\r\n", sqlite3_errmsg(db)); + fprintf(stderr, "DEBUG: Failed to cache auth decision: %s\r\n", sqlite3_errmsg(db)); } sqlite3_finalize(stmt); } @@ -1075,13 +1642,13 @@ int evaluate_auth_rules(const char* pubkey, const char* operation, const char* h result->allowed = 1; // Default allow if no rules apply strcpy(result->reason, "No rules matched - default allow"); - printf("DEBUG: evaluate_auth_rules called - pubkey=%s, op=%s, hash=%s, mime=%s, size=%ld\r\n", + fprintf(stderr, "DEBUG: evaluate_auth_rules called - pubkey=%s, op=%s, hash=%s, mime=%s, size=%ld\r\n", pubkey ? pubkey : "NULL", operation ? operation : "NULL", hash ? hash : "NULL", mime_type ? mime_type : "NULL", file_size); // Check if authentication rules system is enabled if (!auth_rules_enabled()) { - printf("DEBUG: Authentication rules system is disabled\r\n"); + fprintf(stderr, "DEBUG: Authentication rules system is disabled\r\n"); strcpy(result->reason, "Authentication rules system disabled - default allow"); return 1; } @@ -1092,11 +1659,11 @@ int evaluate_auth_rules(const char* pubkey, const char* operation, const char* h // Check cache first for performance if (check_auth_cache(cache_key, result)) { - printf("DEBUG: Using cached authentication decision\r\n"); + fprintf(stderr, "DEBUG: Using cached authentication decision\r\n"); return 1; } - printf("DEBUG: No cache hit - evaluating rules in priority order\r\n"); + fprintf(stderr, "DEBUG: No cache hit - evaluating rules in priority order\r\n"); // Evaluate rules in priority order (lower priority number = higher precedence) auth_rule_result_t rule_result; @@ -1109,7 +1676,7 @@ int evaluate_auth_rules(const char* pubkey, const char* operation, const char* h *result = rule_result; highest_priority = rule_result.priority; rule_matched = 1; - printf("DEBUG: Pubkey blacklist rule matched (priority %d)\r\n", rule_result.priority); + fprintf(stderr, "DEBUG: Pubkey blacklist rule matched (priority %d)\r\n", rule_result.priority); } } @@ -1119,7 +1686,7 @@ int evaluate_auth_rules(const char* pubkey, const char* operation, const char* h *result = rule_result; highest_priority = rule_result.priority; rule_matched = 1; - printf("DEBUG: Hash blacklist rule matched (priority %d)\r\n", rule_result.priority); + fprintf(stderr, "DEBUG: Hash blacklist rule matched (priority %d)\r\n", rule_result.priority); } } @@ -1129,7 +1696,7 @@ int evaluate_auth_rules(const char* pubkey, const char* operation, const char* h *result = rule_result; highest_priority = rule_result.priority; rule_matched = 1; - printf("DEBUG: MIME type blacklist rule matched (priority %d)\r\n", rule_result.priority); + fprintf(stderr, "DEBUG: MIME type blacklist rule matched (priority %d)\r\n", rule_result.priority); } } @@ -1139,7 +1706,7 @@ int evaluate_auth_rules(const char* pubkey, const char* operation, const char* h *result = rule_result; highest_priority = rule_result.priority; rule_matched = 1; - printf("DEBUG: Size limit rule matched (priority %d)\r\n", rule_result.priority); + fprintf(stderr, "DEBUG: Size limit rule matched (priority %d)\r\n", rule_result.priority); } } @@ -1149,7 +1716,7 @@ int evaluate_auth_rules(const char* pubkey, const char* operation, const char* h *result = rule_result; highest_priority = rule_result.priority; rule_matched = 1; - printf("DEBUG: Pubkey whitelist rule matched (priority %d)\r\n", rule_result.priority); + fprintf(stderr, "DEBUG: Pubkey whitelist rule matched (priority %d)\r\n", rule_result.priority); } } @@ -1159,7 +1726,7 @@ int evaluate_auth_rules(const char* pubkey, const char* operation, const char* h *result = rule_result; highest_priority = rule_result.priority; rule_matched = 1; - printf("DEBUG: MIME type whitelist rule matched (priority %d)\r\n", rule_result.priority); + fprintf(stderr, "DEBUG: MIME type whitelist rule matched (priority %d)\r\n", rule_result.priority); } } @@ -1191,7 +1758,7 @@ int evaluate_auth_rules(const char* pubkey, const char* operation, const char* h snprintf(result->reason, sizeof(result->reason), "Denied - pubkey not in whitelist (found %d whitelist rules)", whitelist_count); rule_matched = 1; - printf("DEBUG: Denied due to whitelist policy - pubkey not whitelisted\r\n"); + fprintf(stderr, "DEBUG: Denied due to whitelist policy - pubkey not whitelisted\r\n"); } } sqlite3_finalize(stmt); @@ -1203,7 +1770,7 @@ int evaluate_auth_rules(const char* pubkey, const char* operation, const char* h // Cache the decision for future requests store_auth_cache(cache_key, result); - printf("DEBUG: Rule evaluation complete - allowed=%d, rule_id=%d, reason=%s\r\n", + fprintf(stderr, "DEBUG: Rule evaluation complete - allowed=%d, rule_id=%d, reason=%s\r\n", result->allowed, result->rule_id, result->reason); return rule_matched; @@ -1212,7 +1779,7 @@ int evaluate_auth_rules(const char* pubkey, const char* operation, const char* h // Enhanced authentication function that integrates rule evaluation int authenticate_request_with_rules(const char* auth_header, const char* method, const char* file_hash, const char* mime_type, long file_size) { - printf("DEBUG: authenticate_request_with_rules called - method: %s, file_hash: %s, mime_type: %s, file_size: %ld\r\n", + fprintf(stderr, "DEBUG: authenticate_request_with_rules called - method: %s, file_hash: %s, mime_type: %s, file_size: %ld\r\n", method ? method : "NULL", file_hash ? file_hash : "NULL", mime_type ? mime_type : "NULL", file_size); // Step 1: Basic nostr authentication (if header provided) @@ -1220,14 +1787,14 @@ int authenticate_request_with_rules(const char* auth_header, const char* method, static char pubkey_buffer[256]; if (auth_header) { - printf("DEBUG: Authorization header provided, starting basic nostr authentication\r\n"); + fprintf(stderr, "DEBUG: Authorization header provided, starting basic nostr authentication\r\n"); // Parse and validate nostr event first int auth_result = authenticate_request(auth_header, method, file_hash); if (auth_result != NOSTR_SUCCESS) { - printf("DEBUG: Basic nostr authentication failed: %d (%s)\r\n", auth_result, nostr_strerror(auth_result)); + fprintf(stderr, "DEBUG: Basic nostr authentication failed: %d (%s)\r\n", auth_result, nostr_strerror(auth_result)); return auth_result; } - printf("DEBUG: Basic nostr authentication PASSED\r\n"); + fprintf(stderr, "DEBUG: Basic nostr authentication PASSED\r\n"); // Extract pubkey from validated event char event_json[4096]; @@ -1247,9 +1814,9 @@ int authenticate_request_with_rules(const char* auth_header, const char* method, cJSON_Delete(event); } } - printf("DEBUG: Extracted pubkey from auth: %s\r\n", pubkey ? pubkey : "NULL"); + fprintf(stderr, "DEBUG: Extracted pubkey from auth: %s\r\n", pubkey ? pubkey : "NULL"); } else { - printf("DEBUG: No authorization header - evaluating rules for anonymous request\r\n"); + fprintf(stderr, "DEBUG: No authorization header - evaluating rules for anonymous request\r\n"); } // Step 2: Evaluate authentication rules @@ -1257,11 +1824,11 @@ int authenticate_request_with_rules(const char* auth_header, const char* method, int rule_evaluated = evaluate_auth_rules(pubkey, method, file_hash, mime_type, file_size, &rule_result); if (rule_evaluated && !rule_result.allowed) { - printf("DEBUG: Request denied by authentication rules: %s\r\n", rule_result.reason); + fprintf(stderr, "DEBUG: Request denied by authentication rules: %s\r\n", rule_result.reason); return NOSTR_ERROR_INVALID_INPUT; // Authentication denied by rules } - printf("DEBUG: Request allowed - nostr auth + rules passed\r\n"); + fprintf(stderr, "DEBUG: Request allowed - nostr auth + rules passed\r\n"); return NOSTR_SUCCESS; } @@ -1295,14 +1862,14 @@ void log_request(const char* method, const char* uri, const char* auth_status, i strftime(timestamp, sizeof(timestamp), "%Y-%m-%d %H:%M:%S", tm_info); // For now, log to stdout - later can be configured to log files - printf("LOG: [%s] %s %s - Auth: %s - Status: %d\r\n", + fprintf(stderr, "LOG: [%s] %s %s - Auth: %s - Status: %d\r\n", timestamp, method ? method : "NULL", uri ? uri : "NULL", auth_status ? auth_status : "none", status_code); } // Handle GET /list/ requests void handle_list_request(const char* pubkey) { - printf("DEBUG: handle_list_request called with pubkey=%s\r\n", pubkey ? pubkey : "NULL"); + fprintf(stderr, "DEBUG: handle_list_request called with pubkey=%s\r\n", pubkey ? pubkey : "NULL"); // Log the incoming request log_request("GET", "/list", "pending", 0); @@ -1330,20 +1897,20 @@ void handle_list_request(const char* pubkey) { long until_timestamp = 0; if (query_string) { - printf("DEBUG: Query string: %s\r\n", query_string); + fprintf(stderr, "DEBUG: Query string: %s\r\n", query_string); // Parse since parameter const char* since_param = strstr(query_string, "since="); if (since_param) { since_timestamp = atol(since_param + 6); - printf("DEBUG: Since timestamp: %ld\r\n", since_timestamp); + fprintf(stderr, "DEBUG: Since timestamp: %ld\r\n", since_timestamp); } // Parse until parameter const char* until_param = strstr(query_string, "until="); if (until_param) { until_timestamp = atol(until_param + 6); - printf("DEBUG: Until timestamp: %ld\r\n", until_timestamp); + fprintf(stderr, "DEBUG: Until timestamp: %ld\r\n", until_timestamp); } } @@ -1352,7 +1919,7 @@ void handle_list_request(const char* pubkey) { const char* auth_status = "none"; if (auth_header) { - printf("DEBUG: Authorization header provided for list request\r\n"); + fprintf(stderr, "DEBUG: Authorization header provided for list request\r\n"); int auth_result = authenticate_request_with_rules(auth_header, "list", NULL, NULL, 0); if (auth_result != NOSTR_SUCCESS) { send_error_response(401, "authentication_failed", "Invalid or expired authentication", @@ -1370,7 +1937,7 @@ void handle_list_request(const char* pubkey) { rc = sqlite3_open_v2(DB_PATH, &db, SQLITE_OPEN_READONLY, NULL); if (rc) { - printf("DEBUG: Database open failed: %s\r\n", sqlite3_errmsg(db)); + fprintf(stderr, "DEBUG: Database open failed: %s\r\n", sqlite3_errmsg(db)); send_error_response(500, "database_error", "Failed to access database", "Internal server error"); log_request("GET", "/list", auth_status, 500); return; @@ -1392,11 +1959,11 @@ void handle_list_request(const char* pubkey) { "SELECT sha256, size, type, uploaded_at, filename FROM blobs WHERE uploader_pubkey = ? ORDER BY uploaded_at DESC"); } - printf("DEBUG: SQL query: %s\r\n", sql); + fprintf(stderr, "DEBUG: SQL query: %s\r\n", sql); rc = sqlite3_prepare_v2(db, sql, -1, &stmt, NULL); if (rc != SQLITE_OK) { - printf("DEBUG: SQL prepare failed: %s\r\n", sqlite3_errmsg(db)); + fprintf(stderr, "DEBUG: SQL prepare failed: %s\r\n", sqlite3_errmsg(db)); sqlite3_close(db); send_error_response(500, "database_error", "Failed to prepare query", "Internal server error"); log_request("GET", "/list", auth_status, 500); @@ -1477,13 +2044,13 @@ void handle_list_request(const char* pubkey) { sqlite3_finalize(stmt); sqlite3_close(db); - printf("DEBUG: List request completed successfully\r\n"); + fprintf(stderr, "DEBUG: List request completed successfully\r\n"); log_request("GET", "/list", auth_status, 200); } // Handle DELETE / requests void handle_delete_request(const char* sha256) { - printf("DEBUG: handle_delete_request called with sha256=%s\r\n", sha256 ? sha256 : "NULL"); + fprintf(stderr, "DEBUG: handle_delete_request called with sha256=%s\r\n", sha256 ? sha256 : "NULL"); // Log the incoming request log_request("DELETE", "/delete", "pending", 0); @@ -1560,7 +2127,7 @@ void handle_delete_request(const char* sha256) { rc = sqlite3_open_v2(DB_PATH, &db, SQLITE_OPEN_READWRITE, NULL); if (rc) { - printf("DEBUG: Database open failed: %s\r\n", sqlite3_errmsg(db)); + fprintf(stderr, "DEBUG: Database open failed: %s\r\n", sqlite3_errmsg(db)); send_error_response(500, "database_error", "Failed to access database", "Internal server error"); log_request("DELETE", "/delete", "authenticated", 500); return; @@ -1570,7 +2137,7 @@ void handle_delete_request(const char* sha256) { const char* sql = "SELECT uploader_pubkey, type FROM blobs WHERE sha256 = ?"; rc = sqlite3_prepare_v2(db, sql, -1, &stmt, NULL); if (rc != SQLITE_OK) { - printf("DEBUG: SQL prepare failed: %s\r\n", sqlite3_errmsg(db)); + fprintf(stderr, "DEBUG: SQL prepare failed: %s\r\n", sqlite3_errmsg(db)); sqlite3_close(db); send_error_response(500, "database_error", "Failed to prepare query", "Internal server error"); log_request("DELETE", "/delete", "authenticated", 500); @@ -1613,13 +2180,13 @@ void handle_delete_request(const char* sha256) { return; } - printf("DEBUG: Ownership check passed, proceeding with deletion\r\n"); + fprintf(stderr, "DEBUG: Ownership check passed, proceeding with deletion\r\n"); // Delete from database first const char* delete_sql = "DELETE FROM blobs WHERE sha256 = ?"; rc = sqlite3_prepare_v2(db, delete_sql, -1, &stmt, NULL); if (rc != SQLITE_OK) { - printf("DEBUG: Delete SQL prepare failed: %s\r\n", sqlite3_errmsg(db)); + fprintf(stderr, "DEBUG: Delete SQL prepare failed: %s\r\n", sqlite3_errmsg(db)); sqlite3_close(db); send_error_response(500, "database_error", "Failed to prepare delete", "Internal server error"); log_request("DELETE", "/delete", "authenticated", 500); @@ -1633,13 +2200,13 @@ void handle_delete_request(const char* sha256) { sqlite3_close(db); if (rc != SQLITE_DONE) { - printf("DEBUG: Database delete failed: %d\r\n", rc); + fprintf(stderr, "DEBUG: Database delete failed: %d\r\n", rc); send_error_response(500, "database_error", "Failed to delete blob metadata", "Internal server error"); log_request("DELETE", "/delete", "authenticated", 500); return; } - printf("DEBUG: Blob metadata deleted from database\r\n"); + fprintf(stderr, "DEBUG: Blob metadata deleted from database\r\n"); // Determine file extension from MIME type and delete physical file const char* extension = ""; @@ -1668,15 +2235,15 @@ void handle_delete_request(const char* sha256) { char filepath[MAX_PATH_LEN]; snprintf(filepath, sizeof(filepath), "blobs/%s%s", sha256, extension); - printf("DEBUG: Attempting to delete file: %s\r\n", filepath); + fprintf(stderr, "DEBUG: Attempting to delete file: %s\r\n", filepath); if (unlink(filepath) != 0) { - printf("DEBUG: Failed to delete physical file: %s\r\n", filepath); + fprintf(stderr, "DEBUG: Failed to delete physical file: %s\r\n", filepath); // File deletion failed, but database is already updated // Log warning but don't fail the request - printf("WARNING: Physical file deletion failed, but metadata was removed\r\n"); + fprintf(stderr, "WARNING: Physical file deletion failed, but metadata was removed\r\n"); } else { - printf("DEBUG: Physical file deleted successfully\r\n"); + fprintf(stderr, "DEBUG: Physical file deleted successfully\r\n"); } // Return success response @@ -1687,13 +2254,14 @@ void handle_delete_request(const char* sha256) { printf(" \"sha256\": \"%s\"\n", sha256); printf("}\n"); - printf("DEBUG: Delete operation completed successfully\r\n"); + fprintf(stderr, "DEBUG: Delete operation completed successfully\r\n"); log_request("DELETE", "/delete", "authenticated", 200); } // Handle PUT /upload requests void handle_upload_request(void) { - printf("DEBUG: handle_upload_request called\r\n"); + fprintf(stderr, "ENTRY: Entering handle_upload_request() function\r\n"); + fprintf(stderr, "DEBUG: handle_upload_request called\r\n"); // Log the incoming request log_request("PUT", "/upload", "pending", 0); @@ -1702,8 +2270,8 @@ void handle_upload_request(void) { const char* content_type = getenv("CONTENT_TYPE"); const char* content_length_str = getenv("CONTENT_LENGTH"); - printf("DEBUG: content_type=%s\r\n", content_type ? content_type : "NULL"); - printf("DEBUG: content_length=%s\r\n", content_length_str ? content_length_str : "NULL"); + fprintf(stderr, "DEBUG: content_type=%s\r\n", content_type ? content_type : "NULL"); + fprintf(stderr, "DEBUG: content_length=%s\r\n", content_length_str ? content_length_str : "NULL"); // Validate required headers if (!content_type) { @@ -1727,7 +2295,7 @@ void handle_upload_request(void) { // Get Authorization header for authentication const char* auth_header = getenv("HTTP_AUTHORIZATION"); - printf("DEBUG: Raw Authorization header: %s\r\n", auth_header ? auth_header : "NULL"); + fprintf(stderr, "DEBUG: Raw Authorization header: %s\r\n", auth_header ? auth_header : "NULL"); // Store uploader pubkey for metadata (will be extracted during auth if provided) const char* uploader_pubkey = NULL; @@ -1748,18 +2316,32 @@ void handle_upload_request(void) { size_t bytes_read = fread(file_data, 1, content_length, stdin); if (bytes_read != (size_t)content_length) { - printf("DEBUG: Expected %ld bytes, read %zu bytes\r\n", content_length, bytes_read); + fprintf(stderr, "DEBUG: Expected %ld bytes, read %zu bytes\r\n", content_length, bytes_read); free(file_data); printf("Status: 400 Bad Request\r\n"); printf("Content-Type: text/plain\r\n\r\n"); printf("Failed to read complete file data\n"); return; } - - printf("DEBUG: Successfully read %zu bytes from stdin\r\n", bytes_read); - + // Calculate SHA-256 hash using nostr_core function unsigned char hash[32]; + + + // EMERGENCY DEBUG: Write to direct file + FILE* debug_file = fopen("debug_hash_data.log", "a"); + if (debug_file) { + fprintf(debug_file, "=== HASH DEBUG SESSION ===\n"); + fprintf(debug_file, "Content length: %ld\n", content_length); + fprintf(debug_file, "File data to hash: "); + for (int i = 0; i < content_length; i++) { + fprintf(debug_file, "%02x", (unsigned char)file_data[i]); + } + fprintf(debug_file, "\n"); + fprintf(debug_file, "File data as string: %.*s\n", (int)content_length, file_data); + fclose(debug_file); + } + if (nostr_sha256(file_data, content_length, hash) != NOSTR_SUCCESS) { free(file_data); printf("Status: 500 Internal Server Error\r\n"); @@ -1771,12 +2353,24 @@ void handle_upload_request(void) { // Convert hash to hex string char sha256_hex[65]; nostr_bytes_to_hex(hash, 32, sha256_hex); - printf("DEBUG: Calculated SHA-256: %s\r\n", sha256_hex); + fprintf(stderr, "DEBUG-LAAN: Calculated SHA-256: %s\r\n", sha256_hex); + fflush(stderr); + + // EMERGENCY DEBUG: Write calculated hash to direct file + FILE* debug_file2 = fopen("debug_hash_data.log", "a"); + if (debug_file2) { + fprintf(debug_file2, "Calculated SHA-256: %s\n", sha256_hex); + fprintf(debug_file2, "=== END DEBUG SESSION ===\n\n"); + fclose(debug_file2); + } // TEMPORARY FIX: Bypass rules system and use simple authentication + fprintf(stderr, "AUTH: About to perform authentication - auth_header present: %s\r\n", auth_header ? "YES" : "NO"); int auth_result = NOSTR_SUCCESS; if (auth_header) { + fprintf(stderr, "AUTH: Calling authenticate_request with hash: %s\r\n", sha256_hex); auth_result = authenticate_request(auth_header, "upload", sha256_hex); + fprintf(stderr, "AUTH: authenticate_request returned: %d\r\n", auth_result); if (auth_result != NOSTR_SUCCESS) { free(file_data); send_error_response(401, "authentication_failed", "Authentication failed", @@ -1808,7 +2402,7 @@ void handle_upload_request(void) { } } - printf("DEBUG: Authentication passed, uploader_pubkey: %s\r\n", uploader_pubkey ? uploader_pubkey : "anonymous"); + fprintf(stderr, "DEBUG: Authentication passed, uploader_pubkey: %s\r\n", uploader_pubkey ? uploader_pubkey : "anonymous"); // Determine file extension from Content-Type const char* extension = ""; @@ -1839,7 +2433,7 @@ void handle_upload_request(void) { char filepath[MAX_PATH_LEN]; snprintf(filepath, sizeof(filepath), "blobs/%s%s", sha256_hex, extension); - printf("DEBUG: Saving file to: %s\r\n", filepath); + fprintf(stderr, "DEBUG: Saving file to: %s\r\n", filepath); FILE* outfile = fopen(filepath, "wb"); if (!outfile) { @@ -1863,25 +2457,25 @@ void handle_upload_request(void) { return; } - printf("DEBUG: Successfully saved %zu bytes to %s\r\n", bytes_written, filepath); + fprintf(stderr, "DEBUG: Successfully saved %zu bytes to %s\r\n", bytes_written, filepath); // Extract filename from Content-Disposition header if present const char* filename = NULL; const char* content_disposition = getenv("HTTP_CONTENT_DISPOSITION"); - printf("DEBUG: Content-Disposition header: %s\r\n", content_disposition ? content_disposition : "NULL"); + fprintf(stderr, "DEBUG: Content-Disposition header: %s\r\n", content_disposition ? content_disposition : "NULL"); if (content_disposition) { - printf("DEBUG: Looking for filename= in Content-Disposition header\r\n"); + fprintf(stderr, "DEBUG: Looking for filename= in Content-Disposition header\r\n"); // Look for filename= in Content-Disposition header const char* filename_start = strstr(content_disposition, "filename="); if (filename_start) { - printf("DEBUG: Found filename= at position %ld\r\n", filename_start - content_disposition); + fprintf(stderr, "DEBUG: Found filename= at position %ld\r\n", filename_start - content_disposition); filename_start += 9; // Skip "filename=" - printf("DEBUG: Filename value starts with: %.20s\r\n", filename_start); + fprintf(stderr, "DEBUG: Filename value starts with: %.20s\r\n", filename_start); // Handle quoted filenames if (*filename_start == '"') { - printf("DEBUG: Processing quoted filename\r\n"); + fprintf(stderr, "DEBUG: Processing quoted filename\r\n"); filename_start++; // Skip opening quote // Find closing quote const char* filename_end = strchr(filename_start, '"'); @@ -1889,20 +2483,20 @@ void handle_upload_request(void) { // Extract filename between quotes static char filename_buffer[256]; size_t filename_len = filename_end - filename_start; - printf("DEBUG: Quoted filename length: %zu\r\n", filename_len); + fprintf(stderr, "DEBUG: Quoted filename length: %zu\r\n", filename_len); if (filename_len < sizeof(filename_buffer)) { strncpy(filename_buffer, filename_start, filename_len); filename_buffer[filename_len] = '\0'; filename = filename_buffer; - printf("DEBUG: Extracted quoted filename: '%s'\r\n", filename); + fprintf(stderr, "DEBUG: Extracted quoted filename: '%s'\r\n", filename); } else { - printf("DEBUG: Quoted filename too long, skipping\r\n"); + fprintf(stderr, "DEBUG: Quoted filename too long, skipping\r\n"); } } else { - printf("DEBUG: No closing quote found for filename\r\n"); + fprintf(stderr, "DEBUG: No closing quote found for filename\r\n"); } } else { - printf("DEBUG: Processing unquoted filename\r\n"); + fprintf(stderr, "DEBUG: Processing unquoted filename\r\n"); // Unquoted filename - extract until space or end const char* filename_end = filename_start; while (*filename_end && *filename_end != ' ' && *filename_end != ';') { @@ -1910,30 +2504,30 @@ void handle_upload_request(void) { } static char filename_buffer[256]; size_t filename_len = filename_end - filename_start; - printf("DEBUG: Unquoted filename length: %zu\r\n", filename_len); + fprintf(stderr, "DEBUG: Unquoted filename length: %zu\r\n", filename_len); if (filename_len < sizeof(filename_buffer)) { strncpy(filename_buffer, filename_start, filename_len); filename_buffer[filename_len] = '\0'; filename = filename_buffer; - printf("DEBUG: Extracted unquoted filename: '%s'\r\n", filename); + fprintf(stderr, "DEBUG: Extracted unquoted filename: '%s'\r\n", filename); } else { - printf("DEBUG: Unquoted filename too long, skipping\r\n"); + fprintf(stderr, "DEBUG: Unquoted filename too long, skipping\r\n"); } } } else { - printf("DEBUG: No filename= found in Content-Disposition header\r\n"); + fprintf(stderr, "DEBUG: No filename= found in Content-Disposition header\r\n"); } } else { - printf("DEBUG: No Content-Disposition header provided\r\n"); + fprintf(stderr, "DEBUG: No Content-Disposition header provided\r\n"); } - printf("DEBUG: Final filename after extraction: %s\r\n", filename ? filename : "NULL"); + fprintf(stderr, "DEBUG: Final filename after extraction: %s\r\n", filename ? filename : "NULL"); // Store blob metadata in database time_t uploaded_time = time(NULL); if (!insert_blob_metadata(sha256_hex, content_length, content_type, uploaded_time, uploader_pubkey, filename)) { // Database insertion failed - clean up the physical file to maintain consistency - printf("DEBUG: Database insertion failed, removing physical file\r\n"); + fprintf(stderr, "DEBUG: Database insertion failed, removing physical file\r\n"); unlink(filepath); printf("Status: 500 Internal Server Error\r\n"); printf("Content-Type: text/plain\r\n\r\n"); @@ -1941,7 +2535,7 @@ void handle_upload_request(void) { return; } - printf("DEBUG: Blob metadata successfully stored in database\r\n"); + fprintf(stderr, "DEBUG: Blob metadata successfully stored in database\r\n"); // Return success response with blob descriptor printf("Status: 200 OK\r\n"); @@ -1954,19 +2548,22 @@ void handle_upload_request(void) { printf(" \"url\": \"http://localhost:9001/%s%s\"\n", sha256_hex, extension); printf("}\n"); - printf("DEBUG: Upload completed successfully with database storage\r\n"); + fprintf(stderr, "DEBUG: Upload completed successfully with database storage\r\n"); } int main(void) { + fprintf(stderr, "STARTUP: FastCGI application starting up\r\n"); + fflush(stderr); while (FCGI_Accept() >= 0) { // DEBUG: Log every request received - printf("DEBUG: FastCGI received request\r\n"); + fprintf(stderr, "DEBUG: FastCGI received request\r\n"); + fflush(stderr); const char* request_method = getenv("REQUEST_METHOD"); const char* request_uri = getenv("REQUEST_URI"); // DEBUG: Log request details - printf("DEBUG: METHOD=%s, URI=%s\r\n", + fprintf(stderr, "DEBUG: METHOD=%s, URI=%s\r\n", request_method ? request_method : "NULL", request_uri ? request_uri : "NULL"); @@ -1980,7 +2577,7 @@ int main(void) { // Handle HEAD requests for blob metadata if (strcmp(request_method, "HEAD") == 0) { const char* sha256 = extract_sha256_from_uri(request_uri); - printf("DEBUG: Extracted SHA256=%s\r\n", sha256 ? sha256 : "NULL"); + fprintf(stderr, "DEBUG: Extracted SHA256=%s\r\n", sha256 ? sha256 : "NULL"); if (sha256) { handle_head_request(sha256); log_request("HEAD", request_uri, "none", 200); // Assuming success - could be enhanced to track actual status @@ -2019,7 +2616,7 @@ int main(void) { } else if (strcmp(request_method, "DELETE") == 0) { // Handle DELETE / requests const char* sha256 = extract_sha256_from_uri(request_uri); - printf("DEBUG: DELETE request - extracted SHA256=%s\r\n", sha256 ? sha256 : "NULL"); + fprintf(stderr, "DEBUG: DELETE request - extracted SHA256=%s\r\n", sha256 ? sha256 : "NULL"); if (sha256) { handle_delete_request(sha256); } else { diff --git a/test_auth_debug b/test_auth_debug new file mode 100755 index 0000000000000000000000000000000000000000..dd4089ccfbc01f2cce7bbbea23712d61c25c5551 GIT binary patch literal 164392 zcmeF)eS8yD9zXgNCM!|eGX73}KJYg)o%pmaXRI%T8qnvSW#)2;PwR53ZG6X?4dCmO`l*jFmvfIaKNHKT zD79Qsff-*kDfQE4CT)q&M0=__sz14CPyX~sp883A@^S$z$DfJnB|g03zV@J%HKX3Z@DL2lUZYwODId}fN!iB|C78Dm2nxTIfxN!Q^;CVS0 z%+4;HI)7gA^wMG}abfX-`8V4-a;8r$43^wDd-~0V!6^$CPXEK4sSBo0DYj-UoEn%n zf5C!XIZRt{=7L-*dLdflDTmDf>~4M%(}%|vQ$UvrmC|@a%Wg;Dj1wH zYe8YM49iLr+xNSgc9d7Vc>0vtg;S-%$ip`qi||qwoTf8 znr-fsIcA)kN2P^~JwJEKta&!som1xqjgO!-R`G&)Q>RD+np8YrHnw;{@%-7gxzpz^ zoL+1ONalShSsn8 zHJDOtn>iODvlh;uI%G)U!i7_(%$uPWDV{QQwkof1#*|reY_c86KBz7Oa+FL}-!8C? zF37)hMB#aZ&QE^3F!?QeaPsTv>YD{G`cQzmxozmi)Vmd^c03r%S4< zk$aTsX;wFN)zb&*o<@8ZTNctU8}XfO=OJCvTg7*>4VSd~Nn8gfu0JDtP50ya zIN>395&7W%$bcn30rGr!klg>W8DC014)G!KYvC2-li}6m)8IAav*ESm#qc`vTjBNO zcfcFSE8r3G2jEfiN8vH@T6iOQ9lVMBdALr#8s1929v&xuT3rCCpHrmc$xmXxZ$`YG z{C{vK`3|^?d?(yZ{y990{2RE3yak?1-Uj!QAB1bmxr3?kDdKFCx!?2gv)t zgXEd;Qu4FmA@cL!734$U)#PJweASR&g7{kUrEAP~s3RYR_k}rhE$)9-<{r}X|{(rH$fK$f<`6cg}?j*k%<-5p3 za5wo~@GSCs;U4nk@Lcjo;a>75;Trifa3A@9;C}Me@FMcH@BsNHc#!-pcq#b~c!>OC zcm?^_4QBgSlYfr*8uD-8wdDKYb>u(7>&Xwo8^}9j{EUzv4Udu^508oE=kCR^rxAjf!|Chk+9+>i2PA_1$p{g=>O!+iSeJj z7Uk5E{~KOMUJtJ)Pm7xCZ6I$ze1!ZBc$9oAJVyRDypjBUcoX?9xK92Byp{Z0c$|Dc z+~!X0|3Aa+;jubIG&dUh;F{8u?(jkNhIIpL_(o zi2QPRfP5T0NIrk3*?&sOuSI-_d=k8Zd>Xu({4ekt@&)i(^2P8v^4s9`{{AqX-`Ll4H{6%;xc>_F7{s!E3T5A8_1h)hP%l> zgJ+TNfqTeX;JM^&a4&fru8|*t`^dYjGW(~W{8)Gq`3djB+`k(v|;%mq+U27iKwd9>%GQE!cD0n^j zvG4}+RnEC4UQEM;?RMlYas@_XS8@_FzW z`675D`EBqf@;l)=dF48D|F*ItK2H7s+;&E4|9=#2C+~~#%1K^}co+H8a5wo%cozAK za1VI{JePbO+)Mr@TqA!A?jzp;_melmi^xBN2gtvM2g&!rOUZwPhsb|}SCDtXbEs
$)ZJ>+3{F8O_MFZpt~M*b+=NB$(-PyRH# zhi{;NWL0gO1>5zB7YNJLH=KOHTiaU4f#j#TJqiSI`Td6dh!-{19>YvLjDsx zN`43)BkzpoR*mFG!<)!^;QXkQAD?*sMcx}8CwIebS*iX1Ot_u=T)30`Lb!|k61bau zG(3yk2ltTs;ko2f;9l}saE*Kc+(*6`?kB$uUPN9750F>DgXH(YOUWOChsbN-738(> zYVxPyHRR91Yspu^>&Vx@>&Z938_1*Z2>B8`?}(DWi})D%hww)7PvA}DU&3|rW_T<4 zcknp*k8qoML0Wzi@BbWx+sV@~|K=n=3hpBB4tJBE0M8=t4fl|{;ko4f;a>8AaE<(Y zxQ~1Y+)wU>7m>e#_lpALqYxh?FMyYlUj+}5Uk|S!FM?N-&xF^I&xhBNFM`*R-v+NI z55XJAE8r3GDtMH91w2OnD7=yUAMhsfXW=^eDtIgT8hD&M0=J!&+W(_)JNZi7UpUF_ zG4sB|MgA_zag)CX&m!Lm_mJ;~=aPQ~_mc00Yvez`edKYtpFHg~bGwSjkJ@B zgXG7+OUaLihsaNYSCG5m)#L-lb6C<$!~|p$?t;O&Q9(BRd74`3b>Q}uW%Rn-{EfZI(Qa&J={aS8lFqO z4(=s?6RwfJ4fm115BHPrf)|lD!2{$vJV@ROFC{+!50M{+SCDtbdz;nd-QhLlJ>j+F zec*NEr@`yV2f!Q1&xJ?G2g9S}7r|rXUU(zT6imYAv{h#18zGfwg1nD z+sPNfo#eN|UF6H)Zt^O47WoRehy1VbT=IXwz2qz58u?3bANg9ipL`R%i2N;hfP4o$ zNZtr9CEpDXk?ZgZ^1bkC^6%j_U)G!`?K@iIDe1e3bko zc#PZ)ZzS&zZz4Y%u9Ke!Zza!#$H~2L+rZTRKMHOq{}I={PV&nU?;;-ucavWW&mx}; z_mJNR&m|AQz2tM@8o6hSxxakm3lQ%oUkooIzYQKBzXKj5uYi}5SHVN%55X(QYv9%7 ze}mVMKLf8Ne-2(pz6xGXegoRAfxH3n5%Tr$DEVf1jQlNlBl)}VCi3^;I{7E?R`NUF zHurm+JOkIgwn3@=e-FyBlkbH)$$x;m$Y0!OuGdXI1n==?ksm-g9`Zx*T=LF%zr{;_ zELgu91Ha_mLlf`^jy%-!CG!!vo|!;6d_5 zcphC!-V^a5^4{);;p zdU!7RYj7|52DnDP4eld<7w#wj0A57C6CNP{93CXs;icsJ;UV&$;T7bE;nn2n_`RMQ z^6v0j@}BTI^4{=z@>AgrOlUGI%Tb=g;H% zhx~HH+p<&pzYlIFzZUK!zX9$dzY*>x55Tj?gK!Ud2|Sm43EWG52V5h+8}1{&5AG*_ z7+ysFI6Of9G(1TDJiL^AH9SQA4W5%$kgrF4HTfoZ4S5t^Oa3mrj{F07J^5$w2J$`d z2>G}0DEW8r82OLzM)Kd_P2`>4F#EGk-VNSL-UA*dKLKt#FSY;ohTF;Aa3}e7n6Gn@ z_eZ>&{2X`|`T1}U`K5RsmrI_DcrW?IaE*Kv+(+)i^K?J?7{nKmUj+}4Ujq-4PlT6} zPl1QXXTmGU=fJDU7s6}EOX0QTx5Mkmm%;1F?}0avSHmOZ55uG6Przg3|AaS^{~O*! z{ybbKUj=U^Z-B?i*TQY*r}qB`cACeRoqPl0o#auti~Mc4oBT;!Z)cJ3K)i?iV|Xrk z6WmMw66fxT;K;8`=BzM3|$xncX$WMk>ke>#xCO->aL+*js zl3xg~Bfl74Pd)jv7NWKGJO8yZ%ME)7Pf_x9Wn!FiaL;gLymOKuxBR>qUCr{sC9`6n0-Qf}P40x3M zWO$7HGmBNB;PK&2he-{1(JFkcZ$A z^1owyqvU7eJ}X9EfpQwjtKd!Km*ILtCtr^ER`SQ-aq_>zZR#JSwakD13vMT`hdaq% zg}cbt!QJFSmHQY{qE!;^y3GO1l5$-0R1k*2#3J;q~P2!5hdwhDXRhheyeq;W6@7cq91%coX?yxK7>`?<2L6_khRA zPk`Hor1t-l;db(Va3}fMa2I(t+)X|do<*Jq_mGc)=aP?ud&#eZYve_6ANfqUpL{;N zhntTP~YsjB~*OEU4uOnXxuP0vxZy;X- zkC1PKN6ELrW8^#FjpQG}o5(+d>*Qa-Tgmsq_#n9sFD3sD9wPqSUd-BA|HZyo%~{WEBR&cIC%lw zHY~OOkAvIE{ctDwWVnlbD%?#z3!X)O6Wl|-2%by68P|bc@>>wEk>3ILk%!@a^84XM z+N)c^y1N{sO#$d^Nn9d@a0&d;`3ed>g!ud^^0J{9||n`DgG5`OSE4 z7$yG_@iFox=;w{(I^vtizk}=K|HHr2+e-ce;^X9-aGtddPwoE)5pO3SjrlPrdD>QU zJamzN@vP}?ay#O)$h*Tm^83+lUhuaTby_mOA8{p17TMdatf1LV)3K0)%K zh%Y6-9rG9=@;t;>kdKB}laGbhkWYZul23xyk>3cfClA0I$mhc&_;6CzC;C}Ki;6>!k@Bn!$JV<^3UP^AmcoiZ~hgXmv4X-92hU?WD z^5YO+OWqq^N8T4+PksixfqWo5LY@PUk`IN)$n)Thck(a?eN>cm?@3cs2QUcn$e{?3Y^dj}Tu+z8hXo{uR7|d@npg z{v$j}{wq92{siX18p%6tGso2?@}uE8c@KCic~5wpybs*wP3`}u!|mh);7)Q6+(kYZ z?k2woo<%+a?jauo&n3SK?j`rbHS)=DANf?cpF99BA`ij?6^O4Te+*tnUJI`${};T0{5g1p{1teVd@Vdiz6st){y%sV`3|^F z{t>*D{4;o*{42OEFSY;ggWJj5;7;;5+(mu}?k4Y&`29!nW8fb0W1Bku?Ilb;DMBKN=p&rm_$4PH%t9K43S7rd7I6nGtZe|SClS?~t(LGTFqV0e`LB6y6v zGydK3M)EwwH<3Sx_d|5@%Mjm6UI34ikB8evr1t;o;CAxvsHc$(@LIk@teT$sa&J&m!-Gcn|sM@LcjNxR-no zTq7S0_mK~U`^hhb7m;i50Qr^hAo(@$Qu2xL5c!Sp3i1HFntU$2hI}Esmb?^RM;?OL zliv+*Aip0TAzuNHlK&MRBmW1yk-QGxM4ne~-WTiSFCe~^{8f0Iyb}G;HY&CMzkzr= z`Bu1-{2jQ9`~$d~{1bQ<`5w53yak?1{{6>hJ9x?45U-KP;Xd-ia6frEuD6TGd%y$a zJ>fy}li{W0r^7?!1K<_p1L4)=gW)ygL*TXKm%!`DN5bpL3*ZgpG_^`832gk@Q?f)UTo&0XNle`MCVv#3MgBLq zhy0)LT=IXzz2q;zHS(9?KJwS$e)0&shijyNWKGJO1={wBL5OzLB1DWP5wQ+ zhCB|hCAYm}jvIC4c6dGcOw3<3kUJ0`A$P%}q9w2`i9wc82FD2gy50U>DUP1mIyqbI$yoUU9crAG|ypFsTUQZr}H;^BKN677X ze=-iTp&kPTmLJO5PtHCqD;n(^C8YV7Q%pDBMYYJl@N7kzay% zH~D4oEb=Sh9`bA8x#Ty%z2r0C8u@& z9PaPp z@pf_z?j*kg?jj!#cavWS&mu2`d&sB5bIIqxz2pnw8u>cxFCY1>i1(APL;Dnw---AD z`Q7j!`F-$G@@4ht|K!UNUqSv?cr|$~yoUT=@LKX0-!s=+NB$h*>&ah)H;}&qkC3m0 zN69zBW8_=ljpT2`o5(+a>*PD(t>nAmaq_R=wu03DzZY&NZ-YC@55QgIhv9DW&O6NZ z&mun>?jd);bIE(bz2tr28hL-Xk9;89Pktf(z0D%>^AH~(&xHrchr>(BN5Dhmm%}T_ z$HA+~{qP#{LU=9tOn4o65MEDyGrWQPc6fxm93CaV7ak*j2;NBkD7=aM3Aj%F6ugyu zB|J`E54Vj??fPVy~q7x~ElnEl*M{x0IP$lr&1$UlMSl79*JlIw7dycO;v zKLGcWAA%Q=cg6S_Any(jl4rn6$xnfY$TQ&;+G`E+ak=p+&;CAx+;7;;~;4bn< z;coJOz_ZBf;2!c9;JM_lz`f+_;2QY`xQ~1r+)w^I=JATi-$8tU{C#+k{6ox3l#=g6 ze2DyWcm?^_@M`kC@EYc3i65YYVs-Y8uFR&TJrhuI`R^DJ^8Kh2J$=L5%LOnl>9z;jC=*W zk^C`u6L~FMC;u0`mHc^loctxYZCq;qe;sZo-vD=#Z-u+a{|9%I?|^5Ke+>7KH^Fns z_rSg6EpUze2e^;?H@Kg?^M~efT||BiJV1UNJV@RPUP`_ZzrPS7KNay6Mkmigd@H#J9w)y5Zo4|Q|6c;PlWTA%`IT@N z`L%F2c_BQDd?wsOJ{O)#z5wneFNJI5OW{89WpF?FJ@6v(`{4od74RVW!$89`a-MnAah> zHEOYVki^izX%>A_rgobN5ezpW8oF#FQGqIlV64S8uDx5 zwd95HI`Zl8dh$8&2J!{)2zeGqhZm9m1P_q^ z1`m=4a9vSKo{ryN2$3HPuOOd?a;nLDBEE*)iR+wN^4^HABX`5=$v?uWOM-vE!3PlemAN$vkL;db)5a3}dfxQqN&xSRY=coumD z+(Z5VJeT}oxR?BKxJEv4m3bcVk?+HNj-ULWD5r?L4jv%?4?IZzGQ5<04Ln31fme`6 z;nn1C!)wTQz-!4rhS!mQ4zDNwzcar~v{^KG)4e@UBEO-|Axo{8p1@K(*VQ?>b z9$X_I4fl~>4)>G$;6>zqcz}E|JV-tRUP?X}9wIM+SCHQduO`0*=bakzGQ`)CSHSDY z?}yiuKMZdm{~J6){tP@y{yaQJz6#z*{yMygd=p$Je+%A99)rip8{sy8YX9F2x08Pj zcanbxcai@DcatB4XOY`>nd6LyyemAHJRA2ZUh*^X-hxJMPmKTMn_n>3>nA@J>n$Qb z0UjXVf$a*CpN#lY^3&lV^0VL-vx>J`dhRz6h?9FM+p`FN4R)?}gj0OYQ#;!tLabz@6lOgS*I|fxF39!n4R% z!9C<_;JM@*;9l}=aE*LB+(-T~+)sWC-rp-C-;MYH`8V(&`F?mQ`OokW`C)hkd6!Sj zRa3}cxSRYh@GSC$7|%WA3lN`6ehb`7emh(v zUk3M)-vjrPSHp|Q{n)<&@)d{=l0ObFCBGTl8zTQF;w#9Xg;$fWg4d9*hS!p>hu4vB zf!CA&58gojK0HGHF+58CDLh90CA^Vbhc}Ub2iM7egtwCa0*{lo!)+5&`+pbwd$xA+ zW8qHnbqua9mg9lAnQiFZn>YMqZ8n<|983@qY3P;YH*Z!vo}_ z;6d^+@KW+|@DTYm@Cx#Y@M`j@@EY;}yq0_(ypFsCUQd1tyn*})v}c5T0_JI>}~aW zOT4+H8Q);>bW1rAi=SZesKp0a+-+H})nk@;mnGg~iMM*ACBDBUzRBX}SiJNGb8C(g zGp|_8%#g)9TjDD$-o@h87FTVW_^GkDT1Voi*5dXA%4eO$yIH*6;zwJ&!Q#hQJYw-< zEgrRacZ@$>L6n>lQ!G;;j}x-r{kK_q4bT`%AT1hQ;j`Khfe&i}$j) z%ipR7SFQy$rkrmypP3mEq;o{y%s;!;+n<#THI%Gx5fPyKh5Gr7Vl^AfW=R@ zc+ldR7B98<85R#&{7j2iSUk(()fOLM@fwStW${{zpKb9!zy8?*f40D%E%0Xx{MiD3 zw!oh)@MjDB*#dvIz@IJfXAAt<0{?$(fgc>F9@NVA+O^8`7jI9qY2}gPPVF(R>`nV7 zqq^-mmo81SwYB#jAs>#uHWeRGIc?3Kx3{-f8)-H1)YiN`nO0L$ZOt2!X*B`W*8E~J zttOt@n*W|mtBJR^<_D5#H38Mud`B{^CQ;g&Z%U@sgi~Adlw?{>G_^I4OQzKXQ(JRh zGOZ?-+M2VIX*HqL)_htrttOJ%nvYAS)dW&ob6PU3CXU*gzdxMVUNvDP+n-FUi6Ytl zWLixS$@VAHY64NVKbck&MY8?Lw3;B2?N6rF#E@)%GOZ?rWc!n8HDM^*pG>QXA=&<9 zT1^Pa_9xS7B1pDBnN|}(vi-@ln)s3JPo~v`k8FQ3ttNV8`wu0y-)*EnPo~wxj%

|+PgD8{ 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 PugmlCn#ms8ZWH)_?Z?vs literal 0 HcmV?d00001 diff --git a/test_auth_debug.c b/test_auth_debug.c new file mode 100644 index 0000000..631712e --- /dev/null +++ b/test_auth_debug.c @@ -0,0 +1,765 @@ +/* + * Debug test for Authorization header processing + * Tests the exact same flow as the ginxsom server with detailed step-by-step logging + */ + +#include +#include +#include +#include +#include "nostr_core_lib/nostr_core/nip001.h" +#include "nostr_core_lib/nostr_core/nostr_common.h" +#include "nostr_core_lib/nostr_core/utils.h" +#include "nostr_core_lib/nostr_core/crypto/nostr_secp256k1.h" +#include "nostr_core_lib/cjson/cJSON.h" + +// Logging utility +#define LOG_STEP(step, msg, ...) printf("🔍 STEP %s: " msg "\n", step, ##__VA_ARGS__) +#define LOG_SUCCESS(msg, ...) printf("✅ SUCCESS: " msg "\n", ##__VA_ARGS__) +#define LOG_ERROR(msg, ...) printf("❌ ERROR: " msg "\n", ##__VA_ARGS__) +#define LOG_INFO(msg, ...) printf("ℹ️ INFO: " msg "\n", ##__VA_ARGS__) +#define LOG_DIVIDER() printf("═══════════════════════════════════════════════════════════════════\n") + +// Forward declarations for detailed validation functions +int detailed_structure_validation(cJSON* event); +int detailed_signature_validation(cJSON* event); +void analyze_event_fields(cJSON* event); +void analyze_serialization(cJSON* event); +void hex_dump(const char* label, const unsigned char* data, size_t len); + +// Copy the exact parse_authorization_header function from main.c +int parse_authorization_header(const char* auth_header, char* event_json, size_t json_size) { + if (!auth_header || !event_json) { + printf("DEBUG: parse_authorization_header - invalid parameters: auth_header=%p, event_json=%p\r\n", + (void*)auth_header, (void*)event_json); + return NOSTR_ERROR_INVALID_INPUT; + } + + printf("DEBUG: parse_authorization_header called with header: %.50s...\r\n", auth_header); + + // Check for "Nostr " prefix (case-insensitive) + const char* prefix = "nostr "; + size_t prefix_len = strlen(prefix); + + if (strncasecmp(auth_header, prefix, prefix_len) != 0) { + printf("DEBUG: Authorization header missing 'Nostr ' prefix (found: %.10s)\r\n", auth_header); + return NOSTR_ERROR_INVALID_INPUT; + } + + // Extract base64 encoded event after "Nostr " + const char* base64_event = auth_header + prefix_len; + printf("DEBUG: Extracted base64 event (length=%zu): %.100s...\r\n", strlen(base64_event), base64_event); + + // Decode base64 to JSON using nostr_core_lib base64 decode + unsigned char decoded_buffer[4096]; + size_t decoded_len = base64_decode(base64_event, decoded_buffer); + + printf("DEBUG: Base64 decode result - decoded_len=%zu\r\n", decoded_len); + + if (decoded_len == 0) { + printf("DEBUG: Failed to decode base64 event - base64_decode returned 0\r\n"); + return NOSTR_ERROR_INVALID_INPUT; + } + + if (decoded_len >= json_size) { + printf("DEBUG: Decoded JSON too large for buffer (decoded_len=%zu, json_size=%zu)\r\n", decoded_len, json_size); + return NOSTR_ERROR_INVALID_INPUT; + } + + // Copy decoded JSON to output buffer + memcpy(event_json, decoded_buffer, decoded_len); + event_json[decoded_len] = '\0'; + + printf("DEBUG: Successfully decoded JSON (length=%zu): %s\r\n", decoded_len, event_json); + return NOSTR_SUCCESS; +} + +/** + * Detailed structure validation with step-by-step logging + */ +int detailed_structure_validation(cJSON* event) { + LOG_DIVIDER(); + LOG_STEP("STRUCT-1", "Starting detailed structure validation"); + + if (!event || !cJSON_IsObject(event)) { + LOG_ERROR("Event is null or not a JSON object"); + return NOSTR_ERROR_EVENT_INVALID_STRUCTURE; + } + LOG_SUCCESS("Event is valid JSON object"); + + // Check each required field existence + LOG_STEP("STRUCT-2", "Checking required field existence"); + const char* required_fields[] = {"id", "pubkey", "created_at", "kind", "tags", "content", "sig"}; + for (int i = 0; i < 7; i++) { + cJSON* field = cJSON_GetObjectItem(event, required_fields[i]); + if (!field) { + LOG_ERROR("Missing required field: %s", required_fields[i]); + return NOSTR_ERROR_EVENT_INVALID_STRUCTURE; + } + LOG_SUCCESS("Field '%s' exists", required_fields[i]); + } + + // Get all fields for detailed validation + cJSON* id_item = cJSON_GetObjectItem(event, "id"); + cJSON* pubkey_item = cJSON_GetObjectItem(event, "pubkey"); + cJSON* created_at_item = cJSON_GetObjectItem(event, "created_at"); + cJSON* kind_item = cJSON_GetObjectItem(event, "kind"); + cJSON* tags_item = cJSON_GetObjectItem(event, "tags"); + cJSON* content_item = cJSON_GetObjectItem(event, "content"); + cJSON* sig_item = cJSON_GetObjectItem(event, "sig"); + + // Validate field types + LOG_STEP("STRUCT-3", "Validating field types"); + if (!cJSON_IsString(id_item)) { + LOG_ERROR("Field 'id' is not a string (type: %d)", id_item->type); + return NOSTR_ERROR_EVENT_INVALID_ID; + } + LOG_SUCCESS("Field 'id' is string"); + + if (!cJSON_IsString(pubkey_item)) { + LOG_ERROR("Field 'pubkey' is not a string (type: %d)", pubkey_item->type); + return NOSTR_ERROR_EVENT_INVALID_PUBKEY; + } + LOG_SUCCESS("Field 'pubkey' is string"); + + if (!cJSON_IsNumber(created_at_item)) { + LOG_ERROR("Field 'created_at' is not a number (type: %d)", created_at_item->type); + return NOSTR_ERROR_EVENT_INVALID_CREATED_AT; + } + LOG_SUCCESS("Field 'created_at' is number"); + + if (!cJSON_IsNumber(kind_item)) { + LOG_ERROR("Field 'kind' is not a number (type: %d)", kind_item->type); + return NOSTR_ERROR_EVENT_INVALID_KIND; + } + LOG_SUCCESS("Field 'kind' is number"); + + if (!cJSON_IsArray(tags_item)) { + LOG_ERROR("Field 'tags' is not an array (type: %d)", tags_item->type); + return NOSTR_ERROR_EVENT_INVALID_TAGS; + } + LOG_SUCCESS("Field 'tags' is array"); + + if (!cJSON_IsString(content_item)) { + LOG_ERROR("Field 'content' is not a string (type: %d)", content_item->type); + return NOSTR_ERROR_EVENT_INVALID_CONTENT; + } + LOG_SUCCESS("Field 'content' is string"); + + if (!cJSON_IsString(sig_item)) { + LOG_ERROR("Field 'sig' is not a string (type: %d)", sig_item->type); + return NOSTR_ERROR_EVENT_INVALID_SIGNATURE; + } + LOG_SUCCESS("Field 'sig' is string"); + + // Validate hex string lengths + LOG_STEP("STRUCT-4", "Validating hex string lengths"); + const char* id_str = cJSON_GetStringValue(id_item); + const char* pubkey_str = cJSON_GetStringValue(pubkey_item); + const char* sig_str = cJSON_GetStringValue(sig_item); + + LOG_INFO("ID string: '%s' (length: %zu)", id_str, id_str ? strlen(id_str) : 0); + if (!id_str || strlen(id_str) != 64) { + LOG_ERROR("ID string invalid length (expected 64, got %zu)", id_str ? strlen(id_str) : 0); + return NOSTR_ERROR_EVENT_INVALID_ID; + } + LOG_SUCCESS("ID string length is correct (64 chars)"); + + LOG_INFO("Pubkey string: '%s' (length: %zu)", pubkey_str, pubkey_str ? strlen(pubkey_str) : 0); + if (!pubkey_str || strlen(pubkey_str) != 64) { + LOG_ERROR("Pubkey string invalid length (expected 64, got %zu)", pubkey_str ? strlen(pubkey_str) : 0); + return NOSTR_ERROR_EVENT_INVALID_PUBKEY; + } + LOG_SUCCESS("Pubkey string length is correct (64 chars)"); + + LOG_INFO("Signature string: '%s' (length: %zu)", sig_str, sig_str ? strlen(sig_str) : 0); + if (!sig_str || strlen(sig_str) != 128) { + LOG_ERROR("Signature string invalid length (expected 128, got %zu)", sig_str ? strlen(sig_str) : 0); + return NOSTR_ERROR_EVENT_INVALID_SIGNATURE; + } + LOG_SUCCESS("Signature string length is correct (128 chars)"); + + // Validate hex characters + LOG_STEP("STRUCT-5", "Validating hex characters"); + LOG_INFO("Checking ID hex characters..."); + for (int i = 0; i < 64; i++) { + char c = id_str[i]; + if (!((c >= '0' && c <= '9') || (c >= 'a' && c <= 'f'))) { + LOG_ERROR("Invalid hex character in ID at position %d: '%c' (0x%02x)", i, c, (unsigned char)c); + return NOSTR_ERROR_EVENT_INVALID_ID; + } + } + LOG_SUCCESS("ID hex characters are valid (lowercase)"); + + LOG_INFO("Checking pubkey hex characters..."); + for (int i = 0; i < 64; i++) { + char c = pubkey_str[i]; + if (!((c >= '0' && c <= '9') || (c >= 'a' && c <= 'f'))) { + LOG_ERROR("Invalid hex character in pubkey at position %d: '%c' (0x%02x)", i, c, (unsigned char)c); + return NOSTR_ERROR_EVENT_INVALID_PUBKEY; + } + } + LOG_SUCCESS("Pubkey hex characters are valid (lowercase)"); + + LOG_INFO("Checking signature hex characters..."); + for (int i = 0; i < 128; i++) { + char c = sig_str[i]; + if (!((c >= '0' && c <= '9') || (c >= 'a' && c <= 'f'))) { + LOG_ERROR("Invalid hex character in signature at position %d: '%c' (0x%02x)", i, c, (unsigned char)c); + return NOSTR_ERROR_EVENT_INVALID_SIGNATURE; + } + } + LOG_SUCCESS("Signature hex characters are valid (lowercase)"); + + // Validate timestamp + LOG_STEP("STRUCT-6", "Validating timestamp"); + double created_at = cJSON_GetNumberValue(created_at_item); + LOG_INFO("Created_at timestamp: %.0f", created_at); + if (created_at < 0) { + LOG_ERROR("Invalid timestamp (negative): %.0f", created_at); + return NOSTR_ERROR_EVENT_INVALID_CREATED_AT; + } + + // Convert to human readable time + time_t timestamp = (time_t)created_at; + char time_str[100]; + struct tm* tm_info = gmtime(×tamp); + strftime(time_str, sizeof(time_str), "%Y-%m-%d %H:%M:%S UTC", tm_info); + LOG_SUCCESS("Timestamp is valid: %s", time_str); + + // Validate kind + LOG_STEP("STRUCT-7", "Validating kind"); + double kind = cJSON_GetNumberValue(kind_item); + LOG_INFO("Event kind: %.0f", kind); + if (kind < 0 || kind > 65535 || kind != (int)kind) { + LOG_ERROR("Invalid kind value: %.0f (must be integer 0-65535)", kind); + return NOSTR_ERROR_EVENT_INVALID_KIND; + } + LOG_SUCCESS("Kind is valid: %d", (int)kind); + + // Validate tags array structure + LOG_STEP("STRUCT-8", "Validating tags array structure"); + int tag_count = cJSON_GetArraySize(tags_item); + LOG_INFO("Tags array has %d elements", tag_count); + + cJSON* tag_item; + int tag_index = 0; + cJSON_ArrayForEach(tag_item, tags_item) { + if (!cJSON_IsArray(tag_item)) { + LOG_ERROR("Tag at index %d is not an array (type: %d)", tag_index, tag_item->type); + return NOSTR_ERROR_EVENT_INVALID_TAGS; + } + + int tag_element_count = cJSON_GetArraySize(tag_item); + LOG_INFO("Tag[%d] has %d elements", tag_index, tag_element_count); + + cJSON* tag_element; + int element_index = 0; + cJSON_ArrayForEach(tag_element, tag_item) { + if (!cJSON_IsString(tag_element)) { + LOG_ERROR("Tag[%d][%d] is not a string (type: %d)", tag_index, element_index, tag_element->type); + return NOSTR_ERROR_EVENT_INVALID_TAGS; + } + const char* tag_value = cJSON_GetStringValue(tag_element); + LOG_INFO("Tag[%d][%d]: '%s'", tag_index, element_index, tag_value); + element_index++; + } + tag_index++; + } + LOG_SUCCESS("Tags array structure is valid"); + + // Validate content + LOG_STEP("STRUCT-9", "Validating content"); + const char* content_str = cJSON_GetStringValue(content_item); + LOG_INFO("Content: '%s' (length: %zu)", content_str, content_str ? strlen(content_str) : 0); + LOG_SUCCESS("Content is valid string"); + + LOG_SUCCESS("Structure validation completed successfully"); + return NOSTR_SUCCESS; +} + +/** + * Detailed signature validation with step-by-step logging + */ +int detailed_signature_validation(cJSON* event) { + LOG_DIVIDER(); + LOG_STEP("CRYPTO-1", "Starting detailed signature validation"); + + if (!event) { + LOG_ERROR("Event is null"); + return NOSTR_ERROR_INVALID_INPUT; + } + + // Get event fields + cJSON* id_item = cJSON_GetObjectItem(event, "id"); + cJSON* pubkey_item = cJSON_GetObjectItem(event, "pubkey"); + cJSON* created_at_item = cJSON_GetObjectItem(event, "created_at"); + cJSON* kind_item = cJSON_GetObjectItem(event, "kind"); + cJSON* tags_item = cJSON_GetObjectItem(event, "tags"); + cJSON* content_item = cJSON_GetObjectItem(event, "content"); + cJSON* sig_item = cJSON_GetObjectItem(event, "sig"); + + if (!id_item || !pubkey_item || !created_at_item || !kind_item || + !tags_item || !content_item || !sig_item) { + LOG_ERROR("Missing required fields for signature validation"); + return NOSTR_ERROR_EVENT_INVALID_STRUCTURE; + } + + // Create serialization array + LOG_STEP("CRYPTO-2", "Creating serialization array"); + cJSON* serialize_array = cJSON_CreateArray(); + if (!serialize_array) { + LOG_ERROR("Failed to create serialization array"); + return NOSTR_ERROR_MEMORY_FAILED; + } + + cJSON_AddItemToArray(serialize_array, cJSON_CreateNumber(0)); + cJSON_AddItemToArray(serialize_array, cJSON_Duplicate(pubkey_item, 1)); + cJSON_AddItemToArray(serialize_array, cJSON_Duplicate(created_at_item, 1)); + cJSON_AddItemToArray(serialize_array, cJSON_Duplicate(kind_item, 1)); + cJSON_AddItemToArray(serialize_array, cJSON_Duplicate(tags_item, 1)); + cJSON_AddItemToArray(serialize_array, cJSON_Duplicate(content_item, 1)); + + LOG_SUCCESS("Serialization array created"); + + // Convert to JSON string + LOG_STEP("CRYPTO-3", "Converting to JSON string"); + char* serialize_string = cJSON_PrintUnformatted(serialize_array); + cJSON_Delete(serialize_array); + + if (!serialize_string) { + LOG_ERROR("Failed to serialize array to JSON string"); + return NOSTR_ERROR_MEMORY_FAILED; + } + + LOG_SUCCESS("JSON serialization string created"); + LOG_INFO("Serialization string (length %zu): %s", strlen(serialize_string), serialize_string); + + // Hash the serialized event + LOG_STEP("CRYPTO-4", "Computing SHA256 hash"); + unsigned char event_hash[32]; + if (nostr_sha256((const unsigned char*)serialize_string, strlen(serialize_string), event_hash) != 0) { + LOG_ERROR("SHA256 hashing failed"); + free(serialize_string); + return NOSTR_ERROR_CRYPTO_FAILED; + } + + LOG_SUCCESS("SHA256 hash computed"); + hex_dump("Event hash", event_hash, 32); + + // Convert hash to hex for event ID verification + LOG_STEP("CRYPTO-5", "Verifying event ID"); + char calculated_id[65]; + nostr_bytes_to_hex(event_hash, 32, calculated_id); + + const char* provided_id = cJSON_GetStringValue(id_item); + LOG_INFO("Calculated ID: %s", calculated_id); + LOG_INFO("Provided ID: %s", provided_id); + + if (!provided_id || strcmp(calculated_id, provided_id) != 0) { + LOG_ERROR("Event ID mismatch!"); + LOG_ERROR(" Expected: %s", calculated_id); + LOG_ERROR(" Got: %s", provided_id ? provided_id : "NULL"); + free(serialize_string); + return NOSTR_ERROR_EVENT_INVALID_ID; + } + LOG_SUCCESS("Event ID verification passed"); + + // Prepare signature verification + LOG_STEP("CRYPTO-6", "Preparing signature verification"); + const char* pubkey_str = cJSON_GetStringValue(pubkey_item); + const char* sig_str = cJSON_GetStringValue(sig_item); + + if (!pubkey_str || !sig_str) { + LOG_ERROR("Missing pubkey or signature strings"); + free(serialize_string); + return NOSTR_ERROR_EVENT_INVALID_STRUCTURE; + } + + // Convert hex strings to bytes + LOG_STEP("CRYPTO-7", "Converting hex strings to bytes"); + unsigned char pubkey_bytes[32]; + unsigned char sig_bytes[64]; + + if (nostr_hex_to_bytes(pubkey_str, pubkey_bytes, 32) != 0) { + LOG_ERROR("Failed to convert pubkey hex to bytes"); + free(serialize_string); + return NOSTR_ERROR_CRYPTO_FAILED; + } + LOG_SUCCESS("Pubkey hex converted to bytes"); + hex_dump("Pubkey bytes", pubkey_bytes, 32); + + if (nostr_hex_to_bytes(sig_str, sig_bytes, 64) != 0) { + LOG_ERROR("Failed to convert signature hex to bytes"); + free(serialize_string); + return NOSTR_ERROR_CRYPTO_FAILED; + } + LOG_SUCCESS("Signature hex converted to bytes"); + hex_dump("Signature bytes", sig_bytes, 64); + + // Parse the public key into secp256k1 format + LOG_STEP("CRYPTO-8", "Parsing public key into secp256k1 format"); + nostr_secp256k1_xonly_pubkey xonly_pubkey; + if (!nostr_secp256k1_xonly_pubkey_parse(&xonly_pubkey, pubkey_bytes)) { + LOG_ERROR("Failed to parse public key into secp256k1 format"); + free(serialize_string); + return NOSTR_ERROR_EVENT_INVALID_PUBKEY; + } + LOG_SUCCESS("Public key parsed into secp256k1 format"); + + // Verify Schnorr signature + LOG_STEP("CRYPTO-9", "Verifying Schnorr signature"); + if (!nostr_secp256k1_schnorrsig_verify(sig_bytes, event_hash, &xonly_pubkey)) { + LOG_ERROR("Schnorr signature verification FAILED!"); + LOG_ERROR("This means the signature does not match the event hash and public key"); + free(serialize_string); + return NOSTR_ERROR_EVENT_INVALID_SIGNATURE; + } + + LOG_SUCCESS("Schnorr signature verification PASSED!"); + free(serialize_string); + return NOSTR_SUCCESS; +} + +/** + * Analyze event fields in detail + */ +void analyze_event_fields(cJSON* event) { + LOG_DIVIDER(); + LOG_STEP("ANALYZE-1", "Analyzing event field details"); + + cJSON* field; + cJSON_ArrayForEach(field, event) { + if (field->string) { + LOG_INFO("Field '%s':", field->string); + if (cJSON_IsString(field)) { + const char* value = cJSON_GetStringValue(field); + LOG_INFO(" Type: String"); + LOG_INFO(" Value: '%s'", value); + LOG_INFO(" Length: %zu", value ? strlen(value) : 0); + } else if (cJSON_IsNumber(field)) { + double value = cJSON_GetNumberValue(field); + LOG_INFO(" Type: Number"); + LOG_INFO(" Value: %.0f", value); + } else if (cJSON_IsArray(field)) { + int size = cJSON_GetArraySize(field); + LOG_INFO(" Type: Array"); + LOG_INFO(" Size: %d", size); + } else { + LOG_INFO(" Type: Other (%d)", field->type); + } + } + } +} + +/** + * Print hex dump of binary data + */ +void hex_dump(const char* label, const unsigned char* data, size_t len) { + LOG_INFO("%s (%zu bytes):", label, len); + for (size_t i = 0; i < len; i += 16) { + printf(" %04zx: ", i); + for (size_t j = 0; j < 16; j++) { + if (i + j < len) { + printf("%02x ", data[i + j]); + } else { + printf(" "); + } + } + printf(" |"); + for (size_t j = 0; j < 16 && i + j < len; j++) { + unsigned char c = data[i + j]; + printf("%c", (c >= 32 && c <= 126) ? c : '.'); + } + printf("|\n"); + } +} + +/** + * Mirror the exact server-side validation flow for comparison + */ +int server_style_authentication(const char* auth_header, const char* method, const char* file_hash) { + LOG_DIVIDER(); + LOG_STEP("SERVER-1", "Starting server-style authentication (mirroring main.c)"); + + if (!auth_header) { + LOG_ERROR("No authorization header provided"); + return NOSTR_ERROR_INVALID_INPUT; + } + + LOG_INFO("Server-style auth called with method: %s, hash: %s", + method ? method : "null", file_hash ? file_hash : "null"); + + // Parse authorization header (same as server) + char event_json[4096]; + LOG_STEP("SERVER-2", "Calling parse_authorization_header"); + int parse_result = parse_authorization_header(auth_header, event_json, sizeof(event_json)); + if (parse_result != NOSTR_SUCCESS) { + LOG_ERROR("Authorization header parsing failed: %d (%s)", parse_result, nostr_strerror(parse_result)); + return parse_result; + } + LOG_SUCCESS("parse_authorization_header succeeded"); + + // Parse JSON event (same as server) + LOG_STEP("SERVER-3", "Calling cJSON_Parse on JSON string"); + LOG_INFO("JSON to parse: %s", event_json); + cJSON* event = cJSON_Parse(event_json); + if (!event) { + LOG_ERROR("Failed to parse JSON event with cJSON_Parse"); + return NOSTR_ERROR_EVENT_INVALID_CONTENT; + } + LOG_SUCCESS("cJSON_Parse succeeded, event parsed"); + + // Print complete parsed JSON like server does + char* parsed_json_str = cJSON_Print(event); + LOG_INFO("Parsed JSON: %s", parsed_json_str ? parsed_json_str : "NULL"); + if (parsed_json_str) free(parsed_json_str); + + // Debug: Print event fields before validation (same as server) + cJSON* id_json = cJSON_GetObjectItem(event, "id"); + cJSON* pubkey_json = cJSON_GetObjectItem(event, "pubkey"); + cJSON* sig_json = cJSON_GetObjectItem(event, "sig"); + cJSON* kind_json = cJSON_GetObjectItem(event, "kind"); + cJSON* created_at_json = cJSON_GetObjectItem(event, "created_at"); + + LOG_STEP("SERVER-4", "Event fields before validation"); + LOG_INFO(" id: %s", id_json && cJSON_IsString(id_json) ? cJSON_GetStringValue(id_json) : "MISSING/INVALID"); + LOG_INFO(" pubkey: %s", pubkey_json && cJSON_IsString(pubkey_json) ? cJSON_GetStringValue(pubkey_json) : "MISSING/INVALID"); + LOG_INFO(" sig: %s", sig_json && cJSON_IsString(sig_json) ? cJSON_GetStringValue(sig_json) : "MISSING/INVALID"); + LOG_INFO(" kind: %d", kind_json && cJSON_IsNumber(kind_json) ? (int)cJSON_GetNumberValue(kind_json) : -999); + LOG_INFO(" created_at: %ld", created_at_json && cJSON_IsNumber(created_at_json) ? (long)cJSON_GetNumberValue(created_at_json) : -999); + + // Detailed pubkey analysis (same as server) + if (pubkey_json && cJSON_IsString(pubkey_json)) { + const char* pubkey_str = cJSON_GetStringValue(pubkey_json); + LOG_STEP("SERVER-5", "Detailed pubkey analysis"); + LOG_INFO(" Pubkey: %s", pubkey_str ? pubkey_str : "NULL"); + LOG_INFO(" Length: %zu", pubkey_str ? strlen(pubkey_str) : 0); + if (pubkey_str && strlen(pubkey_str) == 64) { + LOG_INFO(" Character analysis (first 10): "); + for (int i = 0; i < 10; i++) { + char c = pubkey_str[i]; + printf("%c(0x%02x) ", c, (unsigned char)c); + } + printf("\n"); + } + } + + // Pre-validation pubkey analysis (same as server) + LOG_STEP("SERVER-6", "Pre-validation pubkey analysis"); + if (pubkey_json && cJSON_IsString(pubkey_json)) { + const char* pubkey_str = cJSON_GetStringValue(pubkey_json); + LOG_INFO(" Pubkey: %s", pubkey_str ? pubkey_str : "NULL"); + LOG_INFO(" Length: %zu", pubkey_str ? strlen(pubkey_str) : 0); + if (pubkey_str && strlen(pubkey_str) == 64) { + LOG_INFO(" Character analysis (first 10): "); + for (int i = 0; i < 10; i++) { + char c = pubkey_str[i]; + printf("%c(%d) ", c, (int)c); + } + printf("\n"); + LOG_INFO(" Character validation test: "); + int valid_chars = 1; + for (int i = 0; i < 64; i++) { + char c = pubkey_str[i]; + if (!((c >= '0' && c <= '9') || (c >= 'a' && c <= 'f'))) { + printf("INVALID at pos %d: %c(%d) ", i, c, (int)c); + valid_chars = 0; + } + } + if (valid_chars) { + printf("ALL VALID (lowercase hex)\n"); + } else { + printf("\n"); + } + } + } + + // Detailed validation analysis (same as server) + LOG_STEP("SERVER-7", "Starting detailed validation analysis"); + + // Test structure validation first (same as server) + LOG_INFO("Testing structure validation..."); + int structure_result = nostr_validate_event_structure(event); + LOG_INFO("nostr_validate_event_structure returned: %d (%s)", + structure_result, nostr_strerror(structure_result)); + + if (structure_result != NOSTR_SUCCESS) { + LOG_ERROR("STRUCTURE validation failed!"); + cJSON_Delete(event); + return structure_result; + } + LOG_SUCCESS("Structure validation PASSED"); + + // Test crypto validation separately (same as server) + LOG_INFO("Testing cryptographic verification..."); + int crypto_result = nostr_verify_event_signature(event); + LOG_INFO("nostr_verify_event_signature returned: %d (%s)", + crypto_result, nostr_strerror(crypto_result)); + + if (crypto_result != NOSTR_SUCCESS) { + LOG_ERROR("CRYPTO verification failed!"); + if (pubkey_json && cJSON_IsString(pubkey_json)) { + const char* pubkey_str = cJSON_GetStringValue(pubkey_json); + LOG_ERROR("Failed pubkey: %s (length: %zu)", + pubkey_str ? pubkey_str : "NULL", pubkey_str ? strlen(pubkey_str) : 0); + } + cJSON_Delete(event); + return crypto_result; + } + LOG_SUCCESS("Crypto verification PASSED"); + + // Finally test complete validation (same as server) + LOG_INFO("Testing complete validation..."); + int validation_result = nostr_validate_event(event); + LOG_INFO("nostr_validate_event returned: %d (%s)", + validation_result, nostr_strerror(validation_result)); + + if (validation_result != NOSTR_SUCCESS) { + LOG_ERROR("COMPLETE validation failed: %d (%s)", + validation_result, nostr_strerror(validation_result)); + + // Additional debug: Check specific validation issues (same as server) + if (pubkey_json && cJSON_IsString(pubkey_json)) { + const char* pubkey_str = cJSON_GetStringValue(pubkey_json); + LOG_ERROR("Pubkey length: %zu, value: %s", + pubkey_str ? strlen(pubkey_str) : 0, pubkey_str ? pubkey_str : "NULL"); + } + + cJSON_Delete(event); + return validation_result; + } + LOG_SUCCESS("Complete validation PASSED"); + + cJSON_Delete(event); + LOG_SUCCESS("Server-style authentication successful, returning NOSTR_SUCCESS"); + return NOSTR_SUCCESS; +} + +int main(void) { + LOG_DIVIDER(); + printf("🔧 COMPREHENSIVE NOSTR EVENT VALIDATION DEBUG TEST 🔧\n"); + LOG_DIVIDER(); + + // Initialize crypto library + LOG_STEP("INIT-1", "Initializing nostr library"); + if (nostr_init() != NOSTR_SUCCESS) { + LOG_ERROR("Failed to initialize nostr library"); + return 1; + } + LOG_SUCCESS("Nostr library initialized"); + + // The actual failing Authorization header from your upload attempt + const char* auth_header = "Nostr eyJraW5kIjoyNDI0MiwiaWQiOiI5NTYxNjA1YjEwNjJjZTM3ZTk1YWI5YjgxZDMwMGQ5YWQ1YmZiOWM1NDRhZTM5NWUxZWI0MWYwMDBjN2Q4OWY2IiwicHVia2V5IjoiNzliZTY2N2VmOWRjYmJhYzU1YTA2Mjk1Y2U4NzBiMDcwMjliZmNkYjJkY2UyOGQ5NTlmMjgxNWIxNmY4MTc5OCIsImNyZWF0ZWRfYXQiOjE3NTU2ODU0MjgsInRhZ3MiOltbInQiLCJ1cGxvYWQiXSxbIngiLCI4NDcxNjE3MWJhYjE2YWQwMjFiZDg5NTMwNTAxODlmZTYwNzU5MTc0MzZjZDExY2M5MzNmMDIxYmJjNWQ1YjBiIl0sWyJleHBpcmF0aW9uIiwiMTc1NTY4OTAyOCJdXSwiY29udGVudCI6IiIsInNpZyI6Ijk1MzE2YWI3NWY4ZDAyYmI5OTVhMTI0OGMyNzRiOTlmOWJjNWRjMGFmNTY0OWU2OTQ5MDE1ZDA2OTkwNGQ0YmRmM2EzYzc5NDI3YWM4MjQ1Njk4NmEyZTkzN2IxZDI1YjZkMmVlOGVlMWU0NDZhODQ5Y2IxOTc3NGRmOTQ4ZWFkIn0="; + + LOG_INFO("Testing Authorization header:"); + printf("%s\n", auth_header); + + // Step 1: Parse the Authorization header + LOG_DIVIDER(); + LOG_STEP("PARSE-1", "Parsing Authorization header"); + char event_json[4096]; + int parse_result = parse_authorization_header(auth_header, event_json, sizeof(event_json)); + if (parse_result != NOSTR_SUCCESS) { + LOG_ERROR("Parse failed with error: %d (%s)", parse_result, nostr_strerror(parse_result)); + nostr_cleanup(); + return 1; + } + LOG_SUCCESS("Authorization header parsed successfully"); + LOG_INFO("Decoded JSON: %s", event_json); + + // Step 2: Parse the JSON + LOG_STEP("PARSE-2", "Parsing JSON string"); + cJSON* event = cJSON_Parse(event_json); + if (!event) { + LOG_ERROR("JSON parsing failed - invalid JSON syntax"); + nostr_cleanup(); + return 1; + } + LOG_SUCCESS("JSON parsing successful"); + + // Step 3: Analyze event fields + analyze_event_fields(event); + + // Step 4: Detailed structure validation + LOG_STEP("MAIN-1", "Running detailed structure validation"); + int structure_result = detailed_structure_validation(event); + if (structure_result != NOSTR_SUCCESS) { + LOG_ERROR("Structure validation failed: %d (%s)", structure_result, nostr_strerror(structure_result)); + LOG_ERROR("VALIDATION FAILED AT STRUCTURE LEVEL"); + cJSON_Delete(event); + nostr_cleanup(); + return 1; + } + LOG_SUCCESS("Detailed structure validation PASSED"); + + // Step 5: Detailed signature validation + LOG_STEP("MAIN-2", "Running detailed signature validation"); + int crypto_result = detailed_signature_validation(event); + if (crypto_result != NOSTR_SUCCESS) { + LOG_ERROR("Signature validation failed: %d (%s)", crypto_result, nostr_strerror(crypto_result)); + LOG_ERROR("VALIDATION FAILED AT CRYPTOGRAPHIC LEVEL"); + cJSON_Delete(event); + nostr_cleanup(); + return 1; + } + LOG_SUCCESS("Detailed signature validation PASSED"); + + // Step 6: Run standard nostr validation for comparison + LOG_DIVIDER(); + LOG_STEP("COMPARE-1", "Running standard nostr_validate_event for comparison"); + int validation_result = nostr_validate_event(event); + LOG_INFO("nostr_validate_event result: %d (%s)", validation_result, nostr_strerror(validation_result)); + + if (validation_result == NOSTR_SUCCESS) { + LOG_SUCCESS("Standard validation PASSED - matches detailed validation"); + } else { + LOG_ERROR("Standard validation FAILED - inconsistent with detailed validation!"); + LOG_ERROR("This indicates a potential issue in the standard validation logic"); + } + + // Step 7: Run server-style authentication for direct comparison + LOG_STEP("COMPARE-2", "Running server-style authentication (exact mirror of server code)"); + int server_result = server_style_authentication(auth_header, "upload", "84716171bab16ad021bd8953050189fe6075917436cd11cc933f021bbc5d5b0b"); + LOG_INFO("server_style_authentication result: %d (%s)", server_result, nostr_strerror(server_result)); + + if (server_result == NOSTR_SUCCESS) { + LOG_SUCCESS("Server-style validation PASSED"); + } else { + LOG_ERROR("Server-style validation FAILED - this shows exactly where server diverges!"); + } + + // Final summary + LOG_DIVIDER(); + if (structure_result == NOSTR_SUCCESS && crypto_result == NOSTR_SUCCESS) { + LOG_SUCCESS("🎉 ALL DETAILED VALIDATIONS PASSED! Event is completely valid."); + printf("✅ Structure validation: PASSED\n"); + printf("✅ Signature validation: PASSED\n"); + printf("✅ Standard validation: %s\n", + (validation_result == NOSTR_SUCCESS) ? "PASSED" : "FAILED (inconsistent!)"); + printf("✅ Server-style validation: %s\n", + (server_result == NOSTR_SUCCESS) ? "PASSED" : "FAILED (shows server issue!)"); + } else { + LOG_ERROR("❌ VALIDATION FAILED!"); + printf("Structure validation: %s (%d)\n", + (structure_result == NOSTR_SUCCESS) ? "PASSED" : "FAILED", structure_result); + printf("Signature validation: %s (%d)\n", + (crypto_result == NOSTR_SUCCESS) ? "PASSED" : "FAILED", crypto_result); + printf("Server-style validation: %s (%d)\n", + (server_result == NOSTR_SUCCESS) ? "PASSED" : "FAILED", server_result); + } + + LOG_DIVIDER(); + LOG_SUCCESS("🔍 DETAILED COMPARISON COMPLETE"); + if (structure_result == NOSTR_SUCCESS && crypto_result == NOSTR_SUCCESS && + validation_result == NOSTR_SUCCESS && server_result == NOSTR_SUCCESS) { + LOG_SUCCESS("🎯 ALL VALIDATION METHODS AGREE: Event is valid"); + } else { + LOG_ERROR("⚠️ VALIDATION METHODS DISAGREE: Check individual results above"); + } + LOG_DIVIDER(); + + cJSON_Delete(event); + nostr_cleanup(); + return (structure_result == NOSTR_SUCCESS && crypto_result == NOSTR_SUCCESS) ? 0 : 1; +} \ No newline at end of file diff --git a/test_hash_match.txt b/test_hash_match.txt new file mode 100644 index 0000000..b5335c5 --- /dev/null +++ b/test_hash_match.txt @@ -0,0 +1 @@ +test data for hash match