struct ulogd_key *ret = pi->output.keys;
if (len < sizeof(struct tcphdr))
- return 0;
+ return ULOGD_IRET_OK;
ret[KEY_TCP_SPORT].u.value.ui16 = ntohs(tcph->source);
ret[KEY_TCP_SPORT].flags |= ULOGD_RETF_VALID;
ret[KEY_TCP_CSUM].u.value.ui16 = ntohs(tcph->check);
ret[KEY_TCP_CSUM].u.value.ui16 = ULOGD_RETF_VALID;
- return 0;
+ return ULOGD_IRET_OK;
}
/***********************************************************************
struct ulogd_key *ret = pi->output.keys;
if (len < sizeof(struct udphdr))
- return 0;
+ return ULOGD_IRET_OK;
ret[KEY_UDP_SPORT].u.value.ui16 = ntohs(udph->source);
ret[KEY_UDP_SPORT].flags |= ULOGD_RETF_VALID;
ret[KEY_UDP_CSUM].u.value.ui16 = ntohs(udph->check);
ret[KEY_UDP_CSUM].flags |= ULOGD_RETF_VALID;
- return 0;
+ return ULOGD_IRET_OK;
}
/***********************************************************************
struct ulogd_key *ret = pi->output.keys;
if (len < sizeof(struct icmphdr))
- return 0;
+ return ULOGD_IRET_OK;
ret[KEY_ICMP_TYPE].u.value.ui8 = icmph->type;
ret[KEY_ICMP_TYPE].flags |= ULOGD_RETF_VALID;
ret[KEY_ICMP_CSUM].u.value.ui16 = icmph->checksum;
ret[KEY_ICMP_CSUM].flags |= ULOGD_RETF_VALID;
- return 0;
+ return ULOGD_IRET_OK;
}
/***********************************************************************
struct ulogd_key *ret = pi->output.keys;
if (len < sizeof(struct icmp6_hdr))
- return 0;
+ return ULOGD_IRET_OK;
ret[KEY_ICMPV6_TYPE].u.value.ui8 = icmph->icmp6_type;
ret[KEY_ICMPV6_TYPE].flags |= ULOGD_RETF_VALID;
ret[KEY_ICMPV6_CSUM].u.value.ui16 = icmph->icmp6_cksum;
ret[KEY_ICMPV6_CSUM].flags |= ULOGD_RETF_VALID;
- return 0;
+ return ULOGD_IRET_OK;
}
ret[KEY_AHESP_SPI].flags |= ULOGD_RETF_VALID;
#endif
- return 0;
+ return ULOGD_IRET_OK;
}
/***********************************************************************
void *nexthdr = (u_int32_t *)iph + iph->ihl;
if (len < sizeof(struct iphdr) || len <= iph->ihl * 4)
- return 0;
+ return ULOGD_IRET_OK;
len -= iph->ihl * 4;
ret[KEY_IP_SADDR].u.value.ui32 = iph->saddr;
break;
}
- return 0;
+ return ULOGD_IRET_OK;
}
/***********************************************************************
case IPPROTO_ESP:
case IPPROTO_AH:
case IPPROTO_DSTOPTS:
- return 1;
+ return ULOGD_IRET_OK;
default:
- return 0;
+ return ULOGD_IRET_STOP;
}
}
int fragment = 0;
if (len < sizeof(struct ip6_hdr))
- return 0;
+ return ULOGD_IRET_OK;
memcpy(ret[KEY_IP_SADDR].u.value.ui128, &ipv6h->ip6_src,
sizeof(ipv6h->ip6_src));
struct ip6_ext *ext = (void *)ipv6h + ptr;
if (len < sizeof(struct ip6_ext))
- return 0;
+ return ULOGD_IRET_OK;
switch (curhdr) {
case IPPROTO_FRAGMENT: {
hdrlen = sizeof(struct ip6_frag);
if (len < hdrlen)
- return 0;
+ return ULOGD_IRET_OK;
len -= hdrlen;
ret[KEY_IP6_FRAG_OFF].u.value.ui16 = ntohs(fh->ip6f_offlg & IP6F_OFF_MASK);
hdrlen = (ext->ip6e_len + 1) << 3;
if (len < hdrlen)
- return 0;
+ return ULOGD_IRET_OK;
len -= hdrlen;
break;
case IPPROTO_AH:
hdrlen = (ext->ip6e_len + 2) << 2;
if (len < hdrlen)
- return 0;
+ return ULOGD_IRET_OK;
len -= hdrlen;
_interp_ahesp(pi, (void *)ext, len);
hdrlen = (ext->ip6e_len + 2) << 2;
if (len < hdrlen)
- return 0;
+ return ULOGD_IRET_OK;
len -= hdrlen;
_interp_ahesp(pi, (void *)ext, len);
goto out;
default:
- return 0;
+ return ULOGD_IRET_OK;
}
curhdr = ext->ip6e_nxt;
out:
ret[KEY_IP6_NEXTHDR].u.value.ui8 = curhdr;
ret[KEY_IP6_NEXTHDR].flags |= ULOGD_RETF_VALID;
- return 0;
+ return ULOGD_IRET_OK;
}
/***********************************************************************
GET_VALUE(pi->input.keys, INKEY_RAW_PCKT).ptr;
if (len < sizeof(struct ether_arp))
- return 0;
+ return ULOGD_IRET_OK;
ret[KEY_ARP_HTYPE].u.value.ui16 = ntohs(arph->arp_hrd);
SET_VALID(ret[KEY_ARP_HTYPE]);
sizeof(u_int32_t));
SET_VALID(ret[KEY_ARP_TPA]);
- return 0;
+ return ULOGD_IRET_OK;
}
/***********************************************************************
/* ETH_P_8021Q ?? others? */
};
- return 0;
+ return ULOGD_IRET_OK;
}
case AF_BRIDGE:
return _interp_bridge(pi, len);
}
- return 0;
+ return ULOGD_IRET_OK;
}
static struct ulogd_key base_inp[] = {
((char *)(ret[1].u.value.ptr))[0] = 0;
ret[1].flags |= ULOGD_RETF_VALID;
- return 0;
+ return ULOGD_IRET_OK;
}
static int nlif_read_cb(int fd, unsigned int what, void *param)
}
}
- return 0;
+ return ULOGD_IRET_OK;
}
static struct ulogd_plugin ip2bin_pluging = {
}
}
- return 0;
+ return ULOGD_IRET_OK;
}
static struct ulogd_plugin ip2str_pluging = {
int i;
if (mac_str == NULL)
- return -1;
+ return ULOGD_IRET_ERR;
for (i = 0; i < len; i++)
buf_cur += sprintf(buf_cur, "%02x%c", mac[i],
ret[KEY_MAC_SADDR].flags |= ULOGD_RETF_VALID;
}
- return 0;
+ return ULOGD_IRET_OK;
}
static struct ulogd_plugin mac2str_pluging = {
printflow_print(inp, buf);
ret[0].u.value.ptr = buf;
ret[0].flags |= ULOGD_RETF_VALID;
- return 0;
+ return ULOGD_IRET_OK;
}
static struct ulogd_plugin printflow_plugin = {
printpkt_print(inp, buf);
ret[0].u.value.ptr = buf;
ret[0].flags |= ULOGD_RETF_VALID;
- return 0;
+ return ULOGD_IRET_OK;
}
static struct ulogd_plugin printpkt_plugin = {
int len, pw_len, i, cont = 0;
if (!IS_VALID(pi->input.keys[0]))
- return 0;
+ return ULOGD_IRET_STOP;
iph = (struct iphdr *) pi->input.keys[0].u.value.ptr;
protoh = (u_int32_t *)iph + iph->ihl;
begp = pw_begp = NULL;
if (iph->protocol != IPPROTO_TCP)
- return 0;
+ return ULOGD_IRET_STOP;
for (i = 0; i < ARRAY_SIZE(pwsniff_ports); i++)
{
}
}
if (!cont)
- return 0;
+ return ULOGD_IRET_STOP;
DEBUGP("----> pwsniff detected, tcplen=%d, struct=%d, iphtotlen=%d, "
"ihl=%d\n", tcplen, sizeof(struct tcphdr), ntohs(iph->tot_len),
ret[0].flags |= ULOGD_RETF_VALID;
if (!ret[0].u.value.ptr) {
ulogd_log(ULOGD_ERROR, "OOM (size=%u)\n", len);
- return 0;
+ return ULOGD_IRET_ERR;
}
strncpy((char *) ret[0].u.value.ptr, (char *)begp, len);
*((char *)ret[0].u.value.ptr + len) = '\0';
ret[1].flags |= ULOGD_RETF_VALID;
if (!ret[1].u.value.ptr){
ulogd_log(ULOGD_ERROR, "OOM (size=%u)\n", pw_len);
- return 0;
+ return ULOGD_IRET_ERR;
}
strncpy((char *)ret[1].u.value.ptr, (char *)pw_begp, pw_len);
*((char *)ret[1].u.value.ptr + pw_len) = '\0';
}
- return 0;
+ return ULOGD_IRET_OK;
}
static struct ulogd_key pwsniff_inp[] = {
if (fwrite(&pchdr, sizeof(pchdr), 1, pi->of) != 1) {
ulogd_log(ULOGD_ERROR, "Error during write: %s\n",
strerror(errno));
- return 1;
+ return ULOGD_IRET_ERR;
}
if (fwrite(GET_VALUE(res, 0).ptr, pchdr.caplen, 1, pi->of) != 1) {
ulogd_log(ULOGD_ERROR, "Error during write: %s\n",
strerror(errno));
- return 1;
+ return ULOGD_IRET_ERR;
}
if (upi->config_kset->ces[1].u.value)
fflush(pi->of);
- return 0;
+ return ULOGD_IRET_OK;
}
/* stolen from libpcap savefile.c */
template = build_template_for_bitmask(upi, ii->valid_bitmask);
if (!template) {
ulogd_log(ULOGD_ERROR, "can't build new template!\n");
- return -1;
+ return ULOGD_IRET_ERR;
}
/* FIXME: prepend? */
list_add(&ii->template_list, &template->list);
total_size += sizeof(template->tmpl);
}
- return 0;
+ return ULOGD_IRET_OK;
}
static int open_connect_socket(struct ulogd_pluginstance *pi)
fflush(li->of);
}
- return 0;
+ return ULOGD_IRET_OK;
}
static void signal_handler_logemu(struct ulogd_pluginstance *pi, int signal)
if (NACCT_CFG_SYNC(pi) != 0)
fflush(priv->of);
- return 0;
+ return ULOGD_IRET_OK;
}
static struct config_keyset nacct_kset = {
if (upi->config_kset->ces[1].u.value != 0)
fflush(opi->of);
- return 0;
+ return ULOGD_IRET_OK;
}
static struct config_keyset oprint_kset = {
syslog(li->syslog_level | li->syslog_facility, "%s",
res[0].u.source->u.value.ptr);
- return 0;
+ return ULOGD_IRET_OK;
}
static int syslog_configure(struct ulogd_pluginstance *pi,