On Monday 2012-09-17 17:21, aft wrote: > >1) it encrypts UDP traffic. >2) it adds false bytes(padding). > >Its purpose is to escape smarter DPIs which blocks certain kinds of >packets by several heuristic methods. But then why not use IPsec (udpencap), OpenVPN, or something? After all, you do already need a cooperating peer to decrypt your traffic, and hence might as well pick a _standardized_ solution. If all you want is evading some DPI gateways, I guess even the lowly XOR non-encryption scheme will sufficiently work. >+static struct xt_target obsf_tg_reg[] __read_mostly = { >+ { >+ .name = "OBSF", >+ .family = NFPROTO_UNSPEC, >+ .target = obsf_tg, >+ .checkentry = obsf_tg_check, >+ .targetsize = sizeof(struct xt_OBSF_tginfo), >+ .me = THIS_MODULE, >+ }, >+ { >+ .name = "OBSF", >+ .revision = 1, >+ .family = NFPROTO_UNSPEC, >+ .target = obsf_tg_v1, >+ .targetsize = sizeof(struct xt_OBSF_tginfo_v1), >+ .checkentry = obsf_tg_check_v1, >+ .me = THIS_MODULE, >+ }, >+}; There is no need to use two revisions. -- To unsubscribe from this list: send the line "unsubscribe netfilter-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html