/* ieee802.11 header */
/* we need smaller w_hdr for non distributed frames */
- if((w_hdr->frame_ctl & (1<<8)) & (w_hdr->frame_ctl & (1<<9))) {
+ if((w_hdr->frame_ctl & (1<<8)) && (w_hdr->frame_ctl & (1<<9))) {
printf("=> distributed packet !!!!11\n");
} else w_o-=(sizeof(struct snaphdr)-sizeof(unsigned short));
:strcpy(tmp_buf1,"ibssid = ");
strncpy(tmp_buf2,beacon_hdr->ssid_s.ssid,
beacon_hdr->ssid_s.length);
+
tmp_buf2[beacon_hdr->ssid_s.length]='\0';
strcpy(tmp_buf,"beacon");
- add_ssid_2_list(tmp_buf2,my_info_struct->ssid_list);
+ add_ssid_2_list(tmp_buf2,beacon_hdr->capability,
+ my_info_struct->ssid_list);
}
else if((w_hdr->frame_ctl & IEEE802_11_STYPE_ATIM)>0)
strcpy(tmp_buf,"announcement traffic indication message");
else strcpy(tmp_buf,"control or data frame type");
printf("=> %s\n",tmp_buf);
- if(strlen(tmp_buf1)>0 & strlen(tmp_buf2)>0) printf(" %s%s\n",
+ if((strlen(tmp_buf1)>0) && (strlen(tmp_buf2)>0)) printf(" %s%s\n",
tmp_buf1,
tmp_buf2);
printf("duration/id: 0x%x\n",w_hdr->duration_id);
printf("- no encryption!\n");
if(snap_hdr->proto==ntohs(ETH_P_IP)) {
e_o=sizeof(struct snaphdr);
- parse_ip(snap_hdr+e_o);
+ parse_ip((char *)(snap_hdr+e_o));
}
}