test_negcache.c revision c34f3f7d2a4d9f50109d13cd7c9f2cbb9a11b3d0
54a8bb6e9b852d9a96a8cdda1bb55a85ce0e10daTimo Sirainen NSS Responder
d23c747de9d33966483fbdd41f08ad7766da7c5cTimo Sirainen Pallavi Jha <pallavikumarijha@gmail.com>
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainen Copyright (C) 2013 Red Hat
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainen This program is free software; you can redistribute it and/or modify
51dbc2d559815da774f8ee5faf0e28df3c8d40c0Timo Sirainen it under the terms of the GNU General Public License as published by
51dbc2d559815da774f8ee5faf0e28df3c8d40c0Timo Sirainen the Free Software Foundation; either version 3 of the License, or
51dbc2d559815da774f8ee5faf0e28df3c8d40c0Timo Sirainen (at your option) any later version.
82995cc154a929f37aa486a72a6485e9f8d34a30Timo Sirainen This program is distributed in the hope that it will be useful,
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainen but WITHOUT ANY WARRANTY; without even the implied warranty of
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainen MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
54a8bb6e9b852d9a96a8cdda1bb55a85ce0e10daTimo Sirainen GNU General Public License for more details.
6b0e35b29f65a95fe8ae22ed8b5f0f36720c9f45Timo Sirainen You should have received a copy of the GNU General Public License
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainen along with this program. If not, see <http://www.gnu.org/licenses/>.
1f166c4a7498b4b6bdf6f072edeaebb388cc53ebSergey Kitov#define CERT "MIIECTCCAvGgAwIBAgIBCTANBgkqhkiG9w0BAQsFADA0MRIwEAYDVQQKDAlJUEEuREVWRUwxHjAcBgNVBAMMFUNlcnRpZmljYXRlIEF1dGhvcml0eTAeFw0xNTA0MjgxMDIxMTFaFw0xNzA0MjgxMDIxMTFaMDIxEjAQBgNVBAoMCUlQQS5ERVZFTDEcMBoGA1UEAwwTaXBhLWRldmVsLmlwYS5kZXZlbDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALIykqtHuAwTVEofHikG/9BQy/dfeZFlsTkBg2qtnnc78w3XufbcnkpJp9Bmcsy/d9beqf5nlsxJ8TcjLsRQ9Ou6YtQjTfM3OILuOz8s0ICbF6qb66bd9hX/BrLO/9+KnpWFSR+E/YEmzgYyDTbKfBWBaGuPPrOi/K6vwkRYFZVA/FYZkYDtQhFmBO884HYzS4P6frRH3PvtRqWNCmaHpe97dGKsvnM2ybT+IMSB8/54GajQr3+BciRh2XaT4wvSTxkXM1fUgrDxqAP2AZmpuIyDyboZh+rWOwbrTPfx5SipELZG3uHhP8HMcr4qQ8b20LWgxCRuT73sIooHET350xUCAwEAAaOCASYwggEiMB8GA1UdIwQYMBaAFPKdQk4PxEglWC8czg+hPyLIVciRMDsGCCsGAQUFBwEBBC8wLTArBggrBgEFBQcwAYYfaHR0cDovL2lwYS1jYS5pcGEuZGV2ZWwvY2Evb2NzcDAOBgNVHQ8BAf8EBAMCBPAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMHQGA1UdHwRtMGswaaAxoC+GLWh0dHA6Ly9pcGEtY2EuaXBhLmRldmVsL2lwYS9jcmwvTWFzdGVyQ1JMLmJpbqI0pDIwMDEOMAwGA1UECgwFaXBhY2ExHjAcBgNVBAMMFUNlcnRpZmljYXRlIEF1dGhvcml0eTAdBgNVHQ4EFgQULSs/y/Wy/zIsqMIc3b2MgB7dMYIwDQYJKoZIhvcNAQELBQADggEBAJpHLlCnTR1TD8lxQgzl2n1JZOeryN/fAsGH0Vve2m8r5PC+ugnfAoULiuabBn1pOGxy/0x7Kg0/Iy8WRv8Fk7DqJCjXEqFXuFkZJfNDCtP9DzeNuMoV50iKoMfHS38BPFjXN+X/fSsBrA2fUWrlQCTmXlUN97gvQqxt5Slrxgukvxm9OSfu/sWz22LUvtJHupYwWv1iALgnXS86lAuVNYVALLxn34r58XsZlj5CSBMjBJWpaxEzgUdag3L2IPqOQXuPd0d8x11G9E/9gQquOSe2aiZjsdO/VYOCmzZsM2QPUMBVlBPDhfTVcWXQwN385uycW/ARtSzzSME2jKKWSIQ="
3ccfcf0856958cb9208a9fc51c3bdf13c58ad52aTimo Sirainen/* register_cli_protocol_version is required in test since it links with
fde14422caabc3c4ac4a6c5e3e5cf176cedd90a6Timo Sirainenstruct cli_protocol_version *register_cli_protocol_version(void)
65e14cef911d5d3fac8993c8a76911a587f05cd7Timo Sirainen static struct cli_protocol_version responder_test_cli_protocol_version[] = {
65e14cef911d5d3fac8993c8a76911a587f05cd7Timo Sirainen/* Mock NSS structure */
3ccfcf0856958cb9208a9fc51c3bdf13c58ad52aTimo Sirainenstatic struct nss_ctx *
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainen err = sss_idmap_init(sss_idmap_talloc, nctx, sss_idmap_talloc_free,
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainen DEBUG(SSSDBG_FATAL_FAILURE, ("sss_idmap_init failed.\n"));
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainen ret = sss_ncache_init(ts, SHORTSPAN, &ts->ctx);
d2cbbecf76de3f4eb945895fab5760ed0a28281cMartti Rannanjärvi struct test_state *ts = talloc_get_type_abort(*state, struct test_state);
5729882717902b5f3f5d62f71ddf2894b67fc7a6Martti Rannanjärvi ret = sss_ncache_init(memctx, SHORTSPAN, &ctx );
1bb7fb04a0583f0d5160706f24b2df08d31ada46Timo Sirainen/* @test_sss_ncache_uid : test following functions
1bb7fb04a0583f0d5160706f24b2df08d31ada46Timo Sirainen * sss_ncache_set_uid
1bb7fb04a0583f0d5160706f24b2df08d31ada46Timo Sirainen * sss_ncache_check_uid
82995cc154a929f37aa486a72a6485e9f8d34a30Timo Sirainen ts = talloc_get_type_abort(*state, struct test_state);
f8ead0942a9b7c8fcf91414ed1b534d5807ca555Timo Sirainen /* test when uid not present in database */
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainen ret = sss_ncache_check_uid(ts->ctx, NULL, uid);
62300a38f91227b9de043a9a8ec1d4f1978e1138Timo Sirainen /* test when uid is present in database */
5729882717902b5f3f5d62f71ddf2894b67fc7a6Martti Rannanjärvi ret = sss_ncache_set_uid(ts->ctx, permanent, NULL, uid);
5729882717902b5f3f5d62f71ddf2894b67fc7a6Martti Rannanjärvi ret = sss_ncache_check_uid(ts->ctx, NULL, uid);
2b4e421b76d997e2ad18c74200d9d8521bed165cMartti Rannanjärvi ret = sss_ncache_set_uid(ts->ctx, permanent, NULL, uid);
5729882717902b5f3f5d62f71ddf2894b67fc7a6Martti Rannanjärvi ret = sss_ncache_check_uid(ts->ctx, NULL, uid);
995c0a88e9a32e0ec1460567ce5f2ce6e7ba1f13Martti Rannanjärvi ret = sss_ncache_check_uid(ts->ctx, NULL, uid);
995c0a88e9a32e0ec1460567ce5f2ce6e7ba1f13Martti Rannanjärvi ret = sss_ncache_set_uid(ts->ctx, permanent, NULL, uid);
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainen ret = sss_ncache_check_uid(ts->ctx, NULL, uid);
54a8bb6e9b852d9a96a8cdda1bb55a85ce0e10daTimo Sirainen ret = sss_ncache_check_uid(ts->ctx, NULL, uid);
2b4e421b76d997e2ad18c74200d9d8521bed165cMartti Rannanjärvi ret = sss_ncache_set_uid(ts->ctx, permanent, NULL, uid);
661998e2ccd772ad92a9d4a75cb712692a8c94b3Timo Sirainen/* @test_sss_ncache_gid : test following functions
02d91785bcf42ced46080db91c29bb534fbe2d1cTimo Sirainen * sss_ncache_set_gid
02d91785bcf42ced46080db91c29bb534fbe2d1cTimo Sirainen * sss_ncache_check_gid
02d91785bcf42ced46080db91c29bb534fbe2d1cTimo Sirainen ts = talloc_get_type_abort(*state, struct test_state);
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainen /* test when gid is not present in database */
3ccfcf0856958cb9208a9fc51c3bdf13c58ad52aTimo Sirainen ret = sss_ncache_check_gid(ts->ctx, NULL, gid);
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainen /* test when gid is present in database */
51dbc2d559815da774f8ee5faf0e28df3c8d40c0Timo Sirainen ret = sss_ncache_set_gid(ts->ctx, permanent, NULL, gid);
39dea5f2e78f6bfc3adc0655176f596ee211938fTimo Sirainen ret = sss_ncache_check_gid(ts->ctx, NULL, gid);
02d91785bcf42ced46080db91c29bb534fbe2d1cTimo Sirainen ret = sss_ncache_set_gid(ts->ctx, permanent, NULL, gid);
bd7b1a9000b12349e2a99bb43b3ce8b96a18e92bTimo Sirainen ret = sss_ncache_check_gid(ts->ctx, NULL, gid);
bd7b1a9000b12349e2a99bb43b3ce8b96a18e92bTimo Sirainen/* @test_sss_ncache_sid : test following functions
8f7e81b327b8b5bf34262f6755df6d4481760d23Timo Sirainen * sss_ncache_set_sid
02d91785bcf42ced46080db91c29bb534fbe2d1cTimo Sirainen * sss_ncache_check_sid
c4478af52de63804efef2055580adf1dfc8679c6Timo Sirainen ts = talloc_get_type_abort(*state, struct test_state);
54a8bb6e9b852d9a96a8cdda1bb55a85ce0e10daTimo Sirainen /*test when sid in not present in database */
048e40f9364fa68482bc276dd4a5d595a3d742e9Timo Sirainen /* test when sid is present in database */
5997118fa7aee2535edac28092261ca085a958aeMartti Rannanjärvi ret = sss_ncache_set_sid(ts->ctx, permanent, sid);
5997118fa7aee2535edac28092261ca085a958aeMartti Rannanjärvi ret = sss_ncache_check_sid(ts->ctx, sid);
5997118fa7aee2535edac28092261ca085a958aeMartti Rannanjärvi ret = sss_ncache_set_sid(ts->ctx, permanent, sid);
int ret;
bool permanent;
permanent = true;
permanent = false;
int ret;
bool permanent;
permanent = true;
permanent = false;
int ret;
bool permanent;
permanent = true;
permanent = false;
int ret;
bool permanent;
permanent = true;
permanent = false;
int ret;
bool permanent;
permanent = true;
permanent = false;
int ret;
bool permanent;
PROTO);
PROTO);
permanent = true;
PROTO);
PROTO);
permanent = false;
PROTO);
PROTO);
int ret;
const bool permanent = true;
int ret;
int ret;
int ret;
int main(void)
int rv;
teardown),
teardown),
if (rv == 0) {
return rv;