Make sure signed fetch actually is used when the unsigned fetch fails

master
teknomunk 1 year ago
parent 65ac539466
commit bd66e9bdb8

@ -37,7 +37,7 @@ static bool do_fetch( const char* uri, FILE* result )
http_client_do( request );
printf( "GET %s -> %ld\n", uri, status_code );
if( status_code == 401 ) {
if( status_code != 200 ) {
printf( "Retrying request with HTTP Signature header...\n" );
// Load crypto keys
@ -59,18 +59,22 @@ static bool do_fetch( const char* uri, FILE* result )
char date_header[512];
snprintf( date_header, sizeof(date_header), "Date: %s", hs.date );
printf( "date_header = %s\n", date_header );
char sign_header[512];
snprintf( sign_header, sizeof(sign_header), "Signature: keyId=\"https://%s/owner/actor#mainKey\",headers=\"(request-target) host date content-length digest\",signature=\"%s\"",
g_server->domain,
hs.signature
);
printf( "sign_header = %s\n", sign_header );
char digest_header[512];
snprintf( digest_header, sizeof(digest_header), "Digest: %s", hs.digest );
printf( "digets_header = %s\n", digest_header );
char content_length_header[512];
snprintf( content_length_header, sizeof(content_length_header), "Content-Length: %d", hs.content_length );
printf( "content_length_header = %s\n", content_length_header );
const void* request2[] = {
HTTP_REQ_URL, uri,

Loading…
Cancel
Save