About me / Contact

a.jpgJonh Wendell

E-mail / MSN / Gtalk: jonh.wendell@gmail.com
IRC: jwendell (Freenode and GNOME)
Twitter: http://twitter.com/jwendell
Facebook: https://www.facebook.com/jonhw
Linkedin: http://linkedin.com/in/jonhw

I was born in: MaceióAL – Brasil, Currently living in São Paulo.

Linux and Open Source lover guy
I’m married
Father of 2 beautiful children (aka João Vítor e Mariana)
I love to code
Profession: Programmer

Some contributions to the Free Software world


Maintainer of vino and vinagre modules.


Launchpad ID: https://launchpad.net/~wendell
Linux Distribution
I help it on bug triage and translation.


GNOME software for backup and restore. Simple and powerful.
I help it on coding and translation.


PHP Editor for GNOME.
I help it on coding and translation.

Sound Converter

Audio converter for GNOME. It converts from/to many formats.
I help it on translation.

Music Applet

Little application for GNOME panel, it manages many music players.
I help it on translation.


The Ubuntu Counter Project - user number # 4057

4 comentários em “About me / Contact”

  1. Hi Jonh, I was reading your iptc post and was wondering if you could help, as i’m totally stuck.
    i’m trying to emulate :: iptables -A INPUT -t filter -p tcp -j NFQUEUE –queue-num $queueNum

    where $queueNum is any int

    so far I have

    static int createFilters(int baseNumber) {

    * input filter looks like this
    * iptables -A INPUT -p tcp -j NFQUEUE –queue-num 0
    * sudo iptables -L INPUT
    * Chain INPUT (policy ACCEPT)
    * target prot opt source destination
    * NFQUEUE tcp — anywhere anywhere NFQUEUE num 5
    const char *table = “filter”;
    const char *chain = “INPUT”;
    const char *target = “QUEUE”;
    struct ipt_entry entry;
    struct xt_NFQ_info {
    u_int16_t queueNum;
    } target;
    } entry;
    struct xtc_handle *h;
    int ret = 1;

    h = iptc_init (table);
    if (!h) {
    fprintf (stderr, “Could not init IPTC library: %s\n”, iptc_strerror (errno));
    goto out;

    memset (&entry, 0, sizeof (entry));
    /* target */
    entry.target.queueNum = XT_ALIGN (baseNumber);
    entry.entry.target_offset = sizeof (struct ipt_entry);
    entry.entry.next_offset = entry.entry.target_offset + sizeof(entry.target);

    if (!iptc_append_entry (chain, (struct ipt_entry *) &entry, h)) {
    fprintf (stderr, “Could not insert a rule in iptables (table %s): %s\n”, table, iptc_strerror (errno));
    goto out;

    if (!iptc_commit (h)) {
    fprintf (stderr, “Could not commit changes in iptables (table %s): %s\n”, table, iptc_strerror (errno));
    goto out;

    ret = 0;

    if (h)
    iptc_free (h);

    return ret;

    but it won’t commit. Any thoughts?


Deixe um comentário

O seu endereço de e-mail não será publicado.