Bug#706766: Diff for this fix
João Salavisa
joao.salavisa at gmail.com
Wed Mar 8 21:23:08 UTC 2017
Sorry, now in a patch format
diff -ub ./arpspoof.c ../orig.dsniff/dsniff-2.4b1+debian/arpspoof.c
--- ./arpspoof.c 2017-03-07 22:21:45.037692254 +0000
+++ ../orig.dsniff/dsniff-2.4b1+debian/arpspoof.c 2017-03-07
22:09:32.000000000 +0000
@@ -46,8 +46,6 @@
static int cleanup_src_own = 1;
static int cleanup_src_host = 0;
-int n_targets;
-
static void
usage(void)
{
@@ -162,17 +160,11 @@
fprintf(stderr, "Cleaning up and re-arping targets...\n");
for (i = 0; i < rounds; i++) {
struct host *target = targets;
-
+ while(target->ip) {
uint8_t *src_ha = NULL;
if (cleanup_src_own && (i%2 || !cleanup_src_host)) {
src_ha = my_ha;
}
-
- if (!n_targets) {
- arp_send(l, ARPOP_REPLY, (u_int8_t *)&spoof.mac, spoof.ip, brd_ha,
0, src_ha);
- sleep(1);
- } else {
- while(target->ip) {
/* XXX - on BSD, requires ETHERSPOOF kernel. */
if (fw) {
arp_send(l, ARPOP_REPLY,
@@ -194,12 +186,11 @@
target++;
}
}
- }
exit(0);
}
- int
+int
main(int argc, char *argv[])
{
extern char *optarg;
@@ -207,7 +198,7 @@
char pcap_ebuf[PCAP_ERRBUF_SIZE];
char libnet_ebuf[LIBNET_ERRBUF_SIZE];
int c;
-
+ int n_targets;
char *cleanup_src = NULL;
spoof.ip = 0;
@@ -304,12 +295,6 @@
signal(SIGTERM, cleanup);
for (;;) {
- if (!n_targets) {
- arp_send(l, ARPOP_REPLY, my_ha, spoof.ip, brd_ha, 0, my_ha);
- if (poison_reverse) {
- arp_send(l, ARPOP_REPLY, my_ha, target->ip, (uint8_t *)&spoof.mac,
spoof.ip, my_ha);
- }
- } else {
struct host *target = targets;
while(target->ip) {
arp_send(l, ARPOP_REPLY, my_ha, spoof.ip,
@@ -321,7 +306,6 @@
}
target++;
}
- }
sleep(2);
}
On Tue, Mar 7, 2017 at 10:13 PM João Salavisa <joao.salavisa at gmail.com>
wrote:
> Here you go!
>
> diff -b ./arpspoof.c ../orig.dsniff/dsniff-2.4b1+debian/arpspoof.c
> 49,50d48
> < int n_targets;
> <
> 165c163
> <
> ---
> > while(target->ip) {
> 170,175d167
> <
> < if (!n_targets) {
> < arp_send(l, ARPOP_REPLY, (u_int8_t *)&spoof.mac, spoof.ip, brd_ha,
> 0, src_ha);
> < sleep(1);
> < } else {
> < while(target->ip) {
> 197d188
> < }
> 202c193
> < int
> ---
> > int
> 210c201
> <
> ---
> > int n_targets;
> 307,312d297
> < if (!n_targets) {
> < arp_send(l, ARPOP_REPLY, my_ha, spoof.ip, brd_ha, 0, my_ha);
> < if (poison_reverse) {
> < arp_send(l, ARPOP_REPLY, my_ha, target->ip, (uint8_t
> *)&spoof.mac, spoof.ip, my_ha);
> < }
> < } else {
> 324d308
> < }
>
>
> On Tue, Feb 28, 2017 at 10:19 PM Marcos Fouces <mfouces at yahoo.es> wrote:
>
> Hello João
>
> Could you create a patch and post it in this thread?
>
> Thank you very much for the fix!
>
> Greetings,
>
> Marcos
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.alioth.debian.org/pipermail/pkg-security-team/attachments/20170308/38d8a742/attachment-0001.html>
More information about the Pkg-security-team
mailing list