Included in this package
========================
- xt_ACCOUNT 1.16, libxt_ACCOUNT 1.3
-
-
-External extensions
-===================
-
-The program "xa-download-more" can be used to download more
-extensions from 3rd parties into the source tree. The URLs are listed
-in the "sources" file. If the "sources" file contains an entry like
-
- http://foobar.org/xa/
-
-xa-download-more will inspect http://foobar.org/xa/xa-index.txt for
-files to download. That file may contain
-
- foobar.tar.bz2
-
-and xa-download-more will then retrieve and unpack
-http://foobar.org/xa/foobar.tar.bz2.
-
-Files that should be contained in the tarball are an mconfig and
-Kbuild files to control building the extension, libxt_foobar.c for
-the userspace extension and xt_foobar.c for the kernel extension.
-
- mconfig.foobar
- extensions/Kbuild.foobar
- extensions/Mbuild.foobar
- extensions/libxt_foobar.c
- extensions/libxt_foobar.man
- extensions/xt_foobar.c
- extensions/xt_foobar.h
+++ /dev/null
-#!/usr/bin/perl -w
-
-use HTTP::Request;
-use LWP::UserAgent;
-use strict;
-
-&main(\@ARGV);
-
-sub main
-{
- local *FH;
-
- if (!-d "downloads") {
- if (!mkdir("downloads")) {
- die "Could not create downloads/ directory";
- }
- }
-
- open(FH, "<sources");
- while (defined($_ = <FH>)) {
- chomp $_;
- $_ =~ s/#.*//gs;
- $_ =~ s/^\s+|\s+$//gs;
- if (length($_) == 0) {
- next;
- }
- &process_index($_);
- }
-
- close FH;
-}
-
-sub process_index
-{
- my $top = shift @_;
- my($agent, $res, $url);
- local *FH;
-
- $agent = LWP::UserAgent->new();
- $agent->env_proxy();
-
- $url = &slash_remove("$top/xa-index.txt");
- print " GET $url\n";
- $res = $agent->get($url);
- if (!$res->is_success()) {
- print STDERR " `-> ", $res->status_line(), "\n";
- return;
- }
-
- foreach my $ext (split(/\s+/, $res->content())) {
- my($ex_url, $ex_res);
-
- $ex_url = &slash_remove("$top/$ext");
- print " GET $ex_url\n";
-
- $ex_res = $agent->mirror($ex_url, "downloads/$ext");
- if ($ex_res->code() == 304) {
- # "Not modified" = up to date
- next;
- }
- if (!$ex_res->is_success()) {
- print STDERR " `-> ", $ex_res->status_line(), "\n";
- next;
- }
-
- print " UNPACK downloads/$ext\n";
- system "tar", "-xjf", "downloads/$ext";
- }
-}
-
-sub slash_remove
-{
- my $s = shift @_;
- $s =~ s{(\w+://)(.*)}{$1.&slash_remove2($2)}eg;
- return $s;
-}
-
-sub slash_remove2
-{
- my $s = shift @_;
- $s =~ s{/+}{/}g;
- return $s;
-}