i spent one day figuring out what is wrong with the kismet docs, untill I found out, that the current docs are for Kismet 2009.05.R1 while the kismet I emerged is "just" 2008.05.R1 Would be nice, if this could get updated. Not the highest priority - of course.
Created attachment 195247 [details] First stab at ebuild I happened to already be working on an update, but had taken a pretty free hand with it, so please forgive the departures from the original. The new code changes a lot of build options - GPS, curses, etc. are no longer optional (not even automagic as far as I can tell). YMMV.
Latest version is now 2009.06.1.
Created attachment 195757 [details] kismet-2009-06-R1 ebuild Boy, if Gentoo devs were held to the "same day release" standard... oh, wait... 2009-06-R1 ebuild; several changes from the first one, the result of a series of tweaks to make it behave the way I want. I'd submit a diff from the in-tree ebuild, but there isn't a whole lot of similarity. Forthcoming (as soon as I can submit another attachment) is a 2009-05-R1 ebuild for the kismet-old series. Keeping the same atom may eventually cause a conflict with newcore, but if anyone is tied to the old code it can be useful.
Created attachment 195758 [details] kismet-old ebuild
Created attachment 195760 [details, diff] diff for the kismet-old ebuild against the one in-tree
The Kismet versions in the tree don't work with recent Intel cards/in-kernel drivers, like the 5000/IWLAGN/mac80211-combination, so an update would be appreciated.
The Makefiles in the plugins dirs are crap: they don't respect CC, CXX, LD, C(XX)FLAGS, LDFLAGS and they pass CFLAGS to the C++ compiler! They both need serious patching. Apart from that, your ebuild for kismet (newcore) is missing a few dependencies: dev-util/pkgconfig (build-time only) sys-libs/libcap (always needed) dev-libs/openssl (needed by the ptw plugin)
Created attachment 202934 [details] updated newcore ebuild Updated to reflect the missed dependencies, re-word libpcap warning, & move enewgroup and fowners to pkg_postinst. I've just glanced at the changes necessary to plugin-*/Makefile, and although they seem both useful and trivial, I don't have the time (or equipment for the spectools plugin) right now to properly test them. Would you (David, comment #7) please consider submitting the changes you want upstream? Mike doesn't bite and is usually quite responsive.
(In reply to comment #8) > move enewgroup and fowners to pkg_postinst. > Why? enew{user,group} are usually in pkg_setup afaik. > I've just glanced at the changes necessary to plugin-*/Makefile, and although > they seem both useful and trivial, I don't have the time (or equipment for the > spectools plugin) right now to properly test them. Would you (David, comment > #7) please consider submitting the changes you want upstream? Mike doesn't > bite and is usually quite responsive. > Sure, but I probably won't have time until the weekend.
Apologies for missing the 'e' and calling you 'David'. Unless you have a reason other than "that's the way it's usually done", moving it there makes it possible to develop and build the package without elevated privileges on a system that otherwise doesn't need Kismet on it. Doing anything that modifies the live system in pkg_setup() pretty much precludes that. A quick & dirty poll of the tree indicates that, although pkg_setup is indeed the most common place (~500 uses) to do it, there are ~200 that do it in pkg_preinst() or pkg_postinst().
(In reply to comment #10) > Apologies for missing the 'e' and calling you 'David'. > No problem :) > Unless you have a reason other than "that's the way it's usually done", moving > it there makes it possible to develop and build the package without elevated > privileges on a system that otherwise doesn't need Kismet on it. Doing > anything that modifies the live system in pkg_setup() pretty much precludes > that. A quick & dirty poll of the tree indicates that, although pkg_setup is > indeed the most common place (~500 uses) to do it, there are ~200 that do it in > pkg_preinst() or pkg_postinst(). > Ok, it seems reasonable. Anyway pkg_postinst is just wrong for fowners because it won't affect the live filesystem. So you should move everything to pkg_preinst instead :)
> pkg_postinst is just wrong for fowners because it won't affect the live > filesystem. So you should move everything to pkg_preinst instead :) I'm not sure the documentation agrees that it's wrong. According to ebuild(1), qmerge runs both pkg_preinst() and pkg_postinst(), and ebuild(5) says that both are run against the live filesystem with an initial working directory of $PWD. Hence, a call to fowners should work in either, the difference being that if I moved it to pkg_preinst, I'd have to reference the binary in $D instead of by its normal path, and I fail to see the benefit in doing so. For completeness' sake, here's a more precise count of functions calling enew(user|group) from the main portage tree (synced this morning): 3 add_user_rt 14 group_user_check 12 pkg_config 183 pkg_postinst 171 pkg_preinst 1087 pkg_setup 6 src_install 2 src_prepare 2 user_group_setup Also interesting are the calls to f(owners|perms): 6 daemon_install 9 glibc_src_install 4 install_centreon 2 install_cron 4 install_ods 2 install_plugins 2 install_traps 18 pkg_postinst 14 pkg_preinst 1738 src_install 8 src_unpack
(In reply to comment #12) > Hence, a call to fowners should work in either, the difference being that if I > moved it to pkg_preinst, I'd have to reference the binary in $D instead of by > its normal path, and I fail to see the benefit in doing so. > fowners handles ${D} transparently. Have a look at /usr/lib/portage/bin/ebuild-helpers/fowners, 'fowners /usr/bin/foo' is equal to 'chown ${D}/usr/bin/foo'
Created attachment 202985 [details] kismet-2009.06.1.ebuild
If that's what you had originally intended to do, it would have saved a great deal of bugspam and time if you'd just gone and done it instead of screwing around trying to lead me to something. Normalizing past the discretionary differences (specifying --with-suidgroup makes no difference since we're bypassing upstream's 'make install') and the many good points your ebuild made, we still disagree on the following points: - whether net-libs/libpcap is always required (mildly esoteric, but a drone-only server does not need it) - whether USE=suid should be default (it's more secure than not) - warning about the still-broken libpcap-1.0.1_pre* snapshots (I see 20090812 may have the fix, but it's still not upstream) - when to call enewgroup Of course, it's all still bikeshedding until someone actually updates the tree.
(In reply to comment #15) > If that's what you had originally intended to do, it would have saved a great > deal of bugspam and time if you'd just gone and done it instead of screwing > around trying to lead me to something. > Sorry about that, I just didn't have the time to put everything together (and test the ebuild) until now. > Normalizing past the discretionary differences (specifying --with-suidgroup > makes no difference since we're bypassing upstream's 'make install') Right. I added --with-suidgroup before switching from make install to make commoninstall and then forgot to remove it. > and the > many good points your ebuild made, we still disagree on the following points: > > - whether net-libs/libpcap is always required (mildly esoteric, but a > drone-only server does not need it) Ok, I didn't think about this use case :) > - whether USE=suid should be default (it's more secure than not) Right. > - warning about the still-broken libpcap-1.0.1_pre* snapshots (I see 20090812 > may have the fix, but it's still not upstream) The latest snapshot is fixed and I hope broken ones will be removed from the tree before bumping kismet. > - when to call enewgroup > pkg_setup or pkg_preinst... I don't really care.
The ebuild runs ok, but doesn't install kismet_capture (though it builds it) and doesn't install the gpsmap and kismet-ui.conf manpages.
In response to comment #17: The reason it doesn't install kismet_capture is because you don't have the 'suid' USE flag set (on by default in my ebuild, since with newcore it's more secure than not). The README states that gpsmap is deprecated and no longer useful; hence it would be worthless ot install its documentation. A global kismet_ui.conf is no longer used or installed (instead going per-user), but the manpage is still written for the old version and completely worthless - two lines of documentation, one of which states "The kismet_ui.conf file has comments explaining each config option", which it does not any more.
Works for me, thanks alot guys! Time to move it to sunrise?
Since it's already in the main tree it would be pointless to put it in sunrise. Someone on the mobile team (or elsewhere) just needs to get in gear. Non-bug: I've seen more "here's the fix for the bug" tickets languish in the past two years than I ever thought possible. Many of the oldest bugs out here have fixes posted that nobody can be bothered to commit.
maybe someone can put it as soon as in portage tree and bump to new version
Portage 2.1.6.13 (default/linux/amd64/10.0, gcc-4.4.1, glibc-2.10.1-r0, 2.6.31-gentoo-r1 x86_64) ================================================================= System uname: Linux-2.6.31-gentoo-r1-x86_64-Intel-R-_Core-TM-2_Duo_CPU_P9700_@_2.80GHz-with-gentoo-2.0.1 Timestamp of tree: Sun, 04 Oct 2009 16:30:01 +0000 app-shells/bash: 4.0_p33 dev-java/java-config: 2.1.9-r1 dev-lang/python: 2.6.3, 3.1.1-r1 dev-util/cmake: 2.6.4-r3 sys-apps/baselayout: 2.0.1 sys-apps/openrc: 0.4.3-r3 sys-apps/sandbox: 2.1 sys-devel/autoconf: 2.13, 2.63-r1 sys-devel/automake: 1.8.5-r3, 1.9.6-r2, 1.10.2, 1.11 sys-devel/binutils: 2.19.1-r1 sys-devel/gcc-config: 1.4.1 sys-devel/libtool: 2.2.6a virtual/os-headers: 2.6.30-r1 ACCEPT_KEYWORDS="amd64 ~amd64" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-march=core2 -O2 -pipe" CHOST="x86_64-pc-linux-gnu" CXXFLAGS="-march=core2 -O2 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="distlocks fixpackages parallel-fetch protect-owned sandbox sfperms strict unmerge-orphans userfetch" GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo" LANG="de_DE.UTF-8" LDFLAGS="-Wl,-O1" LINGUAS="de en vi" MAKEOPTS="-j3" PKGDIR="/usr/portage/packages" PORTAGE_CONFIGROOT="/" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="7zip X a52 aac aalib acc accessibility acl acpi adns afs aim alsa amd64 ao apache2 ass audio audiofile avi bash-completion beagle berkdb bidi bluetooth bzip2 cairo caps cdaudio cdda cdio cdparanoia cdr cgi cjk cli clisp consolekit cracklib crypt cs2 cscope css csv cups curl curlwrappers cvs dbus dc1394 dga dia dirac directfb divx dlloader dmx dri dts dv dvd dvdr dvdread dvi emacs enca encode enscript erandom esd exif expat extras faac faad fam fastcgi fbcon ffmpeg firefox flac flash fortran ftp fuse gcj gd gdbm ggi gif gimp git glib gmp gnome gnome-keyring gnutls gphoto2 gpm graphviz gs gstreamer gtk gzip hal hash highlight httpd iconv icq icu idn ieee1394 imagemagick imap imlib ipv6 isdnlog jabber jack java java6 javascript jingle joystick jpeg jpeg2k kde kerberos lame latex lcms ldap libcaca libwww live logrotate lua lzo mad maildir matroska md5sum memlimit mhash midi mikmod mime mjpeg mmap mmx mmxext mng mono motif mp3 mp4 mpeg mpeg2 mplayer msn mudflap mule multilib musepack mysql nas nautilus ncurses network networkmanager nfs nls nptl nptlonly nsplugin nvidia ogg ogg123 openal openexr opengl openmp org oss pam pcre pdf perl php pic pidgin png posix postgres ppds pppd ps pulseaudio pwdb python qt3support qt4 quicktime radio rar raw rdesktop readline realmedia reflection rss rtsp ruby samba sasl schroedinger sdl sdl-image session sip slang slp smp sockets sox spamassassin speex spell spl sqlite sse sse2 ssl stream stun subversion svg swat sysfs syslog sysvipc tcl tcpd tetex theora threads tidy tiff timidity tk truetype ucs2 udev unace unicode urandom url usb userlocales v4l v4l2 vcd vhost video vim-syntax vlc vlm vnc vorbis wav wavpack webkit wifi wma wmf wxwidgets x264 xattr xcb xdm xft xinerama xinetd xlinks xml xmlrpc xorg xpm xprint xscreensaver xsl xulrunner xv xvid xvmc yahoo zip zlib zsh-completion" ALSA_CARDS="hda_intel" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic auth_digest authn_anon authn_dbd authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock dbd deflate dir disk_cache env expires ext_filter file_cache filter headers ident imagemap include info log_config logio mem_cache mime mime_magic negotiation php5 proxy proxy_ajp proxy_balancer proxy_connect proxy_http rewrite setenvif so speling status unique_id userdir usertrack vhost_alias" APACHE2_MPMS="worker" CAMERAS="canon" ELIBC="glibc" INPUT_DEVICES="keyboard mouse synaptics evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="de en vi" USERLAND="GNU" VIDEO_CARDS="nv nvidia vesa fbdev vga vmware" Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LC_ALL, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS >>> Install kismet-2009.06.1 into /var/tmp/portage/net-wireless/kismet-2009.06.1/image/ category net-wireless make -j3 DESTDIR=/var/tmp/portage/net-wireless/kismet-2009.06.1/image/ commoninstall mkdir -p /var/tmp/portage/net-wireless/kismet-2009.06.1/image//etc mkdir -p /var/tmp/portage/net-wireless/kismet-2009.06.1/image//usr/bin /usr/bin/install -c -o "root" -g "root" -m 555 scripts/kismet /var/tmp/portage/net-wireless/kismet-2009.06.1/image//usr/bin/kismet /usr/bin/install -c -o "root" -g "root" -m 555 kismet_client /var/tmp/portage/net-wireless/kismet-2009.06.1/image//usr/bin/kismet_client /usr/bin/install -c -o "root" -g "root" -m 555 kismet_server /var/tmp/portage/net-wireless/kismet-2009.06.1/image//usr/bin/kismet_server; /usr/bin/install -c -o "root" -g "root" -m 555 kismet_drone /var/tmp/portage/net-wireless/kismet-2009.06.1/image//usr/bin/kismet_drone; mkdir -p /var/tmp/portage/net-wireless/kismet-2009.06.1/image//usr/share/man/man1 /usr/bin/install -c -o "root" -g "man" -m 644 man/kismet.1 /var/tmp/portage/net-wireless/kismet-2009.06.1/image//usr/share/man/man1/kismet.1 /usr/bin/install -c -o "root" -g "man" -m 644 man/kismet_drone.1 /var/tmp/portage/net-wireless/kismet-2009.06.1/image//usr/share/man/man1/kismet_drone.1 mkdir -p /var/tmp/portage/net-wireless/kismet-2009.06.1/image//usr/share/man/man5 /usr/bin/install -c -o "root" -g "man" -m 644 man/kismet.conf.5 /var/tmp/portage/net-wireless/kismet-2009.06.1/image//usr/share/man/man5/kismet.conf.5 /usr/bin/install -c -o "root" -g "man" -m 644 man/kismet_drone.conf.5 /var/tmp/portage/net-wireless/kismet-2009.06.1/image//usr/share/man/man5/kismet_drone.conf.5 mkdir -p /var/tmp/portage/net-wireless/kismet-2009.06.1/image//usr/share/kismet//wav/ /usr/bin/install -c -o "root" -g "root" -m 644 wav/new.wav /var/tmp/portage/net-wireless/kismet-2009.06.1/image//usr/share/kismet//wav//new.wav /usr/bin/install -c -o "root" -g "root" -m 644 wav/packet.wav /var/tmp/portage/net-wireless/kismet-2009.06.1/image//usr/share/kismet//wav//packet.wav /usr/bin/install -c -o "root" -g "root" -m 644 wav/alert.wav /var/tmp/portage/net-wireless/kismet-2009.06.1/image//usr/share/kismet//wav//alert.wav /usr/bin/install -c -o "root" -g "root" -m 644 wav/gpslost.wav /var/tmp/portage/net-wireless/kismet-2009.06.1/image//usr/share/kismet//wav//gpslost.wav /usr/bin/install -c -o "root" -g "root" -m 644 wav/gpslock.wav /var/tmp/portage/net-wireless/kismet-2009.06.1/image//usr/share/kismet//wav//gpslock.wav make -j3 -C plugin-ptw KIS_DEST_DIR=/var/tmp/portage/net-wireless/kismet-2009.06.1/image//usr install make: Entering directory `/var/tmp/portage/net-wireless/kismet-2009.06.1/work/kismet-2009-06-R1/plugin-ptw' install -D aircrack-kismet.so /var/tmp/portage/net-wireless/kismet-2009.06.1/image//usr/lib/kismet/aircrack-kismet.so make: Leaving directory `/var/tmp/portage/net-wireless/kismet-2009.06.1/work/kismet-2009-06-R1/plugin-ptw' make -j3 -C plugin-spectools KIS_DEST_DIR=/var/tmp/portage/net-wireless/kismet-2009.06.1/image//usr install make: Entering directory `/var/tmp/portage/net-wireless/kismet-2009.06.1/work/kismet-2009-06-R1/plugin-spectools' install -D spectool_net.so /var/tmp/portage/net-wireless/kismet-2009.06.1/image//usr/lib/kismet/spectool_net.so install -D spectools_ui.so /var/tmp/portage/net-wireless/kismet-2009.06.1/image//usr/lib/kismet_client/spectools_ui.so make: Leaving directory `/var/tmp/portage/net-wireless/kismet-2009.06.1/work/kismet-2009-06-R1/plugin-spectools' !!! newinitd: /usr/portage/local/local-overlay/net-wireless/kismet/files/kismet.initd does not exist * * ERROR: net-wireless/kismet-2009.06.1 failed. * Call stack: * ebuild.sh, line 49: Called src_install * environment, line 2337: Called die * The specific snippet of code: * newinitd "${FILESDIR}"/${PN}.initd kismet || die; * The die message: * (no error message) * * If you need support, post the topmost build error, and the call stack if relevant. * A complete build log is located at '/var/log/portage/net-wireless:kismet-2009.06.1:20091004-165900.log'. * The ebuild environment file is located at '/var/tmp/portage/net-wireless/kismet-2009.06.1/temp/environment'. * * QA Notice: file does not exist: * * newinitd: /usr/portage/local/local-overlay/net-wireless/kismet/files/kismet.initd does not exist >>> Failed to emerge net-wireless/kismet-2009.06.1, Log file: >>> '/var/log/portage/net-wireless:kismet-2009.06.1:20091004-165900.log' * Messages for package net-wireless/kismet-2009.06.1: * * ERROR: net-wireless/kismet-2009.06.1 failed. * Call stack: * ebuild.sh, line 49: Called src_install * environment, line 2337: Called die * The specific snippet of code: * newinitd "${FILESDIR}"/${PN}.initd kismet || die; * The die message: * (no error message) * * If you need support, post the topmost build error, and the call stack if relevant. * A complete build log is located at '/var/log/portage/net-wireless:kismet-2009.06.1:20091004-165900.log'. * The ebuild environment file is located at '/var/tmp/portage/net-wireless/kismet-2009.06.1/temp/environment'. *
(In reply to comment #22) You have to copy /usr/portage/net-wireless/kismet/files/kismet.{conf,init}d to your local overlay.
and where is this file located? i mean in the current version portage is nothing about this file.
If gpsmap is deprecated, then what replaces it?
On comment #24 - those files are where they always have been, /usr/portage/net-wireless/kismet/files/. On comment #25 - this, too, is answered in the README. Please take a look at it prior to posting more questions. The entire FAQ entry, for everyone who won't read the file: Q: What happened to gpsmap? A: gpsmap was the old mapper code for Kismet. It stopped being useful a long time ago when the map sources it used went away. It's being replaced with a tile-based mapper, the beginnings of which are in the kismap/ directory in the source code. Kismap isn't quite finished for the RC1 release, but development continues on it and it will be available hopefully soon. Please direct any further questions about gpsmap/kismap to the Kismet author.
Ah, I forgot my gpsmap is patched to output a page using the Google Maps API... ;)
2009.11.1 released, only ebuild-affecting changes are that the 'autowep' plugin is has been added and KIS_SRC_DIR and DESTDIR (as opposed to KIS_DEST_DIR) need to be defined during 'make install' for the individual plugins. Would be nice to get the 18-month aged version in portage updated.
If you pop a diff up from the version in portage to what it should be now (the 2009-11-01 release) I'll update it in portage by the end of the week.
Created attachment 211607 [details, diff] patch v. 2008.05.1 The ebuild that developed over the course of this bug departs rather significantly from the in-tree ebuild, but here's my current diff. This is against my version of davide's ebuild, which incorporates my differences in comment #15 and generally agreed to by him in comment #16.
(In reply to comment #30) > The ebuild that developed over the course of this bug departs rather > significantly from the in-tree ebuild, but here's my current diff. This is Indeed, the ebuild was almost rewritten, partly because the upstream build system changed a lot, partly because of the transition to EAPI 2. > against my version of davide's ebuild, which incorporates my differences in > comment #15 and generally agreed to by him in comment #16. > I don't have the time to test it right now, but it seems fine. Thanks.
Sorry I didn't get to this this week - I do have a couple reservations about it - the kismet group when you can't actually use it without running as root in order to put any interfaces in monitor mode (or possibly its just me with madwifi drivers) - for the moment, its in my overlay on github, but it should be in portage by the end of this week.
Hello, I've tested last ebuild from this thread with my Intel PRO/5100 iwlagn card with following results: - "fperms 4550 /usr/bin/kismet_capture" from ebuild does not work, I had to change permissions manually, and then starting "kismet" as normal user which is member of kismet group work just fine - since this change from upstream towards having special sgid binary for packet capture only (which is now upstream recommended way for running kismet), separate init script (which has to be run as root) as well as conf.d/kismet may be no more needed. everything except kismet_capture is running with standard rights. - one more observation which has nothing to do with gentoo, exiting kismet (ui, which offer to stop server as well) didn't destroyed/deconfigured it's monitoring VAP device upon exit, but it should according to current upstream documentation
Created attachment 218165 [details] ebuild for newest version 2010-01-R1 ebuild for most recent version
What happened to putting a new version of this in portage? There was a comment about doing it two months ago, but the latest version in portage is still from 2008.
Created attachment 219323 [details] Improved ebuild for 2010-01-R1 Added support for the btscan plugin.
(In reply to comment #36) > Created an attachment (id=219323) [details] > Improved ebuild for 2010-01-R1 > > Added support for the btscan plugin. Steev, any objections to committing this one?
(In reply to comment #36) > Created an attachment (id=219323) [details] > Improved ebuild for 2010-01-R1 > > Added support for the btscan plugin. > Please provide an updated metadata.xml with descriptions for the new useflags, and I will commit it.
I have committed 2010.01.1 with plugins commented out as suggested by Davide. I'm leaving this open in case someone want to resolve the remaining issues with the plugins. We could do a revbump then.
I'm hoping to have some time this weekend, although I don't know if I will or not, as I have to upgrade 59 more servers for work, and it is unknown the amount of time it will take for me to finish. If anyone else steps up and makes sure the dependencies are correct, as well as the metadata changes, I would have no problem committing them as well. Otherwise, it will be a lower priority as the plugins while nice, aren't core functionality.
Kismet-2010-07-R1 has been released meanwhile.. ;)
*** Bug 360881 has been marked as a duplicate of this bug. ***
(In reply to comment #42) > *** Bug 360881 has been marked as a duplicate of this bug. *** > Per Pomsel 2011-03-28 09:49:52 CEST > Kismet-2011-01-R1 is out.
Mon Apr 04 2011 - Kismet-2011-03-R2 released at the usual spot. This is a bugfix release to fix a segv in Kismet when running as a drone server (null ptr de-ref due to internal api drift, nothing exciting)
There is an ebuild on pentoo overlay: https://www.pentoo.ch/svn/portage/trunk/net-wireless/kismet/kismet-2011.03.2-r3.ebuild does anyone commit it in main portage tree?
Is in portage by now. RESOLVED FIXED?