--- test-http-auth.c.orig 2016-06-29 20:01:30 +0000 +++ test-http-auth.c.new 2016-10-11 15:54:50 +0000 @@ -9,7 +9,7 @@ struct http_auth_challenge_test { const char *scheme; const char *data; - struct http_auth_param *params; + struct http_auth_param params[]; }; struct http_auth_challenges_test { @@ -17,65 +17,69 @@ struct http_auth_challenge_test *challenges; }; - +/* The schemes */ +static const struct http_auth_challenge_test basic[] = { + { .scheme = "Basic", + .data = NULL, + .params = { + (struct http_auth_param) { "realm", "WallyWorld" }, + (struct http_auth_param) { } + } + },{ + .scheme = NULL + } +}; +static const struct http_auth_challenge_test digest[] = { + { .scheme = "Digest", + .data = NULL, + .params = (struct http_auth_param []) { + { "realm", "testrealm@host.com" }, + { "qop", "auth,auth-int" }, + { "nonce", "dcd98b7102dd2f0e8b11d0f600bfb0c093" }, + { "opaque", "5ccc069c403ebaf9f0171e9517f40e41" }, + { } + } + },{ + .scheme = NULL + } +}; +static const struct http_auth_challenge_test realms[] = { + { .scheme = "Newauth", + .data = NULL, + .params = (struct http_auth_param []) { + { "realm", "apps" }, + { "type", "1" }, + { "title", "Login to \"apps\"" }, + { } + } + },{ + .scheme = "Basic", + .data = NULL, + .params = (struct http_auth_param []) { + { "realm", "simple" }, + { } + } + },{ + .scheme = NULL + } +}; /* Valid auth challenges tests */ static const struct http_auth_challenges_test valid_auth_challenges_tests[] = { { .challenges_in = "Basic realm=\"WallyWorld\"", - .challenges = (struct http_auth_challenge_test []) { - { .scheme = "Basic", - .data = NULL, - .params = (struct http_auth_param []) { - { "realm", "WallyWorld" }, { NULL, NULL } - } - },{ - .scheme = NULL - } - } + .challenges = &basic },{ .challenges_in = "Digest " "realm=\"testrealm@host.com\", " "qop=\"auth,auth-int\", " "nonce=\"dcd98b7102dd2f0e8b11d0f600bfb0c093\", " "opaque=\"5ccc069c403ebaf9f0171e9517f40e41\"", - .challenges = (struct http_auth_challenge_test []) { - { .scheme = "Digest", - .data = NULL, - .params = (struct http_auth_param []) { - { "realm", "testrealm@host.com" }, - { "qop", "auth,auth-int" }, - { "nonce", "dcd98b7102dd2f0e8b11d0f600bfb0c093" }, - { "opaque", "5ccc069c403ebaf9f0171e9517f40e41" }, - { NULL, NULL } - } - },{ - .scheme = NULL - } - } + .challenges = &digest },{ .challenges_in = "Newauth realm=\"apps\", type=1, " "title=\"Login to \\\"apps\\\"\", Basic realm=\"simple\"", - .challenges = (struct http_auth_challenge_test []) { - { .scheme = "Newauth", - .data = NULL, - .params = (struct http_auth_param []) { - { "realm", "apps" }, - { "type", "1" }, - { "title", "Login to \"apps\"" }, - { NULL, NULL } - } - },{ - .scheme = "Basic", - .data = NULL, - .params = (struct http_auth_param []) { - { "realm", "simple" }, - { NULL, NULL } - } - },{ - .scheme = NULL - } - } + .challenges = &realms } }; @@ -160,27 +164,18 @@ const char *scheme; const char *data; - struct http_auth_param *params; + struct http_auth_param params[]; }; - -/* Valid auth credentials tests */ static const struct http_auth_credentials_test -valid_auth_credentials_tests[] = { - { - .credentials_in = "Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==", +basic_cred[] = { + { .scheme = "Basic", .data = "QWxhZGRpbjpvcGVuIHNlc2FtZQ==", .params = NULL - },{ - .credentials_in = "Digest username=\"Mufasa\", " - "realm=\"testrealm@host.com\", " - "nonce=\"dcd98b7102dd2f0e8b11d0f600bfb0c093\", " - "uri=\"/dir/index.html\", " - "qop=auth, " - "nc=00000001, " - "cnonce=\"0a4f113b\", " - "response=\"6629fae49393a05397450978507c4ef1\", " - "opaque=\"5ccc069c403ebaf9f0171e9517f40e41\"", + } +}; +static const struct http_auth_credentials_test mufasa[] = { + { .scheme = "Digest", .data = NULL, .params = (struct http_auth_param []) { @@ -198,6 +193,26 @@ } }; +/* Valid auth credentials tests */ +static const struct http_auth_credentials_test +valid_auth_credentials_tests[] = { + { + .credentials_in = "Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==", + .params = &basic_cred + },{ + .credentials_in = "Digest username=\"Mufasa\", " + "realm=\"testrealm@host.com\", " + "nonce=\"dcd98b7102dd2f0e8b11d0f600bfb0c093\", " + "uri=\"/dir/index.html\", " + "qop=auth, " + "nc=00000001, " + "cnonce=\"0a4f113b\", " + "response=\"6629fae49393a05397450978507c4ef1\", " + "opaque=\"5ccc069c403ebaf9f0171e9517f40e41\"", + .params = &mufasa + } + }; + static const unsigned int valid_auth_credentials_test_count = N_ELEMENTS(valid_auth_credentials_tests);