From 4cf557b1b840020800ab1510ee650377ad31e483 Mon Sep 17 00:00:00 2001 From: RichardG867 Date: Sun, 10 Jul 2016 21:56:16 -0300 Subject: [PATCH 1/3] Add .gitignore --- .gitignore | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 000000000..c4f5de8c7 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +src/*.o +src/*.exe +src/*.res From 90e90a44683dbd1852ff4567933dbc0c99d29cea Mon Sep 17 00:00:00 2001 From: RichardG867 Date: Sun, 10 Jul 2016 21:56:32 -0300 Subject: [PATCH 2/3] Move neozeed's port forwards to slirp.c --- src/ne2000.c | 20 -------------------- src/slirp/slirp.c | 22 ++++++++++++++++++++++ 2 files changed, 22 insertions(+), 20 deletions(-) diff --git a/src/ne2000.c b/src/ne2000.c index 24321ae22..6cc274aa7 100644 --- a/src/ne2000.c +++ b/src/ne2000.c @@ -1658,7 +1658,6 @@ void rtl8029as_init(ne2000_t *ne2000) void *ne2000_init() { - struct in_addr myaddr; int rc; int config_net_type; int net_type; @@ -1725,25 +1724,6 @@ void *ne2000_init() if ( rc == 0 ) { pclog("ne2000 slirp initalized!\n"); - inet_aton("10.0.2.15",&myaddr); - //YES THIS NEEDS TO PULL FROM A CONFIG FILE... but for now. - rc=slirp_redir(0,42323,myaddr,23); - pclog("ne2000 slirp redir returned %d on port 42323 -> 23\n",rc); - rc=slirp_redir(0,42380,myaddr,80); - pclog("ne2000 slirp redir returned %d on port 42380 -> 80\n",rc); - rc=slirp_redir(0,42443,myaddr,443); - pclog("ne2000 slirp redir returned %d on port 42443 -> 443\n",rc); - rc=slirp_redir(0,42322,myaddr,22); - pclog("ne2000 slirp redir returned %d on port 42322 -> 22\n",rc); - - //Kali - rc=slirp_redir(1,2213,myaddr,2213); - pclog("ne2000 slirp redir returned %d on port 2213 -> 2213\n",rc); - rc=slirp_redir(1,2231,myaddr,2231); - pclog("ne2000 slirp redir returned %d on port 2231 -> 2231\n",rc); - rc=slirp_redir(1,2271,myaddr,2271); - pclog("ne2000 slirp redir returned %d on port 2271 -> 2271\n",rc); - net_slirp_inited=1; slirpq = QueueCreate(); diff --git a/src/slirp/slirp.c b/src/slirp/slirp.c index dc912c960..c26bf52a0 100644 --- a/src/slirp/slirp.c +++ b/src/slirp/slirp.c @@ -161,6 +161,28 @@ debug_init("slirplog.txt",DEBUG_DEFAULT); inet_aton(CTL_SPECIAL, &special_addr); alias_addr.s_addr = special_addr.s_addr | htonl(CTL_ALIAS); getouraddr(); + + struct in_addr myaddr; + int rc; + inet_aton("10.0.2.15",&myaddr); + //YES THIS NEEDS TO PULL FROM A CONFIG FILE... but for now. + rc=slirp_redir(0,42323,myaddr,23); + pclog("ne2000 slirp redir returned %d on port 42323 -> 23\n",rc); + rc=slirp_redir(0,42380,myaddr,80); + pclog("ne2000 slirp redir returned %d on port 42380 -> 80\n",rc); + rc=slirp_redir(0,42443,myaddr,443); + pclog("ne2000 slirp redir returned %d on port 42443 -> 443\n",rc); + rc=slirp_redir(0,42322,myaddr,22); + pclog("ne2000 slirp redir returned %d on port 42322 -> 22\n",rc); + + //Kali + rc=slirp_redir(1,2213,myaddr,2213); + pclog("ne2000 slirp redir returned %d on port 2213 -> 2213\n",rc); + rc=slirp_redir(1,2231,myaddr,2231); + pclog("ne2000 slirp redir returned %d on port 2231 -> 2231\n",rc); + rc=slirp_redir(1,2271,myaddr,2271); + pclog("ne2000 slirp redir returned %d on port 2271 -> 2271\n",rc); + return 0; } From deda92dabd99fa88c4a521e5572c9cc7b97d368c Mon Sep 17 00:00:00 2001 From: RichardG867 Date: Tue, 12 Jul 2016 14:12:48 -0300 Subject: [PATCH 3/3] Configurable slirp port forwards --- src/slirp/slirp.c | 37 +++++++++++++++++++++---------------- 1 file changed, 21 insertions(+), 16 deletions(-) diff --git a/src/slirp/slirp.c b/src/slirp/slirp.c index c26bf52a0..ec4a468b8 100644 --- a/src/slirp/slirp.c +++ b/src/slirp/slirp.c @@ -165,23 +165,28 @@ debug_init("slirplog.txt",DEBUG_DEFAULT); struct in_addr myaddr; int rc; inet_aton("10.0.2.15",&myaddr); - //YES THIS NEEDS TO PULL FROM A CONFIG FILE... but for now. - rc=slirp_redir(0,42323,myaddr,23); - pclog("ne2000 slirp redir returned %d on port 42323 -> 23\n",rc); - rc=slirp_redir(0,42380,myaddr,80); - pclog("ne2000 slirp redir returned %d on port 42380 -> 80\n",rc); - rc=slirp_redir(0,42443,myaddr,443); - pclog("ne2000 slirp redir returned %d on port 42443 -> 443\n",rc); - rc=slirp_redir(0,42322,myaddr,22); - pclog("ne2000 slirp redir returned %d on port 42322 -> 22\n",rc); - //Kali - rc=slirp_redir(1,2213,myaddr,2213); - pclog("ne2000 slirp redir returned %d on port 2213 -> 2213\n",rc); - rc=slirp_redir(1,2231,myaddr,2231); - pclog("ne2000 slirp redir returned %d on port 2231 -> 2231\n",rc); - rc=slirp_redir(1,2271,myaddr,2271); - pclog("ne2000 slirp redir returned %d on port 2271 -> 2271\n",rc); + char* category = "SLiRP Port Forwarding"; + char key[32]; + int i = 0, udp, from, to; + while (1) { + sprintf(key, "%d_udp", i); + udp = config_get_int(category, key, 0); + sprintf(key, "%d_from", i); + from = config_get_int(category, key, 0); + if (from < 1) + break; + sprintf(key, "%d_to", i); + to = config_get_int(category, key, from); + + rc = slirp_redir(udp, from, myaddr, to); + if (rc == 0) + pclog("slirp redir %d -> %d successful\n", from, to); + else + pclog("slirp redir %d -> %d failed (%d)\n", from, to, rc); + + i++; + } return 0; }