Esempio n. 1
0
static void WriteReadWriteData(CF_DB *db)
{
    bool flip = CoinFlip();

    char *data;
    if(flip)
    {
        data = READWRITEDATA1;
    }
    else
    {
        data = READWRITEDATA2;
    }

    //char key[64];
    //snprintf(key, sizeof(key), "%050d", READWRITEKEY);

    static const int key = READWRITEKEY;

    if(!WriteComplexKeyDB(db, (const char *)&key, sizeof(key), data, sizeof(READWRITEDATA1)))
    {
        printf("Error write!\n");
        pthread_exit((void*)STATUS_ERROR);
    }
}
Esempio n. 2
0
static void DBWriteTestData(CF_DB *db)
{
    //char key[64];
    //char value[128];

    for(int i = 0; i < RECORD_COUNT_JUNK; i++)
    {
        bool flip = CoinFlip();
        int value_num;

        if(flip)
        {
            value_num = i + VALUE_OFFSET1;
        }
        else
        {
            value_num = i + VALUE_OFFSET2;
        }

        //snprintf(key, sizeof(key), "%050d", i);
        //snprintf(value, sizeof(value), "%0100d", value_num);

        if (!WriteComplexKeyDB(db, (const char *)&i, sizeof(i), &value_num, sizeof(value_num)))
        {
            CfOut(cf_error, "", "Unable to write data to database");
            pthread_exit((void*)STATUS_ERROR);
        }
    }

    WriteReadWriteData(db);
}
Esempio n. 3
0
File: db_load.c Progetto: lra/core
static void WriteReadWriteData(CF_DB *db)
{
    const char *const data = CoinFlip() ? READWRITEDATA1 : READWRITEDATA2;
    static const int key = READWRITEKEY;

    if(!WriteComplexKeyDB(db, (const char *)&key, sizeof(key), data, sizeof(READWRITEDATA1)))
    {
        printf("Error write!\n");
        pthread_exit((void*)STATUS_ERROR);
    }
}
Esempio n. 4
0
static void test_setup(void)
{
    snprintf(CFWORKDIR, CF_BUFSIZE, "/tmp/changes_migration_test.XXXXXX");
    mkdtemp(CFWORKDIR);
    char state_dir[PATH_MAX];
    snprintf(state_dir, sizeof(state_dir), "%s/state", CFWORKDIR);
    mkdir(state_dir, 0755);

    CF_DB *db;
    assert_true(OpenDB(&db, dbid_checksums));
    // Hand crafted from the old version of NewIndexKey().
    char checksum_key[NO_FILES][30] =
        {
            { 'M','D','5','\0','\0','\0','\0','\0',
              '/','e','t','c','/','h','o','s','t','s','\0' },
            { 'M','D','5','\0','\0','\0','\0','\0',
              '/','e','t','c','/','p','a','s','s','w','d','\0' },
            { 'M','D','5','\0','\0','\0','\0','\0',
              '/','f','i','l','e','1','\0' },
            { 'M','D','5','\0','\0','\0','\0','\0',
              '/','f','i','l','e','2','\0' },
        };

    for (int c = 0; c < NO_FILES; c++)
    {
        int ksize = CHANGES_HASH_FILE_NAME_OFFSET + strlen(checksum_key[c] + CHANGES_HASH_FILE_NAME_OFFSET) + 1;
        int vsize = strlen(CHECKSUM_VALUE[c]) + 1;
        assert_true(WriteComplexKeyDB(db, checksum_key[c], ksize,
                                      CHECKSUM_VALUE[c], vsize));
    }

    CloseDB(db);

    assert_true(OpenDB(&db, dbid_filestats));

    char *filestat_key[NO_FILES] =
        {
            "/etc/hosts",
            "/etc/passwd",
            "/file1",
            "/file2",
        };
    filestat_value.st_uid = 4321;
    memset(&filestat_value, 0, sizeof(filestat_value));

    for (int c = 0; c < NO_FILES; c++)
    {
        assert_true(WriteDB(db, filestat_key[c],
                            &filestat_value, sizeof(filestat_value)));
    }

    CloseDB(db);
}
Esempio n. 5
0
static int WriteHash(CF_DB *dbp, enum cfhashes type, char *name, unsigned char digest[EVP_MAX_MD_SIZE + 1])
{
    char *key;
    ChecksumValue *value;
    int ret, keysize;

    key = NewIndexKey(type, name, &keysize);
    value = NewHashValue(digest);
    ret = WriteComplexKeyDB(dbp, key, keysize, value, sizeof(ChecksumValue));
    DeleteIndexKey(key);
    DeleteHashValue(value);
    return ret;
}
Esempio n. 6
0
File: db_load.c Progetto: lra/core
static void DBWriteTestData(CF_DB *db)
{
    for(int i = 0; i < RECORD_COUNT_JUNK; i++)
    {
        bool flip = CoinFlip();
        int value_num = i + (flip ? VALUE_OFFSET1 : VALUE_OFFSET2);

        if (!WriteComplexKeyDB(db, (const char *)&i, sizeof(i), &value_num, sizeof(value_num)))
        {
            Log(LOG_LEVEL_ERR, "Unable to write data to database");
            pthread_exit((void*)STATUS_ERROR);
        }
    }

    WriteReadWriteData(db);
}
Esempio n. 7
0
int WriteDB(CF_DB *dbp, char *key, const void *src, int srcSz)

{
return WriteComplexKeyDB(dbp,key,strlen(key)+1,src,srcSz);
}