Exemple #1
0
pig_target_addr_ctx *add_target_addr_to_pig_target_addr(pig_target_addr_ctx *addrs, const char *range) {
    pig_target_addr_ctx *head = addrs, *p = NULL;
    if (head == NULL) {
        new_pig_target_addr(head);
        p = head;
    } else {
        p = get_pig_target_addr_tail(head);
        new_pig_target_addr(p->next);
        p = p->next;
    }
    p->type = get_range_type(range);
    switch (p->type) {

        case kAddr:
            p->addr = to_ipv4(range);
            break;

        case kWild:
            p->addr = to_ipv4_mask(range);
            break;

        case kCidr:
            p->addr = to_ipv4_cidr(range, &p->cidr_range);
            break;

        default:
            break;

    }
    p->v = 4;
    p->asize = sizeof(int);
    return head;
}
Exemple #2
0
void *ipv4_to_voidp(const char *data, size_t *dsize) {
    void *retval = NULL;
    if (data == NULL || dsize == NULL) {
        return NULL;
    }
    if (strcmp(data, "south-american-ip") != 0 &&
        strcmp(data, "north-american-ip") != 0 &&
        strcmp(data, "european-ip")       != 0 &&
        strcmp(data, "asian-ip")          != 0 &&
        strcmp(data, "user-defined-ip")   != 0) {
        retval = pig_newseg(sizeof(unsigned int));
        retval = to_ipv4(data);
        *dsize = sizeof(unsigned int);
    } else {
        *dsize = strlen(data);
        retval = pig_newseg(*dsize + 1);
        memset(retval, 0, *dsize + 1);
        memcpy(retval, data, *dsize);
    }
    return retval;
}
Exemple #3
0
    CUTE_CHECK("to_str() != \"abc\"", strcmp(retval, "abc") == 0);
    free(retval);
    retval = to_str("\"\x61\x62\x6362\"");
    CUTE_CHECK("to_str() != \"abb\"", strcmp(retval, "abb") == 0);
    free(retval);
    retval = to_str("\"\x9tab!\"");
    CUTE_CHECK("to_str() != \"\\ttab!\"", strcmp(retval, "\ttab!") == 0);
    free(retval);
    retval = to_str("\"well behaved string.\"");
    CUTE_CHECK("to_str() != \"well behaved string.\"", strcmp(retval, "well behaved string.") == 0);
    free(retval);
CUTE_TEST_CASE_END

CUTE_TEST_CASE(to_ipv4_tests)
    unsigned int *retval = NULL;
    retval = to_ipv4(NULL);
    CUTE_CHECK("retval != NULL", retval == NULL);
    retval = to_ipv4("127.0.0.1");
    CUTE_CHECK("retval == NULL", retval != NULL);
    CUTE_CHECK("retval != 0x7f000001", *retval == 0x7f000001);
    free(retval);
CUTE_TEST_CASE_END

CUTE_TEST_CASE(pigsty_entry_ctx_tests)
    pigsty_entry_ctx *pigsty = NULL, *p;
    pigsty = add_signature_to_pigsty_entry(pigsty, "oink");
    pigsty = add_signature_to_pigsty_entry(pigsty, "roc!");
    CUTE_CHECK("pigsty == NULL", pigsty != NULL);
    CUTE_CHECK("pigsty->signature_name != oink", strcmp(pigsty->signature_name, "oink") == 0);
    CUTE_CHECK("pigsty->next == NULL", pigsty->next != NULL);
    CUTE_CHECK("pigsty->next->signature_name != roc!", strcmp(pigsty->next->signature_name, "roc!") == 0);