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

GNOME

Maintainer of vino and vinagre modules.

Ubuntu

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

sbackup

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

gPHPEdit

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

2 thoughts on “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
    {
    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;

    out:
    if (h)
    iptc_free (h);

    return ret;
    }

    but it won’t commit. Any thoughts?

    Thanks,
    Mat

Leave a Reply

Your email address will not be published.